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
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{f as d,e7 as l}from"./jwt-decode.esm.
|
|
2
|
-
//# sourceMappingURL=UploadOutlined.
|
|
1
|
+
import{f as d,e7 as l}from"./jwt-decode.esm.d4517a10.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]="bc5e2124-aa79-4705-8d36-009fe3f28717",e._sentryDebugIdIdentifier="sentry-dbid-bc5e2124-aa79-4705-8d36-009fe3f28717")}catch{}})();var i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M400 317.7h73.9V656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V317.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 163a8 8 0 00-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"}}]},name:"upload",theme:"outlined"};const u=i;function c(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?Object(arguments[t]):{},r=Object.keys(n);typeof Object.getOwnPropertySymbols=="function"&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(a){return Object.getOwnPropertyDescriptor(n,a).enumerable}))),r.forEach(function(a){f(e,a,n[a])})}return e}function f(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var o=function(t,n){var r=c({},t,n.attrs);return d(l,c({},r,{icon:u}),null)};o.displayName="UploadOutlined";o.inheritAttrs=!1;const p=o;export{p as U};
|
|
2
|
+
//# sourceMappingURL=UploadOutlined.eab75eb0.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var me=Object.defineProperty;var fe=(s,e,a)=>e in s?me(s,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):s[e]=a;var U=(s,e,a)=>(fe(s,typeof e!="symbol"?e+"":e,a),a);import{a as q}from"./asyncComputed.cf5282fc.js";import{d as b,r as x,a as g,b as l,u as t,o as y,f as n,cN as J,g as h,aB as G,cP as ge,bR as _,dc as he,ae as S,cx as w,bJ as T,cw as B,c as H,a5 as Q,ec as ve,d2 as _e,ed as we,aR as W,em as X,cC as Y,eb as be,J as Ce,h as I,A as ke,d7 as Pe}from"./jwt-decode.esm.d4517a10.js";import{A as E}from"./index.fb182bd1.js";import{_ as Ue}from"./DocsButton.vue_vue_type_script_setup_true_lang.3668aee4.js";import{d as F,k as R,p as k}from"./router.424f7da9.js";import{C as ee}from"./CrudView.c0824225.js";import{G as te}from"./PhPencil.vue.2f2fe576.js";import{C as Re}from"./repository.9534db4b.js";import{E as ae}from"./record.7f43486c.js";import{a as M}from"./ant-design.a865486e.js";import{A as Z,T as Ee}from"./Card.6cfffb80.js";import"./constants.7d38ec8b.js";import"./index.4176fe88.js";import"./url.e8732f77.js";import"./PhDotsThreeVertical.vue.ab4580a5.js";import"./fetch.89fd5b7b.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]="b2c6e265-d853-4b1f-be9a-2e40810f3d69",s._sentryDebugIdIdentifier="sentry-dbid-b2c6e265-d853-4b1f-be9a-2e40810f3d69")}catch{}})();const xe=b({__name:"View",props:{signupPolicy:{}},emits:["updated","save"],setup(s,{emit:e}){const a=s,o=x(a.signupPolicy.strategy),r=x(a.signupPolicy.strategy==="patternOnly"?a.signupPolicy.emailPatterns:[]),i=x(a.signupPolicy.strategy==="patternOnly"?a.signupPolicy.emailPatterns.map(c=>({label:c})):[]),m=c=>{const C=c;if(r.value=C,C.length===0){o.value="inviteOnly",f("inviteOnly");return}i.value=C.map(P=>({label:P})),a.signupPolicy.emailPatterns=c,e("updated",a.signupPolicy)},p=()=>{e("save")},f=c=>{o.value=c,c!=="patternOnly"&&(c==="inviteOnly"&&a.signupPolicy.allowOnlyInvited(),e("updated",a.signupPolicy))};return(c,C)=>(y(),g(t(he),{style:{"padding-top":"8px",width:"100%"},justify:"space-between",align:"flex-end"},{default:l(()=>[n(t(ge),{value:o.value,"onUpdate:value":f},{default:l(()=>[n(t(E),{direction:"vertical"},{default:l(()=>[n(t(J),{value:"inviteOnly"},{default:l(()=>[h("Allow listed users only")]),_:1}),n(t(E),null,{default:l(()=>[n(t(J),{value:"patternOnly"},{default:l(()=>[h("Allow everyone from this domain:")]),_:1}),n(t(G),{mode:"tags",value:c.signupPolicy.emailPatterns,style:{"min-width":"300px"},placeholder:"@domain.com or sub.domain.com",disabled:o.value!=="patternOnly",options:i.value,"dropdown-match-select-width":"",open:!1,"onUpdate:value":m},null,8,["value","disabled","options"])]),_:1})]),_:1})]),_:1},8,["value"]),n(t(_),{disabled:!c.signupPolicy.hasChanges,type:"primary",onClick:p},{default:l(()=>[h(" Save changes ")]),_:1},8,["disabled"])]),_:1}))}}),Ae=b({__name:"NewUser",props:{roleOptions:{}},emits:["created","cancel"],setup(s,{emit:e}){const o=s.roleOptions.map(p=>({label:p.name,value:p.name})),r=S({email:"",roles:[]});function i(){e("cancel")}function m(){!r.email||e("created",r)}return(p,f)=>(y(),g(t(F),{open:"",title:"New user",width:720,"body-style":{paddingBottom:"80px"},"footer-style":{textAlign:"right"},onClose:i},{extra:l(()=>[n(t(E),null,{default:l(()=>[n(t(_),{onClick:i},{default:l(()=>[h("Cancel")]),_:1}),n(t(_),{type:"primary",onClick:m},{default:l(()=>[h("Submit")]),_:1})]),_:1})]),default:l(()=>[n(t(B),{model:r,layout:"vertical"},{default:l(()=>[n(t(w),{key:"email",label:"Email",required:!0},{default:l(()=>[n(t(T),{value:r.email,"onUpdate:value":f[0]||(f[0]=c=>r.email=c)},null,8,["value"])]),_:1}),n(t(w),{key:"role",label:"Role"},{default:l(()=>[n(t(G),{value:r.roles,"onUpdate:value":f[1]||(f[1]=c=>r.roles=c),mode:"multiple",options:t(o)},null,8,["value","options"])]),_:1})]),_:1},8,["model"])]),_:1}))}}),Oe=b({__name:"UpdateUser",props:{roleOptions:{},email:{},roles:{}},emits:["updated","cancel"],setup(s,{emit:e}){const a=s,o=a.roleOptions.map(p=>({label:p.name,value:p.name})),r=S({email:a.email,roles:a.roles});function i(){e("cancel")}function m(){e("updated",r)}return(p,f)=>(y(),g(t(F),{open:"",title:"Update user",width:720,"body-style":{paddingBottom:"80px"},"footer-style":{textAlign:"right"},onClose:i},{extra:l(()=>[n(t(E),null,{default:l(()=>[n(t(_),{onClick:i},{default:l(()=>[h("Cancel")]),_:1}),n(t(_),{type:"primary",onClick:m},{default:l(()=>[h("Submit")]),_:1})]),_:1})]),default:l(()=>[n(t(B),{model:r,layout:"vertical"},{default:l(()=>[n(t(w),{key:"email",label:"Email"},{default:l(()=>[n(t(T),{value:r.email,"onUpdate:value":f[0]||(f[0]=c=>r.email=c)},null,8,["value"])]),_:1}),n(t(w),{key:"role",label:"Role"},{default:l(()=>[n(t(G),{value:r.roles,"onUpdate:value":f[1]||(f[1]=c=>r.roles=c),mode:"multiple",options:t(o)},null,8,["value","options"])]),_:1})]),_:1},8,["model"])]),_:1}))}}),$e=b({__name:"View",props:{loading:{type:Boolean},users:{},onCreate:{type:Function},onEdit:{type:Function},onDelete:{type:Function}},setup(s){const e=s,a=H(()=>{var o;return{columns:[{title:"Email"},{title:"Roles"},{title:"",align:"right"}],rows:(o=e.users.map(r=>({key:r.email,cells:[{type:"text",text:r.email},{type:"slot",key:"roles",payload:{roles:r.roles}},{type:"actions",actions:[{icon:te,label:"Edit",onClick:()=>e.onEdit(r)},{icon:X,label:"Delete",onClick:()=>e.onDelete(r)}]}]})))!=null?o:[]}});return(o,r)=>(y(),g(ee,{"entity-name":"users",title:"",loading:o.loading,description:"List all app users.","empty-title":"No users yet",table:a.value,"create-button-text":"Add users",create:o.onCreate},{roles:l(({payload:i})=>[(y(!0),Q(W,null,ve(i.roles,m=>(y(),g(t(_e),{key:m,bordered:""},{default:l(()=>[h(we(m),1)]),_:2},1024))),128))]),_:1},8,["loading","table","create"]))}}),De=b({__name:"NewRole",emits:["created","cancel"],setup(s,{emit:e}){const a=S({name:"",description:""});function o(){e("cancel")}function r(){!a.name||e("created",a)}return(i,m)=>(y(),g(t(F),{open:"",title:"New role",width:720,"body-style":{paddingBottom:"80px"},"footer-style":{textAlign:"right"},onClose:o},{extra:l(()=>[n(t(E),null,{default:l(()=>[n(t(_),{onClick:o},{default:l(()=>[h("Cancel")]),_:1}),n(t(_),{type:"primary",onClick:r},{default:l(()=>[h("Submit")]),_:1})]),_:1})]),default:l(()=>[n(t(B),{model:a,layout:"vertical"},{default:l(()=>[n(t(w),{key:"name",label:"Name",required:!0},{default:l(()=>[n(t(T),{value:a.name,"onUpdate:value":m[0]||(m[0]=p=>a.name=p)},null,8,["value"])]),_:1}),n(t(w),{key:"description",label:"Description"},{default:l(()=>[n(t(Y),{value:a.description,"onUpdate:value":m[1]||(m[1]=p=>a.description=p),placeholder:"Optional description",rows:3},null,8,["value"])]),_:1})]),_:1},8,["model"])]),_:1}))}}),Ie=b({__name:"UpdateRole",props:{name:{},description:{}},emits:["updated","cancel"],setup(s,{emit:e}){const a=s,o=S({description:a.description});function r(){e("cancel")}function i(){e("updated",o)}return(m,p)=>(y(),g(t(F),{open:"",title:"Update role",width:720,"body-style":{paddingBottom:"80px"},"footer-style":{textAlign:"right"},onClose:r},{extra:l(()=>[n(t(E),null,{default:l(()=>[n(t(_),{onClick:r},{default:l(()=>[h("Cancel")]),_:1}),n(t(_),{type:"primary",onClick:i},{default:l(()=>[h("Submit")]),_:1})]),_:1})]),default:l(()=>[n(t(B),{model:o,layout:"vertical"},{default:l(()=>[n(t(w),{key:"name",label:"Name"},{default:l(()=>[n(t(T),{value:a.name,disabled:""},null,8,["value"])]),_:1}),n(t(w),{key:"role",label:"Role"},{default:l(()=>[n(t(Y),{value:o.description,"onUpdate:value":p[0]||(p[0]=f=>o.description=f),placeholder:"Optional description",rows:3},null,8,["value"])]),_:1})]),_:1},8,["model"])]),_:1}))}}),je=b({__name:"View",props:{loading:{type:Boolean},roles:{},onCreate:{type:Function},onEdit:{type:Function},onDelete:{type:Function}},setup(s){const e=s,a=H(()=>{var o;return{columns:[{title:"Name"},{title:"Description"},{title:"",align:"right"}],rows:(o=e.roles.map(r=>({key:r.id,cells:[{type:"text",text:r.name},{type:"text",text:r.description},{type:"actions",actions:[{icon:te,label:"Edit",onClick:()=>e.onEdit(r)},{icon:X,label:"Delete",onClick:()=>e.onDelete(r)}]}]})))!=null?o:[]}});return(o,r)=>(y(),g(ee,{"entity-name":"roles",loading:o.loading,title:"",description:"List all app roles.","empty-title":"No roles yet",table:a.value,"create-button-text":"Add roles",create:o.onCreate},null,8,["loading","table","create"]))}}),N=class{constructor(e){U(this,"record");this.dto=e,this.record=ae.from(e)}static from(e){return new N(e)}toDTO(){return this.record.toDTO()}get id(){return this.record.get("id")}get projectId(){return this.record.get("projectId")}get emailPatterns(){return this.record.get("emailPatterns")}set emailPatterns(e){this.record.set("emailPatterns",e)}get hasChanges(){return this.record.hasChangesDeep("emailPatterns")}get strategy(){return this.dto.emailPatterns.length===0?"inviteOnly":"patternOnly"}get changes(){return this.record.changes}allowOnlyInvited(){this.record.set("emailPatterns",[])}static validate(e){return N.pattern.test(e)}};let A=N;U(A,"pattern",new RegExp("^@?(?!-)[A-Za-z0-9-]{1,}(?<!-)(\\.[A-Za-z]{2,})+$"));class Ne{constructor(){U(this,"urlPath","signup-policy")}async update(e,a){return R.patch(`projects/${e}/${this.urlPath}`,a)}async get(e){return R.get(`projects/${e}/${this.urlPath}`)}}const K=new Ne;class Se{constructor(e){this.projectId=e}async update(e){const{emailPatterns:a}=e.changes;if(!a)return e;const o=await K.update(this.projectId,{emailPatterns:a});return A.from(o)}async get(){const e=await K.get(this.projectId);return A.from(e)}}class z{constructor(e){U(this,"record");this.dto=e,this.record=ae.from(e)}static from(e){return new z(e)}toDTO(){return this.record.toDTO()}get changes(){return this.record.changes}get id(){return this.record.get("id")}get email(){return this.record.get("email")}set email(e){this.record.set("email",e)}get projectId(){return this.record.get("projectId")}get roles(){return this.record.get("roles")}set roles(e){this.record.set("roles",e)}update(e){this.record.update(e)}resetChanges(){this.record.resetChanges()}}class Te{constructor(){U(this,"urlPath","users")}async create(e,a){return R.post(`projects/${e}/${this.urlPath}`,a)}async delete(e,a){await R.delete(`projects/${e}/${this.urlPath}/${a}`)}async list(e,{limit:a,offset:o}){const r={};a&&(r.limit=a.toString()),o&&(r.offset=o.toString());const i=new URLSearchParams(r);return R.get(`projects/${e}/${this.urlPath}?${i.toString()}`)}async update(e,a,o){return R.patch(`projects/${e}/${this.urlPath}/${a}`,o)}}const j=new Te;class Be{constructor(e){this.projectId=e}async create(e){await j.create(this.projectId,e)}async update(e,a){await j.update(this.projectId,e,a)}async delete(e){await j.delete(this.projectId,e)}async list(e,a){return(await j.list(this.projectId,{limit:e,offset:a})).map(z.from)}}const at=b({__name:"View",setup(s){const a=be().params.projectId,o=x({type:"initial"}),r=x("users");Ce(()=>{const d=new URLSearchParams(location.search).get("selected-panel")||"users",v=["roles","users"].includes(d)?d:"users";d&&(r.value=v)});const i=()=>{o.value.type="initial"},m=()=>{o.value.type="creatingUser"},p=u=>{o.value={type:"editingUser",payload:u}},f=()=>{o.value.type="creatingRole"},c=u=>{o.value={type:"editingRole",payload:u}},C=new Se(a),{result:P,refetch:oe}=q(()=>C.get()),re=async()=>{if(!!P.value)try{await C.update(P.value),oe()}catch(u){u instanceof Error&&k("Update Error",u.message)}},O=new Be(a),{loading:ne,result:le,refetch:$}=q(()=>O.list(100,0)),D=new Re(a),{loading:se,result:V,refetch:L}=q(()=>D.list(100,0)),ie=async u=>{try{if(o.value.type!=="creatingUser")return;await O.create(u),i(),$()}catch(d){d instanceof Error&&k("Create Error",d.message)}},ce=async u=>{try{if(o.value.type!=="editingUser")return;await O.update(o.value.payload.id,u),i(),$()}catch(d){d instanceof Error&&k("Update Error",d.message)}},ue=async u=>{if(!!await M("Deleting users revoke their access to your application (in case they aren't allowed by a domain rule). Are you sure you want to continue?"))try{await O.delete(u.id),$()}catch(v){v instanceof Error&&k("Delete Error",v.message)}},de=async u=>{try{if(o.value.type!=="creatingRole")return;await D.create(u),i(),L()}catch(d){d instanceof Error&&k("Create Error",d.message)}},pe=async u=>{try{if(o.value.type!=="editingRole")return;await D.update(o.value.payload.id,u),i(),L()}catch(d){d instanceof Error&&k("Update Error",d.message)}},ye=async u=>{if(!!await M("Deleteing roles may revoke access to some features in your application. Are you sure you want to continue?"))try{await D.delete(u.id),L(),$()}catch(v){v instanceof Error&&k("Delete Error",v.message)}};return(u,d)=>(y(),Q(W,null,[n(t(ke),null,{default:l(()=>[h("Access Control")]),_:1}),n(t(Pe),null,{default:l(()=>[h(" Manage how your end users interect with your application. "),n(Ue,{path:"tools/access-control"})]),_:1}),n(t(Ee),{"active-key":r.value,"onUpdate:activeKey":d[0]||(d[0]=v=>r.value=v)},{default:l(()=>[n(t(Z),{key:"users",tab:"Users"}),n(t(Z),{key:"roles",tab:"Roles"})]),_:1},8,["active-key"]),r.value==="users"&&t(P)?(y(),g(xe,{key:0,"signup-policy":t(P),onSave:re},null,8,["signup-policy"])):I("",!0),r.value==="users"?(y(),g($e,{key:1,loading:t(ne),users:t(le)||[],onCreate:m,onEdit:p,onDelete:ue},null,8,["loading","users"])):I("",!0),r.value==="roles"?(y(),g(je,{key:2,loading:t(se),roles:t(V)||[],onCreate:f,onEdit:c,onDelete:ye},null,8,["loading","roles"])):I("",!0),o.value.type==="creatingUser"?(y(),g(Ae,{key:3,"role-options":t(V)||[],onCancel:i,onCreated:ie},null,8,["role-options"])):o.value.type==="editingUser"?(y(),g(Oe,{key:4,email:o.value.payload.email,roles:o.value.payload.roles||[],"role-options":t(V)||[],onUpdated:ce,onCancel:i},null,8,["email","roles","role-options"])):o.value.type==="creatingRole"?(y(),g(De,{key:5,onCancel:i,onCreated:de})):o.value.type==="editingRole"?(y(),g(Ie,{key:6,name:o.value.payload.name,description:o.value.payload.description,onUpdated:pe,onCancel:i},null,8,["name","description"])):I("",!0)],64))}});export{at as default};
|
|
2
|
+
//# sourceMappingURL=View.5fd7ddf0.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var x=Object.defineProperty;var _=(n,e,t)=>e in n?x(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var s=(n,e,t)=>(_(n,typeof e!="symbol"?e+"":e,t),t);import{
|
|
2
|
-
//# sourceMappingURL=View.vue_vue_type_script_setup_true_lang.
|
|
1
|
+
var x=Object.defineProperty;var _=(n,e,t)=>e in n?x(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var s=(n,e,t)=>(_(n,typeof e!="symbol"?e+"":e,t),t);import{k as C}from"./router.424f7da9.js";import{l as D}from"./fetch.89fd5b7b.js";import{E as U}from"./record.7f43486c.js";import{N as I,r as R,em as S,d as $,w as F,J as O,aq as B,a5 as L,u as a,a as h,eo as M,b as o,h as v,aR as N,o as c,g as m,ed as w,f as y,cw as P,d8 as G,cC as W,cx as z,M as J}from"./jwt-decode.esm.d4517a10.js";import{S as A}from"./SaveButton.719393d2.js";import{C as Z}from"./CrudView.c0824225.js";import{a as q}from"./asyncComputed.cf5282fc.js";import{o as f}from"./omniChatStore.c53bcca2.js";import{G as H}from"./PhPencil.vue.2f2fe576.js";import{u as K}from"./useCodebaseEvents.53dec1f2.js";import{A as Q}from"./index.2af3391c.js";(function(){try{var n=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},e=new Error().stack;e&&(n._sentryDebugIds=n._sentryDebugIds||{},n._sentryDebugIds[e]="917264e5-3d34-4dc0-a2e4-723ac6994403",n._sentryDebugIdIdentifier="sentry-dbid-917264e5-3d34-4dc0-a2e4-723ac6994403")}catch{}})();class g{constructor(e){s(this,"data");s(this,"deleted");s(this,"wasDeleted",e=>this.deleted.value.includes(e));s(this,"wasUpdated",e=>this.data.hasChangesDeep(e));s(this,"set",(e,t)=>{this.data.set(e,t),this.deleted.value=this.deleted.value.filter(i=>i!==e)});s(this,"get",e=>{if(!this.deleted.value.includes(e))return this.data.get(e)});s(this,"delete",e=>{this.deleted.value=[...this.deleted.value,e]});s(this,"values",()=>{const e={},t=Object.keys(this.data.changes).concat(Object.keys(this.data.initialState));for(const i of t)this.deleted.value.includes(i)||(e[i]=this.data.get(i));return e});s(this,"commit",()=>{this.data=U.from(this.values()),this.deleted.value=[]});this.data=U.from(e),this.deleted=I([])}static from(e){const t=e.reduce((i,{name:d,value:p})=>(i[d]=p,i),{});return new g(t)}get changes(){const e=this.deleted.value.map(t=>({name:t,change:"delete"}));for(const t of Object.keys(this.data.changes))if(!this.deleted.value.includes(t)){if(this.data.initialState[t]===void 0){e.push({name:t,value:this.data.get(t),change:"create"});continue}this.data.hasChangesDeep(t)&&e.push({name:t,value:this.data.get(t),change:"update"})}return e}}class X{constructor(){s(this,"urlPath","env-vars")}async list(e){return await C.get(`projects/${e}/${this.urlPath}`)}async update(e,t){await C.patch(`projects/${e}/${this.urlPath}`,t)}}const T=new X;class ue{constructor(e){this.projectId=e}async get(){const e=await T.list(this.projectId);return g.from(e.map(t=>({...t,value:""})))}async update(e){await T.update(this.projectId,e)}}class he{constructor(e=D){this.fetch=e}async get(){const e=await this.fetch("/_editor/api/env-vars");if(!e.ok)throw new Error("Failed to list env vars");const t=await e.json();return g.from(t)}async update(e){await this.fetch("/_editor/api/env-vars",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}}class b{constructor(e,t,i){s(this,"envVarRepo");s(this,"envVars");s(this,"state",R({type:"idle"}));s(this,"mode");s(this,"validate",e=>{const t=/^[A-Za-z_][A-Za-z0-9_]*$/,{key:i,value:d}=e;if(d.trim()!==d)throw new Error("Environment variable values cannot have leading or trailing whitespace.");if(!t.test(i))throw new Error(`Invalid key: \u2018${i}\u2019. A key must begin with a letter or an underscore, and may only include letters, numbers, and underscores.`)});s(this,"create",e=>{this.validate(e),this.envVars.set(e.key,e.value),this.state.value={type:"idle"}});s(this,"delete",e=>{this.envVars.delete(e),this.state.value={type:"idle"}});s(this,"startUpdating",e=>{this.state.value={type:"updating",name:e,value:this.envVars.get(e)||""}});s(this,"confirmUpdate",()=>{this.state.value.type==="updating"&&(this.envVars.set(this.state.value.name,this.state.value.value),this.state.value={type:"idle"})});s(this,"cancelUpdate",()=>{this.state.value={type:"idle"}});s(this,"refetch",async()=>{if(!this.isLocalEditor)return;const e=await this.envVarRepo.get();Object.entries(e.values()).forEach(([t,i])=>{this.envVars.wasDeleted(t)||this.envVars.get(t)===void 0&&this.envVars.set(t,i)})});s(this,"columns",()=>[{title:"Key"},{title:"Value"},{title:""}]);s(this,"rows",()=>Object.entries(this.envVars.values()).map(([e])=>({key:e,cells:[{type:"text",text:e,contentType:this.wasUpdated(e)?"warning":"default"},{type:"text",text:"*********",contentType:this.wasUpdated(e)?"warning":"default"},{type:"actions",actions:[{icon:S,label:"Delete",onClick:()=>this.delete(e),dangerous:!0},{icon:H,label:"Update",onClick:()=>this.startUpdating(e)}]}]})));s(this,"save",async()=>{await this.envVarRepo.update(this.envVars.changes),this.envVars.commit()});s(this,"hasChanges",()=>this.envVars.changes.length>0);s(this,"table",()=>({columns:this.columns(),rows:this.rows()}));this.envVarRepo=e,this.envVars=t,this.mode=i}static async create(e,t){const i=await e.get();return new b(e,i,t)}get isLocalEditor(){return this.mode==="editor"}get saveMessage(){return this.isLocalEditor?"Save":"Save and Apply"}get creationFields(){return[{label:"Variable name",key:"key"},{label:"Variable value",key:"value",type:"multiline-text"}]}get isUpdating(){return this.state.value.type==="updating"}wasUpdated(e){return this.envVars.wasUpdated(e)}}const ve=$({__name:"View",props:{envVarRepository:{},mode:{},hideTitle:{type:Boolean}},setup(n){const e=n,{result:t,loading:i,refetch:d}=q(async()=>await b.create(e.envVarRepository,e.mode)),p=K();F(p.lastEvent,async l=>{var r;l&&l.filepath&&l.filepath.endsWith(".env")&&await((r=t.value)==null?void 0:r.refetch())});const j={columns:[],rows:[]};return O(()=>{const l=f.subscribe("envVarCreated",()=>{d()}),r=f.subscribe("envVarEdited",()=>{d()});B(()=>{f.unsubscribe(l),f.unsubscribe(r)})}),(l,r)=>{var V,k;return c(),L(N,null,[a(t)?(c(),h(Z,{key:0,"entity-name":"Env var",loading:a(i),title:e.hideTitle?"":"Environment Variables",description:e.hideTitle?"":"Set environment variables for your project.","empty-title":"No environment variables set",table:a(t).table()||j,"create-button-text":"Add Environment Variable",create:a(t).create,fields:a(t).creationFields||[],live:a(t).isLocalEditor},M({_:2},[(V=a(t))!=null&&V.isLocalEditor?{name:"secondary",fn:o(()=>[l.mode=="editor"?(c(),h(A,{key:0,model:a(t),disabled:!a(t).hasChanges()},{"with-changes":o(()=>[m(w(a(t).saveMessage),1)]),_:1},8,["model","disabled"])):v("",!0)]),key:"0"}:void 0,(k=a(t))!=null&&k.isLocalEditor?{name:"extra",fn:o(()=>[y(a(Q),{"show-icon":"",style:{"margin-top":"20px"}},{message:o(()=>[m(" This is simply a helper to manage your environment variables locally. The variables set here will not be deployed to Cloud with your project. ")]),_:1})]),key:"1"}:void 0,a(t)?{name:"more",fn:o(()=>[l.mode=="console"?(c(),h(A,{key:0,model:a(t),disabled:!a(t).hasChanges()},{"with-changes":o(()=>[m(w(a(t).saveMessage),1)]),_:1},8,["model","disabled"])):v("",!0)]),key:"2"}:void 0]),1032,["loading","title","description","table","create","fields","live"])):v("",!0),a(t)?(c(),h(a(J),{key:1,open:a(t).isUpdating,title:"Update value",onCancel:r[1]||(r[1]=u=>{var E;return(E=a(t))==null?void 0:E.cancelUpdate()}),onOk:r[2]||(r[2]=()=>{var u;return(u=a(t))==null?void 0:u.confirmUpdate()})},{default:o(()=>[a(t).state.value.type==="updating"?(c(),h(a(P),{key:0,layout:"vertical"},{default:o(()=>[y(a(z),null,{default:o(()=>[y(a(G),null,{default:o(()=>[m(w(a(t).state.value.name),1)]),_:1}),y(a(W),{value:a(t).state.value.value,"onUpdate:value":r[0]||(r[0]=u=>a(t).state.value.value=u)},null,8,["value"])]),_:1})]),_:1})):v("",!0)]),_:1},8,["open"])):v("",!0)],64)}}});export{ue as C,he as E,ve as _};
|
|
2
|
+
//# sourceMappingURL=View.vue_vue_type_script_setup_true_lang.a904f400.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{S as d}from"./workspaceStore.
|
|
2
|
-
//# sourceMappingURL=Watermark.
|
|
1
|
+
import{S as d}from"./workspaceStore.6244d03d.js";import{A as p}from"./constants.7d38ec8b.js";import{d as l,u as t,a5 as f,g as _,ed as c,h as C,eD as u,o as h,eG as m,_ as g}from"./jwt-decode.esm.d4517a10.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]="5e585b03-9d10-4a8d-a1ab-d2d91abfc53c",a._sentryDebugIdIdentifier="sentry-dbid-5e585b03-9d10-4a8d-a1ab-d2d91abfc53c")}catch{}})();const v=["href"],b=u('<svg width="44" height="32" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-e084ae6f><g clip-path="url(#clip0_405_116214)" data-v-e084ae6f><path d="M188.697 133.808L172.68 148.263C172.68 148.263 216.044 185.966 217.997 187.72C219.951 189.475 234.405 174.566 232.843 173.266C231.28 171.966 188.697 133.808 188.697 133.808Z" fill="#E36C7C" data-v-e084ae6f></path><path d="M188.697 133.808L172.68 148.263C172.68 148.263 216.044 185.966 217.997 187.72C219.951 189.475 234.405 174.566 232.843 173.266C231.28 171.966 188.697 133.808 188.697 133.808Z" fill="url(#paint0_linear_405_116214)" data-v-e084ae6f></path><path d="M218.387 91.2249L176.195 127.557L173.851 129.51C151.192 149.849 149.853 152.309 141.642 152.584L141.584 152.586C139.612 152.652 135.357 152.795 131.875 149.849C126.797 145.552 120.155 140.083 117.03 137.348C115.34 135.869 112.465 133.039 109.998 131.097C107.902 129.448 106.482 127.581 104.919 127.581C103.357 127.581 100.622 129.925 96.3246 133.832C92.0272 137.739 82.6511 146.333 82.6511 146.333L65.0712 161.569C65.0712 161.569 42.5857 180.688 36.7256 185.376C30.8656 190.064 16.5797 175.69 21.4895 171.703C21.9628 171.23 26.2429 167.755 29.7179 164.915C32.2165 162.84 34.2084 161.179 34.2084 161.179C34.9897 160.397 66.2433 133.051 66.2433 133.051L87.723 114.573C87.723 114.573 95.9339 106.094 105.701 106.094C108.826 106.094 112.83 106.485 126.015 118.205C129.531 121.33 131.485 122.542 135.782 126.409C137.345 127.816 139.852 130.316 140.861 130.316C141.882 130.316 143.986 128.363 145.549 127.023C145.549 127.023 195.897 84.4149 202.37 77.9421C207.839 72.4726 223.075 86.9273 218.387 91.2249Z" fill="url(#paint1_linear_405_116214)" data-v-e084ae6f></path><path d="M33.238 67.1372C31.2846 68.6564 23.9305 75.1737 22.2992 76.9039C19.3366 80.0417 21.3638 81.3905 25.6611 84.9065C29.9585 88.4225 57.8962 112.712 64.8542 118.963L79.9642 105.221L41.288 71.2331C36.5999 67.1372 35.1913 65.6179 33.238 67.1372Z" fill="url(#paint2_linear_405_116214)" data-v-e084ae6f></path></g><defs data-v-e084ae6f><linearGradient id="paint0_linear_405_116214" x1="172.68" y1="133.808" x2="183.059" y2="196.169" gradientUnits="userSpaceOnUse" data-v-e084ae6f><stop offset="0.114583" stop-color="#FF98A6" data-v-e084ae6f></stop><stop offset="1" stop-color="#E36C7C" data-v-e084ae6f></stop></linearGradient><linearGradient id="paint1_linear_405_116214" x1="219.271" y1="186.305" x2="206.115" y2="57.7298" gradientUnits="userSpaceOnUse" data-v-e084ae6f><stop stop-color="#E36C7C" data-v-e084ae6f></stop><stop offset="0.859375" stop-color="#FF98A6" data-v-e084ae6f></stop></linearGradient><linearGradient id="paint2_linear_405_116214" x1="20.8984" y1="66.56" x2="30.8589" y2="127.049" gradientUnits="userSpaceOnUse" data-v-e084ae6f><stop stop-color="#E36C7C" data-v-e084ae6f></stop><stop offset="0.859375" stop-color="#FF98A6" data-v-e084ae6f></stop></linearGradient><clipPath id="clip0_405_116214" data-v-e084ae6f><rect width="256" height="256" fill="white" data-v-e084ae6f></rect></clipPath></defs></svg><b data-v-e084ae6f>Abstra</b>',2),w=l({__name:"Watermark",props:{pageId:{},locale:{}},setup(a){var s;const e=a,r=window.location.hostname.split(".")[0],o=(s=d.instance)==null?void 0:s.showWatermark,n=new URLSearchParams({utm_source:"abstra_pages",utm_medium:"badge",utm_campaign:e.pageId,origin_subdomain:r});return(i,y)=>t(o)?(h(),f("a",{key:0,href:`${t(p).HOMEPAGE}?${t(n).toString()}`,target:"_blank",class:"watermark"},[_(c(t(m).translate("i18n_watermark_text",i.locale))+" ",1),b],8,v)):C("",!0)}});const S=g(w,[["__scopeId","data-v-e084ae6f"]]);export{S as W};
|
|
2
|
+
//# sourceMappingURL=Watermark.ab3d818f.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var _=Object.defineProperty;var m=(e,t,n)=>t in e?_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var i=(e,t,n)=>(m(e,typeof t!="symbol"?t+"":t,n),n);import{d as g,J as v,I as y,a as c,b as s,o as d,f as o,u as r,
|
|
2
|
-
//# sourceMappingURL=WebEditor.
|
|
1
|
+
var _=Object.defineProperty;var m=(e,t,n)=>t in e?_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var i=(e,t,n)=>(m(e,typeof t!="symbol"?t+"":t,n),n);import{d as g,J as v,I as y,a as c,b as s,o as d,f as o,u as r,dc as h,cM as w,A as I,g as p,d8 as u,_ as b,r as P,eb as x}from"./jwt-decode.esm.d4517a10.js";import{_ as W}from"./AbstraLogo.vue_vue_type_script_setup_true_lang.9f98292e.js";import{B as j}from"./BaseLayout.1ec2c96d.js";import{l as f}from"./fetch.89fd5b7b.js";import"./router.424f7da9.js";import{a as A}from"./project.619b7244.js";import"./tables.1f68ec62.js";import"./Logo.82d6ab70.js";import"./index.4176fe88.js";import"./record.7f43486c.js";import"./string.0acf5572.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]="72fea1b5-ce44-476c-a865-d26f93f89f8a",e._sentryDebugIdIdentifier="sentry-dbid-72fea1b5-ce44-476c-a865-d26f93f89f8a")}catch{}})();const E=g({__name:"View",props:{controller:{}},setup(e){const t=e,n=t.controller.loadingPercentage();return v(()=>{t.controller.start()}),y(()=>{t.controller.cleanUp()}),(a,l)=>(d(),c(j,null,{content:s(()=>[o(r(h),{align:"center",justify:"center",style:{width:"100vw",height:"100dvh"}},{default:s(()=>[o(r(h),{gap:"large",align:"center",justify:"space-evenly",vertical:"",style:{width:"45%","min-width":"600px",height:"100%"}},{default:s(()=>[o(W,{size:"large"}),o(r(w),{size:[10,10],"show-info":!1,percent:r(n),"stroke-color":"#EA576A"},null,8,["percent"]),o(r(I),{level:3},{default:s(()=>[p("Preparing your environment")]),_:1}),r(n)<100?(d(),c(r(u),{key:0},{default:s(()=>[p("We are setting things up... This may take up to 1 minute.")]),_:1})):(d(),c(r(u),{key:1},{default:s(()=>[p("You will be redirected soon")]),_:1}))]),_:1})]),_:1})]),_:1}))}});const T=b(E,[["__scopeId","data-v-0794e790"]]);function k(e,t){if(!e)return"";const n=t.toString();if(!n)return e;const l=e.includes("?")?"&":"?";return`${e}${l}${n}`}class R{constructor(t,n,a=f){i(this,"projectId");i(this,"loading");i(this,"fetch",f);i(this,"interval",null);i(this,"urls",null);i(this,"totalWaitTime");i(this,"poolingInterval");i(this,"pingResponded",!1);i(this,"redirectPath");this.projectId=t,this.loading=P(0),this.fetch=a,this.totalWaitTime=6e4,this.poolingInterval=2500,this.redirectPath=n}increment(){this.loading.value+=100/(this.totalWaitTime/this.poolingInterval)}speedUp(){this.totalWaitTime=5e3,this.poolingInterval=500,this.interval&&clearInterval(this.interval),this.interval=setInterval(async()=>{this.increment(),this.loading.value>=100&&this.navigate()},this.poolingInterval)}navigate(){if(this.urls){const t=new URLSearchParams;this.redirectPath&&t.set("redirect",this.redirectPath);const n=k(this.urls.redirect,t);window.location.replace(n)}this.cleanUp()}async ping(){if(!this.urls)return!1;if(this.pingResponded)return!0;const t=await this.fetch(this.urls.ping,{signal:AbortSignal.timeout(500)});return this.pingResponded=t.status===200,this.pingResponded}async start(){const t=await A.startWebEditor(this.projectId);this.urls=t,this.interval=setInterval(async()=>{this.increment(),this.pingResponded||await this.ping()&&this.speedUp(),this.loading.value>=100&&this.navigate()},this.poolingInterval)}cleanUp(){this.interval&&clearInterval(this.interval)}loadingPercentage(){return this.loading}}const Q=g({__name:"WebEditor",setup(e){const t=x(),n=t.params.projectId,a=t.query.redirect,l=new R(n,a);return(U,V)=>(d(),c(T,{controller:r(l)},null,8,["controller"]))}});export{Q as default};
|
|
2
|
+
//# sourceMappingURL=WebEditor.d6ec6392.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{d as k,r as B,J as A,o as n,a as u,b as f,f as I,g as P,ed as S,ea as C,eF as D,u as y,bR as N,eW as E,_ as W,eb as V,h as g,e as b,a5 as c,ec as v,ef as q,aR as w,E as x,F}from"./jwt-decode.esm.d4517a10.js";import{S as L}from"./Steps.8e5d201a.js";import{W as $}from"./PlayerConfigProvider.e90a2b41.js";import"./index.fb49354b.js";import"./colorHelpers.37d9932b.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]="dec164d0-6b6a-4c90-be64-f8b0c4a8a56a",a._sentryDebugIdIdentifier="sentry-dbid-dec164d0-6b6a-4c90-be64-f8b0c4a8a56a")}catch{}})();const K=k({__name:"ActionButton",props:{action:{},displayName:{},disabled:{type:Boolean},loading:{type:Boolean}},emits:["click"],setup(a,{emit:t}){const d=a,l=B(null);return A(()=>{l.value&&d.action.setElement(l.value)}),(o,i)=>(n(),u(y(E),null,{default:f(()=>[I(y(N),{ref_key:"element",ref:l,class:C(["next-button",o.disabled?"disabled":""]),loading:o.loading,disabled:o.disabled,onClick:i[0]||(i[0]=p=>t("click")),onKeydown:i[1]||(i[1]=D(p=>t("click"),["enter"]))},{default:f(()=>[P(S(o.displayName),1)]),_:1},8,["loading","disabled","class"])]),_:1}))}});const R=W(K,[["__scopeId","data-v-aea27bb7"]]),J={class:"form"},M={class:"form-wrapper"},O={key:0,class:"buttons"},z=k({__name:"WidgetPreview",setup(a){const t=V(),d=B([]);function l(e){return x[e]||F[e]||null}function o(e){try{const s=JSON.parse(e);if(s.component=l(s.type),!s.component)throw new Error(`Widget ${s.type} not found`);return s.component?s:null}catch{return null}}function i(){const e=t.query.widget;return Array.isArray(e)?e.map(o).filter(Boolean):[o(e)]}function p(){return t.query.steps==="true"}function _(){const e=t.query.button;return e?Array.isArray(e)?e:[e]:[]}const m=e=>({name:e,isDefault:!1,isFocused:!1,focusOnButton:()=>{},addKeydownListener:()=>{},setElement:()=>{}});return(e,s)=>(n(),u($,{"main-color":"#d14056",class:"preview",background:"#fbfbfb","font-family":"Inter",locale:"en"},{default:f(()=>[p()?(n(),u(L,{key:0,class:"steps","steps-info":{current:1,total:3},"is-preview":""})):g("",!0),b("div",J,[b("div",M,[(n(!0),c(w,null,v(i(),(r,h)=>(n(),c("div",{key:h,class:"widget"},[(n(),u(q(r.component),{"user-props":r.userProps,value:r.userProps.value,errors:d.value},null,8,["user-props","value","errors"]))]))),128))]),_().length?(n(),c("div",O,[(n(!0),c(w,null,v(_(),r=>(n(),u(R,{key:r,"display-name":m(r).name,action:m(r)},null,8,["display-name","action"]))),128))])):g("",!0)])]),_:1}))}});const U=W(z,[["__scopeId","data-v-d3d01da6"]]);export{U as default};
|
|
2
|
+
//# sourceMappingURL=WidgetPreview.86b31dec.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{ej as n,M as b}from"./jwt-decode.esm.d4517a10.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},r=new Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="c30398d9-578b-4b6e-afcf-86be0af62268",e._sentryDebugIdIdentifier="sentry-dbid-c30398d9-578b-4b6e-afcf-86be0af62268")}catch{}})();function u(e){return n.exports.isArray(e)?e.length===0?"[ ]":"[ ... ]":n.exports.isObject(e)?Object.keys(e).length===0?"{ }":"{ ... }":n.exports.isString(e)?`'${e}'`:n.exports.isUndefined(e)||n.exports.isNull(e)?"None":e===!0?"True":e===!1?"False":`${e}`}function c(e){if(n.exports.isArray(e))return"array";if(n.exports.isObject(e))return"object";throw new Error("treeKey called with non-object and non-array")}function o(e,r=[],t){const f=t?`'${t}': ${u(e)}`:u(e);if(n.exports.isArray(e)){const i=c(e);return[{title:f,key:[...r,i].join("/"),children:e.flatMap((s,l)=>o(s,[...r,i,`${l}`]))}]}else if(n.exports.isObject(e)){const i=c(e);return[{title:f,key:[...r,i].join("/"),children:Object.entries(e).flatMap(([s,l])=>o(l,[...r,i,s],s))}]}else return[{title:f,key:r.join("/"),children:[]}]}function x(e,r){return new Promise(t=>{b.confirm({title:e,onOk:()=>t(!0),okText:r==null?void 0:r.okText,onCancel:()=>t(!1),cancelText:r==null?void 0:r.cancelText})})}export{x as a,o as t};
|
|
2
|
+
//# sourceMappingURL=ant-design.a865486e.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var d=Object.defineProperty;var o=(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)=>(o(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]="47aeb162-bcae-49ea-9bf1-1b55026b74c7",a._sentryDebugIdIdentifier="sentry-dbid-47aeb162-bcae-49ea-9bf1-1b55026b74c7")}catch{}})();class u{constructor(){i(this,"urlPath","api-keys")}async create({projectId:t,name:e}){return s.post(`projects/${t}/${this.urlPath}`,{name:e})}async delete(t,e){await s.delete(`projects/${t}/${this.urlPath}/${e}`)}async list(t){return s.get(`projects/${t}/${this.urlPath}`)}}const r=new u;class n{constructor(t){this.dto=t}static async list(t){return(await r.list(t)).map(c=>new n(c))}static async create(t){const e=await r.create(t);return new n(e)}static async delete(t,e){await r.delete(t,e)}get id(){return this.dto.id}get name(){return this.dto.name}get createdAt(){return new Date(this.dto.createdAt)}get ownerId(){return this.dto.createdBy}get value(){var t;return(t=this.dto.value)!=null?t:null}}export{n as A};
|
|
2
|
+
//# sourceMappingURL=apiKey.72f497ca.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{N as c,c as l}from"./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]="de94cf94-6ce2-41d8-932a-9f957cab8378",r._sentryDebugIdIdentifier="sentry-dbid-de94cf94-6ce2-41d8-932a-9f957cab8378")}catch{}})();const i=r=>{const e=c({loading:!0,result:null,error:null}),n=t=>(e.value={loading:!1,result:t,error:null},t),s=t=>{e.value={loading:!1,result:null,error:t}},o=async()=>(e.value={loading:!0,result:e.value.result,error:null},r().then(n).catch(s));o();const u=l(()=>e.value.loading),a=l(()=>e.value.result),d=l(()=>e.value.error);return{loading:u,result:a,error:d,refetch:o}};export{i as a};
|
|
2
|
+
//# sourceMappingURL=asyncComputed.cf5282fc.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
2
|
-
//# sourceMappingURL=build.
|
|
1
|
+
import{k as n}from"./router.424f7da9.js";import"./jwt-decode.esm.d4517a10.js";(function(){try{var i=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},e=new Error().stack;e&&(i._sentryDebugIds=i._sentryDebugIds||{},i._sentryDebugIds[e]="b4342b0a-494b-4385-ac9f-c27fc6a820b0",i._sentryDebugIdIdentifier="sentry-dbid-b4342b0a-494b-4385-ac9f-c27fc6a820b0")}catch{}})();class g{async list(e){return n.get(`projects/${e}/builds`)}async get(e){return n.get(`builds/${e}`)}async download(e){return n.get(`builds/${e}/download`)}}const d=new g;class c{constructor(e){this.dto=e}static async list(e){return(await d.list(e)).map(a=>new c(a))}get id(){return this.dto.id}get projectId(){return this.dto.projectId}get createdAt(){return new Date(this.dto.createdAt)}get status(){return this.dto.status}get log(){return this.dto.log}get latest(){return this.dto.latest}get abstraVersion(){return this.dto.abstraVersion}async download(){const e=await d.download(this.id);if(!e)throw new Error("Download failed");window.open(e.url,"_blank")}}class l{constructor(e,s,a,r){this.projectId=e,this.buildId=s,this.abstraVersion=a,this.project=r}static fromV0(e,s,a,r){const o={hooks:r.hooks.map(t=>({id:t.path,logQuery:{buildId:s,stageId:t.path,stageTitle:t.title},...t})),forms:r.forms.map(t=>({id:t.path,logQuery:{buildId:s,stageId:t.path,stageTitle:t.title},...t})),jobs:r.jobs.map(t=>({id:t.identifier,logQuery:{buildId:s,stageId:t.identifier,stageTitle:t.title},...t})),scripts:[]};return new l(e,s,a,o)}static fromDTO(e,s,a,r){const o={hooks:r.hooks.map(t=>({logQuery:{buildId:s,stageId:t.id,stageTitle:t.title},...t})),forms:r.forms.map(t=>({logQuery:{buildId:s,stageId:t.id,stageTitle:t.title},...t})),jobs:r.jobs.map(t=>({logQuery:{buildId:s,stageId:t.id,stageTitle:t.title},...t})),scripts:r.scripts.map(t=>({logQuery:{buildId:s,stageId:t.id,stageTitle:t.title},...t}))};return new l(e,s,a,o)}static async get(e){const s=await d.get(e);if(!s)throw new Error("Build not found");const{projectId:a,abstraJson:r,abstraVersion:o}=s;if(!r||!o)return null;const t=JSON.parse(r);if(!t.version)throw new Error("Version is invalid");return t.version==="0.1"?this.fromV0(a,e,o,t):this.fromDTO(a,e,o,t)}get runtimes(){return[...this.project.forms.map(e=>({...e,type:"form"})),...this.project.hooks.map(e=>({...e,type:"hook"})),...this.project.jobs.map(e=>({...e,type:"job"})),...this.project.scripts.map(e=>({...e,type:"script"}))]}}export{l as B,c as a,g as b};
|
|
2
|
+
//# sourceMappingURL=build.df2d55cc.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./jwt-decode.esm.
|
|
2
|
-
//# sourceMappingURL=colorHelpers.
|
|
1
|
+
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]="564d89d4-bbf8-43b7-a714-5c123daffc23",t._sentryDebugIdIdentifier="sentry-dbid-564d89d4-bbf8-43b7-a714-5c123daffc23")}catch{}})();function p(t,e){const{r:n,g:r,b:o,usePound:s}=f(t);return w(u(n,-e),u(r,-e),u(o,-e),s)}function u(t,e){const n=t*(100+e*100)/100;return n>255?255:n<0?0:Math.round(n)}function E(t){return t.startsWith("#")||t.match(/^(rgb|hsl)/)}const v=(t,e)=>y(p(y(t),e)),P=t=>k(t)?v(t,.1):p(t,.1);function k(t){const{r:e,g:n,b:r}=f(t);return e*.299+n*.587+r*.114<186}function f(t){let e=!1;t[0]=="#"&&(t=t.slice(1),e=!0);const n=parseInt(t,16);return{r:n>>16&255,g:n>>8&255,b:n&255,usePound:e}}function y(t){const{r:e,g:n,b:r,usePound:o}=f(t);return w(255-e,255-n,255-r,o)}const w=(t,e,n,r=!0)=>(r?"#":"")+(n|e<<8|t<<16).toString(16).padStart(6,"0");function _(t){return new Promise((e,n)=>{const r=document.createElement("img");r.src=t,r.crossOrigin="Anonymous",r.style.display="none",document.body.appendChild(r);let o=0;r.onerror=s=>n(new Error(`Failed to load image: ${s}`)),r.onload=()=>{const{width:s,height:g}=r,a=document.createElement("canvas");a.width=s,a.height=g;const c=a.getContext("2d");if(!c)return e(!1);c.drawImage(r,0,0);const I=c.getImageData(0,0,a.width,a.height),{data:d}=I;let l,b,h,m;for(let i=0,x=d.length;i<x;i+=4)l=d[i],b=d[i+1],h=d[i+2],m=Math.floor((l+b+h)/3),o+=m;const D=Math.floor(o/(s*g));document.body.removeChild(r),e(D<=127)}})}export{k as a,_ as b,P as c,E as i,v as l};
|
|
2
|
+
//# sourceMappingURL=colorHelpers.37d9932b.js.map
|