* wip spiff lib upgrade
* unit and script tests are now passing w/ burnettk
* tests and pre-commit are passing
* pass None in as external_context as named param instead of creating a variable w/ burnettk
* some extra debugging in case bpmn_xml_file_contents is empty w/ burnettk
---------
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
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
* 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>
* n plus one checks
* tests passing with nplusone
* satisfy probably-wrong json schema
* remove useless comment and consolidate poetry dev deps
* not actually going to add this dependency, but leave docs for next guy
---------
Co-authored-by: burnettk <burnettk@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>
* reset to page 1 when status changes to fix#765 w/ jasquat
* upgrade connexion and werkzeug to fix snyk w/ jasquat
* fix all security issues like a boss w/ jasquat
* whoops, still no resolution for cryptography w/ jasquat
---------
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* removed simple-crypt and cleaned up usage of keys for encryption w/ burnettk
* renamed var to SPIFFWORKFLOW_BACKEND_ENCRYPTION_KEY w/ burnettk
* pyl w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* updated Dockerfile to try to remove security vulnerabilities w/ burnettk
* we require curl for health checks w/ burnettk
* try to scan docker image in ci
* use Dockerfile from backend w/ burnettk
* continue-on-error w/ burnettk
* attempt to elevate permissions of snyk w/ burnettk
* added snyk security github workflow w/ burnettk
* fixed location of constraints w/ burnettk
* add in or true for snyk tests w/ burnettk
* sent the snyk token w/ burnettk
* specify the directory for the sarif file w/ burnettk
* updated spiffworkflow-connector-command for snyk issue w/ burnettk
* updated sql statements sanitize input
* ignore issues for debug_controller and check frontend with snyk w/ burnettk
* updated babel and electron for snyk w/ burnettk
* some more updates to fix vulnerabilities w/ burnettk
* prune repeated deps for frontend builds since
* uncomment ci code so it runs again and use node for frontend base image w/ burnettk
* fixed backend image name w/ burnettk
* pyl w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* WIP for error boundary support w/ burnettk
* updates to catch error boundary events and send them back out w/ burnettk
* fixed broken test w/ burnettk
* use connector-http and spiffworkflow-proxy from main w/ burnettk
* updated smtp and slack connectors in connector-proxy-demo w/ burnettk
* added more tests for the service task service call connector to test errors w/ burnettk
* added spiffworkflow-connector-command and some code clean up
* updated the connectors in the proxy demo
* use SpiffWorkflow from git instead of locally
* some cleanup while code reviewing
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* using new spiffworkflow locally and the db can be recreated w/ burnettk
* tests are passing w/ burnettk
* added version 3 data migration for typenames on tasks and bpmn processes w/ burnettk
* pyl w/ burnettk
* switch SpiffWorkflow back to main
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* some debug items w/ burnettk
* removed some db commits from workflow execution service so the passed in save is the only thing that actually commits the transaction
* set max depth to 50000 for now w/ burnettk
* pyl w/ burnettk
* use temp maxdepth fix in SpiffWorkflow w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* updated to use new spiff branch and fixed broken tests w/ burnettk essweine
* updated spiffworkflow with new main build w/ burnettk essweine
* initial updates to new spiff branch w/ burnettk essweine
* more updates for new spiff w/ burnettk essweine
* fixed some linting issues w/ burnettk essweine
* fixed some failing tests w/ burnettk
* updated spiffworkflow for cancel fix w/ burnettk
* Improvement/flexible task iteration 2 (#504)
* wip
* consistent failure, mostly
* removing test code and tests
* removing unused test bpmn files
* removing unused test bpmn files
* minor cleanup of commented code
* spaces and unused imports
* go back to spiff on main
---------
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* lint
* updated test to reflect storing predicted tasks w/ burnettk
* add some orders so postgres does not do whatever it wants, and clear log
* fix lint
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: danfunk <daniel.h.funk@gmail.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* updated to use new spiff branch and fixed broken tests w/ burnettk essweine
* updated spiffworkflow with new main build w/ burnettk essweine
* work around dictionary changed size during iteration error in parallel tests
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* Switch to local wheel
* Fix to load the call activity by spec
* Added log
* Logging
* WIP - getting the right tasks it seems from the db, need to get into the workflow
* Clean up, revert things
* Working thanks dan
* Getting bin_pyl to pass
* run_pyl.
* Re-poet install
* Revert file
* Remove logging lines
* Getting bin_pyl to pass
* Clean up, revert things
* Bump wheel
* Use version off pypi
---------
Co-authored-by: danfunk <daniel.h.funk@gmail.com>
* upgrade to correct multi-instance error bug in BPMN-JS-Spiffworkflow
* update the git service to re-build cache after doing a git pull when a web-hook is called.
* update to SpiffWorkflow - which includes 'replace root with spec start'
* updating the lock file.
* bump spiff to change task internal data, add new method and new exceptions
* bump bpmn-js-spiffworkflow for MI updates
---------
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* Adding dependencies
* Disconnect from /v1/auths for auth list. hardcoded for now.
* Revert changes
* WIP
* Getting hardcoded v2 auths into the frontend
* Better url for v2 oauth
* Pass the auth token from the frontend, don't verify token to start the auth process
* Manually verify the token from the querystring
* WIP
* WIP
* WIP, refactor SPIFF_SECRET handling, move dependencies
* Construct remote_app
* WIP
* WIP
* WIP
* WIP
* Ugly but getting the grant screen
* WIP
* WIP
* Github oauth ok
* Verify token, save access token
* Let secret name work with regex
* Getting bin_pyl to pass
* New component
* Load up the current config in an editor
* Getting bin_pyl to pass
* End point to update auth config
* Linting
* Adding configuration model
* Adding configuration model
* Prep to read config from db
* Read config from the db
* Save/reload poor man's styling
* Getting bin_pyl to pass
* Getting bin_pyl to pass
* Getting bin_pyl to pass
* Better handling of invalid json
* Getting bin_pyl to pass
* Revert "Revert "Feature/event payloads (#393)""
This reverts commit 95fafb7af1.
* Revert "Revert "poet not available in container""
This reverts commit 140220498c.
* Revert "Revert "Run event payloads data migration from background processor (#399)""
This reverts commit 2afced3a51.
* Revert "Revert "using new spiff api to get info about events. w/ elizabeth""
This reverts commit af857fee22.
* Revert "Revert "fix tests for waiting_event_can_be_skipped""
This reverts commit 886e6bd42a.
* push image for preview env
* default scripts to localhost w/ burnettk
* use the bugfix/update-split-task-inputs spiffworkflow branch w/ burnettk
* removed debug json files
* use main for spiffworkflow
* do not attempt to highlight non-diagram boundary items w/ burnettk
* updated SpiffWorkflow to fix multiple signal event issue w/ burnettk
---------
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* attempt to use the locked version of SpiffWorkflow in ci w/ burnettk
* fixed regex for spiffworkflow revision replacement
* make sure we also update the lockfile when getting new spiff
* install poetry before we attempt to update hte pyproject
* hardcoding spiffworkflow revision as a test w/ burnettk
* try running tests in ci from bash script w/ burnettk
* print working dir in ci w/ burnettk
* fixed location of instance dir w/ burnettk
* run with mysql in ci
* run typeguard with bash script as well w/ burnettk
* fixed postgres test w/ burnettk
* clean up github action file w/ burnettk
* fixed postgres test again w/ burnettk
* pyl
* attempt to remove nox from ci completely
* omit safety for now to test coverage
* fixed how coverage is being called from not nox
* allow running safety and macos again
* renamed run_not_nox to run_ci_session w/ burnettk
* attempt to only upload if matrix says to w/ burnettk
* attempt to install mysqlclient prereqs for mac and remove noxfile stuff w/ burnettk
* added back the constraints file w/ burnettk
* moved the contributing file to the root of arena w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* return the process instance when interstitial process is complete and favor redirecting to it on the frontend
* upgrade certifi for snyk check
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* return the process instance early from the interstitial if it is suspended or terminated
* added a test to make sure the interstitial page returns the process instance if suspended or termianted w/ burnettk
* randomize tests and cleaned up the pyproject file a little bit w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>