orchestrator-core 2.10.0rc2__tar.gz → 3.0.0__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.
Files changed (648) hide show
  1. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/.bumpversion.cfg +1 -1
  2. orchestrator_core-3.0.0/.github/workflows/run-codspeed-tests.yml +71 -0
  3. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/PKG-INFO +10 -8
  4. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/README.md +7 -0
  5. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/contributing/guidelines.md +14 -0
  6. orchestrator_core-3.0.0/docs/migration-guide/3.0.md +18 -0
  7. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/mkdocs.yml +3 -1
  8. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/__init__.py +1 -1
  9. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/api/api_v1/endpoints/processes.py +1 -1
  10. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/api/api_v1/endpoints/settings.py +2 -1
  11. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/templates/create_product.j2 +2 -1
  12. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/templates/modify_product.j2 +2 -1
  13. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/templates/shared_workflows.j2 +2 -1
  14. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/templates/terminate_product.j2 +1 -1
  15. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/templates/test_create_workflow.j2 +0 -1
  16. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/templates/test_modify_workflow.j2 +1 -2
  17. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/templates/validate_product.j2 +3 -1
  18. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/helpers/print_helpers.py +1 -1
  19. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/config/assignee.py +1 -1
  20. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/db/models.py +17 -0
  21. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/devtools/populator.py +1 -1
  22. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/devtools/scripts/migrate_20.py +11 -106
  23. orchestrator_core-3.0.0/orchestrator/devtools/scripts/migrate_30.py +61 -0
  24. orchestrator_core-3.0.0/orchestrator/devtools/scripts/shared.py +108 -0
  25. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/distlock/managers/redis_distlock_manager.py +3 -2
  26. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/domain/base.py +1 -2
  27. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/domain/lifecycle.py +2 -1
  28. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/resolvers/settings.py +2 -1
  29. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/schemas/product.py +19 -2
  30. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/migrations/helpers.py +1 -1
  31. orchestrator_core-3.0.0/orchestrator/migrations/versions/schema/2025-02-12_bac6be6f2b4f_added_input_state_table.py +56 -0
  32. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/schemas/engine_settings.py +1 -1
  33. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/schemas/subscription.py +2 -1
  34. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/services/celery.py +7 -4
  35. orchestrator_core-3.0.0/orchestrator/services/input_state.py +76 -0
  36. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/services/processes.py +8 -6
  37. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/services/products.py +1 -1
  38. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/services/subscriptions.py +2 -1
  39. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/services/tasks.py +13 -7
  40. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/services/workflows.py +13 -0
  41. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/settings.py +5 -2
  42. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/targets.py +1 -1
  43. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/types.py +8 -43
  44. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/utils/errors.py +2 -1
  45. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/utils/redis.py +6 -11
  46. orchestrator_core-3.0.0/orchestrator/utils/redis_client.py +35 -0
  47. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/utils/state.py +2 -1
  48. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/workflow.py +3 -1
  49. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/workflows/modify_note.py +1 -2
  50. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/workflows/steps.py +2 -1
  51. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/workflows/tasks/cleanup_tasks_log.py +1 -1
  52. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/workflows/tasks/resume_workflows.py +1 -1
  53. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/workflows/tasks/validate_product_type.py +1 -1
  54. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/workflows/tasks/validate_products.py +1 -1
  55. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/workflows/utils.py +2 -2
  56. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/pyproject.toml +7 -6
  57. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/setup.cfg +0 -12
  58. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/acceptance_tests/fixtures/test_orchestrator/devtools/populator/test_product_populator.py +1 -1
  59. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/acceptance_tests/fixtures/test_orchestrator/workflows/create_test_product.py +2 -2
  60. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/api/test_processes_ws.py +1 -1
  61. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/api/test_subscriptions.py +2 -2
  62. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/workflows/example1/create_example1.py +2 -1
  63. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/workflows/example1/modify_example1.py +2 -1
  64. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/workflows/example1/terminate_example1.py +1 -1
  65. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/workflows/example1/validate_example1.py +1 -1
  66. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/workflows/example2/create_example2.py +2 -1
  67. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/workflows/example2/modify_example2.py +2 -1
  68. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/workflows/example2/terminate_example2.py +1 -1
  69. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/workflows/example4/create_example4.py +2 -1
  70. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/workflows/example4/modify_example4.py +2 -1
  71. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/workflows/example4/terminate_example4.py +1 -1
  72. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/conftest.py +114 -2
  73. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/domain/test_base.py +4 -4
  74. orchestrator_core-3.0.0/test/unit_tests/domain/test_base_performance.py +125 -0
  75. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/fixtures/products/product_blocks/product_block_one_nested.py +12 -1
  76. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/graphql/test_product.py +44 -0
  77. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/graphql/test_settings.py +2 -3
  78. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/graphql/test_subscriptions.py +28 -0
  79. orchestrator_core-3.0.0/test/unit_tests/services/test_input_state.py +63 -0
  80. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/services/test_processes.py +12 -1
  81. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/test_workflow.py +1 -2
  82. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/utils/test_state.py +2 -1
  83. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/workflows/__init__.py +6 -3
  84. orchestrator_core-3.0.0/test/unit_tests/workflows/test_generic_workflow_steps.py +103 -0
  85. orchestrator_core-2.10.0rc2/mutmut_config.py +0 -35
  86. orchestrator_core-2.10.0rc2/test/unit_tests/workflows/test_generic_workflow_steps.py +0 -52
  87. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/.coveragerc +0 -0
  88. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
  89. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
  90. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/.github/dependabot.yml +0 -0
  91. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/.github/workflows/README.md +0 -0
  92. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/.github/workflows/build-push-container.yml +0 -0
  93. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/.github/workflows/changelog.yml +0 -0
  94. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/.github/workflows/codeql-analysis.yml +0 -0
  95. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/.github/workflows/gh-pages.yml +0 -0
  96. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/.github/workflows/issues.yml +0 -0
  97. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/.github/workflows/publish-package.yml +0 -0
  98. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/.github/workflows/run-linting-tests.yml +0 -0
  99. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/.github/workflows/run-unit-tests.yml +0 -0
  100. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/.github/workflows/scheduled-build.yml +0 -0
  101. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/.gitignore +0 -0
  102. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/.pre-commit-config.yaml +0 -0
  103. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/.stignore +0 -0
  104. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/CHANGELOG.md +0 -0
  105. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/Dockerfile +0 -0
  106. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/LICENSE +0 -0
  107. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/NOTICE +0 -0
  108. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/codecov.yml +0 -0
  109. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/architecture/application/domainmodels.md +0 -0
  110. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/architecture/application/forms-frontend.md +0 -0
  111. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/architecture/application/tasks.md +0 -0
  112. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/architecture/application/workflow.md +0 -0
  113. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/architecture/framework.md +0 -0
  114. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/architecture/img/base-orchestrator-setup.png +0 -0
  115. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/architecture/img/custom-orchestrator-setup.png +0 -0
  116. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/architecture/orchestration/img/Custom-orchestrator-ui-using-override.png +0 -0
  117. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/architecture/orchestration/img/Standard-orchestrator-ui.png +0 -0
  118. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/architecture/orchestration/orchestrator-ui.md +0 -0
  119. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/architecture/orchestration/philosophy.md +0 -0
  120. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/architecture/product_modelling/backfilling.md +0 -0
  121. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/architecture/product_modelling/context.md +0 -0
  122. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/architecture/product_modelling/imports.md +0 -0
  123. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/architecture/product_modelling/introduction.md +0 -0
  124. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/architecture/product_modelling/ip_static.md +0 -0
  125. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/architecture/product_modelling/ip_static.png +0 -0
  126. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/architecture/product_modelling/l2_point_to_point.md +0 -0
  127. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/architecture/product_modelling/l2_point_to_point.png +0 -0
  128. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/architecture/product_modelling/l2_vpn.md +0 -0
  129. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/architecture/product_modelling/l2_vpn.png +0 -0
  130. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/architecture/product_modelling/modelling.md +0 -0
  131. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/architecture/product_modelling/node.md +0 -0
  132. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/architecture/product_modelling/node.png +0 -0
  133. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/architecture/product_modelling/port.md +0 -0
  134. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/architecture/product_modelling/port.png +0 -0
  135. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/architecture/product_modelling/product_block_graph.md +0 -0
  136. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/architecture/product_modelling/product_block_graph.png +0 -0
  137. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/architecture/product_modelling/standards.md +0 -0
  138. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/architecture/product_modelling/terminology.md +0 -0
  139. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/architecture/tldr.md +0 -0
  140. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/contributing/development.md +0 -0
  141. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/contributing/testing.md +0 -0
  142. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/css/custom.css +0 -0
  143. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/css/style.css +0 -0
  144. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/css/termynal.css +0 -0
  145. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/getting-started/base.md +0 -0
  146. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/getting-started/docker.md +0 -0
  147. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/getting-started/orchestration-ui.md +0 -0
  148. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/getting-started/prepare-source-folder.md +0 -0
  149. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/getting-started/versions.md +0 -0
  150. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/img/WFO-Emblem-White.png +0 -0
  151. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/img/favicon.ico +0 -0
  152. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/index.md +0 -0
  153. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/js/custom.js +0 -0
  154. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/js/termynal.js +0 -0
  155. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/migration-guide/2.0.md +0 -0
  156. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/reference-docs/api.md +0 -0
  157. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/reference-docs/app/app.md +0 -0
  158. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/reference-docs/app/scaling.md +0 -0
  159. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/reference-docs/auth-backend-and-frontend.md +0 -0
  160. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/reference-docs/cli.md +0 -0
  161. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/reference-docs/database.md +0 -0
  162. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/reference-docs/domain_models/generator.md +0 -0
  163. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/reference-docs/domain_models/instantiating.md +0 -0
  164. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/reference-docs/domain_models/model_attributes.md +0 -0
  165. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/reference-docs/domain_models/overview.md +0 -0
  166. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/reference-docs/domain_models/product_blocks.md +0 -0
  167. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/reference-docs/domain_models/product_types.md +0 -0
  168. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/reference-docs/domain_models/properties.md +0 -0
  169. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/reference-docs/domain_models/pydantic_hooks.md +0 -0
  170. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/reference-docs/domain_models/type_casting.md +0 -0
  171. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/reference-docs/domain_models/union_types.md +0 -0
  172. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/reference-docs/domain_models/validation.md +0 -0
  173. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/reference-docs/forms.md +0 -0
  174. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/reference-docs/graphql.md +0 -0
  175. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/reference-docs/python.md +0 -0
  176. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/reference-docs/search.md +0 -0
  177. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/reference-docs/search_overview.png +0 -0
  178. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/reference-docs/serialization.md +0 -0
  179. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/reference-docs/tasks.md +0 -0
  180. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/reference-docs/tests.md +0 -0
  181. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/reference-docs/tldr.md +0 -0
  182. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/reference-docs/websockets.md +0 -0
  183. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/reference-docs/workflows/callbacks.md +0 -0
  184. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/reference-docs/workflows/workflow-lifecycles.md +0 -0
  185. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/reference-docs/workflows/workflow-steps.md +0 -0
  186. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/workshops/advanced/bootstrap.md +0 -0
  187. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/workshops/advanced/create-your-own.md +0 -0
  188. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/workshops/advanced/docker-installation.md +0 -0
  189. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/workshops/advanced/domain-models.md +0 -0
  190. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/workshops/advanced/execute-workflows.md +0 -0
  191. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/workshops/advanced/generator.md +0 -0
  192. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/workshops/advanced/l2_point_to_point.png +0 -0
  193. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/workshops/advanced/node-create.md +0 -0
  194. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/workshops/advanced/node-modify.md +0 -0
  195. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/workshops/advanced/node-terminate.md +0 -0
  196. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/workshops/advanced/node-validate.md +0 -0
  197. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/workshops/advanced/overview.md +0 -0
  198. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/workshops/advanced/scenario.md +0 -0
  199. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/workshops/advanced/workflow-basics.md +0 -0
  200. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/workshops/advanced/workflow-introduction.md +0 -0
  201. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/workshops/beginner/create-user-group.md +0 -0
  202. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/workshops/beginner/create-user.md +0 -0
  203. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/workshops/beginner/database-migration.md +0 -0
  204. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/workshops/beginner/debian.md +0 -0
  205. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/workshops/beginner/docker.md +0 -0
  206. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/workshops/beginner/domain-models.md +0 -0
  207. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/workshops/beginner/explore.md +0 -0
  208. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/workshops/beginner/input-forms.md +0 -0
  209. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/workshops/beginner/macos.md +0 -0
  210. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/workshops/beginner/modify-user-group.md +0 -0
  211. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/workshops/beginner/modify-user.md +0 -0
  212. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/workshops/beginner/register-workflows.md +0 -0
  213. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/workshops/beginner/start-applications.md +0 -0
  214. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/workshops/beginner/terminate-user-group.md +0 -0
  215. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/workshops/beginner/terminate-user.md +0 -0
  216. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/workshops/beginner/workflow-introduction.md +0 -0
  217. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/workshops/beginner/workshop-overview.md +0 -0
  218. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/workshops/images/Software-topology.drawio.png +0 -0
  219. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/workshops/images/clab_topology.png +0 -0
  220. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/workshops/images/metadata_products.png +0 -0
  221. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/workshops/images/netbox_devices_active.png +0 -0
  222. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/workshops/images/subscriptions.png +0 -0
  223. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/docs/workshops/images/topology.drawio.png +0 -0
  224. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/includes/abbreviations.md +0 -0
  225. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/nitpick-style.toml +0 -0
  226. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/api/__init__.py +0 -0
  227. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/api/api_v1/__init__.py +0 -0
  228. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/api/api_v1/api.py +0 -0
  229. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/api/api_v1/endpoints/__init__.py +0 -0
  230. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/api/api_v1/endpoints/health.py +0 -0
  231. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/api/api_v1/endpoints/product_blocks.py +0 -0
  232. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/api/api_v1/endpoints/products.py +0 -0
  233. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/api/api_v1/endpoints/resource_types.py +0 -0
  234. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/api/api_v1/endpoints/subscription_customer_descriptions.py +0 -0
  235. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/api/api_v1/endpoints/subscriptions.py +0 -0
  236. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/api/api_v1/endpoints/translations.py +0 -0
  237. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/api/api_v1/endpoints/user.py +0 -0
  238. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/api/api_v1/endpoints/workflows.py +0 -0
  239. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/api/api_v1/endpoints/ws.py +0 -0
  240. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/api/error_handling.py +0 -0
  241. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/api/helpers.py +0 -0
  242. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/api/models.py +0 -0
  243. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/app.py +0 -0
  244. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/__init__.py +0 -0
  245. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/database.py +0 -0
  246. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/domain_gen_helpers/__init__.py +0 -0
  247. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/domain_gen_helpers/fixed_input_helpers.py +0 -0
  248. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/domain_gen_helpers/helpers.py +0 -0
  249. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/domain_gen_helpers/product_block_helpers.py +0 -0
  250. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/domain_gen_helpers/product_helpers.py +0 -0
  251. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/domain_gen_helpers/resource_type_helpers.py +0 -0
  252. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/domain_gen_helpers/types.py +0 -0
  253. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generate.py +0 -0
  254. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/__init__.py +0 -0
  255. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/custom_templates/README +0 -0
  256. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/custom_templates/additional_create_imports.j2 +0 -0
  257. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/custom_templates/additional_create_input_fields.j2 +0 -0
  258. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/custom_templates/additional_create_steps.j2 +0 -0
  259. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/custom_templates/additional_modify_imports.j2 +0 -0
  260. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/custom_templates/additional_modify_input_fields.j2 +0 -0
  261. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/custom_templates/additional_modify_steps.j2 +0 -0
  262. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/custom_templates/additional_terminate_imports.j2 +0 -0
  263. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/custom_templates/additional_terminate_input_fields.j2 +0 -0
  264. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/custom_templates/additional_terminate_steps.j2 +0 -0
  265. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/generator/__init__.py +0 -0
  266. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/generator/enums.py +0 -0
  267. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/generator/helpers.py +0 -0
  268. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/generator/migration.py +0 -0
  269. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/generator/product.py +0 -0
  270. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/generator/product_block.py +0 -0
  271. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/generator/settings.py +0 -0
  272. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/generator/translations.py +0 -0
  273. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/generator/unittest.py +0 -0
  274. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/generator/validations.py +0 -0
  275. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/generator/workflow.py +0 -0
  276. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/products/workshop/circuit.yaml +0 -0
  277. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/products/workshop/node.yaml +0 -0
  278. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/products/workshop/user.yaml +0 -0
  279. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/products/workshop/user_group.yaml +0 -0
  280. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/templates/additional_create_imports.j2 +0 -0
  281. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/templates/additional_create_steps.j2 +0 -0
  282. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/templates/additional_modify_imports.j2 +0 -0
  283. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/templates/additional_modify_steps.j2 +0 -0
  284. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/templates/additional_terminate_steps.j2 +0 -0
  285. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/templates/constrained_int_definitions.j2 +0 -0
  286. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/templates/create_data_head.j2 +0 -0
  287. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/templates/enums.j2 +0 -0
  288. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/templates/lazy_workflow_instance.j2 +0 -0
  289. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/templates/list_definitions.j2 +0 -0
  290. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/templates/macros.j2 +0 -0
  291. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/templates/new_product_migration.j2 +0 -0
  292. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/templates/product.j2 +0 -0
  293. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/templates/product_block.j2 +0 -0
  294. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/templates/shared_forms.j2 +0 -0
  295. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/templates/subscription_model_registry.j2 +0 -0
  296. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/templates/test_product_type.j2 +0 -0
  297. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/templates/test_terminate_workflow.j2 +1 -1
  298. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/generator/templates/test_validate_workflow.j2 +0 -0
  299. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/helpers/__init__.py +0 -0
  300. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/helpers/input_helpers.py +0 -0
  301. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/main.py +0 -0
  302. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/migrate_domain_models.py +0 -0
  303. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/migrate_tasks.py +0 -0
  304. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/migrate_workflows.py +0 -0
  305. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/migration_helpers.py +0 -0
  306. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/cli/scheduler.py +0 -0
  307. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/config/__init__.py +0 -0
  308. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/db/__init__.py +0 -0
  309. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/db/database.py +0 -0
  310. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/db/filters/__init__.py +0 -0
  311. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/db/filters/filters.py +0 -0
  312. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/db/filters/process.py +0 -0
  313. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/db/filters/product.py +0 -0
  314. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/db/filters/product_block.py +0 -0
  315. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/db/filters/resource_type.py +0 -0
  316. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/db/filters/search_filters/__init__.py +0 -0
  317. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/db/filters/search_filters/inferred_filter.py +0 -0
  318. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/db/filters/subscription.py +0 -0
  319. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/db/filters/workflow.py +0 -0
  320. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/db/helpers.py +0 -0
  321. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/db/listeners.py +0 -0
  322. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/db/loaders.py +0 -0
  323. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/db/range/__init__.py +0 -0
  324. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/db/range/range.py +0 -0
  325. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/db/sorting/__init__.py +0 -0
  326. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/db/sorting/process.py +0 -0
  327. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/db/sorting/product.py +0 -0
  328. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/db/sorting/product_block.py +0 -0
  329. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/db/sorting/resource_type.py +0 -0
  330. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/db/sorting/sorting.py +0 -0
  331. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/db/sorting/subscription.py +0 -0
  332. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/db/sorting/workflow.py +0 -0
  333. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/devtools/__init__.py +0 -0
  334. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/devtools/scripts/__init__.py +0 -0
  335. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/distlock/__init__.py +0 -0
  336. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/distlock/distlock_manager.py +0 -0
  337. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/distlock/managers/__init__.py +0 -0
  338. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/distlock/managers/memory_distlock_manager.py +0 -0
  339. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/domain/__init__.py +0 -0
  340. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/domain/customer_description.py +0 -0
  341. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/domain/helpers.py +0 -0
  342. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/exception_handlers.py +0 -0
  343. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/forms/__init__.py +0 -0
  344. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/forms/validators/__init__.py +0 -0
  345. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/forms/validators/customer_contact_list.py +0 -0
  346. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/forms/validators/customer_id.py +0 -0
  347. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/forms/validators/display_subscription.py +0 -0
  348. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/forms/validators/network_type_validators.py +0 -0
  349. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/forms/validators/product_id.py +0 -0
  350. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/__init__.py +0 -0
  351. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/autoregistration.py +0 -0
  352. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/extensions/__init__.py +0 -0
  353. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/extensions/stats.py +0 -0
  354. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/loaders/__init__.py +0 -0
  355. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/loaders/subscriptions.py +0 -0
  356. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/mutations/customer_description.py +0 -0
  357. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/mutations/start_process.py +0 -0
  358. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/pagination.py +0 -0
  359. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/resolvers/__init__.py +0 -0
  360. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/resolvers/customer.py +0 -0
  361. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/resolvers/helpers.py +0 -0
  362. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/resolvers/process.py +0 -0
  363. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/resolvers/product.py +0 -0
  364. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/resolvers/product_block.py +0 -0
  365. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/resolvers/resource_type.py +0 -0
  366. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/resolvers/subscription.py +0 -0
  367. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/resolvers/version.py +0 -0
  368. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/resolvers/workflow.py +0 -0
  369. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/schema.py +0 -0
  370. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/schemas/__init__.py +0 -0
  371. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/schemas/customer.py +0 -0
  372. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/schemas/customer_description.py +0 -0
  373. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/schemas/errors.py +0 -0
  374. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/schemas/fixed_input.py +0 -0
  375. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/schemas/helpers.py +0 -0
  376. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/schemas/process.py +0 -0
  377. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/schemas/product_block.py +0 -0
  378. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/schemas/resource_type.py +0 -0
  379. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/schemas/settings.py +0 -0
  380. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/schemas/strawberry_pydantic_patch.py +0 -0
  381. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/schemas/subscription.py +0 -0
  382. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/schemas/version.py +0 -0
  383. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/schemas/workflow.py +0 -0
  384. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/types.py +0 -0
  385. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/utils/__init__.py +0 -0
  386. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/utils/create_resolver_error_handler.py +0 -0
  387. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/utils/get_query_loaders.py +0 -0
  388. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/utils/get_selected_fields.py +0 -0
  389. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/utils/get_selected_paths.py +0 -0
  390. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/utils/get_subscription_product_blocks.py +0 -0
  391. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/utils/is_query_detailed.py +0 -0
  392. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/utils/override_class.py +0 -0
  393. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/graphql/utils/to_graphql_result_page.py +0 -0
  394. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/log_config.py +0 -0
  395. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/migrations/README +0 -0
  396. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/migrations/alembic.ini +0 -0
  397. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/migrations/env.py +0 -0
  398. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/migrations/script.py.mako +0 -0
  399. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/migrations/templates/alembic.ini.j2 +0 -0
  400. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/migrations/templates/env.py.j2 +0 -0
  401. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/migrations/templates/helpers.py.j2 +0 -0
  402. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/migrations/versions/schema/2020-10-19_3323bcb934e7_fix_tsv_triggers.py +0 -0
  403. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/migrations/versions/schema/2020-10-19_a76b9185b334_add_generic_workflows_to_core.py +0 -0
  404. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/migrations/versions/schema/2020-10-19_c112305b07d3_initial_schema_migration.py +0 -0
  405. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/migrations/versions/schema/2021-04-06_3c8b9185c221_add_validate_products_task.py +0 -0
  406. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/migrations/versions/schema/2021-07-01_6896a54e9483_add_product_block_relations.py +0 -0
  407. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/migrations/versions/schema/2021-11-17_19cdd3ab86f6_fix_parse_websearch.py +0 -0
  408. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/migrations/versions/schema/2022-02-16_bed6bc0b197a_rename_parent_and_child_block_relations.py +0 -0
  409. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/migrations/versions/schema/2023-03-06_e05bb1967eff_add_subscriptions_search_view.py +0 -0
  410. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/migrations/versions/schema/2023-05-25_b1970225392d_add_subscription_metadata_workflow.py +0 -0
  411. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/migrations/versions/schema/2023-06-28_a09ac125ea73_add_throttling_to_refresh_subscriptions.py +0 -0
  412. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/migrations/versions/schema/2023-06-28_a09ac125ea73_add_throttling_to_refresh_subscriptions.sql +0 -0
  413. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/migrations/versions/schema/2023-07-17_165303a20fb1_customer_id_to_varchar.py +0 -0
  414. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/migrations/versions/schema/2023-07-17_165303a20fb1_customer_id_to_varchar.sql +0 -0
  415. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/migrations/versions/schema/2023-09-25_da5c9f4cce1c_add_subscription_metadata_to_fulltext_.py +0 -0
  416. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/migrations/versions/schema/2023-09-25_da5c9f4cce1c_add_subscription_metadata_to_fulltext_.sql +0 -0
  417. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/migrations/versions/schema/2023-12-06_048219045729_add_workflow_id_to_processes_table.py +0 -0
  418. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/migrations/versions/schema/2024-09-27_460ec6748e37_add_uuid_search_workaround.py +0 -0
  419. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/migrations/versions/schema/2024-09-27_460ec6748e37_add_uuid_search_workaround.sql +0 -0
  420. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/migrations/versions/schema/2025-01-08_4c5859620539_add_version_column_to_subscription.py +0 -0
  421. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/migrations/versions/schema/2025-10-19_4fjdn13f83ga_add_validate_product_type_task.py +0 -0
  422. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/py.typed +0 -0
  423. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/schedules/__init__.py +0 -0
  424. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/schedules/resume_workflows.py +0 -0
  425. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/schedules/scheduling.py +0 -0
  426. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/schedules/task_vacuum.py +0 -0
  427. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/schedules/validate_products.py +0 -0
  428. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/schedules/validate_subscriptions.py +0 -0
  429. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/schemas/__init__.py +0 -0
  430. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/schemas/base.py +0 -0
  431. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/schemas/fixed_input.py +0 -0
  432. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/schemas/problem_detail.py +0 -0
  433. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/schemas/process.py +0 -0
  434. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/schemas/product.py +0 -0
  435. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/schemas/product_block.py +0 -0
  436. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/schemas/resource_type.py +0 -0
  437. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/schemas/subscription_descriptions.py +0 -0
  438. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/schemas/workflow.py +0 -0
  439. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/security.py +0 -0
  440. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/services/__init__.py +0 -0
  441. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/services/fixed_inputs.py +0 -0
  442. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/services/process_broadcast_thread.py +0 -0
  443. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/services/resource_types.py +0 -0
  444. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/services/settings.py +0 -0
  445. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/services/subscription_relations.py +0 -0
  446. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/services/translations.py +0 -0
  447. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/utils/__init__.py +0 -0
  448. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/utils/crypt.py +0 -0
  449. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/utils/datetime.py +0 -0
  450. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/utils/deprecation_logger.py +0 -0
  451. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/utils/docs.py +0 -0
  452. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/utils/enrich_process.py +0 -0
  453. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/utils/fixed_inputs.py +0 -0
  454. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/utils/functional.py +0 -0
  455. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/utils/get_subscription_dict.py +0 -0
  456. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/utils/get_updated_properties.py +0 -0
  457. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/utils/helpers.py +0 -0
  458. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/utils/json.py +0 -0
  459. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/utils/search_query.py +0 -0
  460. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/utils/strings.py +0 -0
  461. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/utils/validate_data_version.py +0 -0
  462. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/version.py +0 -0
  463. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/websocket/__init__.py +0 -0
  464. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/websocket/managers/broadcast_websocket_manager.py +0 -0
  465. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/websocket/managers/memory_websocket_manager.py +0 -0
  466. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/websocket/websocket_manager.py +0 -0
  467. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/workflows/__init__.py +0 -0
  468. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/workflows/removed_workflow.py +0 -0
  469. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/workflows/tasks/__init__.py +0 -0
  470. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/orchestrator/workflows/translations/en-GB.json +0 -0
  471. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/setup.py +0 -0
  472. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/__init__.py +0 -0
  473. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/acceptance_tests/__init__.py +0 -0
  474. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/acceptance_tests/conftest.py +0 -0
  475. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/acceptance_tests/fixtures/test_orchestrator/__init__.py +0 -0
  476. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/acceptance_tests/fixtures/test_orchestrator/devtools/populator/__init__.py +0 -0
  477. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/acceptance_tests/fixtures/test_orchestrator/main.py +0 -0
  478. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/acceptance_tests/fixtures/test_orchestrator/product_blocks/__init__.py +0 -0
  479. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/acceptance_tests/fixtures/test_orchestrator/product_blocks/test_product_blocks.py +0 -0
  480. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/acceptance_tests/fixtures/test_orchestrator/products/__init__.py +0 -0
  481. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/acceptance_tests/fixtures/test_orchestrator/products/test_product.py +0 -0
  482. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/acceptance_tests/fixtures/test_orchestrator/workflows/__init__.py +0 -0
  483. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/acceptance_tests/test_test_product.py +0 -0
  484. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/__init__.py +0 -0
  485. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/api/__init__.py +0 -0
  486. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/api/test_caching.py +0 -0
  487. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/api/test_health.py +0 -0
  488. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/api/test_helpers.py +0 -0
  489. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/api/test_models.py +0 -0
  490. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/api/test_processes.py +0 -0
  491. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/api/test_product_blocks.py +0 -0
  492. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/api/test_products.py +0 -0
  493. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/api/test_resource_types.py +0 -0
  494. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/api/test_settings.py +0 -0
  495. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/api/test_subscription_customer_descriptions.py +0 -0
  496. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/api/test_workflows.py +0 -0
  497. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/api/test_ws.py +0 -0
  498. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/__init__.py +0 -0
  499. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/conftest.py +0 -0
  500. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/alembic.ini +0 -0
  501. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/main.py +0 -0
  502. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/migrations/env.py +0 -0
  503. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/migrations/helpers.py +0 -0
  504. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/migrations/script.py.mako +0 -0
  505. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/migrations/versions/schema/2024-02-20_59e1199aff7f_create_data_head.py +0 -0
  506. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/migrations/versions/schema/2024-02-20_85be1c80731c_add_example2.py +0 -0
  507. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/migrations/versions/schema/2024-02-20_ea9e6c9de75c_add_example1.py +0 -0
  508. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/migrations/versions/schema/2024-06-07_380a5b0c928c_add_example4.py +0 -0
  509. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/products/__init__.py +0 -0
  510. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/products/product_blocks/__init__.py +0 -0
  511. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/products/product_blocks/example1.py +0 -0
  512. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/products/product_blocks/example2.py +0 -0
  513. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/products/product_blocks/example4.py +0 -0
  514. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/products/product_blocks/example4sub.py +0 -0
  515. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/products/product_types/__init__.py +0 -0
  516. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/products/product_types/example1.py +0 -0
  517. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/products/product_types/example2.py +0 -0
  518. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/products/product_types/example4.py +0 -0
  519. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/test/unit_tests/domain/product_types/test_example1.py +0 -0
  520. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/test/unit_tests/domain/product_types/test_example2.py +0 -0
  521. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/test/unit_tests/domain/product_types/test_example4.py +0 -0
  522. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/test/unit_tests/workflows/example1/test_create_example1.py +0 -0
  523. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/test/unit_tests/workflows/example1/test_modify_example1.py +0 -0
  524. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/test/unit_tests/workflows/example1/test_terminate_example1.py +0 -0
  525. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/test/unit_tests/workflows/example1/test_validate_example1.py +0 -0
  526. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/test/unit_tests/workflows/example2/test_create_example2.py +0 -0
  527. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/test/unit_tests/workflows/example2/test_modify_example2.py +0 -0
  528. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/test/unit_tests/workflows/example2/test_terminate_example2.py +0 -0
  529. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/test/unit_tests/workflows/example2/test_validate_example2.py +0 -0
  530. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/test/unit_tests/workflows/example4/test_create_example4.py +0 -0
  531. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/test/unit_tests/workflows/example4/test_modify_example4.py +0 -0
  532. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/test/unit_tests/workflows/example4/test_terminate_example4.py +0 -0
  533. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/test/unit_tests/workflows/example4/test_validate_example4.py +0 -0
  534. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/translations/en-GB.json +0 -0
  535. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/workflows/__init__.py +0 -0
  536. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/workflows/example1/shared/forms.py +0 -0
  537. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/workflows/example2/shared/forms.py +0 -0
  538. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/workflows/example4/shared/forms.py +0 -0
  539. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate/workflows/shared.py +0 -0
  540. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/generate.sh +0 -0
  541. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/invalid_product_config1.yaml +0 -0
  542. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/invalid_product_config2.yaml +0 -0
  543. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/product_config1.yaml +0 -0
  544. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/product_config2.yaml +0 -0
  545. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/product_config3.yaml +0 -0
  546. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/data/product_config4.yaml +0 -0
  547. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/generator/__init__.py +0 -0
  548. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/generator/test_enums.py +0 -0
  549. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/helpers.py +0 -0
  550. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/test_cli_generate.py +0 -0
  551. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/test_config_validation.py +0 -0
  552. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/test_generate_code.py +0 -0
  553. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/test_migrate_domain_models_with_instances.py +0 -0
  554. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/cli/test_migrate_domain_models_without_instances.py +0 -0
  555. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/config.py +0 -0
  556. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/db/__init__.py +0 -0
  557. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/db/test_listeners.py +0 -0
  558. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/domain/__init__.py +0 -0
  559. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/domain/test_base_multiple.py +0 -0
  560. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/domain/test_base_with_list_union.py +0 -0
  561. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/domain/test_base_with_union.py +0 -0
  562. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/domain/test_lifecycle.py +0 -0
  563. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/fixtures/__init__.py +0 -0
  564. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/fixtures/processes.py +0 -0
  565. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/fixtures/products/__init__.py +0 -0
  566. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/fixtures/products/product_blocks/__init__.py +0 -0
  567. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/fixtures/products/product_blocks/product_block_list_nested.py +0 -0
  568. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/fixtures/products/product_blocks/product_block_one.py +0 -0
  569. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/fixtures/products/product_blocks/product_block_with_list_union.py +0 -0
  570. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/fixtures/products/product_blocks/product_block_with_union.py +0 -0
  571. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/fixtures/products/product_blocks/product_sub_block_one.py +0 -0
  572. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/fixtures/products/product_blocks/product_sub_block_two.py +0 -0
  573. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/fixtures/products/product_types/__init__.py +0 -0
  574. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/fixtures/products/product_types/product_type_list_nested.py +0 -0
  575. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/fixtures/products/product_types/product_type_list_union.py +0 -0
  576. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/fixtures/products/product_types/product_type_list_union_overlap.py +0 -0
  577. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/fixtures/products/product_types/product_type_one.py +0 -0
  578. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/fixtures/products/product_types/product_type_one_nested.py +0 -0
  579. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/fixtures/products/product_types/product_type_sub_list_union.py +0 -0
  580. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/fixtures/products/product_types/product_type_sub_one.py +0 -0
  581. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/fixtures/products/product_types/product_type_sub_two.py +0 -0
  582. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/fixtures/products/product_types/product_type_sub_union.py +0 -0
  583. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/fixtures/products/product_types/product_type_union.py +0 -0
  584. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/fixtures/products/product_types/subscription_relations.py +0 -0
  585. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/fixtures/products/resource_types.py +0 -0
  586. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/fixtures/workflows.py +0 -0
  587. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/forms/__init__.py +0 -0
  588. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/forms/test_customer_contact_list.py +0 -0
  589. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/forms/test_customer_id.py +0 -0
  590. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/forms/test_display_subscription.py +0 -0
  591. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/forms/test_generic_validators.py +0 -0
  592. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/graphql/__init__.py +0 -0
  593. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/graphql/conftest.py +0 -0
  594. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/graphql/extensions/__init__.py +0 -0
  595. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/graphql/extensions/test_stats.py +0 -0
  596. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/graphql/mutations/helpers.py +0 -0
  597. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/graphql/mutations/test_customer_description.py +0 -0
  598. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/graphql/mutations/test_start_process.py +0 -0
  599. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/graphql/test_customer.py +0 -0
  600. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/graphql/test_process.py +0 -0
  601. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/graphql/test_processes.py +0 -0
  602. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/graphql/test_product_blocks.py +0 -0
  603. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/graphql/test_resource_types.py +0 -0
  604. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/graphql/test_sort_and_filter_fields.py +0 -0
  605. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/graphql/test_subscription.py +0 -0
  606. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/graphql/test_subscription_relations.py +0 -0
  607. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/graphql/test_version.py +0 -0
  608. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/graphql/test_workflows.py +0 -0
  609. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/graphql/utils/__init__.py +0 -0
  610. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/graphql/utils/fixtures.py +0 -0
  611. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/graphql/utils/test_autoregistration.py +0 -0
  612. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/graphql/utils/test_get_query_loaders.py +0 -0
  613. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/graphql/utils/test_get_selected_paths.py +0 -0
  614. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/graphql/utils/test_is_query_detailed.py +0 -0
  615. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/graphql/utils/test_is_querying_page_data.py +0 -0
  616. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/graphql/utils/test_override_class.py +0 -0
  617. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/helpers.py +0 -0
  618. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/schedules/__init__.py +0 -0
  619. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/schedules/test_scheduling.py +0 -0
  620. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/services/__init__.py +0 -0
  621. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/services/test_products.py +0 -0
  622. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/services/test_subscription_relations.py +0 -0
  623. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/services/test_subscriptions.py +0 -0
  624. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/services/test_translations.py +0 -0
  625. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/test_db.py +0 -0
  626. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/test_types.py +0 -0
  627. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/utils/__init__.py +0 -0
  628. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/utils/get_subscription_dict.py +0 -0
  629. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/utils/test_datetime.py +0 -0
  630. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/utils/test_errors.py +0 -0
  631. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/utils/test_functional.py +0 -0
  632. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/utils/test_get_updated_properties.py +0 -0
  633. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/utils/test_json.py +0 -0
  634. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/utils/test_search_query.py +0 -0
  635. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/utils/test_strings.py +0 -0
  636. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/websocket/__init__.py +0 -0
  637. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/websocket/test_broadcast.py +0 -0
  638. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/workflows/conftest.py +0 -0
  639. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/workflows/shared/__init__.py +0 -0
  640. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/workflows/shared/test_validate_subscriptions.py +0 -0
  641. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/workflows/tasks/__init__.py +0 -0
  642. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/workflows/tasks/test_clean_up_task_log.py +0 -0
  643. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/workflows/tasks/test_resume_workflows.py +0 -0
  644. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/workflows/tasks/test_validate_product_type.py +0 -0
  645. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/workflows/tasks/test_validate_products.py +0 -0
  646. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/workflows/test_async_workflow.py +0 -0
  647. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/workflows/test_config_db_code.py +0 -0
  648. {orchestrator_core-2.10.0rc2 → orchestrator_core-3.0.0}/test/unit_tests/workflows/test_modify_note.py +0 -0
