@loicngr/kobo 1.7.25 → 1.7.27
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 +8 -0
- package/dist/server/routes/workspaces.js +44 -2
- package/dist/server/services/agent/engines/claude-code/engine.js +12 -16
- package/dist/server/services/agent/engines/claude-code/precompact-hook.js +22 -0
- package/dist/server/services/file-editor-service.js +11 -1
- package/dist/server/utils/git-ops.js +53 -6
- package/package.json +1 -1
- package/src/client/dist/spa/assets/{ActivityFeed-kV5CrtOV.js → ActivityFeed-CY7iSUwF.js} +1 -1
- package/src/client/dist/spa/assets/{ChangelogPage-xdtvQVeE.js → ChangelogPage-DWAmbFWX.js} +1 -1
- package/src/client/dist/spa/assets/{CreatePage-DFtuX7-R.js → CreatePage-YT54FfA1.js} +1 -1
- package/src/client/dist/spa/assets/{DiffViewer-DQ5PexFb.js → DiffViewer-DTthEOys.js} +3 -3
- package/src/client/dist/spa/assets/{HealthPage-Dkrr4w8H.js → HealthPage-DGh8w9iT.js} +1 -1
- package/src/client/dist/spa/assets/{MainLayout-Bpqn8uw3.js → MainLayout-C0mTMDDv.js} +17 -17
- package/src/client/dist/spa/assets/{MainLayout-D2fdfOct.css → MainLayout-DKUsEDQ4.css} +1 -1
- package/src/client/dist/spa/assets/{SearchPage-BI4zhWxn.js → SearchPage-pIX1EzKl.js} +1 -1
- package/src/client/dist/spa/assets/{SettingsPage-BEMFsN0N.js → SettingsPage-COBWjs_d.js} +1 -1
- package/src/client/dist/spa/assets/{WorkspacePage-CRs9kUM0.js → WorkspacePage-CTaTo1Wh.js} +3 -3
- package/src/client/dist/spa/assets/{cssMode-Cj7dq4tA.js → cssMode-2ylLbTu-.js} +1 -1
- package/src/client/dist/spa/assets/{editor.api-DmE4Vf3n.js → editor.api-CadEvLPy.js} +1 -1
- package/src/client/dist/spa/assets/{editor.main-BtZbr82f.js → editor.main-C71mfCQt.js} +3 -3
- package/src/client/dist/spa/assets/{engineFeatures-3w5M3c1y.js → engineFeatures-DM5FzkGJ.js} +1 -1
- package/src/client/dist/spa/assets/{expand-template-Cvhhn0Oi.js → expand-template-B5Xg2o0V.js} +1 -1
- package/src/client/dist/spa/assets/{freemarker2-D9gcKCMr.js → freemarker2-BhNdcQrl.js} +1 -1
- package/src/client/dist/spa/assets/{handlebars-BrcqC-zE.js → handlebars-e8nGt_F5.js} +1 -1
- package/src/client/dist/spa/assets/{html-DpYYEfpW.js → html-3AMWBd0B.js} +1 -1
- package/src/client/dist/spa/assets/{htmlMode-B8fY-cpH.js → htmlMode-C_TeBjBg.js} +1 -1
- package/src/client/dist/spa/assets/i18n-BPs_6dhe.js +1 -0
- package/src/client/dist/spa/assets/{index-D4b3k9DV.js → index-BHT72IUw.js} +7 -7
- package/src/client/dist/spa/assets/{javascript-Cty6LK6F.js → javascript-DNXV1m0n.js} +1 -1
- package/src/client/dist/spa/assets/{jsonMode-Dp8DQFxa.js → jsonMode-CoKVM_Q0.js} +1 -1
- package/src/client/dist/spa/assets/{liquid-BBh8fxMj.js → liquid-Bor4GGNF.js} +1 -1
- package/src/client/dist/spa/assets/{mdx-4Sg0uY19.js → mdx-ybAriXVK.js} +1 -1
- package/src/client/dist/spa/assets/{monaco.contribution-BqWsUYYb.js → monaco.contribution-BDBos_h5.js} +2 -2
- package/src/client/dist/spa/assets/{permissionModes-cbEFVOC0.js → permissionModes-Cebx7fq6.js} +1 -1
- package/src/client/dist/spa/assets/{python-CNVrhWpS.js → python-B8yv8Fk-.js} +1 -1
- package/src/client/dist/spa/assets/{razor-CF0pOS5A.js → razor-BCfu0JXU.js} +1 -1
- package/src/client/dist/spa/assets/{render-chat-markdown-C9SvAdWB.js → render-chat-markdown-sjnPe3Vu.js} +1 -1
- package/src/client/dist/spa/assets/{tsMode-BtgiAz6G.js → tsMode-Cha-D9yo.js} +1 -1
- package/src/client/dist/spa/assets/{typescript-C0__juCT.js → typescript-DPQ0P6qa.js} +1 -1
- package/src/client/dist/spa/assets/{use-onboarding-D4TTIa1e.js → use-onboarding-B6FZK2Yn.js} +1 -1
- package/src/client/dist/spa/assets/{xml-D0l5CGKt.js → xml-pWJPZqZ8.js} +1 -1
- package/src/client/dist/spa/assets/{yaml-CroybGxn.js → yaml-YsHRVX_S.js} +1 -1
- package/src/client/dist/spa/index.html +1 -1
- package/src/client/dist/spa/assets/i18n-D3e67G-j.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
.acceptance-item[data-v-20a94a3d]{padding:2px 0}.acceptance-item[data-v-20a94a3d]:hover{background-color:#ffffff08}.acceptance-item:hover .criterion-delete-btn[data-v-20a94a3d]{opacity:1}.criterion-delete-btn[data-v-20a94a3d]{opacity:0;transition:opacity .15s}.acceptance-title[data-v-20a94a3d]{word-break:break-word;cursor:text;line-height:1.4}.text-strike[data-v-20a94a3d]{opacity:.7;text-decoration:line-through}.criterion-input[data-v-20a94a3d] .q-field__control{height:22px;min-height:22px;padding:0}.criterion-input[data-v-20a94a3d] input{color:#e0e0e0;font-size:12px}.criterion-input[data-v-20a94a3d] input::placeholder{color:#555}.criterion-add-row[data-v-20a94a3d],.todo-item[data-v-6a3613f7]{padding:2px 0}.todo-title[data-v-6a3613f7]{word-break:break-word;line-height:1.4}.text-strike[data-v-6a3613f7]{opacity:.7;text-decoration:line-through}.documents-tree[data-v-89e5de13] .q-tree__node--selected>.q-tree__node-header{background:#7986cb26}.documents-tree[data-v-89e5de13] .q-tree__node-header{padding:2px 4px}.document-content[data-v-89e5de13]{color:#d0d0d0;overflow-wrap:break-word;font-size:12px;line-height:1.6}.document-content[data-v-89e5de13] h1{color:#e0e0e0;margin:16px 0 8px;font-size:16px}.document-content[data-v-89e5de13] h2{color:#e0e0e0;margin:14px 0 6px;font-size:14px}.document-content[data-v-89e5de13] h3{color:#e0e0e0;margin:12px 0 4px;font-size:13px}.document-content[data-v-89e5de13] code{background:#1a1a2e;border-radius:3px;padding:1px 4px;font-family:Roboto Mono,monospace;font-size:11px}.document-content[data-v-89e5de13] pre{background:#1a1a2e;border-radius:6px;padding:8px 12px;font-size:11px;overflow-x:auto}.document-content[data-v-89e5de13] pre code{background:0 0;padding:0}.document-content[data-v-89e5de13] ul,.document-content[data-v-89e5de13] ol{padding-left:20px}.document-content[data-v-89e5de13] li{margin-bottom:2px}.document-content[data-v-89e5de13] input[type=checkbox]{pointer-events:none;margin-right:6px}.document-content[data-v-89e5de13] table{border-collapse:collapse;width:100%;margin:8px 0;font-size:11px}.document-content[data-v-89e5de13] th,.document-content[data-v-89e5de13] td{text-align:left;border:1px solid #2a2a4a;padding:4px 8px}.document-content[data-v-89e5de13] th{color:#e0e0e0;background:#1a1a2e}.document-content[data-v-89e5de13] blockquote{color:#a0a0b0;border-left:3px solid #4a4a6a;margin:8px 0;padding:4px 12px}.document-content[data-v-89e5de13] a{color:#818cf8}.document-content[data-v-89e5de13] hr{border:none;border-top:1px solid #2a2a4a;margin:12px 0}.commit-item[data-v-fd1cc184]:hover{background:#ffffff0a}.commit-sha[data-v-fd1cc184]{font-family:Roboto Mono,monospace;font-size:11px}.commit-subject[data-v-fd1cc184]{max-width:480px;font-size:12px}.pr-panel__header[data-v-b8060f4f]{border-bottom:1px solid #2a2a4a;padding-bottom:8px}.pr-panel__number[data-v-b8060f4f]{color:#a5b4fc;font-size:12px;font-weight:600;text-decoration:none}.pr-panel__title[data-v-b8060f4f]{color:#ddd;font-size:12px}.pr-panel__state[data-v-b8060f4f],.pr-panel__badge[data-v-b8060f4f],.pr-panel__label-chip[data-v-b8060f4f]{font-size:10px;font-weight:600}.pr-panel__grid[data-v-b8060f4f]{grid-template-columns:90px 1fr;gap:6px 12px;padding:8px 0;font-size:11px;display:grid}.pr-panel__label[data-v-b8060f4f]{color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;align-self:center;font-size:10px}.pr-panel__value[data-v-b8060f4f]{color:#ddd}.pr-panel__reviewers[data-v-b8060f4f]{flex-wrap:wrap;gap:4px 8px;display:flex}.pr-panel__reviewer[data-v-b8060f4f]{align-items:center;gap:4px;display:inline-flex}.pr-panel__dot[data-v-b8060f4f]{border-radius:50%;width:7px;height:7px;display:inline-block}.pr-panel__ci[data-v-b8060f4f]{color:#ddd;border-top:1px solid #2a2a4a;padding-top:8px;font-size:11px}.pr-panel__ci-summary[data-v-b8060f4f],.pr-panel__ci-counts[data-v-b8060f4f]{flex-wrap:wrap}.pr-panel__ci-count[data-v-b8060f4f]{background-color:#ffffff0a;border-radius:3px;align-items:center;gap:3px;padding:1px 6px;font-size:10px;font-weight:500;display:inline-flex}.pr-panel__ci-count--failed[data-v-b8060f4f]{color:#fca5a5}.pr-panel__ci-count--pending[data-v-b8060f4f]{color:#fcd34d}.pr-panel__ci-count--passed[data-v-b8060f4f]{color:#86efac}.pr-panel__ci-count--skipped[data-v-b8060f4f]{color:#9ca3af}.pr-panel__ci-list[data-v-b8060f4f]{flex-direction:column;gap:2px;display:flex}.pr-panel__ci-item[data-v-b8060f4f]{border-radius:3px;align-items:center;gap:6px;min-width:0;padding:2px 6px;font-size:11px;text-decoration:none;display:flex}a.pr-panel__ci-item[data-v-b8060f4f]:hover{background-color:#ffffff0d;text-decoration:underline}.pr-panel__ci-item--failed[data-v-b8060f4f]{color:#fca5a5}.pr-panel__ci-item--pending[data-v-b8060f4f]{color:#fcd34d}.pr-panel__ci-item--passed[data-v-b8060f4f]{color:#86efac}.pr-panel__ci-item--skipped[data-v-b8060f4f]{color:#9ca3af}.pr-panel__ci-toggle[data-v-b8060f4f]{color:#9ca3af;font-size:10px}.git-btn[data-v-c99da00e]{font-size:11px}.commit-toggle[data-v-c99da00e]:hover{background-color:#ffffff08;border-radius:3px}.commit-list[data-v-c99da00e]{border-left:2px solid #ffffff0a;max-height:260px;margin-left:7px;padding-left:6px;overflow-y:auto}.commit-item[data-v-c99da00e]{border-radius:3px;padding:3px 4px;font-size:11px;line-height:1.3;transition:background-color .1s}.commit-item[data-v-c99da00e]:hover{background-color:#818cf814}.commit-item-icon[data-v-c99da00e]{flex-shrink:0}.commit-sha[data-v-c99da00e]{flex-shrink:0;font-family:Roboto Mono,monospace;font-size:10.5px}.commit-subject[data-v-c99da00e]{min-width:0;font-size:11px}.arrow-clickable[data-v-c99da00e]{transition:opacity .15s}.arrow-clickable[data-v-c99da00e]:hover{opacity:.75;text-decoration:underline}.git-subcard[data-v-c99da00e]{background:#1f2538;border-radius:4px;margin-bottom:8px;padding:8px 10px}.git-subcard-title[data-v-c99da00e]{color:#6b7280;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:9px;font-weight:600}.git-branch-code{color:#c7d2fe;overflow-wrap:anywhere;background-color:#818cf824;border-radius:3px;padding:1px 5px;font-family:Roboto Mono,monospace;font-size:11px}.prompt-preview[data-v-891bf3cf]{white-space:pre-wrap;word-break:break-word;margin:0}.subagents-panel[data-v-dd805632]{overflow-y:auto}.subagent-item[data-v-dd805632]{background:#1e1e3a;border:1px solid #2a2a4a}.task-item[data-v-4bc9713a]{padding:2px 0}.task-item[data-v-4bc9713a]:hover{background-color:#ffffff08}.task-item:hover .task-delete-btn[data-v-4bc9713a]{opacity:1}.task-delete-btn[data-v-4bc9713a]{opacity:0;transition:opacity .15s}.task-title[data-v-4bc9713a]{word-break:break-word;cursor:text;line-height:1.4}.text-strike[data-v-4bc9713a]{opacity:.7;text-decoration:line-through}.task-input[data-v-4bc9713a] .q-field__control{height:22px;min-height:22px;padding:0}.task-input[data-v-4bc9713a] input{color:#e0e0e0;font-size:12px}.task-input[data-v-4bc9713a] input::placeholder{color:#555}.task-add-row[data-v-4bc9713a]{padding:2px 0}.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;top:0;bottom:0;left:0;right:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.xterm .xterm-accessibility-tree:not(.debug) ::-moz-selection{color:#0000}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:-moz-fit-content;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}.log-content[data-v-d988f9ab]{max-height:60vh;overflow-y:auto}.log-text[data-v-d988f9ab]{color:#ccc;white-space:pre-wrap;word-break:break-all;background:#0d0d1a;margin:0;font-family:JetBrains Mono,Fira Code,monospace;font-size:11px}.dd-panel[data-v-8d4cdfb4],.tools-panel[data-v-246c1768]{min-height:48px}.whats-new-notes[data-v-434e72f8]{color:#cfcfe0;font-size:13px;line-height:1.55}.whats-new-notes[data-v-434e72f8] ul{margin:0;padding-left:1.2em}.whats-new-notes[data-v-434e72f8] li{margin:.2em 0}.whats-new-notes[data-v-434e72f8] code{background:#00000040;border-radius:3px;padding:.1em .3em}.auto-loop-spin[data-v-29b434eb]{animation:2s linear infinite auto-loop-spin-29b434eb}@keyframes auto-loop-spin-29b434eb{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dd-dot[data-v-29b434eb]{border-radius:50%;flex-shrink:0;width:6px;height:6px}.dd-dot--running[data-v-29b434eb]{background-color:#22c55e;box-shadow:0 0 4px #22c55e80}.workspace-list[data-v-767a0899]{background-color:#16162a;overflow-x:hidden}.wl-search[data-v-767a0899]{background-color:#224;padding:0 8px}.wl-search[data-v-767a0899] .q-field__control{height:32px}.wl-search[data-v-767a0899] input{color:#ccc;font-size:12px}.wl-group-header[data-v-767a0899]:hover{background-color:#ffffff08}.wl-project-group+.wl-project-group[data-v-767a0899]{margin-top:6px}.wl-project-label[data-v-767a0899]{align-items:center;padding-bottom:2px;font-size:11px;display:flex}.wl-item[data-v-767a0899]{background-color:#224;margin-bottom:4px;transition:background-color .15s,box-shadow .15s;position:relative}.wl-item[data-v-767a0899]:last-child{margin-bottom:0}.wl-item[data-v-767a0899]:hover{background-color:#2a2a4a}.wl-item--selected[data-v-767a0899]{background-color:#393969;outline:1.5px solid #6c63fff2;box-shadow:0 0 0 1px #6c63ff4d,0 2px 8px #6c63ff40}.wl-item--selected[data-v-767a0899]:hover{background-color:#41417a}.wl-item--selected .wl-item-name[data-v-767a0899]{color:#fff!important;opacity:1!important}.wl-item-action[data-v-767a0899]{position:absolute;top:4px;right:4px}.wl-item--archived .wl-item-action[data-v-767a0899]{opacity:0;transition:opacity .15s}.wl-item--archived:hover .wl-item-action[data-v-767a0899]{opacity:1}.wl-item-unarchive[data-v-767a0899]{right:28px}.wl-item-delete[data-v-767a0899]{right:4px}.wl-item--archived[data-v-767a0899]{opacity:.6;background-color:#1a1a30}.wl-item--archived[data-v-767a0899]:hover{opacity:.85}.wl-item--archived.wl-item--selected[data-v-767a0899]{opacity:1}.bg-dark[data-v-75f58b49]{background-color:#16162a!important;border-color:#2a2a4a!important}.resize-handle[data-v-75f58b49]{cursor:col-resize;z-index:10;width:4px;height:100%;transition:background-color .15s;position:absolute;top:0;right:-2px}.resize-handle[data-v-75f58b49]:hover,.resize-handle[data-v-75f58b49]:active{background-color:#6c63ff80}.resize-handle--right[data-v-75f58b49]{left:-2px;right:auto}.vertical-resize-handle[data-v-75f58b49]{cursor:row-resize;background-color:#2a2a4a;height:4px;transition:background-color .15s}.vertical-resize-handle[data-v-75f58b49]:hover,.vertical-resize-handle[data-v-75f58b49]:active{background-color:#6c63ff80}
|
|
1
|
+
.acceptance-item[data-v-20a94a3d]{padding:2px 0}.acceptance-item[data-v-20a94a3d]:hover{background-color:#ffffff08}.acceptance-item:hover .criterion-delete-btn[data-v-20a94a3d]{opacity:1}.criterion-delete-btn[data-v-20a94a3d]{opacity:0;transition:opacity .15s}.acceptance-title[data-v-20a94a3d]{word-break:break-word;cursor:text;line-height:1.4}.text-strike[data-v-20a94a3d]{opacity:.7;text-decoration:line-through}.criterion-input[data-v-20a94a3d] .q-field__control{height:22px;min-height:22px;padding:0}.criterion-input[data-v-20a94a3d] input{color:#e0e0e0;font-size:12px}.criterion-input[data-v-20a94a3d] input::placeholder{color:#555}.criterion-add-row[data-v-20a94a3d],.todo-item[data-v-6a3613f7]{padding:2px 0}.todo-title[data-v-6a3613f7]{word-break:break-word;line-height:1.4}.text-strike[data-v-6a3613f7]{opacity:.7;text-decoration:line-through}.documents-tree[data-v-89e5de13] .q-tree__node--selected>.q-tree__node-header{background:#7986cb26}.documents-tree[data-v-89e5de13] .q-tree__node-header{padding:2px 4px}.document-content[data-v-89e5de13]{color:#d0d0d0;overflow-wrap:break-word;font-size:12px;line-height:1.6}.document-content[data-v-89e5de13] h1{color:#e0e0e0;margin:16px 0 8px;font-size:16px}.document-content[data-v-89e5de13] h2{color:#e0e0e0;margin:14px 0 6px;font-size:14px}.document-content[data-v-89e5de13] h3{color:#e0e0e0;margin:12px 0 4px;font-size:13px}.document-content[data-v-89e5de13] code{background:#1a1a2e;border-radius:3px;padding:1px 4px;font-family:Roboto Mono,monospace;font-size:11px}.document-content[data-v-89e5de13] pre{background:#1a1a2e;border-radius:6px;padding:8px 12px;font-size:11px;overflow-x:auto}.document-content[data-v-89e5de13] pre code{background:0 0;padding:0}.document-content[data-v-89e5de13] ul,.document-content[data-v-89e5de13] ol{padding-left:20px}.document-content[data-v-89e5de13] li{margin-bottom:2px}.document-content[data-v-89e5de13] input[type=checkbox]{pointer-events:none;margin-right:6px}.document-content[data-v-89e5de13] table{border-collapse:collapse;width:100%;margin:8px 0;font-size:11px}.document-content[data-v-89e5de13] th,.document-content[data-v-89e5de13] td{text-align:left;border:1px solid #2a2a4a;padding:4px 8px}.document-content[data-v-89e5de13] th{color:#e0e0e0;background:#1a1a2e}.document-content[data-v-89e5de13] blockquote{color:#a0a0b0;border-left:3px solid #4a4a6a;margin:8px 0;padding:4px 12px}.document-content[data-v-89e5de13] a{color:#818cf8}.document-content[data-v-89e5de13] hr{border:none;border-top:1px solid #2a2a4a;margin:12px 0}.commit-item[data-v-fd1cc184]:hover{background:#ffffff0a}.commit-sha[data-v-fd1cc184]{font-family:Roboto Mono,monospace;font-size:11px}.commit-subject[data-v-fd1cc184]{max-width:480px;font-size:12px}.pr-panel__header[data-v-b8060f4f]{border-bottom:1px solid #2a2a4a;padding-bottom:8px}.pr-panel__number[data-v-b8060f4f]{color:#a5b4fc;font-size:12px;font-weight:600;text-decoration:none}.pr-panel__title[data-v-b8060f4f]{color:#ddd;font-size:12px}.pr-panel__state[data-v-b8060f4f],.pr-panel__badge[data-v-b8060f4f],.pr-panel__label-chip[data-v-b8060f4f]{font-size:10px;font-weight:600}.pr-panel__grid[data-v-b8060f4f]{grid-template-columns:90px 1fr;gap:6px 12px;padding:8px 0;font-size:11px;display:grid}.pr-panel__label[data-v-b8060f4f]{color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;align-self:center;font-size:10px}.pr-panel__value[data-v-b8060f4f]{color:#ddd}.pr-panel__reviewers[data-v-b8060f4f]{flex-wrap:wrap;gap:4px 8px;display:flex}.pr-panel__reviewer[data-v-b8060f4f]{align-items:center;gap:4px;display:inline-flex}.pr-panel__dot[data-v-b8060f4f]{border-radius:50%;width:7px;height:7px;display:inline-block}.pr-panel__ci[data-v-b8060f4f]{color:#ddd;border-top:1px solid #2a2a4a;padding-top:8px;font-size:11px}.pr-panel__ci-summary[data-v-b8060f4f],.pr-panel__ci-counts[data-v-b8060f4f]{flex-wrap:wrap}.pr-panel__ci-count[data-v-b8060f4f]{background-color:#ffffff0a;border-radius:3px;align-items:center;gap:3px;padding:1px 6px;font-size:10px;font-weight:500;display:inline-flex}.pr-panel__ci-count--failed[data-v-b8060f4f]{color:#fca5a5}.pr-panel__ci-count--pending[data-v-b8060f4f]{color:#fcd34d}.pr-panel__ci-count--passed[data-v-b8060f4f]{color:#86efac}.pr-panel__ci-count--skipped[data-v-b8060f4f]{color:#9ca3af}.pr-panel__ci-list[data-v-b8060f4f]{flex-direction:column;gap:2px;display:flex}.pr-panel__ci-item[data-v-b8060f4f]{border-radius:3px;align-items:center;gap:6px;min-width:0;padding:2px 6px;font-size:11px;text-decoration:none;display:flex}a.pr-panel__ci-item[data-v-b8060f4f]:hover{background-color:#ffffff0d;text-decoration:underline}.pr-panel__ci-item--failed[data-v-b8060f4f]{color:#fca5a5}.pr-panel__ci-item--pending[data-v-b8060f4f]{color:#fcd34d}.pr-panel__ci-item--passed[data-v-b8060f4f]{color:#86efac}.pr-panel__ci-item--skipped[data-v-b8060f4f]{color:#9ca3af}.pr-panel__ci-toggle[data-v-b8060f4f]{color:#9ca3af;font-size:10px}.git-btn[data-v-f5edf1dd]{font-size:11px}.commit-toggle[data-v-f5edf1dd]:hover{background-color:#ffffff08;border-radius:3px}.commit-list[data-v-f5edf1dd]{border-left:2px solid #ffffff0a;max-height:260px;margin-left:7px;padding-left:6px;overflow-y:auto}.commit-item[data-v-f5edf1dd]{border-radius:3px;padding:3px 4px;font-size:11px;line-height:1.3;transition:background-color .1s}.commit-item[data-v-f5edf1dd]:hover{background-color:#818cf814}.commit-item-icon[data-v-f5edf1dd]{flex-shrink:0}.commit-sha[data-v-f5edf1dd]{flex-shrink:0;font-family:Roboto Mono,monospace;font-size:10.5px}.commit-subject[data-v-f5edf1dd]{min-width:0;font-size:11px}.arrow-clickable[data-v-f5edf1dd]{transition:opacity .15s}.arrow-clickable[data-v-f5edf1dd]:hover{opacity:.75;text-decoration:underline}.git-subcard[data-v-f5edf1dd]{background:#1f2538;border-radius:4px;margin-bottom:8px;padding:8px 10px}.git-subcard-title[data-v-f5edf1dd]{color:#6b7280;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:9px;font-weight:600}.git-branch-code{color:#c7d2fe;overflow-wrap:anywhere;background-color:#818cf824;border-radius:3px;padding:1px 5px;font-family:Roboto Mono,monospace;font-size:11px}.prompt-preview[data-v-891bf3cf]{white-space:pre-wrap;word-break:break-word;margin:0}.subagents-panel[data-v-dd805632]{overflow-y:auto}.subagent-item[data-v-dd805632]{background:#1e1e3a;border:1px solid #2a2a4a}.task-item[data-v-4bc9713a]{padding:2px 0}.task-item[data-v-4bc9713a]:hover{background-color:#ffffff08}.task-item:hover .task-delete-btn[data-v-4bc9713a]{opacity:1}.task-delete-btn[data-v-4bc9713a]{opacity:0;transition:opacity .15s}.task-title[data-v-4bc9713a]{word-break:break-word;cursor:text;line-height:1.4}.text-strike[data-v-4bc9713a]{opacity:.7;text-decoration:line-through}.task-input[data-v-4bc9713a] .q-field__control{height:22px;min-height:22px;padding:0}.task-input[data-v-4bc9713a] input{color:#e0e0e0;font-size:12px}.task-input[data-v-4bc9713a] input::placeholder{color:#555}.task-add-row[data-v-4bc9713a]{padding:2px 0}.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;top:0;bottom:0;left:0;right:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.xterm .xterm-accessibility-tree:not(.debug) ::-moz-selection{color:#0000}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:-moz-fit-content;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}.log-content[data-v-d988f9ab]{max-height:60vh;overflow-y:auto}.log-text[data-v-d988f9ab]{color:#ccc;white-space:pre-wrap;word-break:break-all;background:#0d0d1a;margin:0;font-family:JetBrains Mono,Fira Code,monospace;font-size:11px}.dd-panel[data-v-8d4cdfb4],.tools-panel[data-v-246c1768]{min-height:48px}.whats-new-notes[data-v-434e72f8]{color:#cfcfe0;font-size:13px;line-height:1.55}.whats-new-notes[data-v-434e72f8] ul{margin:0;padding-left:1.2em}.whats-new-notes[data-v-434e72f8] li{margin:.2em 0}.whats-new-notes[data-v-434e72f8] code{background:#00000040;border-radius:3px;padding:.1em .3em}.auto-loop-spin[data-v-29b434eb]{animation:2s linear infinite auto-loop-spin-29b434eb}@keyframes auto-loop-spin-29b434eb{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dd-dot[data-v-29b434eb]{border-radius:50%;flex-shrink:0;width:6px;height:6px}.dd-dot--running[data-v-29b434eb]{background-color:#22c55e;box-shadow:0 0 4px #22c55e80}.workspace-list[data-v-767a0899]{background-color:#16162a;overflow-x:hidden}.wl-search[data-v-767a0899]{background-color:#224;padding:0 8px}.wl-search[data-v-767a0899] .q-field__control{height:32px}.wl-search[data-v-767a0899] input{color:#ccc;font-size:12px}.wl-group-header[data-v-767a0899]:hover{background-color:#ffffff08}.wl-project-group+.wl-project-group[data-v-767a0899]{margin-top:6px}.wl-project-label[data-v-767a0899]{align-items:center;padding-bottom:2px;font-size:11px;display:flex}.wl-item[data-v-767a0899]{background-color:#224;margin-bottom:4px;transition:background-color .15s,box-shadow .15s;position:relative}.wl-item[data-v-767a0899]:last-child{margin-bottom:0}.wl-item[data-v-767a0899]:hover{background-color:#2a2a4a}.wl-item--selected[data-v-767a0899]{background-color:#393969;outline:1.5px solid #6c63fff2;box-shadow:0 0 0 1px #6c63ff4d,0 2px 8px #6c63ff40}.wl-item--selected[data-v-767a0899]:hover{background-color:#41417a}.wl-item--selected .wl-item-name[data-v-767a0899]{color:#fff!important;opacity:1!important}.wl-item-action[data-v-767a0899]{position:absolute;top:4px;right:4px}.wl-item--archived .wl-item-action[data-v-767a0899]{opacity:0;transition:opacity .15s}.wl-item--archived:hover .wl-item-action[data-v-767a0899]{opacity:1}.wl-item-unarchive[data-v-767a0899]{right:28px}.wl-item-delete[data-v-767a0899]{right:4px}.wl-item--archived[data-v-767a0899]{opacity:.6;background-color:#1a1a30}.wl-item--archived[data-v-767a0899]:hover{opacity:.85}.wl-item--archived.wl-item--selected[data-v-767a0899]{opacity:1}.bg-dark[data-v-75f58b49]{background-color:#16162a!important;border-color:#2a2a4a!important}.resize-handle[data-v-75f58b49]{cursor:col-resize;z-index:10;width:4px;height:100%;transition:background-color .15s;position:absolute;top:0;right:-2px}.resize-handle[data-v-75f58b49]:hover,.resize-handle[data-v-75f58b49]:active{background-color:#6c63ff80}.resize-handle--right[data-v-75f58b49]{left:-2px;right:auto}.vertical-resize-handle[data-v-75f58b49]{cursor:row-resize;background-color:#2a2a4a;height:4px;transition:background-color .15s}.vertical-resize-handle[data-v-75f58b49]:hover,.vertical-resize-handle[data-v-75f58b49]:active{background-color:#6c63ff80}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{G as e,I as t,R as n,St as r,W as i,_ as a,at as o,d as s,et as c,f as l,p as u,r as d,u as f,y as p}from"./runtime-core.esm-bundler-D_RRiKBh.js";import{t as m}from"./QIcon-BmEX2rXO.js";import{a as h,r as g}from"./use-id-BCnfiBjU.js";import{n as _}from"./vue-i18n-Cq-KgjJC.js";import{t as v}from"./QInput-D0t39uK_.js";import{t as y}from"./QToggle-DBzTAIbK.js";import{i as b}from"./index-
|
|
1
|
+
import{G as e,I as t,R as n,St as r,W as i,_ as a,at as o,d as s,et as c,f as l,p as u,r as d,u as f,y as p}from"./runtime-core.esm-bundler-D_RRiKBh.js";import{t as m}from"./QIcon-BmEX2rXO.js";import{a as h,r as g}from"./use-id-BCnfiBjU.js";import{n as _}from"./vue-i18n-Cq-KgjJC.js";import{t as v}from"./QInput-D0t39uK_.js";import{t as y}from"./QToggle-DBzTAIbK.js";import{i as b}from"./index-BHT72IUw.js";import{t as x}from"./_plugin-vue_export-helper-r4mAJOHR.js";import{t as S}from"./QBadge-DNQSqPg-.js";import{t as C}from"./QSpace-Crcx82On.js";import{t as w}from"./formatters-BKR66G3t.js";import{t as T}from"./QPage-3-ah4oor.js";var E=h(`search`,{state:()=>({query:``,includeArchived:!1,results:[],loading:!1,error:``}),actions:{async search(){let e=this.query.trim();if(!e){this.results=[],this.error=``;return}this.loading=!0,this.error=``;try{let t=new URLSearchParams({q:e});this.includeArchived&&t.set(`includeArchived`,`true`);let n=await fetch(`/api/search?${t.toString()}`);if(!n.ok){let e=`HTTP ${n.status}`;try{let t=await n.json();t?.error&&(e=t.error)}catch{}throw Error(e)}this.results=await n.json()}catch(e){this.error=e instanceof Error?e.message:String(e),this.results=[]}finally{this.loading=!1}},clear(){this.query=``,this.results=[],this.error=``}}}),D={class:`search-header`},O={class:`text-h5 q-mb-md`},k={class:`row items-center q-mt-sm q-gutter-sm`},A={key:0,class:`text-caption text-grey-6`},j={key:0,class:`text-grey-6 text-caption`},M={key:1,class:`text-negative text-caption`},N={key:2,class:`text-grey-6 text-caption`},P={key:3,class:`search-results`},F=[`onClick`],I={class:`row items-center q-mb-xs text-caption`},L={class:`text-grey-5 text-weight-medium`},R={class:`text-grey-6`},z={class:`search-snippet text-body2 text-grey-4`},B=x(p({__name:`SearchPage`,setup(p){let h=E(),x=b(),{t:B}=_(),{timeAgo:V}=w(),H=c(null),U=null;function W(){U&&clearTimeout(U),U=setTimeout(()=>{h.search()},250)}i(()=>h.includeArchived,()=>{h.query.trim().length>0&&h.search()});function G(e){x.push({name:`workspace`,params:{id:e}})}function K(e){return e===`user:message`?B(`search.eventType.userMessage`):e===`agent:output`?B(`search.eventType.agentOutput`):e}return(i,c)=>(t(),s(T,{class:`q-pa-md search-page`},{default:e(()=>[f(`div`,D,[f(`h2`,O,r(i.$t(`search.title`)),1),a(v,{ref_key:`inputEl`,ref:H,modelValue:o(h).query,"onUpdate:modelValue":[c[0]||=e=>o(h).query=e,W],dense:``,dark:``,outlined:``,clearable:``,autofocus:``,placeholder:i.$t(`search.placeholder`),onClear:c[1]||=e=>o(h).clear()},{prepend:e(()=>[a(m,{name:`search`})]),_:1},8,[`modelValue`,`placeholder`]),f(`div`,k,[a(y,{modelValue:o(h).includeArchived,"onUpdate:modelValue":c[2]||=e=>o(h).includeArchived=e,label:i.$t(`search.includeArchived`),dense:``,dark:``,color:`indigo-4`,size:`sm`},null,8,[`modelValue`,`label`]),a(C),o(h).results.length>0?(t(),u(`span`,A,r(i.$t(`search.resultCount`,{n:o(h).results.length})),1)):l(``,!0)])]),a(g,{dark:``,class:`q-my-md`}),o(h).loading?(t(),u(`div`,j,r(i.$t(`search.loading`)),1)):o(h).error?(t(),u(`div`,M,r(i.$t(`search.error`,{message:o(h).error})),1)):o(h).query.trim().length>0&&o(h).results.length===0?(t(),u(`div`,N,r(i.$t(`search.noResults`)),1)):o(h).results.length>0?(t(),u(`div`,P,[(t(!0),u(d,null,n(o(h).results,(e,n)=>(t(),u(`div`,{key:`${e.workspaceId}-${e.timestamp}-${n}`,class:`search-result q-pa-sm q-mb-sm cursor-pointer`,onClick:t=>G(e.workspaceId)},[f(`div`,I,[f(`span`,L,r(e.workspaceName),1),e.archived?(t(),s(S,{key:0,color:`grey-7`,class:`q-ml-xs`,label:i.$t(`common.archive`)},null,8,[`label`])):l(``,!0),a(C),a(S,{color:e.type===`user:message`?`blue-grey-7`:`indigo-7`,class:`q-mr-sm`,label:K(e.type)},null,8,[`color`,`label`]),f(`span`,R,r(o(V)(e.timestamp)),1)]),f(`div`,z,r(e.snippet),1)],8,F))),128))])):l(``,!0)]),_:1}))}}),[[`__scopeId`,`data-v-6f728e16`]]);export{B as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
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-l1Pxijve.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-D4b3k9DV.js";import{n as F,t as I}from"./QItemSection-DRg-QuAD.js";import{t as L}from"./QItemLabel-Btqw0P7M.js";import{d as R,t as je}from"./QTooltip-CwBZU_bs.js";import{t as Me}from"./QExpansionItem-CiBP4NiY.js";import{t as Ne}from"./TouchPan-DXGxNMLq.js";import{t as z}from"./_plugin-vue_export-helper-r4mAJOHR.js";import{t as B}from"./QSpace-Crcx82On.js";import{t as Pe}from"./QList-CRYZxnPD.js";import{t as V}from"./QMenu-Yx1QEIHC.js";import{t as Fe}from"./ClosePopup-0MWohgml.js";import{t as Ie}from"./use-quasar-q6dh7QVJ.js";import{a as Le,i as Re,n as ze,r as Be,t as Ve}from"./skill-suite-prompts-8f_JW79j.js";import{t as He}from"./QChip-D2TVel5I.js";import{n as Ue,t as We}from"./use-onboarding-D4TTIa1e.js";import{t as Ge}from"./QPage-3-ah4oor.js";import{a as H,n as Ke,r as qe,t as Je}from"./permissionModes-cbEFVOC0.js";import{t as U}from"./QBanner-C_TvxtXi.js";var Ye=`q-slider__marker-labels`,Xe=e=>({value:e}),Ze=({marker:e})=>t(`div`,{key:e.value,style:e.style,class:e.classes},e.label),W=[34,37,40,33,39,38],Qe={...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`}},$e=[`pan`,`update:modelValue`,`change`];function et({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),R(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?R((n.top-t.top)/t.height,0,1):R((n.left-t.left)/t.width,0,1);return R(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=` ${Ye}${_.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:L.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(Xe);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 L=b(()=>{if(o.markerLabels===!1)return null;let e={};return Oe.value.forEach(t=>{e[t.value]=t}),e});function je(){if(c[`marker-label-group`]!==void 0)return c[`marker-label-group`](ke.value);let e=c[`marker-label`]||Ze;return Oe.value.map(t=>e({marker:t,...ke.value}))}let Me=b(()=>[[Ne,z,void 0,{[O.value]:!0,prevent:!0,stop:!0,mouse:!0,mouseAllDir:!0}]]);function z(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 B(){m.value=!1}function Pe(e){r(e,i(e)),n(),f.value=!0,d.value=!0,document.addEventListener(`mouseup`,V,!0)}function V(){f.value=!1,d.value=!1,n(!0),B(),document.removeEventListener(`mouseup`,V,!0)}function Fe(e){r(e,i(e)),n(!0)}function Ie(e){W.includes(e.keyCode)&&n(!0)}function Le(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 Re(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(()=>Le(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 ze(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,()=>Me.value)];return o.markerLabels!==!1&&s[o.switchMarkerLabelsSide===!0?`unshift`:`push`](t(`div`,{key:`markerL`,class:be.value},je())),s}return e(()=>{document.removeEventListener(`mouseup`,V,!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:Pe,onMobileClick:Fe,onBlur:B,onKeyup:Ie,getContent:ze,getThumbRenderFn:Re,convertRatioToModel:we,convertModelToRatio:N,getDraggingRatio:Te}}}var tt=()=>({}),nt=E({name:`QSlider`,props:{...Qe,modelValue:{required:!0,default:null,validator:e=>typeof e==`number`||e===null},labelValue:[String,Number]},emits:$e,setup(e,{emit:n}){let{proxy:{$q:r}}=p(),{state:i,methods:a}=et({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:R(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:tt,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(W.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=R(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 rt(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(rt(e,t))}):e instanceof Map&&e.forEach((e,r)=>{n.set(r,rt(e,t))}),Object.assign(n,...Object.keys(e).map(n=>({[n]:rt(e[n],t)})))}var it=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=rt(e.modelValue),l.value=rt(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(V,{ref:s,class:`q-popup-edit`,cover:e.cover,onBeforeShow:v,onShow:y,onBeforeHide:x,onHide:S,onEscapeKey:f},C)}}}),at={class:`text-h6`},ot=[`title`],G={key:1,class:`row justify-center q-mt-sm`},st=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`,at,u(t.$t(`folderPicker.title`)),1),d(B),a(d(j,{flat:``,dense:``,round:``,icon:`close`,color:`grey-5`},null,512),[[Fe]])]),_: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,ot),m.value?(i(),h(U,{key:0,dense:``,class:`bg-red-9 text-white q-mb-sm rounded-borders`},{default:r(()=>[v(u(m.value),1)]),_:1})):_(``,!0),d(Pe,{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`,G,[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`]),[[Fe]]),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`]))}}),ct={class:`settings-layout`},lt={class:`settings-nav`},ut={class:`settings-nav__title`},dt={class:`settings-content`},ft={class:`settings-content__header`},pt={class:`settings-content__title`},mt={class:`settings-panels`},ht={class:`settings-global-wrap`},gt={"data-tour":`settings-card-general`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},_t={class:`text-subtitle2 q-mb-sm`},vt={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},yt={class:`text-subtitle2 q-mb-sm`},bt={class:`text-caption text-grey-7 q-mt-xs`},xt={"data-tour":`settings-card-skills`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},St={class:`text-subtitle2 q-mb-sm`},Ct={class:`text-caption text-grey-6 q-mt-xs`},wt={key:0,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Tt={class:`text-subtitle2 q-mb-sm`},Et={class:`text-caption text-grey-6 q-mb-xs q-mt-sm`},Dt={class:`text-caption text-grey-6 q-mt-md q-mb-xs`},Ot={class:`text-caption text-grey-6 q-mt-md q-mb-xs`},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={"data-tour":`settings-card-agents`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Mt={class:`text-subtitle2 q-mb-sm`},Nt={class:`text-subtitle2 q-mb-sm q-mt-md`},Pt={class:`text-subtitle2 q-mb-sm q-mt-md`},Ft={class:`text-caption text-grey-7 q-mb-sm`},It={class:`text-subtitle2 q-mb-sm q-mt-md`},Lt={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Rt={class:`text-subtitle2 q-mb-sm`},zt={"data-tour":`settings-card-notifications`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Bt={class:`text-subtitle2 q-mb-sm`},Vt={class:`column q-gutter-xs`},Ht={class:`row items-center q-gutter-sm q-mt-sm`},Ut={class:`row items-center q-gutter-sm q-mt-sm`},Wt={class:`text-grey-5 text-caption`,style:{"min-width":`80px`}},Gt={class:`text-grey-5 text-caption`,style:{"min-width":`40px`,"text-align":`right`}},Kt={"data-tour":`settings-card-voice`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},qt={class:`row items-center q-mb-sm`},Jt={class:`text-subtitle2`},Yt={class:`column q-gutter-xs`},Xt={class:`row items-center q-gutter-sm`},Zt={class:`row items-center q-gutter-sm`},Qt={class:`q-pa-sm text-caption text-grey-5`},$t={class:`q-mb-sm`},en={class:`q-mb-sm`},tn={href:`https://github.com/ggml-org/whisper.cpp`,target:`_blank`,rel:`noopener noreferrer`,class:`text-indigo-4`},nn={class:`q-mb-xs text-grey-4`},rn={class:`q-mb-sm`},an={class:`q-mb-xs text-grey-4`},on={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},sn={class:`text-subtitle2 q-mb-sm`},cn={class:`row q-col-gutter-sm`},ln={class:`col-12 col-sm-6`},un={class:`col-12 col-sm-6`},dn={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},fn={class:`text-subtitle2 q-mb-sm`},pn={key:0,class:`voice-models-dir row items-center q-gutter-sm q-mb-md`},mn={class:`text-caption text-grey-5 ellipsis-2-lines`,style:{flex:`1`,"min-width":`0`,"word-break":`break-all`}},hn={class:`column q-gutter-sm`},gn={class:`row items-center q-gutter-sm`},_n={class:`text-body2 text-grey-3`,style:{"font-family":`var(--kobo-font-mono, monospace)`}},vn={class:`text-caption text-grey-6`},yn={key:0,class:`q-mt-sm`},bn={class:`row items-center q-mt-xs`},xn={class:`text-caption text-grey-6`},Sn={class:`text-caption text-indigo-4`},Cn={key:1,class:`text-caption text-grey-7 q-mt-xs ellipsis`,style:{"font-family":`var(--kobo-font-mono, monospace)`,"word-break":`break-all`}},wn={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Tn={class:`text-subtitle2 q-mb-sm`},En={class:`q-pa-sm column q-gutter-sm`},Dn={class:`row items-center q-gutter-sm`},On={class:`text-caption text-grey-5`},kn={class:`text-caption text-grey-5`,style:{"min-width":`40px`,"text-align":`right`}},An={class:`text-caption text-grey-7`},jn={class:`text-caption text-grey-7`},Mn={class:`text-caption text-grey-7`},Nn={class:`text-caption text-grey-7`},Pn={class:`q-pa-sm column q-gutter-sm`},Fn={key:1,"data-tour":`settings-card-prompts`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},In={class:`row items-center q-mb-sm`},Ln={class:`text-subtitle2`},Rn={class:`text-caption text-grey-7 q-mb-sm`},zn={class:`q-mb-sm`},Bn={class:`row items-center q-mb-sm q-mt-md`},Vn={class:`text-subtitle2`},Hn={class:`text-caption text-grey-7 q-mb-sm`},Un={class:`row items-center q-mb-sm q-mt-md`},Wn={class:`text-subtitle2`},Gn={class:`text-caption text-grey-7 q-mb-sm`},Kn={class:`row items-center q-mb-sm q-mt-md`},qn={class:`text-subtitle2`},Jn={class:`text-caption text-grey-7 q-mb-sm`},Yn={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Xn={class:`text-subtitle2 q-mb-sm`},Zn={class:`text-caption text-grey-7 q-mb-sm`},Qn={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},$n={class:`text-subtitle2 q-mb-sm`},er={class:`text-caption text-grey-7 q-mb-sm`},tr={"data-tour":`settings-card-notion`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},nr={class:`text-subtitle2 q-mb-sm`},rr={class:`text-caption text-grey-7 q-mb-sm`},ir={class:`q-mb-sm`},ar={class:`field-label-sub text-caption q-mb-xs text-grey-7`},or={class:`q-mb-sm`},sr={class:`field-label-sub text-caption q-mb-xs text-grey-7`},cr={key:2,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},lr={class:`text-subtitle2 q-mb-sm`},ur={class:`text-caption text-grey-7 q-mb-sm`},dr={class:`q-mb-sm`},fr={class:`field-label-sub text-caption q-mb-xs text-grey-7`},pr={class:`q-mb-sm`},mr={class:`field-label-sub text-caption q-mb-xs text-grey-7`},hr={class:`row items-center q-mb-sm`},gr={class:`text-subtitle2`},_r={class:`text-caption text-grey-7 q-mb-xs`},vr={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},yr={class:`text-subtitle2 q-mb-sm`},br={class:`text-caption text-grey-7 q-mb-sm`},xr={class:`q-mb-sm`},Sr={class:`field-label-sub text-caption q-mb-xs text-grey-7`},Cr={class:`q-mb-sm`},wr={class:`row items-center q-mb-xs`},Tr={class:`field-label-sub text-caption text-grey-7 col`},Er=[`src`,`alt`],Dr={key:1,class:`text-caption text-grey-7 q-py-sm`},Or={key:0,class:`text-caption text-orange-5 q-mb-xs`},kr={key:3,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Ar={class:`text-subtitle2 q-mb-sm`},jr={class:`row items-center q-mb-sm`},Mr={class:`text-subtitle2`},Nr={class:`text-caption text-grey-7 q-mb-xs`},Pr={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Fr={class:`text-subtitle2 q-mb-sm`},Ir={class:`text-caption text-grey-7 q-mb-sm`},Lr={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Rr={class:`text-subtitle2 q-mb-sm`},zr={class:`text-caption text-grey-7 q-mb-sm`},Br={class:`row items-center no-wrap`},Vr={key:1,class:`text-caption text-grey-7 q-mb-sm`},Hr={class:`row items-center q-gutter-sm`},Ur={"data-tour":`settings-card-scripts`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Wr={class:`text-subtitle2 q-mb-sm`},Gr={class:`text-caption text-grey-7 q-mb-sm`},Kr={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},qr={class:`text-subtitle2 q-mb-sm`},Jr={class:`text-caption text-grey-7 q-mb-sm`},Yr={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Xr={class:`text-subtitle2 q-mb-sm`},Zr={class:`text-caption text-grey-7 q-mb-sm`},Qr={class:`text-caption text-grey-6 q-mt-md q-mb-xs`},$r={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ei={class:`text-subtitle2 q-mb-sm`},ti={class:`text-caption text-grey-7 q-mb-sm`},ni={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ri={class:`row items-center justify-between q-mb-sm`},ii={class:`text-subtitle2`},ai={class:`text-caption text-grey-7 q-mb-xs`},oi={class:`text-caption text-grey-6 mono-guide q-mb-sm`},si={"data-tour":`settings-card-worktrees`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ci={class:`text-subtitle2 q-mb-sm`},li={class:`text-caption text-grey-7 q-mb-sm`},ui={class:`text-caption text-grey-7 q-mt-xs`},di={"data-tour":`settings-card-worktrees-purge`},fi={class:`text-caption text-grey-7 q-mt-xs`},pi={class:`q-pa-sm text-caption text-grey-5`,style:{"line-height":`1.55`}},mi={class:`text-weight-medium text-grey-3 q-mb-xs`},hi={class:`q-mb-xs`},gi={class:`purge-docs-code`},_i={class:`text-grey-7 q-mb-md`},vi={class:`text-weight-medium text-grey-3 q-mb-xs`},yi={class:`q-mb-xs`},bi={class:`q-pl-md q-my-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-mb-xs text-grey-6`},Ei={class:`purge-docs-code`},Di={class:`q-mb-xs text-grey-6`},Oi={class:`purge-docs-code`},ki={class:`text-grey-7`},Ai={"data-tour":`settings-card-export`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ji={class:`text-subtitle2 q-mb-sm`},Mi={class:`text-caption text-grey-7 q-mb-sm`},Ni={class:`row q-gutter-sm`},Pi={class:`row justify-end settings-sticky-actions`},Fi={class:`q-pa-none`},Ii={class:`row q-gutter-md`,style:{"min-height":`500px`}},Li={class:`project-list-col`},Ri={class:`settings-card rounded-borders`,style:{height:`100%`}},zi={class:`q-pa-sm`},Bi={class:`text-caption text-uppercase text-weight-bold q-px-sm q-py-xs text-grey-6`,style:{"letter-spacing":`0.05em`}},Vi={key:0,class:`q-pa-md text-center text-caption text-grey-8`},Hi={class:`q-pa-sm`},Ui={class:`project-form-col`},Wi={class:`settings-card rounded-borders q-pa-lg`,style:{height:`100%`}},Gi={class:`row items-center q-mb-md`},Ki={class:`text-subtitle1 text-weight-medium text-grey-3`},qi={key:0,class:`q-mb-md`},Ji={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Yi={class:`text-caption text-grey-7 q-mt-xs`},Xi={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Zi={class:`text-subtitle2 q-mb-md`},Qi={class:`q-mb-md`},$i={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},ea={class:`q-mb-md`},ta={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},na={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},ra={class:`row items-center q-gutter-xs`},ia={class:`text-caption text-grey-6 q-mt-xs`},aa={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},oa={class:`text-subtitle2 q-mb-md`},sa={class:`q-mb-md`},ca={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},la={class:`q-mb-md`},ua={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},da={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},fa={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},pa={class:`text-subtitle2 q-mb-md`},ma={class:`q-mb-md`},ha={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},ga={class:`text-caption text-grey-7 q-mb-xs`},_a={class:`q-mb-md`},va={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},ya={class:`text-caption text-grey-7 q-mb-xs`},ba={class:`q-mb-md`},xa={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Sa={class:`text-caption text-grey-7 q-mb-xs`},Ca={class:`q-mb-md`},wa={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Ta={class:`text-caption text-grey-7 q-mb-xs`},Ea={class:`q-mb-md`},Da={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Oa={class:`text-caption text-grey-7 q-mb-xs`},ka={class:`q-mb-md`},Aa={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},ja={class:`text-caption text-grey-7 q-mb-xs`},Ma={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Na={class:`text-caption text-grey-7 q-mt-xs`},Pa={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Fa={class:`text-subtitle2 q-mb-md`},Ia={class:`q-mb-md`},La={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Ra={class:`text-caption text-grey-7 q-mb-xs`},za={class:`text-caption text-grey-7 q-mt-xs`},Ba={class:`q-mb-md`},Va={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Ha={class:`text-caption text-grey-7 q-mb-xs`},Ua={class:`field-label-sub text-caption q-mt-sm q-mb-xs text-grey-7`},Wa={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Ga={class:`text-caption text-grey-7 q-mb-xs`},Ka={class:`row items-center justify-between q-mb-xs`},qa={class:`field-label text-body2 text-weight-medium text-grey-6`},Ja={class:`text-caption text-grey-7 q-mb-xs`},Ya={class:`text-caption text-grey-6 mono-guide q-mb-sm`},Xa={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Za={class:`text-subtitle2 q-mb-md`},Qa={class:`q-mb-md`},$a={class:`field-label-sub text-caption q-mb-xs text-grey-7`},eo={class:`field-label-sub text-caption q-mb-xs text-grey-7`},to={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},no={class:`text-subtitle2 q-mb-xs`},ro={class:`text-caption text-grey-7 q-mb-sm`},io={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ao={class:`text-subtitle2 q-mb-xs`},oo={class:`text-caption text-grey-7 q-mb-sm`},so={class:`row items-center q-gutter-sm settings-sticky-actions`},co={key:1,class:`column items-center justify-center`,style:{height:`100%`,"min-height":`300px`}},lo={class:`text-body2 text-grey-8`},uo={class:`q-pa-none`},fo={"data-tour":`settings-card-templates`,class:`settings-card rounded-borders q-pa-lg`},po={class:`row items-center justify-between q-mb-md`},mo={class:`text-subtitle1 text-weight-medium text-grey-3`},ho={class:`row q-gutter-sm items-center`},go={key:0,class:`text-grey-6 q-py-lg text-center`},_o={key:1,class:`column q-gutter-sm`},vo={class:`row items-start justify-between no-wrap`},yo={class:`col`},bo={class:`text-body1 text-weight-medium`,style:{"font-family":`'Roboto Mono', monospace`}},xo={class:`text-caption text-grey-5 q-mt-xs`},So={class:`row no-wrap q-gutter-xs`},Co={class:`text-caption text-grey-7 q-mt-lg`,style:{"font-family":`'Roboto Mono', monospace`}},wo={key:0,class:`settings-savebar`},To={class:`settings-savebar__label`},Eo={class:`text-subtitle1`},Do={class:`q-pl-md q-pt-xs`,style:{"font-size":`11px`,"font-family":`'Roboto Mono', monospace`,columns:`2`,"column-gap":`24px`}},Oo={key:0,class:`text-negative text-caption`},ko=z(w({__name:`SettingsPage`,setup(e){let t=Ie(),n=ve(),p=Oe(),{t:w,locale:ne}=Se(),{startTour:re}=We(),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(``),R=g(!1),Ne=g(!0),z=g(!0),V=g(me),U=g(1),Ye=g(``),Xe=g(``),Ze=g(``),W=g(``),Qe=g([]),$e=g(!1),et=g(``),tt=b(()=>Qe.value.map(e=>({label:`${e.name} — ${e.email}`,value:e.id,name:e.name,email:e.email,avatarUrl:e.avatarUrl})));async function rt(e=!1){if(!$e.value&&!(!e&&Qe.value.length>0)){$e.value=!0,et.value=``;try{let e=await fetch(`/api/notion/users`),t=await e.json().catch(()=>({}));if(!e.ok)throw Error(t.error??`HTTP ${e.status}`);Qe.value=Array.isArray(t.users)?t.users:[]}catch(e){et.value=e instanceof Error?e.message:String(e),Qe.value=[]}finally{$e.value=!1}}}let at=g(``),ot=g(``),G=g(null),ko=g(`bypass`),Ao=g(`bypass`),jo=g(``),Mo=g(``),No=g([]),K=g([]),Po=g(``),Fo=g(``),Io=g(``),Lo=g(`no-tasks`),Ro=g(!1),zo=g(``),Bo=g(``),Vo=g(``),Ho=g(!1);function Uo(e){Z.value.path=e}let Wo=b(()=>[{label:w(`settings.cleanupScriptMode.inherit`),value:``},{label:w(`settings.cleanupScriptMode.idle`),value:`idle`},{label:w(`settings.cleanupScriptMode.noTasks`),value:`no-tasks`}]),Go=g(pe),Ko=g(null),qo=g(!0);function Jo(e){let t=e.trim().replace(/^\/+|\/+$/g,``);return t.length===0||t.length>50||!/^[A-Za-z0-9._/-]+$/.test(t)||t.includes(`..`)?``:t}function Yo(){let e=Jo(Po.value);!e||K.value.includes(e)||(K.value.push(e),Po.value=``)}function Xo(e){K.value.splice(e,1)}function Zo(e,t){let n=Jo(t);if(!n)return;let r=K.value.indexOf(n);r!==-1&&r!==e||(K.value[e]=n)}function Qo(e,t){let n=e+t;if(n<0||n>=K.value.length)return;let r=K.value;[r[e],r[n]]=[r[n],r[e]]}let $o=g(!1),q=g(`superpowers`),es=b(()=>{switch(q.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`}}),ts=g(``),ns=g(``),rs=g(``),is=g(``),as=g(``),os=g(!1),ss=g(`alt`),cs=g(`auto`),J=g(null),ls=g(``),us=g(``),ds=g(0),fs=g(``),ps=g(!1),ms=g(!0),hs=g(null),gs=g(!1);function _s(){t.dialog({title:w(`settings.skillSuite.reloadDefaults`),message:w(`settings.skillSuite.reloadDefaultsConfirm`),cancel:!0,persistent:!0,dark:!0}).onOk(()=>{ts.value=Le,ns.value=ze,rs.value=Ve,is.value=Re,as.value=Be})}function vs(e){let n=e===`global`?Bo.value:Z.value.changeSourceBranchScript,r=()=>{e===`global`?Bo.value=Vo.value:Z.value.changeSourceBranchScript=Vo.value};if(!n.trim()||n===Vo.value){r();return}t.dialog({title:w(`settings.changeSourceBranchScript.replaceConfirmTitle`),message:w(`settings.changeSourceBranchScript.replaceConfirm`),cancel:!0,persistent:!0,dark:!0}).onOk(r)}function ys(e){return!e||e===`tiny`||e===`base`?.1:.2}let bs=[e=>e.trim().length>0||w(`settings.worktreesPathRequired`)],xs=g(!1),Y=g(-1),X=g(!1),Z=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:``}}),Ss=[`defaultModel`,`forge`,`prPromptTemplate`,`reviewPromptTemplate`,`ciFixPromptTemplate`,`notionInitialPromptTemplate`,`sentryInitialPromptTemplate`,`gitConventions`,`setupScript`,`taskPromptTemplate`,`cleanupScript`,`cleanupScriptMode`,`archiveScript`,`changeSourceBranchScript`,`devServer`,`e2e`,`finalization`],Cs=g(null),ws=g(null),Ts=b(()=>n.projects.map(e=>({value:e.path,label:Hc(e)||e.path})));function Es(e){let t=n.projects.find(t=>t.path===e);t&&(Z.value.defaultModel=t.defaultModel??``,Z.value.forge=t.forge??`auto`,Z.value.prPromptTemplate=t.prPromptTemplate??``,Z.value.reviewPromptTemplate=t.reviewPromptTemplate??``,Z.value.ciFixPromptTemplate=t.ciFixPromptTemplate??``,Z.value.notionInitialPromptTemplate=t.notionInitialPromptTemplate??``,Z.value.sentryInitialPromptTemplate=t.sentryInitialPromptTemplate??``,Z.value.gitConventions=t.gitConventions??``,Z.value.setupScript=t.setupScript??``,Z.value.devServer={startCommand:t.devServer?.startCommand??``,stopCommand:t.devServer?.stopCommand??``},Z.value.e2e={framework:t.e2e?.framework??``,skill:t.e2e?.skill??``,prompt:t.e2e?.prompt??``},Z.value.finalization={prompt:t.finalization?.prompt??``})}function Ds(){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 Ss.every(t=>JSON.stringify(Z.value[t])===JSON.stringify(e[t]))}function Os(e){if(e===null){Cs.value=null,ws.value=null;return}if(ws.value===null&&Ds()){Es(e),Cs.value=e,ws.value=e;return}let r=n.projects.find(t=>t.path===e),i=r&&Hc(r)||e;t.dialog({title:w(`settings.copyFromConfirmTitle`),message:w(`settings.copyFromConfirm`,{project:i}),cancel:!0,persistent:!0,dark:!0}).onOk(()=>{Es(e),Cs.value=e,ws.value=e}).onCancel(()=>{Cs.value=ws.value})}let ks=g([]),As=g([]);async function js(){try{let e=await fetch(`/api/skills`);e.ok&&(ks.value=await e.json())}catch{}}function Ms(e,t){t(()=>{let t=e.trim().toLowerCase();As.value=t?ks.value.filter(e=>e.toLowerCase().includes(t)):ks.value.slice()})}let Ns=g([]),Ps=g(!1),Fs=g(!1),Is=g(!1),Ls=g(!1),Q=g(null),Rs=g(``),zs=g(``),Bs=g(``),$=g(``),Vs=g(!1),Hs=g(!1),Us=b(()=>[...p.templates].sort((e,t)=>e.slug.localeCompare(t.slug))),Ws=[`{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 Gs(){Q.value=null,Rs.value=``,zs.value=``,Bs.value=``,$.value=``,Ls.value=!0}function Ks(e){Q.value=e.slug,Rs.value=e.slug,zs.value=e.description,Bs.value=e.content,$.value=``,Ls.value=!0}async function qs(){$.value=``;let e=Rs.value.trim(),t=zs.value.trim();if(Q.value===null&&!/^[a-z0-9][a-z0-9-]{0,63}$/.test(e)){$.value=w(`templates.slugInvalid`);return}if(!t){$.value=w(`templates.descriptionRequired`);return}if(!Bs.value.trim()){$.value=w(`templates.contentRequired`);return}Vs.value=!0;try{Q.value===null?await p.createTemplate({slug:e,description:t,content:Bs.value}):await p.updateTemplate(Q.value,{description:t,content:Bs.value}),Ls.value=!1}catch(e){$.value=e instanceof Error?e.message:w(`templates.createFailed`)}finally{Vs.value=!1}}function Js(){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()=>{Hs.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{Hs.value=!1}})}async function Ys(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`})}})}let Xs=[{label:`English`,value:`en`},{label:`Français`,value:`fr`},{label:`Deutsch`,value:`de`},{label:`Español`,value:`es`},{label:`Italiano`,value:`it`}];function Zs(e){ne.value=e,localStorage.setItem(`kobo:locale`,e)}let Qs=b(()=>[...qe.map(e=>({label:w(e.i18nLabelKey),value:e.value}))]),$s=b(()=>[...Ke.map(e=>({label:w(e.i18nLabelKey),value:e.value}))]),ec=b(()=>[{label:w(`settings.useGlobal`),value:``},...Qs.value]),tc=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`}]),nc=b(()=>Je[`claude-code`].map(e=>({label:w(`agentPermissionMode.${e}`),value:e}))),rc=b(()=>Je.codex.map(e=>({label:w(`agentPermissionMode.${e}`),value:e}))),ic=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`)}]),ac=b(()=>[{label:w(`settings.mcpAutoSelect`),value:``},...n.activeMcpServers.map(e=>({label:e.key,value:e.key}))]),oc=b(()=>fe.map(e=>({label:w(e.labelKey),value:e.id}))),sc=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})))),cc=[{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 lc(){ge(V.value,U.value)}let uc=b(()=>Y.value<0||Y.value>=n.projects.length?null:n.projects[Y.value]??null),dc=g(``),fc=g(``);function pc(){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,autoPurgeOnPrMerged:R.value,browserNotifications:Ne.value,audioNotifications:z.value,audioNotificationSound:V.value,audioNotificationVolume:U.value,notionStatusProperty:Ye.value,notionStatus:Xe.value,notionAssigneeProperty:Ze.value,notionUserId:W.value,notionInitialPrompt:at.value,sentryInitialPrompt:ot.value,claudePermissionMode:ko.value,codexPermissionMode:Ao.value,notionMcpKey:jo.value,sentryMcpKey:Mo.value,tags:No.value,branchPrefixes:K.value,setupScript:Fo.value,cleanupScript:Io.value,cleanupScriptMode:Lo.value,cleanupScriptOnlyOnChanges:Ro.value,archiveScript:zo.value,changeSourceBranchScript:Bo.value,worktreesPath:Go.value,worktreesPrefixByProject:qo.value,flattenWorkspaceList:$o.value,skillSuite:q.value,customReviewTemplate:ts.value,customAutoLoopReviewGate:ns.value,customAutoLoopGroomingIntro:rs.value,customQaPromptTemplate:is.value,customBrainstormingInstruction:as.value,voiceEnabled:os.value,voicePttKey:ss.value,voiceLanguage:cs.value,voiceModel:J.value,voiceCommandPath:ls.value,voiceFfmpegPath:us.value,voiceTemperature:ds.value,voicePrompt:fs.value,voiceTranslateToEnglish:ps.value,voiceSuppressNst:ms.value})}function mc(){return JSON.stringify(Z.value)}let hc=b(()=>pc()!==dc.value),gc=b(()=>mc()!==fc.value),_c=b(()=>E.value===`projects`?gc.value&&(uc.value!==null||X.value):E.value===`templates`?!1:hc.value),vc=b(()=>E.value===`projects`?Fs.value:Vs.value);function yc(){E.value===`projects`?Rc():kc()}function bc(){gs.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??``,R.value=n.global.autoPurgeOnPrMerged??!1,Ne.value=n.global.browserNotifications??!0,z.value=n.global.audioNotifications??!0,V.value=_e(n.global.audioNotificationSound);let t=n.global.audioNotificationVolume;U.value=typeof t==`number`&&Number.isFinite(t)?Math.max(0,Math.min(1,t)):1,Ye.value=n.global.notionStatusProperty??``,Xe.value=n.global.notionInProgressStatus??``,Ze.value=n.global.notionAssigneeProperty??``,W.value=n.global.notionUserId??``,at.value=n.global.notionInitialPromptTemplate??``,ot.value=n.global.sentryInitialPromptTemplate??``;{let e=n.global.defaultPermissionModeByEngine??{},t=e=>e===`plan`||e===`bypass`||e===`strict`||e===`interactive`,r=e[`claude-code`];ko.value=t(r)?r:`bypass`;let i=e.codex;Ao.value=t(i)?i:`bypass`}jo.value=n.global.notionMcpKey??``,Mo.value=n.global.sentryMcpKey??``,No.value=Array.isArray(n.global.tags)?[...n.global.tags]:[],K.value=Array.isArray(n.global.branchPrefixes)?[...n.global.branchPrefixes]:[],Fo.value=n.global.setupScript??``,Io.value=n.global.cleanupScript??``,Lo.value=n.global.cleanupScriptMode===`idle`?`idle`:`no-tasks`,Ro.value=n.global.cleanupScriptOnlyOnChanges??!1,zo.value=n.global.archiveScript??``,Bo.value=n.global.changeSourceBranchScript??``,Go.value=n.global.worktreesPath??`.worktrees`,qo.value=n.global.worktreesPrefixByProject??!1,$o.value=n.global.flattenWorkspaceList??!1,q.value=n.global.skillSuite??`superpowers`,ts.value=n.global.customReviewTemplate??``,ns.value=n.global.customAutoLoopReviewGate??``,rs.value=n.global.customAutoLoopGroomingIntro??``,is.value=n.global.customQaPromptTemplate??``,as.value=n.global.customBrainstormingInstruction??``,os.value=n.global.voiceEnabled??!1,ss.value=n.global.voicePttKey===`ctrl+space`?`ctrl+space`:`alt`,cs.value=n.global.voiceLanguage??`auto`,J.value=n.global.voiceModel??null,ls.value=n.global.voiceCommandPath??``,us.value=n.global.voiceFfmpegPath??``,ds.value=typeof n.global.voiceTemperature==`number`?n.global.voiceTemperature:0,fs.value=n.global.voicePrompt??``,ps.value=n.global.voiceTranslateToEnglish??!1,ms.value=n.global.voiceSuppressNonSpeechTokens??!0,gs.value=!1,dc.value=pc()}ee(()=>J.value,(e,t)=>{gs.value||e!==t&&(ds.value=ys(e))});function xc(e){if(!e){Z.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:``}},Ns.value=[],fc.value=mc();return}Z.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??``}},fc.value=mc(),e.path&&Sc(e.path)}async function Sc(e){if(!e.trim()){Ns.value=[];return}Ps.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();Ns.value=n.local??n.branches??[]}catch{Ns.value=[]}finally{Ps.value=!1}}let Cc=null;ee(()=>Z.value.path,e=>{Cc&&clearTimeout(Cc),Cc=setTimeout(()=>{Sc(e)},500)}),ee(Y,()=>{X.value=!1,xc(uc.value)});let wc=g(null);async function Tc(){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 Ec(){wc.value?.click()}async function Dc(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(),bc(),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 Oc(e){if(G.value===null){G.value=e;try{let t=await n.fetchGlobalDefaults(),r={prPromptTemplate:k,reviewPromptTemplate:de,ciFixPromptTemplate:A,gitConventions:Ce,notionInitialPromptTemplate:at,sentryInitialPromptTemplate:ot};r[e].value=t[e]}catch(e){console.error(`[SettingsPage] resetFieldToDefault failed:`,e),t.notify({type:`negative`,message:w(`settings.resetFailed`),position:`top`})}finally{G.value=null}}}async function kc(){if(await Ko.value?.validate()!==!1){xs.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,autoPurgeOnPrMerged:R.value,browserNotifications:Ne.value,audioNotifications:z.value,audioNotificationSound:V.value,audioNotificationVolume:U.value,notionStatusProperty:Ye.value,notionInProgressStatus:Xe.value,notionAssigneeProperty:Ze.value,notionUserId:W.value,notionInitialPromptTemplate:at.value,sentryInitialPromptTemplate:ot.value,defaultPermissionModeByEngine:{"claude-code":ko.value,codex:Ao.value},notionMcpKey:jo.value,sentryMcpKey:Mo.value,tags:No.value,branchPrefixes:K.value,setupScript:Fo.value,cleanupScript:Io.value,cleanupScriptMode:Lo.value,cleanupScriptOnlyOnChanges:Ro.value,archiveScript:zo.value,changeSourceBranchScript:Bo.value,worktreesPath:Go.value,worktreesPrefixByProject:qo.value,flattenWorkspaceList:$o.value,skillSuite:q.value,customReviewTemplate:ts.value,customAutoLoopReviewGate:ns.value,customAutoLoopGroomingIntro:rs.value,customQaPromptTemplate:is.value,customBrainstormingInstruction:as.value,voiceEnabled:os.value,voicePttKey:ss.value,voiceLanguage:cs.value,voiceModel:J.value,voiceCommandPath:ls.value.trim(),voiceFfmpegPath:us.value.trim(),voiceTemperature:ds.value,voicePrompt:fs.value,voiceTranslateToEnglish:ps.value,voiceSuppressNonSpeechTokens:ms.value}),dc.value=pc(),t.notify({type:`positive`,message:w(`settings.saved`),position:`top`})}catch{t.notify({type:`negative`,message:w(`settings.saveError`),position:`top`})}finally{xs.value=!1}}}async function Ac(e){hs.value=e,Fc();try{await n.downloadVoiceModel(e)}catch{t.notify({type:`negative`,message:w(`voice.downloadFailed`),position:`top`})}finally{hs.value=null,Ic()}}async function jc(e){hs.value=e;try{await n.deleteVoiceModel(e),J.value===e&&(J.value=null)}catch{t.notify({type:`negative`,message:w(`voice.deleteFailed`),position:`top`})}finally{hs.value=null}}async function Mc(e){try{await n.cancelVoiceModelDownload(e)}catch{t.notify({type:`negative`,message:w(`voice.cancelFailed`),position:`top`})}}function Nc(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 Pc=null;function Fc(){Pc||=setInterval(()=>{n.fetchVoiceModels().catch(()=>{})},800)}function Ic(){Pc&&=(clearInterval(Pc),null)}async function Lc(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 Rc(){if(!Z.value.path.trim()){t.notify({type:`negative`,message:w(`settings.projectPathRequired`),position:`top`});return}Fs.value=!0;try{await n.upsertProject(Z.value.path.trim(),{displayName:Z.value.displayName,color:Z.value.color,defaultSourceBranch:Z.value.defaultSourceBranch,defaultModel:Z.value.defaultModel,forge:Z.value.forge,prPromptTemplate:Z.value.prPromptTemplate,reviewPromptTemplate:Z.value.reviewPromptTemplate,ciFixPromptTemplate:Z.value.ciFixPromptTemplate,notionInitialPromptTemplate:Z.value.notionInitialPromptTemplate,sentryInitialPromptTemplate:Z.value.sentryInitialPromptTemplate,gitConventions:Z.value.gitConventions,setupScript:Z.value.setupScript,taskPromptTemplate:Z.value.taskPromptTemplate,cleanupScript:Z.value.cleanupScript,cleanupScriptMode:Z.value.cleanupScriptMode,archiveScript:Z.value.archiveScript,changeSourceBranchScript:Z.value.changeSourceBranchScript,devServer:Z.value.devServer,e2e:Z.value.e2e,finalization:Z.value.finalization}),X.value=!1;let e=n.projects.findIndex(e=>e.path===Z.value.path.trim());e>=0&&(Y.value=e),fc.value=mc(),t.notify({type:`positive`,message:w(`settings.projectSaved`),position:`top`})}catch{t.notify({type:`negative`,message:w(`settings.projectSaveError`),position:`top`})}finally{Fs.value=!1}}function zc(){if(!uc.value)return;let e=uc.value.displayName||uc.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(uc.value){Is.value=!0;try{await n.deleteProject(uc.value.path),Y.value=-1,X.value=!1,xc(null),t.notify({type:`positive`,message:w(`settings.projectDeleted`),position:`top`})}catch{t.notify({type:`negative`,message:w(`settings.projectDeleteError`),position:`top`})}finally{Is.value=!1}}})}function Bc(){Y.value=-1,X.value=!0,xc(null),Cs.value=null,ws.value=null}function Vc(e){X.value=!1,Y.value=e,Cs.value=null,ws.value=null}function Hc(e){if(e.displayName)return e.displayName;let t=e.path.split(`/`);return t[t.length-1]??e.path}let Uc=g([]);function Wc(e,t){t(()=>{Uc.value=e?Ns.value.filter(t=>t.toLowerCase().includes(e.toLowerCase())):Ns.value})}return o(async()=>{await Promise.all([n.fetchSettings(),n.fetchActiveMcpServers(),js()]);try{Vo.value=(await n.fetchGlobalDefaults()).changeSourceBranchScript??``}catch(e){console.error(`[SettingsPage] fetchGlobalDefaults failed:`,e)}await n.fetchVoiceModels(),await n.fetchVoiceRuntime(),bc(),rt().catch(()=>{})}),s(()=>{Cc&&clearTimeout(Cc),Ic()}),(e,t)=>(i(),h(Ge,{class:`settings-page`},{default:r(()=>[C(`div`,ct,[C(`aside`,lt,[C(`div`,ut,u(e.$t(`settings.title`)),1),d(Pe,{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`,dt,[C(`header`,ft,[C(`h2`,pt,u(oe.value),1)]),C(`div`,mt,[a(C(`div`,ht,[a(C(`div`,gt,[C(`div`,_t,u(e.$t(`settings.language`)),1),d(H,{"model-value":f(ne),options:Xs,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input`,"onUpdate:modelValue":Zs},null,8,[`model-value`])],512),[[D,E.value===`general`]]),a(C(`div`,vt,[C(`div`,yt,u(e.$t(`settings.workspaceListSection`)),1),d(P,{modelValue:$o.value,"onUpdate:modelValue":t[0]||=e=>$o.value=e,label:e.$t(`settings.flattenWorkspaceList`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`},null,8,[`modelValue`,`label`]),C(`div`,bt,u(e.$t(`settings.flattenWorkspaceListHint`)),1)],512),[[D,E.value===`general`]]),a(C(`div`,xt,[C(`div`,St,u(e.$t(`settings.skillSuite.section`)),1),d(ke,{modelValue:q.value,"onUpdate:modelValue":t[1]||=e=>q.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`,Ct,u(e.$t(es.value)),1),d(j,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`grey-5`,icon:`restart_alt`,label:e.$t(`settings.skillSuite.reloadDefaults`),disable:q.value!==`custom`,class:`q-mt-sm`,onClick:_s},null,8,[`label`,`disable`])],512),[[D,E.value===`skills`]]),E.value===`skills`&&q.value===`custom`?(i(),x(`div`,wt,[C(`div`,Tt,u(e.$t(`settings.skillSuite.customPrompts`)),1),C(`div`,Et,u(e.$t(`settings.skillSuite.reviewTemplate`)),1),d(N,{modelValue:ts.value,"onUpdate:modelValue":t[2]||=e=>ts.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`]),C(`div`,Dt,u(e.$t(`settings.skillSuite.autoLoopReviewGate`)),1),d(N,{modelValue:ns.value,"onUpdate:modelValue":t[3]||=e=>ns.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`]),C(`div`,Ot,u(e.$t(`settings.skillSuite.autoLoopGroomingIntro`)),1),d(N,{modelValue:rs.value,"onUpdate:modelValue":t[4]||=e=>rs.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`]),C(`div`,kt,u(e.$t(`settings.skillSuite.qaTemplate`)),1),d(N,{modelValue:is.value,"onUpdate:modelValue":t[5]||=e=>is.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`]),C(`div`,At,u(e.$t(`settings.skillSuite.brainstormingInstruction`)),1),d(N,{modelValue:as.value,"onUpdate:modelValue":t[6]||=e=>as.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])])):_(``,!0),a(C(`div`,jt,[C(`div`,Mt,u(e.$t(`settings.defaultModelClaude`)),1),d(H,{modelValue:ce.value,"onUpdate:modelValue":t[7]||=e=>ce.value=e,options:Qs.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`,Nt,u(e.$t(`settings.defaultModelCodex`)),1),d(H,{modelValue:le.value,"onUpdate:modelValue":t[8]||=e=>le.value=e,options:$s.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`,Pt,u(e.$t(`settings.defaultPermissionModeClaude`)),1),C(`div`,Ft,u(e.$t(`settings.defaultPermissionModeHint`)),1),d(H,{modelValue:ko.value,"onUpdate:modelValue":t[9]||=e=>ko.value=e,options:nc.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`options`]),C(`div`,It,u(e.$t(`settings.defaultPermissionModeCodex`)),1),d(H,{modelValue:Ao.value,"onUpdate:modelValue":t[10]||=e=>Ao.value=e,options:rc.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])],512),[[D,E.value===`agents`]]),a(C(`div`,Lt,[C(`div`,Rt,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`,zt,[C(`div`,Bt,u(e.$t(`settings.notifications`)),1),C(`div`,Vt,[d(P,{modelValue:Ne.value,"onUpdate:modelValue":t[12]||=e=>Ne.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:z.value,"onUpdate:modelValue":t[13]||=e=>z.value=e,label:e.$t(`settings.audioNotifications`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`},null,8,[`modelValue`,`label`])]),C(`div`,Ht,[d(H,{modelValue:V.value,"onUpdate:modelValue":t[14]||=e=>V.value=e,options:oc.value,label:e.$t(`settings.notificationSound`),disable:!z.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:!z.value,onClick:lc},null,8,[`label`,`disable`])]),C(`div`,Ut,[C(`div`,Wt,u(e.$t(`settings.notificationVolume`)),1),d(nt,{modelValue:U.value,"onUpdate:modelValue":t[15]||=e=>U.value=e,min:0,max:1,step:.05,disable:!z.value,dark:``,dense:``,color:`indigo-4`,class:`col`},null,8,[`modelValue`,`disable`]),C(`div`,Gt,u(Math.round(U.value*100))+`% `,1)])],512),[[D,E.value===`notifications`]]),a(C(`div`,Kt,[C(`div`,qt,[C(`div`,Jt,u(e.$t(`voice.sectionRuntime`)),1),d(B),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`,Yt,[C(`div`,Xt,[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`,Zt,[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(Me,{dense:``,dark:``,icon:`help_outline`,label:e.$t(`voice.installGuideTitle`),class:`variables-panel rounded-borders q-mt-sm`},{default:r(()=>[C(`div`,Qt,[C(`div`,$t,u(e.$t(`voice.installGuideIntro`)),1),C(`div`,en,[C(`a`,tn,u(e.$t(`voice.installLink`)),1)]),C(`div`,nn,u(e.$t(`voice.installGuideUbuntuTitle`)),1),t[93]||=C(`pre`,{class:`mono-guide q-mb-sm`},`sudo apt update
|
|
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-l1Pxijve.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-BHT72IUw.js";import{n as F,t as I}from"./QItemSection-DRg-QuAD.js";import{t as L}from"./QItemLabel-Btqw0P7M.js";import{d as R,t as je}from"./QTooltip-CwBZU_bs.js";import{t as Me}from"./QExpansionItem-CiBP4NiY.js";import{t as Ne}from"./TouchPan-DXGxNMLq.js";import{t as z}from"./_plugin-vue_export-helper-r4mAJOHR.js";import{t as B}from"./QSpace-Crcx82On.js";import{t as Pe}from"./QList-CRYZxnPD.js";import{t as V}from"./QMenu-Yx1QEIHC.js";import{t as Fe}from"./ClosePopup-0MWohgml.js";import{t as Ie}from"./use-quasar-q6dh7QVJ.js";import{a as Le,i as Re,n as ze,r as Be,t as Ve}from"./skill-suite-prompts-8f_JW79j.js";import{t as He}from"./QChip-D2TVel5I.js";import{n as Ue,t as We}from"./use-onboarding-B6FZK2Yn.js";import{t as Ge}from"./QPage-3-ah4oor.js";import{a as H,n as Ke,r as qe,t as Je}from"./permissionModes-Cebx7fq6.js";import{t as U}from"./QBanner-C_TvxtXi.js";var Ye=`q-slider__marker-labels`,Xe=e=>({value:e}),Ze=({marker:e})=>t(`div`,{key:e.value,style:e.style,class:e.classes},e.label),W=[34,37,40,33,39,38],Qe={...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`}},$e=[`pan`,`update:modelValue`,`change`];function et({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),R(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?R((n.top-t.top)/t.height,0,1):R((n.left-t.left)/t.width,0,1);return R(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=` ${Ye}${_.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:L.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(Xe);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 L=b(()=>{if(o.markerLabels===!1)return null;let e={};return Oe.value.forEach(t=>{e[t.value]=t}),e});function je(){if(c[`marker-label-group`]!==void 0)return c[`marker-label-group`](ke.value);let e=c[`marker-label`]||Ze;return Oe.value.map(t=>e({marker:t,...ke.value}))}let Me=b(()=>[[Ne,z,void 0,{[O.value]:!0,prevent:!0,stop:!0,mouse:!0,mouseAllDir:!0}]]);function z(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 B(){m.value=!1}function Pe(e){r(e,i(e)),n(),f.value=!0,d.value=!0,document.addEventListener(`mouseup`,V,!0)}function V(){f.value=!1,d.value=!1,n(!0),B(),document.removeEventListener(`mouseup`,V,!0)}function Fe(e){r(e,i(e)),n(!0)}function Ie(e){W.includes(e.keyCode)&&n(!0)}function Le(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 Re(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(()=>Le(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 ze(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,()=>Me.value)];return o.markerLabels!==!1&&s[o.switchMarkerLabelsSide===!0?`unshift`:`push`](t(`div`,{key:`markerL`,class:be.value},je())),s}return e(()=>{document.removeEventListener(`mouseup`,V,!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:Pe,onMobileClick:Fe,onBlur:B,onKeyup:Ie,getContent:ze,getThumbRenderFn:Re,convertRatioToModel:we,convertModelToRatio:N,getDraggingRatio:Te}}}var tt=()=>({}),nt=E({name:`QSlider`,props:{...Qe,modelValue:{required:!0,default:null,validator:e=>typeof e==`number`||e===null},labelValue:[String,Number]},emits:$e,setup(e,{emit:n}){let{proxy:{$q:r}}=p(),{state:i,methods:a}=et({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:R(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:tt,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(W.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=R(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 rt(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(rt(e,t))}):e instanceof Map&&e.forEach((e,r)=>{n.set(r,rt(e,t))}),Object.assign(n,...Object.keys(e).map(n=>({[n]:rt(e[n],t)})))}var it=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=rt(e.modelValue),l.value=rt(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(V,{ref:s,class:`q-popup-edit`,cover:e.cover,onBeforeShow:v,onShow:y,onBeforeHide:x,onHide:S,onEscapeKey:f},C)}}}),at={class:`text-h6`},ot=[`title`],G={key:1,class:`row justify-center q-mt-sm`},st=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`,at,u(t.$t(`folderPicker.title`)),1),d(B),a(d(j,{flat:``,dense:``,round:``,icon:`close`,color:`grey-5`},null,512),[[Fe]])]),_: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,ot),m.value?(i(),h(U,{key:0,dense:``,class:`bg-red-9 text-white q-mb-sm rounded-borders`},{default:r(()=>[v(u(m.value),1)]),_:1})):_(``,!0),d(Pe,{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`,G,[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`]),[[Fe]]),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`]))}}),ct={class:`settings-layout`},lt={class:`settings-nav`},ut={class:`settings-nav__title`},dt={class:`settings-content`},ft={class:`settings-content__header`},pt={class:`settings-content__title`},mt={class:`settings-panels`},ht={class:`settings-global-wrap`},gt={"data-tour":`settings-card-general`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},_t={class:`text-subtitle2 q-mb-sm`},vt={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},yt={class:`text-subtitle2 q-mb-sm`},bt={class:`text-caption text-grey-7 q-mt-xs`},xt={"data-tour":`settings-card-skills`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},St={class:`text-subtitle2 q-mb-sm`},Ct={class:`text-caption text-grey-6 q-mt-xs`},wt={key:0,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Tt={class:`text-subtitle2 q-mb-sm`},Et={class:`text-caption text-grey-6 q-mb-xs q-mt-sm`},Dt={class:`text-caption text-grey-6 q-mt-md q-mb-xs`},Ot={class:`text-caption text-grey-6 q-mt-md q-mb-xs`},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={"data-tour":`settings-card-agents`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Mt={class:`text-subtitle2 q-mb-sm`},Nt={class:`text-subtitle2 q-mb-sm q-mt-md`},Pt={class:`text-subtitle2 q-mb-sm q-mt-md`},Ft={class:`text-caption text-grey-7 q-mb-sm`},It={class:`text-subtitle2 q-mb-sm q-mt-md`},Lt={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Rt={class:`text-subtitle2 q-mb-sm`},zt={"data-tour":`settings-card-notifications`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Bt={class:`text-subtitle2 q-mb-sm`},Vt={class:`column q-gutter-xs`},Ht={class:`row items-center q-gutter-sm q-mt-sm`},Ut={class:`row items-center q-gutter-sm q-mt-sm`},Wt={class:`text-grey-5 text-caption`,style:{"min-width":`80px`}},Gt={class:`text-grey-5 text-caption`,style:{"min-width":`40px`,"text-align":`right`}},Kt={"data-tour":`settings-card-voice`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},qt={class:`row items-center q-mb-sm`},Jt={class:`text-subtitle2`},Yt={class:`column q-gutter-xs`},Xt={class:`row items-center q-gutter-sm`},Zt={class:`row items-center q-gutter-sm`},Qt={class:`q-pa-sm text-caption text-grey-5`},$t={class:`q-mb-sm`},en={class:`q-mb-sm`},tn={href:`https://github.com/ggml-org/whisper.cpp`,target:`_blank`,rel:`noopener noreferrer`,class:`text-indigo-4`},nn={class:`q-mb-xs text-grey-4`},rn={class:`q-mb-sm`},an={class:`q-mb-xs text-grey-4`},on={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},sn={class:`text-subtitle2 q-mb-sm`},cn={class:`row q-col-gutter-sm`},ln={class:`col-12 col-sm-6`},un={class:`col-12 col-sm-6`},dn={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},fn={class:`text-subtitle2 q-mb-sm`},pn={key:0,class:`voice-models-dir row items-center q-gutter-sm q-mb-md`},mn={class:`text-caption text-grey-5 ellipsis-2-lines`,style:{flex:`1`,"min-width":`0`,"word-break":`break-all`}},hn={class:`column q-gutter-sm`},gn={class:`row items-center q-gutter-sm`},_n={class:`text-body2 text-grey-3`,style:{"font-family":`var(--kobo-font-mono, monospace)`}},vn={class:`text-caption text-grey-6`},yn={key:0,class:`q-mt-sm`},bn={class:`row items-center q-mt-xs`},xn={class:`text-caption text-grey-6`},Sn={class:`text-caption text-indigo-4`},Cn={key:1,class:`text-caption text-grey-7 q-mt-xs ellipsis`,style:{"font-family":`var(--kobo-font-mono, monospace)`,"word-break":`break-all`}},wn={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Tn={class:`text-subtitle2 q-mb-sm`},En={class:`q-pa-sm column q-gutter-sm`},Dn={class:`row items-center q-gutter-sm`},On={class:`text-caption text-grey-5`},kn={class:`text-caption text-grey-5`,style:{"min-width":`40px`,"text-align":`right`}},An={class:`text-caption text-grey-7`},jn={class:`text-caption text-grey-7`},Mn={class:`text-caption text-grey-7`},Nn={class:`text-caption text-grey-7`},Pn={class:`q-pa-sm column q-gutter-sm`},Fn={key:1,"data-tour":`settings-card-prompts`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},In={class:`row items-center q-mb-sm`},Ln={class:`text-subtitle2`},Rn={class:`text-caption text-grey-7 q-mb-sm`},zn={class:`q-mb-sm`},Bn={class:`row items-center q-mb-sm q-mt-md`},Vn={class:`text-subtitle2`},Hn={class:`text-caption text-grey-7 q-mb-sm`},Un={class:`row items-center q-mb-sm q-mt-md`},Wn={class:`text-subtitle2`},Gn={class:`text-caption text-grey-7 q-mb-sm`},Kn={class:`row items-center q-mb-sm q-mt-md`},qn={class:`text-subtitle2`},Jn={class:`text-caption text-grey-7 q-mb-sm`},Yn={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Xn={class:`text-subtitle2 q-mb-sm`},Zn={class:`text-caption text-grey-7 q-mb-sm`},Qn={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},$n={class:`text-subtitle2 q-mb-sm`},er={class:`text-caption text-grey-7 q-mb-sm`},tr={"data-tour":`settings-card-notion`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},nr={class:`text-subtitle2 q-mb-sm`},rr={class:`text-caption text-grey-7 q-mb-sm`},ir={class:`q-mb-sm`},ar={class:`field-label-sub text-caption q-mb-xs text-grey-7`},or={class:`q-mb-sm`},sr={class:`field-label-sub text-caption q-mb-xs text-grey-7`},cr={key:2,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},lr={class:`text-subtitle2 q-mb-sm`},ur={class:`text-caption text-grey-7 q-mb-sm`},dr={class:`q-mb-sm`},fr={class:`field-label-sub text-caption q-mb-xs text-grey-7`},pr={class:`q-mb-sm`},mr={class:`field-label-sub text-caption q-mb-xs text-grey-7`},hr={class:`row items-center q-mb-sm`},gr={class:`text-subtitle2`},_r={class:`text-caption text-grey-7 q-mb-xs`},vr={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},yr={class:`text-subtitle2 q-mb-sm`},br={class:`text-caption text-grey-7 q-mb-sm`},xr={class:`q-mb-sm`},Sr={class:`field-label-sub text-caption q-mb-xs text-grey-7`},Cr={class:`q-mb-sm`},wr={class:`row items-center q-mb-xs`},Tr={class:`field-label-sub text-caption text-grey-7 col`},Er=[`src`,`alt`],Dr={key:1,class:`text-caption text-grey-7 q-py-sm`},Or={key:0,class:`text-caption text-orange-5 q-mb-xs`},kr={key:3,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Ar={class:`text-subtitle2 q-mb-sm`},jr={class:`row items-center q-mb-sm`},Mr={class:`text-subtitle2`},Nr={class:`text-caption text-grey-7 q-mb-xs`},Pr={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Fr={class:`text-subtitle2 q-mb-sm`},Ir={class:`text-caption text-grey-7 q-mb-sm`},Lr={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Rr={class:`text-subtitle2 q-mb-sm`},zr={class:`text-caption text-grey-7 q-mb-sm`},Br={class:`row items-center no-wrap`},Vr={key:1,class:`text-caption text-grey-7 q-mb-sm`},Hr={class:`row items-center q-gutter-sm`},Ur={"data-tour":`settings-card-scripts`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Wr={class:`text-subtitle2 q-mb-sm`},Gr={class:`text-caption text-grey-7 q-mb-sm`},Kr={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},qr={class:`text-subtitle2 q-mb-sm`},Jr={class:`text-caption text-grey-7 q-mb-sm`},Yr={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Xr={class:`text-subtitle2 q-mb-sm`},Zr={class:`text-caption text-grey-7 q-mb-sm`},Qr={class:`text-caption text-grey-6 q-mt-md q-mb-xs`},$r={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ei={class:`text-subtitle2 q-mb-sm`},ti={class:`text-caption text-grey-7 q-mb-sm`},ni={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ri={class:`row items-center justify-between q-mb-sm`},ii={class:`text-subtitle2`},ai={class:`text-caption text-grey-7 q-mb-xs`},oi={class:`text-caption text-grey-6 mono-guide q-mb-sm`},si={"data-tour":`settings-card-worktrees`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ci={class:`text-subtitle2 q-mb-sm`},li={class:`text-caption text-grey-7 q-mb-sm`},ui={class:`text-caption text-grey-7 q-mt-xs`},di={"data-tour":`settings-card-worktrees-purge`},fi={class:`text-caption text-grey-7 q-mt-xs`},pi={class:`q-pa-sm text-caption text-grey-5`,style:{"line-height":`1.55`}},mi={class:`text-weight-medium text-grey-3 q-mb-xs`},hi={class:`q-mb-xs`},gi={class:`purge-docs-code`},_i={class:`text-grey-7 q-mb-md`},vi={class:`text-weight-medium text-grey-3 q-mb-xs`},yi={class:`q-mb-xs`},bi={class:`q-pl-md q-my-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-mb-xs text-grey-6`},Ei={class:`purge-docs-code`},Di={class:`q-mb-xs text-grey-6`},Oi={class:`purge-docs-code`},ki={class:`text-grey-7`},Ai={"data-tour":`settings-card-export`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ji={class:`text-subtitle2 q-mb-sm`},Mi={class:`text-caption text-grey-7 q-mb-sm`},Ni={class:`row q-gutter-sm`},Pi={class:`row justify-end settings-sticky-actions`},Fi={class:`q-pa-none`},Ii={class:`row q-gutter-md`,style:{"min-height":`500px`}},Li={class:`project-list-col`},Ri={class:`settings-card rounded-borders`,style:{height:`100%`}},zi={class:`q-pa-sm`},Bi={class:`text-caption text-uppercase text-weight-bold q-px-sm q-py-xs text-grey-6`,style:{"letter-spacing":`0.05em`}},Vi={key:0,class:`q-pa-md text-center text-caption text-grey-8`},Hi={class:`q-pa-sm`},Ui={class:`project-form-col`},Wi={class:`settings-card rounded-borders q-pa-lg`,style:{height:`100%`}},Gi={class:`row items-center q-mb-md`},Ki={class:`text-subtitle1 text-weight-medium text-grey-3`},qi={key:0,class:`q-mb-md`},Ji={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Yi={class:`text-caption text-grey-7 q-mt-xs`},Xi={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Zi={class:`text-subtitle2 q-mb-md`},Qi={class:`q-mb-md`},$i={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},ea={class:`q-mb-md`},ta={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},na={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},ra={class:`row items-center q-gutter-xs`},ia={class:`text-caption text-grey-6 q-mt-xs`},aa={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},oa={class:`text-subtitle2 q-mb-md`},sa={class:`q-mb-md`},ca={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},la={class:`q-mb-md`},ua={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},da={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},fa={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},pa={class:`text-subtitle2 q-mb-md`},ma={class:`q-mb-md`},ha={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},ga={class:`text-caption text-grey-7 q-mb-xs`},_a={class:`q-mb-md`},va={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},ya={class:`text-caption text-grey-7 q-mb-xs`},ba={class:`q-mb-md`},xa={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Sa={class:`text-caption text-grey-7 q-mb-xs`},Ca={class:`q-mb-md`},wa={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Ta={class:`text-caption text-grey-7 q-mb-xs`},Ea={class:`q-mb-md`},Da={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Oa={class:`text-caption text-grey-7 q-mb-xs`},ka={class:`q-mb-md`},Aa={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},ja={class:`text-caption text-grey-7 q-mb-xs`},Ma={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Na={class:`text-caption text-grey-7 q-mt-xs`},Pa={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Fa={class:`text-subtitle2 q-mb-md`},Ia={class:`q-mb-md`},La={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Ra={class:`text-caption text-grey-7 q-mb-xs`},za={class:`text-caption text-grey-7 q-mt-xs`},Ba={class:`q-mb-md`},Va={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Ha={class:`text-caption text-grey-7 q-mb-xs`},Ua={class:`field-label-sub text-caption q-mt-sm q-mb-xs text-grey-7`},Wa={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Ga={class:`text-caption text-grey-7 q-mb-xs`},Ka={class:`row items-center justify-between q-mb-xs`},qa={class:`field-label text-body2 text-weight-medium text-grey-6`},Ja={class:`text-caption text-grey-7 q-mb-xs`},Ya={class:`text-caption text-grey-6 mono-guide q-mb-sm`},Xa={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Za={class:`text-subtitle2 q-mb-md`},Qa={class:`q-mb-md`},$a={class:`field-label-sub text-caption q-mb-xs text-grey-7`},eo={class:`field-label-sub text-caption q-mb-xs text-grey-7`},to={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},no={class:`text-subtitle2 q-mb-xs`},ro={class:`text-caption text-grey-7 q-mb-sm`},io={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ao={class:`text-subtitle2 q-mb-xs`},oo={class:`text-caption text-grey-7 q-mb-sm`},so={class:`row items-center q-gutter-sm settings-sticky-actions`},co={key:1,class:`column items-center justify-center`,style:{height:`100%`,"min-height":`300px`}},lo={class:`text-body2 text-grey-8`},uo={class:`q-pa-none`},fo={"data-tour":`settings-card-templates`,class:`settings-card rounded-borders q-pa-lg`},po={class:`row items-center justify-between q-mb-md`},mo={class:`text-subtitle1 text-weight-medium text-grey-3`},ho={class:`row q-gutter-sm items-center`},go={key:0,class:`text-grey-6 q-py-lg text-center`},_o={key:1,class:`column q-gutter-sm`},vo={class:`row items-start justify-between no-wrap`},yo={class:`col`},bo={class:`text-body1 text-weight-medium`,style:{"font-family":`'Roboto Mono', monospace`}},xo={class:`text-caption text-grey-5 q-mt-xs`},So={class:`row no-wrap q-gutter-xs`},Co={class:`text-caption text-grey-7 q-mt-lg`,style:{"font-family":`'Roboto Mono', monospace`}},wo={key:0,class:`settings-savebar`},To={class:`settings-savebar__label`},Eo={class:`text-subtitle1`},Do={class:`q-pl-md q-pt-xs`,style:{"font-size":`11px`,"font-family":`'Roboto Mono', monospace`,columns:`2`,"column-gap":`24px`}},Oo={key:0,class:`text-negative text-caption`},ko=z(w({__name:`SettingsPage`,setup(e){let t=Ie(),n=ve(),p=Oe(),{t:w,locale:ne}=Se(),{startTour:re}=We(),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(``),R=g(!1),Ne=g(!0),z=g(!0),V=g(me),U=g(1),Ye=g(``),Xe=g(``),Ze=g(``),W=g(``),Qe=g([]),$e=g(!1),et=g(``),tt=b(()=>Qe.value.map(e=>({label:`${e.name} — ${e.email}`,value:e.id,name:e.name,email:e.email,avatarUrl:e.avatarUrl})));async function rt(e=!1){if(!$e.value&&!(!e&&Qe.value.length>0)){$e.value=!0,et.value=``;try{let e=await fetch(`/api/notion/users`),t=await e.json().catch(()=>({}));if(!e.ok)throw Error(t.error??`HTTP ${e.status}`);Qe.value=Array.isArray(t.users)?t.users:[]}catch(e){et.value=e instanceof Error?e.message:String(e),Qe.value=[]}finally{$e.value=!1}}}let at=g(``),ot=g(``),G=g(null),ko=g(`bypass`),Ao=g(`bypass`),jo=g(``),Mo=g(``),No=g([]),K=g([]),Po=g(``),Fo=g(``),Io=g(``),Lo=g(`no-tasks`),Ro=g(!1),zo=g(``),Bo=g(``),Vo=g(``),Ho=g(!1);function Uo(e){Z.value.path=e}let Wo=b(()=>[{label:w(`settings.cleanupScriptMode.inherit`),value:``},{label:w(`settings.cleanupScriptMode.idle`),value:`idle`},{label:w(`settings.cleanupScriptMode.noTasks`),value:`no-tasks`}]),Go=g(pe),Ko=g(null),qo=g(!0);function Jo(e){let t=e.trim().replace(/^\/+|\/+$/g,``);return t.length===0||t.length>50||!/^[A-Za-z0-9._/-]+$/.test(t)||t.includes(`..`)?``:t}function Yo(){let e=Jo(Po.value);!e||K.value.includes(e)||(K.value.push(e),Po.value=``)}function Xo(e){K.value.splice(e,1)}function Zo(e,t){let n=Jo(t);if(!n)return;let r=K.value.indexOf(n);r!==-1&&r!==e||(K.value[e]=n)}function Qo(e,t){let n=e+t;if(n<0||n>=K.value.length)return;let r=K.value;[r[e],r[n]]=[r[n],r[e]]}let $o=g(!1),q=g(`superpowers`),es=b(()=>{switch(q.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`}}),ts=g(``),ns=g(``),rs=g(``),is=g(``),as=g(``),os=g(!1),ss=g(`alt`),cs=g(`auto`),J=g(null),ls=g(``),us=g(``),ds=g(0),fs=g(``),ps=g(!1),ms=g(!0),hs=g(null),gs=g(!1);function _s(){t.dialog({title:w(`settings.skillSuite.reloadDefaults`),message:w(`settings.skillSuite.reloadDefaultsConfirm`),cancel:!0,persistent:!0,dark:!0}).onOk(()=>{ts.value=Le,ns.value=ze,rs.value=Ve,is.value=Re,as.value=Be})}function vs(e){let n=e===`global`?Bo.value:Z.value.changeSourceBranchScript,r=()=>{e===`global`?Bo.value=Vo.value:Z.value.changeSourceBranchScript=Vo.value};if(!n.trim()||n===Vo.value){r();return}t.dialog({title:w(`settings.changeSourceBranchScript.replaceConfirmTitle`),message:w(`settings.changeSourceBranchScript.replaceConfirm`),cancel:!0,persistent:!0,dark:!0}).onOk(r)}function ys(e){return!e||e===`tiny`||e===`base`?.1:.2}let bs=[e=>e.trim().length>0||w(`settings.worktreesPathRequired`)],xs=g(!1),Y=g(-1),X=g(!1),Z=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:``}}),Ss=[`defaultModel`,`forge`,`prPromptTemplate`,`reviewPromptTemplate`,`ciFixPromptTemplate`,`notionInitialPromptTemplate`,`sentryInitialPromptTemplate`,`gitConventions`,`setupScript`,`taskPromptTemplate`,`cleanupScript`,`cleanupScriptMode`,`archiveScript`,`changeSourceBranchScript`,`devServer`,`e2e`,`finalization`],Cs=g(null),ws=g(null),Ts=b(()=>n.projects.map(e=>({value:e.path,label:Hc(e)||e.path})));function Es(e){let t=n.projects.find(t=>t.path===e);t&&(Z.value.defaultModel=t.defaultModel??``,Z.value.forge=t.forge??`auto`,Z.value.prPromptTemplate=t.prPromptTemplate??``,Z.value.reviewPromptTemplate=t.reviewPromptTemplate??``,Z.value.ciFixPromptTemplate=t.ciFixPromptTemplate??``,Z.value.notionInitialPromptTemplate=t.notionInitialPromptTemplate??``,Z.value.sentryInitialPromptTemplate=t.sentryInitialPromptTemplate??``,Z.value.gitConventions=t.gitConventions??``,Z.value.setupScript=t.setupScript??``,Z.value.devServer={startCommand:t.devServer?.startCommand??``,stopCommand:t.devServer?.stopCommand??``},Z.value.e2e={framework:t.e2e?.framework??``,skill:t.e2e?.skill??``,prompt:t.e2e?.prompt??``},Z.value.finalization={prompt:t.finalization?.prompt??``})}function Ds(){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 Ss.every(t=>JSON.stringify(Z.value[t])===JSON.stringify(e[t]))}function Os(e){if(e===null){Cs.value=null,ws.value=null;return}if(ws.value===null&&Ds()){Es(e),Cs.value=e,ws.value=e;return}let r=n.projects.find(t=>t.path===e),i=r&&Hc(r)||e;t.dialog({title:w(`settings.copyFromConfirmTitle`),message:w(`settings.copyFromConfirm`,{project:i}),cancel:!0,persistent:!0,dark:!0}).onOk(()=>{Es(e),Cs.value=e,ws.value=e}).onCancel(()=>{Cs.value=ws.value})}let ks=g([]),As=g([]);async function js(){try{let e=await fetch(`/api/skills`);e.ok&&(ks.value=await e.json())}catch{}}function Ms(e,t){t(()=>{let t=e.trim().toLowerCase();As.value=t?ks.value.filter(e=>e.toLowerCase().includes(t)):ks.value.slice()})}let Ns=g([]),Ps=g(!1),Fs=g(!1),Is=g(!1),Ls=g(!1),Q=g(null),Rs=g(``),zs=g(``),Bs=g(``),$=g(``),Vs=g(!1),Hs=g(!1),Us=b(()=>[...p.templates].sort((e,t)=>e.slug.localeCompare(t.slug))),Ws=[`{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 Gs(){Q.value=null,Rs.value=``,zs.value=``,Bs.value=``,$.value=``,Ls.value=!0}function Ks(e){Q.value=e.slug,Rs.value=e.slug,zs.value=e.description,Bs.value=e.content,$.value=``,Ls.value=!0}async function qs(){$.value=``;let e=Rs.value.trim(),t=zs.value.trim();if(Q.value===null&&!/^[a-z0-9][a-z0-9-]{0,63}$/.test(e)){$.value=w(`templates.slugInvalid`);return}if(!t){$.value=w(`templates.descriptionRequired`);return}if(!Bs.value.trim()){$.value=w(`templates.contentRequired`);return}Vs.value=!0;try{Q.value===null?await p.createTemplate({slug:e,description:t,content:Bs.value}):await p.updateTemplate(Q.value,{description:t,content:Bs.value}),Ls.value=!1}catch(e){$.value=e instanceof Error?e.message:w(`templates.createFailed`)}finally{Vs.value=!1}}function Js(){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()=>{Hs.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{Hs.value=!1}})}async function Ys(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`})}})}let Xs=[{label:`English`,value:`en`},{label:`Français`,value:`fr`},{label:`Deutsch`,value:`de`},{label:`Español`,value:`es`},{label:`Italiano`,value:`it`}];function Zs(e){ne.value=e,localStorage.setItem(`kobo:locale`,e)}let Qs=b(()=>[...qe.map(e=>({label:w(e.i18nLabelKey),value:e.value}))]),$s=b(()=>[...Ke.map(e=>({label:w(e.i18nLabelKey),value:e.value}))]),ec=b(()=>[{label:w(`settings.useGlobal`),value:``},...Qs.value]),tc=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`}]),nc=b(()=>Je[`claude-code`].map(e=>({label:w(`agentPermissionMode.${e}`),value:e}))),rc=b(()=>Je.codex.map(e=>({label:w(`agentPermissionMode.${e}`),value:e}))),ic=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`)}]),ac=b(()=>[{label:w(`settings.mcpAutoSelect`),value:``},...n.activeMcpServers.map(e=>({label:e.key,value:e.key}))]),oc=b(()=>fe.map(e=>({label:w(e.labelKey),value:e.id}))),sc=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})))),cc=[{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 lc(){ge(V.value,U.value)}let uc=b(()=>Y.value<0||Y.value>=n.projects.length?null:n.projects[Y.value]??null),dc=g(``),fc=g(``);function pc(){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,autoPurgeOnPrMerged:R.value,browserNotifications:Ne.value,audioNotifications:z.value,audioNotificationSound:V.value,audioNotificationVolume:U.value,notionStatusProperty:Ye.value,notionStatus:Xe.value,notionAssigneeProperty:Ze.value,notionUserId:W.value,notionInitialPrompt:at.value,sentryInitialPrompt:ot.value,claudePermissionMode:ko.value,codexPermissionMode:Ao.value,notionMcpKey:jo.value,sentryMcpKey:Mo.value,tags:No.value,branchPrefixes:K.value,setupScript:Fo.value,cleanupScript:Io.value,cleanupScriptMode:Lo.value,cleanupScriptOnlyOnChanges:Ro.value,archiveScript:zo.value,changeSourceBranchScript:Bo.value,worktreesPath:Go.value,worktreesPrefixByProject:qo.value,flattenWorkspaceList:$o.value,skillSuite:q.value,customReviewTemplate:ts.value,customAutoLoopReviewGate:ns.value,customAutoLoopGroomingIntro:rs.value,customQaPromptTemplate:is.value,customBrainstormingInstruction:as.value,voiceEnabled:os.value,voicePttKey:ss.value,voiceLanguage:cs.value,voiceModel:J.value,voiceCommandPath:ls.value,voiceFfmpegPath:us.value,voiceTemperature:ds.value,voicePrompt:fs.value,voiceTranslateToEnglish:ps.value,voiceSuppressNst:ms.value})}function mc(){return JSON.stringify(Z.value)}let hc=b(()=>pc()!==dc.value),gc=b(()=>mc()!==fc.value),_c=b(()=>E.value===`projects`?gc.value&&(uc.value!==null||X.value):E.value===`templates`?!1:hc.value),vc=b(()=>E.value===`projects`?Fs.value:Vs.value);function yc(){E.value===`projects`?Rc():kc()}function bc(){gs.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??``,R.value=n.global.autoPurgeOnPrMerged??!1,Ne.value=n.global.browserNotifications??!0,z.value=n.global.audioNotifications??!0,V.value=_e(n.global.audioNotificationSound);let t=n.global.audioNotificationVolume;U.value=typeof t==`number`&&Number.isFinite(t)?Math.max(0,Math.min(1,t)):1,Ye.value=n.global.notionStatusProperty??``,Xe.value=n.global.notionInProgressStatus??``,Ze.value=n.global.notionAssigneeProperty??``,W.value=n.global.notionUserId??``,at.value=n.global.notionInitialPromptTemplate??``,ot.value=n.global.sentryInitialPromptTemplate??``;{let e=n.global.defaultPermissionModeByEngine??{},t=e=>e===`plan`||e===`bypass`||e===`strict`||e===`interactive`,r=e[`claude-code`];ko.value=t(r)?r:`bypass`;let i=e.codex;Ao.value=t(i)?i:`bypass`}jo.value=n.global.notionMcpKey??``,Mo.value=n.global.sentryMcpKey??``,No.value=Array.isArray(n.global.tags)?[...n.global.tags]:[],K.value=Array.isArray(n.global.branchPrefixes)?[...n.global.branchPrefixes]:[],Fo.value=n.global.setupScript??``,Io.value=n.global.cleanupScript??``,Lo.value=n.global.cleanupScriptMode===`idle`?`idle`:`no-tasks`,Ro.value=n.global.cleanupScriptOnlyOnChanges??!1,zo.value=n.global.archiveScript??``,Bo.value=n.global.changeSourceBranchScript??``,Go.value=n.global.worktreesPath??`.worktrees`,qo.value=n.global.worktreesPrefixByProject??!1,$o.value=n.global.flattenWorkspaceList??!1,q.value=n.global.skillSuite??`superpowers`,ts.value=n.global.customReviewTemplate??``,ns.value=n.global.customAutoLoopReviewGate??``,rs.value=n.global.customAutoLoopGroomingIntro??``,is.value=n.global.customQaPromptTemplate??``,as.value=n.global.customBrainstormingInstruction??``,os.value=n.global.voiceEnabled??!1,ss.value=n.global.voicePttKey===`ctrl+space`?`ctrl+space`:`alt`,cs.value=n.global.voiceLanguage??`auto`,J.value=n.global.voiceModel??null,ls.value=n.global.voiceCommandPath??``,us.value=n.global.voiceFfmpegPath??``,ds.value=typeof n.global.voiceTemperature==`number`?n.global.voiceTemperature:0,fs.value=n.global.voicePrompt??``,ps.value=n.global.voiceTranslateToEnglish??!1,ms.value=n.global.voiceSuppressNonSpeechTokens??!0,gs.value=!1,dc.value=pc()}ee(()=>J.value,(e,t)=>{gs.value||e!==t&&(ds.value=ys(e))});function xc(e){if(!e){Z.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:``}},Ns.value=[],fc.value=mc();return}Z.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??``}},fc.value=mc(),e.path&&Sc(e.path)}async function Sc(e){if(!e.trim()){Ns.value=[];return}Ps.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();Ns.value=n.local??n.branches??[]}catch{Ns.value=[]}finally{Ps.value=!1}}let Cc=null;ee(()=>Z.value.path,e=>{Cc&&clearTimeout(Cc),Cc=setTimeout(()=>{Sc(e)},500)}),ee(Y,()=>{X.value=!1,xc(uc.value)});let wc=g(null);async function Tc(){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 Ec(){wc.value?.click()}async function Dc(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(),bc(),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 Oc(e){if(G.value===null){G.value=e;try{let t=await n.fetchGlobalDefaults(),r={prPromptTemplate:k,reviewPromptTemplate:de,ciFixPromptTemplate:A,gitConventions:Ce,notionInitialPromptTemplate:at,sentryInitialPromptTemplate:ot};r[e].value=t[e]}catch(e){console.error(`[SettingsPage] resetFieldToDefault failed:`,e),t.notify({type:`negative`,message:w(`settings.resetFailed`),position:`top`})}finally{G.value=null}}}async function kc(){if(await Ko.value?.validate()!==!1){xs.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,autoPurgeOnPrMerged:R.value,browserNotifications:Ne.value,audioNotifications:z.value,audioNotificationSound:V.value,audioNotificationVolume:U.value,notionStatusProperty:Ye.value,notionInProgressStatus:Xe.value,notionAssigneeProperty:Ze.value,notionUserId:W.value,notionInitialPromptTemplate:at.value,sentryInitialPromptTemplate:ot.value,defaultPermissionModeByEngine:{"claude-code":ko.value,codex:Ao.value},notionMcpKey:jo.value,sentryMcpKey:Mo.value,tags:No.value,branchPrefixes:K.value,setupScript:Fo.value,cleanupScript:Io.value,cleanupScriptMode:Lo.value,cleanupScriptOnlyOnChanges:Ro.value,archiveScript:zo.value,changeSourceBranchScript:Bo.value,worktreesPath:Go.value,worktreesPrefixByProject:qo.value,flattenWorkspaceList:$o.value,skillSuite:q.value,customReviewTemplate:ts.value,customAutoLoopReviewGate:ns.value,customAutoLoopGroomingIntro:rs.value,customQaPromptTemplate:is.value,customBrainstormingInstruction:as.value,voiceEnabled:os.value,voicePttKey:ss.value,voiceLanguage:cs.value,voiceModel:J.value,voiceCommandPath:ls.value.trim(),voiceFfmpegPath:us.value.trim(),voiceTemperature:ds.value,voicePrompt:fs.value,voiceTranslateToEnglish:ps.value,voiceSuppressNonSpeechTokens:ms.value}),dc.value=pc(),t.notify({type:`positive`,message:w(`settings.saved`),position:`top`})}catch{t.notify({type:`negative`,message:w(`settings.saveError`),position:`top`})}finally{xs.value=!1}}}async function Ac(e){hs.value=e,Fc();try{await n.downloadVoiceModel(e)}catch{t.notify({type:`negative`,message:w(`voice.downloadFailed`),position:`top`})}finally{hs.value=null,Ic()}}async function jc(e){hs.value=e;try{await n.deleteVoiceModel(e),J.value===e&&(J.value=null)}catch{t.notify({type:`negative`,message:w(`voice.deleteFailed`),position:`top`})}finally{hs.value=null}}async function Mc(e){try{await n.cancelVoiceModelDownload(e)}catch{t.notify({type:`negative`,message:w(`voice.cancelFailed`),position:`top`})}}function Nc(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 Pc=null;function Fc(){Pc||=setInterval(()=>{n.fetchVoiceModels().catch(()=>{})},800)}function Ic(){Pc&&=(clearInterval(Pc),null)}async function Lc(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 Rc(){if(!Z.value.path.trim()){t.notify({type:`negative`,message:w(`settings.projectPathRequired`),position:`top`});return}Fs.value=!0;try{await n.upsertProject(Z.value.path.trim(),{displayName:Z.value.displayName,color:Z.value.color,defaultSourceBranch:Z.value.defaultSourceBranch,defaultModel:Z.value.defaultModel,forge:Z.value.forge,prPromptTemplate:Z.value.prPromptTemplate,reviewPromptTemplate:Z.value.reviewPromptTemplate,ciFixPromptTemplate:Z.value.ciFixPromptTemplate,notionInitialPromptTemplate:Z.value.notionInitialPromptTemplate,sentryInitialPromptTemplate:Z.value.sentryInitialPromptTemplate,gitConventions:Z.value.gitConventions,setupScript:Z.value.setupScript,taskPromptTemplate:Z.value.taskPromptTemplate,cleanupScript:Z.value.cleanupScript,cleanupScriptMode:Z.value.cleanupScriptMode,archiveScript:Z.value.archiveScript,changeSourceBranchScript:Z.value.changeSourceBranchScript,devServer:Z.value.devServer,e2e:Z.value.e2e,finalization:Z.value.finalization}),X.value=!1;let e=n.projects.findIndex(e=>e.path===Z.value.path.trim());e>=0&&(Y.value=e),fc.value=mc(),t.notify({type:`positive`,message:w(`settings.projectSaved`),position:`top`})}catch{t.notify({type:`negative`,message:w(`settings.projectSaveError`),position:`top`})}finally{Fs.value=!1}}function zc(){if(!uc.value)return;let e=uc.value.displayName||uc.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(uc.value){Is.value=!0;try{await n.deleteProject(uc.value.path),Y.value=-1,X.value=!1,xc(null),t.notify({type:`positive`,message:w(`settings.projectDeleted`),position:`top`})}catch{t.notify({type:`negative`,message:w(`settings.projectDeleteError`),position:`top`})}finally{Is.value=!1}}})}function Bc(){Y.value=-1,X.value=!0,xc(null),Cs.value=null,ws.value=null}function Vc(e){X.value=!1,Y.value=e,Cs.value=null,ws.value=null}function Hc(e){if(e.displayName)return e.displayName;let t=e.path.split(`/`);return t[t.length-1]??e.path}let Uc=g([]);function Wc(e,t){t(()=>{Uc.value=e?Ns.value.filter(t=>t.toLowerCase().includes(e.toLowerCase())):Ns.value})}return o(async()=>{await Promise.all([n.fetchSettings(),n.fetchActiveMcpServers(),js()]);try{Vo.value=(await n.fetchGlobalDefaults()).changeSourceBranchScript??``}catch(e){console.error(`[SettingsPage] fetchGlobalDefaults failed:`,e)}await n.fetchVoiceModels(),await n.fetchVoiceRuntime(),bc(),rt().catch(()=>{})}),s(()=>{Cc&&clearTimeout(Cc),Ic()}),(e,t)=>(i(),h(Ge,{class:`settings-page`},{default:r(()=>[C(`div`,ct,[C(`aside`,lt,[C(`div`,ut,u(e.$t(`settings.title`)),1),d(Pe,{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`,dt,[C(`header`,ft,[C(`h2`,pt,u(oe.value),1)]),C(`div`,mt,[a(C(`div`,ht,[a(C(`div`,gt,[C(`div`,_t,u(e.$t(`settings.language`)),1),d(H,{"model-value":f(ne),options:Xs,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input`,"onUpdate:modelValue":Zs},null,8,[`model-value`])],512),[[D,E.value===`general`]]),a(C(`div`,vt,[C(`div`,yt,u(e.$t(`settings.workspaceListSection`)),1),d(P,{modelValue:$o.value,"onUpdate:modelValue":t[0]||=e=>$o.value=e,label:e.$t(`settings.flattenWorkspaceList`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`},null,8,[`modelValue`,`label`]),C(`div`,bt,u(e.$t(`settings.flattenWorkspaceListHint`)),1)],512),[[D,E.value===`general`]]),a(C(`div`,xt,[C(`div`,St,u(e.$t(`settings.skillSuite.section`)),1),d(ke,{modelValue:q.value,"onUpdate:modelValue":t[1]||=e=>q.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`,Ct,u(e.$t(es.value)),1),d(j,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`grey-5`,icon:`restart_alt`,label:e.$t(`settings.skillSuite.reloadDefaults`),disable:q.value!==`custom`,class:`q-mt-sm`,onClick:_s},null,8,[`label`,`disable`])],512),[[D,E.value===`skills`]]),E.value===`skills`&&q.value===`custom`?(i(),x(`div`,wt,[C(`div`,Tt,u(e.$t(`settings.skillSuite.customPrompts`)),1),C(`div`,Et,u(e.$t(`settings.skillSuite.reviewTemplate`)),1),d(N,{modelValue:ts.value,"onUpdate:modelValue":t[2]||=e=>ts.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`]),C(`div`,Dt,u(e.$t(`settings.skillSuite.autoLoopReviewGate`)),1),d(N,{modelValue:ns.value,"onUpdate:modelValue":t[3]||=e=>ns.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`]),C(`div`,Ot,u(e.$t(`settings.skillSuite.autoLoopGroomingIntro`)),1),d(N,{modelValue:rs.value,"onUpdate:modelValue":t[4]||=e=>rs.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`]),C(`div`,kt,u(e.$t(`settings.skillSuite.qaTemplate`)),1),d(N,{modelValue:is.value,"onUpdate:modelValue":t[5]||=e=>is.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`]),C(`div`,At,u(e.$t(`settings.skillSuite.brainstormingInstruction`)),1),d(N,{modelValue:as.value,"onUpdate:modelValue":t[6]||=e=>as.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])])):_(``,!0),a(C(`div`,jt,[C(`div`,Mt,u(e.$t(`settings.defaultModelClaude`)),1),d(H,{modelValue:ce.value,"onUpdate:modelValue":t[7]||=e=>ce.value=e,options:Qs.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`,Nt,u(e.$t(`settings.defaultModelCodex`)),1),d(H,{modelValue:le.value,"onUpdate:modelValue":t[8]||=e=>le.value=e,options:$s.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`,Pt,u(e.$t(`settings.defaultPermissionModeClaude`)),1),C(`div`,Ft,u(e.$t(`settings.defaultPermissionModeHint`)),1),d(H,{modelValue:ko.value,"onUpdate:modelValue":t[9]||=e=>ko.value=e,options:nc.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`options`]),C(`div`,It,u(e.$t(`settings.defaultPermissionModeCodex`)),1),d(H,{modelValue:Ao.value,"onUpdate:modelValue":t[10]||=e=>Ao.value=e,options:rc.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])],512),[[D,E.value===`agents`]]),a(C(`div`,Lt,[C(`div`,Rt,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`,zt,[C(`div`,Bt,u(e.$t(`settings.notifications`)),1),C(`div`,Vt,[d(P,{modelValue:Ne.value,"onUpdate:modelValue":t[12]||=e=>Ne.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:z.value,"onUpdate:modelValue":t[13]||=e=>z.value=e,label:e.$t(`settings.audioNotifications`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`},null,8,[`modelValue`,`label`])]),C(`div`,Ht,[d(H,{modelValue:V.value,"onUpdate:modelValue":t[14]||=e=>V.value=e,options:oc.value,label:e.$t(`settings.notificationSound`),disable:!z.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:!z.value,onClick:lc},null,8,[`label`,`disable`])]),C(`div`,Ut,[C(`div`,Wt,u(e.$t(`settings.notificationVolume`)),1),d(nt,{modelValue:U.value,"onUpdate:modelValue":t[15]||=e=>U.value=e,min:0,max:1,step:.05,disable:!z.value,dark:``,dense:``,color:`indigo-4`,class:`col`},null,8,[`modelValue`,`disable`]),C(`div`,Gt,u(Math.round(U.value*100))+`% `,1)])],512),[[D,E.value===`notifications`]]),a(C(`div`,Kt,[C(`div`,qt,[C(`div`,Jt,u(e.$t(`voice.sectionRuntime`)),1),d(B),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`,Yt,[C(`div`,Xt,[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`,Zt,[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(Me,{dense:``,dark:``,icon:`help_outline`,label:e.$t(`voice.installGuideTitle`),class:`variables-panel rounded-borders q-mt-sm`},{default:r(()=>[C(`div`,Qt,[C(`div`,$t,u(e.$t(`voice.installGuideIntro`)),1),C(`div`,en,[C(`a`,tn,u(e.$t(`voice.installLink`)),1)]),C(`div`,nn,u(e.$t(`voice.installGuideUbuntuTitle`)),1),t[93]||=C(`pre`,{class:`mono-guide q-mb-sm`},`sudo apt update
|
|
2
2
|
sudo apt install -y cmake build-essential ffmpeg
|
|
3
3
|
git clone https://github.com/ggml-org/whisper.cpp.git
|
|
4
4
|
cd whisper.cpp
|