@loicngr/kobo 1.7.31 → 1.7.34
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.
- package/CHANGELOG.md +12 -0
- package/dist/mcp-server/kobo-tasks-server.js +1 -1
- package/dist/server/routes/settings.js +2 -1
- package/dist/server/routes/workspaces.js +30 -2
- package/dist/server/services/agent/engines/claude-code/event-mapper.js +8 -0
- package/dist/server/services/agent/engines/claude-code/options-builder.js +11 -1
- package/dist/server/services/agent/engines/types.js +1 -0
- package/dist/server/services/agent/event-router.js +7 -1
- package/dist/server/services/auto-loop-service.js +2 -1
- package/dist/server/services/settings-service.js +28 -1
- package/dist/server/services/workspace-service.js +15 -0
- package/package.json +13 -13
- package/src/client/dist/spa/assets/ActivityFeed-COdkQaiZ.js +8 -0
- package/src/client/dist/spa/assets/{ActivityFeed-yUMQhnW4.css → ActivityFeed-HbMZOClq.css} +1 -1
- package/src/client/dist/spa/assets/ChangelogPage-BXD8H3j-.js +1 -0
- package/src/client/dist/spa/assets/ClosePopup-DD10nToj.js +1 -0
- package/src/client/dist/spa/assets/CreatePage-DX4TjLqr.js +2 -0
- package/src/client/dist/spa/assets/DiffViewer-BUjVXGyZ.js +8 -0
- package/src/client/dist/spa/assets/HealthPage-DM7fvP4v.js +1 -0
- package/src/client/dist/spa/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuYjalmUiAw-BCOjigVR.woff +0 -0
- package/src/client/dist/spa/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuZtalmUiAw-Ocp2tNig.woff +0 -0
- package/src/client/dist/spa/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabVmUiAw-6jEn9xEl.woff +0 -0
- package/src/client/dist/spa/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWub2bVmUiAw-CCs8I9zJ.woff +0 -0
- package/src/client/dist/spa/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbFmUiAw-BLaboPi0.woff +0 -0
- package/src/client/dist/spa/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmUiAw-DHuK6FBl.woff +0 -0
- package/src/client/dist/spa/assets/MainLayout-CbUZOTwz.js +37 -0
- package/src/client/dist/spa/assets/{MainLayout-DTW0ySzA.css → MainLayout-DtTxmFXf.css} +1 -1
- package/src/client/dist/spa/assets/QBadge-CIC5n8w7.js +1 -0
- package/src/client/dist/spa/assets/QBanner-BxBEdhfp.js +1 -0
- package/src/client/dist/spa/assets/QBtn-DwemGTZv.js +1 -0
- package/src/client/dist/spa/assets/QCheckbox-o3UHW596.js +1 -0
- package/src/client/dist/spa/assets/QChip-BpS8c1sW.js +1 -0
- package/src/client/dist/spa/assets/QExpansionItem-C9vmJqEO.js +1 -0
- package/src/client/dist/spa/assets/QIcon-C6C3QeM4.js +1 -0
- package/src/client/dist/spa/assets/QInput-CLZtb8E0.js +1 -0
- package/src/client/dist/spa/assets/QItemLabel-BYSjzk-t.js +1 -0
- package/src/client/dist/spa/assets/QItemSection-O9WBXftL.js +1 -0
- package/src/client/dist/spa/assets/QList-DRW_oyZ4.js +1 -0
- package/src/client/dist/spa/assets/QMenu-D_9kEp2i.js +1 -0
- package/src/client/dist/spa/assets/QPage-C6xc9fOe.js +1 -0
- package/src/client/dist/spa/assets/QRadio-B_TurTzx.js +1 -0
- package/src/client/dist/spa/assets/QScrollArea-B5jf9S4y.js +1 -0
- package/src/client/dist/spa/assets/QScrollObserver-Cxj52Zfg.js +1 -0
- package/src/client/dist/spa/assets/QSelect-DERXhq6x.js +36 -0
- package/src/client/dist/spa/assets/QSpace-CrVsndpV.js +1 -0
- package/src/client/dist/spa/assets/QSpinnerDots-atHe_AUn.js +1 -0
- package/src/client/dist/spa/assets/QToggle-Dwr3hSLw.js +1 -0
- package/src/client/dist/spa/assets/QTooltip-CyRLTG6i.js +1 -0
- package/src/client/dist/spa/assets/SearchPage-OaTRqd2Q.js +1 -0
- package/src/client/dist/spa/assets/SettingsPage-B7H6sD7r.css +1 -0
- package/src/client/dist/spa/assets/SettingsPage-BBk3MB8w.js +9 -0
- package/src/client/dist/spa/assets/TouchPan-BmfIMD00.js +1 -0
- package/src/client/dist/spa/assets/WorkspacePage-k_qzLoLC.js +4 -0
- package/src/client/dist/spa/assets/build-path-tree-D4_LR3mz.js +1 -0
- package/src/client/dist/spa/assets/chunk-DtRyYLXJ.js +1 -0
- package/src/client/dist/spa/assets/codicon-ngg6Pgfi.ttf +0 -0
- package/src/client/dist/spa/assets/{css.worker-D1piIYC4.js → css.worker-BtW9exzf.js} +32 -45
- package/src/client/dist/spa/assets/cssMode-CdNIff6x.js +1 -0
- package/src/client/dist/spa/assets/documents-N8PwB_Gh.js +1 -0
- package/src/client/dist/spa/assets/editor-BFebQ78e.css +1 -0
- package/src/client/dist/spa/assets/editor.api2-CEAFHkwY.js +872 -0
- package/src/client/dist/spa/assets/editor.main-DuQa2C4S.js +6 -0
- package/src/client/dist/spa/assets/editor.worker-DWlYVeeX.js +26 -0
- package/src/client/dist/spa/assets/engineFeatures-DChekJQO.js +1 -0
- package/src/client/dist/spa/assets/expand-template-BXNt_oWH.js +1 -0
- package/src/client/dist/spa/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNa-Dr0goTwe.woff +0 -0
- package/src/client/dist/spa/assets/{formatters-BKR66G3t.js → formatters-wq5wP2If.js} +1 -1
- package/src/client/dist/spa/assets/freemarker2-DXz2Sr_a.js +3 -0
- package/src/client/dist/spa/assets/handlebars-B6DHJ8jd.js +1 -0
- package/src/client/dist/spa/assets/html-_UvZHIUo.js +1 -0
- package/src/client/dist/spa/assets/{html.worker-C4q4XMPn.js → html.worker-Dg1SpGQ4.js} +22 -29
- package/src/client/dist/spa/assets/htmlMode-DZ0ixGc6.js +1 -0
- package/src/client/dist/spa/assets/i18n-DXMuiAyu.js +1 -0
- package/src/client/dist/spa/assets/{index-ClabzOPc.css → index-C3dgH7TE.css} +1 -1
- package/src/client/dist/spa/assets/index-CNin8jPU.js +82 -0
- package/src/client/dist/spa/assets/{javascript-CTXs71Pa.js → javascript-C6Gf4Ys2.js} +1 -1
- package/src/client/dist/spa/assets/json.worker-CCzEOxDx.js +58 -0
- package/src/client/dist/spa/assets/jsonMode-aE8EPidy.js +7 -0
- package/src/client/dist/spa/assets/{kobo-commands-DLc7j2_p.js → kobo-commands-Ip0ObeCE.js} +1 -1
- package/src/client/dist/spa/assets/{kotlin-CllWo3gX.js → kotlin-DIUPrqKg.js} +1 -1
- package/src/client/dist/spa/assets/liquid-CSp27lUC.js +1 -0
- package/src/client/dist/spa/assets/lspLanguageFeatures-UxO-LpRp.js +4 -0
- package/src/client/dist/spa/assets/mdx-BSCEgQSy.js +1 -0
- package/src/client/dist/spa/assets/monaco.contribution-DqqsS1kc.js +2 -0
- package/src/client/dist/spa/assets/notifications-C4MxuXC7.js +1 -0
- package/src/client/dist/spa/assets/python-CA5lSk1U.js +1 -0
- package/src/client/dist/spa/assets/razor-BznM4hXD.js +1 -0
- package/src/client/dist/spa/assets/render-chat-markdown-BJsZCnSw.js +66 -0
- package/src/client/dist/spa/assets/touch-yfnu5R3D.js +1 -0
- package/src/client/dist/spa/assets/ts.worker-DI5g4t5j.js +67719 -0
- package/src/client/dist/spa/assets/tsMode-NbGeOvoN.js +11 -0
- package/src/client/dist/spa/assets/typescript-kHDph5jb.js +1 -0
- package/src/client/dist/spa/assets/use-checkbox-BnkSQgTJ.js +1 -0
- package/src/client/dist/spa/assets/use-id-By86THzm.js +1 -0
- package/src/client/dist/spa/assets/{use-onboarding-CzGgvyS9.js → use-onboarding-C4tGLHsr.js} +1 -1
- package/src/client/dist/spa/assets/use-quasar-DcJRs0ay.js +1 -0
- package/src/client/dist/spa/assets/vue-i18n-C5Tx4bGk.js +3 -0
- package/src/client/dist/spa/assets/vue.runtime.esm-bundler-BAtKyT0Y.js +3 -0
- package/src/client/dist/spa/assets/workers-DFjmWZva.js +1 -0
- package/src/client/dist/spa/assets/xml-BXzZhhmL.js +1 -0
- package/src/client/dist/spa/assets/yaml-DQNlz7_W.js +1 -0
- package/src/client/dist/spa/index.html +14 -13
- package/src/mcp-server/kobo-tasks-server.ts +1 -1
- package/src/client/dist/spa/assets/ActivityFeed-DFMce5VW.js +0 -8
- package/src/client/dist/spa/assets/ChangelogPage-BZEr6iNh.js +0 -1
- package/src/client/dist/spa/assets/ClosePopup-CY16K9Yi.js +0 -1
- package/src/client/dist/spa/assets/CreatePage-geIEPibR.js +0 -2
- package/src/client/dist/spa/assets/DiffViewer-C8yPZaCf.js +0 -8
- package/src/client/dist/spa/assets/HealthPage-DAk5EKO_.js +0 -1
- package/src/client/dist/spa/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuYjalmUiAw-k1h7X_-h.woff +0 -0
- package/src/client/dist/spa/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuZtalmUiAw-B7du-70m.woff +0 -0
- package/src/client/dist/spa/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabVmUiAw-CoAZ_DKt.woff +0 -0
- package/src/client/dist/spa/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWub2bVmUiAw-D0406B4n.woff +0 -0
- package/src/client/dist/spa/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbFmUiAw-CnAg2DeQ.woff +0 -0
- package/src/client/dist/spa/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmUiAw-BG9VWE5v.woff +0 -0
- package/src/client/dist/spa/assets/MainLayout-CNNcKilU.js +0 -37
- package/src/client/dist/spa/assets/QBadge-DNQSqPg-.js +0 -1
- package/src/client/dist/spa/assets/QBanner-C_TvxtXi.js +0 -1
- package/src/client/dist/spa/assets/QBtn-CoU-UC_j.js +0 -1
- package/src/client/dist/spa/assets/QCheckbox-Cq2STfHp.js +0 -1
- package/src/client/dist/spa/assets/QChip-5bnjPnRz.js +0 -1
- package/src/client/dist/spa/assets/QExpansionItem-_8j8FyQg.js +0 -1
- package/src/client/dist/spa/assets/QIcon-BmEX2rXO.js +0 -1
- package/src/client/dist/spa/assets/QInput-D0t39uK_.js +0 -1
- package/src/client/dist/spa/assets/QItemLabel-Btqw0P7M.js +0 -1
- package/src/client/dist/spa/assets/QItemSection-DRg-QuAD.js +0 -1
- package/src/client/dist/spa/assets/QList-Ch5K5W7r.js +0 -1
- package/src/client/dist/spa/assets/QMenu-BXssnk-g.js +0 -1
- package/src/client/dist/spa/assets/QPage-3-ah4oor.js +0 -1
- package/src/client/dist/spa/assets/QRadio-M9mC5jZy.js +0 -1
- package/src/client/dist/spa/assets/QScrollArea-_Mvx2t8o.js +0 -1
- package/src/client/dist/spa/assets/QScrollObserver-C6P7wS4h.js +0 -1
- package/src/client/dist/spa/assets/QSelect-4UzZxoyw.js +0 -36
- package/src/client/dist/spa/assets/QSpace-Crcx82On.js +0 -1
- package/src/client/dist/spa/assets/QSpinnerDots-DspFKwCZ.js +0 -1
- package/src/client/dist/spa/assets/QToggle-DBzTAIbK.js +0 -1
- package/src/client/dist/spa/assets/QTooltip-DyIRS1GH.js +0 -1
- package/src/client/dist/spa/assets/SearchPage-K04ns4hU.js +0 -1
- package/src/client/dist/spa/assets/SettingsPage-D0WcKagG.js +0 -9
- package/src/client/dist/spa/assets/SettingsPage-D1Ap5wB7.css +0 -1
- package/src/client/dist/spa/assets/TouchPan-DZZEI8eo.js +0 -1
- package/src/client/dist/spa/assets/WorkspacePage-DNO_bRMJ.js +0 -4
- package/src/client/dist/spa/assets/build-path-tree-BUfhgOSH.js +0 -1
- package/src/client/dist/spa/assets/codicon-CgENjH2v.ttf +0 -0
- package/src/client/dist/spa/assets/cssMode-0MvCYrRV.js +0 -4
- package/src/client/dist/spa/assets/documents-CX2-4fhr.js +0 -1
- package/src/client/dist/spa/assets/editor-COGk2gAX.css +0 -1
- package/src/client/dist/spa/assets/editor-CS3NEPi9.css +0 -1
- package/src/client/dist/spa/assets/editor.api-DYWJPPWs.js +0 -818
- package/src/client/dist/spa/assets/editor.main-B8in8NwN.js +0 -53
- package/src/client/dist/spa/assets/editor.worker-CJ9iTmkr.js +0 -26
- package/src/client/dist/spa/assets/engineFeatures-BdTa0rX6.js +0 -1
- package/src/client/dist/spa/assets/expand-template-CP-8YIJC.js +0 -1
- package/src/client/dist/spa/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNa-OUIwM9U8.woff +0 -0
- package/src/client/dist/spa/assets/freemarker2-Dx4cVLM0.js +0 -3
- package/src/client/dist/spa/assets/handlebars-CwM3UEBZ.js +0 -1
- package/src/client/dist/spa/assets/html-2JtDgifC.js +0 -1
- package/src/client/dist/spa/assets/htmlMode-B8N8GxKE.js +0 -4
- package/src/client/dist/spa/assets/i18n-C80g9cfR.js +0 -1
- package/src/client/dist/spa/assets/index-BTVVGg4f.js +0 -82
- package/src/client/dist/spa/assets/json.worker-C9p7xCYk.js +0 -65
- package/src/client/dist/spa/assets/jsonMode-Cnw0tYit.js +0 -10
- package/src/client/dist/spa/assets/liquid-B1BeK8RP.js +0 -1
- package/src/client/dist/spa/assets/mdx-DLwxZ3wR.js +0 -1
- package/src/client/dist/spa/assets/monaco.contribution-B3kpNNij.js +0 -2
- package/src/client/dist/spa/assets/notifications-BtVr85fZ.js +0 -1
- package/src/client/dist/spa/assets/python-C5L3E7X0.js +0 -1
- package/src/client/dist/spa/assets/razor-DCXiAjxH.js +0 -1
- package/src/client/dist/spa/assets/render-chat-markdown-DDQr5Zs5.js +0 -60
- package/src/client/dist/spa/assets/runtime-core.esm-bundler-D_RRiKBh.js +0 -1
- package/src/client/dist/spa/assets/touch-2Qa-HSDZ.js +0 -1
- package/src/client/dist/spa/assets/ts.worker-Cj3zTgVE.js +0 -51353
- package/src/client/dist/spa/assets/tsMode-Bu5FUVgw.js +0 -11
- package/src/client/dist/spa/assets/typescript-B-pS9HtR.js +0 -1
- package/src/client/dist/spa/assets/use-checkbox-DnSuDqo2.js +0 -1
- package/src/client/dist/spa/assets/use-id-BCnfiBjU.js +0 -1
- package/src/client/dist/spa/assets/use-quasar-sypIWZgU.js +0 -1
- package/src/client/dist/spa/assets/vue-i18n-Cq-KgjJC.js +0 -3
- package/src/client/dist/spa/assets/xml-Dgpxgles.js +0 -1
- package/src/client/dist/spa/assets/yaml-D219wUJe.js +0 -1
- /package/src/client/dist/spa/assets/{_plugin-vue_export-helper-r4mAJOHR.js → _plugin-vue_export-helper-BzmG9fMN.js} +0 -0
- /package/src/client/dist/spa/assets/{fsharp-CMk2OIJN.js → fsharp-CFNadkg7.js} +0 -0
- /package/src/client/dist/spa/assets/{go-BrMkuJg0.js → go-dSur1iB2.js} +0 -0
- /package/src/client/dist/spa/assets/{graphql-PSR1UKGv.js → graphql-qyhAo11d.js} +0 -0
- /package/src/client/dist/spa/assets/{hcl-DAQrbDOW.js → hcl-DFzjMyzm.js} +0 -0
- /package/src/client/dist/spa/assets/{ini-0TG5BxW0.js → ini-TdzA8TIl.js} +0 -0
- /package/src/client/dist/spa/assets/{java-rgorz17v.js → java-CSGA9pkE.js} +0 -0
- /package/src/client/dist/spa/assets/{julia-C8VMdHm8.js → julia-9izz5OsY.js} +0 -0
- /package/src/client/dist/spa/assets/{less-Cgca25AP.js → less-B8d93iCg.js} +0 -0
- /package/src/client/dist/spa/assets/{lexon-D0GHdBaw.js → lexon-DWtEIyu7.js} +0 -0
- /package/src/client/dist/spa/assets/{lua-DmRsNG-P.js → lua-Ciq0OGgt.js} +0 -0
- /package/src/client/dist/spa/assets/{m3-BgL5dNKT.js → m3-Cki6JWj_.js} +0 -0
- /package/src/client/dist/spa/assets/{markdown-BuJfycGS.js → markdown-Cu47xwU0.js} +0 -0
- /package/src/client/dist/spa/assets/{mips-C9m_93PR.js → mips-BM8ui995.js} +0 -0
- /package/src/client/dist/spa/assets/{msdax-CpFHC9OI.js → msdax-DqLio0_c.js} +0 -0
- /package/src/client/dist/spa/assets/{mysql-qFvltsqN.js → mysql-v1wbjJOq.js} +0 -0
- /package/src/client/dist/spa/assets/{objective-c-Bnmr858J.js → objective-c-CQl3PGSB.js} +0 -0
- /package/src/client/dist/spa/assets/{pascal-WP0_D5AO.js → pascal-D4iW0ZtD.js} +0 -0
- /package/src/client/dist/spa/assets/{pascaligo-Blom4Rij.js → pascaligo-BdC9CZdj.js} +0 -0
- /package/src/client/dist/spa/assets/{perl-B-vk8g64.js → perl-BL10m4XD.js} +0 -0
- /package/src/client/dist/spa/assets/{permissionModes-r9UZvpVs.js → permissionModes-CJN6Olox.js} +0 -0
- /package/src/client/dist/spa/assets/{pgsql-Cgvz6v67.js → pgsql-Be_oqVo3.js} +0 -0
- /package/src/client/dist/spa/assets/{php-8a3Lrw9m.js → php-BtvXSFRI.js} +0 -0
- /package/src/client/dist/spa/assets/{pla-DuFqEZ8V.js → pla-B2vUy15C.js} +0 -0
- /package/src/client/dist/spa/assets/{postiats-DkLtSgkp.js → postiats-CbmTTfXr.js} +0 -0
- /package/src/client/dist/spa/assets/{powerquery-BJ1aNepW.js → powerquery-DszLhJGx.js} +0 -0
- /package/src/client/dist/spa/assets/{powershell-rE98k687.js → powershell-B0dYktF6.js} +0 -0
- /package/src/client/dist/spa/assets/{protobuf-CUheFacr.js → protobuf-CZvaj1VX.js} +0 -0
- /package/src/client/dist/spa/assets/{pug-LDcAMD8w.js → pug-CPDx1B3S.js} +0 -0
- /package/src/client/dist/spa/assets/{qsharp-DUKSQoR1.js → qsharp-CDP9TFLl.js} +0 -0
- /package/src/client/dist/spa/assets/{r-D-QApv87.js → r-8DbbFX2l.js} +0 -0
- /package/src/client/dist/spa/assets/{redis-SXdDyWR9.js → redis-DRWj9MtJ.js} +0 -0
- /package/src/client/dist/spa/assets/{redshift-Y6lsCryn.js → redshift-C6cElE_5.js} +0 -0
- /package/src/client/dist/spa/assets/{restructuredtext-edObr9a8.js → restructuredtext-W9pS9n3m.js} +0 -0
- /package/src/client/dist/spa/assets/{ruby-CNnUfF-8.js → ruby-BKnzWnk-.js} +0 -0
- /package/src/client/dist/spa/assets/{rust-IHUZWzBr.js → rust-YPCclWwe.js} +0 -0
- /package/src/client/dist/spa/assets/{sb-DrUvY44N.js → sb-BgM4DTFb.js} +0 -0
- /package/src/client/dist/spa/assets/{scala-B4hbXGLM.js → scala-fz1OPLMl.js} +0 -0
- /package/src/client/dist/spa/assets/{scheme-BGrd12j3.js → scheme-8Uz1RIbu.js} +0 -0
- /package/src/client/dist/spa/assets/{scss-x5G1ES4U.js → scss-Djo3IYXr.js} +0 -0
- /package/src/client/dist/spa/assets/{shell-DOehe2Y8.js → shell-CINF5Tx_.js} +0 -0
- /package/src/client/dist/spa/assets/{solidity-BeRvcwWV.js → solidity-GgiNEuUm.js} +0 -0
- /package/src/client/dist/spa/assets/{sophia-DZbkUNjy.js → sophia-Culj97P9.js} +0 -0
- /package/src/client/dist/spa/assets/{sparql-B7_oi5-h.js → sparql-C2ZlpxOY.js} +0 -0
- /package/src/client/dist/spa/assets/{sql-CTlsFWVE.js → sql-BEf5Pg7Y.js} +0 -0
- /package/src/client/dist/spa/assets/{st-DJVEJdPE.js → st-CT6UUoeH.js} +0 -0
- /package/src/client/dist/spa/assets/{swift-CwhT3fYa.js → swift-B5g0xTG3.js} +0 -0
- /package/src/client/dist/spa/assets/{systemverilog-BQN63pkN.js → systemverilog-CEgQz9DR.js} +0 -0
- /package/src/client/dist/spa/assets/{tcl-DqwfpskA.js → tcl-D0qL2L0I.js} +0 -0
- /package/src/client/dist/spa/assets/{twig-BiyenUgc.js → twig-BFUAVf1E.js} +0 -0
- /package/src/client/dist/spa/assets/{typespec-CWOJribt.js → typespec-CjVVcNKm.js} +0 -0
- /package/src/client/dist/spa/assets/{vb-Cq5F87m3.js → vb-CZJr-DQz.js} +0 -0
- /package/src/client/dist/spa/assets/{wgsl-BAvW2lVr.js → wgsl-ivoXUo2e.js} +0 -0
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import{A as e,C as t,D as n,G as r,I as i,K as a,N as o,P as s,R as c,S as l,St as u,W as ee,_ as d,at as f,b as p,bt as m,d as h,et as g,f as _,g as v,h as y,l as b,p as x,r as S,u as C,y as w,yt as T}from"./runtime-core.esm-bundler-D_RRiKBh.js";import{H as te,L as ne,N as re,P as E,R as ie,V as D,i as ae,k as oe,l as se,n as ce,r as le,t as O}from"./QIcon-BmEX2rXO.js";import{r as ue}from"./use-id-BCnfiBjU.js";import{I as k,L as de,R as A,a as fe,c as pe,i as me,l as he,n as ge,o as _e,s as ve}from"./notifications-BtVr85fZ.js";import{n as ye,r as be}from"./QRadio-M9mC5jZy.js";import{c as xe,t as j}from"./QBtn-CoU-UC_j.js";import{n as Se}from"./vue-i18n-Cq-KgjJC.js";import{i as Ce,o as M,r as we,t as N}from"./QInput-D0t39uK_.js";import{t as Te}from"./QCheckbox-Cq2STfHp.js";import{t as P}from"./QToggle-DBzTAIbK.js";import{_ as Ee,b as De,g as Oe,t as ke,x as Ae}from"./index-BTVVGg4f.js";import{n as F,t as I}from"./QItemSection-DRg-QuAD.js";import{t as je}from"./QItemLabel-Btqw0P7M.js";import{d as L,t as Me}from"./QTooltip-DyIRS1GH.js";import{t as Ne}from"./QExpansionItem-_8j8FyQg.js";import{t as Pe}from"./TouchPan-DZZEI8eo.js";import{t as Fe}from"./_plugin-vue_export-helper-r4mAJOHR.js";import{t as R}from"./QSpace-Crcx82On.js";import{t as Ie}from"./QChip-5bnjPnRz.js";import{t as z}from"./QList-Ch5K5W7r.js";import{t as B}from"./QMenu-BXssnk-g.js";import{t as Le}from"./ClosePopup-CY16K9Yi.js";import{t as Re}from"./use-quasar-sypIWZgU.js";import{a as ze,i as Be,n as Ve,o as He,r as Ue,t as V}from"./QSelect-4UzZxoyw.js";import{n as We,t as Ge}from"./use-onboarding-CzGgvyS9.js";import{t as Ke}from"./QPage-3-ah4oor.js";import{n as qe,r as Je,t as Ye}from"./permissionModes-r9UZvpVs.js";import{t as Xe}from"./QBanner-C_TvxtXi.js";var H=`q-slider__marker-labels`,Ze=e=>({value:e}),Qe=({marker:e})=>t(`div`,{key:e.value,style:e.style,class:e.classes},e.label),$e=[34,37,40,33,39,38],U={...le,...M,min:{type:Number,default:0},max:{type:Number,default:100},innerMin:Number,innerMax:Number,step:{type:Number,default:1,validator:e=>e>=0},snap:Boolean,vertical:Boolean,reverse:Boolean,color:String,markerLabelsClass:String,label:Boolean,labelColor:String,labelTextColor:String,labelAlways:Boolean,switchLabelSide:Boolean,markers:[Boolean,Number],markerLabels:[Boolean,Array,Object,Function],switchMarkerLabelsSide:Boolean,trackImg:String,trackColor:String,innerTrackImg:String,innerTrackColor:String,selectionColor:String,selectionImg:String,thumbSize:{type:String,default:`20px`},trackSize:{type:String,default:`4px`},disable:Boolean,readonly:Boolean,dense:Boolean,tabindex:[String,Number],thumbColor:String,thumbPath:{type:String,default:`M 4, 10 a 6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0`}},et=[`pan`,`update:modelValue`,`change`];function tt({updateValue:n,updatePosition:r,getDragging:i,formAttrs:a}){let{props:o,emit:s,slots:c,proxy:{$q:l}}=p(),u=ce(o,l),ee=Ce(a),d=g(!1),f=g(!1),m=g(!1),h=g(!1),_=b(()=>o.vertical===!0?`--v`:`--h`),v=b(()=>`-`+(o.switchLabelSide===!0?`switched`:`standard`)),y=b(()=>o.vertical===!0?o.reverse===!0:o.reverse!==(l.lang.rtl===!0)),x=b(()=>isNaN(o.innerMin)===!0||o.innerMin<o.min?o.min:o.innerMin),S=b(()=>isNaN(o.innerMax)===!0||o.innerMax>o.max?o.max:o.innerMax),C=b(()=>o.disable!==!0&&o.readonly!==!0&&x.value<S.value),w=b(()=>{if(o.step===0)return e=>e;let e=(String(o.step).trim().split(`.`)[1]||``).length;return t=>parseFloat(t.toFixed(e))}),T=b(()=>o.step===0?1:o.step),te=b(()=>C.value===!0?o.tabindex||0:-1),ne=b(()=>o.max-o.min),re=b(()=>S.value-x.value),E=b(()=>N(x.value)),ie=b(()=>N(S.value)),D=b(()=>o.vertical===!0?y.value===!0?`bottom`:`top`:y.value===!0?`right`:`left`),se=b(()=>o.vertical===!0?`height`:`width`),le=b(()=>o.vertical===!0?`width`:`height`),O=b(()=>o.vertical===!0?`vertical`:`horizontal`),ue=b(()=>{let e={role:`slider`,"aria-valuemin":x.value,"aria-valuemax":S.value,"aria-orientation":O.value,"data-step":o.step};return o.disable===!0?e[`aria-disabled`]=`true`:o.readonly===!0&&(e[`aria-readonly`]=`true`),e}),k=b(()=>`q-slider q-slider${_.value} q-slider--${d.value===!0?``:`in`}active inline no-wrap `+(o.vertical===!0?`row`:`column`)+(o.disable===!0?` disabled`:` q-slider--enabled`+(C.value===!0?` q-slider--editable`:``))+(m.value===`both`?` q-slider--focus`:``)+(o.label||o.labelAlways===!0?` q-slider--label`:``)+(o.labelAlways===!0?` q-slider--label-always`:``)+(u.value===!0?` q-slider--dark`:``)+(o.dense===!0?` q-slider--dense q-slider--dense`+_.value:``));function fe(e){let t=`q-slider__`+e;return`${t} ${t}${_.value} ${t}${_.value}${v.value}`}function pe(e){let t=`q-slider__`+e;return`${t} ${t}${_.value}`}let me=b(()=>{let e=o.selectionColor||o.color;return`q-slider__selection absolute`+(e===void 0?``:` text-${e}`)}),he=b(()=>pe(`markers`)+` absolute overflow-hidden`),ge=b(()=>pe(`track-container`)),_e=b(()=>fe(`pin`)),ve=b(()=>fe(`label`)),ye=b(()=>fe(`text-container`)),be=b(()=>fe(`marker-labels-container`)+(o.markerLabelsClass===void 0?``:` ${o.markerLabelsClass}`)),xe=b(()=>`q-slider__track relative-position no-outline`+(o.trackColor===void 0?``:` bg-${o.trackColor}`)),j=b(()=>{let e={[le.value]:o.trackSize};return o.trackImg!==void 0&&(e.backgroundImage=`url(${o.trackImg}) !important`),e}),Se=b(()=>`q-slider__inner absolute`+(o.innerTrackColor===void 0?``:` bg-${o.innerTrackColor}`)),M=b(()=>{let e=ie.value-E.value,t={[D.value]:`${100*E.value}%`,[se.value]:e===0?`2px`:`${100*e}%`};return o.innerTrackImg!==void 0&&(t.backgroundImage=`url(${o.innerTrackImg}) !important`),t});function we(e){let{min:t,max:n,step:r}=o,i=t+e*(n-t);if(r>0){let e=(i-x.value)%r;i+=(Math.abs(e)>=r/2?(e<0?-1:1)*r:0)-e}return i=w.value(i),L(i,x.value,S.value)}function N(e){return ne.value===0?0:(e-o.min)/ne.value}function Te(e,t){let n=oe(e),r=o.vertical===!0?L((n.top-t.top)/t.height,0,1):L((n.left-t.left)/t.width,0,1);return L(y.value===!0?1-r:r,E.value,ie.value)}let P=b(()=>de(o.markers)===!0?o.markers:T.value),Ee=b(()=>{let e=[],t=P.value,n=o.max,r=o.min;do e.push(r),r+=t;while(r<n);return e.push(n),e}),De=b(()=>{let e=` ${H}${_.value}-`;return`q-slider__marker-labels${e}${o.switchMarkerLabelsSide===!0?`switched`:`standard`}${e}${y.value===!0?`rtl`:`ltr`}`}),Oe=b(()=>o.markerLabels===!1?null:F(o.markerLabels).map((e,t)=>({index:t,value:e.value,label:e.label||e.value,classes:De.value+(e.classes===void 0?``:` `+e.classes),style:{...I(e.value),...e.style||{}}}))),ke=b(()=>({markerList:Oe.value,markerMap:je.value,classes:De.value,getStyle:I})),Ae=b(()=>{let e=re.value===0?`2px`:100*P.value/re.value;return{...M.value,backgroundSize:o.vertical===!0?`2px ${e}%`:`${e}% 2px`}});function F(e){if(e===!1)return null;if(e===!0)return Ee.value.map(Ze);if(typeof e==`function`)return Ee.value.map(t=>{let n=e(t);return A(n)===!0?{...n,value:t}:{value:t,label:n}});let t=({value:e})=>e>=o.min&&e<=o.max;return Array.isArray(e)===!0?e.map(e=>A(e)===!0?e:{value:e}).filter(t):Object.keys(e).map(t=>{let n=e[t],r=Number(t);return A(n)===!0?{...n,value:r}:{value:r,label:n}}).filter(t)}function I(e){return{[D.value]:`${100*(e-o.min)/ne.value}%`}}let je=b(()=>{if(o.markerLabels===!1)return null;let e={};return Oe.value.forEach(t=>{e[t.value]=t}),e});function Me(){if(c[`marker-label-group`]!==void 0)return c[`marker-label-group`](ke.value);let e=c[`marker-label`]||Qe;return Oe.value.map(t=>e({marker:t,...ke.value}))}let Ne=b(()=>[[Pe,Fe,void 0,{[O.value]:!0,prevent:!0,stop:!0,mouse:!0,mouseAllDir:!0}]]);function Fe(e){e.isFinal===!0?(h.value!==void 0&&(r(e.evt),e.touch===!0&&n(!0),h.value=void 0,s(`pan`,`end`)),d.value=!1,m.value=!1):e.isFirst===!0?(h.value=i(e.evt),r(e.evt),n(),d.value=!0,s(`pan`,`start`)):(r(e.evt),n())}function R(){m.value=!1}function Ie(e){r(e,i(e)),n(),f.value=!0,d.value=!0,document.addEventListener(`mouseup`,z,!0)}function z(){f.value=!1,d.value=!1,n(!0),R(),document.removeEventListener(`mouseup`,z,!0)}function B(e){r(e,i(e)),n(!0)}function Le(e){$e.includes(e.keyCode)&&n(!0)}function Re(e){if(o.vertical===!0)return null;let t=l.lang.rtl===o.reverse?e:1-e;return{transform:`translateX(calc(${2*t-1} * ${o.thumbSize} / 2 + ${50-100*t}%))`}}function ze(e){let n=b(()=>f.value===!1&&(m.value===e.focusValue||m.value===`both`)?` q-slider--focus`:``),r=b(()=>`q-slider__thumb q-slider__thumb${_.value} q-slider__thumb${_.value}-${y.value===!0?`rtl`:`ltr`} absolute non-selectable`+n.value+(e.thumbColor.value===void 0?``:` text-${e.thumbColor.value}`)),i=b(()=>({width:o.thumbSize,height:o.thumbSize,[D.value]:`${100*e.ratio.value}%`,zIndex:m.value===e.focusValue?2:void 0})),a=b(()=>e.labelColor.value===void 0?``:` text-${e.labelColor.value}`),s=b(()=>Re(e.ratio.value)),c=b(()=>`q-slider__text`+(e.labelTextColor.value===void 0?``:` text-${e.labelTextColor.value}`));return()=>{let n=[t(`svg`,{class:`q-slider__thumb-shape absolute-full`,viewBox:`0 0 20 20`,"aria-hidden":`true`},[t(`path`,{d:o.thumbPath})]),t(`div`,{class:`q-slider__focus-ring fit`})];return(o.label===!0||o.labelAlways===!0)&&(n.push(t(`div`,{class:_e.value+` absolute fit no-pointer-events`+a.value},[t(`div`,{class:ve.value,style:{minWidth:o.thumbSize}},[t(`div`,{class:ye.value,style:s.value},[t(`span`,{class:c.value},e.label.value)])])])),o.name!==void 0&&o.disable!==!0&&ee(n,`push`)),t(`div`,{class:r.value,style:i.value,...e.getNodeData()},n)}}function Be(e,n,r,i){let a=[];o.innerTrackColor!==`transparent`&&a.push(t(`div`,{key:`inner`,class:Se.value,style:M.value})),o.selectionColor!==`transparent`&&a.push(t(`div`,{key:`selection`,class:me.value,style:e.value})),o.markers!==!1&&a.push(t(`div`,{key:`marker`,class:he.value,style:Ae.value})),i(a);let s=[ae(`div`,{key:`trackC`,class:ge.value,tabindex:n.value,...r.value},[t(`div`,{class:xe.value,style:j.value},a)],`slide`,C.value,()=>Ne.value)];return o.markerLabels!==!1&&s[o.switchMarkerLabelsSide===!0?`unshift`:`push`](t(`div`,{key:`markerL`,class:be.value},Me())),s}return e(()=>{document.removeEventListener(`mouseup`,z,!0)}),{state:{active:d,focus:m,preventFocus:f,dragging:h,editable:C,classes:k,tabindex:te,attributes:ue,roundValueFn:w,keyStep:T,trackLen:ne,innerMin:x,innerMinRatio:E,innerMax:S,innerMaxRatio:ie,positionProp:D,sizeProp:se,isReversed:y},methods:{onActivate:Ie,onMobileClick:B,onBlur:R,onKeyup:Le,getContent:Be,getThumbRenderFn:ze,convertRatioToModel:we,convertModelToRatio:N,getDraggingRatio:Te}}}var nt=()=>({}),rt=E({name:`QSlider`,props:{...U,modelValue:{required:!0,default:null,validator:e=>typeof e==`number`||e===null},labelValue:[String,Number]},emits:et,setup(e,{emit:n}){let{proxy:{$q:r}}=p(),{state:i,methods:a}=tt({updateValue:_,updatePosition:y,getDragging:v,formAttrs:we(e)}),o=g(null),s=g(0),c=g(0);function l(){c.value=e.modelValue===null?i.innerMin.value:L(e.modelValue,i.innerMin.value,i.innerMax.value)}ee(()=>`${e.modelValue}|${i.innerMin.value}|${i.innerMax.value}`,l),l();let u=b(()=>a.convertModelToRatio(c.value)),d=b(()=>i.active.value===!0?s.value:u.value),f=b(()=>{let t={[i.positionProp.value]:`${100*i.innerMinRatio.value}%`,[i.sizeProp.value]:`${100*(d.value-i.innerMinRatio.value)}%`};return e.selectionImg!==void 0&&(t.backgroundImage=`url(${e.selectionImg}) !important`),t}),m=a.getThumbRenderFn({focusValue:!0,getNodeData:nt,ratio:d,label:b(()=>e.labelValue===void 0?c.value:e.labelValue),thumbColor:b(()=>e.thumbColor||e.color),labelColor:b(()=>e.labelColor),labelTextColor:b(()=>e.labelTextColor)}),h=b(()=>i.editable.value===!0?r.platform.is.mobile===!0?{onClick:a.onMobileClick}:{onMousedown:a.onActivate,onFocus:x,onBlur:a.onBlur,onKeydown:S,onKeyup:a.onKeyup}:{});function _(t){c.value!==e.modelValue&&n(`update:modelValue`,c.value),t===!0&&n(`change`,c.value)}function v(){return o.value.getBoundingClientRect()}function y(t,n=i.dragging.value){let r=a.getDraggingRatio(t,n);c.value=a.convertRatioToModel(r),s.value=e.snap!==!0||e.step===0?r:a.convertModelToRatio(c.value)}function x(){i.focus.value=!0}function S(t){if($e.includes(t.keyCode)===!1)return;re(t);let n=([34,33].includes(t.keyCode)?10:1)*i.keyStep.value,r=([34,37,40].includes(t.keyCode)?-1:1)*(i.isReversed.value===!0?-1:1)*(e.vertical===!0?-1:1)*n;c.value=L(i.roundValueFn.value(c.value+r),i.innerMin.value,i.innerMax.value),_()}return()=>{let n=a.getContent(f,i.tabindex,h,e=>{e.push(m())});return t(`div`,{ref:o,class:i.classes.value+(e.modelValue===null?` q-slider--no-value`:``),...i.attributes.value,"aria-valuenow":e.modelValue},n)}}});function it(e,t=new WeakMap){if(Object(e)!==e)return e;if(t.has(e))return t.get(e);let n=e instanceof Date?new Date(e):e instanceof RegExp?new RegExp(e.source,e.flags):e instanceof Set?new Set:e instanceof Map?new Map:typeof e.constructor==`function`?e.prototype!==void 0&&typeof e.prototype.constructor==`function`?e:new e.constructor:Object.create(null);if(typeof e.constructor==`function`&&typeof e.valueOf==`function`){let n=e.valueOf();if(Object(n)!==n){let r=new e.constructor(n);return t.set(e,r),r}}return t.set(e,n),e instanceof Set?e.forEach(e=>{n.add(it(e,t))}):e instanceof Map&&e.forEach((e,r)=>{n.set(r,it(e,t))}),Object.assign(n,...Object.keys(e).map(n=>({[n]:it(e[n],t)})))}var at=E({name:`QPopupEdit`,props:{modelValue:{required:!0},title:String,buttons:Boolean,labelSet:String,labelCancel:String,color:{type:String,default:`primary`},validate:{type:Function,default:()=>!0},autoSave:Boolean,cover:{type:Boolean,default:!0},disable:Boolean},emits:[`update:modelValue`,`save`,`cancel`,`beforeShow`,`show`,`beforeHide`,`hide`],setup(e,{slots:r,emit:i}){let{proxy:a}=p(),{$q:o}=a,s=g(null),c=g(``),l=g(``),u=!1,ee=b(()=>ne({initialValue:c.value,validate:e.validate,set:d,cancel:f,updatePosition:m},`value`,()=>l.value,e=>{l.value=e}));function d(){e.validate(l.value)!==!1&&(h()===!0&&(i(`save`,l.value,c.value),i(`update:modelValue`,l.value)),_())}function f(){h()===!0&&i(`cancel`,l.value,c.value),_()}function m(){n(()=>{s.value.updatePosition()})}function h(){return k(l.value,c.value)===!1}function _(){u=!0,s.value.hide()}function v(){u=!1,c.value=it(e.modelValue),l.value=it(e.modelValue),i(`beforeShow`)}function y(){i(`show`)}function x(){u===!1&&h()===!0&&(e.autoSave===!0&&e.validate(l.value)===!0?(i(`save`,l.value,c.value),i(`update:modelValue`,l.value)):i(`cancel`,l.value,c.value)),i(`beforeHide`)}function S(){i(`hide`)}function C(){let n=r.default===void 0?[]:[].concat(r.default(ee.value));return e.title&&n.unshift(t(`div`,{class:`q-dialog__title q-mt-sm q-mb-sm`},e.title)),e.buttons===!0&&n.push(t(`div`,{class:`q-popup-edit__buttons row justify-center no-wrap`},[t(j,{flat:!0,color:e.color,label:e.labelCancel||o.lang.label.cancel,onClick:f}),t(j,{flat:!0,color:e.color,label:e.labelSet||o.lang.label.set,onClick:d})])),n}return Object.assign(a,{set:d,cancel:f,show(e){s.value?.show(e)},hide(e){s.value?.hide(e)},updatePosition:m}),()=>{if(e.disable!==!0)return t(B,{ref:s,class:`q-popup-edit`,cover:e.cover,onBeforeShow:v,onShow:y,onBeforeHide:x,onHide:S,onEscapeKey:f},C)}}}),ot={class:`text-h6`},st=[`title`],ct={key:1,class:`row justify-center q-mt-sm`},lt=w({__name:`FolderPickerDialog`,props:{modelValue:{type:Boolean},initialPath:{}},emits:[`update:modelValue`,`select`],setup(e,{emit:t}){let n=e,o=t,s=g(``),l=g(null),f=g([]),p=g(!1),m=g(``);async function y(e){p.value=!0,m.value=``;try{let t=e?`?path=${encodeURIComponent(e)}`:``,n=await fetch(`/api/fs/list-dirs${t}`),r=await n.json();if(!n.ok){m.value=r?.error??`HTTP ${n.status}`;return}s.value=r.path??``,l.value=r.parent??null,f.value=Array.isArray(r.entries)?r.entries:[]}catch(e){m.value=e instanceof Error?e.message:String(e)}finally{p.value=!1}}function b(){s.value&&(o(`select`,s.value),o(`update:modelValue`,!1))}return ee(()=>n.modelValue,e=>{e&&y(n.initialPath||void 0)}),(t,n)=>(i(),h(Ee,{"model-value":e.modelValue,"onUpdate:modelValue":n[1]||=e=>t.$emit(`update:modelValue`,e)},{default:r(()=>[d(De,{class:`text-grey-3`,style:{"min-width":`480px`,"max-width":`90vw`,background:`#1e1e3a`}},{default:r(()=>[d(Ae,{class:`row items-center q-pb-none`},{default:r(()=>[C(`div`,ot,u(t.$t(`folderPicker.title`)),1),d(R),a(d(j,{flat:``,dense:``,round:``,icon:`close`,color:`grey-5`},null,512),[[Le]])]),_:1}),d(Ae,null,{default:r(()=>[C(`div`,{class:`text-caption text-grey-6 ellipsis q-mb-sm`,style:{"font-family":`monospace`},title:s.value},u(s.value||`…`),9,st),m.value?(i(),h(Xe,{key:0,dense:``,class:`bg-red-9 text-white q-mb-sm rounded-borders`},{default:r(()=>[v(u(m.value),1)]),_:1})):_(``,!0),d(z,{bordered:``,separator:``,class:`rounded-borders`,style:{"max-height":`320px`,"overflow-y":`auto`}},{default:r(()=>[l.value?a((i(),h(F,{key:0,clickable:``,onClick:n[0]||=e=>y(l.value)},{default:r(()=>[d(I,{avatar:``},{default:r(()=>[d(O,{name:`arrow_upward`,color:`grey-5`})]),_:1}),d(I,null,{default:r(()=>[v(u(t.$t(`folderPicker.parent`)),1)]),_:1})]),_:1})),[[xe]]):_(``,!0),(i(!0),x(S,null,c(f.value,e=>a((i(),h(F,{key:e.path,clickable:``,onClick:t=>y(e.path)},{default:r(()=>[d(I,{avatar:``},{default:r(()=>[d(O,{name:`folder`,color:`amber-6`})]),_:1}),d(I,null,{default:r(()=>[v(u(e.name),1)]),_:2},1024)]),_:2},1032,[`onClick`])),[[xe]])),128)),!p.value&&f.value.length===0?(i(),h(F,{key:1},{default:r(()=>[d(I,{class:`text-grey-7`},{default:r(()=>[v(u(t.$t(`folderPicker.empty`)),1)]),_:1})]),_:1})):_(``,!0)]),_:1}),p.value?(i(),x(`div`,ct,[d(se,{size:`20px`,color:`grey-5`})])):_(``,!0)]),_:1}),d(ye,{align:`right`},{default:r(()=>[a(d(j,{flat:``,label:t.$t(`common.cancel`),color:`grey-5`},null,8,[`label`]),[[Le]]),d(j,{flat:``,label:t.$t(`folderPicker.select`),color:`primary`,disable:!s.value||p.value,onClick:b},null,8,[`label`,`disable`])]),_:1})]),_:1})]),_:1},8,[`model-value`]))}}),ut={class:`settings-layout`},dt={class:`settings-nav`},ft={class:`settings-nav__title`},pt={class:`settings-content`},mt={class:`settings-content__header`},ht={class:`settings-content__title`},gt={class:`settings-panels`},_t={class:`settings-global-wrap`},vt={"data-tour":`settings-card-general`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},yt={class:`text-subtitle2 q-mb-sm`},bt={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},xt={class:`text-subtitle2 q-mb-sm`},St={class:`text-caption text-grey-7 q-mt-xs`},Ct={"data-tour":`settings-card-skills`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},wt={class:`text-subtitle2 q-mb-sm`},Tt={class:`text-caption text-grey-6 q-mt-xs`},Et={key:0,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Dt={class:`text-subtitle2 q-mb-sm`},Ot={class:`text-caption text-grey-6 q-mb-xs q-mt-sm`},kt={class:`text-caption text-grey-6 q-mt-md q-mb-xs`},At={class:`text-caption text-grey-6 q-mt-md q-mb-xs`},jt={class:`text-caption text-grey-6 q-mt-md q-mb-xs`},Mt={class:`text-caption text-grey-6 q-mt-md q-mb-xs`},Nt={"data-tour":`settings-card-agents`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Pt={class:`text-subtitle2 q-mb-sm`},Ft={class:`text-subtitle2 q-mb-sm q-mt-md`},It={class:`text-subtitle2 q-mb-sm q-mt-md`},Lt={class:`text-caption text-grey-7 q-mb-sm`},Rt={class:`text-subtitle2 q-mb-sm q-mt-md`},zt={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Bt={class:`text-subtitle2 q-mb-sm`},Vt={"data-tour":`settings-card-notifications`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Ht={class:`text-subtitle2 q-mb-sm`},Ut={class:`column q-gutter-xs`},Wt={class:`row items-center q-gutter-sm q-mt-sm`},Gt={class:`row items-center q-gutter-sm q-mt-sm`},Kt={class:`text-grey-5 text-caption`,style:{"min-width":`80px`}},qt={class:`text-grey-5 text-caption`,style:{"min-width":`40px`,"text-align":`right`}},Jt={"data-tour":`settings-card-voice`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Yt={class:`row items-center q-mb-sm`},Xt={class:`text-subtitle2`},Zt={class:`column q-gutter-xs`},Qt={class:`row items-center q-gutter-sm`},$t={class:`row items-center q-gutter-sm`},en={class:`q-pa-sm text-caption text-grey-5`},tn={class:`q-mb-sm`},nn={class:`q-mb-sm`},rn={href:`https://github.com/ggml-org/whisper.cpp`,target:`_blank`,rel:`noopener noreferrer`,class:`text-indigo-4`},an={class:`q-mb-xs text-grey-4`},on={class:`q-mb-sm`},sn={class:`q-mb-xs text-grey-4`},cn={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ln={class:`text-subtitle2 q-mb-sm`},un={class:`row q-col-gutter-sm`},dn={class:`col-12 col-sm-6`},fn={class:`col-12 col-sm-6`},pn={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},mn={class:`text-subtitle2 q-mb-sm`},hn={key:0,class:`voice-models-dir row items-center q-gutter-sm q-mb-md`},gn={class:`text-caption text-grey-5 ellipsis-2-lines`,style:{flex:`1`,"min-width":`0`,"word-break":`break-all`}},_n={class:`column q-gutter-sm`},vn={class:`row items-center q-gutter-sm`},yn={class:`text-body2 text-grey-3`,style:{"font-family":`var(--kobo-font-mono, monospace)`}},bn={class:`text-caption text-grey-6`},xn={key:0,class:`q-mt-sm`},Sn={class:`row items-center q-mt-xs`},Cn={class:`text-caption text-grey-6`},wn={class:`text-caption text-indigo-4`},Tn={key:1,class:`text-caption text-grey-7 q-mt-xs ellipsis`,style:{"font-family":`var(--kobo-font-mono, monospace)`,"word-break":`break-all`}},En={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Dn={class:`text-subtitle2 q-mb-sm`},On={class:`q-pa-sm column q-gutter-sm`},kn={class:`row items-center q-gutter-sm`},An={class:`text-caption text-grey-5`},jn={class:`text-caption text-grey-5`,style:{"min-width":`40px`,"text-align":`right`}},Mn={class:`text-caption text-grey-7`},Nn={class:`text-caption text-grey-7`},Pn={class:`text-caption text-grey-7`},Fn={class:`text-caption text-grey-7`},In={class:`q-pa-sm column q-gutter-sm`},Ln={key:1,"data-tour":`settings-card-prompts`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Rn={class:`row items-center q-mb-sm`},zn={class:`text-subtitle2`},Bn={class:`text-caption text-grey-7 q-mb-sm`},Vn={class:`q-mb-sm`},Hn={class:`row items-center q-mb-sm q-mt-md`},Un={class:`text-subtitle2`},Wn={class:`text-caption text-grey-7 q-mb-sm`},Gn={class:`row items-center q-mb-sm q-mt-md`},Kn={class:`text-subtitle2`},qn={class:`text-caption text-grey-7 q-mb-sm`},Jn={class:`row items-center q-mb-sm q-mt-md`},Yn={class:`text-subtitle2`},Xn={class:`text-caption text-grey-7 q-mb-sm`},Zn={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Qn={class:`text-subtitle2 q-mb-sm`},$n={class:`text-caption text-grey-7 q-mb-sm`},er={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},tr={class:`text-subtitle2 q-mb-sm`},nr={class:`text-caption text-grey-7 q-mb-sm`},rr={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ir={class:`text-subtitle2 q-mb-sm`},ar={class:`text-caption text-grey-7 q-mb-sm`},or={"data-tour":`settings-card-notion`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},sr={class:`text-subtitle2 q-mb-sm`},cr={class:`text-caption text-grey-7 q-mb-sm`},lr={class:`q-mb-sm`},ur={class:`field-label-sub text-caption q-mb-xs text-grey-7`},dr={class:`q-mb-sm`},fr={class:`field-label-sub text-caption q-mb-xs text-grey-7`},pr={key:2,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},mr={class:`text-subtitle2 q-mb-sm`},hr={class:`text-caption text-grey-7 q-mb-sm`},gr={class:`q-mb-sm`},_r={class:`field-label-sub text-caption q-mb-xs text-grey-7`},vr={class:`q-mb-sm`},yr={class:`field-label-sub text-caption q-mb-xs text-grey-7`},br={class:`row items-center q-mb-sm`},xr={class:`text-subtitle2`},Sr={class:`text-caption text-grey-7 q-mb-xs`},Cr={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},wr={class:`text-subtitle2 q-mb-sm`},Tr={class:`text-caption text-grey-7 q-mb-sm`},Er={class:`q-mb-sm`},Dr={class:`field-label-sub text-caption q-mb-xs text-grey-7`},Or={class:`q-mb-sm`},kr={class:`row items-center q-mb-xs`},Ar={class:`field-label-sub text-caption text-grey-7 col`},jr=[`src`,`alt`],Mr={key:1,class:`text-caption text-grey-7 q-py-sm`},Nr={key:0,class:`text-caption text-orange-5 q-mb-xs`},Pr={key:3,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Fr={class:`text-subtitle2 q-mb-sm`},Ir={class:`row items-center q-mb-sm`},Lr={class:`text-subtitle2`},Rr={class:`text-caption text-grey-7 q-mb-xs`},zr={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Br={class:`text-subtitle2 q-mb-sm`},Vr={class:`text-caption text-grey-7 q-mb-sm`},Hr={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Ur={class:`text-subtitle2 q-mb-sm`},Wr={class:`text-caption text-grey-7 q-mb-sm`},Gr={class:`row items-center no-wrap`},Kr={key:1,class:`text-caption text-grey-7 q-mb-sm`},qr={class:`row items-center q-gutter-sm`},Jr={"data-tour":`settings-card-scripts`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Yr={class:`text-subtitle2 q-mb-sm`},Xr={class:`text-caption text-grey-7 q-mb-sm`},Zr={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Qr={class:`text-subtitle2 q-mb-sm`},$r={class:`text-caption text-grey-7 q-mb-sm`},ei={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ti={class:`text-subtitle2 q-mb-sm`},ni={class:`text-caption text-grey-7 q-mb-sm`},ri={class:`text-caption text-grey-6 q-mt-md q-mb-xs`},ii={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ai={class:`text-subtitle2 q-mb-sm`},oi={class:`text-caption text-grey-7 q-mb-sm`},si={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ci={class:`row items-center justify-between q-mb-sm`},li={class:`text-subtitle2`},ui={class:`text-caption text-grey-7 q-mb-xs`},di={class:`text-caption text-grey-6 mono-guide q-mb-sm`},fi={"data-tour":`settings-card-worktrees`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},pi={class:`text-subtitle2 q-mb-sm`},mi={class:`text-caption text-grey-7 q-mb-sm`},hi={class:`text-caption text-grey-7 q-mt-xs`},gi={"data-tour":`settings-card-worktrees-purge`},_i={class:`text-caption text-grey-7 q-mt-xs`},vi={class:`q-pa-sm text-caption text-grey-5`,style:{"line-height":`1.55`}},yi={class:`text-weight-medium text-grey-3 q-mb-xs`},bi={class:`q-mb-xs`},xi={class:`purge-docs-code`},Si={class:`text-grey-7 q-mb-md`},Ci={class:`text-weight-medium text-grey-3 q-mb-xs`},wi={class:`q-mb-xs`},Ti={class:`q-pl-md q-my-xs`},Ei={class:`purge-docs-code`},Di={class:`text-grey-7 q-mb-md`},Oi={class:`text-weight-medium text-grey-3 q-mb-xs`},ki={class:`q-mb-xs`},Ai={class:`q-mb-xs text-grey-6`},ji={class:`purge-docs-code`},Mi={class:`q-mb-xs text-grey-6`},Ni={class:`purge-docs-code`},Pi={class:`text-grey-7`},Fi={"data-tour":`settings-card-export`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Ii={class:`text-subtitle2 q-mb-sm`},Li={class:`text-caption text-grey-7 q-mb-sm`},Ri={class:`row q-gutter-sm`},zi={class:`row justify-end settings-sticky-actions`},Bi={class:`q-pa-none`},Vi={class:`row q-gutter-md`,style:{"min-height":`500px`}},Hi={class:`project-list-col`},Ui={class:`settings-card rounded-borders`,style:{height:`100%`}},Wi={class:`q-pa-sm`},Gi={class:`text-caption text-uppercase text-weight-bold q-px-sm q-py-xs text-grey-6`,style:{"letter-spacing":`0.05em`}},Ki={key:0,class:`q-pa-md text-center text-caption text-grey-8`},qi={class:`q-pa-sm`},Ji={class:`project-form-col`},Yi={class:`settings-card rounded-borders q-pa-lg`,style:{height:`100%`}},Xi={class:`row items-center q-mb-md`},Zi={class:`text-subtitle1 text-weight-medium text-grey-3`},Qi={key:0,class:`q-mb-md`},$i={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},ea={class:`text-caption text-grey-7 q-mt-xs`},ta={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},na={class:`text-subtitle2 q-mb-md`},ra={class:`q-mb-md`},ia={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},aa={class:`q-mb-md`},oa={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},sa={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},ca={class:`row items-center q-gutter-xs`},la={class:`text-caption text-grey-6 q-mt-xs`},ua={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},da={class:`text-subtitle2 q-mb-md`},fa={class:`q-mb-md`},pa={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},ma={class:`q-mb-md`},ha={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},ga={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},_a={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},va={class:`text-subtitle2 q-mb-md`},ya={class:`q-mb-md`},ba={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},xa={class:`text-caption text-grey-7 q-mb-xs`},Sa={class:`q-mb-md`},Ca={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},wa={class:`text-caption text-grey-7 q-mb-xs`},Ta={class:`q-mb-md`},Ea={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Da={class:`text-caption text-grey-7 q-mb-xs`},Oa={class:`q-mb-md`},ka={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Aa={class:`text-caption text-grey-7 q-mb-xs`},ja={class:`q-mb-md`},Ma={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Na={class:`text-caption text-grey-7 q-mb-xs`},Pa={class:`q-mb-md`},Fa={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Ia={class:`text-caption text-grey-7 q-mb-xs`},La={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Ra={class:`text-caption text-grey-7 q-mt-xs`},za={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Ba={class:`text-subtitle2 q-mb-md`},Va={class:`q-mb-md`},Ha={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Ua={class:`text-caption text-grey-7 q-mb-xs`},Wa={class:`text-caption text-grey-7 q-mt-xs`},Ga={class:`q-mb-md`},Ka={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},qa={class:`text-caption text-grey-7 q-mb-xs`},Ja={class:`field-label-sub text-caption q-mt-sm q-mb-xs text-grey-7`},Ya={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Xa={class:`text-caption text-grey-7 q-mb-xs`},Za={class:`row items-center justify-between q-mb-xs`},Qa={class:`field-label text-body2 text-weight-medium text-grey-6`},$a={class:`text-caption text-grey-7 q-mb-xs`},eo={class:`text-caption text-grey-6 mono-guide q-mb-sm`},to={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},no={class:`text-subtitle2 q-mb-md`},ro={class:`q-mb-md`},io={class:`field-label-sub text-caption q-mb-xs text-grey-7`},ao={class:`field-label-sub text-caption q-mb-xs text-grey-7`},oo={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},so={class:`text-subtitle2 q-mb-xs`},co={class:`text-caption text-grey-7 q-mb-sm`},lo={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},uo={class:`text-subtitle2 q-mb-xs`},fo={class:`text-caption text-grey-7 q-mb-sm`},po={class:`row items-center q-gutter-sm settings-sticky-actions`},mo={key:1,class:`column items-center justify-center`,style:{height:`100%`,"min-height":`300px`}},ho={class:`text-body2 text-grey-8`},go={class:`q-pa-none`},_o={"data-tour":`settings-card-templates`,class:`settings-card rounded-borders q-pa-lg`},vo={class:`row items-center justify-between q-mb-md`},yo={class:`text-subtitle1 text-weight-medium text-grey-3`},bo={class:`row q-gutter-sm items-center`},xo={key:0,class:`text-grey-6 q-py-lg text-center`},So={key:1,class:`column q-gutter-sm`},Co={class:`row items-start justify-between no-wrap`},wo={class:`col`},To={class:`text-body1 text-weight-medium`,style:{"font-family":`'Roboto Mono', monospace`}},Eo={class:`text-caption text-grey-5 q-mt-xs`},Do={class:`row no-wrap q-gutter-xs`},Oo={class:`text-caption text-grey-7 q-mt-lg`,style:{"font-family":`'Roboto Mono', monospace`}},ko={key:0,class:`settings-savebar`},Ao={class:`settings-savebar__label`},jo={class:`text-subtitle1`},Mo={class:`q-pl-md q-pt-xs`,style:{"font-size":`11px`,"font-family":`'Roboto Mono', monospace`,columns:`2`,"column-gap":`24px`}},No={key:0,class:`text-negative text-caption`},W=Fe(w({__name:`SettingsPage`,setup(e){let t=Re(),n=ve(),p=Oe(),{t:w,locale:ne}=Se(),{startTour:re}=Ge(),E=g(`general`),ae=b(()=>[{value:`general`,icon:`tune`,label:w(`settings.nav.general`)},{value:`agents`,icon:`smart_toy`,label:w(`settings.nav.agents`)},{value:`skills`,icon:`extension`,label:w(`settings.nav.skills`)},{value:`prompts`,icon:`text_snippet`,label:w(`settings.nav.prompts`)},{value:`scripts`,icon:`terminal`,label:w(`settings.nav.scripts`)},{value:`notion`,icon:`integration_instructions`,label:w(`settings.nav.notion`)},{value:`sentry`,icon:`bug_report`,label:w(`settings.nav.sentry`)},{value:`voice`,icon:`mic`,label:w(`settings.nav.voice`)},{value:`notifications`,icon:`notifications`,label:w(`settings.nav.notifications`)},{value:`worktrees`,icon:`account_tree`,label:w(`settings.nav.worktrees`)},{value:`projects`,icon:`folder`,label:w(`settings.projects`)},{value:`templates`,icon:`description`,label:w(`templates.title`)},{value:`export`,icon:`import_export`,label:w(`settings.nav.export`)}]),oe=b(()=>ae.value.find(e=>e.value===E.value)?.label??``),se=b(()=>[`general`,`agents`,`skills`,`prompts`,`scripts`,`notion`,`sentry`,`voice`,`notifications`,`worktrees`,`export`].includes(E.value)),ce=g(`auto`),le=g(`auto`),k=g(``),de=g(``),A=g(``),Ce=g(``),M=g(``),we=g(``),L=g(``),Pe=g(!1),Fe=g(!0),B=g(!0),Xe=g(me),H=g(1),Ze=g(``),Qe=g(``),$e=g(``),U=g(``),et=g([]),tt=g(!1),nt=g(``),it=b(()=>et.value.map(e=>({label:`${e.name} — ${e.email}`,value:e.id,name:e.name,email:e.email,avatarUrl:e.avatarUrl})));async function ot(e=!1){if(!tt.value&&!(!e&&et.value.length>0)){tt.value=!0,nt.value=``;try{let e=await fetch(`/api/notion/users`),t=await e.json().catch(()=>({}));if(!e.ok)throw Error(t.error??`HTTP ${e.status}`);et.value=Array.isArray(t.users)?t.users:[]}catch(e){nt.value=e instanceof Error?e.message:String(e),et.value=[]}finally{tt.value=!1}}}let st=g(``),ct=g(``),W=g(null),Po=g(`bypass`),Fo=g(`bypass`),Io=g(``),Lo=g(``),Ro=g([]),G=g([]),zo=g(``),Bo=g(``),Vo=g(``),Ho=g(`no-tasks`),Uo=g(!1),Wo=g(``),Go=g(``),Ko=g(``),qo=g(!1);function Jo(e){X.value.path=e}let Yo=b(()=>[{label:w(`settings.cleanupScriptMode.inherit`),value:``},{label:w(`settings.cleanupScriptMode.idle`),value:`idle`},{label:w(`settings.cleanupScriptMode.noTasks`),value:`no-tasks`}]),Xo=g(pe),Zo=g(null),Qo=g(!0);function $o(e){let t=e.trim().replace(/^\/+|\/+$/g,``);return t.length===0||t.length>50||!/^[A-Za-z0-9._/-]+$/.test(t)||t.includes(`..`)?``:t}function es(){let e=$o(zo.value);!e||G.value.includes(e)||(G.value.push(e),zo.value=``)}function ts(e){G.value.splice(e,1)}function ns(e,t){let n=$o(t);if(!n)return;let r=G.value.indexOf(n);r!==-1&&r!==e||(G.value[e]=n)}function rs(e,t){let n=e+t;if(n<0||n>=G.value.length)return;let r=G.value;[r[e],r[n]]=[r[n],r[e]]}let is=g(!1),K=g(`superpowers`),as=b(()=>{switch(K.value){case`gstack`:return`settings.skillSuite.gstackHint`;case`superpowers+gstack`:return`settings.skillSuite.superpowersGstackHint`;case`custom`:return`settings.skillSuite.customHint`;default:return`settings.skillSuite.superpowersHint`}}),os=g(``),ss=g(``),cs=g(``),ls=g(``),us=g(``),ds=g(!1),fs=g(`alt`),ps=g(`auto`),q=g(null),ms=g(``),hs=g(``),gs=g(0),_s=g(``),vs=g(!1),ys=g(!0),bs=g(null),xs=g(!1);function Ss(){t.dialog({title:w(`settings.skillSuite.reloadDefaults`),message:w(`settings.skillSuite.reloadDefaultsConfirm`),cancel:!0,persistent:!0,dark:!0}).onOk(()=>{os.value=He,ss.value=Ue,cs.value=Ve,ls.value=ze,us.value=Be})}function Cs(e){let n=e===`global`?Go.value:X.value.changeSourceBranchScript,r=()=>{e===`global`?Go.value=Ko.value:X.value.changeSourceBranchScript=Ko.value};if(!n.trim()||n===Ko.value){r();return}t.dialog({title:w(`settings.changeSourceBranchScript.replaceConfirmTitle`),message:w(`settings.changeSourceBranchScript.replaceConfirm`),cancel:!0,persistent:!0,dark:!0}).onOk(r)}function ws(e){return!e||e===`tiny`||e===`base`?.1:.2}let Ts=[e=>e.trim().length>0||w(`settings.worktreesPathRequired`)],Es=g(!1),J=g(-1),Y=g(!1),X=g({path:``,displayName:``,color:null,defaultSourceBranch:``,defaultModel:``,forge:`auto`,prPromptTemplate:``,reviewPromptTemplate:``,ciFixPromptTemplate:``,notionInitialPromptTemplate:``,sentryInitialPromptTemplate:``,gitConventions:``,setupScript:``,taskPromptTemplate:``,cleanupScript:``,cleanupScriptMode:``,archiveScript:``,changeSourceBranchScript:``,devServer:{startCommand:``,stopCommand:``},e2e:{framework:``,skill:``,prompt:``},finalization:{prompt:``}}),Ds=[`defaultModel`,`forge`,`prPromptTemplate`,`reviewPromptTemplate`,`ciFixPromptTemplate`,`notionInitialPromptTemplate`,`sentryInitialPromptTemplate`,`gitConventions`,`setupScript`,`taskPromptTemplate`,`cleanupScript`,`cleanupScriptMode`,`archiveScript`,`changeSourceBranchScript`,`devServer`,`e2e`,`finalization`],Os=g(null),ks=g(null),As=b(()=>n.projects.map(e=>({value:e.path,label:qc(e)||e.path})));function js(e){let t=n.projects.find(t=>t.path===e);t&&(X.value.defaultModel=t.defaultModel??``,X.value.forge=t.forge??`auto`,X.value.prPromptTemplate=t.prPromptTemplate??``,X.value.reviewPromptTemplate=t.reviewPromptTemplate??``,X.value.ciFixPromptTemplate=t.ciFixPromptTemplate??``,X.value.notionInitialPromptTemplate=t.notionInitialPromptTemplate??``,X.value.sentryInitialPromptTemplate=t.sentryInitialPromptTemplate??``,X.value.gitConventions=t.gitConventions??``,X.value.setupScript=t.setupScript??``,X.value.devServer={startCommand:t.devServer?.startCommand??``,stopCommand:t.devServer?.stopCommand??``},X.value.e2e={framework:t.e2e?.framework??``,skill:t.e2e?.skill??``,prompt:t.e2e?.prompt??``},X.value.finalization={prompt:t.finalization?.prompt??``})}function Ms(){let e={defaultModel:``,forge:`auto`,prPromptTemplate:``,reviewPromptTemplate:``,notionInitialPromptTemplate:``,sentryInitialPromptTemplate:``,gitConventions:``,setupScript:``,taskPromptTemplate:``,cleanupScript:``,cleanupScriptMode:``,archiveScript:``,changeSourceBranchScript:``,devServer:{startCommand:``,stopCommand:``},e2e:{framework:``,skill:``,prompt:``},finalization:{prompt:``}};return Ds.every(t=>JSON.stringify(X.value[t])===JSON.stringify(e[t]))}function Ns(e){if(e===null){Os.value=null,ks.value=null;return}if(ks.value===null&&Ms()){js(e),Os.value=e,ks.value=e;return}let r=n.projects.find(t=>t.path===e),i=r&&qc(r)||e;t.dialog({title:w(`settings.copyFromConfirmTitle`),message:w(`settings.copyFromConfirm`,{project:i}),cancel:!0,persistent:!0,dark:!0}).onOk(()=>{js(e),Os.value=e,ks.value=e}).onCancel(()=>{Os.value=ks.value})}let Ps=g([]),Fs=g([]);async function Is(){try{let e=await fetch(`/api/skills`);e.ok&&(Ps.value=await e.json())}catch{}}function Ls(e,t){t(()=>{let t=e.trim().toLowerCase();Fs.value=t?Ps.value.filter(e=>e.toLowerCase().includes(t)):Ps.value.slice()})}let Rs=g([]),zs=g(!1),Bs=g(!1),Vs=g(!1),Hs=g(!1),Z=g(null),Us=g(``),Ws=g(``),Gs=g(``),Q=g(``),Ks=g(!1),qs=g(!1),Js=b(()=>[...p.templates].sort((e,t)=>e.slug.localeCompare(t.slug))),Ys=[`{workspace_name}`,`{working_branch}`,`{source_branch}`,`{project_path}`,`{worktree_path}`,`{commit_count}`,`{unpushed_count}`,`{files_changed}`,`{insertions}`,`{deletions}`,`{pr_number}`,`{pr_url}`,`{pr_state}`,`{session_name}`];function Xs(){Z.value=null,Us.value=``,Ws.value=``,Gs.value=``,Q.value=``,Hs.value=!0}function Zs(e){Z.value=e.slug,Us.value=e.slug,Ws.value=e.description,Gs.value=e.content,Q.value=``,Hs.value=!0}async function Qs(){Q.value=``;let e=Us.value.trim(),t=Ws.value.trim();if(Z.value===null&&!/^[a-z0-9][a-z0-9-]{0,63}$/.test(e)){Q.value=w(`templates.slugInvalid`);return}if(!t){Q.value=w(`templates.descriptionRequired`);return}if(!Gs.value.trim()){Q.value=w(`templates.contentRequired`);return}Ks.value=!0;try{Z.value===null?await p.createTemplate({slug:e,description:t,content:Gs.value}):await p.updateTemplate(Z.value,{description:t,content:Gs.value}),Hs.value=!1}catch(e){Q.value=e instanceof Error?e.message:w(`templates.createFailed`)}finally{Ks.value=!1}}function $s(){t.dialog({title:w(`templates.reloadDefaults`),message:w(`templates.reloadDefaultsConfirmMessage`),dark:!0,cancel:{flat:!0,label:w(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:w(`templates.reloadDefaults`),color:`primary`}}).onOk(async()=>{qs.value=!0;try{let e=await p.reloadDefaults();t.notify({type:`positive`,message:w(`templates.reloadDefaultsSuccess`,{added:e.added.length,kept:e.kept.length}),position:`top`,timeout:4e3})}catch(e){t.notify({type:`negative`,message:e instanceof Error?e.message:w(`templates.reloadDefaultsFailed`),position:`top`})}finally{qs.value=!1}})}async function ec(e){t.dialog({title:w(`templates.deleteTemplate`),message:`${w(`templates.deleteConfirm`,{slug:e.slug})}\n\n${w(`templates.deleteConfirmMessage`)}`,dark:!0,cancel:{flat:!0,label:w(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:w(`templates.deleteTemplate`),color:`red-5`}}).onOk(async()=>{try{await p.deleteTemplate(e.slug)}catch(e){t.notify({type:`negative`,message:e instanceof Error?e.message:w(`templates.deleteFailed`),position:`top`})}})}function tc(e){t.dialog({title:w(`templates.resetConfirmTitle`),message:w(`templates.resetConfirmMessage`,{slug:e.slug}),dark:!0,cancel:{flat:!0,label:w(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:w(`templates.resetToDefault`),color:`primary`}}).onOk(async()=>{try{await p.resetToDefault(e.slug),t.notify({type:`positive`,message:w(`templates.resetSuccess`,{slug:e.slug}),position:`top`})}catch(e){t.notify({type:`negative`,message:e instanceof Error?e.message:w(`templates.resetFailed`),position:`top`})}})}let nc=[{label:`English`,value:`en`},{label:`Français`,value:`fr`},{label:`Deutsch`,value:`de`},{label:`Español`,value:`es`},{label:`Italiano`,value:`it`}];function rc(e){ne.value=e,localStorage.setItem(`kobo:locale`,e)}let ic=b(()=>[...Je.map(e=>({label:w(e.i18nLabelKey),value:e.value}))]),ac=b(()=>[...qe.map(e=>({label:w(e.i18nLabelKey),value:e.value}))]),oc=b(()=>[{label:w(`settings.useGlobal`),value:``},...ic.value]),sc=b(()=>[{label:w(`settings.forge.auto`),value:`auto`},{label:w(`settings.forge.github`),value:`github`},{label:w(`settings.forge.gitlab`),value:`gitlab`},{label:w(`settings.forge.none`),value:`none`}]),cc=b(()=>Ye[`claude-code`].map(e=>({label:w(`agentPermissionMode.${e}`),value:e}))),lc=b(()=>Ye.codex.map(e=>({label:w(`agentPermissionMode.${e}`),value:e}))),uc=b(()=>[{name:`{{pr_number}}`,description:w(`settings.var.prNumber`)},{name:`{{pr_url}}`,description:w(`settings.var.prUrl`)},{name:`{{branch_name}}`,description:w(`settings.var.branchName`)},{name:`{{source_branch}}`,description:w(`settings.var.sourceBranch`)},{name:`{{workspace_name}}`,description:w(`settings.var.workspaceName`)},{name:`{{project_name}}`,description:w(`settings.var.projectName`)},{name:`{{notion_url}}`,description:w(`settings.var.notionUrl`)},{name:`{{commits}}`,description:w(`settings.var.commits`)},{name:`{{diff_stats}}`,description:w(`settings.var.diffStats`)},{name:`{{tasks}}`,description:w(`settings.var.tasks`)},{name:`{{acceptance_criteria}}`,description:w(`settings.var.acceptanceCriteria`)}]),dc=b(()=>[{label:w(`settings.mcpAutoSelect`),value:``},...n.activeMcpServers.map(e=>({label:e.key,value:e.key}))]),fc=b(()=>fe.map(e=>({label:w(e.labelKey),value:e.id}))),pc=b(()=>[{label:w(`voice.noneModel`),value:null}].concat(n.voiceModels.map(e=>({label:e.installed?`${e.name}`:`${e.name} (${w(`voice.notInstalled`)})`,value:e.name})))),mc=[{label:`auto`,value:`auto`},{label:`ar`,value:`ar`},{label:`de`,value:`de`},{label:`en`,value:`en`},{label:`es`,value:`es`},{label:`fr`,value:`fr`},{label:`hi`,value:`hi`},{label:`it`,value:`it`},{label:`ja`,value:`ja`},{label:`ko`,value:`ko`},{label:`nl`,value:`nl`},{label:`pl`,value:`pl`},{label:`pt`,value:`pt`},{label:`ru`,value:`ru`},{label:`tr`,value:`tr`},{label:`uk`,value:`uk`},{label:`vi`,value:`vi`},{label:`zh`,value:`zh`}];function hc(){ge(Xe.value,H.value)}let $=b(()=>J.value<0||J.value>=n.projects.length?null:n.projects[J.value]??null),gc=g(``),_c=g(``);function vc(){return JSON.stringify({claudeModel:ce.value,codexModel:le.value,prPrompt:k.value,reviewPrompt:de.value,ciFixPrompt:A.value,gitConventions:Ce.value,editorCommand:M.value,fileManagerCommand:we.value,terminalCommand:L.value,autoPurgeOnPrMerged:Pe.value,browserNotifications:Fe.value,audioNotifications:B.value,audioNotificationSound:Xe.value,audioNotificationVolume:H.value,notionStatusProperty:Ze.value,notionStatus:Qe.value,notionAssigneeProperty:$e.value,notionUserId:U.value,notionInitialPrompt:st.value,sentryInitialPrompt:ct.value,claudePermissionMode:Po.value,codexPermissionMode:Fo.value,notionMcpKey:Io.value,sentryMcpKey:Lo.value,tags:Ro.value,branchPrefixes:G.value,setupScript:Bo.value,cleanupScript:Vo.value,cleanupScriptMode:Ho.value,cleanupScriptOnlyOnChanges:Uo.value,archiveScript:Wo.value,changeSourceBranchScript:Go.value,worktreesPath:Xo.value,worktreesPrefixByProject:Qo.value,flattenWorkspaceList:is.value,skillSuite:K.value,customReviewTemplate:os.value,customAutoLoopReviewGate:ss.value,customAutoLoopGroomingIntro:cs.value,customQaPromptTemplate:ls.value,customBrainstormingInstruction:us.value,voiceEnabled:ds.value,voicePttKey:fs.value,voiceLanguage:ps.value,voiceModel:q.value,voiceCommandPath:ms.value,voiceFfmpegPath:hs.value,voiceTemperature:gs.value,voicePrompt:_s.value,voiceTranslateToEnglish:vs.value,voiceSuppressNst:ys.value})}function yc(){return JSON.stringify(X.value)}let bc=b(()=>vc()!==gc.value),xc=b(()=>yc()!==_c.value),Sc=b(()=>E.value===`projects`?xc.value&&($.value!==null||Y.value):E.value===`templates`?!1:bc.value),Cc=b(()=>E.value===`projects`?Bs.value:Ks.value);function wc(){E.value===`projects`?Uc():Pc()}function Tc(){xs.value=!0;let e=n.global.defaultModelByEngine??{};ce.value=e[`claude-code`]??`auto`,le.value=e.codex??`auto`,k.value=n.global.prPromptTemplate,de.value=n.global.reviewPromptTemplate??``,A.value=n.global.ciFixPromptTemplate??``,Ce.value=n.global.gitConventions,M.value=n.global.editorCommand??``,we.value=n.global.fileManagerCommand??``,L.value=n.global.terminalCommand??``,Pe.value=n.global.autoPurgeOnPrMerged??!1,Fe.value=n.global.browserNotifications??!0,B.value=n.global.audioNotifications??!0,Xe.value=_e(n.global.audioNotificationSound);let t=n.global.audioNotificationVolume;H.value=typeof t==`number`&&Number.isFinite(t)?Math.max(0,Math.min(1,t)):1,Ze.value=n.global.notionStatusProperty??``,Qe.value=n.global.notionInProgressStatus??``,$e.value=n.global.notionAssigneeProperty??``,U.value=n.global.notionUserId??``,st.value=n.global.notionInitialPromptTemplate??``,ct.value=n.global.sentryInitialPromptTemplate??``;{let e=n.global.defaultPermissionModeByEngine??{},t=e=>e===`plan`||e===`bypass`||e===`strict`||e===`interactive`,r=e[`claude-code`];Po.value=t(r)?r:`bypass`;let i=e.codex;Fo.value=t(i)?i:`bypass`}Io.value=n.global.notionMcpKey??``,Lo.value=n.global.sentryMcpKey??``,Ro.value=Array.isArray(n.global.tags)?[...n.global.tags]:[],G.value=Array.isArray(n.global.branchPrefixes)?[...n.global.branchPrefixes]:[],Bo.value=n.global.setupScript??``,Vo.value=n.global.cleanupScript??``,Ho.value=n.global.cleanupScriptMode===`idle`?`idle`:`no-tasks`,Uo.value=n.global.cleanupScriptOnlyOnChanges??!1,Wo.value=n.global.archiveScript??``,Go.value=n.global.changeSourceBranchScript??``,Xo.value=n.global.worktreesPath??`.worktrees`,Qo.value=n.global.worktreesPrefixByProject??!1,is.value=n.global.flattenWorkspaceList??!1,K.value=n.global.skillSuite??`superpowers`,os.value=n.global.customReviewTemplate??``,ss.value=n.global.customAutoLoopReviewGate??``,cs.value=n.global.customAutoLoopGroomingIntro??``,ls.value=n.global.customQaPromptTemplate??``,us.value=n.global.customBrainstormingInstruction??``,ds.value=n.global.voiceEnabled??!1,fs.value=n.global.voicePttKey===`ctrl+space`?`ctrl+space`:`alt`,ps.value=n.global.voiceLanguage??`auto`,q.value=n.global.voiceModel??null,ms.value=n.global.voiceCommandPath??``,hs.value=n.global.voiceFfmpegPath??``,gs.value=typeof n.global.voiceTemperature==`number`?n.global.voiceTemperature:0,_s.value=n.global.voicePrompt??``,vs.value=n.global.voiceTranslateToEnglish??!1,ys.value=n.global.voiceSuppressNonSpeechTokens??!0,xs.value=!1,gc.value=vc()}ee(()=>q.value,(e,t)=>{xs.value||e!==t&&(gs.value=ws(e))});function Ec(e){if(!e){X.value={path:``,displayName:``,color:null,defaultSourceBranch:``,defaultModel:``,forge:`auto`,prPromptTemplate:``,reviewPromptTemplate:``,ciFixPromptTemplate:``,notionInitialPromptTemplate:``,sentryInitialPromptTemplate:``,gitConventions:``,setupScript:``,taskPromptTemplate:``,cleanupScript:``,cleanupScriptMode:``,archiveScript:``,changeSourceBranchScript:``,devServer:{startCommand:``,stopCommand:``},e2e:{framework:``,skill:``,prompt:``},finalization:{prompt:``}},Rs.value=[],_c.value=yc();return}X.value={path:e.path,displayName:e.displayName,color:e.color??null,defaultSourceBranch:e.defaultSourceBranch,defaultModel:e.defaultModel,forge:e.forge??`auto`,prPromptTemplate:e.prPromptTemplate,reviewPromptTemplate:e.reviewPromptTemplate??``,ciFixPromptTemplate:e.ciFixPromptTemplate??``,notionInitialPromptTemplate:e.notionInitialPromptTemplate??``,sentryInitialPromptTemplate:e.sentryInitialPromptTemplate??``,gitConventions:e.gitConventions??``,setupScript:e.setupScript??``,taskPromptTemplate:e.taskPromptTemplate??``,cleanupScript:e.cleanupScript??``,cleanupScriptMode:e.cleanupScriptMode??``,archiveScript:e.archiveScript??``,changeSourceBranchScript:e.changeSourceBranchScript??``,devServer:{startCommand:e.devServer?.startCommand??``,stopCommand:e.devServer?.stopCommand??``},e2e:{framework:e.e2e?.framework??``,skill:e.e2e?.skill??``,prompt:e.e2e?.prompt??``},finalization:{prompt:e.finalization?.prompt??``}},_c.value=yc(),e.path&&Dc(e.path)}async function Dc(e){if(!e.trim()){Rs.value=[];return}zs.value=!0;try{let t=await fetch(`/api/git/branches?path=${encodeURIComponent(e.trim())}`);if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await t.json();Rs.value=n.local??n.branches??[]}catch{Rs.value=[]}finally{zs.value=!1}}let Oc=null;ee(()=>X.value.path,e=>{Oc&&clearTimeout(Oc),Oc=setTimeout(()=>{Dc(e)},500)}),ee(J,()=>{Y.value=!1,Ec($.value)});let kc=g(null);async function Ac(){try{let e=await fetch(`/api/settings/export`);if(!e.ok)throw Error(`HTTP ${e.status}`);let n=await e.json(),r=new Blob([JSON.stringify(n,null,2)],{type:`application/json`}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=`kobo-config-${new Date().toISOString().replace(/[:.]/g,`-`)}.json`,a.click(),URL.revokeObjectURL(i),t.notify({type:`positive`,message:w(`settings.exportSuccess`),position:`top`,timeout:3e3})}catch(e){t.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}}function jc(){kc.value?.click()}async function Mc(e){let r=e.target,i=r.files?.[0];if(i)try{t.dialog({title:w(`settings.importConfirmTitle`),message:w(`settings.importConfirmMessage`),cancel:!0,persistent:!0,dark:!0}).onOk(async()=>{try{let e=await i.text(),r=JSON.parse(e),a=await fetch(`/api/settings/import`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(r)});if(!a.ok){let e=await a.json().catch(()=>({}));throw Error(e.error??`HTTP ${a.status}`)}await n.fetchSettings(),Tc(),t.notify({type:`positive`,message:w(`settings.importSuccess`),position:`top`,timeout:3e3})}catch(e){t.notify({type:`negative`,message:String(e),position:`top`,timeout:5e3})}})}finally{r.value=``}}async function Nc(e){if(W.value===null){W.value=e;try{let t=await n.fetchGlobalDefaults(),r={prPromptTemplate:k,reviewPromptTemplate:de,ciFixPromptTemplate:A,gitConventions:Ce,notionInitialPromptTemplate:st,sentryInitialPromptTemplate:ct};r[e].value=t[e]}catch(e){console.error(`[SettingsPage] resetFieldToDefault failed:`,e),t.notify({type:`negative`,message:w(`settings.resetFailed`),position:`top`})}finally{W.value=null}}}async function Pc(){if(await Zo.value?.validate()!==!1){Es.value=!0;try{await n.updateGlobal({defaultModelByEngine:{"claude-code":ce.value,codex:le.value},prPromptTemplate:k.value,reviewPromptTemplate:de.value,ciFixPromptTemplate:A.value,gitConventions:Ce.value,editorCommand:M.value,fileManagerCommand:we.value,terminalCommand:L.value,autoPurgeOnPrMerged:Pe.value,browserNotifications:Fe.value,audioNotifications:B.value,audioNotificationSound:Xe.value,audioNotificationVolume:H.value,notionStatusProperty:Ze.value,notionInProgressStatus:Qe.value,notionAssigneeProperty:$e.value,notionUserId:U.value,notionInitialPromptTemplate:st.value,sentryInitialPromptTemplate:ct.value,defaultPermissionModeByEngine:{"claude-code":Po.value,codex:Fo.value},notionMcpKey:Io.value,sentryMcpKey:Lo.value,tags:Ro.value,branchPrefixes:G.value,setupScript:Bo.value,cleanupScript:Vo.value,cleanupScriptMode:Ho.value,cleanupScriptOnlyOnChanges:Uo.value,archiveScript:Wo.value,changeSourceBranchScript:Go.value,worktreesPath:Xo.value,worktreesPrefixByProject:Qo.value,flattenWorkspaceList:is.value,skillSuite:K.value,customReviewTemplate:os.value,customAutoLoopReviewGate:ss.value,customAutoLoopGroomingIntro:cs.value,customQaPromptTemplate:ls.value,customBrainstormingInstruction:us.value,voiceEnabled:ds.value,voicePttKey:fs.value,voiceLanguage:ps.value,voiceModel:q.value,voiceCommandPath:ms.value.trim(),voiceFfmpegPath:hs.value.trim(),voiceTemperature:gs.value,voicePrompt:_s.value,voiceTranslateToEnglish:vs.value,voiceSuppressNonSpeechTokens:ys.value}),gc.value=vc(),t.notify({type:`positive`,message:w(`settings.saved`),position:`top`})}catch{t.notify({type:`negative`,message:w(`settings.saveError`),position:`top`})}finally{Es.value=!1}}}async function Fc(e){bs.value=e,Bc();try{await n.downloadVoiceModel(e)}catch{t.notify({type:`negative`,message:w(`voice.downloadFailed`),position:`top`})}finally{bs.value=null,Vc()}}async function Ic(e){bs.value=e;try{await n.deleteVoiceModel(e),q.value===e&&(q.value=null)}catch{t.notify({type:`negative`,message:w(`voice.deleteFailed`),position:`top`})}finally{bs.value=null}}async function Lc(e){try{await n.cancelVoiceModelDownload(e)}catch{t.notify({type:`negative`,message:w(`voice.cancelFailed`),position:`top`})}}function Rc(e){if(e==null||!Number.isFinite(e)||e<0)return`—`;if(e<1024)return`${e} B`;let t=[`KB`,`MB`,`GB`,`TB`],n=e/1024,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r++;return`${n<10?n.toFixed(1):Math.round(n)} ${t[r]}`}let zc=null;function Bc(){zc||=setInterval(()=>{n.fetchVoiceModels().catch(()=>{})},800)}function Vc(){zc&&=(clearInterval(zc),null)}async function Hc(e){try{await navigator.clipboard.writeText(e),t.notify({type:`positive`,message:w(`common.copied`),position:`top`,timeout:1200})}catch{t.notify({type:`negative`,message:w(`common.copyFailed`),position:`top`})}}async function Uc(){if(!X.value.path.trim()){t.notify({type:`negative`,message:w(`settings.projectPathRequired`),position:`top`});return}Bs.value=!0;try{await n.upsertProject(X.value.path.trim(),{displayName:X.value.displayName,color:X.value.color,defaultSourceBranch:X.value.defaultSourceBranch,defaultModel:X.value.defaultModel,forge:X.value.forge,prPromptTemplate:X.value.prPromptTemplate,reviewPromptTemplate:X.value.reviewPromptTemplate,ciFixPromptTemplate:X.value.ciFixPromptTemplate,notionInitialPromptTemplate:X.value.notionInitialPromptTemplate,sentryInitialPromptTemplate:X.value.sentryInitialPromptTemplate,gitConventions:X.value.gitConventions,setupScript:X.value.setupScript,taskPromptTemplate:X.value.taskPromptTemplate,cleanupScript:X.value.cleanupScript,cleanupScriptMode:X.value.cleanupScriptMode,archiveScript:X.value.archiveScript,changeSourceBranchScript:X.value.changeSourceBranchScript,devServer:X.value.devServer,e2e:X.value.e2e,finalization:X.value.finalization}),Y.value=!1;let e=n.projects.findIndex(e=>e.path===X.value.path.trim());e>=0&&(J.value=e),_c.value=yc(),t.notify({type:`positive`,message:w(`settings.projectSaved`),position:`top`})}catch{t.notify({type:`negative`,message:w(`settings.projectSaveError`),position:`top`})}finally{Bs.value=!1}}function Wc(){if(!$.value)return;let e=$.value.displayName||$.value.path;t.dialog({title:w(`settings.deleteProjectConfirmTitle`),message:w(`settings.deleteProjectConfirmMessage`,{name:e}),dark:!0,cancel:{flat:!0,label:w(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:w(`common.delete`),color:`red-5`}}).onOk(async()=>{if($.value){Vs.value=!0;try{await n.deleteProject($.value.path),J.value=-1,Y.value=!1,Ec(null),t.notify({type:`positive`,message:w(`settings.projectDeleted`),position:`top`})}catch{t.notify({type:`negative`,message:w(`settings.projectDeleteError`),position:`top`})}finally{Vs.value=!1}}})}function Gc(){J.value=-1,Y.value=!0,Ec(null),Os.value=null,ks.value=null}function Kc(e){Y.value=!1,J.value=e,Os.value=null,ks.value=null}function qc(e){if(e.displayName)return e.displayName;let t=e.path.split(`/`);return t[t.length-1]??e.path}let Jc=g([]);function Yc(e,t){t(()=>{Jc.value=e?Rs.value.filter(t=>t.toLowerCase().includes(e.toLowerCase())):Rs.value})}return o(async()=>{await Promise.all([n.fetchSettings(),n.fetchActiveMcpServers(),Is()]);try{Ko.value=(await n.fetchGlobalDefaults()).changeSourceBranchScript??``}catch(e){console.error(`[SettingsPage] fetchGlobalDefaults failed:`,e)}await n.fetchVoiceModels(),await n.fetchVoiceRuntime(),Tc(),ot().catch(()=>{})}),s(()=>{Oc&&clearTimeout(Oc),Vc()}),(e,t)=>(i(),h(Ke,{class:`settings-page`},{default:r(()=>[C(`div`,ut,[C(`aside`,dt,[C(`div`,ft,u(e.$t(`settings.title`)),1),d(z,{dense:``,class:`settings-nav__list`},{default:r(()=>[(i(!0),x(S,null,c(ae.value,e=>a((i(),h(F,{key:e.value,clickable:``,"data-tour":`settings-nav-${e.value}`,class:T([`settings-nav__item`,{"settings-nav__item--active":E.value===e.value}]),onClick:t=>E.value=e.value},{default:r(()=>[d(I,{avatar:``,class:`settings-nav__icon`},{default:r(()=>[d(O,{name:e.icon,size:`16px`},null,8,[`name`])]),_:2},1024),d(I,{class:`settings-nav__label`},{default:r(()=>[v(u(e.label),1)]),_:2},1024)]),_:2},1032,[`data-tour`,`class`,`onClick`])),[[xe,!1]])),128))]),_:1})]),C(`main`,pt,[C(`header`,mt,[C(`h2`,ht,u(oe.value),1)]),C(`div`,gt,[a(C(`div`,_t,[a(C(`div`,vt,[C(`div`,yt,u(e.$t(`settings.language`)),1),d(V,{"model-value":f(ne),options:nc,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input`,"onUpdate:modelValue":rc},null,8,[`model-value`])],512),[[D,E.value===`general`]]),a(C(`div`,bt,[C(`div`,xt,u(e.$t(`settings.workspaceListSection`)),1),d(P,{modelValue:is.value,"onUpdate:modelValue":t[0]||=e=>is.value=e,label:e.$t(`settings.flattenWorkspaceList`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`},null,8,[`modelValue`,`label`]),C(`div`,St,u(e.$t(`settings.flattenWorkspaceListHint`)),1)],512),[[D,E.value===`general`]]),a(C(`div`,Ct,[C(`div`,wt,u(e.$t(`settings.skillSuite.section`)),1),d(ke,{modelValue:K.value,"onUpdate:modelValue":t[1]||=e=>K.value=e,options:[{label:e.$t(`settings.skillSuite.superpowers`),value:`superpowers`},{label:e.$t(`settings.skillSuite.gstack`),value:`gstack`},{label:e.$t(`settings.skillSuite.superpowersGstack`),value:`superpowers+gstack`},{label:e.$t(`settings.skillSuite.custom`),value:`custom`}],type:`radio`,color:`indigo-4`,dense:``,dark:``,inline:``},null,8,[`modelValue`,`options`]),C(`div`,Tt,u(e.$t(as.value)),1),d(j,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`grey-5`,icon:`restart_alt`,label:e.$t(`settings.skillSuite.reloadDefaults`),disable:K.value!==`custom`,class:`q-mt-sm`,onClick:Ss},null,8,[`label`,`disable`])],512),[[D,E.value===`skills`]]),E.value===`skills`&&K.value===`custom`?(i(),x(`div`,Et,[C(`div`,Dt,u(e.$t(`settings.skillSuite.customPrompts`)),1),C(`div`,Ot,u(e.$t(`settings.skillSuite.reviewTemplate`)),1),d(N,{modelValue:os.value,"onUpdate:modelValue":t[2]||=e=>os.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`]),C(`div`,kt,u(e.$t(`settings.skillSuite.autoLoopReviewGate`)),1),d(N,{modelValue:ss.value,"onUpdate:modelValue":t[3]||=e=>ss.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`]),C(`div`,At,u(e.$t(`settings.skillSuite.autoLoopGroomingIntro`)),1),d(N,{modelValue:cs.value,"onUpdate:modelValue":t[4]||=e=>cs.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`]),C(`div`,jt,u(e.$t(`settings.skillSuite.qaTemplate`)),1),d(N,{modelValue:ls.value,"onUpdate:modelValue":t[5]||=e=>ls.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`]),C(`div`,Mt,u(e.$t(`settings.skillSuite.brainstormingInstruction`)),1),d(N,{modelValue:us.value,"onUpdate:modelValue":t[6]||=e=>us.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])])):_(``,!0),a(C(`div`,Nt,[C(`div`,Pt,u(e.$t(`settings.defaultModelClaude`)),1),d(V,{modelValue:ce.value,"onUpdate:modelValue":t[7]||=e=>ce.value=e,options:ic.value,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`options`]),C(`div`,Ft,u(e.$t(`settings.defaultModelCodex`)),1),d(V,{modelValue:le.value,"onUpdate:modelValue":t[8]||=e=>le.value=e,options:ac.value,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`options`]),C(`div`,It,u(e.$t(`settings.defaultPermissionModeClaude`)),1),C(`div`,Lt,u(e.$t(`settings.defaultPermissionModeHint`)),1),d(V,{modelValue:Po.value,"onUpdate:modelValue":t[9]||=e=>Po.value=e,options:cc.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`options`]),C(`div`,Rt,u(e.$t(`settings.defaultPermissionModeCodex`)),1),d(V,{modelValue:Fo.value,"onUpdate:modelValue":t[10]||=e=>Fo.value=e,options:lc.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])],512),[[D,E.value===`agents`]]),a(C(`div`,zt,[C(`div`,Bt,u(e.$t(`settings.activityFeed`)),1),d(P,{"model-value":f(n).showVerboseSystemMessages,label:e.$t(`settings.verboseMessages`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`,"onUpdate:modelValue":t[11]||=e=>f(n).toggleVerboseSystemMessages()},null,8,[`model-value`,`label`])],512),[[D,E.value===`general`]]),a(C(`div`,Vt,[C(`div`,Ht,u(e.$t(`settings.notifications`)),1),C(`div`,Ut,[d(P,{modelValue:Fe.value,"onUpdate:modelValue":t[12]||=e=>Fe.value=e,label:e.$t(`settings.browserNotifications`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`},null,8,[`modelValue`,`label`]),d(P,{modelValue:B.value,"onUpdate:modelValue":t[13]||=e=>B.value=e,label:e.$t(`settings.audioNotifications`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`},null,8,[`modelValue`,`label`])]),C(`div`,Wt,[d(V,{modelValue:Xe.value,"onUpdate:modelValue":t[14]||=e=>Xe.value=e,options:fc.value,label:e.$t(`settings.notificationSound`),disable:!B.value,dark:``,dense:``,outlined:``,"emit-value":``,"map-options":``,color:`indigo-4`,class:`col`},null,8,[`modelValue`,`options`,`label`,`disable`]),d(j,{flat:``,dense:``,color:`indigo-4`,icon:`play_arrow`,label:e.$t(`settings.notificationSoundPreview`),disable:!B.value,onClick:hc},null,8,[`label`,`disable`])]),C(`div`,Gt,[C(`div`,Kt,u(e.$t(`settings.notificationVolume`)),1),d(rt,{modelValue:H.value,"onUpdate:modelValue":t[15]||=e=>H.value=e,min:0,max:1,step:.05,disable:!B.value,dark:``,dense:``,color:`indigo-4`,class:`col`},null,8,[`modelValue`,`disable`]),C(`div`,qt,u(Math.round(H.value*100))+`% `,1)])],512),[[D,E.value===`notifications`]]),a(C(`div`,Jt,[C(`div`,Yt,[C(`div`,Xt,u(e.$t(`voice.sectionRuntime`)),1),d(R),d(j,{flat:``,dense:``,"no-caps":``,size:`sm`,icon:`refresh`,color:`grey-5`,label:f(w)(`common.refresh`),onClick:t[16]||=e=>f(n).fetchVoiceRuntime()},null,8,[`label`])]),C(`div`,Zt,[C(`div`,Qt,[d(O,{name:f(n).voiceRuntime?.available?`check_circle`:`cancel`,color:f(n).voiceRuntime?.available?`green-5`:`red-5`,size:`xs`},null,8,[`name`,`color`]),C(`span`,{class:T([`text-caption`,f(n).voiceRuntime?.available?`text-green-5`:`text-red-5`])},u(f(n).voiceRuntime?.available?f(w)(`voice.runtimeReady`,{command:f(n).voiceRuntime?.command??`whisper-cli`}):f(w)(`voice.runtimeMissing`,{command:f(n).voiceRuntime?.command??`whisper-cli`})),3)]),C(`div`,$t,[d(O,{name:f(n).voiceRuntime?.ffmpegAvailable?`check_circle`:`cancel`,color:f(n).voiceRuntime?.ffmpegAvailable?`green-5`:`red-5`,size:`xs`},null,8,[`name`,`color`]),C(`span`,{class:T([`text-caption`,f(n).voiceRuntime?.ffmpegAvailable?`text-green-5`:`text-red-5`])},u(f(n).voiceRuntime?.ffmpegAvailable?f(w)(`voice.ffmpegReady`):f(w)(`voice.ffmpegMissing`)),3)])]),d(Ne,{dense:``,dark:``,icon:`help_outline`,label:e.$t(`voice.installGuideTitle`),class:`variables-panel rounded-borders q-mt-sm`},{default:r(()=>[C(`div`,en,[C(`div`,tn,u(e.$t(`voice.installGuideIntro`)),1),C(`div`,nn,[C(`a`,rn,u(e.$t(`voice.installLink`)),1)]),C(`div`,an,u(e.$t(`voice.installGuideUbuntuTitle`)),1),t[94]||=C(`pre`,{class:`mono-guide q-mb-sm`},`sudo apt update
|
|
2
|
-
sudo apt install -y cmake build-essential ffmpeg
|
|
3
|
-
git clone https://github.com/ggml-org/whisper.cpp.git
|
|
4
|
-
cd whisper.cpp
|
|
5
|
-
cmake -B build
|
|
6
|
-
cmake --build build -j`,-1),C(`div`,on,u(e.$t(`voice.installGuideBinaryPathHint`)),1),C(`div`,sn,u(e.$t(`voice.installGuideWindowsTitle`)),1),t[95]||=C(`pre`,{class:`mono-guide q-mb-sm`},`# Install CMake + Visual Studio Build Tools (C/C++)
|
|
7
|
-
# Install ffmpeg (choco/scoop)
|
|
8
|
-
where whisper-cli
|
|
9
|
-
where ffmpeg`,-1),C(`div`,null,u(e.$t(`voice.installGuideSettingsHint`)),1)])]),_:1},8,[`label`])],512),[[D,E.value===`voice`]]),a(C(`div`,cn,[C(`div`,ln,u(e.$t(`voice.sectionActivation`)),1),d(P,{modelValue:ds.value,"onUpdate:modelValue":t[17]||=e=>ds.value=e,label:e.$t(`voice.enabled`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption q-mb-sm`},null,8,[`modelValue`,`label`]),C(`div`,un,[C(`div`,dn,[d(V,{modelValue:fs.value,"onUpdate:modelValue":t[18]||=e=>fs.value=e,label:e.$t(`voice.pttKey`),options:[{label:e.$t(`voice.pttAlt`),value:`alt`},{label:e.$t(`voice.pttCtrlSpace`),value:`ctrl+space`}],"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`label`,`options`])]),C(`div`,fn,[d(V,{modelValue:ps.value,"onUpdate:modelValue":t[19]||=e=>ps.value=e,label:e.$t(`voice.language`),options:mc,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`label`])])])],512),[[D,E.value===`voice`]]),a(C(`div`,pn,[C(`div`,mn,u(e.$t(`voice.sectionModels`)),1),d(V,{modelValue:q.value,"onUpdate:modelValue":t[20]||=e=>q.value=e,label:e.$t(`voice.model`),options:pc.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`label`,`options`]),f(n).voiceModelsDir?(i(),x(`div`,hn,[d(O,{name:`folder`,color:`grey-5`,size:`xs`}),C(`span`,gn,u(f(n).voiceModelsDir),1),d(j,{flat:``,dense:``,round:``,size:`xs`,icon:`content_copy`,color:`grey-5`,title:f(w)(`common.copy`),onClick:t[21]||=e=>Hc(f(n).voiceModelsDir)},null,8,[`title`])])):_(``,!0),C(`div`,_n,[(i(!0),x(S,null,c(f(n).voiceModels,t=>(i(),x(`div`,{key:t.name,class:T([`voice-model-row q-pa-sm rounded-borders`,{"voice-model-row--active":t.download}])},[C(`div`,vn,[d(O,{name:t.download?`downloading`:t.installed?`check_circle`:`circle`,color:t.download?`indigo-4`:t.installed?`green-5`:`grey-7`,size:`xs`},null,8,[`name`,`color`]),C(`span`,yn,u(t.name),1),C(`span`,bn,u(Rc(t.installedSizeBytes??t.sizeBytes)),1),d(R),t.download?(i(),h(j,{key:0,flat:``,dense:``,"no-caps":``,size:`sm`,color:`grey-5`,icon:`close`,label:e.$t(`common.cancel`),onClick:e=>Lc(t.name)},null,8,[`label`,`onClick`])):(i(),h(j,{key:1,flat:``,dense:``,"no-caps":``,size:`sm`,color:t.installed?`red-5`:`indigo-4`,icon:t.installed?`delete_outline`:`download`,label:t.installed?e.$t(`voice.delete`):e.$t(`voice.download`),loading:bs.value===t.name,onClick:e=>t.installed?Ic(t.name):Fc(t.name)},null,8,[`color`,`icon`,`label`,`loading`,`onClick`]))]),t.download?(i(),x(`div`,xn,[d(be,{value:t.download.total>0?Math.min(1,t.download.downloaded/t.download.total):0,indeterminate:!t.download.total,color:`indigo-4`,"track-color":`grey-9`,size:`6px`,rounded:``},null,8,[`value`,`indeterminate`]),C(`div`,Sn,[C(`span`,Cn,u(Rc(t.download.downloaded))+` / `+u(Rc(t.download.total)),1),d(R),C(`span`,wn,u(t.download.total>0?`${Math.floor(t.download.downloaded/t.download.total*100)}%`:`—`),1)])])):t.installed?(i(),x(`div`,Tn,u(t.fileName),1)):_(``,!0)],2))),128))])],512),[[D,E.value===`voice`]]),a(C(`div`,En,[C(`div`,Dn,u(e.$t(`voice.sectionAdvanced`)),1),d(Ne,{dense:``,dark:``,icon:`tune`,label:e.$t(`voice.sectionBehavior`),class:`variables-panel rounded-borders q-mb-sm`},{default:r(()=>[C(`div`,On,[C(`div`,kn,[C(`div`,An,u(e.$t(`voice.temperature`)),1),d(rt,{modelValue:gs.value,"onUpdate:modelValue":t[22]||=e=>gs.value=e,min:0,max:1,step:.05,dark:``,dense:``,color:`indigo-4`,class:`col`},null,8,[`modelValue`]),C(`div`,jn,u(gs.value.toFixed(2)),1)]),C(`div`,Mn,u(e.$t(`voice.temperatureHint`)),1),d(N,{modelValue:_s.value,"onUpdate:modelValue":t[23]||=e=>_s.value=e,label:e.$t(`voice.initialPrompt`),type:`textarea`,dense:``,dark:``,outlined:``,rows:2,class:`settings-input`},null,8,[`modelValue`,`label`]),C(`div`,Nn,u(e.$t(`voice.initialPromptHint`)),1),d(P,{modelValue:vs.value,"onUpdate:modelValue":t[24]||=e=>vs.value=e,label:e.$t(`voice.translateToEnglish`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`},null,8,[`modelValue`,`label`]),C(`div`,Pn,u(e.$t(`voice.translateToEnglishHint`)),1),d(P,{modelValue:ys.value,"onUpdate:modelValue":t[25]||=e=>ys.value=e,label:e.$t(`voice.suppressNst`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`},null,8,[`modelValue`,`label`]),C(`div`,Fn,u(e.$t(`voice.suppressNstHint`)),1)])]),_:1},8,[`label`]),d(Ne,{dense:``,dark:``,icon:`terminal`,label:e.$t(`voice.sectionBinaries`),class:`variables-panel rounded-borders`},{default:r(()=>[C(`div`,In,[d(N,{modelValue:ms.value,"onUpdate:modelValue":t[26]||=e=>ms.value=e,label:e.$t(`voice.commandPath`),dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`label`]),d(N,{modelValue:hs.value,"onUpdate:modelValue":t[27]||=e=>hs.value=e,label:e.$t(`voice.ffmpegPath`),dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`label`])])]),_:1},8,[`label`])],512),[[D,E.value===`voice`]]),E.value===`prompts`?(i(),x(`div`,Ln,[C(`div`,Rn,[C(`div`,zn,u(e.$t(`settings.prPromptTemplate`)),1),d(R),d(j,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`grey-5`,icon:`restart_alt`,label:f(w)(`settings.resetToDefault`),loading:W.value===`prPromptTemplate`,disable:W.value!==null&&W.value!==`prPromptTemplate`,onClick:t[28]||=e=>Nc(`prPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),C(`div`,Bn,u(e.$t(`settings.prPromptHint`)),1),d(N,{modelValue:k.value,"onUpdate:modelValue":t[29]||=e=>k.value=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:8,placeholder:e.$t(`settings.prPromptPlaceholder`),class:`settings-input mono-textarea q-mb-md`},null,8,[`modelValue`,`placeholder`]),C(`div`,Vn,[d(Ne,{dense:``,dark:``,icon:`code`,label:e.$t(`settings.availableVariables`),class:`variables-panel rounded-borders`},{default:r(()=>[d(z,{dense:``,dark:``,class:`q-pa-sm`},{default:r(()=>[(i(!0),x(S,null,c(uc.value,e=>(i(),h(F,{key:e.name,dense:``},{default:r(()=>[d(I,null,{default:r(()=>[d(je,{class:`text-caption`,style:{"font-family":`monospace`}},{default:r(()=>[v(u(e.name),1)]),_:2},1024),d(je,{caption:``,class:`text-grey-7`},{default:r(()=>[v(u(e.description),1)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1},8,[`label`])]),C(`div`,Hn,[C(`div`,Un,u(e.$t(`settings.reviewPromptTemplate`)),1),d(R),d(j,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`grey-5`,icon:`restart_alt`,label:f(w)(`settings.resetToDefault`),loading:W.value===`reviewPromptTemplate`,disable:W.value!==null&&W.value!==`reviewPromptTemplate`,onClick:t[30]||=e=>Nc(`reviewPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),C(`div`,Wn,u(e.$t(`settings.prPromptHint`)),1),d(N,{modelValue:de.value,"onUpdate:modelValue":t[31]||=e=>de.value=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:8,placeholder:e.$t(`settings.reviewPromptPlaceholder`),class:`settings-input mono-textarea q-mb-md`},null,8,[`modelValue`,`placeholder`]),C(`div`,Gn,[C(`div`,Kn,u(e.$t(`settings.ciFixPromptTemplate`)),1),d(R),d(j,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`grey-5`,icon:`restart_alt`,label:f(w)(`settings.resetToDefault`),loading:W.value===`ciFixPromptTemplate`,disable:W.value!==null&&W.value!==`ciFixPromptTemplate`,onClick:t[32]||=e=>Nc(`ciFixPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),C(`div`,qn,u(e.$t(`settings.ciFixPromptHint`)),1),d(N,{modelValue:A.value,"onUpdate:modelValue":t[33]||=e=>A.value=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:8,placeholder:e.$t(`settings.ciFixPromptPlaceholder`),class:`settings-input mono-textarea q-mb-md`},null,8,[`modelValue`,`placeholder`]),C(`div`,Jn,[C(`div`,Yn,u(e.$t(`settings.gitConventions`)),1),d(R),d(j,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`grey-5`,icon:`restart_alt`,label:f(w)(`settings.resetToDefault`),loading:W.value===`gitConventions`,disable:W.value!==null&&W.value!==`gitConventions`,onClick:t[34]||=e=>Nc(`gitConventions`)},null,8,[`label`,`loading`,`disable`])]),C(`div`,Xn,u(e.$t(`settings.gitConventionsHint`)),1),d(N,{modelValue:Ce.value,"onUpdate:modelValue":t[35]||=e=>Ce.value=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:8,placeholder:e.$t(`settings.gitConventionsPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])])):_(``,!0),a(C(`div`,Zn,[C(`div`,Qn,u(e.$t(`settings.editorCommand`)),1),C(`div`,$n,u(e.$t(`settings.editorCommandHint`)),1),d(N,{modelValue:M.value,"onUpdate:modelValue":t[36]||=e=>M.value=e,dense:``,dark:``,outlined:``,placeholder:e.$t(`settings.editorCommandPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])],512),[[D,E.value===`general`]]),a(C(`div`,er,[C(`div`,tr,u(e.$t(`settings.fileManagerCommand`)),1),C(`div`,nr,u(e.$t(`settings.fileManagerCommandHint`)),1),d(N,{modelValue:we.value,"onUpdate:modelValue":t[37]||=e=>we.value=e,dense:``,dark:``,outlined:``,placeholder:e.$t(`settings.fileManagerCommandPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])],512),[[D,E.value===`general`]]),a(C(`div`,rr,[C(`div`,ir,u(e.$t(`settings.terminalCommand`)),1),C(`div`,ar,u(e.$t(`settings.terminalCommandHint`)),1),d(N,{modelValue:L.value,"onUpdate:modelValue":t[38]||=e=>L.value=e,dense:``,dark:``,outlined:``,placeholder:e.$t(`settings.terminalCommandPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])],512),[[D,E.value===`general`]]),a(C(`div`,or,[C(`div`,sr,u(e.$t(`settings.mcpSelection`)),1),C(`div`,cr,u(e.$t(`settings.mcpSelectionHint`)),1),C(`div`,lr,[C(`div`,ur,u(e.$t(`settings.notionMcp`)),1),d(V,{modelValue:Io.value,"onUpdate:modelValue":t[39]||=e=>Io.value=e,options:dc.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])]),C(`div`,dr,[C(`div`,fr,u(e.$t(`settings.sentryMcp`)),1),d(V,{modelValue:Lo.value,"onUpdate:modelValue":t[40]||=e=>Lo.value=e,options:dc.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])])],512),[[D,E.value===`notion`||E.value===`sentry`]]),E.value===`notion`?(i(),x(`div`,pr,[C(`div`,mr,u(e.$t(`settings.notionStatus`)),1),C(`div`,hr,u(e.$t(`settings.notionStatusHint`)),1),C(`div`,gr,[C(`div`,_r,u(e.$t(`settings.notionStatusProperty`)),1),d(N,{modelValue:Ze.value,"onUpdate:modelValue":t[41]||=e=>Ze.value=e,dense:``,dark:``,outlined:``,placeholder:e.$t(`settings.notionStatusPropertyPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),C(`div`,vr,[C(`div`,yr,u(e.$t(`settings.notionInProgressStatus`)),1),d(N,{modelValue:Qe.value,"onUpdate:modelValue":t[42]||=e=>Qe.value=e,dense:``,dark:``,outlined:``,placeholder:e.$t(`settings.notionInProgressStatusPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),C(`div`,br,[C(`div`,xr,u(f(w)(`settings.notionInitialPrompt`)),1),d(R),d(j,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`grey-5`,icon:`restart_alt`,label:f(w)(`settings.resetToDefault`),loading:W.value===`notionInitialPromptTemplate`,disable:W.value!==null&&W.value!==`notionInitialPromptTemplate`,onClick:t[43]||=e=>Nc(`notionInitialPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),C(`div`,Sr,u(f(w)(`settings.notionInitialPrompt.help`,{variables:`{ticket_id}, {notion_url}, {notion_file_path}`})),1),d(N,{modelValue:st.value,"onUpdate:modelValue":t[44]||=e=>st.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])])):_(``,!0),a(C(`div`,Cr,[C(`div`,wr,u(e.$t(`settings.notionAssignee`)),1),C(`div`,Tr,u(e.$t(`settings.notionAssigneeHint`)),1),C(`div`,Er,[C(`div`,Dr,u(e.$t(`settings.notionAssigneeProperty`)),1),d(N,{modelValue:$e.value,"onUpdate:modelValue":t[45]||=e=>$e.value=e,dense:``,dark:``,outlined:``,placeholder:e.$t(`settings.notionAssigneePropertyPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),C(`div`,Or,[C(`div`,kr,[C(`div`,Ar,u(e.$t(`settings.notionUserId`)),1),d(j,{flat:``,dense:``,"no-caps":``,size:`sm`,icon:`refresh`,color:`grey-5`,loading:tt.value,label:e.$t(`settings.notionUsersRefresh`),onClick:t[46]||=e=>ot(!0)},null,8,[`loading`,`label`])]),et.value.length>0?(i(),h(V,{key:0,modelValue:U.value,"onUpdate:modelValue":t[47]||=e=>U.value=e,options:it.value,"emit-value":``,"map-options":``,clearable:``,dense:``,dark:``,outlined:``,hint:e.$t(`settings.notionUserIdHint`),class:`settings-input`},{option:r(e=>[d(F,m(l(e.itemProps)),{default:r(()=>[d(I,{avatar:``},{default:r(()=>[d(he,{size:`24px`},{default:r(()=>[e.opt.avatarUrl?(i(),x(`img`,{key:0,src:e.opt.avatarUrl,alt:e.opt.label},null,8,jr)):(i(),h(O,{key:1,name:`person`,size:`20px`}))]),_:2},1024)]),_:2},1024),d(I,null,{default:r(()=>[d(je,null,{default:r(()=>[v(u(e.opt.name),1)]),_:2},1024),d(je,{caption:``},{default:r(()=>[v(u(e.opt.email),1)]),_:2},1024)]),_:2},1024)]),_:2},1040)]),_:1},8,[`modelValue`,`options`,`hint`])):tt.value?(i(),x(`div`,Mr,u(e.$t(`settings.notionUsersLoading`)),1)):(i(),x(S,{key:2},[nt.value?(i(),x(`div`,Nr,u(e.$t(`settings.notionUsersLoadFailed`,{error:nt.value})),1)):_(``,!0),d(N,{modelValue:U.value,"onUpdate:modelValue":t[48]||=e=>U.value=e,dense:``,dark:``,outlined:``,placeholder:e.$t(`settings.notionUserIdPlaceholder`),hint:nt.value?e.$t(`settings.notionUsersManualFallback`):e.$t(`settings.notionUserIdHint`),class:`settings-input`},null,8,[`modelValue`,`placeholder`,`hint`])],64))])],512),[[D,E.value===`notion`]]),E.value===`sentry`?(i(),x(`div`,Pr,[C(`div`,Fr,u(f(w)(`settings.sentryIntegration`)),1),C(`div`,Ir,[C(`div`,Lr,u(f(w)(`settings.sentryInitialPrompt`)),1),d(R),d(j,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`grey-5`,icon:`restart_alt`,label:f(w)(`settings.resetToDefault`),loading:W.value===`sentryInitialPromptTemplate`,disable:W.value!==null&&W.value!==`sentryInitialPromptTemplate`,onClick:t[49]||=e=>Nc(`sentryInitialPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),C(`div`,Rr,u(f(w)(`settings.sentryInitialPrompt.help`,{variables:`{issue_id}, {sentry_url}, {sentry_file_path}`})),1),d(N,{modelValue:ct.value,"onUpdate:modelValue":t[50]||=e=>ct.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])])):_(``,!0),a(C(`div`,zr,[C(`div`,Br,u(e.$t(`settings.tagsTitle`)),1),C(`div`,Vr,u(e.$t(`settings.tagsHint`)),1),d(V,{modelValue:Ro.value,"onUpdate:modelValue":t[51]||=e=>Ro.value=e,label:e.$t(`settings.tagsLabel`),dark:``,outlined:``,multiple:``,"use-input":``,"use-chips":``,"new-value-mode":`add-unique`,"hide-dropdown-icon":``,"input-debounce":`0`,class:`settings-input`},null,8,[`modelValue`,`label`])],512),[[D,E.value===`general`]]),a(C(`div`,Hr,[C(`div`,Ur,u(e.$t(`settings.branchPrefixesTitle`)),1),C(`div`,Wr,u(e.$t(`settings.branchPrefixesHint`)),1),G.value.length>0?(i(),h(z,{key:0,bordered:``,separator:``,class:`rounded-borders q-mb-sm`},{default:r(()=>[(i(!0),x(S,null,c(G.value,(t,n)=>(i(),h(F,{key:t},{default:r(()=>[d(I,null,{default:r(()=>[d(je,{class:`cursor-pointer`},{default:r(()=>[v(u(t)+`/ `,1),d(at,{"model-value":t,"auto-save":``,onSave:e=>ns(n,e)},{default:r(e=>[d(N,{modelValue:e.value,"onUpdate:modelValue":t=>e.value=t,dense:``,dark:``,autofocus:``,onKeyup:te(e.set,[`enter`])},null,8,[`modelValue`,`onUpdate:modelValue`,`onKeyup`])]),_:1},8,[`model-value`,`onSave`]),d(Me,null,{default:r(()=>[v(u(e.$t(`settings.branchPrefixesEditHint`)),1)]),_:1})]),_:2},1024)]),_:2},1024),d(I,{side:``},{default:r(()=>[C(`div`,Gr,[d(j,{flat:``,dense:``,round:``,size:`sm`,icon:`keyboard_arrow_up`,color:`grey-6`,disable:n===0,title:e.$t(`settings.branchPrefixesMoveUp`),onClick:e=>rs(n,-1)},null,8,[`disable`,`title`,`onClick`]),d(j,{flat:``,dense:``,round:``,size:`sm`,icon:`keyboard_arrow_down`,color:`grey-6`,disable:n===G.value.length-1,title:e.$t(`settings.branchPrefixesMoveDown`),onClick:e=>rs(n,1)},null,8,[`disable`,`title`,`onClick`]),d(j,{flat:``,dense:``,round:``,size:`sm`,icon:`delete`,color:`grey-6`,title:e.$t(`common.delete`),onClick:e=>ts(n)},null,8,[`title`,`onClick`])])]),_:2},1024)]),_:2},1024))),128))]),_:1})):(i(),x(`div`,Kr,u(e.$t(`settings.branchPrefixesEmpty`)),1)),C(`div`,qr,[d(N,{modelValue:zo.value,"onUpdate:modelValue":t[52]||=e=>zo.value=e,label:e.$t(`settings.branchPrefixesAddLabel`),dense:``,dark:``,outlined:``,class:`col`,onKeyup:te(es,[`enter`])},null,8,[`modelValue`,`label`]),d(j,{flat:``,label:e.$t(`common.add`),icon:`add`,color:`primary`,disable:$o(zo.value).length===0,onClick:es},null,8,[`label`,`disable`])])],512),[[D,E.value===`general`]]),a(C(`div`,Jr,[C(`div`,Yr,u(e.$t(`settings.setupScript`)),1),C(`div`,Xr,u(e.$t(`settings.setupScriptHint`)),1),d(N,{modelValue:Bo.value,"onUpdate:modelValue":t[53]||=e=>Bo.value=e,type:`textarea`,dark:``,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:e.$t(`settings.setupScriptPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])],512),[[D,E.value===`scripts`]]),a(C(`div`,Zr,[C(`div`,Qr,u(e.$t(`settings.onboardingTitle`)),1),C(`div`,$r,u(e.$t(`settings.onboardingHint`)),1),d(j,{flat:``,"no-caps":``,icon:`play_circle`,color:`indigo-4`,label:e.$t(`settings.onboardingReplay`),onClick:f(re)},null,8,[`label`,`onClick`])],512),[[D,E.value===`general`]]),a(C(`div`,ei,[C(`div`,ti,u(e.$t(`settings.cleanupScript`)),1),C(`div`,ni,u(e.$t(`settings.cleanupScriptHint`)),1),d(N,{modelValue:Vo.value,"onUpdate:modelValue":t[54]||=e=>Vo.value=e,type:`textarea`,dark:``,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:e.$t(`settings.cleanupScriptPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`]),C(`div`,ri,u(e.$t(`settings.cleanupScriptMode`)),1),d(ke,{modelValue:Ho.value,"onUpdate:modelValue":t[55]||=e=>Ho.value=e,options:[{label:e.$t(`settings.cleanupScriptMode.idle`),value:`idle`},{label:e.$t(`settings.cleanupScriptMode.noTasks`),value:`no-tasks`}],type:`radio`,color:`indigo-4`,dense:``},null,8,[`modelValue`,`options`]),d(Te,{modelValue:Uo.value,"onUpdate:modelValue":t[56]||=e=>Uo.value=e,label:e.$t(`settings.cleanupScriptOnlyOnChanges`),dark:``,dense:``,color:`indigo-4`,class:`q-mt-sm`},null,8,[`modelValue`,`label`])],512),[[D,E.value===`scripts`]]),a(C(`div`,ii,[C(`div`,ai,u(e.$t(`settings.archiveScript`)),1),C(`div`,oi,u(e.$t(`settings.archiveScriptHint`)),1),d(N,{modelValue:Wo.value,"onUpdate:modelValue":t[57]||=e=>Wo.value=e,type:`textarea`,dark:``,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:e.$t(`settings.archiveScriptPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])],512),[[D,E.value===`scripts`]]),a(C(`div`,si,[C(`div`,ci,[C(`div`,li,u(e.$t(`settings.changeSourceBranchScript`)),1),d(j,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`primary`,icon:`restart_alt`,label:e.$t(`settings.changeSourceBranchScript.resetDefault`),onClick:t[58]||=e=>Cs(`global`)},null,8,[`label`])]),C(`div`,ui,u(e.$t(`settings.changeSourceBranchScript.help`)),1),C(`pre`,di,u(e.$t(`settings.changeSourceBranchScript.envHelp`)),1),d(N,{modelValue:Go.value,"onUpdate:modelValue":t[59]||=e=>Go.value=e,type:`textarea`,dark:``,outlined:``,"input-style":{minHeight:`400px`,maxHeight:`600px`},placeholder:e.$t(`settings.changeSourceBranchScript.placeholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])],512),[[D,E.value===`scripts`]]),a(C(`div`,fi,[C(`div`,pi,u(e.$t(`settings.worktreesTitle`)),1),C(`div`,mi,u(e.$t(`settings.worktreesHint`)),1),d(N,{ref_key:`globalWorktreesPathInput`,ref:Zo,modelValue:Xo.value,"onUpdate:modelValue":t[60]||=e=>Xo.value=e,label:e.$t(`settings.worktreesPathLabel`),dense:``,dark:``,outlined:``,placeholder:f(pe),rules:Ts,"lazy-rules":``,class:`settings-input`},null,8,[`modelValue`,`label`,`placeholder`]),d(P,{modelValue:Qo.value,"onUpdate:modelValue":t[61]||=e=>Qo.value=e,label:e.$t(`settings.worktreesPrefixByProject`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption q-mt-sm`},null,8,[`modelValue`,`label`]),C(`div`,hi,u(e.$t(`settings.worktreesPrefixByProjectHint`)),1),d(ue,{dark:``,class:`q-my-md`}),C(`div`,gi,[d(P,{modelValue:Pe.value,"onUpdate:modelValue":t[62]||=e=>Pe.value=e,label:e.$t(`settings.autoPurgeOnPrMerged`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`},null,8,[`modelValue`,`label`]),C(`div`,_i,u(e.$t(`settings.autoPurgeOnPrMergedHint`)),1)]),d(Ne,{dense:``,dark:``,icon:`help_outline`,label:e.$t(`settings.purgeDocsTitle`),class:`purge-docs q-mt-md rounded-borders`},{default:r(()=>[C(`div`,vi,[C(`div`,yi,u(e.$t(`settings.purgeDocsRestoreTitle`)),1),C(`div`,bi,u(e.$t(`settings.purgeDocsRestoreIntro`)),1),C(`pre`,xi,u(e.$t(`settings.purgeDocsRestoreCommands`)),1),C(`div`,Si,u(e.$t(`settings.purgeDocsRestoreFootnote`)),1),C(`div`,Ci,u(e.$t(`settings.purgeDocsPermissionsTitle`)),1),C(`div`,wi,u(e.$t(`settings.purgeDocsPermissionsIntro`)),1),C(`ul`,Ti,[C(`li`,null,u(e.$t(`settings.purgeDocsPermissionsDocker`)),1),C(`li`,null,u(e.$t(`settings.purgeDocsPermissionsAcl`)),1)]),C(`pre`,Ei,u(e.$t(`settings.purgeDocsPermissionsAclCommand`)),1),C(`div`,Di,u(e.$t(`settings.purgeDocsPermissionsFootnote`)),1),C(`div`,Oi,u(e.$t(`settings.purgeDocsPermissionsRecoverTitle`)),1),C(`div`,ki,u(e.$t(`settings.purgeDocsPermissionsRecoverIntro`)),1),C(`div`,Ai,u(e.$t(`settings.purgeDocsPermissionsRecoverAclIntro`)),1),C(`pre`,ji,u(e.$t(`settings.purgeDocsPermissionsRecoverAclCommand`)),1),C(`div`,Mi,u(e.$t(`settings.purgeDocsPermissionsRecoverChownIntro`)),1),C(`pre`,Ni,u(e.$t(`settings.purgeDocsPermissionsRecoverChownCommand`)),1),C(`div`,Pi,u(e.$t(`settings.purgeDocsPermissionsRecoverFootnote`)),1)])]),_:1},8,[`label`])],512),[[D,E.value===`worktrees`]]),a(C(`div`,Fi,[C(`div`,Ii,u(e.$t(`settings.shareTitle`)),1),C(`div`,Li,u(e.$t(`settings.shareHint`)),1),C(`div`,Ri,[d(j,{label:e.$t(`settings.exportConfig`),icon:`download`,"no-caps":``,outline:``,color:`grey-4`,onClick:Ac},null,8,[`label`]),d(j,{label:e.$t(`settings.importConfig`),icon:`upload`,"no-caps":``,outline:``,color:`grey-4`,onClick:jc},null,8,[`label`]),C(`input`,{ref_key:`importFileInput`,ref:kc,type:`file`,accept:`application/json,.json`,style:{display:`none`},onChange:Mc},null,544)])],512),[[D,E.value===`export`]]),C(`div`,zi,[d(j,{label:e.$t(`common.save`),"no-caps":``,unelevated:``,size:`sm`,color:`primary`,loading:Es.value,class:T({"save-btn--dirty":bc.value}),onClick:Pc},null,8,[`label`,`loading`,`class`])])],512),[[D,se.value]]),a(C(`div`,Bi,[C(`div`,Vi,[C(`div`,Hi,[C(`div`,Ui,[C(`div`,Wi,[C(`div`,Gi,u(e.$t(`settings.configuredProjects`)),1)]),d(ue,{dark:``}),d(z,{dark:``,dense:``,class:`q-py-xs`},{default:r(()=>[(i(!0),x(S,null,c(f(n).projects,(e,t)=>(i(),h(F,{key:e.path,clickable:``,active:J.value===t&&!Y.value,"active-class":`project-item--active`,class:`project-item q-mx-xs rounded-borders`,style:{"min-height":`40px`},onClick:e=>Kc(t)},{default:r(()=>[d(I,null,{default:r(()=>[d(je,{class:`text-body2 text-grey-3`},{default:r(()=>[v(u(qc(e)),1)]),_:2},1024),d(je,{caption:``,class:`text-grey-7 ellipsis`,style:{"font-size":`11px`,"font-family":`monospace`}},{default:r(()=>[v(u(e.path),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,[`active`,`onClick`]))),128))]),_:1}),f(n).projects.length===0&&!f(n).loading?(i(),x(`div`,Ki,u(e.$t(`settings.noProjects`)),1)):_(``,!0),d(ue,{dark:``}),C(`div`,qi,[d(j,{"data-tour":`settings-card-projects`,label:e.$t(`settings.addProject`),icon:`add`,"no-caps":``,flat:``,dense:``,class:`full-width`,color:`indigo-4`,onClick:Gc},null,8,[`label`])])])]),C(`div`,Ji,[C(`div`,Yi,[$.value||Y.value?(i(),x(S,{key:0},[C(`div`,Xi,[C(`div`,Zi,u(Y.value?e.$t(`settings.newProject`):e.$t(`settings.editProject`)),1),d(R),Y.value?_(``,!0):(i(),h(j,{key:0,label:e.$t(`common.delete`),icon:`delete_outline`,"no-caps":``,flat:``,dense:``,size:`sm`,color:`red-5`,loading:Vs.value,onClick:Wc},null,8,[`label`,`loading`]))]),d(ue,{dark:``,class:`q-mb-md`}),Y.value&&f(n).projects.length>0?(i(),x(`div`,Qi,[C(`div`,$i,u(e.$t(`settings.copyFrom`)),1),d(V,{"model-value":Os.value,options:As.value,"option-value":`value`,"option-label":`label`,"emit-value":``,"map-options":``,clearable:``,dense:``,dark:``,outlined:``,placeholder:e.$t(`settings.copyFromPlaceholder`),class:`settings-input`,"onUpdate:modelValue":Ns},null,8,[`model-value`,`options`,`placeholder`]),C(`div`,ea,u(e.$t(`settings.copyFromHint`)),1)])):_(``,!0),C(`div`,ta,[C(`div`,na,u(e.$t(`settings.projectGroup.identity`)),1),C(`div`,ra,[C(`div`,ia,u(e.$t(`settings.projectPath`)),1),d(N,{modelValue:X.value.path,"onUpdate:modelValue":t[64]||=e=>X.value.path=e,dense:``,dark:``,outlined:``,readonly:!Y.value,placeholder:e.$t(`settings.projectPathPlaceholder`),class:T([`settings-input`,{"readonly-input":!Y.value}])},y({_:2},[Y.value?{name:`append`,fn:r(()=>[d(j,{flat:``,dense:``,round:``,size:`sm`,icon:`folder_open`,color:`grey-5`,onClick:t[63]||=e=>qo.value=!0},{default:r(()=>[d(Me,null,{default:r(()=>[v(u(e.$t(`folderPicker.title`)),1)]),_:1})]),_:1})]),key:`0`}:void 0]),1032,[`modelValue`,`readonly`,`placeholder`,`class`])]),C(`div`,aa,[C(`div`,oa,u(e.$t(`settings.displayName`)),1),d(N,{modelValue:X.value.displayName,"onUpdate:modelValue":t[65]||=e=>X.value.displayName=e,dense:``,dark:``,outlined:``,placeholder:e.$t(`settings.displayNamePlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),C(`div`,null,[C(`div`,sa,u(e.$t(`settings.projectColor`)),1),C(`div`,ca,[(i(!0),x(S,null,c(f(We),e=>(i(),h(Ie,{key:e,dense:``,clickable:``,color:e,icon:X.value.color===e?`check`:void 0,"text-color":`white`,onClick:t=>X.value.color=e},null,8,[`color`,`icon`,`onClick`]))),128)),d(j,{flat:``,dense:``,"no-caps":``,size:`xs`,label:e.$t(`settings.projectColorClear`),color:`grey-5`,disable:!X.value.color,onClick:t[66]||=e=>X.value.color=null},null,8,[`label`,`disable`])]),C(`div`,la,u(X.value.color??e.$t(`settings.projectColorDefault`)),1)])]),C(`div`,ua,[C(`div`,da,u(e.$t(`settings.projectGroup.defaults`)),1),C(`div`,fa,[C(`div`,pa,u(e.$t(`settings.defaultSourceBranch`)),1),d(V,{modelValue:X.value.defaultSourceBranch,"onUpdate:modelValue":t[67]||=e=>X.value.defaultSourceBranch=e,options:Jc.value,dense:``,dark:``,outlined:``,"use-input":``,"emit-value":``,loading:zs.value,class:`settings-input`,placeholder:`main`,onFilter:Yc},{"no-option":r(()=>[d(F,null,{default:r(()=>[d(I,{class:`text-grey-6 text-caption`},{default:r(()=>[v(u(X.value.path.trim()?e.$t(`createPage.noBranches`):e.$t(`createPage.enterPath`)),1)]),_:1})]),_:1})]),_:1},8,[`modelValue`,`options`,`loading`])]),C(`div`,ma,[C(`div`,ha,u(e.$t(`settings.defaultModel.project`)),1),d(V,{modelValue:X.value.defaultModel,"onUpdate:modelValue":t[68]||=e=>X.value.defaultModel=e,options:oc.value,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])]),C(`div`,null,[C(`div`,ga,u(e.$t(`settings.forge`)),1),d(V,{modelValue:X.value.forge,"onUpdate:modelValue":t[69]||=e=>X.value.forge=e,options:sc.value,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])])]),C(`div`,_a,[C(`div`,va,u(e.$t(`settings.projectGroup.prompts`)),1),C(`div`,ya,[C(`div`,ba,u(e.$t(`settings.prPromptTemplate.project`)),1),C(`div`,xa,u(f(w)(`settings.initialPrompt.inheritHint`)),1),d(N,{modelValue:X.value.prPromptTemplate,"onUpdate:modelValue":t[70]||=e=>X.value.prPromptTemplate=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:e.$t(`settings.prPromptPlaceholder.project`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),C(`div`,Sa,[C(`div`,Ca,u(e.$t(`settings.reviewPromptTemplate.project`)),1),C(`div`,wa,u(f(w)(`settings.initialPrompt.inheritHint`)),1),d(N,{modelValue:X.value.reviewPromptTemplate,"onUpdate:modelValue":t[71]||=e=>X.value.reviewPromptTemplate=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:e.$t(`settings.reviewPromptPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),C(`div`,Ta,[C(`div`,Ea,u(e.$t(`settings.ciFixPromptTemplate.project`)),1),C(`div`,Da,u(f(w)(`settings.initialPrompt.inheritHint`)),1),d(N,{modelValue:X.value.ciFixPromptTemplate,"onUpdate:modelValue":t[72]||=e=>X.value.ciFixPromptTemplate=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:e.$t(`settings.ciFixPromptPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),C(`div`,Oa,[C(`div`,ka,u(f(w)(`settings.notionInitialPrompt.project`)),1),C(`div`,Aa,u(f(w)(`settings.initialPrompt.inheritHint`)),1),d(N,{modelValue:X.value.notionInitialPromptTemplate,"onUpdate:modelValue":t[73]||=e=>X.value.notionInitialPromptTemplate=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])]),C(`div`,ja,[C(`div`,Ma,u(f(w)(`settings.sentryInitialPrompt.project`)),1),C(`div`,Na,u(f(w)(`settings.initialPrompt.inheritHint`)),1),d(N,{modelValue:X.value.sentryInitialPromptTemplate,"onUpdate:modelValue":t[74]||=e=>X.value.sentryInitialPromptTemplate=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])]),C(`div`,Pa,[C(`div`,Fa,u(e.$t(`settings.gitConventions.project`)),1),C(`div`,Ia,u(f(w)(`settings.initialPrompt.inheritHint`)),1),d(N,{modelValue:X.value.gitConventions,"onUpdate:modelValue":t[75]||=e=>X.value.gitConventions=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`140px`},placeholder:e.$t(`settings.gitConventionsEmpty`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),C(`div`,null,[C(`div`,La,u(e.$t(`settings.taskPromptTemplate`)),1),d(N,{modelValue:X.value.taskPromptTemplate,"onUpdate:modelValue":t[76]||=e=>X.value.taskPromptTemplate=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:e.$t(`settings.taskPromptTemplatePlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`]),C(`div`,Ra,u(e.$t(`settings.taskPromptTemplateHint`)),1)])]),C(`div`,za,[C(`div`,Ba,u(e.$t(`settings.projectGroup.scripts`)),1),C(`div`,Va,[C(`div`,Ha,u(e.$t(`settings.setupScript`)),1),C(`div`,Ua,u(f(w)(`settings.initialPrompt.inheritHint`)),1),d(N,{modelValue:X.value.setupScript,"onUpdate:modelValue":t[77]||=e=>X.value.setupScript=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:e.$t(`settings.setupScriptPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`]),C(`div`,Wa,u(e.$t(`settings.setupScriptHint`)),1)]),C(`div`,Ga,[C(`div`,Ka,u(e.$t(`settings.cleanupScript`)),1),C(`div`,qa,u(f(w)(`settings.initialPrompt.inheritHint`)),1),d(N,{modelValue:X.value.cleanupScript,"onUpdate:modelValue":t[78]||=e=>X.value.cleanupScript=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:e.$t(`settings.cleanupScriptPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`]),C(`div`,Ja,u(e.$t(`settings.cleanupScriptMode`)),1),d(V,{modelValue:X.value.cleanupScriptMode,"onUpdate:modelValue":t[79]||=e=>X.value.cleanupScriptMode=e,options:Yo.value,"emit-value":``,"map-options":``,dense:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])]),C(`div`,null,[C(`div`,Ya,u(e.$t(`settings.archiveScript`)),1),C(`div`,Xa,u(f(w)(`settings.initialPrompt.inheritHint`)),1),d(N,{modelValue:X.value.archiveScript,"onUpdate:modelValue":t[80]||=e=>X.value.archiveScript=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:e.$t(`settings.archiveScriptPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),C(`div`,null,[C(`div`,Za,[C(`div`,Qa,u(e.$t(`settings.changeSourceBranchScript`)),1),d(j,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`primary`,icon:`restart_alt`,label:e.$t(`settings.changeSourceBranchScript.resetDefault`),onClick:t[81]||=e=>Cs(`project`)},null,8,[`label`])]),C(`div`,$a,u(e.$t(`settings.changeSourceBranchScript.help`)),1),C(`pre`,eo,u(e.$t(`settings.changeSourceBranchScript.envHelp`)),1),d(N,{modelValue:X.value.changeSourceBranchScript,"onUpdate:modelValue":t[82]||=e=>X.value.changeSourceBranchScript=e,type:`textarea`,outlined:``,"input-style":{minHeight:`400px`,maxHeight:`600px`},placeholder:e.$t(`settings.changeSourceBranchScript.placeholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])])]),C(`div`,to,[C(`div`,no,u(e.$t(`settings.devServer`)),1),C(`div`,ro,[C(`div`,io,u(e.$t(`settings.devServerStart`)),1),d(N,{modelValue:X.value.devServer.startCommand,"onUpdate:modelValue":t[83]||=e=>X.value.devServer.startCommand=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`60px`},placeholder:e.$t(`settings.devServerStartPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),C(`div`,null,[C(`div`,ao,u(e.$t(`settings.devServerStop`)),1),d(N,{modelValue:X.value.devServer.stopCommand,"onUpdate:modelValue":t[84]||=e=>X.value.devServer.stopCommand=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`60px`},placeholder:e.$t(`settings.devServerStopPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])])]),C(`div`,oo,[C(`div`,so,u(e.$t(`settings.e2e.title`)),1),C(`div`,co,u(e.$t(`settings.e2e.helpText`)),1),d(V,{modelValue:X.value.e2e.framework,"onUpdate:modelValue":t[85]||=e=>X.value.e2e.framework=e,options:[{label:e.$t(`settings.e2e.frameworkNone`),value:``},{label:`Cypress`,value:`cypress`},{label:`Playwright`,value:`playwright`},{label:`Jest`,value:`jest`},{label:`Vitest`,value:`vitest`},{label:e.$t(`settings.e2e.frameworkOther`),value:`other`}],"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input q-mb-sm`,label:e.$t(`settings.e2e.framework`)},null,8,[`modelValue`,`options`,`label`]),X.value.e2e.framework?(i(),x(S,{key:0},[d(V,{modelValue:X.value.e2e.skill,"onUpdate:modelValue":t[86]||=e=>X.value.e2e.skill=e,options:Fs.value,"use-input":``,"fill-input":``,"hide-selected":``,"hide-dropdown-icon":``,"input-debounce":`200`,"new-value-mode":`add-unique`,dense:``,dark:``,outlined:``,class:`settings-input q-mb-sm`,label:e.$t(`settings.e2e.skill`),placeholder:e.$t(`settings.e2e.skillPlaceholder`),onFilter:Ls},null,8,[`modelValue`,`options`,`label`,`placeholder`]),d(N,{modelValue:X.value.e2e.prompt,"onUpdate:modelValue":t[87]||=e=>X.value.e2e.prompt=e,type:`textarea`,autogrow:``,dense:``,dark:``,outlined:``,class:`settings-input mono-textarea`,label:e.$t(`settings.e2e.prompt`),placeholder:e.$t(`settings.e2e.promptPlaceholder`)},null,8,[`modelValue`,`label`,`placeholder`])],64)):_(``,!0)]),C(`div`,lo,[C(`div`,uo,u(e.$t(`settings.finalization.title`)),1),C(`div`,fo,u(e.$t(`settings.finalization.helpText`)),1),d(N,{modelValue:X.value.finalization.prompt,"onUpdate:modelValue":t[88]||=e=>X.value.finalization.prompt=e,type:`textarea`,autogrow:``,rows:`4`,dense:``,dark:``,outlined:``,class:`settings-input mono-textarea q-mb-sm`,label:e.$t(`settings.finalization.prompt`),placeholder:e.$t(`settings.finalization.promptPlaceholder`)},null,8,[`modelValue`,`label`,`placeholder`])]),C(`div`,po,[d(R),d(j,{label:e.$t(`common.save`),"no-caps":``,unelevated:``,size:`sm`,color:`primary`,loading:Bs.value,class:T({"save-btn--dirty":xc.value}),onClick:Uc},null,8,[`label`,`loading`,`class`])])],64)):(i(),x(`div`,mo,[d(O,{name:`folder_open`,size:`48px`,color:`grey-7`,class:`q-mb-md`}),C(`div`,ho,u(e.$t(`settings.selectProject`)),1)]))])])])],512),[[D,E.value===`projects`]]),a(C(`div`,go,[C(`div`,_o,[C(`div`,vo,[C(`div`,yo,u(e.$t(`templates.title`)),1),C(`div`,bo,[d(j,{flat:``,color:`grey-4`,icon:`restart_alt`,label:e.$t(`templates.reloadDefaults`),dense:``,"no-caps":``,loading:qs.value,onClick:$s},{default:r(()=>[d(Me,null,{default:r(()=>[v(u(e.$t(`templates.reloadDefaultsHint`)),1)]),_:1})]),_:1},8,[`label`,`loading`]),d(j,{color:`primary`,icon:`add`,label:e.$t(`templates.newTemplate`),dense:``,"no-caps":``,onClick:Xs},null,8,[`label`])])]),d(ue,{dark:``,class:`q-mb-md`}),Js.value.length===0?(i(),x(`div`,xo,u(e.$t(`templates.empty`)),1)):(i(),x(`div`,So,[(i(!0),x(S,null,c(Js.value,t=>(i(),h(De,{key:t.slug,dark:``,flat:``,bordered:``,class:`q-pa-md template-card`},{default:r(()=>[C(`div`,Co,[C(`div`,wo,[C(`div`,To,` /`+u(t.slug),1),C(`div`,Eo,u(t.description),1)]),C(`div`,Do,[f(p).isDefault(t.slug)?(i(),h(j,{key:0,flat:``,dense:``,round:``,size:`sm`,icon:`settings_backup_restore`,color:`grey-5`,onClick:e=>tc(t)},{default:r(()=>[d(Me,null,{default:r(()=>[v(u(e.$t(`templates.resetToDefault`)),1)]),_:1})]),_:1},8,[`onClick`])):_(``,!0),d(j,{flat:``,dense:``,round:``,size:`sm`,icon:`edit`,color:`grey-5`,onClick:e=>Zs(t)},{default:r(()=>[d(Me,null,{default:r(()=>[v(u(e.$t(`templates.editTemplate`)),1)]),_:1})]),_:1},8,[`onClick`]),d(j,{flat:``,dense:``,round:``,size:`sm`,icon:`delete`,color:`red-4`,onClick:e=>ec(t)},{default:r(()=>[d(Me,null,{default:r(()=>[v(u(e.$t(`templates.deleteTemplate`)),1)]),_:1})]),_:1},8,[`onClick`])])])]),_:2},1024))),128))])),C(`div`,Oo,u(e.$t(`templates.filePath`,{path:`~/.config/kobo/templates.json`})),1)])],512),[[D,E.value===`templates`]])])]),d(ie,{name:`save-bar`},{default:r(()=>[Sc.value?(i(),x(`div`,ko,[C(`span`,Ao,u(e.$t(`settings.unsavedChanges`)),1),d(j,{dense:``,"no-caps":``,unelevated:``,class:`settings-savebar__action`,loading:Cc.value,label:e.$t(`common.save`),onClick:wc},null,8,[`loading`,`label`])])):_(``,!0)]),_:1})]),d(Ee,{modelValue:Hs.value,"onUpdate:modelValue":t[92]||=e=>Hs.value=e,persistent:``},{default:r(()=>[d(De,{dark:``,style:{"min-width":`560px`,"max-width":`800px`,width:`80vw`}},{default:r(()=>[d(Ae,null,{default:r(()=>[C(`div`,jo,u(Z.value===null?e.$t(`templates.newTemplate`):e.$t(`templates.editTemplate`)),1)]),_:1}),d(Ae,{class:`q-gutter-md`},{default:r(()=>[d(N,{modelValue:Us.value,"onUpdate:modelValue":t[89]||=e=>Us.value=e,label:e.$t(`templates.slug`),hint:e.$t(`templates.slugHint`),dark:``,dense:``,prefix:`/`,disable:Z.value!==null,rules:[t=>/^[a-z0-9][a-z0-9-]{0,63}$/.test(t)||e.$t(`templates.slugInvalid`)],"lazy-rules":``},null,8,[`modelValue`,`label`,`hint`,`disable`,`rules`]),d(N,{modelValue:Ws.value,"onUpdate:modelValue":t[90]||=e=>Ws.value=e,label:e.$t(`templates.description`),hint:e.$t(`templates.descriptionHint`),dark:``,dense:``,counter:``,maxlength:`120`,rules:[e=>e&&e.trim().length>0||``]},null,8,[`modelValue`,`label`,`hint`,`rules`]),d(N,{modelValue:Gs.value,"onUpdate:modelValue":t[91]||=e=>Gs.value=e,label:e.$t(`templates.content`),hint:e.$t(`templates.contentHint`),dark:``,dense:``,type:`textarea`,autogrow:``,counter:``,maxlength:`4096`,rules:[e=>e&&e.trim().length>0||``]},null,8,[`modelValue`,`label`,`hint`,`rules`]),d(Ne,{dense:``,"dense-toggle":``,label:e.$t(`templates.availableVars`),"header-class":`text-grey-6 text-caption q-pa-none`,style:{"font-size":`11px`}},{default:r(()=>[C(`div`,Mo,[(i(),x(S,null,c(Ys,e=>C(`div`,{key:e,class:`text-grey-5 q-mb-xs`},u(e),1)),64))])]),_:1},8,[`label`]),Q.value?(i(),x(`div`,No,u(Q.value),1)):_(``,!0)]),_:1}),d(ye,{align:`right`},{default:r(()=>[a(d(j,{flat:``,label:e.$t(`common.cancel`)},null,8,[`label`]),[[Le]]),d(j,{flat:``,color:`primary`,label:Z.value===null?e.$t(`templates.create`):e.$t(`templates.save`),loading:Ks.value,onClick:Qs},null,8,[`label`,`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),d(lt,{modelValue:qo.value,"onUpdate:modelValue":t[93]||=e=>qo.value=e,"initial-path":X.value.path,onSelect:Jo},null,8,[`modelValue`,`initial-path`])]),_:1}))}}),[[`__scopeId`,`data-v-d380b94e`]]);export{W as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.settings-page.q-page[data-v-d380b94e]{background-color:var(--kobo-bg);min-height:100vh;padding:0;position:relative}.purge-docs[data-v-d380b94e]{background-color:#ffffff05;border:1px solid #ffffff0f}.purge-docs-code[data-v-d380b94e]{font-family:var(--kobo-font-mono,monospace);color:#cfcfe0;white-space:pre-wrap;word-break:break-all;background-color:#00000059;border:1px solid #ffffff0f;border-radius:4px;margin:6px 0;padding:8px 10px;font-size:11px}.settings-layout[data-v-d380b94e]{align-items:stretch;display:flex;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.settings-nav[data-v-d380b94e]{background-color:var(--kobo-surface);border-right:1px solid var(--kobo-border-subtle);flex-shrink:0;width:240px;padding:24px 12px;overflow-y:auto}.settings-nav__title[data-v-d380b94e]{font-family:var(--kobo-font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--kobo-text-3);margin-bottom:16px;padding:0 12px;font-size:11px;font-weight:600}.settings-nav__list[data-v-d380b94e]{padding:0}.settings-nav__item[data-v-d380b94e]{border-radius:var(--kobo-radius-sm);color:var(--kobo-text-2);min-height:30px;transition:background-color var(--kobo-duration-micro) var(--kobo-ease-out), color var(--kobo-duration-micro) var(--kobo-ease-out);padding:6px 12px;font-size:13px;font-weight:500}.settings-nav__item[data-v-d380b94e]:hover{background-color:var(--kobo-hover);color:var(--kobo-text)}.settings-nav__item--active[data-v-d380b94e]{background-color:var(--kobo-hover);color:var(--kobo-text);position:relative}.settings-nav__item--active[data-v-d380b94e]:before{content:"";background-color:var(--kobo-accent);border-radius:1px;width:2px;position:absolute;top:6px;bottom:6px;left:-8px}.settings-nav__icon[data-v-d380b94e]{min-width:24px;color:inherit}.settings-nav__label[data-v-d380b94e]{padding-left:4px}.settings-content[data-v-d380b94e]{flex:1;min-width:0;padding:24px 32px 80px;overflow-y:auto}.settings-content__header[data-v-d380b94e]{border-bottom:1px solid var(--kobo-border-subtle);background-color:var(--kobo-bg);z-index:2;margin-top:-24px;margin-bottom:24px;padding-top:24px;padding-bottom:16px;position:sticky;top:-24px}.settings-content__title[data-v-d380b94e]{font-family:var(--kobo-font-sans);color:var(--kobo-text);margin:0;font-size:22px;font-weight:600;line-height:1.2}.settings-panels[data-v-d380b94e]{background:0 0}.settings-global-wrap[data-v-d380b94e]{display:block}.settings-card[data-v-d380b94e]{background:var(--kobo-surface);border:1px solid var(--kobo-border-subtle);border-radius:var(--kobo-radius-md)}.settings-subcard[data-v-d380b94e]{background:var(--kobo-surface);border:1px solid var(--kobo-border-subtle);border-radius:var(--kobo-radius-md);margin-bottom:16px}.voice-model-row[data-v-d380b94e]{background:var(--kobo-surface-2);border:1px solid var(--kobo-border-subtle);transition:border-color var(--kobo-duration-short) var(--kobo-ease-out)}.voice-model-row--active[data-v-d380b94e]{border-color:var(--kobo-accent)}.voice-models-dir[data-v-d380b94e]{background:var(--kobo-surface-2);border:1px solid var(--kobo-border-subtle);border-radius:var(--kobo-radius-sm);padding:6px 10px}.template-card[data-v-d380b94e]{background:var(--kobo-surface);border:1px solid var(--kobo-border-subtle)}.settings-input[data-v-d380b94e] .q-field__control{background:var(--kobo-surface-2);border-color:var(--kobo-border-subtle)}.settings-input[data-v-d380b94e] .q-field__native,.settings-input[data-v-d380b94e] input,.settings-input[data-v-d380b94e] textarea{color:var(--kobo-text)}.settings-input[data-v-d380b94e] .q-field__label{color:var(--kobo-text-3)}.mono-textarea[data-v-d380b94e] textarea{font-family:var(--kobo-font-mono);font-size:13px}.mono-guide[data-v-d380b94e]{white-space:pre-wrap;background:var(--kobo-surface-2);border:1px solid var(--kobo-border-subtle);border-radius:var(--kobo-radius-sm);font-family:var(--kobo-font-mono);color:var(--kobo-text-2);margin:0;padding:8px 10px;font-size:12px;line-height:1.35}.readonly-input[data-v-d380b94e] .q-field__control{background:var(--kobo-bg)}.readonly-input[data-v-d380b94e] input{color:var(--kobo-text-3)}.project-list-col[data-v-d380b94e]{flex-shrink:0;align-self:flex-start;width:30%;min-width:200px;max-width:280px;max-height:calc(100vh - 140px);position:sticky;top:0;overflow:hidden}.project-form-col[data-v-d380b94e]{flex:1;min-width:0}.project-item[data-v-d380b94e]:hover{background-color:#ffffff08}.settings-sticky-actions[data-v-d380b94e]{display:none}.project-item--active[data-v-d380b94e]{border-left:2px solid var(--kobo-accent);background-color:var(--kobo-hover)!important}.save-btn--dirty[data-v-d380b94e]{border-radius:var(--kobo-radius-sm);transition:box-shadow var(--kobo-duration-short) var(--kobo-ease-out);box-shadow:0 0 0 2px var(--kobo-accent)!important}.settings-savebar[data-v-d380b94e]{z-index:30;background-color:var(--kobo-surface);border-top:1px solid var(--kobo-border-subtle);justify-content:space-between;align-items:center;gap:16px;padding:12px 32px;display:flex;position:absolute;bottom:0;left:240px;right:0}.settings-savebar__label[data-v-d380b94e]{font-family:var(--kobo-font-sans);color:var(--kobo-text-2);font-size:13px;font-weight:500}.settings-savebar__action[data-v-d380b94e]{border-radius:var(--kobo-radius-sm);padding:6px 16px;font-size:13px;font-weight:500;background-color:var(--kobo-accent)!important;color:var(--kobo-accent-fg)!important}.settings-savebar__action[data-v-d380b94e]:hover{background-color:var(--kobo-accent-hover)!important}.save-bar-enter-active[data-v-d380b94e],.save-bar-leave-active[data-v-d380b94e]{transition:transform var(--kobo-duration-medium) var(--kobo-ease-out), opacity var(--kobo-duration-medium) var(--kobo-ease-out)}.save-bar-enter-from[data-v-d380b94e],.save-bar-leave-to[data-v-d380b94e]{opacity:0;transform:translateY(100%)}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{A as e,C as t,E as n,F as r,M as i,N as a,O as o,j as s,k as c,w as l}from"./QIcon-BmEX2rXO.js";import{f as u}from"./use-id-BCnfiBjU.js";import{p as d}from"./QTooltip-DyIRS1GH.js";import{n as f,t as p}from"./touch-2Qa-HSDZ.js";function m(e,t,n){let r=c(e),i,a=r.left-t.event.x,o=r.top-t.event.y,s=Math.abs(a),l=Math.abs(o),u=t.direction;u.horizontal===!0&&u.vertical!==!0?i=a<0?`left`:`right`:u.horizontal!==!0&&u.vertical===!0?i=o<0?`up`:`down`:u.up===!0&&o<0?(i=`up`,s>l&&(u.left===!0&&a<0?i=`left`:u.right===!0&&a>0&&(i=`right`))):u.down===!0&&o>0?(i=`down`,s>l&&(u.left===!0&&a<0?i=`left`:u.right===!0&&a>0&&(i=`right`))):u.left===!0&&a<0?(i=`left`,s<l&&(u.up===!0&&o<0?i=`up`:u.down===!0&&o>0&&(i=`down`))):u.right===!0&&a>0&&(i=`right`,s<l&&(u.up===!0&&o<0?i=`up`:u.down===!0&&o>0&&(i=`down`)));let d=!1;if(i===void 0&&n===!1){if(t.event.isFirst===!0||t.event.lastDir===void 0)return{};i=t.event.lastDir,d=!0,i===`left`||i===`right`?(r.left-=a,s=0,a=0):(r.top-=o,l=0,o=0)}return{synthetic:d,payload:{evt:e,touch:t.event.mouse!==!0,mouse:t.event.mouse===!0,position:r,direction:i,isFirst:t.event.isFirst,isFinal:n===!0,duration:Date.now()-t.event.time,distance:{x:s,y:l},offset:{x:a,y:o},delta:{x:r.left-t.event.lastX,y:r.top-t.event.lastY}}}}var h=0,g=r({name:`touch-pan`,beforeMount(r,{value:g,modifiers:_}){if(_.mouse!==!0&&u.has.touch!==!0)return;function v(t,n){_.mouse===!0&&n===!0?a(t):(_.stop===!0&&i(t),_.prevent===!0&&e(t))}let y={uid:`qvtp_`+ h++,handler:g,modifiers:_,direction:p(_),noop:o,mouseStart(e){f(e,y)&&n(e)&&(t(y,`temp`,[[document,`mousemove`,`move`,`notPassiveCapture`],[document,`mouseup`,`end`,`passiveCapture`]]),y.start(e,!0))},touchStart(e){if(f(e,y)){let n=e.target;t(y,`temp`,[[n,`touchmove`,`move`,`notPassiveCapture`],[n,`touchcancel`,`end`,`passiveCapture`],[n,`touchend`,`end`,`passiveCapture`]]),y.start(e)}},start(t,n){if(u.is.firefox===!0&&s(r,!0),y.lastEvt=t,n===!0||_.stop===!0){if(y.direction.all!==!0&&(n!==!0||y.modifiers.mouseAllDir!==!0&&y.modifiers.mousealldir!==!0)){let n=t.type.indexOf(`mouse`)===-1?new TouchEvent(t.type,t):new MouseEvent(t.type,t);t.defaultPrevented===!0&&e(n),t.cancelBubble===!0&&i(n),Object.assign(n,{qKeyEvent:t.qKeyEvent,qClickOutside:t.qClickOutside,qAnchorHandled:t.qAnchorHandled,qClonedBy:t.qClonedBy===void 0?[y.uid]:t.qClonedBy.concat(y.uid)}),y.initialEvent={target:t.target,event:n}}i(t)}let{left:a,top:o}=c(t);y.event={x:a,y:o,time:Date.now(),mouse:n===!0,detected:!1,isFirst:!0,isFinal:!1,lastX:a,lastY:o}},move(e){if(y.event===void 0)return;let t=c(e),n=t.left-y.event.x,r=t.top-y.event.y;if(n===0&&r===0)return;y.lastEvt=e;let i=y.event.mouse===!0,a=()=>{v(e,i);let t;_.preserveCursor!==!0&&_.preservecursor!==!0&&(t=document.documentElement.style.cursor||``,document.documentElement.style.cursor=`grabbing`),i===!0&&document.body.classList.add(`no-pointer-events--children`),document.body.classList.add(`non-selectable`),d(),y.styleCleanup=e=>{if(y.styleCleanup=void 0,t!==void 0&&(document.documentElement.style.cursor=t),document.body.classList.remove(`non-selectable`),i===!0){let t=()=>{document.body.classList.remove(`no-pointer-events--children`)};e===void 0?t():setTimeout(()=>{t(),e()},50)}else e!==void 0&&e()}};if(y.event.detected===!0){y.event.isFirst!==!0&&v(e,y.event.mouse);let{payload:t,synthetic:n}=m(e,y,!1);t!==void 0&&(y.handler(t)===!1?y.end(e):(y.styleCleanup===void 0&&y.event.isFirst===!0&&a(),y.event.lastX=t.position.left,y.event.lastY=t.position.top,y.event.lastDir=n===!0?void 0:t.direction,y.event.isFirst=!1));return}if(y.direction.all===!0||i===!0&&(y.modifiers.mouseAllDir===!0||y.modifiers.mousealldir===!0)){a(),y.event.detected=!0,y.move(e);return}let o=Math.abs(n),s=Math.abs(r);o!==s&&(y.direction.horizontal===!0&&o>s||y.direction.vertical===!0&&o<s||y.direction.up===!0&&o<s&&r<0||y.direction.down===!0&&o<s&&r>0||y.direction.left===!0&&o>s&&n<0||y.direction.right===!0&&o>s&&n>0?(y.event.detected=!0,y.move(e)):y.end(e,!0))},end(e,t){if(y.event!==void 0){if(l(y,`temp`),u.is.firefox===!0&&s(r,!1),t===!0)y.styleCleanup?.(),y.event.detected!==!0&&y.initialEvent!==void 0&&y.initialEvent.target.dispatchEvent(y.initialEvent.event);else if(y.event.detected===!0){y.event.isFirst===!0&&y.handler(m(e===void 0?y.lastEvt:e,y).payload);let{payload:t}=m(e===void 0?y.lastEvt:e,y,!0),n=()=>{y.handler(t)};y.styleCleanup===void 0?n():y.styleCleanup(n)}y.event=void 0,y.initialEvent=void 0,y.lastEvt=void 0}}};r.__qtouchpan=y,_.mouse===!0&&t(y,`main`,[[r,`mousedown`,`mouseStart`,`passive${_.mouseCapture===!0||_.mousecapture===!0?`Capture`:``}`]]),u.has.touch===!0&&t(y,`main`,[[r,`touchstart`,`touchStart`,`passive${_.capture===!0?`Capture`:``}`],[r,`touchmove`,`noop`,`notPassiveCapture`]])},updated(e,t){let n=e.__qtouchpan;n!==void 0&&(t.oldValue!==t.value&&(typeof value!=`function`&&n.end(),n.handler=t.value),n.direction=p(t.modifiers))},beforeUnmount(e){let t=e.__qtouchpan;t!==void 0&&(t.event!==void 0&&t.end(),l(t,`main`),l(t,`temp`),u.is.firefox===!0&&s(e,!1),t.styleCleanup?.(),delete e.__qtouchpan)}});export{g as t};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ActivityFeed-DFMce5VW.js","assets/index-BTVVGg4f.js","assets/vue-i18n-Cq-KgjJC.js","assets/runtime-core.esm-bundler-D_RRiKBh.js","assets/QIcon-BmEX2rXO.js","assets/use-id-BCnfiBjU.js","assets/notifications-BtVr85fZ.js","assets/QBtn-CoU-UC_j.js","assets/QRadio-M9mC5jZy.js","assets/use-checkbox-DnSuDqo2.js","assets/QInput-D0t39uK_.js","assets/QCheckbox-Cq2STfHp.js","assets/QToggle-DBzTAIbK.js","assets/index-ClabzOPc.css","assets/_plugin-vue_export-helper-r4mAJOHR.js","assets/render-chat-markdown-DDQr5Zs5.js","assets/QExpansionItem-_8j8FyQg.js","assets/QItemSection-DRg-QuAD.js","assets/QItemLabel-Btqw0P7M.js","assets/QTooltip-DyIRS1GH.js","assets/QScrollArea-_Mvx2t8o.js","assets/QScrollObserver-C6P7wS4h.js","assets/TouchPan-DZZEI8eo.js","assets/touch-2Qa-HSDZ.js","assets/QSpinnerDots-DspFKwCZ.js","assets/documents-CX2-4fhr.js","assets/ActivityFeed-yUMQhnW4.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{A as e,C as t,D as n,E as r,G as i,I as a,K as o,L as s,N as c,P as l,R as u,St as d,T as f,W as p,_ as m,a as h,at as g,b as _,d as v,et as y,f as b,g as x,i as S,l as C,p as w,r as T,u as E,v as D,y as O,yt as k}from"./runtime-core.esm-bundler-D_RRiKBh.js";import{H as ee,P as te,U as A,V as ne,a as j,i as M,m as N,n as P,r as F,s as re,t as I,v as L}from"./QIcon-BmEX2rXO.js";import{r as ie}from"./use-id-BCnfiBjU.js";import{s as ae}from"./notifications-BtVr85fZ.js";import{n as oe,r as se,t as ce}from"./QRadio-M9mC5jZy.js";import{c as le,t as R}from"./QBtn-CoU-UC_j.js";import{n as z}from"./vue-i18n-Cq-KgjJC.js";import{t as ue}from"./QInput-D0t39uK_.js";import{t as de}from"./QCheckbox-Cq2STfHp.js";import{_ as fe,b as pe,c as B,g as me,i as he,m as V,n as ge,o as _e,r as ve,u as ye,x as be}from"./index-BTVVGg4f.js";import{t as xe}from"./QSpinnerDots-DspFKwCZ.js";import{n as Se,t as Ce}from"./QItemSection-DRg-QuAD.js";import{t as we}from"./QItemLabel-Btqw0P7M.js";import{m as H,t as U}from"./QTooltip-DyIRS1GH.js";import{t as W}from"./_plugin-vue_export-helper-r4mAJOHR.js";import{t as Te}from"./QBadge-DNQSqPg-.js";import{t as G}from"./QSpace-Crcx82On.js";import{t as Ee}from"./QList-Ch5K5W7r.js";import{t as K}from"./QMenu-BXssnk-g.js";import{t as q}from"./ClosePopup-CY16K9Yi.js";import{t as De}from"./use-quasar-sypIWZgU.js";import{t as Oe}from"./QSelect-4UzZxoyw.js";import{a as J,c as ke,i as Y,o as X,r as Ae,s as je,t as Me}from"./engineFeatures-BdTa0rX6.js";import{t as Ne}from"./kobo-commands-DLc7j2_p.js";import{t as Pe}from"./formatters-BKR66G3t.js";import{t as Fe}from"./QPage-3-ah4oor.js";import{a as Ie,i as Le,n as Re,r as ze,t as Be}from"./expand-template-CP-8YIJC.js";import{i as Ve,r as He,t as Ue}from"./permissionModes-r9UZvpVs.js";import{t as We}from"./QBanner-C_TvxtXi.js";var Ge={key:0,class:`row items-center q-pa-xs q-px-sm bg-dark text-grey-5 text-caption`},Ke={key:0,class:`q-ml-xs`},qe=O({__name:`AgentBusyBanner`,setup(e){let{t}=z(),n=B(),r=f(`openDrawerTab`),i=C(()=>n.currentSubagents.filter(e=>e.status===`running`).length),o=C(()=>{let e=n.selectedWorkspace;return e?ye(e.status):!1});function s(){r?.(`subagents`)}return(e,n)=>o.value?(a(),w(`div`,Ge,[m(xe,{size:`14px`,color:`indigo-4`,class:`q-mr-sm`}),E(`span`,null,d(g(t)(`agentBusy.banner`)),1),i.value>0?(a(),w(`span`,Ke,` — `+d(g(t)(`agentBusy.subagentsRunning`,{n:i.value},i.value)),1)):b(``,!0),i.value>0?(a(),w(T,{key:1},[m(G),E(`span`,{class:`text-indigo-4 cursor-pointer`,style:{"text-decoration":`underline`},onClick:s},d(g(t)(`agentBusy.viewSubagents`)),1)],64)):b(``,!0)])):b(``,!0)}}),Je={class:`text-subtitle2`},Ye={class:`text-caption`},Xe=O({__name:`AgentErrorBanner`,props:{workspaceId:{}},setup(e){let t=e,{t:n}=z(),r=V();async function o(){let e=l.value;if(e){r.removeByEventId(t.workspaceId,e);try{await fetch(`/api/workspaces/${t.workspaceId}/events/${e}`,{method:`DELETE`})}catch(e){console.warn(`[agent-error-banner] failed to persist dismiss:`,e)}}}function s(e){let t=e.replace(/\u001b\[\d+m/g,``).trim();return/^warning:/i.test(t)}let c=C(()=>{let e=r.eventsFor(t.workspaceId);for(let t=e.length-1;t>=0;t--){let n=e[t];if(!(n.kind!==`error`||n.category===`quota`)&&!(n.category===`other`&&s(n.message)))return n}return null}),l=C(()=>{let e=r.eventsFor(t.workspaceId),n=r.eventIdsFor(t.workspaceId);for(let t=e.length-1;t>=0;t--){let r=e[t];if(!(r.kind!==`error`||r.category===`quota`)&&!(r.category===`other`&&s(r.message)))return n[t]??null}return null}),u=c;return(e,t)=>g(u)?(a(),v(We,{key:0,class:`bg-negative text-white q-ma-sm`},{avatar:i(()=>[m(I,{name:`error_outline`})]),action:i(()=>[m(R,{flat:``,dense:``,round:``,icon:`close`,"aria-label":g(n)(`common.close`),onClick:o},{default:i(()=>[m(U,null,{default:i(()=>[x(d(g(n)(`common.close`)),1)]),_:1})]),_:1},8,[`aria-label`])]),default:i(()=>[E(`div`,Je,d(g(n)(`agent.error.${g(u).category}`)),1),E(`div`,Ye,d(g(u).message),1)]),_:1})):b(``,!0)}}),Ze=te({name:`StepHeader`,props:{stepper:{},step:{},goToPanel:Function},setup(e,{attrs:n}){let{proxy:{$q:r}}=_(),i=y(null),a=C(()=>e.stepper.modelValue===e.step.name),s=C(()=>{let t=e.step.disable;return t===!0||t===``}),c=C(()=>{let t=e.step.error;return t===!0||t===``}),l=C(()=>{let t=e.step.done;return s.value===!1&&(t===!0||t===``)}),u=C(()=>{let t=e.step.headerNav,n=t===!0||t===``||t===void 0;return s.value===!1&&e.stepper.headerNav&&n}),d=C(()=>e.step.prefix&&(a.value===!1||e.stepper.activeIcon===`none`)&&(c.value===!1||e.stepper.errorIcon===`none`)&&(l.value===!1||e.stepper.doneIcon===`none`)),f=C(()=>{let t=e.step.icon||e.stepper.inactiveIcon;if(a.value===!0){let n=e.step.activeIcon||e.stepper.activeIcon;return n===`none`?t:n||r.iconSet.stepper.active}if(c.value===!0){let n=e.step.errorIcon||e.stepper.errorIcon;return n===`none`?t:n||r.iconSet.stepper.error}if(s.value===!1&&l.value===!0){let n=e.step.doneIcon||e.stepper.doneIcon;return n===`none`?t:n||r.iconSet.stepper.done}return t}),p=C(()=>{let t=c.value===!0?e.step.errorColor||e.stepper.errorColor:void 0;if(a.value===!0){let n=e.step.activeColor||e.stepper.activeColor||e.step.color;return n===void 0?t:n}return t===void 0?s.value===!1&&l.value===!0?e.step.doneColor||e.stepper.doneColor||e.step.color||e.stepper.inactiveColor:e.step.color||e.stepper.inactiveColor:t}),m=C(()=>`q-stepper__tab col-grow flex items-center no-wrap relative-position`+(p.value===void 0?``:` text-${p.value}`)+(c.value===!0?` q-stepper__tab--error q-stepper__tab--error-with-`+(d.value===!0?`prefix`:`icon`):``)+(a.value===!0?` q-stepper__tab--active`:``)+(l.value===!0?` q-stepper__tab--done`:``)+(u.value===!0?` q-stepper__tab--navigation q-focusable q-hoverable`:``)+(s.value===!0?` q-stepper__tab--disabled`:``)),h=C(()=>e.stepper.headerNav===!0?u.value:!1);function g(){i.value?.focus(),a.value===!1&&e.goToPanel(e.step.name)}function v(t){t.keyCode===13&&a.value===!1&&e.goToPanel(e.step.name)}return()=>{let r={class:m.value};u.value===!0&&(r.onClick=g,r.onKeyup=v,Object.assign(r,s.value===!0?{tabindex:-1,"aria-disabled":`true`}:{tabindex:n.tabindex||0}));let a=[t(`div`,{class:`q-focus-helper`,tabindex:-1,ref:i}),t(`div`,{class:`q-stepper__dot row flex-center q-stepper__line relative-position`},[t(`span`,{class:`row flex-center`},[d.value===!0?e.step.prefix:t(I,{name:f.value})])])];if(e.step.title!==void 0&&e.step.title!==null){let n=[t(`div`,{class:`q-stepper__title`},e.step.title)];e.step.caption!==void 0&&e.step.caption!==null&&n.push(t(`div`,{class:`q-stepper__caption`},e.step.caption)),a.push(t(`div`,{class:`q-stepper__label q-stepper__line relative-position`},n))}return o(t(`div`,r,a),[[le,h.value]])}}});function Qe(e){return t(`div`,{class:`q-stepper__step-content`},[t(`div`,{class:`q-stepper__step-inner`},re(e.default))])}var $e={setup(e,{slots:t}){return()=>Qe(t)}},et=te({name:`QStep`,props:{...J,icon:String,color:String,title:{type:String,required:!0},caption:String,prefix:[String,Number],doneIcon:String,doneColor:String,activeIcon:String,activeColor:String,errorIcon:String,errorColor:String,headerNav:{type:Boolean,default:!0},done:Boolean,error:Boolean,onScroll:[Function,Array]},setup(e,{slots:n,emit:r}){let{proxy:{$q:i}}=_(),a=f(L,N);if(a===N)return console.error(`QStep needs to be a child of QStepper`),N;let{getCache:o}=ke(),s=y(null),c=C(()=>a.value.modelValue===e.name),l=C(()=>i.platform.is.ios!==!0&&i.platform.is.chrome===!0||c.value!==!0||a.value.vertical!==!0?{}:{onScroll(t){let{target:n}=t;n.scrollTop>0&&(n.scrollTop=0),e.onScroll!==void 0&&r(`scroll`,t)}}),u=C(()=>typeof e.name==`string`||typeof e.name==`number`?e.name:String(e.name));function d(){let e=a.value.vertical;return e===!0&&a.value.keepAlive===!0?t(S,a.value.keepAliveProps.value,c.value===!0?[t(a.value.needsUniqueKeepAliveWrapper.value===!0?o(u.value,()=>({...$e,name:u.value})):$e,{key:u.value},n.default)]:void 0):e!==!0||c.value===!0?Qe(n):void 0}return()=>t(`div`,{ref:s,class:`q-stepper__step`,role:`tabpanel`,...l.value},a.value.vertical===!0?[t(Ze,{stepper:a.value,step:e,goToPanel:a.value.goToPanel}),a.value.animated===!0?t(H,d):d()]:[d()])}}),tt=te({name:`QStepperNavigation`,setup(e,{slots:n}){return()=>t(`div`,{class:`q-stepper__nav`},re(n.default))}}),nt=/(-\w)/g;function rt(e){let t={};for(let n in e){let r=n.replace(nt,e=>e[1].toUpperCase());t[r]=e[n]}return t}var Z=te({name:`QStepper`,props:{...F,...je,flat:Boolean,bordered:Boolean,alternativeLabels:Boolean,headerNav:Boolean,contracted:Boolean,headerClass:String,inactiveColor:String,inactiveIcon:String,doneIcon:String,doneColor:String,activeIcon:String,activeColor:String,errorIcon:String,errorColor:String},emits:X,setup(e,{slots:n}){let r=P(e,_().proxy.$q),{updatePanelsList:i,isValidPanelName:a,updatePanelIndex:o,getPanelContent:c,getPanels:l,panelDirectives:u,goToPanel:d,keepAliveProps:f,needsUniqueKeepAliveWrapper:p}=Y();s(L,C(()=>({goToPanel:d,keepAliveProps:f,needsUniqueKeepAliveWrapper:p,...e})));let m=C(()=>`q-stepper q-stepper--${e.vertical===!0?`vertical`:`horizontal`}`+(e.flat===!0?` q-stepper--flat`:``)+(e.bordered===!0?` q-stepper--bordered`:``)+(r.value===!0?` q-stepper--dark q-dark`:``)),h=C(()=>`q-stepper__header row items-stretch justify-between q-stepper__header--${e.alternativeLabels===!0?`alternative`:`standard`}-labels`+(e.flat===!1||e.bordered===!0?` q-stepper__header--border`:``)+(e.contracted===!0?` q-stepper__header--contracted`:``)+(e.headerClass===void 0?``:` ${e.headerClass}`));function g(){let r=re(n.message,[]);if(e.vertical===!0){a(e.modelValue)&&o();let i=t(`div`,{class:`q-stepper__content`},re(n.default));return r===void 0?[i]:r.concat(i)}return[t(`div`,{class:h.value},l().map(n=>{let r=rt(n.props);return t(Ze,{key:r.name,stepper:e,step:r,goToPanel:d})})),r,M(`div`,{class:`q-stepper__content q-panel-parent`},c(),`cont`,e.swipeable,()=>u.value)]}return()=>(i(n),t(`div`,{class:m.value},j(n.navigation,g())))}}),Q=`__KOBO_OTHER__`,it=`Other — the user will provide a free-form clarification in their next message. Please wait for their input before proceeding.`;function at(e,t){if(t)return(Array.isArray(e)?e:[]).map(e=>e===`__KOBO_OTHER__`?it:e).join(`, `);let n=Array.isArray(e)?e[0]??``:e;return n===`__KOBO_OTHER__`?it:n}var ot={class:`text-grey-3`},st={key:0,class:`text-grey-6 q-ml-xs`},ct={key:1,class:`text-grey-6 q-ml-xs`},lt=O({__name:`AukqOptionLabel`,props:{label:{},description:{}},setup(e){let t=e,{t:n}=z(),r=C(()=>t.label===Q);return(t,i)=>(a(),w(T,null,[E(`span`,ot,d(r.value?g(n)(`askUserQuestion.otherOption`):e.label),1),r.value?(a(),w(`span`,st,`— `+d(g(n)(`askUserQuestion.otherOptionHint`)),1)):e.description?(a(),w(`span`,ct,`— `+d(e.description),1)):b(``,!0)],64))}}),$={class:`row items-center q-mb-xs`},ut={class:`text-caption text-uppercase text-weight-bold text-amber-4`,style:{"letter-spacing":`0.05em`}},dt={key:0,class:`text-caption text-grey-6 q-mr-sm`},ft={class:`text-body2 text-grey-2 q-mb-sm`},pt={key:0,class:`text-caption text-grey-6 q-mb-xs`},mt={class:`aukq-options column q-gutter-xs`},ht={class:`row items-center q-gutter-sm`},gt={key:3,class:`text-negative text-caption`},_t=W(O({__name:`AskUserQuestionPanel`,props:{workspaceId:{}},setup(e){let t=e,{t:n}=z(),r=B(),s=C(()=>{let e=r.peekPending(t.workspaceId);if(!(!e||e.kind!==`question`))return e}),c=C(()=>s.value?(s.value.input?.questions??[]).map(e=>({...e,options:[...e.options,{label:Q}]})):[]),l=C(()=>c.value[D.value]),f=y({}),h=y({}),_=y(!1),S=y(null),D=y(0),O=y(!1);p(c,e=>{f.value=Object.fromEntries(e.map(e=>[e.question,[]])),h.value=Object.fromEntries(e.map(e=>[e.question,``])),S.value=null,D.value=0,_.value=!1,O.value=!1},{immediate:!0});function ee(e,t){return e.header?e.header:`Q${t+1}`}function te(e){return j(e)?`check`:`help_outline`}function A(e){let t=c.value[e];return t?t.multiSelect?(f.value[t.question]??[]).length>0:!!h.value[t.question]:!1}function j(e){return A(e)&&e<D.value}let M=C(()=>D.value===c.value.length-1),N=C(()=>c.value.every((e,t)=>A(t)));function P(){D.value<c.value.length-1&&(D.value+=1)}function F(){D.value>0&&--D.value}async function re(){if(!_.value){_.value=!0,S.value=null;try{let e={};for(let t of c.value)t.multiSelect?e[t.question]=at(f.value[t.question]??[],!0):e[t.question]=at(h.value[t.question]??``,!1);await r.submitDeferredAnswer(t.workspaceId,e,s.value?.toolCallId)}catch(e){S.value=e instanceof Error?e.message:String(e)}finally{_.value=!1}}}async function L(){if(!_.value){_.value=!0,S.value=null;try{await r.cancelDeferredAnswer(t.workspaceId,`User cancelled the question via the UI`,s.value?.toolCallId)}catch(e){S.value=e instanceof Error?e.message:String(e)}finally{_.value=!1}}}return(e,t)=>s.value?(a(),w(`div`,{key:0,class:k([`ask-user-question-panel q-pa-sm bg-dark text-grey-3`,{collapsed:O.value}])},[E(`div`,$,[m(I,{name:`question_answer`,size:`16px`,color:`amber-4`,class:`q-mr-sm`}),E(`div`,ut,d(g(n)(`askUserQuestion.title`)),1),m(G),c.value.length>1?(a(),w(`span`,dt,d(D.value+1)+` / `+d(c.value.length),1)):b(``,!0),m(R,{icon:O.value?`expand_more`:`expand_less`,flat:``,dense:``,size:`sm`,color:`grey-4`,"aria-label":g(n)(O.value?`askUserQuestion.expand`:`askUserQuestion.collapse`),onClick:t[0]||=e=>O.value=!O.value},{default:i(()=>[m(U,null,{default:i(()=>[x(d(g(n)(O.value?`askUserQuestion.expand`:`askUserQuestion.collapse`)),1)]),_:1})]),_:1},8,[`icon`,`aria-label`])]),l.value?o((a(),v(Z,{key:0,ref:`stepperRef`,modelValue:D.value,"onUpdate:modelValue":t[1]||=e=>D.value=e,flat:``,dark:``,animated:``,"header-nav":``,class:`aukq-stepper bg-transparent`,color:`amber-5`,"active-color":`amber-4`,"done-color":`amber-5`},{navigation:i(()=>[m(tt,null,{default:i(()=>[E(`div`,ht,[D.value>0?(a(),v(R,{key:0,flat:``,dense:``,color:`grey-4`,label:g(n)(`askUserQuestion.previous`),disable:_.value,onClick:F},null,8,[`label`,`disable`])):b(``,!0),M.value?(a(),v(R,{key:2,label:g(n)(`askUserQuestion.submit`),color:`indigo-5`,dense:``,unelevated:``,loading:_.value,disable:!N.value||_.value,onClick:re},null,8,[`label`,`loading`,`disable`])):(a(),v(R,{key:1,label:g(n)(`askUserQuestion.next`),color:`indigo-5`,dense:``,unelevated:``,disable:!A(D.value)||_.value,onClick:P},null,8,[`label`,`disable`])),m(R,{label:g(n)(`askUserQuestion.cancel`),flat:``,dense:``,color:`grey-4`,disable:_.value,onClick:L},{default:i(()=>[m(U,null,{default:i(()=>[x(d(g(n)(`askUserQuestion.cancelTooltip`)),1)]),_:1})]),_:1},8,[`label`,`disable`]),m(G),S.value?(a(),w(`span`,gt,d(S.value),1)):b(``,!0)])]),_:1})]),default:i(()=>[(a(!0),w(T,null,u(c.value,(e,t)=>(a(),v(et,{key:t,name:t,title:ee(e,t),icon:te(t),"active-icon":`edit`,done:j(t),"header-nav":j(t)||t===D.value},{default:i(()=>[E(`div`,ft,d(e.question),1),e.multiSelect?(a(),w(`div`,pt,d(g(n)(`askUserQuestion.multiSelectHint`)),1)):b(``,!0),E(`div`,mt,[e.multiSelect?(a(!0),w(T,{key:0},u(e.options,t=>(a(),v(de,{key:t.label,modelValue:f.value[e.question],"onUpdate:modelValue":t=>f.value[e.question]=t,val:t.label,dark:``,dense:``,color:`indigo-4`,disable:_.value},{default:i(()=>[m(lt,{label:t.label,description:t.description},null,8,[`label`,`description`])]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`val`,`disable`]))),128)):(a(!0),w(T,{key:1},u(e.options,t=>(a(),v(ce,{key:t.label,modelValue:h.value[e.question],"onUpdate:modelValue":t=>h.value[e.question]=t,val:t.label,dark:``,dense:``,color:`indigo-4`,disable:_.value},{default:i(()=>[m(lt,{label:t.label,description:t.description},null,8,[`label`,`description`])]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`val`,`disable`]))),128))])]),_:2},1032,[`name`,`title`,`icon`,`done`,`header-nav`]))),128))]),_:1},8,[`modelValue`])),[[ne,!O.value]]):b(``,!0)],2)):b(``,!0)}}),[[`__scopeId`,`data-v-27ac2145`]]);function vt(e,t){return e===`five_hour`?t(`rateLimitType.fiveHour`):e===`seven_day`?t(`rateLimitType.sevenDay`):e}function yt(e,t){try{let n=new Date(e);return Number.isNaN(n.getTime())?e:n.toLocaleTimeString(t?.locale,{hour:`2-digit`,minute:`2-digit`,hour12:!1,timeZone:t?.timeZone})}catch{return e}}function bt(e,t,n){return e.id===`text-detected`&&e.resetAt?n(`stats.resetsAt`,{value:yt(e.resetAt)}):!e.label||e.label.trim().length===0?n(`stats.usageBucket`,{n:t+1}):vt(e.label,n)}function xt(e){return e<50?`positive`:e<75?`warning`:e<90?`orange`:`negative`}var St={class:`quota-footer`},Ct={key:0,class:`text-grey-7`},wt={class:`text-negative text-weight-medium`},Tt={class:`text-weight-medium q-mb-sm`},Et={class:`text-caption q-mb-sm`},Dt={class:`text-orange text-weight-medium`},Ot={class:`text-weight-medium q-mb-sm`},kt={class:`text-caption text-orange q-mb-sm`},At={class:`text-grey-8`},jt={class:`text-weight-medium q-mb-sm`},Mt={class:`row items-center justify-between q-mb-xs`},Nt={key:0,class:`text-caption q-mt-xs`},Pt={class:`text-caption q-mt-sm`},Ft={class:`row q-gutter-sm q-mt-sm`},It=W(O({__name:`QuotaFooter`,setup(e){let t=B(),{t:n}=z(),r=C(()=>t.currentProviderUsage),o=y(!1),s=C(()=>{let e=r.value;if(!e)return``;try{return new Date(e.fetchedAt).toLocaleTimeString()}catch{return e.fetchedAt}});function c(e,t){let i=r.value?.buckets[t];return i?bt({id:i.id,label:e,usedPct:i.usedPct,resetAt:i.resetsAt},t,n):n(`stats.usageBucket`,{n:t+1})}async function l(){if(!o.value){o.value=!0;try{await t.requestUsageRefresh(`claude-code`)}finally{o.value=!1}}}return(e,t)=>(a(),w(`span`,St,[r.value?r.value.status===`unauthenticated`?(a(),w(T,{key:1},[m(I,{name:`warning`,color:`negative`,size:`14px`,class:`q-mr-xs`}),E(`span`,wt,d(e.$t(`quotaFooter.popover.unauthenticated`)),1),m(K,{anchor:`top right`,self:`bottom right`,class:`q-pa-md quota-menu`},{default:i(()=>[E(`div`,Tt,d(e.$t(`quotaFooter.popover.title`)),1),E(`div`,Et,d(e.$t(`quotaFooter.popover.unauthenticatedHint`)),1),m(R,{flat:``,dense:``,"no-caps":``,size:`sm`,icon:`refresh`,label:e.$t(`quotaFooter.popover.refreshNow`),loading:o.value,disable:o.value,onClick:l},null,8,[`label`,`loading`,`disable`])]),_:1})],64)):r.value.status===`error`?(a(),w(T,{key:2},[m(I,{name:`error_outline`,color:`orange`,size:`14px`,class:`q-mr-xs`}),E(`span`,Dt,d(e.$t(`quotaFooter.popover.error`)),1),m(K,{anchor:`top right`,self:`bottom right`,class:`q-pa-md quota-menu`},{default:i(()=>[E(`div`,Ot,d(e.$t(`quotaFooter.popover.title`)),1),E(`div`,kt,d(r.value.errorMessage),1),m(R,{flat:``,dense:``,"no-caps":``,size:`sm`,icon:`refresh`,label:e.$t(`quotaFooter.popover.refreshNow`),loading:o.value,disable:o.value,onClick:l},null,8,[`label`,`loading`,`disable`])]),_:1})],64)):(a(),w(T,{key:3},[(a(!0),w(T,null,u(r.value.buckets,(e,t)=>(a(),w(`span`,{key:e.id,class:`quota-bucket-compact`},[E(`span`,At,d(c(e.label,t)),1),m(se,{value:Math.max(0,Math.min(1,e.usedPct/100)),color:g(xt)(e.usedPct),"track-color":`grey-9`,class:`quota-bar`},null,8,[`value`,`color`]),E(`span`,{class:k([`bucket-pct`,`text-${g(xt)(e.usedPct)}`])},d(e.usedPct.toFixed(0))+`%`,3)]))),128)),m(K,{anchor:`top right`,self:`bottom right`,class:`q-pa-md quota-menu`},{default:i(()=>[E(`div`,jt,d(e.$t(`quotaFooter.popover.title`)),1),(a(!0),w(T,null,u(r.value.buckets,(t,n)=>(a(),w(`div`,{key:t.id,class:`q-mb-sm`},[E(`div`,Mt,[E(`span`,null,d(c(t.label,n)),1),E(`span`,{class:k(`text-${g(xt)(t.usedPct)}`)},d(t.usedPct.toFixed(0))+`%`,3)]),m(se,{value:Math.max(0,Math.min(1,t.usedPct/100)),color:g(xt)(t.usedPct),"track-color":`grey-9`,class:`full-bar`},null,8,[`value`,`color`]),t.resetsAt?(a(),w(`div`,Nt,d(e.$t(`quotaFooter.popover.resetsIn`,{value:g(yt)(t.resetsAt)})),1)):b(``,!0)]))),128)),E(`div`,Pt,d(e.$t(`quotaFooter.lastUpdated`,{time:s.value})),1),E(`div`,Ft,[m(R,{flat:``,dense:``,"no-caps":``,size:`sm`,icon:`refresh`,label:e.$t(`quotaFooter.popover.refreshNow`),loading:o.value,disable:o.value,onClick:l},null,8,[`label`,`loading`,`disable`])])]),_:1})],64)):(a(),w(`span`,Ct,d(e.$t(`quotaFooter.empty`)),1))]))}}),[[`__scopeId`,`data-v-2edf9322`]]);function Lt(e,t){if(e===``)return 0;let n=e.toLowerCase(),r=t.toLowerCase(),i=0,a=0,o=-2;for(let e of n){let t=-1;for(let n=a;n<r.length;n++)if(r[n]===e){t=n;break}if(t===-1)return null;i+=t===o+1?5:1;let n=t>0?r[t-1]:``;(t===0||n===`/`||n===`-`||n===`_`||n===`.`)&&(i+=2),o=t,a=t+1}return i-t.length*.01}function Rt(e,t){return t.map(t=>({item:t,score:Lt(e,t)})).filter(e=>e.score!==null).sort((e,t)=>t.score-e.score).map(e=>e.item)}function zt(e,t,n){let r=y([]),i=y(!1),a=y(``),o=y(0),s=``,c=0;async function l(){let e=n();if(!e)return;let t=Date.now();if(!(e===s&&t-c<5e3&&r.value.length>0)){s=e,c=t;try{let t=await fetch(`/api/git/files?path=${encodeURIComponent(e)}`);if(t.ok){let e=await t.json();r.value=Array.isArray(e.files)?e.files:[]}}catch{}}}function u(){let n=t();if(!n)return null;let r=n.selectionStart??e.value.length,i=e.value.slice(0,r).match(/(?:^|\s)@([\w./-]*)$/);return i?i[1]:null}async function d(){let e=u();e===null?i.value=!1:(await l(),a.value=e,i.value=!0,o.value=0)}function f(){i.value=!1}function m(n){let r=t();if(!r)return;let i=r.selectionStart??e.value.length,a=e.value.slice(0,i),o=e.value.slice(i),s=a.match(/(?:^|\s)@[\w./-]*$/);if(!s)return;let c=s[0].startsWith(`@`)?``:s[0][0],l=(s.index??i)+c.length;e.value=`${e.value.slice(0,l)}${n} ${o}`,f()}let h=C(()=>Rt(a.value,r.value).slice(0,50));return p(()=>h.value.length,e=>{if(e===0){o.value=0;return}o.value>=e&&(o.value=e-1)}),{showFiles:i,fileMatches:h,selectedFileIndex:o,detectMentionFragment:d,replaceFragmentWith:m,closeDropdown:f}}var Bt={key:0,class:`row items-center q-gutter-xs q-mb-xs q-px-xs`,style:{"flex-wrap":`wrap`}},Vt={class:`text-caption image-tag-label`},Ht={key:2,class:`chat-slash-popup chat-file-popup`},Ut={key:3,class:`queue-banner row items-center q-pa-xs q-px-sm text-caption text-amber-6`},Wt={key:4,class:`autoloop-banner row items-center no-wrap q-pa-xs q-px-sm text-caption text-indigo-3`},Gt={class:`col`},Kt={key:5,class:`awaiting-user-banner row items-center q-pa-xs q-px-sm text-caption text-amber-5`},qt={class:`row items-center q-gutter-sm`},Jt={class:`chat-hint row items-center text-caption text-grey-8`},Yt={key:0,class:`row items-center text-caption text-amber-6 q-mr-sm`},Xt=6e4,Zt=200,Qt=W(O({__name:`ChatInput`,props:{workspaceId:{}},setup(e){let t=e,{t:r}=z(),s=De(),f=B(),h=ae(),_=_e(),S=me(),D=y(``),O=y(!1),ee=C(()=>ye(f.selectedWorkspace?.status)),te=C(()=>Me(f.selectedWorkspace?.engine));async function ne(){if(t.workspaceId){O.value=!0;try{await f.interruptAgent(t.workspaceId),s.notify({type:`info`,message:r(`workspacePage.interrupted`),position:`top`,timeout:3e3})}catch(e){let t=e instanceof Error?e.message:r(`workspacePage.interruptFailed`);s.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{O.value=!1}}}let j=C(()=>ye(f.selectedWorkspace?.status)),M=C(()=>!!f.queuedMessages[t.workspaceId]),N=y(null);function P(){let e=N.value;return e?e.getNativeElement?.()??null:null}let{showSkills:F,skillFilter:re,selectedSkillIndex:L,groupedDropdown:ie,flatDropdown:oe,fetchSkills:se,detectSlashFragment:ce,replaceFragmentWith:de,closeDropdown:fe}=Le(D,()=>P()),{showFiles:pe,fileMatches:he,selectedFileIndex:V,detectMentionFragment:ge,replaceFragmentWith:ve,closeDropdown:be}=zt(D,()=>P(),()=>f.workspaces.find(e=>e.id===t.workspaceId)?.worktreePath??null);function we(e){e&&(ve(e),n(()=>P()?.focus()))}let H=y([]),W=y(null),Te=y(!1),K=y(!1),q=y(!1),Oe=y(null),J=y(null),ke=y([]),Y=y(null),X=[`image/png`,`image/jpeg`,`image/gif`,`image/webp`];function Ae(e){let t=P(),r=t?.selectionStart??D.value.length,i=D.value.slice(0,r),a=D.value.slice(r);D.value=i+e+a,n(()=>{if(t){let n=r+e.length;t.focus(),t.setSelectionRange(n,n)}})}function je(){let e=`[image: ${r(`chatInput.uploading`)}]`,t=new Set(H.value.map(e=>e.placeholder));if(!t.has(e))return e;let n=2;for(;t.has(`[image: ${r(`chatInput.uploading`)} ${n}]`);)n++;return`[image: ${r(`chatInput.uploading`)} ${n}]`}async function Pe(e){if(!X.includes(e.type))return;let n=crypto.randomUUID(),r=e.name||`pasted-image.png`,i=je(),a={tempId:n,originalName:r,placeholder:i,status:`uploading`};H.value.push(a),Ae(i);try{let r=new FormData;r.append(`image`,e);let i=await fetch(`/api/workspaces/${t.workspaceId}/images`,{method:`POST`,body:r});if(!i.ok){let e=await i.json();throw Error(e.error||`Upload failed`)}let a=await i.json(),o=H.value.find(e=>e.tempId===n);if(o){o.uid=a.uid,o.path=a.path,o.status=`ready`;let e=`[image: ${a.path}]`;e!==o.placeholder&&(D.value=D.value.split(o.placeholder).join(e),o.placeholder=e)}}catch{let e=H.value.find(e=>e.tempId===n);e&&(e.status=`error`)}}function Fe(e,t){fetch(`/api/workspaces/${e}/images/${t}`,{method:`DELETE`}).catch(()=>{})}function ze(e){let n=H.value.find(t=>t.tempId===e);if(n){H.value=H.value.filter(t=>t.tempId!==e);{let e=n.placeholder.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);D.value=D.value.replace(RegExp(`${e}\\s?`,`g`),``)}n.uid&&Fe(t.workspaceId,n.uid)}}function Ve(e){if(e.clipboardData){for(let t of Array.from(e.clipboardData.items))if(t.type.startsWith(`image/`)){let e=t.getAsFile();e&&Pe(e)}}}function He(e){if(e.preventDefault(),Te.value=!1,e.dataTransfer)for(let t of Array.from(e.dataTransfer.files))X.includes(t.type)&&Pe(t)}function Ue(e){e.preventDefault(),Te.value=!0}function We(){Te.value=!1}function Ge(e){let t=e.target;if(t.files){for(let e of Array.from(t.files))Pe(e);t.value=``}}let Ke=C(()=>H.value.some(e=>e.status===`uploading`)),qe=C(()=>f.sessions.find(e=>e.id===f.selectedSessionId)??null);se(),p(()=>f.chatDraft,e=>{e&&(D.value=D.value?`${D.value}\n${e}`:e,f.chatDraft=``)});let Je=!1;function Ye(){Je=!0,f.cancelQueuedMessage(t.workspaceId)}p(M,(e,t)=>{t&&!e&&!Je&&(D.value=``),Je=!1}),p(()=>t.workspaceId,e=>{let t=f.queuedMessages[e];D.value=t?t.content:``,K.value&&$()}),p(D,async()=>{await n(),await ce(),await ge();let e=[];for(let t of H.value)D.value.includes(t.placeholder)||e.push(t.tempId);for(let t of e)ze(t)}),window.addEventListener(`keydown`,dt),window.addEventListener(`keyup`,ft),window.addEventListener(`blur`,pt),document.addEventListener(`visibilitychange`,mt),l(()=>{window.removeEventListener(`keydown`,dt),window.removeEventListener(`keyup`,ft),window.removeEventListener(`blur`,pt),document.removeEventListener(`visibilitychange`,mt),Y.value&&=(clearTimeout(Y.value),null),K.value&&$()});function Xe(e){if(!e)return;if(e.type===`template`){let n=S.templates.find(t=>t.slug===e.name);if(!n)return;let i=f.workspaces.find(e=>e.id===t.workspaceId)??null,a=f.gitStatsCache[t.workspaceId]??null,o=f.sessions.find(e=>e.id===f.selectedSessionId)??null,s=null;if(o)if(o.name)s=o.name;else{let e=f.sessions.findIndex(e=>e.id===o.id);s=r(`workspacePage.session`,{n:f.sessions.length-e})}let c;if(a?.prUrl){let e=a.prUrl.match(/\/pull\/(\d+)/);e&&(c=parseInt(e[1],10))}let l=Be({workspace:i?{name:i.name,workingBranch:i.workingBranch,sourceBranch:i.sourceBranch,projectPath:i.projectPath}:null,gitStats:a?{commitCount:a.commitCount,unpushedCount:a.unpushedCount,filesChanged:a.filesChanged,insertions:a.insertions,deletions:a.deletions,prNumber:c,prUrl:a.prUrl,prState:a.prState}:null,sessionName:s});de(Re(n.content,l)),fe();return}let n=`/${e.name}`;if(e.type===`kobo`&&Ne[n]){D.value=n,fe(),ct();return}de(`${n} `),fe()}let Ze=C(()=>{let e=t.workspaceId;if(!e)return!1;let n=f.autoLoopStates[e];return n?.auto_loop===!0&&n?.auto_loop_ready===!0}),Qe=C(()=>f.selectedWorkspace?.status===`awaiting-user`),$e=C(()=>!!f.selectedWorkspace?.archivedAt),et=C(()=>!t.workspaceId||Ze.value||Qe.value||$e.value),tt=C(()=>h.global.voiceEnabled&&!et.value),nt=y(!1);async function rt(){if(!(!t.workspaceId||nt.value)){nt.value=!0;try{await f.disableAutoLoop(t.workspaceId)}finally{nt.value=!1}}}let Z=y([]),Q=y(-1),it=y(``);async function at(){let e=t.workspaceId;try{let n=await fetch(`/api/workspaces/${e}/chat-history`);if(!n.ok)throw Error(`HTTP ${n.status}`);let{history:r}=await n.json();if(e!==t.workspaceId)return;Z.value=Array.isArray(r)?r:[]}catch(n){if(e!==t.workspaceId)return;console.error(`[ChatInput] loadHistory failed:`,n),Z.value=[]}e===t.workspaceId&&(Q.value=-1)}async function ot(e){if(!e||Z.value[0]===e)return;let n=t.workspaceId;Z.value.unshift(e),Z.value.length>Zt&&Z.value.pop();try{let t=await fetch(`/api/workspaces/${n}/chat-history`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({message:e})});if(!t.ok&&t.status!==204)throw Error(`HTTP ${t.status}`)}catch(e){console.error(`[ChatInput] pushToHistory failed:`,e)}}function st(){Q.value=-1,it.value=``}localStorage.removeItem(`kobo:chatHistory`),c(at),p(()=>t.workspaceId,at);async function ct(){let e=D.value.trim();if(!e&&H.value.length===0||et.value||Ke.value)return;let n=qe.value,i=Ne[e];if(i){_.sendChatMessage(t.workspaceId,i.prompt,f.selectedSessionId??void 0),f.markRead(t.workspaceId),f.addActivityItem(t.workspaceId,{id:`user-${Date.now()}`,type:`text`,content:i.prompt,timestamp:new Date().toISOString(),sessionId:f.selectedSessionId??void 0,meta:{sender:`user`,pending:!0}}),ot(e),st(),D.value=``;return}if(j.value){f.queueMessage(t.workspaceId,e,f.selectedSessionId??void 0);return}f.cancelQueuedMessage(t.workspaceId);let a=e,o=H.value.filter(e=>e.status===`ready`&&e.path&&!a.includes(`[image: ${e.path}]`)).map(e=>`[image: ${e.path}]`).join(` `);o&&(a=`${a} ${o}`.trim());let c=f.selectedSessionId??void 0;if((n?.status===`completed`||n?.status===`error`)&&!n.engineSessionId){s.notify({type:`warning`,message:r(`workspacePage.sessionEndedNotice`),position:`top`,timeout:5e3});return}let l=`user-${Date.now()}`;f.markRead(t.workspaceId),f.addActivityItem(t.workspaceId,{id:l,type:`text`,content:a,timestamp:new Date().toISOString(),sessionId:c,meta:{sender:`user`,pending:!0}});let u=e;ot(e),st(),D.value=``,H.value=[];let d=(e,n)=>{console.error(`[ChatInput] ${n} failed:`,e),f.removeActivityItem(t.workspaceId,l),D.value=u;let i=e instanceof Error?e.message:null;s.notify({type:`negative`,message:i??r(`workspacePage.startFailed`),position:`top`,timeout:6e3})};if(n?.status===`idle`)try{await f.startWorkspace(t.workspaceId,a,n.id),await f.fetchSessions(t.workspaceId)}catch(e){d(e,`startWorkspace`)}else if(n?.status===`completed`||n?.status===`error`)try{await f.startWorkspace(t.workspaceId,a,n.id,!0),await f.fetchSessions(t.workspaceId)}catch(e){d(e,`resume session`)}else _.sendChatMessage(t.workspaceId,a,f.selectedSessionId??void 0)}async function lt(){if(!(!tt.value||K.value||q.value)){if(!navigator.mediaDevices?.getUserMedia||typeof MediaRecorder>`u`){s.notify({type:`warning`,message:r(`voice.notSupported`),position:`top`,timeout:4e3});return}try{let e=await navigator.mediaDevices.getUserMedia({audio:!0});J.value=e,ke.value=[];let t=MediaRecorder.isTypeSupported(`audio/webm`)?`audio/webm`:``,n=t?new MediaRecorder(e,{mimeType:t}):new MediaRecorder(e);n.ondataavailable=e=>{e.data&&e.data.size>0&&ke.value.push(e.data)},n.start(),Oe.value=n,K.value=!0,Y.value=setTimeout(()=>{$(),s.notify({type:`info`,message:r(`voice.maxDurationReached`),position:`top`,timeout:3500})},Xt)}catch{s.notify({type:`negative`,message:r(`voice.errorMicPermission`),position:`top`,timeout:5e3})}}}async function $(){if(!K.value)return;let e=Oe.value;if(!e)return;K.value=!1,q.value=!0,Y.value&&=(clearTimeout(Y.value),null);let n=await new Promise(t=>{e.onstop=()=>t(new Blob(ke.value,{type:`audio/webm`})),e.stop()});try{if(n.size===0)throw Error(`MIC_AUDIO_INVALID`);let e=new FormData;e.append(`audio`,n,`voice.webm`),e.append(`language`,h.global.voiceLanguage||`auto`);let r=await fetch(`/api/voice/workspaces/${encodeURIComponent(t.workspaceId)}/transcribe`,{method:`POST`,body:e});if(!r.ok){let e=await r.json().catch(()=>({}));throw Error(String(e.code??e.error??`HTTP_${r.status}`))}let i=await r.json();i.text?.trim()&&(D.value=D.value?`${D.value.trimEnd()} ${i.text.trim()}`:i.text.trim())}catch(e){let t=e instanceof Error?e.message:`TRANSCRIPTION_FAILED`;s.notify({type:`negative`,message:r({VOICE_DISABLED:`voice.errorDisabled`,MODEL_NOT_CONFIGURED:`voice.errorModelMissing`,MODEL_NOT_INSTALLED:`voice.errorModelNotInstalled`,VOICE_RUNTIME_MISSING:`voice.errorRuntimeMissing`,MIC_AUDIO_INVALID:`voice.errorAudioInvalid`,LANGUAGE_INVALID:`voice.errorLanguageInvalid`,TRANSCRIPTION_TIMEOUT:`voice.errorTranscription`}[t]??`voice.errorTranscription`),position:`top`,timeout:5e3})}finally{Oe.value=null,ke.value=[],J.value?.getTracks().forEach(e=>{e.stop()}),J.value=null,q.value=!1}}function ut(e){return tt.value?h.global.voicePttKey===`ctrl+space`?e.ctrlKey&&e.code===`Space`:e.key===`Alt`:!1}function dt(e){!ut(e)||e.repeat||(e.preventDefault(),lt())}function ft(e){ut(e)&&(e.preventDefault(),$())}function pt(){K.value&&$()}function mt(){document.visibilityState!==`visible`&&K.value&&$()}function ht(e){if(pe.value&&he.value.length>0){if(e.key===`ArrowDown`){e.preventDefault(),V.value=Math.min(V.value+1,he.value.length-1);return}if(e.key===`ArrowUp`){e.preventDefault(),V.value=Math.max(V.value-1,0);return}if(e.key===`Tab`||e.key===`Enter`&&!e.shiftKey){e.preventDefault(),we(he.value[V.value]);return}if(e.key===`Escape`){e.preventDefault(),be();return}}if(F.value&&oe.value.length>0){if(e.key===`ArrowDown`){e.preventDefault(),L.value=Math.min(L.value+1,oe.value.length-1);return}if(e.key===`ArrowUp`){e.preventDefault(),L.value=Math.max(L.value-1,0);return}if(e.key===`Tab`||e.key===`Enter`&&!e.shiftKey){e.preventDefault(),Xe(oe.value[L.value]);return}if(e.key===`Escape`){e.preventDefault(),fe();return}}if(e.key===`ArrowUp`&&Z.value.length>0){let t=e.target;if(!(!t||t.selectionStart<=(D.value.indexOf(`
|
|
3
|
-
`)===-1?D.value.length:D.value.indexOf(`
|
|
4
|
-
`)))&&Q.value===-1)return;e.preventDefault(),Q.value===-1&&(it.value=D.value),Q.value<Z.value.length-1&&(Q.value++,D.value=Z.value[Q.value]);return}if(e.key===`ArrowDown`&&Q.value>=0){e.preventDefault(),Q.value--,D.value=Q.value>=0?Z.value[Q.value]:it.value;return}e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),ct())}return(e,t)=>(a(),w(`div`,{class:k([`chat-input-container column q-pa-sm`,{"chat-input-dragging":Te.value}]),onDragover:Ue,onDragleave:We,onDrop:He},[H.value.length>0?(a(),w(`div`,Bt,[(a(!0),w(T,null,u(H.value,t=>(a(),w(`div`,{key:t.tempId,class:k([`image-tag row items-center q-px-sm q-py-xs rounded-borders`,{"image-tag--uploading":t.status===`uploading`,"image-tag--ready":t.status===`ready`,"image-tag--error":t.status===`error`}])},[t.status===`uploading`?(a(),v(xe,{key:0,size:`14px`,color:`grey-6`,class:`q-mr-xs`})):t.status===`ready`?(a(),v(I,{key:1,name:`image`,size:`14px`,color:`green-6`,class:`q-mr-xs`})):(a(),v(I,{key:2,name:`error`,size:`14px`,color:`red-6`,class:`q-mr-xs`})),E(`span`,Vt,d(t.status===`uploading`?e.$t(`chatInput.uploading`):t.path||t.originalName),1),m(R,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,class:`q-ml-xs image-tag-close`,onClick:e=>ze(t.tempId)},{default:i(()=>[m(U,null,{default:i(()=>[x(d(e.$t(`tooltip.removeImage`)),1)]),_:1})]),_:1},8,[`onClick`])],2))),128))])):b(``,!0),g(F)&&g(oe).length>0?(a(),v(Ie,{key:1,class:`chat-slash-popup`,"grouped-dropdown":g(ie),"flat-dropdown":g(oe),"selected-index":g(L),onSelect:Xe},null,8,[`grouped-dropdown`,`flat-dropdown`,`selected-index`])):b(``,!0),g(pe)&&g(he).length>0?(a(),w(`div`,Ht,[m(Ee,{dark:``,dense:``},{default:i(()=>[(a(!0),w(T,null,u(g(he),(e,t)=>o((a(),v(Se,{key:e,clickable:``,active:t===g(V),"active-class":`chat-file-item--active`,onClick:t=>we(e)},{default:i(()=>[m(Ce,{avatar:``},{default:i(()=>[m(I,{name:`insert_drive_file`,size:`xs`,color:`grey-6`})]),_:1}),m(Ce,{class:`chat-file-path`},{default:i(()=>[x(d(e),1)]),_:2},1024)]),_:2},1032,[`active`,`onClick`])),[[le]])),128))]),_:1})])):b(``,!0),M.value?(a(),w(`div`,Ut,[m(I,{name:`schedule`,size:`14px`,color:`amber-6`,class:`q-mr-sm`}),E(`span`,null,d(e.$t(`chatInput.queueBanner`)),1)])):b(``,!0),Ze.value?(a(),w(`div`,Wt,[m(I,{name:`all_inclusive`,size:`14px`,color:`indigo-4`,class:`q-mr-sm`}),E(`span`,Gt,d(e.$t(`chatInput.autoLoopBanner`)),1),m(R,{flat:``,dense:``,"no-caps":``,size:`sm`,icon:`stop_circle`,color:`orange-4`,label:e.$t(`chatInput.autoLoopStop`),loading:nt.value,disable:nt.value,onClick:rt},null,8,[`label`,`loading`,`disable`])])):b(``,!0),Qe.value&&!Ze.value?(a(),w(`div`,Kt,[m(I,{name:`question_answer`,size:`14px`,color:`amber-5`,class:`q-mr-sm`}),E(`span`,null,d(e.$t(`chatInput.awaitingUserBanner`)),1)])):b(``,!0),E(`div`,qt,[m(ue,{ref_key:`chatInputRef`,ref:N,modelValue:D.value,"onUpdate:modelValue":t[0]||=e=>D.value=e,dense:``,dark:``,borderless:``,autogrow:``,readonly:M.value,placeholder:e.$t(`chatInput.placeholder`),"input-style":{maxHeight:`200px`,overflowY:`auto`},class:`chat-input col rounded-borders`,disable:et.value,onKeydown:ht,onPaste:Ve},null,8,[`modelValue`,`readonly`,`placeholder`,`disable`]),E(`input`,{ref_key:`fileInputRef`,ref:W,type:`file`,accept:`image/png,image/jpeg,image/gif,image/webp`,multiple:``,style:{display:`none`},onChange:Ge},null,544),m(R,{flat:``,dense:``,icon:`attach_file`,color:`grey-6`,disable:et.value,onClick:t[1]||=e=>W.value?.click()},{default:i(()=>[m(U,null,{default:i(()=>[x(d(e.$t(`chatInput.attachImage`)),1)]),_:1})]),_:1},8,[`disable`]),m(R,{flat:``,dense:``,icon:q.value?`hourglass_top`:K.value?`mic`:`mic_none`,color:K.value?`red-5`:q.value?`amber-6`:`grey-6`,disable:!tt.value||q.value,class:k({"voice-btn--recording":K.value}),onMousedown:A(lt,[`prevent`]),onMouseup:A($,[`prevent`]),onMouseleave:A($,[`prevent`]),onTouchstart:A(lt,[`prevent`]),onTouchend:A($,[`prevent`])},{default:i(()=>[m(U,null,{default:i(()=>[x(d(q.value?e.$t(`voice.transcribing`):K.value?e.$t(`voice.recording`):e.$t(`voice.holdToTalk`)),1)]),_:1})]),_:1},8,[`icon`,`color`,`disable`,`class`]),M.value?(a(),v(R,{key:0,flat:``,dense:``,icon:`cancel`,color:`orange`,onClick:Ye},{default:i(()=>[m(U,null,{default:i(()=>[x(d(e.$t(`chatInput.cancelQueue`)),1)]),_:1})]),_:1})):(a(),v(R,{key:1,flat:``,dense:``,icon:`send`,color:`primary`,disable:et.value||!D.value.trim()&&H.value.length===0||Ke.value,onClick:ct},{default:i(()=>[m(U,null,{default:i(()=>[x(d(e.$t(`tooltip.sendMessage`)),1)]),_:1})]),_:1},8,[`disable`]))]),E(`div`,Jt,[E(`div`,null,[t[2]||=E(`kbd`,null,`Enter`,-1),x(` `+d(e.$t(`common.send`))+` `,1),t[3]||=E(`span`,{class:`q-mx-xs`},`·`,-1),t[4]||=x(),t[5]||=E(`kbd`,null,`Shift+Enter`,-1),x(` `+d(e.$t(`common.newLine`))+` `,1),t[6]||=E(`span`,{class:`q-mx-xs`},`·`,-1),t[7]||=x(),t[8]||=E(`kbd`,null,`↑↓`,-1),x(` `+d(e.$t(`common.history`))+` `,1),t[9]||=E(`span`,{class:`q-mx-xs`},`·`,-1),t[10]||=x(),t[11]||=E(`kbd`,null,`@`,-1),x(` `+d(e.$t(`chatInput.fileSearchHint`)),1)]),m(G),q.value?(a(),w(`div`,Yt,[m(xe,{size:`14px`,color:`amber-6`,class:`q-mr-xs`}),E(`span`,null,d(e.$t(`voice.transcribing`)),1)])):b(``,!0),te.value?(a(),v(It,{key:1,class:`q-mr-md`})):b(``,!0),ee.value?(a(),v(R,{key:2,flat:``,dense:``,"no-caps":``,size:`sm`,color:`orange-4`,icon:`pause`,label:e.$t(`workspacePage.interrupt`),loading:O.value,disable:O.value,onClick:ne},{default:i(()=>[m(U,null,{default:i(()=>[x(d(e.$t(`workspacePage.interruptTooltip`)),1)]),_:1})]),_:1},8,[`label`,`loading`,`disable`])):b(``,!0)])],34))}}),[[`__scopeId`,`data-v-a8b9f132`]]),$t={key:0,class:`permission-request-panel q-pa-sm bg-dark text-grey-3`},en={class:`row items-center q-mb-sm`},tn={class:`text-caption text-uppercase text-weight-bold text-amber-4`,style:{"letter-spacing":`0.05em`}},nn={class:`text-body2 text-grey-2 q-mb-xs`},rn={class:`text-weight-medium`},an={class:`q-ml-xs`},on={class:`text-caption text-grey-6 q-mb-xs`},sn={class:`permission-input-pre`},cn={class:`row items-center q-gutter-sm q-mt-sm`},ln={key:0,class:`text-negative text-caption`},un=W(O({__name:`PermissionRequestPanel`,props:{workspaceId:{}},setup(e){let t=e,{t:n}=z(),r=B(),i=C(()=>{let e=r.peekPending(t.workspaceId);if(!(!e||e.kind!==`permission`))return e}),o=C(()=>{if(!i.value)return``;try{return JSON.stringify(i.value.toolInput,null,2)}catch{return String(i.value.toolInput)}}),s=y(!1),c=y(null);p(()=>i.value?.toolCallId??null,()=>{s.value=!1,c.value=null});async function l(e){if(i.value&&!s.value){s.value=!0,c.value=null;try{await r.submitDeferredPermission(t.workspaceId,i.value.toolCallId,e,e===`deny`?n(`permissionRequest.denied`):void 0)}catch(e){c.value=e instanceof Error?e.message:String(e)}finally{s.value=!1}}}return(e,t)=>i.value?(a(),w(`div`,$t,[E(`div`,en,[m(I,{name:`security`,size:`16px`,color:`amber-4`,class:`q-mr-sm`}),E(`div`,tn,d(g(n)(`permissionRequest.title`)),1)]),E(`div`,nn,[E(`span`,rn,d(g(n)(`permissionRequest.tool`))+`:`,1),E(`code`,an,d(i.value.toolName),1)]),E(`div`,on,d(g(n)(`permissionRequest.input`)),1),E(`pre`,sn,d(o.value),1),E(`div`,cn,[m(R,{label:g(n)(`permissionRequest.allow`),color:`indigo-5`,dense:``,unelevated:``,loading:s.value,disable:s.value,onClick:t[0]||=e=>l(`allow`)},null,8,[`label`,`loading`,`disable`]),m(R,{label:g(n)(`permissionRequest.deny`),flat:``,dense:``,color:`grey-4`,disable:s.value,onClick:t[1]||=e=>l(`deny`)},null,8,[`label`,`disable`]),m(G),c.value?(a(),w(`span`,ln,d(c.value),1)):b(``,!0)])])):b(``,!0)}}),[[`__scopeId`,`data-v-12227c33`]]),dn={key:0,class:`quota-backoff-banner row items-center q-px-md q-py-sm`,style:{"background-color":`#b87333`,color:`#f0f0f0`}},fn={class:`text-body2`},pn=O({__name:`QuotaBackoffBanner`,props:{workspaceId:{}},setup(e){let t=e,{t:n}=z(),r=De(),o=B(),s=y(!1),c=C(()=>o.pendingQuotaBackoffs[t.workspaceId]),l=C(()=>o.workspaces.find(e=>e.id===t.workspaceId)),u=C(()=>o.autoLoopStates[t.workspaceId]),f=C(()=>l.value?.status===`quota`&&u.value?.auto_loop===!0&&c.value!==void 0),p=C(()=>{let e=c.value?.targetAt;return e?new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`}):``}),h=C(()=>{let e=c.value?.resetsAt;return e?new Date(e).toLocaleString():``});async function _(){if(!s.value){s.value=!0;try{await o.cancelQuotaBackoff(t.workspaceId),r.notify({type:`info`,message:n(`quotaBackoff.cancelled`),position:`top`,timeout:4e3})}catch(e){r.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}finally{s.value=!1}}}return(e,t)=>f.value?(a(),w(`div`,dn,[m(I,{name:`hourglass_top`,size:`18px`,class:`q-mr-sm`}),E(`span`,fn,d(g(n)(`quotaBackoff.banner.title`,{time:p.value})),1),c.value?.resetsAt?(a(),v(U,{key:0},{default:i(()=>[x(d(g(n)(`quotaBackoff.banner.tooltip`,{resets_at:h.value})),1)]),_:1})):b(``,!0),m(G),m(R,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`grey-3`,label:g(n)(`quotaBackoff.banner.cancel`),loading:s.value,onClick:_},null,8,[`label`,`loading`])])):b(``,!0)}}),mn={class:`text-subtitle2`},hn={class:`text-caption`},gn=O({__name:`StaleSessionBanner`,props:{workspaceId:{}},setup(e){let t=e,n=B(),r=C(()=>{if(!n.selectedSessionId||n.sessions.length<2)return!1;let e=n.sessions[0];if(!e||e.id===n.selectedSessionId)return!1;let r=n.workspaces.find(e=>e.id===t.workspaceId);return!r||!ye(r.status)?!1:n.autoLoopStates[t.workspaceId]?.auto_loop===!0});function o(){let e=n.sessions[0];e&&n.selectSession(e.id)}return(e,t)=>r.value?(a(),v(We,{key:0,class:`bg-indigo-9 text-white q-ma-sm`,rounded:``},{avatar:i(()=>[m(I,{name:`loop`})]),action:i(()=>[m(R,{flat:``,dense:``,"no-caps":``,label:e.$t(`staleSessionBanner.switchToCurrent`),onClick:o},null,8,[`label`])]),default:i(()=>[E(`div`,mn,d(e.$t(`staleSessionBanner.title`)),1),E(`div`,hn,d(e.$t(`staleSessionBanner.message`)),1)]),_:1})):b(``,!0)}}),_n={key:0,class:`row items-center q-pa-xs q-px-sm bg-dark text-grey-5 text-caption`},vn=O({__name:`WakeupBanner`,setup(t){let{t:n}=z(),r=B(),o=y(Date.now()),s=null;c(()=>{s=setInterval(()=>{o.value=Date.now()},1e3)}),e(()=>{s&&clearInterval(s)});let l=C(()=>{let e=r.selectedWorkspace;return e?r.pendingWakeups[e.id]??null:null}),u=C(()=>r.selectedWorkspace?!!l.value:!1),f=C(()=>{if(!l.value)return 0;let e=Math.ceil((new Date(l.value.targetAt).getTime()-o.value)/1e3);return Math.max(0,e)}),p=C(()=>f.value===0?n(`wakeup.firing`):n(`wakeup.scheduledIn`,{n:f.value}));function h(){let e=r.selectedWorkspace;e&&r.cancelPendingWakeup(e.id)}return(e,t)=>u.value?(a(),w(`div`,_n,[m(I,{name:`schedule`,size:`14px`,color:`amber-4`,class:`q-mr-sm`}),E(`span`,null,[x(d(p.value)+` `,1),l.value?.reason?(a(),v(U,{key:0,anchor:`top middle`,self:`bottom middle`,offset:[0,6]},{default:i(()=>[x(d(g(n)(`wakeup.reason`,{reason:l.value.reason})),1)]),_:1})):b(``,!0)]),m(G),m(R,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-5`,"aria-label":g(n)(`wakeup.cancel`),onClick:h},{default:i(()=>[m(U,null,{default:i(()=>[x(d(g(n)(`wakeup.cancel`)),1)]),_:1})]),_:1},8,[`aria-label`])])):b(``,!0)}}),yn={class:`wp-header row items-center q-px-md q-py-sm no-wrap`},bn={class:`text-body1 text-weight-medium text-grey-3 ellipsis`,style:{"max-width":`480px`}},xn={class:`row items-center no-wrap text-caption text-grey-5`},Sn={class:`row items-center no-wrap text-caption text-grey-5`},Cn={class:`row items-center no-wrap text-caption text-grey-5`},wn={key:1,class:`text-body2 text-grey-8`},Tn={key:0,class:`wp-subheader column q-px-md q-pb-sm`},En=[`title`],Dn={key:1,class:`wp-purged-banner row items-center q-px-md q-py-sm`},On={class:`text-caption text-grey-3`},kn={key:2,class:`wp-archived-banner row items-center q-px-md q-py-sm`},An={class:`text-caption text-grey-4`},jn={key:3,class:`wp-pending-prompt-banner row items-center q-px-md q-py-sm`},Mn={class:`text-caption text-grey-3`},Nn={class:`col column items-center justify-center`},Pn={class:`text-grey-6 text-caption q-mt-sm`},Fn={class:`text-subtitle1`},In=W(O({__name:`WorkspacePage`,setup(e){let t=D(()=>Promise.all([ge(()=>import(`./ActivityFeed-DFMce5VW.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26])),new Promise(e=>setTimeout(e,500))]).then(([e])=>e)),n=De(),s=B(),{t:l}=z(),{timeAgo:u}=Pe();function f(e){return e===`awaiting-user`?l(`workspaceStatus.awaitingUser`):e}let _=y(!1),S=y(!1),O=new Set,te=C(()=>!!s.selectedWorkspace?.initialPrompt&&s.selectedWorkspace.initialPrompt.length>0&&!N.value&&!s.selectedWorkspace?.archivedAt),ne=y(``);p(()=>s.selectedWorkspace?.description??``,e=>{ne.value=e},{immediate:!0});async function j(){if(!s.selectedWorkspace)return;let e=ne.value.trim();if(e!==(s.selectedWorkspace.description??``)){if(e.length>200){n.notify({type:`negative`,message:l(`workspace.descriptionTooLong`),position:`top`});return}try{await s.updateWorkspaceDescription(s.selectedWorkspace.id,e.length>0?e:null)}catch(e){let t=e instanceof Error?e.message:l(`workspace.descriptionSaveFailed`);n.notify({type:`negative`,message:t,position:`top`})}}}let M=y(new Set),N=C(()=>ye(s.selectedWorkspace?.status));p(N,e=>{e||(M.value=new Set)}),p(()=>s.selectedWorkspaceId,e=>{M.value=new Set,e&&s.fetchPendingWakeup(e)},{immediate:!0});function P(e){if(!N.value)return;let t=new Set(M.value);t.add(e),M.value=t}function F(e){O.add(e),e.finally(()=>{O.delete(e)})}async function re(){O.size!==0&&await Promise.allSettled([...O])}async function L(){if(s.selectedWorkspaceId){_.value=!0;try{await re(),await s.startWorkspace(s.selectedWorkspaceId)}catch(e){let t=e instanceof Error?e.message:l(`workspacePage.startFailed`);n.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{_.value=!1}}}y(!1);let ae=y(!1);async function se(){if(!s.selectedWorkspaceId||ae.value)return;let e=s.selectedWorkspaceId;ae.value=!0;try{await s.unarchiveWorkspace(e),n.notify({type:`positive`,message:l(`workspacePage.unarchived`),position:`top`,timeout:3e3})}catch(e){let t=e instanceof Error?e.message:l(`workspacePage.unarchiveFailed`);n.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{ae.value=!1}}async function ce(){if(s.selectedWorkspaceId){S.value=!0;try{await s.stopWorkspace(s.selectedWorkspaceId)}catch(e){let t=e instanceof Error?e.message:l(`workspacePage.stopFailed`);n.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{S.value=!1}}}let le=C(()=>s.selectedWorkspace?.engine??`claude-code`),de=C(()=>(Ve[le.value]??He).map(e=>({label:l(e.i18nLabelKey),value:e.value}))),me=C(()=>(ze[le.value]??ze[`claude-code`]).map(e=>({label:W(l(e.i18nLabelKey)),value:e.value}))),V=C(()=>{let e=s.selectedWorkspace,t=e?s.autoLoopStates[e.id]?.auto_loop??e.autoLoop:!1;return(Ue[le.value]??Ue[`claude-code`]).map(e=>({label:l(`agentPermissionMode.${e}`),value:e,disable:e===`plan`&&t}))}),_e=C({get:()=>s.selectedWorkspace?.model??`auto`,set:e=>{s.selectedWorkspaceId&&(P(`model`),F(s.updateModel(s.selectedWorkspaceId,e)))}}),H=C({get:()=>s.selectedWorkspace?.reasoningEffort??`auto`,set:e=>{s.selectedWorkspaceId&&(P(`reasoningEffort`),F(s.updateReasoningEffort(s.selectedWorkspaceId,e)))}});function W(e){let t=e.indexOf(`:`);return t>=0?e.slice(t+1).trim():e}function Ee(e){return me.value.find(t=>t.value===e)?.label??e}let K=C({get:()=>s.selectedWorkspace?.agentPermissionMode??`bypass`,set:e=>{s.selectedWorkspaceId&&(P(`agentPermissionMode`),F(s.updateAgentPermissionMode(s.selectedWorkspaceId,e)))}}),J=ve(),ke=he(),Y=C(()=>s.selectedWorkspaceId),X=C(()=>s.selectedWorkspace),je=C(()=>s.sessions),Me=C({get:()=>s.selectedSessionId,set:e=>{if(e===`__new__`){Ke();return}if(!e)return;s.selectSession(e);let t={...J.query};t.session=e,ke.replace({query:t})}}),Ne=C(()=>[...s.sessions.map((e,t)=>({label:e.name??l(`workspacePage.session`,{n:s.sessions.length-t}),value:e.id,caption:u(e.startedAt),isSession:!0})),{label:l(`workspacePage.newSession`),value:`__new__`,caption:``,isSession:!1}]),Ie=y(!1),Le=y(null),Re=y(``),Be=y(!1);function We(e,t){let n=s.sessions.find(t=>t.id===e);n&&(Le.value={id:e},Re.value=n.name??t,Ie.value=!0)}async function Ge(){if(!(!Le.value||!s.selectedWorkspaceId))try{await s.renameSession(s.selectedWorkspaceId,Le.value.id,Re.value.trim())}catch(e){console.error(`[WorkspacePage] renameSession failed:`,e),n.notify({type:`negative`,message:l(`workspacePage.renameFailed`),position:`top`})}finally{Ie.value=!1}}async function Ke(){if(s.selectedWorkspaceId){Be.value=!0;try{await s.createSession(s.selectedWorkspaceId)}catch(e){console.error(`[WorkspacePage] createSession failed:`,e);let t=e instanceof Error?e.message:null;n.notify({type:`negative`,message:t??l(`workspacePage.createSessionFailed`),position:`top`,timeout:6e3})}finally{Be.value=!1}}}return c(()=>{let e=J.params.id;e&&(s.selectWorkspace(e),s.fetchPendingWakeup(e));let t=J.query.session;t&&s.selectSession(t)}),p(()=>J.params.id,e=>{e&&e!==s.selectedWorkspaceId&&s.selectWorkspace(e)}),p(()=>s.selectedWorkspaceId,e=>{e===null&&J.params.id&&ke.push({name:`workspace`})}),(e,n)=>(a(),v(Fe,{class:`column no-wrap`,style:{height:`100vh`}},{default:i(()=>[E(`div`,yn,[X.value?(a(),w(T,{key:0},[E(`span`,bn,[x(d(X.value.name)+` `,1),m(U,null,{default:i(()=>[x(d(X.value.name),1)]),_:1})]),m(Te,{label:f(X.value.status),color:[`error`,`quota`].includes(X.value.status)?`red-9`:X.value.status===`awaiting-user`?`amber-9`:g(ye)(X.value.status)?`green-9`:`grey-8`,class:`q-ml-sm`,style:{"font-size":`10px`}},null,8,[`label`,`color`]),m(Ae),je.value.length>0?(a(),v(Oe,{key:0,modelValue:Me.value,"onUpdate:modelValue":n[0]||=e=>Me.value=e,options:Ne.value,"emit-value":``,"map-options":``,dense:``,dark:``,borderless:``,"options-dense":``,loading:Be.value,disable:Be.value,class:`q-ml-sm`,style:{"min-width":`160px`,"max-width":`220px`,"font-size":`11px`}},{option:i(e=>[e.opt.isSession?b(``,!0):(a(),v(ie,{key:0,spaced:``})),m(Se,r(e.itemProps,{clickable:``,dense:``,class:`row items-center no-wrap`}),{default:i(()=>[m(Ce,null,{default:i(()=>[m(we,{class:k(e.opt.isSession?``:`text-grey-5`)},{default:i(()=>[x(d(e.opt.label),1)]),_:2},1032,[`class`]),e.opt.caption?(a(),v(we,{key:0,caption:``},{default:i(()=>[x(d(e.opt.caption),1)]),_:2},1024)):b(``,!0)]),_:2},1024),e.opt.isSession?(a(),v(Ce,{key:0,side:``},{default:i(()=>[m(R,{icon:`more_vert`,flat:``,dense:``,round:``,size:`xs`,color:`grey-6`,onClick:A(t=>We(e.opt.value,e.opt.label),[`stop`])},null,8,[`onClick`])]),_:2},1024)):b(``,!0)]),_:2},1040)]),_:1},8,[`modelValue`,`options`,`loading`,`disable`])):b(``,!0),m(G),m(Oe,{modelValue:K.value,"onUpdate:modelValue":n[1]||=e=>K.value=e,options:V.value,"emit-value":``,"map-options":``,dense:``,dark:``,borderless:``,"options-dense":``,class:`q-mr-xs`,style:{"min-width":`80px`,"max-width":`140px`,"font-size":`11px`}},{selected:i(()=>[E(`span`,xn,[m(I,{name:K.value===`plan`?`visibility`:K.value===`strict`?`lock`:K.value===`interactive`?`security`:`flash_on`,size:`12px`,color:`amber-6`,class:`q-mr-xs`},null,8,[`name`]),x(` `+d(V.value.find(e=>e.value===K.value)?.label??K.value)+` `,1),M.value.has(`agentPermissionMode`)?(a(),v(I,{key:0,name:`schedule`,size:`11px`,color:`orange-6`,class:`q-ml-xs`},{default:i(()=>[m(U,null,{default:i(()=>[x(d(e.$t(`workspacePage.pendingNextRun`)),1)]),_:1})]),_:1})):b(``,!0)])]),_:1},8,[`modelValue`,`options`]),m(Oe,{modelValue:_e.value,"onUpdate:modelValue":n[2]||=e=>_e.value=e,options:de.value,"emit-value":``,"map-options":``,dense:``,dark:``,borderless:``,"options-dense":``,class:`q-mr-sm model-select`,style:{"min-width":`100px`,"max-width":`160px`,"font-size":`11px`}},{selected:i(()=>[E(`span`,Sn,[m(I,{name:`auto_awesome`,size:`12px`,color:`indigo-4`,class:`q-mr-xs`}),x(` `+d(de.value.find(e=>e.value===_e.value)?.label??_e.value)+` `,1),M.value.has(`model`)?(a(),v(I,{key:0,name:`schedule`,size:`11px`,color:`orange-6`,class:`q-ml-xs`},{default:i(()=>[m(U,null,{default:i(()=>[x(d(e.$t(`workspacePage.pendingNextRun`)),1)]),_:1})]),_:1})):b(``,!0)])]),_:1},8,[`modelValue`,`options`]),m(Oe,{modelValue:H.value,"onUpdate:modelValue":n[3]||=e=>H.value=e,options:me.value,"emit-value":``,"map-options":``,dense:``,dark:``,borderless:``,"options-dense":``,class:`q-mr-sm`,style:{"min-width":`90px`,"max-width":`140px`,"font-size":`11px`}},{selected:i(()=>[E(`span`,Cn,[m(I,{name:`psychology`,size:`12px`,color:`amber-6`,class:`q-mr-xs`}),x(` `+d(Ee(H.value))+` `,1),M.value.has(`reasoningEffort`)?(a(),v(I,{key:0,name:`schedule`,size:`11px`,color:`orange-6`,class:`q-ml-xs`},{default:i(()=>[m(U,null,{default:i(()=>[x(d(e.$t(`workspacePage.pendingNextRun`)),1)]),_:1})]),_:1})):b(``,!0)])]),_:1},8,[`modelValue`,`options`]),g(ye)(X.value.status)&&!X.value.archivedAt?(a(),v(R,{key:1,dense:``,"no-caps":``,size:`sm`,color:`negative`,icon:`stop`,label:e.$t(`common.stop`),class:`q-mr-xs`,loading:S.value,disable:S.value,onClick:ce},null,8,[`label`,`loading`,`disable`])):b(``,!0)],64)):(a(),w(`span`,wn,d(e.$t(`workspacePage.selectWorkspace`)),1))]),X.value?(a(),w(`div`,Tn,[m(ue,{modelValue:ne.value,"onUpdate:modelValue":n[4]||=e=>ne.value=e,dense:``,dark:``,borderless:``,placeholder:g(l)(`workspace.descriptionPlaceholder`),maxlength:200,"input-class":`text-caption text-grey-5`,class:`workspace-description-input`,style:{width:`100%`,"max-width":`960px`},onBlur:j,onKeydown:ee(A(j,[`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`]),X.value?.agentDescription?(a(),w(`div`,{key:0,class:`text-caption text-grey-7 q-mt-xs ellipsis`,style:{"font-style":`italic`,"max-width":`960px`},title:g(l)(`workspace.agentDescriptionTooltip`)},d(X.value.agentDescription),9,En)):b(``,!0)])):b(``,!0),m(ie,{dark:``}),X.value?.worktreePurgedAt?(a(),w(`div`,Dn,[m(I,{name:`cleaning_services`,size:`16px`,color:`orange-5`,class:`q-mr-sm`}),E(`span`,On,d(e.$t(`workspacePage.worktreePurgedBanner`)),1),m(G),m(R,{flat:``,dense:``,size:`sm`,"no-caps":``,color:`grey-5`,icon:`info_outline`,label:e.$t(`common.details`)},{default:i(()=>[m(U,{"max-width":`320px`,anchor:`bottom right`,self:`top right`},{default:i(()=>[x(d(e.$t(`workspacePage.worktreePurgedTooltip`)),1)]),_:1})]),_:1},8,[`label`])])):X.value?.archivedAt?(a(),w(`div`,kn,[m(I,{name:`inventory_2`,size:`16px`,color:`grey-5`,class:`q-mr-sm`}),E(`span`,An,d(e.$t(`workspacePage.archivedBanner`)),1),m(G),m(R,{flat:``,dense:``,size:`sm`,"no-caps":``,color:`indigo-4`,icon:`unarchive`,label:e.$t(`common.unarchive`),loading:ae.value,disable:ae.value,onClick:se},null,8,[`label`,`loading`,`disable`])])):b(``,!0),te.value?(a(),w(`div`,jn,[m(I,{name:`warning`,size:`16px`,color:`amber-5`,class:`q-mr-sm`}),E(`span`,Mn,d(e.$t(`workspacePage.pendingInitialPromptBanner`)),1),m(G),m(R,{unelevated:``,dense:``,size:`sm`,"no-caps":``,color:`indigo-5`,icon:`play_arrow`,label:e.$t(`common.start`),loading:_.value,disable:_.value,onClick:L},null,8,[`label`,`loading`,`disable`])])):b(``,!0),Y.value?(a(),v(Xe,{key:4,"workspace-id":Y.value},null,8,[`workspace-id`])):b(``,!0),Y.value?(a(),v(gn,{key:5,"workspace-id":Y.value},null,8,[`workspace-id`])):b(``,!0),Y.value?(a(),v(pn,{key:6,"workspace-id":Y.value},null,8,[`workspace-id`])):b(``,!0),Y.value?(a(),v(h,{key:7},{fallback:i(()=>[E(`div`,Nn,[m(xe,{size:`40px`,color:`indigo-4`}),E(`div`,Pn,d(e.$t(`common.loading`)),1)])]),default:i(()=>[m(g(t),{class:`col`,style:{"min-height":`0`},"workspace-id":Y.value},null,8,[`workspace-id`])]),_:1})):b(``,!0),m(qe),m(vn),Y.value?(a(),v(_t,{key:8,"workspace-id":Y.value},null,8,[`workspace-id`])):b(``,!0),Y.value?(a(),v(un,{key:9,"workspace-id":Y.value},null,8,[`workspace-id`])):b(``,!0),Y.value?(a(),v(Qt,{key:10,"workspace-id":Y.value},null,8,[`workspace-id`])):b(``,!0),m(fe,{modelValue:Ie.value,"onUpdate:modelValue":n[6]||=e=>Ie.value=e,persistent:``},{default:i(()=>[m(pe,{dark:``,style:{"min-width":`320px`}},{default:i(()=>[m(be,null,{default:i(()=>[E(`div`,Fn,d(g(l)(`workspacePage.renameSessionTitle`)),1)]),_:1}),m(be,null,{default:i(()=>[m(ue,{modelValue:Re.value,"onUpdate:modelValue":n[5]||=e=>Re.value=e,label:g(l)(`workspacePage.sessionNameLabel`),dark:``,dense:``,autofocus:``,onKeyup:ee(Ge,[`enter`])},null,8,[`modelValue`,`label`])]),_:1}),m(oe,{align:`right`},{default:i(()=>[o(m(R,{flat:``,label:g(l)(`common.cancel`)},null,8,[`label`]),[[q]]),m(R,{flat:``,color:`primary`,label:g(l)(`workspacePage.renameSession`),disable:!Re.value.trim(),onClick:Ge},null,8,[`label`,`disable`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),_:1}))}}),[[`__scopeId`,`data-v-232678d2`]]);export{In as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{C as e,D as t,K as n,W as r,b as i,et as a,j as o,l as s}from"./runtime-core.esm-bundler-D_RRiKBh.js";import{L as c,N as l,P as u,S as d,V as f,l as p,n as m,r as h,s as g,t as _}from"./QIcon-BmEX2rXO.js";import{t as v}from"./QCheckbox-Cq2STfHp.js";import{m as y}from"./QTooltip-DyIRS1GH.js";var b=u({name:`QBtnGroup`,props:{unelevated:Boolean,outline:Boolean,flat:Boolean,rounded:Boolean,square:Boolean,push:Boolean,stretch:Boolean,glossy:Boolean,spread:Boolean},setup(t,{slots:n}){let r=s(()=>{let e=[`unelevated`,`outline`,`flat`,`rounded`,`square`,`push`,`stretch`,`glossy`].filter(e=>t[e]===!0).map(e=>`q-btn-group--${e}`).join(` `);return`q-btn-group row no-wrap${e.length===0?``:` `+e}`+(t.spread===!0?` q-btn-group--spread`:` inline`)});return()=>e(`div`,{class:r.value},g(n.default))}}),x=[`none`,`strict`,`leaf`,`leaf-filtered`],S=u({name:`QTree`,props:{...h,nodes:{type:Array,required:!0},nodeKey:{type:String,required:!0},labelKey:{type:String,default:`label`},childrenKey:{type:String,default:`children`},dense:Boolean,color:String,controlColor:String,textColor:String,selectedColor:String,icon:String,tickStrategy:{type:String,default:`none`,validator:e=>x.includes(e)},ticked:Array,expanded:Array,selected:{},noSelectionUnset:Boolean,defaultExpandAll:Boolean,accordion:Boolean,filter:String,filterMethod:Function,duration:{},noConnectors:Boolean,noTransition:Boolean,noNodesLabel:String,noResultsLabel:String},emits:[`update:expanded`,`update:ticked`,`update:selected`,`lazyLoad`,`afterShow`,`afterHide`],setup(u,{slots:h,emit:g}){let{proxy:b}=i(),{$q:x}=b,S=m(u,x),C=a({}),w=a(u.ticked||[]),T=a(u.expanded||[]),E={};o(()=>{E={}});let D=s(()=>`q-tree q-tree--${u.dense===!0?`dense`:`standard`}`+(u.noConnectors===!0?` q-tree--no-connectors`:``)+(S.value===!0?` q-tree--dark`:``)+(u.color===void 0?``:` text-${u.color}`)),O=s(()=>u.selected!==void 0),k=s(()=>u.icon||x.iconSet.tree.icon),A=s(()=>u.controlColor||u.color),j=s(()=>u.textColor===void 0?``:` text-${u.textColor}`),M=s(()=>{let e=u.selectedColor||u.color;return e?` text-${e}`:``}),N=s(()=>u.filterMethod===void 0?(e,t)=>{let n=t.toLowerCase();return e[u.labelKey]&&e[u.labelKey].toLowerCase().indexOf(n)!==-1}:u.filterMethod),P=s(()=>{let e={},t=(n,r)=>{let i=n.tickStrategy||(r?r.tickStrategy:u.tickStrategy),a=n[u.nodeKey],o=n[u.childrenKey]&&Array.isArray(n[u.childrenKey])&&n[u.childrenKey].length!==0,s=n.disabled!==!0&&O.value===!0&&n.selectable!==!1,c=n.disabled!==!0&&n.expandable!==!1,l=i!==`none`,d=i===`strict`,f=i===`leaf-filtered`,p=i===`leaf`||i===`leaf-filtered`,m=n.disabled!==!0&&n.tickable!==!1;p===!0&&m===!0&&r&&r.tickable!==!0&&(m=!1);let h=n.lazy;h===!0&&C.value[a]!==void 0&&Array.isArray(n[u.childrenKey])===!0&&(h=C.value[a]);let g={key:a,parent:r,isParent:o,lazy:h,disabled:n.disabled,link:n.disabled!==!0&&(s===!0||c===!0&&(o===!0||h===!0)),children:[],matchesFilter:u.filter?N.value(n,u.filter):!0,selected:a===u.selected&&s===!0,selectable:s,expanded:o===!0?T.value.includes(a):!1,expandable:c,noTick:n.noTick===!0||d!==!0&&h&&h!==`loaded`,tickable:m,tickStrategy:i,hasTicking:l,strictTicking:d,leafFilteredTicking:f,leafTicking:p,ticked:d===!0?w.value.includes(a):o===!0?!1:w.value.includes(a)};if(e[a]=g,o===!0&&(g.children=n[u.childrenKey].map(e=>t(e,g)),u.filter&&(g.matchesFilter===!0?g.noTick!==!0&&g.disabled!==!0&&g.tickable===!0&&f===!0&&g.children.every(e=>e.matchesFilter!==!0||e.noTick===!0||e.tickable!==!0)===!0&&(g.tickable=!1):g.matchesFilter=g.children.some(e=>e.matchesFilter)),g.matchesFilter===!0&&(g.noTick!==!0&&d!==!0&&g.children.every(e=>e.noTick)===!0&&(g.noTick=!0),p))){if(g.ticked=!1,g.indeterminate=g.children.some(e=>e.indeterminate===!0),g.tickable=g.tickable===!0&&g.children.some(e=>e.tickable),g.indeterminate!==!0){let e=g.children.reduce((e,t)=>t.ticked===!0?e+1:e,0);e===g.children.length?g.ticked=!0:e>0&&(g.indeterminate=!0)}g.indeterminate===!0&&(g.indeterminateNextState=g.children.every(e=>e.tickable!==!0||e.ticked!==!0))}return g};return u.nodes.forEach(e=>t(e,null)),e});r(()=>u.ticked,e=>{w.value=e}),r(()=>u.expanded,e=>{T.value=e});function F(e){let t=[].reduce,n=(r,i)=>{if(r||!i)return r;if(Array.isArray(i)===!0)return t.call(Object(i),n,r);if(i[u.nodeKey]===e)return i;if(i[u.childrenKey])return n(null,i[u.childrenKey])};return n(null,u.nodes)}function I(){return w.value.map(e=>F(e))}function L(){return T.value.map(e=>F(e))}function R(e){return e&&P.value[e]?P.value[e].expanded:!1}function z(){u.expanded===void 0?T.value=[]:g(`update:expanded`,[])}function B(){let e=[],t=n=>{n[u.childrenKey]&&n[u.childrenKey].length!==0&&n.expandable!==!1&&n.disabled!==!0&&(e.push(n[u.nodeKey]),n[u.childrenKey].forEach(t))};u.nodes.forEach(t),u.expanded===void 0?T.value=e:g(`update:expanded`,e)}function V(e,n,r=F(e),i=P.value[e]){if(i.lazy&&i.lazy!==`loaded`){if(i.lazy===`loading`)return;C.value[e]=`loading`,Array.isArray(r[u.childrenKey])!==!0&&(r[u.childrenKey]=[]),g(`lazyLoad`,{node:r,key:e,done:n=>{C.value[e]=`loaded`,r[u.childrenKey]=Array.isArray(n)===!0?n:[],t(()=>{P.value[e]?.isParent===!0&&H(e,!0)})},fail:()=>{delete C.value[e],r[u.childrenKey].length===0&&delete r[u.childrenKey]}})}else i.isParent===!0&&i.expandable===!0&&H(e,n)}function H(e,t){let n=T.value,r=u.expanded!==void 0;if(r===!0&&(n=n.slice()),t){if(u.accordion&&P.value[e]){let t=[];P.value[e].parent?P.value[e].parent.children.forEach(n=>{n.key!==e&&n.expandable===!0&&t.push(n.key)}):u.nodes.forEach(n=>{let r=n[u.nodeKey];r!==e&&t.push(r)}),t.length!==0&&(n=n.filter(e=>t.includes(e)===!1))}n=n.concat([e]).filter((e,t,n)=>n.indexOf(e)===t)}else n=n.filter(t=>t!==e);r===!0?g(`update:expanded`,n):T.value=n}function U(e){return e&&P.value[e]?P.value[e].ticked:!1}function W(e,t){let n=w.value,r=u.ticked!==void 0;r===!0&&(n=n.slice()),n=t?n.concat(e).filter((e,t,n)=>n.indexOf(e)===t):n.filter(t=>e.includes(t)===!1),r===!0&&g(`update:ticked`,n)}function G(e,t,n){let r={tree:b,node:e,key:n,color:u.color,dark:S.value};return c(r,`expanded`,()=>t.expanded,e=>{e!==t.expanded&&V(n,e)}),c(r,`ticked`,()=>t.ticked,e=>{e!==t.ticked&&W([n],e)}),r}function K(e){return(u.filter?e.filter(e=>P.value[e[u.nodeKey]].matchesFilter):e).map(e=>X(e))}function q(t){if(t.icon!==void 0)return e(_,{class:`q-tree__icon q-mr-sm`,name:t.icon,color:t.iconColor});let n=t.img||t.avatar;if(n)return e(`img`,{class:`q-tree__${t.img?`img`:`avatar`} q-mr-sm`,src:n})}function J(){g(`afterShow`)}function Y(){g(`afterHide`)}function X(t){let r=t[u.nodeKey],i=P.value[r],a=t.header&&h[`header-${t.header}`]||h[`default-header`],o=i.isParent===!0?K(t[u.childrenKey]):[],s=o.length!==0||i.lazy&&i.lazy!==`loaded`,c=t.body&&h[`body-${t.body}`]||h[`default-body`],m=a!==void 0||c!==void 0?G(t,i,r):null;return c!==void 0&&(c=e(`div`,{class:`q-tree__node-body relative-position`},[e(`div`,{class:j.value},[c(m)])])),e(`div`,{key:r,class:`q-tree__node relative-position q-tree__node--${s===!0?`parent`:`child`}`},[e(`div`,{class:`q-tree__node-header relative-position row no-wrap items-center`+(i.link===!0?` q-tree__node--link q-hoverable q-focusable`:``)+(i.selected===!0?` q-tree__node--selected`:``)+(i.disabled===!0?` q-tree__node--disabled`:``),tabindex:i.link===!0?0:-1,ariaExpanded:o.length>0?i.expanded:null,role:`treeitem`,onClick:e=>{Q(t,i,e)},onKeypress(e){d(e)!==!0&&(e.keyCode===13?Q(t,i,e,!0):e.keyCode===32&&$(t,i,e,!0))}},[e(`div`,{class:`q-focus-helper`,tabindex:-1,ref:e=>{E[i.key]=e}}),i.lazy===`loading`?e(p,{class:`q-tree__spinner`,color:A.value}):s===!0?e(_,{class:`q-tree__arrow`+(i.expanded===!0?` q-tree__arrow--rotate`:``),name:k.value,onClick(e){$(t,i,e)}}):null,i.hasTicking===!0&&i.noTick!==!0?e(v,{class:`q-tree__tickbox`,modelValue:i.indeterminate===!0?null:i.ticked,color:A.value,dark:S.value,dense:!0,keepColor:!0,disable:i.tickable!==!0,onKeydown:l,"onUpdate:modelValue":e=>{ee(i,e)}}):null,e(`div`,{class:`q-tree__node-header-content col row no-wrap items-center`+(i.selected===!0?M.value:j.value)},[a?a(m):[q(t),e(`div`,t[u.labelKey])]])]),s===!0?u.noTransition===!0?i.expanded===!0?e(`div`,{class:`q-tree__node-collapsible`+j.value,key:`${r}__q`},[c,e(`div`,{class:`q-tree__children`+(i.disabled===!0?` q-tree__node--disabled`:``),role:`group`},o)]):null:e(y,{duration:u.duration,onShow:J,onHide:Y},()=>n(e(`div`,{class:`q-tree__node-collapsible`+j.value,key:`${r}__q`},[c,e(`div`,{class:`q-tree__children`+(i.disabled===!0?` q-tree__node--disabled`:``),role:`group`},o)]),[[f,i.expanded]])):c])}function Z(e){E[e]?.focus()}function Q(e,t,n,r){r!==!0&&t.selectable!==!1&&Z(t.key),O.value&&t.selectable?u.noSelectionUnset===!1?g(`update:selected`,t.key===u.selected?null:t.key):t.key!==u.selected&&g(`update:selected`,t.key===void 0?null:t.key):$(e,t,n,r),typeof e.handler==`function`&&e.handler(e)}function $(e,t,n,r){n!==void 0&&l(n),r!==!0&&t.selectable!==!1&&Z(t.key),V(t.key,!t.expanded,e,t)}function ee(e,t){if(e.indeterminate===!0&&(t=e.indeterminateNextState),e.strictTicking)W([e.key],t);else if(e.leafTicking){let n=[],r=e=>{e.isParent?(t!==!0&&e.noTick!==!0&&e.tickable===!0&&n.push(e.key),e.leafTicking===!0&&e.children.forEach(r)):e.noTick!==!0&&e.tickable===!0&&(e.leafFilteredTicking!==!0||e.matchesFilter===!0)&&n.push(e.key)};r(e),W(n,t)}}return u.defaultExpandAll===!0&&B(),Object.assign(b,{getNodeByKey:F,getTickedNodes:I,getExpandedNodes:L,isExpanded:R,collapseAll:z,expandAll:B,setExpanded:V,isTicked:U,setTicked:W}),()=>{let t=K(u.nodes);return e(`div`,{class:D.value,role:`tree`},t.length===0?u.filter?u.noResultsLabel||x.lang.tree.noResults:u.noNodesLabel||x.lang.tree.noNodes:t)}}});function C(e){let t=[];for(let n of e){let e=n.path.split(`/`).filter(e=>e.length>0);if(e.length===0)continue;let r=t,i=``;for(let t=0;t<e.length-1;t++){let n=e[t];i=i?`${i}/${n}`:n;let a=r.find(e=>e.isFolder&&e.label===n);a||(a={label:n,nodeKey:`dir:${i}`,isFolder:!0,children:[]},r.push(a)),r=a.children}r.push({label:e[e.length-1],nodeKey:`file:${n.path}`,file:n})}function n(e){e.sort((e,t)=>{let n=e.isFolder===!0;return n===(t.isFolder===!0)?e.label.localeCompare(t.label):n?-1:1});for(let t of e)t.children&&n(t.children)}return n(t),t}function w(e){let t=0;for(let n of e)n.file&&t++,n.children&&(t+=w(n.children));return t}export{b as i,w as n,S as r,C as t};
|
|
Binary file
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{m as e}from"./editor.api-DYWJPPWs.js";var t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,a=(e,a,o,s)=>{if(a&&typeof a==`object`||typeof a==`function`)for(let c of r(a))!i.call(e,c)&&c!==o&&t(e,c,{get:()=>a[c],enumerable:!(s=n(a,c))||s.enumerable});return e},o=(e,t,n)=>(a(e,t,`default`),n&&a(n,t,`default`)),s={};o(s,e);function c(e,t){let n=globalThis.MonacoEnvironment;if(n?.createTrustedTypesPolicy)try{return n.createTrustedTypesPolicy(e,t)}catch(e){console.error(e);return}try{return globalThis.trustedTypes?.createPolicy(e,t)}catch(e){console.error(e);return}}var l=typeof self==`object`&&self.constructor&&self.constructor.name===`DedicatedWorkerGlobalScope`&&globalThis.workerttPolicy!==void 0?globalThis.workerttPolicy:c(`defaultWorkerFactory`,{createScriptURL:e=>e});function ee(e){let t=e.label,n=globalThis.MonacoEnvironment;if(n){if(typeof n.getWorker==`function`)return n.getWorker(`workerMain.js`,t);if(typeof n.getWorkerUrl==`function`){let e=n.getWorkerUrl(`workerMain.js`,t);return new Worker(l?l.createScriptURL(e):e,{name:t,type:`module`})}}throw Error(`You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker`)}function u(e){let t=Promise.resolve(ee({label:e.label??`monaco-editor-worker`,moduleId:e.moduleId})).then(t=>(t.postMessage(`ignore`),t.postMessage(e.createData),t));return s.editor.createWebWorker({worker:t,host:e.host,keepIdleModels:e.keepIdleModels})}var d=120*1e3,f=class{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),30*1e3),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){this._worker&&Date.now()-this._lastUsedTime>d&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||=(this._worker=u({moduleId:`vs/language/css/cssWorker`,label:this._defaults.languageId,createData:{options:this._defaults.options,languageId:this._defaults.languageId}}),this._worker.getProxy()),this._client}getLanguageServiceWorker(...e){let t;return this._getClient().then(e=>{t=e}).then(t=>{if(this._worker)return this._worker.withSyncedResources(e)}).then(e=>t)}},te;(function(e){function t(e){return typeof e==`string`}e.is=t})(te||={});var p;(function(e){function t(e){return typeof e==`string`}e.is=t})(p||={});var ne;(function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647;function t(t){return typeof t==`number`&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}e.is=t})(ne||={});var m;(function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647;function t(t){return typeof t==`number`&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}e.is=t})(m||={});var h;(function(e){function t(e,t){return e===Number.MAX_VALUE&&(e=m.MAX_VALUE),t===Number.MAX_VALUE&&(t=m.MAX_VALUE),{line:e,character:t}}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&U.uinteger(t.line)&&U.uinteger(t.character)}e.is=n})(h||={});var g;(function(e){function t(e,t,n,r){if(U.uinteger(e)&&U.uinteger(t)&&U.uinteger(n)&&U.uinteger(r))return{start:h.create(e,t),end:h.create(n,r)};if(h.is(e)&&h.is(t))return{start:e,end:t};throw Error(`Range#create called with invalid arguments[${e}, ${t}, ${n}, ${r}]`)}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&h.is(t.start)&&h.is(t.end)}e.is=n})(g||={});var _;(function(e){function t(e,t){return{uri:e,range:t}}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&g.is(t.range)&&(U.string(t.uri)||U.undefined(t.uri))}e.is=n})(_||={});var re;(function(e){function t(e,t,n,r){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:r}}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&g.is(t.targetRange)&&U.string(t.targetUri)&&g.is(t.targetSelectionRange)&&(g.is(t.originSelectionRange)||U.undefined(t.originSelectionRange))}e.is=n})(re||={});var v;(function(e){function t(e,t,n,r){return{red:e,green:t,blue:n,alpha:r}}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&U.numberRange(t.red,0,1)&&U.numberRange(t.green,0,1)&&U.numberRange(t.blue,0,1)&&U.numberRange(t.alpha,0,1)}e.is=n})(v||={});var ie;(function(e){function t(e,t){return{range:e,color:t}}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&g.is(t.range)&&v.is(t.color)}e.is=n})(ie||={});var ae;(function(e){function t(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&U.string(t.label)&&(U.undefined(t.textEdit)||w.is(t))&&(U.undefined(t.additionalTextEdits)||U.typedArray(t.additionalTextEdits,w.is))}e.is=n})(ae||={});var y;(function(e){e.Comment=`comment`,e.Imports=`imports`,e.Region=`region`})(y||={});var oe;(function(e){function t(e,t,n,r,i,a){let o={startLine:e,endLine:t};return U.defined(n)&&(o.startCharacter=n),U.defined(r)&&(o.endCharacter=r),U.defined(i)&&(o.kind=i),U.defined(a)&&(o.collapsedText=a),o}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&U.uinteger(t.startLine)&&U.uinteger(t.startLine)&&(U.undefined(t.startCharacter)||U.uinteger(t.startCharacter))&&(U.undefined(t.endCharacter)||U.uinteger(t.endCharacter))&&(U.undefined(t.kind)||U.string(t.kind))}e.is=n})(oe||={});var b;(function(e){function t(e,t){return{location:e,message:t}}e.create=t;function n(e){let t=e;return U.defined(t)&&_.is(t.location)&&U.string(t.message)}e.is=n})(b||={});var x;(function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4})(x||={});var se;(function(e){e.Unnecessary=1,e.Deprecated=2})(se||={});var ce;(function(e){function t(e){let t=e;return U.objectLiteral(t)&&U.string(t.href)}e.is=t})(ce||={});var S;(function(e){function t(e,t,n,r,i,a){let o={range:e,message:t};return U.defined(n)&&(o.severity=n),U.defined(r)&&(o.code=r),U.defined(i)&&(o.source=i),U.defined(a)&&(o.relatedInformation=a),o}e.create=t;function n(e){let t=e;return U.defined(t)&&g.is(t.range)&&U.string(t.message)&&(U.number(t.severity)||U.undefined(t.severity))&&(U.integer(t.code)||U.string(t.code)||U.undefined(t.code))&&(U.undefined(t.codeDescription)||U.string(t.codeDescription?.href))&&(U.string(t.source)||U.undefined(t.source))&&(U.undefined(t.relatedInformation)||U.typedArray(t.relatedInformation,b.is))}e.is=n})(S||={});var C;(function(e){function t(e,t,...n){let r={title:e,command:t};return U.defined(n)&&n.length>0&&(r.arguments=n),r}e.create=t;function n(e){let t=e;return U.defined(t)&&U.string(t.title)&&U.string(t.command)}e.is=n})(C||={});var w;(function(e){function t(e,t){return{range:e,newText:t}}e.replace=t;function n(e,t){return{range:{start:e,end:e},newText:t}}e.insert=n;function r(e){return{range:e,newText:``}}e.del=r;function i(e){let t=e;return U.objectLiteral(t)&&U.string(t.newText)&&g.is(t.range)}e.is=i})(w||={});var T;(function(e){function t(e,t,n){let r={label:e};return t!==void 0&&(r.needsConfirmation=t),n!==void 0&&(r.description=n),r}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&U.string(t.label)&&(U.boolean(t.needsConfirmation)||t.needsConfirmation===void 0)&&(U.string(t.description)||t.description===void 0)}e.is=n})(T||={});var E;(function(e){function t(e){let t=e;return U.string(t)}e.is=t})(E||={});var le;(function(e){function t(e,t,n){return{range:e,newText:t,annotationId:n}}e.replace=t;function n(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}}e.insert=n;function r(e,t){return{range:e,newText:``,annotationId:t}}e.del=r;function i(e){let t=e;return w.is(t)&&(T.is(t.annotationId)||E.is(t.annotationId))}e.is=i})(le||={});var D;(function(e){function t(e,t){return{textDocument:e,edits:t}}e.create=t;function n(e){let t=e;return U.defined(t)&&M.is(t.textDocument)&&Array.isArray(t.edits)}e.is=n})(D||={});var O;(function(e){function t(e,t,n){let r={kind:`create`,uri:e};return t!==void 0&&(t.overwrite!==void 0||t.ignoreIfExists!==void 0)&&(r.options=t),n!==void 0&&(r.annotationId=n),r}e.create=t;function n(e){let t=e;return t&&t.kind===`create`&&U.string(t.uri)&&(t.options===void 0||(t.options.overwrite===void 0||U.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||U.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||E.is(t.annotationId))}e.is=n})(O||={});var k;(function(e){function t(e,t,n,r){let i={kind:`rename`,oldUri:e,newUri:t};return n!==void 0&&(n.overwrite!==void 0||n.ignoreIfExists!==void 0)&&(i.options=n),r!==void 0&&(i.annotationId=r),i}e.create=t;function n(e){let t=e;return t&&t.kind===`rename`&&U.string(t.oldUri)&&U.string(t.newUri)&&(t.options===void 0||(t.options.overwrite===void 0||U.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||U.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||E.is(t.annotationId))}e.is=n})(k||={});var A;(function(e){function t(e,t,n){let r={kind:`delete`,uri:e};return t!==void 0&&(t.recursive!==void 0||t.ignoreIfNotExists!==void 0)&&(r.options=t),n!==void 0&&(r.annotationId=n),r}e.create=t;function n(e){let t=e;return t&&t.kind===`delete`&&U.string(t.uri)&&(t.options===void 0||(t.options.recursive===void 0||U.boolean(t.options.recursive))&&(t.options.ignoreIfNotExists===void 0||U.boolean(t.options.ignoreIfNotExists)))&&(t.annotationId===void 0||E.is(t.annotationId))}e.is=n})(A||={});var j;(function(e){function t(e){let t=e;return t&&(t.changes!==void 0||t.documentChanges!==void 0)&&(t.documentChanges===void 0||t.documentChanges.every(e=>U.string(e.kind)?O.is(e)||k.is(e)||A.is(e):D.is(e)))}e.is=t})(j||={});var ue;(function(e){function t(e){return{uri:e}}e.create=t;function n(e){let t=e;return U.defined(t)&&U.string(t.uri)}e.is=n})(ue||={});var de;(function(e){function t(e,t){return{uri:e,version:t}}e.create=t;function n(e){let t=e;return U.defined(t)&&U.string(t.uri)&&U.integer(t.version)}e.is=n})(de||={});var M;(function(e){function t(e,t){return{uri:e,version:t}}e.create=t;function n(e){let t=e;return U.defined(t)&&U.string(t.uri)&&(t.version===null||U.integer(t.version))}e.is=n})(M||={});var fe;(function(e){function t(e,t,n,r){return{uri:e,languageId:t,version:n,text:r}}e.create=t;function n(e){let t=e;return U.defined(t)&&U.string(t.uri)&&U.string(t.languageId)&&U.integer(t.version)&&U.string(t.text)}e.is=n})(fe||={});var N;(function(e){e.PlainText=`plaintext`,e.Markdown=`markdown`;function t(t){let n=t;return n===e.PlainText||n===e.Markdown}e.is=t})(N||={});var P;(function(e){function t(e){let t=e;return U.objectLiteral(e)&&N.is(t.kind)&&U.string(t.value)}e.is=t})(P||={});var F;(function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25})(F||={});var I;(function(e){e.PlainText=1,e.Snippet=2})(I||={});var pe;(function(e){e.Deprecated=1})(pe||={});var me;(function(e){function t(e,t,n){return{newText:e,insert:t,replace:n}}e.create=t;function n(e){let t=e;return t&&U.string(t.newText)&&g.is(t.insert)&&g.is(t.replace)}e.is=n})(me||={});var he;(function(e){e.asIs=1,e.adjustIndentation=2})(he||={});var ge;(function(e){function t(e){let t=e;return t&&(U.string(t.detail)||t.detail===void 0)&&(U.string(t.description)||t.description===void 0)}e.is=t})(ge||={});var _e;(function(e){function t(e){return{label:e}}e.create=t})(_e||={});var ve;(function(e){function t(e,t){return{items:e||[],isIncomplete:!!t}}e.create=t})(ve||={});var L;(function(e){function t(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,`\\$&`)}e.fromPlainText=t;function n(e){let t=e;return U.string(t)||U.objectLiteral(t)&&U.string(t.language)&&U.string(t.value)}e.is=n})(L||={});var ye;(function(e){function t(e){let t=e;return!!t&&U.objectLiteral(t)&&(P.is(t.contents)||L.is(t.contents)||U.typedArray(t.contents,L.is))&&(e.range===void 0||g.is(e.range))}e.is=t})(ye||={});var be;(function(e){function t(e,t){return t?{label:e,documentation:t}:{label:e}}e.create=t})(be||={});var xe;(function(e){function t(e,t,...n){let r={label:e};return U.defined(t)&&(r.documentation=t),U.defined(n)?r.parameters=n:r.parameters=[],r}e.create=t})(xe||={});var R;(function(e){e.Text=1,e.Read=2,e.Write=3})(R||={});var Se;(function(e){function t(e,t){let n={range:e};return U.number(t)&&(n.kind=t),n}e.create=t})(Se||={});var z;(function(e){e.File=1,e.Module=2,e.Namespace=3,e.Package=4,e.Class=5,e.Method=6,e.Property=7,e.Field=8,e.Constructor=9,e.Enum=10,e.Interface=11,e.Function=12,e.Variable=13,e.Constant=14,e.String=15,e.Number=16,e.Boolean=17,e.Array=18,e.Object=19,e.Key=20,e.Null=21,e.EnumMember=22,e.Struct=23,e.Event=24,e.Operator=25,e.TypeParameter=26})(z||={});var Ce;(function(e){e.Deprecated=1})(Ce||={});var we;(function(e){function t(e,t,n,r,i){let a={name:e,kind:t,location:{uri:r,range:n}};return i&&(a.containerName=i),a}e.create=t})(we||={});var Te;(function(e){function t(e,t,n,r){return r===void 0?{name:e,kind:t,location:{uri:n}}:{name:e,kind:t,location:{uri:n,range:r}}}e.create=t})(Te||={});var Ee;(function(e){function t(e,t,n,r,i,a){let o={name:e,detail:t,kind:n,range:r,selectionRange:i};return a!==void 0&&(o.children=a),o}e.create=t;function n(e){let t=e;return t&&U.string(t.name)&&U.number(t.kind)&&g.is(t.range)&&g.is(t.selectionRange)&&(t.detail===void 0||U.string(t.detail))&&(t.deprecated===void 0||U.boolean(t.deprecated))&&(t.children===void 0||Array.isArray(t.children))&&(t.tags===void 0||Array.isArray(t.tags))}e.is=n})(Ee||={});var De;(function(e){e.Empty=``,e.QuickFix=`quickfix`,e.Refactor=`refactor`,e.RefactorExtract=`refactor.extract`,e.RefactorInline=`refactor.inline`,e.RefactorRewrite=`refactor.rewrite`,e.Source=`source`,e.SourceOrganizeImports=`source.organizeImports`,e.SourceFixAll=`source.fixAll`})(De||={});var B;(function(e){e.Invoked=1,e.Automatic=2})(B||={});var Oe;(function(e){function t(e,t,n){let r={diagnostics:e};return t!=null&&(r.only=t),n!=null&&(r.triggerKind=n),r}e.create=t;function n(e){let t=e;return U.defined(t)&&U.typedArray(t.diagnostics,S.is)&&(t.only===void 0||U.typedArray(t.only,U.string))&&(t.triggerKind===void 0||t.triggerKind===B.Invoked||t.triggerKind===B.Automatic)}e.is=n})(Oe||={});var ke;(function(e){function t(e,t,n){let r={title:e},i=!0;return typeof t==`string`?(i=!1,r.kind=t):C.is(t)?r.command=t:r.edit=t,i&&n!==void 0&&(r.kind=n),r}e.create=t;function n(e){let t=e;return t&&U.string(t.title)&&(t.diagnostics===void 0||U.typedArray(t.diagnostics,S.is))&&(t.kind===void 0||U.string(t.kind))&&(t.edit!==void 0||t.command!==void 0)&&(t.command===void 0||C.is(t.command))&&(t.isPreferred===void 0||U.boolean(t.isPreferred))&&(t.edit===void 0||j.is(t.edit))}e.is=n})(ke||={});var Ae;(function(e){function t(e,t){let n={range:e};return U.defined(t)&&(n.data=t),n}e.create=t;function n(e){let t=e;return U.defined(t)&&g.is(t.range)&&(U.undefined(t.command)||C.is(t.command))}e.is=n})(Ae||={});var je;(function(e){function t(e,t){return{tabSize:e,insertSpaces:t}}e.create=t;function n(e){let t=e;return U.defined(t)&&U.uinteger(t.tabSize)&&U.boolean(t.insertSpaces)}e.is=n})(je||={});var Me;(function(e){function t(e,t,n){return{range:e,target:t,data:n}}e.create=t;function n(e){let t=e;return U.defined(t)&&g.is(t.range)&&(U.undefined(t.target)||U.string(t.target))}e.is=n})(Me||={});var Ne;(function(e){function t(e,t){return{range:e,parent:t}}e.create=t;function n(t){let n=t;return U.objectLiteral(n)&&g.is(n.range)&&(n.parent===void 0||e.is(n.parent))}e.is=n})(Ne||={});var Pe;(function(e){e.namespace=`namespace`,e.type=`type`,e.class=`class`,e.enum=`enum`,e.interface=`interface`,e.struct=`struct`,e.typeParameter=`typeParameter`,e.parameter=`parameter`,e.variable=`variable`,e.property=`property`,e.enumMember=`enumMember`,e.event=`event`,e.function=`function`,e.method=`method`,e.macro=`macro`,e.keyword=`keyword`,e.modifier=`modifier`,e.comment=`comment`,e.string=`string`,e.number=`number`,e.regexp=`regexp`,e.operator=`operator`,e.decorator=`decorator`})(Pe||={});var Fe;(function(e){e.declaration=`declaration`,e.definition=`definition`,e.readonly=`readonly`,e.static=`static`,e.deprecated=`deprecated`,e.abstract=`abstract`,e.async=`async`,e.modification=`modification`,e.documentation=`documentation`,e.defaultLibrary=`defaultLibrary`})(Fe||={});var Ie;(function(e){function t(e){let t=e;return U.objectLiteral(t)&&(t.resultId===void 0||typeof t.resultId==`string`)&&Array.isArray(t.data)&&(t.data.length===0||typeof t.data[0]==`number`)}e.is=t})(Ie||={});var Le;(function(e){function t(e,t){return{range:e,text:t}}e.create=t;function n(e){let t=e;return t!=null&&g.is(t.range)&&U.string(t.text)}e.is=n})(Le||={});var Re;(function(e){function t(e,t,n){return{range:e,variableName:t,caseSensitiveLookup:n}}e.create=t;function n(e){let t=e;return t!=null&&g.is(t.range)&&U.boolean(t.caseSensitiveLookup)&&(U.string(t.variableName)||t.variableName===void 0)}e.is=n})(Re||={});var ze;(function(e){function t(e,t){return{range:e,expression:t}}e.create=t;function n(e){let t=e;return t!=null&&g.is(t.range)&&(U.string(t.expression)||t.expression===void 0)}e.is=n})(ze||={});var Be;(function(e){function t(e,t){return{frameId:e,stoppedLocation:t}}e.create=t;function n(e){let t=e;return U.defined(t)&&g.is(e.stoppedLocation)}e.is=n})(Be||={});var V;(function(e){e.Type=1,e.Parameter=2;function t(e){return e===1||e===2}e.is=t})(V||={});var H;(function(e){function t(e){return{value:e}}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&(t.tooltip===void 0||U.string(t.tooltip)||P.is(t.tooltip))&&(t.location===void 0||_.is(t.location))&&(t.command===void 0||C.is(t.command))}e.is=n})(H||={});var Ve;(function(e){function t(e,t,n){let r={position:e,label:t};return n!==void 0&&(r.kind=n),r}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&h.is(t.position)&&(U.string(t.label)||U.typedArray(t.label,H.is))&&(t.kind===void 0||V.is(t.kind))&&t.textEdits===void 0||U.typedArray(t.textEdits,w.is)&&(t.tooltip===void 0||U.string(t.tooltip)||P.is(t.tooltip))&&(t.paddingLeft===void 0||U.boolean(t.paddingLeft))&&(t.paddingRight===void 0||U.boolean(t.paddingRight))}e.is=n})(Ve||={});var He;(function(e){function t(e){return{kind:`snippet`,value:e}}e.createSnippet=t})(He||={});var Ue;(function(e){function t(e,t,n,r){return{insertText:e,filterText:t,range:n,command:r}}e.create=t})(Ue||={});var We;(function(e){function t(e){return{items:e}}e.create=t})(We||={});var Ge;(function(e){e.Invoked=0,e.Automatic=1})(Ge||={});var Ke;(function(e){function t(e,t){return{range:e,text:t}}e.create=t})(Ke||={});var qe;(function(e){function t(e,t){return{triggerKind:e,selectedCompletionInfo:t}}e.create=t})(qe||={});var Je;(function(e){function t(e){let t=e;return U.objectLiteral(t)&&p.is(t.uri)&&U.string(t.name)}e.is=t})(Je||={});var Ye;(function(e){function t(e,t,n,r){return new Xe(e,t,n,r)}e.create=t;function n(e){let t=e;return!!(U.defined(t)&&U.string(t.uri)&&(U.undefined(t.languageId)||U.string(t.languageId))&&U.uinteger(t.lineCount)&&U.func(t.getText)&&U.func(t.positionAt)&&U.func(t.offsetAt))}e.is=n;function r(e,t){let n=e.getText(),r=i(t,(e,t)=>{let n=e.range.start.line-t.range.start.line;return n===0?e.range.start.character-t.range.start.character:n}),a=n.length;for(let t=r.length-1;t>=0;t--){let i=r[t],o=e.offsetAt(i.range.start),s=e.offsetAt(i.range.end);if(s<=a)n=n.substring(0,o)+i.newText+n.substring(s,n.length);else throw Error(`Overlapping edit`);a=o}return n}e.applyEdits=r;function i(e,t){if(e.length<=1)return e;let n=e.length/2|0,r=e.slice(0,n),a=e.slice(n);i(r,t),i(a,t);let o=0,s=0,c=0;for(;o<r.length&&s<a.length;)t(r[o],a[s])<=0?e[c++]=r[o++]:e[c++]=a[s++];for(;o<r.length;)e[c++]=r[o++];for(;s<a.length;)e[c++]=a[s++];return e}})(Ye||={});var Xe=class{constructor(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content}update(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],t=this._content,n=!0;for(let r=0;r<t.length;r++){n&&=(e.push(r),!1);let i=t.charAt(r);n=i===`\r`||i===`
|
|
2
|
-
`,i===`\r`&&r+1<t.length&&t.charAt(r+1)===`
|
|
3
|
-
`&&r++}n&&t.length>0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),n=0,r=t.length;if(r===0)return h.create(0,e);for(;n<r;){let i=Math.floor((n+r)/2);t[i]>e?r=i:n=i+1}let i=n-1;return h.create(i,e-t[i])}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let n=t[e.line],r=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(n+e.character,r),n)}get lineCount(){return this.getLineOffsets().length}},U;(function(e){let t=Object.prototype.toString;function n(e){return e!==void 0}e.defined=n;function r(e){return e===void 0}e.undefined=r;function i(e){return e===!0||e===!1}e.boolean=i;function a(e){return t.call(e)===`[object String]`}e.string=a;function o(e){return t.call(e)===`[object Number]`}e.number=o;function s(e,n,r){return t.call(e)===`[object Number]`&&n<=e&&e<=r}e.numberRange=s;function c(e){return t.call(e)===`[object Number]`&&-2147483648<=e&&e<=2147483647}e.integer=c;function l(e){return t.call(e)===`[object Number]`&&0<=e&&e<=2147483647}e.uinteger=l;function ee(e){return t.call(e)===`[object Function]`}e.func=ee;function u(e){return typeof e==`object`&&!!e}e.objectLiteral=u;function d(e,t){return Array.isArray(e)&&e.every(t)}e.typedArray=d})(U||={});var W=class{constructor(e,t,n){this._languageId=e,this._worker=t,this._disposables=[],this._listener=Object.create(null);let r=e=>{let t=e.getLanguageId();if(t!==this._languageId)return;let n;this._listener[e.uri.toString()]=e.onDidChangeContent(()=>{window.clearTimeout(n),n=window.setTimeout(()=>this._doValidate(e.uri,t),500)}),this._doValidate(e.uri,t)},i=e=>{s.editor.setModelMarkers(e,this._languageId,[]);let t=e.uri.toString(),n=this._listener[t];n&&(n.dispose(),delete this._listener[t])};this._disposables.push(s.editor.onDidCreateModel(r)),this._disposables.push(s.editor.onWillDisposeModel(i)),this._disposables.push(s.editor.onDidChangeModelLanguage(e=>{i(e.model),r(e.model)})),this._disposables.push(n(e=>{s.editor.getModels().forEach(e=>{e.getLanguageId()===this._languageId&&(i(e),r(e))})})),this._disposables.push({dispose:()=>{s.editor.getModels().forEach(i);for(let e in this._listener)this._listener[e].dispose()}}),s.editor.getModels().forEach(r)}dispose(){this._disposables.forEach(e=>e&&e.dispose()),this._disposables.length=0}_doValidate(e,t){this._worker(e).then(t=>t.doValidation(e.toString())).then(n=>{let r=n.map(t=>Qe(e,t)),i=s.editor.getModel(e);i&&i.getLanguageId()===t&&s.editor.setModelMarkers(i,t,r)}).then(void 0,e=>{console.error(e)})}};function Ze(e){switch(e){case x.Error:return s.MarkerSeverity.Error;case x.Warning:return s.MarkerSeverity.Warning;case x.Information:return s.MarkerSeverity.Info;case x.Hint:return s.MarkerSeverity.Hint;default:return s.MarkerSeverity.Info}}function Qe(e,t){let n=typeof t.code==`number`?String(t.code):t.code;return{severity:Ze(t.severity),startLineNumber:t.range.start.line+1,startColumn:t.range.start.character+1,endLineNumber:t.range.end.line+1,endColumn:t.range.end.character+1,message:t.message,code:n,source:t.source}}var $e=class{constructor(e,t){this._worker=e,this._triggerCharacters=t}get triggerCharacters(){return this._triggerCharacters}provideCompletionItems(e,t,n,r){let i=e.uri;return this._worker(i).then(e=>e.doComplete(i.toString(),G(t))).then(n=>{if(!n)return;let r=e.getWordUntilPosition(t),i=new s.Range(t.lineNumber,r.startColumn,t.lineNumber,r.endColumn),a=n.items.map(e=>{let t={label:e.label,insertText:e.insertText||e.label,sortText:e.sortText,filterText:e.filterText,documentation:e.documentation,detail:e.detail,command:nt(e.command),range:i,kind:tt(e.kind)};return e.textEdit&&(et(e.textEdit)?t.range={insert:q(e.textEdit.insert),replace:q(e.textEdit.replace)}:t.range=q(e.textEdit.range),t.insertText=e.textEdit.newText),e.additionalTextEdits&&(t.additionalTextEdits=e.additionalTextEdits.map(J)),e.insertTextFormat===I.Snippet&&(t.insertTextRules=s.languages.CompletionItemInsertTextRule.InsertAsSnippet),t});return{isIncomplete:n.isIncomplete,suggestions:a}})}};function G(e){if(e)return{character:e.column-1,line:e.lineNumber-1}}function K(e){if(e)return{start:{line:e.startLineNumber-1,character:e.startColumn-1},end:{line:e.endLineNumber-1,character:e.endColumn-1}}}function q(e){if(e)return new s.Range(e.start.line+1,e.start.character+1,e.end.line+1,e.end.character+1)}function et(e){return e.insert!==void 0&&e.replace!==void 0}function tt(e){let t=s.languages.CompletionItemKind;switch(e){case F.Text:return t.Text;case F.Method:return t.Method;case F.Function:return t.Function;case F.Constructor:return t.Constructor;case F.Field:return t.Field;case F.Variable:return t.Variable;case F.Class:return t.Class;case F.Interface:return t.Interface;case F.Module:return t.Module;case F.Property:return t.Property;case F.Unit:return t.Unit;case F.Value:return t.Value;case F.Enum:return t.Enum;case F.Keyword:return t.Keyword;case F.Snippet:return t.Snippet;case F.Color:return t.Color;case F.File:return t.File;case F.Reference:return t.Reference}return t.Property}function J(e){if(e)return{range:q(e.range),text:e.newText}}function nt(e){return e&&e.command===`editor.action.triggerSuggest`?{id:e.command,title:e.title,arguments:e.arguments}:void 0}var Y=class{constructor(e){this._worker=e}provideHover(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.doHover(r.toString(),G(t))).then(e=>{if(e)return{range:q(e.range),contents:it(e.contents)}})}};function rt(e){return e&&typeof e==`object`&&typeof e.kind==`string`}function X(e){return typeof e==`string`?{value:e}:rt(e)?e.kind===`plaintext`?{value:e.value.replace(/[\\`*_{}[\]()#+\-.!]/g,`\\$&`)}:{value:e.value}:{value:"```"+e.language+`
|
|
4
|
-
`+e.value+"\n```\n"}}function it(e){if(e)return Array.isArray(e)?e.map(X):[X(e)]}var Z=class{constructor(e){this._worker=e}provideDocumentHighlights(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.findDocumentHighlights(r.toString(),G(t))).then(e=>{if(e)return e.map(e=>({range:q(e.range),kind:at(e.kind)}))})}};function at(e){switch(e){case R.Read:return s.languages.DocumentHighlightKind.Read;case R.Write:return s.languages.DocumentHighlightKind.Write;case R.Text:return s.languages.DocumentHighlightKind.Text}return s.languages.DocumentHighlightKind.Text}var Q=class{constructor(e){this._worker=e}provideDefinition(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.findDefinition(r.toString(),G(t))).then(e=>{if(e)return[ot(e)]})}};function ot(e){return{uri:s.Uri.parse(e.uri),range:q(e.range)}}var st=class{constructor(e){this._worker=e}provideReferences(e,t,n,r){let i=e.uri;return this._worker(i).then(e=>e.findReferences(i.toString(),G(t))).then(e=>{if(e)return e.map(ot)})}},ct=class{constructor(e){this._worker=e}provideRenameEdits(e,t,n,r){let i=e.uri;return this._worker(i).then(e=>e.doRename(i.toString(),G(t),n)).then(e=>lt(e))}};function lt(e){if(!e||!e.changes)return;let t=[];for(let n in e.changes){let r=s.Uri.parse(n);for(let i of e.changes[n])t.push({resource:r,versionId:void 0,textEdit:{range:q(i.range),text:i.newText}})}return{edits:t}}var ut=class{constructor(e){this._worker=e}provideDocumentSymbols(e,t){let n=e.uri;return this._worker(n).then(e=>e.findDocumentSymbols(n.toString())).then(e=>{if(e)return e.map(e=>dt(e)?ft(e):{name:e.name,detail:``,containerName:e.containerName,kind:$(e.kind),range:q(e.location.range),selectionRange:q(e.location.range),tags:[]})})}};function dt(e){return`children`in e}function ft(e){return{name:e.name,detail:e.detail??``,kind:$(e.kind),range:q(e.range),selectionRange:q(e.selectionRange),tags:e.tags??[],children:(e.children??[]).map(e=>ft(e))}}function $(e){let t=s.languages.SymbolKind;switch(e){case z.File:return t.File;case z.Module:return t.Module;case z.Namespace:return t.Namespace;case z.Package:return t.Package;case z.Class:return t.Class;case z.Method:return t.Method;case z.Property:return t.Property;case z.Field:return t.Field;case z.Constructor:return t.Constructor;case z.Enum:return t.Enum;case z.Interface:return t.Interface;case z.Function:return t.Function;case z.Variable:return t.Variable;case z.Constant:return t.Constant;case z.String:return t.String;case z.Number:return t.Number;case z.Boolean:return t.Boolean;case z.Array:return t.Array}return t.Function}var pt=class{constructor(e){this._worker=e}provideLinks(e,t){let n=e.uri;return this._worker(n).then(e=>e.findDocumentLinks(n.toString())).then(e=>{if(e)return{links:e.map(e=>({range:q(e.range),url:e.target}))}})}},mt=class{constructor(e){this._worker=e}provideDocumentFormattingEdits(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.format(r.toString(),null,gt(t)).then(e=>{if(!(!e||e.length===0))return e.map(J)}))}},ht=class{constructor(e){this._worker=e,this.canFormatMultipleRanges=!1}provideDocumentRangeFormattingEdits(e,t,n,r){let i=e.uri;return this._worker(i).then(e=>e.format(i.toString(),K(t),gt(n)).then(e=>{if(!(!e||e.length===0))return e.map(J)}))}};function gt(e){return{tabSize:e.tabSize,insertSpaces:e.insertSpaces}}var _t=class{constructor(e){this._worker=e}provideDocumentColors(e,t){let n=e.uri;return this._worker(n).then(e=>e.findDocumentColors(n.toString())).then(e=>{if(e)return e.map(e=>({color:e.color,range:q(e.range)}))})}provideColorPresentations(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.getColorPresentations(r.toString(),t.color,K(t.range))).then(e=>{if(e)return e.map(e=>{let t={label:e.label};return e.textEdit&&(t.textEdit=J(e.textEdit)),e.additionalTextEdits&&(t.additionalTextEdits=e.additionalTextEdits.map(J)),t})})}},vt=class{constructor(e){this._worker=e}provideFoldingRanges(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.getFoldingRanges(r.toString(),t)).then(e=>{if(e)return e.map(e=>{let t={start:e.startLine+1,end:e.endLine+1};return e.kind!==void 0&&(t.kind=yt(e.kind)),t})})}};function yt(e){switch(e){case y.Comment:return s.languages.FoldingRangeKind.Comment;case y.Imports:return s.languages.FoldingRangeKind.Imports;case y.Region:return s.languages.FoldingRangeKind.Region}}var bt=class{constructor(e){this._worker=e}provideSelectionRanges(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.getSelectionRanges(r.toString(),t.map(G))).then(e=>{if(e)return e.map(e=>{let t=[];for(;e;)t.push({range:q(e.range)}),e=e.parent;return t})})}};function xt(e){let t=[],n=[],r=new f(e);t.push(r);let i=(...e)=>r.getLanguageServiceWorker(...e);function a(){let{languageId:t,modeConfiguration:r}=e;Ct(n),r.completionItems&&n.push(s.languages.registerCompletionItemProvider(t,new $e(i,[`/`,`-`,`:`]))),r.hovers&&n.push(s.languages.registerHoverProvider(t,new Y(i))),r.documentHighlights&&n.push(s.languages.registerDocumentHighlightProvider(t,new Z(i))),r.definitions&&n.push(s.languages.registerDefinitionProvider(t,new Q(i))),r.references&&n.push(s.languages.registerReferenceProvider(t,new st(i))),r.documentSymbols&&n.push(s.languages.registerDocumentSymbolProvider(t,new ut(i))),r.rename&&n.push(s.languages.registerRenameProvider(t,new ct(i))),r.colors&&n.push(s.languages.registerColorProvider(t,new _t(i))),r.foldingRanges&&n.push(s.languages.registerFoldingRangeProvider(t,new vt(i))),r.diagnostics&&n.push(new W(t,i,e.onDidChange)),r.selectionRanges&&n.push(s.languages.registerSelectionRangeProvider(t,new bt(i))),r.documentFormattingEdits&&n.push(s.languages.registerDocumentFormattingEditProvider(t,new mt(i))),r.documentRangeFormattingEdits&&n.push(s.languages.registerDocumentRangeFormattingEditProvider(t,new ht(i)))}return a(),t.push(St(n)),St(t)}function St(e){return{dispose:()=>Ct(e)}}function Ct(e){for(;e.length;)e.pop().dispose()}export{$e as CompletionAdapter,Q as DefinitionAdapter,W as DiagnosticsAdapter,_t as DocumentColorAdapter,mt as DocumentFormattingEditProvider,Z as DocumentHighlightAdapter,pt as DocumentLinkAdapter,ht as DocumentRangeFormattingEditProvider,ut as DocumentSymbolAdapter,vt as FoldingRangeAdapter,Y as HoverAdapter,st as ReferenceAdapter,ct as RenameAdapter,bt as SelectionRangeAdapter,f as WorkerManager,G as fromPosition,K as fromRange,xt as setupMode,q as toRange,J as toTextEdit};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{et as e}from"./runtime-core.esm-bundler-D_RRiKBh.js";import{a as t}from"./use-id-BCnfiBjU.js";var n=t(`documents`,()=>{let t=e({}),n=e(!1),r=e(!1),i=e(null),a=e(0);function o(e){return t.value[e]??[]}async function s(e){n.value=!0;try{let n=await fetch(`/api/workspaces/${e}/documents`);if(!n.ok)throw Error(`HTTP ${n.status}`);let r=await n.json();t.value[e]=r.documents}catch(n){console.error(`[documents-store] fetchDocuments failed:`,n),t.value[e]=[]}finally{n.value=!1}}async function c(e,t){r.value=!0;try{let n=await fetch(`/api/workspaces/${e}/document?path=${encodeURIComponent(t.path)}`);if(!n.ok)throw Error(`HTTP ${n.status}`);let r=await n.json();i.value={path:r.path,name:t.name,content:r.content}}catch(e){throw console.error(`[documents-store] openDocument failed:`,e),e}finally{r.value=!1}}async function l(e,n){let r=()=>(t.value[e]??[]).find(e=>e.path===n)??null,i=r();return i||=(await s(e),r()),i?(await c(e,i),a.value++,!0):!1}function u(){i.value=null}function d(e){delete t.value[e],i.value=null}return{documentsByWorkspace:t,loadingList:n,loadingContent:r,selected:i,requestOpen:a,documentsFor:o,fetchDocuments:s,openDocument:c,openDocumentByPath:l,closeDocument:u,clearForWorkspace:d}});export{n as t};
|