@@ -1,5 +1,5 @@
1
1
  [bumpversion]
2
- current_version = 2.10.0rc2
2
+ current_version = 3.0.0
3
3
  commit = False
4
4
  tag = False
5
5
  parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(rc(?P<build>\d+))?
@@ -0,0 +1,71 @@
1
+ name: CodSpeed
2
+
3
+ on:
4
+ push:
5
+ branches: [ "main" ]
6
+ pull_request:
7
+ branches: [ "main" ]
8
+
9
+ jobs:
10
+ codspeed:
11
+ name: Run benchmarks
12
+ runs-on: ubuntu-latest
13
+ container:
14
+ image: python:3.11
15
+ options: --privileged
16
+ services:
17
+ postgres:
18
+ image: postgres:15-alpine
19
+ # Provide the password for postgres
20
+ env:
21
+ POSTGRES_PASSWORD: nwa
22
+ POSTGRES_USER: nwa
23
+ # Set health checks to wait until postgres has started
24
+ options: >-
25
+ --health-cmd pg_isready
26
+ --health-interval 10s
27
+ --health-timeout 5s
28
+ --health-retries 5
29
+ redis:
30
+ # Docker Hub image
31
+ image: redis
32
+ # Set health checks to wait until redis has started
33
+ options: >-
34
+ --health-cmd "redis-cli ping"
35
+ --health-interval 10s
36
+ --health-timeout 5s
37
+ --health-retries 5
38
+ steps:
39
+ # Downloads a copy of the code in your repository before running CI tests
40
+ - name: Check out repository code
41
+ uses: actions/checkout@v3
42
+
43
+ - name: Install dependencies
44
+ run: |
45
+ apt update
46
+ apt install curl git build-essential libpq-dev libffi-dev -y
47
+ python -m pip install --upgrade pip
48
+ pip install flit
49
+ flit install --deps develop --symlink
50
+ echo "GIT_COMMIT_HASH=\"test\"" > orchestrator/version.py
51
+ env:
52
+ FLIT_ROOT_INSTALL: 1
53
+
54
+ # Prevent error "repository path is not owned by the current user"
55
+ - name: Fix git owner
56
+ run: git config --global --add safe.directory "*"
57
+
58
+ # Speculatively add the cargo binary directory to the PATH because codspeed's installer script somehow doesn't
59
+ - name: Add $HOME/.cargo/bin to PATH
60
+ run: echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
61
+
62
+ - uses: CodSpeedHQ/action@v3
63
+ with:
64
+ run: CACHE_URI=redis://redis DATABASE_URI=postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST/$POSTGRES_DB pytest test/unit_tests --codspeed
65
+ token: ${{ secrets.CODSPEED_TOKEN }}
66
+ env:
67
+ POSTGRES_DB: orchestrator-core-test
68
+ POSTGRES_USER: nwa
69
+ POSTGRES_PASSWORD: nwa
70
+ POSTGRES_HOST: postgres
71
+ ENVIRONMENT: TESTING
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: orchestrator-core
3
- Version: 2.10.0rc2
3
+ Version: 3.0.0
4
4
  Summary: This is the orchestrator workflow engine.
