@loicngr/kobo 2.1.29 → 2.1.30
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/AGENTS.md +59 -10
- package/CHANGELOG.md +16 -1
- package/CONFIGURATION.md +114 -14
- package/CONTRIBUTING.md +1 -1
- package/DESIGN.md +1 -1
- package/README.md +12 -9
- package/SECURITY.md +7 -2
- package/dist/server/db/memory-schema.js +5 -5
- package/dist/server/db/migrations.js +2 -0
- package/dist/server/db/mistral-memory-migration.js +40 -0
- package/dist/server/routes/engines.js +14 -0
- package/dist/server/routes/environment.js +1 -1
- package/dist/server/routes/health.js +14 -3
- package/dist/server/routes/settings.js +7 -1
- package/dist/server/routes/workspaces.js +116 -9
- package/dist/server/services/agent/engines/claude-code/capabilities.js +2 -0
- package/dist/server/services/agent/engines/claude-code/engine.js +3 -0
- package/dist/server/services/agent/engines/codex/capabilities.js +2 -0
- package/dist/server/services/agent/engines/codex/engine.js +3 -0
- package/dist/server/services/agent/engines/configuration.js +14 -0
- package/dist/server/services/agent/engines/mistral-vibe/capabilities.js +13 -0
- package/dist/server/services/agent/engines/mistral-vibe/client.js +64 -0
- package/dist/server/services/agent/engines/mistral-vibe/configuration.js +76 -0
- package/dist/server/services/agent/engines/mistral-vibe/engine.js +361 -0
- package/dist/server/services/agent/engines/mistral-vibe/event-mapper.js +297 -0
- package/dist/server/services/agent/engines/mistral-vibe/options-builder.js +35 -0
- package/dist/server/services/agent/engines/mistral-vibe/server-requests.js +278 -0
- package/dist/server/services/agent/engines/mistral-vibe/spawn.js +176 -0
- package/dist/server/services/agent/engines/registry.js +2 -0
- package/dist/server/services/agent/engines/types.js +6 -0
- package/dist/server/services/agent/orchestrator.js +88 -25
- package/dist/server/services/agent/session-controller.js +5 -0
- package/dist/server/services/auto-loop-final-review-service.js +10 -3
- package/dist/server/services/environment-check-service.js +6 -1
- package/dist/server/services/memory-service.js +1 -1
- package/dist/server/services/mistral-options-service.js +145 -0
- package/dist/server/services/pr-watcher-service.js +40 -11
- package/dist/server/services/review-service.js +33 -9
- package/dist/server/services/session-handoff-service.js +28 -2
- package/dist/server/services/settings-defaults.js +1 -0
- package/dist/server/services/settings-service.js +19 -1
- package/dist/server/services/workspace-creation-mcp-service.js +50 -8
- package/dist/server/services/workspace-dialogue-service.js +2 -0
- package/dist/server/services/workspace-message-service.js +19 -1
- package/dist/server/services/workspace-permission-policy-service.js +24 -0
- package/dist/server/utils/bounded-process.js +1 -1
- package/dist/shared/launch-instructions.js +18 -7
- package/dist/shared/memory.js +1 -1
- package/dist/shared/mistral-models.js +9 -0
- package/dist/shared/mistral-options.js +1 -0
- package/dist/shared/question-selections.js +16 -0
- package/dist/shared/workspace-creation-tools.js +8 -2
- package/dist/shared/workspace-dialogue-tools.js +15 -4
- package/docs/deployment-vps.md +10 -3
- package/docs/getting-started.md +3 -2
- package/docs/troubleshooting.md +1 -1
- package/package.json +7 -1
- package/src/client/dist/pwa/assets/ActivityFeed-C5stmHXP.js +2 -0
- package/src/client/dist/pwa/assets/AutoLoopFinalReviewSettings-CIDSX32d.css +1 -0
- package/src/client/dist/pwa/assets/AutoLoopFinalReviewSettings-DG32W_0G.js +1 -0
- package/src/client/dist/pwa/assets/{ChangelogPage-C5KjAOMG.js → ChangelogPage-_vItY8vA.js} +1 -1
- package/src/client/dist/pwa/assets/{ComparisonPanel-XXyzPEzW.js → ComparisonPanel-B3BMzQH0.js} +1 -1
- package/src/client/dist/pwa/assets/CreatePage-FlGrfmjX.js +2 -0
- package/src/client/dist/pwa/assets/CreatePage-oh8ihVC4.css +1 -0
- package/src/client/dist/pwa/assets/{DashboardPage-DyhUu26C.js → DashboardPage-lJGwWQYQ.js} +1 -1
- package/src/client/dist/pwa/assets/DiffViewer-DIaQH3lA.js +8 -0
- package/src/client/dist/pwa/assets/{DocumentsPanel-ItndGxeB.js → DocumentsPanel-Ct-nm4fX.js} +1 -1
- package/src/client/dist/pwa/assets/{DrawerToggleButton-DfzS_CD8.js → DrawerToggleButton-M5qv4Io-.js} +1 -1
- package/src/client/dist/pwa/assets/GitPanel-BaHCgb3p.js +3 -0
- package/src/client/dist/pwa/assets/GitPanel-C8vw2qvW.css +1 -0
- package/src/client/dist/pwa/assets/HealthPage-DR3wa6iD.js +1 -0
- package/src/client/dist/pwa/assets/HealthPage-Dbn4J_DT.css +1 -0
- package/src/client/dist/pwa/assets/{MainLayout-DoAEgANU.css → MainLayout-CHi8qP1D.css} +1 -1
- package/src/client/dist/pwa/assets/MainLayout-WJabICsA.js +2 -0
- package/src/client/dist/pwa/assets/{MemoryPanel-CZzI7_nY.js → MemoryPanel-CRpWdfc0.js} +1 -1
- package/src/client/dist/pwa/assets/{MemoryProposalList-DqNTycY1.js → MemoryProposalList-DGz3lDbL.js} +1 -1
- package/src/client/dist/pwa/assets/{QBtnDropdown-D7ml7zHo.js → QBtnDropdown-tt8rUNNR.js} +1 -1
- package/src/client/dist/pwa/assets/{QExpansionItem-BVb067oc.js → QExpansionItem-BkrI3UPL.js} +1 -1
- package/src/client/dist/pwa/assets/{QScrollArea-CUDWkEHh.js → QScrollArea-BvgnY-oA.js} +1 -1
- package/src/client/dist/pwa/assets/QSelect-BtZB1wrB.js +1 -0
- package/src/client/dist/pwa/assets/{QTooltip-B5QJIU3p.js → QTooltip-CDH6p745.js} +1 -1
- package/src/client/dist/pwa/assets/{SchedulePanel-IJOcrHgk.js → SchedulePanel-C2rWlh7l.js} +1 -1
- package/src/client/dist/pwa/assets/{SearchPage-BpTRWtne.js → SearchPage-BFd4NQwJ.js} +1 -1
- package/src/client/dist/pwa/assets/{SettingsPage-B4rmd2WX.css → SettingsPage-Bm0TcarK.css} +1 -1
- package/src/client/dist/pwa/assets/SettingsPage-DDQCgnjL.js +9 -0
- package/src/client/dist/pwa/assets/{SplitWorkspacePage-BZ8wN4ii.js → SplitWorkspacePage-DKCtOZO4.js} +1 -1
- package/src/client/dist/pwa/assets/{TerminalPanel-pY-RGBb6.js → TerminalPanel-BE_MSZF0.js} +4 -4
- package/src/client/dist/pwa/assets/{ToolCallItem-C9ksVseJ.js → ToolCallItem-BEYaOtgh.js} +3 -3
- package/src/client/dist/pwa/assets/{TouchPan-DRynDIve.js → TouchPan-DeYoOjX5.js} +1 -1
- package/src/client/dist/pwa/assets/{TourReplayButton-D4h1QR6C.js → TourReplayButton-D5lMwIKt.js} +1 -1
- package/src/client/dist/pwa/assets/WorkspaceAttentionLabels-BHEAsIoo.js +1 -0
- package/src/client/dist/pwa/assets/WorkspaceAttentionLabels-v7ein__H.css +1 -0
- package/src/client/dist/pwa/assets/WorkspacePage-5_wsJPaJ.js +4 -0
- package/src/client/dist/pwa/assets/WorkspacePage-CtUXz0Cq.css +1 -0
- package/src/client/dist/pwa/assets/{browser-BcOi2ES2.js → browser-ogy_9LVv.js} +1 -1
- package/src/client/dist/pwa/assets/{build-path-tree-mDco3pi7.js → build-path-tree-CRXxaYkA.js} +1 -1
- package/src/client/dist/pwa/assets/custom-sounds-iLTkCd_i.js +1 -0
- package/src/client/dist/pwa/assets/de-BqDU7iZH.js +17 -0
- package/src/client/dist/pwa/assets/{editor.api-CRrihXg2.js → editor.api-Dx6TbfZG.js} +1 -1
- package/src/client/dist/pwa/assets/{efforts-C-p9DzkL.js → efforts-DnJh2fW_.js} +2 -2
- package/src/client/dist/pwa/assets/es-D4VMXQRk.js +17 -0
- package/src/client/dist/pwa/assets/{expand-template-gIwrPbeS.js → expand-template-PUEVWny3.js} +1 -1
- package/src/client/dist/pwa/assets/{format-DeBnwmgW.js → format-yf9XM3dV.js} +1 -1
- package/src/client/dist/pwa/assets/{formatters-CxZZ_WTb.js → formatters-D0sXu9Oe.js} +1 -1
- package/src/client/dist/pwa/assets/fr-DIyaCFB3.js +17 -0
- package/src/client/dist/pwa/assets/{freemarker2-h7OLlqTn.js → freemarker2-l_xIHxRf.js} +1 -1
- package/src/client/dist/pwa/assets/{handlebars-BCWmi1-q.js → handlebars-CYgq99yQ.js} +1 -1
- package/src/client/dist/pwa/assets/{html-MUMpfUBd.js → html-C28GatN_.js} +1 -1
- package/src/client/dist/pwa/assets/i18n-2AmHIUy0.js +1 -0
- package/src/client/dist/pwa/assets/index-MMYMztJ_.js +20 -0
- package/src/client/dist/pwa/assets/it-CF6_4OS0.js +17 -0
- package/src/client/dist/pwa/assets/{javascript-CHDwijEy.js → javascript-YCSueyyk.js} +1 -1
- package/src/client/dist/pwa/assets/{liquid-dFrnLevt.js → liquid-CUBn90Gs.js} +1 -1
- package/src/client/dist/pwa/assets/{mdx-BHS7JVD4.js → mdx-C5WOHShJ.js} +1 -1
- package/src/client/dist/pwa/assets/{monaco-contributions-DCWZe7nX.js → monaco-contributions-DYwqbh7m.js} +1 -1
- package/src/client/dist/pwa/assets/{monaco.contribution-Dx0gcAn4.js → monaco.contribution-CoFzrPQl.js} +2 -2
- package/src/client/dist/pwa/assets/network-auth-BpJ6Noax.js +1 -0
- package/src/client/dist/pwa/assets/notify-theme-NPq4-Tup.js +1 -0
- package/src/client/dist/pwa/assets/permissionModes-Bbl901Hx.js +36 -0
- package/src/client/dist/pwa/assets/{project-color-DihsE4yN.js → project-color-gNyhKJlV.js} +1 -1
- package/src/client/dist/pwa/assets/{python-BtjZnK9y.js → python-lhKUZdPj.js} +1 -1
- package/src/client/dist/pwa/assets/{razor-DBcOGz0a.js → razor-Chi44rEL.js} +1 -1
- package/src/client/dist/pwa/assets/{typescript-B320c7wU.js → typescript-CU2TXVm6.js} +1 -1
- package/src/client/dist/pwa/assets/{use-search-index-status-B95GPaJP.js → use-search-index-status-CQ9S05G7.js} +1 -1
- package/src/client/dist/pwa/assets/{use-tours-C_5R1Y5D.js → use-tours-BmrZbHjz.js} +2 -2
- package/src/client/dist/pwa/assets/use-worktree-restore-DcucRlLh.js +1 -0
- package/src/client/dist/pwa/assets/{workspace-templates-B9UETKER.js → workspace-templates-DaG42EEt.js} +1 -1
- package/src/client/dist/pwa/assets/{xml-uK8LK4OB.js → xml-CPO5LI6F.js} +1 -1
- package/src/client/dist/pwa/assets/{yaml-B2D1l_tz.js → yaml-CoYs82jI.js} +1 -1
- package/src/client/dist/pwa/index.html +1 -1
- package/src/client/dist/pwa/sw.js +1 -1
- package/src/mcp-server/README.md +18 -6
- package/src/client/dist/pwa/assets/ActivityFeed-CiTe2VUQ.js +0 -2
- package/src/client/dist/pwa/assets/AutoLoopFinalReviewSettings-Q-OlSQ1c.css +0 -1
- package/src/client/dist/pwa/assets/AutoLoopFinalReviewSettings-v3jXoH_Q.js +0 -1
- package/src/client/dist/pwa/assets/CreatePage-DxOes_cF.css +0 -1
- package/src/client/dist/pwa/assets/CreatePage-MYCexRJu.js +0 -2
- package/src/client/dist/pwa/assets/DiffViewer-CvsmC9d5.js +0 -8
- package/src/client/dist/pwa/assets/GitPanel-C1ybi9bZ.js +0 -3
- package/src/client/dist/pwa/assets/GitPanel-yHvU38dp.css +0 -1
- package/src/client/dist/pwa/assets/HealthPage-C1u35ANL.js +0 -1
- package/src/client/dist/pwa/assets/HealthPage-Cnlhrn--.css +0 -1
- package/src/client/dist/pwa/assets/MainLayout-BEAGPqei.js +0 -2
- package/src/client/dist/pwa/assets/QSelect-DOnv_ry0.js +0 -1
- package/src/client/dist/pwa/assets/SettingsPage-CFaRN9Pk.js +0 -9
- package/src/client/dist/pwa/assets/WorkspaceAttentionLabels-B9LE8HtU.css +0 -1
- package/src/client/dist/pwa/assets/WorkspaceAttentionLabels-Bkj2DhOn.js +0 -1
- package/src/client/dist/pwa/assets/WorkspacePage-BEBwwr81.css +0 -1
- package/src/client/dist/pwa/assets/WorkspacePage-BTJnap9a.js +0 -4
- package/src/client/dist/pwa/assets/custom-sounds-T5HKzrWh.js +0 -1
- package/src/client/dist/pwa/assets/de-suqWUSXa.js +0 -17
- package/src/client/dist/pwa/assets/es-Dcptbz5U.js +0 -17
- package/src/client/dist/pwa/assets/fr-Db70bqVq.js +0 -17
- package/src/client/dist/pwa/assets/i18n-DLprfNLs.js +0 -1
- package/src/client/dist/pwa/assets/index-DLoUeovT.js +0 -20
- package/src/client/dist/pwa/assets/it-Cloo58Nn.js +0 -17
- package/src/client/dist/pwa/assets/network-auth-DDMAzwYH.js +0 -1
- package/src/client/dist/pwa/assets/notify-theme-JuVT96rq.js +0 -1
- package/src/client/dist/pwa/assets/permissionModes-D-Nexnoo.js +0 -36
- package/src/client/dist/pwa/assets/use-worktree-restore-Cj8eGE9s.js +0 -1
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import{N as e,S as t,dt as n,g as r,mt as i,ut as a,v as o}from"./reactivity.esm-bundler-Dplx1ILy.js";import{C as s,E as c,F as l,J as u,K as d,L as f,O as p,P as m,S as h,X as g,Y as _,_ as v,b as y,d as b,f as x,g as S,h as C,j as w,l as T,p as E,r as D,u as O,y as k,z as A}from"./runtime-core.esm-bundler-BAUgNzMK.js";import{$ as ee,G as j,K as M,P as N,Q as P,R as F,Y as te,Z as ne,d as re,z as ie}from"./dom-CRPVbmiy.js";import{c as ae,l as I,t as L,u as oe}from"./QBtn-kfhHFy7Q.js";import{n as se,t as ce}from"./use-dark-BHObfh0O.js";import{i as le,n as ue,t as de}from"./private.use-form-BcspuzM9.js";import{$t as fe,B as pe,Cn as me,Dt as he,Et as ge,F as _e,Ft as R,G as ve,H as ye,Ht as be,I as xe,J as Se,Kt as Ce,L as we,N as Te,Nt as Ee,P as De,Pt as Oe,Sn as ke,Tt as Ae,U as je,Ut as Me,V as Ne,W as Pe,Wt as z,X as Fe,Y as Ie,Yt as Le,_ as Re,an as ze,b as Be,bn as Ve,c as He,en as Ue,et as We,f as Ge,h as Ke,i as qe,in as Je,j as Ye,l as B,nt as Xe,o as Ze,on as Qe,qt as $e,s as et,tn as tt,tt as nt,u as rt,wn as it,xn as at,yn as ot,z as st}from"./index-MMYMztJ_.js";import{t as V}from"./QList-CAUl0v66.js";import{i as ct,r as lt,s as H,t as U}from"./QSelect-BtZB1wrB.js";import{n as W,t as G}from"./QItemSection-ahqRK4JF.js";import{t as ut}from"./QExpansionItem-BkrI3UPL.js";import{a as K,i as q,n as dt,r as ft}from"./use-tours-BmrZbHjz.js";import{t as pt}from"./TouchPan-DeYoOjX5.js";import{t as mt}from"./QTooltip-CDH6p745.js";import{t as ht}from"./QChip-DvhtPv_L.js";import{t as gt}from"./ClosePopup-rU8Bm-mC.js";import{t as _t}from"./use-is-mobile-CHmaewI1.js";import{a as vt,c as yt,l as bt,n as xt,o as St,r as Ct,s as wt,t as Tt,u as Et}from"./permissionModes-Bbl901Hx.js";import{t as Dt}from"./QBtnDropdown-tt8rUNNR.js";import{i as Ot,n as kt,r as At,t as J}from"./MemoryProposalList-DGz3lDbL.js";import{n as jt,r as Mt,t as Nt}from"./custom-sounds-iLTkCd_i.js";import{t as Pt}from"./QBanner-Cw89HSjk.js";import{t as Ft}from"./project-color-gNyhKJlV.js";import{t as It}from"./QPage-DIy_mRoT.js";import{t as Lt}from"./DrawerToggleButton-M5qv4Io-.js";import{t as Rt}from"./TourReplayButton-D5lMwIKt.js";import{n as zt,t as Bt}from"./workspace-templates-DaG42EEt.js";import{t as Vt}from"./workspace-page-layout-Dw9NhZsL.js";var Ht=Object.create,Ut=Object.defineProperty,Wt=Object.getOwnPropertyDescriptor,Gt=Object.getOwnPropertyNames,Kt=Object.getPrototypeOf,qt=Object.prototype.hasOwnProperty,Jt=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t,t.exports),e=null),t.exports),Yt=(e,t)=>{let n={};for(var r in e)Ut(n,r,{get:e[r],enumerable:!0});return t||Ut(n,Symbol.toStringTag,{value:`Module`}),n},Xt=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=Gt(t),a=0,o=i.length,s;a<o;a++)s=i[a],!qt.call(e,s)&&s!==n&&Ut(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=Wt(t,s))||r.enumerable});return e},Zt=(e,t,n)=>(n=e==null?{}:Ht(Kt(e)),Xt(t||!e||!e.__esModule||!qt.call(e,`default`)?Ut(n,`default`,{value:e,enumerable:!0}):n,e)),Qt=`q-slider__marker-labels`,$t=e=>({value:e}),en=({marker:e})=>s(`div`,{key:e.value,style:e.style,class:e.classes},e.label),tn=[34,37,40,33,39,38,35,36],nn={...se,...le,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`}},rn=[`pan`,`update:modelValue`,`change`];function an({updateValue:e,updatePosition:t,getDragging:n,formAttrs:r}){let{props:i,emit:a,slots:c}=y(),l=re(),u=ce(i,l),d=ue(r),f=o(!1),p=o(!1),m=o(!1),h=o(!1),_=T(()=>i.vertical?`--v`:`--h`),v=T(()=>`-`+(i.switchLabelSide?`switched`:`standard`)),b=T(()=>i.vertical?i.reverse:i.reverse!==(l.lang.rtl===!0)),x=T(()=>!Number.isFinite(i.innerMin)||i.innerMin<i.min?i.min:i.innerMin),S=T(()=>!Number.isFinite(i.innerMax)||i.innerMax>i.max?i.max:i.innerMax),C=T(()=>!i.disable&&!i.readonly&&x.value<S.value),E=T(()=>{if(i.step===0)return e=>e;let e=(String(i.step).trim().split(`.`)[1]||``).length;return t=>Number.parseFloat(t.toFixed(e))}),D=T(()=>i.step===0?1:i.step),O=T(()=>C.value?i.tabindex||0:-1),k=T(()=>i.max-i.min),A=T(()=>S.value-x.value),ee=T(()=>ve(x.value)),j=T(()=>ve(S.value)),M=T(()=>i.vertical?b.value?`bottom`:`top`:b.value?`right`:`left`),P=T(()=>i.vertical?`height`:`width`),F=T(()=>i.vertical?`width`:`height`),te=T(()=>i.vertical?`vertical`:`horizontal`),ne=T(()=>`q-slider q-slider${_.value} q-slider--${f.value?``:`in`}active inline no-wrap `+(i.vertical?`row`:`column`)+(i.disable?` disabled`:` q-slider--enabled`+(C.value?` q-slider--editable`:``))+(m.value===`both`?` q-slider--focus`:``)+(i.label||i.labelAlways?` q-slider--label`:``)+(i.labelAlways?` q-slider--label-always`:``)+(u()?` q-slider--dark`:``)+(i.dense?` q-slider--dense q-slider--dense`+_.value:``));function ie(e){let t=`q-slider__`+e;return`${t} ${t}${_.value} ${t}${_.value}${v.value}`}function ae(e){let t=`q-slider__`+e;return`${t} ${t}${_.value}`}let I=T(()=>{let e=i.selectionColor||i.color;return`q-slider__selection absolute`+(e===void 0?``:` text-${e}`)}),L=T(()=>ae(`markers`)+` absolute overflow-hidden`),oe=T(()=>ae(`track-container`)),se=T(()=>ie(`pin`)),le=T(()=>ie(`label`)),de=T(()=>ie(`text-container`)),fe=T(()=>ie(`marker-labels-container`)+(i.markerLabelsClass===void 0?``:` ${i.markerLabelsClass}`)),pe=T(()=>`q-slider__track relative-position no-outline`+(i.trackColor===void 0?``:` bg-${i.trackColor}`)),he=T(()=>{let e={[F.value]:i.trackSize};return i.trackImg!==void 0&&(e.backgroundImage=`url(${i.trackImg}) !important`),e}),ge=T(()=>`q-slider__inner absolute`+(i.innerTrackColor===void 0?``:` bg-${i.innerTrackColor}`)),_e=T(()=>{let e=j.value-ee.value,t={[M.value]:`${100*ee.value}%`,[P.value]:e===0?`2px`:`${100*e}%`};return i.innerTrackImg!==void 0&&(t.backgroundImage=`url(${i.innerTrackImg}) !important`),t});function R(e){let{min:t,max:n,step:r}=i,a=t+e*(n-t);if(r>0){let e=(a-x.value)%r;a+=(Math.abs(e)>=r/2?(e<0?-1:1)*r:0)-e}return a=E.value(a),ct(a,x.value,S.value)}function ve(e){return k.value===0?0:(e-i.min)/k.value}function ye(e,t){let n=N(e),r=i.vertical?ct((n.top-t.top)/t.height,0,1):ct((n.left-t.left)/t.width,0,1);return ct(b.value?1-r:r,ee.value,j.value)}let be=T(()=>me(i.markers)&&i.markers>0?i.markers:D.value),xe=T(()=>{let e=[],t=be.value,n=i.max,r=Math.max((String(t).trim().split(`.`)[1]||``).length,(String(i.min).trim().split(`.`)[1]||``).length),a=0,o=i.min;do{e.push(o),a++;let n=Number.parseFloat((i.min+a*t).toFixed(r));o=n>o?n:i.min+a*t}while(o<n);return e.push(n),e}),Se=T(()=>{let e=` ${Qt}${_.value}-`;return`q-slider__marker-labels${e}${i.switchMarkerLabelsSide?`switched`:`standard`}${e}${b.value?`rtl`:`ltr`}`}),Ce=T(()=>i.markerLabels===!1?null:Ee(i.markerLabels).map((e,t)=>({index:t,value:e.value,label:e.label||e.value,classes:Se.value+(e.classes===void 0?``:` `+e.classes),style:{...De(e.value),...e.style}}))),we=T(()=>({markerList:Ce.value,markerMap:Oe.value,classes:Se.value,getStyle:De})),Te=T(()=>{let e=A.value===0?`2px`:100*be.value/A.value;return{..._e.value,backgroundSize:i.vertical?`2px ${e}%`:`${e}% 2px`}});function Ee(e){if(e===!1)return null;if(e===!0)return xe.value.map($t);if(typeof e==`function`)return xe.value.map(t=>{let n=e(t);return it(n)?{...n,value:t}:{value:t,label:n}});let t=({value:e})=>e>=i.min&&e<=i.max;return Array.isArray(e)?e.map(e=>it(e)?e:{value:e}).filter(t):Object.keys(e).map(t=>{let n=e[t],r=Number(t);return it(n)?{...n,value:r}:{value:r,label:n}}).filter(t)}function De(e){return{[M.value]:`${100*(e-i.min)/k.value}%`}}let Oe=T(()=>{if(i.markerLabels===!1)return null;let e={};return Ce.value.forEach(t=>{e[t.value]=t}),e});function ke(){if(c[`marker-label-group`]!==void 0)return c[`marker-label-group`](we.value);let e=c[`marker-label`]||en;return Ce.value.map(t=>e({marker:t,...we.value}))}let Ae=T(()=>[[pt,C.value?je:void 0,void 0,{[te.value]:!0,prevent:!0,stop:!0,mouse:!0,mouseAllDir:!0}]]);function je(r){r.isFinal?(h.value!==void 0&&(t(r.evt),r.touch&&e(!0),h.value=void 0,a(`pan`,`end`)),f.value=!1,m.value=!1):r.isFirst?(h.value=n(r.evt),t(r.evt),e(),f.value=!0,a(`pan`,`start`)):(t(r.evt),e())}function Me(){m.value=!1}function Ne(r){t(r,n(r)),e(),p.value=!0,f.value=!0,document.addEventListener(`mouseup`,Pe,!0)}function Pe(){p.value=!1,f.value=!1,e(!0),Me(),document.removeEventListener(`mouseup`,Pe,!0)}function z(r){t(r,n(r)),e(!0),Me()}function Fe(t){tn.includes(t.keyCode)&&e(!0)}function Ie(e){if(i.vertical)return null;let t=l.lang.rtl===i.reverse?e:1-e;return{transform:`translateX(calc(${2*t-1} * ${i.thumbSize} / 2 + ${50-100*t}%))`}}function Le(e){let t=T(()=>!p.value&&(m.value===e.focusValue||m.value===`both`)?` q-slider--focus`:``),n=T(()=>`q-slider__thumb q-slider__thumb${_.value} q-slider__thumb${_.value}-${b.value?`rtl`:`ltr`} absolute non-selectable`+t.value+(e.thumbColor.value===void 0?``:` text-${e.thumbColor.value}`)),r=T(()=>({width:i.thumbSize,height:i.thumbSize,[M.value]:`${100*e.ratio.value}%`,zIndex:m.value===e.focusValue?2:void 0})),a=T(()=>e.labelColor.value===void 0?``:` text-${e.labelColor.value}`),o=T(()=>Ie(e.ratio.value)),c=T(()=>`q-slider__text`+(e.labelTextColor.value===void 0?``:` text-${e.labelTextColor.value}`));return()=>{let t=[s(`svg`,{class:`q-slider__thumb-shape absolute-full`,viewBox:`0 0 20 20`,"aria-hidden":`true`},[s(`path`,{d:i.thumbPath})]),s(`div`,{class:`q-slider__focus-ring fit`})];return(i.label||i.labelAlways)&&t.push(s(`div`,{class:se.value+` absolute fit no-pointer-events`+a.value},[s(`div`,{class:le.value,style:{minWidth:i.thumbSize}},[s(`div`,{class:de.value,style:o.value},[s(`span`,{class:c.value},e.label.value)])])])),e.injectFormInput!==!1&&i.name!==void 0&&!i.disable&&d(t,`push`),s(`div`,{class:n.value,style:r.value,...e.getNodeData()},t)}}function Re(e,t,n,r){let a=[];i.innerTrackColor!==`transparent`&&a.push(s(`div`,{key:`inner`,class:ge.value,style:_e.value})),i.selectionColor!==`transparent`&&a.push(s(`div`,{key:`selection`,class:I.value,style:e.value})),i.markers!==!1&&a.push(s(`div`,{key:`marker`,class:L.value,style:Te.value})),r(a);let o=[g(s(`div`,{key:`trackC`,class:oe.value,tabindex:t.value,...n.value},[s(`div`,{class:pe.value,style:he.value},a)]),Ae.value)];return i.markerLabels!==!1&&o[i.switchMarkerLabelsSide?`unshift`:`push`](s(`div`,{key:`markerL`,class:fe.value},ke())),o}return w(()=>{document.removeEventListener(`mouseup`,Pe,!0)}),{state:{active:f,focus:m,preventFocus:p,dragging:h,editable:C,classes:ne,tabindex:O,orientation:te,roundValueFn:E,keyStep:D,trackLen:k,innerMin:x,innerMinRatio:ee,innerMax:S,innerMaxRatio:j,positionProp:M,sizeProp:P,isReversed:b},methods:{onActivate:Ne,onClick:z,onBlur:Me,onKeyup:Fe,getContent:Re,getThumbRenderFn:Le,convertRatioToModel:R,convertModelToRatio:ve,getDraggingRatio:ye}}}var on=()=>({}),sn=ie({name:`QSlider`,props:{...nn,modelValue:{required:!0,default:null,validator:e=>typeof e==`number`||e===null},labelValue:[String,Number]},emits:rn,inheritAttrs:!1,setup(e,{emit:n,attrs:r}){let i=re(),a=be(),{state:c,methods:l}=an({updateValue:w,updatePosition:D,getDragging:E,formAttrs:de(e)}),d=t(null),f=o(0),p=o(0),m=null,h=null;function g(){h=null,p.value=e.modelValue===null?c.innerMin.value:ct(e.modelValue,c.innerMin.value,c.innerMax.value)}u(()=>`${e.modelValue}|${c.innerMin.value}|${c.innerMax.value}`,g,{immediate:!0});let _=T(()=>l.convertModelToRatio(p.value)),v=T(()=>c.active.value?f.value:_.value),y=T(()=>{let t={[c.positionProp.value]:`${100*c.innerMinRatio.value}%`,[c.sizeProp.value]:`${100*(v.value-c.innerMinRatio.value)}%`};return e.selectionImg!==void 0&&(t.backgroundImage=`url(${e.selectionImg}) !important`),t}),b=l.getThumbRenderFn({focusValue:!0,getNodeData:on,ratio:v,label:T(()=>e.labelValue===void 0?p.value:e.labelValue),thumbColor:T(()=>e.thumbColor||e.color),labelColor:T(()=>e.labelColor),labelTextColor:T(()=>e.labelTextColor)}),x=T(()=>c.editable.value?{onClick:l.onClick,onMousedown:l.onActivate,onFocus:O,onBlur:l.onBlur,onKeydown:k,onKeyup:l.onKeyup}:{}),S=T(()=>{let t={role:`slider`,"aria-orientation":c.orientation.value,"aria-valuemin":c.innerMin.value,"aria-valuemax":c.innerMax.value,"aria-valuenow":e.modelValue===null?c.innerMin.value:e.modelValue,"data-step":e.step};return e.labelValue===void 0?e.modelValue===null&&(t[`aria-valuetext`]=i.lang.label.noValue):t[`aria-valuetext`]=e.labelValue,e.disable?t[`aria-disabled`]=`true`:e.readonly&&(t[`aria-readonly`]=`true`),t}),C=T(()=>({...S.value,...a.attributes.value,...x.value}));function w(t){p.value!==e.modelValue&&p.value!==h&&(h=p.value,n(`update:modelValue`,p.value)),t&&(m!==null&&m!==p.value&&n(`change`,p.value),m=null)}function E(){return m=p.value,d.value.getBoundingClientRect()}function D(t,n=c.dragging.value){let r=l.getDraggingRatio(t,n);p.value=l.convertRatioToModel(r),f.value=!e.snap||e.step===0?r:l.convertModelToRatio(p.value)}function O(){c.focus.value=!0}function k(t){if(!tn.includes(t.keyCode))return;if(F(t),m===null&&(m=p.value),t.keyCode===36||t.keyCode===35){p.value=t.keyCode===36?c.innerMin.value:c.innerMax.value,w();return}let n=([34,33].includes(t.keyCode)?10:1)*c.keyStep.value,r=([34,37,40].includes(t.keyCode)?-1:1)*(c.isReversed.value?-1:1)*(e.vertical?-1:1)*n;p.value=ct(c.roundValueFn.value(p.value+r),c.innerMin.value,c.innerMax.value),w()}return()=>{let t=l.getContent(y,c.tabindex,C,e=>{e.push(b())});return s(`div`,{ref:d,class:[c.classes.value+(e.modelValue===null?` q-slider--no-value`:``),r.class],style:r.style,...a.listeners.value},t)}}});function cn(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(cn(e,t))}):e instanceof Map&&e.forEach((e,r)=>{n.set(r,cn(e,t))}),Object.assign(n,...Object.keys(e).map(n=>({[n]:cn(e[n],t)})))}var ln=ie({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:n,emit:r}){let{proxy:i}=y(),a=re(),c=t(null),l=o(``),u=o(``),d=!1,f=T(()=>j({initialValue:l.value,validate:e.validate,set:m,cancel:h,updatePosition:g},`value`,()=>u.value,e=>{u.value=e}));function m(){e.validate(u.value)&&(_()&&(r(`save`,u.value,l.value),r(`update:modelValue`,u.value)),v())}function h(){_()&&r(`cancel`,u.value,l.value),v()}function g(){p(()=>{c.value.updatePosition()})}function _(){return!ke(u.value,l.value)}function v(){d=!0,c.value.hide()}function b(){d=!1,l.value=cn(e.modelValue),u.value=cn(e.modelValue),r(`beforeShow`)}function x(){r(`show`)}function S(){!d&&_()&&(e.autoSave&&e.validate(u.value)?(r(`save`,u.value,l.value),r(`update:modelValue`,u.value)):r(`cancel`,u.value,l.value)),r(`beforeHide`)}function C(){r(`hide`)}function w(){let t=n.default===void 0?[]:[n.default(f.value)].flat();return e.title&&t.unshift(s(`div`,{class:`q-dialog__title q-mt-sm q-mb-sm`},e.title)),e.buttons&&t.push(s(`div`,{class:`q-popup-edit__buttons row justify-center no-wrap`},[s(L,{flat:!0,color:e.color,label:e.labelCancel||a.lang.label.cancel,onClick:h}),s(L,{flat:!0,color:e.color,label:e.labelSet||a.lang.label.set,onClick:m})])),t}return Object.assign(i,{set:m,cancel:h,show(e){c.value?.show(e)},hide(e){c.value?.hide(e)},updatePosition:g}),()=>{if(!e.disable)return s(lt,{ref:c,class:`q-popup-edit`,cover:e.cover,onBeforeShow:b,onShow:x,onBeforeHide:S,onHide:C,onEscapeKey:h},w)}}}),un={class:`custom-sounds`,"data-test":`custom-sounds`},dn={class:`text-subtitle2`},fn={class:`text-kobo-3 text-caption q-mb-sm`},pn={class:`row items-center q-gutter-sm`},mn=[`accept`,`disabled`],hn={key:0,class:`text-kobo-3 text-caption`},gn={key:0,class:`text-negative text-caption q-mt-sm q-mb-none`,role:`alert`},_n={class:`row items-center no-wrap`},vn=k({__name:`CustomSoundManager`,setup(t){let{t:n}=tt(),r=Nt(),a=o(null),s=o(``),c=T(()=>r.sounds.length>=20),l=[`type`,`size`,`count`];function u(e){return n(`settings.customSoundsError.${e}`,{count:20,size:nt/1024/1024})}function d(e){return e instanceof Me?e.status===413?u(`size`):l.includes(e.code)?u(e.code):n(`settings.customSoundsError.failed`):n(`settings.customSoundsError.failed`)}async function p(e){let t=e.target,n=t.files?.[0];if(t.value=``,n){if(s.value=``,n.size>2097152)s.value=u(`size`);else if(!Xe(n.name))s.value=u(`type`);else try{await r.uploadSound(n)}catch(e){s.value=d(e)}}}async function h(e){s.value=``;try{await r.removeSound(e)}catch(e){s.value=d(e)}}function g(e){Be(e,1)}return m(()=>{r.loaded||r.fetchSounds()}),(t,n)=>(f(),E(`div`,un,[O(`div`,dn,i(t.$t(`settings.customSounds`)),1),O(`div`,fn,i(t.$t(`settings.customSoundsHint`,{count:e(20),size:e(nt)/1024/1024})),1),O(`div`,pn,[O(`input`,{ref_key:`fileInput`,ref:a,class:`hidden`,type:`file`,"data-test":`custom-sound-input`,accept:e(We),disabled:e(r).busy||c.value,onChange:p},null,40,mn),v(L,{flat:``,dense:``,"no-caps":``,color:`primary`,icon:`library_music`,label:t.$t(`settings.customSoundsImport`),loading:e(r).busy,disable:c.value,"data-test":`custom-sound-import`,onClick:n[0]||=e=>a.value?.click()},null,8,[`label`,`loading`,`disable`]),c.value?(f(),E(`span`,hn,i(t.$t(`settings.customSoundsFull`,{count:e(20)})),1)):x(``,!0)]),s.value?(f(),E(`p`,gn,i(s.value),1)):x(``,!0),e(r).sounds.length>0?(f(),b(V,{key:1,bordered:``,separator:``,class:`rounded-borders q-mt-sm`},{default:_(()=>[(f(!0),E(D,null,A(e(r).sounds,n=>(f(),b(W,{key:n.id},{default:_(()=>[v(G,null,{default:_(()=>[v(H,{class:`ellipsis`,title:n.name},{default:_(()=>[S(i(n.name),1)]),_:2},1032,[`title`]),v(H,{caption:``},{default:_(()=>[S(i(Math.max(1,Math.round(n.size/1024)))+` KB`,1)]),_:2},1024)]),_:2},1024),v(G,{side:``},{default:_(()=>[O(`div`,_n,[v(L,{flat:``,dense:``,round:``,size:`sm`,icon:`play_arrow`,color:`primary`,"aria-label":t.$t(`settings.notificationSoundPreview`),onClick:e=>g(n.reference)},null,8,[`aria-label`,`onClick`]),v(L,{flat:``,dense:``,round:``,size:`sm`,icon:`delete`,color:`kobo-3`,disable:e(r).busy,"aria-label":t.$t(`common.delete`),onClick:e=>h(n.id)},null,8,[`disable`,`aria-label`,`onClick`])])]),_:2},1024)]),_:2},1024))),128))]),_:1})):x(``,!0)]))}}),yn={class:`q-pa-sm q-gutter-sm`},bn={class:`text-caption`},xn={key:0},Sn={key:1,role:`alert`,class:`text-negative`},Cn={key:2,role:`status`},wn={class:`row q-gutter-sm`},Tn=k({__name:`IntegrationConnectionSettings`,props:c({integration:{}},{modelValue:{default:()=>({command:``,args:``,environment:``})},modelModifiers:{},connectionStatus:{default:()=>r({configured:!1})},connectionStatusModifiers:{}}),emits:[`update:modelValue`,`update:connectionStatus`],setup(e){let{t}=tt(),n=e,r=d(e,`modelValue`),a=T(()=>({command:`npx`,args:JSON.stringify([`-y`,n.integration===`notion`?`@notionhq/notion-mcp-server`:t(`integration.packageExample`)]),environment:JSON.stringify(n.integration===`notion`?{NOTION_TOKEN:t(`integration.tokenExample`)}:{[t(`integration.variableExample`)]:t(`integration.valueExample`)})})),s=d(e,`connectionStatus`),c=T(()=>s.value.configured),l=o(!1),u=o(!1),p=o(!1),h=o(!1);function g(e,t){r.value={...r.value,[e]:String(t??``)}}async function y(){u.value=!0,p.value=!1;try{s.value.configured=(await z(`/api/integrations/${n.integration}`)).configured,l.value=!0}catch{p.value=!0}finally{u.value=!1}}async function S(e){if(!l.value||u.value)return;let t=r.value;u.value=!0,p.value=!1,h.value=!1;try{let i=await z(`/api/integrations/${n.integration}`,{method:`PUT`,body:e===null?`null`:e});s.value.configured=i.configured,Object.assign(t,{command:``,args:``,environment:``}),r.value===t&&(r.value={...t}),h.value=!0}catch{p.value=!0}finally{u.value=!1}}async function C(){try{await S({command:r.value.command,args:JSON.parse(r.value.args.trim()||`[]`),env:JSON.parse(r.value.environment.trim()||`{}`)})}catch{p.value=!0,h.value=!1}}return m(y),(e,t)=>(f(),b(ut,{label:e.$t(`integration.direct`),class:`q-mb-md`},{default:_(()=>[O(`div`,yn,[O(`p`,null,i(e.$t(`integration.directHint`)),1),O(`p`,bn,i(e.$t(`integration.agentScope`)),1),c.value?(f(),E(`p`,xn,i(e.$t(`integration.stored`)),1)):x(``,!0),v(R,{"model-value":r.value.command,outlined:``,dense:``,label:e.$t(`integration.command`),placeholder:e.$t(`integration.example`,{example:a.value.command}),"stack-label":``,disable:u.value,autocomplete:`off`,"onUpdate:modelValue":t[0]||=e=>g(`command`,e)},null,8,[`model-value`,`label`,`placeholder`,`disable`]),v(R,{"model-value":r.value.args,outlined:``,dense:``,type:`textarea`,label:e.$t(`integration.args`),placeholder:e.$t(`integration.example`,{example:a.value.args}),"stack-label":``,disable:u.value,autocomplete:`off`,spellcheck:`false`,"onUpdate:modelValue":t[1]||=e=>g(`args`,e)},null,8,[`model-value`,`label`,`placeholder`,`disable`]),v(R,{"model-value":r.value.environment,outlined:``,dense:``,type:`textarea`,label:e.$t(`integration.environment`),placeholder:e.$t(`integration.example`,{example:a.value.environment}),"stack-label":``,disable:u.value,autocomplete:`off`,spellcheck:`false`,"onUpdate:modelValue":t[2]||=e=>g(`environment`,e)},null,8,[`model-value`,`label`,`placeholder`,`disable`]),p.value?(f(),E(`p`,Sn,i(e.$t(`integration.failed`)),1)):x(``,!0),h.value?(f(),E(`p`,Cn,i(e.$t(`integration.saved`)),1)):x(``,!0),O(`div`,wn,[v(L,{outline:``,"no-caps":``,label:e.$t(`integration.save`),disable:u.value||!l.value||!r.value.command.trim(),onClick:C},null,8,[`label`,`disable`]),v(L,{flat:``,"no-caps":``,label:e.$t(`integration.clear`),disable:u.value||!l.value||!c.value,onClick:t[3]||=e=>S(null)},null,8,[`label`,`disable`]),l.value?x(``,!0):(f(),b(L,{key:0,flat:``,"no-caps":``,label:e.$t(`setup.check`),loading:u.value,onClick:y},null,8,[`label`,`loading`]))])])]),_:1},8,[`label`]))}});function En(e){let t=document.createElement(`textarea`);t.value=e,t.contentEditable=`true`,t.style.position=`fixed`;let n=()=>{};ze(n),document.body.append(t),t.focus(),t.select();let r=document.execCommand(`copy`);return t.remove(),Qe(n),r}function Dn(e){if(navigator.clipboard)return navigator.clipboard.writeText(e);let t=En(e);return t?Promise.resolve(!0):Promise.reject(t)}function On(e,t){let n=[{url:e.localUrl,kind:`local`,requiresToken:!0}];if(!e.networkEnabled)return n;if(n.push(...e.lanUrls.map(e=>({url:e,kind:`remote`,requiresToken:!0}))),e.behindProxy)try{let r=new URL(t);if([`http:`,`https:`].includes(r.protocol)&&(!e.proxyHostname||r.hostname.replace(/^\[|\]$/g,``)===e.proxyHostname)){let e=`${r.origin}/api/mcp`;n.some(t=>t.url===e)||n.push({url:e,kind:`proxy`,requiresToken:!0})}}catch{}return n}function kn(e,t,n,r){let i=n.trim()?Re(n):``,a=r||`<KOBO_MCP_TOKEN>`;if(t===`stdio`){if(!e.stdio)throw Error(`MCP stdio entrypoint unavailable`);return JSON.stringify({mcpServers:{kobo:{...e.stdio,env:{...e.stdio.env,...i?{KOBO_MCP_CLIENT_NAME:i}:{},KOBO_MCP_TOKEN:a}}}},null,2)}let o={...i?{"X-Kobo-Client-Name":encodeURIComponent(i),"X-Kobo-Client-Name-Encoding":`uri`}:{},Authorization:`Bearer ${a}`};return JSON.stringify({mcpServers:{kobo:{url:t.url,...Object.keys(o).length?{headers:o}:{}}}},null,2)}var An={"data-tour":`settings-mcp`,class:`q-mt-lg`},jn={class:`text-subtitle2 q-mb-sm`},Mn={class:`text-caption text-kobo-3`},Nn={key:0,class:`text-caption text-kobo-3`},Pn={class:`text-caption text-kobo-3`},Fn={key:0,class:`row items-center q-mt-sm`},In={class:`mcp-url col`},Ln={class:`mcp-config q-pa-sm`},Rn={class:`text-caption text-kobo-3`},zn={class:`row q-gutter-sm`},Bn={key:1,class:`text-caption text-kobo-3 q-mt-sm`},Vn={key:4,class:`text-caption text-kobo-3 q-mt-sm`},Hn=K(k({__name:`McpConnectionSettings`,props:{token:{},networkEnabled:{type:Boolean},behindProxy:{type:Boolean}},setup(t){let n=t,{t:r}=tt(),a=re(),s=o(null),c=o(!1),l=o(``),d=o(``),p=T(()=>s.value?On(s.value,window.location.origin):[]),m=T(()=>[...p.value.map(e=>({label:`${r(`settings.mcp.${e.kind}`)} — ${e.url}`,value:e.url})),...s.value?.stdio?[{label:r(`settings.mcp.stdio`),value:`stdio`}]:[]]),h=T(()=>d.value===`stdio`&&s.value?.stdio?`stdio`:p.value.find(e=>e.url===d.value)),g=T(()=>s.value&&h.value?kn(s.value,h.value,l.value):``),y=o([]),C=o(``),w=o(!1),k=o([]),ee=o([]),j=o([]),M=o([]),N=o(30),P=o(``),F=o(!1),te=T(()=>[...[7,30,90,365].map(e=>({label:r(`settings.mcp.expiryDays`,{count:e}),value:e})),{label:r(`settings.mcp.noExpiry`),value:null}]);async function ne(e){let t=await z(`/api/mcp-credentials`,{signal:e});e?.aborted||(y.value=t.credentials,j.value=t.tools.map(e=>({label:`${e.name} — ${r(e.readOnly?`settings.mcp.readOnly`:`settings.mcp.write`)}`,value:e.name})),M.value.length||(M.value=t.tools.filter(e=>e.readOnly).map(e=>e.name)))}async function ie(){F.value=!0,P.value=``;try{let e=await z(`/api/mcp-credentials`,{method:`POST`,body:{name:C.value,tools:M.value,allWorkspaces:w.value,workspaceIds:w.value?[]:k.value,expiresAt:N.value?new Date(Date.now()+N.value*864e5).toISOString():null}});P.value=e.token,y.value.push(e.credential)}catch(e){a.notify({type:`negative`,message:e instanceof Error?e.message:r(`settings.mcp.failed`)})}finally{F.value=!1}}async function ae(e){F.value=!0;try{await z(`/api/mcp-credentials/${encodeURIComponent(e)}`,{method:`DELETE`}),y.value=y.value.filter(t=>t.id!==e),P.value=``}catch(e){a.notify({type:`negative`,message:e instanceof Error?e.message:r(`settings.mcp.failed`)})}finally{F.value=!1}}u(()=>[n.networkEnabled,n.behindProxy],async(e,t,n)=>{let r=new AbortController;n(()=>r.abort());try{let[e,t]=await Promise.all([z(`/api/settings/mcp`,{signal:r.signal}),z(`/api/workspaces`,{signal:r.signal}),ne(r.signal)]);if(r.signal.aborted)return;ee.value=t.map(e=>({label:e.name,value:e.id})),s.value=e,c.value=!1,m.value.some(e=>e.value===d.value)||(d.value=s.value.localUrl)}catch{if(r.signal.aborted)return;c.value=!0}},{immediate:!0});async function I(e){try{await Dn(e),a.notify({type:`positive`,message:r(`settings.network.copied`)})}catch{a.notify({type:`negative`,message:r(`settings.mcp.copyFailed`)})}}function se(){s.value&&h.value&&P.value&&I(kn(s.value,h.value,l.value,P.value))}return(n,a)=>(f(),E(`section`,An,[O(`div`,jn,i(e(r)(`settings.mcp.title`)),1),O(`p`,Mn,i(e(r)(`settings.mcp.hint`)),1),c.value?(f(),b(Pt,{key:0,dense:``,class:`bg-negative text-white`},{default:_(()=>[S(i(e(r)(`settings.network.loadFailed`)),1)]),_:1})):s.value?(f(),E(D,{key:1},[t.networkEnabled?x(``,!0):(f(),E(`p`,Nn,i(e(r)(`settings.mcp.remoteDisabled`)),1)),v(Pt,{dense:``,class:`q-mb-md`},{default:_(()=>[S(i(e(r)(`settings.mcp.scopedHint`)),1)]),_:1}),v(R,{modelValue:C.value,"onUpdate:modelValue":a[0]||=e=>C.value=e,label:e(r)(`settings.mcp.keyName`),maxlength:`120`,outlined:``,dense:``,class:`q-mb-sm`},null,8,[`modelValue`,`label`]),v(B,{modelValue:w.value,"onUpdate:modelValue":a[1]||=e=>w.value=e,label:e(r)(`settings.mcp.allWorkspaces`)},null,8,[`modelValue`,`label`]),w.value?x(``,!0):(f(),b(U,{key:1,modelValue:k.value,"onUpdate:modelValue":a[2]||=e=>k.value=e,options:ee.value,multiple:``,"emit-value":``,"map-options":``,"use-chips":``,label:e(r)(`settings.mcp.workspaces`),outlined:``,dense:``,class:`q-mb-sm`},null,8,[`modelValue`,`options`,`label`])),v(U,{modelValue:M.value,"onUpdate:modelValue":a[3]||=e=>M.value=e,options:j.value,multiple:``,"emit-value":``,"map-options":``,"use-chips":``,label:e(r)(`settings.mcp.tools`),outlined:``,dense:``,class:`q-mb-sm`},null,8,[`modelValue`,`options`,`label`]),O(`p`,Pn,i(e(r)(`settings.mcp.scopeHint`)),1),v(U,{modelValue:N.value,"onUpdate:modelValue":a[4]||=e=>N.value=e,options:te.value,"emit-value":``,"map-options":``,label:e(r)(`settings.mcp.expiry`),outlined:``,dense:``,class:`q-mb-sm`},null,8,[`modelValue`,`options`,`label`]),v(L,{outline:``,"no-caps":``,loading:F.value,disable:!C.value.trim()||!w.value&&!k.value.length||!M.value.length,label:e(r)(`settings.mcp.createKey`),onClick:ie},null,8,[`loading`,`disable`,`label`]),P.value?(f(),b(Pt,{key:2,class:`q-my-md`},{default:_(()=>[O(`p`,null,i(e(r)(`settings.mcp.oneTimeKey`)),1),v(R,{"model-value":P.value,readonly:``,outlined:``,dense:``,label:e(r)(`settings.mcp.key`)},null,8,[`model-value`,`label`]),v(L,{flat:``,"no-caps":``,icon:`content_copy`,label:e(r)(`settings.mcp.copyKey`),onClick:a[5]||=e=>I(P.value)},null,8,[`label`]),v(L,{flat:``,"no-caps":``,label:e(r)(`settings.mcp.hideKey`),onClick:a[6]||=e=>P.value=``},null,8,[`label`])]),_:1})):x(``,!0),v(V,{bordered:``,separator:``,class:`q-my-md`},{default:_(()=>[(f(!0),E(D,null,A(y.value,t=>(f(),b(W,{key:t.id},{default:_(()=>[v(G,null,{default:_(()=>[v(H,null,{default:_(()=>[S(i(t.name),1)]),_:2},1024),v(H,{caption:``},{default:_(()=>[S(i(t.allWorkspaces?e(r)(`settings.mcp.allWorkspaces`):t.workspaceIds.join(`, `)),1)]),_:2},1024),v(H,{caption:``},{default:_(()=>[S(i(t.tools.join(`, `)),1)]),_:2},1024),v(H,{caption:``},{default:_(()=>[S(i(t.expiresAt?new Date(t.expiresAt).toLocaleString():e(r)(`settings.mcp.noExpiry`)),1)]),_:2},1024)]),_:2},1024),v(G,{side:``},{default:_(()=>[v(L,{flat:``,"no-caps":``,color:`negative`,disable:F.value,label:e(r)(`settings.mcp.revoke`),onClick:e=>ae(t.id)},null,8,[`disable`,`label`,`onClick`])]),_:2},1024)]),_:2},1024))),128))]),_:1}),v(R,{modelValue:l.value,"onUpdate:modelValue":a[7]||=e=>l.value=e,label:e(r)(`settings.mcp.clientName`),maxlength:`120`,outlined:``,dense:``,dark:``,class:`q-mb-md`},null,8,[`modelValue`,`label`]),v(U,{modelValue:d.value,"onUpdate:modelValue":a[8]||=e=>d.value=e,options:m.value,"emit-value":``,"map-options":``,label:e(r)(`settings.mcp.connection`),outlined:``,dense:``,dark:``},null,8,[`modelValue`,`options`,`label`]),h.value?(f(),E(D,{key:3},[h.value===`stdio`?x(``,!0):(f(),E(`div`,Fn,[O(`code`,In,i(h.value.url),1),v(L,{flat:``,dense:``,icon:`content_copy`,title:e(r)(`settings.mcp.copyUrl`),onClick:a[9]||=e=>I(h.value.url)},null,8,[`title`])])),O(`pre`,Ln,i(g.value),1),O(`p`,Rn,i(e(r)(`settings.mcp.genericFormat`)),1),O(`div`,zn,[v(L,{outline:``,dense:``,"no-caps":``,icon:`content_copy`,label:e(r)(`settings.mcp.copyConfig`),onClick:a[10]||=e=>I(g.value)},null,8,[`label`]),v(L,{outline:``,dense:``,"no-caps":``,disable:!P.value,label:e(r)(`settings.mcp.copyWithToken`),onClick:se},null,8,[`disable`,`label`])]),P.value?x(``,!0):(f(),E(`p`,Bn,i(e(r)(`settings.mcp.tokenUnavailable`)),1))],64)):x(``,!0),s.value.stdio?x(``,!0):(f(),E(`p`,Vn,i(e(r)(`settings.mcp.stdioUnavailable`)),1))],64)):(f(),b(oe,{key:2}))]))}}),[[`__scopeId`,`data-v-125884d5`]]),Y={class:`memory-scope-select`},Un=[`value`],Wn={value:``},Gn=[`value`],Kn=K(k({__name:`MemoryScopeSelect`,props:{scopes:{},modelValue:{}},emits:[`update:modelValue`],setup(t,{emit:n}){let r=n,{t:a}=tt();function o(e){let t=a(`memory.scope.${e.level}`);return e.level===`project`?`${t} · ${e.projectPath??e.id}`:e.level===`workspace`?`${t} · ${e.workspaceId??e.id}`:t}return(n,s)=>(f(),E(`label`,Y,[O(`span`,null,i(e(a)(`memory.scope.label`)),1),O(`select`,{value:t.modelValue,onChange:s[0]||=e=>r(`update:modelValue`,e.target.value)},[O(`option`,Wn,i(e(a)(`memory.scope.choose`)),1),(f(!0),E(D,null,A(t.scopes,e=>(f(),E(`option`,{key:e.id,value:e.id},i(o(e)),9,Gn))),128))],40,Un)]))}}),[[`__scopeId`,`data-v-013b6fd5`]]),qn={class:`memory-settings`,"data-tour":`settings-card-memory`,"aria-labelledby":`memory-settings-title`},Jn={class:`memory-settings__header`},Yn={id:`memory-settings-title`},Xn={class:`memory-settings__modes`,"data-tour":`settings-memory-modes`},Zn=[`value`,`checked`,`onChange`],Qn={class:`memory-settings__note`},X={class:`memory-settings__note`},$n={key:0,role:`alert`},er={key:1,class:`memory-settings__actions`},tr=[`disabled`],nr=[`disabled`],rr=[`disabled`],ir={key:3,class:`memory-clear-confirm`,role:`dialog`,"aria-modal":`true`},ar={class:`memory-settings__note`},or={key:0,role:`alert`},sr=[`disabled`],cr=[`disabled`],lr={key:4,class:`memory-clear-confirm`,role:`dialog`,"aria-modal":`true`},ur={class:`memory-settings__note`},dr=[`disabled`],fr=[`disabled`],pr={key:5,class:`memory-clear-confirm`,role:`dialog`,"aria-modal":`true`},mr=[`disabled`],hr={value:``},gr=[`value`],_r=[`disabled`],vr=[`disabled`],yr=[`disabled`],br=K(k({__name:`MemorySettingsPanel`,props:{memoryMode:{}},emits:[`update:memoryMode`],setup(t,{emit:n}){let r=t,a=n,{t:s}=tt(),c=Ke(),d=o(``),p=o(!1),h=o(null),_=o(null),y=o(null),S=o(``),C=o(!1),w=o(!1),k=o(!1),ee=o(null),j=o(!1),M=o(``),N=o(null),P=0;l(()=>{P++});let F=o(``),ne=T(()=>c.scopesFor()),re=T(()=>c.hasMoreScopes()),ie=T(()=>c.loadingScopes.all??!1),ae=T(()=>d.value?c.entriesFor(d.value):[]),I=T(()=>d.value?c.proposalsFor(d.value):[]),L=T(()=>d.value?c.operationsFor(d.value):[]),oe=T(()=>d.value?c.operationsCursor(d.value):void 0);m(async()=>{try{await c.loadScopes(),d.value||=ne.value.find(e=>e.level===`global`)?.id??ne.value[0]?.id??``}catch(e){M.value=e instanceof Error?e.message:s(`memory.settings.loadFailed`)}}),u(d,async e=>{if(P++,N.value=null,F.value=``,p.value=!1,h.value=null,j.value=!1,e)try{await Promise.all([c.loadEntries(e),c.loadProposals(e),c.loadOperations(e)])}catch(e){M.value=e instanceof Error?e.message:s(`memory.settings.loadFailed`)}},{flush:`sync`});function se(){h.value=null,M.value=``,j.value=!1,p.value=!0}function ce(e){h.value=e,M.value=``,j.value=!1,p.value=!0}async function le(e){C.value=!0,M.value=``;try{if(h.value){let t=e.expectedRevision===void 0?h.value:{...h.value,revision:e.expectedRevision};await c.updateEntry(t,{key:e.key,title:e.title,body:e.body})}else await c.createEntry({scopeId:e.scopeId,key:e.key,title:e.title,body:e.body});p.value=!1,h.value=null,j.value=!1,await Promise.all([c.loadEntries(d.value),c.loadProposals(d.value),c.loadOperations(d.value)])}catch(e){if(h.value&&ve(e)===409){await c.loadEntries(h.value.scopeId),h.value=c.entriesFor(h.value.scopeId).find(e=>e.id===h.value?.id)??null,j.value=!0,M.value=``;return}M.value=e instanceof Error?e.message:s(`memory.settings.saveFailed`)}finally{C.value=!1}}function ue(e){_.value=e}async function de(){try{await c.loadMoreScopes()}catch(e){M.value=e instanceof Error?e.message:s(`memory.settings.loadFailed`)}}async function fe(){let e=_.value;if(e&&!w.value){w.value=!0;try{await c.deleteEntry(e),_.value=null,await Promise.all([c.loadEntries(d.value),c.loadOperations(d.value)])}catch(e){M.value=e instanceof Error?e.message:s(`memory.settings.saveFailed`)}finally{w.value=!1}}}function pe(){_.value=null}function me(e=d.value){let t=ne.value.find(t=>t.id===e);if(!t)return``;let n=s(`memory.scope.${t.level}`);return t.level===`project`?`${n} · ${t.projectPath??t.id}`:t.level===`workspace`?`${n} · ${t.workspaceId??t.id}`:n}function he(e){y.value=e,S.value=``}async function ge(){let e=y.value;if(e&&S.value&&!k.value){k.value=!0;try{await c.promoteEntry(e,S.value),y.value=null,S.value=``,await Promise.all([c.loadEntries(d.value),c.loadOperations(d.value)])}catch(e){M.value=e instanceof Error?e.message:s(`memory.settings.saveFailed`)}finally{k.value=!1}}}async function _e(e,t){if(!ee.value){ee.value=e;try{await c.decideProposal(e,t),await Promise.all([c.loadEntries(d.value),c.loadProposals(d.value),c.loadOperations(d.value)])}catch(e){M.value=e instanceof Error?e.message:s(`memory.settings.saveFailed`)}finally{ee.value=null}}}async function R(){if(!d.value)return;let e=d.value,t=++P;F.value=``;try{let n=await c.previewClear(e);if(t!==P||d.value!==e)return;N.value={...n,scopeId:e}}catch(e){if(t!==P)return;F.value=e instanceof Error?e.message:s(`memory.settings.clearFailed`)}}function ve(e){return typeof e==`object`&&e&&`status`in e?Number(e.status):void 0}async function ye(){if(!d.value||!N.value||w.value)return;let e=N.value,t=P;if(d.value===e.scopeId){w.value=!0;try{if(await c.clearScope(e.scopeId,e.revision),t!==P)return;N.value=null,await Promise.all([c.loadEntries(d.value),c.loadProposals(d.value),c.loadOperations(d.value)])}catch(n){if(t!==P)return;if(F.value=ve(n)===409?s(`memory.settings.clearConflict`):n instanceof Error?n.message:s(`memory.settings.clearFailed`),ve(n)===409)try{let n=await c.previewClear(e.scopeId);t===P&&(N.value={...n,scopeId:e.scopeId})}catch{t===P&&(N.value=null)}}finally{w.value=!1}}}function be(){j.value=!1,M.value=``}function xe(){j.value=!1,M.value=``}return(t,n)=>(f(),E(`section`,qn,[O(`header`,Jn,[O(`h3`,Yn,i(e(s)(`memory.settings.title`)),1),O(`p`,null,i(e(s)(`memory.settings.intro`)),1)]),O(`fieldset`,Xn,[O(`legend`,null,i(e(s)(`memory.settings.mode`)),1),(f(),E(D,null,A([`manual`,`automatic`,`hybrid`],t=>O(`label`,{key:t},[O(`input`,{type:`radio`,name:`memory-mode`,value:t,checked:r.memoryMode===t,onChange:e=>a(`update:memoryMode`,t)},null,40,Zn),O(`span`,null,i(e(s)(`memory.settings.mode.${t}`)),1),O(`small`,null,i(e(s)(`memory.settings.modeHint.${t}`)),1)])),64)),O(`p`,Qn,i(e(s)(`memory.settings.saveNote`)),1)]),n[7]||=O(`div`,{class:`memory-settings__divider`},null,-1),O(`h4`,null,i(e(s)(`memory.settings.manageTitle`)),1),O(`p`,X,i(e(s)(`memory.settings.independentNote`)),1),v(Kn,{scopes:ne.value,"model-value":d.value,"onUpdate:modelValue":n[0]||=e=>d.value=e},null,8,[`scopes`,`model-value`]),M.value?(f(),E(`p`,$n,i(M.value),1)):x(``,!0),d.value?(f(),E(`div`,er,[O(`button`,{type:`button`,"data-testid":`memory-add-entry`,disabled:C.value||w.value||k.value,onClick:se},i(e(s)(`memory.settings.add`)),9,tr),O(`button`,{type:`button`,"data-testid":`memory-clear-preview`,disabled:C.value||w.value||k.value,onClick:R},i(e(s)(`memory.settings.clear`)),9,nr)])):x(``,!0),re.value?(f(),E(`button`,{key:2,type:`button`,"data-testid":`memory-load-more-scopes`,disabled:ie.value,onClick:de},i(ie.value?e(s)(`memory.settings.loadingScopes`):e(s)(`memory.settings.loadMoreScopes`)),9,rr)):x(``,!0),N.value?(f(),E(`div`,ir,[O(`h4`,null,i(e(s)(`memory.settings.clearConfirmTitle`)),1),O(`p`,null,i(e(s)(`memory.settings.clearConfirm`,{scope:e(s)(`memory.scope.${ne.value.find(e=>e.id===d.value)?.level??`global`}`),entries:N.value.entries,proposals:N.value.proposals})),1),O(`p`,ar,i(e(s)(`memory.settings.clearWarning`)),1),F.value?(f(),E(`p`,or,i(F.value),1)):x(``,!0),O(`button`,{type:`button`,"data-testid":`memory-clear-confirm`,disabled:w.value,onClick:ye},i(e(s)(`memory.settings.confirmClear`)),9,sr),O(`button`,{type:`button`,"data-testid":`memory-clear-cancel`,disabled:w.value,onClick:n[1]||=e=>{N.value=null,F.value=``}},i(e(s)(`memory.settings.cancel`)),9,cr)])):x(``,!0),_.value?(f(),E(`div`,lr,[O(`h4`,null,i(e(s)(`memory.settings.deleteConfirmTitle`)),1),O(`p`,null,i(e(s)(`memory.settings.deleteConfirm`,{title:_.value.title,scope:me(_.value.scopeId)})),1),O(`p`,ur,i(e(s)(`memory.settings.clearWarning`)),1),O(`button`,{type:`button`,"data-testid":`memory-delete-confirm`,disabled:w.value,onClick:fe},i(e(s)(`memory.settings.deleteConfirmAction`)),9,dr),O(`button`,{type:`button`,"data-testid":`memory-delete-cancel`,disabled:w.value,onClick:pe},i(e(s)(`memory.settings.cancel`)),9,fr)])):x(``,!0),y.value?(f(),E(`div`,pr,[O(`h4`,null,i(e(s)(`memory.panel.promoteTo`)),1),O(`label`,null,[O(`span`,null,i(e(s)(`memory.scope.label`)),1),g(O(`select`,{"onUpdate:modelValue":n[2]||=e=>S.value=e,disabled:k.value},[O(`option`,hr,i(e(s)(`memory.scope.choose`)),1),(f(!0),E(D,null,A(ne.value.filter(e=>e.id!==y.value?.scopeId),e=>(f(),E(`option`,{key:e.id,value:e.id},i(me(e.id)),9,gr))),128))],8,mr),[[te,S.value]])]),O(`button`,{type:`button`,"data-testid":`memory-promote-confirm`,disabled:!S.value||k.value,onClick:ge},i(e(s)(`memory.entry.promote`)),9,_r),O(`button`,{type:`button`,"data-testid":`memory-promote-cancel`,disabled:k.value,onClick:n[3]||=e=>{y.value=null,S.value=``}},i(e(s)(`memory.settings.cancel`)),9,vr)])):x(``,!0),p.value&&d.value?(f(),b(Ot,{key:6,"scope-id":d.value,entry:h.value,saving:C.value,error:M.value,conflict:j.value,onSave:le,onReload:be,onRebase:xe,onCancel:n[4]||=e=>{p.value=!1,j.value=!1}},null,8,[`scope-id`,`entry`,`saving`,`error`,`conflict`])):(f(),b(At,{key:7,entries:ae.value,disabled:C.value||w.value||k.value,onEdit:ce,onDelete:ue,onPromote:he},null,8,[`entries`,`disabled`])),e(c).hasMoreEntries(d.value)?(f(),E(`button`,{key:8,type:`button`,disabled:e(c).loadingEntries[`${d.value}\u0000`],onClick:n[5]||=t=>e(c).loadEntries(d.value,``,!0).catch(e=>M.value=e.message)},i(e(s)(`memory.entry.loadMore`)),9,yr)):x(``,!0),v(J,{proposals:I.value,"busy-proposal-id":ee.value,onDecision:_e},null,8,[`proposals`,`busy-proposal-id`]),v(kt,{operations:L.value,"has-more":!!oe.value,onLoadMore:n[6]||=t=>e(c).loadOperations(d.value,!0)},null,8,[`operations`,`has-more`])]))}}),[[`__scopeId`,`data-v-962dbe3d`]]),xr={class:`notification-sounds-grid q-mt-md`},Sr={class:`text-subtitle2`},Cr={class:`text-kobo-3 text-caption q-mb-sm`},wr={class:`row items-center q-gutter-sm`},Tr={class:`row items-center q-gutter-sm q-mt-sm`},Er={class:`text-kobo-2 text-caption volume-label`},Dr={class:`text-kobo-2 text-caption volume-value`},Or=K(k({__name:`PrNotificationSoundSettings`,props:{modelValue:{},generalSound:{}},emits:[`update:modelValue`],setup(t,{emit:n}){let r=t,a=n,{t:o}=tt(),s=T(()=>[{soundKey:`audioPrCiFailedSound`,enabledKey:`audioPrCiFailedEnabled`,volumeKey:`audioPrCiFailedVolume`,title:o(`settings.prCiFailedSound`),description:o(`settings.prCiFailedSoundHint`)},{soundKey:`audioPrCiRecoveredSound`,enabledKey:`audioPrCiRecoveredEnabled`,volumeKey:`audioPrCiRecoveredVolume`,title:o(`settings.prCiRecoveredSound`),description:o(`settings.prCiRecoveredSoundHint`)},{soundKey:`audioPrChangesRequestedSound`,enabledKey:`audioPrChangesRequestedEnabled`,volumeKey:`audioPrChangesRequestedVolume`,title:o(`settings.prChangesRequestedSound`),description:o(`settings.prChangesRequestedSoundHint`)},{soundKey:`audioPrApprovedSound`,enabledKey:`audioPrApprovedEnabled`,volumeKey:`audioPrApprovedVolume`,title:o(`settings.prApprovedSound`),description:o(`settings.prApprovedSoundHint`)},{soundKey:`audioPrMergeConflictSound`,enabledKey:`audioPrMergeConflictEnabled`,volumeKey:`audioPrMergeConflictVolume`,title:o(`settings.prMergeConflictSound`),description:o(`settings.prMergeConflictSoundHint`)},{soundKey:`audioPrReadyToMergeSound`,enabledKey:`audioPrReadyToMergeEnabled`,volumeKey:`audioPrReadyToMergeVolume`,title:o(`settings.prReadyToMergeSound`),description:o(`settings.prReadyToMergeSoundHint`)},{soundKey:`audioPrMergedSound`,enabledKey:`audioPrMergedEnabled`,volumeKey:`audioPrMergedVolume`,title:o(`settings.prMergedSound`),description:o(`settings.prMergedSoundHint`)}]),c=Nt(),l=T(()=>[{label:o(`settings.soundGeneral`),value:ye},...je.map(e=>({label:o(e.labelKey),value:e.id})),...c.options]);function u(e,t){a(`update:modelValue`,{...r.modelValue,[e]:t})}function d(e){let t=Ie(r.modelValue[e.soundKey]);t!==null&&Be(t??r.generalSound,r.modelValue[e.volumeKey])}return(n,r)=>(f(),E(`div`,xr,[(f(!0),E(D,null,A(s.value,n=>(f(),E(`div`,{key:n.soundKey,class:`notification-sound-card q-pa-md rounded-borders`},[O(`div`,Sr,i(n.title),1),O(`div`,Cr,i(n.description),1),v(B,{"model-value":t.modelValue[n.enabledKey],label:e(o)(`settings.enableAudio`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption q-mb-sm`,"onUpdate:modelValue":e=>u(n.enabledKey,!!e)},null,8,[`model-value`,`label`,`onUpdate:modelValue`]),O(`div`,wr,[v(U,{"model-value":t.modelValue[n.soundKey],options:l.value,label:n.title,disable:!t.modelValue[n.enabledKey],dark:``,dense:``,outlined:``,"emit-value":``,"map-options":``,color:`primary`,class:`col`,"onUpdate:modelValue":e=>u(n.soundKey,String(e))},null,8,[`model-value`,`options`,`label`,`disable`,`onUpdate:modelValue`]),v(L,{flat:``,dense:``,color:`primary`,icon:`play_arrow`,label:e(o)(`settings.notificationSoundPreview`),disable:!t.modelValue[n.enabledKey],onClick:e=>d(n)},null,8,[`label`,`disable`,`onClick`])]),O(`div`,Tr,[O(`div`,Er,i(e(o)(`settings.notificationVolume`)),1),v(sn,{"model-value":t.modelValue[n.volumeKey],min:0,max:1,step:.05,disable:!t.modelValue[n.enabledKey],"aria-label":e(o)(`settings.notificationVolume`),dark:``,dense:``,color:`primary`,class:`col`,"onUpdate:modelValue":e=>u(n.volumeKey,Number(e))},null,8,[`model-value`,`disable`,`aria-label`,`onUpdate:modelValue`]),O(`div`,Dr,i(Math.round(t.modelValue[n.volumeKey]*100))+`% `,1)])]))),128))]))}}),[[`__scopeId`,`data-v-dbeaedac`]]),kr={class:`script-variables text-caption q-mt-sm q-mb-sm`},Ar={class:`text-kobo-3`},jr={class:`q-mt-sm q-mb-xs`},Mr={class:`q-mb-xs`},Nr='docker compose -p "${PROJECT_NAME:?Missing Docker project}" down --remove-orphans',Z=K(k({__name:`ScriptVariablesHelp`,props:{event:{}},setup(t){let{t:n}=tt(),r=[[`WORKSPACE_ID`,`workspaceId`],[`WORKSPACE_NAME`,`workspaceName`],[`BRANCH_NAME`,`branchName`],[`SOURCE_BRANCH`,`sourceBranch`],[`PROJECT_PATH`,`projectPath`],[`INSTANCE`,`instance`],[`PROJECT_NAME`,`projectName`]],a={"session-ended":[`KOBO_SESSION_ID`,`KOBO_SESSION_END_REASON`,`KOBO_SESSION_EXIT_CODE`,`KOBO_SESSION_STOP_CAUSE`,`KOBO_AUTOLOOP_ACTIVE`],"pr-merged":[`KOBO_PR_NUMBER`,`KOBO_PR_URL`],"autoloop-disabled":[`KOBO_AUTOLOOP_REASON`,`KOBO_TASKS_PENDING`],"kobo-shutdown":[`KOBO_SHUTDOWN_SIGNAL`]};return(o,s)=>(f(),E(`details`,kr,[O(`summary`,Ar,i(e(n)(`settings.scriptVariables.title`)),1),O(`p`,jr,i(e(n)(`settings.scriptVariables.cwd`)),1),O(`dl`,null,[(f(),E(D,null,A(r,([t,r])=>(f(),E(D,{key:t},[O(`dt`,null,[O(`code`,null,i(t),1)]),O(`dd`,null,i(e(n)(`settings.scriptVariables.${r}`)),1)],64))),64)),t.event?(f(),E(D,{key:0},[s[0]||=O(`dt`,null,[O(`code`,null,`KOBO_HOOK_EVENT`)],-1),O(`dd`,null,[O(`code`,null,i(t.event),1)]),O(`dt`,null,[O(`code`,null,i(a[t.event].join(`, `)),1)]),O(`dd`,null,i(e(n)(`settings.scriptVariables.${t.event}`)),1)],64)):x(``,!0)]),O(`p`,Mr,i(e(n)(`settings.scriptVariables.guard`)),1),O(`code`,null,i(Nr))]))}}),[[`__scopeId`,`data-v-9a6e6f9d`]]),Pr=K(k({__name:`SettingsNavList`,props:{navItems:{},activeTab:{}},emits:[`select`],setup(e,{emit:t}){let n=t;return(t,r)=>(f(),b(V,{dense:``,class:`settings-nav__list`},{default:_(()=>[(f(!0),E(D,null,A(e.navItems,t=>g((f(),b(W,{key:t.value,clickable:``,"data-tour":`settings-nav-${t.value}`,class:a([`settings-nav__item`,{"settings-nav__item--active":e.activeTab===t.value}]),onClick:e=>n(`select`,t.value)},{default:_(()=>[v(G,{avatar:``,class:`settings-nav__icon`},{default:_(()=>[v(I,{name:t.icon,size:`16px`},null,8,[`name`])]),_:2},1024),v(G,{class:`settings-nav__label`},{default:_(()=>[S(i(t.label),1)]),_:2},1024)]),_:2},1032,[`data-tour`,`class`,`onClick`])),[[ae,!1]])),128))]),_:1}))}}),[[`__scopeId`,`data-v-fac6b946`]]),Fr={class:`whip-shortcut-recorder`},Ir={class:`text-caption text-kobo-2 q-mb-xs`},Lr={class:`row items-center no-wrap q-gutter-xs`},Rr={"data-testid":`whip-shortcut-value`},zr={key:0,role:`status`,"aria-live":`polite`,class:`q-sr-only`},Br={key:1,role:`alert`,class:`text-negative text-caption q-mt-xs`},Vr=K(k({__name:`WhipShortcutRecorder`,props:{modelValue:{}},emits:[`update:modelValue`],setup(t,{emit:n}){let r=t,a=n,{t:s}=tt(),c=xe(),l=o(!1),u=o(``),d=T(()=>l.value?s(`settings.whipShortcutRecording`):we(r.modelValue,c)),p=T(()=>l.value?s(`settings.whipShortcutRecordingLabel`):s(`settings.whipShortcutButtonLabel`,{shortcut:d.value}));function m(){l.value&&(l.value=!1,window.removeEventListener(`keydown`,h,!0))}function h(e){e.preventDefault(),e.stopPropagation();let t=_e(e,c);t.status!==`pending`&&(t.status===`reserved`?u.value=s(`settings.whipShortcutReserved`):(u.value=``,t.status===`accepted`&&a(`update:modelValue`,t.shortcut),m()))}function g(){l.value||(u.value=``,l.value=!0,window.addEventListener(`keydown`,h,!0))}function y(){m(),u.value=``,a(`update:modelValue`,st)}return w(m),(t,n)=>(f(),E(`div`,Fr,[O(`div`,Ir,i(e(s)(`settings.whipShortcut`)),1),O(`div`,Lr,[v(L,{"data-testid":`whip-shortcut-recorder`,dense:``,"no-caps":``,outline:``,color:`primary`,"aria-label":p.value,"aria-pressed":l.value,onClick:g},{default:_(()=>[O(`span`,Rr,i(d.value),1),v(mt,null,{default:_(()=>[S(i(e(s)(`settings.whipShortcutHint`)),1)]),_:1})]),_:1},8,[`aria-label`,`aria-pressed`]),v(L,{"data-testid":`whip-shortcut-reset`,dense:``,flat:``,round:``,size:`sm`,color:`kobo-2`,icon:`restart_alt`,"aria-label":e(s)(`settings.whipShortcutReset`),onClick:y},{default:_(()=>[v(mt,null,{default:_(()=>[S(i(e(s)(`settings.whipShortcutReset`)),1)]),_:1})]),_:1},8,[`aria-label`])]),l.value?(f(),E(`div`,zr,i(e(s)(`settings.whipShortcutRecording`)),1)):x(``,!0),u.value?(f(),E(`div`,Br,i(u.value),1)):x(``,!0)]))}}),[[`__scopeId`,`data-v-d8618bd9`]]);function Hr(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Ur(e,t){if(e===t)return!0;if(Array.isArray(e)||Array.isArray(t)){if(!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!Ur(e[n],t[n]))return!1;return!0}return Hr(e)&&Hr(t)?Wr(e,t):!1}function Wr(e,t){let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r of n)if(!Object.hasOwn(t,r)||!Ur(e[r],t[r]))return!1;return!0}function Gr(e){if(Array.isArray(e))return e.map(Gr);if(e instanceof Date)return new Date(e.getTime());if(typeof e==`object`&&e){let t={};for(let[n,r]of Object.entries(e))t[n]=Gr(r);return t}return e}function Kr(e){return Gr(e)}function qr(e){return e?{disabled:!1,hintKey:null}:{disabled:!0,hintKey:`settings.whipVolumeMasterAudioDisabled`}}var Jr={key:0,class:`settings-load-error`},Yr={class:`column`},Xr={class:`settings-load-error__title`},Zr={class:`settings-load-error__detail`},Qr={class:`settings-load-error__hint`},$r={class:`settings-layout`},ei={key:0,class:`settings-nav`},ti={class:`settings-nav__title`},ni={class:`settings-nav`},ri={class:`settings-nav__title`},ii={class:`settings-content`},ai={class:`settings-content__header`},oi={class:`settings-content__title`},si={class:`text-caption text-kobo-3 q-mb-md`},ci={class:`settings-panels`},li={class:`settings-global-wrap`},ui={key:1,"data-tour":`settings-card-general`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},di={class:`text-subtitle2 q-mb-sm`},fi={key:2,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},pi={class:`text-subtitle2 q-mb-sm`},mi={class:`text-caption text-kobo-3 q-mt-xs`},hi={key:3,"data-tour":`settings-card-skills`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},gi={class:`text-subtitle2 q-mb-sm`},_i={class:`text-caption text-kobo-3 q-mt-xs`},vi={key:4,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},yi={class:`text-subtitle2 q-mb-sm`},bi={class:`text-caption text-kobo-3 q-mb-xs q-mt-sm`},xi={class:`text-caption text-kobo-3 q-mt-md q-mb-xs`},Si={class:`text-caption text-kobo-3 q-mt-md q-mb-xs`},Ci={class:`text-caption text-kobo-3 q-mt-md q-mb-xs`},wi={class:`text-caption text-kobo-3 q-mt-md q-mb-xs`},Ti={key:5,"data-tour":`settings-card-agents`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Ei={class:`q-mb-md`,"data-tour":`settings-agent-watchdog`},Di={class:`text-caption text-kobo-3 q-mt-xs`},Oi={class:`q-mb-md`,"data-tour":`settings-immediate-messages`},ki={class:`text-caption text-kobo-3 q-mt-xs`},Ai={class:`q-mb-md`,"data-tour":`settings-progress-bars`},ji={class:`text-caption text-kobo-3 q-mt-xs`},Mi={class:`settings-subcard q-pa-md`,"aria-labelledby":`settings-claude-title`},Ni={id:`settings-claude-title`,class:`text-subtitle1 text-weight-medium q-mt-none q-mb-md`},Pi={class:`text-subtitle2 q-mb-sm`},Fi={class:`text-subtitle2 q-mb-sm`},Ii={class:`text-caption text-kobo-3 q-mb-sm`},Li={class:`settings-subcard q-pa-md`,"aria-labelledby":`settings-codex-title`},Ri={id:`settings-codex-title`,class:`text-subtitle1 text-weight-medium q-mt-none q-mb-md`},zi={class:`text-subtitle2 q-mb-sm`},Bi={class:`text-subtitle2 q-mb-sm q-mt-md`},Vi={class:`settings-subcard q-pa-md`,"aria-labelledby":`settings-mistral-title`},Hi={id:`settings-mistral-title`,class:`text-subtitle1 text-weight-medium q-mt-none q-mb-md`},Ui={class:`text-subtitle2 q-mb-sm`},Wi={class:`text-caption text-kobo-3 q-mb-sm`},Gi={role:`status`},Ki={class:`text-subtitle2 q-mb-sm q-mt-md`},qi={key:6,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Ji={class:`text-subtitle2 q-mb-sm`},Yi={class:`row items-center q-gutter-lg`},Xi={key:7,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Zi={class:`text-subtitle2 q-mb-xs`},Qi={class:`text-kobo-3 text-caption q-mb-md`},$i={key:0,class:`column q-gutter-sm q-mt-md`},ea={class:`row items-center q-gutter-sm`},ta={class:`text-kobo-2 text-caption`,style:{"min-width":`58px`}},na={class:`text-kobo-2 text-caption`,style:{"min-width":`40px`,"text-align":`right`}},ra={key:0,class:`text-kobo-3 text-caption`},ia={key:8,"data-tour":`settings-card-notifications`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},aa={class:`text-subtitle2 q-mb-sm`},oa={class:`text-kobo-3 text-caption q-mb-md`},sa={class:`notification-sounds-grid q-mt-md`},ca={class:`notification-sound-card q-pa-md rounded-borders`},la={class:`text-subtitle2`},ua={class:`text-kobo-3 text-caption q-mb-sm`},da={class:`column q-gutter-xs q-mb-sm`},fa={class:`row items-center q-gutter-sm q-mb-sm`},pa={class:`row items-center q-gutter-sm`},ma={class:`row items-center q-gutter-sm q-mt-sm`},ha={class:`text-kobo-2 text-caption`,style:{"min-width":`58px`}},ga={class:`text-kobo-2 text-caption`,style:{"min-width":`40px`,"text-align":`right`}},_a={class:`notification-sound-card q-pa-md rounded-borders`},va={class:`text-subtitle2`},ya={class:`text-kobo-3 text-caption q-mb-sm`},ba={class:`row items-center q-gutter-sm`},xa={class:`row items-center q-gutter-sm q-mt-sm`},Sa={class:`text-kobo-2 text-caption`,style:{"min-width":`58px`}},Ca={class:`text-kobo-2 text-caption`,style:{"min-width":`40px`,"text-align":`right`}},wa={class:`notification-sound-card q-pa-md rounded-borders`},Ta={class:`text-subtitle2`},Ea={class:`text-kobo-3 text-caption q-mb-sm`},Da={class:`row items-center q-gutter-sm`},Oa={class:`row items-center q-gutter-sm q-mt-sm`},ka={class:`text-kobo-2 text-caption`,style:{"min-width":`58px`}},Aa={class:`text-kobo-2 text-caption`,style:{"min-width":`40px`,"text-align":`right`}},ja={class:`notification-sound-card q-pa-md rounded-borders`},Ma={class:`text-subtitle2`},Na={class:`text-kobo-3 text-caption q-mb-sm`},Pa={class:`row items-center q-gutter-sm`},Fa={class:`row items-center q-gutter-sm q-mt-sm`},Ia={class:`text-kobo-2 text-caption`,style:{"min-width":`58px`}},La={class:`text-kobo-2 text-caption`,style:{"min-width":`40px`,"text-align":`right`}},Ra={key:9,"data-tour":`settings-card-voice`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},za={class:`row items-center q-mb-sm`},Ba={class:`text-subtitle2`},Va={class:`column q-gutter-xs`},Ha={class:`row items-center q-gutter-sm`},Ua={class:`row items-center q-gutter-sm`},Wa={class:`q-pa-sm text-caption text-kobo-2`},Ga={class:`q-mb-sm`},Ka={class:`q-mb-sm`},qa={href:`https://github.com/ggml-org/whisper.cpp`,target:`_blank`,rel:`noopener noreferrer`,class:`text-kobo-2`},Ja={class:`q-mb-xs text-kobo-2`},Ya={class:`q-mb-sm`},Xa={class:`q-mb-xs text-kobo-2`},Za={key:10,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Qa={class:`text-subtitle2 q-mb-sm`},$a={class:`row q-col-gutter-sm`},eo={class:`col-12 col-sm-6`},to={class:`col-12 col-sm-6`},no={key:11,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ro={class:`text-subtitle2 q-mb-sm`},io={key:0,class:`voice-models-dir row items-center q-gutter-sm q-mb-md`},ao={class:`text-caption text-kobo-2 ellipsis-2-lines`,style:{flex:`1`,"min-width":`0`,"word-break":`break-all`}},oo={class:`column q-gutter-sm`},so={class:`row items-center q-gutter-sm`},co={class:`text-body2 text-kobo-1`,style:{"font-family":`var(--kobo-font-mono, monospace)`}},lo={class:`text-caption text-kobo-3`},uo={key:0,class:`q-mt-sm`},fo={class:`row items-center q-mt-xs`},po={class:`text-caption text-kobo-3`},mo={class:`text-caption text-kobo-2`},ho={key:1,class:`text-caption text-kobo-3 q-mt-xs ellipsis`,style:{"font-family":`var(--kobo-font-mono, monospace)`,"word-break":`break-all`}},go={key:12,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},_o={class:`text-subtitle2 q-mb-sm`},vo={class:`q-pa-sm column q-gutter-sm`},yo={class:`row items-center q-gutter-sm`},bo={class:`text-caption text-kobo-2`},xo={class:`text-caption text-kobo-2`,style:{"min-width":`40px`,"text-align":`right`}},So={class:`text-caption text-kobo-3`},Co={class:`text-caption text-kobo-3`},wo={class:`text-caption text-kobo-3`},To={class:`text-caption text-kobo-3`},Eo={class:`q-pa-sm column q-gutter-sm`},Do={key:13,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`,"data-tour":`settings-card-git`},Oo={class:`row items-center q-mb-sm q-mt-md`},ko={class:`text-subtitle2`},Ao={class:`text-caption text-kobo-3 q-mb-sm`},jo={key:14,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Mo={class:`text-subtitle2 q-mb-sm`},No={class:`text-caption text-kobo-3 q-mb-sm`},Po={class:`row items-center no-wrap`},Fo={key:1,class:`text-caption text-kobo-3 q-mb-sm`},Io={class:`row items-center q-gutter-sm`},Lo={key:15,"data-tour":`settings-card-prompts`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Ro={class:`row items-center q-mb-sm`},zo={class:`text-subtitle2`},Bo={class:`text-caption text-kobo-3 q-mb-sm`},Vo={class:`q-mb-sm`},Ho={class:`row items-center q-mb-sm q-mt-md`},Uo={class:`text-subtitle2`},Wo={class:`text-caption text-kobo-3 q-mb-sm`},Go={class:`row items-center q-mb-sm q-mt-md`},Ko={class:`text-subtitle2`},qo={class:`text-caption text-kobo-3 q-mb-sm`},Jo={class:`row items-center q-mb-sm q-mt-md`},Yo={class:`text-subtitle2`},Xo={class:`text-caption text-kobo-3 q-mb-sm`},Zo={key:16,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Qo={class:`text-subtitle2 q-mb-sm`},$o={class:`text-caption text-kobo-3 q-mb-sm`},es={key:17,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ts={class:`text-subtitle2 q-mb-sm`},ns={class:`text-caption text-kobo-3 q-mb-sm`},rs={key:18,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},is={class:`text-subtitle2 q-mb-sm`},as={class:`text-caption text-kobo-3 q-mb-sm`},os={key:19,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ss={class:`text-subtitle2 q-mb-sm`},cs={class:`text-caption text-kobo-3 q-mb-sm`},ls={class:`q-mb-sm`},us={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},ds={key:21,"data-tour":`settings-card-sentry`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},fs={class:`text-subtitle2 q-mb-sm`},ps={class:`text-caption text-kobo-3 q-mb-sm`},ms={class:`q-mb-sm`},hs={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},gs={key:23,"data-tour":`settings-card-forge`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},_s={class:`text-subtitle2 q-mb-sm`},vs={class:`text-caption text-kobo-3 q-mb-md`},ys={class:`text-subtitle2 q-mb-sm`},bs={class:`text-caption text-kobo-3 q-mb-sm`},xs={class:`q-mb-sm`},Ss={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},Cs={class:`q-mb-sm`},ws={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},Ts={class:`row items-center q-mb-sm`},Es={class:`text-subtitle2`},Ds={class:`text-caption text-kobo-3 q-mb-xs`},Os={class:`text-subtitle2 q-mb-sm`},ks={class:`text-caption text-kobo-3 q-mb-sm`},As={class:`q-mb-sm`},js={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},Ms={class:`q-mb-sm`},Ns={class:`row items-center q-mb-xs`},Ps={class:`field-label-sub text-caption text-kobo-3 col`},Fs=[`src`,`alt`],Is={key:1,class:`text-caption text-kobo-3 q-py-sm`},Ls={key:0,class:`text-caption text-orange-5 q-mb-xs`},Rs={class:`text-subtitle2 q-mb-sm`},zs={class:`row items-center q-mb-sm`},Bs={class:`text-subtitle2`},Vs={class:`text-caption text-kobo-3 q-mb-xs`},Hs={key:27,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Us={class:`text-subtitle2 q-mb-sm`},Ws={class:`text-caption text-kobo-3 q-mb-sm`},Gs={key:28,"data-tour":`settings-card-scripts`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Ks={class:`text-subtitle2 q-mb-sm`},qs={class:`text-caption text-kobo-3 q-mb-sm`},Js={key:29,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Ys={class:`text-subtitle2 q-mb-sm`},Xs={class:`text-caption text-kobo-3 q-mb-sm`},Zs={class:`text-caption text-kobo-3 q-mt-md q-mb-xs`},Qs={key:30,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},$s={class:`text-subtitle2 q-mb-sm`},ec={class:`text-caption text-kobo-3 q-mb-sm`},tc={key:31,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`,"data-tour":`settings-shutdown`},nc={class:`q-mb-md`},rc={class:`text-caption text-kobo-3 q-mt-xs`},ic={class:`text-subtitle2 q-mb-sm`},ac={class:`text-caption text-kobo-3 q-mb-sm`},oc={key:32,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},sc={class:`text-subtitle2 q-mb-sm`},cc={class:`text-caption text-kobo-3 q-mb-sm`},lc={key:33,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},uc={class:`text-subtitle2 q-mb-sm`},dc={class:`text-caption text-kobo-3 q-mb-sm`},fc={key:34,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},pc={class:`text-subtitle2 q-mb-sm`},mc={class:`text-caption text-kobo-3 q-mb-sm`},hc={key:35,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},gc={class:`row items-center justify-between q-mb-sm`},_c={class:`text-subtitle2`},vc={class:`text-caption text-kobo-3 q-mb-xs`},yc={class:`text-caption text-kobo-3 mono-guide q-mb-sm`},bc={key:36,"data-tour":`settings-card-worktrees`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},xc={class:`text-subtitle2 q-mb-sm`},Sc={class:`text-caption text-kobo-3 q-mb-sm`},Cc={class:`text-caption text-kobo-3 q-mt-xs`},wc={"data-tour":`settings-card-worktrees-purge`},Tc={class:`text-caption text-kobo-3 q-mt-xs`},Ec={"data-tour":`settings-card-worktrees-retention`},Dc={class:`text-subtitle2 q-mb-sm`},Oc={class:`text-caption text-negative q-mb-sm`},kc={class:`text-caption text-kobo-3 q-mb-sm`},Ac={key:0,class:`text-caption text-kobo-3 q-mt-sm`},jc={class:`q-pa-sm text-caption text-kobo-2`,style:{"line-height":`1.55`}},Mc={class:`text-weight-medium text-kobo-1 q-mb-xs`},Nc={class:`q-mb-xs`},Pc={class:`purge-docs-code`},Fc={class:`text-kobo-3 q-mb-md`},Ic={class:`text-weight-medium text-kobo-1 q-mb-xs`},Lc={class:`q-mb-xs`},Rc={class:`q-pl-md q-my-xs`},zc={class:`purge-docs-code`},Bc={class:`text-kobo-3 q-mb-md`},Vc={class:`text-weight-medium text-kobo-1 q-mb-xs`},Hc={class:`q-mb-xs`},Uc={class:`q-mb-xs text-kobo-3`},Wc={class:`purge-docs-code`},Gc={class:`q-mb-xs text-kobo-3`},Kc={class:`purge-docs-code`},qc={class:`text-kobo-3`},Jc={key:37,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Yc={class:`text-subtitle2 q-mb-sm`},Xc={class:`text-caption text-kobo-3 q-mb-sm`},Zc={key:1,class:`q-mt-md`},Qc={class:`text-caption text-kobo-3 q-mt-xs`},$c={class:`q-mt-md`},el={class:`text-caption text-kobo-3 q-mb-xs`},tl={class:`q-mt-md`},nl={class:`text-caption text-kobo-3 q-mb-xs`},rl={key:0,class:`text-caption text-kobo-3`},il={key:0,class:`q-mt-md`},al={class:`text-caption text-kobo-3 q-mb-xs`},ol=[`src`,`alt`],sl={key:38,"data-tour":`settings-card-export`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},cl={class:`text-subtitle2 q-mb-sm`},ll={class:`text-caption text-kobo-3 q-mb-sm`},ul={class:`row q-gutter-sm`},dl={key:0,class:`q-pa-none`},fl={class:`row q-gutter-md`,style:{"min-height":`500px`}},pl={class:`project-list-col`},ml={class:`settings-card rounded-borders`,style:{height:`100%`}},hl={class:`q-pa-sm`},gl={class:`text-caption text-uppercase text-weight-bold q-px-sm q-py-xs text-kobo-3`,style:{"letter-spacing":`0.05em`}},_l={key:0,class:`q-pa-md text-center text-caption text-kobo-3`},vl={class:`q-pa-sm`},yl={class:`project-form-col`},bl={class:`settings-card rounded-borders q-pa-lg`,style:{height:`100%`}},xl={class:`row items-center q-mb-md`},Sl={class:`text-subtitle1 text-weight-medium text-kobo-1`},Cl={key:0,class:`q-mb-md`},wl={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Tl={class:`text-caption text-kobo-3 q-mt-xs`},El={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Dl={class:`text-subtitle2 q-mb-md`},Ol={class:`q-mb-md`},kl={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Al={class:`q-mb-md`},jl={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Ml={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Nl={class:`row items-center q-gutter-xs`},Pl={class:`text-caption text-kobo-3 q-mt-xs`},Fl={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Il={class:`text-subtitle2 q-mb-md`},Ll={class:`q-mb-md`},Rl={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},zl={class:`q-mb-md`},Bl={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Vl={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Hl={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`,"data-test":`project-git-settings`},Ul={class:`text-subtitle2 q-mb-md`},Wl={class:`q-mb-md`},Gl={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Kl={class:`text-caption text-kobo-3 q-mb-xs`},ql={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Jl={class:`text-subtitle2 q-mb-md`},Yl={class:`q-mb-md`},Xl={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Zl={class:`text-caption text-kobo-3 q-mb-xs`},Ql={class:`q-mb-md`},$l={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},eu={class:`text-caption text-kobo-3 q-mb-xs`},tu={class:`q-mb-md`},nu={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},ru={class:`text-caption text-kobo-3 q-mb-xs`},iu={key:0,class:`q-mb-md`},au={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},ou={class:`text-caption text-kobo-3 q-mb-xs`},su={key:1,class:`q-mb-md`},cu={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},lu={class:`text-caption text-kobo-3 q-mb-xs`},uu={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},du={class:`text-caption text-kobo-3 q-mt-xs`},fu={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},pu={class:`text-subtitle2 q-mb-md`},mu={class:`q-mb-md`},hu={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},gu={class:`text-caption text-kobo-3 q-mb-xs`},_u={class:`text-caption text-kobo-3 q-mt-xs`},vu={class:`q-mb-md`},yu={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},bu={class:`text-caption text-kobo-3 q-mb-xs`},xu={class:`field-label-sub text-caption q-mt-sm q-mb-xs text-kobo-3`},Su={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Cu={class:`text-caption text-kobo-3 q-mb-xs`},wu={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Tu={class:`text-caption text-kobo-3 q-mb-xs`},Eu={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Du={class:`text-caption text-kobo-3 q-mb-xs`},Ou={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},ku={class:`text-caption text-kobo-3 q-mb-xs`},Au={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},ju={class:`text-caption text-kobo-3 q-mb-xs`},Mu={class:`row items-center justify-between q-mb-xs`},Nu={class:`field-label text-body2 text-weight-medium text-kobo-3`},Pu={class:`text-caption text-kobo-3 q-mb-xs`},Fu={class:`text-caption text-kobo-3 mono-guide q-mb-sm`},Iu={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Lu={class:`text-subtitle2 q-mb-md`},Ru={class:`q-mb-md`},zu={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},Bu={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},Vu={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Hu={class:`text-subtitle2 q-mb-xs`},Uu={class:`text-caption text-kobo-3 q-mb-sm`},Wu={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Gu={class:`text-subtitle2 q-mb-xs`},Ku={class:`text-caption text-kobo-3 q-mb-sm`},qu={key:1,class:`column items-center justify-center`,style:{height:`100%`,"min-height":`300px`}},Ju={class:`text-body2 text-kobo-3`},Yu={key:1,class:`q-pa-none`},Xu={"data-tour":`settings-card-templates`,class:`settings-card rounded-borders q-pa-lg`},Zu={class:`row items-center justify-between q-mb-md`},Qu={class:`text-subtitle1 text-weight-medium text-kobo-1`},$u={class:`row q-gutter-sm items-center`},ed={key:0,class:`text-kobo-3 q-py-lg text-center`},td={key:1,class:`column q-gutter-sm`},nd={class:`row items-start justify-between no-wrap`},rd={class:`col`},id={class:`text-body1 text-weight-medium`,style:{"font-family":`var(--kobo-font-mono)`}},ad={class:`text-caption text-kobo-2 q-mt-xs`},od={class:`row no-wrap q-gutter-xs`},sd={class:`text-caption text-kobo-3 q-mt-lg`,style:{"font-family":`var(--kobo-font-mono)`}},cd={key:2,class:`q-pa-none`},ld={"data-tour":`settings-card-workspaceTemplates`,class:`settings-card rounded-borders q-pa-lg`},ud={class:`text-subtitle1 text-weight-medium text-kobo-1 q-mb-xs`},dd={class:`text-caption text-kobo-3 q-mb-md`},fd={key:0,class:`text-caption text-kobo-3`},pd={class:`row no-wrap q-gutter-xs`},md={class:`mono-guide q-ma-none`},hd={class:`settings-savebar__label`},gd={class:`text-subtitle1`},_d={class:`q-pl-md q-pt-xs`,style:{"font-size":`11px`,"font-family":`var(--kobo-font-mono)`,columns:`2`,"column-gap":`24px`}},vd={key:0,class:`text-negative text-caption`},yd=2500,bd=K(k({__name:`SettingsPage`,setup(t){let r=re(),s=Ye(),c=ge(),d=Bt(),{t:p,locale:y}=tt(),{scheduleAutoRun:w}=dt(),{isMobile:k}=_t(),j=ft(),N=o(`general`),F=o(!1);function te(e){N.value=e,k.value&&(F.value=!1)}function ie(){F.value=!1,j.toggleLeft()}let ae=T(()=>[{value:`general`,icon:`tune`,label:p(`settings.nav.general`)},{value:`agents`,icon:`smart_toy`,label:p(`settings.nav.agents`)},{value:`skills`,icon:`extension`,label:p(`settings.nav.skills`)},{value:`git`,icon:`source`,label:p(`settings.nav.git`)},{value:`prompts`,icon:`text_snippet`,label:p(`settings.nav.prompts`)},{value:`scripts`,icon:`terminal`,label:p(`settings.nav.scripts`)},{value:`notion`,icon:`integration_instructions`,label:p(`settings.nav.notion`)},{value:`sentry`,icon:`bug_report`,label:p(`settings.nav.sentry`)},{value:`forge`,icon:`account_tree`,label:p(`settings.nav.forge`)},{value:`voice`,icon:`mic`,label:p(`settings.nav.voice`)},{value:`notifications`,icon:`notifications`,label:p(`settings.nav.notifications`)},{value:`worktrees`,icon:`account_tree`,label:p(`settings.nav.worktrees`)},{value:`memory`,icon:`psychology`,label:p(`settings.nav.memory`)},{value:`projects`,icon:`folder`,label:p(`settings.projects`)},{value:`templates`,icon:`description`,label:p(`settings.nav.promptTemplates`)},{value:`workspaceTemplates`,icon:`bookmarks`,label:p(`settings.nav.workspaceTemplates`)},{value:`export`,icon:`import_export`,label:p(`settings.nav.export`)}]),oe=qe();u(()=>oe.query.tab,e=>{typeof e==`string`&&ae.value.some(t=>t.value===e)&&te(e)},{immediate:!0});let se=T(()=>ae.value.find(e=>e.value===N.value)?.label??``),ce=T(()=>[`general`,`agents`,`skills`,`prompts`,`git`,`scripts`,`notion`,`sentry`,`forge`,`voice`,`notifications`,`worktrees`,`memory`,`export`].includes(N.value)),le=o(`auto`),ue=o(`auto`),de=o(`auto`),me=o(``),_e=o(``),be=o(``),xe=o(``),we=o(``),ke=o(``),Me=o(``),z=o(``),Ie=o(!1),Re=o(2),ze=T(()=>typeof Re.value==`number`&&Number.isSafeInteger(Re.value)&&Re.value>=0),We=o(5),Ke=o(!1),Xe=o(!1),Qe=o(!0),nt=o(!0),it=o(0),ct=o(!0),lt=o(0),K=o(0),pt=o(`hybrid`),Ot=o(!1),kt=0,At=0,J=o({enabled:!1,token:``,behindProxy:!1,urls:[]}),Ht=o(!1),Ut=o(``);function Wt(e){try{let t=new URL(e),n=window.location.port?`:${window.location.port}`:``;return`${window.location.protocol}//${t.hostname}${n}`}catch{return e}}let Gt=T(()=>J.value.urls.map(Wt));async function Kt(){let e=++At;try{let t=await Ce(`/api/settings/network`);if(!t.ok)throw await Le(t);let n=await t.json();if(e!==At)return;J.value=n,await qt()}catch{if(e!==At)return;r.notify({type:`negative`,message:p(`settings.network.loadFailed`),position:`top`})}}async function qt(){let e=++kt,t=Gt.value[0];if(!t||!J.value.token){Ut.value=``;return}let n=`${t}/#token=${encodeURIComponent(J.value.token)}`;try{let{default:t}=await Ue(async()=>{let{default:e}=await import(`./browser-ogy_9LVv.js`).then(e=>Zt(e.default,1));return{default:e}},[]),r=await t.toDataURL(n,{margin:1,width:200});e===kt&&(Ut.value=r)}catch{e===kt&&(Ut.value=``)}}async function Jt(e){if(!Ot.value){Ot.value=!0,At++;try{let t=await Ce(`/api/settings/network`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(e)});if(!t.ok)throw await Le(t);let n=await t.json();J.value={enabled:n.enabled,token:n.token,behindProxy:n.behindProxy,urls:n.urls},n.enabled&&n.token&&(e.regenerate||e.enabled!==void 0||e.behindProxy!==void 0)&&(await he(n.token)).ok&&Ee(),n.restartRequired&&(Ht.value=!0),await qt()}catch{r.notify({type:`negative`,message:p(`settings.network.updateFailed`),position:`top`}),await Kt()}finally{Ot.value=!1}}}function Yt(e){Jt({enabled:e})}function Xt(e){Jt({behindProxy:e})}function Qt(){r.dialog({title:p(`settings.network.title`),message:p(`settings.network.regenerateConfirm`),cancel:!0,persistent:!0}).onOk(()=>{Jt({regenerate:!0})})}function $t(){pp(J.value.token)}let en=o(!0),tn=o(typeof Notification>`u`?`unsupported`:Notification.permission),nn=o(!0),rn=o(!1),an=o(!1),on=o(!1),cn=o(pe),un=o(ye),dn=o(ye),fn=o(ye),pn=o(1),mn=o(1),hn=o(1),gn=o(1),_n=o({...Ne}),yn=o(``),bn=o(``),xn=o(``),Sn=o(``),Cn=o(!1),wn=o(!0),En=o(!1),Dn=o(st),On=o(1),kn=T(()=>qr(nn.value)),An=T(()=>{switch(tn.value){case`granted`:return{color:`positive`,label:p(`settings.browserNotificationGranted`)};case`denied`:return{color:`negative`,label:p(`settings.browserNotificationDenied`)};case`default`:return{color:`warning`,label:p(`settings.browserNotificationAsk`)};default:return{color:`kobo-3`,label:p(`settings.browserNotificationUnsupported`)}}});async function jn(){typeof Notification>`u`?r.notify({type:`negative`,message:p(`settings.browserNotificationUnsupported`),position:`top`}):(Notification.permission==="default"?tn.value=await Notification.requestPermission():tn.value=Notification.permission,tn.value===`granted`?new Notification(p(`settings.browserNotificationTestTitle`),{body:p(`settings.browserNotificationTestBody`),icon:`/favicon.ico`}):r.notify({type:`warning`,message:p(`settings.browserNotificationPermissionNeeded`),position:`top`}))}let Mn=o(null),Nn=o({});async function Pn(e){Mn.value=e;try{let t=await Ce(`/api/${e}/test`,{method:`POST`}),n=await t.json();Nn.value[e]=t.ok?n:{ok:!1,durationMs:0,detail:n.error??`HTTP ${t.status}`}}catch(t){Nn.value[e]={ok:!1,durationMs:0,detail:t instanceof Error?t.message:String(t)}}finally{Mn.value=null}}let Fn=o([]),In=o(!1),Ln=o(``),Rn=T(()=>Fn.value.map(e=>({label:`${e.name} — ${e.email}`,value:e.id,name:e.name,email:e.email,avatarUrl:e.avatarUrl})));async function zn(e=!1){if(!In.value&&!(!e&&Fn.value.length>0)){In.value=!0,Ln.value=``;try{let e=await Ce(`/api/notion/users`),t=await e.json().catch(()=>({}));if(!e.ok)throw Error(t.error??`HTTP ${e.status}`);Fn.value=Array.isArray(t.users)?t.users:[]}catch(e){Ln.value=e instanceof Error?e.message:String(e),Fn.value=[]}finally{In.value=!1}}}let Bn=o(``),Vn=o(``),Y=o(null),Un=o(`bypass`),Wn=o(`bypass`),Gn=o(`interactive`),Kn=o(``),qn=o(``),Jn=o(``),Yn=o(``),Xn=o(!0),Zn=o(!0),Qn=o([]),X=o([]),$n=o(``),er=o(``),tr=o(``),nr=o(`no-tasks`),rr=o(!1),ir=o(``),ar=o(``),or=o(``),sr=o(``),cr=o(``),lr=o(``),ur=o(``),dr=o(!1);function fr(e){$.value.path=e}let pr=T(()=>[{label:p(`settings.cleanupScriptMode.inherit`),value:``},{label:p(`settings.cleanupScriptMode.idle`),value:`idle`},{label:p(`settings.cleanupScriptMode.noTasks`),value:`no-tasks`}]),mr=o(De),hr=o(null),gr=o(!0);function _r(e){let t=e.trim().replace(/^\/+|\/+$/g,``);return t.length===0||t.length>50||!/^[A-Za-z0-9._/-]+$/.test(t)||t.includes(`..`)?``:t}function vr(){let e=_r($n.value);e&&!X.value.includes(e)&&(X.value.push(e),$n.value=``)}function yr(e){X.value.splice(e,1)}function xr(e,t){let n=_r(t);if(!n)return;let r=X.value.indexOf(n);(r===-1||r===e)&&(X.value[e]=n)}function Sr(e,t){let n=e+t;if(n<0||n>=X.value.length)return;let r=X.value;[r[e],r[n]]=[r[n],r[e]]}let Cr=o(!1),wr=o(`standard`),Tr=T(()=>{switch(wr.value){case`standard`:return`settings.skillSuite.standardHint`;case`gstack`:return`settings.skillSuite.gstackHint`;case`ecc`:return`settings.skillSuite.eccHint`;case`superpowers+gstack`:return`settings.skillSuite.superpowersGstackHint`;case`superpowers+gstack+ecc`:return`settings.skillSuite.allThreeHint`;case`custom`:return`settings.skillSuite.customHint`;default:return`settings.skillSuite.superpowersHint`}}),Er=o(``),Dr=o(``),kr=o(``),Ar=o(``),jr=o(``),Mr=o(null),Nr=T(()=>[{value:`custom`,label:p(`settings.skillSuite.agnostic`)},{value:`superpowers`,label:p(`settings.skillSuite.superpowers`)},{value:`gstack`,label:p(`settings.skillSuite.gstack`)},{value:`ecc`,label:p(`settings.skillSuite.ecc`)},{value:`superpowers+gstack`,label:p(`settings.skillSuite.superpowersGstack`)},{value:`superpowers+gstack+ecc`,label:p(`settings.skillSuite.allThree`)}]);async function Fr(e,t){Mr.value=e;try{let n=await Ce(`/api/settings/skill-suite-prompts/${t}`);if(!n.ok)throw Error(await n.text());let i=await n.json(),a={reviewTemplate:Er,autoLoopReviewGate:Dr,autoLoopGroomingIntro:kr,qaPromptTemplate:Ar,brainstormingInstruction:jr};a[e].value=i[e],r.notify({type:`positive`,message:p(`settings.skillSuite.imported`),position:`top`})}catch(e){r.notify({type:`negative`,message:`${p(`settings.skillSuite.importFailed`)}: ${String(e)}`,position:`top`})}finally{Mr.value=null}}let Ir=o(!1),Lr=o(`alt`),Rr=o(`auto`),zr=o(null),Br=o(``),Hr=o(``),Ur=o(0),Gr=o(``),bd=o(!1),xd=o(!0),Sd=o(null),Cd=o(!1);function wd(){r.dialog({title:p(`settings.skillSuite.reloadDefaults`),message:p(`settings.skillSuite.reloadDefaultsConfirm`),cancel:!0,persistent:!0,dark:!0}).onOk(()=>{Er.value=Et,Dr.value=wt,kr.value=St,Ar.value=bt,jr.value=yt})}function Td(e){let t=e===`global`?lr.value:$.value.changeSourceBranchScript,n=()=>{e===`global`?lr.value=ur.value:$.value.changeSourceBranchScript=ur.value};!t.trim()||t===ur.value?n():r.dialog({title:p(`settings.changeSourceBranchScript.replaceConfirmTitle`),message:p(`settings.changeSourceBranchScript.replaceConfirm`),cancel:!0,persistent:!0,dark:!0}).onOk(n)}function Ed(e){return!e||e===`tiny`||e===`base`?.1:.2}let Dd=[e=>e.trim().length>0||p(`settings.worktreesPathRequired`)],Od=o(!1),kd=o(Te()),Ad=o({notion:{configured:!1},sentry:{configured:!1}}),jd=o({notion:{command:``,args:``,environment:``},sentry:{command:``,args:``,environment:``}}),Md=T(()=>Object.values(jd.value).some(e=>e.command!==``||e.args!==``||e.environment!==``)),Nd=o(-1),Q=o(!1),$=o({workflowPolicy:{},path:``,displayName:``,color:null,defaultSourceBranch:``,defaultModel:``,forge:`auto`,prPromptTemplate:``,reviewPromptTemplate:``,ciFixPromptTemplate:``,notionInitialPromptTemplate:``,sentryInitialPromptTemplate:``,gitConventions:``,setupScript:``,taskPromptTemplate:``,cleanupScript:``,cleanupScriptMode:``,archiveScript:``,changeSourceBranchScript:``,sessionEndedScript:``,shutdownScript:``,prMergedScript:``,autoLoopDisabledScript:``,devServer:{startCommand:``,stopCommand:``},e2e:{framework:``,skill:``,prompt:``},finalization:{prompt:``}}),Pd=[`workflowPolicy`,`defaultModel`,`forge`,`prPromptTemplate`,`reviewPromptTemplate`,`ciFixPromptTemplate`,`notionInitialPromptTemplate`,`sentryInitialPromptTemplate`,`gitConventions`,`setupScript`,`taskPromptTemplate`,`cleanupScript`,`cleanupScriptMode`,`archiveScript`,`changeSourceBranchScript`,`sessionEndedScript`,`shutdownScript`,`prMergedScript`,`autoLoopDisabledScript`,`devServer`,`e2e`,`finalization`],Fd=o(null),Id=o(null),Ld=T(()=>s.projects.map(e=>({value:e.path,label:vp(e)||e.path})));function Rd(e){let t=s.projects.find(t=>t.path===e);t&&($.value.workflowPolicy={...t.workflowPolicy},$.value.defaultModel=t.defaultModel??``,$.value.forge=t.forge??`auto`,$.value.prPromptTemplate=t.prPromptTemplate??``,$.value.reviewPromptTemplate=t.reviewPromptTemplate??``,$.value.ciFixPromptTemplate=t.ciFixPromptTemplate??``,$.value.notionInitialPromptTemplate=t.notionInitialPromptTemplate??``,$.value.sentryInitialPromptTemplate=t.sentryInitialPromptTemplate??``,$.value.gitConventions=t.gitConventions??``,$.value.setupScript=t.setupScript??``,$.value.devServer={startCommand:t.devServer?.startCommand??``,stopCommand:t.devServer?.stopCommand??``},$.value.e2e={framework:t.e2e?.framework??``,skill:t.e2e?.skill??``,prompt:t.e2e?.prompt??``},$.value.finalization={prompt:t.finalization?.prompt??``})}function zd(){let e={workflowPolicy:{},defaultModel:``,forge:`auto`,prPromptTemplate:``,reviewPromptTemplate:``,notionInitialPromptTemplate:``,sentryInitialPromptTemplate:``,gitConventions:``,setupScript:``,taskPromptTemplate:``,cleanupScript:``,cleanupScriptMode:``,archiveScript:``,changeSourceBranchScript:``,sessionEndedScript:``,shutdownScript:``,prMergedScript:``,autoLoopDisabledScript:``,devServer:{startCommand:``,stopCommand:``},e2e:{framework:``,skill:``,prompt:``},finalization:{prompt:``}};return Pd.every(t=>JSON.stringify($.value[t])===JSON.stringify(e[t]))}function Bd(e){if(e===null){Fd.value=null,Id.value=null;return}if(Id.value===null&&zd()){Rd(e),Fd.value=e,Id.value=e;return}let t=s.projects.find(t=>t.path===e),n=t&&vp(t)||e;r.dialog({title:p(`settings.copyFromConfirmTitle`),message:p(`settings.copyFromConfirm`,{project:n}),cancel:!0,persistent:!0,dark:!0}).onOk(()=>{Rd(e),Fd.value=e,Id.value=e}).onCancel(()=>{Fd.value=Id.value})}let Vd=o([]),Hd=o([]);async function Ud(){try{let e=await Ce(`/api/skills`);e.ok&&(Vd.value=await e.json())}catch{}}function Wd(e,t){t(()=>{let t=e.trim().toLowerCase();Hd.value=t?Vd.value.filter(e=>e.toLowerCase().includes(t)):Vd.value.slice()})}let Gd=o([]),Kd=o(!1),qd=o(!1),Jd=o(!1),Yd=o(!1),Xd=o(null),Zd=o(``),Qd=o(``),$d=o(``),ef=o(``),tf=o(!1),nf=o(!1),rf=T(()=>[...c.templates].sort((e,t)=>e.slug.localeCompare(t.slug))),af=[`{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 of(){Xd.value=null,Zd.value=``,Qd.value=``,$d.value=``,ef.value=``,Yd.value=!0}function sf(e){Xd.value=e.slug,Zd.value=e.slug,Qd.value=e.description,$d.value=e.content,ef.value=``,Yd.value=!0}async function cf(){ef.value=``;let e=Zd.value.trim(),t=Qd.value.trim();if(Xd.value===null&&!/^[a-z0-9][a-z0-9-]{0,63}$/.test(e))ef.value=p(`templates.slugInvalid`);else if(!t)ef.value=p(`templates.descriptionRequired`);else if(!$d.value.trim())ef.value=p(`templates.contentRequired`);else{tf.value=!0;try{Xd.value===null?await c.createTemplate({slug:e,description:t,content:$d.value}):await c.updateTemplate(Xd.value,{description:t,content:$d.value}),Yd.value=!1}catch(e){ef.value=e instanceof Error?e.message:p(`templates.createFailed`)}finally{tf.value=!1}}}function lf(){r.dialog({title:p(`templates.reloadDefaults`),message:p(`templates.reloadDefaultsConfirmMessage`),dark:!0,cancel:{flat:!0,label:p(`common.cancel`),color:`kobo-2`},ok:{flat:!0,label:p(`templates.reloadDefaults`),color:`primary`}}).onOk(async()=>{nf.value=!0;try{let e=await c.reloadDefaults();r.notify({type:`positive`,message:p(`templates.reloadDefaultsSuccess`,{added:e.added.length,kept:e.kept.length}),position:`top`,timeout:4e3})}catch(e){r.notify({type:`negative`,message:e instanceof Error?e.message:p(`templates.reloadDefaultsFailed`),position:`top`})}finally{nf.value=!1}})}async function uf(e){r.dialog({title:p(`templates.deleteTemplate`),message:`${p(`templates.deleteConfirm`,{slug:e.slug})}\n\n${p(`templates.deleteConfirmMessage`)}`,dark:!0,cancel:{flat:!0,label:p(`common.cancel`),color:`kobo-2`},ok:{flat:!0,label:p(`templates.deleteTemplate`),color:`red-5`}}).onOk(async()=>{try{await c.deleteTemplate(e.slug)}catch(e){r.notify({type:`negative`,message:e instanceof Error?e.message:p(`templates.deleteFailed`),position:`top`})}})}function df(e){let t=new Date(e);return Number.isNaN(t.getTime())?`-`:t.toLocaleDateString()}function ff(e,t){r.dialog({title:p(`workspaceTemplates.renameTitle`),dark:!0,prompt:{model:t,type:`text`,outlined:!0,dense:!0,isValid:e=>e.trim().length>0},cancel:!0,persistent:!0}).onOk(async t=>{try{await d.updateTemplate(e,{name:t})}catch(e){r.notify({type:`negative`,message:e instanceof Error?e.message:p(`settings.saveError`),position:`top`})}})}function pf(e,t){r.dialog({title:p(`workspaceTemplates.title`),message:p(`workspaceTemplates.deleteConfirm`,{name:t}),dark:!0,cancel:!0,persistent:!0}).onOk(async()=>{try{await d.deleteTemplate(e),r.notify({type:`positive`,message:p(`workspaceTemplates.deleted`,{name:t}),position:`top`})}catch(e){r.notify({type:`negative`,message:e instanceof Error?e.message:p(`settings.saveError`),position:`top`})}})}function mf(e){r.dialog({title:p(`templates.resetConfirmTitle`),message:p(`templates.resetConfirmMessage`,{slug:e.slug}),dark:!0,cancel:{flat:!0,label:p(`common.cancel`),color:`kobo-2`},ok:{flat:!0,label:p(`templates.resetToDefault`),color:`primary`}}).onOk(async()=>{try{await c.resetToDefault(e.slug),r.notify({type:`positive`,message:p(`templates.resetSuccess`,{slug:e.slug}),position:`top`})}catch(e){r.notify({type:`negative`,message:e instanceof Error?e.message:p(`templates.resetFailed`),position:`top`})}})}let hf=[{label:`English`,value:`en`},{label:`Français`,value:`fr`},{label:`Deutsch`,value:`de`},{label:`Español`,value:`es`},{label:`Italiano`,value:`it`}];function gf(e){fe(e).catch(e=>{console.error(`[i18n] locale load failed:`,e),r.notify({type:`negative`,message:p(`settings.localeLoadFailed`),position:`top`})}),localStorage.setItem(`kobo:locale`,e)}let _f=T(()=>[...Ct.map(e=>({label:p(e.i18nLabelKey),value:e.value}))]),vf=T(()=>[...xt.map(e=>({label:p(e.i18nLabelKey),value:e.value}))]),yf=vt(()=>({engine:`mistral-vibe`,model:de.value,agentPermissionMode:Gn.value})),bf=T(()=>yf.models),xf=T(()=>Tt[`mistral-vibe`].map(e=>({label:p(`agentPermissionMode.${e}`),value:e}))),Sf=T(()=>[{label:p(`settings.useGlobal`),value:``},..._f.value]),Cf=T(()=>[{label:p(`settings.forge.auto`),value:`auto`},{label:p(`settings.forge.github`),value:`github`},{label:p(`settings.forge.gitlab`),value:`gitlab`},{label:p(`settings.forge.bitbucketCommunity`),value:`bitbucket-community`},{label:p(`settings.forge.none`),value:`none`}]),wf=T(()=>Tt[`claude-code`].map(e=>({label:p(`agentPermissionMode.${e}`),value:e}))),Tf=T(()=>Tt.codex.map(e=>({label:p(`agentPermissionMode.${e}`),value:e}))),Ef=T(()=>[{name:`{{pr_number}}`,description:p(`settings.var.prNumber`)},{name:`{{pr_url}}`,description:p(`settings.var.prUrl`)},{name:`{{branch_name}}`,description:p(`settings.var.branchName`)},{name:`{{source_branch}}`,description:p(`settings.var.sourceBranch`)},{name:`{{workspace_name}}`,description:p(`settings.var.workspaceName`)},{name:`{{project_name}}`,description:p(`settings.var.projectName`)},{name:`{{notion_url}}`,description:p(`settings.var.notionUrl`)},{name:`{{commits}}`,description:p(`settings.var.commits`)},{name:`{{diff_stats}}`,description:p(`settings.var.diffStats`)},{name:`{{tasks}}`,description:p(`settings.var.tasks`)},{name:`{{acceptance_criteria}}`,description:p(`settings.var.acceptanceCriteria`)}]),Df=T(()=>[{label:p(`settings.mcpAutoSelect`),value:``},...s.activeMcpServers.map(e=>({label:e.key,value:e.key}))]),Of=Nt(),kf=T(()=>[...je.map(e=>({label:p(e.labelKey),value:e.id})),...Of.options]),Af=T(()=>[{label:p(`settings.soundGeneral`),value:ye},...kf.value]),jf=T(()=>[{label:p(`voice.noneModel`),value:null}].concat(s.voiceModels.map(e=>({label:e.installed?`${e.name}`:`${e.name} (${p(`voice.notInstalled`)})`,value:e.name})))),Mf=[{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 Nf(){Be(cn.value,pn.value)}function Pf(){Be(un.value,mn.value)}function Ff(){Be(dn.value,hn.value)}function If(){Be(fn.value,gn.value)}let Lf=T(()=>Nd.value<0||Nd.value>=s.projects.length?null:s.projects[Nd.value]??null),Rf=o(Hf()),zf=o({});function Bf(){return{workflowPolicy:kd.value,claudeModel:le.value,codexModel:ue.value,mistralModel:de.value,prPrompt:me.value,reviewPrompt:_e.value,ciFixPrompt:be.value,finalizationPrompt:xe.value,gitConventions:we.value,editorCommand:ke.value,fileManagerCommand:Me.value,terminalCommand:z.value,autoPurgeOnPrMerged:Ie.value,maxConcurrentAgents:Re.value,autoLoopMaxRetries:We.value,agentWatchdogEnabled:Ke.value,forceImmediateMessages:Xe.value,showProgressBars:Qe.value,stopDevServersOnShutdown:nt.value,awaitingUserReminderMinutes:it.value,activityDigestEnabled:ct.value,wsEventsRetentionDays:lt.value,wsEventsKeepPerWorkspace:K.value,browserNotifications:en.value,audioNotifications:nn.value,audioQuestionNotifications:rn.value,audioWorkspaceCreatedNotifications:an.value,audioAgentErrorNotifications:on.value,audioNotificationSound:cn.value,audioQuestionSound:un.value,audioWorkspaceCreatedSound:dn.value,audioAgentErrorSound:fn.value,audioNotificationVolume:pn.value,audioQuestionVolume:mn.value,audioWorkspaceCreatedVolume:hn.value,audioAgentErrorVolume:gn.value,prNotificationSounds:_n.value,notionStatusProperty:yn.value,notionStatus:bn.value,notionAssigneeProperty:xn.value,notionUserId:Sn.value,notionInitialPrompt:Bn.value,sentryInitialPrompt:Vn.value,claudePermissionMode:Un.value,codexPermissionMode:Wn.value,mistralPermissionMode:Gn.value,notionMcpKey:Kn.value,sentryMcpKey:qn.value,bitbucketToken:Jn.value,bitbucketUsername:Yn.value,notionEnabled:Xn.value,sentryEnabled:Zn.value,showVerboseSystemMessages:Cn.value,showThinkingBlocks:wn.value,whipEnabled:En.value,whipShortcut:Dn.value,whipVolume:On.value,tags:Qn.value,branchPrefixes:X.value,setupScript:er.value,cleanupScript:tr.value,cleanupScriptMode:nr.value,cleanupScriptOnlyOnChanges:rr.value,archiveScript:ir.value,changeSourceBranchScript:lr.value,sessionEndedScript:ar.value,shutdownScript:or.value,prMergedScript:sr.value,autoLoopDisabledScript:cr.value,worktreesPath:mr.value,worktreesPrefixByProject:gr.value,flattenWorkspaceList:Cr.value,memoryMode:pt.value,skillSuite:wr.value,customReviewTemplate:Er.value,customAutoLoopReviewGate:Dr.value,customAutoLoopGroomingIntro:kr.value,customQaPromptTemplate:Ar.value,customBrainstormingInstruction:jr.value,voiceEnabled:Ir.value,voicePttKey:Lr.value,voiceLanguage:Rr.value,voiceModel:zr.value,voiceCommandPath:Br.value,voiceFfmpegPath:Hr.value,voiceTemperature:Ur.value,voicePrompt:Gr.value,voiceTranslateToEnglish:bd.value,voiceSuppressNst:xd.value}}function Vf(){return{...$.value}}function Hf(){return Kr(Bf())}function Uf(){return Kr(Vf())}let Wf=T(()=>!Wr(Bf(),Rf.value)),Gf=T(()=>!Wr(Vf(),zf.value)),Kf=T(()=>s.loadError?!1:Wf.value?!0:Gf.value&&(Lf.value!==null||Q.value)),qf=T(()=>Gf.value&&(Lf.value!==null||Q.value)?qd.value:Od.value);function Jf(){Gf.value&&(Lf.value!==null||Q.value)?mp():ap()}function Yf(){kd.value=Te(s.global.workflowPolicy),Cd.value=!0;let e=s.global.defaultModelByEngine??{};le.value=e[`claude-code`]??`auto`,ue.value=e.codex??`auto`,de.value=e[`mistral-vibe`]??`auto`,me.value=s.global.prPromptTemplate,_e.value=s.global.reviewPromptTemplate??``,be.value=s.global.ciFixPromptTemplate??``,xe.value=s.global.finalizationPrompt??``,we.value=s.global.gitConventions,ke.value=s.global.editorCommand??``,Me.value=s.global.fileManagerCommand??``,z.value=s.global.terminalCommand??``,Ie.value=s.global.autoPurgeOnPrMerged??!1,Re.value=s.global.maxConcurrentAgents??2,We.value=s.global.autoLoopMaxRetries??5,Ke.value=s.global.agentWatchdogEnabled===!0,Xe.value=s.global.forceImmediateMessages===!0,Qe.value=s.global.showProgressBars!==!1,nt.value=s.global.stopDevServersOnShutdown!==!1,it.value=s.global.awaitingUserReminderMinutes??0,ct.value=s.global.activityDigestEnabled??!0,lt.value=s.global.wsEventsRetentionDays??0,K.value=s.global.wsEventsKeepPerWorkspace??0,en.value=s.global.browserNotifications??!0,nn.value=s.global.audioNotifications??!0,rn.value=s.global.audioQuestionNotifications??!1,an.value=s.global.audioWorkspaceCreatedNotifications??!1,on.value=s.global.audioAgentErrorNotifications??!1,cn.value=Fe(s.global.audioNotificationSound),un.value=Se(s.global.audioQuestionSound),dn.value=Se(s.global.audioWorkspaceCreatedSound),fn.value=Se(s.global.audioAgentErrorSound);let t=Object.fromEntries(ve.map(e=>[e,Se(s.global[e])])),n=Object.fromEntries(Pe.map(e=>{let t=s.global[e];if(e.endsWith(`Enabled`))return[e,typeof t==`boolean`&&t];let n=Number(t);return[e,Number.isFinite(n)?Math.max(0,Math.min(1,n)):1]}));_n.value={...t,...n};let r=s.global.audioNotificationVolume;pn.value=typeof r==`number`&&Number.isFinite(r)?Math.max(0,Math.min(1,r)):1;let i=s.global.audioQuestionVolume;mn.value=typeof i==`number`&&Number.isFinite(i)?Math.max(0,Math.min(1,i)):1;let a=s.global.audioWorkspaceCreatedVolume;hn.value=typeof a==`number`&&Number.isFinite(a)?Math.max(0,Math.min(1,a)):1;let o=s.global.audioAgentErrorVolume;gn.value=typeof o==`number`&&Number.isFinite(o)?Math.max(0,Math.min(1,o)):1,yn.value=s.global.notionStatusProperty??``,bn.value=s.global.notionInProgressStatus??``,xn.value=s.global.notionAssigneeProperty??``,Sn.value=s.global.notionUserId??``,Bn.value=s.global.notionInitialPromptTemplate??``,Vn.value=s.global.sentryInitialPromptTemplate??``;{let e=s.global.defaultPermissionModeByEngine??{},t=e=>e===`plan`||e===`bypass`||e===`strict`||e===`interactive`,n=e[`claude-code`];Un.value=t(n)?n:`bypass`;let r=e[`mistral-vibe`];Gn.value=t(r)?r:`interactive`;let i=e.codex;Wn.value=t(i)?i:`bypass`}Kn.value=s.global.notionMcpKey??``,qn.value=s.global.sentryMcpKey??``,Jn.value=s.global.bitbucketToken??``,Yn.value=s.global.bitbucketUsername??``,Xn.value=s.global.notionEnabled??!0,Zn.value=s.global.sentryEnabled??!0,Cn.value=s.showVerboseSystemMessages,wn.value=s.global.showThinkingBlocks??!0,En.value=s.global.whipEnabled??!1,Dn.value=s.global.whipShortcut??`mod+shift+x`,On.value=s.global.whipVolume??1,Qn.value=Array.isArray(s.global.tags)?[...s.global.tags]:[],X.value=Array.isArray(s.global.branchPrefixes)?[...s.global.branchPrefixes]:[],er.value=s.global.setupScript??``,tr.value=s.global.cleanupScript??``,nr.value=s.global.cleanupScriptMode===`idle`?`idle`:`no-tasks`,rr.value=s.global.cleanupScriptOnlyOnChanges??!1,ir.value=s.global.archiveScript??``,ar.value=s.global.sessionEndedScript??``,or.value=s.global.shutdownScript??``,sr.value=s.global.prMergedScript??``,cr.value=s.global.autoLoopDisabledScript??``,lr.value=s.global.changeSourceBranchScript??``,mr.value=s.global.worktreesPath??`.worktrees`,gr.value=s.global.worktreesPrefixByProject??!1,Cr.value=s.global.flattenWorkspaceList??!1,pt.value=s.global.memoryMode??`hybrid`,wr.value=s.global.skillSuite??`standard`,Er.value=s.global.customReviewTemplate??``,Dr.value=s.global.customAutoLoopReviewGate??``,kr.value=s.global.customAutoLoopGroomingIntro??``,Ar.value=s.global.customQaPromptTemplate??``,jr.value=s.global.customBrainstormingInstruction??``,Ir.value=s.global.voiceEnabled??!1,Lr.value=s.global.voicePttKey===`ctrl+space`?`ctrl+space`:`alt`,Rr.value=s.global.voiceLanguage??`auto`,zr.value=s.global.voiceModel??null,Br.value=s.global.voiceCommandPath??``,Hr.value=s.global.voiceFfmpegPath??``,Ur.value=typeof s.global.voiceTemperature==`number`?s.global.voiceTemperature:0,Gr.value=s.global.voicePrompt??``,bd.value=s.global.voiceTranslateToEnglish??!1,xd.value=s.global.voiceSuppressNonSpeechTokens??!0,Cd.value=!1,Rf.value=Hf()}u(()=>zr.value,(e,t)=>{Cd.value||e!==t&&(Ur.value=Ed(e))});function Xf(e){e?($.value={workflowPolicy:{...e.workflowPolicy},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??``,sessionEndedScript:e.sessionEndedScript??``,shutdownScript:e.shutdownScript??``,prMergedScript:e.prMergedScript??``,autoLoopDisabledScript:e.autoLoopDisabledScript??``,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??``}},zf.value=Uf(),e.path&&Zf(e.path)):($.value={workflowPolicy:{},path:``,displayName:``,color:null,defaultSourceBranch:``,defaultModel:``,forge:`auto`,prPromptTemplate:``,reviewPromptTemplate:``,ciFixPromptTemplate:``,notionInitialPromptTemplate:``,sentryInitialPromptTemplate:``,gitConventions:``,setupScript:``,taskPromptTemplate:``,cleanupScript:``,cleanupScriptMode:``,archiveScript:``,changeSourceBranchScript:``,sessionEndedScript:``,shutdownScript:``,prMergedScript:``,autoLoopDisabledScript:``,devServer:{startCommand:``,stopCommand:``},e2e:{framework:``,skill:``,prompt:``},finalization:{prompt:``}},Gd.value=[],zf.value=Uf())}async function Zf(e){if(!e.trim())Gd.value=[];else{Kd.value=!0;try{let t=await Ce(`/api/git/branches?path=${encodeURIComponent(e.trim())}`);if(!t.ok)throw await Le(t);let n=await t.json();Gd.value=n.local??n.branches??[]}catch{Gd.value=[]}finally{Kd.value=!1}}}let Qf=null;u(()=>$.value.path,e=>{Qf&&clearTimeout(Qf),Qf=setTimeout(()=>{Zf(e)},500)}),u(Nd,()=>{Q.value=!1,Xf(Lf.value)});let $f=o(null);async function ep(){try{let e=await Ce(`/api/settings/export`);if(!e.ok)throw await Le(e);let t=await e.json(),n=new Blob([JSON.stringify(t,null,2)],{type:`application/json`}),i=URL.createObjectURL(n),a=document.createElement(`a`);a.href=i,a.download=`kobo-config-${new Date().toISOString().replace(/[:.]/g,`-`)}.json`,a.click(),URL.revokeObjectURL(i),r.notify({type:`positive`,message:p(`settings.exportSuccess`),position:`top`,timeout:3e3})}catch(e){r.notify({type:`negative`,message:String(e),position:`top`,timeout:0})}}function tp(){$f.value?.click()}async function np(e){let t=e.target,n=t.files?.[0];if(n)try{r.dialog({title:p(`settings.importConfirmTitle`),message:p(`settings.importConfirmMessage`),cancel:!0,persistent:!0,dark:!0}).onOk(async()=>{try{let e=await n.text(),t=JSON.parse(e),i=await $e(`/api/settings/import`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)});if(!i.ok){let e=await i.json().catch(()=>({}));throw Error(e.error??`HTTP ${i.status}`)}await s.fetchSettings(),Yf(),r.notify({type:`positive`,message:p(`settings.importSuccess`),position:`top`,timeout:3e3})}catch(e){r.notify({type:`negative`,message:String(e),position:`top`,timeout:0})}})}finally{t.value=``}}async function rp(e){if(Y.value===null){Y.value=e;try{let t=await s.fetchGlobalDefaults(),n={prPromptTemplate:me,reviewPromptTemplate:_e,ciFixPromptTemplate:be,finalizationPrompt:xe,gitConventions:we,notionInitialPromptTemplate:Bn,sentryInitialPromptTemplate:Vn};n[e].value=t[e]}catch(e){console.error(`[SettingsPage] resetFieldToDefault failed:`,e),r.notify({type:`negative`,message:p(`settings.resetFailed`),position:`top`})}finally{Y.value=null}}}async function ip(){let e=e=>e===0?1/0:e,t=s.global.wsEventsRetentionDays??0,n=lt.value;if(e(n)>=e(t))return!0;let i=p(`settings.retentionConfirmMessageUnknown`,{days:n});try{let e=await s.previewRetention(n,K.value);i=p(`settings.retentionConfirmMessage`,{days:n,count:e.deletable,total:e.total})}catch(e){console.error(`[SettingsPage] retention preview failed:`,e)}return await new Promise(e=>{r.dialog({title:p(`settings.retentionConfirmTitle`),message:i,cancel:!0,persistent:!0,dark:!0}).onOk(()=>e(!0)).onCancel(()=>e(!1)).onDismiss(()=>e(!1))})}async function ap(){if(!ze.value)r.notify({type:`negative`,message:p(`settings.maxConcurrentAgentsInvalid`)});else if(await hr.value?.validate()!==!1&&await ip()){Od.value=!0;try{await s.updateGlobal({workflowPolicy:Te(kd.value),defaultModelByEngine:{...s.global.defaultModelByEngine,"mistral-vibe":de.value,"claude-code":le.value,codex:ue.value},prPromptTemplate:me.value,reviewPromptTemplate:_e.value,ciFixPromptTemplate:be.value,finalizationPrompt:xe.value,gitConventions:we.value,editorCommand:ke.value,fileManagerCommand:Me.value,terminalCommand:z.value,autoPurgeOnPrMerged:Ie.value,maxConcurrentAgents:Re.value,autoLoopMaxRetries:We.value,agentWatchdogEnabled:Ke.value,forceImmediateMessages:Xe.value,showProgressBars:Qe.value,stopDevServersOnShutdown:nt.value,awaitingUserReminderMinutes:it.value,activityDigestEnabled:ct.value,wsEventsRetentionDays:lt.value,wsEventsKeepPerWorkspace:K.value,browserNotifications:en.value,audioNotifications:nn.value,audioQuestionNotifications:rn.value,audioWorkspaceCreatedNotifications:an.value,audioAgentErrorNotifications:on.value,audioNotificationSound:cn.value,audioQuestionSound:un.value,audioWorkspaceCreatedSound:dn.value,audioAgentErrorSound:fn.value,audioNotificationVolume:pn.value,audioQuestionVolume:mn.value,audioWorkspaceCreatedVolume:hn.value,audioAgentErrorVolume:gn.value,..._n.value,notionStatusProperty:yn.value,notionInProgressStatus:bn.value,notionAssigneeProperty:xn.value,notionUserId:Sn.value,notionInitialPromptTemplate:Bn.value,sentryInitialPromptTemplate:Vn.value,defaultPermissionModeByEngine:{...s.global.defaultPermissionModeByEngine,"mistral-vibe":Gn.value,"claude-code":Un.value,codex:Wn.value},notionMcpKey:Kn.value,sentryMcpKey:qn.value,bitbucketToken:Jn.value,bitbucketUsername:Yn.value,notionEnabled:Xn.value,sentryEnabled:Zn.value,showThinkingBlocks:wn.value,whipEnabled:En.value,whipShortcut:Dn.value,whipVolume:On.value,tags:Qn.value,branchPrefixes:X.value,setupScript:er.value,cleanupScript:tr.value,cleanupScriptMode:nr.value,cleanupScriptOnlyOnChanges:rr.value,archiveScript:ir.value,changeSourceBranchScript:lr.value,sessionEndedScript:ar.value,shutdownScript:or.value,prMergedScript:sr.value,autoLoopDisabledScript:cr.value,worktreesPath:mr.value,worktreesPrefixByProject:gr.value,flattenWorkspaceList:Cr.value,memoryMode:pt.value,skillSuite:wr.value,customReviewTemplate:Er.value,customAutoLoopReviewGate:Dr.value,customAutoLoopGroomingIntro:kr.value,customQaPromptTemplate:Ar.value,customBrainstormingInstruction:jr.value,voiceEnabled:Ir.value,voicePttKey:Lr.value,voiceLanguage:Rr.value,voiceModel:zr.value,voiceCommandPath:Br.value.trim(),voiceFfmpegPath:Hr.value.trim(),voiceTemperature:Ur.value,voicePrompt:Gr.value,voiceTranslateToEnglish:bd.value,voiceSuppressNonSpeechTokens:xd.value}),s.setVerboseSystemMessages(Cn.value),Rf.value=Hf(),r.notify({type:`positive`,message:p(`settings.saved`),position:`top`})}catch{r.notify({type:`negative`,message:p(`settings.saveError`),position:`top`})}finally{Od.value=!1}}}async function op(e){Sd.value=e,dp();try{await s.downloadVoiceModel(e)}catch{r.notify({type:`negative`,message:p(`voice.downloadFailed`),position:`top`})}finally{Sd.value=null,fp()}}async function sp(e){Sd.value=e;try{await s.deleteVoiceModel(e),zr.value===e&&(zr.value=null)}catch{r.notify({type:`negative`,message:p(`voice.deleteFailed`),position:`top`})}finally{Sd.value=null}}async function cp(e){try{await s.cancelVoiceModelDownload(e)}catch{r.notify({type:`negative`,message:p(`voice.cancelFailed`),position:`top`})}}function lp(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 up=null;function dp(){up||=setInterval(()=>{document.visibilityState!==`hidden`&&s.fetchVoiceModels().catch(e=>{console.error(`[settings] voice model polling failed:`,e)})},yd)}function fp(){up&&=(clearInterval(up),null)}async function pp(e){try{await navigator.clipboard.writeText(e),r.notify({type:`positive`,message:p(`common.copied`),position:`top`,timeout:1200})}catch{r.notify({type:`negative`,message:p(`common.copyFailed`),position:`top`})}}async function mp(){if(!$.value.path.trim())r.notify({type:`negative`,message:p(`settings.projectPathRequired`),position:`top`});else{qd.value=!0;try{await s.upsertProject($.value.path.trim(),{workflowPolicy:{...$.value.workflowPolicy},displayName:$.value.displayName,color:$.value.color,defaultSourceBranch:$.value.defaultSourceBranch,defaultModel:$.value.defaultModel,forge:$.value.forge,prPromptTemplate:$.value.prPromptTemplate,reviewPromptTemplate:$.value.reviewPromptTemplate,ciFixPromptTemplate:$.value.ciFixPromptTemplate,notionInitialPromptTemplate:$.value.notionInitialPromptTemplate,sentryInitialPromptTemplate:$.value.sentryInitialPromptTemplate,gitConventions:$.value.gitConventions,setupScript:$.value.setupScript,taskPromptTemplate:$.value.taskPromptTemplate,cleanupScript:$.value.cleanupScript,cleanupScriptMode:$.value.cleanupScriptMode,archiveScript:$.value.archiveScript,changeSourceBranchScript:$.value.changeSourceBranchScript,sessionEndedScript:$.value.sessionEndedScript,shutdownScript:$.value.shutdownScript,prMergedScript:$.value.prMergedScript,autoLoopDisabledScript:$.value.autoLoopDisabledScript,devServer:$.value.devServer,e2e:$.value.e2e,finalization:$.value.finalization}),Q.value=!1;let e=s.projects.findIndex(e=>e.path===$.value.path.trim());e>=0&&(Nd.value=e),zf.value=Uf(),r.notify({type:`positive`,message:p(`settings.projectSaved`),position:`top`})}catch{r.notify({type:`negative`,message:p(`settings.projectSaveError`),position:`top`})}finally{qd.value=!1}}}function hp(){if(!Lf.value)return;let e=Lf.value.displayName||Lf.value.path;r.dialog({title:p(`settings.deleteProjectConfirmTitle`),message:p(`settings.deleteProjectConfirmMessage`,{name:e}),dark:!0,cancel:{flat:!0,label:p(`common.cancel`),color:`kobo-2`},ok:{flat:!0,label:p(`common.delete`),color:`red-5`}}).onOk(async()=>{if(Lf.value){Jd.value=!0;try{await s.deleteProject(Lf.value.path),Nd.value=-1,Q.value=!1,Xf(null),r.notify({type:`positive`,message:p(`settings.projectDeleted`),position:`top`})}catch{r.notify({type:`negative`,message:p(`settings.projectDeleteError`),position:`top`})}finally{Jd.value=!1}}})}function gp(){Nd.value=-1,Q.value=!0,Xf(null),Fd.value=null,Id.value=null}function _p(e){Gf.value&&(Lf.value!==null||Q.value)?r.dialog({title:p(`settings.unsavedChanges.title`),message:p(`settings.unsavedChanges.message`),dark:!0,persistent:!0,ok:{flat:!0,label:p(`settings.unsavedChanges.discard`),color:`negative`},cancel:{flat:!0,label:p(`settings.unsavedChanges.cancel`),color:`kobo-2`}}).onOk(()=>{Q.value=!1,Nd.value=e,Fd.value=null,Id.value=null}):(Q.value=!1,Nd.value=e,Fd.value=null,Id.value=null)}function vp(e){if(e.displayName)return e.displayName;let t=e.path.split(`/`);return t[t.length-1]??e.path}let yp=o([]);function bp(e,t){t(()=>{yp.value=e?Gd.value.filter(t=>t.toLowerCase().includes(e.toLowerCase())):Gd.value})}async function xp(){await s.fetchSettings(),s.loadError||Yf()}return m(async()=>{await Promise.all([s.fetchSettings(),s.fetchActiveMcpServers(),Ud()]);try{let e=await s.fetchGlobalDefaults();ur.value=e.changeSourceBranchScript??``}catch(e){console.error(`[SettingsPage] fetchGlobalDefaults failed:`,e)}await s.fetchVoiceModels(),await s.fetchVoiceRuntime(),Yf(),w(`settings`),Kt(),d.fetchTemplates(),Ze(`settings:global`,()=>Wf.value),Ze(`settings:integrations`,()=>Md.value),Ze(`settings:project`,()=>Gf.value&&(Lf.value!==null||Q.value))}),l(()=>{Qf&&clearTimeout(Qf),fp(),et(`settings:global`),et(`settings:integrations`),et(`settings:project`)}),(t,r)=>(f(),b(It,{class:`settings-page`,"style-fn":e(Vt)},{default:_(()=>[e(s).loadError?(f(),E(`div`,Jr,[v(I,{name:`error`,size:`18px`}),O(`div`,Yr,[O(`span`,Xr,i(t.$t(`settings.loadFailed`)),1),O(`span`,Zr,i(e(s).loadError),1),O(`span`,Qr,i(t.$t(`settings.loadFailedHint`)),1)]),v(q),v(L,{dense:``,flat:``,"no-caps":``,icon:`refresh`,label:t.$t(`common.retry`),onClick:xp},null,8,[`label`])])):x(``,!0),O(`div`,$r,[e(k)?(f(),b(Mt,{key:1,modelValue:F.value,"onUpdate:modelValue":r[0]||=e=>F.value=e,side:`left`,overlay:``,behavior:`mobile`,width:240},{default:_(()=>[v(V,null,{default:_(()=>[v(W,{clickable:``,onClick:ie},{default:_(()=>[v(G,{avatar:``},{default:_(()=>[v(I,{name:`arrow_back`})]),_:1}),v(G,null,{default:_(()=>[S(i(t.$t(`workspaceList.title`)),1)]),_:1})]),_:1}),v(Ge)]),_:1}),O(`div`,ni,[O(`div`,ri,i(t.$t(`settings.title`)),1),v(Pr,{"nav-items":ae.value,"active-tab":N.value,onSelect:te},null,8,[`nav-items`,`active-tab`])])]),_:1},8,[`modelValue`])):(f(),E(`aside`,ei,[O(`div`,ti,i(t.$t(`settings.title`)),1),v(Pr,{"nav-items":ae.value,"active-tab":N.value,onSelect:te},null,8,[`nav-items`,`active-tab`])])),O(`main`,ii,[O(`header`,ai,[v(Lt,{"exclude-mobile":``,class:`q-mr-sm`}),e(k)?(f(),b(L,{key:0,flat:``,dense:``,round:``,icon:`menu`,"aria-label":t.$t(`settings.openNav`),class:`settings-content__nav-toggle`,onClick:r[1]||=e=>F.value=!0},{default:_(()=>[v(mt,null,{default:_(()=>[S(i(t.$t(`settings.openNav`)),1)]),_:1})]),_:1},8,[`aria-label`])):x(``,!0),O(`h2`,oi,i(se.value),1),v(Rt,{"tour-id":`settings`,class:`q-ml-sm`})]),O(`div`,si,i(t.$t(`settings.help.${N.value}`)),1),O(`div`,ci,[g(O(`div`,li,[N.value===`memory`?(f(),b(br,{key:0,"memory-mode":pt.value,"onUpdate:memoryMode":r[2]||=e=>pt.value=e},null,8,[`memory-mode`])):x(``,!0),N.value===`general`?(f(),E(`div`,ui,[O(`div`,di,i(t.$t(`settings.language`)),1),v(U,{"model-value":e(y),options:hf,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input`,"onUpdate:modelValue":gf},null,8,[`model-value`])])):x(``,!0),N.value===`general`?(f(),E(`div`,fi,[O(`div`,pi,i(t.$t(`settings.workspaceListSection`)),1),v(B,{modelValue:Cr.value,"onUpdate:modelValue":r[3]||=e=>Cr.value=e,label:t.$t(`settings.flattenWorkspaceList`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`]),O(`div`,mi,i(t.$t(`settings.flattenWorkspaceListHint`)),1)])):x(``,!0),N.value===`skills`?(f(),E(`div`,hi,[O(`div`,gi,i(t.$t(`settings.skillSuite.section`)),1),v(He,{modelValue:wr.value,"onUpdate:modelValue":r[4]||=e=>wr.value=e,options:[{label:t.$t(`settings.skillSuite.standard`),value:`standard`},{label:t.$t(`settings.skillSuite.superpowers`),value:`superpowers`},{label:t.$t(`settings.skillSuite.gstack`),value:`gstack`},{label:t.$t(`settings.skillSuite.ecc`),value:`ecc`},{label:t.$t(`settings.skillSuite.superpowersGstack`),value:`superpowers+gstack`},{label:t.$t(`settings.skillSuite.allThree`),value:`superpowers+gstack+ecc`},{label:t.$t(`settings.skillSuite.custom`),value:`custom`}],type:`radio`,color:`primary`,dense:``,dark:``,inline:``},null,8,[`modelValue`,`options`]),O(`div`,_i,i(t.$t(Tr.value)),1),v(L,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`restart_alt`,label:t.$t(`settings.skillSuite.reloadDefaults`),disable:wr.value!==`custom`,class:`q-mt-sm`,onClick:wd},null,8,[`label`,`disable`])])):x(``,!0),N.value===`skills`&&wr.value===`custom`?(f(),E(`div`,vi,[O(`div`,yi,i(t.$t(`settings.skillSuite.customPrompts`)),1),O(`div`,bi,i(t.$t(`settings.skillSuite.reviewTemplate`)),1),v(Dt,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`download`,label:t.$t(`settings.skillSuite.importPrompt`),loading:Mr.value===`reviewTemplate`,class:`q-mb-sm`},{default:_(()=>[v(V,{dense:``},{default:_(()=>[(f(!0),E(D,null,A(Nr.value,e=>g((f(),b(W,{key:e.value,clickable:``,onClick:t=>Fr(`reviewTemplate`,e.value)},{default:_(()=>[v(G,null,{default:_(()=>[S(i(e.label),1)]),_:2},1024)]),_:2},1032,[`onClick`])),[[gt]])),128))]),_:1})]),_:1},8,[`label`,`loading`]),v(R,{modelValue:Er.value,"onUpdate:modelValue":r[5]||=e=>Er.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`]),O(`div`,xi,i(t.$t(`settings.skillSuite.autoLoopReviewGate`)),1),v(Dt,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`download`,label:t.$t(`settings.skillSuite.importPrompt`),loading:Mr.value===`autoLoopReviewGate`,class:`q-mb-sm`},{default:_(()=>[v(V,{dense:``},{default:_(()=>[(f(!0),E(D,null,A(Nr.value,e=>g((f(),b(W,{key:e.value,clickable:``,onClick:t=>Fr(`autoLoopReviewGate`,e.value)},{default:_(()=>[v(G,null,{default:_(()=>[S(i(e.label),1)]),_:2},1024)]),_:2},1032,[`onClick`])),[[gt]])),128))]),_:1})]),_:1},8,[`label`,`loading`]),v(R,{modelValue:Dr.value,"onUpdate:modelValue":r[6]||=e=>Dr.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`]),O(`div`,Si,i(t.$t(`settings.skillSuite.autoLoopGroomingIntro`)),1),v(Dt,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`download`,label:t.$t(`settings.skillSuite.importPrompt`),loading:Mr.value===`autoLoopGroomingIntro`,class:`q-mb-sm`},{default:_(()=>[v(V,{dense:``},{default:_(()=>[(f(!0),E(D,null,A(Nr.value,e=>g((f(),b(W,{key:e.value,clickable:``,onClick:t=>Fr(`autoLoopGroomingIntro`,e.value)},{default:_(()=>[v(G,null,{default:_(()=>[S(i(e.label),1)]),_:2},1024)]),_:2},1032,[`onClick`])),[[gt]])),128))]),_:1})]),_:1},8,[`label`,`loading`]),v(R,{modelValue:kr.value,"onUpdate:modelValue":r[7]||=e=>kr.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`]),O(`div`,Ci,i(t.$t(`settings.skillSuite.qaTemplate`)),1),v(Dt,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`download`,label:t.$t(`settings.skillSuite.importPrompt`),loading:Mr.value===`qaPromptTemplate`,class:`q-mb-sm`},{default:_(()=>[v(V,{dense:``},{default:_(()=>[(f(!0),E(D,null,A(Nr.value,e=>g((f(),b(W,{key:e.value,clickable:``,onClick:t=>Fr(`qaPromptTemplate`,e.value)},{default:_(()=>[v(G,null,{default:_(()=>[S(i(e.label),1)]),_:2},1024)]),_:2},1032,[`onClick`])),[[gt]])),128))]),_:1})]),_:1},8,[`label`,`loading`]),v(R,{modelValue:Ar.value,"onUpdate:modelValue":r[8]||=e=>Ar.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`]),O(`div`,wi,i(t.$t(`settings.skillSuite.brainstormingInstruction`)),1),v(Dt,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`download`,label:t.$t(`settings.skillSuite.importPrompt`),loading:Mr.value===`brainstormingInstruction`,class:`q-mb-sm`},{default:_(()=>[v(V,{dense:``},{default:_(()=>[(f(!0),E(D,null,A(Nr.value,e=>g((f(),b(W,{key:e.value,clickable:``,onClick:t=>Fr(`brainstormingInstruction`,e.value)},{default:_(()=>[v(G,null,{default:_(()=>[S(i(e.label),1)]),_:2},1024)]),_:2},1032,[`onClick`])),[[gt]])),128))]),_:1})]),_:1},8,[`label`,`loading`]),v(R,{modelValue:jr.value,"onUpdate:modelValue":r[9]||=e=>jr.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])])):x(``,!0),N.value===`agents`?(f(),E(`div`,Ti,[O(`div`,Ei,[v(B,{modelValue:Ke.value,"onUpdate:modelValue":r[10]||=e=>Ke.value=e,label:t.$t(`settings.agentWatchdogEnabled`),color:`primary`},null,8,[`modelValue`,`label`]),O(`div`,Di,i(t.$t(`settings.agentWatchdogHint`)),1)]),v(R,{modelValue:Re.value,"onUpdate:modelValue":r[11]||=e=>Re.value=e,modelModifiers:{number:!0},"data-test":`max-concurrent-agents`,type:`number`,min:`0`,step:`1`,label:t.$t(`settings.maxConcurrentAgents`),hint:t.$t(`settings.maxConcurrentAgentsHint`),rules:[()=>ze.value||t.$t(`settings.maxConcurrentAgentsInvalid`)],dense:``,dark:``,outlined:``,class:`q-mb-md`},null,8,[`modelValue`,`label`,`hint`,`rules`]),O(`div`,Oi,[v(B,{modelValue:Xe.value,"onUpdate:modelValue":r[12]||=e=>Xe.value=e,label:t.$t(`settings.forceImmediateMessages`),color:`primary`},null,8,[`modelValue`,`label`]),O(`div`,ki,i(t.$t(`settings.forceImmediateMessagesHint`)),1)]),O(`div`,Ai,[v(B,{modelValue:Qe.value,"onUpdate:modelValue":r[13]||=e=>Qe.value=e,label:t.$t(`settings.showProgressBars`),color:`primary`},null,8,[`modelValue`,`label`]),O(`div`,ji,i(t.$t(`settings.showProgressBarsHint`)),1)]),v(R,{modelValue:We.value,"onUpdate:modelValue":r[14]||=e=>We.value=e,modelModifiers:{number:!0},label:t.$t(`settings.autoLoopMaxRetries`),hint:t.$t(`settings.autoLoopMaxRetriesHint`),type:`number`,min:`1`,max:`20`,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`label`,`hint`]),O(`section`,Mi,[O(`h3`,Ni,i(t.$t(`workspacePage.engineClaude`)),1),O(`div`,Pi,i(t.$t(`settings.defaultModelClaude`)),1),v(U,{modelValue:le.value,"onUpdate:modelValue":r[15]||=e=>le.value=e,options:_f.value,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`options`]),O(`div`,Fi,i(t.$t(`settings.defaultPermissionModeClaude`)),1),O(`div`,Ii,i(t.$t(`settings.defaultPermissionModeHint`)),1),v(U,{modelValue:Un.value,"onUpdate:modelValue":r[16]||=e=>Un.value=e,options:wf.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`options`])]),O(`section`,Li,[O(`h3`,Ri,i(t.$t(`health.codexCliTitle`)),1),O(`div`,zi,i(t.$t(`settings.defaultModelCodex`)),1),v(U,{modelValue:ue.value,"onUpdate:modelValue":r[17]||=e=>ue.value=e,options:vf.value,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`options`]),O(`div`,Bi,i(t.$t(`settings.defaultPermissionModeCodex`)),1),v(U,{modelValue:Wn.value,"onUpdate:modelValue":r[18]||=e=>Wn.value=e,options:Tf.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])]),O(`section`,Vi,[O(`h3`,Hi,i(t.$t(`workspacePage.engineMistral`)),1),O(`div`,Ui,i(t.$t(`settings.defaultModelMistral`)),1),O(`div`,Wi,[S(i(t.$t(`engine.mistralNativeHint`)),1),O(`div`,Gi,[S(i(e(yf).message)+` `,1),e(yf).message&&!e(yf).loading?(f(),b(L,{key:0,flat:``,dense:``,size:`sm`,label:t.$t(`common.retry`),onClick:e(yf).refresh},null,8,[`label`,`onClick`])):x(``,!0)])]),v(U,{"data-test":`mistral-default-model`,modelValue:de.value,"onUpdate:modelValue":r[19]||=e=>de.value=e,options:bf.value,loading:e(yf).loading,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`options`,`loading`]),O(`div`,Ki,i(t.$t(`settings.defaultPermissionModeMistral`)),1),v(U,{"data-test":`mistral-default-permission`,modelValue:Gn.value,"onUpdate:modelValue":r[20]||=e=>Gn.value=e,options:xf.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`options`])])])):x(``,!0),N.value===`general`?(f(),E(`div`,qi,[O(`div`,Ji,i(t.$t(`settings.activityFeed`)),1),O(`div`,Yi,[v(B,{modelValue:Cn.value,"onUpdate:modelValue":r[21]||=e=>Cn.value=e,label:t.$t(`settings.verboseMessages`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`]),v(B,{modelValue:wn.value,"onUpdate:modelValue":r[22]||=e=>wn.value=e,label:t.$t(`settings.showThinkingBlocks`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`])])])):x(``,!0),N.value===`general`?(f(),E(`div`,Xi,[O(`div`,Zi,i(t.$t(`settings.whipSettings`)),1),O(`div`,Qi,i(t.$t(`settings.whipSettingsHint`)),1),v(B,{modelValue:En.value,"onUpdate:modelValue":r[23]||=e=>En.value=e,label:t.$t(`settings.whipEnabled`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},{default:_(()=>[v(mt,null,{default:_(()=>[S(i(t.$t(`settings.whipEnabledHint`)),1)]),_:1})]),_:1},8,[`modelValue`,`label`]),En.value?(f(),E(`div`,$i,[v(Vr,{modelValue:Dn.value,"onUpdate:modelValue":r[24]||=e=>Dn.value=e},null,8,[`modelValue`]),O(`div`,ea,[O(`div`,ta,i(t.$t(`settings.whipVolume`)),1),v(sn,{modelValue:On.value,"onUpdate:modelValue":r[25]||=e=>On.value=e,min:0,max:1,step:.05,disable:kn.value.disabled,"aria-label":t.$t(`settings.whipVolume`),dark:``,dense:``,color:`primary`,class:`col`},null,8,[`modelValue`,`disable`,`aria-label`]),O(`div`,na,i(Math.round(On.value*100))+`% `,1)]),kn.value.hintKey?(f(),E(`div`,ra,i(t.$t(kn.value.hintKey)),1)):x(``,!0)])):x(``,!0)])):x(``,!0),N.value===`notifications`?(f(),E(`div`,ia,[O(`div`,aa,i(t.$t(`settings.notifications`)),1),v(B,{modelValue:ct.value,"onUpdate:modelValue":r[26]||=e=>ct.value=e,label:t.$t(`absence.title`),color:`primary`},null,8,[`modelValue`,`label`]),O(`div`,oa,i(t.$t(`settings.activityDigestHint`)),1),v(R,{modelValue:it.value,"onUpdate:modelValue":r[27]||=e=>it.value=e,modelModifiers:{number:!0},label:t.$t(`settings.awaitingUserReminder`),hint:t.$t(`settings.awaitingUserReminderHint`),type:`number`,min:`0`,max:`1440`,dense:``,dark:``,outlined:``,class:`settings-input q-mt-md`},null,8,[`modelValue`,`label`,`hint`]),v(Ge,{dark:``,class:`q-my-md`}),v(vn),O(`div`,sa,[O(`div`,ca,[O(`div`,la,i(t.$t(`settings.notificationSound`)),1),O(`div`,ua,i(t.$t(`settings.notificationSoundHint`)),1),O(`div`,da,[v(B,{modelValue:en.value,"onUpdate:modelValue":r[28]||=e=>en.value=e,label:t.$t(`settings.enableBrowserNotifications`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`]),v(B,{modelValue:nn.value,"onUpdate:modelValue":r[29]||=e=>nn.value=e,label:t.$t(`settings.enableAudio`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`])]),O(`div`,fa,[v(ht,{dense:``,square:``,color:An.value.color,"text-color":`white`,icon:`notifications`},{default:_(()=>[S(i(An.value.label),1)]),_:1},8,[`color`]),v(L,{flat:``,dense:``,"no-caps":``,color:`primary`,icon:`notifications_active`,label:t.$t(`settings.testBrowserNotification`),onClick:jn},null,8,[`label`])]),O(`div`,pa,[v(U,{modelValue:cn.value,"onUpdate:modelValue":r[30]||=e=>cn.value=e,options:kf.value,label:t.$t(`settings.notificationSound`),disable:!nn.value,dark:``,dense:``,outlined:``,"emit-value":``,"map-options":``,color:`primary`,class:`col`},null,8,[`modelValue`,`options`,`label`,`disable`]),v(L,{flat:``,dense:``,color:`primary`,icon:`play_arrow`,label:t.$t(`settings.notificationSoundPreview`),disable:!nn.value,onClick:Nf},null,8,[`label`,`disable`])]),O(`div`,ma,[O(`div`,ha,i(t.$t(`settings.notificationVolume`)),1),v(sn,{modelValue:pn.value,"onUpdate:modelValue":r[31]||=e=>pn.value=e,min:0,max:1,step:.05,disable:!nn.value,"aria-label":t.$t(`settings.notificationVolume`),dark:``,dense:``,color:`primary`,class:`col`},null,8,[`modelValue`,`disable`,`aria-label`]),O(`div`,ga,i(Math.round(pn.value*100))+`% `,1)])]),O(`div`,_a,[O(`div`,va,i(t.$t(`settings.questionSound`)),1),O(`div`,ya,i(t.$t(`settings.questionSoundHint`)),1),v(B,{modelValue:rn.value,"onUpdate:modelValue":r[32]||=e=>rn.value=e,label:t.$t(`settings.enableAudio`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption q-mb-sm`},null,8,[`modelValue`,`label`]),O(`div`,ba,[v(U,{modelValue:un.value,"onUpdate:modelValue":r[33]||=e=>un.value=e,options:Af.value,label:t.$t(`settings.questionSound`),disable:!rn.value,dark:``,dense:``,outlined:``,"emit-value":``,"map-options":``,color:`primary`,class:`col`},null,8,[`modelValue`,`options`,`label`,`disable`]),v(L,{flat:``,dense:``,color:`primary`,icon:`play_arrow`,label:t.$t(`settings.notificationSoundPreview`),disable:!rn.value,onClick:Pf},null,8,[`label`,`disable`])]),O(`div`,xa,[O(`div`,Sa,i(t.$t(`settings.notificationVolume`)),1),v(sn,{modelValue:mn.value,"onUpdate:modelValue":r[34]||=e=>mn.value=e,min:0,max:1,step:.05,disable:!rn.value,"aria-label":t.$t(`settings.notificationVolume`),dark:``,dense:``,color:`primary`,class:`col`},null,8,[`modelValue`,`disable`,`aria-label`]),O(`div`,Ca,i(Math.round(mn.value*100))+`% `,1)])]),O(`div`,wa,[O(`div`,Ta,i(t.$t(`settings.workspaceCreatedSound`)),1),O(`div`,Ea,i(t.$t(`settings.workspaceCreatedSoundHint`)),1),v(B,{modelValue:an.value,"onUpdate:modelValue":r[35]||=e=>an.value=e,label:t.$t(`settings.enableAudio`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption q-mb-sm`},null,8,[`modelValue`,`label`]),O(`div`,Da,[v(U,{modelValue:dn.value,"onUpdate:modelValue":r[36]||=e=>dn.value=e,options:Af.value,label:t.$t(`settings.workspaceCreatedSound`),disable:!an.value,dark:``,dense:``,outlined:``,"emit-value":``,"map-options":``,color:`primary`,class:`col`},null,8,[`modelValue`,`options`,`label`,`disable`]),v(L,{flat:``,dense:``,color:`primary`,icon:`play_arrow`,label:t.$t(`settings.notificationSoundPreview`),disable:!an.value,onClick:Ff},null,8,[`label`,`disable`])]),O(`div`,Oa,[O(`div`,ka,i(t.$t(`settings.notificationVolume`)),1),v(sn,{modelValue:hn.value,"onUpdate:modelValue":r[37]||=e=>hn.value=e,min:0,max:1,step:.05,disable:!an.value,"aria-label":t.$t(`settings.notificationVolume`),dark:``,dense:``,color:`primary`,class:`col`},null,8,[`modelValue`,`disable`,`aria-label`]),O(`div`,Aa,i(Math.round(hn.value*100))+`% `,1)])]),O(`div`,ja,[O(`div`,Ma,i(t.$t(`settings.agentErrorSound`)),1),O(`div`,Na,i(t.$t(`settings.agentErrorSoundHint`)),1),v(B,{modelValue:on.value,"onUpdate:modelValue":r[38]||=e=>on.value=e,label:t.$t(`settings.enableAudio`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption q-mb-sm`},null,8,[`modelValue`,`label`]),O(`div`,Pa,[v(U,{modelValue:fn.value,"onUpdate:modelValue":r[39]||=e=>fn.value=e,options:Af.value,label:t.$t(`settings.agentErrorSound`),disable:!on.value,dark:``,dense:``,outlined:``,"emit-value":``,"map-options":``,color:`primary`,class:`col`},null,8,[`modelValue`,`options`,`label`,`disable`]),v(L,{flat:``,dense:``,color:`primary`,icon:`play_arrow`,label:t.$t(`settings.notificationSoundPreview`),disable:!on.value,onClick:If},null,8,[`label`,`disable`])]),O(`div`,Fa,[O(`div`,Ia,i(t.$t(`settings.notificationVolume`)),1),v(sn,{modelValue:gn.value,"onUpdate:modelValue":r[40]||=e=>gn.value=e,min:0,max:1,step:.05,disable:!on.value,"aria-label":t.$t(`settings.notificationVolume`),dark:``,dense:``,color:`primary`,class:`col`},null,8,[`modelValue`,`disable`,`aria-label`]),O(`div`,La,i(Math.round(gn.value*100))+`%`,1)])])]),v(Or,{modelValue:_n.value,"onUpdate:modelValue":r[41]||=e=>_n.value=e,"general-sound":cn.value},null,8,[`modelValue`,`general-sound`])])):x(``,!0),N.value===`voice`?(f(),E(`div`,Ra,[O(`div`,za,[O(`div`,Ba,i(t.$t(`voice.sectionRuntime`)),1),v(q),v(L,{flat:``,dense:``,"no-caps":``,size:`sm`,icon:`refresh`,color:`kobo-2`,label:e(p)(`common.refresh`),onClick:r[42]||=t=>e(s).fetchVoiceRuntime()},null,8,[`label`])]),O(`div`,Va,[O(`div`,Ha,[v(I,{name:e(s).voiceRuntime?.available?`check_circle`:`cancel`,color:e(s).voiceRuntime?.available?`green-5`:`red-5`,size:`xs`},null,8,[`name`,`color`]),O(`span`,{class:a([`text-caption`,e(s).voiceRuntime?.available?`text-green-5`:`text-red-5`])},i(e(s).voiceRuntime?.available?e(p)(`voice.runtimeReady`,{command:e(s).voiceRuntime?.command??`whisper-cli`}):e(p)(`voice.runtimeMissing`,{command:e(s).voiceRuntime?.command??`whisper-cli`})),3)]),O(`div`,Ua,[v(I,{name:e(s).voiceRuntime?.ffmpegAvailable?`check_circle`:`cancel`,color:e(s).voiceRuntime?.ffmpegAvailable?`green-5`:`red-5`,size:`xs`},null,8,[`name`,`color`]),O(`span`,{class:a([`text-caption`,e(s).voiceRuntime?.ffmpegAvailable?`text-green-5`:`text-red-5`])},i(e(s).voiceRuntime?.ffmpegAvailable?e(p)(`voice.ffmpegReady`):e(p)(`voice.ffmpegMissing`)),3)])]),v(ut,{dense:``,dark:``,icon:`help_outline`,label:t.$t(`voice.installGuideTitle`),class:`variables-panel rounded-borders q-mt-sm`},{default:_(()=>[O(`div`,Wa,[O(`div`,Ga,i(t.$t(`voice.installGuideIntro`)),1),O(`div`,Ka,[O(`a`,qa,i(t.$t(`voice.installLink`)),1)]),O(`div`,Ja,i(t.$t(`voice.installGuideUbuntuTitle`)),1),r[145]||=O(`pre`,{class:`mono-guide q-mb-sm`},`sudo apt update
|
|
2
|
+
sudo apt install -y cmake build-essential ffmpeg
|
|
3
|
+
git clone https://github.com/ggml-org/whisper.cpp.git
|
|
4
|
+
cd whisper.cpp
|
|
5
|
+
cmake -B build
|
|
6
|
+
cmake --build build -j`,-1),O(`div`,Ya,i(t.$t(`voice.installGuideBinaryPathHint`)),1),O(`div`,Xa,i(t.$t(`voice.installGuideWindowsTitle`)),1),r[146]||=O(`pre`,{class:`mono-guide q-mb-sm`},`# Install CMake + Visual Studio Build Tools (C/C++)
|
|
7
|
+
# Install ffmpeg (choco/scoop)
|
|
8
|
+
where whisper-cli
|
|
9
|
+
where ffmpeg`,-1),O(`div`,null,i(t.$t(`voice.installGuideSettingsHint`)),1)])]),_:1},8,[`label`])])):x(``,!0),N.value===`voice`?(f(),E(`div`,Za,[O(`div`,Qa,i(t.$t(`voice.sectionActivation`)),1),v(B,{modelValue:Ir.value,"onUpdate:modelValue":r[43]||=e=>Ir.value=e,label:t.$t(`voice.enabled`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption q-mb-sm`},null,8,[`modelValue`,`label`]),O(`div`,$a,[O(`div`,eo,[v(U,{modelValue:Lr.value,"onUpdate:modelValue":r[44]||=e=>Lr.value=e,label:t.$t(`voice.pttKey`),options:[{label:t.$t(`voice.pttAlt`),value:`alt`},{label:t.$t(`voice.pttCtrlSpace`),value:`ctrl+space`}],"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`label`,`options`])]),O(`div`,to,[v(U,{modelValue:Rr.value,"onUpdate:modelValue":r[45]||=e=>Rr.value=e,label:t.$t(`voice.language`),options:Mf,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`label`])])])])):x(``,!0),N.value===`voice`?(f(),E(`div`,no,[O(`div`,ro,i(t.$t(`voice.sectionModels`)),1),v(U,{modelValue:zr.value,"onUpdate:modelValue":r[46]||=e=>zr.value=e,label:t.$t(`voice.model`),options:jf.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`label`,`options`]),e(s).voiceModelsDir?(f(),E(`div`,io,[v(I,{name:`folder`,color:`kobo-2`,size:`xs`}),O(`span`,ao,i(e(s).voiceModelsDir),1),v(L,{flat:``,dense:``,round:``,size:`xs`,icon:`content_copy`,color:`kobo-2`,title:e(p)(`common.copy`),onClick:r[47]||=t=>pp(e(s).voiceModelsDir)},null,8,[`title`])])):x(``,!0),O(`div`,oo,[(f(!0),E(D,null,A(e(s).voiceModels,e=>(f(),E(`div`,{key:e.name,class:a([`voice-model-row q-pa-sm rounded-borders`,{"voice-model-row--active":e.download}])},[O(`div`,so,[v(I,{name:e.download?`downloading`:e.installed?`check_circle`:`circle`,color:e.download?`primary`:e.installed?`green-5`:`kobo-3`,size:`xs`},null,8,[`name`,`color`]),O(`span`,co,i(e.name),1),O(`span`,lo,i(lp(e.installedSizeBytes??e.sizeBytes)),1),v(q),e.download?(f(),b(L,{key:0,flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`close`,label:t.$t(`common.cancel`),onClick:t=>cp(e.name)},null,8,[`label`,`onClick`])):(f(),b(L,{key:1,flat:``,dense:``,"no-caps":``,size:`sm`,color:e.installed?`red-5`:`primary`,icon:e.installed?`delete_outline`:`download`,label:e.installed?t.$t(`voice.delete`):t.$t(`voice.download`),loading:Sd.value===e.name,onClick:t=>e.installed?sp(e.name):op(e.name)},null,8,[`color`,`icon`,`label`,`loading`,`onClick`]))]),e.download?(f(),E(`div`,uo,[v(Ve,{value:e.download.total>0?Math.min(1,e.download.downloaded/e.download.total):0,indeterminate:!e.download.total,color:`primary`,"track-color":`kobo-surface-2`,size:`6px`,rounded:``},null,8,[`value`,`indeterminate`]),O(`div`,fo,[O(`span`,po,i(lp(e.download.downloaded))+` / `+i(lp(e.download.total)),1),v(q),O(`span`,mo,i(e.download.total>0?`${Math.floor(e.download.downloaded/e.download.total*100)}%`:`—`),1)])])):e.installed?(f(),E(`div`,ho,i(e.fileName),1)):x(``,!0)],2))),128))])])):x(``,!0),N.value===`voice`?(f(),E(`div`,go,[O(`div`,_o,i(t.$t(`voice.sectionAdvanced`)),1),v(ut,{dense:``,dark:``,icon:`tune`,label:t.$t(`voice.sectionBehavior`),class:`variables-panel rounded-borders q-mb-sm`},{default:_(()=>[O(`div`,vo,[O(`div`,yo,[O(`div`,bo,i(t.$t(`voice.temperature`)),1),v(sn,{modelValue:Ur.value,"onUpdate:modelValue":r[48]||=e=>Ur.value=e,min:0,max:1,step:.05,dark:``,dense:``,color:`primary`,class:`col`},null,8,[`modelValue`]),O(`div`,xo,i(Ur.value.toFixed(2)),1)]),O(`div`,So,i(t.$t(`voice.temperatureHint`)),1),v(R,{modelValue:Gr.value,"onUpdate:modelValue":r[49]||=e=>Gr.value=e,label:t.$t(`voice.initialPrompt`),type:`textarea`,dense:``,dark:``,outlined:``,rows:2,class:`settings-input`},null,8,[`modelValue`,`label`]),O(`div`,Co,i(t.$t(`voice.initialPromptHint`)),1),v(B,{modelValue:bd.value,"onUpdate:modelValue":r[50]||=e=>bd.value=e,label:t.$t(`voice.translateToEnglish`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`]),O(`div`,wo,i(t.$t(`voice.translateToEnglishHint`)),1),v(B,{modelValue:xd.value,"onUpdate:modelValue":r[51]||=e=>xd.value=e,label:t.$t(`voice.suppressNst`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`]),O(`div`,To,i(t.$t(`voice.suppressNstHint`)),1)])]),_:1},8,[`label`]),v(ut,{dense:``,dark:``,icon:`terminal`,label:t.$t(`voice.sectionBinaries`),class:`variables-panel rounded-borders`},{default:_(()=>[O(`div`,Eo,[v(R,{modelValue:Br.value,"onUpdate:modelValue":r[52]||=e=>Br.value=e,label:t.$t(`voice.commandPath`),dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`label`]),v(R,{modelValue:Hr.value,"onUpdate:modelValue":r[53]||=e=>Hr.value=e,label:t.$t(`voice.ffmpegPath`),dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`label`])])]),_:1},8,[`label`])])):x(``,!0),N.value===`git`?(f(),E(`div`,Do,[v(zt,{modelValue:kd.value,"onUpdate:modelValue":r[54]||=e=>kd.value=e,class:`q-my-md`},null,8,[`modelValue`]),O(`div`,Oo,[O(`div`,ko,i(t.$t(`settings.gitConventions`)),1),v(q),v(L,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`restart_alt`,label:e(p)(`settings.resetToDefault`),loading:Y.value===`gitConventions`,disable:Y.value!==null&&Y.value!==`gitConventions`,onClick:r[55]||=e=>rp(`gitConventions`)},null,8,[`label`,`loading`,`disable`])]),O(`div`,Ao,i(t.$t(`settings.gitConventionsHint`)),1),v(R,{modelValue:we.value,"onUpdate:modelValue":r[56]||=e=>we.value=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:8,placeholder:t.$t(`settings.gitConventionsPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])])):x(``,!0),N.value===`git`?(f(),E(`div`,jo,[O(`div`,Mo,i(t.$t(`settings.branchPrefixesTitle`)),1),O(`div`,No,i(t.$t(`settings.branchPrefixesHint`)),1),X.value.length>0?(f(),b(V,{key:0,bordered:``,separator:``,class:`rounded-borders q-mb-sm`},{default:_(()=>[(f(!0),E(D,null,A(X.value,(e,n)=>(f(),b(W,{key:e},{default:_(()=>[v(G,null,{default:_(()=>[v(H,{class:`cursor-pointer`},{default:_(()=>[S(i(e)+`/ `,1),v(ln,{"model-value":e,"auto-save":``,onSave:e=>xr(n,e)},{default:_(e=>[v(R,{modelValue:e.value,"onUpdate:modelValue":t=>e.value=t,dense:``,dark:``,autofocus:``,onKeyup:P(e.set,[`enter`])},null,8,[`modelValue`,`onUpdate:modelValue`,`onKeyup`])]),_:1},8,[`model-value`,`onSave`]),v(mt,null,{default:_(()=>[S(i(t.$t(`settings.branchPrefixesEditHint`)),1)]),_:1})]),_:2},1024)]),_:2},1024),v(G,{side:``},{default:_(()=>[O(`div`,Po,[v(L,{flat:``,dense:``,round:``,size:`sm`,icon:`keyboard_arrow_up`,color:`kobo-3`,disable:n===0,title:t.$t(`settings.branchPrefixesMoveUp`),onClick:e=>Sr(n,-1)},null,8,[`disable`,`title`,`onClick`]),v(L,{flat:``,dense:``,round:``,size:`sm`,icon:`keyboard_arrow_down`,color:`kobo-3`,disable:n===X.value.length-1,title:t.$t(`settings.branchPrefixesMoveDown`),onClick:e=>Sr(n,1)},null,8,[`disable`,`title`,`onClick`]),v(L,{flat:``,dense:``,round:``,size:`sm`,icon:`delete`,color:`kobo-3`,title:t.$t(`common.delete`),onClick:e=>yr(n)},null,8,[`title`,`onClick`])])]),_:2},1024)]),_:2},1024))),128))]),_:1})):(f(),E(`div`,Fo,i(t.$t(`settings.branchPrefixesEmpty`)),1)),O(`div`,Io,[v(R,{modelValue:$n.value,"onUpdate:modelValue":r[57]||=e=>$n.value=e,label:t.$t(`settings.branchPrefixesAddLabel`),dense:``,dark:``,outlined:``,class:`col`,onKeyup:P(vr,[`enter`])},null,8,[`modelValue`,`label`]),v(L,{flat:``,label:t.$t(`common.add`),icon:`add`,color:`primary`,disable:_r($n.value).length===0,onClick:vr},null,8,[`label`,`disable`])])])):x(``,!0),N.value===`prompts`?(f(),E(`div`,Lo,[O(`div`,Ro,[O(`div`,zo,i(t.$t(`settings.prPromptTemplate`)),1),v(q),v(L,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`restart_alt`,label:e(p)(`settings.resetToDefault`),loading:Y.value===`prPromptTemplate`,disable:Y.value!==null&&Y.value!==`prPromptTemplate`,onClick:r[58]||=e=>rp(`prPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),O(`div`,Bo,i(t.$t(`settings.prPromptHint`)),1),v(R,{modelValue:me.value,"onUpdate:modelValue":r[59]||=e=>me.value=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:8,placeholder:t.$t(`settings.prPromptPlaceholder`),class:`settings-input mono-textarea q-mb-md`},null,8,[`modelValue`,`placeholder`]),O(`div`,Vo,[v(ut,{dense:``,dark:``,icon:`code`,label:t.$t(`settings.availableVariables`),class:`variables-panel rounded-borders`},{default:_(()=>[v(V,{dense:``,dark:``,class:`q-pa-sm`},{default:_(()=>[(f(!0),E(D,null,A(Ef.value,e=>(f(),b(W,{key:e.name,dense:``},{default:_(()=>[v(G,null,{default:_(()=>[v(H,{class:`text-caption`,style:{"font-family":`monospace`}},{default:_(()=>[S(i(e.name),1)]),_:2},1024),v(H,{caption:``,class:`text-kobo-3`},{default:_(()=>[S(i(e.description),1)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1},8,[`label`])]),O(`div`,Ho,[O(`div`,Uo,i(t.$t(`settings.reviewPromptTemplate`)),1),v(q),v(L,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`restart_alt`,label:e(p)(`settings.resetToDefault`),loading:Y.value===`reviewPromptTemplate`,disable:Y.value!==null&&Y.value!==`reviewPromptTemplate`,onClick:r[60]||=e=>rp(`reviewPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),O(`div`,Wo,i(t.$t(`settings.reviewPromptHint`)),1),v(R,{modelValue:_e.value,"onUpdate:modelValue":r[61]||=e=>_e.value=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:8,placeholder:t.$t(`settings.reviewPromptPlaceholder`),class:`settings-input mono-textarea q-mb-md`},null,8,[`modelValue`,`placeholder`]),O(`div`,Go,[O(`div`,Ko,i(t.$t(`settings.ciFixPromptTemplate`)),1),v(q),v(L,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`restart_alt`,label:e(p)(`settings.resetToDefault`),loading:Y.value===`ciFixPromptTemplate`,disable:Y.value!==null&&Y.value!==`ciFixPromptTemplate`,onClick:r[62]||=e=>rp(`ciFixPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),O(`div`,qo,i(t.$t(`settings.ciFixPromptHint`)),1),v(R,{modelValue:be.value,"onUpdate:modelValue":r[63]||=e=>be.value=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:8,placeholder:t.$t(`settings.ciFixPromptPlaceholder`),class:`settings-input mono-textarea q-mb-md`},null,8,[`modelValue`,`placeholder`]),O(`div`,Jo,[O(`div`,Yo,i(t.$t(`settings.finalizationPromptTemplate`)),1),v(q),v(L,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`restart_alt`,label:e(p)(`settings.resetToDefault`),loading:Y.value===`finalizationPrompt`,disable:Y.value!==null&&Y.value!==`finalizationPrompt`,onClick:r[64]||=e=>rp(`finalizationPrompt`)},null,8,[`label`,`loading`,`disable`])]),O(`div`,Xo,i(t.$t(`settings.finalizationPromptHint`)),1),v(R,{modelValue:xe.value,"onUpdate:modelValue":r[65]||=e=>xe.value=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:8,placeholder:t.$t(`settings.finalizationPromptPlaceholder`),class:`settings-input mono-textarea q-mb-md`},null,8,[`modelValue`,`placeholder`])])):x(``,!0),N.value===`general`?(f(),E(`div`,Zo,[O(`div`,Qo,i(t.$t(`settings.editorCommand`)),1),O(`div`,$o,i(t.$t(`settings.editorCommandHint`)),1),v(R,{modelValue:ke.value,"onUpdate:modelValue":r[66]||=e=>ke.value=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.editorCommandPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])])):x(``,!0),N.value===`general`?(f(),E(`div`,es,[O(`div`,ts,i(t.$t(`settings.fileManagerCommand`)),1),O(`div`,ns,i(t.$t(`settings.fileManagerCommandHint`)),1),v(R,{modelValue:Me.value,"onUpdate:modelValue":r[67]||=e=>Me.value=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.fileManagerCommandPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])])):x(``,!0),N.value===`general`?(f(),E(`div`,rs,[O(`div`,is,i(t.$t(`settings.terminalCommand`)),1),O(`div`,as,i(t.$t(`settings.terminalCommandHint`)),1),v(R,{modelValue:z.value,"onUpdate:modelValue":r[68]||=e=>z.value=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.terminalCommandPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])])):x(``,!0),N.value===`notion`?(f(),E(`div`,os,[v(B,{modelValue:Xn.value,"onUpdate:modelValue":r[69]||=e=>Xn.value=e,label:t.$t(`settings.integrationEnabled`),dark:``,dense:``,color:`primary`},null,8,[`modelValue`,`label`])])):x(``,!0),N.value===`notion`?(f(),E(`div`,{key:20,"data-tour":`settings-card-notion`,class:a([`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`,{"opacity-50":!Xn.value}])},[v(Tn,{modelValue:jd.value.notion,"onUpdate:modelValue":r[70]||=e=>jd.value.notion=e,"connection-status":Ad.value.notion,"onUpdate:connectionStatus":r[71]||=e=>Ad.value.notion=e,integration:`notion`},null,8,[`modelValue`,`connection-status`]),O(`div`,ss,i(t.$t(`settings.mcpSelection`)),1),O(`div`,cs,i(t.$t(Ad.value.notion.configured?`integration.directOverrides`:`settings.mcpSelectionHint`)),1),O(`div`,ls,[O(`div`,us,i(t.$t(`settings.notionMcp`)),1),v(U,{modelValue:Kn.value,"onUpdate:modelValue":r[72]||=e=>Kn.value=e,"data-test":`notion-mcp-key`,disable:Ad.value.notion.configured,options:Df.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`disable`,`options`])]),v(L,{flat:``,dense:``,"no-caps":``,color:`primary`,icon:`health_and_safety`,label:t.$t(`settings.testIntegration`),loading:Mn.value===`notion`,disable:!Xn.value||Mn.value!==null,onClick:r[73]||=e=>Pn(`notion`)},null,8,[`label`,`loading`,`disable`]),Nn.value.notion?(f(),E(`div`,{key:0,class:a([`text-caption q-mt-sm`,Nn.value.notion.ok?`text-positive`:`text-negative`])},i(Nn.value.notion.detail)+` (`+i(Nn.value.notion.durationMs)+` ms) `,3)):x(``,!0)],2)):x(``,!0),N.value===`sentry`?(f(),E(`div`,ds,[v(B,{modelValue:Zn.value,"onUpdate:modelValue":r[74]||=e=>Zn.value=e,label:t.$t(`settings.integrationEnabled`),dark:``,dense:``,color:`primary`},null,8,[`modelValue`,`label`])])):x(``,!0),N.value===`sentry`?(f(),E(`div`,{key:22,class:a([`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`,{"opacity-50":!Zn.value}])},[v(Tn,{modelValue:jd.value.sentry,"onUpdate:modelValue":r[75]||=e=>jd.value.sentry=e,"connection-status":Ad.value.sentry,"onUpdate:connectionStatus":r[76]||=e=>Ad.value.sentry=e,integration:`sentry`},null,8,[`modelValue`,`connection-status`]),O(`div`,fs,i(t.$t(`settings.mcpSelection`)),1),O(`div`,ps,i(t.$t(Ad.value.sentry.configured?`integration.directOverrides`:`settings.mcpSelectionHint`)),1),O(`div`,ms,[O(`div`,hs,i(t.$t(`settings.sentryMcp`)),1),v(U,{modelValue:qn.value,"onUpdate:modelValue":r[77]||=e=>qn.value=e,"data-test":`sentry-mcp-key`,disable:Ad.value.sentry.configured,options:Df.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`disable`,`options`])]),v(L,{flat:``,dense:``,"no-caps":``,color:`primary`,icon:`health_and_safety`,label:t.$t(`settings.testIntegration`),loading:Mn.value===`sentry`,disable:!Zn.value||Mn.value!==null,class:`q-mt-sm`,onClick:r[78]||=e=>Pn(`sentry`)},null,8,[`label`,`loading`,`disable`]),Nn.value.sentry?(f(),E(`div`,{key:0,class:a([`text-caption q-mt-sm`,Nn.value.sentry.ok?`text-positive`:`text-negative`])},i(Nn.value.sentry.detail)+` (`+i(Nn.value.sentry.durationMs)+` ms) `,3)):x(``,!0)],2)):x(``,!0),N.value===`forge`?(f(),E(`div`,gs,[O(`div`,_s,i(t.$t(`settings.bitbucketCommunity`)),1),O(`div`,vs,i(t.$t(`settings.bitbucketCommunityHint`)),1),v(R,{modelValue:Yn.value,"onUpdate:modelValue":r[79]||=e=>Yn.value=e,label:t.$t(`settings.bitbucketUsername`),autocomplete:`username`,dark:``,dense:``,outlined:``,class:`q-mb-sm`},null,8,[`modelValue`,`label`]),v(R,{modelValue:Jn.value,"onUpdate:modelValue":r[80]||=e=>Jn.value=e,label:t.$t(`settings.bitbucketToken`),type:`password`,autocomplete:`off`,dark:``,dense:``,outlined:``},null,8,[`modelValue`,`label`])])):x(``,!0),N.value===`notion`?(f(),E(`div`,{key:24,class:a([`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`,{"opacity-50":!Xn.value}])},[O(`div`,ys,i(t.$t(`settings.notionStatus`)),1),O(`div`,bs,i(t.$t(`settings.notionStatusHint`)),1),O(`div`,xs,[O(`div`,Ss,i(t.$t(`settings.notionStatusProperty`)),1),v(R,{modelValue:yn.value,"onUpdate:modelValue":r[81]||=e=>yn.value=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.notionStatusPropertyPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),O(`div`,Cs,[O(`div`,ws,i(t.$t(`settings.notionInProgressStatus`)),1),v(R,{modelValue:bn.value,"onUpdate:modelValue":r[82]||=e=>bn.value=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.notionInProgressStatusPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),O(`div`,Ts,[O(`div`,Es,i(e(p)(`settings.notionInitialPrompt`)),1),v(q),v(L,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`restart_alt`,label:e(p)(`settings.resetToDefault`),loading:Y.value===`notionInitialPromptTemplate`,disable:Y.value!==null&&Y.value!==`notionInitialPromptTemplate`,onClick:r[83]||=e=>rp(`notionInitialPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),O(`div`,Ds,i(e(p)(`settings.notionInitialPrompt.help`,{variables:`{ticket_id}, {notion_url}, {notion_file_path}`})),1),v(R,{modelValue:Bn.value,"onUpdate:modelValue":r[84]||=e=>Bn.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])],2)):x(``,!0),N.value===`notion`?(f(),E(`div`,{key:25,class:a([`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`,{"opacity-50":!Xn.value}])},[O(`div`,Os,i(t.$t(`settings.notionAssignee`)),1),O(`div`,ks,i(t.$t(`settings.notionAssigneeHint`)),1),O(`div`,As,[O(`div`,js,i(t.$t(`settings.notionAssigneeProperty`)),1),v(R,{modelValue:xn.value,"onUpdate:modelValue":r[85]||=e=>xn.value=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.notionAssigneePropertyPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),O(`div`,Ms,[O(`div`,Ns,[O(`div`,Ps,i(t.$t(`settings.notionUserId`)),1),v(L,{flat:``,dense:``,"no-caps":``,size:`sm`,icon:`refresh`,color:`kobo-2`,loading:In.value,label:t.$t(`settings.notionUsersRefresh`),onClick:r[86]||=e=>zn(!0)},null,8,[`loading`,`label`])]),Fn.value.length>0?(f(),b(U,{key:0,modelValue:Sn.value,"onUpdate:modelValue":r[87]||=e=>Sn.value=e,options:Rn.value,"emit-value":``,"map-options":``,clearable:``,dense:``,dark:``,outlined:``,hint:t.$t(`settings.notionUserIdHint`),class:`settings-input`},{option:_(e=>[v(W,n(h(e.itemProps)),{default:_(()=>[v(G,{avatar:``},{default:_(()=>[v(Ae,{size:`24px`},{default:_(()=>[e.opt.avatarUrl?(f(),E(`img`,{key:0,src:e.opt.avatarUrl,alt:e.opt.label},null,8,Fs)):(f(),b(I,{key:1,name:`person`,size:`20px`}))]),_:2},1024)]),_:2},1024),v(G,null,{default:_(()=>[v(H,null,{default:_(()=>[S(i(e.opt.name),1)]),_:2},1024),v(H,{caption:``},{default:_(()=>[S(i(e.opt.email),1)]),_:2},1024)]),_:2},1024)]),_:2},1040)]),_:1},8,[`modelValue`,`options`,`hint`])):In.value?(f(),E(`div`,Is,i(t.$t(`settings.notionUsersLoading`)),1)):(f(),E(D,{key:2},[Ln.value?(f(),E(`div`,Ls,i(t.$t(`settings.notionUsersLoadFailed`,{error:Ln.value})),1)):x(``,!0),v(R,{modelValue:Sn.value,"onUpdate:modelValue":r[88]||=e=>Sn.value=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.notionUserIdPlaceholder`),hint:Ln.value?t.$t(`settings.notionUsersManualFallback`):t.$t(`settings.notionUserIdHint`),class:`settings-input`},null,8,[`modelValue`,`placeholder`,`hint`])],64))])],2)):x(``,!0),N.value===`sentry`?(f(),E(`div`,{key:26,class:a([`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`,{"opacity-50":!Zn.value}])},[O(`div`,Rs,i(e(p)(`settings.sentryIntegration`)),1),O(`div`,zs,[O(`div`,Bs,i(e(p)(`settings.sentryInitialPrompt`)),1),v(q),v(L,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`restart_alt`,label:e(p)(`settings.resetToDefault`),loading:Y.value===`sentryInitialPromptTemplate`,disable:Y.value!==null&&Y.value!==`sentryInitialPromptTemplate`,onClick:r[89]||=e=>rp(`sentryInitialPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),O(`div`,Vs,i(e(p)(`settings.sentryInitialPrompt.help`,{variables:`{issue_id}, {sentry_url}, {sentry_file_path}`})),1),v(R,{modelValue:Vn.value,"onUpdate:modelValue":r[90]||=e=>Vn.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])],2)):x(``,!0),N.value===`general`?(f(),E(`div`,Hs,[O(`div`,Us,i(t.$t(`settings.tagsTitle`)),1),O(`div`,Ws,i(t.$t(`settings.tagsHint`)),1),v(U,{modelValue:Qn.value,"onUpdate:modelValue":r[91]||=e=>Qn.value=e,label:t.$t(`settings.tagsLabel`),dark:``,outlined:``,multiple:``,"use-input":``,"use-chips":``,"new-value-mode":`add-unique`,"hide-dropdown-icon":``,"input-debounce":`0`,class:`settings-input`},null,8,[`modelValue`,`label`])])):x(``,!0),N.value===`scripts`?(f(),E(`div`,Gs,[O(`div`,Ks,i(t.$t(`settings.setupScript`)),1),O(`div`,qs,i(t.$t(`settings.setupScriptHint`)),1),v(R,{modelValue:er.value,"onUpdate:modelValue":r[92]||=e=>er.value=e,type:`textarea`,dark:``,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:t.$t(`settings.setupScriptPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`]),v(Z)])):x(``,!0),N.value===`scripts`?(f(),E(`div`,Js,[O(`div`,Ys,i(t.$t(`settings.cleanupScript`)),1),O(`div`,Xs,i(t.$t(`settings.cleanupScriptHint`)),1),v(R,{modelValue:tr.value,"onUpdate:modelValue":r[93]||=e=>tr.value=e,type:`textarea`,dark:``,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:t.$t(`settings.cleanupScriptPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`]),v(Z),O(`div`,Zs,i(t.$t(`settings.cleanupScriptMode`)),1),v(He,{modelValue:nr.value,"onUpdate:modelValue":r[94]||=e=>nr.value=e,options:[{label:t.$t(`settings.cleanupScriptMode.idle`),value:`idle`},{label:t.$t(`settings.cleanupScriptMode.noTasks`),value:`no-tasks`}],type:`radio`,color:`primary`,dense:``},null,8,[`modelValue`,`options`]),v(rt,{modelValue:rr.value,"onUpdate:modelValue":r[95]||=e=>rr.value=e,label:t.$t(`settings.cleanupScriptOnlyOnChanges`),dark:``,dense:``,color:`primary`,class:`q-mt-sm`},null,8,[`modelValue`,`label`])])):x(``,!0),N.value===`scripts`?(f(),E(`div`,Qs,[O(`div`,$s,i(t.$t(`settings.archiveScript`)),1),O(`div`,ec,i(t.$t(`settings.archiveScriptHint`)),1),v(R,{modelValue:ir.value,"onUpdate:modelValue":r[96]||=e=>ir.value=e,type:`textarea`,dark:``,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:t.$t(`settings.archiveScriptPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`]),v(Z)])):x(``,!0),N.value===`scripts`?(f(),E(`div`,tc,[O(`div`,nc,[v(B,{modelValue:nt.value,"onUpdate:modelValue":r[97]||=e=>nt.value=e,label:t.$t(`settings.stopDevServersOnShutdown`),color:`primary`},null,8,[`modelValue`,`label`]),O(`div`,rc,i(t.$t(`settings.stopDevServersOnShutdownHint`)),1)]),O(`div`,ic,i(t.$t(`settings.hook.shutdownTitle`)),1),O(`div`,ac,i(t.$t(`settings.hook.shutdownHint`)),1),v(R,{modelValue:or.value,"onUpdate:modelValue":r[98]||=e=>or.value=e,type:`textarea`,dark:``,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:t.$t(`settings.hook.shutdownPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`]),v(Z,{event:`kobo-shutdown`})])):x(``,!0),N.value===`scripts`?(f(),E(`div`,oc,[O(`div`,sc,i(t.$t(`settings.hook.sessionEndedTitle`)),1),O(`div`,cc,i(t.$t(`settings.hook.sessionEndedHint`)),1),v(R,{modelValue:ar.value,"onUpdate:modelValue":r[99]||=e=>ar.value=e,type:`textarea`,dark:``,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:t.$t(`settings.hook.sessionEndedPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`]),v(Z,{event:`session-ended`})])):x(``,!0),N.value===`scripts`?(f(),E(`div`,lc,[O(`div`,uc,i(t.$t(`settings.hook.prMergedTitle`)),1),O(`div`,dc,i(t.$t(`settings.hook.prMergedHint`)),1),v(R,{modelValue:sr.value,"onUpdate:modelValue":r[100]||=e=>sr.value=e,type:`textarea`,dark:``,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:t.$t(`settings.hook.prMergedPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`]),v(Z,{event:`pr-merged`})])):x(``,!0),N.value===`scripts`?(f(),E(`div`,fc,[O(`div`,pc,i(t.$t(`settings.hook.autoLoopDisabledTitle`)),1),O(`div`,mc,i(t.$t(`settings.hook.autoLoopDisabledHint`)),1),v(R,{modelValue:cr.value,"onUpdate:modelValue":r[101]||=e=>cr.value=e,type:`textarea`,dark:``,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:t.$t(`settings.hook.autoLoopDisabledPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`]),v(Z,{event:`autoloop-disabled`})])):x(``,!0),N.value===`scripts`?(f(),E(`div`,hc,[O(`div`,gc,[O(`div`,_c,i(t.$t(`settings.changeSourceBranchScript`)),1),v(L,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`primary`,icon:`restart_alt`,label:t.$t(`settings.changeSourceBranchScript.resetDefault`),onClick:r[102]||=e=>Td(`global`)},null,8,[`label`])]),O(`div`,vc,i(t.$t(`settings.changeSourceBranchScript.help`)),1),O(`pre`,yc,i(t.$t(`settings.changeSourceBranchScript.envHelp`)),1),v(R,{modelValue:lr.value,"onUpdate:modelValue":r[103]||=e=>lr.value=e,type:`textarea`,dark:``,outlined:``,"input-style":{minHeight:`400px`,maxHeight:`600px`},placeholder:t.$t(`settings.changeSourceBranchScript.placeholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])])):x(``,!0),N.value===`worktrees`?(f(),E(`div`,bc,[O(`div`,xc,i(t.$t(`settings.worktreesTitle`)),1),O(`div`,Sc,i(t.$t(`settings.worktreesHint`)),1),v(R,{ref_key:`globalWorktreesPathInput`,ref:hr,modelValue:mr.value,"onUpdate:modelValue":r[104]||=e=>mr.value=e,label:t.$t(`settings.worktreesPathLabel`),dense:``,dark:``,outlined:``,placeholder:e(De),rules:Dd,"lazy-rules":``,class:`settings-input`},null,8,[`modelValue`,`label`,`placeholder`]),v(B,{modelValue:gr.value,"onUpdate:modelValue":r[105]||=e=>gr.value=e,label:t.$t(`settings.worktreesPrefixByProject`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption q-mt-sm`},null,8,[`modelValue`,`label`]),O(`div`,Cc,i(t.$t(`settings.worktreesPrefixByProjectHint`)),1),v(Ge,{dark:``,class:`q-my-md`}),O(`div`,wc,[v(B,{modelValue:Ie.value,"onUpdate:modelValue":r[106]||=e=>Ie.value=e,label:t.$t(`settings.autoPurgeOnPrMerged`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`]),O(`div`,Tc,i(t.$t(`settings.autoPurgeOnPrMergedHint`)),1)]),v(Ge,{dark:``,class:`q-my-md`}),O(`div`,Ec,[O(`div`,Dc,i(t.$t(`settings.retentionTitle`)),1),O(`div`,Oc,i(t.$t(`settings.retentionWarning`)),1),O(`div`,kc,i(t.$t(`settings.retentionHint`)),1),v(R,{modelValue:lt.value,"onUpdate:modelValue":r[107]||=e=>lt.value=e,modelModifiers:{number:!0},label:t.$t(`settings.retentionDaysLabel`),hint:t.$t(`settings.retentionDaysHint`),type:`number`,min:`0`,max:`3650`,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`label`,`hint`]),v(R,{modelValue:K.value,"onUpdate:modelValue":r[108]||=e=>K.value=e,modelModifiers:{number:!0},label:t.$t(`settings.retentionKeepLabel`),hint:t.$t(`settings.retentionKeepHint`),type:`number`,min:`0`,max:`1000000`,dense:``,dark:``,outlined:``,class:`settings-input q-mt-md`},null,8,[`modelValue`,`label`,`hint`]),lt.value===0?(f(),E(`div`,Ac,i(t.$t(`settings.retentionDisabledHint`)),1)):x(``,!0)]),v(ut,{dense:``,dark:``,icon:`help_outline`,label:t.$t(`settings.purgeDocsTitle`),class:`purge-docs q-mt-md rounded-borders`},{default:_(()=>[O(`div`,jc,[O(`div`,Mc,i(t.$t(`settings.purgeDocsRestoreTitle`)),1),O(`div`,Nc,i(t.$t(`settings.purgeDocsRestoreIntro`)),1),O(`pre`,Pc,i(t.$t(`settings.purgeDocsRestoreCommands`)),1),O(`div`,Fc,i(t.$t(`settings.purgeDocsRestoreFootnote`)),1),O(`div`,Ic,i(t.$t(`settings.purgeDocsPermissionsTitle`)),1),O(`div`,Lc,i(t.$t(`settings.purgeDocsPermissionsIntro`)),1),O(`ul`,Rc,[O(`li`,null,i(t.$t(`settings.purgeDocsPermissionsDocker`)),1),O(`li`,null,i(t.$t(`settings.purgeDocsPermissionsAcl`)),1)]),O(`pre`,zc,i(t.$t(`settings.purgeDocsPermissionsAclCommand`)),1),O(`div`,Bc,i(t.$t(`settings.purgeDocsPermissionsFootnote`)),1),O(`div`,Vc,i(t.$t(`settings.purgeDocsPermissionsRecoverTitle`)),1),O(`div`,Hc,i(t.$t(`settings.purgeDocsPermissionsRecoverIntro`)),1),O(`div`,Uc,i(t.$t(`settings.purgeDocsPermissionsRecoverAclIntro`)),1),O(`pre`,Wc,i(t.$t(`settings.purgeDocsPermissionsRecoverAclCommand`)),1),O(`div`,Gc,i(t.$t(`settings.purgeDocsPermissionsRecoverChownIntro`)),1),O(`pre`,Kc,i(t.$t(`settings.purgeDocsPermissionsRecoverChownCommand`)),1),O(`div`,qc,i(t.$t(`settings.purgeDocsPermissionsRecoverFootnote`)),1)])]),_:1},8,[`label`])])):x(``,!0),N.value===`general`?(f(),E(`div`,Jc,[O(`div`,Yc,i(t.$t(`settings.network.title`)),1),O(`div`,Xc,i(t.$t(`settings.network.hint`)),1),v(B,{"model-value":J.value.enabled,disable:Ot.value,label:t.$t(`settings.network.enable`),dark:``,color:`primary`,"onUpdate:modelValue":Yt},null,8,[`model-value`,`disable`,`label`]),Ht.value?(f(),b(Pt,{key:0,class:`bg-amber-1 text-amber-9 q-mt-sm`,dense:``,rounded:``},{default:_(()=>[S(i(t.$t(`settings.network.restartRequired`)),1)]),_:1})):x(``,!0),J.value.enabled?(f(),E(`div`,Zc,[v(B,{"model-value":J.value.behindProxy,disable:Ot.value,label:t.$t(`settings.network.behindProxy`),dark:``,color:`primary`,"onUpdate:modelValue":Xt},null,8,[`model-value`,`disable`,`label`]),O(`div`,Qc,i(t.$t(`settings.network.behindProxyHint`)),1)])):x(``,!0),J.value.enabled&&J.value.token?(f(),E(D,{key:2},[O(`div`,$c,[O(`div`,el,i(t.$t(`settings.network.token`)),1),v(R,{"model-value":J.value.token,readonly:``,dense:``,dark:``,outlined:``},{append:_(()=>[v(L,{flat:``,dense:``,icon:`content_copy`,title:t.$t(`settings.network.copy`),onClick:$t},null,8,[`title`])]),_:1},8,[`model-value`]),v(L,{class:`q-mt-sm`,label:t.$t(`settings.network.regenerate`),loading:Ot.value,color:`primary`,outline:``,dense:``,onClick:Qt},null,8,[`label`,`loading`])]),O(`div`,tl,[O(`div`,nl,i(t.$t(`settings.network.urls`)),1),Gt.value.length===0?(f(),E(`div`,rl,i(t.$t(`settings.network.noUrls`)),1)):x(``,!0),(f(!0),E(D,null,A(Gt.value,e=>(f(),E(`div`,{key:e,class:`text-body2`},i(e),1))),128))]),Ut.value?(f(),E(`div`,il,[O(`div`,al,i(t.$t(`settings.network.scan`)),1),O(`img`,{src:Ut.value,alt:t.$t(`settings.network.scan`),width:`200`,height:`200`},null,8,ol)])):x(``,!0)],64)):x(``,!0),v(Hn,{"network-enabled":J.value.enabled,"behind-proxy":J.value.behindProxy},null,8,[`network-enabled`,`behind-proxy`])])):x(``,!0),N.value===`export`?(f(),E(`div`,sl,[O(`div`,cl,i(t.$t(`settings.shareTitle`)),1),O(`div`,ll,i(t.$t(`settings.shareHint`)),1),O(`div`,ul,[v(L,{label:t.$t(`settings.exportConfig`),icon:`download`,"no-caps":``,outline:``,color:`kobo-2`,onClick:ep},null,8,[`label`]),v(L,{label:t.$t(`settings.importConfig`),icon:`upload`,"no-caps":``,outline:``,color:`kobo-2`,onClick:tp},null,8,[`label`]),O(`input`,{ref_key:`importFileInput`,ref:$f,type:`file`,accept:`application/json,.json`,style:{display:`none`},onChange:np},null,544)])])):x(``,!0)],512),[[ne,ce.value]]),N.value===`projects`?(f(),E(`div`,dl,[O(`div`,fl,[O(`div`,pl,[O(`div`,ml,[O(`div`,hl,[O(`div`,gl,i(t.$t(`settings.configuredProjects`)),1)]),v(Ge,{dark:``}),v(V,{dark:``,dense:``,class:`q-py-xs`},{default:_(()=>[(f(!0),E(D,null,A(e(s).projects,(e,t)=>(f(),b(W,{key:e.path,clickable:``,active:Nd.value===t&&!Q.value,"active-class":`project-item--active`,class:`project-item q-mx-xs rounded-borders`,style:{"min-height":`40px`},onClick:e=>_p(t)},{default:_(()=>[v(G,null,{default:_(()=>[v(H,{class:`text-body2 text-kobo-1`},{default:_(()=>[S(i(vp(e)),1)]),_:2},1024),v(H,{caption:``,class:`text-kobo-3 ellipsis`,style:{"font-size":`11px`,"font-family":`monospace`}},{default:_(()=>[S(i(e.path),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,[`active`,`onClick`]))),128))]),_:1}),e(s).projects.length===0&&!e(s).loading?(f(),E(`div`,_l,i(t.$t(`settings.noProjects`)),1)):x(``,!0),v(Ge,{dark:``}),O(`div`,vl,[v(L,{"data-tour":`settings-card-projects`,label:t.$t(`settings.addProject`),icon:`add`,"no-caps":``,flat:``,dense:``,class:`full-width`,color:`primary`,onClick:gp},null,8,[`label`])])])]),O(`div`,yl,[O(`div`,bl,[Lf.value||Q.value?(f(),E(D,{key:0},[O(`div`,xl,[O(`div`,Sl,i(Q.value?t.$t(`settings.newProject`):t.$t(`settings.editProject`)),1),v(q),Q.value?x(``,!0):(f(),b(L,{key:0,label:t.$t(`common.delete`),icon:`delete_outline`,"no-caps":``,flat:``,dense:``,size:`sm`,color:`red-5`,loading:Jd.value,onClick:hp},null,8,[`label`,`loading`]))]),v(Ge,{dark:``,class:`q-mb-md`}),Q.value&&e(s).projects.length>0?(f(),E(`div`,Cl,[O(`div`,wl,i(t.$t(`settings.copyFrom`)),1),v(U,{"model-value":Fd.value,options:Ld.value,"option-value":`value`,"option-label":`label`,"emit-value":``,"map-options":``,clearable:``,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.copyFromPlaceholder`),class:`settings-input`,"onUpdate:modelValue":Bd},null,8,[`model-value`,`options`,`placeholder`]),O(`div`,Tl,i(t.$t(`settings.copyFromHint`)),1)])):x(``,!0),O(`div`,El,[O(`div`,Dl,i(t.$t(`settings.projectGroup.identity`)),1),O(`div`,Ol,[O(`div`,kl,i(t.$t(`settings.projectPath`)),1),v(R,{modelValue:$.value.path,"onUpdate:modelValue":r[110]||=e=>$.value.path=e,dense:``,dark:``,outlined:``,readonly:!Q.value,placeholder:t.$t(`settings.projectPathPlaceholder`),class:a([`settings-input`,{"readonly-input":!Q.value}])},C({_:2},[Q.value?{name:`append`,fn:_(()=>[v(L,{flat:``,dense:``,round:``,size:`sm`,icon:`folder_open`,color:`kobo-2`,onClick:r[109]||=e=>dr.value=!0},{default:_(()=>[v(mt,null,{default:_(()=>[S(i(t.$t(`folderPicker.title`)),1)]),_:1})]),_:1})]),key:`0`}:void 0]),1032,[`modelValue`,`readonly`,`placeholder`,`class`])]),O(`div`,Al,[O(`div`,jl,i(t.$t(`settings.displayName`)),1),v(R,{modelValue:$.value.displayName,"onUpdate:modelValue":r[111]||=e=>$.value.displayName=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.displayNamePlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),O(`div`,null,[O(`div`,Ml,i(t.$t(`settings.projectColor`)),1),O(`div`,Nl,[(f(!0),E(D,null,A(e(Ft),e=>(f(),b(ht,{key:e,dense:``,clickable:``,color:e,icon:$.value.color===e?`check`:void 0,"text-color":`white`,onClick:t=>$.value.color=e},null,8,[`color`,`icon`,`onClick`]))),128)),v(L,{flat:``,dense:``,"no-caps":``,size:`xs`,label:t.$t(`settings.projectColorClear`),color:`kobo-2`,disable:!$.value.color,onClick:r[112]||=e=>$.value.color=null},null,8,[`label`,`disable`])]),O(`div`,Pl,i($.value.color??t.$t(`settings.projectColorDefault`)),1)])]),O(`div`,Fl,[O(`div`,Il,i(t.$t(`settings.projectGroup.defaults`)),1),O(`div`,Ll,[O(`div`,Rl,i(t.$t(`settings.defaultSourceBranch`)),1),v(U,{modelValue:$.value.defaultSourceBranch,"onUpdate:modelValue":r[113]||=e=>$.value.defaultSourceBranch=e,options:yp.value,dense:``,dark:``,outlined:``,"use-input":``,"emit-value":``,loading:Kd.value,class:`settings-input`,placeholder:`main`,onFilter:bp},{"no-option":_(()=>[v(W,null,{default:_(()=>[v(G,{class:`text-kobo-3 text-caption`},{default:_(()=>[S(i($.value.path.trim()?t.$t(`createPage.noBranches`):t.$t(`createPage.enterPath`)),1)]),_:1})]),_:1})]),_:1},8,[`modelValue`,`options`,`loading`])]),O(`div`,zl,[O(`div`,Bl,i(t.$t(`settings.defaultModel.project`)),1),v(U,{modelValue:$.value.defaultModel,"onUpdate:modelValue":r[114]||=e=>$.value.defaultModel=e,options:Sf.value,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])]),O(`div`,null,[O(`div`,Vl,i(t.$t(`settings.forge`)),1),v(U,{modelValue:$.value.forge,"onUpdate:modelValue":r[115]||=e=>$.value.forge=e,options:Cf.value,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])])]),O(`div`,Hl,[O(`div`,Ul,i(t.$t(`settings.nav.git`)),1),v(zt,{modelValue:$.value.workflowPolicy,"onUpdate:modelValue":r[116]||=e=>$.value.workflowPolicy=e,inherit:``,class:`q-my-md`},null,8,[`modelValue`]),O(`div`,Wl,[O(`div`,Gl,i(t.$t(`settings.gitConventions.project`)),1),O(`div`,Kl,i(e(p)(`settings.initialPrompt.inheritHint`)),1),v(R,{modelValue:$.value.gitConventions,"onUpdate:modelValue":r[117]||=e=>$.value.gitConventions=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`140px`},placeholder:t.$t(`settings.gitConventionsEmpty`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])])]),O(`div`,ql,[O(`div`,Jl,i(t.$t(`settings.projectGroup.prompts`)),1),O(`div`,Yl,[O(`div`,Xl,i(t.$t(`settings.prPromptTemplate.project`)),1),O(`div`,Zl,i(e(p)(`settings.initialPrompt.inheritHint`)),1),v(R,{modelValue:$.value.prPromptTemplate,"onUpdate:modelValue":r[118]||=e=>$.value.prPromptTemplate=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:t.$t(`settings.prPromptPlaceholder.project`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),O(`div`,Ql,[O(`div`,$l,i(t.$t(`settings.reviewPromptTemplate.project`)),1),O(`div`,eu,i(e(p)(`settings.initialPrompt.inheritHint`)),1),v(R,{modelValue:$.value.reviewPromptTemplate,"onUpdate:modelValue":r[119]||=e=>$.value.reviewPromptTemplate=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:t.$t(`settings.reviewPromptPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),O(`div`,tu,[O(`div`,nu,i(t.$t(`settings.ciFixPromptTemplate.project`)),1),O(`div`,ru,i(e(p)(`settings.initialPrompt.inheritHint`)),1),v(R,{modelValue:$.value.ciFixPromptTemplate,"onUpdate:modelValue":r[120]||=e=>$.value.ciFixPromptTemplate=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:t.$t(`settings.ciFixPromptPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),Xn.value?(f(),E(`div`,iu,[O(`div`,au,i(e(p)(`settings.notionInitialPrompt.project`)),1),O(`div`,ou,i(e(p)(`settings.initialPrompt.inheritHint`)),1),v(R,{modelValue:$.value.notionInitialPromptTemplate,"onUpdate:modelValue":r[121]||=e=>$.value.notionInitialPromptTemplate=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])])):x(``,!0),Zn.value?(f(),E(`div`,su,[O(`div`,cu,i(e(p)(`settings.sentryInitialPrompt.project`)),1),O(`div`,lu,i(e(p)(`settings.initialPrompt.inheritHint`)),1),v(R,{modelValue:$.value.sentryInitialPromptTemplate,"onUpdate:modelValue":r[122]||=e=>$.value.sentryInitialPromptTemplate=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])])):x(``,!0),O(`div`,null,[O(`div`,uu,i(t.$t(`settings.taskPromptTemplate`)),1),v(R,{modelValue:$.value.taskPromptTemplate,"onUpdate:modelValue":r[123]||=e=>$.value.taskPromptTemplate=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:t.$t(`settings.taskPromptTemplatePlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`]),O(`div`,du,i(t.$t(`settings.taskPromptTemplateHint`)),1)])]),O(`div`,fu,[O(`div`,pu,i(t.$t(`settings.projectGroup.scripts`)),1),O(`div`,mu,[O(`div`,hu,i(t.$t(`settings.setupScript`)),1),O(`div`,gu,i(e(p)(`settings.initialPrompt.inheritHint`)),1),v(R,{modelValue:$.value.setupScript,"onUpdate:modelValue":r[124]||=e=>$.value.setupScript=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:t.$t(`settings.setupScriptPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`]),v(Z),O(`div`,_u,i(t.$t(`settings.setupScriptHint`)),1)]),O(`div`,vu,[O(`div`,yu,i(t.$t(`settings.cleanupScript`)),1),O(`div`,bu,i(e(p)(`settings.initialPrompt.inheritHint`)),1),v(R,{modelValue:$.value.cleanupScript,"onUpdate:modelValue":r[125]||=e=>$.value.cleanupScript=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:t.$t(`settings.cleanupScriptPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`]),v(Z),O(`div`,xu,i(t.$t(`settings.cleanupScriptMode`)),1),v(U,{modelValue:$.value.cleanupScriptMode,"onUpdate:modelValue":r[126]||=e=>$.value.cleanupScriptMode=e,options:pr.value,"emit-value":``,"map-options":``,dense:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])]),O(`div`,null,[O(`div`,Su,i(t.$t(`settings.archiveScript`)),1),O(`div`,Cu,i(e(p)(`settings.initialPrompt.inheritHint`)),1),v(R,{modelValue:$.value.archiveScript,"onUpdate:modelValue":r[127]||=e=>$.value.archiveScript=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:t.$t(`settings.archiveScriptPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`]),v(Z)]),O(`div`,null,[O(`div`,wu,i(t.$t(`settings.hook.shutdownTitle`)),1),O(`div`,Tu,i(e(p)(`settings.initialPrompt.inheritHint`)),1),v(R,{modelValue:$.value.shutdownScript,"onUpdate:modelValue":r[128]||=e=>$.value.shutdownScript=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:t.$t(`settings.hook.shutdownPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`]),v(Z,{event:`kobo-shutdown`})]),O(`div`,null,[O(`div`,Eu,i(t.$t(`settings.hook.sessionEndedTitle`)),1),O(`div`,Du,i(e(p)(`settings.initialPrompt.inheritHint`)),1),v(R,{modelValue:$.value.sessionEndedScript,"onUpdate:modelValue":r[129]||=e=>$.value.sessionEndedScript=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:t.$t(`settings.hook.sessionEndedPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`]),v(Z,{event:`session-ended`})]),O(`div`,null,[O(`div`,Ou,i(t.$t(`settings.hook.prMergedTitle`)),1),O(`div`,ku,i(e(p)(`settings.initialPrompt.inheritHint`)),1),v(R,{modelValue:$.value.prMergedScript,"onUpdate:modelValue":r[130]||=e=>$.value.prMergedScript=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:t.$t(`settings.hook.prMergedPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`]),v(Z,{event:`pr-merged`})]),O(`div`,null,[O(`div`,Au,i(t.$t(`settings.hook.autoLoopDisabledTitle`)),1),O(`div`,ju,i(e(p)(`settings.initialPrompt.inheritHint`)),1),v(R,{modelValue:$.value.autoLoopDisabledScript,"onUpdate:modelValue":r[131]||=e=>$.value.autoLoopDisabledScript=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:t.$t(`settings.hook.autoLoopDisabledPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`]),v(Z,{event:`autoloop-disabled`})]),O(`div`,null,[O(`div`,Mu,[O(`div`,Nu,i(t.$t(`settings.changeSourceBranchScript`)),1),v(L,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`primary`,icon:`restart_alt`,label:t.$t(`settings.changeSourceBranchScript.resetDefault`),onClick:r[132]||=e=>Td(`project`)},null,8,[`label`])]),O(`div`,Pu,i(t.$t(`settings.changeSourceBranchScript.help`)),1),O(`pre`,Fu,i(t.$t(`settings.changeSourceBranchScript.envHelp`)),1),v(R,{modelValue:$.value.changeSourceBranchScript,"onUpdate:modelValue":r[133]||=e=>$.value.changeSourceBranchScript=e,type:`textarea`,outlined:``,"input-style":{minHeight:`400px`,maxHeight:`600px`},placeholder:t.$t(`settings.changeSourceBranchScript.placeholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])])]),O(`div`,Iu,[O(`div`,Lu,i(t.$t(`settings.devServer`)),1),O(`div`,Ru,[O(`div`,zu,i(t.$t(`settings.devServerStart`)),1),v(R,{modelValue:$.value.devServer.startCommand,"onUpdate:modelValue":r[134]||=e=>$.value.devServer.startCommand=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`60px`},placeholder:t.$t(`settings.devServerStartPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),O(`div`,null,[O(`div`,Bu,i(t.$t(`settings.devServerStop`)),1),v(R,{modelValue:$.value.devServer.stopCommand,"onUpdate:modelValue":r[135]||=e=>$.value.devServer.stopCommand=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`60px`},placeholder:t.$t(`settings.devServerStopPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])])]),O(`div`,Vu,[O(`div`,Hu,i(t.$t(`settings.e2e.title`)),1),O(`div`,Uu,i(t.$t(`settings.e2e.helpText`)),1),v(U,{modelValue:$.value.e2e.framework,"onUpdate:modelValue":r[136]||=e=>$.value.e2e.framework=e,options:[{label:t.$t(`settings.e2e.frameworkNone`),value:``},{label:`Cypress`,value:`cypress`},{label:`Playwright`,value:`playwright`},{label:`Jest`,value:`jest`},{label:`Vitest`,value:`vitest`},{label:t.$t(`settings.e2e.frameworkOther`),value:`other`}],"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input q-mb-sm`,label:t.$t(`settings.e2e.framework`)},null,8,[`modelValue`,`options`,`label`]),$.value.e2e.framework?(f(),E(D,{key:0},[v(U,{modelValue:$.value.e2e.skill,"onUpdate:modelValue":r[137]||=e=>$.value.e2e.skill=e,options:Hd.value,"use-input":``,"fill-input":``,"hide-selected":``,"hide-dropdown-icon":``,"input-debounce":`200`,"new-value-mode":`add-unique`,dense:``,dark:``,outlined:``,class:`settings-input q-mb-sm`,label:t.$t(`settings.e2e.skill`),placeholder:t.$t(`settings.e2e.skillPlaceholder`),onFilter:Wd},null,8,[`modelValue`,`options`,`label`,`placeholder`]),v(R,{modelValue:$.value.e2e.prompt,"onUpdate:modelValue":r[138]||=e=>$.value.e2e.prompt=e,type:`textarea`,autogrow:``,dense:``,dark:``,outlined:``,class:`settings-input mono-textarea`,label:t.$t(`settings.e2e.prompt`),placeholder:t.$t(`settings.e2e.promptPlaceholder`)},null,8,[`modelValue`,`label`,`placeholder`])],64)):x(``,!0)]),O(`div`,Wu,[O(`div`,Gu,i(t.$t(`settings.finalization.title`)),1),O(`div`,Ku,i(t.$t(`settings.finalization.helpText`)),1),v(R,{modelValue:$.value.finalization.prompt,"onUpdate:modelValue":r[139]||=e=>$.value.finalization.prompt=e,type:`textarea`,autogrow:``,rows:`4`,dense:``,dark:``,outlined:``,class:`settings-input mono-textarea q-mb-sm`,label:t.$t(`settings.finalization.prompt`),placeholder:t.$t(`settings.finalization.promptPlaceholder`)},null,8,[`modelValue`,`label`,`placeholder`])])],64)):(f(),E(`div`,qu,[v(I,{name:`folder_open`,size:`48px`,color:`kobo-3`,class:`q-mb-md`}),O(`div`,Ju,i(t.$t(`settings.selectProject`)),1)]))])])])])):x(``,!0),N.value===`templates`?(f(),E(`div`,Yu,[O(`div`,Xu,[O(`div`,Zu,[O(`div`,Qu,i(t.$t(`templates.title`)),1),O(`div`,$u,[v(L,{flat:``,color:`kobo-2`,icon:`restart_alt`,label:t.$t(`templates.reloadDefaults`),dense:``,"no-caps":``,loading:nf.value,onClick:lf},{default:_(()=>[v(mt,null,{default:_(()=>[S(i(t.$t(`templates.reloadDefaultsHint`)),1)]),_:1})]),_:1},8,[`label`,`loading`]),v(L,{color:`primary`,icon:`add`,label:t.$t(`templates.newTemplate`),dense:``,"no-caps":``,onClick:of},null,8,[`label`])])]),v(Ge,{dark:``,class:`q-mb-md`}),rf.value.length===0?(f(),E(`div`,ed,i(t.$t(`templates.empty`)),1)):(f(),E(`div`,td,[(f(!0),E(D,null,A(rf.value,n=>(f(),b(ot,{key:n.slug,dark:``,flat:``,bordered:``,class:`q-pa-md template-card`},{default:_(()=>[O(`div`,nd,[O(`div`,rd,[O(`div`,id,` /`+i(n.slug),1),O(`div`,ad,i(n.description),1)]),O(`div`,od,[e(c).isDefault(n.slug)?(f(),b(L,{key:0,flat:``,dense:``,round:``,size:`sm`,icon:`settings_backup_restore`,color:`kobo-2`,onClick:e=>mf(n)},{default:_(()=>[v(mt,null,{default:_(()=>[S(i(t.$t(`templates.resetToDefault`)),1)]),_:1})]),_:1},8,[`onClick`])):x(``,!0),v(L,{flat:``,dense:``,round:``,size:`sm`,icon:`edit`,color:`kobo-2`,onClick:e=>sf(n)},{default:_(()=>[v(mt,null,{default:_(()=>[S(i(t.$t(`templates.editTemplate`)),1)]),_:1})]),_:1},8,[`onClick`]),v(L,{flat:``,dense:``,round:``,size:`sm`,icon:`delete`,color:`red-4`,onClick:e=>uf(n)},{default:_(()=>[v(mt,null,{default:_(()=>[S(i(t.$t(`templates.deleteTemplate`)),1)]),_:1})]),_:1},8,[`onClick`])])])]),_:2},1024))),128))])),O(`div`,sd,i(t.$t(`templates.filePath`,{path:`~/.config/kobo/templates.json`})),1)])])):x(``,!0),N.value===`workspaceTemplates`?(f(),E(`div`,cd,[O(`div`,ld,[O(`div`,ud,i(t.$t(`workspaceTemplates.title`)),1),O(`div`,dd,i(t.$t(`workspaceTemplates.hint`)),1),e(d).templates.length===0?(f(),E(`div`,fd,i(t.$t(`workspaceTemplates.empty`)),1)):(f(),b(V,{key:1,dark:``,separator:``},{default:_(()=>[(f(!0),E(D,null,A(e(d).templates,e=>(f(),b(ut,{key:e.id,dense:``,"header-class":`text-kobo-1`},{header:_(()=>[v(G,null,{default:_(()=>[v(H,null,{default:_(()=>[S(i(e.name),1)]),_:2},1024),v(H,{caption:``,class:`text-kobo-3`},{default:_(()=>[S(i(e.preset.projectPath||t.$t(`workspaceTemplates.anyProject`))+` · `+i(e.preset.engine??`-`)+` · `+i(e.preset.model??`-`)+` · `+i(df(e.updatedAt)),1)]),_:2},1024)]),_:2},1024),v(G,{side:``},{default:_(()=>[O(`div`,pd,[v(L,{flat:``,dense:``,round:``,size:`sm`,icon:`edit`,title:t.$t(`workspaceTemplates.rename`),onClick:ee(t=>ff(e.id,e.name),[`stop`])},null,8,[`title`,`onClick`]),v(L,{flat:``,dense:``,round:``,size:`sm`,icon:`delete`,color:`kobo-danger`,title:t.$t(`common.delete`),onClick:ee(t=>pf(e.id,e.name),[`stop`])},null,8,[`title`,`onClick`])])]),_:2},1024)]),default:_(()=>[v(ot,{dark:``,flat:``,class:`settings-subcard q-pa-md`},{default:_(()=>[O(`pre`,md,i(JSON.stringify(e.preset,null,2)),1)]),_:2},1024)]),_:2},1024))),128))]),_:1}))])])):x(``,!0)])]),v(M,{name:`save-bar`},{default:_(()=>[Kf.value?(f(),E(`div`,{key:0,class:a([`settings-savebar`,{"settings-savebar--full":e(k)}])},[O(`span`,hd,i(t.$t(`settings.unsavedChanges`)),1),v(L,{dense:``,"no-caps":``,unelevated:``,class:`settings-savebar__action`,loading:qf.value,label:t.$t(`common.save`),onClick:Jf},null,8,[`loading`,`label`])],2)):x(``,!0)]),_:1})]),v(Je,{modelValue:Yd.value,"onUpdate:modelValue":r[143]||=e=>Yd.value=e,persistent:``},{default:_(()=>[v(ot,{dark:``,style:{"min-width":`560px`,"max-width":`800px`,width:`80vw`}},{default:_(()=>[v(at,null,{default:_(()=>[O(`div`,gd,i(Xd.value===null?t.$t(`templates.newTemplate`):t.$t(`templates.editTemplate`)),1)]),_:1}),v(at,{class:`q-gutter-md`},{default:_(()=>[v(R,{modelValue:Zd.value,"onUpdate:modelValue":r[140]||=e=>Zd.value=e,label:t.$t(`templates.slug`),hint:t.$t(`templates.slugHint`),dark:``,dense:``,prefix:`/`,disable:Xd.value!==null,rules:[e=>/^[a-z0-9][a-z0-9-]{0,63}$/.test(e)||t.$t(`templates.slugInvalid`)],"lazy-rules":``},null,8,[`modelValue`,`label`,`hint`,`disable`,`rules`]),v(R,{modelValue:Qd.value,"onUpdate:modelValue":r[141]||=e=>Qd.value=e,label:t.$t(`templates.description`),hint:t.$t(`templates.descriptionHint`),dark:``,dense:``,counter:``,maxlength:`120`,rules:[e=>e&&e.trim().length>0||``]},null,8,[`modelValue`,`label`,`hint`,`rules`]),v(R,{modelValue:$d.value,"onUpdate:modelValue":r[142]||=e=>$d.value=e,label:t.$t(`templates.content`),hint:t.$t(`templates.contentHint`),dark:``,dense:``,type:`textarea`,autogrow:``,counter:``,maxlength:`4096`,rules:[e=>e&&e.trim().length>0||``]},null,8,[`modelValue`,`label`,`hint`,`rules`]),v(ut,{dense:``,"dense-toggle":``,label:t.$t(`templates.availableVars`),"header-class":`text-kobo-3 text-caption q-pa-none`,style:{"font-size":`11px`}},{default:_(()=>[O(`div`,_d,[(f(),E(D,null,A(af,e=>O(`div`,{key:e,class:`text-kobo-2 q-mb-xs`},i(e),1)),64))])]),_:1},8,[`label`]),ef.value?(f(),E(`div`,vd,i(ef.value),1)):x(``,!0)]),_:1}),v(Oe,{align:`right`},{default:_(()=>[g(v(L,{flat:``,label:t.$t(`common.cancel`)},null,8,[`label`]),[[gt]]),v(L,{flat:``,color:`primary`,label:Xd.value===null?t.$t(`templates.create`):t.$t(`templates.save`),loading:tf.value,onClick:cf},null,8,[`label`,`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),v(jt,{modelValue:dr.value,"onUpdate:modelValue":r[144]||=e=>dr.value=e,"initial-path":$.value.path,onSelect:fr},null,8,[`modelValue`,`initial-path`])]),_:1},8,[`style-fn`]))}}),[[`__scopeId`,`data-v-e93a78bf`]]);export{bd as default,Yt as n,Jt as t};
|
package/src/client/dist/pwa/assets/{SplitWorkspacePage-BZ8wN4ii.js → SplitWorkspacePage-DKCtOZO4.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{N as e,S as t,mt as n,ut as r,v as i}from"./reactivity.esm-bundler-Dplx1ILy.js";import{C as a,F as o,J as s,L as c,O as l,P as u,X as d,Y as f,_ as p,d as m,h,l as g,p as _,u as v,y,z as b}from"./runtime-core.esm-bundler-BAUgNzMK.js";import{R as x,d as S,f as C,m as w,z as T}from"./dom-CRPVbmiy.js";import{t as E}from"./QBtn-kfhHFy7Q.js";import{n as D,t as O}from"./use-dark-BHObfh0O.js";import{t as k}from"./use-id-B7ieAx2m.js";import{C as A,T as j,a as M,at as N,
|
|
1
|
+
import{N as e,S as t,mt as n,ut as r,v as i}from"./reactivity.esm-bundler-Dplx1ILy.js";import{C as a,F as o,J as s,L as c,O as l,P as u,X as d,Y as f,_ as p,d as m,h,l as g,p as _,u as v,y,z as b}from"./runtime-core.esm-bundler-BAUgNzMK.js";import{R as x,d as S,f as C,m as w,z as T}from"./dom-CRPVbmiy.js";import{t as E}from"./QBtn-kfhHFy7Q.js";import{n as D,t as O}from"./use-dark-BHObfh0O.js";import{t as k}from"./use-id-B7ieAx2m.js";import{C as A,T as j,a as M,at as N,i as P,o as F,s as I,tn as L,x as R}from"./index-MMYMztJ_.js";import{t as z}from"./QSelect-BtZB1wrB.js";import{a as B,i as V,n as H,r as U}from"./use-tours-BmrZbHjz.js";import{t as W}from"./TouchPan-DeYoOjX5.js";import{t as G}from"./QPage-DIy_mRoT.js";import{t as K}from"./workspace-page-layout-Dw9NhZsL.js";var q=T({name:`QSplitter`,props:{...D,modelValue:{type:Number,required:!0},reverse:Boolean,unit:{type:String,default:`%`,validator:e=>[`%`,`px`].includes(e)},limits:{type:Array,validator:e=>e.length!==2||typeof e[0]!=`number`||typeof e[1]!=`number`?!1:e[0]>=0&&e[0]<=e[1]},emitImmediately:Boolean,horizontal:Boolean,disable:Boolean,beforeClass:[Array,String,Object],afterClass:[Array,String,Object],separatorClass:[Array,String,Object],separatorStyle:[Array,String,Object],separatorAriaLabel:String},emits:[`update:modelValue`],setup(e,{slots:n,emit:r}){let i=S(),o=O(e,i),c=t(null),u={before:t(null),after:t(null)},f=k(),p=g(()=>`q-splitter no-wrap ${e.horizontal?`q-splitter--horizontal column`:`q-splitter--vertical row`} q-splitter--${e.disable?`disabled`:`workable`}`+(o()?` q-splitter--dark`:``)),m=g(()=>e.horizontal?`height`:`width`),h=g(()=>e.reverse?`after`:`before`),_=g(()=>e.limits===void 0?e.unit===`%`?[10,90]:[50,1/0]:e.limits);function v(t){return(e.unit===`%`?t:Math.round(t))+e.unit}let y=g(()=>({[h.value]:{[m.value]:v(e.modelValue)}})),b,T,E,D,A;function j(t){if(t.isFirst){let t=c.value.getBoundingClientRect()[m.value];b=e.horizontal?`up`:`left`,T=e.unit===`%`?100:t,E=Math.min(T,_.value[1],Math.max(_.value[0],e.modelValue)),D=(e.reverse?-1:1)*(e.horizontal?1:i.lang.rtl?-1:1)*(e.unit===`%`?t===0?0:100/t:1),c.value.classList.add(`q-splitter--active`);return}if(t.isFinal){A!==e.modelValue&&r(`update:modelValue`,A),c.value.classList.remove(`q-splitter--active`);return}let n=E+D*(t.direction===b?-1:1)*t.distance[e.horizontal?`y`:`x`];A=Math.min(T,_.value[1],Math.max(_.value[0],n)),u[h.value].value.style[m.value]=v(A),e.emitImmediately&&e.modelValue!==A&&r(`update:modelValue`,A)}let M=g(()=>[[W,e.disable?void 0:j,void 0,{[e.horizontal?`vertical`:`horizontal`]:!0,prevent:!0,stop:!0,mouse:!0,mouseAllDir:!0}]]),N=g(()=>{let t={role:`separator`,"aria-orientation":e.horizontal?`horizontal`:`vertical`,"aria-label":e.separatorAriaLabel||i.lang.label.resize};if(e.disable)t[`aria-disabled`]=`true`;else{let n=_.value;t.tabindex=0,t[`aria-controls`]=f.value,t[`aria-valuemin`]=n[0],n[1]!==1/0&&(t[`aria-valuemax`]=n[1]),t[`aria-valuenow`]=Math.round(e.modelValue*100)/100}return t}),P=null;function F(t){let{keyCode:n}=t,a=e.horizontal?[38,40]:[37,39];if(n!==13&&n!==36&&n!==35&&!a.includes(n))return;x(t);let o=_.value,s=e.unit===`%`?100:c.value.getBoundingClientRect()[m.value],l;if(n===13)e.modelValue===o[0]?l=P===null?e.modelValue:P:(P=e.modelValue,l=o[0]);else if(n===36)l=o[0];else if(n===35)l=o[1];else{let t=(n===a[0]?-1:1)*(e.reverse?-1:1)*(e.horizontal?1:i.lang.rtl?-1:1);l=e.modelValue+t*(e.unit===`%`?1:10)}let u=Math.min(s,o[1],Math.max(o[0],l));u!==e.modelValue&&r(`update:modelValue`,u)}function I(e,t){e<t[0]?r(`update:modelValue`,t[0]):e>t[1]&&r(`update:modelValue`,t[1])}return s(()=>e.modelValue,e=>{I(e,_.value)}),s(()=>e.limits,()=>{l(()=>{I(e.modelValue,_.value)})}),()=>{let t=[a(`div`,{ref:u.before,id:h.value===`before`?f.value:void 0,class:[`q-splitter__panel q-splitter__before`+(e.reverse?` col`:``),e.beforeClass],style:y.value.before},w(n.before)),a(`div`,{class:[`q-splitter__separator`,e.separatorClass],style:e.separatorStyle,...N.value,onKeydown:e.disable?void 0:F},[d(a(`div`,{class:`q-splitter__separator-area absolute-full`},w(n.separator)),M.value)]),a(`div`,{ref:u.after,id:h.value===`after`?f.value:void 0,class:[`q-splitter__panel q-splitter__after`+(e.reverse?``:` col`),e.afterClass],style:y.value.after},w(n.after))];return a(`div`,{class:p.value,ref:c},C(n.default,t))}}}),J={class:`split-header`,"data-tour":`split-controls`},Y={class:`split-pane-header`},ee={class:`split-recipient`,"aria-live":`polite`},te=[`src`,`title`],ne={key:1,class:`split-empty`},X=B(y({__name:`SplitWorkspacePage`,setup(t){let a=N(),l=U(),d=P(),y=M(),{t:x}=L(),S=[`before`,`after`],C=i([``,``]),w=i([``,``]),T=[null,null],D=i(0),O=null;try{O=localStorage.getItem(`kobo:splitRatio`)}catch{}let k=i(A(O)),B=g(()=>[...a.workspaces,...a.archivedWorkspaces].map(e=>({label:e.name,value:e.id})));function W(e){return B.value.find(t=>t.value===C.value[e])?.label||C.value[e]||x(`split.choose`)}function X(e,t){T[e]=t}function Z(e){try{return T[e]?.contentWindow?.koboPane}catch{return}}async function re(e,t){D.value=e;let n=Z(e);n?(await n.navigate(t),Q()):w.value[e]||(C.value[e]=t,w.value[e]=R(t))}function Q(){for(let e of[0,1]){let t=Z(e);t?.ready()&&(C.value[e]=t.workspaceId()??``),T[e]&&document.activeElement===T[e]&&(D.value=e)}d.name===`split`&&[0,1].every(e=>!w.value[e]||Z(e)?.ready())&&j(y,{left:C.value[0]||void 0,right:C.value[1]||void 0})}function ie(){try{localStorage.setItem(`kobo:splitRatio`,String(k.value))}catch{}}s(()=>[d.query.left,d.query.right],([e,t])=>{for(let[n,r]of[e,t].entries()){let e=typeof r==`string`?r:``;C.value[n]!==e&&(C.value[n]=e,w.value[n]=C.value[n]?R(C.value[n]):``)}},{immediate:!0});let{scheduleAutoRun:ae}=H(),$;return u(()=>{F(`split-panes`,()=>[0,1].some(e=>Z(e)?.hasUnsavedWork())),$=setInterval(Q,500),ae(`split`)}),o(()=>{I(`split-panes`),clearInterval($)}),(t,i)=>(c(),m(G,{class:`split-page`,"style-fn":e(K)},{default:f(()=>[v(`header`,J,[p(E,{flat:``,dense:``,"no-caps":``,label:t.$t(`layout.toggleWorkspaces`),onClick:i[0]||=t=>e(l).toggleLeft()},null,8,[`label`]),v(`strong`,null,n(t.$t(`split.title`)),1),p(V),p(E,{flat:``,dense:``,"no-caps":``,label:t.$t(`split.close`),onClick:i[1]||=t=>e(y).push({name:`workspace`,params:{id:C.value[D.value]||void 0}})},null,8,[`label`])]),p(q,{modelValue:k.value,"onUpdate:modelValue":[i[2]||=e=>k.value=e,ie],limits:[25,75],horizontal:t.$q.screen.lt.md,class:`split-body`},h({_:2},[b(S,(e,i)=>({name:e,fn:f(()=>[v(`section`,{class:r([`split-pane`,{"split-pane--active":D.value===i}])},[v(`div`,Y,[p(z,{"model-value":C.value[i],options:B.value,"emit-value":``,"map-options":``,dense:``,outlined:``,label:t.$t(i===0?`split.left`:`split.right`),class:`split-select`,"onUpdate:modelValue":e=>re(i,e)},null,8,[`model-value`,`options`,`label`,`onUpdate:modelValue`]),v(`span`,ee,n(t.$t(`split.recipient`,{name:W(i)})),1)]),w.value[i]?(c(),_(`iframe`,{key:0,ref:e=>X(i,e),src:w.value[i],title:t.$t(`split.recipient`,{name:W(i)}),class:`split-frame`,onLoad:Q},null,40,te)):(c(),_(`div`,ne,n(t.$t(`split.choose`)),1))],2)])}))]),1032,[`modelValue`,`horizontal`])]),_:1},8,[`style-fn`]))}}),[[`__scopeId`,`data-v-f921b7b1`]]);export{X as default};
|