abstra 3.24.3__py3-none-any.whl → 3.24.4__py3-none-any.whl
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.
- abstra/ai.py +2 -0
- {abstra-3.24.3.dist-info → abstra-3.24.4.dist-info}/METADATA +1 -1
- {abstra-3.24.3.dist-info → abstra-3.24.4.dist-info}/RECORD +190 -187
- abstra_internals/contracts_generated.py +3737 -2560
- abstra_internals/controllers/workflows.py +42 -0
- abstra_internals/interface/sdk/ai.py +69 -0
- abstra_internals/repositories/git/native.py +90 -3
- abstra_internals/repositories/git/types.py +10 -0
- abstra_internals/repositories/linter/rules/env_in_bundle.py +2 -0
- abstra_internals/repositories/project/json_migrations/__init__.py +2 -0
- abstra_internals/repositories/project/json_migrations/migration_016.py +17 -0
- abstra_internals/repositories/project/json_migrations/migration_016_test.py +141 -0
- abstra_internals/repositories/project/project.py +62 -17
- abstra_internals/repositories/project/project_test.py +279 -0
- abstra_internals/services/fs.py +311 -32
- abstra_internals/services/fs_test.py +28 -5
- abstra_internals/utils/file.py +7 -3
- abstra_internals/utils/fs_cache.py +173 -0
- abstra_statics/dist/assets/{AbstraButton.vue_vue_type_script_setup_true_lang.13670ae7.js → AbstraButton.vue_vue_type_script_setup_true_lang.779f608b.js} +2 -2
- abstra_statics/dist/assets/AbstraLogo.vue_vue_type_script_setup_true_lang.9c4020b5.js +2 -0
- abstra_statics/dist/assets/{ApiKeys.9b0b18b5.js → ApiKeys.fbd3ff63.js} +2 -2
- abstra_statics/dist/assets/App.cdc99dd8.js +2 -0
- abstra_statics/dist/assets/App.vue_vue_type_style_index_0_lang.c5b57972.js +2 -0
- abstra_statics/dist/assets/BaseLayout.c2cb2f91.js +2 -0
- abstra_statics/dist/assets/Billing.f53186a3.js +2 -0
- abstra_statics/dist/assets/{Breadcrumb.e54636d6.js → Breadcrumb.1a138bb1.js} +2 -2
- abstra_statics/dist/assets/{Builds.c7363e1b.js → Builds.f3c7442c.js} +2 -2
- abstra_statics/dist/assets/{Card.4a8a30bb.js → Card.0899e9af.js} +2 -2
- abstra_statics/dist/assets/{CircularLoading.d81a4cac.js → CircularLoading.9f9e733d.js} +2 -2
- abstra_statics/dist/assets/{CloseCircleOutlined.39b5ab06.js → CloseCircleOutlined.36d9f25b.js} +2 -2
- abstra_statics/dist/assets/{ConnectorsView.d4b67e2e.js → ConnectorsView.9d99a93b.js} +2 -2
- abstra_statics/dist/assets/{ConsoleOmniChat.vue_vue_type_script_setup_true_lang.5360224e.js → ConsoleOmniChat.vue_vue_type_script_setup_true_lang.7061772f.js} +2 -2
- abstra_statics/dist/assets/{ContentLayout.10f24838.js → ContentLayout.da1fff81.js} +2 -2
- abstra_statics/dist/assets/CrudView.5b250a71.js +2 -0
- abstra_statics/dist/assets/{DocsButton.vue_vue_type_script_setup_true_lang.108b18e1.js → DocsButton.vue_vue_type_script_setup_true_lang.88300c0e.js} +2 -2
- abstra_statics/dist/assets/{EditorLogin.2f00deb7.js → EditorLogin.440d3dc5.js} +2 -2
- abstra_statics/dist/assets/{EditorsView.eb87a2d8.js → EditorsView.c81d5c0a.js} +2 -2
- abstra_statics/dist/assets/EnvVars.688f662d.js +2 -0
- abstra_statics/dist/assets/{Error.98b8036c.js → Error.8fd45945.js} +2 -2
- abstra_statics/dist/assets/ExclamationCircleOutlined.ea15dcd1.js +2 -0
- abstra_statics/dist/assets/{Files.9fc8199a.js → Files.2ef1fd75.js} +2 -2
- abstra_statics/dist/assets/Form.4047a0fe.js +2 -0
- abstra_statics/dist/assets/Form.7d1b0423.css +1 -0
- abstra_statics/dist/assets/FormRunner.8d0c448a.js +2 -0
- abstra_statics/dist/assets/Home.586b0b6c.js +2 -0
- abstra_statics/dist/assets/{Home.191a6dce.js → Home.c4610516.js} +2 -2
- abstra_statics/dist/assets/LoadingContainer.12120ff7.js +2 -0
- abstra_statics/dist/assets/LoadingOutlined.3c83d190.js +2 -0
- abstra_statics/dist/assets/{Login.edfbdaea.js → Login.2d19f80c.js} +2 -2
- abstra_statics/dist/assets/Login.de9c56a5.js +2 -0
- abstra_statics/dist/assets/{Login.vue_vue_type_script_setup_true_lang.02acef81.js → Login.vue_vue_type_script_setup_true_lang.8d4054f1.js} +2 -2
- abstra_statics/dist/assets/Logo.3f68eae2.js +2 -0
- abstra_statics/dist/assets/{Logs.4c6c0b3a.js → Logs.1f1770c9.js} +2 -2
- abstra_statics/dist/assets/{LogsController.a58ca42a.js → LogsController.e88bddfb.js} +2 -2
- abstra_statics/dist/assets/Main.a79ded11.js +2 -0
- abstra_statics/dist/assets/MockForm.025d99f9.css +1 -0
- abstra_statics/dist/assets/{MockForm.091aa4ce.js → MockForm.aa5ad3bb.js} +2 -2
- abstra_statics/dist/assets/Navbar.2529c5ae.js +2 -0
- abstra_statics/dist/assets/NewEditor.2603174c.js +8 -0
- abstra_statics/dist/assets/{NewEditor.f2d1c0c3.css → NewEditor.5ebf7c09.css} +1 -1
- abstra_statics/dist/assets/OidcLoginCallback.7ed0c484.js +2 -0
- abstra_statics/dist/assets/OidcLogoutCallback.7303c2ab.js +2 -0
- abstra_statics/dist/assets/{OmniChat.c78c1e51.js → OmniChat.3d03d97a.js} +2 -2
- abstra_statics/dist/assets/{OnboardingView.687780ed.js → OnboardingView.4b747af0.js} +2 -2
- abstra_statics/dist/assets/Organization.aab680aa.js +2 -0
- abstra_statics/dist/assets/{Organizations.fc123489.js → Organizations.2340795a.js} +2 -2
- abstra_statics/dist/assets/{PhArrowCounterClockwise.vue.6ab1b899.js → PhArrowCounterClockwise.vue.d9dd0137.js} +2 -2
- abstra_statics/dist/assets/{PhArrowSquareOut.vue.1cebb708.js → PhArrowSquareOut.vue.93df49c1.js} +2 -2
- abstra_statics/dist/assets/{PhClockCounterClockwise.vue.dae2e135.js → PhClockCounterClockwise.vue.f1f419a1.js} +2 -2
- abstra_statics/dist/assets/{PhCopy.vue.71703533.js → PhCopy.vue.e59eaa52.js} +2 -2
- abstra_statics/dist/assets/{PhCopySimple.vue.369eb629.js → PhCopySimple.vue.11467aaf.js} +2 -2
- abstra_statics/dist/assets/{PhCube.vue.f8549a9b.js → PhCube.vue.e29a6bae.js} +2 -2
- abstra_statics/dist/assets/PhDatabase.vue.e22926ed.js +2 -0
- abstra_statics/dist/assets/{PhDotsThreeVertical.vue.9d76c4de.js → PhDotsThreeVertical.vue.fff5caa8.js} +2 -2
- abstra_statics/dist/assets/PhDownloadSimple.vue.e11671c2.js +2 -0
- abstra_statics/dist/assets/{PhFileArrowUp.vue.406b22e3.js → PhFileArrowUp.vue.9f743e50.js} +2 -2
- abstra_statics/dist/assets/{PhFilePlus.vue.b180df90.js → PhFilePlus.vue.b2e51e09.js} +2 -2
- abstra_statics/dist/assets/{PhFolderPlus.vue.b18fd061.js → PhFolderPlus.vue.8742ea4d.js} +2 -2
- abstra_statics/dist/assets/{PhGear.vue.bed38929.js → PhGear.vue.1c3eb148.js} +2 -2
- abstra_statics/dist/assets/{PhKey.vue.6ef5fdd3.js → PhKey.vue.8702106e.js} +2 -2
- abstra_statics/dist/assets/{PhPencil.vue.0fc0fcc0.js → PhPencil.vue.74eafe52.js} +2 -2
- abstra_statics/dist/assets/{PhPencilSimple.vue.0707effd.js → PhPencilSimple.vue.87355169.js} +2 -2
- abstra_statics/dist/assets/{PhRocket.vue.761192f5.js → PhRocket.vue.d4a6ad6a.js} +2 -2
- abstra_statics/dist/assets/{PhSignOut.vue.8d8dfd96.js → PhSignOut.vue.83e5f761.js} +2 -2
- abstra_statics/dist/assets/{PhSparkle.vue.18ed0427.js → PhSparkle.vue.d2009d46.js} +2 -2
- abstra_statics/dist/assets/{PhTranslate.vue.00a17a08.js → PhTranslate.vue.bec980b1.js} +2 -2
- abstra_statics/dist/assets/{PhUsersThree.vue.d69f0723.js → PhUsersThree.vue.dd23f9fb.js} +2 -2
- abstra_statics/dist/assets/{PhWarningCircle.vue.20bfeba7.js → PhWarningCircle.vue.27414f28.js} +2 -2
- abstra_statics/dist/assets/{PhWebhooksLogo.vue.58a98824.js → PhWebhooksLogo.vue.ff084558.js} +2 -2
- abstra_statics/dist/assets/{PlayerConfigProvider.ad360920.js → PlayerConfigProvider.ca40f824.js} +2 -2
- abstra_statics/dist/assets/{PlayerNavbar.97e8dee9.js → PlayerNavbar.393e1a48.js} +2 -2
- abstra_statics/dist/assets/{Project.6c4642b5.js → Project.72b53439.js} +2 -2
- abstra_statics/dist/assets/{ProjectLogin.f92a038d.js → ProjectLogin.26c92806.js} +2 -2
- abstra_statics/dist/assets/{ProjectSettings.582746dc.js → ProjectSettings.70e7668b.js} +2 -2
- abstra_statics/dist/assets/{ProjectsView.a6b3674b.js → ProjectsView.83667357.js} +2 -2
- abstra_statics/dist/assets/{SaveButton.c3ad6e9b.js → SaveButton.56d96f71.js} +2 -2
- abstra_statics/dist/assets/ScrollArea.vue_vue_type_script_setup_true_lang.a29d9bc5.js +2 -0
- abstra_statics/dist/assets/{Sidebar.69f9369e.js → Sidebar.fd8a9f17.js} +2 -2
- abstra_statics/dist/assets/{Sql.cdefe5b9.js → Sql.92e57cd8.js} +4 -4
- abstra_statics/dist/assets/Steps.8d0493a8.js +2 -0
- abstra_statics/dist/assets/{TableCard.5462c89d.js → TableCard.75d256c8.js} +2 -2
- abstra_statics/dist/assets/{TableEditor.fcfa13de.js → TableEditor.de62b5ae.js} +2 -2
- abstra_statics/dist/assets/{Tables.4ee84a7c.js → Tables.f33c00ab.js} +2 -2
- abstra_statics/dist/assets/{TablesDiagram.b1d1579e.js → TablesDiagram.621aac9c.js} +3 -3
- abstra_statics/dist/assets/{TablesTabs.vue_vue_type_script_setup_true_lang.3e5206e0.js → TablesTabs.vue_vue_type_script_setup_true_lang.db87820d.js} +2 -2
- abstra_statics/dist/assets/{Tasks.fd2605bd.js → Tasks.e7e8affd.js} +2 -2
- abstra_statics/dist/assets/{UploadOutlined.64837788.js → UploadOutlined.76665096.js} +2 -2
- abstra_statics/dist/assets/{View.b144c5e3.js → View.2d181255.js} +2 -2
- abstra_statics/dist/assets/{View.vue_vue_type_script_setup_true_lang.c79117ce.js → View.vue_vue_type_script_setup_true_lang.c02bf815.js} +2 -2
- abstra_statics/dist/assets/{Watermark.c0756030.js → Watermark.34db0ee5.js} +2 -2
- abstra_statics/dist/assets/{WebEditor.774989ad.js → WebEditor.615c5ed3.js} +2 -2
- abstra_statics/dist/assets/WidgetPreview.d7362a8d.js +2 -0
- abstra_statics/dist/assets/WorkflowViewer.0a209003.css +1 -0
- abstra_statics/dist/assets/WorkflowViewer.e89c0824.js +2 -0
- abstra_statics/dist/assets/ant-design.24becb3a.js +2 -0
- abstra_statics/dist/assets/{apiKey.ee792d72.js → apiKey.846016a7.js} +2 -2
- abstra_statics/dist/assets/asyncComputed.78dd1715.js +2 -0
- abstra_statics/dist/assets/{build.6e7d77b3.js → build.8774fc90.js} +2 -2
- abstra_statics/dist/assets/colorHelpers.d8c19ea3.js +2 -0
- abstra_statics/dist/assets/{console.38bda98e.js → console.984bbe98.js} +2 -2
- abstra_statics/dist/assets/constants.3b7395d7.js +2 -0
- abstra_statics/dist/assets/contracts.generated.31740563.js +2 -0
- abstra_statics/dist/assets/{cssMode.408206bf.js → cssMode.f4a00eca.js} +2 -2
- abstra_statics/dist/assets/datetime.01b86df2.js +2 -0
- abstra_statics/dist/assets/dayjs.26942e0e.js +2 -0
- abstra_statics/dist/assets/editor.a6369f16.js +2 -0
- abstra_statics/dist/assets/editor.main.a0763b31.js +2 -0
- abstra_statics/dist/assets/fetch.33e85d9b.js +2 -0
- abstra_statics/dist/assets/{files.1c1692f5.js → files.c547743b.js} +2 -2
- abstra_statics/dist/assets/{folder.1b74b12c.js → folder.57131245.js} +2 -2
- abstra_statics/dist/assets/{freemarker2.e62e067c.js → freemarker2.7a4cfae0.js} +2 -2
- abstra_statics/dist/assets/{handlebars.604fc901.js → handlebars.db4a27de.js} +2 -2
- abstra_statics/dist/assets/{html.c02f177e.js → html.f4b3970c.js} +2 -2
- abstra_statics/dist/assets/{htmlMode.64078e03.js → htmlMode.631923d5.js} +2 -2
- abstra_statics/dist/assets/index.0a1e5d8b.js +2 -0
- abstra_statics/dist/assets/{index.015caad7.js → index.12c03275.js} +2 -2
- abstra_statics/dist/assets/{index.b91afb03.js → index.2141f0e8.js} +2 -2
- abstra_statics/dist/assets/{index.82590a75.js → index.2f74579e.js} +2 -2
- abstra_statics/dist/assets/{index.bec0ecd0.js → index.30fbc3f5.js} +2 -2
- abstra_statics/dist/assets/{index.a12eba98.js → index.6f45b384.js} +5 -5
- abstra_statics/dist/assets/{index.2ec95eae.js → index.7f04c017.js} +2 -2
- abstra_statics/dist/assets/{index.82842143.js → index.8e10d0e4.js} +2 -2
- abstra_statics/dist/assets/{index.b72cb2b3.js → index.fb17f22c.js} +2 -2
- abstra_statics/dist/assets/{javascript.57026f87.js → javascript.b2197abc.js} +3 -3
- abstra_statics/dist/assets/{jsonMode.9b45b375.js → jsonMode.8f2810a6.js} +2 -2
- abstra_statics/dist/assets/{jwt-decode.c5760184.css → jwt-decode.cfe2994b.css} +1 -1
- abstra_statics/dist/assets/{jwt-decode.esm.3348bca5.js → jwt-decode.esm.5ee65524.js} +88 -54
- abstra_statics/dist/assets/{linters.903f3240.js → linters.7d520e27.js} +2 -2
- abstra_statics/dist/assets/{liquid.233d5164.js → liquid.d3e68b2e.js} +3 -3
- abstra_statics/dist/assets/{member.d878cf3f.js → member.0ebe904c.js} +2 -2
- abstra_statics/dist/assets/{metadata.9f7495db.js → metadata.db332d21.js} +2 -2
- abstra_statics/dist/assets/{omniChatStore.40ad0b1b.js → omniChatStore.cf2158f0.js} +2 -2
- abstra_statics/dist/assets/{organization.8f08e075.js → organization.23b0aa74.js} +2 -2
- abstra_statics/dist/assets/{os.8ffdbf05.js → os.e0510e90.js} +2 -2
- abstra_statics/dist/assets/player.78bcc85c.js +2 -0
- abstra_statics/dist/assets/{plotly.min.da87d61b.js → plotly.min.f771780a.js} +2 -2
- abstra_statics/dist/assets/polling.5339a00f.js +2 -0
- abstra_statics/dist/assets/{project.2483de10.js → project.afe4bf99.js} +2 -2
- abstra_statics/dist/assets/{python.1bdbd404.js → python.d8c220ed.js} +3 -3
- abstra_statics/dist/assets/{razor.be821b87.js → razor.97fa5198.js} +3 -3
- abstra_statics/dist/assets/{record.a108da5a.js → record.dd367e66.js} +2 -2
- abstra_statics/dist/assets/redirect.970a0b6b.js +2 -0
- abstra_statics/dist/assets/{repository.48119e01.js → repository.214607cb.js} +2 -2
- abstra_statics/dist/assets/{repository.353e892d.js → repository.c874615c.js} +2 -2
- abstra_statics/dist/assets/{repository.677ca13c.js → repository.d889eafa.js} +2 -2
- abstra_statics/dist/assets/{router.c6e27700.js → router.9781de48.js} +5 -5
- abstra_statics/dist/assets/router.e3b4de3c.js +2 -0
- abstra_statics/dist/assets/{string.998fa621.js → string.0d721ad6.js} +2 -2
- abstra_statics/dist/assets/{tables.9701f90c.js → tables.45712b3f.js} +2 -2
- abstra_statics/dist/assets/tasksController.538cacf5.js +4 -0
- abstra_statics/dist/assets/{toggleHighContrast.23d5a1ab.js → toggleHighContrast.daf44fef.js} +7 -7
- abstra_statics/dist/assets/{tsMode.4558d65a.js → tsMode.b785363f.js} +2 -2
- abstra_statics/dist/assets/{typescript.4445d2fa.js → typescript.8bb42736.js} +3 -3
- abstra_statics/dist/assets/url.804625c6.js +2 -0
- abstra_statics/dist/assets/{useCodebaseEvents.6ebbc5a2.js → useCodebaseEvents.e9e5d343.js} +2 -2
- abstra_statics/dist/assets/useTables.2441f2b4.js +2 -0
- abstra_statics/dist/assets/userStore.9eb65729.js +2 -0
- abstra_statics/dist/assets/uuid.bc394306.js +2 -0
- abstra_statics/dist/assets/{vue-flow-background.f1022925.js → vue-flow-background.a4e5e1cd.js} +2 -2
- abstra_statics/dist/assets/{vue-flow-core.0de753a6.js → vue-flow-core.bc9175da.js} +2 -2
- abstra_statics/dist/assets/{vue-quill.esm-bundler.8f4ad2b3.js → vue-quill.esm-bundler.12c58800.js} +2 -2
- abstra_statics/dist/assets/{workspaceStore.5d3f2aec.js → workspaceStore.18d1ed9a.js} +2 -2
- abstra_statics/dist/assets/{xml.8a25758b.js → xml.1dacd023.js} +3 -3
- abstra_statics/dist/assets/{yaml.e466330b.js → yaml.e841ac1c.js} +3 -3
- abstra_statics/dist/console.html +15 -15
- abstra_statics/dist/editor.html +14 -14
- abstra_statics/dist/player.html +10 -10
- abstra_statics/dist/assets/AbstraLogo.vue_vue_type_script_setup_true_lang.1035457c.js +0 -2
- abstra_statics/dist/assets/App.9ab9cabb.js +0 -2
- abstra_statics/dist/assets/App.vue_vue_type_style_index_0_lang.6713c9c9.js +0 -2
- abstra_statics/dist/assets/BaseLayout.28c01b5b.js +0 -2
- abstra_statics/dist/assets/Billing.f9062d88.js +0 -2
- abstra_statics/dist/assets/CrudView.57e8b29a.js +0 -2
- abstra_statics/dist/assets/EnvVars.883a4a57.js +0 -2
- abstra_statics/dist/assets/ExclamationCircleOutlined.2441b96e.js +0 -2
- abstra_statics/dist/assets/Form.5d562f15.js +0 -2
- abstra_statics/dist/assets/Form.7493bc0a.css +0 -1
- abstra_statics/dist/assets/FormRunner.2b1b3c45.js +0 -2
- abstra_statics/dist/assets/Home.8502aa41.js +0 -2
- abstra_statics/dist/assets/LoadingContainer.ac03ea28.js +0 -2
- abstra_statics/dist/assets/LoadingOutlined.4c40acc4.js +0 -2
- abstra_statics/dist/assets/Login.8bd6a07a.js +0 -2
- abstra_statics/dist/assets/Logo.fc8ace6c.js +0 -2
- abstra_statics/dist/assets/Main.e6b2d2d5.js +0 -2
- abstra_statics/dist/assets/MockForm.e410c2c1.css +0 -1
- abstra_statics/dist/assets/Navbar.24019fd6.js +0 -2
- abstra_statics/dist/assets/NewEditor.2b6f4ed3.js +0 -8
- abstra_statics/dist/assets/OidcLoginCallback.987cebba.js +0 -2
- abstra_statics/dist/assets/OidcLogoutCallback.6c00d878.js +0 -2
- abstra_statics/dist/assets/Organization.0ac1bf79.js +0 -2
- abstra_statics/dist/assets/PhDatabase.vue.0d3246d7.js +0 -2
- abstra_statics/dist/assets/PhDownloadSimple.vue.21156b6d.js +0 -2
- abstra_statics/dist/assets/ScrollArea.vue_vue_type_script_setup_true_lang.62178939.js +0 -2
- abstra_statics/dist/assets/Steps.82252fc0.js +0 -2
- abstra_statics/dist/assets/WidgetPreview.4fd6afc0.js +0 -2
- abstra_statics/dist/assets/WorkflowViewer.2666936e.js +0 -2
- abstra_statics/dist/assets/WorkflowViewer.3b6aee8e.css +0 -1
- abstra_statics/dist/assets/ant-design.b3eefa58.js +0 -2
- abstra_statics/dist/assets/asyncComputed.c73d027a.js +0 -2
- abstra_statics/dist/assets/colorHelpers.5ee17d14.js +0 -2
- abstra_statics/dist/assets/constants.be8ad36c.js +0 -2
- abstra_statics/dist/assets/contracts.generated.f01de5a3.js +0 -2
- abstra_statics/dist/assets/datetime.a6d58ce1.js +0 -2
- abstra_statics/dist/assets/dayjs.703ebc20.js +0 -2
- abstra_statics/dist/assets/editor.a77b56bd.js +0 -2
- abstra_statics/dist/assets/editor.main.a1ebf0ab.js +0 -2
- abstra_statics/dist/assets/fetch.cd29ef4c.js +0 -2
- abstra_statics/dist/assets/index.5197afb2.js +0 -2
- abstra_statics/dist/assets/player.7112583e.js +0 -2
- abstra_statics/dist/assets/polling.f547718c.js +0 -2
- abstra_statics/dist/assets/redirect.eedb2bf6.js +0 -2
- abstra_statics/dist/assets/router.c7abfb0c.js +0 -2
- abstra_statics/dist/assets/tasksController.5db769f7.js +0 -4
- abstra_statics/dist/assets/url.5d02a63f.js +0 -2
- abstra_statics/dist/assets/useTables.4d5edd80.js +0 -2
- abstra_statics/dist/assets/userStore.34b8f1eb.js +0 -2
- abstra_statics/dist/assets/uuid.6980e2bb.js +0 -2
- {abstra-3.24.3.dist-info → abstra-3.24.4.dist-info}/WHEEL +0 -0
- {abstra-3.24.3.dist-info → abstra-3.24.4.dist-info}/entry_points.txt +0 -0
- {abstra-3.24.3.dist-info → abstra-3.24.4.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{x as s,y as d,z as t,B as m}from"./jwt-decode.esm.5ee65524.js";import{a as u}from"./workspaceStore.18d1ed9a.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},a=new Error().stack;a&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[a]="c008f1a0-ac38-4d2f-bf0c-eecb8f68243c",e._sentryDebugIdIdentifier="sentry-dbid-c008f1a0-ac38-4d2f-bf0c-eecb8f68243c")}catch{}})();const h=async()=>{try{const e=await fetch("/_editor/api/workspace/version");return e.ok&&(await e.json()).version||"c3cfbc3c438c3f3bbbb2062b30a9e01fdc101a9a"}catch(e){return console.error("Failed to fetch Abstra version:",e),"c3cfbc3c438c3f3bbbb2062b30a9e01fdc101a9a"}},p=[{path:"/oidc-login-callback",name:"oidcLoginCallback",component:()=>t(()=>import("./OidcLoginCallback.7ed0c484.js"),["assets/OidcLoginCallback.7ed0c484.js","assets/workspaceStore.18d1ed9a.js","assets/jwt-decode.esm.5ee65524.js","assets/jwt-decode.cfe2994b.css","assets/userStore.9eb65729.js","assets/url.804625c6.js","assets/colorHelpers.d8c19ea3.js"]),meta:{allowUnauthenticated:!0}},{path:"/oidc-logout-callback",name:"oidcLogoutCallback",component:()=>t(()=>import("./OidcLogoutCallback.7303c2ab.js"),["assets/OidcLogoutCallback.7303c2ab.js","assets/workspaceStore.18d1ed9a.js","assets/jwt-decode.esm.5ee65524.js","assets/jwt-decode.cfe2994b.css","assets/userStore.9eb65729.js","assets/url.804625c6.js","assets/colorHelpers.d8c19ea3.js"]),meta:{allowUnauthenticated:!0}},{path:"/login",name:"playerLogin",component:()=>t(()=>import("./Login.de9c56a5.js"),["assets/Login.de9c56a5.js","assets/Login.vue_vue_type_script_setup_true_lang.8d4054f1.js","assets/jwt-decode.esm.5ee65524.js","assets/jwt-decode.cfe2994b.css","assets/workspaceStore.18d1ed9a.js","assets/userStore.9eb65729.js","assets/url.804625c6.js","assets/colorHelpers.d8c19ea3.js","assets/CircularLoading.9f9e733d.js","assets/CircularLoading.a8fe2dc6.css","assets/Logo.3f68eae2.js","assets/Logo.b7d81119.css","assets/string.0d721ad6.js","assets/index.30fbc3f5.js","assets/Login.ac75228f.css","assets/Login.3b76812d.css"]),meta:{allowUnauthenticated:!0}},{path:"/",name:"main",component:()=>t(()=>import("./Main.a79ded11.js"),["assets/Main.a79ded11.js","assets/PlayerNavbar.393e1a48.js","assets/userStore.9eb65729.js","assets/jwt-decode.esm.5ee65524.js","assets/jwt-decode.cfe2994b.css","assets/workspaceStore.18d1ed9a.js","assets/url.804625c6.js","assets/colorHelpers.d8c19ea3.js","assets/metadata.db332d21.js","assets/PhWebhooksLogo.vue.ff084558.js","assets/LoadingOutlined.3c83d190.js","assets/PhSignOut.vue.83e5f761.js","assets/index.2141f0e8.js","assets/PlayerNavbar.4dc29a45.css","assets/Main.201c14c9.css"]),redirect:{name:"main"},children:[{path:"",name:"playerHome",component:()=>t(()=>import("./Home.c4610516.js"),["assets/Home.c4610516.js","assets/metadata.db332d21.js","assets/jwt-decode.esm.5ee65524.js","assets/jwt-decode.cfe2994b.css","assets/PhWebhooksLogo.vue.ff084558.js","assets/Watermark.34db0ee5.js","assets/workspaceStore.18d1ed9a.js","assets/userStore.9eb65729.js","assets/url.804625c6.js","assets/colorHelpers.d8c19ea3.js","assets/constants.3b7395d7.js","assets/Watermark.b0916e90.css","assets/PhArrowSquareOut.vue.93df49c1.js","assets/index.fb17f22c.js","assets/Card.0899e9af.js","assets/LoadingOutlined.3c83d190.js","assets/Home.e8bf9440.css"]),meta:{title:"Home"}},{path:"_player/threads",redirect:{name:"playerThreads"}},{path:"error/:status",name:"error",component:()=>t(()=>import("./Error.8fd45945.js"),["assets/Error.8fd45945.js","assets/AbstraLogo.vue_vue_type_script_setup_true_lang.9c4020b5.js","assets/Logo.3f68eae2.js","assets/jwt-decode.esm.5ee65524.js","assets/jwt-decode.cfe2994b.css","assets/Logo.b7d81119.css","assets/constants.3b7395d7.js","assets/workspaceStore.18d1ed9a.js","assets/userStore.9eb65729.js","assets/url.804625c6.js","assets/colorHelpers.d8c19ea3.js","assets/Card.0899e9af.js","assets/Error.ef2624eb.css"]),meta:{allowUnauthenticated:!0}},{path:":path(.*)*",name:"form",component:()=>t(()=>import("./Form.4047a0fe.js"),["assets/Form.4047a0fe.js","assets/userStore.9eb65729.js","assets/jwt-decode.esm.5ee65524.js","assets/jwt-decode.cfe2994b.css","assets/FormRunner.8d0c448a.js","assets/Login.vue_vue_type_script_setup_true_lang.8d4054f1.js","assets/workspaceStore.18d1ed9a.js","assets/url.804625c6.js","assets/colorHelpers.d8c19ea3.js","assets/CircularLoading.9f9e733d.js","assets/CircularLoading.a8fe2dc6.css","assets/Logo.3f68eae2.js","assets/Logo.b7d81119.css","assets/string.0d721ad6.js","assets/index.30fbc3f5.js","assets/Login.ac75228f.css","assets/Steps.8d0493a8.js","assets/index.8e10d0e4.js","assets/Steps.2880920a.css","assets/Watermark.34db0ee5.js","assets/constants.3b7395d7.js","assets/Watermark.b0916e90.css","assets/FormRunner.1e6e7d2a.css","assets/redirect.970a0b6b.js","assets/asyncComputed.78dd1715.js","assets/uuid.bc394306.js","assets/Form.7d1b0423.css"]),meta:{hideLogin:!0}}]}],o=s({history:d("/"),routes:p,scrollBehavior(e){if(e.hash)return{el:e.hash}}}),l=e=>async(a,r)=>{if(m(a,r),a.meta.allowUnauthenticated)return;const c=await u(a.path),{redirect:n,...i}=a.query;switch(c.status){case"ALLOWED":break;case"UNAUTHORIZED":await e.push({name:"playerLogin",query:{...i,redirect:n||a.path},params:a.params});break;case"NOT_FOUND":await e.push({name:"error",params:{status:"404"}});break;default:await e.push({name:"error",params:{status:"403"}})}};o.beforeEach(l(o));export{h as a,o as b,l as g,p as r};
|
|
2
|
+
//# sourceMappingURL=router.e3b4de3c.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Z as d}from"./jwt-decode.esm.
|
|
2
|
-
//# sourceMappingURL=string.
|
|
1
|
+
import{Z as d}from"./jwt-decode.esm.5ee65524.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},t=new Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8517a26d-38c9-4205-9037-7d3d9e05a6b4",e._sentryDebugIdIdentifier="sentry-dbid-8517a26d-38c9-4205-9037-7d3d9e05a6b4")}catch{}})();function h(e){return d.string().email().safeParse(e).success}function p(e){return e.charAt(0).toUpperCase()+e.slice(1)}function w(e,t,r=!1,a=!0,s=!1,n=!0){const o=(a?e.toLocaleLowerCase():e).normalize("NFD").replace(/[\u0300-\u036f]/g,""),i=`a-zA-Z0-9${s?"/":""}${n?"-":""}`,c=new RegExp(`[^${i}]`,"g"),l=o.replace(c,"_"),f=r?l:l.replace(/_+/g,"_");return t?f:f.replace(/_$/,"")}function b(e){var n;const r=e.toLocaleLowerCase().trim().normalize("NFD").replace(/[\u0300-\u036f]/g,""),a=/[a-z0-9]+/g,s=r.match(a);return(n=s==null?void 0:s.join("-"))!=null?n:""}function m(e,t){if(e.length===0||t.length===0)return!1;const r=e.toLowerCase(),a=t.toLowerCase();return r.split("").reduce((n,u)=>{var i;if(n===!1)return!1;const o=(i=n[n.length-1])!=null?i:null;if(o===null){const c=a.indexOf(u);return c===-1?!1:[c]}else{const l=a.slice(o+1).indexOf(u);return l===-1?!1:[...n,o+1+l]}},[])}function y(e){let t=0;for(let r=0;r<e.length;r++){const a=e.charCodeAt(r);t=(t<<5)-t+a,t=t&t}return t}export{w as a,p as c,m as f,y as h,h as i,b as n};
|
|
2
|
+
//# sourceMappingURL=string.0d721ad6.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var j=Object.defineProperty;var w=(s,e,t)=>e in s?j(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var
|
|
2
|
-
//# sourceMappingURL=tables.
|
|
1
|
+
var j=Object.defineProperty;var w=(s,e,t)=>e in s?j(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var i=(s,e,t)=>(w(s,typeof e!="symbol"?e+"":e,t),t);import{k as n}from"./router.9781de48.js";import{E as y}from"./record.dd367e66.js";import{a as h}from"./string.0d721ad6.js";import{Z as o}from"./jwt-decode.esm.5ee65524.js";(function(){try{var s=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},e=new Error().stack;e&&(s._sentryDebugIds=s._sentryDebugIds||{},s._sentryDebugIds[e]="4a78c70f-bd49-451d-80c5-25aba52ca30e",s._sentryDebugIdIdentifier="sentry-dbid-4a78c70f-bd49-451d-80c5-25aba52ca30e")}catch{}})();o.object({name:o.string().optional(),unique:o.boolean().optional(),nullable:o.boolean().optional(),type:o.object({newType:o.string(),using:o.string()}).optional(),default:o.string().optional(),foreignKey:o.object({columnId:o.string()}).nullish().optional()});const $={boolean:["boolean","bool"],int:["int","integer","int4"],varchar:["varchar","character varying"],json:["json"],jsonb:["jsonb"],date:["date"],timestamp:["timestamp","timestamp with time zone","timestamptz"],uuid:["uuid"],real:["real","float4","float8","double precision"],numeric:["numeric","decimal"],text:["text"],bigint:["bigint","int8"],smallint:["smallint","int2"]},T=s=>{for(const e of C)if($[e].includes(s))return e;throw new Error(`Unknown type: ${s}`)};class D{async create(e){return n.post(`projects/${e.projectId}/tables/${e.tableId}/columns`,e)}async delete(e){return n.delete(`projects/${e.projectId}/tables/${e.tableId}/columns/${e.id}`)}async update(e,t){return n.patch(`projects/${e.projectId}/tables/${e.tableId}/columns/${e.id}`,t)}async getById(e){return n.get(`projects/${e.projectId}/columns/${e.id}`)}}const g=new D,p=class{constructor(e){i(this,"record");this.record=y.from(e)}static async create(e,t,r,d,l,b,f,I){const m=await g.create({name:e,type:t,default:r,nullable:d,unique:l,tableId:b,projectId:f,foreignKey:I});return"error"in m?m:new p(m)}async update(e){const t={...this.record.changes,type:this.record.changes.type&&e?{newType:this.record.changes.type,using:e}:void 0};return Object.keys(t).length===0||!this.id?{success:!0,error:""}:(await g.update({id:this.id,tableId:this.tableId,projectId:this.projectId},t),{success:!0,error:""})}toDTO(){return this.record.state}get id(){return this.record.get("id")}get tableId(){return this.record.get("tableId")}get projectId(){return this.record.get("projectId")}get protected(){return this.record.get("protected")}get type(){return T(this.record.get("type"))}set type(e){this.record.set("type",e)}get name(){return this.record.get("name")}set name(e){this.record.set("name",e)}get nullable(){return this.record.get("nullable")}set nullable(e){this.record.set("nullable",e)}get unique(){return this.record.get("unique")}set unique(e){this.record.set("unique",e)}get primaryKey(){return this.record.get("primaryKey")}get default(){var e;return(e=this.record.get("default"))==null?void 0:e.split("::")[0]}set default(e){this.record.set("default",e)}get foreignKey(){return this.record.get("foreignKey")}set foreignKey(e){this.record.set("foreignKey",e)}async delete(){this.id&&await g.delete({id:this.id,tableId:this.tableId,projectId:this.projectId})}};let c=p;i(c,"fromDTO",e=>new p(e)),i(c,"fromID",async(e,t)=>{const r=await g.getById({projectId:e,id:t});return p.fromDTO(r.column)});const C=["varchar","int","boolean","json","jsonb","date","timestamp","uuid","real","numeric","text","bigint","smallint"],B={varchar:"'DEFAULT_VALUE'",int:"",boolean:"false",json:"'{}'::json",jsonb:"'{}'::jsonb",date:"now()",timestamp:"now()",uuid:"gen_random_uuid()",real:"0.0",numeric:"0",text:"'DEFAULT_VALUE'",bigint:"0",smallint:"0"};class R{async list(e){return n.get(`projects/${e}/tables`)}async create(e,t){return await n.post(`projects/${e.projectId}/tables`,t)}async get(e){return n.get(`projects/${e.projectId}/tables/${e.tableId}`)}async delete(e){return n.delete(`projects/${e.projectId}/tables/${e.tableId}`)}async selectRows(e){return n.get(`projects/${e.projectId}/tables/${e.tableId}/rows`,{limit:e.limit.toString(),offset:e.offset.toString(),search:e.search,where:JSON.stringify(e.where),orderBy:JSON.stringify(e.orderBy)})}async update(e,t){return n.patch(`projects/${e.projectId}/tables/${e.tableId}`,t)}async insertRow(e,t){return n.post(`projects/${e.projectId}/tables/${e.tableId}/rows`,t)}async updateRow(e,t){return n.patch(`projects/${e.projectId}/tables/${e.tableId}/rows/${e.rowId}`,t)}async deleteRow(e){return n.delete(`projects/${e.projectId}/tables/${e.tableId}/rows/${e.rowId}`)}async getByColumnID(e){return n.get(`projects/${e.projectId}/columns/${e.columnId}`)}}const a=new R;class u{constructor(e,t){i(this,"record");i(this,"columns");this.projectId=e,this.record=y.from(t),this.columns=t.columns.map(r=>c.fromDTO({...r,projectId:t.projectId}))}static async list(e){return(await a.list(e)).map(r=>new u(e,r))}static async fromColumnId(e,t){const r=await a.getByColumnID({projectId:e,columnId:t});return u.get(e,r.table.id)}static async create(e,t,r){const d=h(t,!1),l=await a.create({projectId:e},{name:d,id:r});return new u(e,l)}static async get(e,t){const r=await a.get({projectId:e,tableId:t});return new u(e,{...r.table,columns:r.columns})}async delete(e,t){return a.delete({projectId:e,tableId:t})}fixTraillingName(){this.name=h(this.name,!1)}async save(){if(Object.keys(this.record.changes).length!==0){this.record.changes.name&&this.fixTraillingName();try{await a.update({id:this.id,tableId:this.id,projectId:this.projectId},this.record.changes)}finally{this.record.resetChanges()}}}resetChanges(){this.record.resetChanges()}onUpdate(e){this.record.pubsub.subscribe("update",e)}hasChanges(){return this.record.hasChanges()}hasChangesDeep(e){return this.record.hasChangesDeep(e)&&h(this.name,!1)!==this.record.initialState.name}getColumns(){var e;return(e=this.columns)!=null?e:[]}getUnprotectedColumns(){var e,t;return(t=(e=this.columns)==null?void 0:e.filter(r=>!r.protected).map(r=>r.toDTO()))!=null?t:[]}get id(){return this.record.get("id")}get name(){return this.record.get("name")}set name(e){const t=h(e,!0);this.record.set("name",t)}async addColumn(e){const t=await c.create(e.name,e.type,e.default,e.nullable,e.unique,this.id,this.projectId,e.foreignKey);return"error"in t?{success:!1,error:t.error}:this.columns?(this.columns.push(t),{success:!0,error:""}):(this.columns=[t],{success:!0,error:""})}getColumn(e){var t;return(t=this.columns)==null?void 0:t.find(r=>r.id&&r.id===e)}async select(e={},t,r,d,l){return a.selectRows({name:this.name,where:e,tableId:this.id,projectId:this.projectId,limit:r,offset:t,search:d,orderBy:l})}async insertRow(e){return a.insertRow({tableId:this.id,projectId:this.projectId},e)}async updateRow(e,t){return a.updateRow({tableId:this.id,projectId:this.projectId,rowId:e},t)}async deleteRow(e){return a.deleteRow({tableId:this.id,projectId:this.projectId,rowId:e})}}export{c as C,u as T,B as d,C as p};
|
|
2
|
+
//# sourceMappingURL=tables.45712b3f.js.map
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
var V=Object.defineProperty;var z=(o,t,e)=>t in o?V(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e;var f=(o,t,e)=>(z(o,typeof t!="symbol"?t+"":t,e),e);import{r as O,c as G,en as K,al as Q,i as u,w as W}from"./jwt-decode.esm.5ee65524.js";import"./contracts.generated.31740563.js";import{A as v}from"./record.dd367e66.js";import"./linters.7d520e27.js";import{u as X}from"./polling.5339a00f.js";(function(){try{var o=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},t=new Error().stack;t&&(o._sentryDebugIds=o._sentryDebugIds||{},o._sentryDebugIds[t]="d0b043ae-c055-406a-b70a-eb3816c38135",o._sentryDebugIdIdentifier="sentry-dbid-d0b043ae-c055-406a-b70a-eb3816c38135")}catch{}})();class Y{async list(){return await(await fetch("/_editor/api/forms")).json()}async create(t,e,r,i){return await(await fetch("/_editor/api/forms",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:t,file:e,position:r,id:i})})).json()}async get(t){try{return await(await fetch(`/_editor/api/forms/${t}`)).json()}catch{return null}}async update(t,e){return await(await fetch(`/_editor/api/forms/${t}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})).json()}async delete(t,e){const r=e?"?remove_file=true":"",i=`/_editor/api/forms/${t}`+r;await fetch(i,{method:"DELETE",headers:{"Content-Type":"application/json"}})}async duplicate(t){return await(await fetch(`/_editor/api/forms/${t}/duplicate`,{method:"POST"})).json()}}const m=new Y;class w{constructor(t){f(this,"record");this.record=v.create(m,t)}static async list(){return(await m.list()).map(e=>new w(e))}static async create(t,e,r,i){const s=await m.create(t,e,r,i);return new w(s)}static async get(t){const e=await m.get(t);return e?new w(e):null}get id(){return this.record.get("id")}get type(){return"form"}get file(){return this.record.get("file")}set file(t){this.record.set("file",t)}get autoStart(){return this.record.get("auto_start")}set autoStart(t){this.record.set("auto_start",t)}get endMessage(){return this.record.get("end_message")}set endMessage(t){this.record.set("end_message",t)}get errorMessage(){return this.record.get("error_message")}set errorMessage(t){this.record.set("error_message",t)}get path(){return this.record.get("path")}set path(t){this.record.set("path",t)}get startButtonText(){return this.record.get("start_button_text")}set startButtonText(t){this.record.set("start_button_text",t)}get startMessage(){return this.record.get("start_message")}set startMessage(t){this.record.set("start_message",t)}get timeoutMessage(){return this.record.get("timeout_message")}set timeoutMessage(t){this.record.set("timeout_message",t)}get notificationTrigger(){return new Proxy(this.record.get("notification_trigger"),{set:(t,e,r)=>(this.record.set("notification_trigger",{...t,[e]:r}),!0)})}set notificationTrigger(t){this.record.set("notification_trigger",t)}get(t){return this.record.get(t)}set(t,e){this.record.set(t,e)}get title(){return this.record.get("title")}set title(t){this.record.set("title",t)}get codeContent(){return this.record.get("code_content")}set codeContent(t){this.record.set("code_content",t)}async save(t){const e=this.codeContent;await this.record.save(t),this.record.updateInitialState("code_content",e)}onUpdate(t){this.record.pubsub.subscribe("update",t)}hasChanges(t){return this.record.hasChanges(t)}hasChangesDeep(t){return this.record.hasChangesDeep(t)}getInitialState(t){return this.record.getInitialState(t)}updateInitialState(t,e){this.record.updateInitialState(t,e)}async delete(t){await m.delete(this.id,t)}async duplicate(){const t=await m.duplicate(this.id);return new w(t)}makeRunnerData(t){return{...t.makeRunnerData(),id:this.id,isLocal:!0,path:this.path,title:this.title,isInitial:this.isInitial,runtimeType:"form",autoStart:this.autoStart,endMessage:this.endMessage,errorMessage:this.errorMessage,startMessage:this.startMessage,timeoutMessage:this.timeoutMessage,startButtonText:this.startButtonText}}get position(){const[t,e]=this.record.get("workflow_position");return{x:t,y:e}}get isInitial(){return this.record.get("is_initial")}static from(t){return new w(t)}}class Z{async list(){return await(await fetch("/_editor/api/hooks")).json()}async create(t,e,r,i){return await(await fetch("/_editor/api/hooks",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:t,file:e,position:r,id:i})})).json()}async get(t){try{return await(await fetch(`/_editor/api/hooks/${t}`)).json()}catch{return null}}async update(t,e){return await(await fetch(`/_editor/api/hooks/${t}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})).json()}async delete(t,e){const r=e?"?remove_file=true":"",i=`/_editor/api/hooks/${t}`+r;await fetch(i,{method:"DELETE",headers:{"Content-Type":"application/json"}})}async run(t,e){const r=new URLSearchParams(e.query),i=await fetch(`/_editor/api/hooks/${t}/run?${r.toString()}`,{method:e.method,headers:{"Content-Type":"application/json",...e.headers},body:e.method==="GET"?void 0:e.body}),{status:s,headers:d,body:h}=await i.json();return{status:s,headers:d,body:h}}}const S=new Z;class _{constructor(t){f(this,"record");this.record=v.create(S,t)}static async list(){return(await S.list()).map(e=>new _(e))}static async create(t,e,r,i){const s=await S.create(t,e,r,i);return new _(s)}static async get(t){const e=await S.get(t);return e?new _(e):null}async delete(t){await S.delete(this.id,t)}async duplicate(){return this}async save(t){const e=this.codeContent;await this.record.save(t),this.record.updateInitialState("code_content",e)}onUpdate(t){this.record.pubsub.subscribe("update",t)}hasChanges(t){return this.record.hasChanges(t)}getInitialState(t){return this.record.getInitialState(t)}updateInitialState(t,e){this.record.updateInitialState(t,e)}get id(){return this.record.get("id")}get type(){return"hook"}get path(){return this.record.get("path")}set path(t){this.record.set("path",t)}get title(){return this.record.get("title")}set title(t){this.record.set("title",t)}get codeContent(){return this.record.get("code_content")}set codeContent(t){this.record.set("code_content",t)}get file(){return this.record.get("file")}set file(t){this.record.set("file",t)}async run(t){return S.run(this.id,t)}get position(){const[t,e]=this.record.get("workflow_position");return{x:t,y:e}}get isInitial(){return this.record.get("is_initial")}static from(t){return new _(t)}}class q{async list(){return await(await fetch("/_editor/api/jobs")).json()}async create(t,e,r,i){return await(await fetch("/_editor/api/jobs",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:t,file:e,position:r,id:i})})).json()}async get(t){try{return await(await fetch(`/_editor/api/jobs/${t}`)).json()}catch{return null}}async update(t,e){return await(await fetch(`/_editor/api/jobs/${t}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})).json()}async delete(t,e){const r=e?"?remove_file=true":"",i=`/_editor/api/jobs/${t}`+r;await fetch(i,{method:"DELETE",headers:{"Content-Type":"application/json"}})}async run(t){return(await fetch(`/_editor/api/jobs/${t}/run`,{method:"POST",headers:{"Content-Type":"application/json"}})).ok}}const T=new q;class I{constructor(t){f(this,"record");f(this,"isInitial",!0);this.record=v.create(T,t)}static async list(){return(await T.list()).map(e=>new I(e))}static async create(t,e,r,i){const s=await T.create(t,e,r,i);return new I(s)}static async get(t){const e=await T.get(t);return e?new I(e):null}async delete(t){await T.delete(this.id,t)}async duplicate(){return this}async save(t){const e=this.codeContent;await this.record.save(t),this.record.updateInitialState("code_content",e)}onUpdate(t){this.record.pubsub.subscribe("update",t)}hasChanges(t){return this.record.hasChanges(t)}getInitialState(t){return this.record.getInitialState(t)}updateInitialState(t,e){this.record.updateInitialState(t,e)}get schedule(){return this.record.get("schedule")}set schedule(t){this.record.set("schedule",t)}get type(){return"job"}get title(){return this.record.get("title")}set title(t){this.record.set("title",t)}get codeContent(){return this.record.get("code_content")}set codeContent(t){this.record.set("code_content",t)}get file(){return this.record.get("file")}set file(t){this.record.set("file",t)}get id(){return this.record.get("id")}async run(){return T.run(this.id)}get position(){const[t,e]=this.record.get("workflow_position");return{x:t,y:e}}static from(t){return new I(t)}hasChangesDeep(t){return this.record.hasChangesDeep(t)}}class F{async list(){return await(await fetch("/_editor/api/scripts")).json()}async create(t,e,r,i){return await(await fetch("/_editor/api/scripts",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:t,file:e,position:r,id:i})})).json()}async get(t){try{return await(await fetch(`/_editor/api/scripts/${t}`)).json()}catch{return null}}async update(t,e){return await(await fetch(`/_editor/api/scripts/${t}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})).json()}async delete(t,e){const r=e?"?remove_file=true":"",i=`/_editor/api/scripts/${t}`+r;await fetch(i,{method:"DELETE",headers:{"Content-Type":"application/json"}})}async run(t,e){return(await fetch(`/_editor/api/scripts/${t}/run`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({task_id:e})})).ok}}const b=new F;class C{constructor(t){f(this,"record");this.record=v.create(b,t)}static async list(){return(await b.list()).map(e=>new C(e))}static async create(t,e,r,i){const s=await b.create(t,e,r,i);return new C(s)}static async get(t){const e=await b.get(t);return e?new C(e):null}async delete(t){await b.delete(this.id,t)}async duplicate(){return this}async save(t){const e=this.codeContent;await this.record.save(t),this.record.updateInitialState("code_content",e)}onUpdate(t){this.record.pubsub.subscribe("update",t)}hasChanges(t){return this.record.hasChanges(t)}getInitialState(t){return this.record.getInitialState(t)}updateInitialState(t,e){this.record.updateInitialState(t,e)}get id(){return this.record.get("id")}get codeContent(){return this.record.get("code_content")}set codeContent(t){this.record.set("code_content",t)}get title(){return this.record.get("title")}set title(t){this.record.set("title",t)}get type(){return"tasklet"}get file(){return this.record.get("file")}set file(t){this.record.set("file",t)}get path(){return this.record.get("path")}set path(t){this.record.set("path",t)}async run(t){return b.run(this.id,t)}get position(){const[t,e]=this.record.get("workflow_position");return{x:t,y:e}}get isInitial(){return!1}static from(t){return new C(t)}}function H({api:o,fetchTasks:t}){const e=O({state:"idle"}),r=()=>{e.value={state:"idle"}},i=()=>{e.value={state:"creating",name:"My task",payloadCode:`{
|
|
2
|
+
"key": "value"
|
|
3
|
+
}`}},s=async h=>{const g=e.value;if(g.state!=="creating")throw new Error("Payload is required to create a task");if(!d.value)return;const c=JSON.parse(g.payloadCode),p=await o.createTask(g.name,h,c);return await t(),r(),p},d=G(()=>{const h=e.value;if(h.state!=="creating")return!1;try{const g=JSON.parse(h.payloadCode);return K.exports.isObject(g)}catch{return!1}});return{createTask:s,creatingTaskState:e,cancelCreatingTask:r,startCreatingTask:i,isPayloadValid:d}}const x=["pink","orange","green","blue","purple","red","cyan","magenta","volcano","gold"],ot=({api:o,poll:t,stageId:e,status:r,stages:i})=>{const s=Q({tasks:[],sentTasks:[],colorMap:new Map,pagination:{currentIndex:0,pageSize:10,totalCount:0},filters:{stage:e,status:r,dateRange:void 0},filterOptions:{stages:[],statuses:[{label:u.translate("i18n_tasksview_status_pending"),value:"pending"},{label:u.translate("i18n_tasksview_status_running"),value:"started"},{label:u.translate("i18n_tasksview_status_completed"),value:"completed"}]}}),d=[{name:"setToPending",label:u.translate("i18n_tasksview_action_set_to_pending"),handler:()=>{s.tasks.filter(a=>a.checked).map(a=>a.id).forEach(a=>E(a))}},{name:"setToCompleted",label:u.translate("i18n_tasksview_action_set_to_completed"),handler:()=>{s.tasks.filter(a=>a.checked).map(a=>a.id).forEach(a=>P(a))}},{name:"duplicate",label:u.translate("i18n_tasksview_action_duplicate"),handler:()=>{s.tasks.filter(a=>a.checked).forEach(async a=>{await o.createTask(a.type,a.targetStageId,a.payload),c()})}}],h=O(["pending"]),g=n=>{const a=s.tasks.findIndex(y=>y.id===n.id);a!==-1?s.tasks[a]=n:s.tasks.unshift(n)},c=async()=>{const n=e?await o.getStageTasks(e):await o.getAllTasks(s.pagination,s.filters);s.tasks=n.tasks.map(a=>({key:a.id,id:a.id,type:a.type,status:a.status,targetStageId:a.targetStageId,targetStageTitle:a.targetStageTitle,targetStageType:a.targetStageType,sourceStageTitle:a.sourceStageTitle,sourceStageType:a.sourceStageType,created:{at:new Date(a.created.at).toString(),byExecutionId:a.created.byExecutionId,byStageId:a.created.byStageId},locked:a.locked?{at:new Date(a.locked.at).toString(),byExecutionId:a.locked.byExecutionId,byStageId:a.locked.byStageId}:null,completed:a.completed?{at:new Date(a.completed.at).toString(),byExecutionId:a.completed.byExecutionId,byStageId:a.completed.byStageId}:null,payload:a.payload,checked:!1})),s.pagination.totalCount=n.totalCount},p=async()=>{if(!e)return[];const n=await o.getSentStageTasks(e);s.sentTasks=n.tasks.map(a=>({key:a.id,id:a.id,type:a.type,status:a.status,targetStageId:a.targetStageId,targetStageTitle:a.targetStageTitle,targetStageType:a.targetStageType,sourceStageTitle:a.sourceStageTitle,sourceStageType:a.sourceStageType,created:{at:new Date(a.created.at).toString(),byExecutionId:a.created.byExecutionId,byStageId:a.created.byStageId},locked:a.locked?{at:new Date(a.locked.at).toString(),byExecutionId:a.locked.byExecutionId,byStageId:a.locked.byStageId}:null,completed:a.completed?{at:new Date(a.completed.at).toString(),byExecutionId:a.completed.byExecutionId,byStageId:a.completed.byStageId}:null,payload:a.payload}))},j=()=>{var y;let n=0;s.tasks.concat((y=s.sentTasks)!=null?y:[]).forEach(k=>{s.colorMap.has(k.type)||(s.colorMap.set(k.type,x[n]),n=(n+1)%x.length)})};W(s.filters,async()=>{await Promise.all([c(),p()]),j()});const D=async()=>{await Promise.all([c(),p()]),j()},{startPolling:$,endPolling:A}=X({task:D,interval:15e3}),N=async()=>{if(await Promise.all([c(),p()]),j(),i===null){const n=Promise.all([w.list(),_.list(),I.list(),C.list()]).then(([a,y,k,l])=>[...a,...y,...k,...l]);s.filterOptions.stages=(await n).map(a=>({label:a.title,value:a.id}))}else s.filterOptions.stages=i.map(n=>({label:n.stageTitle,value:n.id}));t&&$()},J=()=>{t&&A()},E=async n=>{await o.updateTaskStatus(n,"pending"),c()},P=async n=>{await o.updateTaskStatus(n,"completed"),c()},U=n=>{s.tasks=s.tasks.map(a=>(a.id===n&&(a.checked=!a.checked),a))},M=()=>{const n=[],a=s.tasks.filter(l=>l.checked);return a.length===0?[]:(n.push("duplicate"),a.every(l=>l.status==="pending")&&n.push("setToCompleted"),a.every(l=>l.status==="completed")&&n.push("setToPending"),d.filter(l=>n.includes(l.name)))},L=async()=>{await o.clearAllTasks(),c(),p()},R=()=>[{title:u.translate("i18n_tasksview_column_date"),key:"timeInfo",align:"left",width:"25%"},{title:u.translate("i18n_tasksview_column_task"),key:"stageInfo",align:"left",width:"30%"},{title:u.translate("i18n_tasksview_column_payload"),key:"payloadInfo",align:"left",width:"45%"}],B=H({api:o,fetchTasks:c});return{setup:N,tearDown:J,state:s,getColumns:R,collapseValue:h,setToPending:E,setToCompleted:P,fetchTasks:c,fetchSentTasks:p,checkTask:U,getPossibleActions:M,clearAllTasks:L,insertOrUpdate:g,...B}};export{w as F,_ as H,I as J,C as S,ot as T};
|
|
4
|
+
//# sourceMappingURL=tasksController.538cacf5.js.map
|