5
5
  Requires-Python: >=3.11,<3.14
6
6
  Classifier: Intended Audience :: Information Technology
@@ -27,11 +27,12 @@ Classifier: Programming Language :: Python :: 3.12
27
27
  Classifier: Programming Language :: Python :: 3.11
28
28
  Classifier: Topic :: Internet :: WWW/HTTP :: HTTP Servers
29
29
  Classifier: Topic :: Internet :: WWW/HTTP
30
+ License-File: LICENSE
30
31
  Requires-Dist: alembic==1.14.1
31
32
  Requires-Dist: anyio>=3.7.0
32
33
  Requires-Dist: click==8.*
33
34
  Requires-Dist: deprecated
34
- Requires-Dist: deepmerge==1.1.1
35
+ Requires-Dist: deepmerge==2.0
35
36
  Requires-Dist: fastapi~=0.115.2
36
37
  Requires-Dist: fastapi-etag==0.4.0
37
38
  Requires-Dist: more-itertools~=10.6.0
@@ -40,13 +41,13 @@ Requires-Dist: Jinja2==3.1.5
40
41
  Requires-Dist: orjson==3.10.15
41
42
  Requires-Dist: psycopg2-binary==2.9.10
42
43
  Requires-Dist: pydantic[email]~=2.8.2
