orchestrator-core 3.1.2rc1__tar.gz → 3.1.2rc3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/.bumpversion.cfg +1 -1
- orchestrator_core-3.1.2rc3/PKG-INFO +116 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/reference-docs/workflows/callbacks.md +8 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/__init__.py +1 -1
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/api/api_v1/endpoints/processes.py +23 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/services/processes.py +71 -9
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/workflow.py +1 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/pyproject.toml +8 -10
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/forms/test_display_subscription.py +5 -1
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/graphql/test_subscriptions.py +1 -1
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/workflows/test_async_workflow.py +116 -0
- orchestrator_core-3.1.2rc1/PKG-INFO +0 -321
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/.coveragerc +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/.github/dependabot.yml +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/.github/workflows/README.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/.github/workflows/build-push-container.yml +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/.github/workflows/changelog.yml +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/.github/workflows/codeql-analysis.yml +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/.github/workflows/gh-pages.yml +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/.github/workflows/issues.yml +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/.github/workflows/publish-package.yml +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/.github/workflows/run-codspeed-tests.yml +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/.github/workflows/run-linting-tests.yml +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/.github/workflows/run-unit-tests.yml +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/.github/workflows/scheduled-build.yml +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/.gitignore +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/.pre-commit-config.yaml +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/.stignore +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/CHANGELOG.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/Dockerfile +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/LICENSE +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/NOTICE +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/README.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/codecov.yml +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/architecture/application/domainmodels.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/architecture/application/forms-frontend.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/architecture/application/tasks.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/architecture/application/workflow.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/architecture/framework.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/architecture/img/base-orchestrator-setup.png +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/architecture/img/custom-orchestrator-setup.png +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/architecture/orchestration/img/Custom-orchestrator-ui-using-override.png +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/architecture/orchestration/img/Standard-orchestrator-ui.png +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/architecture/orchestration/orchestrator-ui.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/architecture/orchestration/philosophy.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/architecture/product_modelling/backfilling.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/architecture/product_modelling/context.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/architecture/product_modelling/imports.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/architecture/product_modelling/introduction.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/architecture/product_modelling/ip_static.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/architecture/product_modelling/ip_static.png +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/architecture/product_modelling/l2_point_to_point.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/architecture/product_modelling/l2_point_to_point.png +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/architecture/product_modelling/l2_vpn.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/architecture/product_modelling/l2_vpn.png +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/architecture/product_modelling/modelling.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/architecture/product_modelling/node.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/architecture/product_modelling/node.png +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/architecture/product_modelling/port.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/architecture/product_modelling/port.png +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/architecture/product_modelling/product_block_graph.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/architecture/product_modelling/product_block_graph.png +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/architecture/product_modelling/standards.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/architecture/product_modelling/terminology.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/architecture/tldr.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/contributing/development.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/contributing/guidelines.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/contributing/testing.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/css/custom.css +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/css/style.css +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/css/termynal.css +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/getting-started/base.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/getting-started/docker.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/getting-started/orchestration-ui.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/getting-started/prepare-source-folder.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/getting-started/versions.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/img/WFO-Emblem-White.png +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/img/favicon.ico +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/index.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/js/custom.js +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/js/termynal.js +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/migration-guide/2.0.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/migration-guide/3.0.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/reference-docs/api.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/reference-docs/app/app.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/reference-docs/app/scaling.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/reference-docs/auth-backend-and-frontend.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/reference-docs/cli.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/reference-docs/database.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/reference-docs/domain_models/generator.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/reference-docs/domain_models/instantiating.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/reference-docs/domain_models/model_attributes.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/reference-docs/domain_models/overview.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/reference-docs/domain_models/product_blocks.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/reference-docs/domain_models/product_types.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/reference-docs/domain_models/properties.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/reference-docs/domain_models/pydantic_hooks.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/reference-docs/domain_models/type_casting.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/reference-docs/domain_models/union_types.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/reference-docs/domain_models/validation.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/reference-docs/forms.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/reference-docs/graphql.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/reference-docs/python.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/reference-docs/search.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/reference-docs/search_overview.png +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/reference-docs/serialization.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/reference-docs/tasks.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/reference-docs/tests.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/reference-docs/tldr.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/reference-docs/websockets.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/reference-docs/workflows/workflow-lifecycles.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/reference-docs/workflows/workflow-steps.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/workshops/advanced/bootstrap.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/workshops/advanced/create-your-own.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/workshops/advanced/docker-installation.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/workshops/advanced/domain-models.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/workshops/advanced/execute-workflows.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/workshops/advanced/generator.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/workshops/advanced/l2_point_to_point.png +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/workshops/advanced/node-create.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/workshops/advanced/node-modify.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/workshops/advanced/node-terminate.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/workshops/advanced/node-validate.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/workshops/advanced/overview.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/workshops/advanced/scenario.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/workshops/advanced/workflow-basics.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/workshops/advanced/workflow-introduction.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/workshops/beginner/create-user-group.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/workshops/beginner/create-user.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/workshops/beginner/database-migration.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/workshops/beginner/debian.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/workshops/beginner/docker.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/workshops/beginner/domain-models.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/workshops/beginner/explore.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/workshops/beginner/input-forms.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/workshops/beginner/macos.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/workshops/beginner/modify-user-group.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/workshops/beginner/modify-user.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/workshops/beginner/register-workflows.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/workshops/beginner/start-applications.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/workshops/beginner/terminate-user-group.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/workshops/beginner/terminate-user.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/workshops/beginner/workflow-introduction.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/workshops/beginner/workshop-overview.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/workshops/images/Software-topology.drawio.png +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/workshops/images/clab_topology.png +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/workshops/images/metadata_products.png +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/workshops/images/netbox_devices_active.png +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/workshops/images/subscriptions.png +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/workshops/images/topology.drawio.png +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/includes/abbreviations.md +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/mkdocs.yml +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/nitpick-style.toml +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/api/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/api/api_v1/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/api/api_v1/api.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/api/api_v1/endpoints/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/api/api_v1/endpoints/health.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/api/api_v1/endpoints/product_blocks.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/api/api_v1/endpoints/products.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/api/api_v1/endpoints/resource_types.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/api/api_v1/endpoints/settings.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/api/api_v1/endpoints/subscription_customer_descriptions.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/api/api_v1/endpoints/subscriptions.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/api/api_v1/endpoints/translations.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/api/api_v1/endpoints/user.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/api/api_v1/endpoints/workflows.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/api/api_v1/endpoints/ws.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/api/error_handling.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/api/helpers.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/api/models.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/app.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/database.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/domain_gen_helpers/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/domain_gen_helpers/fixed_input_helpers.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/domain_gen_helpers/helpers.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/domain_gen_helpers/product_block_helpers.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/domain_gen_helpers/product_helpers.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/domain_gen_helpers/resource_type_helpers.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/domain_gen_helpers/types.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generate.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/custom_templates/README +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/custom_templates/additional_create_imports.j2 +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/custom_templates/additional_create_input_fields.j2 +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/custom_templates/additional_create_steps.j2 +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/custom_templates/additional_modify_imports.j2 +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/custom_templates/additional_modify_input_fields.j2 +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/custom_templates/additional_modify_steps.j2 +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/custom_templates/additional_terminate_imports.j2 +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/custom_templates/additional_terminate_input_fields.j2 +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/custom_templates/additional_terminate_steps.j2 +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/generator/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/generator/enums.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/generator/helpers.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/generator/migration.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/generator/product.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/generator/product_block.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/generator/settings.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/generator/translations.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/generator/unittest.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/generator/validations.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/generator/workflow.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/products/workshop/circuit.yaml +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/products/workshop/node.yaml +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/products/workshop/user.yaml +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/products/workshop/user_group.yaml +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/templates/additional_create_imports.j2 +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/templates/additional_create_steps.j2 +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/templates/additional_modify_imports.j2 +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/templates/additional_modify_steps.j2 +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/templates/additional_terminate_steps.j2 +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/templates/constrained_int_definitions.j2 +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/templates/create_data_head.j2 +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/templates/create_product.j2 +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/templates/enums.j2 +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/templates/lazy_workflow_instance.j2 +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/templates/list_definitions.j2 +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/templates/macros.j2 +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/templates/modify_product.j2 +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/templates/new_product_migration.j2 +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/templates/product.j2 +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/templates/product_block.j2 +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/templates/shared_forms.j2 +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/templates/shared_workflows.j2 +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/templates/subscription_model_registry.j2 +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/templates/terminate_product.j2 +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/templates/test_create_workflow.j2 +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/templates/test_modify_workflow.j2 +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/templates/test_product_type.j2 +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/templates/test_terminate_workflow.j2 +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/templates/test_validate_workflow.j2 +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/generator/templates/validate_product.j2 +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/helpers/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/helpers/input_helpers.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/helpers/print_helpers.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/main.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/migrate_domain_models.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/migrate_tasks.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/migrate_workflows.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/migration_helpers.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/cli/scheduler.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/config/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/config/assignee.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/db/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/db/database.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/db/filters/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/db/filters/filters.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/db/filters/process.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/db/filters/product.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/db/filters/product_block.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/db/filters/resource_type.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/db/filters/search_filters/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/db/filters/search_filters/inferred_filter.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/db/filters/subscription.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/db/filters/workflow.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/db/helpers.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/db/listeners.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/db/loaders.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/db/models.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/db/range/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/db/range/range.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/db/sorting/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/db/sorting/process.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/db/sorting/product.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/db/sorting/product_block.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/db/sorting/resource_type.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/db/sorting/sorting.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/db/sorting/subscription.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/db/sorting/workflow.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/devtools/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/devtools/populator.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/devtools/scripts/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/devtools/scripts/migrate_20.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/devtools/scripts/migrate_30.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/devtools/scripts/shared.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/distlock/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/distlock/distlock_manager.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/distlock/managers/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/distlock/managers/memory_distlock_manager.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/distlock/managers/redis_distlock_manager.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/domain/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/domain/base.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/domain/customer_description.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/domain/helpers.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/domain/lifecycle.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/exception_handlers.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/forms/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/forms/validators/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/forms/validators/customer_contact_list.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/forms/validators/customer_id.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/forms/validators/display_subscription.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/forms/validators/network_type_validators.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/forms/validators/product_id.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/autoregistration.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/extensions/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/extensions/stats.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/loaders/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/loaders/subscriptions.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/mutations/customer_description.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/mutations/start_process.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/pagination.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/resolvers/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/resolvers/customer.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/resolvers/helpers.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/resolvers/process.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/resolvers/product.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/resolvers/product_block.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/resolvers/resource_type.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/resolvers/settings.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/resolvers/subscription.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/resolvers/version.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/resolvers/workflow.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/schema.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/schemas/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/schemas/customer.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/schemas/customer_description.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/schemas/errors.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/schemas/fixed_input.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/schemas/helpers.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/schemas/process.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/schemas/product.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/schemas/product_block.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/schemas/resource_type.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/schemas/settings.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/schemas/strawberry_pydantic_patch.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/schemas/subscription.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/schemas/version.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/schemas/workflow.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/types.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/utils/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/utils/create_resolver_error_handler.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/utils/get_query_loaders.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/utils/get_selected_fields.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/utils/get_selected_paths.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/utils/get_subscription_product_blocks.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/utils/is_query_detailed.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/utils/override_class.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/graphql/utils/to_graphql_result_page.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/log_config.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/migrations/README +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/migrations/alembic.ini +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/migrations/env.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/migrations/helpers.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/migrations/script.py.mako +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/migrations/templates/alembic.ini.j2 +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/migrations/templates/env.py.j2 +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/migrations/templates/helpers.py.j2 +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/migrations/versions/schema/2020-10-19_3323bcb934e7_fix_tsv_triggers.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/migrations/versions/schema/2020-10-19_a76b9185b334_add_generic_workflows_to_core.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/migrations/versions/schema/2020-10-19_c112305b07d3_initial_schema_migration.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/migrations/versions/schema/2021-04-06_3c8b9185c221_add_validate_products_task.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/migrations/versions/schema/2021-07-01_6896a54e9483_add_product_block_relations.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/migrations/versions/schema/2021-11-17_19cdd3ab86f6_fix_parse_websearch.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/migrations/versions/schema/2022-02-16_bed6bc0b197a_rename_parent_and_child_block_relations.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/migrations/versions/schema/2023-03-06_e05bb1967eff_add_subscriptions_search_view.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/migrations/versions/schema/2023-05-25_b1970225392d_add_subscription_metadata_workflow.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/migrations/versions/schema/2023-06-28_a09ac125ea73_add_throttling_to_refresh_subscriptions.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/migrations/versions/schema/2023-06-28_a09ac125ea73_add_throttling_to_refresh_subscriptions.sql +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/migrations/versions/schema/2023-07-17_165303a20fb1_customer_id_to_varchar.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/migrations/versions/schema/2023-07-17_165303a20fb1_customer_id_to_varchar.sql +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/migrations/versions/schema/2023-09-25_da5c9f4cce1c_add_subscription_metadata_to_fulltext_.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/migrations/versions/schema/2023-09-25_da5c9f4cce1c_add_subscription_metadata_to_fulltext_.sql +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/migrations/versions/schema/2023-12-06_048219045729_add_workflow_id_to_processes_table.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/migrations/versions/schema/2024-09-27_460ec6748e37_add_uuid_search_workaround.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/migrations/versions/schema/2024-09-27_460ec6748e37_add_uuid_search_workaround.sql +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/migrations/versions/schema/2025-01-08_4c5859620539_add_version_column_to_subscription.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/migrations/versions/schema/2025-02-12_bac6be6f2b4f_added_input_state_table.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/migrations/versions/schema/2025-10-19_4fjdn13f83ga_add_validate_product_type_task.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/py.typed +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/schedules/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/schedules/resume_workflows.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/schedules/scheduling.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/schedules/task_vacuum.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/schedules/validate_products.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/schedules/validate_subscriptions.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/schemas/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/schemas/base.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/schemas/engine_settings.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/schemas/fixed_input.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/schemas/problem_detail.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/schemas/process.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/schemas/product.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/schemas/product_block.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/schemas/resource_type.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/schemas/subscription.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/schemas/subscription_descriptions.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/schemas/workflow.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/security.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/services/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/services/celery.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/services/fixed_inputs.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/services/input_state.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/services/process_broadcast_thread.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/services/products.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/services/resource_types.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/services/settings.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/services/subscription_relations.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/services/subscriptions.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/services/tasks.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/services/translations.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/services/workflows.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/settings.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/targets.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/types.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/utils/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/utils/crypt.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/utils/datetime.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/utils/deprecation_logger.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/utils/docs.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/utils/enrich_process.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/utils/errors.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/utils/fixed_inputs.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/utils/functional.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/utils/get_subscription_dict.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/utils/get_updated_properties.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/utils/helpers.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/utils/json.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/utils/redis.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/utils/redis_client.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/utils/search_query.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/utils/state.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/utils/strings.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/utils/validate_data_version.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/version.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/websocket/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/websocket/managers/broadcast_websocket_manager.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/websocket/managers/memory_websocket_manager.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/websocket/websocket_manager.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/workflows/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/workflows/modify_note.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/workflows/removed_workflow.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/workflows/steps.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/workflows/tasks/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/workflows/tasks/cleanup_tasks_log.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/workflows/tasks/resume_workflows.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/workflows/tasks/validate_product_type.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/workflows/tasks/validate_products.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/workflows/translations/en-GB.json +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/workflows/utils.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/setup.cfg +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/setup.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/acceptance_tests/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/acceptance_tests/conftest.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/acceptance_tests/fixtures/test_orchestrator/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/acceptance_tests/fixtures/test_orchestrator/devtools/populator/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/acceptance_tests/fixtures/test_orchestrator/devtools/populator/test_product_populator.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/acceptance_tests/fixtures/test_orchestrator/main.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/acceptance_tests/fixtures/test_orchestrator/product_blocks/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/acceptance_tests/fixtures/test_orchestrator/product_blocks/test_product_blocks.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/acceptance_tests/fixtures/test_orchestrator/products/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/acceptance_tests/fixtures/test_orchestrator/products/test_product.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/acceptance_tests/fixtures/test_orchestrator/workflows/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/acceptance_tests/fixtures/test_orchestrator/workflows/create_test_product.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/acceptance_tests/test_test_product.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/api/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/api/test_caching.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/api/test_health.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/api/test_helpers.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/api/test_models.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/api/test_processes.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/api/test_processes_ws.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/api/test_product_blocks.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/api/test_products.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/api/test_resource_types.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/api/test_settings.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/api/test_subscription_customer_descriptions.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/api/test_subscriptions.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/api/test_workflows.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/api/test_ws.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/conftest.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/alembic.ini +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/main.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/migrations/env.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/migrations/helpers.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/migrations/script.py.mako +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/migrations/versions/schema/2024-02-20_59e1199aff7f_create_data_head.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/migrations/versions/schema/2024-02-20_85be1c80731c_add_example2.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/migrations/versions/schema/2024-02-20_ea9e6c9de75c_add_example1.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/migrations/versions/schema/2024-06-07_380a5b0c928c_add_example4.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/products/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/products/product_blocks/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/products/product_blocks/example1.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/products/product_blocks/example2.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/products/product_blocks/example4.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/products/product_blocks/example4sub.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/products/product_types/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/products/product_types/example1.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/products/product_types/example2.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/products/product_types/example4.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/test/unit_tests/domain/product_types/test_example1.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/test/unit_tests/domain/product_types/test_example2.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/test/unit_tests/domain/product_types/test_example4.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/test/unit_tests/workflows/example1/test_create_example1.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/test/unit_tests/workflows/example1/test_modify_example1.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/test/unit_tests/workflows/example1/test_terminate_example1.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/test/unit_tests/workflows/example1/test_validate_example1.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/test/unit_tests/workflows/example2/test_create_example2.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/test/unit_tests/workflows/example2/test_modify_example2.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/test/unit_tests/workflows/example2/test_terminate_example2.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/test/unit_tests/workflows/example2/test_validate_example2.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/test/unit_tests/workflows/example4/test_create_example4.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/test/unit_tests/workflows/example4/test_modify_example4.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/test/unit_tests/workflows/example4/test_terminate_example4.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/test/unit_tests/workflows/example4/test_validate_example4.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/translations/en-GB.json +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/workflows/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/workflows/example1/create_example1.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/workflows/example1/modify_example1.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/workflows/example1/shared/forms.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/workflows/example1/terminate_example1.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/workflows/example1/validate_example1.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/workflows/example2/create_example2.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/workflows/example2/modify_example2.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/workflows/example2/shared/forms.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/workflows/example2/terminate_example2.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/workflows/example4/create_example4.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/workflows/example4/modify_example4.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/workflows/example4/shared/forms.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/workflows/example4/terminate_example4.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate/workflows/shared.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/generate.sh +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/invalid_product_config1.yaml +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/invalid_product_config2.yaml +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/product_config1.yaml +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/product_config2.yaml +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/product_config3.yaml +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/data/product_config4.yaml +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/generator/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/generator/test_enums.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/helpers.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/test_cli_generate.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/test_config_validation.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/test_generate_code.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/test_migrate_domain_models_with_instances.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/cli/test_migrate_domain_models_without_instances.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/config.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/conftest.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/db/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/db/test_listeners.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/domain/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/domain/test_base.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/domain/test_base_multiple.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/domain/test_base_performance.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/domain/test_base_with_list_union.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/domain/test_base_with_union.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/domain/test_lifecycle.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/fixtures/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/fixtures/processes.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/fixtures/products/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/fixtures/products/product_blocks/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/fixtures/products/product_blocks/product_block_list_nested.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/fixtures/products/product_blocks/product_block_one.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/fixtures/products/product_blocks/product_block_one_nested.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/fixtures/products/product_blocks/product_block_with_list_union.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/fixtures/products/product_blocks/product_block_with_union.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/fixtures/products/product_blocks/product_sub_block_one.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/fixtures/products/product_blocks/product_sub_block_two.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/fixtures/products/product_types/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/fixtures/products/product_types/product_type_list_nested.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/fixtures/products/product_types/product_type_list_union.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/fixtures/products/product_types/product_type_list_union_overlap.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/fixtures/products/product_types/product_type_one.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/fixtures/products/product_types/product_type_one_nested.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/fixtures/products/product_types/product_type_sub_list_union.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/fixtures/products/product_types/product_type_sub_one.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/fixtures/products/product_types/product_type_sub_two.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/fixtures/products/product_types/product_type_sub_union.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/fixtures/products/product_types/product_type_union.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/fixtures/products/product_types/subscription_relations.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/fixtures/products/resource_types.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/fixtures/workflows.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/forms/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/forms/test_customer_contact_list.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/forms/test_customer_id.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/forms/test_generic_validators.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/graphql/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/graphql/conftest.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/graphql/extensions/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/graphql/extensions/test_stats.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/graphql/mutations/helpers.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/graphql/mutations/test_customer_description.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/graphql/mutations/test_start_process.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/graphql/test_customer.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/graphql/test_process.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/graphql/test_processes.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/graphql/test_product.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/graphql/test_product_blocks.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/graphql/test_resource_types.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/graphql/test_settings.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/graphql/test_sort_and_filter_fields.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/graphql/test_subscription.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/graphql/test_subscription_relations.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/graphql/test_version.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/graphql/test_workflows.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/graphql/utils/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/graphql/utils/fixtures.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/graphql/utils/test_autoregistration.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/graphql/utils/test_get_query_loaders.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/graphql/utils/test_get_selected_paths.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/graphql/utils/test_is_query_detailed.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/graphql/utils/test_is_querying_page_data.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/graphql/utils/test_override_class.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/helpers.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/schedules/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/schedules/test_scheduling.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/services/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/services/test_input_state.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/services/test_processes.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/services/test_products.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/services/test_subscription_relations.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/services/test_subscriptions.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/services/test_translations.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/test_db.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/test_types.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/test_workflow.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/utils/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/utils/get_subscription_dict.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/utils/test_datetime.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/utils/test_errors.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/utils/test_functional.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/utils/test_get_updated_properties.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/utils/test_json.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/utils/test_search_query.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/utils/test_state.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/utils/test_strings.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/websocket/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/websocket/test_broadcast.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/workflows/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/workflows/conftest.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/workflows/shared/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/workflows/shared/test_validate_subscriptions.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/workflows/tasks/__init__.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/workflows/tasks/test_clean_up_task_log.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/workflows/tasks/test_resume_workflows.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/workflows/tasks/test_validate_product_type.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/workflows/tasks/test_validate_products.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/workflows/test_config_db_code.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/workflows/test_generic_workflow_steps.py +0 -0
- {orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/test/unit_tests/workflows/test_modify_note.py +0 -0
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: orchestrator-core
|
|
3
|
+
Version: 3.1.2rc3
|
|
4
|
+
Summary: This is the orchestrator workflow engine.
|
|
5
|
+
Requires-Python: >=3.11,<3.14
|
|
6
|
+
Classifier: Intended Audience :: Information Technology
|
|
7
|
+
Classifier: Intended Audience :: System Administrators
|
|
8
|
+
Classifier: Operating System :: OS Independent
|
|
9
|
+
Classifier: Programming Language :: Python :: 3
|
|
10
|
+
Classifier: Programming Language :: Python
|
|
11
|
+
Classifier: Topic :: Internet
|
|
12
|
+
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
|
13
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
14
|
+
Classifier: Topic :: Software Development :: Libraries
|
|
15
|
+
Classifier: Topic :: Software Development
|
|
16
|
+
Classifier: Typing :: Typed
|
|
17
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
18
|
+
Classifier: Environment :: Web Environment
|
|
19
|
+
Classifier: Framework :: AsyncIO
|
|
20
|
+
Classifier: Framework :: FastAPI
|
|
21
|
+
Classifier: Intended Audience :: Developers
|
|
22
|
+
Classifier: Intended Audience :: Telecommunications Industry
|
|
23
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
24
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
25
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
26
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
27
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
28
|
+
Classifier: Topic :: Internet :: WWW/HTTP :: HTTP Servers
|
|
29
|
+
Classifier: Topic :: Internet :: WWW/HTTP
|
|
30
|
+
License-File: LICENSE
|
|
31
|
+
Requires-Dist: alembic==1.15.1
|
|
32
|
+
Requires-Dist: anyio>=3.7.0
|
|
33
|
+
Requires-Dist: click==8.*
|
|
34
|
+
Requires-Dist: deprecated
|
|
35
|
+
Requires-Dist: deepmerge==2.0
|
|
36
|
+
Requires-Dist: fastapi~=0.115.2
|
|
37
|
+
Requires-Dist: fastapi-etag==0.4.0
|
|
38
|
+
Requires-Dist: more-itertools~=10.6.0
|
|
39
|
+
Requires-Dist: itsdangerous
|
|
40
|
+
Requires-Dist: Jinja2==3.1.6
|
|
41
|
+
Requires-Dist: orjson==3.10.15
|
|
42
|
+
Requires-Dist: psycopg[binary]==3.2.6
|
|
43
|
+
Requires-Dist: pydantic[email]~=2.8.2
|
|
44
|
+
Requires-Dist: pydantic-settings~=2.8.0
|
|
45
|
+
Requires-Dist: python-dateutil==2.8.2
|
|
46
|
+
Requires-Dist: python-rapidjson>=1.18,<1.21
|
|
47
|
+
Requires-Dist: pytz==2025.1
|
|
48
|
+
Requires-Dist: redis==5.1.1
|
|
49
|
+
Requires-Dist: schedule==1.1.0
|
|
50
|
+
Requires-Dist: sentry-sdk[fastapi]~=2.22.0
|
|
51
|
+
Requires-Dist: SQLAlchemy==2.0.39
|
|
52
|
+
Requires-Dist: SQLAlchemy-Utils==0.41.2
|
|
53
|
+
Requires-Dist: structlog
|
|
54
|
+
Requires-Dist: typer==0.15.2
|
|
55
|
+
Requires-Dist: uvicorn[standard]~=0.34.0
|
|
56
|
+
Requires-Dist: nwa-stdlib~=1.9.0
|
|
57
|
+
Requires-Dist: oauth2-lib~=2.4.0
|
|
58
|
+
Requires-Dist: tabulate==0.9.0
|
|
59
|
+
Requires-Dist: strawberry-graphql>=0.246.2
|
|
60
|
+
Requires-Dist: pydantic-forms~=1.4.0
|
|
61
|
+
Requires-Dist: celery~=5.4.0 ; extra == "celery"
|
|
62
|
+
Requires-Dist: toml ; extra == "dev"
|
|
63
|
+
Requires-Dist: bumpversion ; extra == "dev"
|
|
64
|
+
Requires-Dist: mypy_extensions ; extra == "dev"
|
|
65
|
+
Requires-Dist: pre-commit ; extra == "dev"
|
|
66
|
+
Requires-Dist: pydocstyle ; extra == "dev"
|
|
67
|
+
Requires-Dist: python-dotenv ; extra == "dev"
|
|
68
|
+
Requires-Dist: watchdog ; extra == "dev"
|
|
69
|
+
Requires-Dist: mkdocs ; extra == "doc"
|
|
70
|
+
Requires-Dist: mkdocs-material[imaging] ; extra == "doc"
|
|
71
|
+
Requires-Dist: mkdocs-render-swagger-plugin ; extra == "doc"
|
|
72
|
+
Requires-Dist: mkdocs-include-markdown-plugin ; extra == "doc"
|
|
73
|
+
Requires-Dist: mkdocstrings[python] ; extra == "doc"
|
|
74
|
+
Requires-Dist: mkdocs-open-in-new-tab ; extra == "doc"
|
|
75
|
+
Requires-Dist: mkdocs-macros-plugin ; extra == "doc"
|
|
76
|
+
Requires-Dist: mkdocs-embed-external-markdown ; extra == "doc"
|
|
77
|
+
Requires-Dist: apache-license-check ; extra == "test"
|
|
78
|
+
Requires-Dist: black ; extra == "test"
|
|
79
|
+
Requires-Dist: blinker ; extra == "test"
|
|
80
|
+
Requires-Dist: deepdiff ; extra == "test"
|
|
81
|
+
Requires-Dist: dirty-equals ; extra == "test"
|
|
82
|
+
Requires-Dist: jsonref ; extra == "test"
|
|
83
|
+
Requires-Dist: mypy==1.9 ; extra == "test"
|
|
84
|
+
Requires-Dist: pyinstrument ; extra == "test"
|
|
85
|
+
Requires-Dist: pytest==8.3.5 ; extra == "test"
|
|
86
|
+
Requires-Dist: pytest-asyncio==0.21.2 ; extra == "test"
|
|
87
|
+
Requires-Dist: pytest-codspeed ; extra == "test"
|
|
88
|
+
Requires-Dist: pytest-cov ; extra == "test"
|
|
89
|
+
Requires-Dist: pytest-httpx ; extra == "test"
|
|
90
|
+
Requires-Dist: pytest-xdist ; extra == "test"
|
|
91
|
+
Requires-Dist: requests-mock ; extra == "test"
|
|
92
|
+
Requires-Dist: ruff ; extra == "test"
|
|
93
|
+
Requires-Dist: sqlalchemy[mypy] ; extra == "test"
|
|
94
|
+
Requires-Dist: urllib3-mock ; extra == "test"
|
|
95
|
+
Requires-Dist: types-Deprecated ; extra == "test"
|
|
96
|
+
Requires-Dist: types-Jinja2 ; extra == "test"
|
|
97
|
+
Requires-Dist: types-aiofiles ; extra == "test"
|
|
98
|
+
Requires-Dist: types-certifi ; extra == "test"
|
|
99
|
+
Requires-Dist: types-click ; extra == "test"
|
|
100
|
+
Requires-Dist: types-itsdangerous ; extra == "test"
|
|
101
|
+
Requires-Dist: types-orjson ; extra == "test"
|
|
102
|
+
Requires-Dist: types-python-dateutil ; extra == "test"
|
|
103
|
+
Requires-Dist: types-pytz ; extra == "test"
|
|
104
|
+
Requires-Dist: types-redis ; extra == "test"
|
|
105
|
+
Requires-Dist: types-requests ; extra == "test"
|
|
106
|
+
Requires-Dist: types-setuptools ; extra == "test"
|
|
107
|
+
Requires-Dist: types-tabulate ; extra == "test"
|
|
108
|
+
Requires-Dist: types-toml ; extra == "test"
|
|
109
|
+
Requires-Dist: types-ujson ; extra == "test"
|
|
110
|
+
Requires-Dist: types-PyYAML ; extra == "test"
|
|
111
|
+
Project-URL: Documentation, https://workfloworchestrator.org/orchestrator-core/
|
|
112
|
+
Project-URL: Source, https://github.com/workfloworchestrator/orchestrator-core
|
|
113
|
+
Provides-Extra: celery
|
|
114
|
+
Provides-Extra: dev
|
|
115
|
+
Provides-Extra: doc
|
|
116
|
+
Provides-Extra: test
|
{orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/docs/reference-docs/workflows/callbacks.md
RENAMED
|
@@ -168,3 +168,11 @@ def create_l2vpn() -> StepList:
|
|
|
168
168
|
>> set_status(SubscriptionLifecycle.ACTIVE)
|
|
169
169
|
)
|
|
170
170
|
```
|
|
171
|
+
|
|
172
|
+
## Callback progress during execution
|
|
173
|
+
|
|
174
|
+
For long-running jobs, such as executing Terraform or Ansible playbooks, the Orchestrator allows callback jobs to send real-time progress updates which can be used to provide operators with feedback on the progress of the running task.
|
|
175
|
+
|
|
176
|
+
Progress updates should be delivered to `{callback_route}/progress`, where `"/progress"` is a fixed endpoint appended to the callback URL.
|
|
177
|
+
|
|
178
|
+
The remote service should send a JSON or plain string payload with each progress callback, this replaces the previous progress update and refreshes the UI. Once the final callback is triggered and the job completes, progress updates are removed, leaving only the callback result. Therefore, all troubleshooting or diagnostic information must be included in the final callback payload, as progress updates are not retained for debugging.
|
|
@@ -58,6 +58,7 @@ from orchestrator.services.processes import (
|
|
|
58
58
|
load_process,
|
|
59
59
|
resume_process,
|
|
60
60
|
start_process,
|
|
61
|
+
update_awaiting_process_progress,
|
|
61
62
|
)
|
|
62
63
|
from orchestrator.services.settings import get_engine_settings
|
|
63
64
|
from orchestrator.settings import app_settings
|
|
@@ -197,6 +198,28 @@ def continue_awaiting_process_endpoint(
|
|
|
197
198
|
raise_status(HTTPStatus.NOT_FOUND, str(e))
|
|
198
199
|
|
|
199
200
|
|
|
201
|
+
@router.post(
|
|
202
|
+
"/{process_id}/callback/{token}/progress",
|
|
203
|
+
response_model=None,
|
|
204
|
+
status_code=HTTPStatus.OK,
|
|
205
|
+
dependencies=[Depends(check_global_lock, use_cache=False)],
|
|
206
|
+
)
|
|
207
|
+
def update_progress_on_awaiting_process_endpoint(
|
|
208
|
+
process_id: UUID,
|
|
209
|
+
token: str,
|
|
210
|
+
data: str | State = Body(...),
|
|
211
|
+
) -> None:
|
|
212
|
+
process = _get_process(process_id)
|
|
213
|
+
|
|
214
|
+
if process.last_status != ProcessStatus.AWAITING_CALLBACK:
|
|
215
|
+
raise_status(HTTPStatus.CONFLICT, "This process is not in an awaiting state.")
|
|
216
|
+
|
|
217
|
+
try:
|
|
218
|
+
update_awaiting_process_progress(process, token=token, data=data)
|
|
219
|
+
except AssertionError as exc:
|
|
220
|
+
raise_status(HTTPStatus.NOT_FOUND, str(exc))
|
|
221
|
+
|
|
222
|
+
|
|
200
223
|
@router.put(
|
|
201
224
|
"/resume-all", response_model=ProcessResumeAllSchema, dependencies=[Depends(check_global_lock, use_cache=False)]
|
|
202
225
|
)
|
{orchestrator_core-3.1.2rc1 → orchestrator_core-3.1.2rc3}/orchestrator/services/processes.py
RENAMED
|
@@ -43,9 +43,10 @@ from orchestrator.targets import Target
|
|
|
43
43
|
from orchestrator.types import BroadcastFunc
|
|
44
44
|
from orchestrator.utils.datetime import nowtz
|
|
45
45
|
from orchestrator.utils.errors import error_state_to_dict
|
|
46
|
-
from orchestrator.websocket import broadcast_invalidate_status_counts
|
|
46
|
+
from orchestrator.websocket import broadcast_invalidate_status_counts, broadcast_process_update_to_websocket
|
|
47
47
|
from orchestrator.workflow import (
|
|
48
48
|
CALLBACK_TOKEN_KEY,
|
|
49
|
+
DEFAULT_CALLBACK_PROGRESS_KEY,
|
|
49
50
|
Failed,
|
|
50
51
|
ProcessStat,
|
|
51
52
|
ProcessStatus,
|
|
@@ -566,6 +567,39 @@ def resume_process(
|
|
|
566
567
|
return resume_func(process, user_inputs=user_inputs, user=user, broadcast_func=broadcast_func)
|
|
567
568
|
|
|
568
569
|
|
|
570
|
+
def ensure_correct_callback_token(pstat: ProcessStat, *, token: str) -> None:
|
|
571
|
+
"""Ensure that a callback token matches the expected value in state.
|
|
572
|
+
|
|
573
|
+
Args:
|
|
574
|
+
pstat: ProcessStat of process.
|
|
575
|
+
token: The token which was generated for the process.
|
|
576
|
+
|
|
577
|
+
Raises:
|
|
578
|
+
AssertionError: if the supplied token does not match the generated process token.
|
|
579
|
+
|
|
580
|
+
"""
|
|
581
|
+
state = pstat.state.unwrap()
|
|
582
|
+
|
|
583
|
+
# Check if the token matches
|
|
584
|
+
token_from_state = state.get(CALLBACK_TOKEN_KEY)
|
|
585
|
+
if token != token_from_state:
|
|
586
|
+
raise AssertionError("Invalid token")
|
|
587
|
+
|
|
588
|
+
|
|
589
|
+
def replace_current_step_state(process: ProcessTable, *, new_state: State) -> None:
|
|
590
|
+
"""Replace the state of the current step in a process.
|
|
591
|
+
|
|
592
|
+
Args:
|
|
593
|
+
process: Process from database
|
|
594
|
+
new_state: The new state
|
|
595
|
+
|
|
596
|
+
"""
|
|
597
|
+
current_step = process.steps[-1]
|
|
598
|
+
current_step.state = new_state
|
|
599
|
+
db.session.add(current_step)
|
|
600
|
+
db.session.commit()
|
|
601
|
+
|
|
602
|
+
|
|
569
603
|
def continue_awaiting_process(
|
|
570
604
|
process: ProcessTable,
|
|
571
605
|
*,
|
|
@@ -589,10 +623,7 @@ def continue_awaiting_process(
|
|
|
589
623
|
pstat = load_process(process)
|
|
590
624
|
state = pstat.state.unwrap()
|
|
591
625
|
|
|
592
|
-
|
|
593
|
-
token_from_state = state.get(CALLBACK_TOKEN_KEY)
|
|
594
|
-
if token != token_from_state:
|
|
595
|
-
raise AssertionError("Invalid token")
|
|
626
|
+
ensure_correct_callback_token(pstat, token=token)
|
|
596
627
|
|
|
597
628
|
# We need to pass the callback data to the worker executor. Currently, this is not supported.
|
|
598
629
|
# Therefore, we update the step state in the db and kick-off resume_workflow
|
|
@@ -600,16 +631,47 @@ def continue_awaiting_process(
|
|
|
600
631
|
result_key = state.get("__callback_result_key", "callback_result")
|
|
601
632
|
state = {**state, result_key: input_data}
|
|
602
633
|
|
|
603
|
-
|
|
604
|
-
current_step.state = state
|
|
605
|
-
db.session.add(current_step)
|
|
606
|
-
db.session.commit()
|
|
634
|
+
replace_current_step_state(process, new_state=state)
|
|
607
635
|
|
|
608
636
|
# Continue the workflow
|
|
609
637
|
resume_func = get_execution_context()["resume"]
|
|
610
638
|
return resume_func(process, broadcast_func=broadcast_func)
|
|
611
639
|
|
|
612
640
|
|
|
641
|
+
def update_awaiting_process_progress(
|
|
642
|
+
process: ProcessTable,
|
|
643
|
+
*,
|
|
644
|
+
token: str,
|
|
645
|
+
data: str | State,
|
|
646
|
+
) -> UUID:
|
|
647
|
+
"""Update progress for a process awaiting data from a callback.
|
|
648
|
+
|
|
649
|
+
Args:
|
|
650
|
+
process: Process from database
|
|
651
|
+
token: The token which was generated for the process. This must match.
|
|
652
|
+
data: Progress data posted to the callback
|
|
653
|
+
|
|
654
|
+
Returns:
|
|
655
|
+
process id
|
|
656
|
+
|
|
657
|
+
Raises:
|
|
658
|
+
AssertionError: if the supplied token does not match the generated process token.
|
|
659
|
+
|
|
660
|
+
"""
|
|
661
|
+
pstat = load_process(process)
|
|
662
|
+
|
|
663
|
+
ensure_correct_callback_token(pstat, token=token)
|
|
664
|
+
|
|
665
|
+
state = pstat.state.unwrap()
|
|
666
|
+
progress_key = state.get(DEFAULT_CALLBACK_PROGRESS_KEY, "callback_progress")
|
|
667
|
+
state = {**state, progress_key: data} | {"__remove_keys": [progress_key]}
|
|
668
|
+
|
|
669
|
+
replace_current_step_state(process, new_state=state)
|
|
670
|
+
broadcast_process_update_to_websocket(process.process_id)
|
|
671
|
+
|
|
672
|
+
return process.process_id
|
|
673
|
+
|
|
674
|
+
|
|
613
675
|
async def _async_resume_processes(
|
|
614
676
|
processes: Sequence[ProcessTable],
|
|
615
677
|
user_name: str,
|
|
@@ -69,6 +69,7 @@ step_log_fn_var: contextvars.ContextVar[StepLogFuncInternal] = contextvars.Conte
|
|
|
69
69
|
|
|
70
70
|
DEFAULT_CALLBACK_ROUTE_KEY = "callback_route"
|
|
71
71
|
CALLBACK_TOKEN_KEY = "__callback_token" # noqa: S105
|
|
72
|
+
DEFAULT_CALLBACK_PROGRESS_KEY = "callback_progress" # noqa: S105
|
|
72
73
|
|
|
73
74
|
|
|
74
75
|
@runtime_checkable
|
|
@@ -6,9 +6,9 @@ requires = ["flit_core >=3.2,<4"]
|
|
|
6
6
|
[project]
|
|
7
7
|
name = "orchestrator-core"
|
|
8
8
|
dynamic = ['version', 'description']
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
author = "SURF"
|
|
10
|
+
author-email = "automation-beheer@surf.nl"
|
|
11
|
+
home-page = "https://github.com/workfloworchestrator/orchestrator-core"
|
|
12
12
|
classifiers = [
|
|
13
13
|
"Intended Audience :: Information Technology",
|
|
14
14
|
"Intended Audience :: System Administrators",
|
|
@@ -27,6 +27,7 @@ classifiers = [
|
|
|
27
27
|
"Framework :: FastAPI",
|
|
28
28
|
"Intended Audience :: Developers",
|
|
29
29
|
"Intended Audience :: Telecommunications Industry",
|
|
30
|
+
"License :: OSI Approved :: Apache Software License",
|
|
30
31
|
"Programming Language :: Python :: 3 :: Only",
|
|
31
32
|
"Programming Language :: Python :: 3.13",
|
|
32
33
|
"Programming Language :: Python :: 3.12",
|
|
@@ -47,7 +48,7 @@ dependencies = [
|
|
|
47
48
|
"Jinja2==3.1.6",
|
|
48
49
|
"orjson==3.10.15",
|
|
49
50
|
"psycopg[binary]==3.2.6",
|
|
50
|
-
"pydantic[email]~=2.
|
|
51
|
+
"pydantic[email]~=2.8.2",
|
|
51
52
|
"pydantic-settings~=2.8.0",
|
|
52
53
|
"python-dateutil==2.8.2",
|
|
53
54
|
"python-rapidjson>=1.18,<1.21",
|
|
@@ -67,15 +68,12 @@ dependencies = [
|
|
|
67
68
|
"pydantic-forms~=1.4.0",
|
|
68
69
|
]
|
|
69
70
|
|
|
70
|
-
|
|
71
|
+
description-file = "README.md"
|
|
71
72
|
requires-python = ">=3.11,<3.14"
|
|
72
|
-
license = "Apache-2.0"
|
|
73
|
-
license-files = [ "LICENSE" ]
|
|
74
73
|
|
|
75
74
|
[project.urls]
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
releasenotes = "https://github.com/workfloworchestrator/orchestrator-core/releases"
|
|
75
|
+
Documentation = "https://workfloworchestrator.org/orchestrator-core/"
|
|
76
|
+
Source = "https://github.com/workfloworchestrator/orchestrator-core"
|
|
79
77
|
|
|
80
78
|
[project.optional-dependencies]
|
|
81
79
|
celery = [
|
|
@@ -59,7 +59,11 @@ def test_display_only_schema():
|
|
|
59
59
|
"type": "string",
|
|
60
60
|
},
|
|
61
61
|
"summary": {
|
|
62
|
-
"
|
|
62
|
+
"allOf": [
|
|
63
|
+
{
|
|
64
|
+
"$ref": "#/$defs/MigrationSummaryValue",
|
|
65
|
+
},
|
|
66
|
+
],
|
|
63
67
|
"format": "summary",
|
|
64
68
|
"default": None,
|
|
65
69
|
"type": "string",
|
|
@@ -1335,7 +1335,7 @@ def test_single_subscription_schema(
|
|
|
1335
1335
|
"customer_id": {"title": "Customer Id", "type": "string"},
|
|
1336
1336
|
"subscription_id": {"format": "uuid", "title": "Subscription Id", "type": "string"},
|
|
1337
1337
|
"description": {"default": "Initial subscription", "title": "Description", "type": "string"},
|
|
1338
|
-
"status": {"$ref": "#/$defs/SubscriptionLifecycle", "default": "initial"},
|
|
1338
|
+
"status": {"allOf": [{"$ref": "#/$defs/SubscriptionLifecycle"}], "default": "initial"},
|
|
1339
1339
|
"insync": {"default": False, "title": "Insync", "type": "boolean"},
|
|
1340
1340
|
"start_date": {
|
|
1341
1341
|
"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}],
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from orchestrator.targets import Target
|
|
2
2
|
from orchestrator.workflow import (
|
|
3
|
+
DEFAULT_CALLBACK_PROGRESS_KEY,
|
|
3
4
|
DEFAULT_CALLBACK_ROUTE_KEY,
|
|
4
5
|
AwaitingCallback,
|
|
5
6
|
begin,
|
|
@@ -165,3 +166,118 @@ def test_wf_with_multiple_callback_steps(test_client):
|
|
|
165
166
|
assert state["ext_data"] == "56789"
|
|
166
167
|
|
|
167
168
|
assert state["phase"] is None
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
def test_wf_callback_progress_on_completed_process(test_client):
|
|
172
|
+
# given
|
|
173
|
+
@workflow("Test wf", target=Target.CREATE)
|
|
174
|
+
def test_wf():
|
|
175
|
+
return begin >> step1 >> done
|
|
176
|
+
|
|
177
|
+
with WorkflowInstanceForTests(test_wf, "test_wf"):
|
|
178
|
+
response = test_client.post("/api/processes/test_wf", json=[{}])
|
|
179
|
+
assert response.status_code == 201
|
|
180
|
+
process_id = response.json()["id"]
|
|
181
|
+
|
|
182
|
+
response = test_client.get(f"api/processes/{process_id}")
|
|
183
|
+
response_data = response.json()
|
|
184
|
+
assert response_data["last_status"] == "completed"
|
|
185
|
+
|
|
186
|
+
# when
|
|
187
|
+
response = test_client.post(f"api/processes/{process_id}/callback/token123/progress", json={})
|
|
188
|
+
response_data = response.json()
|
|
189
|
+
|
|
190
|
+
# then
|
|
191
|
+
assert response.status_code == 409
|
|
192
|
+
assert response_data["detail"] == "This process is not in an awaiting state."
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
def test_wf_callback_progress_with_incorrect_token(test_client):
|
|
196
|
+
# given
|
|
197
|
+
@workflow("Test wf", target=Target.CREATE)
|
|
198
|
+
def test_wf():
|
|
199
|
+
return begin >> cb1 >> done
|
|
200
|
+
|
|
201
|
+
with WorkflowInstanceForTests(test_wf, "test_wf"):
|
|
202
|
+
response = test_client.post("/api/processes/test_wf", json=[{}])
|
|
203
|
+
assert response.status_code == 201
|
|
204
|
+
process_id = response.json()["id"]
|
|
205
|
+
|
|
206
|
+
response = test_client.get(f"api/processes/{process_id}")
|
|
207
|
+
response_data = response.json()
|
|
208
|
+
assert response_data["last_status"] == "awaiting_callback"
|
|
209
|
+
|
|
210
|
+
# when
|
|
211
|
+
response = test_client.post(f"api/processes/{process_id}/callback/incorrectoken/progress", json={})
|
|
212
|
+
response_data = response.json()
|
|
213
|
+
|
|
214
|
+
# then
|
|
215
|
+
assert response.status_code == 404
|
|
216
|
+
assert response_data["detail"] == "Invalid token"
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
def test_wf_callback_progress_with_multiple_callback_steps(test_client):
|
|
220
|
+
with WorkflowInstanceForTests(multiple_callback_wf, "multiple_callback_wf"):
|
|
221
|
+
# Start workflow
|
|
222
|
+
response = test_client.post("/api/processes/multiple_callback_wf", json=[{}])
|
|
223
|
+
assert response.status_code == 201
|
|
224
|
+
process_id = response.json()["id"]
|
|
225
|
+
|
|
226
|
+
# Check process status
|
|
227
|
+
response = test_client.get(f"api/processes/{process_id}")
|
|
228
|
+
response_data = response.json()
|
|
229
|
+
assert response_data["last_status"] == "awaiting_callback"
|
|
230
|
+
state = response_data["current_state"]
|
|
231
|
+
|
|
232
|
+
# Update progress 1 using dict
|
|
233
|
+
callback_route1 = state["callback_route"]
|
|
234
|
+
response = test_client.post(f"{callback_route1}/progress", json={"update": "123"})
|
|
235
|
+
assert response.status_code == 200
|
|
236
|
+
response_data = response.json()
|
|
237
|
+
|
|
238
|
+
# Check process status
|
|
239
|
+
response = test_client.get(f"api/processes/{process_id}")
|
|
240
|
+
response_data = response.json()
|
|
241
|
+
state = response_data["current_state"]
|
|
242
|
+
assert state[DEFAULT_CALLBACK_PROGRESS_KEY] == {"update": "123"}
|
|
243
|
+
|
|
244
|
+
# Continue workflow 1
|
|
245
|
+
callback_route1 = state["callback_route"]
|
|
246
|
+
response = test_client.post(callback_route1, json={"ext_data": "12345"})
|
|
247
|
+
assert response.status_code == 200
|
|
248
|
+
|
|
249
|
+
# Check process status
|
|
250
|
+
response = test_client.get(f"api/processes/{process_id}")
|
|
251
|
+
response_data = response.json()
|
|
252
|
+
assert response_data["last_status"] == "awaiting_callback"
|
|
253
|
+
state = response_data["current_state"]
|
|
254
|
+
assert state["dr_ext_data"] == "12345"
|
|
255
|
+
assert DEFAULT_CALLBACK_PROGRESS_KEY not in state
|
|
256
|
+
|
|
257
|
+
# Update progress 2 using string
|
|
258
|
+
callback_route2 = state["callback_route"]
|
|
259
|
+
response = test_client.post(
|
|
260
|
+
f"{callback_route2}/progress", data="update 567", headers={"Content-Type": "text/plain; charset=utf-8"}
|
|
261
|
+
)
|
|
262
|
+
assert response.status_code == 200
|
|
263
|
+
response_data = response.json()
|
|
264
|
+
|
|
265
|
+
# Check process status
|
|
266
|
+
response = test_client.get(f"api/processes/{process_id}")
|
|
267
|
+
response_data = response.json()
|
|
268
|
+
state = response_data["current_state"]
|
|
269
|
+
assert state[DEFAULT_CALLBACK_PROGRESS_KEY] == "update 567"
|
|
270
|
+
|
|
271
|
+
# Continue workflow 2
|
|
272
|
+
response = test_client.post(callback_route2, json={"ext_data": "56789"})
|
|
273
|
+
assert response.status_code == 200
|
|
274
|
+
|
|
275
|
+
# Final check
|
|
276
|
+
response = test_client.get(f"api/processes/{process_id}")
|
|
277
|
+
response_data = response.json()
|
|
278
|
+
|
|
279
|
+
assert response_data["last_status"] == "completed"
|
|
280
|
+
|
|
281
|
+
state = response_data["current_state"]
|
|
282
|
+
assert state["ext_data"] == "56789"
|
|
283
|
+
assert DEFAULT_CALLBACK_PROGRESS_KEY not in state
|