* wip spiff lib upgrade
* unit and script tests are now passing w/ burnettk
* tests and pre-commit are passing
* fallback to params if a matching task cannot tbe found when trying to view the contents of a data object from the web ui
---------
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: Kevin Burnett <18027+burnettk@users.noreply.github.com>
* Update README.md
Some notes for people that might want to run full-on native, with detail about how Mac hijacks port 7000 and how to get around it.
* Revert "Update README.md"
This reverts commit 096887c26d.
* README update and native code patch
Some details for user that might be running Python3, Mac, and want to run everything locally/natively.
* Implement basic tooltips
Uses MUI tooltip, as it behaves more predictably with existing styling, and enables top-level theme config.
Top-level configuration for all MUI components can be controlled via overriding the existing theme. See index.tsx. This could be done per user for customization, etc.
Enabling JSON module imports in tsconfig.json seemed to fix the error in ReactDiagramEditor
* Naive AI code editor implementation
A working starting point.
* Implement API to return if script assist should be enabled
Along with route and function, api config, etc.
* UI calls backend to see if script assist is enabled.
If it is, loads the related UI, otherwise it doesn't appear.
* Moving forward with service for message processing.
* Services scaffolded
* Open API called, prompt-engineered to get script only.
* Little cleanup work
* Enabled + process message working.
Had to find all the places permissions are enabled, etc.
* Cleanup, comments, etc.
* Env vars, styling, error cases, conditional display of script assist
Finishing touches for the most part.
REQUIRES TWO ENV VARS BE SET.
SPIFFWORKFLOW_SCRIPT_ASSIST_ENABLED=["True" | "true" | 1] (anything else is false)
SECRET_KEY_OPENAI_API=[thekey]
The are retrieved in default.py. I run the app locally, so I just set them in the terminal.
NEW INSTALL: @carbon/colors (so we consistently use carbon palette etc.)
* Fix tooltips, clean up some styling.
Finishing it off.
* Add loader and error message
Complete UX stuff
* Update useScriptAssistEnabled.tsx
Remove log
* Update script_assist_controller.py
Add this tweak to avoid TMI.
* Some reasonable changes suggested by the build process
* Comments from PR.
* Update ProcessModelEditDiagram.tsx
Should (but I don't know how to tell yet) call the change handler that wasn't firing before.
* updated the permissions setting in authorization service w/ burnettk
* precommit now passes. tests are failing w/ burnettk
* pinned SpiffWorkflow to known working version and fixed tests. we will update spiff in a later pr w/ burnettk
* made changes based on coderabbi suggestions
* updated the error handling to be more inline with how we have handled other errors and some ui tweaks
* removed pymysql package w/ burnettk
* forgot to remove pymysql from lock file w/ burnettk
---------
Co-authored-by: Tim Consolazio <tcoz@tcoz.com>
Co-authored-by: Kevin Burnett <18027+burnettk@users.noreply.github.com>
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* if a metadata value looks like a url then display as a link w/ burnettk
* avoid Link for external urls
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* lint
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: Kevin Burnett <18027+burnettk@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* make only the pi id an link on the pi instance table and set up for a refresh button on the table title on the pi list page w/ burnettk
* added refresh pi table button w/ burnettk
* show the process model link in the pi table as well w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* shortcut to view diagram from instance show
* no need for file contents
* handle no primary filename before attempting navigation
---------
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* removed the carbon grid and instead using display flex to get the items in an rjsf array field to line up w/ burnettk
* removed unused imports w/ burnettk
* updated python dependencies in docs dir w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* updated react-router-dom to match react-router version w/ burnettk
* disable save button on process model edit diagram page unless a change has been made w/ burnettk
* remove web components from form data on extensions page to avoid potential errors w/ burnettk
* updates based on coderabbit w/ burnettk
* fixed cypress issues
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* Update README.md
Some notes for people that might want to run full-on native, with detail about how Mac hijacks port 7000 and how to get around it.
* Revert "Update README.md"
This reverts commit 096887c26d.
* README update and native code patch
Some details for user that might be running Python3, Mac, and want to run everything locally/natively.
* Implement basic tooltips
Uses MUI tooltip, as it behaves more predictably with existing styling, and enables top-level theme config.
Top-level configuration for all MUI components can be controlled via overriding the existing theme. See index.tsx. This could be done per user for customization, etc.
Enabling JSON module imports in tsconfig.json seemed to fix the error in ReactDiagramEditor
* get docs from main that have already been merged from tcoz and tweaked
* created SpiffTooltip component so we can change how tooltips operate across the board w/ burnettk
* update tooltip title copy
* remove arrow not needed in caller
* types and wording
---------
Co-authored-by: Tim Consolazio <tcoz@tcoz.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* updated the docs around extensions and updated extensions interfaces in the frontend w/ burnettk
* allow specifying files in component args for extensions and added some support for CustomForm from extensions w/ burnettk
* added comments to the extension interfaces file to better describe how to create them
* finished adding comments to extension interfaces
* added comments at top and some minor tweaks
* some fixes for extensions w/ burnettk
* some fixes for extensions w/ burnettk
* ignore eslint issues for now w/ burnettk
* removed deprecated extension items w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* support executable property
* process model with no primary file is not executable
* filter by executable and primary file and avoid snagging g.user from service
* kill Start buttons on process group list as well
* use more similar code to check is executable and write integration test
* add a test and improve a variable name
---------
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* WIP: initial work to have a home page created from an extension w/ burnettk
* added support to display an extension as the root page w/ burnettk
* allow extensions to add new routes to base routes w/ burnettk
* use page instead of creating new key route w/ burnettk
* added components to support pi tables in extensions w/ burnettk
* allow using asterisks to mark words as bold in process instance list table
* moved table component from InstancesListTable to own component w/ burnettk
* filters are somewhat working again w/ burnettk
* default homepage uses the table without filters component now w/ burnettk
* renamed instance list tables to be more appropriate w/ burnettk
* display errors if list table is used incorrectly w/ burnettk
* fixed issue where columns were not displaying in the filter list
* pyl
* rely on changes in report hash to determine if report hash state needs updating
* only show link to report if there are instances to show
* many updates for filtering to remove the apply button and clean things up w/ burnettk
* some more fixes for too many renderings w/ burnettk
* advanced filters are working again w/ burnettk
* clear is working again w/ burnettk
* fixed a few linting errors and warnings w/ burnettk
* fixed some cypress tests
* if there are errors then display them right away instead of trying to put together the other elements
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* handle invalid dates better to better support various date formats w/ burnettk
* use getTime to check for date validity instead
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* WIP: work for side-by-side layout in json forms w/ burnettk
* added support in ObjectFieldTemplate to support side-by-side layout w/ burnettk
* added a restricted grid template for half width forms
* display the error message if field mentioned in ui:layout but the field does not exist
* added docs for side-by-side layout w/ burnettk
* update script
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* fixes the date picker so it does not change the date after selecting it
* Update spiffworkflow-frontend/src/services/DateAndTimeService.tsx
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: Kevin Burnett <18027+burnettk@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* use for-me on progress page when appropriate w/ burnettk
* use a hook for navigate instead of window.location w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* added support for Month names and abbreviations in frontend
* corrections pointed out by coderabbit
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* get parent process groups of process models that the user has access to w/ burnettk
* use the process group list to get the info we need for the group show page for permissions w/ burnettk
* clear the browser cache when updating a process group w/ burnettk
* fixed broken test w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* get most recent tasks based on last_state_change instead of task_model.id
* added api to get task instances of a task
* some changes to support displaying task instances
* forgot to commit the controller
* updated frontend to display info for other instances of a task w/ burnettk
* some formatting to the selected task instance w/ burnettk
* do not get task instances when selecting different instance w/ burnettk
* added tests for task-instances w/ burnettk
* some ui tweaks for task instance view w/ burnettk
* updates based on coderabbit
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* Numeric range field added (#799)
Added a custom field to handle numeric ranges. The field checks for the first key in the properties of the schema and will add min and max to it when the values are put in.
* autofix lint stuff
* updates to simplify the code, fix a few ux issues, and make more inline with current conventions w/ burnettk
* removed subkey from numeric range and added validation to ensure max is greater than min w/ burnettk
* added some comments to clarify how to use numeric range w/ burnettk
* added some documentation for the numeric range field w/ burnettk
---------
Co-authored-by: Kayvon-Martinez <142514475+Kayvon-Martinez@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* WIP: some initial code for category in data objects
* attempt to get the data object for the given bpmn process and instance of it w/ burnettk
* updates for data objects
* fixed tests
* made suggestions by code rabbit and moved logic to get process data file out of shared method since it has a completely different implentation
* remove commented out code
* updated SpiffWorkflow for data object category
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* WIP: some initial test code to test out celery w/ burnettk
* some cleanup for celery and added base model to put tasks waiting on timers
* removed dup bpmn file
* some more cleanup and added strategy to queue instructions
* some minor code changes w/ burnettk
* remove the unused next_task key from api calls since nobody uses it w/ burnettk essweine
* added migration for future tasks and added test to make sure we are inserting into it w/ burnettk essweine
* ensure future task run at time can be updated w/ burnettk
* added table to queue instructions for end user in w/ burnettk
* added test to ensure we are storing instructions for end users w/ burnettk
* added progress page to display new instructions to user
* ignore dup instructions on db insert w/ burnettk
* some more updates for celery w/ burnettk
* some pyl and test fixes w/ burnettk
* fixed tests w/ burnettk
* WIP: added in page to show instructions on pi show page w/ burnettk
* pi show page is fully using not interstitial now w/ burnettk
* fixed broken test w/ burnettk
* moved background processing items to own module w/ burnettk
* fixed apscheduler start script
* updated celery task queue to handle future tasks and upgraded black and set its line-length to match ruff w/ burnettk
* added support to run future tasks using countdown w/ burnettk
* build image for celery branch w/ burnettk
* poet does not exist in the image w/ burnettk
* start blocking scheduler should always start the scheduler w/ burnettk
* add init and stuff for this branch
* make this work not just on my mac
* send other args to only
* added running status for process instance and use that on fe to go to show page and added additional identifier to locking system to isolate celery workers better w/ burnettk
* fixed typing error that typeguard found, not sure why mypy did not w/ burnettk
* do not check for no instructions on interstitial page for cypress tests on frontend w/ burnettk
* do not queue process instances twice w/ burnettk
* removed bad file w/ burnettk
* queue tasks using strings to avoid circular imports when attmepting to queue w/ burnettk
* only queue imminent new timer events and mock celery
* some keyboard shortcut support on frontend and added ability to force run a process instance over the api w/ burnettk
* some styles added for the shortcut menu w/ burnettk
* pyl w/ burnettk
* fixed test w/ burnettk
* removed temporary celery script and added support for celery worker in run server locally w/ burnettk
* cleaned up migrations w/ burnettk
* created new migration to clean up old migrations
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>