43
- Requires-Dist: pydantic-settings~=2.7.1
44
+ Requires-Dist: pydantic-settings~=2.8.0
44
45
  Requires-Dist: python-dateutil==2.8.2
45
46
  Requires-Dist: python-rapidjson>=1.18,<1.21
46
- Requires-Dist: pytz==2024.1
47
+ Requires-Dist: pytz==2025.1
47
48
  Requires-Dist: redis==5.0.3
48
49
  Requires-Dist: schedule==1.1.0
49
- Requires-Dist: sentry-sdk[fastapi]~=2.18.0
50
+ Requires-Dist: sentry-sdk[fastapi]~=2.22.0
50
51
  Requires-Dist: SQLAlchemy==2.0.38
51
52
  Requires-Dist: SQLAlchemy-Utils==0.41.2
52
53
  Requires-Dist: structlog
@@ -56,7 +57,7 @@ Requires-Dist: nwa-stdlib~=1.9.0
56
57
  Requires-Dist: oauth2-lib~=2.4.0
57
58
  Requires-Dist: tabulate==0.9.0
58
59
  Requires-Dist: strawberry-graphql>=0.246.2
59
- Requires-Dist: pydantic-forms~=1.2.1
60
+ Requires-Dist: pydantic-forms~=1.3.0
60
61
  Requires-Dist: celery~=5.4.0 ; extra == "celery"
