abstra 3.23.12__py3-none-any.whl → 3.24.1__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 +16 -5
- {abstra-3.23.12.dist-info → abstra-3.24.1.dist-info}/METADATA +1 -1
- {abstra-3.23.12.dist-info → abstra-3.24.1.dist-info}/RECORD +200 -190
- abstra_internals/cloud_api/__init__.py +17 -8
- abstra_internals/consts/filepaths.py +1 -1
- abstra_internals/contracts_generated.py +616 -596
- abstra_internals/controllers/ai.py +89 -1
- abstra_internals/controllers/git.py +307 -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/cli/editor.py +2 -2
- abstra_internals/interface/sdk/ai.py +1 -0
- abstra_internals/repositories/git/__init__.py +25 -0
- abstra_internals/repositories/git/git_test.py +362 -0
- abstra_internals/repositories/git/native.py +578 -0
- abstra_internals/repositories/git/types.py +273 -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.441fcdfd.js → AbstraButton.vue_vue_type_script_setup_true_lang.aefce2d3.js} +2 -2
- abstra_statics/dist/assets/AbstraLogo.vue_vue_type_script_setup_true_lang.28bc9fc9.js +2 -0
- abstra_statics/dist/assets/ApiKeys.3c1e70dc.js +2 -0
- abstra_statics/dist/assets/App.9d8bd2aa.js +2 -0
- abstra_statics/dist/assets/App.vue_vue_type_style_index_0_lang.a64c7cee.js +2 -0
- abstra_statics/dist/assets/{BaseLayout.c63dfc2d.js → BaseLayout.72a6c8f2.js} +2 -2
- abstra_statics/dist/assets/{Billing.461db3ef.js → Billing.6b07f282.js} +2 -2
- abstra_statics/dist/assets/{Breadcrumb.27110ec4.js → Breadcrumb.5c786c09.js} +2 -2
- abstra_statics/dist/assets/{Builds.4eecd717.js → Builds.d8c5c61b.js} +2 -2
- abstra_statics/dist/assets/{Card.1d1a9fb7.js → Card.fc77085c.js} +2 -2
- abstra_statics/dist/assets/{CircularLoading.fc66331b.js → CircularLoading.998b223a.js} +2 -2
- abstra_statics/dist/assets/{CloseCircleOutlined.0110bbe2.js → CloseCircleOutlined.9ff269cc.js} +2 -2
- abstra_statics/dist/assets/{ConnectorsView.82e74ae4.css → ConnectorsView.33c5380f.css} +1 -1
- abstra_statics/dist/assets/ConnectorsView.e670738b.js +2 -0
- abstra_statics/dist/assets/ConsoleOmniChat.vue_vue_type_script_setup_true_lang.3ca66327.js +2 -0
- abstra_statics/dist/assets/ContentLayout.0db8d7fb.js +2 -0
- abstra_statics/dist/assets/{CrudView.c16e2f81.js → CrudView.cc6aeaf0.js} +2 -2
- abstra_statics/dist/assets/DocsButton.vue_vue_type_script_setup_true_lang.689d8ce7.js +2 -0
- abstra_statics/dist/assets/{EditorLogin.00a3b3d9.js → EditorLogin.691452b4.js} +2 -2
- abstra_statics/dist/assets/{EditorsView.f7b2843c.js → EditorsView.fcdf0186.js} +2 -2
- abstra_statics/dist/assets/EnvVars.5519b4ce.js +2 -0
- abstra_statics/dist/assets/Error.11fd1f21.js +2 -0
- abstra_statics/dist/assets/ExclamationCircleOutlined.d0aa47da.js +2 -0
- abstra_statics/dist/assets/Files.6ea18d46.js +2 -0
- abstra_statics/dist/assets/{Form.8077681f.js → Form.09de384c.js} +2 -2
- abstra_statics/dist/assets/{FormRunner.055e2c45.js → FormRunner.15be6fa0.js} +2 -2
- abstra_statics/dist/assets/{Home.0ef22910.js → Home.782c5702.js} +2 -2
- abstra_statics/dist/assets/Home.7c495aa9.js +2 -0
- abstra_statics/dist/assets/{Live.e1261458.js → Live.48c10605.js} +2 -2
- abstra_statics/dist/assets/LoadingContainer.82ac3d44.js +2 -0
- abstra_statics/dist/assets/LoadingOutlined.66639b08.js +2 -0
- abstra_statics/dist/assets/Login.4a05f5c5.js +2 -0
- abstra_statics/dist/assets/{Login.041361ea.js → Login.4e852955.js} +2 -2
- abstra_statics/dist/assets/{Login.vue_vue_type_script_setup_true_lang.c2eb444c.js → Login.vue_vue_type_script_setup_true_lang.5161f328.js} +2 -2
- abstra_statics/dist/assets/Logo.65e0b37c.js +2 -0
- abstra_statics/dist/assets/{Logs.f76cde12.js → Logs.7d1acf32.js} +2 -2
- abstra_statics/dist/assets/{LogsController.addd81bf.js → LogsController.0eb2eb30.js} +2 -2
- abstra_statics/dist/assets/Main.0313f4fc.js +2 -0
- abstra_statics/dist/assets/{MockForm.c9441864.js → MockForm.0b819a52.js} +2 -2
- abstra_statics/dist/assets/Navbar.ef64aa09.js +2 -0
- abstra_statics/dist/assets/NewEditor.b9c410fe.css +1 -0
- abstra_statics/dist/assets/NewEditor.c928dbe9.js +8 -0
- abstra_statics/dist/assets/OidcLoginCallback.42a7c4f9.js +2 -0
- abstra_statics/dist/assets/OidcLogoutCallback.35931a68.js +2 -0
- abstra_statics/dist/assets/OmniChat.73d9f6bb.js +6 -0
- abstra_statics/dist/assets/OmniChat.a21fec40.css +1 -0
- abstra_statics/dist/assets/{OnboardingView.fbc4b6fe.js → OnboardingView.25042384.js} +2 -2
- abstra_statics/dist/assets/{Organization.bc495099.js → Organization.66f64939.js} +2 -2
- abstra_statics/dist/assets/Organizations.47868beb.js +2 -0
- abstra_statics/dist/assets/{PhArrowCounterClockwise.vue.156bcd89.js → PhArrowCounterClockwise.vue.78877a50.js} +2 -2
- abstra_statics/dist/assets/{PhArrowSquareOut.vue.d0c95a06.js → PhArrowSquareOut.vue.2ddfc219.js} +2 -2
- abstra_statics/dist/assets/{PhBookBookmark.vue.42e49494.js → PhBookBookmark.vue.41108214.js} +2 -2
- abstra_statics/dist/assets/{PhChats.vue.54d692e4.js → PhChats.vue.71e5cb89.js} +2 -2
- abstra_statics/dist/assets/{PhClockCounterClockwise.vue.d47d66ba.js → PhClockCounterClockwise.vue.854c3cb5.js} +2 -2
- abstra_statics/dist/assets/{PhCopy.vue.a0d9b0ec.js → PhCopy.vue.d116ddfb.js} +2 -2
- abstra_statics/dist/assets/{PhCopySimple.vue.43c74ebe.js → PhCopySimple.vue.5d0f839d.js} +2 -2
- abstra_statics/dist/assets/{PhCube.vue.498c014d.js → PhCube.vue.abf4a034.js} +2 -2
- abstra_statics/dist/assets/PhDatabase.vue.a94d95f6.js +2 -0
- abstra_statics/dist/assets/{PhDotsThreeVertical.vue.0ea03d82.js → PhDotsThreeVertical.vue.5e8ae2a9.js} +2 -2
- abstra_statics/dist/assets/{PhDownloadSimple.vue.c92aeaff.js → PhDownloadSimple.vue.e88f64f1.js} +2 -2
- abstra_statics/dist/assets/{PhFolderPlus.vue.0c210f8d.js → PhFolderPlus.vue.21d377a3.js} +2 -2
- abstra_statics/dist/assets/{PhGear.vue.86c3014a.js → PhGear.vue.363dd83c.js} +2 -2
- abstra_statics/dist/assets/{PhKey.vue.72ce23d3.js → PhKey.vue.23f3a465.js} +2 -2
- abstra_statics/dist/assets/{PhPencil.vue.80ed4b2e.js → PhPencil.vue.feb383e2.js} +2 -2
- abstra_statics/dist/assets/{PhPencilSimple.vue.0046d784.js → PhPencilSimple.vue.ec0eebb4.js} +2 -2
- abstra_statics/dist/assets/{PhRocket.vue.f3302a7e.js → PhRocket.vue.261a42b2.js} +2 -2
- abstra_statics/dist/assets/{PhSignOut.vue.c9150da4.js → PhSignOut.vue.d1d6498f.js} +2 -2
- abstra_statics/dist/assets/{PhSparkle.vue.84ea95fc.js → PhSparkle.vue.b6712d34.js} +2 -2
- abstra_statics/dist/assets/{PhUserList.vue.bce47902.js → PhUserList.vue.e0b8c21b.js} +2 -2
- abstra_statics/dist/assets/{PhUsersThree.vue.0a84dfa4.js → PhUsersThree.vue.8889f957.js} +2 -2
- abstra_statics/dist/assets/PhWarningCircle.vue.2087be7d.js +2 -0
- abstra_statics/dist/assets/{PhWebhooksLogo.vue.a704632d.js → PhWebhooksLogo.vue.d164db1e.js} +2 -2
- abstra_statics/dist/assets/{PlayerConfigProvider.26b585a1.js → PlayerConfigProvider.28e29025.js} +2 -2
- abstra_statics/dist/assets/{PlayerNavbar.0fa6f760.js → PlayerNavbar.aaad1dfd.js} +2 -2
- abstra_statics/dist/assets/Project.2de506d7.js +2 -0
- abstra_statics/dist/assets/{ProjectLogin.934271a6.js → ProjectLogin.22c8b093.js} +2 -2
- abstra_statics/dist/assets/{ProjectSettings.2bf7e6c8.js → ProjectSettings.d065c292.js} +2 -2
- abstra_statics/dist/assets/{ProjectsView.ed31b921.js → ProjectsView.cbd118ac.js} +2 -2
- abstra_statics/dist/assets/{SaveButton.fdf70b31.js → SaveButton.428227de.js} +2 -2
- abstra_statics/dist/assets/ScrollArea.vue_vue_type_script_setup_true_lang.6d724b05.js +2 -0
- abstra_statics/dist/assets/{Sidebar.e69f49bd.css → Sidebar.29baeab0.css} +1 -1
- abstra_statics/dist/assets/{Sidebar.781afa0a.js → Sidebar.41173d8e.js} +2 -2
- abstra_statics/dist/assets/Sql.90e6e2ba.css +1 -0
- abstra_statics/dist/assets/Sql.c070dd2c.js +5 -0
- abstra_statics/dist/assets/Steps.dd51a108.js +2 -0
- abstra_statics/dist/assets/TableCard.529112b9.css +1 -0
- abstra_statics/dist/assets/TableCard.c9a1cf41.js +2 -0
- abstra_statics/dist/assets/TableEditor.1bc47a95.js +2 -0
- abstra_statics/dist/assets/TableEditor.5853a363.css +1 -0
- abstra_statics/dist/assets/Tables.eff119eb.js +2 -0
- abstra_statics/dist/assets/TablesDiagram.a588e7ff.css +1 -0
- abstra_statics/dist/assets/TablesDiagram.d633acaf.js +15 -0
- abstra_statics/dist/assets/TablesTabs.vue_vue_type_script_setup_true_lang.cf7e34c5.js +2 -0
- abstra_statics/dist/assets/{Tasks.ee450480.js → Tasks.c311b05f.js} +2 -2
- abstra_statics/dist/assets/{UploadOutlined.e3072945.js → UploadOutlined.9aa845de.js} +2 -2
- abstra_statics/dist/assets/View.dd7ba25a.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.e6563207.js} +2 -2
- abstra_statics/dist/assets/{Watermark.891eee9f.js → Watermark.9c9358e3.js} +2 -2
- abstra_statics/dist/assets/{WebEditor.7409cd48.js → WebEditor.83f2a960.js} +2 -2
- abstra_statics/dist/assets/WidgetPreview.7c6a231c.js +2 -0
- abstra_statics/dist/assets/ant-design.42419021.js +2 -0
- abstra_statics/dist/assets/apiKey.403049eb.js +2 -0
- abstra_statics/dist/assets/asyncComputed.47aec2b5.js +2 -0
- abstra_statics/dist/assets/{build.8fa1a961.js → build.45b511b6.js} +2 -2
- abstra_statics/dist/assets/colorHelpers.50ced1e9.js +2 -0
- abstra_statics/dist/assets/console.f0f09e6f.js +17 -0
- abstra_statics/dist/assets/constants.d569f33d.js +2 -0
- abstra_statics/dist/assets/{contracts.generated.c4057ed0.js → contracts.generated.aefe8d0a.js} +2 -2
- abstra_statics/dist/assets/{cssMode.4c65b876.js → cssMode.23271d4a.js} +2 -2
- abstra_statics/dist/assets/{datetime.e5660676.js → datetime.82608dfb.js} +2 -2
- abstra_statics/dist/assets/dayjs.7f71c60a.js +2 -0
- abstra_statics/dist/assets/editor.02184ced.js +2 -0
- abstra_statics/dist/assets/editor.main.0f931e87.js +2 -0
- abstra_statics/dist/assets/fetch.1b3d01a0.js +2 -0
- abstra_statics/dist/assets/files.8b58ee7e.js +2 -0
- abstra_statics/dist/assets/folder.13d3acac.js +2 -0
- abstra_statics/dist/assets/{freemarker2.1d872d48.js → freemarker2.f79b510b.js} +2 -2
- abstra_statics/dist/assets/{handlebars.41fc6db8.js → handlebars.07d5febe.js} +2 -2
- abstra_statics/dist/assets/{html.967e3c6d.js → html.7d6a59b4.js} +3 -3
- abstra_statics/dist/assets/{htmlMode.d38ab72a.js → htmlMode.7779ff94.js} +2 -2
- abstra_statics/dist/assets/{index.8e871bae.js → index.482df04a.js} +2 -2
- abstra_statics/dist/assets/{index.4b93c8ad.js → index.581e2edd.js} +2 -2
- abstra_statics/dist/assets/index.966ac1b9.js +2 -0
- abstra_statics/dist/assets/{index.9021ba5d.js → index.c7a996a6.js} +2 -2
- abstra_statics/dist/assets/{index.03d222dd.js → index.c8a56795.js} +2 -2
- abstra_statics/dist/assets/{index.5f3f38ed.js → index.d31da2c3.js} +2 -2
- abstra_statics/dist/assets/{index.51dbb698.js → index.d53182ed.js} +2 -2
- abstra_statics/dist/assets/{index.b762f5e8.js → index.e71a5f84.js} +2 -2
- abstra_statics/dist/assets/{javascript.0935bea2.js → javascript.4c528c2c.js} +3 -3
- abstra_statics/dist/assets/{jsonMode.2860b71c.js → jsonMode.d6441e9d.js} +2 -2
- abstra_statics/dist/assets/{jwt-decode.esm.7f2ef0df.js → jwt-decode.esm.54a1ea22.js} +8 -8
- abstra_statics/dist/assets/linters.a0f2aa84.js +2 -0
- abstra_statics/dist/assets/{liquid.1bae5f6b.js → liquid.0c441ad2.js} +2 -2
- abstra_statics/dist/assets/member.2260c37e.js +2 -0
- abstra_statics/dist/assets/{metadata.39f9b9ba.js → metadata.0098e20c.js} +2 -2
- abstra_statics/dist/assets/omniChatStore.dd7a1c46.js +8 -0
- abstra_statics/dist/assets/{organization.a877b653.js → organization.668d1b58.js} +2 -2
- abstra_statics/dist/assets/player.4ab4aed5.js +2 -0
- abstra_statics/dist/assets/{plotly.min.d3f75723.js → plotly.min.2a87d7e2.js} +2 -2
- abstra_statics/dist/assets/polling.b5a32c22.js +2 -0
- abstra_statics/dist/assets/{project.d22a89ee.js → project.1b8374f4.js} +2 -2
- abstra_statics/dist/assets/{python.4c1a1300.js → python.7ac27a56.js} +3 -3
- abstra_statics/dist/assets/{razor.ba8bdb33.js → razor.860a0279.js} +2 -2
- abstra_statics/dist/assets/{record.4ffc477c.js → record.e83a2eb2.js} +2 -2
- abstra_statics/dist/assets/{redirect.ce3c0f65.js → redirect.586749f4.js} +2 -2
- abstra_statics/dist/assets/{repository.360feb8f.js → repository.3a331f0f.js} +2 -2
- abstra_statics/dist/assets/{repository.ab3036a9.js → repository.66c7567c.js} +2 -2
- abstra_statics/dist/assets/router.06ee2b9d.js +2 -0
- abstra_statics/dist/assets/router.4dfadf5d.js +18 -0
- abstra_statics/dist/assets/string.61e11a30.js +2 -0
- abstra_statics/dist/assets/{tables.be1c51f8.js → tables.1bcb1140.js} +2 -2
- abstra_statics/dist/assets/{tasksController.bf12e264.js → tasksController.f3adf725.js} +2 -2
- abstra_statics/dist/assets/{toggleHighContrast.c4e1b24d.js → toggleHighContrast.9535bf54.js} +7 -7
- abstra_statics/dist/assets/{tsMode.da264aae.js → tsMode.c0f9fe1a.js} +2 -2
- abstra_statics/dist/assets/{typescript.db5d7517.js → typescript.310eae6d.js} +3 -3
- abstra_statics/dist/assets/url.f5664225.js +2 -0
- abstra_statics/dist/assets/{useCodebaseEvents.42573b00.js → useCodebaseEvents.276cc8f0.js} +2 -2
- abstra_statics/dist/assets/useTables.18fc3efd.js +2 -0
- abstra_statics/dist/assets/userStore.6ab1e5ac.js +2 -0
- abstra_statics/dist/assets/uuid.5b8ba8af.js +2 -0
- abstra_statics/dist/assets/vue-flow-background.af096866.js +2 -0
- abstra_statics/dist/assets/vue-flow-core.6cb99d32.js +22 -0
- abstra_statics/dist/assets/{vue-quill.esm-bundler.37119951.js → vue-quill.esm-bundler.e3d34d0e.js} +2 -2
- abstra_statics/dist/assets/{workspaceStore.50ef2df1.js → workspaceStore.fac1e9a9.js} +2 -2
- abstra_statics/dist/assets/{xml.94b88503.js → xml.04864db4.js} +3 -3
- abstra_statics/dist/assets/{yaml.73b7d5ce.js → yaml.f30375fe.js} +3 -3
- 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/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/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/Error.466dbb94.js +0 -2
- abstra_statics/dist/assets/ExclamationCircleOutlined.6d10f60b.js +0 -2
- abstra_statics/dist/assets/Files.104385dd.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/LoadingOutlined.cd84d9c9.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/Navbar.07ba9452.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/Organizations.b630803f.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/ScrollArea.vue_vue_type_script_setup_true_lang.3bbea426.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/TablesTabs.vue_vue_type_script_setup_true_lang.63aa07d0.js +0 -2
- 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/colorHelpers.71d6d61d.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/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.58e29274.js +0 -2
- abstra_statics/dist/assets/linters.640d6098.js +0 -2
- abstra_statics/dist/assets/member.b7ac8000.js +0 -2
- abstra_statics/dist/assets/omniChatStore.3431c026.js +0 -8
- abstra_statics/dist/assets/player.30593e18.js +0 -2
- abstra_statics/dist/assets/polling.d1c934c7.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/string.2ed1cde3.js +0 -2
- 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.1.dist-info}/WHEEL +0 -0
- {abstra-3.23.12.dist-info → abstra-3.24.1.dist-info}/entry_points.txt +0 -0
- {abstra-3.23.12.dist-info → abstra-3.24.1.dist-info}/top_level.txt +0 -0
|
@@ -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.47aec2b5.js";import{d as b,r as x,a as g,b as l,u as t,o as y,f as r,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,en as X,cC as Y,eb as be,J as Ce,h as I,A as ke,d7 as Pe}from"./jwt-decode.esm.54a1ea22.js";import{A as E}from"./index.966ac1b9.js";import{_ as Ue}from"./DocsButton.vue_vue_type_script_setup_true_lang.689d8ce7.js";import{d as F,k as R,p as k}from"./router.4dfadf5d.js";import{C as ee}from"./CrudView.cc6aeaf0.js";import{G as te}from"./PhPencil.vue.feb383e2.js";import{C as Re}from"./repository.66c7567c.js";import{E as ae}from"./record.e83a2eb2.js";import{a as M}from"./ant-design.42419021.js";import{A as Z,T as Ee}from"./Card.fc77085c.js";import"./constants.d569f33d.js";import"./index.c7a996a6.js";import"./url.f5664225.js";import"./PhDotsThreeVertical.vue.5e8ae2a9.js";import"./fetch.1b3d01a0.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]="e76bde38-a623-4d0e-9d72-775bd1c771f9",s._sentryDebugIdIdentifier="sentry-dbid-e76bde38-a623-4d0e-9d72-775bd1c771f9")}catch{}})();const xe=b({__name:"View",props:{signupPolicy:{}},emits:["updated","save"],setup(s,{emit:e}){const a=s,o=x(a.signupPolicy.strategy),n=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(n.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(()=>[r(t(ge),{value:o.value,"onUpdate:value":f},{default:l(()=>[r(t(E),{direction:"vertical"},{default:l(()=>[r(t(J),{value:"inviteOnly"},{default:l(()=>[h("Allow listed users only")]),_:1}),r(t(E),null,{default:l(()=>[r(t(J),{value:"patternOnly"},{default:l(()=>[h("Allow everyone from this domain:")]),_:1}),r(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"]),r(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})),n=S({email:"",roles:[]});function i(){e("cancel")}function m(){!n.email||e("created",n)}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(()=>[r(t(E),null,{default:l(()=>[r(t(_),{onClick:i},{default:l(()=>[h("Cancel")]),_:1}),r(t(_),{type:"primary",onClick:m},{default:l(()=>[h("Submit")]),_:1})]),_:1})]),default:l(()=>[r(t(B),{model:n,layout:"vertical"},{default:l(()=>[r(t(w),{key:"email",label:"Email",required:!0},{default:l(()=>[r(t(T),{value:n.email,"onUpdate:value":f[0]||(f[0]=c=>n.email=c)},null,8,["value"])]),_:1}),r(t(w),{key:"role",label:"Role"},{default:l(()=>[r(t(G),{value:n.roles,"onUpdate:value":f[1]||(f[1]=c=>n.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})),n=S({email:a.email,roles:a.roles});function i(){e("cancel")}function m(){e("updated",n)}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(()=>[r(t(E),null,{default:l(()=>[r(t(_),{onClick:i},{default:l(()=>[h("Cancel")]),_:1}),r(t(_),{type:"primary",onClick:m},{default:l(()=>[h("Submit")]),_:1})]),_:1})]),default:l(()=>[r(t(B),{model:n,layout:"vertical"},{default:l(()=>[r(t(w),{key:"email",label:"Email"},{default:l(()=>[r(t(T),{value:n.email,"onUpdate:value":f[0]||(f[0]=c=>n.email=c)},null,8,["value"])]),_:1}),r(t(w),{key:"role",label:"Role"},{default:l(()=>[r(t(G),{value:n.roles,"onUpdate:value":f[1]||(f[1]=c=>n.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(n=>({key:n.email,cells:[{type:"text",text:n.email},{type:"slot",key:"roles",payload:{roles:n.roles}},{type:"actions",actions:[{icon:te,label:"Edit",onClick:()=>e.onEdit(n)},{icon:X,label:"Delete",onClick:()=>e.onDelete(n)}]}]})))!=null?o:[]}});return(o,n)=>(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 n(){!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(()=>[r(t(E),null,{default:l(()=>[r(t(_),{onClick:o},{default:l(()=>[h("Cancel")]),_:1}),r(t(_),{type:"primary",onClick:n},{default:l(()=>[h("Submit")]),_:1})]),_:1})]),default:l(()=>[r(t(B),{model:a,layout:"vertical"},{default:l(()=>[r(t(w),{key:"name",label:"Name",required:!0},{default:l(()=>[r(t(T),{value:a.name,"onUpdate:value":m[0]||(m[0]=p=>a.name=p)},null,8,["value"])]),_:1}),r(t(w),{key:"description",label:"Description"},{default:l(()=>[r(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 n(){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:n},{extra:l(()=>[r(t(E),null,{default:l(()=>[r(t(_),{onClick:n},{default:l(()=>[h("Cancel")]),_:1}),r(t(_),{type:"primary",onClick:i},{default:l(()=>[h("Submit")]),_:1})]),_:1})]),default:l(()=>[r(t(B),{model:o,layout:"vertical"},{default:l(()=>[r(t(w),{key:"name",label:"Name"},{default:l(()=>[r(t(T),{value:a.name,disabled:""},null,8,["value"])]),_:1}),r(t(w),{key:"role",label:"Role"},{default:l(()=>[r(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(n=>({key:n.id,cells:[{type:"text",text:n.name},{type:"text",text:n.description},{type:"actions",actions:[{icon:te,label:"Edit",onClick:()=>e.onEdit(n)},{icon:X,label:"Delete",onClick:()=>e.onDelete(n)}]}]})))!=null?o:[]}});return(o,n)=>(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 n={};a&&(n.limit=a.toString()),o&&(n.offset=o.toString());const i=new URLSearchParams(n);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"}),n=x("users");Ce(()=>{const d=new URLSearchParams(location.search).get("selected-panel")||"users",v=["roles","users"].includes(d)?d:"users";d&&(n.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()),ne=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:re,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,[r(t(ke),null,{default:l(()=>[h("Access Control")]),_:1}),r(t(Pe),null,{default:l(()=>[h(" Manage how your end users interect with your application. "),r(Ue,{path:"tools/access-control"})]),_:1}),r(t(Ee),{"active-key":n.value,"onUpdate:activeKey":d[0]||(d[0]=v=>n.value=v)},{default:l(()=>[r(t(Z),{key:"users",tab:"Users"}),r(t(Z),{key:"roles",tab:"Roles"})]),_:1},8,["active-key"]),n.value==="users"&&t(P)?(y(),g(xe,{key:0,"signup-policy":t(P),onSave:ne},null,8,["signup-policy"])):I("",!0),n.value==="users"?(y(),g($e,{key:1,loading:t(re),users:t(le)||[],onCreate:m,onEdit:p,onDelete:ue},null,8,["loading","users"])):I("",!0),n.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.dd7ba25a.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var x=Object.defineProperty;var _=(
|
|
2
|
-
//# sourceMappingURL=View.vue_vue_type_script_setup_true_lang.
|
|
1
|
+
var x=Object.defineProperty;var _=(i,e,t)=>e in i?x(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t;var s=(i,e,t)=>(_(i,typeof e!="symbol"?e+"":e,t),t);import{k as C}from"./router.4dfadf5d.js";import{l as D}from"./fetch.1b3d01a0.js";import{E as U}from"./record.e83a2eb2.js";import{N as I,r as R,en as S,d as $,w as F,J as O,aq as B,a5 as L,u as a,a as h,ek as M,b as o,h as v,aR as N,o as u,g as f,ed as b,f as y,cw as P,d8 as G,cC as W,cx as z,M as J}from"./jwt-decode.esm.54a1ea22.js";import{S as A}from"./SaveButton.428227de.js";import{C as Z}from"./CrudView.cc6aeaf0.js";import{a as q}from"./asyncComputed.47aec2b5.js";import{o as m}from"./omniChatStore.dd7a1c46.js";import{G as H}from"./PhPencil.vue.feb383e2.js";import{u as K}from"./useCodebaseEvents.276cc8f0.js";import{A as Q}from"./index.d53182ed.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]="868c0aff-9bbe-40e8-8fd0-e234bf0d0bd2",i._sentryDebugIdIdentifier="sentry-dbid-868c0aff-9bbe-40e8-8fd0-e234bf0d0bd2")}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(n=>n!==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 n of t)this.deleted.value.includes(n)||(e[n]=this.data.get(n));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((n,{name:d,value:p})=>(n[d]=p,n),{});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 ce{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 w{constructor(e,t,n){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:n,value:d}=e;if(d.trim()!==d)throw new Error("Environment variable values cannot have leading or trailing whitespace.");if(!t.test(n))throw new Error(`Invalid key: \u2018${n}\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,n])=>{this.envVars.wasDeleted(t)||this.envVars.get(t)===void 0&&this.envVars.set(t,n)})});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=n}static async create(e,t){const n=await e.get();return new w(e,n,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(i){const e=i,{result:t,loading:n,refetch:d}=q(async()=>await w.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=m.subscribe("envVarCreated",()=>{d()}),r=m.subscribe("envVarEdited",()=>{d()});B(()=>{m.unsubscribe(l),m.unsubscribe(r)})}),(l,r)=>{var V,k;return u(),L(N,null,[a(t)?(u(),h(Z,{key:0,"entity-name":"Env var",loading:a(n),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"?(u(),h(A,{key:0,model:a(t),disabled:!a(t).hasChanges()},{"with-changes":o(()=>[f(b(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(()=>[f(" 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"?(u(),h(A,{key:0,model:a(t),disabled:!a(t).hasChanges()},{"with-changes":o(()=>[f(b(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)?(u(),h(a(J),{key:1,open:a(t).isUpdating,title:"Update value",onCancel:r[1]||(r[1]=c=>{var E;return(E=a(t))==null?void 0:E.cancelUpdate()}),onOk:r[2]||(r[2]=()=>{var c;return(c=a(t))==null?void 0:c.confirmUpdate()})},{default:o(()=>[a(t).state.value.type==="updating"?(u(),h(a(P),{key:0,layout:"vertical"},{default:o(()=>[y(a(z),null,{default:o(()=>[y(a(G),null,{default:o(()=>[f(b(a(t).state.value.name),1)]),_:1}),y(a(W),{value:a(t).state.value.value,"onUpdate:value":r[0]||(r[0]=c=>a(t).state.value.value=c)},null,8,["value"])]),_:1})]),_:1})):v("",!0)]),_:1},8,["open"])):v("",!0)],64)}}});export{ce as C,he as E,ve as _};
|
|
2
|
+
//# sourceMappingURL=View.vue_vue_type_script_setup_true_lang.e6563207.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{S as d}from"./workspaceStore.
|
|
2
|
-
//# sourceMappingURL=Watermark.
|
|
1
|
+
import{S as d}from"./workspaceStore.fac1e9a9.js";import{A as p}from"./constants.d569f33d.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,eH as m,_ as g}from"./jwt-decode.esm.54a1ea22.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]="6b629705-a102-45ba-9f36-1bd72da3abd0",a._sentryDebugIdIdentifier="sentry-dbid-6b629705-a102-45ba-9f36-1bd72da3abd0")}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.9c9358e3.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.54a1ea22.js";import{_ as W}from"./AbstraLogo.vue_vue_type_script_setup_true_lang.28bc9fc9.js";import{B as j}from"./BaseLayout.72a6c8f2.js";import{l as f}from"./fetch.1b3d01a0.js";import"./router.4dfadf5d.js";import{a as A}from"./project.1b8374f4.js";import"./tables.1bcb1140.js";import"./Logo.65e0b37c.js";import"./index.c7a996a6.js";import"./record.e83a2eb2.js";import"./string.61e11a30.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]="060a6435-faae-45a5-90c2-7acdf84029b4",e._sentryDebugIdIdentifier="sentry-dbid-060a6435-faae-45a5-90c2-7acdf84029b4")}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.83f2a960.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 p,f as I,g as P,ed as S,ea as C,eG as D,u as y,bR as N,eX as E,_ as h,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.54a1ea22.js";import{S as L}from"./Steps.dd51a108.js";import{W as $}from"./PlayerConfigProvider.28e29025.js";import"./index.d31da2c3.js";import"./colorHelpers.50ced1e9.js";(function(){try{var o=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},t=new Error().stack;t&&(o._sentryDebugIds=o._sentryDebugIds||{},o._sentryDebugIds[t]="fb0825fe-cfb7-4862-84c6-5d08e41f600a",o._sentryDebugIdIdentifier="sentry-dbid-fb0825fe-cfb7-4862-84c6-5d08e41f600a")}catch{}})();const K=k({__name:"ActionButton",props:{action:{},displayName:{},disabled:{type:Boolean},loading:{type:Boolean}},emits:["click"],setup(o,{emit:t}){const d=o,l=B(null);return A(()=>{l.value&&d.action.setElement(l.value)}),(r,i)=>(n(),u(y(E),null,{default:p(()=>[I(y(N),{ref_key:"element",ref:l,class:C(["next-button",r.disabled?"disabled":""]),loading:r.loading,disabled:r.disabled,onClick:i[0]||(i[0]=f=>t("click")),onKeydown:i[1]||(i[1]=D(f=>t("click"),["enter"]))},{default:p(()=>[P(S(r.displayName),1)]),_:1},8,["loading","disabled","class"])]),_:1}))}});const R=h(K,[["__scopeId","data-v-aea27bb7"]]),J={class:"form"},M={class:"form-wrapper"},O={key:0,class:"buttons"},z=k({__name:"WidgetPreview",setup(o){const t=V(),d=B([]);function l(e){return x[e]||F[e]||null}function r(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(r).filter(Boolean):[r(e)]}function f(){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:p(()=>[f()?(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(),(a,W)=>(n(),c("div",{key:W,class:"widget"},[(n(),u(q(a.component),{"user-props":a.userProps,value:a.userProps.value,errors:d.value},null,8,["user-props","value","errors"]))]))),128))]),_().length?(n(),c("div",O,[(n(!0),c(w,null,v(_(),a=>(n(),u(R,{key:a,"display-name":m(a).name,action:m(a)},null,8,["display-name","action"]))),128))])):g("",!0)])]),_:1}))}});const T=h(z,[["__scopeId","data-v-d3d01da6"]]);export{T as default};
|
|
2
|
+
//# sourceMappingURL=WidgetPreview.7c6a231c.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{ej as n,M as b}from"./jwt-decode.esm.54a1ea22.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]="39b125e0-762e-41ef-970a-f07a9b7844f4",e._sentryDebugIdIdentifier="sentry-dbid-39b125e0-762e-41ef-970a-f07a9b7844f4")}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 o(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 c(e,r=[],t){const f=t?`'${t}': ${u(e)}`:u(e);if(n.exports.isArray(e)){const i=o(e);return[{title:f,key:[...r,i].join("/"),children:e.flatMap((s,l)=>c(s,[...r,i,`${l}`]))}]}else if(n.exports.isObject(e)){const i=o(e);return[{title:f,key:[...r,i].join("/"),children:Object.entries(e).flatMap(([s,l])=>c(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,c as t};
|
|
2
|
+
//# sourceMappingURL=ant-design.42419021.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var i=Object.defineProperty;var o=(a,t,e)=>t in a?i(a,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[t]=e;var c=(a,t,e)=>(o(a,typeof t!="symbol"?t+"":t,e),e);import{k as s}from"./router.4dfadf5d.js";import"./jwt-decode.esm.54a1ea22.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]="9a712316-ca3a-4985-8db3-143ec91fc3aa",a._sentryDebugIdIdentifier="sentry-dbid-9a712316-ca3a-4985-8db3-143ec91fc3aa")}catch{}})();class u{constructor(){c(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(d=>new n(d))}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.403049eb.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{N as c,c as l}from"./jwt-decode.esm.54a1ea22.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]="af481dde-b897-464c-a03e-022363385d0b",r._sentryDebugIdIdentifier="sentry-dbid-af481dde-b897-464c-a03e-022363385d0b")}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.47aec2b5.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
2
|
-
//# sourceMappingURL=build.
|
|
1
|
+
import{k as n}from"./router.4dfadf5d.js";import"./jwt-decode.esm.54a1ea22.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]="be68f947-ba83-4404-8423-b1dcf2c0dd9e",a._sentryDebugIdIdentifier="sentry-dbid-be68f947-ba83-4404-8423-b1dcf2c0dd9e")}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(o=>new c(o))}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,o,r){this.projectId=e,this.buildId=s,this.abstraVersion=o,this.project=r}static fromV0(e,s,o,r){const i={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,o,i)}static fromDTO(e,s,o,r){const i={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,o,i)}static async get(e){const s=await d.get(e);if(!s)throw new Error("Build not found");const{projectId:o,abstraJson:r,abstraVersion:i}=s;if(!r||!i)return null;const t=JSON.parse(r);if(!t.version)throw new Error("Version is invalid");return t.version==="0.1"?this.fromV0(o,e,i,t):this.fromDTO(o,e,i,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.45b511b6.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import"./jwt-decode.esm.54a1ea22.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]="3b921771-812b-46e5-8e35-fe3728aee557",e._sentryDebugIdIdentifier="sentry-dbid-3b921771-812b-46e5-8e35-fe3728aee557")}catch{}})();function p(e,t){const{r:n,g:r,b:o,usePound:s}=g(e);return w(c(n,-t),c(r,-t),c(o,-t),s)}function c(e,t){const n=e*(100+t*100)/100;return n>255?255:n<0?0:Math.round(n)}function E(e){return e.startsWith("#")||e.match(/^(rgb|hsl)/)}const v=(e,t)=>y(p(y(e),t)),P=e=>k(e)?v(e,.1):p(e,.1);function k(e){const{r:t,g:n,b:r}=g(e);return t*.299+n*.587+r*.114<186}function g(e){let t=!1;e[0]=="#"&&(e=e.slice(1),t=!0);const n=parseInt(e,16);return{r:n>>16&255,g:n>>8&255,b:n&255,usePound:t}}function y(e){const{r:t,g:n,b:r,usePound:o}=g(e);return w(255-t,255-n,255-r,o)}const w=(e,t,n,r=!0)=>(r?"#":"")+(n|t<<8|e<<16).toString(16).padStart(6,"0");function _(e){return new Promise((t,n)=>{const r=document.createElement("img");r.src=e,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:l}=r,a=document.createElement("canvas");a.width=s,a.height=l;const u=a.getContext("2d");if(!u)return t(!1);u.drawImage(r,0,0);const I=u.getImageData(0,0,a.width,a.height),{data:d}=I;let f,b,h,m;for(let i=0,x=d.length;i<x;i+=4)f=d[i],b=d[i+1],h=d[i+2],m=Math.floor((f+b+h)/3),o+=m;const D=Math.floor(o/(s*l));document.body.removeChild(r),t(D<=127)}})}export{k as a,_ as b,P as c,E as i,v as l};
|
|
2
|
+
//# sourceMappingURL=colorHelpers.50ced1e9.js.map
|