abstra 3.23.12__py3-none-any.whl → 3.24.0__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/cli.py +8 -3
- {abstra-3.23.12.dist-info → abstra-3.24.0.dist-info}/METADATA +2 -1
- {abstra-3.23.12.dist-info → abstra-3.24.0.dist-info}/RECORD +197 -187
- abstra_internals/consts/filepaths.py +1 -1
- abstra_internals/contracts_generated.py +665 -655
- abstra_internals/controllers/git.py +305 -0
- abstra_internals/controllers/main.py +10 -6
- abstra_internals/environment.py +6 -0
- abstra_internals/interface/cli/deploy.py +1 -1
- abstra_internals/interface/sdk/ai.py +1 -0
- abstra_internals/repositories/git/__init__.py +38 -0
- abstra_internals/repositories/git/dulwich.py +1353 -0
- abstra_internals/repositories/git/git_test.py +1572 -0
- abstra_internals/repositories/git/native.py +578 -0
- abstra_internals/repositories/git/types.py +267 -0
- abstra_internals/repositories/linter/rules/env_in_bundle.py +5 -5
- abstra_internals/repositories/linter/rules/env_in_bundle_test.py +6 -6
- abstra_internals/repositories/linter/rules/venv_in_bundle.py +9 -16
- abstra_internals/server/blueprints/editor.py +4 -0
- abstra_internals/server/routes/git.py +190 -0
- abstra_internals/server/routes/workspace.py +1 -1
- abstra_internals/services/file_watcher.py +32 -13
- abstra_internals/services/fs.py +4 -4
- abstra_internals/services/fs_test.py +4 -6
- abstra_internals/templates/__init__.py +0 -11
- abstra_statics/dist/assets/AbstraButton.vue_vue_type_script_setup_true_lang.eb8ccb64.js +2 -0
- abstra_statics/dist/assets/AbstraLogo.vue_vue_type_script_setup_true_lang.9f98292e.js +2 -0
- abstra_statics/dist/assets/ApiKeys.e975c4f3.js +2 -0
- abstra_statics/dist/assets/App.f62faff6.js +2 -0
- abstra_statics/dist/assets/App.vue_vue_type_style_index_0_lang.5aa45ac1.js +2 -0
- abstra_statics/dist/assets/BaseLayout.1ec2c96d.js +2 -0
- abstra_statics/dist/assets/{Billing.461db3ef.js → Billing.60adc9fa.js} +2 -2
- abstra_statics/dist/assets/{Breadcrumb.27110ec4.js → Breadcrumb.26dec5f7.js} +2 -2
- abstra_statics/dist/assets/{Builds.4eecd717.js → Builds.f86210bc.js} +2 -2
- abstra_statics/dist/assets/{Card.1d1a9fb7.js → Card.6cfffb80.js} +2 -2
- abstra_statics/dist/assets/{CircularLoading.fc66331b.js → CircularLoading.a13d6a76.js} +2 -2
- abstra_statics/dist/assets/{CloseCircleOutlined.0110bbe2.js → CloseCircleOutlined.30bc25a8.js} +2 -2
- abstra_statics/dist/assets/{ConnectorsView.82e74ae4.css → ConnectorsView.33c5380f.css} +1 -1
- abstra_statics/dist/assets/ConnectorsView.eb4c769f.js +2 -0
- abstra_statics/dist/assets/ConsoleOmniChat.vue_vue_type_script_setup_true_lang.8d2e4672.js +2 -0
- abstra_statics/dist/assets/ContentLayout.d03fee5b.js +2 -0
- abstra_statics/dist/assets/{CrudView.c16e2f81.js → CrudView.c0824225.js} +2 -2
- abstra_statics/dist/assets/DocsButton.vue_vue_type_script_setup_true_lang.3668aee4.js +2 -0
- abstra_statics/dist/assets/{EditorLogin.00a3b3d9.js → EditorLogin.46db248f.js} +2 -2
- abstra_statics/dist/assets/{EditorsView.f7b2843c.js → EditorsView.e72621fa.js} +2 -2
- abstra_statics/dist/assets/EnvVars.f9f9d61f.js +2 -0
- abstra_statics/dist/assets/{Error.466dbb94.js → Error.864f05b3.js} +2 -2
- abstra_statics/dist/assets/ExclamationCircleOutlined.a489b996.js +2 -0
- abstra_statics/dist/assets/{Files.104385dd.js → Files.afe615e1.js} +2 -2
- abstra_statics/dist/assets/{Form.8077681f.js → Form.556d0de2.js} +2 -2
- abstra_statics/dist/assets/{FormRunner.055e2c45.js → FormRunner.7f56a8c6.js} +2 -2
- abstra_statics/dist/assets/{Home.0ef22910.js → Home.287d17f8.js} +2 -2
- abstra_statics/dist/assets/Home.5b7e9c23.js +2 -0
- abstra_statics/dist/assets/{Live.e1261458.js → Live.50bacfea.js} +2 -2
- abstra_statics/dist/assets/LoadingContainer.ebace8de.js +2 -0
- abstra_statics/dist/assets/{LoadingOutlined.cd84d9c9.js → LoadingOutlined.9e949112.js} +2 -2
- abstra_statics/dist/assets/{Login.041361ea.js → Login.536a3067.js} +2 -2
- abstra_statics/dist/assets/Login.bec408c9.js +2 -0
- abstra_statics/dist/assets/{Login.vue_vue_type_script_setup_true_lang.c2eb444c.js → Login.vue_vue_type_script_setup_true_lang.1c3f108d.js} +2 -2
- abstra_statics/dist/assets/Logo.82d6ab70.js +2 -0
- abstra_statics/dist/assets/{Logs.f76cde12.js → Logs.f6135084.js} +2 -2
- abstra_statics/dist/assets/{LogsController.addd81bf.js → LogsController.6b666816.js} +2 -2
- abstra_statics/dist/assets/Main.77b115f8.js +2 -0
- abstra_statics/dist/assets/{MockForm.c9441864.js → MockForm.deda9355.js} +2 -2
- abstra_statics/dist/assets/{Navbar.07ba9452.js → Navbar.4a6f2b09.js} +2 -2
- abstra_statics/dist/assets/NewEditor.5f84de86.css +1 -0
- abstra_statics/dist/assets/NewEditor.e558e47d.js +8 -0
- abstra_statics/dist/assets/OidcLoginCallback.7f514b45.js +2 -0
- abstra_statics/dist/assets/OidcLogoutCallback.038813a1.js +2 -0
- abstra_statics/dist/assets/OmniChat.05ba8d8a.css +1 -0
- abstra_statics/dist/assets/OmniChat.60d98deb.js +6 -0
- abstra_statics/dist/assets/{OnboardingView.fbc4b6fe.js → OnboardingView.9413ee50.js} +2 -2
- abstra_statics/dist/assets/{Organization.bc495099.js → Organization.7203cc0b.js} +2 -2
- abstra_statics/dist/assets/{Organizations.b630803f.js → Organizations.91220ca0.js} +2 -2
- abstra_statics/dist/assets/{PhArrowCounterClockwise.vue.156bcd89.js → PhArrowCounterClockwise.vue.8090d021.js} +2 -2
- abstra_statics/dist/assets/{PhArrowSquareOut.vue.d0c95a06.js → PhArrowSquareOut.vue.26582195.js} +2 -2
- abstra_statics/dist/assets/{PhBookBookmark.vue.42e49494.js → PhBookBookmark.vue.5b7ab079.js} +2 -2
- abstra_statics/dist/assets/{PhChats.vue.54d692e4.js → PhChats.vue.b5df7174.js} +2 -2
- abstra_statics/dist/assets/{PhClockCounterClockwise.vue.d47d66ba.js → PhClockCounterClockwise.vue.812311ad.js} +2 -2
- abstra_statics/dist/assets/{PhCopy.vue.a0d9b0ec.js → PhCopy.vue.59b0f1b4.js} +2 -2
- abstra_statics/dist/assets/PhCopySimple.vue.d41d9160.js +2 -0
- abstra_statics/dist/assets/{PhCube.vue.498c014d.js → PhCube.vue.63ae7d32.js} +2 -2
- abstra_statics/dist/assets/PhDatabase.vue.edfcb96b.js +2 -0
- abstra_statics/dist/assets/{PhDotsThreeVertical.vue.0ea03d82.js → PhDotsThreeVertical.vue.ab4580a5.js} +2 -2
- abstra_statics/dist/assets/PhDownloadSimple.vue.c2eaaad1.js +2 -0
- abstra_statics/dist/assets/{PhFolderPlus.vue.0c210f8d.js → PhFolderPlus.vue.05ba4a5c.js} +2 -2
- abstra_statics/dist/assets/{PhGear.vue.86c3014a.js → PhGear.vue.0e4a6135.js} +2 -2
- abstra_statics/dist/assets/{PhKey.vue.72ce23d3.js → PhKey.vue.b2c184d1.js} +2 -2
- abstra_statics/dist/assets/{PhPencil.vue.80ed4b2e.js → PhPencil.vue.2f2fe576.js} +2 -2
- abstra_statics/dist/assets/{PhPencilSimple.vue.0046d784.js → PhPencilSimple.vue.cc8620ae.js} +2 -2
- abstra_statics/dist/assets/{PhRocket.vue.f3302a7e.js → PhRocket.vue.e397203c.js} +2 -2
- abstra_statics/dist/assets/{PhSignOut.vue.c9150da4.js → PhSignOut.vue.a271f14b.js} +2 -2
- abstra_statics/dist/assets/{PhSparkle.vue.84ea95fc.js → PhSparkle.vue.726defa2.js} +2 -2
- abstra_statics/dist/assets/{PhUserList.vue.bce47902.js → PhUserList.vue.6a29f16d.js} +2 -2
- abstra_statics/dist/assets/{PhUsersThree.vue.0a84dfa4.js → PhUsersThree.vue.275d13ab.js} +2 -2
- abstra_statics/dist/assets/PhWarningCircle.vue.3b1aca1b.js +2 -0
- abstra_statics/dist/assets/{PhWebhooksLogo.vue.a704632d.js → PhWebhooksLogo.vue.5e772aac.js} +2 -2
- abstra_statics/dist/assets/{PlayerConfigProvider.26b585a1.js → PlayerConfigProvider.e90a2b41.js} +2 -2
- abstra_statics/dist/assets/{PlayerNavbar.0fa6f760.js → PlayerNavbar.11ec1844.js} +2 -2
- abstra_statics/dist/assets/Project.c16740fb.js +2 -0
- abstra_statics/dist/assets/ProjectLogin.e7a6f444.js +2 -0
- abstra_statics/dist/assets/{ProjectSettings.2bf7e6c8.js → ProjectSettings.52c19693.js} +2 -2
- abstra_statics/dist/assets/{ProjectsView.ed31b921.js → ProjectsView.22fa7a8e.js} +2 -2
- abstra_statics/dist/assets/{SaveButton.fdf70b31.js → SaveButton.719393d2.js} +2 -2
- abstra_statics/dist/assets/{ScrollArea.vue_vue_type_script_setup_true_lang.3bbea426.js → ScrollArea.vue_vue_type_script_setup_true_lang.d4028954.js} +2 -2
- abstra_statics/dist/assets/{Sidebar.e69f49bd.css → Sidebar.29baeab0.css} +1 -1
- abstra_statics/dist/assets/{Sidebar.781afa0a.js → Sidebar.5cb8e04e.js} +2 -2
- abstra_statics/dist/assets/Sql.23d80bad.js +5 -0
- abstra_statics/dist/assets/Sql.90e6e2ba.css +1 -0
- abstra_statics/dist/assets/Steps.8e5d201a.js +2 -0
- abstra_statics/dist/assets/TableCard.529112b9.css +1 -0
- abstra_statics/dist/assets/TableCard.59f95f8f.js +2 -0
- abstra_statics/dist/assets/TableEditor.5853a363.css +1 -0
- abstra_statics/dist/assets/TableEditor.8539f984.js +2 -0
- abstra_statics/dist/assets/Tables.44d953f7.js +2 -0
- abstra_statics/dist/assets/TablesDiagram.8e47383c.js +15 -0
- abstra_statics/dist/assets/TablesDiagram.a588e7ff.css +1 -0
- abstra_statics/dist/assets/{TablesTabs.vue_vue_type_script_setup_true_lang.63aa07d0.js → TablesTabs.vue_vue_type_script_setup_true_lang.6866fb32.js} +2 -2
- abstra_statics/dist/assets/{Tasks.ee450480.js → Tasks.09551b19.js} +2 -2
- abstra_statics/dist/assets/{UploadOutlined.e3072945.js → UploadOutlined.eab75eb0.js} +2 -2
- abstra_statics/dist/assets/View.5fd7ddf0.js +2 -0
- abstra_statics/dist/assets/{View.vue_vue_type_script_setup_true_lang.ee5d447b.js → View.vue_vue_type_script_setup_true_lang.a904f400.js} +2 -2
- abstra_statics/dist/assets/{Watermark.891eee9f.js → Watermark.ab3d818f.js} +2 -2
- abstra_statics/dist/assets/{WebEditor.7409cd48.js → WebEditor.d6ec6392.js} +2 -2
- abstra_statics/dist/assets/WidgetPreview.86b31dec.js +2 -0
- abstra_statics/dist/assets/ant-design.a865486e.js +2 -0
- abstra_statics/dist/assets/apiKey.72f497ca.js +2 -0
- abstra_statics/dist/assets/asyncComputed.cf5282fc.js +2 -0
- abstra_statics/dist/assets/{build.8fa1a961.js → build.df2d55cc.js} +2 -2
- abstra_statics/dist/assets/{colorHelpers.71d6d61d.js → colorHelpers.37d9932b.js} +2 -2
- abstra_statics/dist/assets/console.2bf7f04d.js +17 -0
- abstra_statics/dist/assets/constants.7d38ec8b.js +2 -0
- abstra_statics/dist/assets/{contracts.generated.c4057ed0.js → contracts.generated.590b1102.js} +2 -2
- abstra_statics/dist/assets/{cssMode.4c65b876.js → cssMode.7133c7cb.js} +2 -2
- abstra_statics/dist/assets/datetime.8de2ff28.js +2 -0
- abstra_statics/dist/assets/dayjs.f18bbbca.js +2 -0
- abstra_statics/dist/assets/editor.3a4714e3.js +2 -0
- abstra_statics/dist/assets/editor.main.9c635b9a.js +2 -0
- abstra_statics/dist/assets/fetch.89fd5b7b.js +2 -0
- abstra_statics/dist/assets/folder.d8e23009.js +2 -0
- abstra_statics/dist/assets/{freemarker2.1d872d48.js → freemarker2.6698d1ea.js} +2 -2
- abstra_statics/dist/assets/{handlebars.41fc6db8.js → handlebars.a6c42dc0.js} +2 -2
- abstra_statics/dist/assets/{html.967e3c6d.js → html.493a5410.js} +3 -3
- abstra_statics/dist/assets/{htmlMode.d38ab72a.js → htmlMode.a28b2fca.js} +2 -2
- abstra_statics/dist/assets/{index.51dbb698.js → index.2af3391c.js} +2 -2
- abstra_statics/dist/assets/{index.9021ba5d.js → index.4176fe88.js} +2 -2
- abstra_statics/dist/assets/{index.b762f5e8.js → index.4d20c159.js} +2 -2
- abstra_statics/dist/assets/{index.8e871bae.js → index.5d6b1e62.js} +2 -2
- abstra_statics/dist/assets/index.79ce3bf1.js +2 -0
- abstra_statics/dist/assets/{index.03d222dd.js → index.c34a405a.js} +2 -2
- abstra_statics/dist/assets/index.fb182bd1.js +2 -0
- abstra_statics/dist/assets/{index.5f3f38ed.js → index.fb49354b.js} +2 -2
- abstra_statics/dist/assets/{javascript.0935bea2.js → javascript.3a36cf17.js} +3 -3
- abstra_statics/dist/assets/{jsonMode.2860b71c.js → jsonMode.bead6ac8.js} +2 -2
- abstra_statics/dist/assets/{jwt-decode.esm.7f2ef0df.js → jwt-decode.esm.d4517a10.js} +8 -8
- abstra_statics/dist/assets/linters.2f3141cb.js +2 -0
- abstra_statics/dist/assets/{liquid.1bae5f6b.js → liquid.0c337fae.js} +3 -3
- abstra_statics/dist/assets/{member.b7ac8000.js → member.48d6f2cd.js} +2 -2
- abstra_statics/dist/assets/{metadata.39f9b9ba.js → metadata.c3aed6e1.js} +2 -2
- abstra_statics/dist/assets/{omniChatStore.3431c026.js → omniChatStore.c53bcca2.js} +3 -3
- abstra_statics/dist/assets/{organization.a877b653.js → organization.928c9bef.js} +2 -2
- abstra_statics/dist/assets/player.d3aeafc5.js +2 -0
- abstra_statics/dist/assets/{plotly.min.d3f75723.js → plotly.min.7225d3a0.js} +2 -2
- abstra_statics/dist/assets/polling.82ee6b45.js +2 -0
- abstra_statics/dist/assets/{project.d22a89ee.js → project.619b7244.js} +2 -2
- abstra_statics/dist/assets/{python.4c1a1300.js → python.05764499.js} +3 -3
- abstra_statics/dist/assets/{razor.ba8bdb33.js → razor.81a45581.js} +3 -3
- abstra_statics/dist/assets/record.7f43486c.js +2 -0
- abstra_statics/dist/assets/{redirect.ce3c0f65.js → redirect.f028a879.js} +2 -2
- abstra_statics/dist/assets/repository.9534db4b.js +2 -0
- abstra_statics/dist/assets/repository.c15239ce.js +2 -0
- abstra_statics/dist/assets/router.262190ec.js +2 -0
- abstra_statics/dist/assets/router.424f7da9.js +18 -0
- abstra_statics/dist/assets/{string.2ed1cde3.js → string.0acf5572.js} +2 -2
- abstra_statics/dist/assets/{tables.be1c51f8.js → tables.1f68ec62.js} +2 -2
- abstra_statics/dist/assets/{tasksController.bf12e264.js → tasksController.371896de.js} +2 -2
- abstra_statics/dist/assets/{toggleHighContrast.c4e1b24d.js → toggleHighContrast.0d0e5662.js} +7 -7
- abstra_statics/dist/assets/{tsMode.da264aae.js → tsMode.6eadbf06.js} +2 -2
- abstra_statics/dist/assets/{typescript.db5d7517.js → typescript.1670e287.js} +3 -3
- abstra_statics/dist/assets/url.e8732f77.js +2 -0
- abstra_statics/dist/assets/{useCodebaseEvents.42573b00.js → useCodebaseEvents.53dec1f2.js} +2 -2
- abstra_statics/dist/assets/useTables.4f034cf8.js +2 -0
- abstra_statics/dist/assets/userStore.31024da3.js +2 -0
- abstra_statics/dist/assets/uuid.bde15ce7.js +2 -0
- abstra_statics/dist/assets/vue-flow-background.818c7852.js +2 -0
- abstra_statics/dist/assets/vue-flow-core.1180ec83.js +22 -0
- abstra_statics/dist/assets/{vue-quill.esm-bundler.37119951.js → vue-quill.esm-bundler.c4f04985.js} +2 -2
- abstra_statics/dist/assets/{workspaceStore.50ef2df1.js → workspaceStore.6244d03d.js} +2 -2
- abstra_statics/dist/assets/{xml.94b88503.js → xml.f2867af8.js} +3 -3
- abstra_statics/dist/assets/{yaml.73b7d5ce.js → yaml.5427bb1b.js} +2 -2
- abstra_statics/dist/console.html +14 -15
- abstra_statics/dist/editor.html +13 -13
- abstra_statics/dist/player.html +9 -9
- tests/e2e/test_crud_files.py +1 -0
- abstra_internals/templates/abstraignore +0 -8
- abstra_statics/dist/assets/AbstraButton.vue_vue_type_script_setup_true_lang.441fcdfd.js +0 -2
- abstra_statics/dist/assets/AbstraLogo.vue_vue_type_script_setup_true_lang.3f03a3ef.js +0 -2
- abstra_statics/dist/assets/ApiKeys.cb561e62.js +0 -2
- abstra_statics/dist/assets/App.dc82115f.js +0 -2
- abstra_statics/dist/assets/App.vue_vue_type_style_index_0_lang.3640ec1c.js +0 -2
- abstra_statics/dist/assets/BaseLayout.c63dfc2d.js +0 -2
- abstra_statics/dist/assets/ConnectorsView.b428e487.js +0 -2
- abstra_statics/dist/assets/ConsoleOmniChat.vue_vue_type_script_setup_true_lang.506f28c6.js +0 -2
- abstra_statics/dist/assets/ContentLayout.228d2328.js +0 -2
- abstra_statics/dist/assets/DocsButton.vue_vue_type_script_setup_true_lang.61381525.js +0 -2
- abstra_statics/dist/assets/EnvVars.242b97c2.js +0 -2
- abstra_statics/dist/assets/ExclamationCircleOutlined.6d10f60b.js +0 -2
- abstra_statics/dist/assets/Home.80c7e349.js +0 -2
- abstra_statics/dist/assets/LoadingContainer.6e2b63e4.js +0 -2
- abstra_statics/dist/assets/Login.409f4a11.js +0 -2
- abstra_statics/dist/assets/Logo.2de02c4a.js +0 -2
- abstra_statics/dist/assets/Main.4370ed68.js +0 -2
- abstra_statics/dist/assets/NewEditor.769f4459.js +0 -8
- abstra_statics/dist/assets/NewEditor.d6e41a05.css +0 -1
- abstra_statics/dist/assets/OidcLoginCallback.a89857fe.js +0 -2
- abstra_statics/dist/assets/OidcLogoutCallback.d151c695.js +0 -2
- abstra_statics/dist/assets/OmniChat.0f64dfec.css +0 -1
- abstra_statics/dist/assets/OmniChat.d015bfa8.js +0 -6
- abstra_statics/dist/assets/PhCopySimple.vue.43c74ebe.js +0 -2
- abstra_statics/dist/assets/PhDownloadSimple.vue.c92aeaff.js +0 -2
- abstra_statics/dist/assets/PhPencilSimpleLine.vue.34633dfa.js +0 -2
- abstra_statics/dist/assets/Project.c03610d3.js +0 -2
- abstra_statics/dist/assets/ProjectLogin.934271a6.js +0 -2
- abstra_statics/dist/assets/Sql.3cdc910a.css +0 -1
- abstra_statics/dist/assets/Sql.b6aa38ca.js +0 -5
- abstra_statics/dist/assets/Steps.7c7e4a4a.js +0 -2
- abstra_statics/dist/assets/TableEditor.1e680eaf.css +0 -1
- abstra_statics/dist/assets/TableEditor.dc1b4a2d.js +0 -2
- abstra_statics/dist/assets/Tables.de30953b.js +0 -2
- abstra_statics/dist/assets/TablesDiagram.1ec45dd9.css +0 -1
- abstra_statics/dist/assets/TablesDiagram.97d6a43f.js +0 -15
- abstra_statics/dist/assets/View.617ad8d8.js +0 -2
- abstra_statics/dist/assets/WidgetPreview.99f14714.js +0 -2
- abstra_statics/dist/assets/ant-design.4952c8fb.js +0 -2
- abstra_statics/dist/assets/apiKey.864dc66b.js +0 -2
- abstra_statics/dist/assets/asyncComputed.25309626.js +0 -2
- abstra_statics/dist/assets/console.3d4702c3.js +0 -25
- abstra_statics/dist/assets/constants.56e8988f.js +0 -2
- abstra_statics/dist/assets/datetime.e5660676.js +0 -2
- abstra_statics/dist/assets/dayjs.c54f8edb.js +0 -2
- abstra_statics/dist/assets/editor.6d0baf6f.js +0 -2
- abstra_statics/dist/assets/editor.main.65812c73.js +0 -2
- abstra_statics/dist/assets/fetch.5136a62d.js +0 -2
- abstra_statics/dist/assets/folder.d7d65e5b.js +0 -2
- abstra_statics/dist/assets/index.23283fbb.js +0 -2
- abstra_statics/dist/assets/index.4b93c8ad.js +0 -2
- abstra_statics/dist/assets/index.58e29274.js +0 -2
- abstra_statics/dist/assets/linters.640d6098.js +0 -2
- abstra_statics/dist/assets/player.30593e18.js +0 -2
- abstra_statics/dist/assets/polling.d1c934c7.js +0 -2
- abstra_statics/dist/assets/record.4ffc477c.js +0 -2
- abstra_statics/dist/assets/repository.360feb8f.js +0 -2
- abstra_statics/dist/assets/repository.ab3036a9.js +0 -2
- abstra_statics/dist/assets/router.7f571832.js +0 -2
- abstra_statics/dist/assets/router.8fd5b2ad.js +0 -10
- abstra_statics/dist/assets/url.8583a595.js +0 -2
- abstra_statics/dist/assets/userStore.73b89fbb.js +0 -2
- abstra_statics/dist/assets/uuid.dadede91.js +0 -2
- abstra_statics/dist/assets/vue-flow-background.d2772d9a.js +0 -22
- {abstra-3.23.12.dist-info → abstra-3.24.0.dist-info}/WHEEL +0 -0
- {abstra-3.23.12.dist-info → abstra-3.24.0.dist-info}/entry_points.txt +0 -0
- {abstra-3.23.12.dist-info → abstra-3.24.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var c=Object.defineProperty;var l=(t,e,s)=>e in t?c(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;var n=(t,e,s)=>(l(t,typeof e!="symbol"?e+"":e,s),s);import{a as f}from"./asyncComputed.cf5282fc.js";import"./jwt-decode.esm.d4517a10.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},e=new Error().stack;e&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[e]="df05ab95-9fcd-406e-ae28-f8200e24fba6",t._sentryDebugIdIdentifier="sentry-dbid-df05ab95-9fcd-406e-ae28-f8200e24fba6")}catch{}})();class u{async check(){return(await fetch("/_editor/api/linters/check")).json()}async fix(e,s){const a=await fetch(`/_editor/api/linters/fix/${e}/${s}`,{method:"POST"});if(!a.ok)throw new Error("Failed to fix");return i.refetch(),a.json()}}const r=new u,i=f(async()=>(await r.check()).map(e=>new m(e)));class d{constructor(e,s){n(this,"name");n(this,"label");n(this,"ruleName");this.name=e.name,this.label=e.label,this.ruleName=s}async fix(){await r.fix(this.ruleName,this.name)}}class h{constructor(e,s){n(this,"label");n(this,"fixes");this.ruleName=s,this.label=e.label,this.fixes=e.fixes.map(a=>new d(a,s))}}class m{constructor(e){n(this,"name");n(this,"label");n(this,"type");n(this,"issues");this.name=e.name,this.label=e.label,this.type=e.type,this.issues=e.issues.map(s=>new h(s,this.name))}static get asyncComputed(){return i}static fromName(e){var a;const s=(a=i.result.value)==null?void 0:a.find(o=>o.name===e);if(!s)throw new Error(`Rule ${e} not found`);return s}}export{m as L};
|
|
2
|
+
//# sourceMappingURL=linters.2f3141cb.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import{m as
|
|
1
|
+
import{m as l}from"./toggleHighContrast.0d0e5662.js";import"./jwt-decode.esm.d4517a10.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},e=new Error().stack;e&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[e]="8dcd4f8c-3d01-4daf-900c-de4d490a98b2",t._sentryDebugIdIdentifier="sentry-dbid-8dcd4f8c-3d01-4daf-900c-de4d490a98b2")}catch{}})();/*!-----------------------------------------------------------------------------
|
|
2
2
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
3
|
* Version: 0.34.1(547870b6881302c5b4ff32173c16d06009e3588f)
|
|
4
4
|
* Released under the MIT license
|
|
5
5
|
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
|
|
6
|
-
*-----------------------------------------------------------------------------*/var s=Object.defineProperty,c=Object.getOwnPropertyDescriptor,u=Object.getOwnPropertyNames,m=Object.prototype.hasOwnProperty,a=(t,e,i,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of u(e))!m.call(t,r)&&r!==i&&s(t,r,{get:()=>e[r],enumerable:!(o=c(e,r))||o.enumerable});return t},p=(t,e,i)=>(a(t,e,"default"),i&&a(i,e,"default")),n={};p(n,
|
|
7
|
-
//# sourceMappingURL=liquid.
|
|
6
|
+
*-----------------------------------------------------------------------------*/var s=Object.defineProperty,c=Object.getOwnPropertyDescriptor,u=Object.getOwnPropertyNames,m=Object.prototype.hasOwnProperty,a=(t,e,i,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of u(e))!m.call(t,r)&&r!==i&&s(t,r,{get:()=>e[r],enumerable:!(o=c(e,r))||o.enumerable});return t},p=(t,e,i)=>(a(t,e,"default"),i&&a(i,e,"default")),n={};p(n,l);var d=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"],g={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,brackets:[["<!--","-->"],["<",">"],["{{","}}"],["{%","%}"],["{","}"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"%",close:"%"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"}],onEnterRules:[{beforeText:new RegExp(`<(?!(?:${d.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),afterText:/^<\/(\w[\w\d]*)\s*>$/i,action:{indentAction:n.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`<(?!(?:${d.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),action:{indentAction:n.languages.IndentAction.Indent}}]},b={defaultToken:"",tokenPostfix:"",builtinTags:["if","else","elseif","endif","render","assign","capture","endcapture","case","endcase","comment","endcomment","cycle","decrement","for","endfor","include","increment","layout","raw","endraw","render","tablerow","endtablerow","unless","endunless"],builtinFilters:["abs","append","at_least","at_most","capitalize","ceil","compact","date","default","divided_by","downcase","escape","escape_once","first","floor","join","json","last","lstrip","map","minus","modulo","newline_to_br","plus","prepend","remove","remove_first","replace","replace_first","reverse","round","rstrip","size","slice","sort","sort_natural","split","strip","strip_html","strip_newlines","times","truncate","truncatewords","uniq","upcase","url_decode","url_encode","where"],constants:["true","false"],operators:["==","!=",">","<",">=","<="],symbol:/[=><!]+/,identifier:/[a-zA-Z_][\w]*/,tokenizer:{root:[[/\{\%\s*comment\s*\%\}/,"comment.start.liquid","@comment"],[/\{\{/,{token:"@rematch",switchTo:"@liquidState.root"}],[/\{\%/,{token:"@rematch",switchTo:"@liquidState.root"}],[/(<)([\w\-]+)(\/>)/,["delimiter.html","tag.html","delimiter.html"]],[/(<)([:\w]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/(<\/)([\w\-]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/</,"delimiter.html"],[/\{/,"delimiter.html"],[/[^<{]+/]],comment:[[/\{\%\s*endcomment\s*\%\}/,"comment.end.liquid","@pop"],[/./,"comment.content.liquid"]],otherTag:[[/\{\{/,{token:"@rematch",switchTo:"@liquidState.otherTag"}],[/\{\%/,{token:"@rematch",switchTo:"@liquidState.otherTag"}],[/\/?>/,"delimiter.html","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],liquidState:[[/\{\{/,"delimiter.output.liquid"],[/\}\}/,{token:"delimiter.output.liquid",switchTo:"@$S2.$S3"}],[/\{\%/,"delimiter.tag.liquid"],[/raw\s*\%\}/,"delimiter.tag.liquid","@liquidRaw"],[/\%\}/,{token:"delimiter.tag.liquid",switchTo:"@$S2.$S3"}],{include:"liquidRoot"}],liquidRaw:[[/^(?!\{\%\s*endraw\s*\%\}).+/],[/\{\%/,"delimiter.tag.liquid"],[/@identifier/],[/\%\}/,{token:"delimiter.tag.liquid",next:"@root"}]],liquidRoot:[[/\d+(\.\d+)?/,"number.liquid"],[/"[^"]*"/,"string.liquid"],[/'[^']*'/,"string.liquid"],[/\s+/],[/@symbol/,{cases:{"@operators":"operator.liquid","@default":""}}],[/\./],[/@identifier/,{cases:{"@constants":"keyword.liquid","@builtinFilters":"predefined.liquid","@builtinTags":"predefined.liquid","@default":"variable.liquid"}}],[/[^}|%]/,"variable.liquid"]]}};export{g as conf,b as language};
|
|
7
|
+
//# sourceMappingURL=liquid.0c337fae.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
2
|
-
//# sourceMappingURL=member.
|
|
1
|
+
import{k as n}from"./router.424f7da9.js";import"./jwt-decode.esm.d4517a10.js";(function(){try{var r=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},e=new Error().stack;e&&(r._sentryDebugIds=r._sentryDebugIds||{},r._sentryDebugIds[e]="aae3159c-815e-420c-b6df-4e9305da520e",r._sentryDebugIdIdentifier="sentry-dbid-aae3159c-815e-420c-b6df-4e9305da520e")}catch{}})();class d{async create(e){return n.post(`organizations/${e.organizationId}/members`,{email:e.email,folderIds:e.folderIds})}async delete(e){return n.delete(`organizations/${e.organizationId}/members/${e.authorId}`)}async list(e){return n.get(`organizations/${e}/members`)}async get(e,t){return n.get(`organizations/${e}/members/${t}`)}async update(e,t,a){return n.patch(`organizations/${e}/members/${t}`,a)}}export{d as M};
|
|
2
|
+
//# sourceMappingURL=member.48d6f2cd.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{d as c,am as n,c as s,o as l,a5 as r,a7 as p,h as g,e6 as Z,e as o}from"./jwt-decode.esm.
|
|
2
|
-
//# sourceMappingURL=metadata.
|
|
1
|
+
import{d as c,am as n,c as s,o as l,a5 as r,a7 as p,h as g,e6 as Z,e as o}from"./jwt-decode.esm.d4517a10.js";import{F as y,G as w,I as M}from"./PhUserList.vue.6a29f16d.js";import{G as $}from"./PhWebhooksLogo.vue.5e772aac.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]="bc092c51-9511-4ed7-9ca1-dec2be24b41d",e._sentryDebugIdIdentifier="sentry-dbid-bc092c51-9511-4ed7-9ca1-dec2be24b41d")}catch{}})();const k=["width","height","fill","transform"],A={key:0},b=o("path",{d:"M222.14,105.85l-80-80a20,20,0,0,0-28.28,0l-80,80A19.86,19.86,0,0,0,28,120v96a12,12,0,0,0,12,12h64a12,12,0,0,0,12-12V164h24v52a12,12,0,0,0,12,12h64a12,12,0,0,0,12-12V120A19.86,19.86,0,0,0,222.14,105.85ZM204,204H164V152a12,12,0,0,0-12-12H104a12,12,0,0,0-12,12v52H52V121.65l76-76,76,76Z"},null,-1),N=[b],x={key:1},B=o("path",{d:"M216,120v96H152V152H104v64H40V120a8,8,0,0,1,2.34-5.66l80-80a8,8,0,0,1,11.32,0l80,80A8,8,0,0,1,216,120Z",opacity:"0.2"},null,-1),I=o("path",{d:"M219.31,108.68l-80-80a16,16,0,0,0-22.62,0l-80,80A15.87,15.87,0,0,0,32,120v96a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V160h32v56a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V120A15.87,15.87,0,0,0,219.31,108.68ZM208,208H160V152a8,8,0,0,0-8-8H104a8,8,0,0,0-8,8v56H48V120l80-80,80,80Z"},null,-1),S=[B,I],z={key:2},C=o("path",{d:"M224,120v96a8,8,0,0,1-8,8H160a8,8,0,0,1-8-8V164a4,4,0,0,0-4-4H108a4,4,0,0,0-4,4v52a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V120a16,16,0,0,1,4.69-11.31l80-80a16,16,0,0,1,22.62,0l80,80A16,16,0,0,1,224,120Z"},null,-1),D=[C],E={key:3},P=o("path",{d:"M217.9,110.1l-80-80a14,14,0,0,0-19.8,0l-80,80A13.92,13.92,0,0,0,34,120v96a6,6,0,0,0,6,6h64a6,6,0,0,0,6-6V158h36v58a6,6,0,0,0,6,6h64a6,6,0,0,0,6-6V120A13.92,13.92,0,0,0,217.9,110.1ZM210,210H158V152a6,6,0,0,0-6-6H104a6,6,0,0,0-6,6v58H46V120a2,2,0,0,1,.58-1.42l80-80a2,2,0,0,1,2.84,0l80,80A2,2,0,0,1,210,120Z"},null,-1),_=[P],G={key:4},j=o("path",{d:"M219.31,108.68l-80-80a16,16,0,0,0-22.62,0l-80,80A15.87,15.87,0,0,0,32,120v96a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V160h32v56a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V120A15.87,15.87,0,0,0,219.31,108.68ZM208,208H160V152a8,8,0,0,0-8-8H104a8,8,0,0,0-8,8v56H48V120l80-80,80,80Z"},null,-1),F=[j],W={key:5},q=o("path",{d:"M216.49,111.51l-80-80a12,12,0,0,0-17,0l-80,80A12,12,0,0,0,36,120v96a4,4,0,0,0,4,4h64a4,4,0,0,0,4-4V156h40v60a4,4,0,0,0,4,4h64a4,4,0,0,0,4-4V120A12,12,0,0,0,216.49,111.51ZM212,212H156V152a4,4,0,0,0-4-4H104a4,4,0,0,0-4,4v60H44V120a4,4,0,0,1,1.17-2.83l80-80a4,4,0,0,1,5.66,0l80,80A4,4,0,0,1,212,120Z"},null,-1),J=[q],K={name:"PhHouse"},R=c({...K,props:{weight:{type:String},size:{type:[String,Number]},color:{type:String},mirrored:{type:Boolean}},setup(e){const t=e,h=n("weight","regular"),v=n("size","1em"),V=n("color","currentColor"),H=n("mirrored",!1),i=s(()=>{var a;return(a=t.weight)!=null?a:h}),d=s(()=>{var a;return(a=t.size)!=null?a:v}),u=s(()=>{var a;return(a=t.color)!=null?a:V}),m=s(()=>t.mirrored!==void 0?t.mirrored?"scale(-1, 1)":void 0:H?"scale(-1, 1)":void 0);return(a,f)=>(l(),r("svg",Z({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",width:d.value,height:d.value,fill:u.value,transform:m.value},a.$attrs),[p(a.$slots,"default"),i.value==="bold"?(l(),r("g",A,N)):i.value==="duotone"?(l(),r("g",x,S)):i.value==="fill"?(l(),r("g",z,D)):i.value==="light"?(l(),r("g",E,_)):i.value==="regular"?(l(),r("g",G,F)):i.value==="thin"?(l(),r("g",W,J)):g("",!0)],16,k))}}),L=["width","height","fill","transform"],O={key:0},Q=o("path",{d:"M216,44H40A12,12,0,0,0,28,56V208a20,20,0,0,0,20,20H88a20,20,0,0,0,20-20V164h40v12a20,20,0,0,0,20,20h40a20,20,0,0,0,20-20V56A12,12,0,0,0,216,44Zm-12,64H172V68h32ZM84,68v40H52V68Zm0,136H52V132H84Zm24-64V68h40v72Zm64,32V132h32v40Z"},null,-1),U=[Q],X={key:1},Y=o("path",{d:"M216,56v64H160V56ZM40,208a8,8,0,0,0,8,8H88a8,8,0,0,0,8-8V120H40Z",opacity:"0.2"},null,-1),T=o("path",{d:"M216,48H40a8,8,0,0,0-8,8V208a16,16,0,0,0,16,16H88a16,16,0,0,0,16-16V160h48v16a16,16,0,0,0,16,16h40a16,16,0,0,0,16-16V56A8,8,0,0,0,216,48Zm-8,64H168V64h40ZM88,64v48H48V64Zm0,144H48V128H88Zm16-64V64h48v80Zm64,32V128h40v48Z"},null,-1),a0=[Y,T],e0={key:2},t0=o("path",{d:"M160,56v96a8,8,0,0,1-8,8H112a8,8,0,0,1-8-8V56a8,8,0,0,1,8-8h40A8,8,0,0,1,160,56Zm64-8H184a8,8,0,0,0-8,8v52a4,4,0,0,0,4,4h48a4,4,0,0,0,4-4V56A8,8,0,0,0,224,48Zm4,80H180a4,4,0,0,0-4,4v44a16,16,0,0,0,16,16h24a16,16,0,0,0,16-16V132A4,4,0,0,0,228,128ZM80,48H40a8,8,0,0,0-8,8v52a4,4,0,0,0,4,4H84a4,4,0,0,0,4-4V56A8,8,0,0,0,80,48Zm4,80H36a4,4,0,0,0-4,4v76a16,16,0,0,0,16,16H72a16,16,0,0,0,16-16V132A4,4,0,0,0,84,128Z"},null,-1),l0=[t0],r0={key:3},o0=o("path",{d:"M216,50H40a6,6,0,0,0-6,6V208a14,14,0,0,0,14,14H88a14,14,0,0,0,14-14V158h52v18a14,14,0,0,0,14,14h40a14,14,0,0,0,14-14V56A6,6,0,0,0,216,50Zm-6,64H166V62h44ZM90,62v52H46V62Zm0,146a2,2,0,0,1-2,2H48a2,2,0,0,1-2-2V126H90Zm12-62V62h52v84Zm106,32H168a2,2,0,0,1-2-2V126h44v50A2,2,0,0,1,208,178Z"},null,-1),i0=[o0],n0={key:4},s0=o("path",{d:"M216,48H40a8,8,0,0,0-8,8V208a16,16,0,0,0,16,16H88a16,16,0,0,0,16-16V160h48v16a16,16,0,0,0,16,16h40a16,16,0,0,0,16-16V56A8,8,0,0,0,216,48ZM88,208H48V128H88Zm0-96H48V64H88Zm64,32H104V64h48Zm56,32H168V128h40Zm0-64H168V64h40Z"},null,-1),h0=[s0],d0={key:5},v0=o("path",{d:"M216,52H40a4,4,0,0,0-4,4V208a12,12,0,0,0,12,12H88a12,12,0,0,0,12-12V156h56v20a12,12,0,0,0,12,12h40a12,12,0,0,0,12-12V56A4,4,0,0,0,216,52ZM92,208a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V124H92Zm0-92H44V60H92Zm64,32H100V60h56Zm56,28a4,4,0,0,1-4,4H168a4,4,0,0,1-4-4V124h48Zm0-60H164V60h48Z"},null,-1),V0=[v0],H0={name:"PhKanban"},u0=c({...H0,props:{weight:{type:String},size:{type:[String,Number]},color:{type:String},mirrored:{type:Boolean}},setup(e){const t=e,h=n("weight","regular"),v=n("size","1em"),V=n("color","currentColor"),H=n("mirrored",!1),i=s(()=>{var a;return(a=t.weight)!=null?a:h}),d=s(()=>{var a;return(a=t.size)!=null?a:v}),u=s(()=>{var a;return(a=t.color)!=null?a:V}),m=s(()=>t.mirrored!==void 0?t.mirrored?"scale(-1, 1)":void 0:H?"scale(-1, 1)":void 0);return(a,f)=>(l(),r("svg",Z({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",width:d.value,height:d.value,fill:u.value,transform:m.value},a.$attrs),[p(a.$slots,"default"),i.value==="bold"?(l(),r("g",O,U)):i.value==="duotone"?(l(),r("g",X,a0)):i.value==="fill"?(l(),r("g",e0,l0)):i.value==="light"?(l(),r("g",r0,i0)):i.value==="regular"?(l(),r("g",n0,h0)):i.value==="thin"?(l(),r("g",d0,V0)):g("",!0)],16,L))}}),m0={stages:[{icon:y,typeName:"forms",description:"Wait for a user input",key:"F",title:"Forms"},{typeName:"hooks",title:"Hooks",icon:$,description:"Wait for a trigger from an external service",key:"H"},{typeName:"jobs",title:"Jobs",icon:w,description:"Executed periodically",key:"J"},{typeName:"scripts",title:"Tasklets",icon:M,description:"Run a script when a task arrives",key:"T"}]};function c0(e){e==="tasklet"&&(e="script");const t=m0.stages.find(h=>h.typeName===e||h.typeName===`${e}s`);if(!t)throw new Error(`No metadata found for stage ${e}`);return t.icon}const f0=e=>e==="kanban"?u0:e==="home"?R:c0(e);export{f0 as i,c0 as s,m0 as w};
|
|
2
|
+
//# sourceMappingURL=metadata.c3aed6e1.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
var J=Object.defineProperty;var V=(a,e,t)=>e in a?J(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var o=(a,e,t)=>(V(a,typeof e!="symbol"?e+"":e,t),t);import{h as C}from"./router.8fd5b2ad.js";import{d as Z,am as I,c as m,o as f,a5 as _,a7 as z,h as W,e6 as G,e as v,r as c,a as T,b as L,g as Q,ed as X,u as x,aV as Y,_ as K,f as ee,eH as te,H as se,ae as oe,k as re,N as O}from"./jwt-decode.esm.7f2ef0df.js";import{P as ie}from"./record.4ffc477c.js";import{u as b}from"./uuid.dadede91.js";import{I as ae}from"./PhCopySimple.vue.43c74ebe.js";(function(){try{var a=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},e=new Error().stack;e&&(a._sentryDebugIds=a._sentryDebugIds||{},a._sentryDebugIds[e]="3eea1897-6b92-48a1-bd0b-be5be242e13f",a._sentryDebugIdIdentifier="sentry-dbid-3eea1897-6b92-48a1-bd0b-be5be242e13f")}catch{}})();const ne=["width","height","fill","transform"],le={key:0},ce=v("path",{d:"M176.49,95.51a12,12,0,0,1,0,17l-56,56a12,12,0,0,1-17,0l-24-24a12,12,0,1,1,17-17L112,143l47.51-47.52A12,12,0,0,1,176.49,95.51ZM236,128A108,108,0,1,1,128,20,108.12,108.12,0,0,1,236,128Zm-24,0a84,84,0,1,0-84,84A84.09,84.09,0,0,0,212,128Z"},null,-1),he=[ce],de={key:1},ue=v("path",{d:"M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z",opacity:"0.2"},null,-1),ge=v("path",{d:"M173.66,98.34a8,8,0,0,1,0,11.32l-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35A8,8,0,0,1,173.66,98.34ZM232,128A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z"},null,-1),pe=[ue,ge],fe={key:2},ye=v("path",{d:"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm45.66,85.66-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35a8,8,0,0,1,11.32,11.32Z"},null,-1),ve=[ye],_e={key:3},me=v("path",{d:"M172.24,99.76a6,6,0,0,1,0,8.48l-56,56a6,6,0,0,1-8.48,0l-24-24a6,6,0,0,1,8.48-8.48L112,151.51l51.76-51.75A6,6,0,0,1,172.24,99.76ZM230,128A102,102,0,1,1,128,26,102.12,102.12,0,0,1,230,128Zm-12,0a90,90,0,1,0-90,90A90.1,90.1,0,0,0,218,128Z"},null,-1),we=[me],be={key:4},Se=v("path",{d:"M173.66,98.34a8,8,0,0,1,0,11.32l-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35A8,8,0,0,1,173.66,98.34ZM232,128A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z"},null,-1),Ce=[Se],Ie={key:5},Ae=v("path",{d:"M170.83,101.17a4,4,0,0,1,0,5.66l-56,56a4,4,0,0,1-5.66,0l-24-24a4,4,0,0,1,5.66-5.66L112,154.34l53.17-53.17A4,4,0,0,1,170.83,101.17ZM228,128A100,100,0,1,1,128,28,100.11,100.11,0,0,1,228,128Zm-8,0a92,92,0,1,0-92,92A92.1,92.1,0,0,0,220,128Z"},null,-1),Te=[Ae],xe={name:"PhCheckCircle"},Ee=Z({...xe,props:{weight:{type:String},size:{type:[String,Number]},color:{type:String},mirrored:{type:Boolean}},setup(a){const e=a,t=I("weight","regular"),s=I("size","1em"),r=I("color","currentColor"),g=I("mirrored",!1),l=m(()=>{var n;return(n=e.weight)!=null?n:t}),u=m(()=>{var n;return(n=e.size)!=null?n:s}),h=m(()=>{var n;return(n=e.color)!=null?n:r}),p=m(()=>e.mirrored!==void 0?e.mirrored?"scale(-1, 1)":void 0:g?"scale(-1, 1)":void 0);return(n,d)=>(f(),_("svg",G({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",width:u.value,height:u.value,fill:h.value,transform:p.value},n.$attrs),[z(n.$slots,"default"),l.value==="bold"?(f(),_("g",le,he)):l.value==="duotone"?(f(),_("g",de,pe)):l.value==="fill"?(f(),_("g",fe,ve)):l.value==="light"?(f(),_("g",_e,we)):l.value==="regular"?(f(),_("g",be,Ce)):l.value==="thin"?(f(),_("g",Ie,Te)):W("",!0)],16,ne))}});class N{constructor(e,t){o(this,"staging");this.flag=e,this.acc=t,this.staging=""}}class Fe extends N{constructor(){super("___JSON_MODE___",[])}reduceChar(e){try{this.staging+=e;const t=JSON.parse(this.staging);return this.acc.push(t),this.staging="",t}catch{return}}reduce(e){const t=[];for(const s of e){const r=this.reduceChar(s);r!==void 0&&t.push(r)}return t}}class ke extends N{constructor(){super("___TEXT_MODE___","")}reduce(e){return this.staging+=e,this.acc=this.staging,e}}class P{constructor(){o(this,"mode");o(this,"modes",[new ke,new Fe]);o(this,"staging","");o(this,"chunkOnBuffer","");o(this,"flagMap");o(this,"flagPrefixes");this.mode=this.modes[0],this.flagMap=new Map,this.flagPrefixes=new Set;for(const e of this.modes){this.flagMap.set(e.flag,e);for(let t=1;t<e.flag.length;t++)this.flagPrefixes.add(e.flag.slice(0,t))}}*reduce(e){for(const t of e){if(this.staging+=t,this.flagMap.has(this.staging)){this.mode=this.flagMap.get(this.staging),this.staging="";continue}if(!this.flagPrefixes.has(this.staging))for(;this.staging.length>0;){const s=this.staging[0];this.staging=this.staging.slice(1);const r=this.mode.reduce(s);if(r!==void 0&&(Array.isArray(r)?yield*r:yield r),this.flagPrefixes.has(this.staging))break}}}*reduceInChunks(e,t){let s="";for(const r of this.reduce(t))if(typeof r=="string")for(s+=r;s.length>=e;)yield s.slice(0,e),s=s.slice(e);else s.length>0&&(yield s,s=""),yield r;s.length>0&&(yield s)}}const R=300;class Me{constructor(){o(this,"_baseUrl","/_editor/api/ai");o(this,"_headers",{"Content-Type":"application/json"})}async*sendMessage(e,t,s,r,g){var n;const l={conversationId:e,content:t,context:s,humanApproval:g},u=await fetch(`${this._baseUrl}/stream`,{method:"POST",headers:this._headers,body:JSON.stringify(l)});if(!u.ok)throw new Error("Failed to send message");const h=(n=u.body)==null?void 0:n.getReader();if(!h)throw new Error("No response body");const p=new P;for(;!r();){const d=await h.read();if(d.done)break;for(const y of p.reduceInChunks(R,new TextDecoder().decode(d.value)))yield y}}async deleteThread(e){if(!(await fetch(`${this._baseUrl}/thread/${e}`,{method:"DELETE",headers:this._headers})).ok)throw new Error("Failed to delete thread")}async abortStreaming(e){if(!(await fetch(`${this._baseUrl}/abort`,{method:"POST",headers:this._headers,body:JSON.stringify({langGraphThreadId:e})})).ok)throw new Error("Failed to abort streaming")}async getHistory(e,t){const s=await fetch(`${this._baseUrl}/history?limit=${e}&offset=${t}`,{method:"GET"});if(!s.ok)throw new Error("Failed to fetch history");return await s.json()}startConversation(){return new Promise((e,t)=>{fetch(`${this._baseUrl}/start-conversation`,{method:"POST",headers:this._headers}).then(s=>{if(!s.ok)throw new Error("Failed to start conversation");return s.json()}).then(s=>e(s)).catch(s=>t(s))})}}class He{constructor(e){o(this,"projectId");o(this,"baseUrl");this.projectId=e,this.baseUrl=`projects/${e}`}startConversation(){throw new Error("Method not implemented.")}async*sendMessage(e,t,s,r,g){var n;const l={conversationId:e,content:t,context:s,humanApproval:g},h=(n=(await C.postRaw(`${this.baseUrl}/messages`,l)).body)==null?void 0:n.getReader();if(!h)throw new Error("No response body");const p=new P;for(;!r();){const d=await h.read();if(d.done)break;for(const y of p.reduceInChunks(R,new TextDecoder().decode(d.value)))yield y}}async abortStreaming(e){await C.post(`${this.baseUrl}/abort`,{langGraphThreadId:e})}async getHistory(e,t){const s={limit:`${e}`,offset:`${t}`};return await C.get(`${this.baseUrl}/history`,s)}async deleteThread(e){await C.delete(`${this.baseUrl}/threads/${e}`)}}const $e=Z({__name:"CopyButton",props:{textToCopy:{}},setup(a){const e=a,t=c(!1),s=()=>{navigator.clipboard.writeText(e.textToCopy),t.value=!0,setTimeout(()=>t.value=!1,2e3)},r=m(()=>t.value?"Copied!":"Copy to clipboard");return(g,l)=>(f(),T(x(Y),null,{title:L(()=>[Q(X(r.value),1)]),default:L(()=>[v("div",{class:"copy-button",onClick:s},[t.value?(f(),T(x(Ee),{key:1,color:"#fff",size:"22"})):(f(),T(x(ae),{key:0,color:"#fff",size:"22"}))])]),_:1}))}});const Le=K($e,[["__scopeId","data-v-9f87bac2"]]);class B{constructor(e,t){o(this,"_repository");o(this,"conversationId");o(this,"_input");o(this,"_badgeState");o(this,"_smartChatState");o(this,"_logService");o(this,"_hasError",c(null));o(this,"_isLoadingHistory",c(!1));o(this,"_history",c([]));o(this,"_threadHistoryFetchInfo",c({limit:10,offset:0,done:!1}));o(this,"_executingFormFile",c(null));o(this,"_recentlyAccessedThreads",c([]));o(this,"loadingAbort",c(!1));o(this,"codeForApproval",c(null));o(this,"setupThread",async()=>{this.conversationId.value=`abstra-assistant-thread-${b()}`,this._recentlyAccessedThreads.value.unshift({id:this.conversationId.value,messages:[],createdAt:new Date().toISOString()})});o(this,"fetchHistory",async()=>{this._isLoadingHistory.value=!0;const e=await this._repository.getHistory(this._threadHistoryFetchInfo.value.limit,this._threadHistoryFetchInfo.value.offset);this._history.value=e,this._isLoadingHistory.value=!1});o(this,"loadMoreHistory",async()=>{this._isLoadingHistory.value=!0,this._threadHistoryFetchInfo.value.offset+=this._threadHistoryFetchInfo.value.limit;const e=await this._repository.getHistory(this._threadHistoryFetchInfo.value.limit,this._threadHistoryFetchInfo.value.offset);e.length<this._threadHistoryFetchInfo.value.limit&&(this._threadHistoryFetchInfo.value.done=!0);const t=[...this._history.value,...e];this._history.value=t,this._isLoadingHistory.value=!1});o(this,"setError",e=>{this._hasError.value=e});o(this,"setExecutingFormFile",e=>{this._executingFormFile.value=e});o(this,"_fillChat",e=>{this._logService.clear();for(const t of e)t.toolTitle?(this._logService.log({type:"ai-tool-approval",toolCallId:t.toolCallId,description:t.toolTitle,args:{},disabled:!1,needsApproval:!1,loading:!1}),this._logService.log({type:"ai-tool-call-response",toolCallId:t.toolCallId,response:t.content})):this._logService.log({type:t.role==="user"?"ai-input":"ai-output",log:t.content});this.renderCopyButtons()});o(this,"moveThreadFromHistoryToRecents",e=>{this.conversationId.value=e;const t=this._history.value.find(r=>r.id===e);if(!t)throw new Error(`Thread ${e} not found`);const s=this._recentlyAccessedThreads.value.findIndex(r=>r.id===e);s!==-1&&this._recentlyAccessedThreads.value.splice(s,1),this._recentlyAccessedThreads.value.unshift(t),this._fillChat(t.messages)});o(this,"deleteThread",e=>{this._repository.deleteThread(e),this.removeFromRecentlyAccessedThreads(e);const t=this._history.value.findIndex(s=>s.id===e);t!==-1&&this._history.value.splice(t,1)});o(this,"setCurrentThreadFromRecents",e=>{this.conversationId.value=e;const t=this._recentlyAccessedThreads.value.findIndex(r=>r.id===e);if(t===-1)throw new Error(`Thread ${e} not found`);const[s]=this._recentlyAccessedThreads.value.splice(t,1);this._recentlyAccessedThreads.value.unshift(s),this._fillChat(s.messages)});o(this,"removeFromRecentlyAccessedThreads",e=>{const t=this._recentlyAccessedThreads.value.findIndex(s=>s.id===e);if(t===-1)throw new Error(`Thread ${e} not found`);if(this._recentlyAccessedThreads.value.splice(t,1),this._logService.clear(),this._recentlyAccessedThreads.value.length===0)this.conversationId.value=null;else{const s=this._recentlyAccessedThreads.value[0];this.conversationId.value=s.id,this._fillChat(s.messages)}});o(this,"renderCopyButtons",()=>{document.querySelectorAll("pre").forEach(t=>{t.style.position="relative";const s=ee(Le,{textToCopy:t.textContent});te(s,t)})});o(this,"clearLogService",()=>{this._logService.clear()});o(this,"send",async(e,t,s=0)=>{var r,g,l,u,h,p,n;this.conversationId.value||await this.setupThread(),s===0&&this._logService.log({type:"ai-input",log:this._input.value}),this._smartChatState.value="processing";try{const d=b(),y=this.conversationId.value;if(!y)throw new Error("Conversation ID is not set");const D=[{type:"text",text:this._input.value}],U={currentEditorUrl:window.location.href,panesInfo:e||{}},j=this._repository.sendMessage(y,D,U,this.isIdle.bind(this),t);let F="",k=d,A="";for await(const w of j){if(this.isIdle())break;this._smartChatState.value==="processing"&&(this._smartChatState.value="answering");const i=w;if(typeof i=="string"){if(i.includes("abstra__trigger__retry"))throw new Error("AI service requested a retry");F+=i,A+=i,this._logService.log({type:"ai-output",log:A},k)}else if(i instanceof Object)if(i.type==="ai-tool-approval"){const q=(r=i.args)==null?void 0:r.file,M=!!(((g=i.args)==null?void 0:g.replacements)||((l=i.args)==null?void 0:l.content))&&this._executingFormFile.value===q,H=M?"This action can\u2019t be performed while the form is running":void 0;if(this._logService.log({type:"ai-tool-approval",toolCallId:i.toolCallId,description:i.title,args:i.args,disabled:M,needsApproval:!0,loading:!1,...H&&{message:H}}),((u=i.args)==null?void 0:u.file)&&((h=i.args)==null?void 0:h.replacements)){let S=i.args.replacements;typeof S=="string"&&(S=JSON.parse(S)),this.codeForApproval.value={file:i.args.file,replacements:S.map($=>({oldContext:$.old_context,newContext:$.new_context}))}}else((p=i.args)==null?void 0:p.file)&&((n=i.args)==null?void 0:n.content)&&(this.codeForApproval.value={file:i.args.file,code:i.args.content})}else i.type==="ai-tool-call"?(this._logService.log({type:"ai-tool-approval",toolCallId:i.toolCallId,description:i.title,args:i.args,disabled:!1,needsApproval:!1,loading:!1}),k=b(),A=""):i.type==="ai-tool-call-response"&&this._logService.log({type:"ai-tool-call-response",toolCallId:i.toolCallId,response:i.response})}this._recentlyAccessedThreads.value=this._recentlyAccessedThreads.value.map(w=>(w.id===this.conversationId.value&&w.messages.unshift({role:"assistant",content:F,createdAt:new Date().toISOString()}),w)),this._input.value="",this._smartChatState.value="idle",this.renderCopyButtons()}catch(d){console.error(d),se(d),s>3?(this._logService.log({type:"ai-output",log:"Sorry, there was an issue processing your request. Please try again later."}),this._input.value="",this._smartChatState.value="idle",this.renderCopyButtons()):(this._logService.log({type:"ai-output",log:"We had some trouble, but we are already retrying your request..."}),await this.abort(),this._input.value="There was an unexpected error, please try again. You must continue from where you stopped as if nothing happened.",this.send(e,t,s+1))}});o(this,"abort",async()=>{if(!this.conversationId.value)throw new Error("Conversation ID is not set");this.loadingAbort.value=!0,await this._repository.abortStreaming(this.conversationId.value),this._smartChatState.value="idle",this.loadingAbort.value=!1});o(this,"isLoadingHistory",()=>this._isLoadingHistory.value);o(this,"isProcessing",()=>this._smartChatState.value==="processing");o(this,"isAnswering",()=>this._smartChatState.value==="answering");o(this,"isIdle",()=>this._smartChatState.value==="idle");o(this,"setSeen",()=>{this._badgeState.value={type:"seen"}});o(this,"setUnseen",e=>{this._badgeState.value={type:"unseen",count:this._badgeState.value.type==="unseen"?this._badgeState.value.count+1:1,severity:e.type==="stderr"?"error":"info"}});o(this,"setInput",e=>{e=e==null?void 0:e.trimEnd(),this._input.value=e||""});o(this,"regenerateLast",async()=>{for(let e=this._logService.logs.length-1;e>=0;e--){const t=this._logService.logs[e];if(t.type==="ai-input"){this.setInput(t.log);break}}await this.send()});o(this,"fixJson",async(e,t)=>{this._logService.clear(),this._logService.log({type:"ai-input",log:`here is my json code:
|
|
1
|
+
var J=Object.defineProperty;var V=(a,e,t)=>e in a?J(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var o=(a,e,t)=>(V(a,typeof e!="symbol"?e+"":e,t),t);import{k as C}from"./router.424f7da9.js";import{d as Z,am as I,c as m,o as p,a5 as _,a7 as z,h as W,e6 as G,e as v,r as c,a as T,b as L,g as Q,ed as X,u as x,aV as Y,_ as K,f as ee,eH as te,H as se,ae as oe,k as re,N as O}from"./jwt-decode.esm.d4517a10.js";import{P as ie}from"./record.7f43486c.js";import{u as b}from"./uuid.bde15ce7.js";import{I as ae}from"./PhCopySimple.vue.d41d9160.js";(function(){try{var a=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},e=new Error().stack;e&&(a._sentryDebugIds=a._sentryDebugIds||{},a._sentryDebugIds[e]="aa107033-5a8e-40f2-800c-e4b0d9cf6db9",a._sentryDebugIdIdentifier="sentry-dbid-aa107033-5a8e-40f2-800c-e4b0d9cf6db9")}catch{}})();const ne=["width","height","fill","transform"],le={key:0},ce=v("path",{d:"M176.49,95.51a12,12,0,0,1,0,17l-56,56a12,12,0,0,1-17,0l-24-24a12,12,0,1,1,17-17L112,143l47.51-47.52A12,12,0,0,1,176.49,95.51ZM236,128A108,108,0,1,1,128,20,108.12,108.12,0,0,1,236,128Zm-24,0a84,84,0,1,0-84,84A84.09,84.09,0,0,0,212,128Z"},null,-1),he=[ce],de={key:1},ue=v("path",{d:"M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z",opacity:"0.2"},null,-1),ge=v("path",{d:"M173.66,98.34a8,8,0,0,1,0,11.32l-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35A8,8,0,0,1,173.66,98.34ZM232,128A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z"},null,-1),fe=[ue,ge],pe={key:2},ye=v("path",{d:"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm45.66,85.66-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35a8,8,0,0,1,11.32,11.32Z"},null,-1),ve=[ye],_e={key:3},me=v("path",{d:"M172.24,99.76a6,6,0,0,1,0,8.48l-56,56a6,6,0,0,1-8.48,0l-24-24a6,6,0,0,1,8.48-8.48L112,151.51l51.76-51.75A6,6,0,0,1,172.24,99.76ZM230,128A102,102,0,1,1,128,26,102.12,102.12,0,0,1,230,128Zm-12,0a90,90,0,1,0-90,90A90.1,90.1,0,0,0,218,128Z"},null,-1),we=[me],be={key:4},Se=v("path",{d:"M173.66,98.34a8,8,0,0,1,0,11.32l-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35A8,8,0,0,1,173.66,98.34ZM232,128A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z"},null,-1),Ce=[Se],Ie={key:5},Ae=v("path",{d:"M170.83,101.17a4,4,0,0,1,0,5.66l-56,56a4,4,0,0,1-5.66,0l-24-24a4,4,0,0,1,5.66-5.66L112,154.34l53.17-53.17A4,4,0,0,1,170.83,101.17ZM228,128A100,100,0,1,1,128,28,100.11,100.11,0,0,1,228,128Zm-8,0a92,92,0,1,0-92,92A92.1,92.1,0,0,0,220,128Z"},null,-1),Te=[Ae],xe={name:"PhCheckCircle"},Ee=Z({...xe,props:{weight:{type:String},size:{type:[String,Number]},color:{type:String},mirrored:{type:Boolean}},setup(a){const e=a,t=I("weight","regular"),s=I("size","1em"),r=I("color","currentColor"),g=I("mirrored",!1),l=m(()=>{var n;return(n=e.weight)!=null?n:t}),u=m(()=>{var n;return(n=e.size)!=null?n:s}),h=m(()=>{var n;return(n=e.color)!=null?n:r}),f=m(()=>e.mirrored!==void 0?e.mirrored?"scale(-1, 1)":void 0:g?"scale(-1, 1)":void 0);return(n,d)=>(p(),_("svg",G({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",width:u.value,height:u.value,fill:h.value,transform:f.value},n.$attrs),[z(n.$slots,"default"),l.value==="bold"?(p(),_("g",le,he)):l.value==="duotone"?(p(),_("g",de,fe)):l.value==="fill"?(p(),_("g",pe,ve)):l.value==="light"?(p(),_("g",_e,we)):l.value==="regular"?(p(),_("g",be,Ce)):l.value==="thin"?(p(),_("g",Ie,Te)):W("",!0)],16,ne))}});class N{constructor(e,t){o(this,"staging");this.flag=e,this.acc=t,this.staging=""}}class Fe extends N{constructor(){super("___JSON_MODE___",[])}reduceChar(e){try{this.staging+=e;const t=JSON.parse(this.staging);return this.acc.push(t),this.staging="",t}catch{return}}reduce(e){const t=[];for(const s of e){const r=this.reduceChar(s);r!==void 0&&t.push(r)}return t}}class ke extends N{constructor(){super("___TEXT_MODE___","")}reduce(e){return this.staging+=e,this.acc=this.staging,e}}class P{constructor(){o(this,"mode");o(this,"modes",[new ke,new Fe]);o(this,"staging","");o(this,"chunkOnBuffer","");o(this,"flagMap");o(this,"flagPrefixes");this.mode=this.modes[0],this.flagMap=new Map,this.flagPrefixes=new Set;for(const e of this.modes){this.flagMap.set(e.flag,e);for(let t=1;t<e.flag.length;t++)this.flagPrefixes.add(e.flag.slice(0,t))}}*reduce(e){for(const t of e){if(this.staging+=t,this.flagMap.has(this.staging)){this.mode=this.flagMap.get(this.staging),this.staging="";continue}if(!this.flagPrefixes.has(this.staging))for(;this.staging.length>0;){const s=this.staging[0];this.staging=this.staging.slice(1);const r=this.mode.reduce(s);if(r!==void 0&&(Array.isArray(r)?yield*r:yield r),this.flagPrefixes.has(this.staging))break}}}*reduceInChunks(e,t){let s="";for(const r of this.reduce(t))if(typeof r=="string")for(s+=r;s.length>=e;)yield s.slice(0,e),s=s.slice(e);else s.length>0&&(yield s,s=""),yield r;s.length>0&&(yield s)}}const R=300;class Me{constructor(){o(this,"_baseUrl","/_editor/api/ai");o(this,"_headers",{"Content-Type":"application/json"})}async*sendMessage(e,t,s,r,g){var n;const l={conversationId:e,content:t,context:s,humanApproval:g},u=await fetch(`${this._baseUrl}/stream`,{method:"POST",headers:this._headers,body:JSON.stringify(l)});if(!u.ok)throw new Error("Failed to send message");const h=(n=u.body)==null?void 0:n.getReader();if(!h)throw new Error("No response body");const f=new P;for(;!r();){const d=await h.read();if(d.done)break;for(const y of f.reduceInChunks(R,new TextDecoder().decode(d.value)))yield y}}async deleteThread(e){if(!(await fetch(`${this._baseUrl}/thread/${e}`,{method:"DELETE",headers:this._headers})).ok)throw new Error("Failed to delete thread")}async abortStreaming(e){if(!(await fetch(`${this._baseUrl}/abort`,{method:"POST",headers:this._headers,body:JSON.stringify({langGraphThreadId:e})})).ok)throw new Error("Failed to abort streaming")}async getHistory(e,t){const s=await fetch(`${this._baseUrl}/history?limit=${e}&offset=${t}`,{method:"GET"});if(!s.ok)throw new Error("Failed to fetch history");return await s.json()}startConversation(){return new Promise((e,t)=>{fetch(`${this._baseUrl}/start-conversation`,{method:"POST",headers:this._headers}).then(s=>{if(!s.ok)throw new Error("Failed to start conversation");return s.json()}).then(s=>e(s)).catch(s=>t(s))})}}class He{constructor(e){o(this,"projectId");o(this,"baseUrl");this.projectId=e,this.baseUrl=`projects/${e}`}startConversation(){throw new Error("Method not implemented.")}async*sendMessage(e,t,s,r,g){var n;const l={conversationId:e,content:t,context:s,humanApproval:g},h=(n=(await C.postRaw(`${this.baseUrl}/messages`,l)).body)==null?void 0:n.getReader();if(!h)throw new Error("No response body");const f=new P;for(;!r();){const d=await h.read();if(d.done)break;for(const y of f.reduceInChunks(R,new TextDecoder().decode(d.value)))yield y}}async abortStreaming(e){await C.post(`${this.baseUrl}/abort`,{langGraphThreadId:e})}async getHistory(e,t){const s={limit:`${e}`,offset:`${t}`};return await C.get(`${this.baseUrl}/history`,s)}async deleteThread(e){await C.delete(`${this.baseUrl}/threads/${e}`)}}const $e=Z({__name:"CopyButton",props:{textToCopy:{}},setup(a){const e=a,t=c(!1),s=()=>{navigator.clipboard.writeText(e.textToCopy),t.value=!0,setTimeout(()=>t.value=!1,2e3)},r=m(()=>t.value?"Copied!":"Copy to clipboard");return(g,l)=>(p(),T(x(Y),null,{title:L(()=>[Q(X(r.value),1)]),default:L(()=>[v("div",{class:"copy-button",onClick:s},[t.value?(p(),T(x(Ee),{key:1,color:"#fff",size:"22"})):(p(),T(x(ae),{key:0,color:"#fff",size:"22"}))])]),_:1}))}});const Le=K($e,[["__scopeId","data-v-9f87bac2"]]);class B{constructor(e,t){o(this,"_repository");o(this,"conversationId");o(this,"_input");o(this,"_badgeState");o(this,"_smartChatState");o(this,"_logService");o(this,"_hasError",c(null));o(this,"_isLoadingHistory",c(!1));o(this,"_history",c([]));o(this,"_threadHistoryFetchInfo",c({limit:10,offset:0,done:!1}));o(this,"_executingFormFile",c(null));o(this,"_recentlyAccessedThreads",c([]));o(this,"loadingAbort",c(!1));o(this,"codeForApproval",c(null));o(this,"setupThread",async()=>{this.conversationId.value=`abstra-assistant-thread-${b()}`,this._recentlyAccessedThreads.value.unshift({id:this.conversationId.value,messages:[],createdAt:new Date().toISOString()})});o(this,"fetchHistory",async()=>{this._isLoadingHistory.value=!0;const e=await this._repository.getHistory(this._threadHistoryFetchInfo.value.limit,this._threadHistoryFetchInfo.value.offset);this._history.value=e,this._isLoadingHistory.value=!1});o(this,"loadMoreHistory",async()=>{this._isLoadingHistory.value=!0,this._threadHistoryFetchInfo.value.offset+=this._threadHistoryFetchInfo.value.limit;const e=await this._repository.getHistory(this._threadHistoryFetchInfo.value.limit,this._threadHistoryFetchInfo.value.offset);e.length<this._threadHistoryFetchInfo.value.limit&&(this._threadHistoryFetchInfo.value.done=!0);const t=[...this._history.value,...e];this._history.value=t,this._isLoadingHistory.value=!1});o(this,"setError",e=>{this._hasError.value=e});o(this,"setExecutingFormFile",e=>{this._executingFormFile.value=e});o(this,"_fillChat",e=>{this._logService.clear();for(const t of e)t.toolTitle?(this._logService.log({type:"ai-tool-approval",toolCallId:t.toolCallId,description:t.toolTitle,args:{},disabled:!1,needsApproval:!1,loading:!1}),this._logService.log({type:"ai-tool-call-response",toolCallId:t.toolCallId,response:t.content})):this._logService.log({type:t.role==="user"?"ai-input":"ai-output",log:t.content});this.renderCopyButtons()});o(this,"moveThreadFromHistoryToRecents",e=>{this.conversationId.value=e;const t=this._history.value.find(r=>r.id===e);if(!t)throw new Error(`Thread ${e} not found`);const s=this._recentlyAccessedThreads.value.findIndex(r=>r.id===e);s!==-1&&this._recentlyAccessedThreads.value.splice(s,1),this._recentlyAccessedThreads.value.unshift(t),this._fillChat(t.messages)});o(this,"deleteThread",e=>{this._repository.deleteThread(e),this.removeFromRecentlyAccessedThreads(e);const t=this._history.value.findIndex(s=>s.id===e);t!==-1&&this._history.value.splice(t,1)});o(this,"setCurrentThreadFromRecents",e=>{this.conversationId.value=e;const t=this._recentlyAccessedThreads.value.findIndex(r=>r.id===e);if(t===-1)throw new Error(`Thread ${e} not found`);const[s]=this._recentlyAccessedThreads.value.splice(t,1);this._recentlyAccessedThreads.value.unshift(s),this._fillChat(s.messages)});o(this,"removeFromRecentlyAccessedThreads",e=>{const t=this._recentlyAccessedThreads.value.findIndex(s=>s.id===e);if(t===-1)throw new Error(`Thread ${e} not found`);if(this._recentlyAccessedThreads.value.splice(t,1),this._logService.clear(),this._recentlyAccessedThreads.value.length===0)this.conversationId.value=null;else{const s=this._recentlyAccessedThreads.value[0];this.conversationId.value=s.id,this._fillChat(s.messages)}});o(this,"renderCopyButtons",()=>{document.querySelectorAll("pre").forEach(t=>{t.style.position="relative";const s=ee(Le,{textToCopy:t.textContent});te(s,t)})});o(this,"clearLogService",()=>{this._logService.clear()});o(this,"send",async(e,t,s=0)=>{var r,g,l,u,h,f,n;this.conversationId.value||await this.setupThread(),s===0&&this._logService.log({type:"ai-input",log:this._input.value}),this._smartChatState.value="processing";try{const d=b(),y=this.conversationId.value;if(!y)throw new Error("Conversation ID is not set");const D=[{type:"text",text:this._input.value}],U={currentEditorUrl:window.location.href,panesInfo:e||{}},j=this._repository.sendMessage(y,D,U,this.isIdle.bind(this),t);let F="",k=d,A="";for await(const w of j){if(this.isIdle())break;this._smartChatState.value==="processing"&&(this._smartChatState.value="answering");const i=w;if(typeof i=="string"){if(i.includes("abstra__trigger__retry"))throw new Error("AI service requested a retry");F+=i,A+=i,this._logService.log({type:"ai-output",log:A},k)}else if(i instanceof Object)if(i.type==="ai-tool-approval"){const q=(r=i.args)==null?void 0:r.file,M=!!(((g=i.args)==null?void 0:g.replacements)||((l=i.args)==null?void 0:l.content))&&this._executingFormFile.value===q,H=M?"This action can\u2019t be performed while the form is running":void 0;if(this._logService.log({type:"ai-tool-approval",toolCallId:i.toolCallId,description:i.title,args:i.args,disabled:M,needsApproval:!0,loading:!1,...H&&{message:H}}),((u=i.args)==null?void 0:u.file)&&((h=i.args)==null?void 0:h.replacements)){let S=i.args.replacements;typeof S=="string"&&(S=JSON.parse(S)),this.codeForApproval.value={file:i.args.file,replacements:S.map($=>({oldContext:$.old_context,newContext:$.new_context}))}}else((f=i.args)==null?void 0:f.file)&&((n=i.args)==null?void 0:n.content)&&(this.codeForApproval.value={file:i.args.file,code:i.args.content})}else i.type==="ai-tool-call"?(this._logService.log({type:"ai-tool-approval",toolCallId:i.toolCallId,description:i.title,args:i.args,disabled:!1,needsApproval:!1,loading:!1}),k=b(),A=""):i.type==="ai-tool-call-response"&&this._logService.log({type:"ai-tool-call-response",toolCallId:i.toolCallId,response:i.response})}this._recentlyAccessedThreads.value=this._recentlyAccessedThreads.value.map(w=>(w.id===this.conversationId.value&&w.messages.unshift({role:"assistant",content:F,createdAt:new Date().toISOString()}),w)),this._input.value="",this._smartChatState.value="idle",this.renderCopyButtons()}catch(d){console.error(d),se(d),s>3?(this._logService.log({type:"ai-output",log:"Sorry, there was an issue processing your request. Please try again later."}),this._input.value="",this._smartChatState.value="idle",this.renderCopyButtons()):(this._logService.log({type:"ai-output",log:"We had some trouble, but we are already retrying your request..."}),await this.abort(),this._input.value="There was an unexpected error, please try again. You must continue from where you stopped as if nothing happened.",this.send(e,t,s+1))}});o(this,"abort",async()=>{if(!this.conversationId.value)throw new Error("Conversation ID is not set");this.loadingAbort.value=!0,await this._repository.abortStreaming(this.conversationId.value),this._smartChatState.value="idle",this.loadingAbort.value=!1});o(this,"isLoadingHistory",()=>this._isLoadingHistory.value);o(this,"isProcessing",()=>this._smartChatState.value==="processing");o(this,"isAnswering",()=>this._smartChatState.value==="answering");o(this,"isIdle",()=>this._smartChatState.value==="idle");o(this,"setSeen",()=>{this._badgeState.value={type:"seen"}});o(this,"setUnseen",e=>{this._badgeState.value={type:"unseen",count:this._badgeState.value.type==="unseen"?this._badgeState.value.count+1:1,severity:e.type==="stderr"?"error":"info"}});o(this,"setInput",e=>{e=e==null?void 0:e.trimEnd(),this._input.value=e||""});o(this,"regenerateLast",async()=>{for(let e=this._logService.logs.length-1;e>=0;e--){const t=this._logService.logs[e];if(t.type==="ai-input"){this.setInput(t.log);break}}await this.send()});o(this,"fixJson",async(e,t)=>{this._logService.clear(),this._logService.log({type:"ai-input",log:`here is my json code:
|
|
2
2
|
${e}
|
|
3
3
|
And I got this error:`}),this._logService.log({type:"stderr",log:t}),this.setSeen(),this.setInput("Can you fix this JSON?"),await this.send()});o(this,"askAboutError",async(e,t)=>{this._logService.clear(),this.setInput(["Fix the following error based on my logs:",...e.entries.map(s=>s.payload.text),`My current code is: ${t||"No code provided"}`].join(`
|
|
4
4
|
`)),await this.send()});o(this,"fixIssueWithAI",async(e,t)=>{this._logService.clear(),this.setInput(["Fix the following issue in my code:",e.label,t.label].join(`
|
|
5
5
|
`)),await this.send()});this._repository=e,this._logService=t,this.conversationId=c(null),this._input=c(""),this._badgeState=c({type:"seen"}),this._smartChatState=c("idle")}init(){this.setupThread(),this.renderCopyButtons()}get hasError(){var e;return((e=this._hasError.value)==null?void 0:e.payload)||null}get logService(){return this._logService}shouldRenderLoadMoreHistory(){return!this._threadHistoryFetchInfo.value.done}get pastThreads(){return this._history.value.map(e=>e.messages.length===0?{threadId:e.id,title:"New thread"}:{threadId:e.id,title:e.messages[0].content.slice(0,20)+"..."})}get recentlyAccessedThreads(){return this._recentlyAccessedThreads.value.map(e=>({threadId:e.id,title:e.messages.length>0?e.messages[0].content.slice(0,20)+"...":"New thread"}))}get badgeState(){return this._badgeState.value}get input(){return this._input.value}}class E{constructor(){o(this,"logState",oe({log:[]}));o(this,"_listeners",{});o(this,"getLastExecutionLogs",e=>{let t="";for(let s=this.logs.length-1;s>=0;s--){const r=this.logs[s];if(r.type!==e&&t.length>0)break;r.type===e&&(t=`${r.log}
|
|
6
6
|
${t}`)}return t})}static create(){return new E}get logs(){return this.logState.log}hasAiLogs(){return this.logs.some(e=>e.type==="ai-input"||e.type==="ai-output")}log(e,t){if(e.type!=="restart"&&e.type!=="ai-tool-approval"&&e.type!=="ai-tool-call-response"&&"log"in e&&e.log.trim()==="")return;const s=t?this.logs.find(r=>r.id===t):null;return s?(s.type==="stderr"&&e.type==="stderr"&&(e.log=s.log+`
|
|
7
|
-
`+e.log),Object.assign(s,e)):this.logs.push({...e,id:t||b()}),this.notifyListeners(e),t}clear(){this.logState.log=[]}listen(e){const t=b();return this._listeners[t]=e,t}unlisten(e){delete this._listeners[e]}notifyListeners(e){Object.values(this._listeners).forEach(t=>t(e))}}const Ue=new ie,je=re("omniChat",()=>{const a=c(!0),e=c(!1),t=E.create(),s=O(),r=O(),g=(d,y)=>{if(!r.value)if(d==="console"){if(!y)throw new Error("Project ID is required for console chat");s.value=new He(y),r.value=new B(s.value,t)}else s.value=new Me,r.value=new B(s.value,t)},l=()=>{e.value=!0},u=()=>{e.value=!1},h=()=>{a.value=!0,l()},
|
|
8
|
-
//# sourceMappingURL=omniChatStore.
|
|
7
|
+
`+e.log),Object.assign(s,e)):this.logs.push({...e,id:t||b()}),this.notifyListeners(e),t}clear(){this.logState.log=[]}listen(e){const t=b();return this._listeners[t]=e,t}unlisten(e){delete this._listeners[e]}notifyListeners(e){Object.values(this._listeners).forEach(t=>t(e))}}const Ue=new ie,je=re("omniChat",()=>{const a=c(!0),e=c(!1),t=E.create(),s=O(),r=O(),g=(d,y)=>{if(!r.value)if(d==="console"){if(!y)throw new Error("Project ID is required for console chat");s.value=new He(y),r.value=new B(s.value,t)}else s.value=new Me,r.value=new B(s.value,t)},l=()=>{e.value=!0},u=()=>{e.value=!1},h=()=>{a.value=!0,l()},f=()=>{a.value=!1,u()};return{isOpen:a,isInputFocused:e,focusInput:l,blurInput:u,open:h,close:f,toggle:()=>{a.value?f():h()},controller:m(()=>r.value),repository:s,init:g}});export{Ee as H,Me as L,B as S,E as a,Ue as o,je as u};
|
|
8
|
+
//# sourceMappingURL=omniChatStore.c53bcca2.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var
|
|
2
|
-
//# sourceMappingURL=organization.
|
|
1
|
+
var d=Object.defineProperty;var c=(a,t,e)=>t in a?d(a,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[t]=e;var i=(a,t,e)=>(c(a,typeof t!="symbol"?t+"":t,e),e);import{k as s}from"./router.424f7da9.js";import"./jwt-decode.esm.d4517a10.js";(function(){try{var a=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},t=new Error().stack;t&&(a._sentryDebugIds=a._sentryDebugIds||{},a._sentryDebugIds[t]="64629d48-d0d9-4d8c-8958-bcdc57d28887",a._sentryDebugIdIdentifier="sentry-dbid-64629d48-d0d9-4d8c-8958-bcdc57d28887")}catch{}})();class l{constructor(){i(this,"urlPath","organizations")}async create(t){return s.post(`${this.urlPath}`,t)}async delete(t){await s.delete(`${this.urlPath}/${t}`)}async rename(t,e){await s.patch(`${this.urlPath}/${t}`,{name:e})}async list(){return s.get(`${this.urlPath}`)}async get(t){return s.get(`${this.urlPath}/${t}`)}async getUsageReportUrl(t){return s.get(`${this.urlPath}/${t}/usage-report`)}}const r=new l;class n{constructor(t){this.dto=t}static async list(){return(await r.list()).map(e=>new n(e))}static async create(t){const e=await r.create({name:t});return new n(e)}static async get(t){const e=await r.get(t);return new n(e)}static async rename(t,e){return r.rename(t,e)}get id(){return this.dto.id}get name(){return this.dto.name}get featureFlags(){return this.dto.featureFlags}get billingMetadata(){return this.dto.billingMetadata}get coalescedPlan(){var t;return(t=this.billingMetadata.plan)!=null?t:"No active plan"}get hasUsageReport(){return["Business","Abstra"].includes(this.coalescedPlan)}async getUsageReportUrl(){return r.getUsageReportUrl(this.id)}}export{l as O,n as a};
|
|
2
|
+
//# sourceMappingURL=organization.928c9bef.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{s as n,t as r,v as o,x as c,P as d,C as p,y as f,z as m,B as a,D as u,E as b,F as g,G as y}from"./jwt-decode.esm.d4517a10.js";import{a as l,b as i}from"./router.262190ec.js";import{s as w}from"./workspaceStore.6244d03d.js";import{_ as h}from"./App.vue_vue_type_style_index_0_lang.5aa45ac1.js";import"./userStore.31024da3.js";import"./url.e8732f77.js";import"./colorHelpers.37d9932b.js";import"./PlayerConfigProvider.e90a2b41.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},s=new Error().stack;s&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[s]="a88f51d9-e5b1-4511-82a3-39592e1fb1fc",t._sentryDebugIdIdentifier="sentry-dbid-a88f51d9-e5b1-4511-82a3-39592e1fb1fc")}catch{}})();class _{static init(){setInterval(()=>{fetch("/_healthcheck").catch(()=>{})},20*1e3)}}(async()=>{await w();const t=await l(),s=n(),e=r({render:()=>u(h)});o.init(),c(e,i,t),_.init(),e.use(i),e.use(s),e.use(d),e.mount("#app"),e.component("VSelect",p),e.component("Markdown",f),e.component("Message",m),a(e,b),a(e,g),a(e,y)})();
|
|
2
|
+
//# sourceMappingURL=player.d3aeafc5.js.map
|