61
62
  Requires-Dist: toml ; extra == "dev"
62
63
  Requires-Dist: bumpversion ; extra == "dev"
@@ -81,8 +82,9 @@ Requires-Dist: dirty-equals ; extra == "test"
81
82
  Requires-Dist: jsonref ; extra == "test"
82
83
  Requires-Dist: mypy==1.9 ; extra == "test"
83
84
  Requires-Dist: pyinstrument ; extra == "test"
84
- Requires-Dist: pytest==8.3.2 ; extra == "test"
85
+ Requires-Dist: pytest==8.3.4 ; extra == "test"
85
86
  Requires-Dist: pytest-asyncio==0.21.2 ; extra == "test"
87
+ Requires-Dist: pytest-codspeed ; extra == "test"
86
88
  Requires-Dist: pytest-cov ; extra == "test"
87
89
  Requires-Dist: pytest-httpx ; extra == "test"
88
90
  Requires-Dist: pytest-xdist ; extra == "test"
@@ -191,3 +191,10 @@ You can do the necessary change with a clean, e.g. every change committed, branc
191
191
  ```shell
192
192
  bumpversion patch --new-version 0.4.1-rc3
193
193
  ```
194
+
195
+ ### Changing the Core database schema
196
+ When you would like to change the core database schema, execute the following steps.
197
+
198
+ - Create the new model `orchestrator/database/models.py`
199
+ - `cd orchestrator/migrations`
200
+ - `alembic revision --autogenerate -m "Name of the migratioin"`
@@ -6,6 +6,20 @@ free to raise an issue in the project. We will strive to reply to your enquiry A
6
6
  ## Documentation
