@loicngr/kobo 2.1.28 → 2.1.29

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.
Files changed (132) hide show
  1. package/AGENTS.md +1 -1
  2. package/CHANGELOG.md +4 -0
  3. package/CONFIGURATION.md +27 -22
  4. package/CONTRIBUTING.md +1 -1
  5. package/README.md +1 -1
  6. package/dist/server/services/agent/engines/claude-code/resolve-binary.js +1 -1
  7. package/dist/server/services/dev-server-service.js +68 -4
  8. package/dist/server/services/environment-check-service.js +3 -2
  9. package/docs/getting-started.md +1 -1
  10. package/docs/troubleshooting.md +1 -1
  11. package/package.json +14 -14
  12. package/src/client/dist/pwa/assets/ActivityFeed-CiTe2VUQ.js +2 -0
  13. package/src/client/dist/pwa/assets/{AutoLoopFinalReviewSettings-CK3r_fVB.js → AutoLoopFinalReviewSettings-v3jXoH_Q.js} +1 -1
  14. package/src/client/dist/pwa/assets/{ChangelogPage-CAAUEn5X.js → ChangelogPage-C5KjAOMG.js} +1 -1
  15. package/src/client/dist/pwa/assets/{ClosePopup-CRV2hxHS.js → ClosePopup-rU8Bm-mC.js} +1 -1
  16. package/src/client/dist/pwa/assets/{ComparisonPanel-BCb7vB5E.js → ComparisonPanel-XXyzPEzW.js} +2 -2
  17. package/src/client/dist/pwa/assets/CreatePage-MYCexRJu.js +2 -0
  18. package/src/client/dist/pwa/assets/{DashboardPage-XE52EABP.js → DashboardPage-DyhUu26C.js} +1 -1
  19. package/src/client/dist/pwa/assets/DiffViewer-CvsmC9d5.js +8 -0
  20. package/src/client/dist/pwa/assets/{DocumentsPanel-L4pbQfz1.js → DocumentsPanel-ItndGxeB.js} +1 -1
  21. package/src/client/dist/pwa/assets/{DrawerToggleButton-DiOJm5he.js → DrawerToggleButton-DfzS_CD8.js} +1 -1
  22. package/src/client/dist/pwa/assets/GitPanel-C1ybi9bZ.js +3 -0
  23. package/src/client/dist/pwa/assets/{HealthPage-hJY5MurK.js → HealthPage-C1u35ANL.js} +1 -1
  24. package/src/client/dist/pwa/assets/MainLayout-BEAGPqei.js +2 -0
  25. package/src/client/dist/pwa/assets/{MemoryPanel-DtEvh_b7.js → MemoryPanel-CZzI7_nY.js} +1 -1
  26. package/src/client/dist/pwa/assets/MemoryProposalList-DqNTycY1.js +1 -0
  27. package/src/client/dist/pwa/assets/{QBadge-CW3Lw-kL.js → QBadge-DiwbRpte.js} +1 -1
  28. package/src/client/dist/pwa/assets/{QBanner-BT2ZemYu.js → QBanner-Cw89HSjk.js} +1 -1
  29. package/src/client/dist/pwa/assets/QBtn-kfhHFy7Q.js +1 -0
  30. package/src/client/dist/pwa/assets/{QBtnDropdown-CWPIugs8.js → QBtnDropdown-D7ml7zHo.js} +1 -1
  31. package/src/client/dist/pwa/assets/{QBtnGroup-CnM4vSJA.js → QBtnGroup-Bioxjp9q.js} +1 -1
  32. package/src/client/dist/pwa/assets/{QBtnToggle-DccOOtbh.js → QBtnToggle-Bod-x9im.js} +1 -1
  33. package/src/client/dist/pwa/assets/{QChip-Be16M4Ig.js → QChip-DvhtPv_L.js} +1 -1
  34. package/src/client/dist/pwa/assets/{QExpansionItem-D-EGL2b3.js → QExpansionItem-BVb067oc.js} +1 -1
  35. package/src/client/dist/pwa/assets/{QItemSection-MdJ1_ZK7.js → QItemSection-ahqRK4JF.js} +1 -1
  36. package/src/client/dist/pwa/assets/{QList-Cx1UfaUm.js → QList-CAUl0v66.js} +1 -1
  37. package/src/client/dist/pwa/assets/{QMarkupTable-UhP7fVUp.js → QMarkupTable-B4LLAly-.js} +1 -1
  38. package/src/client/dist/pwa/assets/{QPage-CqkGHokx.js → QPage-DIy_mRoT.js} +1 -1
  39. package/src/client/dist/pwa/assets/{QScrollArea-BMrqK-xd.js → QScrollArea-CUDWkEHh.js} +1 -1
  40. package/src/client/dist/pwa/assets/QSelect-DOnv_ry0.js +1 -0
  41. package/src/client/dist/pwa/assets/{QSpinnerDots-xdWyaE1i.js → QSpinnerDots-Bea6hAuJ.js} +1 -1
  42. package/src/client/dist/pwa/assets/{QTooltip-Bk8dLUtU.js → QTooltip-B5QJIU3p.js} +1 -1
  43. package/src/client/dist/pwa/assets/{SchedulePanel-CuxmxCKi.js → SchedulePanel-IJOcrHgk.js} +1 -1
  44. package/src/client/dist/pwa/assets/{SearchPage-DKnQPUqY.js → SearchPage-BpTRWtne.js} +1 -1
  45. package/src/client/dist/pwa/assets/SettingsPage-CFaRN9Pk.js +9 -0
  46. package/src/client/dist/pwa/assets/{SplitWorkspacePage-WhQyX8fn.js → SplitWorkspacePage-BZ8wN4ii.js} +1 -1
  47. package/src/client/dist/pwa/assets/TerminalPanel-pY-RGBb6.js +16 -0
  48. package/src/client/dist/pwa/assets/{ToolCallItem-DYubi-J0.js → ToolCallItem-C9ksVseJ.js} +3 -3
  49. package/src/client/dist/pwa/assets/{TouchPan-DDotyYLN.js → TouchPan-DRynDIve.js} +1 -1
  50. package/src/client/dist/pwa/assets/{TourReplayButton-kAnEMcy2.js → TourReplayButton-D4h1QR6C.js} +1 -1
  51. package/src/client/dist/pwa/assets/WorkspaceAttentionLabels-Bkj2DhOn.js +1 -0
  52. package/src/client/dist/pwa/assets/WorkspacePage-BTJnap9a.js +4 -0
  53. package/src/client/dist/pwa/assets/{browser-DVYLH8vl.js → browser-BcOi2ES2.js} +2 -2
  54. package/src/client/dist/pwa/assets/build-path-tree-mDco3pi7.js +1 -0
  55. package/src/client/dist/pwa/assets/custom-sounds-T5HKzrWh.js +1 -0
  56. package/src/client/dist/pwa/assets/{de-Bk3zQrin.js → de-suqWUSXa.js} +1 -1
  57. package/src/client/dist/pwa/assets/detached-fullscreen-CHqMxB-8.js +1 -0
  58. package/src/client/dist/pwa/assets/dom-CRPVbmiy.js +2 -0
  59. package/src/client/dist/pwa/assets/ecl-94qehhXe.js +1 -0
  60. package/src/client/dist/pwa/assets/{editor.api-BC38eXAS.js → editor.api-CRrihXg2.js} +9 -9
  61. package/src/client/dist/pwa/assets/editor.worker-xrHNhPSq.js +33 -0
  62. package/src/client/dist/pwa/assets/{efforts-TGacUPcJ.js → efforts-C-p9DzkL.js} +2 -2
  63. package/src/client/dist/pwa/assets/{es-f3xuAWA9.js → es-Dcptbz5U.js} +1 -1
  64. package/src/client/dist/pwa/assets/expand-template-gIwrPbeS.js +1 -0
  65. package/src/client/dist/pwa/assets/{format-OwxXBnDJ.js → format-DeBnwmgW.js} +48 -48
  66. package/src/client/dist/pwa/assets/{formatters-YgaCZcwJ.js → formatters-CxZZ_WTb.js} +1 -1
  67. package/src/client/dist/pwa/assets/{fr-B6c21SG3.js → fr-Db70bqVq.js} +1 -1
  68. package/src/client/dist/pwa/assets/{freemarker2-l7R42fI2.js → freemarker2-h7OLlqTn.js} +1 -1
  69. package/src/client/dist/pwa/assets/{handlebars-DFmPrgjH.js → handlebars-BCWmi1-q.js} +1 -1
  70. package/src/client/dist/pwa/assets/{html-CERIAlPM.js → html-MUMpfUBd.js} +1 -1
  71. package/src/client/dist/pwa/assets/i18n-DLprfNLs.js +1 -0
  72. package/src/client/dist/pwa/assets/index-C0MApoXN.css +1 -0
  73. package/src/client/dist/pwa/assets/index-DLoUeovT.js +20 -0
  74. package/src/client/dist/pwa/assets/{it-DUstDpC2.js → it-Cloo58Nn.js} +1 -1
  75. package/src/client/dist/pwa/assets/{javascript-BBYncplF.js → javascript-CHDwijEy.js} +1 -1
  76. package/src/client/dist/pwa/assets/{liquid-C1HqYyYU.js → liquid-dFrnLevt.js} +1 -1
  77. package/src/client/dist/pwa/assets/{mdx-E74dsP22.js → mdx-BHS7JVD4.js} +1 -1
  78. package/src/client/dist/pwa/assets/monaco-contributions-DCWZe7nX.js +53 -0
  79. package/src/client/dist/pwa/assets/{monaco.contribution-DYdn9CwR.js → monaco.contribution-Dx0gcAn4.js} +2 -2
  80. package/src/client/dist/pwa/assets/{network-auth-DTZUKbny.js → network-auth-DDMAzwYH.js} +1 -1
  81. package/src/client/dist/pwa/assets/{notify-theme-FuTL7HuS.js → notify-theme-JuVT96rq.js} +1 -1
  82. package/src/client/dist/pwa/assets/{private.use-form-DY1BkePL.js → private.use-form-BcspuzM9.js} +1 -1
  83. package/src/client/dist/pwa/assets/{project-color-_snXWYUp.js → project-color-DihsE4yN.js} +1 -1
  84. package/src/client/dist/pwa/assets/{python-DNAAGBcX.js → python-BtjZnK9y.js} +1 -1
  85. package/src/client/dist/pwa/assets/{razor-CB3g5p_T.js → razor-DBcOGz0a.js} +1 -1
  86. package/src/client/dist/pwa/assets/reactivity.esm-bundler-Dplx1ILy.js +1 -0
  87. package/src/client/dist/pwa/assets/render-chat-markdown-C9ihAYBt.js +67 -0
  88. package/src/client/dist/pwa/assets/runtime-core.esm-bundler-BAUgNzMK.js +1 -0
  89. package/src/client/dist/pwa/assets/{typescript-0kpz8bqP.js → typescript-B320c7wU.js} +1 -1
  90. package/src/client/dist/pwa/assets/{use-checkbox-v4aAbE6K.js → use-checkbox-DUxgXR4e.js} +1 -1
  91. package/src/client/dist/pwa/assets/{use-id-BrdYXce0.js → use-id-B7ieAx2m.js} +1 -1
  92. package/src/client/dist/pwa/assets/use-is-mobile-CHmaewI1.js +1 -0
  93. package/src/client/dist/pwa/assets/{use-search-index-status-D38yFOD_.js → use-search-index-status-B95GPaJP.js} +1 -1
  94. package/src/client/dist/pwa/assets/use-slide-transition-BJh9xGMa.js +1 -0
  95. package/src/client/dist/pwa/assets/use-tours-CU5oA7cz.css +1 -0
  96. package/src/client/dist/pwa/assets/use-tours-C_5R1Y5D.js +2 -0
  97. package/src/client/dist/pwa/assets/{use-worktree-restore-DUjZr44N.js → use-worktree-restore-Cj8eGE9s.js} +1 -1
  98. package/src/client/dist/pwa/assets/{workspace-templates-D-lPJQ4G.js → workspace-templates-B9UETKER.js} +1 -1
  99. package/src/client/dist/pwa/assets/{xml-BbOuqdUe.js → xml-uK8LK4OB.js} +1 -1
  100. package/src/client/dist/pwa/assets/{yaml-gasFQtfk.js → yaml-B2D1l_tz.js} +1 -1
  101. package/src/client/dist/pwa/index.html +10 -10
  102. package/src/client/dist/pwa/sw.js +1 -1
  103. package/src/client/dist/pwa/assets/ActivityFeed-D58VS9o2.js +0 -2
  104. package/src/client/dist/pwa/assets/CreatePage-DasH1Uk4.js +0 -2
  105. package/src/client/dist/pwa/assets/DiffViewer-CncKlXne.js +0 -8
  106. package/src/client/dist/pwa/assets/GitPanel-WJlzy2VJ.js +0 -3
  107. package/src/client/dist/pwa/assets/MainLayout-DgWElK7w.js +0 -2
  108. package/src/client/dist/pwa/assets/MemoryProposalList-kgFCm9zz.js +0 -1
  109. package/src/client/dist/pwa/assets/QBtn-BUSdPaf4.js +0 -1
  110. package/src/client/dist/pwa/assets/QSelect-DFWyDWCE.js +0 -1
  111. package/src/client/dist/pwa/assets/SettingsPage-CO3vIpPd.js +0 -9
  112. package/src/client/dist/pwa/assets/TerminalPanel-BY0lPq6k.js +0 -16
  113. package/src/client/dist/pwa/assets/WorkspaceAttentionLabels-DiYt3rP3.js +0 -1
  114. package/src/client/dist/pwa/assets/WorkspacePage-K-1ce50d.js +0 -4
  115. package/src/client/dist/pwa/assets/build-path-tree-DEuOdIIk.js +0 -1
  116. package/src/client/dist/pwa/assets/custom-sounds-Ggw6V9iF.js +0 -1
  117. package/src/client/dist/pwa/assets/detached-fullscreen-Du3TcYdX.js +0 -1
  118. package/src/client/dist/pwa/assets/dom-BtYTvLeN.js +0 -2
  119. package/src/client/dist/pwa/assets/ecl-D05T4iGw.js +0 -1
  120. package/src/client/dist/pwa/assets/editor.worker-BLJF_oQx.js +0 -33
  121. package/src/client/dist/pwa/assets/expand-template-DM8gq3Mo.js +0 -1
  122. package/src/client/dist/pwa/assets/i18n-WaE4cZK9.js +0 -1
  123. package/src/client/dist/pwa/assets/index-C8zAZ-k-.css +0 -1
  124. package/src/client/dist/pwa/assets/index-CpWBGKdM.js +0 -20
  125. package/src/client/dist/pwa/assets/monaco-contributions-DHvm-kp5.js +0 -53
  126. package/src/client/dist/pwa/assets/reactivity.esm-bundler-DY1JkAEA.js +0 -1
  127. package/src/client/dist/pwa/assets/render-chat-markdown-CafzCcmu.js +0 -69
  128. package/src/client/dist/pwa/assets/runtime-core.esm-bundler-Bqg71Vll.js +0 -1
  129. package/src/client/dist/pwa/assets/use-is-mobile-CDB_rzM9.js +0 -1
  130. package/src/client/dist/pwa/assets/use-slide-transition-B_Nu6u-t.js +0 -1
  131. package/src/client/dist/pwa/assets/use-tours-BWkHp34X.js +0 -2
  132. package/src/client/dist/pwa/assets/use-tours-CTZuBZOi.css +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 j,G as M,K as N,P,Q as F,R as I,Y as ee,Z as te,d as ne,z as re}from"./dom-CRPVbmiy.js";import{c as ie,l as L,t as R,u as ae}from"./QBtn-kfhHFy7Q.js";import{n as oe,t as se}from"./use-dark-BHObfh0O.js";import{i as ce,n as le,t as ue}from"./private.use-form-BcspuzM9.js";import{$t as de,B as fe,Cn as pe,Et as me,F as he,G as ge,Gt as _e,H as ve,Ht as ye,I as be,J as xe,Jt as Se,Kt as Ce,L as we,Mt as Te,N as Ee,Nt as De,P as Oe,Pt as z,Qt as ke,Sn as Ae,Tt as je,U as Me,Ut as B,V as Ne,Vt as Pe,W as Fe,X as Ie,Y 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 V,nt as Xe,o as Ze,rn as Qe,s as $e,tt as et,u as tt,vn as nt,wt as rt,xn as it,yn as at,z as ot}from"./index-DLoUeovT.js";import{t as H}from"./QList-CAUl0v66.js";import{i as st,r as ct,s as U,t as W}from"./QSelect-DOnv_ry0.js";import{n as G,t as K}from"./QItemSection-ahqRK4JF.js";import{t as lt}from"./QExpansionItem-BVb067oc.js";import{a as ut,i as dt,n as ft,r as pt}from"./use-tours-C_5R1Y5D.js";import{t as mt}from"./TouchPan-DRynDIve.js";import{t as ht}from"./QTooltip-B5QJIU3p.js";import{t as gt}from"./QChip-DvhtPv_L.js";import{t as _t}from"./ClosePopup-rU8Bm-mC.js";import{t as vt}from"./use-is-mobile-CHmaewI1.js";import{a as yt,c as bt,l as xt,n as St,o as Ct,r as wt,s as Tt,t as Et}from"./permissionModes-D-Nexnoo.js";import{t as Dt}from"./QBtnDropdown-D7ml7zHo.js";import{i as q,n as Ot,r as kt,t as At}from"./MemoryProposalList-DqNTycY1.js";import{n as jt,r as Mt,t as Nt}from"./custom-sounds-T5HKzrWh.js";import{t as Pt}from"./QBanner-Cw89HSjk.js";import{t as Ft}from"./project-color-DihsE4yN.js";import{t as It}from"./QPage-DIy_mRoT.js";import{t as Lt}from"./DrawerToggleButton-DfzS_CD8.js";import{t as Rt}from"./TourReplayButton-D4h1QR6C.js";import{n as zt,t as Bt}from"./workspace-templates-B9UETKER.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={...oe,...ce,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=ne(),u=se(i,l),d=le(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),j=T(()=>ve(x.value)),M=T(()=>ve(S.value)),N=T(()=>i.vertical?b.value?`bottom`:`top`:b.value?`right`:`left`),F=T(()=>i.vertical?`height`:`width`),I=T(()=>i.vertical?`width`:`height`),ee=T(()=>i.vertical?`vertical`:`horizontal`),te=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 re(e){let t=`q-slider__`+e;return`${t} ${t}${_.value} ${t}${_.value}${v.value}`}function ie(e){let t=`q-slider__`+e;return`${t} ${t}${_.value}`}let L=T(()=>{let e=i.selectionColor||i.color;return`q-slider__selection absolute`+(e===void 0?``:` text-${e}`)}),R=T(()=>ie(`markers`)+` absolute overflow-hidden`),ae=T(()=>ie(`track-container`)),oe=T(()=>re(`pin`)),ce=T(()=>re(`label`)),ue=T(()=>re(`text-container`)),de=T(()=>re(`marker-labels-container`)+(i.markerLabelsClass===void 0?``:` ${i.markerLabelsClass}`)),fe=T(()=>`q-slider__track relative-position no-outline`+(i.trackColor===void 0?``:` bg-${i.trackColor}`)),me=T(()=>{let e={[I.value]:i.trackSize};return i.trackImg!==void 0&&(e.backgroundImage=`url(${i.trackImg}) !important`),e}),he=T(()=>`q-slider__inner absolute`+(i.innerTrackColor===void 0?``:` bg-${i.innerTrackColor}`)),ge=T(()=>{let e=M.value-j.value,t={[N.value]:`${100*j.value}%`,[F.value]:e===0?`2px`:`${100*e}%`};return i.innerTrackImg!==void 0&&(t.backgroundImage=`url(${i.innerTrackImg}) !important`),t});function _e(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),st(a,x.value,S.value)}function ve(e){return k.value===0?0:(e-i.min)/k.value}function ye(e,t){let n=P(e),r=i.vertical?st((n.top-t.top)/t.height,0,1):st((n.left-t.left)/t.width,0,1);return st(b.value?1-r:r,j.value,M.value)}let be=T(()=>Ae(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{...ge.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 pe(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=>pe(e)?e:{value:e}).filter(t):Object.keys(e).map(t=>{let n=e[t],r=Number(t);return pe(n)?{...n,value:r}:{value:r,label:n}}).filter(t)}function De(e){return{[N.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 z(){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 ke=T(()=>[[mt,C.value?je:void 0,void 0,{[ee.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 B(r){t(r,n(r)),e(),p.value=!0,f.value=!0,document.addEventListener(`mouseup`,Ne,!0)}function Ne(){p.value=!1,f.value=!1,e(!0),Me(),document.removeEventListener(`mouseup`,Ne,!0)}function Pe(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,[N.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:oe.value+` absolute fit no-pointer-events`+a.value},[s(`div`,{class:ce.value,style:{minWidth:i.thumbSize}},[s(`div`,{class:ue.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:he.value,style:ge.value})),i.selectionColor!==`transparent`&&a.push(s(`div`,{key:`selection`,class:L.value,style:e.value})),i.markers!==!1&&a.push(s(`div`,{key:`marker`,class:R.value,style:Te.value})),r(a);let o=[g(s(`div`,{key:`trackC`,class:ae.value,tabindex:t.value,...n.value},[s(`div`,{class:fe.value,style:me.value},a)]),ke.value)];return i.markerLabels!==!1&&o[i.switchMarkerLabelsSide?`unshift`:`push`](s(`div`,{key:`markerL`,class:de.value},z())),o}return w(()=>{document.removeEventListener(`mouseup`,Ne,!0)}),{state:{active:f,focus:m,preventFocus:p,dragging:h,editable:C,classes:te,tabindex:O,orientation:ee,roundValueFn:E,keyStep:D,trackLen:k,innerMin:x,innerMinRatio:j,innerMax:S,innerMaxRatio:M,positionProp:N,sizeProp:F,isReversed:b},methods:{onActivate:B,onClick:Pe,onBlur:Me,onKeyup:Fe,getContent:Re,getThumbRenderFn:Le,convertRatioToModel:_e,convertModelToRatio:ve,getDraggingRatio:ye}}}var on=()=>({}),sn=re({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=ne(),a=Pe(),{state:c,methods:l}=an({updateValue:w,updatePosition:D,getDragging:E,formAttrs:ue(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:st(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(I(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=st(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=re({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=ne(),c=t(null),l=o(``),u=o(``),d=!1,f=T(()=>M({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!it(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(R,{flat:!0,color:e.color,label:e.labelCancel||a.lang.label.cancel,onClick:h}),s(R,{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(ct,{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}=Ue(),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:et/1024/1024})}function d(e){return e instanceof ye?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(et)/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(R,{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(H,{key:1,bordered:``,separator:``,class:`rounded-borders q-mt-sm`},{default:_(()=>[(f(!0),E(D,null,A(e(r).sounds,n=>(f(),b(G,{key:n.id},{default:_(()=>[v(K,null,{default:_(()=>[v(U,{class:`ellipsis`,title:n.name},{default:_(()=>[S(i(n.name),1)]),_:2},1032,[`title`]),v(U,{caption:``},{default:_(()=>[S(i(Math.max(1,Math.round(n.size/1024)))+` KB`,1)]),_:2},1024)]),_:2},1024),v(K,{side:``},{default:_(()=>[O(`div`,_n,[v(R,{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(R,{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}=Ue(),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 B(`/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 B(`/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(lt,{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(z,{"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(z,{"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(z,{"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(R,{outline:``,"no-caps":``,label:e.$t(`integration.save`),disable:u.value||!l.value||!r.value.command.trim(),onClick:C},null,8,[`label`,`disable`]),v(R,{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(R,{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=()=>{};Je(n),document.body.append(t),t.focus(),t.select();let r=document.execCommand(`copy`);return t.remove(),ze(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`},J={class:`row q-gutter-sm`},zn={key:1,class:`text-caption text-kobo-3 q-mt-sm`},Bn={key:4,class:`text-caption text-kobo-3 q-mt-sm`},Vn=ut(k({__name:`McpConnectionSettings`,props:{token:{},networkEnabled:{type:Boolean},behindProxy:{type:Boolean}},setup(t){let n=t,{t:r}=Ue(),a=ne(),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([]),j=o([]),M=o([]),N=o([]),P=o(30),F=o(``),I=o(!1),ee=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 te(e){let t=await B(`/api/mcp-credentials`,{signal:e});e?.aborted||(y.value=t.credentials,M.value=t.tools.map(e=>({label:`${e.name} — ${r(e.readOnly?`settings.mcp.readOnly`:`settings.mcp.write`)}`,value:e.name})),N.value.length||(N.value=t.tools.filter(e=>e.readOnly).map(e=>e.name)))}async function re(){I.value=!0,F.value=``;try{let e=await B(`/api/mcp-credentials`,{method:`POST`,body:{name:C.value,tools:N.value,allWorkspaces:w.value,workspaceIds:w.value?[]:k.value,expiresAt:P.value?new Date(Date.now()+P.value*864e5).toISOString():null}});F.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{I.value=!1}}async function ie(e){I.value=!0;try{await B(`/api/mcp-credentials/${encodeURIComponent(e)}`,{method:`DELETE`}),y.value=y.value.filter(t=>t.id!==e),F.value=``}catch(e){a.notify({type:`negative`,message:e instanceof Error?e.message:r(`settings.mcp.failed`)})}finally{I.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([B(`/api/settings/mcp`,{signal:r.signal}),B(`/api/workspaces`,{signal:r.signal}),te(r.signal)]);if(r.signal.aborted)return;j.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 L(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 oe(){s.value&&h.value&&F.value&&L(kn(s.value,h.value,l.value,F.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(z,{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(V,{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(W,{key:1,modelValue:k.value,"onUpdate:modelValue":a[2]||=e=>k.value=e,options:j.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(W,{modelValue:N.value,"onUpdate:modelValue":a[3]||=e=>N.value=e,options:M.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(W,{modelValue:P.value,"onUpdate:modelValue":a[4]||=e=>P.value=e,options:ee.value,"emit-value":``,"map-options":``,label:e(r)(`settings.mcp.expiry`),outlined:``,dense:``,class:`q-mb-sm`},null,8,[`modelValue`,`options`,`label`]),v(R,{outline:``,"no-caps":``,loading:I.value,disable:!C.value.trim()||!w.value&&!k.value.length||!N.value.length,label:e(r)(`settings.mcp.createKey`),onClick:re},null,8,[`loading`,`disable`,`label`]),F.value?(f(),b(Pt,{key:2,class:`q-my-md`},{default:_(()=>[O(`p`,null,i(e(r)(`settings.mcp.oneTimeKey`)),1),v(z,{"model-value":F.value,readonly:``,outlined:``,dense:``,label:e(r)(`settings.mcp.key`)},null,8,[`model-value`,`label`]),v(R,{flat:``,"no-caps":``,icon:`content_copy`,label:e(r)(`settings.mcp.copyKey`),onClick:a[5]||=e=>L(F.value)},null,8,[`label`]),v(R,{flat:``,"no-caps":``,label:e(r)(`settings.mcp.hideKey`),onClick:a[6]||=e=>F.value=``},null,8,[`label`])]),_:1})):x(``,!0),v(H,{bordered:``,separator:``,class:`q-my-md`},{default:_(()=>[(f(!0),E(D,null,A(y.value,t=>(f(),b(G,{key:t.id},{default:_(()=>[v(K,null,{default:_(()=>[v(U,null,{default:_(()=>[S(i(t.name),1)]),_:2},1024),v(U,{caption:``},{default:_(()=>[S(i(t.allWorkspaces?e(r)(`settings.mcp.allWorkspaces`):t.workspaceIds.join(`, `)),1)]),_:2},1024),v(U,{caption:``},{default:_(()=>[S(i(t.tools.join(`, `)),1)]),_:2},1024),v(U,{caption:``},{default:_(()=>[S(i(t.expiresAt?new Date(t.expiresAt).toLocaleString():e(r)(`settings.mcp.noExpiry`)),1)]),_:2},1024)]),_:2},1024),v(K,{side:``},{default:_(()=>[v(R,{flat:``,"no-caps":``,color:`negative`,disable:I.value,label:e(r)(`settings.mcp.revoke`),onClick:e=>ie(t.id)},null,8,[`disable`,`label`,`onClick`])]),_:2},1024)]),_:2},1024))),128))]),_:1}),v(z,{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(W,{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(R,{flat:``,dense:``,icon:`content_copy`,title:e(r)(`settings.mcp.copyUrl`),onClick:a[9]||=e=>L(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`,J,[v(R,{outline:``,dense:``,"no-caps":``,icon:`content_copy`,label:e(r)(`settings.mcp.copyConfig`),onClick:a[10]||=e=>L(g.value)},null,8,[`label`]),v(R,{outline:``,dense:``,"no-caps":``,disable:!F.value,label:e(r)(`settings.mcp.copyWithToken`),onClick:oe},null,8,[`disable`,`label`])]),F.value?x(``,!0):(f(),E(`p`,zn,i(e(r)(`settings.mcp.tokenUnavailable`)),1))],64)):x(``,!0),s.value.stdio?x(``,!0):(f(),E(`p`,Bn,i(e(r)(`settings.mcp.stdioUnavailable`)),1))],64)):(f(),b(ae,{key:2}))]))}}),[[`__scopeId`,`data-v-125884d5`]]),Hn={class:`memory-scope-select`},Un=[`value`],Wn={value:``},Gn=[`value`],Kn=ut(k({__name:`MemoryScopeSelect`,props:{scopes:{},modelValue:{}},emits:[`update:modelValue`],setup(t,{emit:n}){let r=n,{t:a}=Ue();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`,Hn,[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`},Y={id:`memory-settings-title`},Yn={class:`memory-settings__modes`,"data-tour":`settings-memory-modes`},Xn=[`value`,`checked`,`onChange`],Zn={class:`memory-settings__note`},Qn={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=ut(k({__name:`MemorySettingsPanel`,props:{memoryMode:{}},emits:[`update:memoryMode`],setup(t,{emit:n}){let r=t,a=n,{t:s}=Ue(),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),j=o(null),M=o(!1),N=o(``),P=o(null),F=0;l(()=>{F++});let I=o(``),te=T(()=>c.scopesFor()),ne=T(()=>c.hasMoreScopes()),re=T(()=>c.loadingScopes.all??!1),ie=T(()=>d.value?c.entriesFor(d.value):[]),L=T(()=>d.value?c.proposalsFor(d.value):[]),R=T(()=>d.value?c.operationsFor(d.value):[]),ae=T(()=>d.value?c.operationsCursor(d.value):void 0);m(async()=>{try{await c.loadScopes(),d.value||=te.value.find(e=>e.level===`global`)?.id??te.value[0]?.id??``}catch(e){N.value=e instanceof Error?e.message:s(`memory.settings.loadFailed`)}}),u(d,async e=>{if(F++,P.value=null,I.value=``,p.value=!1,h.value=null,M.value=!1,e)try{await Promise.all([c.loadEntries(e),c.loadProposals(e),c.loadOperations(e)])}catch(e){N.value=e instanceof Error?e.message:s(`memory.settings.loadFailed`)}},{flush:`sync`});function oe(){h.value=null,N.value=``,M.value=!1,p.value=!0}function se(e){h.value=e,N.value=``,M.value=!1,p.value=!0}async function ce(e){C.value=!0,N.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,M.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,M.value=!0,N.value=``;return}N.value=e instanceof Error?e.message:s(`memory.settings.saveFailed`)}finally{C.value=!1}}function le(e){_.value=e}async function ue(){try{await c.loadMoreScopes()}catch(e){N.value=e instanceof Error?e.message:s(`memory.settings.loadFailed`)}}async function de(){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){N.value=e instanceof Error?e.message:s(`memory.settings.saveFailed`)}finally{w.value=!1}}}function fe(){_.value=null}function pe(e=d.value){let t=te.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 me(e){y.value=e,S.value=``}async function he(){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){N.value=e instanceof Error?e.message:s(`memory.settings.saveFailed`)}finally{k.value=!1}}}async function ge(e,t){if(!j.value){j.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){N.value=e instanceof Error?e.message:s(`memory.settings.saveFailed`)}finally{j.value=null}}}async function _e(){if(!d.value)return;let e=d.value,t=++F;I.value=``;try{let n=await c.previewClear(e);if(t!==F||d.value!==e)return;P.value={...n,scopeId:e}}catch(e){if(t!==F)return;I.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||!P.value||w.value)return;let e=P.value,t=F;if(d.value===e.scopeId){w.value=!0;try{if(await c.clearScope(e.scopeId,e.revision),t!==F)return;P.value=null,await Promise.all([c.loadEntries(d.value),c.loadProposals(d.value),c.loadOperations(d.value)])}catch(n){if(t!==F)return;if(I.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===F&&(P.value={...n,scopeId:e.scopeId})}catch{t===F&&(P.value=null)}}finally{w.value=!1}}}function be(){M.value=!1,N.value=``}function xe(){M.value=!1,N.value=``}return(t,n)=>(f(),E(`section`,qn,[O(`header`,Jn,[O(`h3`,Y,i(e(s)(`memory.settings.title`)),1),O(`p`,null,i(e(s)(`memory.settings.intro`)),1)]),O(`fieldset`,Yn,[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,Xn),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`,Zn,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`,Qn,i(e(s)(`memory.settings.independentNote`)),1),v(Kn,{scopes:te.value,"model-value":d.value,"onUpdate:modelValue":n[0]||=e=>d.value=e},null,8,[`scopes`,`model-value`]),N.value?(f(),E(`p`,$n,i(N.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:oe},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:_e},i(e(s)(`memory.settings.clear`)),9,nr)])):x(``,!0),ne.value?(f(),E(`button`,{key:2,type:`button`,"data-testid":`memory-load-more-scopes`,disabled:re.value,onClick:ue},i(re.value?e(s)(`memory.settings.loadingScopes`):e(s)(`memory.settings.loadMoreScopes`)),9,rr)):x(``,!0),P.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.${te.value.find(e=>e.id===d.value)?.level??`global`}`),entries:P.value.entries,proposals:P.value.proposals})),1),O(`p`,ar,i(e(s)(`memory.settings.clearWarning`)),1),I.value?(f(),E(`p`,or,i(I.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=>{P.value=null,I.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:pe(_.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:de},i(e(s)(`memory.settings.deleteConfirmAction`)),9,dr),O(`button`,{type:`button`,"data-testid":`memory-delete-cancel`,disabled:w.value,onClick:fe},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(te.value.filter(e=>e.id!==y.value?.scopeId),e=>(f(),E(`option`,{key:e.id,value:e.id},i(pe(e.id)),9,gr))),128))],8,mr),[[ee,S.value]])]),O(`button`,{type:`button`,"data-testid":`memory-promote-confirm`,disabled:!S.value||k.value,onClick:he},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(q,{key:6,"scope-id":d.value,entry:h.value,saving:C.value,error:N.value,conflict:M.value,onSave:ce,onReload:be,onRebase:xe,onCancel:n[4]||=e=>{p.value=!1,M.value=!1}},null,8,[`scope-id`,`entry`,`saving`,`error`,`conflict`])):(f(),b(kt,{key:7,entries:ie.value,disabled:C.value||w.value||k.value,onEdit:se,onDelete:le,onPromote:me},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=>N.value=e.message)},i(e(s)(`memory.entry.loadMore`)),9,yr)):x(``,!0),v(At,{proposals:L.value,"busy-proposal-id":j.value,onDecision:ge},null,8,[`proposals`,`busy-proposal-id`]),v(Ot,{operations:R.value,"has-more":!!ae.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=ut(k({__name:`PrNotificationSoundSettings`,props:{modelValue:{},generalSound:{}},emits:[`update:modelValue`],setup(t,{emit:n}){let r=t,a=n,{t:o}=Ue(),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:ve},...Me.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=Le(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(V,{"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(W,{"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(R,{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',X=ut(k({__name:`ScriptVariablesHelp`,props:{event:{}},setup(t){let{t:n}=Ue(),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=ut(k({__name:`SettingsNavList`,props:{navItems:{},activeTab:{}},emits:[`select`],setup(e,{emit:t}){let n=t;return(t,r)=>(f(),b(H,{dense:``,class:`settings-nav__list`},{default:_(()=>[(f(!0),E(D,null,A(e.navItems,t=>g((f(),b(G,{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(K,{avatar:``,class:`settings-nav__icon`},{default:_(()=>[v(L,{name:t.icon,size:`16px`},null,8,[`name`])]),_:2},1024),v(K,{class:`settings-nav__label`},{default:_(()=>[S(i(t.label),1)]),_:2},1024)]),_:2},1032,[`data-tour`,`class`,`onClick`])),[[ie,!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=ut(k({__name:`WhipShortcutRecorder`,props:{modelValue:{}},emits:[`update:modelValue`],setup(t,{emit:n}){let r=t,a=n,{t:s}=Ue(),c=be(),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=he(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`,ot)}return w(m),(t,n)=>(f(),E(`div`,Fr,[O(`div`,Ir,i(e(s)(`settings.whipShortcut`)),1),O(`div`,Lr,[v(R,{"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(ht,null,{default:_(()=>[S(i(e(s)(`settings.whipShortcutHint`)),1)]),_:1})]),_:1},8,[`aria-label`,`aria-pressed`]),v(R,{"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(ht,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:`text-subtitle2 q-mb-sm`},Ni={class:`text-subtitle2 q-mb-sm q-mt-md`},Pi={class:`text-subtitle2 q-mb-sm q-mt-md`},Fi={class:`text-caption text-kobo-3 q-mb-sm`},Ii={class:`text-subtitle2 q-mb-sm q-mt-md`},Li={key:6,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Ri={class:`text-subtitle2 q-mb-sm`},zi={class:`row items-center q-gutter-lg`},Bi={key:7,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Vi={class:`text-subtitle2 q-mb-xs`},Hi={class:`text-kobo-3 text-caption q-mb-md`},Ui={key:0,class:`column q-gutter-sm q-mt-md`},Wi={class:`row items-center q-gutter-sm`},Gi={class:`text-kobo-2 text-caption`,style:{"min-width":`58px`}},Ki={class:`text-kobo-2 text-caption`,style:{"min-width":`40px`,"text-align":`right`}},qi={key:0,class:`text-kobo-3 text-caption`},Ji={key:8,"data-tour":`settings-card-notifications`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Yi={class:`text-subtitle2 q-mb-sm`},Xi={class:`text-kobo-3 text-caption q-mb-md`},Zi={class:`notification-sounds-grid q-mt-md`},Qi={class:`notification-sound-card q-pa-md rounded-borders`},$i={class:`text-subtitle2`},ea={class:`text-kobo-3 text-caption q-mb-sm`},ta={class:`column q-gutter-xs q-mb-sm`},na={class:`row items-center q-gutter-sm q-mb-sm`},ra={class:`row items-center q-gutter-sm`},ia={class:`row items-center q-gutter-sm q-mt-sm`},aa={class:`text-kobo-2 text-caption`,style:{"min-width":`58px`}},oa={class:`text-kobo-2 text-caption`,style:{"min-width":`40px`,"text-align":`right`}},sa={class:`notification-sound-card q-pa-md rounded-borders`},ca={class:`text-subtitle2`},la={class:`text-kobo-3 text-caption q-mb-sm`},ua={class:`row items-center q-gutter-sm`},da={class:`row items-center q-gutter-sm q-mt-sm`},fa={class:`text-kobo-2 text-caption`,style:{"min-width":`58px`}},pa={class:`text-kobo-2 text-caption`,style:{"min-width":`40px`,"text-align":`right`}},ma={class:`notification-sound-card q-pa-md rounded-borders`},ha={class:`text-subtitle2`},ga={class:`text-kobo-3 text-caption q-mb-sm`},_a={class:`row items-center q-gutter-sm`},va={class:`row items-center q-gutter-sm q-mt-sm`},ya={class:`text-kobo-2 text-caption`,style:{"min-width":`58px`}},ba={class:`text-kobo-2 text-caption`,style:{"min-width":`40px`,"text-align":`right`}},xa={class:`notification-sound-card q-pa-md rounded-borders`},Sa={class:`text-subtitle2`},Ca={class:`text-kobo-3 text-caption q-mb-sm`},wa={class:`row items-center q-gutter-sm`},Ta={class:`row items-center q-gutter-sm q-mt-sm`},Ea={class:`text-kobo-2 text-caption`,style:{"min-width":`58px`}},Da={class:`text-kobo-2 text-caption`,style:{"min-width":`40px`,"text-align":`right`}},Oa={key:9,"data-tour":`settings-card-voice`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ka={class:`row items-center q-mb-sm`},Aa={class:`text-subtitle2`},ja={class:`column q-gutter-xs`},Ma={class:`row items-center q-gutter-sm`},Na={class:`row items-center q-gutter-sm`},Pa={class:`q-pa-sm text-caption text-kobo-2`},Fa={class:`q-mb-sm`},Ia={class:`q-mb-sm`},La={href:`https://github.com/ggml-org/whisper.cpp`,target:`_blank`,rel:`noopener noreferrer`,class:`text-kobo-2`},Ra={class:`q-mb-xs text-kobo-2`},za={class:`q-mb-sm`},Ba={class:`q-mb-xs text-kobo-2`},Va={key:10,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Ha={class:`text-subtitle2 q-mb-sm`},Ua={class:`row q-col-gutter-sm`},Wa={class:`col-12 col-sm-6`},Ga={class:`col-12 col-sm-6`},Ka={key:11,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},qa={class:`text-subtitle2 q-mb-sm`},Ja={key:0,class:`voice-models-dir row items-center q-gutter-sm q-mb-md`},Ya={class:`text-caption text-kobo-2 ellipsis-2-lines`,style:{flex:`1`,"min-width":`0`,"word-break":`break-all`}},Xa={class:`column q-gutter-sm`},Za={class:`row items-center q-gutter-sm`},Qa={class:`text-body2 text-kobo-1`,style:{"font-family":`var(--kobo-font-mono, monospace)`}},$a={class:`text-caption text-kobo-3`},eo={key:0,class:`q-mt-sm`},to={class:`row items-center q-mt-xs`},no={class:`text-caption text-kobo-3`},ro={class:`text-caption text-kobo-2`},io={key:1,class:`text-caption text-kobo-3 q-mt-xs ellipsis`,style:{"font-family":`var(--kobo-font-mono, monospace)`,"word-break":`break-all`}},ao={key:12,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},oo={class:`text-subtitle2 q-mb-sm`},so={class:`q-pa-sm column q-gutter-sm`},co={class:`row items-center q-gutter-sm`},lo={class:`text-caption text-kobo-2`},uo={class:`text-caption text-kobo-2`,style:{"min-width":`40px`,"text-align":`right`}},fo={class:`text-caption text-kobo-3`},po={class:`text-caption text-kobo-3`},mo={class:`text-caption text-kobo-3`},ho={class:`text-caption text-kobo-3`},go={class:`q-pa-sm column q-gutter-sm`},_o={key:13,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`,"data-tour":`settings-card-git`},vo={class:`row items-center q-mb-sm q-mt-md`},yo={class:`text-subtitle2`},bo={class:`text-caption text-kobo-3 q-mb-sm`},xo={key:14,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},So={class:`text-subtitle2 q-mb-sm`},Co={class:`text-caption text-kobo-3 q-mb-sm`},wo={class:`row items-center no-wrap`},To={key:1,class:`text-caption text-kobo-3 q-mb-sm`},Eo={class:`row items-center q-gutter-sm`},Do={key:15,"data-tour":`settings-card-prompts`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Oo={class:`row items-center q-mb-sm`},ko={class:`text-subtitle2`},Ao={class:`text-caption text-kobo-3 q-mb-sm`},jo={class:`q-mb-sm`},Mo={class:`row items-center q-mb-sm q-mt-md`},No={class:`text-subtitle2`},Po={class:`text-caption text-kobo-3 q-mb-sm`},Fo={class:`row items-center q-mb-sm q-mt-md`},Io={class:`text-subtitle2`},Lo={class:`text-caption text-kobo-3 q-mb-sm`},Ro={class:`row items-center q-mb-sm q-mt-md`},zo={class:`text-subtitle2`},Bo={class:`text-caption text-kobo-3 q-mb-sm`},Vo={key:16,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Ho={class:`text-subtitle2 q-mb-sm`},Uo={class:`text-caption text-kobo-3 q-mb-sm`},Wo={key:17,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Go={class:`text-subtitle2 q-mb-sm`},Ko={class:`text-caption text-kobo-3 q-mb-sm`},qo={key:18,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Jo={class:`text-subtitle2 q-mb-sm`},Yo={class:`text-caption text-kobo-3 q-mb-sm`},Xo={key:19,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Zo={class:`text-subtitle2 q-mb-sm`},Qo={class:`text-caption text-kobo-3 q-mb-sm`},$o={class:`q-mb-sm`},es={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},ts={key:21,"data-tour":`settings-card-sentry`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ns={class:`text-subtitle2 q-mb-sm`},rs={class:`text-caption text-kobo-3 q-mb-sm`},is={class:`q-mb-sm`},as={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},os={key:23,"data-tour":`settings-card-forge`,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-md`},ls={class:`text-subtitle2 q-mb-sm`},us={class:`text-caption text-kobo-3 q-mb-sm`},ds={class:`q-mb-sm`},fs={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},ps={class:`q-mb-sm`},ms={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},hs={class:`row items-center q-mb-sm`},gs={class:`text-subtitle2`},_s={class:`text-caption text-kobo-3 q-mb-xs`},vs={class:`text-subtitle2 q-mb-sm`},ys={class:`text-caption text-kobo-3 q-mb-sm`},bs={class:`q-mb-sm`},xs={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},Ss={class:`q-mb-sm`},Cs={class:`row items-center q-mb-xs`},ws={class:`field-label-sub text-caption text-kobo-3 col`},Ts=[`src`,`alt`],Es={key:1,class:`text-caption text-kobo-3 q-py-sm`},Ds={key:0,class:`text-caption text-orange-5 q-mb-xs`},Os={class:`text-subtitle2 q-mb-sm`},ks={class:`row items-center q-mb-sm`},As={class:`text-subtitle2`},js={class:`text-caption text-kobo-3 q-mb-xs`},Ms={key:27,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Ns={class:`text-subtitle2 q-mb-sm`},Ps={class:`text-caption text-kobo-3 q-mb-sm`},Fs={key:28,"data-tour":`settings-card-scripts`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Is={class:`text-subtitle2 q-mb-sm`},Ls={class:`text-caption text-kobo-3 q-mb-sm`},Rs={key:29,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},zs={class:`text-subtitle2 q-mb-sm`},Bs={class:`text-caption text-kobo-3 q-mb-sm`},Vs={class:`text-caption text-kobo-3 q-mt-md q-mb-xs`},Hs={key:30,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:31,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`,"data-tour":`settings-shutdown`},Ks={class:`q-mb-md`},qs={class:`text-caption text-kobo-3 q-mt-xs`},Js={class:`text-subtitle2 q-mb-sm`},Ys={class:`text-caption text-kobo-3 q-mb-sm`},Xs={key:32,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Zs={class:`text-subtitle2 q-mb-sm`},Qs={class:`text-caption text-kobo-3 q-mb-sm`},$s={key:33,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ec={class:`text-subtitle2 q-mb-sm`},tc={class:`text-caption text-kobo-3 q-mb-sm`},nc={key:34,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},rc={class:`text-subtitle2 q-mb-sm`},ic={class:`text-caption text-kobo-3 q-mb-sm`},ac={key:35,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},oc={class:`row items-center justify-between q-mb-sm`},sc={class:`text-subtitle2`},cc={class:`text-caption text-kobo-3 q-mb-xs`},lc={class:`text-caption text-kobo-3 mono-guide q-mb-sm`},uc={key:36,"data-tour":`settings-card-worktrees`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},dc={class:`text-subtitle2 q-mb-sm`},fc={class:`text-caption text-kobo-3 q-mb-sm`},pc={class:`text-caption text-kobo-3 q-mt-xs`},mc={"data-tour":`settings-card-worktrees-purge`},hc={class:`text-caption text-kobo-3 q-mt-xs`},gc={"data-tour":`settings-card-worktrees-retention`},_c={class:`text-subtitle2 q-mb-sm`},vc={class:`text-caption text-negative q-mb-sm`},yc={class:`text-caption text-kobo-3 q-mb-sm`},bc={key:0,class:`text-caption text-kobo-3 q-mt-sm`},xc={class:`q-pa-sm text-caption text-kobo-2`,style:{"line-height":`1.55`}},Sc={class:`text-weight-medium text-kobo-1 q-mb-xs`},Cc={class:`q-mb-xs`},wc={class:`purge-docs-code`},Tc={class:`text-kobo-3 q-mb-md`},Ec={class:`text-weight-medium text-kobo-1 q-mb-xs`},Dc={class:`q-mb-xs`},Oc={class:`q-pl-md q-my-xs`},kc={class:`purge-docs-code`},Ac={class:`text-kobo-3 q-mb-md`},jc={class:`text-weight-medium text-kobo-1 q-mb-xs`},Mc={class:`q-mb-xs`},Nc={class:`q-mb-xs text-kobo-3`},Pc={class:`purge-docs-code`},Fc={class:`q-mb-xs text-kobo-3`},Ic={class:`purge-docs-code`},Lc={class:`text-kobo-3`},Rc={key:37,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},zc={class:`text-subtitle2 q-mb-sm`},Bc={class:`text-caption text-kobo-3 q-mb-sm`},Vc={key:1,class:`q-mt-md`},Hc={class:`text-caption text-kobo-3 q-mt-xs`},Uc={class:`q-mt-md`},Wc={class:`text-caption text-kobo-3 q-mb-xs`},Gc={class:`q-mt-md`},Kc={class:`text-caption text-kobo-3 q-mb-xs`},qc={key:0,class:`text-caption text-kobo-3`},Jc={key:0,class:`q-mt-md`},Yc={class:`text-caption text-kobo-3 q-mb-xs`},Xc=[`src`,`alt`],Zc={key:38,"data-tour":`settings-card-export`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Qc={class:`text-subtitle2 q-mb-sm`},$c={class:`text-caption text-kobo-3 q-mb-sm`},el={class:`row q-gutter-sm`},tl={key:0,class:`q-pa-none`},nl={class:`row q-gutter-md`,style:{"min-height":`500px`}},rl={class:`project-list-col`},il={class:`settings-card rounded-borders`,style:{height:`100%`}},al={class:`q-pa-sm`},ol={class:`text-caption text-uppercase text-weight-bold q-px-sm q-py-xs text-kobo-3`,style:{"letter-spacing":`0.05em`}},sl={key:0,class:`q-pa-md text-center text-caption text-kobo-3`},cl={class:`q-pa-sm`},ll={class:`project-form-col`},ul={class:`settings-card rounded-borders q-pa-lg`,style:{height:`100%`}},dl={class:`row items-center q-mb-md`},fl={class:`text-subtitle1 text-weight-medium text-kobo-1`},pl={key:0,class:`q-mb-md`},ml={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},hl={class:`text-caption text-kobo-3 q-mt-xs`},gl={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},_l={class:`text-subtitle2 q-mb-md`},vl={class:`q-mb-md`},yl={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},bl={class:`q-mb-md`},xl={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Sl={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Cl={class:`row items-center q-gutter-xs`},wl={class:`text-caption text-kobo-3 q-mt-xs`},Tl={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},El={class:`text-subtitle2 q-mb-md`},Dl={class:`q-mb-md`},Ol={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},kl={class:`q-mb-md`},Al={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},jl={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Ml={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`,"data-test":`project-git-settings`},Nl={class:`text-subtitle2 q-mb-md`},Pl={class:`q-mb-md`},Fl={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Il={class:`text-caption text-kobo-3 q-mb-xs`},Ll={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Rl={class:`text-subtitle2 q-mb-md`},zl={class:`q-mb-md`},Bl={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Vl={class:`text-caption text-kobo-3 q-mb-xs`},Hl={class:`q-mb-md`},Ul={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Wl={class:`text-caption text-kobo-3 q-mb-xs`},Gl={class:`q-mb-md`},Kl={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},ql={class:`text-caption text-kobo-3 q-mb-xs`},Jl={key:0,class:`q-mb-md`},Yl={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Xl={class:`text-caption text-kobo-3 q-mb-xs`},Zl={key:1,class:`q-mb-md`},Ql={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},$l={class:`text-caption text-kobo-3 q-mb-xs`},eu={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},tu={class:`text-caption text-kobo-3 q-mt-xs`},nu={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ru={class:`text-subtitle2 q-mb-md`},iu={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={class:`text-caption text-kobo-3 q-mt-xs`},cu={class:`q-mb-md`},lu={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},uu={class:`text-caption text-kobo-3 q-mb-xs`},du={class:`field-label-sub text-caption q-mt-sm q-mb-xs text-kobo-3`},fu={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},pu={class:`text-caption text-kobo-3 q-mb-xs`},mu={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},hu={class:`text-caption text-kobo-3 q-mb-xs`},gu={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},_u={class:`text-caption text-kobo-3 q-mb-xs`},vu={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},yu={class:`text-caption text-kobo-3 q-mb-xs`},bu={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},xu={class:`text-caption text-kobo-3 q-mb-xs`},Su={class:`row items-center justify-between q-mb-xs`},Cu={class:`field-label text-body2 text-weight-medium text-kobo-3`},wu={class:`text-caption text-kobo-3 q-mb-xs`},Tu={class:`text-caption text-kobo-3 mono-guide q-mb-sm`},Eu={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Du={class:`text-subtitle2 q-mb-md`},Ou={class:`q-mb-md`},ku={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},Au={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},ju={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Mu={class:`text-subtitle2 q-mb-xs`},Nu={class:`text-caption text-kobo-3 q-mb-sm`},Pu={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Fu={class:`text-subtitle2 q-mb-xs`},Iu={class:`text-caption text-kobo-3 q-mb-sm`},Lu={key:1,class:`column items-center justify-center`,style:{height:`100%`,"min-height":`300px`}},Ru={class:`text-body2 text-kobo-3`},zu={key:1,class:`q-pa-none`},Bu={"data-tour":`settings-card-templates`,class:`settings-card rounded-borders q-pa-lg`},Vu={class:`row items-center justify-between q-mb-md`},Hu={class:`text-subtitle1 text-weight-medium text-kobo-1`},Uu={class:`row q-gutter-sm items-center`},Wu={key:0,class:`text-kobo-3 q-py-lg text-center`},Gu={key:1,class:`column q-gutter-sm`},Ku={class:`row items-start justify-between no-wrap`},qu={class:`col`},Ju={class:`text-body1 text-weight-medium`,style:{"font-family":`var(--kobo-font-mono)`}},Yu={class:`text-caption text-kobo-2 q-mt-xs`},Xu={class:`row no-wrap q-gutter-xs`},Zu={class:`text-caption text-kobo-3 q-mt-lg`,style:{"font-family":`var(--kobo-font-mono)`}},Qu={key:2,class:`q-pa-none`},$u={"data-tour":`settings-card-workspaceTemplates`,class:`settings-card rounded-borders q-pa-lg`},ed={class:`text-subtitle1 text-weight-medium text-kobo-1 q-mb-xs`},td={class:`text-caption text-kobo-3 q-mb-md`},nd={key:0,class:`text-caption text-kobo-3`},rd={class:`row no-wrap q-gutter-xs`},id={class:`mono-guide q-ma-none`},ad={class:`settings-savebar__label`},od={class:`text-subtitle1`},sd={class:`q-pl-md q-pt-xs`,style:{"font-size":`11px`,"font-family":`var(--kobo-font-mono)`,columns:`2`,"column-gap":`24px`}},cd={key:0,class:`text-negative text-caption`},ld=2500,ud=ut(k({__name:`SettingsPage`,setup(t){let r=ne(),s=Ye(),c=je(),d=Bt(),{t:p,locale:y}=Ue(),{scheduleAutoRun:w}=ft(),{isMobile:k}=vt(),M=pt(),P=o(`general`),I=o(!1);function ee(e){P.value=e,k.value&&(I.value=!1)}function re(){I.value=!1,M.toggleLeft()}let ie=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`)}]),ae=qe();u(()=>ae.query.tab,e=>{typeof e==`string`&&ie.value.some(t=>t.value===e)&&ee(e)},{immediate:!0});let oe=T(()=>ie.value.find(e=>e.value===P.value)?.label??``),se=T(()=>[`general`,`agents`,`skills`,`prompts`,`git`,`scripts`,`notion`,`sentry`,`forge`,`voice`,`notifications`,`worktrees`,`memory`,`export`].includes(P.value)),ce=o(`auto`),le=o(`auto`),ue=o(``),pe=o(``),he=o(``),ye=o(``),be=o(``),we=o(``),Ae=o(``),B=o(``),Pe=o(!1),Le=o(5),Re=o(!1),ze=o(!1),We=o(!0),Ke=o(!0),Je=o(0),Xe=o(!0),et=o(0),it=o(0),st=o(`hybrid`),ct=o(!1),ut=0,mt=0,q=o({enabled:!1,token:``,behindProxy:!1,urls:[]}),Ot=o(!1),kt=o(``);function At(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 Ht=T(()=>q.value.urls.map(At));async function Ut(){let e=++mt;try{let t=await _e(`/api/settings/network`);if(!t.ok)throw await Se(t);let n=await t.json();if(e!==mt)return;q.value=n,await Wt()}catch{if(e!==mt)return;r.notify({type:`negative`,message:p(`settings.network.loadFailed`),position:`top`})}}async function Wt(){let e=++ut,t=Ht.value[0];if(!t||!q.value.token){kt.value=``;return}let n=`${t}/#token=${encodeURIComponent(q.value.token)}`;try{let{default:t}=await de(async()=>{let{default:e}=await import(`./browser-BcOi2ES2.js`).then(e=>Zt(e.default,1));return{default:e}},[]),r=await t.toDataURL(n,{margin:1,width:200});e===ut&&(kt.value=r)}catch{e===ut&&(kt.value=``)}}async function Gt(e){if(!ct.value){ct.value=!0,mt++;try{let t=await _e(`/api/settings/network`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(e)});if(!t.ok)throw await Se(t);let n=await t.json();q.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 me(n.token)).ok&&Te(),n.restartRequired&&(Ot.value=!0),await Wt()}catch{r.notify({type:`negative`,message:p(`settings.network.updateFailed`),position:`top`}),await Ut()}finally{ct.value=!1}}}function Kt(e){Gt({enabled:e})}function qt(e){Gt({behindProxy:e})}function Jt(){r.dialog({title:p(`settings.network.title`),message:p(`settings.network.regenerateConfirm`),cancel:!0,persistent:!0}).onOk(()=>{Gt({regenerate:!0})})}function Yt(){Yf(q.value.token)}let Xt=o(!0),Qt=o(typeof Notification>`u`?`unsupported`:Notification.permission),$t=o(!0),en=o(!1),tn=o(!1),nn=o(!1),rn=o(fe),an=o(ve),on=o(ve),cn=o(ve),un=o(1),dn=o(1),fn=o(1),pn=o(1),mn=o({...Ne}),hn=o(``),gn=o(``),_n=o(``),yn=o(``),bn=o(!1),xn=o(!0),Sn=o(!1),Cn=o(ot),wn=o(1),En=T(()=>qr($t.value)),Dn=T(()=>{switch(Qt.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 On(){typeof Notification>`u`?r.notify({type:`negative`,message:p(`settings.browserNotificationUnsupported`),position:`top`}):(Notification.permission==="default"?Qt.value=await Notification.requestPermission():Qt.value=Notification.permission,Qt.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 kn=o(null),An=o({});async function jn(e){kn.value=e;try{let t=await _e(`/api/${e}/test`,{method:`POST`}),n=await t.json();An.value[e]=t.ok?n:{ok:!1,durationMs:0,detail:n.error??`HTTP ${t.status}`}}catch(t){An.value[e]={ok:!1,durationMs:0,detail:t instanceof Error?t.message:String(t)}}finally{kn.value=null}}let Mn=o([]),Nn=o(!1),Pn=o(``),Fn=T(()=>Mn.value.map(e=>({label:`${e.name} — ${e.email}`,value:e.id,name:e.name,email:e.email,avatarUrl:e.avatarUrl})));async function In(e=!1){if(!Nn.value&&!(!e&&Mn.value.length>0)){Nn.value=!0,Pn.value=``;try{let e=await _e(`/api/notion/users`),t=await e.json().catch(()=>({}));if(!e.ok)throw Error(t.error??`HTTP ${e.status}`);Mn.value=Array.isArray(t.users)?t.users:[]}catch(e){Pn.value=e instanceof Error?e.message:String(e),Mn.value=[]}finally{Nn.value=!1}}}let Ln=o(``),Rn=o(``),J=o(null),zn=o(`bypass`),Bn=o(`bypass`),Hn=o(``),Un=o(``),Wn=o(``),Gn=o(``),Kn=o(!0),qn=o(!0),Jn=o([]),Y=o([]),Yn=o(``),Xn=o(``),Zn=o(``),Qn=o(`no-tasks`),$n=o(!1),er=o(``),tr=o(``),nr=o(``),rr=o(``),ir=o(``),ar=o(``),or=o(``),sr=o(!1);function cr(e){Q.value.path=e}let lr=T(()=>[{label:p(`settings.cleanupScriptMode.inherit`),value:``},{label:p(`settings.cleanupScriptMode.idle`),value:`idle`},{label:p(`settings.cleanupScriptMode.noTasks`),value:`no-tasks`}]),ur=o(Oe),dr=o(null),fr=o(!0);function pr(e){let t=e.trim().replace(/^\/+|\/+$/g,``);return t.length===0||t.length>50||!/^[A-Za-z0-9._/-]+$/.test(t)||t.includes(`..`)?``:t}function mr(){let e=pr(Yn.value);e&&!Y.value.includes(e)&&(Y.value.push(e),Yn.value=``)}function hr(e){Y.value.splice(e,1)}function gr(e,t){let n=pr(t);if(!n)return;let r=Y.value.indexOf(n);(r===-1||r===e)&&(Y.value[e]=n)}function _r(e,t){let n=e+t;if(n<0||n>=Y.value.length)return;let r=Y.value;[r[e],r[n]]=[r[n],r[e]]}let vr=o(!1),yr=o(`standard`),xr=T(()=>{switch(yr.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`}}),Sr=o(``),Cr=o(``),wr=o(``),Tr=o(``),Er=o(``),Dr=o(null),kr=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 Ar(e,t){Dr.value=e;try{let n=await _e(`/api/settings/skill-suite-prompts/${t}`);if(!n.ok)throw Error(await n.text());let i=await n.json(),a={reviewTemplate:Sr,autoLoopReviewGate:Cr,autoLoopGroomingIntro:wr,qaPromptTemplate:Tr,brainstormingInstruction:Er};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{Dr.value=null}}let jr=o(!1),Mr=o(`alt`),Nr=o(`auto`),Fr=o(null),Ir=o(``),Lr=o(``),Rr=o(0),zr=o(``),Br=o(!1),Hr=o(!0),Ur=o(null),Gr=o(!1);function ud(){r.dialog({title:p(`settings.skillSuite.reloadDefaults`),message:p(`settings.skillSuite.reloadDefaultsConfirm`),cancel:!0,persistent:!0,dark:!0}).onOk(()=>{Sr.value=xt,Cr.value=Ct,wr.value=yt,Tr.value=bt,Er.value=Tt})}function dd(e){let t=e===`global`?ar.value:Q.value.changeSourceBranchScript,n=()=>{e===`global`?ar.value=or.value:Q.value.changeSourceBranchScript=or.value};!t.trim()||t===or.value?n():r.dialog({title:p(`settings.changeSourceBranchScript.replaceConfirmTitle`),message:p(`settings.changeSourceBranchScript.replaceConfirm`),cancel:!0,persistent:!0,dark:!0}).onOk(n)}function fd(e){return!e||e===`tiny`||e===`base`?.1:.2}let pd=[e=>e.trim().length>0||p(`settings.worktreesPathRequired`)],md=o(!1),hd=o(Ee()),gd=o({notion:{configured:!1},sentry:{configured:!1}}),_d=o({notion:{command:``,args:``,environment:``},sentry:{command:``,args:``,environment:``}}),vd=T(()=>Object.values(_d.value).some(e=>e.command!==``||e.args!==``||e.environment!==``)),yd=o(-1),Z=o(!1),Q=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:``}}),bd=[`workflowPolicy`,`defaultModel`,`forge`,`prPromptTemplate`,`reviewPromptTemplate`,`ciFixPromptTemplate`,`notionInitialPromptTemplate`,`sentryInitialPromptTemplate`,`gitConventions`,`setupScript`,`taskPromptTemplate`,`cleanupScript`,`cleanupScriptMode`,`archiveScript`,`changeSourceBranchScript`,`sessionEndedScript`,`shutdownScript`,`prMergedScript`,`autoLoopDisabledScript`,`devServer`,`e2e`,`finalization`],xd=o(null),Sd=o(null),Cd=T(()=>s.projects.map(e=>({value:e.path,label:ep(e)||e.path})));function wd(e){let t=s.projects.find(t=>t.path===e);t&&(Q.value.workflowPolicy={...t.workflowPolicy},Q.value.defaultModel=t.defaultModel??``,Q.value.forge=t.forge??`auto`,Q.value.prPromptTemplate=t.prPromptTemplate??``,Q.value.reviewPromptTemplate=t.reviewPromptTemplate??``,Q.value.ciFixPromptTemplate=t.ciFixPromptTemplate??``,Q.value.notionInitialPromptTemplate=t.notionInitialPromptTemplate??``,Q.value.sentryInitialPromptTemplate=t.sentryInitialPromptTemplate??``,Q.value.gitConventions=t.gitConventions??``,Q.value.setupScript=t.setupScript??``,Q.value.devServer={startCommand:t.devServer?.startCommand??``,stopCommand:t.devServer?.stopCommand??``},Q.value.e2e={framework:t.e2e?.framework??``,skill:t.e2e?.skill??``,prompt:t.e2e?.prompt??``},Q.value.finalization={prompt:t.finalization?.prompt??``})}function Td(){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 bd.every(t=>JSON.stringify(Q.value[t])===JSON.stringify(e[t]))}function Ed(e){if(e===null){xd.value=null,Sd.value=null;return}if(Sd.value===null&&Td()){wd(e),xd.value=e,Sd.value=e;return}let t=s.projects.find(t=>t.path===e),n=t&&ep(t)||e;r.dialog({title:p(`settings.copyFromConfirmTitle`),message:p(`settings.copyFromConfirm`,{project:n}),cancel:!0,persistent:!0,dark:!0}).onOk(()=>{wd(e),xd.value=e,Sd.value=e}).onCancel(()=>{xd.value=Sd.value})}let Dd=o([]),Od=o([]);async function kd(){try{let e=await _e(`/api/skills`);e.ok&&(Dd.value=await e.json())}catch{}}function Ad(e,t){t(()=>{let t=e.trim().toLowerCase();Od.value=t?Dd.value.filter(e=>e.toLowerCase().includes(t)):Dd.value.slice()})}let jd=o([]),Md=o(!1),Nd=o(!1),Pd=o(!1),Fd=o(!1),Id=o(null),Ld=o(``),Rd=o(``),zd=o(``),Bd=o(``),Vd=o(!1),Hd=o(!1),Ud=T(()=>[...c.templates].sort((e,t)=>e.slug.localeCompare(t.slug))),Wd=[`{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 Gd(){Id.value=null,Ld.value=``,Rd.value=``,zd.value=``,Bd.value=``,Fd.value=!0}function Kd(e){Id.value=e.slug,Ld.value=e.slug,Rd.value=e.description,zd.value=e.content,Bd.value=``,Fd.value=!0}async function qd(){Bd.value=``;let e=Ld.value.trim(),t=Rd.value.trim();if(Id.value===null&&!/^[a-z0-9][a-z0-9-]{0,63}$/.test(e))Bd.value=p(`templates.slugInvalid`);else if(!t)Bd.value=p(`templates.descriptionRequired`);else if(!zd.value.trim())Bd.value=p(`templates.contentRequired`);else{Vd.value=!0;try{Id.value===null?await c.createTemplate({slug:e,description:t,content:zd.value}):await c.updateTemplate(Id.value,{description:t,content:zd.value}),Fd.value=!1}catch(e){Bd.value=e instanceof Error?e.message:p(`templates.createFailed`)}finally{Vd.value=!1}}}function Jd(){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()=>{Hd.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{Hd.value=!1}})}async function Yd(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 Xd(e){let t=new Date(e);return Number.isNaN(t.getTime())?`-`:t.toLocaleDateString()}function Zd(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 Qd(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 $d(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 ef=[{label:`English`,value:`en`},{label:`Français`,value:`fr`},{label:`Deutsch`,value:`de`},{label:`Español`,value:`es`},{label:`Italiano`,value:`it`}];function tf(e){ke(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 nf=T(()=>[...wt.map(e=>({label:p(e.i18nLabelKey),value:e.value}))]),rf=T(()=>[...St.map(e=>({label:p(e.i18nLabelKey),value:e.value}))]),af=T(()=>[{label:p(`settings.useGlobal`),value:``},...nf.value]),of=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`}]),sf=T(()=>Et[`claude-code`].map(e=>({label:p(`agentPermissionMode.${e}`),value:e}))),cf=T(()=>Et.codex.map(e=>({label:p(`agentPermissionMode.${e}`),value:e}))),lf=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`)}]),uf=T(()=>[{label:p(`settings.mcpAutoSelect`),value:``},...s.activeMcpServers.map(e=>({label:e.key,value:e.key}))]),df=Nt(),ff=T(()=>[...Me.map(e=>({label:p(e.labelKey),value:e.id})),...df.options]),pf=T(()=>[{label:p(`settings.soundGeneral`),value:ve},...ff.value]),mf=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})))),hf=[{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 gf(){Be(rn.value,un.value)}function _f(){Be(an.value,dn.value)}function vf(){Be(on.value,fn.value)}function yf(){Be(cn.value,pn.value)}let $=T(()=>yd.value<0||yd.value>=s.projects.length?null:s.projects[yd.value]??null),bf=o(wf()),xf=o({});function Sf(){return{workflowPolicy:hd.value,claudeModel:ce.value,codexModel:le.value,prPrompt:ue.value,reviewPrompt:pe.value,ciFixPrompt:he.value,finalizationPrompt:ye.value,gitConventions:be.value,editorCommand:we.value,fileManagerCommand:Ae.value,terminalCommand:B.value,autoPurgeOnPrMerged:Pe.value,autoLoopMaxRetries:Le.value,agentWatchdogEnabled:Re.value,forceImmediateMessages:ze.value,showProgressBars:We.value,stopDevServersOnShutdown:Ke.value,awaitingUserReminderMinutes:Je.value,activityDigestEnabled:Xe.value,wsEventsRetentionDays:et.value,wsEventsKeepPerWorkspace:it.value,browserNotifications:Xt.value,audioNotifications:$t.value,audioQuestionNotifications:en.value,audioWorkspaceCreatedNotifications:tn.value,audioAgentErrorNotifications:nn.value,audioNotificationSound:rn.value,audioQuestionSound:an.value,audioWorkspaceCreatedSound:on.value,audioAgentErrorSound:cn.value,audioNotificationVolume:un.value,audioQuestionVolume:dn.value,audioWorkspaceCreatedVolume:fn.value,audioAgentErrorVolume:pn.value,prNotificationSounds:mn.value,notionStatusProperty:hn.value,notionStatus:gn.value,notionAssigneeProperty:_n.value,notionUserId:yn.value,notionInitialPrompt:Ln.value,sentryInitialPrompt:Rn.value,claudePermissionMode:zn.value,codexPermissionMode:Bn.value,notionMcpKey:Hn.value,sentryMcpKey:Un.value,bitbucketToken:Wn.value,bitbucketUsername:Gn.value,notionEnabled:Kn.value,sentryEnabled:qn.value,showVerboseSystemMessages:bn.value,showThinkingBlocks:xn.value,whipEnabled:Sn.value,whipShortcut:Cn.value,whipVolume:wn.value,tags:Jn.value,branchPrefixes:Y.value,setupScript:Xn.value,cleanupScript:Zn.value,cleanupScriptMode:Qn.value,cleanupScriptOnlyOnChanges:$n.value,archiveScript:er.value,changeSourceBranchScript:ar.value,sessionEndedScript:tr.value,shutdownScript:nr.value,prMergedScript:rr.value,autoLoopDisabledScript:ir.value,worktreesPath:ur.value,worktreesPrefixByProject:fr.value,flattenWorkspaceList:vr.value,memoryMode:st.value,skillSuite:yr.value,customReviewTemplate:Sr.value,customAutoLoopReviewGate:Cr.value,customAutoLoopGroomingIntro:wr.value,customQaPromptTemplate:Tr.value,customBrainstormingInstruction:Er.value,voiceEnabled:jr.value,voicePttKey:Mr.value,voiceLanguage:Nr.value,voiceModel:Fr.value,voiceCommandPath:Ir.value,voiceFfmpegPath:Lr.value,voiceTemperature:Rr.value,voicePrompt:zr.value,voiceTranslateToEnglish:Br.value,voiceSuppressNst:Hr.value}}function Cf(){return{...Q.value}}function wf(){return Kr(Sf())}function Tf(){return Kr(Cf())}let Ef=T(()=>!Wr(Sf(),bf.value)),Df=T(()=>!Wr(Cf(),xf.value)),Of=T(()=>s.loadError?!1:Ef.value?!0:Df.value&&($.value!==null||Z.value)),kf=T(()=>Df.value&&($.value!==null||Z.value)?Nd.value:md.value);function Af(){Df.value&&($.value!==null||Z.value)?Xf():Vf()}function jf(){hd.value=Ee(s.global.workflowPolicy),Gr.value=!0;let e=s.global.defaultModelByEngine??{};ce.value=e[`claude-code`]??`auto`,le.value=e.codex??`auto`,ue.value=s.global.prPromptTemplate,pe.value=s.global.reviewPromptTemplate??``,he.value=s.global.ciFixPromptTemplate??``,ye.value=s.global.finalizationPrompt??``,be.value=s.global.gitConventions,we.value=s.global.editorCommand??``,Ae.value=s.global.fileManagerCommand??``,B.value=s.global.terminalCommand??``,Pe.value=s.global.autoPurgeOnPrMerged??!1,Le.value=s.global.autoLoopMaxRetries??5,Re.value=s.global.agentWatchdogEnabled===!0,ze.value=s.global.forceImmediateMessages===!0,We.value=s.global.showProgressBars!==!1,Ke.value=s.global.stopDevServersOnShutdown!==!1,Je.value=s.global.awaitingUserReminderMinutes??0,Xe.value=s.global.activityDigestEnabled??!0,et.value=s.global.wsEventsRetentionDays??0,it.value=s.global.wsEventsKeepPerWorkspace??0,Xt.value=s.global.browserNotifications??!0,$t.value=s.global.audioNotifications??!0,en.value=s.global.audioQuestionNotifications??!1,tn.value=s.global.audioWorkspaceCreatedNotifications??!1,nn.value=s.global.audioAgentErrorNotifications??!1,rn.value=Ie(s.global.audioNotificationSound),an.value=xe(s.global.audioQuestionSound),on.value=xe(s.global.audioWorkspaceCreatedSound),cn.value=xe(s.global.audioAgentErrorSound);let t=Object.fromEntries(ge.map(e=>[e,xe(s.global[e])])),n=Object.fromEntries(Fe.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]}));mn.value={...t,...n};let r=s.global.audioNotificationVolume;un.value=typeof r==`number`&&Number.isFinite(r)?Math.max(0,Math.min(1,r)):1;let i=s.global.audioQuestionVolume;dn.value=typeof i==`number`&&Number.isFinite(i)?Math.max(0,Math.min(1,i)):1;let a=s.global.audioWorkspaceCreatedVolume;fn.value=typeof a==`number`&&Number.isFinite(a)?Math.max(0,Math.min(1,a)):1;let o=s.global.audioAgentErrorVolume;pn.value=typeof o==`number`&&Number.isFinite(o)?Math.max(0,Math.min(1,o)):1,hn.value=s.global.notionStatusProperty??``,gn.value=s.global.notionInProgressStatus??``,_n.value=s.global.notionAssigneeProperty??``,yn.value=s.global.notionUserId??``,Ln.value=s.global.notionInitialPromptTemplate??``,Rn.value=s.global.sentryInitialPromptTemplate??``;{let e=s.global.defaultPermissionModeByEngine??{},t=e=>e===`plan`||e===`bypass`||e===`strict`||e===`interactive`,n=e[`claude-code`];zn.value=t(n)?n:`bypass`;let r=e.codex;Bn.value=t(r)?r:`bypass`}Hn.value=s.global.notionMcpKey??``,Un.value=s.global.sentryMcpKey??``,Wn.value=s.global.bitbucketToken??``,Gn.value=s.global.bitbucketUsername??``,Kn.value=s.global.notionEnabled??!0,qn.value=s.global.sentryEnabled??!0,bn.value=s.showVerboseSystemMessages,xn.value=s.global.showThinkingBlocks??!0,Sn.value=s.global.whipEnabled??!1,Cn.value=s.global.whipShortcut??`mod+shift+x`,wn.value=s.global.whipVolume??1,Jn.value=Array.isArray(s.global.tags)?[...s.global.tags]:[],Y.value=Array.isArray(s.global.branchPrefixes)?[...s.global.branchPrefixes]:[],Xn.value=s.global.setupScript??``,Zn.value=s.global.cleanupScript??``,Qn.value=s.global.cleanupScriptMode===`idle`?`idle`:`no-tasks`,$n.value=s.global.cleanupScriptOnlyOnChanges??!1,er.value=s.global.archiveScript??``,tr.value=s.global.sessionEndedScript??``,nr.value=s.global.shutdownScript??``,rr.value=s.global.prMergedScript??``,ir.value=s.global.autoLoopDisabledScript??``,ar.value=s.global.changeSourceBranchScript??``,ur.value=s.global.worktreesPath??`.worktrees`,fr.value=s.global.worktreesPrefixByProject??!1,vr.value=s.global.flattenWorkspaceList??!1,st.value=s.global.memoryMode??`hybrid`,yr.value=s.global.skillSuite??`standard`,Sr.value=s.global.customReviewTemplate??``,Cr.value=s.global.customAutoLoopReviewGate??``,wr.value=s.global.customAutoLoopGroomingIntro??``,Tr.value=s.global.customQaPromptTemplate??``,Er.value=s.global.customBrainstormingInstruction??``,jr.value=s.global.voiceEnabled??!1,Mr.value=s.global.voicePttKey===`ctrl+space`?`ctrl+space`:`alt`,Nr.value=s.global.voiceLanguage??`auto`,Fr.value=s.global.voiceModel??null,Ir.value=s.global.voiceCommandPath??``,Lr.value=s.global.voiceFfmpegPath??``,Rr.value=typeof s.global.voiceTemperature==`number`?s.global.voiceTemperature:0,zr.value=s.global.voicePrompt??``,Br.value=s.global.voiceTranslateToEnglish??!1,Hr.value=s.global.voiceSuppressNonSpeechTokens??!0,Gr.value=!1,bf.value=wf()}u(()=>Fr.value,(e,t)=>{Gr.value||e!==t&&(Rr.value=fd(e))});function Mf(e){e?(Q.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??``}},xf.value=Tf(),e.path&&Nf(e.path)):(Q.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:``}},jd.value=[],xf.value=Tf())}async function Nf(e){if(!e.trim())jd.value=[];else{Md.value=!0;try{let t=await _e(`/api/git/branches?path=${encodeURIComponent(e.trim())}`);if(!t.ok)throw await Se(t);let n=await t.json();jd.value=n.local??n.branches??[]}catch{jd.value=[]}finally{Md.value=!1}}}let Pf=null;u(()=>Q.value.path,e=>{Pf&&clearTimeout(Pf),Pf=setTimeout(()=>{Nf(e)},500)}),u(yd,()=>{Z.value=!1,Mf($.value)});let Ff=o(null);async function If(){try{let e=await _e(`/api/settings/export`);if(!e.ok)throw await Se(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 Lf(){Ff.value?.click()}async function Rf(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 Ce(`/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(),jf(),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 zf(e){if(J.value===null){J.value=e;try{let t=await s.fetchGlobalDefaults(),n={prPromptTemplate:ue,reviewPromptTemplate:pe,ciFixPromptTemplate:he,finalizationPrompt:ye,gitConventions:be,notionInitialPromptTemplate:Ln,sentryInitialPromptTemplate:Rn};n[e].value=t[e]}catch(e){console.error(`[SettingsPage] resetFieldToDefault failed:`,e),r.notify({type:`negative`,message:p(`settings.resetFailed`),position:`top`})}finally{J.value=null}}}async function Bf(){let e=e=>e===0?1/0:e,t=s.global.wsEventsRetentionDays??0,n=et.value;if(e(n)>=e(t))return!0;let i=p(`settings.retentionConfirmMessageUnknown`,{days:n});try{let e=await s.previewRetention(n,it.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 Vf(){if(await dr.value?.validate()!==!1&&await Bf()){md.value=!0;try{await s.updateGlobal({workflowPolicy:Ee(hd.value),defaultModelByEngine:{"claude-code":ce.value,codex:le.value},prPromptTemplate:ue.value,reviewPromptTemplate:pe.value,ciFixPromptTemplate:he.value,finalizationPrompt:ye.value,gitConventions:be.value,editorCommand:we.value,fileManagerCommand:Ae.value,terminalCommand:B.value,autoPurgeOnPrMerged:Pe.value,autoLoopMaxRetries:Le.value,agentWatchdogEnabled:Re.value,forceImmediateMessages:ze.value,showProgressBars:We.value,stopDevServersOnShutdown:Ke.value,awaitingUserReminderMinutes:Je.value,activityDigestEnabled:Xe.value,wsEventsRetentionDays:et.value,wsEventsKeepPerWorkspace:it.value,browserNotifications:Xt.value,audioNotifications:$t.value,audioQuestionNotifications:en.value,audioWorkspaceCreatedNotifications:tn.value,audioAgentErrorNotifications:nn.value,audioNotificationSound:rn.value,audioQuestionSound:an.value,audioWorkspaceCreatedSound:on.value,audioAgentErrorSound:cn.value,audioNotificationVolume:un.value,audioQuestionVolume:dn.value,audioWorkspaceCreatedVolume:fn.value,audioAgentErrorVolume:pn.value,...mn.value,notionStatusProperty:hn.value,notionInProgressStatus:gn.value,notionAssigneeProperty:_n.value,notionUserId:yn.value,notionInitialPromptTemplate:Ln.value,sentryInitialPromptTemplate:Rn.value,defaultPermissionModeByEngine:{"claude-code":zn.value,codex:Bn.value},notionMcpKey:Hn.value,sentryMcpKey:Un.value,bitbucketToken:Wn.value,bitbucketUsername:Gn.value,notionEnabled:Kn.value,sentryEnabled:qn.value,showThinkingBlocks:xn.value,whipEnabled:Sn.value,whipShortcut:Cn.value,whipVolume:wn.value,tags:Jn.value,branchPrefixes:Y.value,setupScript:Xn.value,cleanupScript:Zn.value,cleanupScriptMode:Qn.value,cleanupScriptOnlyOnChanges:$n.value,archiveScript:er.value,changeSourceBranchScript:ar.value,sessionEndedScript:tr.value,shutdownScript:nr.value,prMergedScript:rr.value,autoLoopDisabledScript:ir.value,worktreesPath:ur.value,worktreesPrefixByProject:fr.value,flattenWorkspaceList:vr.value,memoryMode:st.value,skillSuite:yr.value,customReviewTemplate:Sr.value,customAutoLoopReviewGate:Cr.value,customAutoLoopGroomingIntro:wr.value,customQaPromptTemplate:Tr.value,customBrainstormingInstruction:Er.value,voiceEnabled:jr.value,voicePttKey:Mr.value,voiceLanguage:Nr.value,voiceModel:Fr.value,voiceCommandPath:Ir.value.trim(),voiceFfmpegPath:Lr.value.trim(),voiceTemperature:Rr.value,voicePrompt:zr.value,voiceTranslateToEnglish:Br.value,voiceSuppressNonSpeechTokens:Hr.value}),s.setVerboseSystemMessages(bn.value),bf.value=wf(),r.notify({type:`positive`,message:p(`settings.saved`),position:`top`})}catch{r.notify({type:`negative`,message:p(`settings.saveError`),position:`top`})}finally{md.value=!1}}}async function Hf(e){Ur.value=e,qf();try{await s.downloadVoiceModel(e)}catch{r.notify({type:`negative`,message:p(`voice.downloadFailed`),position:`top`})}finally{Ur.value=null,Jf()}}async function Uf(e){Ur.value=e;try{await s.deleteVoiceModel(e),Fr.value===e&&(Fr.value=null)}catch{r.notify({type:`negative`,message:p(`voice.deleteFailed`),position:`top`})}finally{Ur.value=null}}async function Wf(e){try{await s.cancelVoiceModelDownload(e)}catch{r.notify({type:`negative`,message:p(`voice.cancelFailed`),position:`top`})}}function Gf(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 Kf=null;function qf(){Kf||=setInterval(()=>{document.visibilityState!==`hidden`&&s.fetchVoiceModels().catch(e=>{console.error(`[settings] voice model polling failed:`,e)})},ld)}function Jf(){Kf&&=(clearInterval(Kf),null)}async function Yf(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 Xf(){if(!Q.value.path.trim())r.notify({type:`negative`,message:p(`settings.projectPathRequired`),position:`top`});else{Nd.value=!0;try{await s.upsertProject(Q.value.path.trim(),{workflowPolicy:{...Q.value.workflowPolicy},displayName:Q.value.displayName,color:Q.value.color,defaultSourceBranch:Q.value.defaultSourceBranch,defaultModel:Q.value.defaultModel,forge:Q.value.forge,prPromptTemplate:Q.value.prPromptTemplate,reviewPromptTemplate:Q.value.reviewPromptTemplate,ciFixPromptTemplate:Q.value.ciFixPromptTemplate,notionInitialPromptTemplate:Q.value.notionInitialPromptTemplate,sentryInitialPromptTemplate:Q.value.sentryInitialPromptTemplate,gitConventions:Q.value.gitConventions,setupScript:Q.value.setupScript,taskPromptTemplate:Q.value.taskPromptTemplate,cleanupScript:Q.value.cleanupScript,cleanupScriptMode:Q.value.cleanupScriptMode,archiveScript:Q.value.archiveScript,changeSourceBranchScript:Q.value.changeSourceBranchScript,sessionEndedScript:Q.value.sessionEndedScript,shutdownScript:Q.value.shutdownScript,prMergedScript:Q.value.prMergedScript,autoLoopDisabledScript:Q.value.autoLoopDisabledScript,devServer:Q.value.devServer,e2e:Q.value.e2e,finalization:Q.value.finalization}),Z.value=!1;let e=s.projects.findIndex(e=>e.path===Q.value.path.trim());e>=0&&(yd.value=e),xf.value=Tf(),r.notify({type:`positive`,message:p(`settings.projectSaved`),position:`top`})}catch{r.notify({type:`negative`,message:p(`settings.projectSaveError`),position:`top`})}finally{Nd.value=!1}}}function Zf(){if(!$.value)return;let e=$.value.displayName||$.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($.value){Pd.value=!0;try{await s.deleteProject($.value.path),yd.value=-1,Z.value=!1,Mf(null),r.notify({type:`positive`,message:p(`settings.projectDeleted`),position:`top`})}catch{r.notify({type:`negative`,message:p(`settings.projectDeleteError`),position:`top`})}finally{Pd.value=!1}}})}function Qf(){yd.value=-1,Z.value=!0,Mf(null),xd.value=null,Sd.value=null}function $f(e){Df.value&&($.value!==null||Z.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(()=>{Z.value=!1,yd.value=e,xd.value=null,Sd.value=null}):(Z.value=!1,yd.value=e,xd.value=null,Sd.value=null)}function ep(e){if(e.displayName)return e.displayName;let t=e.path.split(`/`);return t[t.length-1]??e.path}let tp=o([]);function np(e,t){t(()=>{tp.value=e?jd.value.filter(t=>t.toLowerCase().includes(e.toLowerCase())):jd.value})}async function rp(){await s.fetchSettings(),s.loadError||jf()}return m(async()=>{await Promise.all([s.fetchSettings(),s.fetchActiveMcpServers(),kd()]);try{let e=await s.fetchGlobalDefaults();or.value=e.changeSourceBranchScript??``}catch(e){console.error(`[SettingsPage] fetchGlobalDefaults failed:`,e)}await s.fetchVoiceModels(),await s.fetchVoiceRuntime(),jf(),w(`settings`),Ut(),d.fetchTemplates(),Ze(`settings:global`,()=>Ef.value),Ze(`settings:integrations`,()=>vd.value),Ze(`settings:project`,()=>Df.value&&($.value!==null||Z.value))}),l(()=>{Pf&&clearTimeout(Pf),Jf(),$e(`settings:global`),$e(`settings:integrations`),$e(`settings:project`)}),(t,r)=>(f(),b(It,{class:`settings-page`,"style-fn":e(Vt)},{default:_(()=>[e(s).loadError?(f(),E(`div`,Jr,[v(L,{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(dt),v(R,{dense:``,flat:``,"no-caps":``,icon:`refresh`,label:t.$t(`common.retry`),onClick:rp},null,8,[`label`])])):x(``,!0),O(`div`,$r,[e(k)?(f(),b(Mt,{key:1,modelValue:I.value,"onUpdate:modelValue":r[0]||=e=>I.value=e,side:`left`,overlay:``,behavior:`mobile`,width:240},{default:_(()=>[v(H,null,{default:_(()=>[v(G,{clickable:``,onClick:re},{default:_(()=>[v(K,{avatar:``},{default:_(()=>[v(L,{name:`arrow_back`})]),_:1}),v(K,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":ie.value,"active-tab":P.value,onSelect:ee},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":ie.value,"active-tab":P.value,onSelect:ee},null,8,[`nav-items`,`active-tab`])])),O(`main`,ii,[O(`header`,ai,[v(Lt,{"exclude-mobile":``,class:`q-mr-sm`}),e(k)?(f(),b(R,{key:0,flat:``,dense:``,round:``,icon:`menu`,"aria-label":t.$t(`settings.openNav`),class:`settings-content__nav-toggle`,onClick:r[1]||=e=>I.value=!0},{default:_(()=>[v(ht,null,{default:_(()=>[S(i(t.$t(`settings.openNav`)),1)]),_:1})]),_:1},8,[`aria-label`])):x(``,!0),O(`h2`,oi,i(oe.value),1),v(Rt,{"tour-id":`settings`,class:`q-ml-sm`})]),O(`div`,si,i(t.$t(`settings.help.${P.value}`)),1),O(`div`,ci,[g(O(`div`,li,[P.value===`memory`?(f(),b(br,{key:0,"memory-mode":st.value,"onUpdate:memoryMode":r[2]||=e=>st.value=e},null,8,[`memory-mode`])):x(``,!0),P.value===`general`?(f(),E(`div`,ui,[O(`div`,di,i(t.$t(`settings.language`)),1),v(W,{"model-value":e(y),options:ef,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input`,"onUpdate:modelValue":tf},null,8,[`model-value`])])):x(``,!0),P.value===`general`?(f(),E(`div`,fi,[O(`div`,pi,i(t.$t(`settings.workspaceListSection`)),1),v(V,{modelValue:vr.value,"onUpdate:modelValue":r[3]||=e=>vr.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),P.value===`skills`?(f(),E(`div`,hi,[O(`div`,gi,i(t.$t(`settings.skillSuite.section`)),1),v(He,{modelValue:yr.value,"onUpdate:modelValue":r[4]||=e=>yr.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(xr.value)),1),v(R,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`restart_alt`,label:t.$t(`settings.skillSuite.reloadDefaults`),disable:yr.value!==`custom`,class:`q-mt-sm`,onClick:ud},null,8,[`label`,`disable`])])):x(``,!0),P.value===`skills`&&yr.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:Dr.value===`reviewTemplate`,class:`q-mb-sm`},{default:_(()=>[v(H,{dense:``},{default:_(()=>[(f(!0),E(D,null,A(kr.value,e=>g((f(),b(G,{key:e.value,clickable:``,onClick:t=>Ar(`reviewTemplate`,e.value)},{default:_(()=>[v(K,null,{default:_(()=>[S(i(e.label),1)]),_:2},1024)]),_:2},1032,[`onClick`])),[[_t]])),128))]),_:1})]),_:1},8,[`label`,`loading`]),v(z,{modelValue:Sr.value,"onUpdate:modelValue":r[5]||=e=>Sr.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:Dr.value===`autoLoopReviewGate`,class:`q-mb-sm`},{default:_(()=>[v(H,{dense:``},{default:_(()=>[(f(!0),E(D,null,A(kr.value,e=>g((f(),b(G,{key:e.value,clickable:``,onClick:t=>Ar(`autoLoopReviewGate`,e.value)},{default:_(()=>[v(K,null,{default:_(()=>[S(i(e.label),1)]),_:2},1024)]),_:2},1032,[`onClick`])),[[_t]])),128))]),_:1})]),_:1},8,[`label`,`loading`]),v(z,{modelValue:Cr.value,"onUpdate:modelValue":r[6]||=e=>Cr.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:Dr.value===`autoLoopGroomingIntro`,class:`q-mb-sm`},{default:_(()=>[v(H,{dense:``},{default:_(()=>[(f(!0),E(D,null,A(kr.value,e=>g((f(),b(G,{key:e.value,clickable:``,onClick:t=>Ar(`autoLoopGroomingIntro`,e.value)},{default:_(()=>[v(K,null,{default:_(()=>[S(i(e.label),1)]),_:2},1024)]),_:2},1032,[`onClick`])),[[_t]])),128))]),_:1})]),_:1},8,[`label`,`loading`]),v(z,{modelValue:wr.value,"onUpdate:modelValue":r[7]||=e=>wr.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:Dr.value===`qaPromptTemplate`,class:`q-mb-sm`},{default:_(()=>[v(H,{dense:``},{default:_(()=>[(f(!0),E(D,null,A(kr.value,e=>g((f(),b(G,{key:e.value,clickable:``,onClick:t=>Ar(`qaPromptTemplate`,e.value)},{default:_(()=>[v(K,null,{default:_(()=>[S(i(e.label),1)]),_:2},1024)]),_:2},1032,[`onClick`])),[[_t]])),128))]),_:1})]),_:1},8,[`label`,`loading`]),v(z,{modelValue:Tr.value,"onUpdate:modelValue":r[8]||=e=>Tr.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:Dr.value===`brainstormingInstruction`,class:`q-mb-sm`},{default:_(()=>[v(H,{dense:``},{default:_(()=>[(f(!0),E(D,null,A(kr.value,e=>g((f(),b(G,{key:e.value,clickable:``,onClick:t=>Ar(`brainstormingInstruction`,e.value)},{default:_(()=>[v(K,null,{default:_(()=>[S(i(e.label),1)]),_:2},1024)]),_:2},1032,[`onClick`])),[[_t]])),128))]),_:1})]),_:1},8,[`label`,`loading`]),v(z,{modelValue:Er.value,"onUpdate:modelValue":r[9]||=e=>Er.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])])):x(``,!0),P.value===`agents`?(f(),E(`div`,Ti,[O(`div`,Ei,[v(V,{modelValue:Re.value,"onUpdate:modelValue":r[10]||=e=>Re.value=e,label:t.$t(`settings.agentWatchdogEnabled`),color:`primary`},null,8,[`modelValue`,`label`]),O(`div`,Di,i(t.$t(`settings.agentWatchdogHint`)),1)]),O(`div`,Oi,[v(V,{modelValue:ze.value,"onUpdate:modelValue":r[11]||=e=>ze.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(V,{modelValue:We.value,"onUpdate:modelValue":r[12]||=e=>We.value=e,label:t.$t(`settings.showProgressBars`),color:`primary`},null,8,[`modelValue`,`label`]),O(`div`,ji,i(t.$t(`settings.showProgressBarsHint`)),1)]),O(`div`,Mi,i(t.$t(`settings.defaultModelClaude`)),1),v(W,{modelValue:ce.value,"onUpdate:modelValue":r[13]||=e=>ce.value=e,options:nf.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`,Ni,i(t.$t(`settings.defaultModelCodex`)),1),v(W,{modelValue:le.value,"onUpdate:modelValue":r[14]||=e=>le.value=e,options:rf.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`,Pi,i(t.$t(`settings.defaultPermissionModeClaude`)),1),O(`div`,Fi,i(t.$t(`settings.defaultPermissionModeHint`)),1),v(W,{modelValue:zn.value,"onUpdate:modelValue":r[15]||=e=>zn.value=e,options:sf.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`options`]),O(`div`,Ii,i(t.$t(`settings.defaultPermissionModeCodex`)),1),v(W,{modelValue:Bn.value,"onUpdate:modelValue":r[16]||=e=>Bn.value=e,options:cf.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`]),v(z,{modelValue:Le.value,"onUpdate:modelValue":r[17]||=e=>Le.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-mt-md`},null,8,[`modelValue`,`label`,`hint`])])):x(``,!0),P.value===`general`?(f(),E(`div`,Li,[O(`div`,Ri,i(t.$t(`settings.activityFeed`)),1),O(`div`,zi,[v(V,{modelValue:bn.value,"onUpdate:modelValue":r[18]||=e=>bn.value=e,label:t.$t(`settings.verboseMessages`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`]),v(V,{modelValue:xn.value,"onUpdate:modelValue":r[19]||=e=>xn.value=e,label:t.$t(`settings.showThinkingBlocks`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`])])])):x(``,!0),P.value===`general`?(f(),E(`div`,Bi,[O(`div`,Vi,i(t.$t(`settings.whipSettings`)),1),O(`div`,Hi,i(t.$t(`settings.whipSettingsHint`)),1),v(V,{modelValue:Sn.value,"onUpdate:modelValue":r[20]||=e=>Sn.value=e,label:t.$t(`settings.whipEnabled`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},{default:_(()=>[v(ht,null,{default:_(()=>[S(i(t.$t(`settings.whipEnabledHint`)),1)]),_:1})]),_:1},8,[`modelValue`,`label`]),Sn.value?(f(),E(`div`,Ui,[v(Vr,{modelValue:Cn.value,"onUpdate:modelValue":r[21]||=e=>Cn.value=e},null,8,[`modelValue`]),O(`div`,Wi,[O(`div`,Gi,i(t.$t(`settings.whipVolume`)),1),v(sn,{modelValue:wn.value,"onUpdate:modelValue":r[22]||=e=>wn.value=e,min:0,max:1,step:.05,disable:En.value.disabled,"aria-label":t.$t(`settings.whipVolume`),dark:``,dense:``,color:`primary`,class:`col`},null,8,[`modelValue`,`disable`,`aria-label`]),O(`div`,Ki,i(Math.round(wn.value*100))+`% `,1)]),En.value.hintKey?(f(),E(`div`,qi,i(t.$t(En.value.hintKey)),1)):x(``,!0)])):x(``,!0)])):x(``,!0),P.value===`notifications`?(f(),E(`div`,Ji,[O(`div`,Yi,i(t.$t(`settings.notifications`)),1),v(V,{modelValue:Xe.value,"onUpdate:modelValue":r[23]||=e=>Xe.value=e,label:t.$t(`absence.title`),color:`primary`},null,8,[`modelValue`,`label`]),O(`div`,Xi,i(t.$t(`settings.activityDigestHint`)),1),v(z,{modelValue:Je.value,"onUpdate:modelValue":r[24]||=e=>Je.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`,Zi,[O(`div`,Qi,[O(`div`,$i,i(t.$t(`settings.notificationSound`)),1),O(`div`,ea,i(t.$t(`settings.notificationSoundHint`)),1),O(`div`,ta,[v(V,{modelValue:Xt.value,"onUpdate:modelValue":r[25]||=e=>Xt.value=e,label:t.$t(`settings.enableBrowserNotifications`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`]),v(V,{modelValue:$t.value,"onUpdate:modelValue":r[26]||=e=>$t.value=e,label:t.$t(`settings.enableAudio`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`])]),O(`div`,na,[v(gt,{dense:``,square:``,color:Dn.value.color,"text-color":`white`,icon:`notifications`},{default:_(()=>[S(i(Dn.value.label),1)]),_:1},8,[`color`]),v(R,{flat:``,dense:``,"no-caps":``,color:`primary`,icon:`notifications_active`,label:t.$t(`settings.testBrowserNotification`),onClick:On},null,8,[`label`])]),O(`div`,ra,[v(W,{modelValue:rn.value,"onUpdate:modelValue":r[27]||=e=>rn.value=e,options:ff.value,label:t.$t(`settings.notificationSound`),disable:!$t.value,dark:``,dense:``,outlined:``,"emit-value":``,"map-options":``,color:`primary`,class:`col`},null,8,[`modelValue`,`options`,`label`,`disable`]),v(R,{flat:``,dense:``,color:`primary`,icon:`play_arrow`,label:t.$t(`settings.notificationSoundPreview`),disable:!$t.value,onClick:gf},null,8,[`label`,`disable`])]),O(`div`,ia,[O(`div`,aa,i(t.$t(`settings.notificationVolume`)),1),v(sn,{modelValue:un.value,"onUpdate:modelValue":r[28]||=e=>un.value=e,min:0,max:1,step:.05,disable:!$t.value,"aria-label":t.$t(`settings.notificationVolume`),dark:``,dense:``,color:`primary`,class:`col`},null,8,[`modelValue`,`disable`,`aria-label`]),O(`div`,oa,i(Math.round(un.value*100))+`% `,1)])]),O(`div`,sa,[O(`div`,ca,i(t.$t(`settings.questionSound`)),1),O(`div`,la,i(t.$t(`settings.questionSoundHint`)),1),v(V,{modelValue:en.value,"onUpdate:modelValue":r[29]||=e=>en.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`,ua,[v(W,{modelValue:an.value,"onUpdate:modelValue":r[30]||=e=>an.value=e,options:pf.value,label:t.$t(`settings.questionSound`),disable:!en.value,dark:``,dense:``,outlined:``,"emit-value":``,"map-options":``,color:`primary`,class:`col`},null,8,[`modelValue`,`options`,`label`,`disable`]),v(R,{flat:``,dense:``,color:`primary`,icon:`play_arrow`,label:t.$t(`settings.notificationSoundPreview`),disable:!en.value,onClick:_f},null,8,[`label`,`disable`])]),O(`div`,da,[O(`div`,fa,i(t.$t(`settings.notificationVolume`)),1),v(sn,{modelValue:dn.value,"onUpdate:modelValue":r[31]||=e=>dn.value=e,min:0,max:1,step:.05,disable:!en.value,"aria-label":t.$t(`settings.notificationVolume`),dark:``,dense:``,color:`primary`,class:`col`},null,8,[`modelValue`,`disable`,`aria-label`]),O(`div`,pa,i(Math.round(dn.value*100))+`% `,1)])]),O(`div`,ma,[O(`div`,ha,i(t.$t(`settings.workspaceCreatedSound`)),1),O(`div`,ga,i(t.$t(`settings.workspaceCreatedSoundHint`)),1),v(V,{modelValue:tn.value,"onUpdate:modelValue":r[32]||=e=>tn.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`,_a,[v(W,{modelValue:on.value,"onUpdate:modelValue":r[33]||=e=>on.value=e,options:pf.value,label:t.$t(`settings.workspaceCreatedSound`),disable:!tn.value,dark:``,dense:``,outlined:``,"emit-value":``,"map-options":``,color:`primary`,class:`col`},null,8,[`modelValue`,`options`,`label`,`disable`]),v(R,{flat:``,dense:``,color:`primary`,icon:`play_arrow`,label:t.$t(`settings.notificationSoundPreview`),disable:!tn.value,onClick:vf},null,8,[`label`,`disable`])]),O(`div`,va,[O(`div`,ya,i(t.$t(`settings.notificationVolume`)),1),v(sn,{modelValue:fn.value,"onUpdate:modelValue":r[34]||=e=>fn.value=e,min:0,max:1,step:.05,disable:!tn.value,"aria-label":t.$t(`settings.notificationVolume`),dark:``,dense:``,color:`primary`,class:`col`},null,8,[`modelValue`,`disable`,`aria-label`]),O(`div`,ba,i(Math.round(fn.value*100))+`% `,1)])]),O(`div`,xa,[O(`div`,Sa,i(t.$t(`settings.agentErrorSound`)),1),O(`div`,Ca,i(t.$t(`settings.agentErrorSoundHint`)),1),v(V,{modelValue:nn.value,"onUpdate:modelValue":r[35]||=e=>nn.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`,wa,[v(W,{modelValue:cn.value,"onUpdate:modelValue":r[36]||=e=>cn.value=e,options:pf.value,label:t.$t(`settings.agentErrorSound`),disable:!nn.value,dark:``,dense:``,outlined:``,"emit-value":``,"map-options":``,color:`primary`,class:`col`},null,8,[`modelValue`,`options`,`label`,`disable`]),v(R,{flat:``,dense:``,color:`primary`,icon:`play_arrow`,label:t.$t(`settings.notificationSoundPreview`),disable:!nn.value,onClick:yf},null,8,[`label`,`disable`])]),O(`div`,Ta,[O(`div`,Ea,i(t.$t(`settings.notificationVolume`)),1),v(sn,{modelValue:pn.value,"onUpdate:modelValue":r[37]||=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`,Da,i(Math.round(pn.value*100))+`%`,1)])])]),v(Or,{modelValue:mn.value,"onUpdate:modelValue":r[38]||=e=>mn.value=e,"general-sound":rn.value},null,8,[`modelValue`,`general-sound`])])):x(``,!0),P.value===`voice`?(f(),E(`div`,Oa,[O(`div`,ka,[O(`div`,Aa,i(t.$t(`voice.sectionRuntime`)),1),v(dt),v(R,{flat:``,dense:``,"no-caps":``,size:`sm`,icon:`refresh`,color:`kobo-2`,label:e(p)(`common.refresh`),onClick:r[39]||=t=>e(s).fetchVoiceRuntime()},null,8,[`label`])]),O(`div`,ja,[O(`div`,Ma,[v(L,{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`,Na,[v(L,{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(lt,{dense:``,dark:``,icon:`help_outline`,label:t.$t(`voice.installGuideTitle`),class:`variables-panel rounded-borders q-mt-sm`},{default:_(()=>[O(`div`,Pa,[O(`div`,Fa,i(t.$t(`voice.installGuideIntro`)),1),O(`div`,Ia,[O(`a`,La,i(t.$t(`voice.installLink`)),1)]),O(`div`,Ra,i(t.$t(`voice.installGuideUbuntuTitle`)),1),r[142]||=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`,za,i(t.$t(`voice.installGuideBinaryPathHint`)),1),O(`div`,Ba,i(t.$t(`voice.installGuideWindowsTitle`)),1),r[143]||=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),P.value===`voice`?(f(),E(`div`,Va,[O(`div`,Ha,i(t.$t(`voice.sectionActivation`)),1),v(V,{modelValue:jr.value,"onUpdate:modelValue":r[40]||=e=>jr.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`,Ua,[O(`div`,Wa,[v(W,{modelValue:Mr.value,"onUpdate:modelValue":r[41]||=e=>Mr.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`,Ga,[v(W,{modelValue:Nr.value,"onUpdate:modelValue":r[42]||=e=>Nr.value=e,label:t.$t(`voice.language`),options:hf,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`label`])])])])):x(``,!0),P.value===`voice`?(f(),E(`div`,Ka,[O(`div`,qa,i(t.$t(`voice.sectionModels`)),1),v(W,{modelValue:Fr.value,"onUpdate:modelValue":r[43]||=e=>Fr.value=e,label:t.$t(`voice.model`),options:mf.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`,Ja,[v(L,{name:`folder`,color:`kobo-2`,size:`xs`}),O(`span`,Ya,i(e(s).voiceModelsDir),1),v(R,{flat:``,dense:``,round:``,size:`xs`,icon:`content_copy`,color:`kobo-2`,title:e(p)(`common.copy`),onClick:r[44]||=t=>Yf(e(s).voiceModelsDir)},null,8,[`title`])])):x(``,!0),O(`div`,Xa,[(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`,Za,[v(L,{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`,Qa,i(e.name),1),O(`span`,$a,i(Gf(e.installedSizeBytes??e.sizeBytes)),1),v(dt),e.download?(f(),b(R,{key:0,flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`close`,label:t.$t(`common.cancel`),onClick:t=>Wf(e.name)},null,8,[`label`,`onClick`])):(f(),b(R,{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:Ur.value===e.name,onClick:t=>e.installed?Uf(e.name):Hf(e.name)},null,8,[`color`,`icon`,`label`,`loading`,`onClick`]))]),e.download?(f(),E(`div`,eo,[v(at,{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`,to,[O(`span`,no,i(Gf(e.download.downloaded))+` / `+i(Gf(e.download.total)),1),v(dt),O(`span`,ro,i(e.download.total>0?`${Math.floor(e.download.downloaded/e.download.total*100)}%`:`—`),1)])])):e.installed?(f(),E(`div`,io,i(e.fileName),1)):x(``,!0)],2))),128))])])):x(``,!0),P.value===`voice`?(f(),E(`div`,ao,[O(`div`,oo,i(t.$t(`voice.sectionAdvanced`)),1),v(lt,{dense:``,dark:``,icon:`tune`,label:t.$t(`voice.sectionBehavior`),class:`variables-panel rounded-borders q-mb-sm`},{default:_(()=>[O(`div`,so,[O(`div`,co,[O(`div`,lo,i(t.$t(`voice.temperature`)),1),v(sn,{modelValue:Rr.value,"onUpdate:modelValue":r[45]||=e=>Rr.value=e,min:0,max:1,step:.05,dark:``,dense:``,color:`primary`,class:`col`},null,8,[`modelValue`]),O(`div`,uo,i(Rr.value.toFixed(2)),1)]),O(`div`,fo,i(t.$t(`voice.temperatureHint`)),1),v(z,{modelValue:zr.value,"onUpdate:modelValue":r[46]||=e=>zr.value=e,label:t.$t(`voice.initialPrompt`),type:`textarea`,dense:``,dark:``,outlined:``,rows:2,class:`settings-input`},null,8,[`modelValue`,`label`]),O(`div`,po,i(t.$t(`voice.initialPromptHint`)),1),v(V,{modelValue:Br.value,"onUpdate:modelValue":r[47]||=e=>Br.value=e,label:t.$t(`voice.translateToEnglish`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`]),O(`div`,mo,i(t.$t(`voice.translateToEnglishHint`)),1),v(V,{modelValue:Hr.value,"onUpdate:modelValue":r[48]||=e=>Hr.value=e,label:t.$t(`voice.suppressNst`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`]),O(`div`,ho,i(t.$t(`voice.suppressNstHint`)),1)])]),_:1},8,[`label`]),v(lt,{dense:``,dark:``,icon:`terminal`,label:t.$t(`voice.sectionBinaries`),class:`variables-panel rounded-borders`},{default:_(()=>[O(`div`,go,[v(z,{modelValue:Ir.value,"onUpdate:modelValue":r[49]||=e=>Ir.value=e,label:t.$t(`voice.commandPath`),dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`label`]),v(z,{modelValue:Lr.value,"onUpdate:modelValue":r[50]||=e=>Lr.value=e,label:t.$t(`voice.ffmpegPath`),dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`label`])])]),_:1},8,[`label`])])):x(``,!0),P.value===`git`?(f(),E(`div`,_o,[v(zt,{modelValue:hd.value,"onUpdate:modelValue":r[51]||=e=>hd.value=e,class:`q-my-md`},null,8,[`modelValue`]),O(`div`,vo,[O(`div`,yo,i(t.$t(`settings.gitConventions`)),1),v(dt),v(R,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`restart_alt`,label:e(p)(`settings.resetToDefault`),loading:J.value===`gitConventions`,disable:J.value!==null&&J.value!==`gitConventions`,onClick:r[52]||=e=>zf(`gitConventions`)},null,8,[`label`,`loading`,`disable`])]),O(`div`,bo,i(t.$t(`settings.gitConventionsHint`)),1),v(z,{modelValue:be.value,"onUpdate:modelValue":r[53]||=e=>be.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),P.value===`git`?(f(),E(`div`,xo,[O(`div`,So,i(t.$t(`settings.branchPrefixesTitle`)),1),O(`div`,Co,i(t.$t(`settings.branchPrefixesHint`)),1),Y.value.length>0?(f(),b(H,{key:0,bordered:``,separator:``,class:`rounded-borders q-mb-sm`},{default:_(()=>[(f(!0),E(D,null,A(Y.value,(e,n)=>(f(),b(G,{key:e},{default:_(()=>[v(K,null,{default:_(()=>[v(U,{class:`cursor-pointer`},{default:_(()=>[S(i(e)+`/ `,1),v(ln,{"model-value":e,"auto-save":``,onSave:e=>gr(n,e)},{default:_(e=>[v(z,{modelValue:e.value,"onUpdate:modelValue":t=>e.value=t,dense:``,dark:``,autofocus:``,onKeyup:F(e.set,[`enter`])},null,8,[`modelValue`,`onUpdate:modelValue`,`onKeyup`])]),_:1},8,[`model-value`,`onSave`]),v(ht,null,{default:_(()=>[S(i(t.$t(`settings.branchPrefixesEditHint`)),1)]),_:1})]),_:2},1024)]),_:2},1024),v(K,{side:``},{default:_(()=>[O(`div`,wo,[v(R,{flat:``,dense:``,round:``,size:`sm`,icon:`keyboard_arrow_up`,color:`kobo-3`,disable:n===0,title:t.$t(`settings.branchPrefixesMoveUp`),onClick:e=>_r(n,-1)},null,8,[`disable`,`title`,`onClick`]),v(R,{flat:``,dense:``,round:``,size:`sm`,icon:`keyboard_arrow_down`,color:`kobo-3`,disable:n===Y.value.length-1,title:t.$t(`settings.branchPrefixesMoveDown`),onClick:e=>_r(n,1)},null,8,[`disable`,`title`,`onClick`]),v(R,{flat:``,dense:``,round:``,size:`sm`,icon:`delete`,color:`kobo-3`,title:t.$t(`common.delete`),onClick:e=>hr(n)},null,8,[`title`,`onClick`])])]),_:2},1024)]),_:2},1024))),128))]),_:1})):(f(),E(`div`,To,i(t.$t(`settings.branchPrefixesEmpty`)),1)),O(`div`,Eo,[v(z,{modelValue:Yn.value,"onUpdate:modelValue":r[54]||=e=>Yn.value=e,label:t.$t(`settings.branchPrefixesAddLabel`),dense:``,dark:``,outlined:``,class:`col`,onKeyup:F(mr,[`enter`])},null,8,[`modelValue`,`label`]),v(R,{flat:``,label:t.$t(`common.add`),icon:`add`,color:`primary`,disable:pr(Yn.value).length===0,onClick:mr},null,8,[`label`,`disable`])])])):x(``,!0),P.value===`prompts`?(f(),E(`div`,Do,[O(`div`,Oo,[O(`div`,ko,i(t.$t(`settings.prPromptTemplate`)),1),v(dt),v(R,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`restart_alt`,label:e(p)(`settings.resetToDefault`),loading:J.value===`prPromptTemplate`,disable:J.value!==null&&J.value!==`prPromptTemplate`,onClick:r[55]||=e=>zf(`prPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),O(`div`,Ao,i(t.$t(`settings.prPromptHint`)),1),v(z,{modelValue:ue.value,"onUpdate:modelValue":r[56]||=e=>ue.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`,jo,[v(lt,{dense:``,dark:``,icon:`code`,label:t.$t(`settings.availableVariables`),class:`variables-panel rounded-borders`},{default:_(()=>[v(H,{dense:``,dark:``,class:`q-pa-sm`},{default:_(()=>[(f(!0),E(D,null,A(lf.value,e=>(f(),b(G,{key:e.name,dense:``},{default:_(()=>[v(K,null,{default:_(()=>[v(U,{class:`text-caption`,style:{"font-family":`monospace`}},{default:_(()=>[S(i(e.name),1)]),_:2},1024),v(U,{caption:``,class:`text-kobo-3`},{default:_(()=>[S(i(e.description),1)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1},8,[`label`])]),O(`div`,Mo,[O(`div`,No,i(t.$t(`settings.reviewPromptTemplate`)),1),v(dt),v(R,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`restart_alt`,label:e(p)(`settings.resetToDefault`),loading:J.value===`reviewPromptTemplate`,disable:J.value!==null&&J.value!==`reviewPromptTemplate`,onClick:r[57]||=e=>zf(`reviewPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),O(`div`,Po,i(t.$t(`settings.reviewPromptHint`)),1),v(z,{modelValue:pe.value,"onUpdate:modelValue":r[58]||=e=>pe.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`,Fo,[O(`div`,Io,i(t.$t(`settings.ciFixPromptTemplate`)),1),v(dt),v(R,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`restart_alt`,label:e(p)(`settings.resetToDefault`),loading:J.value===`ciFixPromptTemplate`,disable:J.value!==null&&J.value!==`ciFixPromptTemplate`,onClick:r[59]||=e=>zf(`ciFixPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),O(`div`,Lo,i(t.$t(`settings.ciFixPromptHint`)),1),v(z,{modelValue:he.value,"onUpdate:modelValue":r[60]||=e=>he.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`,Ro,[O(`div`,zo,i(t.$t(`settings.finalizationPromptTemplate`)),1),v(dt),v(R,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`restart_alt`,label:e(p)(`settings.resetToDefault`),loading:J.value===`finalizationPrompt`,disable:J.value!==null&&J.value!==`finalizationPrompt`,onClick:r[61]||=e=>zf(`finalizationPrompt`)},null,8,[`label`,`loading`,`disable`])]),O(`div`,Bo,i(t.$t(`settings.finalizationPromptHint`)),1),v(z,{modelValue:ye.value,"onUpdate:modelValue":r[62]||=e=>ye.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),P.value===`general`?(f(),E(`div`,Vo,[O(`div`,Ho,i(t.$t(`settings.editorCommand`)),1),O(`div`,Uo,i(t.$t(`settings.editorCommandHint`)),1),v(z,{modelValue:we.value,"onUpdate:modelValue":r[63]||=e=>we.value=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.editorCommandPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])])):x(``,!0),P.value===`general`?(f(),E(`div`,Wo,[O(`div`,Go,i(t.$t(`settings.fileManagerCommand`)),1),O(`div`,Ko,i(t.$t(`settings.fileManagerCommandHint`)),1),v(z,{modelValue:Ae.value,"onUpdate:modelValue":r[64]||=e=>Ae.value=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.fileManagerCommandPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])])):x(``,!0),P.value===`general`?(f(),E(`div`,qo,[O(`div`,Jo,i(t.$t(`settings.terminalCommand`)),1),O(`div`,Yo,i(t.$t(`settings.terminalCommandHint`)),1),v(z,{modelValue:B.value,"onUpdate:modelValue":r[65]||=e=>B.value=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.terminalCommandPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])])):x(``,!0),P.value===`notion`?(f(),E(`div`,Xo,[v(V,{modelValue:Kn.value,"onUpdate:modelValue":r[66]||=e=>Kn.value=e,label:t.$t(`settings.integrationEnabled`),dark:``,dense:``,color:`primary`},null,8,[`modelValue`,`label`])])):x(``,!0),P.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":!Kn.value}])},[v(Tn,{modelValue:_d.value.notion,"onUpdate:modelValue":r[67]||=e=>_d.value.notion=e,"connection-status":gd.value.notion,"onUpdate:connectionStatus":r[68]||=e=>gd.value.notion=e,integration:`notion`},null,8,[`modelValue`,`connection-status`]),O(`div`,Zo,i(t.$t(`settings.mcpSelection`)),1),O(`div`,Qo,i(t.$t(gd.value.notion.configured?`integration.directOverrides`:`settings.mcpSelectionHint`)),1),O(`div`,$o,[O(`div`,es,i(t.$t(`settings.notionMcp`)),1),v(W,{modelValue:Hn.value,"onUpdate:modelValue":r[69]||=e=>Hn.value=e,"data-test":`notion-mcp-key`,disable:gd.value.notion.configured,options:uf.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`disable`,`options`])]),v(R,{flat:``,dense:``,"no-caps":``,color:`primary`,icon:`health_and_safety`,label:t.$t(`settings.testIntegration`),loading:kn.value===`notion`,disable:!Kn.value||kn.value!==null,onClick:r[70]||=e=>jn(`notion`)},null,8,[`label`,`loading`,`disable`]),An.value.notion?(f(),E(`div`,{key:0,class:a([`text-caption q-mt-sm`,An.value.notion.ok?`text-positive`:`text-negative`])},i(An.value.notion.detail)+` (`+i(An.value.notion.durationMs)+` ms) `,3)):x(``,!0)],2)):x(``,!0),P.value===`sentry`?(f(),E(`div`,ts,[v(V,{modelValue:qn.value,"onUpdate:modelValue":r[71]||=e=>qn.value=e,label:t.$t(`settings.integrationEnabled`),dark:``,dense:``,color:`primary`},null,8,[`modelValue`,`label`])])):x(``,!0),P.value===`sentry`?(f(),E(`div`,{key:22,class:a([`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`,{"opacity-50":!qn.value}])},[v(Tn,{modelValue:_d.value.sentry,"onUpdate:modelValue":r[72]||=e=>_d.value.sentry=e,"connection-status":gd.value.sentry,"onUpdate:connectionStatus":r[73]||=e=>gd.value.sentry=e,integration:`sentry`},null,8,[`modelValue`,`connection-status`]),O(`div`,ns,i(t.$t(`settings.mcpSelection`)),1),O(`div`,rs,i(t.$t(gd.value.sentry.configured?`integration.directOverrides`:`settings.mcpSelectionHint`)),1),O(`div`,is,[O(`div`,as,i(t.$t(`settings.sentryMcp`)),1),v(W,{modelValue:Un.value,"onUpdate:modelValue":r[74]||=e=>Un.value=e,"data-test":`sentry-mcp-key`,disable:gd.value.sentry.configured,options:uf.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`disable`,`options`])]),v(R,{flat:``,dense:``,"no-caps":``,color:`primary`,icon:`health_and_safety`,label:t.$t(`settings.testIntegration`),loading:kn.value===`sentry`,disable:!qn.value||kn.value!==null,class:`q-mt-sm`,onClick:r[75]||=e=>jn(`sentry`)},null,8,[`label`,`loading`,`disable`]),An.value.sentry?(f(),E(`div`,{key:0,class:a([`text-caption q-mt-sm`,An.value.sentry.ok?`text-positive`:`text-negative`])},i(An.value.sentry.detail)+` (`+i(An.value.sentry.durationMs)+` ms) `,3)):x(``,!0)],2)):x(``,!0),P.value===`forge`?(f(),E(`div`,os,[O(`div`,ss,i(t.$t(`settings.bitbucketCommunity`)),1),O(`div`,cs,i(t.$t(`settings.bitbucketCommunityHint`)),1),v(z,{modelValue:Gn.value,"onUpdate:modelValue":r[76]||=e=>Gn.value=e,label:t.$t(`settings.bitbucketUsername`),autocomplete:`username`,dark:``,dense:``,outlined:``,class:`q-mb-sm`},null,8,[`modelValue`,`label`]),v(z,{modelValue:Wn.value,"onUpdate:modelValue":r[77]||=e=>Wn.value=e,label:t.$t(`settings.bitbucketToken`),type:`password`,autocomplete:`off`,dark:``,dense:``,outlined:``},null,8,[`modelValue`,`label`])])):x(``,!0),P.value===`notion`?(f(),E(`div`,{key:24,class:a([`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`,{"opacity-50":!Kn.value}])},[O(`div`,ls,i(t.$t(`settings.notionStatus`)),1),O(`div`,us,i(t.$t(`settings.notionStatusHint`)),1),O(`div`,ds,[O(`div`,fs,i(t.$t(`settings.notionStatusProperty`)),1),v(z,{modelValue:hn.value,"onUpdate:modelValue":r[78]||=e=>hn.value=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.notionStatusPropertyPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),O(`div`,ps,[O(`div`,ms,i(t.$t(`settings.notionInProgressStatus`)),1),v(z,{modelValue:gn.value,"onUpdate:modelValue":r[79]||=e=>gn.value=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.notionInProgressStatusPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),O(`div`,hs,[O(`div`,gs,i(e(p)(`settings.notionInitialPrompt`)),1),v(dt),v(R,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`restart_alt`,label:e(p)(`settings.resetToDefault`),loading:J.value===`notionInitialPromptTemplate`,disable:J.value!==null&&J.value!==`notionInitialPromptTemplate`,onClick:r[80]||=e=>zf(`notionInitialPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),O(`div`,_s,i(e(p)(`settings.notionInitialPrompt.help`,{variables:`{ticket_id}, {notion_url}, {notion_file_path}`})),1),v(z,{modelValue:Ln.value,"onUpdate:modelValue":r[81]||=e=>Ln.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])],2)):x(``,!0),P.value===`notion`?(f(),E(`div`,{key:25,class:a([`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`,{"opacity-50":!Kn.value}])},[O(`div`,vs,i(t.$t(`settings.notionAssignee`)),1),O(`div`,ys,i(t.$t(`settings.notionAssigneeHint`)),1),O(`div`,bs,[O(`div`,xs,i(t.$t(`settings.notionAssigneeProperty`)),1),v(z,{modelValue:_n.value,"onUpdate:modelValue":r[82]||=e=>_n.value=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.notionAssigneePropertyPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),O(`div`,Ss,[O(`div`,Cs,[O(`div`,ws,i(t.$t(`settings.notionUserId`)),1),v(R,{flat:``,dense:``,"no-caps":``,size:`sm`,icon:`refresh`,color:`kobo-2`,loading:Nn.value,label:t.$t(`settings.notionUsersRefresh`),onClick:r[83]||=e=>In(!0)},null,8,[`loading`,`label`])]),Mn.value.length>0?(f(),b(W,{key:0,modelValue:yn.value,"onUpdate:modelValue":r[84]||=e=>yn.value=e,options:Fn.value,"emit-value":``,"map-options":``,clearable:``,dense:``,dark:``,outlined:``,hint:t.$t(`settings.notionUserIdHint`),class:`settings-input`},{option:_(e=>[v(G,n(h(e.itemProps)),{default:_(()=>[v(K,{avatar:``},{default:_(()=>[v(rt,{size:`24px`},{default:_(()=>[e.opt.avatarUrl?(f(),E(`img`,{key:0,src:e.opt.avatarUrl,alt:e.opt.label},null,8,Ts)):(f(),b(L,{key:1,name:`person`,size:`20px`}))]),_:2},1024)]),_:2},1024),v(K,null,{default:_(()=>[v(U,null,{default:_(()=>[S(i(e.opt.name),1)]),_:2},1024),v(U,{caption:``},{default:_(()=>[S(i(e.opt.email),1)]),_:2},1024)]),_:2},1024)]),_:2},1040)]),_:1},8,[`modelValue`,`options`,`hint`])):Nn.value?(f(),E(`div`,Es,i(t.$t(`settings.notionUsersLoading`)),1)):(f(),E(D,{key:2},[Pn.value?(f(),E(`div`,Ds,i(t.$t(`settings.notionUsersLoadFailed`,{error:Pn.value})),1)):x(``,!0),v(z,{modelValue:yn.value,"onUpdate:modelValue":r[85]||=e=>yn.value=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.notionUserIdPlaceholder`),hint:Pn.value?t.$t(`settings.notionUsersManualFallback`):t.$t(`settings.notionUserIdHint`),class:`settings-input`},null,8,[`modelValue`,`placeholder`,`hint`])],64))])],2)):x(``,!0),P.value===`sentry`?(f(),E(`div`,{key:26,class:a([`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`,{"opacity-50":!qn.value}])},[O(`div`,Os,i(e(p)(`settings.sentryIntegration`)),1),O(`div`,ks,[O(`div`,As,i(e(p)(`settings.sentryInitialPrompt`)),1),v(dt),v(R,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`restart_alt`,label:e(p)(`settings.resetToDefault`),loading:J.value===`sentryInitialPromptTemplate`,disable:J.value!==null&&J.value!==`sentryInitialPromptTemplate`,onClick:r[86]||=e=>zf(`sentryInitialPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),O(`div`,js,i(e(p)(`settings.sentryInitialPrompt.help`,{variables:`{issue_id}, {sentry_url}, {sentry_file_path}`})),1),v(z,{modelValue:Rn.value,"onUpdate:modelValue":r[87]||=e=>Rn.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])],2)):x(``,!0),P.value===`general`?(f(),E(`div`,Ms,[O(`div`,Ns,i(t.$t(`settings.tagsTitle`)),1),O(`div`,Ps,i(t.$t(`settings.tagsHint`)),1),v(W,{modelValue:Jn.value,"onUpdate:modelValue":r[88]||=e=>Jn.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),P.value===`scripts`?(f(),E(`div`,Fs,[O(`div`,Is,i(t.$t(`settings.setupScript`)),1),O(`div`,Ls,i(t.$t(`settings.setupScriptHint`)),1),v(z,{modelValue:Xn.value,"onUpdate:modelValue":r[89]||=e=>Xn.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(X)])):x(``,!0),P.value===`scripts`?(f(),E(`div`,Rs,[O(`div`,zs,i(t.$t(`settings.cleanupScript`)),1),O(`div`,Bs,i(t.$t(`settings.cleanupScriptHint`)),1),v(z,{modelValue:Zn.value,"onUpdate:modelValue":r[90]||=e=>Zn.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(X),O(`div`,Vs,i(t.$t(`settings.cleanupScriptMode`)),1),v(He,{modelValue:Qn.value,"onUpdate:modelValue":r[91]||=e=>Qn.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(tt,{modelValue:$n.value,"onUpdate:modelValue":r[92]||=e=>$n.value=e,label:t.$t(`settings.cleanupScriptOnlyOnChanges`),dark:``,dense:``,color:`primary`,class:`q-mt-sm`},null,8,[`modelValue`,`label`])])):x(``,!0),P.value===`scripts`?(f(),E(`div`,Hs,[O(`div`,Us,i(t.$t(`settings.archiveScript`)),1),O(`div`,Ws,i(t.$t(`settings.archiveScriptHint`)),1),v(z,{modelValue:er.value,"onUpdate:modelValue":r[93]||=e=>er.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(X)])):x(``,!0),P.value===`scripts`?(f(),E(`div`,Gs,[O(`div`,Ks,[v(V,{modelValue:Ke.value,"onUpdate:modelValue":r[94]||=e=>Ke.value=e,label:t.$t(`settings.stopDevServersOnShutdown`),color:`primary`},null,8,[`modelValue`,`label`]),O(`div`,qs,i(t.$t(`settings.stopDevServersOnShutdownHint`)),1)]),O(`div`,Js,i(t.$t(`settings.hook.shutdownTitle`)),1),O(`div`,Ys,i(t.$t(`settings.hook.shutdownHint`)),1),v(z,{modelValue:nr.value,"onUpdate:modelValue":r[95]||=e=>nr.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(X,{event:`kobo-shutdown`})])):x(``,!0),P.value===`scripts`?(f(),E(`div`,Xs,[O(`div`,Zs,i(t.$t(`settings.hook.sessionEndedTitle`)),1),O(`div`,Qs,i(t.$t(`settings.hook.sessionEndedHint`)),1),v(z,{modelValue:tr.value,"onUpdate:modelValue":r[96]||=e=>tr.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(X,{event:`session-ended`})])):x(``,!0),P.value===`scripts`?(f(),E(`div`,$s,[O(`div`,ec,i(t.$t(`settings.hook.prMergedTitle`)),1),O(`div`,tc,i(t.$t(`settings.hook.prMergedHint`)),1),v(z,{modelValue:rr.value,"onUpdate:modelValue":r[97]||=e=>rr.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(X,{event:`pr-merged`})])):x(``,!0),P.value===`scripts`?(f(),E(`div`,nc,[O(`div`,rc,i(t.$t(`settings.hook.autoLoopDisabledTitle`)),1),O(`div`,ic,i(t.$t(`settings.hook.autoLoopDisabledHint`)),1),v(z,{modelValue:ir.value,"onUpdate:modelValue":r[98]||=e=>ir.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(X,{event:`autoloop-disabled`})])):x(``,!0),P.value===`scripts`?(f(),E(`div`,ac,[O(`div`,oc,[O(`div`,sc,i(t.$t(`settings.changeSourceBranchScript`)),1),v(R,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`primary`,icon:`restart_alt`,label:t.$t(`settings.changeSourceBranchScript.resetDefault`),onClick:r[99]||=e=>dd(`global`)},null,8,[`label`])]),O(`div`,cc,i(t.$t(`settings.changeSourceBranchScript.help`)),1),O(`pre`,lc,i(t.$t(`settings.changeSourceBranchScript.envHelp`)),1),v(z,{modelValue:ar.value,"onUpdate:modelValue":r[100]||=e=>ar.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),P.value===`worktrees`?(f(),E(`div`,uc,[O(`div`,dc,i(t.$t(`settings.worktreesTitle`)),1),O(`div`,fc,i(t.$t(`settings.worktreesHint`)),1),v(z,{ref_key:`globalWorktreesPathInput`,ref:dr,modelValue:ur.value,"onUpdate:modelValue":r[101]||=e=>ur.value=e,label:t.$t(`settings.worktreesPathLabel`),dense:``,dark:``,outlined:``,placeholder:e(Oe),rules:pd,"lazy-rules":``,class:`settings-input`},null,8,[`modelValue`,`label`,`placeholder`]),v(V,{modelValue:fr.value,"onUpdate:modelValue":r[102]||=e=>fr.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`,pc,i(t.$t(`settings.worktreesPrefixByProjectHint`)),1),v(Ge,{dark:``,class:`q-my-md`}),O(`div`,mc,[v(V,{modelValue:Pe.value,"onUpdate:modelValue":r[103]||=e=>Pe.value=e,label:t.$t(`settings.autoPurgeOnPrMerged`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`]),O(`div`,hc,i(t.$t(`settings.autoPurgeOnPrMergedHint`)),1)]),v(Ge,{dark:``,class:`q-my-md`}),O(`div`,gc,[O(`div`,_c,i(t.$t(`settings.retentionTitle`)),1),O(`div`,vc,i(t.$t(`settings.retentionWarning`)),1),O(`div`,yc,i(t.$t(`settings.retentionHint`)),1),v(z,{modelValue:et.value,"onUpdate:modelValue":r[104]||=e=>et.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(z,{modelValue:it.value,"onUpdate:modelValue":r[105]||=e=>it.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`]),et.value===0?(f(),E(`div`,bc,i(t.$t(`settings.retentionDisabledHint`)),1)):x(``,!0)]),v(lt,{dense:``,dark:``,icon:`help_outline`,label:t.$t(`settings.purgeDocsTitle`),class:`purge-docs q-mt-md rounded-borders`},{default:_(()=>[O(`div`,xc,[O(`div`,Sc,i(t.$t(`settings.purgeDocsRestoreTitle`)),1),O(`div`,Cc,i(t.$t(`settings.purgeDocsRestoreIntro`)),1),O(`pre`,wc,i(t.$t(`settings.purgeDocsRestoreCommands`)),1),O(`div`,Tc,i(t.$t(`settings.purgeDocsRestoreFootnote`)),1),O(`div`,Ec,i(t.$t(`settings.purgeDocsPermissionsTitle`)),1),O(`div`,Dc,i(t.$t(`settings.purgeDocsPermissionsIntro`)),1),O(`ul`,Oc,[O(`li`,null,i(t.$t(`settings.purgeDocsPermissionsDocker`)),1),O(`li`,null,i(t.$t(`settings.purgeDocsPermissionsAcl`)),1)]),O(`pre`,kc,i(t.$t(`settings.purgeDocsPermissionsAclCommand`)),1),O(`div`,Ac,i(t.$t(`settings.purgeDocsPermissionsFootnote`)),1),O(`div`,jc,i(t.$t(`settings.purgeDocsPermissionsRecoverTitle`)),1),O(`div`,Mc,i(t.$t(`settings.purgeDocsPermissionsRecoverIntro`)),1),O(`div`,Nc,i(t.$t(`settings.purgeDocsPermissionsRecoverAclIntro`)),1),O(`pre`,Pc,i(t.$t(`settings.purgeDocsPermissionsRecoverAclCommand`)),1),O(`div`,Fc,i(t.$t(`settings.purgeDocsPermissionsRecoverChownIntro`)),1),O(`pre`,Ic,i(t.$t(`settings.purgeDocsPermissionsRecoverChownCommand`)),1),O(`div`,Lc,i(t.$t(`settings.purgeDocsPermissionsRecoverFootnote`)),1)])]),_:1},8,[`label`])])):x(``,!0),P.value===`general`?(f(),E(`div`,Rc,[O(`div`,zc,i(t.$t(`settings.network.title`)),1),O(`div`,Bc,i(t.$t(`settings.network.hint`)),1),v(V,{"model-value":q.value.enabled,disable:ct.value,label:t.$t(`settings.network.enable`),dark:``,color:`primary`,"onUpdate:modelValue":Kt},null,8,[`model-value`,`disable`,`label`]),Ot.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),q.value.enabled?(f(),E(`div`,Vc,[v(V,{"model-value":q.value.behindProxy,disable:ct.value,label:t.$t(`settings.network.behindProxy`),dark:``,color:`primary`,"onUpdate:modelValue":qt},null,8,[`model-value`,`disable`,`label`]),O(`div`,Hc,i(t.$t(`settings.network.behindProxyHint`)),1)])):x(``,!0),q.value.enabled&&q.value.token?(f(),E(D,{key:2},[O(`div`,Uc,[O(`div`,Wc,i(t.$t(`settings.network.token`)),1),v(z,{"model-value":q.value.token,readonly:``,dense:``,dark:``,outlined:``},{append:_(()=>[v(R,{flat:``,dense:``,icon:`content_copy`,title:t.$t(`settings.network.copy`),onClick:Yt},null,8,[`title`])]),_:1},8,[`model-value`]),v(R,{class:`q-mt-sm`,label:t.$t(`settings.network.regenerate`),loading:ct.value,color:`primary`,outline:``,dense:``,onClick:Jt},null,8,[`label`,`loading`])]),O(`div`,Gc,[O(`div`,Kc,i(t.$t(`settings.network.urls`)),1),Ht.value.length===0?(f(),E(`div`,qc,i(t.$t(`settings.network.noUrls`)),1)):x(``,!0),(f(!0),E(D,null,A(Ht.value,e=>(f(),E(`div`,{key:e,class:`text-body2`},i(e),1))),128))]),kt.value?(f(),E(`div`,Jc,[O(`div`,Yc,i(t.$t(`settings.network.scan`)),1),O(`img`,{src:kt.value,alt:t.$t(`settings.network.scan`),width:`200`,height:`200`},null,8,Xc)])):x(``,!0)],64)):x(``,!0),v(Vn,{"network-enabled":q.value.enabled,"behind-proxy":q.value.behindProxy},null,8,[`network-enabled`,`behind-proxy`])])):x(``,!0),P.value===`export`?(f(),E(`div`,Zc,[O(`div`,Qc,i(t.$t(`settings.shareTitle`)),1),O(`div`,$c,i(t.$t(`settings.shareHint`)),1),O(`div`,el,[v(R,{label:t.$t(`settings.exportConfig`),icon:`download`,"no-caps":``,outline:``,color:`kobo-2`,onClick:If},null,8,[`label`]),v(R,{label:t.$t(`settings.importConfig`),icon:`upload`,"no-caps":``,outline:``,color:`kobo-2`,onClick:Lf},null,8,[`label`]),O(`input`,{ref_key:`importFileInput`,ref:Ff,type:`file`,accept:`application/json,.json`,style:{display:`none`},onChange:Rf},null,544)])])):x(``,!0)],512),[[te,se.value]]),P.value===`projects`?(f(),E(`div`,tl,[O(`div`,nl,[O(`div`,rl,[O(`div`,il,[O(`div`,al,[O(`div`,ol,i(t.$t(`settings.configuredProjects`)),1)]),v(Ge,{dark:``}),v(H,{dark:``,dense:``,class:`q-py-xs`},{default:_(()=>[(f(!0),E(D,null,A(e(s).projects,(e,t)=>(f(),b(G,{key:e.path,clickable:``,active:yd.value===t&&!Z.value,"active-class":`project-item--active`,class:`project-item q-mx-xs rounded-borders`,style:{"min-height":`40px`},onClick:e=>$f(t)},{default:_(()=>[v(K,null,{default:_(()=>[v(U,{class:`text-body2 text-kobo-1`},{default:_(()=>[S(i(ep(e)),1)]),_:2},1024),v(U,{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`,sl,i(t.$t(`settings.noProjects`)),1)):x(``,!0),v(Ge,{dark:``}),O(`div`,cl,[v(R,{"data-tour":`settings-card-projects`,label:t.$t(`settings.addProject`),icon:`add`,"no-caps":``,flat:``,dense:``,class:`full-width`,color:`primary`,onClick:Qf},null,8,[`label`])])])]),O(`div`,ll,[O(`div`,ul,[$.value||Z.value?(f(),E(D,{key:0},[O(`div`,dl,[O(`div`,fl,i(Z.value?t.$t(`settings.newProject`):t.$t(`settings.editProject`)),1),v(dt),Z.value?x(``,!0):(f(),b(R,{key:0,label:t.$t(`common.delete`),icon:`delete_outline`,"no-caps":``,flat:``,dense:``,size:`sm`,color:`red-5`,loading:Pd.value,onClick:Zf},null,8,[`label`,`loading`]))]),v(Ge,{dark:``,class:`q-mb-md`}),Z.value&&e(s).projects.length>0?(f(),E(`div`,pl,[O(`div`,ml,i(t.$t(`settings.copyFrom`)),1),v(W,{"model-value":xd.value,options:Cd.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":Ed},null,8,[`model-value`,`options`,`placeholder`]),O(`div`,hl,i(t.$t(`settings.copyFromHint`)),1)])):x(``,!0),O(`div`,gl,[O(`div`,_l,i(t.$t(`settings.projectGroup.identity`)),1),O(`div`,vl,[O(`div`,yl,i(t.$t(`settings.projectPath`)),1),v(z,{modelValue:Q.value.path,"onUpdate:modelValue":r[107]||=e=>Q.value.path=e,dense:``,dark:``,outlined:``,readonly:!Z.value,placeholder:t.$t(`settings.projectPathPlaceholder`),class:a([`settings-input`,{"readonly-input":!Z.value}])},C({_:2},[Z.value?{name:`append`,fn:_(()=>[v(R,{flat:``,dense:``,round:``,size:`sm`,icon:`folder_open`,color:`kobo-2`,onClick:r[106]||=e=>sr.value=!0},{default:_(()=>[v(ht,null,{default:_(()=>[S(i(t.$t(`folderPicker.title`)),1)]),_:1})]),_:1})]),key:`0`}:void 0]),1032,[`modelValue`,`readonly`,`placeholder`,`class`])]),O(`div`,bl,[O(`div`,xl,i(t.$t(`settings.displayName`)),1),v(z,{modelValue:Q.value.displayName,"onUpdate:modelValue":r[108]||=e=>Q.value.displayName=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.displayNamePlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),O(`div`,null,[O(`div`,Sl,i(t.$t(`settings.projectColor`)),1),O(`div`,Cl,[(f(!0),E(D,null,A(e(Ft),e=>(f(),b(gt,{key:e,dense:``,clickable:``,color:e,icon:Q.value.color===e?`check`:void 0,"text-color":`white`,onClick:t=>Q.value.color=e},null,8,[`color`,`icon`,`onClick`]))),128)),v(R,{flat:``,dense:``,"no-caps":``,size:`xs`,label:t.$t(`settings.projectColorClear`),color:`kobo-2`,disable:!Q.value.color,onClick:r[109]||=e=>Q.value.color=null},null,8,[`label`,`disable`])]),O(`div`,wl,i(Q.value.color??t.$t(`settings.projectColorDefault`)),1)])]),O(`div`,Tl,[O(`div`,El,i(t.$t(`settings.projectGroup.defaults`)),1),O(`div`,Dl,[O(`div`,Ol,i(t.$t(`settings.defaultSourceBranch`)),1),v(W,{modelValue:Q.value.defaultSourceBranch,"onUpdate:modelValue":r[110]||=e=>Q.value.defaultSourceBranch=e,options:tp.value,dense:``,dark:``,outlined:``,"use-input":``,"emit-value":``,loading:Md.value,class:`settings-input`,placeholder:`main`,onFilter:np},{"no-option":_(()=>[v(G,null,{default:_(()=>[v(K,{class:`text-kobo-3 text-caption`},{default:_(()=>[S(i(Q.value.path.trim()?t.$t(`createPage.noBranches`):t.$t(`createPage.enterPath`)),1)]),_:1})]),_:1})]),_:1},8,[`modelValue`,`options`,`loading`])]),O(`div`,kl,[O(`div`,Al,i(t.$t(`settings.defaultModel.project`)),1),v(W,{modelValue:Q.value.defaultModel,"onUpdate:modelValue":r[111]||=e=>Q.value.defaultModel=e,options:af.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`,jl,i(t.$t(`settings.forge`)),1),v(W,{modelValue:Q.value.forge,"onUpdate:modelValue":r[112]||=e=>Q.value.forge=e,options:of.value,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])])]),O(`div`,Ml,[O(`div`,Nl,i(t.$t(`settings.nav.git`)),1),v(zt,{modelValue:Q.value.workflowPolicy,"onUpdate:modelValue":r[113]||=e=>Q.value.workflowPolicy=e,inherit:``,class:`q-my-md`},null,8,[`modelValue`]),O(`div`,Pl,[O(`div`,Fl,i(t.$t(`settings.gitConventions.project`)),1),O(`div`,Il,i(e(p)(`settings.initialPrompt.inheritHint`)),1),v(z,{modelValue:Q.value.gitConventions,"onUpdate:modelValue":r[114]||=e=>Q.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`,Ll,[O(`div`,Rl,i(t.$t(`settings.projectGroup.prompts`)),1),O(`div`,zl,[O(`div`,Bl,i(t.$t(`settings.prPromptTemplate.project`)),1),O(`div`,Vl,i(e(p)(`settings.initialPrompt.inheritHint`)),1),v(z,{modelValue:Q.value.prPromptTemplate,"onUpdate:modelValue":r[115]||=e=>Q.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`,Hl,[O(`div`,Ul,i(t.$t(`settings.reviewPromptTemplate.project`)),1),O(`div`,Wl,i(e(p)(`settings.initialPrompt.inheritHint`)),1),v(z,{modelValue:Q.value.reviewPromptTemplate,"onUpdate:modelValue":r[116]||=e=>Q.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`,Gl,[O(`div`,Kl,i(t.$t(`settings.ciFixPromptTemplate.project`)),1),O(`div`,ql,i(e(p)(`settings.initialPrompt.inheritHint`)),1),v(z,{modelValue:Q.value.ciFixPromptTemplate,"onUpdate:modelValue":r[117]||=e=>Q.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`])]),Kn.value?(f(),E(`div`,Jl,[O(`div`,Yl,i(e(p)(`settings.notionInitialPrompt.project`)),1),O(`div`,Xl,i(e(p)(`settings.initialPrompt.inheritHint`)),1),v(z,{modelValue:Q.value.notionInitialPromptTemplate,"onUpdate:modelValue":r[118]||=e=>Q.value.notionInitialPromptTemplate=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])])):x(``,!0),qn.value?(f(),E(`div`,Zl,[O(`div`,Ql,i(e(p)(`settings.sentryInitialPrompt.project`)),1),O(`div`,$l,i(e(p)(`settings.initialPrompt.inheritHint`)),1),v(z,{modelValue:Q.value.sentryInitialPromptTemplate,"onUpdate:modelValue":r[119]||=e=>Q.value.sentryInitialPromptTemplate=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])])):x(``,!0),O(`div`,null,[O(`div`,eu,i(t.$t(`settings.taskPromptTemplate`)),1),v(z,{modelValue:Q.value.taskPromptTemplate,"onUpdate:modelValue":r[120]||=e=>Q.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`,tu,i(t.$t(`settings.taskPromptTemplateHint`)),1)])]),O(`div`,nu,[O(`div`,ru,i(t.$t(`settings.projectGroup.scripts`)),1),O(`div`,iu,[O(`div`,au,i(t.$t(`settings.setupScript`)),1),O(`div`,ou,i(e(p)(`settings.initialPrompt.inheritHint`)),1),v(z,{modelValue:Q.value.setupScript,"onUpdate:modelValue":r[121]||=e=>Q.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(X),O(`div`,su,i(t.$t(`settings.setupScriptHint`)),1)]),O(`div`,cu,[O(`div`,lu,i(t.$t(`settings.cleanupScript`)),1),O(`div`,uu,i(e(p)(`settings.initialPrompt.inheritHint`)),1),v(z,{modelValue:Q.value.cleanupScript,"onUpdate:modelValue":r[122]||=e=>Q.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(X),O(`div`,du,i(t.$t(`settings.cleanupScriptMode`)),1),v(W,{modelValue:Q.value.cleanupScriptMode,"onUpdate:modelValue":r[123]||=e=>Q.value.cleanupScriptMode=e,options:lr.value,"emit-value":``,"map-options":``,dense:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])]),O(`div`,null,[O(`div`,fu,i(t.$t(`settings.archiveScript`)),1),O(`div`,pu,i(e(p)(`settings.initialPrompt.inheritHint`)),1),v(z,{modelValue:Q.value.archiveScript,"onUpdate:modelValue":r[124]||=e=>Q.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(X)]),O(`div`,null,[O(`div`,mu,i(t.$t(`settings.hook.shutdownTitle`)),1),O(`div`,hu,i(e(p)(`settings.initialPrompt.inheritHint`)),1),v(z,{modelValue:Q.value.shutdownScript,"onUpdate:modelValue":r[125]||=e=>Q.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(X,{event:`kobo-shutdown`})]),O(`div`,null,[O(`div`,gu,i(t.$t(`settings.hook.sessionEndedTitle`)),1),O(`div`,_u,i(e(p)(`settings.initialPrompt.inheritHint`)),1),v(z,{modelValue:Q.value.sessionEndedScript,"onUpdate:modelValue":r[126]||=e=>Q.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(X,{event:`session-ended`})]),O(`div`,null,[O(`div`,vu,i(t.$t(`settings.hook.prMergedTitle`)),1),O(`div`,yu,i(e(p)(`settings.initialPrompt.inheritHint`)),1),v(z,{modelValue:Q.value.prMergedScript,"onUpdate:modelValue":r[127]||=e=>Q.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(X,{event:`pr-merged`})]),O(`div`,null,[O(`div`,bu,i(t.$t(`settings.hook.autoLoopDisabledTitle`)),1),O(`div`,xu,i(e(p)(`settings.initialPrompt.inheritHint`)),1),v(z,{modelValue:Q.value.autoLoopDisabledScript,"onUpdate:modelValue":r[128]||=e=>Q.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(X,{event:`autoloop-disabled`})]),O(`div`,null,[O(`div`,Su,[O(`div`,Cu,i(t.$t(`settings.changeSourceBranchScript`)),1),v(R,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`primary`,icon:`restart_alt`,label:t.$t(`settings.changeSourceBranchScript.resetDefault`),onClick:r[129]||=e=>dd(`project`)},null,8,[`label`])]),O(`div`,wu,i(t.$t(`settings.changeSourceBranchScript.help`)),1),O(`pre`,Tu,i(t.$t(`settings.changeSourceBranchScript.envHelp`)),1),v(z,{modelValue:Q.value.changeSourceBranchScript,"onUpdate:modelValue":r[130]||=e=>Q.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`,Eu,[O(`div`,Du,i(t.$t(`settings.devServer`)),1),O(`div`,Ou,[O(`div`,ku,i(t.$t(`settings.devServerStart`)),1),v(z,{modelValue:Q.value.devServer.startCommand,"onUpdate:modelValue":r[131]||=e=>Q.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`,Au,i(t.$t(`settings.devServerStop`)),1),v(z,{modelValue:Q.value.devServer.stopCommand,"onUpdate:modelValue":r[132]||=e=>Q.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`,ju,[O(`div`,Mu,i(t.$t(`settings.e2e.title`)),1),O(`div`,Nu,i(t.$t(`settings.e2e.helpText`)),1),v(W,{modelValue:Q.value.e2e.framework,"onUpdate:modelValue":r[133]||=e=>Q.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`]),Q.value.e2e.framework?(f(),E(D,{key:0},[v(W,{modelValue:Q.value.e2e.skill,"onUpdate:modelValue":r[134]||=e=>Q.value.e2e.skill=e,options:Od.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:Ad},null,8,[`modelValue`,`options`,`label`,`placeholder`]),v(z,{modelValue:Q.value.e2e.prompt,"onUpdate:modelValue":r[135]||=e=>Q.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`,Pu,[O(`div`,Fu,i(t.$t(`settings.finalization.title`)),1),O(`div`,Iu,i(t.$t(`settings.finalization.helpText`)),1),v(z,{modelValue:Q.value.finalization.prompt,"onUpdate:modelValue":r[136]||=e=>Q.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`,Lu,[v(L,{name:`folder_open`,size:`48px`,color:`kobo-3`,class:`q-mb-md`}),O(`div`,Ru,i(t.$t(`settings.selectProject`)),1)]))])])])])):x(``,!0),P.value===`templates`?(f(),E(`div`,zu,[O(`div`,Bu,[O(`div`,Vu,[O(`div`,Hu,i(t.$t(`templates.title`)),1),O(`div`,Uu,[v(R,{flat:``,color:`kobo-2`,icon:`restart_alt`,label:t.$t(`templates.reloadDefaults`),dense:``,"no-caps":``,loading:Hd.value,onClick:Jd},{default:_(()=>[v(ht,null,{default:_(()=>[S(i(t.$t(`templates.reloadDefaultsHint`)),1)]),_:1})]),_:1},8,[`label`,`loading`]),v(R,{color:`primary`,icon:`add`,label:t.$t(`templates.newTemplate`),dense:``,"no-caps":``,onClick:Gd},null,8,[`label`])])]),v(Ge,{dark:``,class:`q-mb-md`}),Ud.value.length===0?(f(),E(`div`,Wu,i(t.$t(`templates.empty`)),1)):(f(),E(`div`,Gu,[(f(!0),E(D,null,A(Ud.value,n=>(f(),b(nt,{key:n.slug,dark:``,flat:``,bordered:``,class:`q-pa-md template-card`},{default:_(()=>[O(`div`,Ku,[O(`div`,qu,[O(`div`,Ju,` /`+i(n.slug),1),O(`div`,Yu,i(n.description),1)]),O(`div`,Xu,[e(c).isDefault(n.slug)?(f(),b(R,{key:0,flat:``,dense:``,round:``,size:`sm`,icon:`settings_backup_restore`,color:`kobo-2`,onClick:e=>$d(n)},{default:_(()=>[v(ht,null,{default:_(()=>[S(i(t.$t(`templates.resetToDefault`)),1)]),_:1})]),_:1},8,[`onClick`])):x(``,!0),v(R,{flat:``,dense:``,round:``,size:`sm`,icon:`edit`,color:`kobo-2`,onClick:e=>Kd(n)},{default:_(()=>[v(ht,null,{default:_(()=>[S(i(t.$t(`templates.editTemplate`)),1)]),_:1})]),_:1},8,[`onClick`]),v(R,{flat:``,dense:``,round:``,size:`sm`,icon:`delete`,color:`red-4`,onClick:e=>Yd(n)},{default:_(()=>[v(ht,null,{default:_(()=>[S(i(t.$t(`templates.deleteTemplate`)),1)]),_:1})]),_:1},8,[`onClick`])])])]),_:2},1024))),128))])),O(`div`,Zu,i(t.$t(`templates.filePath`,{path:`~/.config/kobo/templates.json`})),1)])])):x(``,!0),P.value===`workspaceTemplates`?(f(),E(`div`,Qu,[O(`div`,$u,[O(`div`,ed,i(t.$t(`workspaceTemplates.title`)),1),O(`div`,td,i(t.$t(`workspaceTemplates.hint`)),1),e(d).templates.length===0?(f(),E(`div`,nd,i(t.$t(`workspaceTemplates.empty`)),1)):(f(),b(H,{key:1,dark:``,separator:``},{default:_(()=>[(f(!0),E(D,null,A(e(d).templates,e=>(f(),b(lt,{key:e.id,dense:``,"header-class":`text-kobo-1`},{header:_(()=>[v(K,null,{default:_(()=>[v(U,null,{default:_(()=>[S(i(e.name),1)]),_:2},1024),v(U,{caption:``,class:`text-kobo-3`},{default:_(()=>[S(i(e.preset.projectPath||t.$t(`workspaceTemplates.anyProject`))+` · `+i(e.preset.engine??`-`)+` · `+i(e.preset.model??`-`)+` · `+i(Xd(e.updatedAt)),1)]),_:2},1024)]),_:2},1024),v(K,{side:``},{default:_(()=>[O(`div`,rd,[v(R,{flat:``,dense:``,round:``,size:`sm`,icon:`edit`,title:t.$t(`workspaceTemplates.rename`),onClick:j(t=>Zd(e.id,e.name),[`stop`])},null,8,[`title`,`onClick`]),v(R,{flat:``,dense:``,round:``,size:`sm`,icon:`delete`,color:`kobo-danger`,title:t.$t(`common.delete`),onClick:j(t=>Qd(e.id,e.name),[`stop`])},null,8,[`title`,`onClick`])])]),_:2},1024)]),default:_(()=>[v(nt,{dark:``,flat:``,class:`settings-subcard q-pa-md`},{default:_(()=>[O(`pre`,id,i(JSON.stringify(e.preset,null,2)),1)]),_:2},1024)]),_:2},1024))),128))]),_:1}))])])):x(``,!0)])]),v(N,{name:`save-bar`},{default:_(()=>[Of.value?(f(),E(`div`,{key:0,class:a([`settings-savebar`,{"settings-savebar--full":e(k)}])},[O(`span`,ad,i(t.$t(`settings.unsavedChanges`)),1),v(R,{dense:``,"no-caps":``,unelevated:``,class:`settings-savebar__action`,loading:kf.value,label:t.$t(`common.save`),onClick:Af},null,8,[`loading`,`label`])],2)):x(``,!0)]),_:1})]),v(Qe,{modelValue:Fd.value,"onUpdate:modelValue":r[140]||=e=>Fd.value=e,persistent:``},{default:_(()=>[v(nt,{dark:``,style:{"min-width":`560px`,"max-width":`800px`,width:`80vw`}},{default:_(()=>[v(Ve,null,{default:_(()=>[O(`div`,od,i(Id.value===null?t.$t(`templates.newTemplate`):t.$t(`templates.editTemplate`)),1)]),_:1}),v(Ve,{class:`q-gutter-md`},{default:_(()=>[v(z,{modelValue:Ld.value,"onUpdate:modelValue":r[137]||=e=>Ld.value=e,label:t.$t(`templates.slug`),hint:t.$t(`templates.slugHint`),dark:``,dense:``,prefix:`/`,disable:Id.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(z,{modelValue:Rd.value,"onUpdate:modelValue":r[138]||=e=>Rd.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(z,{modelValue:zd.value,"onUpdate:modelValue":r[139]||=e=>zd.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(lt,{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`,sd,[(f(),E(D,null,A(Wd,e=>O(`div`,{key:e,class:`text-kobo-2 q-mb-xs`},i(e),1)),64))])]),_:1},8,[`label`]),Bd.value?(f(),E(`div`,cd,i(Bd.value),1)):x(``,!0)]),_:1}),v(De,{align:`right`},{default:_(()=>[g(v(R,{flat:``,label:t.$t(`common.cancel`)},null,8,[`label`]),[[_t]]),v(R,{flat:``,color:`primary`,label:Id.value===null?t.$t(`templates.create`):t.$t(`templates.save`),loading:Vd.value,onClick:qd},null,8,[`label`,`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),v(jt,{modelValue:sr.value,"onUpdate:modelValue":r[141]||=e=>sr.value=e,"initial-path":Q.value.path,onSelect:cr},null,8,[`modelValue`,`initial-path`])]),_:1},8,[`style-fn`]))}}),[[`__scopeId`,`data-v-1c2d2a15`]]);export{ud as default,Yt as n,Jt as t};
@@ -1 +1 @@
1
- import{M as e,S as t,lt as n,pt as r,v as i}from"./reactivity.esm-bundler-DY1JkAEA.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-Bqg71Vll.js";import{R as x,d as S,f as C,m as w,z as T}from"./dom-BtYTvLeN.js";import{t as E}from"./QBtn-BUSdPaf4.js";import{n as D,t as O}from"./use-dark-BHObfh0O.js";import{t as k}from"./use-id-BrdYXce0.js";import{C as A,T as j,a as M,at as N,en as P,i as F,o as I,s as L,x as R}from"./index-CpWBGKdM.js";import{t as z}from"./QSelect-DFWyDWCE.js";import{a as B,i as V,n as H,r as U}from"./use-tours-BWkHp34X.js";import{t as W}from"./TouchPan-DDotyYLN.js";import{t as G}from"./QPage-CqkGHokx.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=F(),y=M(),{t:x}=P(),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(()=>{I(`split-panes`,()=>[0,1].some(e=>Z(e)?.hasUnsavedWork())),$=setInterval(Q,500),ae(`split`)}),o(()=>{L(`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,r(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:n([`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,r(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,r(t.$t(`split.choose`)),1))],2)])}))]),1032,[`modelValue`,`horizontal`])]),_:1},8,[`style-fn`]))}}),[[`__scopeId`,`data-v-f921b7b1`]]);export{X as default};
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,en as P,i as F,o as I,s as L,x as R}from"./index-DLoUeovT.js";import{t as z}from"./QSelect-DOnv_ry0.js";import{a as B,i as V,n as H,r as U}from"./use-tours-C_5R1Y5D.js";import{t as W}from"./TouchPan-DRynDIve.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=F(),y=M(),{t:x}=P(),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(()=>{I(`split-panes`,()=>[0,1].some(e=>Z(e)?.hasUnsavedWork())),$=setInterval(Q,500),ae(`split`)}),o(()=>{L(`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};