7
7
  We use [**MKDOCS**](https://www.mkdocs.org) as a documentation tool. Please create a PR if you have any additions or contributions to make. All docs can be written in MD or html. Full guidelines on how to set this up can be found [here](development.md).
8
8
 
9
+ ## Pre-commit hooks
10
+ We use pre-commit hooks to ensure that the code is formatted correctly and that the tests pass. To install the
11
+ pre-commit hooks, run the following command:
12
+
13
+ ```shell
14
+ pre-commit install
15
+ ```
16
+
17
+ To run the pre-commit hooks manually, run the following command:
18
+
19
+ ```shell
20
+ pre-commit run --all-files
21
+ ```
22
+
9
23
  ## Orchestrator release
10
24
  The `orchestrator-core` has no release schedule but is actively used and maintained by the workflow orchestrator group.
11
25
  Creating a new release is done by the developers of the project and the procedure is as follows.
@@ -0,0 +1,18 @@
1
+ ---
2
+ hide:
3
+ - navigation
4
+ ---
5
+ # 3.0 Migration Guide
6
+
7
+ In this document we describe the steps that should be taken to migrate from `orchestrator-core` v2 to v3.
8
+
9
+ ## About 3.0
10
+
11
+ In this release, deprecated import statements from the `orchestrator.types` module are removed, that now come from
12
+ `pydantic-forms.types` instead. These will have to be updated in your implementation of the orchestrator as well.
13
+
14
+ ## Steps
15
+
16
+ To update the import statements you may have in your implementation of Workflow Orchestrator, we offer a migration
17
+ script that can be run as follows: `python -m orchestrator.devtools.scripts.migrate_30 <dir>` where `<dir>` points to
18
+ your orchestrator implementation.
@@ -189,7 +189,9 @@ nav:
189
189
  # - Workflow Lifecycles: reference-docs/workflows/workflow-lifecycles.md
190
190
  - Callbacks: reference-docs/workflows/callbacks.md
191
191
  - Websockets: reference-docs/websockets.md
192
- - Migration guide: migration-guide/2.0.md
192
+ - Migration guides:
193
+ - 2.x: migration-guide/2.0.md
194
+ - 3.x: migration-guide/3.0.md
193
195
 
194
196
  - Workshops:
195
197
  # - Beginner:
@@ -13,7 +13,7 @@
13
13
 
14
14
  """This is the orchestrator workflow engine."""
15
15
 
16
- __version__ = "2.10.0rc2"
16
+ __version__ = "3.0.0"
17
17
 
18
18
  from orchestrator.app import OrchestratorCore
19
19
  from orchestrator.settings import app_settings
@@ -61,7 +61,6 @@ from orchestrator.services.processes import (
61
61
  )
62
62
  from orchestrator.services.settings import get_engine_settings
63
63
  from orchestrator.settings import app_settings
64
- from orchestrator.types import JSON, State
65
64
  from orchestrator.utils.enrich_process import enrich_process
66
65
  from orchestrator.websocket import (
67
66
  WS_CHANNELS,
@@ -70,6 +69,7 @@ from orchestrator.websocket import (
70
69
  websocket_manager,
71
70
  )
72
71
  from orchestrator.workflow import ProcessStatus
72
+ from pydantic_forms.types import JSON, State
73
73
 
74
74
  router = APIRouter()
75
75
 
@@ -28,6 +28,7 @@ from orchestrator.services import processes, settings
28
28
  from orchestrator.settings import ExecutorType, app_settings
29
29
  from orchestrator.utils.json import json_dumps
30
30
  from orchestrator.utils.redis import delete_keys_matching_pattern
31
+ from orchestrator.utils.redis_client import create_redis_asyncio_client
31
32
  from orchestrator.websocket import WS_CHANNELS, broadcast_invalidate_cache, websocket_manager
32
33
 
33
34
  router = APIRouter()
@@ -41,7 +42,7 @@ CACHE_FLUSH_OPTIONS: dict[str, str] = {
41
42
 
42
43
  @router.delete("/cache/{name}")
43
44
  async def clear_cache(name: str) -> int | None:
44
- cache: AIORedis = AIORedis.from_url(str(app_settings.CACHE_URI))
45
+ cache: AIORedis = create_redis_asyncio_client(app_settings.CACHE_URI)
45
46
  if name not in CACHE_FLUSH_OPTIONS:
46
47
  raise_status(HTTPStatus.BAD_REQUEST, "Invalid cache name")
47
48
 
@@ -7,11 +7,12 @@ from typing import Annotated
7
7
 
8
8
  import structlog
9
9
  from pydantic import AfterValidator, ConfigDict, model_validator
10
+ from pydantic_forms.types import FormGenerator, State, UUIDstr
10
11
 
11
12
  from orchestrator.forms import FormPage
12
13
  from orchestrator.forms.validators import Divider, Label, CustomerId, MigrationSummary
13
14
  from orchestrator.targets import Target
14
- from orchestrator.types import FormGenerator, State, SubscriptionLifecycle, UUIDstr
15
+ from orchestrator.types import SubscriptionLifecycle
15
16
  from orchestrator.workflow import StepList, begin, step
16
17
  from orchestrator.workflows.steps import store_process_subscription
17
18
  from orchestrator.workflows.utils import create_workflow
@@ -6,11 +6,12 @@ from typing import Annotated
6
6
 
7
7
  import structlog
8
8
  from pydantic import AfterValidator, ConfigDict, model_validator
9
+ from pydantic_forms.types import FormGenerator, State, UUIDstr
9
10
  from pydantic_forms.validators import ReadOnlyField
10
11
 
11
12
  from orchestrator.forms import FormPage
12
13
  from orchestrator.forms.validators import CustomerId, Divider
13
- from orchestrator.types import FormGenerator, State, SubscriptionLifecycle, UUIDstr
14
+ from orchestrator.types import SubscriptionLifecycle
14
15
  from orchestrator.workflow import StepList, begin, step
15
16
  from orchestrator.workflows.steps import set_status
16
17
  from orchestrator.workflows.utils import modify_workflow
@@ -1,4 +1,5 @@
1
- from typing import Generator, List, TypeAlias, cast
1
+ from collections.abc import Generator
2
+ from typing import List, TypeAlias, cast
2
3
 
3
4
  from pydantic import ConfigDict
4
5
 
@@ -2,10 +2,10 @@
2
2
 
3
3
  import structlog
4
4
  from pydantic import AfterValidator, ConfigDict, model_validator
5
+ from pydantic_forms.types import InputForm, State, UUIDstr
5
6
 
6
7
  from orchestrator.forms import FormPage
7
8
  from orchestrator.forms.validators import DisplaySubscription
8
- from orchestrator.types import InputForm, State, UUIDstr
9
9
  from orchestrator.workflow import StepList, begin, step
10
10
  from orchestrator.workflows.utils import terminate_workflow
11
11
 
@@ -4,7 +4,6 @@ from orchestrator.db import ProductTable
4
4
  from orchestrator.forms import FormValidationError
5
5
 
6
6
  from test.unit_tests.workflows import assert_complete, extract_state, run_workflow
7
-
8
7
  from {{ product_types_module }}.{{ product.variable }} import {{ product.type }}
9
8
 
10
9
 
@@ -1,9 +1,8 @@
1
1
  import pytest
2
2
  from orchestrator.forms import FormValidationError
3
-
4
3
  from orchestrator.types import SubscriptionLifecycle
5
- from test.unit_tests.workflows import assert_complete, extract_state, run_workflow
6
4
 
5
+ from test.unit_tests.workflows import assert_complete, extract_state, run_workflow
7
6
  from {{ product_types_module }}.{{ product.variable }} import {{ product.type }}
8
7
 
9
8
 
@@ -3,9 +3,11 @@
3
3
  import structlog
4
4
  {% if product.nso_service_id_path %}
5
5
  from deepdiff import DeepDiff
6
+ {% endif %}
7
+ from pydantic_forms.types import State
8
+ {% if product.nso_service_id_path %}
6
9
  from surf.products.services.nso.nso import build_payload
7
10
  {% endif %}
8
- from orchestrator.types import State
9
11
  from orchestrator.workflow import StepList, begin, step
10
12
  from orchestrator.workflows.utils import validate_workflow
11
13
 
@@ -1,7 +1,7 @@
1
1
  from collections.abc import Callable, Iterable
2
2
  from typing import Any
3
3
 
4
- from orchestrator.types import strEnum
4
+ from pydantic_forms.types import strEnum
5
5
 
6
6
 
7
7
  def _esc_str(i: int) -> str:
@@ -13,7 +13,7 @@
13
13
 
14
14
  import strawberry
15
15
 
16
- from orchestrator.types import strEnum
16
+ from pydantic_forms.types import strEnum
17
17
 
18
18
 
19
19
  @strawberry.enum
@@ -13,6 +13,7 @@
13
13
 
14
14
  from __future__ import annotations
15
15
 
16
+ import enum
16
17
  from datetime import datetime, timezone
17
18
 
18
19
  import sqlalchemy
@@ -23,6 +24,7 @@ from sqlalchemy import (
23
24
  Boolean,
24
25
  CheckConstraint,
25
26
  Column,
27
+ Enum,
26
28
  ForeignKey,
27
29
  Index,
28
30
  Integer,
@@ -81,6 +83,20 @@ class UtcTimestamp(TypeDecorator):
81
83
  return value.astimezone(timezone.utc) if value else value
82
84
 
83
85
 
86
+ class InputStateTable(BaseModel):
87
+ __tablename__ = "input_states"
88
+
89
+ class InputType(enum.Enum):
90
+ user_input = "user_input"
91
+ initial_state = "initial_state"
92
+
93
+ input_state_id = mapped_column(UUIDType, primary_key=True, server_default=text("uuid_generate_v4()"), index=True)
94
+ process_id = mapped_column("pid", UUIDType, ForeignKey("processes.pid"), nullable=False)
95
+ input_state = mapped_column(pg.JSONB(), nullable=False) # type: ignore
96
+ input_time = mapped_column(UtcTimestamp, server_default=text("current_timestamp()"), nullable=False)
97
+ input_type = mapped_column(Enum(InputType), nullable=False)
98
+
99
+
84
100
  class ProcessTable(BaseModel):
85
101
  __tablename__ = "processes"
86
102
 
@@ -101,6 +117,7 @@ class ProcessTable(BaseModel):
101
117
  steps = relationship(
102
118
  "ProcessStepTable", cascade="delete", passive_deletes=True, order_by="asc(ProcessStepTable.executed_at)"
103
119
  )
120
+ input_states = relationship("InputStateTable", cascade="delete", order_by="desc(InputStateTable.input_time)")
104
121
  process_subscriptions = relationship("ProcessSubscriptionTable", back_populates="process", passive_deletes=True)
105
122
  workflow = relationship("WorkflowTable", back_populates="processes")
106
123
 
@@ -26,8 +26,8 @@ import structlog
26
26
  from more_itertools import first, first_true
27
27
 
28
28
  from nwastdlib.url import URL
29
- from orchestrator.types import State
30
29
  from pydantic_forms.types import InputForm as LegacyInputForm
30
+ from pydantic_forms.types import State
31
31
 
32
32
 
33
33
  class JSONSubSchema(TypedDict, total=False):
@@ -6,61 +6,17 @@ Refer to the 2.0 migration guide documentation for background.
6
6
  import re
7
7
  import sys
8
8
  from pathlib import Path
9
- from subprocess import run
10
9
  from typing import Iterable
11
10
 
12
-
13
- def remove_imports(text: str, module: str, symbol: str) -> tuple[str, bool]:
14
- """Find imports and remove them.
15
-
16
- Assumes code is formatted through Black to keep the regex somewhat readable.
17
- """
18
- text_orig = text
19
-
20
- # single import from module (may have a #comment) -> remove line
21
- rgx = r"(from %s import \b%s\b(\s*#[^\n]*)*\n)" % (re.escape(module), symbol)
22
- text = re.sub(rgx, "", text)
23
-
24
- # middle or last of multiple imports from module -> strip symbol
25
- rgx = r"(from %s import .+)(, \b%s\b)" % (re.escape(module), symbol)
26
- text = re.sub(rgx, r"\1", text)
27
-
28
- # first of multiple imports from same module -> strip symbol
29
- rgx = r"(from %s import )\b%s\b, " % (re.escape(module), symbol)
30
- text = re.sub(rgx, r"\1", text)
31
-
32
- # multiline import -> remove line with symbol
33
- rgx_verbose = r"""(?P<before>^from\s%s\simport\s*\([^\n]*\n(?:^[^\n]+,\n)*)
34
- (^\s*\b%s\b,[^\n]*\n)
35
- (?P<after>(?:^[^\n]+,\n)*\)[^\n]*$)"""
36
- text = re.sub(rgx_verbose % (re.escape(module), symbol), r"\g<before>\g<after>", text, flags=re.M | re.X)
37
- return text, text_orig != text
38
-
39
-
40
- def insert_import(text: str, import_stmt: str) -> str:
41
- # Find the first import line and add our line above that
42
- # Rely on ruff & black for formatting
43
- return re.sub(r"(^(?:from .+|import .+)$)", f"{import_stmt}\n" + r"\1", text, count=1, flags=re.M)
44
-
45
-
46
- def find_and_remove_aliases(text: str, symbol: str) -> tuple[str, list[str]]:
47
- """In the given text find aliases of the given symbol and remove them.
48
-
49
- Return updated text and aliases removed.
50
- """
51
- rgx = r"(\b%s as (\w+))" % (symbol,)
52
- aliases = [aliasgroup for fullgroup, aliasgroup in re.findall(rgx, text)]
53
- newtext = re.sub(rgx, symbol, text)
54
- return newtext, aliases
55
-
56
-
57
- def replace_words(text: str, words: list[str], replace: str) -> str:
58
- rgx = r"\b(%s)\b" % ("|".join(words),)
59
- return re.sub(rgx, replace, text)
60
-
61
-
62
- def has_word(text: str, word: str) -> bool:
63
- return bool(re.search(r"\b%s\b" % (word,), text))
11
+ from orchestrator.devtools.scripts.shared import (
12
+ find_and_remove_aliases,
13
+ has_word,
14
+ insert_import,
15
+ migrate,
16
+ move_import,
17
+ remove_imports,
18
+ replace_words,
19
+ )
64
20
 
65
21
 
66
22
  def rewrite_subscription_instance_lists(f: Path) -> list[str]:
@@ -124,17 +80,6 @@ def rewrite_subscription_instance_lists(f: Path) -> list[str]:
124
80
  return names
125
81
 
126
82
 
127
- def move_import(f: Path, symbol: str, old_module: str, new_module: str) -> bool:
128
- text = f.read_text()
129
- text, changed = remove_imports(text, old_module, symbol)
130
- if not changed:
131
- return False
132
- text = insert_import(text, f"from {new_module} import {symbol}")
133
- with f.open(mode="w"):
134
- f.write_text(text)
135
- return True
136
-
137
-
138
83
  re_serializable_property = re.compile(r"^(\s+)(@serializable_property)([^\n]*)\n", flags=re.MULTILINE)
139
84
 
140
85
 
@@ -167,7 +112,7 @@ def replace_serializable_props(f: Path) -> bool:
167
112
  return True
168
113
 
169
114
 
170
- def migrate_file(f: Path) -> int:
115
+ def migrate_file(f: Path) -> bool:
171
116
  imports = {
172
117
  "SI": move_import(f, "SI", "orchestrator.domain.base", "orchestrator.types"),
173
118
  "VlanRanges": move_import(f, "VlanRanges", "orchestrator.utils.vlans", "nwastdlib.vlans"),
@@ -189,46 +134,6 @@ def migrate_file(f: Path) -> int:
189
134
  return bool(lines)
190
135
 
191
136
 
192
- def run_tool(*args: str) -> bool:
193
- cmd = " ".join(args)
194
- try:
195
- r = run(args, capture_output=True) # noqa: S603
196
- if r.returncode == 0:
197
- return True
198
- print(f"{cmd} failed:", r.stdout, r.stderr)
199
- except FileNotFoundError:
200
- print(f"{cmd }failed: could not find executable in the current venv")
201
- return False
202
-
203
-
204
- def migrate(target_dir: Path) -> bool:
205
- abs_path = str(target_dir.resolve())
206
-
207
- def run_tools() -> bool:
208
- return run_tool("ruff", "--fix", abs_path) and run_tool("black", "--quiet", abs_path)
209
-
210
- print(f"\n### Verifing files in {abs_path}... ", end="")
211
- if not run_tools():
212
- print("Failed to verify files, aborting migration. Please resolve the errors.")
213
- return False
214
- print("Ok")
215
-
216
- files_migrated = files_checked = 0
217
- print(f"\n### Migrating files in {abs_path}")
218
- try:
219
- for f in target_dir.glob("**/*.py"):
220
- if migrate_file(f):
221
- files_migrated += 1
222
- files_checked += 1
223
- except KeyboardInterrupt:
224
- print("Interrupted...")
225
-
226
- print(f"\n### Migrated {files_migrated}/{files_checked} files in {abs_path}")
227
-
228
- print(f"\n### Formatting files in {abs_path}")
229
- return run_tools()
230
-
231
-
232
137
  if __name__ == "__main__":
233
138
  try:
234
139
  _target_dir = Path(sys.argv[1])
@@ -237,4 +142,4 @@ if __name__ == "__main__":
237
142
  print("Need a directory as parameter")
238
143
  sys.exit(1)
239
144
 
240
- sys.exit(0 if migrate(_target_dir) else 1)
145
+ sys.exit(0 if migrate(_target_dir, migrate_file) else 1)
@@ -0,0 +1,61 @@
1
+ """Helper script to rewrite import statements in your orchestrator.
2
+
3
+ Since types have been externalised in `pydantic_forms`, they were re-imported in `orchestrator.types` for backwards
4
+ compatibility. These import statements have been removed, and therefore need to be updated in orchestrator
5
+ implementations.
6
+ """
7
+
8
+ import sys
9
+ from pathlib import Path
10
+
11
+ from orchestrator.devtools.scripts.shared import migrate, move_import
12
+
13
+
14
+ def migrate_file(f: Path) -> bool:
15
+ imports = {
16
+ "JSON": move_import(f, "JSON", "orchestrator.types", "pydantic_forms.types"),
17
+ "AcceptData": move_import(f, "AcceptData", "orchestrator.types", "pydantic_forms.types"),
18
+ "AcceptItemType": move_import(f, "AcceptItemType", "orchestrator.types", "pydantic_forms.types"),
19
+ "FormGenerator": move_import(f, "FormGenerator", "orchestrator.types", "pydantic_forms.types"),
20
+ "FormGeneratorAsync": move_import(f, "FormGeneratorAsync", "orchestrator.types", "pydantic_forms.types"),
21
+ "InputForm": move_import(f, "InputForm", "orchestrator.types", "pydantic_forms.types"),
22
+ "InputFormGenerator": move_import(f, "InputFormGenerator", "orchestrator.types", "pydantic_forms.types"),
23
+ "InputStepFunc": move_import(f, "InputStepFunc", "orchestrator.types", "pydantic_forms.types"),
24
+ "SimpleInputFormGenerator": move_import(
25
+ f, "SimpleInputFormGenerator", "orchestrator.types", "pydantic_forms.types"
26
+ ),
27
+ "State": move_import(f, "State", "orchestrator.types", "pydantic_forms.types"),
28
+ "StateInputFormGenerator": move_import(
29
+ f, "StateInputFormGenerator", "orchestrator.types", "pydantic_forms.types"
30
+ ),
31
+ "StateInputFormGeneratorAsync": move_import(
32
+ f, "StateInputFormGeneratorAsync", "orchestrator.types", "pydantic_forms.types"
33
+ ),
34
+ "StateInputStepFunc": move_import(f, "StateInputStepFunc", "orchestrator.types", "pydantic_forms.types"),
35
+ "StateSimpleInputFormGenerator": move_import(
36
+ f, "StateSimpleInputFormGenerator", "orchestrator.types", "pydantic_forms.types"
37
+ ),
38
+ "SubscriptionMapping": move_import(f, "SubscriptionMapping", "orchestrator.types", "pydantic_forms.types"),
39
+ "SummaryData": move_import(f, "SummaryData", "orchestrator.types", "pydantic_forms.types"),
40
+ "UUIDstr": move_import(f, "UUIDstr", "orchestrator.types", "pydantic_forms.types"),
41
+ "strEnum": move_import(f, "strEnum", "orchestrator.types", "pydantic_forms.types"),
42
+ }
43
+ lines = []
44
+ lines.extend([f"Moved {k} import" for k, v in imports.items() if v])
45
+
46
+ if lines:
47
+ formatted_lines = "\n".join(f" - {line}" for line in lines)
48
+ print(f"Updated {f.name:50s}\n{formatted_lines}")
49
+
50
+ return bool(lines)
51
+
52
+
53
+ if __name__ == "__main__":
54
+ try:
55
+ _target_dir = Path(sys.argv[1])
56
+ assert _target_dir.is_dir()
57
+ except Exception:
58
+ print("Need a directory as parameter")
59
+ sys.exit(1)
60
+
61
+ sys.exit(0 if migrate(_target_dir, migrate_file) else 1)