@loicngr/kobo 1.11.45 → 2.1.0

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 (176) hide show
  1. package/AGENTS.md +17 -2
  2. package/CHANGELOG.md +8 -0
  3. package/CODE_OF_CONDUCT.md +16 -0
  4. package/CONFIGURATION.md +1968 -0
  5. package/CONTRIBUTING.md +83 -0
  6. package/DESIGN.md +296 -0
  7. package/README.md +35 -7
  8. package/SECURITY.md +54 -0
  9. package/THIRD_PARTY_NOTICES.md +20 -0
  10. package/dist/server/db/migrations.js +23 -0
  11. package/dist/server/db/schema.js +2 -0
  12. package/dist/server/index.js +6 -0
  13. package/dist/server/routes/environment.js +18 -0
  14. package/dist/server/routes/health.js +17 -2
  15. package/dist/server/routes/integrations.js +29 -0
  16. package/dist/server/routes/settings.js +5 -0
  17. package/dist/server/routes/sounds.js +60 -0
  18. package/dist/server/routes/workspaces.js +46 -12
  19. package/dist/server/services/agent/engines/codex/options-builder.js +1 -0
  20. package/dist/server/services/agent/engines/codex/spawn.js +2 -2
  21. package/dist/server/services/agent/integration-mcp.js +49 -0
  22. package/dist/server/services/agent/orchestrator.js +6 -2
  23. package/dist/server/services/auto-loop-service.js +45 -25
  24. package/dist/server/services/custom-sound-service.js +0 -0
  25. package/dist/server/services/environment-check-service.js +125 -0
  26. package/dist/server/services/initial-prompt-template-service.js +8 -21
  27. package/dist/server/services/integration-config-service.js +65 -0
  28. package/dist/server/services/legacy-public-prompts.js +112 -0
  29. package/dist/server/services/notion-service.js +25 -61
  30. package/dist/server/services/sentry-service.js +17 -12
  31. package/dist/server/services/settings-defaults.js +5 -0
  32. package/dist/server/services/settings-service.js +112 -23
  33. package/dist/server/services/skill-suite-prompts.js +29 -22
  34. package/dist/server/services/templates-service.js +31 -8
  35. package/dist/server/services/terminal-service.js +16 -0
  36. package/dist/server/services/wakeup-service.js +7 -5
  37. package/dist/server/services/workspace-service.js +25 -4
  38. package/dist/server/services/worktree-service.js +3 -1
  39. package/dist/server/utils/git-repo-lock.js +7 -3
  40. package/dist/server/utils/mcp-client.js +26 -12
  41. package/dist/server/utils/mcp-process.js +25 -0
  42. package/dist/server/utils/node-pty-spawn-helper.js +31 -0
  43. package/dist/server/utils/paths.js +7 -0
  44. package/dist/shared/auto-loop-prompts.js +6 -2
  45. package/dist/shared/automatic-admission.js +1 -0
  46. package/dist/shared/environment.js +1 -0
  47. package/dist/shared/notification-assets.js +73 -0
  48. package/dist/shared/skill-suite-prompts.js +6 -3
  49. package/dist/shared/workflow-policy.js +25 -0
  50. package/docs/getting-started.md +47 -0
  51. package/docs/troubleshooting.md +49 -0
  52. package/package.json +19 -7
  53. package/src/client/dist/pwa/assets/ActivityFeed-DRgetl1M.js +8 -0
  54. package/src/client/dist/pwa/assets/{ChangelogPage-CnXTnFhe.js → ChangelogPage-BJdICFvz.js} +1 -1
  55. package/src/client/dist/pwa/assets/{ComparisonPanel-CKylN45q.js → ComparisonPanel-2GLd8KIy.js} +2 -2
  56. package/src/client/dist/pwa/assets/CreatePage-B9AdNJZj.js +2 -0
  57. package/src/client/dist/pwa/assets/CreatePage-B9C9J9Pw.css +1 -0
  58. package/src/client/dist/pwa/assets/DashboardPage-CzVOvjSP.js +1 -0
  59. package/src/client/dist/pwa/assets/DiffViewer-X25vuf83.js +8 -0
  60. package/src/client/dist/pwa/assets/{DocumentsPanel-BeCttB-x.js → DocumentsPanel-BastjrEm.js} +1 -1
  61. package/src/client/dist/pwa/assets/{DrawerToggleButton-BJBBYeOc.js → DrawerToggleButton-DbipGmBL.js} +1 -1
  62. package/src/client/dist/pwa/assets/{GitPanel-BFCnyhE2.css → GitPanel-C4wOcZV2.css} +1 -1
  63. package/src/client/dist/pwa/assets/GitPanel-CnW4iVao.js +3 -0
  64. package/src/client/dist/pwa/assets/{HealthPage-l88TEk-k.js → HealthPage-aieNQly-.js} +1 -1
  65. package/src/client/dist/pwa/assets/MainLayout-Cc4XzCAy.css +1 -0
  66. package/src/client/dist/pwa/assets/MainLayout-DqBbE8o4.js +2 -0
  67. package/src/client/dist/pwa/assets/{QBtnDropdown-44Mj-y_1.js → QBtnDropdown-BWy-rh45.js} +1 -1
  68. package/src/client/dist/pwa/assets/{QExpansionItem-Bok1m8Wi.js → QExpansionItem-DfmdBGuW.js} +1 -1
  69. package/src/client/dist/pwa/assets/QSelect-BfqaWakg.js +1 -0
  70. package/src/client/dist/pwa/assets/{QTooltip-BDihn2aY.js → QTooltip-Cy0T0vk2.js} +1 -1
  71. package/src/client/dist/pwa/assets/SchedulePanel-BYKSFoFj.css +1 -0
  72. package/src/client/dist/pwa/assets/SchedulePanel-YQPObRR3.js +1 -0
  73. package/src/client/dist/pwa/assets/{SearchPage-BwZ2TX1G.js → SearchPage-BoBjmItc.js} +1 -1
  74. package/src/client/dist/pwa/assets/SettingsPage-0GtDcXRC.js +9 -0
  75. package/src/client/dist/pwa/assets/{SettingsPage-W6N01tGz.css → SettingsPage-BYdLXJEJ.css} +1 -1
  76. package/src/client/dist/pwa/assets/SplitWorkspacePage-4wFh65Lh.js +1 -0
  77. package/src/client/dist/pwa/assets/{TerminalPanel-Cq-FR7A7.js → TerminalPanel-b70x_jqH.js} +4 -4
  78. package/src/client/dist/pwa/assets/{TouchPan-BQ1cvzRC.js → TouchPan-CcTVcxwd.js} +1 -1
  79. package/src/client/dist/pwa/assets/{TourReplayButton-Dz1yEz_z.js → TourReplayButton-CpEMnQS8.js} +1 -1
  80. package/src/client/dist/pwa/assets/WorkspaceAttentionLabels-C5lTHTp2.js +1 -0
  81. package/src/client/dist/pwa/assets/{WorkspacePage-BbUvR1Vf.css → WorkspacePage--5HsnMQ1.css} +1 -1
  82. package/src/client/dist/pwa/assets/WorkspacePage-D_V9gNON.js +4 -0
  83. package/src/client/dist/pwa/assets/{browser-BmWgBx9M.js → browser-LBbxVwWf.js} +1 -1
  84. package/src/client/dist/pwa/assets/{build-path-tree-6EjBmYYY.js → build-path-tree-DyvtWxb0.js} +1 -1
  85. package/src/client/dist/pwa/assets/custom-sounds-BpeLZUDW.js +1 -0
  86. package/src/client/dist/pwa/assets/de-v6i2HlE2.js +17 -0
  87. package/src/client/dist/pwa/assets/{documents-BZ8bwcjr.js → documents-Bjx8lz-h.js} +1 -1
  88. package/src/client/dist/pwa/assets/{editor.api-CK7--ckY.js → editor.api-BC3PbJkx.js} +1 -1
  89. package/src/client/dist/pwa/assets/efforts-BDHAnNUs.js +9 -0
  90. package/src/client/dist/pwa/assets/engineFeatures-hlEiwqt-.js +1 -0
  91. package/src/client/dist/pwa/assets/es-Bc1KgkAT.js +17 -0
  92. package/src/client/dist/pwa/assets/{expand-template-C8VyjASo.js → expand-template-DLDl1qPx.js} +1 -1
  93. package/src/client/dist/pwa/assets/{format-LtTLLitJ.js → format-Q94deO3I.js} +7 -7
  94. package/src/client/dist/pwa/assets/{formatters-Bl9zA7Ai.js → formatters-CWxRHuUu.js} +1 -1
  95. package/src/client/dist/pwa/assets/fr-ByYPK5vr.js +17 -0
  96. package/src/client/dist/pwa/assets/{freemarker2-DxezMaje.js → freemarker2-MPhk0eTh.js} +1 -1
  97. package/src/client/dist/pwa/assets/{handlebars-DK_Bj6Rx.js → handlebars-C60ru5gR.js} +1 -1
  98. package/src/client/dist/pwa/assets/{html-DFfsfStD.js → html-ClzchR9j.js} +1 -1
  99. package/src/client/dist/pwa/assets/i18n-Sy42tm-V.js +1 -0
  100. package/src/client/dist/pwa/assets/index-CqZ7sDcM.js +20 -0
  101. package/src/client/dist/pwa/assets/it-BYF_88z6.js +17 -0
  102. package/src/client/dist/pwa/assets/{javascript-DuNbcaL7.js → javascript-C43UJmMx.js} +1 -1
  103. package/src/client/dist/pwa/assets/{liquid-CM3JKyhv.js → liquid-CYTrvTKF.js} +1 -1
  104. package/src/client/dist/pwa/assets/{mdx-BG3zYwNF.js → mdx-CxsXOvkQ.js} +1 -1
  105. package/src/client/dist/pwa/assets/{monaco-contributions-DLscZGH-.js → monaco-contributions-Cl4-iVpK.js} +1 -1
  106. package/src/client/dist/pwa/assets/{monaco.contribution-DnhZHwXT.js → monaco.contribution-DkjLUmyA.js} +2 -2
  107. package/src/client/dist/pwa/assets/network-auth-CXQn2wO7.js +1 -0
  108. package/src/client/dist/pwa/assets/notify-theme-BrueBr2j.js +1 -0
  109. package/src/client/dist/pwa/assets/{pending-diff-open-dYIFdS4r.js → pending-diff-open-B4POItbR.js} +1 -1
  110. package/src/client/dist/pwa/assets/permissionModes-B-ciuUbz.js +36 -0
  111. package/src/client/dist/pwa/assets/{project-color-R_1je4vW.js → project-color-CM3hflLH.js} +1 -1
  112. package/src/client/dist/pwa/assets/{python-COs6pHk2.js → python-s2IMpsoV.js} +1 -1
  113. package/src/client/dist/pwa/assets/{razor-Jl1VqMsk.js → razor-DVNXiVBh.js} +1 -1
  114. package/src/client/dist/pwa/assets/render-chat-markdown-TU6CDfD8.js +69 -0
  115. package/src/client/dist/pwa/assets/{typescript-BU_TUuAM.js → typescript-BYT_8ABE.js} +1 -1
  116. package/src/client/dist/pwa/assets/use-tours-CNe8qb1q.js +2 -0
  117. package/src/client/dist/pwa/assets/workspace-templates-tBxXE52A.js +1 -0
  118. package/src/client/dist/pwa/assets/{xml-gFFsobxE.js → xml-BIG-fmxk.js} +1 -1
  119. package/src/client/dist/pwa/assets/{yaml-DaXaqaGD.js → yaml-D7gu2CQh.js} +1 -1
  120. package/src/client/dist/pwa/index.html +1 -1
  121. package/src/client/dist/pwa/sounds/neutral.wav +0 -0
  122. package/src/client/dist/pwa/sounds/ready.wav +0 -0
  123. package/src/client/dist/pwa/sw.js +1 -1
  124. package/src/client/dist/pwa/assets/ActivityFeed-CLXjdqS8.js +0 -8
  125. package/src/client/dist/pwa/assets/CreatePage-SoCcvxuD.js +0 -2
  126. package/src/client/dist/pwa/assets/CreatePage-TY9g3hZb.css +0 -1
  127. package/src/client/dist/pwa/assets/DashboardPage-CZQLfoV1.js +0 -1
  128. package/src/client/dist/pwa/assets/DiffViewer-Csf3WmLc.js +0 -8
  129. package/src/client/dist/pwa/assets/GitPanel-B-ZHgghQ.js +0 -3
  130. package/src/client/dist/pwa/assets/MainLayout-BAAQLq95.css +0 -1
  131. package/src/client/dist/pwa/assets/MainLayout-Cf4Q9x1u.js +0 -2
  132. package/src/client/dist/pwa/assets/QDrawer-B4qHw8wt.js +0 -1
  133. package/src/client/dist/pwa/assets/QSelect-BbtD5Iks.js +0 -1
  134. package/src/client/dist/pwa/assets/SchedulePanel-BAA4Aajn.css +0 -1
  135. package/src/client/dist/pwa/assets/SchedulePanel-DiWCDNZ8.js +0 -1
  136. package/src/client/dist/pwa/assets/SettingsPage-BUh0WfNf.js +0 -9
  137. package/src/client/dist/pwa/assets/SplitWorkspacePage-Bg6nKBcA.js +0 -1
  138. package/src/client/dist/pwa/assets/WorkspaceAttentionLabels-BCVOP8vp.js +0 -1
  139. package/src/client/dist/pwa/assets/WorkspacePage-Cl8gap4b.js +0 -4
  140. package/src/client/dist/pwa/assets/de-COObokpu.js +0 -17
  141. package/src/client/dist/pwa/assets/efforts-Bw0o2Bud.js +0 -9
  142. package/src/client/dist/pwa/assets/engineFeatures-DQO9HHXI.js +0 -1
  143. package/src/client/dist/pwa/assets/es-By2Q9Tca.js +0 -17
  144. package/src/client/dist/pwa/assets/fouet-ahh-DdxrUXRj.mp3 +0 -0
  145. package/src/client/dist/pwa/assets/fr-D-sd0ddn.js +0 -17
  146. package/src/client/dist/pwa/assets/i18n-aDWy4KHt.js +0 -1
  147. package/src/client/dist/pwa/assets/index-BLd8DAzg.js +0 -20
  148. package/src/client/dist/pwa/assets/it-CeK5lyIA.js +0 -17
  149. package/src/client/dist/pwa/assets/network-auth-BJiPbO5l.js +0 -1
  150. package/src/client/dist/pwa/assets/notify-theme-D4p3qPkp.js +0 -1
  151. package/src/client/dist/pwa/assets/permissionModes-B7fuUegU.js +0 -36
  152. package/src/client/dist/pwa/assets/render-chat-markdown-AaOo0Tgq.js +0 -67
  153. package/src/client/dist/pwa/assets/use-tours-CVn874kD.js +0 -2
  154. package/src/client/dist/pwa/assets/workspace-templates-BCKR8TXr.js +0 -1
  155. package/src/client/dist/pwa/sounds/7eme-compagnie-03.mp3 +0 -0
  156. package/src/client/dist/pwa/sounds/aller-ftg.mp3 +0 -0
  157. package/src/client/dist/pwa/sounds/arrete-de-mentir.mp3 +0 -0
  158. package/src/client/dist/pwa/sounds/arretez-les-messages.mp3 +0 -0
  159. package/src/client/dist/pwa/sounds/bah-alors-on-est-nul.mp3 +0 -0
  160. package/src/client/dist/pwa/sounds/basic-notification.mp3 +0 -0
  161. package/src/client/dist/pwa/sounds/ca_va_peter.mp3 +0 -0
  162. package/src/client/dist/pwa/sounds/dry-fart.mp3 +0 -0
  163. package/src/client/dist/pwa/sounds/faaah.mp3 +0 -0
  164. package/src/client/dist/pwa/sounds/for-shure.mp3 +0 -0
  165. package/src/client/dist/pwa/sounds/gta-v-death.mp3 +0 -0
  166. package/src/client/dist/pwa/sounds/hey.mp3 +0 -0
  167. package/src/client/dist/pwa/sounds/mais-laisse-moi-dormir-zebi.mp3 +0 -0
  168. package/src/client/dist/pwa/sounds/nan-tu-degages.mp3 +0 -0
  169. package/src/client/dist/pwa/sounds/nan-wallah-pardon.mp3 +0 -0
  170. package/src/client/dist/pwa/sounds/ouais-cest-greg.mp3 +0 -0
  171. package/src/client/dist/pwa/sounds/pas-ca-zinedine.mp3 +0 -0
  172. package/src/client/dist/pwa/sounds/ta-gueule.mp3 +0 -0
  173. package/src/client/dist/pwa/sounds/travail_termine.mp3 +0 -0
  174. package/src/client/dist/pwa/sounds/tu-vas-la-fermer.mp3 +0 -0
  175. package/src/client/dist/pwa/sounds/warcraft-3-humain-travail.mp3 +0 -0
  176. package/src/client/dist/pwa/sounds/yaaa.mp3 +0 -0
@@ -1,9 +0,0 @@
1
- import{S as e,j as t,ot as n,st as r,ut as i,v as a}from"./reactivity.esm-bundler-Bo9anJjg.js";import{C as o,F as s,J as c,L as l,O as u,P as d,S as f,X as p,Y as m,_ as h,b as g,d as _,f as v,g as y,h as b,j as x,l as S,p as C,r as w,u as T,y as E,z as D}from"./runtime-core.esm-bundler-CNFKm4ij.js";import{X as ee,c as te,ct as ne,dt as re,et as ie,ft as ae,l as O,pt as oe,st as se,t as k,tt as A,w as j,y as ce}from"./QBtn-DEdx_Y1V.js";import{a as le,i as ue}from"./pinia-CTJ3OfP3.js";import{i as de,n as fe,t as pe}from"./private.use-form-Bk8ti264.js";import{A as me,At as he,B as ge,D as _e,E as ve,Et as ye,F as be,Gt as xe,I as Se,Jt as Ce,Kt as we,L as Te,M as Ee,N as De,O as Oe,Ot as ke,P as Ae,R as je,Tt as Me,Ut as Ne,V as Pe,Wt as Fe,Z as Ie,_t as Le,a as Re,ct as ze,dt as Be,g as Ve,i as He,k as Ue,kt as We,l as Ge,o as M,p as Ke,qt as qe,r as Je,s as Ye,st as Xe,t as Ze,ut as Qe,vt as N,z as $e}from"./index-BLd8DAzg.js";import{t as P}from"./QList-CHm4JNP0.js";import{i as F,r as et,s as tt,t as I}from"./QSelect-BbtD5Iks.js";import{n as L,t as R}from"./QItemSection-BhqphaH6.js";import{t as nt}from"./QExpansionItem-Bok1m8Wi.js";import{a as z,i as B,n as rt,r as it}from"./use-tours-CVn874kD.js";import{t as at}from"./TouchPan-BQ1cvzRC.js";import{t as V}from"./QTooltip-BDihn2aY.js";import{t as ot}from"./QChip-DCPUhqXX.js";import{t as st}from"./ClosePopup-CWjIRHxu.js";import{t as ct}from"./use-is-mobile-DpKI3XMy.js";import{a as lt,c as ut,l as dt,n as ft,o as pt,r as mt,s as ht,t as gt}from"./permissionModes-B7fuUegU.js";import{t as _t}from"./QBtnDropdown-44Mj-y_1.js";import{t as vt}from"./QDrawer-B4qHw8wt.js";import{t as yt}from"./QBanner-CcRI_QIy.js";import{t as bt}from"./project-color-R_1je4vW.js";import{t as xt}from"./QPage-BXBw2Alx.js";import{t as St}from"./DrawerToggleButton-BJBBYeOc.js";import{t as Ct}from"./TourReplayButton-Dz1yEz_z.js";import{t as wt}from"./workspace-templates-BCKR8TXr.js";import{t as Tt}from"./workspace-page-layout-Dw9NhZsL.js";var Et=Object.create,H=Object.defineProperty,Dt=Object.getOwnPropertyDescriptor,Ot=Object.getOwnPropertyNames,kt=Object.getPrototypeOf,At=Object.prototype.hasOwnProperty,jt=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),Mt=(e,t)=>{let n={};for(var r in e)H(n,r,{get:e[r],enumerable:!0});return t||H(n,Symbol.toStringTag,{value:`Module`}),n},Nt=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=Ot(t),a=0,o=i.length,s;a<o;a++)s=i[a],!At.call(e,s)&&s!==n&&H(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=Dt(t,s))||r.enumerable});return e},Pt=(e,t,n)=>(n=e==null?{}:Et(kt(e)),Nt(t||!e||!e.__esModule||!At.call(e,`default`)?H(n,`default`,{value:e,enumerable:!0}):n,e)),Ft=`q-slider__marker-labels`,It=e=>({value:e}),Lt=({marker:e})=>o(`div`,{key:e.value,style:e.style,class:e.classes},e.label),Rt=[34,37,40,33,39,38,35,36],zt={...le,...de,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`}},Bt=[`pan`,`update:modelValue`,`change`];function U({updateValue:e,updatePosition:t,getDragging:n,formAttrs:r}){let{props:i,emit:s,slots:c}=g(),l=ce(),u=ue(i,l),d=fe(r),f=a(!1),m=a(!1),h=a(!1),_=a(!1),v=S(()=>i.vertical?`--v`:`--h`),y=S(()=>`-`+(i.switchLabelSide?`switched`:`standard`)),b=S(()=>i.vertical?i.reverse:i.reverse!==(l.lang.rtl===!0)),C=S(()=>!Number.isFinite(i.innerMin)||i.innerMin<i.min?i.min:i.innerMin),w=S(()=>!Number.isFinite(i.innerMax)||i.innerMax>i.max?i.max:i.innerMax),T=S(()=>!i.disable&&!i.readonly&&C.value<w.value),E=S(()=>{if(i.step===0)return e=>e;let e=(String(i.step).trim().split(`.`)[1]||``).length;return t=>Number.parseFloat(t.toFixed(e))}),D=S(()=>i.step===0?1:i.step),te=S(()=>T.value?i.tabindex||0:-1),ne=S(()=>i.max-i.min),re=S(()=>w.value-C.value),ie=S(()=>Te(C.value)),ae=S(()=>Te(w.value)),O=S(()=>i.vertical?b.value?`bottom`:`top`:b.value?`right`:`left`),oe=S(()=>i.vertical?`height`:`width`),se=S(()=>i.vertical?`width`:`height`),k=S(()=>i.vertical?`vertical`:`horizontal`),A=S(()=>`q-slider q-slider${v.value} q-slider--${f.value?``:`in`}active inline no-wrap `+(i.vertical?`row`:`column`)+(i.disable?` disabled`:` q-slider--enabled`+(T.value?` q-slider--editable`:``))+(h.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`+v.value:``));function j(e){let t=`q-slider__`+e;return`${t} ${t}${v.value} ${t}${v.value}${y.value}`}function le(e){let t=`q-slider__`+e;return`${t} ${t}${v.value}`}let de=S(()=>{let e=i.selectionColor||i.color;return`q-slider__selection absolute`+(e===void 0?``:` text-${e}`)}),pe=S(()=>le(`markers`)+` absolute overflow-hidden`),me=S(()=>le(`track-container`)),he=S(()=>j(`pin`)),ge=S(()=>j(`label`)),_e=S(()=>j(`text-container`)),ve=S(()=>j(`marker-labels-container`)+(i.markerLabelsClass===void 0?``:` ${i.markerLabelsClass}`)),ye=S(()=>`q-slider__track relative-position no-outline`+(i.trackColor===void 0?``:` bg-${i.trackColor}`)),be=S(()=>{let e={[se.value]:i.trackSize};return i.trackImg!==void 0&&(e.backgroundImage=`url(${i.trackImg}) !important`),e}),xe=S(()=>`q-slider__inner absolute`+(i.innerTrackColor===void 0?``:` bg-${i.innerTrackColor}`)),Se=S(()=>{let e=ae.value-ie.value,t={[O.value]:`${100*ie.value}%`,[oe.value]:e===0?`2px`:`${100*e}%`};return i.innerTrackImg!==void 0&&(t.backgroundImage=`url(${i.innerTrackImg}) !important`),t});function we(e){let{min:t,max:n,step:r}=i,a=t+e*(n-t);if(r>0){let e=(a-C.value)%r;a+=(Math.abs(e)>=r/2?(e<0?-1:1)*r:0)-e}return a=E.value(a),F(a,C.value,w.value)}function Te(e){return ne.value===0?0:(e-i.min)/ne.value}function Ee(e,t){let n=ee(e),r=i.vertical?F((n.top-t.top)/t.height,0,1):F((n.left-t.left)/t.width,0,1);return F(b.value?1-r:r,ie.value,ae.value)}let De=S(()=>qe(i.markers)&&i.markers>0?i.markers:D.value),Oe=S(()=>{let e=[],t=De.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}),ke=S(()=>{let e=` ${Ft}${v.value}-`;return`q-slider__marker-labels${e}${i.switchMarkerLabelsSide?`switched`:`standard`}${e}${b.value?`rtl`:`ltr`}`}),Ae=S(()=>i.markerLabels===!1?null:Ne(i.markerLabels).map((e,t)=>({index:t,value:e.value,label:e.label||e.value,classes:ke.value+(e.classes===void 0?``:` `+e.classes),style:{...Pe(e.value),...e.style}}))),je=S(()=>({markerList:Ae.value,markerMap:Fe.value,classes:ke.value,getStyle:Pe})),Me=S(()=>{let e=re.value===0?`2px`:100*De.value/re.value;return{...Se.value,backgroundSize:i.vertical?`2px ${e}%`:`${e}% 2px`}});function Ne(e){if(e===!1)return null;if(e===!0)return Oe.value.map(It);if(typeof e==`function`)return Oe.value.map(t=>{let n=e(t);return Ce(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=>Ce(e)?e:{value:e}).filter(t):Object.keys(e).map(t=>{let n=e[t],r=Number(t);return Ce(n)?{...n,value:r}:{value:r,label:n}}).filter(t)}function Pe(e){return{[O.value]:`${100*(e-i.min)/ne.value}%`}}let Fe=S(()=>{if(i.markerLabels===!1)return null;let e={};return Ae.value.forEach(t=>{e[t.value]=t}),e});function Ie(){if(c[`marker-label-group`]!==void 0)return c[`marker-label-group`](je.value);let e=c[`marker-label`]||Lt;return Ae.value.map(t=>e({marker:t,...je.value}))}let Le=S(()=>[[at,T.value?Re:void 0,void 0,{[k.value]:!0,prevent:!0,stop:!0,mouse:!0,mouseAllDir:!0}]]);function Re(r){r.isFinal?(_.value!==void 0&&(t(r.evt),r.touch&&e(!0),_.value=void 0,s(`pan`,`end`)),f.value=!1,h.value=!1):r.isFirst?(_.value=n(r.evt),t(r.evt),e(),f.value=!0,s(`pan`,`start`)):(t(r.evt),e())}function ze(){h.value=!1}function Be(r){t(r,n(r)),e(),m.value=!0,f.value=!0,document.addEventListener(`mouseup`,Ve,!0)}function Ve(){m.value=!1,f.value=!1,e(!0),ze(),document.removeEventListener(`mouseup`,Ve,!0)}function He(r){t(r,n(r)),e(!0),ze()}function Ue(t){Rt.includes(t.keyCode)&&e(!0)}function We(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 Ge(e){let t=S(()=>!m.value&&(h.value===e.focusValue||h.value===`both`)?` q-slider--focus`:``),n=S(()=>`q-slider__thumb q-slider__thumb${v.value} q-slider__thumb${v.value}-${b.value?`rtl`:`ltr`} absolute non-selectable`+t.value+(e.thumbColor.value===void 0?``:` text-${e.thumbColor.value}`)),r=S(()=>({width:i.thumbSize,height:i.thumbSize,[O.value]:`${100*e.ratio.value}%`,zIndex:h.value===e.focusValue?2:void 0})),a=S(()=>e.labelColor.value===void 0?``:` text-${e.labelColor.value}`),s=S(()=>We(e.ratio.value)),c=S(()=>`q-slider__text`+(e.labelTextColor.value===void 0?``:` text-${e.labelTextColor.value}`));return()=>{let t=[o(`svg`,{class:`q-slider__thumb-shape absolute-full`,viewBox:`0 0 20 20`,"aria-hidden":`true`},[o(`path`,{d:i.thumbPath})]),o(`div`,{class:`q-slider__focus-ring fit`})];return(i.label||i.labelAlways)&&t.push(o(`div`,{class:he.value+` absolute fit no-pointer-events`+a.value},[o(`div`,{class:ge.value,style:{minWidth:i.thumbSize}},[o(`div`,{class:_e.value,style:s.value},[o(`span`,{class:c.value},e.label.value)])])])),e.injectFormInput!==!1&&i.name!==void 0&&!i.disable&&d(t,`push`),o(`div`,{class:n.value,style:r.value,...e.getNodeData()},t)}}function M(e,t,n,r){let a=[];i.innerTrackColor!==`transparent`&&a.push(o(`div`,{key:`inner`,class:xe.value,style:Se.value})),i.selectionColor!==`transparent`&&a.push(o(`div`,{key:`selection`,class:de.value,style:e.value})),i.markers!==!1&&a.push(o(`div`,{key:`marker`,class:pe.value,style:Me.value})),r(a);let s=[p(o(`div`,{key:`trackC`,class:me.value,tabindex:t.value,...n.value},[o(`div`,{class:ye.value,style:be.value},a)]),Le.value)];return i.markerLabels!==!1&&s[i.switchMarkerLabelsSide?`unshift`:`push`](o(`div`,{key:`markerL`,class:ve.value},Ie())),s}return x(()=>{document.removeEventListener(`mouseup`,Ve,!0)}),{state:{active:f,focus:h,preventFocus:m,dragging:_,editable:T,classes:A,tabindex:te,orientation:k,roundValueFn:E,keyStep:D,trackLen:ne,innerMin:C,innerMinRatio:ie,innerMax:w,innerMaxRatio:ae,positionProp:O,sizeProp:oe,isReversed:b},methods:{onActivate:Be,onClick:He,onBlur:ze,onKeyup:Ue,getContent:M,getThumbRenderFn:Ge,convertRatioToModel:we,convertModelToRatio:Te,getDraggingRatio:Ee}}}var W=()=>({}),Vt=A({name:`QSlider`,props:{...zt,modelValue:{required:!0,default:null,validator:e=>typeof e==`number`||e===null},labelValue:[String,Number]},emits:Bt,inheritAttrs:!1,setup(t,{emit:n,attrs:r}){let i=ce(),s=Me(),{state:l,methods:u}=U({updateValue:T,updatePosition:D,getDragging:E,formAttrs:pe(t)}),d=e(null),f=a(0),p=a(0),m=null,h=null;function g(){h=null,p.value=t.modelValue===null?l.innerMin.value:F(t.modelValue,l.innerMin.value,l.innerMax.value)}c(()=>`${t.modelValue}|${l.innerMin.value}|${l.innerMax.value}`,g,{immediate:!0});let _=S(()=>u.convertModelToRatio(p.value)),v=S(()=>l.active.value?f.value:_.value),y=S(()=>{let e={[l.positionProp.value]:`${100*l.innerMinRatio.value}%`,[l.sizeProp.value]:`${100*(v.value-l.innerMinRatio.value)}%`};return t.selectionImg!==void 0&&(e.backgroundImage=`url(${t.selectionImg}) !important`),e}),b=u.getThumbRenderFn({focusValue:!0,getNodeData:W,ratio:v,label:S(()=>t.labelValue===void 0?p.value:t.labelValue),thumbColor:S(()=>t.thumbColor||t.color),labelColor:S(()=>t.labelColor),labelTextColor:S(()=>t.labelTextColor)}),x=S(()=>l.editable.value?{onClick:u.onClick,onMousedown:u.onActivate,onFocus:ee,onBlur:u.onBlur,onKeydown:te,onKeyup:u.onKeyup}:{}),C=S(()=>{let e={role:`slider`,"aria-orientation":l.orientation.value,"aria-valuemin":l.innerMin.value,"aria-valuemax":l.innerMax.value,"aria-valuenow":t.modelValue===null?l.innerMin.value:t.modelValue,"data-step":t.step};return t.labelValue===void 0?t.modelValue===null&&(e[`aria-valuetext`]=i.lang.label.noValue):e[`aria-valuetext`]=t.labelValue,t.disable?e[`aria-disabled`]=`true`:t.readonly&&(e[`aria-readonly`]=`true`),e}),w=S(()=>({...C.value,...s.attributes.value,...x.value}));function T(e){p.value!==t.modelValue&&p.value!==h&&(h=p.value,n(`update:modelValue`,p.value)),e&&(m!==null&&m!==p.value&&n(`change`,p.value),m=null)}function E(){return m=p.value,d.value.getBoundingClientRect()}function D(e,n=l.dragging.value){let r=u.getDraggingRatio(e,n);p.value=u.convertRatioToModel(r),f.value=!t.snap||t.step===0?r:u.convertModelToRatio(p.value)}function ee(){l.focus.value=!0}function te(e){if(!Rt.includes(e.keyCode))return;if(ie(e),m===null&&(m=p.value),e.keyCode===36||e.keyCode===35){p.value=e.keyCode===36?l.innerMin.value:l.innerMax.value,T();return}let n=([34,33].includes(e.keyCode)?10:1)*l.keyStep.value,r=([34,37,40].includes(e.keyCode)?-1:1)*(l.isReversed.value?-1:1)*(t.vertical?-1:1)*n;p.value=F(l.roundValueFn.value(p.value+r),l.innerMin.value,l.innerMax.value),T()}return()=>{let e=u.getContent(y,l.tabindex,w,e=>{e.push(b())});return o(`div`,{ref:d,class:[l.classes.value+(t.modelValue===null?` q-slider--no-value`:``),r.class],style:r.style,...s.listeners.value},e)}}});function G(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(G(e,t))}):e instanceof Map&&e.forEach((e,r)=>{n.set(r,G(e,t))}),Object.assign(n,...Object.keys(e).map(n=>({[n]:G(e[n],t)})))}var Ht=A({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(t,{slots:n,emit:r}){let{proxy:i}=g(),s=ce(),c=e(null),l=a(``),d=a(``),f=!1,p=S(()=>se({initialValue:l.value,validate:t.validate,set:m,cancel:h,updatePosition:_},`value`,()=>d.value,e=>{d.value=e}));function m(){t.validate(d.value)&&(v()&&(r(`save`,d.value,l.value),r(`update:modelValue`,d.value)),y())}function h(){v()&&r(`cancel`,d.value,l.value),y()}function _(){u(()=>{c.value.updatePosition()})}function v(){return!we(d.value,l.value)}function y(){f=!0,c.value.hide()}function b(){f=!1,l.value=G(t.modelValue),d.value=G(t.modelValue),r(`beforeShow`)}function x(){r(`show`)}function C(){!f&&v()&&(t.autoSave&&t.validate(d.value)?(r(`save`,d.value,l.value),r(`update:modelValue`,d.value)):r(`cancel`,d.value,l.value)),r(`beforeHide`)}function w(){r(`hide`)}function T(){let e=n.default===void 0?[]:[n.default(p.value)].flat();return t.title&&e.unshift(o(`div`,{class:`q-dialog__title q-mt-sm q-mb-sm`},t.title)),t.buttons&&e.push(o(`div`,{class:`q-popup-edit__buttons row justify-center no-wrap`},[o(k,{flat:!0,color:t.color,label:t.labelCancel||s.lang.label.cancel,onClick:h}),o(k,{flat:!0,color:t.color,label:t.labelSet||s.lang.label.set,onClick:m})])),e}return Object.assign(i,{set:m,cancel:h,show(e){c.value?.show(e)},hide(e){c.value?.hide(e)},updatePosition:_}),()=>{if(!t.disable)return o(et,{ref:c,class:`q-popup-edit`,cover:t.cover,onBeforeShow:b,onShow:x,onBeforeHide:C,onHide:w,onEscapeKey:h},T)}}}),Ut={class:`text-h6`},Wt=[`title`],Gt={key:1,class:`row justify-center q-mt-sm`},Kt=E({__name:`FolderPickerDialog`,props:{modelValue:{type:Boolean},initialPath:{}},emits:[`update:modelValue`,`select`],setup(e,{emit:t}){let n=e,r=t,o=a(``),s=a(null),u=a([]),d=a(!1),f=a(``);async function g(e){d.value=!0,f.value=``;try{let t=e?`?path=${encodeURIComponent(e)}`:``,n=await fetch(`/api/fs/list-dirs${t}`),r=await n.json();if(!n.ok){f.value=r?.error??`HTTP ${n.status}`;return}o.value=r.path??``,s.value=r.parent??null,u.value=Array.isArray(r.entries)?r.entries:[]}catch(e){f.value=e instanceof Error?e.message:String(e)}finally{d.value=!1}}function b(){o.value&&(r(`select`,o.value),r(`update:modelValue`,!1))}return c(()=>n.modelValue,e=>{e&&g(n.initialPath||void 0)}),(t,n)=>(l(),_(ke,{"model-value":e.modelValue,"onUpdate:modelValue":n[1]||=e=>t.$emit(`update:modelValue`,e)},{default:m(()=>[h(Ne,{class:`text-kobo-1`,style:{"min-width":`480px`,"max-width":`90vw`,background:`var(--kobo-surface)`}},{default:m(()=>[h(xe,{class:`row items-center q-pb-none`},{default:m(()=>[T(`div`,Ut,i(t.$t(`folderPicker.title`)),1),h(B),p(h(k,{flat:``,dense:``,round:``,icon:`close`,color:`kobo-2`},null,512),[[st]])]),_:1}),h(xe,null,{default:m(()=>[T(`div`,{class:`text-caption text-kobo-3 ellipsis q-mb-sm`,style:{"font-family":`monospace`},title:o.value},i(o.value||`…`),9,Wt),f.value?(l(),_(yt,{key:0,dense:``,class:`bg-red-9 text-white q-mb-sm rounded-borders`},{default:m(()=>[y(i(f.value),1)]),_:1})):v(``,!0),h(P,{bordered:``,separator:``,class:`rounded-borders`,style:{"max-height":`320px`,"overflow-y":`auto`}},{default:m(()=>[s.value?p((l(),_(L,{key:0,clickable:``,onClick:n[0]||=e=>g(s.value)},{default:m(()=>[h(R,{avatar:``},{default:m(()=>[h(O,{name:`arrow_upward`,color:`kobo-2`})]),_:1}),h(R,null,{default:m(()=>[y(i(t.$t(`folderPicker.parent`)),1)]),_:1})]),_:1})),[[te]]):v(``,!0),(l(!0),C(w,null,D(u.value,e=>p((l(),_(L,{key:e.path,clickable:``,onClick:t=>g(e.path)},{default:m(()=>[h(R,{avatar:``},{default:m(()=>[h(O,{name:`folder`,color:`amber-6`})]),_:1}),h(R,null,{default:m(()=>[y(i(e.name),1)]),_:2},1024)]),_:2},1032,[`onClick`])),[[te]])),128)),!d.value&&u.value.length===0?(l(),_(L,{key:1},{default:m(()=>[h(R,{class:`text-kobo-3`},{default:m(()=>[y(i(t.$t(`folderPicker.empty`)),1)]),_:1})]),_:1})):v(``,!0)]),_:1}),d.value?(l(),C(`div`,Gt,[h(j,{size:`20px`,color:`kobo-2`})])):v(``,!0)]),_:1}),h(Le,{align:`right`},{default:m(()=>[p(h(k,{flat:``,label:t.$t(`common.cancel`),color:`kobo-2`},null,8,[`label`]),[[st]]),h(k,{flat:``,label:t.$t(`folderPicker.select`),color:`primary`,disable:!o.value||d.value,onClick:b},null,8,[`label`,`disable`])]),_:1})]),_:1})]),_:1},8,[`model-value`]))}});function qt(e){let t=document.createElement(`textarea`);t.value=e,t.contentEditable=`true`,t.style.position=`fixed`;let n=()=>{};We(n),document.body.append(t),t.focus(),t.select();let r=document.execCommand(`copy`);return t.remove(),he(n),r}function Jt(e){if(navigator.clipboard)return navigator.clipboard.writeText(e);let t=qt(e);return t?Promise.resolve(!0):Promise.reject(t)}function Yt(e,t){let n=[{url:e.localUrl,kind:`local`,requiresToken:e.localRequiresToken}];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 Xt(e,t,n,r){let i=n.trim()?Ke(n):``,a=r||`<KOBO_NETWORK_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}:{},...e.localRequiresToken?{KOBO_NETWORK_TOKEN:a}:{}}}}},null,2)}let o={...i?{"X-Kobo-Client-Name":encodeURIComponent(i),"X-Kobo-Client-Name-Encoding":`uri`}:{},...t.requiresToken?{"X-Kobo-Token":a}:{}};return JSON.stringify({mcpServers:{kobo:{url:t.url,...Object.keys(o).length?{headers:o}:{}}}},null,2)}var Zt={"data-tour":`settings-mcp`,class:`q-mt-lg`},Qt={class:`text-subtitle2 q-mb-sm`},$t={class:`text-caption text-kobo-3`},en={key:0,class:`text-caption text-kobo-3`},tn={key:0,class:`row items-center q-mt-sm`},nn={class:`mcp-url col`},rn={class:`mcp-config q-pa-sm`},an={class:`text-caption text-kobo-3`},on={class:`row q-gutter-sm`},sn={key:1,class:`text-caption text-kobo-3 q-mt-sm`},cn={key:2,class:`text-caption text-kobo-3 q-mt-sm`},ln=z(E({__name:`McpConnectionSettings`,props:{token:{},networkEnabled:{type:Boolean},behindProxy:{type:Boolean}},setup(e){let n=e,{t:r}=ye(),o=ce(),s=a(null),u=a(!1),d=a(``),f=a(``),p=S(()=>s.value?Yt(s.value,window.location.origin):[]),g=S(()=>[...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`}]:[]]),b=S(()=>f.value===`stdio`&&s.value?.stdio?`stdio`:p.value.find(e=>e.url===f.value)),x=S(()=>s.value&&b.value?Xt(s.value,b.value,d.value):``),E=S(()=>b.value===`stdio`?s.value?.localRequiresToken:b.value?.requiresToken);c(()=>[n.networkEnabled,n.behindProxy],async(e,t,n)=>{let r=new AbortController;n(()=>r.abort());try{let e=await Ie(`/api/settings/mcp`,{signal:r.signal});if(r.signal.aborted)return;s.value=e,u.value=!1,g.value.some(e=>e.value===f.value)||(f.value=s.value.localUrl)}catch{if(r.signal.aborted)return;u.value=!0}},{immediate:!0});async function D(e){try{await Jt(e),o.notify({type:`positive`,message:r(`settings.network.copied`)})}catch{o.notify({type:`negative`,message:r(`settings.mcp.copyFailed`)})}}function ee(){s.value&&b.value&&n.token&&n.networkEnabled&&D(Xt(s.value,b.value,d.value,n.token))}return(n,a)=>(l(),C(`section`,Zt,[T(`div`,Qt,i(t(r)(`settings.mcp.title`)),1),T(`p`,$t,i(t(r)(`settings.mcp.hint`)),1),u.value?(l(),_(yt,{key:0,dense:``,class:`bg-negative text-white`},{default:m(()=>[y(i(t(r)(`settings.network.loadFailed`)),1)]),_:1})):s.value?(l(),C(w,{key:1},[e.networkEnabled?v(``,!0):(l(),C(`p`,en,i(t(r)(`settings.mcp.remoteDisabled`)),1)),h(N,{modelValue:d.value,"onUpdate:modelValue":a[0]||=e=>d.value=e,label:t(r)(`settings.mcp.clientName`),maxlength:`120`,outlined:``,dense:``,dark:``,class:`q-mb-md`},null,8,[`modelValue`,`label`]),h(I,{modelValue:f.value,"onUpdate:modelValue":a[1]||=e=>f.value=e,options:g.value,"emit-value":``,"map-options":``,label:t(r)(`settings.mcp.connection`),outlined:``,dense:``,dark:``},null,8,[`modelValue`,`options`,`label`]),b.value?(l(),C(w,{key:1},[b.value===`stdio`?v(``,!0):(l(),C(`div`,tn,[T(`code`,nn,i(b.value.url),1),h(k,{flat:``,dense:``,icon:`content_copy`,title:t(r)(`settings.mcp.copyUrl`),onClick:a[2]||=e=>D(b.value.url)},null,8,[`title`])])),T(`pre`,rn,i(x.value),1),T(`p`,an,i(t(r)(`settings.mcp.genericFormat`)),1),T(`div`,on,[h(k,{outline:``,dense:``,"no-caps":``,icon:`content_copy`,label:t(r)(`settings.mcp.copyConfig`),onClick:a[3]||=e=>D(x.value)},null,8,[`label`]),E.value?(l(),_(k,{key:0,outline:``,dense:``,"no-caps":``,disable:!e.token||!e.networkEnabled,label:t(r)(`settings.mcp.copyWithToken`),onClick:ee},null,8,[`disable`,`label`])):v(``,!0)]),E.value&&!e.token?(l(),C(`p`,sn,i(t(r)(`settings.mcp.tokenUnavailable`)),1)):v(``,!0)],64)):v(``,!0),s.value.stdio?v(``,!0):(l(),C(`p`,cn,i(t(r)(`settings.mcp.stdioUnavailable`)),1))],64)):(l(),_(j,{key:2}))]))}}),[[`__scopeId`,`data-v-2ac25d1e`]]),un={class:`notification-sounds-grid q-mt-md`},dn={class:`text-subtitle2`},fn={class:`text-kobo-3 text-caption q-mb-sm`},pn={class:`row items-center q-gutter-sm`},mn={class:`row items-center q-gutter-sm q-mt-sm`},K={class:`text-kobo-2 text-caption volume-label`},hn={class:`text-kobo-2 text-caption volume-value`},gn=z(E({__name:`PrNotificationSoundSettings`,props:{modelValue:{},generalSound:{}},emits:[`update:modelValue`],setup(e,{emit:n}){let r=e,a=n,{t:o}=ye(),s=S(()=>[{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=S(()=>[{label:o(`settings.soundGeneral`),value:be},...Se.map(e=>({label:o(e.labelKey),value:e.id}))]);function u(e,t){a(`update:modelValue`,{...r.modelValue,[e]:t})}function d(e){let t=ge(r.modelValue[e.soundKey]);t!==null&&Ve(t??r.generalSound,r.modelValue[e.volumeKey])}return(n,r)=>(l(),C(`div`,un,[(l(!0),C(w,null,D(s.value,n=>(l(),C(`div`,{key:n.soundKey,class:`notification-sound-card q-pa-md rounded-borders`},[T(`div`,dn,i(n.title),1),T(`div`,fn,i(n.description),1),h(M,{"model-value":e.modelValue[n.enabledKey],label:t(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`]),T(`div`,pn,[h(I,{"model-value":e.modelValue[n.soundKey],options:c.value,label:n.title,disable:!e.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`]),h(k,{flat:``,dense:``,color:`primary`,icon:`play_arrow`,label:t(o)(`settings.notificationSoundPreview`),disable:!e.modelValue[n.enabledKey],onClick:e=>d(n)},null,8,[`label`,`disable`,`onClick`])]),T(`div`,mn,[T(`div`,K,i(t(o)(`settings.notificationVolume`)),1),h(Vt,{"model-value":e.modelValue[n.volumeKey],min:0,max:1,step:.05,disable:!e.modelValue[n.enabledKey],"aria-label":t(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`]),T(`div`,hn,i(Math.round(e.modelValue[n.volumeKey]*100))+`% `,1)])]))),128))]))}}),[[`__scopeId`,`data-v-41966330`]]),_n=z(E({__name:`SettingsNavList`,props:{navItems:{},activeTab:{}},emits:[`select`],setup(e,{emit:t}){let r=t;return(t,a)=>(l(),_(P,{dense:``,class:`settings-nav__list`},{default:m(()=>[(l(!0),C(w,null,D(e.navItems,t=>p((l(),_(L,{key:t.value,clickable:``,"data-tour":`settings-nav-${t.value}`,class:n([`settings-nav__item`,{"settings-nav__item--active":e.activeTab===t.value}]),onClick:e=>r(`select`,t.value)},{default:m(()=>[h(R,{avatar:``,class:`settings-nav__icon`},{default:m(()=>[h(O,{name:t.icon,size:`16px`},null,8,[`name`])]),_:2},1024),h(R,{class:`settings-nav__label`},{default:m(()=>[y(i(t.label),1)]),_:2},1024)]),_:2},1032,[`data-tour`,`class`,`onClick`])),[[te,!1]])),128))]),_:1}))}}),[[`__scopeId`,`data-v-fac6b946`]]),vn={class:`whip-shortcut-recorder`},yn={class:`text-caption text-kobo-2 q-mb-xs`},bn={class:`row items-center no-wrap q-gutter-xs`},xn={"data-testid":`whip-shortcut-value`},Sn={key:0,role:`status`,"aria-live":`polite`,class:`q-sr-only`},Cn={key:1,role:`alert`,class:`text-negative text-caption q-mt-xs`},wn=z(E({__name:`WhipShortcutRecorder`,props:{modelValue:{}},emits:[`update:modelValue`],setup(e,{emit:n}){let r=e,o=n,{t:s}=ye(),c=Ue(),u=a(!1),d=a(``),f=S(()=>u.value?s(`settings.whipShortcutRecording`):me(r.modelValue,c)),p=S(()=>u.value?s(`settings.whipShortcutRecordingLabel`):s(`settings.whipShortcutButtonLabel`,{shortcut:f.value}));function g(){u.value&&(u.value=!1,window.removeEventListener(`keydown`,_,!0))}function _(e){e.preventDefault(),e.stopPropagation();let t=Oe(e,c);if(t.status!==`pending`){if(t.status===`reserved`){d.value=s(`settings.whipShortcutReserved`);return}d.value=``,t.status===`accepted`&&o(`update:modelValue`,t.shortcut),g()}}function b(){u.value||(d.value=``,u.value=!0,window.addEventListener(`keydown`,_,!0))}function w(){g(),d.value=``,o(`update:modelValue`,Ee)}return x(g),(e,n)=>(l(),C(`div`,vn,[T(`div`,yn,i(t(s)(`settings.whipShortcut`)),1),T(`div`,bn,[h(k,{"data-testid":`whip-shortcut-recorder`,dense:``,"no-caps":``,outline:``,color:`primary`,"aria-label":p.value,"aria-pressed":u.value,onClick:b},{default:m(()=>[T(`span`,xn,i(f.value),1),h(V,null,{default:m(()=>[y(i(t(s)(`settings.whipShortcutHint`)),1)]),_:1})]),_:1},8,[`aria-label`,`aria-pressed`]),h(k,{"data-testid":`whip-shortcut-reset`,dense:``,flat:``,round:``,size:`sm`,color:`kobo-2`,icon:`restart_alt`,"aria-label":t(s)(`settings.whipShortcutReset`),onClick:w},{default:m(()=>[h(V,null,{default:m(()=>[y(i(t(s)(`settings.whipShortcutReset`)),1)]),_:1})]),_:1},8,[`aria-label`])]),u.value?(l(),C(`div`,Sn,i(t(s)(`settings.whipShortcutRecording`)),1)):v(``,!0),d.value?(l(),C(`div`,Cn,i(d.value),1)):v(``,!0)]))}}),[[`__scopeId`,`data-v-d8618bd9`]]);function Tn(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function q(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(!q(e[n],t[n]))return!1;return!0}return Tn(e)&&Tn(t)?En(e,t):!1}function En(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)||!q(e[r],t[r]))return!1;return!0}function Dn(e){if(Array.isArray(e))return e.map(Dn);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]=Dn(r);return t}return e}function On(e){return Dn(e)}function kn(e){return e?{disabled:!1,hintKey:null}:{disabled:!0,hintKey:`settings.whipVolumeMasterAudioDisabled`}}var An={key:0,class:`settings-load-error`},jn={class:`column`},Mn={class:`settings-load-error__title`},Nn={class:`settings-load-error__detail`},Pn={class:`settings-load-error__hint`},Fn={class:`settings-layout`},In={key:0,class:`settings-nav`},Ln={class:`settings-nav__title`},Rn={class:`settings-nav`},zn={class:`settings-nav__title`},Bn={class:`settings-content`},Vn={class:`settings-content__header`},Hn={class:`settings-content__title`},Un={class:`text-caption text-kobo-3 q-mb-md`},Wn={class:`settings-panels`},Gn={class:`settings-global-wrap`},Kn={key:0,"data-tour":`settings-card-general`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},qn={class:`text-subtitle2 q-mb-sm`},Jn={key:1,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Yn={class:`text-subtitle2 q-mb-sm`},Xn={class:`text-caption text-kobo-3 q-mt-xs`},Zn={key:2,"data-tour":`settings-card-skills`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Qn={class:`text-subtitle2 q-mb-sm`},$n={class:`text-caption text-kobo-3 q-mt-xs`},er={key:3,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},tr={class:`text-subtitle2 q-mb-sm`},nr={class:`text-caption text-kobo-3 q-mb-xs q-mt-sm`},rr={class:`text-caption text-kobo-3 q-mt-md q-mb-xs`},ir={class:`text-caption text-kobo-3 q-mt-md q-mb-xs`},ar={class:`text-caption text-kobo-3 q-mt-md q-mb-xs`},or={class:`text-caption text-kobo-3 q-mt-md q-mb-xs`},sr={key:4,"data-tour":`settings-card-agents`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},cr={class:`text-subtitle2 q-mb-sm`},lr={class:`text-subtitle2 q-mb-sm q-mt-md`},ur={class:`text-subtitle2 q-mb-sm q-mt-md`},dr={class:`text-caption text-kobo-3 q-mb-sm`},fr={class:`text-subtitle2 q-mb-sm q-mt-md`},pr={key:5,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},mr={class:`text-subtitle2 q-mb-sm`},hr={class:`row items-center q-gutter-lg`},gr={key:6,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},_r={class:`text-subtitle2 q-mb-xs`},vr={class:`text-kobo-3 text-caption q-mb-md`},yr={key:0,class:`column q-gutter-sm q-mt-md`},br={class:`row items-center q-gutter-sm`},xr={class:`text-kobo-2 text-caption`,style:{"min-width":`58px`}},Sr={class:`text-kobo-2 text-caption`,style:{"min-width":`40px`,"text-align":`right`}},Cr={key:0,class:`text-kobo-3 text-caption`},wr={key:7,"data-tour":`settings-card-notifications`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Tr={class:`text-subtitle2 q-mb-sm`},Er={class:`text-kobo-3 text-caption q-mb-md`},Dr={class:`notification-sounds-grid q-mt-md`},Or={class:`notification-sound-card q-pa-md rounded-borders`},kr={class:`text-subtitle2`},Ar={class:`text-kobo-3 text-caption q-mb-sm`},jr={class:`column q-gutter-xs q-mb-sm`},Mr={class:`row items-center q-gutter-sm q-mb-sm`},Nr={class:`row items-center q-gutter-sm`},Pr={class:`row items-center q-gutter-sm q-mt-sm`},Fr={class:`text-kobo-2 text-caption`,style:{"min-width":`58px`}},Ir={class:`text-kobo-2 text-caption`,style:{"min-width":`40px`,"text-align":`right`}},Lr={class:`notification-sound-card q-pa-md rounded-borders`},Rr={class:`text-subtitle2`},zr={class:`text-kobo-3 text-caption q-mb-sm`},Br={class:`row items-center q-gutter-sm`},Vr={class:`row items-center q-gutter-sm q-mt-sm`},Hr={class:`text-kobo-2 text-caption`,style:{"min-width":`58px`}},Ur={class:`text-kobo-2 text-caption`,style:{"min-width":`40px`,"text-align":`right`}},Wr={class:`notification-sound-card q-pa-md rounded-borders`},Gr={class:`text-subtitle2`},Kr={class:`text-kobo-3 text-caption q-mb-sm`},qr={class:`row items-center q-gutter-sm`},Jr={class:`row items-center q-gutter-sm q-mt-sm`},Yr={class:`text-kobo-2 text-caption`,style:{"min-width":`58px`}},Xr={class:`text-kobo-2 text-caption`,style:{"min-width":`40px`,"text-align":`right`}},Zr={class:`notification-sound-card q-pa-md rounded-borders`},Qr={class:`text-subtitle2`},$r={class:`text-kobo-3 text-caption q-mb-sm`},ei={class:`row items-center q-gutter-sm`},ti={class:`row items-center q-gutter-sm q-mt-sm`},ni={class:`text-kobo-2 text-caption`,style:{"min-width":`58px`}},ri={class:`text-kobo-2 text-caption`,style:{"min-width":`40px`,"text-align":`right`}},ii={key:8,"data-tour":`settings-card-voice`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ai={class:`row items-center q-mb-sm`},oi={class:`text-subtitle2`},si={class:`column q-gutter-xs`},ci={class:`row items-center q-gutter-sm`},li={class:`row items-center q-gutter-sm`},ui={class:`q-pa-sm text-caption text-kobo-2`},di={class:`q-mb-sm`},fi={class:`q-mb-sm`},pi={href:`https://github.com/ggml-org/whisper.cpp`,target:`_blank`,rel:`noopener noreferrer`,class:`text-kobo-2`},mi={class:`q-mb-xs text-kobo-2`},hi={class:`q-mb-sm`},gi={class:`q-mb-xs text-kobo-2`},_i={key:9,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},vi={class:`text-subtitle2 q-mb-sm`},yi={class:`row q-col-gutter-sm`},bi={class:`col-12 col-sm-6`},xi={class:`col-12 col-sm-6`},Si={key:10,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Ci={class:`text-subtitle2 q-mb-sm`},wi={key:0,class:`voice-models-dir row items-center q-gutter-sm q-mb-md`},Ti={class:`text-caption text-kobo-2 ellipsis-2-lines`,style:{flex:`1`,"min-width":`0`,"word-break":`break-all`}},Ei={class:`column q-gutter-sm`},Di={class:`row items-center q-gutter-sm`},Oi={class:`text-body2 text-kobo-1`,style:{"font-family":`var(--kobo-font-mono, monospace)`}},ki={class:`text-caption text-kobo-3`},Ai={key:0,class:`q-mt-sm`},ji={class:`row items-center q-mt-xs`},Mi={class:`text-caption text-kobo-3`},Ni={class:`text-caption text-kobo-2`},Pi={key:1,class:`text-caption text-kobo-3 q-mt-xs ellipsis`,style:{"font-family":`var(--kobo-font-mono, monospace)`,"word-break":`break-all`}},Fi={key:11,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Ii={class:`text-subtitle2 q-mb-sm`},Li={class:`q-pa-sm column q-gutter-sm`},Ri={class:`row items-center q-gutter-sm`},zi={class:`text-caption text-kobo-2`},Bi={class:`text-caption text-kobo-2`,style:{"min-width":`40px`,"text-align":`right`}},Vi={class:`text-caption text-kobo-3`},Hi={class:`text-caption text-kobo-3`},Ui={class:`text-caption text-kobo-3`},Wi={class:`text-caption text-kobo-3`},Gi={class:`q-pa-sm column q-gutter-sm`},Ki={key:12,"data-tour":`settings-card-prompts`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},qi={class:`row items-center q-mb-sm`},Ji={class:`text-subtitle2`},Yi={class:`text-caption text-kobo-3 q-mb-sm`},Xi={class:`q-mb-sm`},Zi={class:`row items-center q-mb-sm q-mt-md`},Qi={class:`text-subtitle2`},$i={class:`text-caption text-kobo-3 q-mb-sm`},ea={class:`row items-center q-mb-sm q-mt-md`},ta={class:`text-subtitle2`},na={class:`text-caption text-kobo-3 q-mb-sm`},ra={class:`row items-center q-mb-sm q-mt-md`},ia={class:`text-subtitle2`},aa={class:`text-caption text-kobo-3 q-mb-sm`},oa={class:`row items-center q-mb-sm q-mt-md`},sa={class:`text-subtitle2`},ca={class:`text-caption text-kobo-3 q-mb-sm`},la={key:13,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ua={class:`text-subtitle2 q-mb-sm`},da={class:`text-caption text-kobo-3 q-mb-sm`},fa={key:14,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},pa={class:`text-subtitle2 q-mb-sm`},ma={class:`text-caption text-kobo-3 q-mb-sm`},ha={key:15,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ga={class:`text-subtitle2 q-mb-sm`},_a={class:`text-caption text-kobo-3 q-mb-sm`},va={key:16,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ya={class:`text-subtitle2 q-mb-sm`},ba={class:`text-caption text-kobo-3 q-mb-sm`},xa={class:`q-mb-sm`},Sa={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},Ca={key:18,"data-tour":`settings-card-sentry`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},wa={class:`text-subtitle2 q-mb-sm`},Ta={class:`text-caption text-kobo-3 q-mb-sm`},Ea={class:`q-mb-sm`},Da={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},Oa={key:20,"data-tour":`settings-card-forge`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ka={class:`text-subtitle2 q-mb-sm`},Aa={class:`text-caption text-kobo-3 q-mb-md`},ja={class:`text-subtitle2 q-mb-sm`},Ma={class:`text-caption text-kobo-3 q-mb-sm`},Na={class:`q-mb-sm`},Pa={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},Fa={class:`q-mb-sm`},Ia={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},La={class:`row items-center q-mb-sm`},Ra={class:`text-subtitle2`},za={class:`text-caption text-kobo-3 q-mb-xs`},Ba={class:`text-subtitle2 q-mb-sm`},Va={class:`text-caption text-kobo-3 q-mb-sm`},Ha={class:`q-mb-sm`},Ua={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},Wa={class:`q-mb-sm`},Ga={class:`row items-center q-mb-xs`},Ka={class:`field-label-sub text-caption text-kobo-3 col`},qa=[`src`,`alt`],Ja={key:1,class:`text-caption text-kobo-3 q-py-sm`},Ya={key:0,class:`text-caption text-orange-5 q-mb-xs`},Xa={class:`text-subtitle2 q-mb-sm`},Za={class:`row items-center q-mb-sm`},Qa={class:`text-subtitle2`},$a={class:`text-caption text-kobo-3 q-mb-xs`},eo={key:24,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},to={class:`text-subtitle2 q-mb-sm`},no={class:`text-caption text-kobo-3 q-mb-sm`},ro={key:25,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},io={class:`text-subtitle2 q-mb-sm`},ao={class:`text-caption text-kobo-3 q-mb-sm`},oo={class:`row items-center no-wrap`},so={key:1,class:`text-caption text-kobo-3 q-mb-sm`},co={class:`row items-center q-gutter-sm`},lo={key:26,"data-tour":`settings-card-scripts`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},uo={class:`text-subtitle2 q-mb-sm`},fo={class:`text-caption text-kobo-3 q-mb-sm`},po={key:27,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},mo={class:`text-subtitle2 q-mb-sm`},ho={class:`text-caption text-kobo-3 q-mb-sm`},go={class:`text-caption text-kobo-3 q-mt-md q-mb-xs`},_o={key:28,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},vo={class:`text-subtitle2 q-mb-sm`},yo={class:`text-caption text-kobo-3 q-mb-sm`},bo={key:29,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},xo={class:`text-subtitle2 q-mb-sm`},So={class:`text-caption text-kobo-3 q-mb-sm`},Co={key:30,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},wo={class:`text-subtitle2 q-mb-sm`},To={class:`text-caption text-kobo-3 q-mb-sm`},Eo={key:31,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Do={class:`text-subtitle2 q-mb-sm`},Oo={class:`text-caption text-kobo-3 q-mb-sm`},ko={key:32,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Ao={class:`row items-center justify-between q-mb-sm`},jo={class:`text-subtitle2`},Mo={class:`text-caption text-kobo-3 q-mb-xs`},No={class:`text-caption text-kobo-3 mono-guide q-mb-sm`},Po={key:33,"data-tour":`settings-card-worktrees`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Fo={class:`text-subtitle2 q-mb-sm`},Io={class:`text-caption text-kobo-3 q-mb-sm`},Lo={class:`text-caption text-kobo-3 q-mt-xs`},Ro={"data-tour":`settings-card-worktrees-purge`},zo={class:`text-caption text-kobo-3 q-mt-xs`},Bo={"data-tour":`settings-card-worktrees-retention`},Vo={class:`text-subtitle2 q-mb-sm`},Ho={class:`text-caption text-negative q-mb-sm`},Uo={class:`text-caption text-kobo-3 q-mb-sm`},Wo={key:0,class:`text-caption text-kobo-3 q-mt-sm`},Go={class:`q-pa-sm text-caption text-kobo-2`,style:{"line-height":`1.55`}},Ko={class:`text-weight-medium text-kobo-1 q-mb-xs`},qo={class:`q-mb-xs`},Jo={class:`purge-docs-code`},Yo={class:`text-kobo-3 q-mb-md`},Xo={class:`text-weight-medium text-kobo-1 q-mb-xs`},Zo={class:`q-mb-xs`},Qo={class:`q-pl-md q-my-xs`},$o={class:`purge-docs-code`},es={class:`text-kobo-3 q-mb-md`},ts={class:`text-weight-medium text-kobo-1 q-mb-xs`},ns={class:`q-mb-xs`},rs={class:`q-mb-xs text-kobo-3`},is={class:`purge-docs-code`},as={class:`q-mb-xs text-kobo-3`},os={class:`purge-docs-code`},ss={class:`text-kobo-3`},cs={key:34,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ls={class:`text-subtitle2 q-mb-sm`},us={class:`text-caption text-kobo-3 q-mb-sm`},ds={key:1,class:`q-mt-md`},fs={class:`text-caption text-kobo-3 q-mt-xs`},ps={class:`q-mt-md`},ms={class:`text-caption text-kobo-3 q-mb-xs`},hs={class:`q-mt-md`},gs={class:`text-caption text-kobo-3 q-mb-xs`},_s={key:0,class:`text-caption text-kobo-3`},vs={key:0,class:`q-mt-md`},ys={class:`text-caption text-kobo-3 q-mb-xs`},bs=[`src`,`alt`],xs={key:35,"data-tour":`settings-card-export`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Ss={class:`text-subtitle2 q-mb-sm`},Cs={class:`text-caption text-kobo-3 q-mb-sm`},ws={class:`row q-gutter-sm`},Ts={key:0,class:`q-pa-none`},Es={class:`row q-gutter-md`,style:{"min-height":`500px`}},Ds={class:`project-list-col`},Os={class:`settings-card rounded-borders`,style:{height:`100%`}},ks={class:`q-pa-sm`},As={class:`text-caption text-uppercase text-weight-bold q-px-sm q-py-xs text-kobo-3`,style:{"letter-spacing":`0.05em`}},js={key:0,class:`q-pa-md text-center text-caption text-kobo-3`},Ms={class:`q-pa-sm`},Ns={class:`project-form-col`},Ps={class:`settings-card rounded-borders q-pa-lg`,style:{height:`100%`}},Fs={class:`row items-center q-mb-md`},Is={class:`text-subtitle1 text-weight-medium text-kobo-1`},Ls={key:0,class:`q-mb-md`},Rs={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},zs={class:`text-caption text-kobo-3 q-mt-xs`},Bs={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Vs={class:`text-subtitle2 q-mb-md`},Hs={class:`q-mb-md`},Us={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Ws={class:`q-mb-md`},Gs={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Ks={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},qs={class:`row items-center q-gutter-xs`},Js={class:`text-caption text-kobo-3 q-mt-xs`},Ys={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Xs={class:`text-subtitle2 q-mb-md`},Zs={class:`q-mb-md`},Qs={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},$s={class:`q-mb-md`},ec={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},tc={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},nc={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},rc={class:`text-subtitle2 q-mb-md`},ic={class:`q-mb-md`},ac={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},oc={class:`text-caption text-kobo-3 q-mb-xs`},sc={class:`q-mb-md`},cc={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},lc={class:`text-caption text-kobo-3 q-mb-xs`},uc={class:`q-mb-md`},dc={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},fc={class:`text-caption text-kobo-3 q-mb-xs`},pc={key:0,class:`q-mb-md`},mc={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},hc={class:`text-caption text-kobo-3 q-mb-xs`},gc={key:1,class:`q-mb-md`},_c={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},vc={class:`text-caption text-kobo-3 q-mb-xs`},yc={class:`q-mb-md`},bc={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},xc={class:`text-caption text-kobo-3 q-mb-xs`},Sc={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Cc={class:`text-caption text-kobo-3 q-mt-xs`},wc={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Tc={class:`text-subtitle2 q-mb-md`},Ec={class:`q-mb-md`},Dc={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Oc={class:`text-caption text-kobo-3 q-mb-xs`},kc={class:`text-caption text-kobo-3 q-mt-xs`},Ac={class:`q-mb-md`},jc={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Mc={class:`text-caption text-kobo-3 q-mb-xs`},Nc={class:`field-label-sub text-caption q-mt-sm q-mb-xs text-kobo-3`},Pc={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Fc={class:`text-caption text-kobo-3 q-mb-xs`},Ic={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Lc={class:`text-caption text-kobo-3 q-mb-xs`},Rc={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},zc={class:`text-caption text-kobo-3 q-mb-xs`},Bc={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Vc={class:`text-caption text-kobo-3 q-mb-xs`},Hc={class:`row items-center justify-between q-mb-xs`},Uc={class:`field-label text-body2 text-weight-medium text-kobo-3`},Wc={class:`text-caption text-kobo-3 q-mb-xs`},Gc={class:`text-caption text-kobo-3 mono-guide q-mb-sm`},Kc={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},qc={class:`text-subtitle2 q-mb-md`},Jc={class:`q-mb-md`},Yc={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},Xc={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},Zc={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Qc={class:`text-subtitle2 q-mb-xs`},$c={class:`text-caption text-kobo-3 q-mb-sm`},el={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},tl={class:`text-subtitle2 q-mb-xs`},nl={class:`text-caption text-kobo-3 q-mb-sm`},rl={key:1,class:`column items-center justify-center`,style:{height:`100%`,"min-height":`300px`}},il={class:`text-body2 text-kobo-3`},al={key:1,class:`q-pa-none`},ol={"data-tour":`settings-card-templates`,class:`settings-card rounded-borders q-pa-lg`},sl={class:`row items-center justify-between q-mb-md`},cl={class:`text-subtitle1 text-weight-medium text-kobo-1`},ll={class:`row q-gutter-sm items-center`},ul={key:0,class:`text-kobo-3 q-py-lg text-center`},dl={key:1,class:`column q-gutter-sm`},fl={class:`row items-start justify-between no-wrap`},pl={class:`col`},ml={class:`text-body1 text-weight-medium`,style:{"font-family":`var(--kobo-font-mono)`}},hl={class:`text-caption text-kobo-2 q-mt-xs`},gl={class:`row no-wrap q-gutter-xs`},_l={class:`text-caption text-kobo-3 q-mt-lg`,style:{"font-family":`var(--kobo-font-mono)`}},vl={key:2,class:`q-pa-none`},yl={"data-tour":`settings-card-workspaceTemplates`,class:`settings-card rounded-borders q-pa-lg`},bl={class:`text-subtitle1 text-weight-medium text-kobo-1 q-mb-xs`},xl={class:`text-caption text-kobo-3 q-mb-md`},Sl={key:0,class:`text-caption text-kobo-3`},Cl={class:`row no-wrap q-gutter-xs`},wl={class:`mono-guide q-ma-none`},Tl={class:`settings-savebar__label`},El={class:`text-subtitle1`},Dl={class:`q-pl-md q-pt-xs`,style:{"font-size":`11px`,"font-family":`var(--kobo-font-mono)`,columns:`2`,"column-gap":`24px`}},Ol={key:0,class:`text-negative text-caption`},kl=2500,Al=z(E({__name:`SettingsPage`,setup(e){let o=ce(),u=ve(),g=Be(),x=wt(),{t:E,locale:ee}=ye(),{scheduleAutoRun:te}=rt(),{isMobile:ie}=ct(),se=it(),A=a(`general`),j=a(!1);function le(e){A.value=e,ie.value&&(j.value=!1)}function ue(){j.value=!1,se.toggleLeft()}let de=S(()=>[{value:`general`,icon:`tune`,label:E(`settings.nav.general`)},{value:`agents`,icon:`smart_toy`,label:E(`settings.nav.agents`)},{value:`skills`,icon:`extension`,label:E(`settings.nav.skills`)},{value:`prompts`,icon:`text_snippet`,label:E(`settings.nav.prompts`)},{value:`scripts`,icon:`terminal`,label:E(`settings.nav.scripts`)},{value:`notion`,icon:`integration_instructions`,label:E(`settings.nav.notion`)},{value:`sentry`,icon:`bug_report`,label:E(`settings.nav.sentry`)},{value:`forge`,icon:`account_tree`,label:E(`settings.nav.forge`)},{value:`voice`,icon:`mic`,label:E(`settings.nav.voice`)},{value:`notifications`,icon:`notifications`,label:E(`settings.nav.notifications`)},{value:`worktrees`,icon:`account_tree`,label:E(`settings.nav.worktrees`)},{value:`projects`,icon:`folder`,label:E(`settings.projects`)},{value:`templates`,icon:`description`,label:E(`templates.title`)},{value:`workspaceTemplates`,icon:`bookmarks`,label:E(`settings.nav.workspaceTemplates`)},{value:`export`,icon:`import_export`,label:E(`settings.nav.export`)}]),fe=Ze();c(()=>fe.query.tab,e=>{typeof e==`string`&&de.value.some(t=>t.value===e)&&le(e)},{immediate:!0});let pe=S(()=>de.value.find(e=>e.value===A.value)?.label??``),me=S(()=>[`general`,`agents`,`skills`,`prompts`,`scripts`,`notion`,`sentry`,`forge`,`voice`,`notifications`,`worktrees`,`export`].includes(A.value)),he=a(`auto`),ge=a(`auto`),Ce=a(``),we=a(``),Oe=a(``),Me=a(``),Ie=a(``),Ue=a(``),We=a(``),Ke=a(``),qe=a(!1),F=a(5),et=a(0),z=a(!0),at=a(0),Et=a(0),H=a({enabled:!1,token:``,behindProxy:!1,urls:[]}),Dt=a(!1),Ot=a(``);function kt(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 At=S(()=>H.value.urls.map(kt));async function jt(){try{let e=await fetch(`/api/settings/network`);if(!e.ok)throw Error(`HTTP ${e.status}`);H.value=await e.json(),await Mt()}catch{o.notify({type:`negative`,message:E(`settings.network.loadFailed`),position:`top`})}}async function Mt(){let e=At.value[0];if(!e||!H.value.token){Ot.value=``;return}let t=`${e}/?token=${encodeURIComponent(H.value.token)}`;try{let{default:e}=await ze(async()=>{let{default:e}=await import(`./browser-BmWgBx9M.js`).then(e=>Pt(e.default,1));return{default:e}},[]);Ot.value=await e.toDataURL(t,{margin:1,width:200})}catch{Ot.value=``}}async function Nt(e){try{let t=await fetch(`/api/settings/network`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(e)});if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await t.json();H.value={enabled:n.enabled,token:n.token,behindProxy:n.behindProxy,urls:n.urls},n.restartRequired&&(Dt.value=!0),await Mt()}catch{o.notify({type:`negative`,message:E(`settings.network.updateFailed`),position:`top`}),await jt()}}function Ft(e){Nt({enabled:e})}function It(e){Nt({behindProxy:e})}function Lt(){o.dialog({title:E(`settings.network.title`),message:E(`settings.network.regenerateConfirm`),cancel:!0,persistent:!0}).onOk(()=>{Nt({regenerate:!0})})}function Rt(){sf(H.value.token)}let zt=a(!0),Bt=a(typeof Notification>`u`?`unsupported`:Notification.permission),U=a(!0),W=a(!1),G=a(!1),Ut=a(!1),Wt=a(De),Gt=a(be),qt=a(be),Jt=a(be),Yt=a(1),Xt=a(1),Zt=a(1),Qt=a(1),$t=a({...Ae}),en=a(``),tn=a(``),nn=a(``),rn=a(``),an=a(!1),on=a(!0),sn=a(!1),cn=a(Ee),un=a(1),dn=S(()=>kn(U.value)),fn=S(()=>{switch(Bt.value){case`granted`:return{color:`positive`,label:E(`settings.browserNotificationGranted`)};case`denied`:return{color:`negative`,label:E(`settings.browserNotificationDenied`)};case`default`:return{color:`warning`,label:E(`settings.browserNotificationAsk`)};default:return{color:`kobo-3`,label:E(`settings.browserNotificationUnsupported`)}}});async function pn(){if(typeof Notification>`u`){o.notify({type:`negative`,message:E(`settings.browserNotificationUnsupported`),position:`top`});return}if(Notification.permission==="default"?Bt.value=await Notification.requestPermission():Bt.value=Notification.permission,Bt.value!==`granted`){o.notify({type:`warning`,message:E(`settings.browserNotificationPermissionNeeded`),position:`top`});return}new Notification(E(`settings.browserNotificationTestTitle`),{body:E(`settings.browserNotificationTestBody`),icon:`/favicon.ico`})}let mn=a(null),K=a({});async function hn(e){mn.value=e;try{let t=await fetch(`/api/${e}/test`,{method:`POST`}),n=await t.json();K.value[e]=t.ok?n:{ok:!1,durationMs:0,detail:n.error??`HTTP ${t.status}`}}catch(t){K.value[e]={ok:!1,durationMs:0,detail:t instanceof Error?t.message:String(t)}}finally{mn.value=null}}let vn=a([]),yn=a(!1),bn=a(``),xn=S(()=>vn.value.map(e=>({label:`${e.name} — ${e.email}`,value:e.id,name:e.name,email:e.email,avatarUrl:e.avatarUrl})));async function Sn(e=!1){if(!yn.value&&!(!e&&vn.value.length>0)){yn.value=!0,bn.value=``;try{let e=await fetch(`/api/notion/users`),t=await e.json().catch(()=>({}));if(!e.ok)throw Error(t.error??`HTTP ${e.status}`);vn.value=Array.isArray(t.users)?t.users:[]}catch(e){bn.value=e instanceof Error?e.message:String(e),vn.value=[]}finally{yn.value=!1}}}let Cn=a(``),Tn=a(``),q=a(null),Dn=a(`bypass`),Al=a(`bypass`),jl=a(``),Ml=a(``),Nl=a(``),Pl=a(``),J=a(!0),Fl=a(!0),Il=a([]),Y=a([]),Ll=a(``),Rl=a(``),zl=a(``),Bl=a(`no-tasks`),Vl=a(!1),Hl=a(``),Ul=a(``),Wl=a(``),Gl=a(``),Kl=a(``),ql=a(``),Jl=a(!1);function Yl(e){Q.value.path=e}let Xl=S(()=>[{label:E(`settings.cleanupScriptMode.inherit`),value:``},{label:E(`settings.cleanupScriptMode.idle`),value:`idle`},{label:E(`settings.cleanupScriptMode.noTasks`),value:`no-tasks`}]),Zl=a(_e),Ql=a(null),$l=a(!0);function eu(e){let t=e.trim().replace(/^\/+|\/+$/g,``);return t.length===0||t.length>50||!/^[A-Za-z0-9._/-]+$/.test(t)||t.includes(`..`)?``:t}function tu(){let e=eu(Ll.value);e&&!Y.value.includes(e)&&(Y.value.push(e),Ll.value=``)}function nu(e){Y.value.splice(e,1)}function ru(e,t){let n=eu(t);if(!n)return;let r=Y.value.indexOf(n);(r===-1||r===e)&&(Y.value[e]=n)}function iu(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 au=a(!1),ou=a(`superpowers`),su=S(()=>{switch(ou.value){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`}}),cu=a(``),lu=a(``),uu=a(``),du=a(``),fu=a(``),pu=a(null),mu=S(()=>[{value:`custom`,label:E(`settings.skillSuite.agnostic`)},{value:`superpowers`,label:E(`settings.skillSuite.superpowers`)},{value:`gstack`,label:E(`settings.skillSuite.gstack`)},{value:`ecc`,label:E(`settings.skillSuite.ecc`)},{value:`superpowers+gstack`,label:E(`settings.skillSuite.superpowersGstack`)},{value:`superpowers+gstack+ecc`,label:E(`settings.skillSuite.allThree`)}]);async function hu(e,t){pu.value=e;try{let n=await fetch(`/api/settings/skill-suite-prompts/${t}`);if(!n.ok)throw Error(await n.text());let r=await n.json(),i={reviewTemplate:cu,autoLoopReviewGate:lu,autoLoopGroomingIntro:uu,qaPromptTemplate:du,brainstormingInstruction:fu};i[e].value=r[e],o.notify({type:`positive`,message:E(`settings.skillSuite.imported`),position:`top`})}catch(e){o.notify({type:`negative`,message:`${E(`settings.skillSuite.importFailed`)}: ${String(e)}`,position:`top`})}finally{pu.value=null}}let gu=a(!1),_u=a(`alt`),vu=a(`auto`),yu=a(null),bu=a(``),xu=a(``),Su=a(0),Cu=a(``),wu=a(!1),Tu=a(!0),Eu=a(null),Du=a(!1);function Ou(){o.dialog({title:E(`settings.skillSuite.reloadDefaults`),message:E(`settings.skillSuite.reloadDefaultsConfirm`),cancel:!0,persistent:!0,dark:!0}).onOk(()=>{cu.value=dt,lu.value=pt,uu.value=lt,du.value=ut,fu.value=ht})}function ku(e){let t=e===`global`?Kl.value:Q.value.changeSourceBranchScript,n=()=>{e===`global`?Kl.value=ql.value:Q.value.changeSourceBranchScript=ql.value};if(!t.trim()||t===ql.value){n();return}o.dialog({title:E(`settings.changeSourceBranchScript.replaceConfirmTitle`),message:E(`settings.changeSourceBranchScript.replaceConfirm`),cancel:!0,persistent:!0,dark:!0}).onOk(n)}function Au(e){return!e||e===`tiny`||e===`base`?.1:.2}let ju=[e=>e.trim().length>0||E(`settings.worktreesPathRequired`)],Mu=a(!1),X=a(-1),Z=a(!1),Q=a({path:``,displayName:``,color:null,defaultSourceBranch:``,defaultModel:``,forge:`auto`,prPromptTemplate:``,reviewPromptTemplate:``,ciFixPromptTemplate:``,notionInitialPromptTemplate:``,sentryInitialPromptTemplate:``,gitConventions:``,setupScript:``,taskPromptTemplate:``,cleanupScript:``,cleanupScriptMode:``,archiveScript:``,changeSourceBranchScript:``,sessionEndedScript:``,prMergedScript:``,autoLoopDisabledScript:``,devServer:{startCommand:``,stopCommand:``},e2e:{framework:``,skill:``,prompt:``},finalization:{prompt:``}}),Nu=[`defaultModel`,`forge`,`prPromptTemplate`,`reviewPromptTemplate`,`ciFixPromptTemplate`,`notionInitialPromptTemplate`,`sentryInitialPromptTemplate`,`gitConventions`,`setupScript`,`taskPromptTemplate`,`cleanupScript`,`cleanupScriptMode`,`archiveScript`,`changeSourceBranchScript`,`sessionEndedScript`,`prMergedScript`,`autoLoopDisabledScript`,`devServer`,`e2e`,`finalization`],Pu=a(null),Fu=a(null),Iu=S(()=>u.projects.map(e=>({value:e.path,label:ff(e)||e.path})));function Lu(e){let t=u.projects.find(t=>t.path===e);t&&(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 Ru(){let e={defaultModel:``,forge:`auto`,prPromptTemplate:``,reviewPromptTemplate:``,notionInitialPromptTemplate:``,sentryInitialPromptTemplate:``,gitConventions:``,setupScript:``,taskPromptTemplate:``,cleanupScript:``,cleanupScriptMode:``,archiveScript:``,changeSourceBranchScript:``,sessionEndedScript:``,prMergedScript:``,autoLoopDisabledScript:``,devServer:{startCommand:``,stopCommand:``},e2e:{framework:``,skill:``,prompt:``},finalization:{prompt:``}};return Nu.every(t=>JSON.stringify(Q.value[t])===JSON.stringify(e[t]))}function zu(e){if(e===null){Pu.value=null,Fu.value=null;return}if(Fu.value===null&&Ru()){Lu(e),Pu.value=e,Fu.value=e;return}let t=u.projects.find(t=>t.path===e),n=t&&ff(t)||e;o.dialog({title:E(`settings.copyFromConfirmTitle`),message:E(`settings.copyFromConfirm`,{project:n}),cancel:!0,persistent:!0,dark:!0}).onOk(()=>{Lu(e),Pu.value=e,Fu.value=e}).onCancel(()=>{Pu.value=Fu.value})}let Bu=a([]),Vu=a([]);async function Hu(){try{let e=await fetch(`/api/skills`);e.ok&&(Bu.value=await e.json())}catch{}}function Uu(e,t){t(()=>{let t=e.trim().toLowerCase();Vu.value=t?Bu.value.filter(e=>e.toLowerCase().includes(t)):Bu.value.slice()})}let Wu=a([]),Gu=a(!1),Ku=a(!1),qu=a(!1),Ju=a(!1),Yu=a(null),Xu=a(``),Zu=a(``),Qu=a(``),$u=a(``),ed=a(!1),td=a(!1),nd=S(()=>[...g.templates].sort((e,t)=>e.slug.localeCompare(t.slug))),rd=[`{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 id(){Yu.value=null,Xu.value=``,Zu.value=``,Qu.value=``,$u.value=``,Ju.value=!0}function ad(e){Yu.value=e.slug,Xu.value=e.slug,Zu.value=e.description,Qu.value=e.content,$u.value=``,Ju.value=!0}async function od(){$u.value=``;let e=Xu.value.trim(),t=Zu.value.trim();if(Yu.value===null&&!/^[a-z0-9][a-z0-9-]{0,63}$/.test(e)){$u.value=E(`templates.slugInvalid`);return}if(!t){$u.value=E(`templates.descriptionRequired`);return}if(!Qu.value.trim()){$u.value=E(`templates.contentRequired`);return}ed.value=!0;try{Yu.value===null?await g.createTemplate({slug:e,description:t,content:Qu.value}):await g.updateTemplate(Yu.value,{description:t,content:Qu.value}),Ju.value=!1}catch(e){$u.value=e instanceof Error?e.message:E(`templates.createFailed`)}finally{ed.value=!1}}function sd(){o.dialog({title:E(`templates.reloadDefaults`),message:E(`templates.reloadDefaultsConfirmMessage`),dark:!0,cancel:{flat:!0,label:E(`common.cancel`),color:`kobo-2`},ok:{flat:!0,label:E(`templates.reloadDefaults`),color:`primary`}}).onOk(async()=>{td.value=!0;try{let e=await g.reloadDefaults();o.notify({type:`positive`,message:E(`templates.reloadDefaultsSuccess`,{added:e.added.length,kept:e.kept.length}),position:`top`,timeout:4e3})}catch(e){o.notify({type:`negative`,message:e instanceof Error?e.message:E(`templates.reloadDefaultsFailed`),position:`top`})}finally{td.value=!1}})}async function cd(e){o.dialog({title:E(`templates.deleteTemplate`),message:`${E(`templates.deleteConfirm`,{slug:e.slug})}\n\n${E(`templates.deleteConfirmMessage`)}`,dark:!0,cancel:{flat:!0,label:E(`common.cancel`),color:`kobo-2`},ok:{flat:!0,label:E(`templates.deleteTemplate`),color:`red-5`}}).onOk(async()=>{try{await g.deleteTemplate(e.slug)}catch(e){o.notify({type:`negative`,message:e instanceof Error?e.message:E(`templates.deleteFailed`),position:`top`})}})}function ld(e){let t=new Date(e);return Number.isNaN(t.getTime())?`-`:t.toLocaleDateString()}function ud(e,t){o.dialog({title:E(`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 x.updateTemplate(e,{name:t})}catch(e){o.notify({type:`negative`,message:e instanceof Error?e.message:E(`settings.saveError`),position:`top`})}})}function dd(e,t){o.dialog({title:E(`workspaceTemplates.title`),message:E(`workspaceTemplates.deleteConfirm`,{name:t}),dark:!0,cancel:!0,persistent:!0}).onOk(async()=>{try{await x.deleteTemplate(e),o.notify({type:`positive`,message:E(`workspaceTemplates.deleted`,{name:t}),position:`top`})}catch(e){o.notify({type:`negative`,message:e instanceof Error?e.message:E(`settings.saveError`),position:`top`})}})}function fd(e){o.dialog({title:E(`templates.resetConfirmTitle`),message:E(`templates.resetConfirmMessage`,{slug:e.slug}),dark:!0,cancel:{flat:!0,label:E(`common.cancel`),color:`kobo-2`},ok:{flat:!0,label:E(`templates.resetToDefault`),color:`primary`}}).onOk(async()=>{try{await g.resetToDefault(e.slug),o.notify({type:`positive`,message:E(`templates.resetSuccess`,{slug:e.slug}),position:`top`})}catch(e){o.notify({type:`negative`,message:e instanceof Error?e.message:E(`templates.resetFailed`),position:`top`})}})}let pd=[{label:`English`,value:`en`},{label:`Français`,value:`fr`},{label:`Deutsch`,value:`de`},{label:`Español`,value:`es`},{label:`Italiano`,value:`it`}];function md(e){Xe(e).catch(e=>{console.error(`[i18n] locale load failed:`,e),o.notify({type:`negative`,message:E(`settings.localeLoadFailed`),position:`top`})}),localStorage.setItem(`kobo:locale`,e)}let hd=S(()=>[...mt.map(e=>({label:E(e.i18nLabelKey),value:e.value}))]),gd=S(()=>[...ft.map(e=>({label:E(e.i18nLabelKey),value:e.value}))]),_d=S(()=>[{label:E(`settings.useGlobal`),value:``},...hd.value]),vd=S(()=>[{label:E(`settings.forge.auto`),value:`auto`},{label:E(`settings.forge.github`),value:`github`},{label:E(`settings.forge.gitlab`),value:`gitlab`},{label:E(`settings.forge.bitbucketCommunity`),value:`bitbucket-community`},{label:E(`settings.forge.none`),value:`none`}]),yd=S(()=>gt[`claude-code`].map(e=>({label:E(`agentPermissionMode.${e}`),value:e}))),bd=S(()=>gt.codex.map(e=>({label:E(`agentPermissionMode.${e}`),value:e}))),xd=S(()=>[{name:`{{pr_number}}`,description:E(`settings.var.prNumber`)},{name:`{{pr_url}}`,description:E(`settings.var.prUrl`)},{name:`{{branch_name}}`,description:E(`settings.var.branchName`)},{name:`{{source_branch}}`,description:E(`settings.var.sourceBranch`)},{name:`{{workspace_name}}`,description:E(`settings.var.workspaceName`)},{name:`{{project_name}}`,description:E(`settings.var.projectName`)},{name:`{{notion_url}}`,description:E(`settings.var.notionUrl`)},{name:`{{commits}}`,description:E(`settings.var.commits`)},{name:`{{diff_stats}}`,description:E(`settings.var.diffStats`)},{name:`{{tasks}}`,description:E(`settings.var.tasks`)},{name:`{{acceptance_criteria}}`,description:E(`settings.var.acceptanceCriteria`)}]),Sd=S(()=>[{label:E(`settings.mcpAutoSelect`),value:``},...u.activeMcpServers.map(e=>({label:e.key,value:e.key}))]),Cd=S(()=>Se.map(e=>({label:E(e.labelKey),value:e.id}))),wd=S(()=>[{label:E(`settings.soundGeneral`),value:be},...Cd.value]),Td=S(()=>[{label:E(`voice.noneModel`),value:null}].concat(u.voiceModels.map(e=>({label:e.installed?`${e.name}`:`${e.name} (${E(`voice.notInstalled`)})`,value:e.name})))),Ed=[{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 Dd(){Ve(Wt.value,Yt.value)}function Od(){Ve(Gt.value,Xt.value)}function kd(){Ve(qt.value,Zt.value)}function Ad(){Ve(Jt.value,Qt.value)}let $=S(()=>X.value<0||X.value>=u.projects.length?null:u.projects[X.value]??null),jd=a(Fd()),Md=a({});function Nd(){return{claudeModel:he.value,codexModel:ge.value,prPrompt:Ce.value,reviewPrompt:we.value,ciFixPrompt:Oe.value,finalizationPrompt:Me.value,gitConventions:Ie.value,editorCommand:Ue.value,fileManagerCommand:We.value,terminalCommand:Ke.value,autoPurgeOnPrMerged:qe.value,autoLoopMaxRetries:F.value,awaitingUserReminderMinutes:et.value,activityDigestEnabled:z.value,wsEventsRetentionDays:at.value,wsEventsKeepPerWorkspace:Et.value,browserNotifications:zt.value,audioNotifications:U.value,audioQuestionNotifications:W.value,audioWorkspaceCreatedNotifications:G.value,audioAgentErrorNotifications:Ut.value,audioNotificationSound:Wt.value,audioQuestionSound:Gt.value,audioWorkspaceCreatedSound:qt.value,audioAgentErrorSound:Jt.value,audioNotificationVolume:Yt.value,audioQuestionVolume:Xt.value,audioWorkspaceCreatedVolume:Zt.value,audioAgentErrorVolume:Qt.value,prNotificationSounds:$t.value,notionStatusProperty:en.value,notionStatus:tn.value,notionAssigneeProperty:nn.value,notionUserId:rn.value,notionInitialPrompt:Cn.value,sentryInitialPrompt:Tn.value,claudePermissionMode:Dn.value,codexPermissionMode:Al.value,notionMcpKey:jl.value,sentryMcpKey:Ml.value,bitbucketToken:Nl.value,bitbucketUsername:Pl.value,notionEnabled:J.value,sentryEnabled:Fl.value,showVerboseSystemMessages:an.value,showThinkingBlocks:on.value,whipEnabled:sn.value,whipShortcut:cn.value,whipVolume:un.value,tags:Il.value,branchPrefixes:Y.value,setupScript:Rl.value,cleanupScript:zl.value,cleanupScriptMode:Bl.value,cleanupScriptOnlyOnChanges:Vl.value,archiveScript:Hl.value,changeSourceBranchScript:Kl.value,sessionEndedScript:Ul.value,prMergedScript:Wl.value,autoLoopDisabledScript:Gl.value,worktreesPath:Zl.value,worktreesPrefixByProject:$l.value,flattenWorkspaceList:au.value,skillSuite:ou.value,customReviewTemplate:cu.value,customAutoLoopReviewGate:lu.value,customAutoLoopGroomingIntro:uu.value,customQaPromptTemplate:du.value,customBrainstormingInstruction:fu.value,voiceEnabled:gu.value,voicePttKey:_u.value,voiceLanguage:vu.value,voiceModel:yu.value,voiceCommandPath:bu.value,voiceFfmpegPath:xu.value,voiceTemperature:Su.value,voicePrompt:Cu.value,voiceTranslateToEnglish:wu.value,voiceSuppressNst:Tu.value}}function Pd(){return{...Q.value}}function Fd(){return On(Nd())}function Id(){return On(Pd())}let Ld=S(()=>!En(Nd(),jd.value)),Rd=S(()=>!En(Pd(),Md.value)),zd=S(()=>u.loadError?!1:Ld.value?!0:Rd.value&&($.value!==null||Z.value)),Bd=S(()=>Rd.value&&($.value!==null||Z.value)?Ku.value:Mu.value);function Vd(){Rd.value&&($.value!==null||Z.value)?cf():Qd()}function Hd(){Du.value=!0;let e=u.global.defaultModelByEngine??{};he.value=e[`claude-code`]??`auto`,ge.value=e.codex??`auto`,Ce.value=u.global.prPromptTemplate,we.value=u.global.reviewPromptTemplate??``,Oe.value=u.global.ciFixPromptTemplate??``,Me.value=u.global.finalizationPrompt??``,Ie.value=u.global.gitConventions,Ue.value=u.global.editorCommand??``,We.value=u.global.fileManagerCommand??``,Ke.value=u.global.terminalCommand??``,qe.value=u.global.autoPurgeOnPrMerged??!1,F.value=u.global.autoLoopMaxRetries??5,et.value=u.global.awaitingUserReminderMinutes??0,z.value=u.global.activityDigestEnabled??!0,at.value=u.global.wsEventsRetentionDays??0,Et.value=u.global.wsEventsKeepPerWorkspace??0,zt.value=u.global.browserNotifications??!0,U.value=u.global.audioNotifications??!0,W.value=u.global.audioQuestionNotifications??!1,G.value=u.global.audioWorkspaceCreatedNotifications??!1,Ut.value=u.global.audioAgentErrorNotifications??!1,Wt.value=Pe(u.global.audioNotificationSound),Gt.value=$e(u.global.audioQuestionSound),qt.value=$e(u.global.audioWorkspaceCreatedSound),Jt.value=$e(u.global.audioAgentErrorSound);let t=Object.fromEntries(je.map(e=>[e,$e(u.global[e])])),n=Object.fromEntries(Te.map(e=>{let t=u.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]}));$t.value={...t,...n};let r=u.global.audioNotificationVolume;Yt.value=typeof r==`number`&&Number.isFinite(r)?Math.max(0,Math.min(1,r)):1;let i=u.global.audioQuestionVolume;Xt.value=typeof i==`number`&&Number.isFinite(i)?Math.max(0,Math.min(1,i)):1;let a=u.global.audioWorkspaceCreatedVolume;Zt.value=typeof a==`number`&&Number.isFinite(a)?Math.max(0,Math.min(1,a)):1;let o=u.global.audioAgentErrorVolume;Qt.value=typeof o==`number`&&Number.isFinite(o)?Math.max(0,Math.min(1,o)):1,en.value=u.global.notionStatusProperty??``,tn.value=u.global.notionInProgressStatus??``,nn.value=u.global.notionAssigneeProperty??``,rn.value=u.global.notionUserId??``,Cn.value=u.global.notionInitialPromptTemplate??``,Tn.value=u.global.sentryInitialPromptTemplate??``;{let e=u.global.defaultPermissionModeByEngine??{},t=e=>e===`plan`||e===`bypass`||e===`strict`||e===`interactive`,n=e[`claude-code`];Dn.value=t(n)?n:`bypass`;let r=e.codex;Al.value=t(r)?r:`bypass`}jl.value=u.global.notionMcpKey??``,Ml.value=u.global.sentryMcpKey??``,Nl.value=u.global.bitbucketToken??``,Pl.value=u.global.bitbucketUsername??``,J.value=u.global.notionEnabled??!0,Fl.value=u.global.sentryEnabled??!0,an.value=u.showVerboseSystemMessages,on.value=u.global.showThinkingBlocks??!0,sn.value=u.global.whipEnabled??!1,cn.value=u.global.whipShortcut??`mod+shift+x`,un.value=u.global.whipVolume??1,Il.value=Array.isArray(u.global.tags)?[...u.global.tags]:[],Y.value=Array.isArray(u.global.branchPrefixes)?[...u.global.branchPrefixes]:[],Rl.value=u.global.setupScript??``,zl.value=u.global.cleanupScript??``,Bl.value=u.global.cleanupScriptMode===`idle`?`idle`:`no-tasks`,Vl.value=u.global.cleanupScriptOnlyOnChanges??!1,Hl.value=u.global.archiveScript??``,Ul.value=u.global.sessionEndedScript??``,Wl.value=u.global.prMergedScript??``,Gl.value=u.global.autoLoopDisabledScript??``,Kl.value=u.global.changeSourceBranchScript??``,Zl.value=u.global.worktreesPath??`.worktrees`,$l.value=u.global.worktreesPrefixByProject??!1,au.value=u.global.flattenWorkspaceList??!1,ou.value=u.global.skillSuite??`superpowers`,cu.value=u.global.customReviewTemplate??``,lu.value=u.global.customAutoLoopReviewGate??``,uu.value=u.global.customAutoLoopGroomingIntro??``,du.value=u.global.customQaPromptTemplate??``,fu.value=u.global.customBrainstormingInstruction??``,gu.value=u.global.voiceEnabled??!1,_u.value=u.global.voicePttKey===`ctrl+space`?`ctrl+space`:`alt`,vu.value=u.global.voiceLanguage??`auto`,yu.value=u.global.voiceModel??null,bu.value=u.global.voiceCommandPath??``,xu.value=u.global.voiceFfmpegPath??``,Su.value=typeof u.global.voiceTemperature==`number`?u.global.voiceTemperature:0,Cu.value=u.global.voicePrompt??``,wu.value=u.global.voiceTranslateToEnglish??!1,Tu.value=u.global.voiceSuppressNonSpeechTokens??!0,Du.value=!1,jd.value=Fd()}c(()=>yu.value,(e,t)=>{Du.value||e!==t&&(Su.value=Au(e))});function Ud(e){if(!e){Q.value={path:``,displayName:``,color:null,defaultSourceBranch:``,defaultModel:``,forge:`auto`,prPromptTemplate:``,reviewPromptTemplate:``,ciFixPromptTemplate:``,notionInitialPromptTemplate:``,sentryInitialPromptTemplate:``,gitConventions:``,setupScript:``,taskPromptTemplate:``,cleanupScript:``,cleanupScriptMode:``,archiveScript:``,changeSourceBranchScript:``,sessionEndedScript:``,prMergedScript:``,autoLoopDisabledScript:``,devServer:{startCommand:``,stopCommand:``},e2e:{framework:``,skill:``,prompt:``},finalization:{prompt:``}},Wu.value=[],Md.value=Id();return}Q.value={path:e.path,displayName:e.displayName,color:e.color??null,defaultSourceBranch:e.defaultSourceBranch,defaultModel:e.defaultModel,forge:e.forge??`auto`,prPromptTemplate:e.prPromptTemplate,reviewPromptTemplate:e.reviewPromptTemplate??``,ciFixPromptTemplate:e.ciFixPromptTemplate??``,notionInitialPromptTemplate:e.notionInitialPromptTemplate??``,sentryInitialPromptTemplate:e.sentryInitialPromptTemplate??``,gitConventions:e.gitConventions??``,setupScript:e.setupScript??``,taskPromptTemplate:e.taskPromptTemplate??``,cleanupScript:e.cleanupScript??``,cleanupScriptMode:e.cleanupScriptMode??``,archiveScript:e.archiveScript??``,changeSourceBranchScript:e.changeSourceBranchScript??``,sessionEndedScript:e.sessionEndedScript??``,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??``}},Md.value=Id(),e.path&&Wd(e.path)}async function Wd(e){if(!e.trim()){Wu.value=[];return}Gu.value=!0;try{let t=await fetch(`/api/git/branches?path=${encodeURIComponent(e.trim())}`);if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await t.json();Wu.value=n.local??n.branches??[]}catch{Wu.value=[]}finally{Gu.value=!1}}let Gd=null;c(()=>Q.value.path,e=>{Gd&&clearTimeout(Gd),Gd=setTimeout(()=>{Wd(e)},500)}),c(X,()=>{Z.value=!1,Ud($.value)});let Kd=a(null);async function qd(){try{let e=await fetch(`/api/settings/export`);if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json(),n=new Blob([JSON.stringify(t,null,2)],{type:`application/json`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=`kobo-config-${new Date().toISOString().replace(/[:.]/g,`-`)}.json`,i.click(),URL.revokeObjectURL(r),o.notify({type:`positive`,message:E(`settings.exportSuccess`),position:`top`,timeout:3e3})}catch(e){o.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}}function Jd(){Kd.value?.click()}async function Yd(e){let t=e.target,n=t.files?.[0];if(n)try{o.dialog({title:E(`settings.importConfirmTitle`),message:E(`settings.importConfirmMessage`),cancel:!0,persistent:!0,dark:!0}).onOk(async()=>{try{let e=await n.text(),t=JSON.parse(e),r=await fetch(`/api/settings/import`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)});if(!r.ok){let e=await r.json().catch(()=>({}));throw Error(e.error??`HTTP ${r.status}`)}await u.fetchSettings(),Hd(),o.notify({type:`positive`,message:E(`settings.importSuccess`),position:`top`,timeout:3e3})}catch(e){o.notify({type:`negative`,message:String(e),position:`top`,timeout:5e3})}})}finally{t.value=``}}async function Xd(e){if(q.value===null){q.value=e;try{let t=await u.fetchGlobalDefaults(),n={prPromptTemplate:Ce,reviewPromptTemplate:we,ciFixPromptTemplate:Oe,finalizationPrompt:Me,gitConventions:Ie,notionInitialPromptTemplate:Cn,sentryInitialPromptTemplate:Tn};n[e].value=t[e]}catch(e){console.error(`[SettingsPage] resetFieldToDefault failed:`,e),o.notify({type:`negative`,message:E(`settings.resetFailed`),position:`top`})}finally{q.value=null}}}async function Zd(){let e=e=>e===0?1/0:e,t=u.global.wsEventsRetentionDays??0,n=at.value;if(e(n)>=e(t))return!0;let r=E(`settings.retentionConfirmMessageUnknown`,{days:n});try{let e=await u.previewRetention(n,Et.value);r=E(`settings.retentionConfirmMessage`,{days:n,count:e.deletable,total:e.total})}catch(e){console.error(`[SettingsPage] retention preview failed:`,e)}return await new Promise(e=>{o.dialog({title:E(`settings.retentionConfirmTitle`),message:r,cancel:!0,persistent:!0,dark:!0}).onOk(()=>e(!0)).onCancel(()=>e(!1)).onDismiss(()=>e(!1))})}async function Qd(){if(await Ql.value?.validate()!==!1&&await Zd()){Mu.value=!0;try{await u.updateGlobal({defaultModelByEngine:{"claude-code":he.value,codex:ge.value},prPromptTemplate:Ce.value,reviewPromptTemplate:we.value,ciFixPromptTemplate:Oe.value,finalizationPrompt:Me.value,gitConventions:Ie.value,editorCommand:Ue.value,fileManagerCommand:We.value,terminalCommand:Ke.value,autoPurgeOnPrMerged:qe.value,autoLoopMaxRetries:F.value,awaitingUserReminderMinutes:et.value,activityDigestEnabled:z.value,wsEventsRetentionDays:at.value,wsEventsKeepPerWorkspace:Et.value,browserNotifications:zt.value,audioNotifications:U.value,audioQuestionNotifications:W.value,audioWorkspaceCreatedNotifications:G.value,audioAgentErrorNotifications:Ut.value,audioNotificationSound:Wt.value,audioQuestionSound:Gt.value,audioWorkspaceCreatedSound:qt.value,audioAgentErrorSound:Jt.value,audioNotificationVolume:Yt.value,audioQuestionVolume:Xt.value,audioWorkspaceCreatedVolume:Zt.value,audioAgentErrorVolume:Qt.value,...$t.value,notionStatusProperty:en.value,notionInProgressStatus:tn.value,notionAssigneeProperty:nn.value,notionUserId:rn.value,notionInitialPromptTemplate:Cn.value,sentryInitialPromptTemplate:Tn.value,defaultPermissionModeByEngine:{"claude-code":Dn.value,codex:Al.value},notionMcpKey:jl.value,sentryMcpKey:Ml.value,bitbucketToken:Nl.value,bitbucketUsername:Pl.value,notionEnabled:J.value,sentryEnabled:Fl.value,showThinkingBlocks:on.value,whipEnabled:sn.value,whipShortcut:cn.value,whipVolume:un.value,tags:Il.value,branchPrefixes:Y.value,setupScript:Rl.value,cleanupScript:zl.value,cleanupScriptMode:Bl.value,cleanupScriptOnlyOnChanges:Vl.value,archiveScript:Hl.value,changeSourceBranchScript:Kl.value,sessionEndedScript:Ul.value,prMergedScript:Wl.value,autoLoopDisabledScript:Gl.value,worktreesPath:Zl.value,worktreesPrefixByProject:$l.value,flattenWorkspaceList:au.value,skillSuite:ou.value,customReviewTemplate:cu.value,customAutoLoopReviewGate:lu.value,customAutoLoopGroomingIntro:uu.value,customQaPromptTemplate:du.value,customBrainstormingInstruction:fu.value,voiceEnabled:gu.value,voicePttKey:_u.value,voiceLanguage:vu.value,voiceModel:yu.value,voiceCommandPath:bu.value.trim(),voiceFfmpegPath:xu.value.trim(),voiceTemperature:Su.value,voicePrompt:Cu.value,voiceTranslateToEnglish:wu.value,voiceSuppressNonSpeechTokens:Tu.value}),u.setVerboseSystemMessages(an.value),jd.value=Fd(),o.notify({type:`positive`,message:E(`settings.saved`),position:`top`})}catch{o.notify({type:`negative`,message:E(`settings.saveError`),position:`top`})}finally{Mu.value=!1}}}async function $d(e){Eu.value=e,af();try{await u.downloadVoiceModel(e)}catch{o.notify({type:`negative`,message:E(`voice.downloadFailed`),position:`top`})}finally{Eu.value=null,of()}}async function ef(e){Eu.value=e;try{await u.deleteVoiceModel(e),yu.value===e&&(yu.value=null)}catch{o.notify({type:`negative`,message:E(`voice.deleteFailed`),position:`top`})}finally{Eu.value=null}}async function tf(e){try{await u.cancelVoiceModelDownload(e)}catch{o.notify({type:`negative`,message:E(`voice.cancelFailed`),position:`top`})}}function nf(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 rf=null;function af(){rf||=setInterval(()=>{document.visibilityState!==`hidden`&&u.fetchVoiceModels().catch(e=>{console.error(`[settings] voice model polling failed:`,e)})},kl)}function of(){rf&&=(clearInterval(rf),null)}async function sf(e){try{await navigator.clipboard.writeText(e),o.notify({type:`positive`,message:E(`common.copied`),position:`top`,timeout:1200})}catch{o.notify({type:`negative`,message:E(`common.copyFailed`),position:`top`})}}async function cf(){if(!Q.value.path.trim()){o.notify({type:`negative`,message:E(`settings.projectPathRequired`),position:`top`});return}Ku.value=!0;try{await u.upsertProject(Q.value.path.trim(),{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,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=u.projects.findIndex(e=>e.path===Q.value.path.trim());e>=0&&(X.value=e),Md.value=Id(),o.notify({type:`positive`,message:E(`settings.projectSaved`),position:`top`})}catch{o.notify({type:`negative`,message:E(`settings.projectSaveError`),position:`top`})}finally{Ku.value=!1}}function lf(){if(!$.value)return;let e=$.value.displayName||$.value.path;o.dialog({title:E(`settings.deleteProjectConfirmTitle`),message:E(`settings.deleteProjectConfirmMessage`,{name:e}),dark:!0,cancel:{flat:!0,label:E(`common.cancel`),color:`kobo-2`},ok:{flat:!0,label:E(`common.delete`),color:`red-5`}}).onOk(async()=>{if($.value){qu.value=!0;try{await u.deleteProject($.value.path),X.value=-1,Z.value=!1,Ud(null),o.notify({type:`positive`,message:E(`settings.projectDeleted`),position:`top`})}catch{o.notify({type:`negative`,message:E(`settings.projectDeleteError`),position:`top`})}finally{qu.value=!1}}})}function uf(){X.value=-1,Z.value=!0,Ud(null),Pu.value=null,Fu.value=null}function df(e){if(Rd.value&&($.value!==null||Z.value)){o.dialog({title:E(`settings.unsavedChanges.title`),message:E(`settings.unsavedChanges.message`),dark:!0,persistent:!0,ok:{flat:!0,label:E(`settings.unsavedChanges.discard`),color:`negative`},cancel:{flat:!0,label:E(`settings.unsavedChanges.cancel`),color:`kobo-2`}}).onOk(()=>{Z.value=!1,X.value=e,Pu.value=null,Fu.value=null});return}Z.value=!1,X.value=e,Pu.value=null,Fu.value=null}function ff(e){if(e.displayName)return e.displayName;let t=e.path.split(`/`);return t[t.length-1]??e.path}let pf=a([]);function mf(e,t){t(()=>{pf.value=e?Wu.value.filter(t=>t.toLowerCase().includes(e.toLowerCase())):Wu.value})}async function hf(){await u.fetchSettings(),u.loadError||Hd()}return d(async()=>{await Promise.all([u.fetchSettings(),u.fetchActiveMcpServers(),Hu()]);try{let e=await u.fetchGlobalDefaults();ql.value=e.changeSourceBranchScript??``}catch(e){console.error(`[SettingsPage] fetchGlobalDefaults failed:`,e)}await u.fetchVoiceModels(),await u.fetchVoiceRuntime(),Hd(),te(`settings`),u.global.notionEnabled&&Sn().catch(()=>{}),jt(),x.fetchTemplates(),Je(`settings:global`,()=>Ld.value),Je(`settings:project`,()=>Rd.value&&($.value!==null||Z.value))}),s(()=>{Gd&&clearTimeout(Gd),of(),He(`settings:global`),He(`settings:project`)}),(e,a)=>(l(),_(xt,{class:`settings-page`,"style-fn":t(Tt)},{default:m(()=>[t(u).loadError?(l(),C(`div`,An,[h(O,{name:`error`,size:`18px`}),T(`div`,jn,[T(`span`,Mn,i(e.$t(`settings.loadFailed`)),1),T(`span`,Nn,i(t(u).loadError),1),T(`span`,Pn,i(e.$t(`settings.loadFailedHint`)),1)]),h(B),h(k,{dense:``,flat:``,"no-caps":``,icon:`refresh`,label:e.$t(`common.retry`),onClick:hf},null,8,[`label`])])):v(``,!0),T(`div`,Fn,[t(ie)?(l(),_(vt,{key:1,modelValue:j.value,"onUpdate:modelValue":a[0]||=e=>j.value=e,side:`left`,overlay:``,behavior:`mobile`,width:240},{default:m(()=>[h(P,null,{default:m(()=>[h(L,{clickable:``,onClick:ue},{default:m(()=>[h(R,{avatar:``},{default:m(()=>[h(O,{name:`arrow_back`})]),_:1}),h(R,null,{default:m(()=>[y(i(e.$t(`workspaceList.title`)),1)]),_:1})]),_:1}),h(Ge)]),_:1}),T(`div`,Rn,[T(`div`,zn,i(e.$t(`settings.title`)),1),h(_n,{"nav-items":de.value,"active-tab":A.value,onSelect:le},null,8,[`nav-items`,`active-tab`])])]),_:1},8,[`modelValue`])):(l(),C(`aside`,In,[T(`div`,Ln,i(e.$t(`settings.title`)),1),h(_n,{"nav-items":de.value,"active-tab":A.value,onSelect:le},null,8,[`nav-items`,`active-tab`])])),T(`main`,Bn,[T(`header`,Vn,[h(St,{"exclude-mobile":``,class:`q-mr-sm`}),t(ie)?(l(),_(k,{key:0,flat:``,dense:``,round:``,icon:`menu`,"aria-label":e.$t(`settings.openNav`),class:`settings-content__nav-toggle`,onClick:a[1]||=e=>j.value=!0},{default:m(()=>[h(V,null,{default:m(()=>[y(i(e.$t(`settings.openNav`)),1)]),_:1})]),_:1},8,[`aria-label`])):v(``,!0),T(`h2`,Hn,i(pe.value),1),h(Ct,{"tour-id":`settings`,class:`q-ml-sm`})]),T(`div`,Un,i(e.$t(`settings.help.${A.value}`)),1),T(`div`,Wn,[p(T(`div`,Gn,[A.value===`general`?(l(),C(`div`,Kn,[T(`div`,qn,i(e.$t(`settings.language`)),1),h(I,{"model-value":t(ee),options:pd,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input`,"onUpdate:modelValue":md},null,8,[`model-value`])])):v(``,!0),A.value===`general`?(l(),C(`div`,Jn,[T(`div`,Yn,i(e.$t(`settings.workspaceListSection`)),1),h(M,{modelValue:au.value,"onUpdate:modelValue":a[2]||=e=>au.value=e,label:e.$t(`settings.flattenWorkspaceList`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`]),T(`div`,Xn,i(e.$t(`settings.flattenWorkspaceListHint`)),1)])):v(``,!0),A.value===`skills`?(l(),C(`div`,Zn,[T(`div`,Qn,i(e.$t(`settings.skillSuite.section`)),1),h(Re,{modelValue:ou.value,"onUpdate:modelValue":a[3]||=e=>ou.value=e,options:[{label:e.$t(`settings.skillSuite.superpowers`),value:`superpowers`},{label:e.$t(`settings.skillSuite.gstack`),value:`gstack`},{label:e.$t(`settings.skillSuite.ecc`),value:`ecc`},{label:e.$t(`settings.skillSuite.superpowersGstack`),value:`superpowers+gstack`},{label:e.$t(`settings.skillSuite.allThree`),value:`superpowers+gstack+ecc`},{label:e.$t(`settings.skillSuite.custom`),value:`custom`}],type:`radio`,color:`primary`,dense:``,dark:``,inline:``},null,8,[`modelValue`,`options`]),T(`div`,$n,i(e.$t(su.value)),1),h(k,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`restart_alt`,label:e.$t(`settings.skillSuite.reloadDefaults`),disable:ou.value!==`custom`,class:`q-mt-sm`,onClick:Ou},null,8,[`label`,`disable`])])):v(``,!0),A.value===`skills`&&ou.value===`custom`?(l(),C(`div`,er,[T(`div`,tr,i(e.$t(`settings.skillSuite.customPrompts`)),1),T(`div`,nr,i(e.$t(`settings.skillSuite.reviewTemplate`)),1),h(_t,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`download`,label:e.$t(`settings.skillSuite.importPrompt`),loading:pu.value===`reviewTemplate`,class:`q-mb-sm`},{default:m(()=>[h(P,{dense:``},{default:m(()=>[(l(!0),C(w,null,D(mu.value,e=>p((l(),_(L,{key:e.value,clickable:``,onClick:t=>hu(`reviewTemplate`,e.value)},{default:m(()=>[h(R,null,{default:m(()=>[y(i(e.label),1)]),_:2},1024)]),_:2},1032,[`onClick`])),[[st]])),128))]),_:1})]),_:1},8,[`label`,`loading`]),h(N,{modelValue:cu.value,"onUpdate:modelValue":a[4]||=e=>cu.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`]),T(`div`,rr,i(e.$t(`settings.skillSuite.autoLoopReviewGate`)),1),h(_t,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`download`,label:e.$t(`settings.skillSuite.importPrompt`),loading:pu.value===`autoLoopReviewGate`,class:`q-mb-sm`},{default:m(()=>[h(P,{dense:``},{default:m(()=>[(l(!0),C(w,null,D(mu.value,e=>p((l(),_(L,{key:e.value,clickable:``,onClick:t=>hu(`autoLoopReviewGate`,e.value)},{default:m(()=>[h(R,null,{default:m(()=>[y(i(e.label),1)]),_:2},1024)]),_:2},1032,[`onClick`])),[[st]])),128))]),_:1})]),_:1},8,[`label`,`loading`]),h(N,{modelValue:lu.value,"onUpdate:modelValue":a[5]||=e=>lu.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`]),T(`div`,ir,i(e.$t(`settings.skillSuite.autoLoopGroomingIntro`)),1),h(_t,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`download`,label:e.$t(`settings.skillSuite.importPrompt`),loading:pu.value===`autoLoopGroomingIntro`,class:`q-mb-sm`},{default:m(()=>[h(P,{dense:``},{default:m(()=>[(l(!0),C(w,null,D(mu.value,e=>p((l(),_(L,{key:e.value,clickable:``,onClick:t=>hu(`autoLoopGroomingIntro`,e.value)},{default:m(()=>[h(R,null,{default:m(()=>[y(i(e.label),1)]),_:2},1024)]),_:2},1032,[`onClick`])),[[st]])),128))]),_:1})]),_:1},8,[`label`,`loading`]),h(N,{modelValue:uu.value,"onUpdate:modelValue":a[6]||=e=>uu.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`]),T(`div`,ar,i(e.$t(`settings.skillSuite.qaTemplate`)),1),h(_t,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`download`,label:e.$t(`settings.skillSuite.importPrompt`),loading:pu.value===`qaPromptTemplate`,class:`q-mb-sm`},{default:m(()=>[h(P,{dense:``},{default:m(()=>[(l(!0),C(w,null,D(mu.value,e=>p((l(),_(L,{key:e.value,clickable:``,onClick:t=>hu(`qaPromptTemplate`,e.value)},{default:m(()=>[h(R,null,{default:m(()=>[y(i(e.label),1)]),_:2},1024)]),_:2},1032,[`onClick`])),[[st]])),128))]),_:1})]),_:1},8,[`label`,`loading`]),h(N,{modelValue:du.value,"onUpdate:modelValue":a[7]||=e=>du.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`]),T(`div`,or,i(e.$t(`settings.skillSuite.brainstormingInstruction`)),1),h(_t,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`download`,label:e.$t(`settings.skillSuite.importPrompt`),loading:pu.value===`brainstormingInstruction`,class:`q-mb-sm`},{default:m(()=>[h(P,{dense:``},{default:m(()=>[(l(!0),C(w,null,D(mu.value,e=>p((l(),_(L,{key:e.value,clickable:``,onClick:t=>hu(`brainstormingInstruction`,e.value)},{default:m(()=>[h(R,null,{default:m(()=>[y(i(e.label),1)]),_:2},1024)]),_:2},1032,[`onClick`])),[[st]])),128))]),_:1})]),_:1},8,[`label`,`loading`]),h(N,{modelValue:fu.value,"onUpdate:modelValue":a[8]||=e=>fu.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])])):v(``,!0),A.value===`agents`?(l(),C(`div`,sr,[T(`div`,cr,i(e.$t(`settings.defaultModelClaude`)),1),h(I,{modelValue:he.value,"onUpdate:modelValue":a[9]||=e=>he.value=e,options:hd.value,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`options`]),T(`div`,lr,i(e.$t(`settings.defaultModelCodex`)),1),h(I,{modelValue:ge.value,"onUpdate:modelValue":a[10]||=e=>ge.value=e,options:gd.value,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`options`]),T(`div`,ur,i(e.$t(`settings.defaultPermissionModeClaude`)),1),T(`div`,dr,i(e.$t(`settings.defaultPermissionModeHint`)),1),h(I,{modelValue:Dn.value,"onUpdate:modelValue":a[11]||=e=>Dn.value=e,options:yd.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`options`]),T(`div`,fr,i(e.$t(`settings.defaultPermissionModeCodex`)),1),h(I,{modelValue:Al.value,"onUpdate:modelValue":a[12]||=e=>Al.value=e,options:bd.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])])):v(``,!0),A.value===`general`?(l(),C(`div`,pr,[T(`div`,mr,i(e.$t(`settings.activityFeed`)),1),T(`div`,hr,[h(M,{modelValue:an.value,"onUpdate:modelValue":a[13]||=e=>an.value=e,label:e.$t(`settings.verboseMessages`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`]),h(M,{modelValue:on.value,"onUpdate:modelValue":a[14]||=e=>on.value=e,label:e.$t(`settings.showThinkingBlocks`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`])])])):v(``,!0),A.value===`general`?(l(),C(`div`,gr,[T(`div`,_r,i(e.$t(`settings.whipSettings`)),1),T(`div`,vr,i(e.$t(`settings.whipSettingsHint`)),1),h(M,{modelValue:sn.value,"onUpdate:modelValue":a[15]||=e=>sn.value=e,label:e.$t(`settings.whipEnabled`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},{default:m(()=>[h(V,null,{default:m(()=>[y(i(e.$t(`settings.whipEnabledHint`)),1)]),_:1})]),_:1},8,[`modelValue`,`label`]),sn.value?(l(),C(`div`,yr,[h(wn,{modelValue:cn.value,"onUpdate:modelValue":a[16]||=e=>cn.value=e},null,8,[`modelValue`]),T(`div`,br,[T(`div`,xr,i(e.$t(`settings.whipVolume`)),1),h(Vt,{modelValue:un.value,"onUpdate:modelValue":a[17]||=e=>un.value=e,min:0,max:1,step:.05,disable:dn.value.disabled,"aria-label":e.$t(`settings.whipVolume`),dark:``,dense:``,color:`primary`,class:`col`},null,8,[`modelValue`,`disable`,`aria-label`]),T(`div`,Sr,i(Math.round(un.value*100))+`% `,1)]),dn.value.hintKey?(l(),C(`div`,Cr,i(e.$t(dn.value.hintKey)),1)):v(``,!0)])):v(``,!0)])):v(``,!0),A.value===`notifications`?(l(),C(`div`,wr,[T(`div`,Tr,i(e.$t(`settings.notifications`)),1),h(M,{modelValue:z.value,"onUpdate:modelValue":a[18]||=e=>z.value=e,label:e.$t(`absence.title`),color:`primary`},null,8,[`modelValue`,`label`]),T(`div`,Er,i(e.$t(`settings.activityDigestHint`)),1),T(`div`,Dr,[T(`div`,Or,[T(`div`,kr,i(e.$t(`settings.notificationSound`)),1),T(`div`,Ar,i(e.$t(`settings.notificationSoundHint`)),1),T(`div`,jr,[h(M,{modelValue:zt.value,"onUpdate:modelValue":a[19]||=e=>zt.value=e,label:e.$t(`settings.enableBrowserNotifications`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`]),h(M,{modelValue:U.value,"onUpdate:modelValue":a[20]||=e=>U.value=e,label:e.$t(`settings.enableAudio`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`])]),T(`div`,Mr,[h(ot,{dense:``,square:``,color:fn.value.color,"text-color":`white`,icon:`notifications`},{default:m(()=>[y(i(fn.value.label),1)]),_:1},8,[`color`]),h(k,{flat:``,dense:``,"no-caps":``,color:`primary`,icon:`notifications_active`,label:e.$t(`settings.testBrowserNotification`),onClick:pn},null,8,[`label`])]),T(`div`,Nr,[h(I,{modelValue:Wt.value,"onUpdate:modelValue":a[21]||=e=>Wt.value=e,options:Cd.value,label:e.$t(`settings.notificationSound`),disable:!U.value,dark:``,dense:``,outlined:``,"emit-value":``,"map-options":``,color:`primary`,class:`col`},null,8,[`modelValue`,`options`,`label`,`disable`]),h(k,{flat:``,dense:``,color:`primary`,icon:`play_arrow`,label:e.$t(`settings.notificationSoundPreview`),disable:!U.value,onClick:Dd},null,8,[`label`,`disable`])]),T(`div`,Pr,[T(`div`,Fr,i(e.$t(`settings.notificationVolume`)),1),h(Vt,{modelValue:Yt.value,"onUpdate:modelValue":a[22]||=e=>Yt.value=e,min:0,max:1,step:.05,disable:!U.value,"aria-label":e.$t(`settings.notificationVolume`),dark:``,dense:``,color:`primary`,class:`col`},null,8,[`modelValue`,`disable`,`aria-label`]),T(`div`,Ir,i(Math.round(Yt.value*100))+`% `,1)])]),T(`div`,Lr,[T(`div`,Rr,i(e.$t(`settings.questionSound`)),1),T(`div`,zr,i(e.$t(`settings.questionSoundHint`)),1),h(M,{modelValue:W.value,"onUpdate:modelValue":a[23]||=e=>W.value=e,label:e.$t(`settings.enableAudio`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption q-mb-sm`},null,8,[`modelValue`,`label`]),T(`div`,Br,[h(I,{modelValue:Gt.value,"onUpdate:modelValue":a[24]||=e=>Gt.value=e,options:wd.value,label:e.$t(`settings.questionSound`),disable:!W.value,dark:``,dense:``,outlined:``,"emit-value":``,"map-options":``,color:`primary`,class:`col`},null,8,[`modelValue`,`options`,`label`,`disable`]),h(k,{flat:``,dense:``,color:`primary`,icon:`play_arrow`,label:e.$t(`settings.notificationSoundPreview`),disable:!W.value,onClick:Od},null,8,[`label`,`disable`])]),T(`div`,Vr,[T(`div`,Hr,i(e.$t(`settings.notificationVolume`)),1),h(Vt,{modelValue:Xt.value,"onUpdate:modelValue":a[25]||=e=>Xt.value=e,min:0,max:1,step:.05,disable:!W.value,"aria-label":e.$t(`settings.notificationVolume`),dark:``,dense:``,color:`primary`,class:`col`},null,8,[`modelValue`,`disable`,`aria-label`]),T(`div`,Ur,i(Math.round(Xt.value*100))+`% `,1)])]),T(`div`,Wr,[T(`div`,Gr,i(e.$t(`settings.workspaceCreatedSound`)),1),T(`div`,Kr,i(e.$t(`settings.workspaceCreatedSoundHint`)),1),h(M,{modelValue:G.value,"onUpdate:modelValue":a[26]||=e=>G.value=e,label:e.$t(`settings.enableAudio`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption q-mb-sm`},null,8,[`modelValue`,`label`]),T(`div`,qr,[h(I,{modelValue:qt.value,"onUpdate:modelValue":a[27]||=e=>qt.value=e,options:wd.value,label:e.$t(`settings.workspaceCreatedSound`),disable:!G.value,dark:``,dense:``,outlined:``,"emit-value":``,"map-options":``,color:`primary`,class:`col`},null,8,[`modelValue`,`options`,`label`,`disable`]),h(k,{flat:``,dense:``,color:`primary`,icon:`play_arrow`,label:e.$t(`settings.notificationSoundPreview`),disable:!G.value,onClick:kd},null,8,[`label`,`disable`])]),T(`div`,Jr,[T(`div`,Yr,i(e.$t(`settings.notificationVolume`)),1),h(Vt,{modelValue:Zt.value,"onUpdate:modelValue":a[28]||=e=>Zt.value=e,min:0,max:1,step:.05,disable:!G.value,"aria-label":e.$t(`settings.notificationVolume`),dark:``,dense:``,color:`primary`,class:`col`},null,8,[`modelValue`,`disable`,`aria-label`]),T(`div`,Xr,i(Math.round(Zt.value*100))+`% `,1)])]),T(`div`,Zr,[T(`div`,Qr,i(e.$t(`settings.agentErrorSound`)),1),T(`div`,$r,i(e.$t(`settings.agentErrorSoundHint`)),1),h(M,{modelValue:Ut.value,"onUpdate:modelValue":a[29]||=e=>Ut.value=e,label:e.$t(`settings.enableAudio`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption q-mb-sm`},null,8,[`modelValue`,`label`]),T(`div`,ei,[h(I,{modelValue:Jt.value,"onUpdate:modelValue":a[30]||=e=>Jt.value=e,options:wd.value,label:e.$t(`settings.agentErrorSound`),disable:!Ut.value,dark:``,dense:``,outlined:``,"emit-value":``,"map-options":``,color:`primary`,class:`col`},null,8,[`modelValue`,`options`,`label`,`disable`]),h(k,{flat:``,dense:``,color:`primary`,icon:`play_arrow`,label:e.$t(`settings.notificationSoundPreview`),disable:!Ut.value,onClick:Ad},null,8,[`label`,`disable`])]),T(`div`,ti,[T(`div`,ni,i(e.$t(`settings.notificationVolume`)),1),h(Vt,{modelValue:Qt.value,"onUpdate:modelValue":a[31]||=e=>Qt.value=e,min:0,max:1,step:.05,disable:!Ut.value,"aria-label":e.$t(`settings.notificationVolume`),dark:``,dense:``,color:`primary`,class:`col`},null,8,[`modelValue`,`disable`,`aria-label`]),T(`div`,ri,i(Math.round(Qt.value*100))+`%`,1)])])]),h(gn,{modelValue:$t.value,"onUpdate:modelValue":a[32]||=e=>$t.value=e,"general-sound":Wt.value},null,8,[`modelValue`,`general-sound`])])):v(``,!0),A.value===`voice`?(l(),C(`div`,ii,[T(`div`,ai,[T(`div`,oi,i(e.$t(`voice.sectionRuntime`)),1),h(B),h(k,{flat:``,dense:``,"no-caps":``,size:`sm`,icon:`refresh`,color:`kobo-2`,label:t(E)(`common.refresh`),onClick:a[33]||=e=>t(u).fetchVoiceRuntime()},null,8,[`label`])]),T(`div`,si,[T(`div`,ci,[h(O,{name:t(u).voiceRuntime?.available?`check_circle`:`cancel`,color:t(u).voiceRuntime?.available?`green-5`:`red-5`,size:`xs`},null,8,[`name`,`color`]),T(`span`,{class:n([`text-caption`,t(u).voiceRuntime?.available?`text-green-5`:`text-red-5`])},i(t(u).voiceRuntime?.available?t(E)(`voice.runtimeReady`,{command:t(u).voiceRuntime?.command??`whisper-cli`}):t(E)(`voice.runtimeMissing`,{command:t(u).voiceRuntime?.command??`whisper-cli`})),3)]),T(`div`,li,[h(O,{name:t(u).voiceRuntime?.ffmpegAvailable?`check_circle`:`cancel`,color:t(u).voiceRuntime?.ffmpegAvailable?`green-5`:`red-5`,size:`xs`},null,8,[`name`,`color`]),T(`span`,{class:n([`text-caption`,t(u).voiceRuntime?.ffmpegAvailable?`text-green-5`:`text-red-5`])},i(t(u).voiceRuntime?.ffmpegAvailable?t(E)(`voice.ffmpegReady`):t(E)(`voice.ffmpegMissing`)),3)])]),h(nt,{dense:``,dark:``,icon:`help_outline`,label:e.$t(`voice.installGuideTitle`),class:`variables-panel rounded-borders q-mt-sm`},{default:m(()=>[T(`div`,ui,[T(`div`,di,i(e.$t(`voice.installGuideIntro`)),1),T(`div`,fi,[T(`a`,pi,i(e.$t(`voice.installLink`)),1)]),T(`div`,mi,i(e.$t(`voice.installGuideUbuntuTitle`)),1),a[129]||=T(`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),T(`div`,hi,i(e.$t(`voice.installGuideBinaryPathHint`)),1),T(`div`,gi,i(e.$t(`voice.installGuideWindowsTitle`)),1),a[130]||=T(`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),T(`div`,null,i(e.$t(`voice.installGuideSettingsHint`)),1)])]),_:1},8,[`label`])])):v(``,!0),A.value===`voice`?(l(),C(`div`,_i,[T(`div`,vi,i(e.$t(`voice.sectionActivation`)),1),h(M,{modelValue:gu.value,"onUpdate:modelValue":a[34]||=e=>gu.value=e,label:e.$t(`voice.enabled`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption q-mb-sm`},null,8,[`modelValue`,`label`]),T(`div`,yi,[T(`div`,bi,[h(I,{modelValue:_u.value,"onUpdate:modelValue":a[35]||=e=>_u.value=e,label:e.$t(`voice.pttKey`),options:[{label:e.$t(`voice.pttAlt`),value:`alt`},{label:e.$t(`voice.pttCtrlSpace`),value:`ctrl+space`}],"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`label`,`options`])]),T(`div`,xi,[h(I,{modelValue:vu.value,"onUpdate:modelValue":a[36]||=e=>vu.value=e,label:e.$t(`voice.language`),options:Ed,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`label`])])])])):v(``,!0),A.value===`voice`?(l(),C(`div`,Si,[T(`div`,Ci,i(e.$t(`voice.sectionModels`)),1),h(I,{modelValue:yu.value,"onUpdate:modelValue":a[37]||=e=>yu.value=e,label:e.$t(`voice.model`),options:Td.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`label`,`options`]),t(u).voiceModelsDir?(l(),C(`div`,wi,[h(O,{name:`folder`,color:`kobo-2`,size:`xs`}),T(`span`,Ti,i(t(u).voiceModelsDir),1),h(k,{flat:``,dense:``,round:``,size:`xs`,icon:`content_copy`,color:`kobo-2`,title:t(E)(`common.copy`),onClick:a[38]||=e=>sf(t(u).voiceModelsDir)},null,8,[`title`])])):v(``,!0),T(`div`,Ei,[(l(!0),C(w,null,D(t(u).voiceModels,t=>(l(),C(`div`,{key:t.name,class:n([`voice-model-row q-pa-sm rounded-borders`,{"voice-model-row--active":t.download}])},[T(`div`,Di,[h(O,{name:t.download?`downloading`:t.installed?`check_circle`:`circle`,color:t.download?`primary`:t.installed?`green-5`:`kobo-3`,size:`xs`},null,8,[`name`,`color`]),T(`span`,Oi,i(t.name),1),T(`span`,ki,i(nf(t.installedSizeBytes??t.sizeBytes)),1),h(B),t.download?(l(),_(k,{key:0,flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`close`,label:e.$t(`common.cancel`),onClick:e=>tf(t.name)},null,8,[`label`,`onClick`])):(l(),_(k,{key:1,flat:``,dense:``,"no-caps":``,size:`sm`,color:t.installed?`red-5`:`primary`,icon:t.installed?`delete_outline`:`download`,label:t.installed?e.$t(`voice.delete`):e.$t(`voice.download`),loading:Eu.value===t.name,onClick:e=>t.installed?ef(t.name):$d(t.name)},null,8,[`color`,`icon`,`label`,`loading`,`onClick`]))]),t.download?(l(),C(`div`,Ai,[h(Fe,{value:t.download.total>0?Math.min(1,t.download.downloaded/t.download.total):0,indeterminate:!t.download.total,color:`primary`,"track-color":`kobo-surface-2`,size:`6px`,rounded:``},null,8,[`value`,`indeterminate`]),T(`div`,ji,[T(`span`,Mi,i(nf(t.download.downloaded))+` / `+i(nf(t.download.total)),1),h(B),T(`span`,Ni,i(t.download.total>0?`${Math.floor(t.download.downloaded/t.download.total*100)}%`:`—`),1)])])):t.installed?(l(),C(`div`,Pi,i(t.fileName),1)):v(``,!0)],2))),128))])])):v(``,!0),A.value===`voice`?(l(),C(`div`,Fi,[T(`div`,Ii,i(e.$t(`voice.sectionAdvanced`)),1),h(nt,{dense:``,dark:``,icon:`tune`,label:e.$t(`voice.sectionBehavior`),class:`variables-panel rounded-borders q-mb-sm`},{default:m(()=>[T(`div`,Li,[T(`div`,Ri,[T(`div`,zi,i(e.$t(`voice.temperature`)),1),h(Vt,{modelValue:Su.value,"onUpdate:modelValue":a[39]||=e=>Su.value=e,min:0,max:1,step:.05,dark:``,dense:``,color:`primary`,class:`col`},null,8,[`modelValue`]),T(`div`,Bi,i(Su.value.toFixed(2)),1)]),T(`div`,Vi,i(e.$t(`voice.temperatureHint`)),1),h(N,{modelValue:Cu.value,"onUpdate:modelValue":a[40]||=e=>Cu.value=e,label:e.$t(`voice.initialPrompt`),type:`textarea`,dense:``,dark:``,outlined:``,rows:2,class:`settings-input`},null,8,[`modelValue`,`label`]),T(`div`,Hi,i(e.$t(`voice.initialPromptHint`)),1),h(M,{modelValue:wu.value,"onUpdate:modelValue":a[41]||=e=>wu.value=e,label:e.$t(`voice.translateToEnglish`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`]),T(`div`,Ui,i(e.$t(`voice.translateToEnglishHint`)),1),h(M,{modelValue:Tu.value,"onUpdate:modelValue":a[42]||=e=>Tu.value=e,label:e.$t(`voice.suppressNst`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`]),T(`div`,Wi,i(e.$t(`voice.suppressNstHint`)),1)])]),_:1},8,[`label`]),h(nt,{dense:``,dark:``,icon:`terminal`,label:e.$t(`voice.sectionBinaries`),class:`variables-panel rounded-borders`},{default:m(()=>[T(`div`,Gi,[h(N,{modelValue:bu.value,"onUpdate:modelValue":a[43]||=e=>bu.value=e,label:e.$t(`voice.commandPath`),dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`label`]),h(N,{modelValue:xu.value,"onUpdate:modelValue":a[44]||=e=>xu.value=e,label:e.$t(`voice.ffmpegPath`),dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`label`])])]),_:1},8,[`label`])])):v(``,!0),A.value===`prompts`?(l(),C(`div`,Ki,[T(`div`,qi,[T(`div`,Ji,i(e.$t(`settings.prPromptTemplate`)),1),h(B),h(k,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`restart_alt`,label:t(E)(`settings.resetToDefault`),loading:q.value===`prPromptTemplate`,disable:q.value!==null&&q.value!==`prPromptTemplate`,onClick:a[45]||=e=>Xd(`prPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),T(`div`,Yi,i(e.$t(`settings.prPromptHint`)),1),h(N,{modelValue:Ce.value,"onUpdate:modelValue":a[46]||=e=>Ce.value=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:8,placeholder:e.$t(`settings.prPromptPlaceholder`),class:`settings-input mono-textarea q-mb-md`},null,8,[`modelValue`,`placeholder`]),T(`div`,Xi,[h(nt,{dense:``,dark:``,icon:`code`,label:e.$t(`settings.availableVariables`),class:`variables-panel rounded-borders`},{default:m(()=>[h(P,{dense:``,dark:``,class:`q-pa-sm`},{default:m(()=>[(l(!0),C(w,null,D(xd.value,e=>(l(),_(L,{key:e.name,dense:``},{default:m(()=>[h(R,null,{default:m(()=>[h(tt,{class:`text-caption`,style:{"font-family":`monospace`}},{default:m(()=>[y(i(e.name),1)]),_:2},1024),h(tt,{caption:``,class:`text-kobo-3`},{default:m(()=>[y(i(e.description),1)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1},8,[`label`])]),T(`div`,Zi,[T(`div`,Qi,i(e.$t(`settings.reviewPromptTemplate`)),1),h(B),h(k,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`restart_alt`,label:t(E)(`settings.resetToDefault`),loading:q.value===`reviewPromptTemplate`,disable:q.value!==null&&q.value!==`reviewPromptTemplate`,onClick:a[47]||=e=>Xd(`reviewPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),T(`div`,$i,i(e.$t(`settings.prPromptHint`)),1),h(N,{modelValue:we.value,"onUpdate:modelValue":a[48]||=e=>we.value=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:8,placeholder:e.$t(`settings.reviewPromptPlaceholder`),class:`settings-input mono-textarea q-mb-md`},null,8,[`modelValue`,`placeholder`]),T(`div`,ea,[T(`div`,ta,i(e.$t(`settings.ciFixPromptTemplate`)),1),h(B),h(k,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`restart_alt`,label:t(E)(`settings.resetToDefault`),loading:q.value===`ciFixPromptTemplate`,disable:q.value!==null&&q.value!==`ciFixPromptTemplate`,onClick:a[49]||=e=>Xd(`ciFixPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),T(`div`,na,i(e.$t(`settings.ciFixPromptHint`)),1),h(N,{modelValue:Oe.value,"onUpdate:modelValue":a[50]||=e=>Oe.value=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:8,placeholder:e.$t(`settings.ciFixPromptPlaceholder`),class:`settings-input mono-textarea q-mb-md`},null,8,[`modelValue`,`placeholder`]),T(`div`,ra,[T(`div`,ia,i(e.$t(`settings.finalizationPromptTemplate`)),1),h(B),h(k,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`restart_alt`,label:t(E)(`settings.resetToDefault`),loading:q.value===`finalizationPrompt`,disable:q.value!==null&&q.value!==`finalizationPrompt`,onClick:a[51]||=e=>Xd(`finalizationPrompt`)},null,8,[`label`,`loading`,`disable`])]),T(`div`,aa,i(e.$t(`settings.finalizationPromptHint`)),1),h(N,{modelValue:Me.value,"onUpdate:modelValue":a[52]||=e=>Me.value=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:8,placeholder:e.$t(`settings.finalizationPromptPlaceholder`),class:`settings-input mono-textarea q-mb-md`},null,8,[`modelValue`,`placeholder`]),T(`div`,oa,[T(`div`,sa,i(e.$t(`settings.gitConventions`)),1),h(B),h(k,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`restart_alt`,label:t(E)(`settings.resetToDefault`),loading:q.value===`gitConventions`,disable:q.value!==null&&q.value!==`gitConventions`,onClick:a[53]||=e=>Xd(`gitConventions`)},null,8,[`label`,`loading`,`disable`])]),T(`div`,ca,i(e.$t(`settings.gitConventionsHint`)),1),h(N,{modelValue:Ie.value,"onUpdate:modelValue":a[54]||=e=>Ie.value=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:8,placeholder:e.$t(`settings.gitConventionsPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])])):v(``,!0),A.value===`general`?(l(),C(`div`,la,[T(`div`,ua,i(e.$t(`settings.editorCommand`)),1),T(`div`,da,i(e.$t(`settings.editorCommandHint`)),1),h(N,{modelValue:Ue.value,"onUpdate:modelValue":a[55]||=e=>Ue.value=e,dense:``,dark:``,outlined:``,placeholder:e.$t(`settings.editorCommandPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])])):v(``,!0),A.value===`general`?(l(),C(`div`,fa,[T(`div`,pa,i(e.$t(`settings.fileManagerCommand`)),1),T(`div`,ma,i(e.$t(`settings.fileManagerCommandHint`)),1),h(N,{modelValue:We.value,"onUpdate:modelValue":a[56]||=e=>We.value=e,dense:``,dark:``,outlined:``,placeholder:e.$t(`settings.fileManagerCommandPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])])):v(``,!0),A.value===`general`?(l(),C(`div`,ha,[T(`div`,ga,i(e.$t(`settings.terminalCommand`)),1),T(`div`,_a,i(e.$t(`settings.terminalCommandHint`)),1),h(N,{modelValue:Ke.value,"onUpdate:modelValue":a[57]||=e=>Ke.value=e,dense:``,dark:``,outlined:``,placeholder:e.$t(`settings.terminalCommandPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])])):v(``,!0),A.value===`notion`?(l(),C(`div`,va,[h(M,{modelValue:J.value,"onUpdate:modelValue":a[58]||=e=>J.value=e,label:e.$t(`settings.integrationEnabled`),dark:``,dense:``,color:`primary`},null,8,[`modelValue`,`label`])])):v(``,!0),A.value===`notion`?(l(),C(`div`,{key:17,"data-tour":`settings-card-notion`,class:n([`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`,{"opacity-50":!J.value}])},[T(`div`,ya,i(e.$t(`settings.mcpSelection`)),1),T(`div`,ba,i(e.$t(`settings.mcpSelectionHint`)),1),T(`div`,xa,[T(`div`,Sa,i(e.$t(`settings.notionMcp`)),1),h(I,{modelValue:jl.value,"onUpdate:modelValue":a[59]||=e=>jl.value=e,options:Sd.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])]),h(k,{flat:``,dense:``,"no-caps":``,color:`primary`,icon:`health_and_safety`,label:e.$t(`settings.testIntegration`),loading:mn.value===`notion`,disable:!J.value||mn.value!==null,onClick:a[60]||=e=>hn(`notion`)},null,8,[`label`,`loading`,`disable`]),K.value.notion?(l(),C(`div`,{key:0,class:n([`text-caption q-mt-sm`,K.value.notion.ok?`text-positive`:`text-negative`])},i(K.value.notion.detail)+` (`+i(K.value.notion.durationMs)+` ms) `,3)):v(``,!0)],2)):v(``,!0),A.value===`sentry`?(l(),C(`div`,Ca,[h(M,{modelValue:Fl.value,"onUpdate:modelValue":a[61]||=e=>Fl.value=e,label:e.$t(`settings.integrationEnabled`),dark:``,dense:``,color:`primary`},null,8,[`modelValue`,`label`])])):v(``,!0),A.value===`sentry`?(l(),C(`div`,{key:19,class:n([`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`,{"opacity-50":!Fl.value}])},[T(`div`,wa,i(e.$t(`settings.mcpSelection`)),1),T(`div`,Ta,i(e.$t(`settings.mcpSelectionHint`)),1),T(`div`,Ea,[T(`div`,Da,i(e.$t(`settings.sentryMcp`)),1),h(I,{modelValue:Ml.value,"onUpdate:modelValue":a[62]||=e=>Ml.value=e,options:Sd.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])]),h(k,{flat:``,dense:``,"no-caps":``,color:`primary`,icon:`health_and_safety`,label:e.$t(`settings.testIntegration`),loading:mn.value===`sentry`,disable:!Fl.value||mn.value!==null,class:`q-mt-sm`,onClick:a[63]||=e=>hn(`sentry`)},null,8,[`label`,`loading`,`disable`]),K.value.sentry?(l(),C(`div`,{key:0,class:n([`text-caption q-mt-sm`,K.value.sentry.ok?`text-positive`:`text-negative`])},i(K.value.sentry.detail)+` (`+i(K.value.sentry.durationMs)+` ms) `,3)):v(``,!0)],2)):v(``,!0),A.value===`forge`?(l(),C(`div`,Oa,[T(`div`,ka,i(e.$t(`settings.bitbucketCommunity`)),1),T(`div`,Aa,i(e.$t(`settings.bitbucketCommunityHint`)),1),h(N,{modelValue:Pl.value,"onUpdate:modelValue":a[64]||=e=>Pl.value=e,label:e.$t(`settings.bitbucketUsername`),autocomplete:`username`,dark:``,dense:``,outlined:``,class:`q-mb-sm`},null,8,[`modelValue`,`label`]),h(N,{modelValue:Nl.value,"onUpdate:modelValue":a[65]||=e=>Nl.value=e,label:e.$t(`settings.bitbucketToken`),type:`password`,autocomplete:`off`,dark:``,dense:``,outlined:``},null,8,[`modelValue`,`label`])])):v(``,!0),A.value===`notion`?(l(),C(`div`,{key:21,class:n([`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`,{"opacity-50":!J.value}])},[T(`div`,ja,i(e.$t(`settings.notionStatus`)),1),T(`div`,Ma,i(e.$t(`settings.notionStatusHint`)),1),T(`div`,Na,[T(`div`,Pa,i(e.$t(`settings.notionStatusProperty`)),1),h(N,{modelValue:en.value,"onUpdate:modelValue":a[66]||=e=>en.value=e,dense:``,dark:``,outlined:``,placeholder:e.$t(`settings.notionStatusPropertyPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),T(`div`,Fa,[T(`div`,Ia,i(e.$t(`settings.notionInProgressStatus`)),1),h(N,{modelValue:tn.value,"onUpdate:modelValue":a[67]||=e=>tn.value=e,dense:``,dark:``,outlined:``,placeholder:e.$t(`settings.notionInProgressStatusPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),T(`div`,La,[T(`div`,Ra,i(t(E)(`settings.notionInitialPrompt`)),1),h(B),h(k,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`restart_alt`,label:t(E)(`settings.resetToDefault`),loading:q.value===`notionInitialPromptTemplate`,disable:q.value!==null&&q.value!==`notionInitialPromptTemplate`,onClick:a[68]||=e=>Xd(`notionInitialPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),T(`div`,za,i(t(E)(`settings.notionInitialPrompt.help`,{variables:`{ticket_id}, {notion_url}, {notion_file_path}`})),1),h(N,{modelValue:Cn.value,"onUpdate:modelValue":a[69]||=e=>Cn.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])],2)):v(``,!0),A.value===`notion`?(l(),C(`div`,{key:22,class:n([`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`,{"opacity-50":!J.value}])},[T(`div`,Ba,i(e.$t(`settings.notionAssignee`)),1),T(`div`,Va,i(e.$t(`settings.notionAssigneeHint`)),1),T(`div`,Ha,[T(`div`,Ua,i(e.$t(`settings.notionAssigneeProperty`)),1),h(N,{modelValue:nn.value,"onUpdate:modelValue":a[70]||=e=>nn.value=e,dense:``,dark:``,outlined:``,placeholder:e.$t(`settings.notionAssigneePropertyPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),T(`div`,Wa,[T(`div`,Ga,[T(`div`,Ka,i(e.$t(`settings.notionUserId`)),1),h(k,{flat:``,dense:``,"no-caps":``,size:`sm`,icon:`refresh`,color:`kobo-2`,loading:yn.value,label:e.$t(`settings.notionUsersRefresh`),onClick:a[71]||=e=>Sn(!0)},null,8,[`loading`,`label`])]),vn.value.length>0?(l(),_(I,{key:0,modelValue:rn.value,"onUpdate:modelValue":a[72]||=e=>rn.value=e,options:xn.value,"emit-value":``,"map-options":``,clearable:``,dense:``,dark:``,outlined:``,hint:e.$t(`settings.notionUserIdHint`),class:`settings-input`},{option:m(e=>[h(L,r(f(e.itemProps)),{default:m(()=>[h(R,{avatar:``},{default:m(()=>[h(Qe,{size:`24px`},{default:m(()=>[e.opt.avatarUrl?(l(),C(`img`,{key:0,src:e.opt.avatarUrl,alt:e.opt.label},null,8,qa)):(l(),_(O,{key:1,name:`person`,size:`20px`}))]),_:2},1024)]),_:2},1024),h(R,null,{default:m(()=>[h(tt,null,{default:m(()=>[y(i(e.opt.name),1)]),_:2},1024),h(tt,{caption:``},{default:m(()=>[y(i(e.opt.email),1)]),_:2},1024)]),_:2},1024)]),_:2},1040)]),_:1},8,[`modelValue`,`options`,`hint`])):yn.value?(l(),C(`div`,Ja,i(e.$t(`settings.notionUsersLoading`)),1)):(l(),C(w,{key:2},[bn.value?(l(),C(`div`,Ya,i(e.$t(`settings.notionUsersLoadFailed`,{error:bn.value})),1)):v(``,!0),h(N,{modelValue:rn.value,"onUpdate:modelValue":a[73]||=e=>rn.value=e,dense:``,dark:``,outlined:``,placeholder:e.$t(`settings.notionUserIdPlaceholder`),hint:bn.value?e.$t(`settings.notionUsersManualFallback`):e.$t(`settings.notionUserIdHint`),class:`settings-input`},null,8,[`modelValue`,`placeholder`,`hint`])],64))])],2)):v(``,!0),A.value===`sentry`?(l(),C(`div`,{key:23,class:n([`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`,{"opacity-50":!Fl.value}])},[T(`div`,Xa,i(t(E)(`settings.sentryIntegration`)),1),T(`div`,Za,[T(`div`,Qa,i(t(E)(`settings.sentryInitialPrompt`)),1),h(B),h(k,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`restart_alt`,label:t(E)(`settings.resetToDefault`),loading:q.value===`sentryInitialPromptTemplate`,disable:q.value!==null&&q.value!==`sentryInitialPromptTemplate`,onClick:a[74]||=e=>Xd(`sentryInitialPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),T(`div`,$a,i(t(E)(`settings.sentryInitialPrompt.help`,{variables:`{issue_id}, {sentry_url}, {sentry_file_path}`})),1),h(N,{modelValue:Tn.value,"onUpdate:modelValue":a[75]||=e=>Tn.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])],2)):v(``,!0),A.value===`general`?(l(),C(`div`,eo,[T(`div`,to,i(e.$t(`settings.tagsTitle`)),1),T(`div`,no,i(e.$t(`settings.tagsHint`)),1),h(I,{modelValue:Il.value,"onUpdate:modelValue":a[76]||=e=>Il.value=e,label:e.$t(`settings.tagsLabel`),dark:``,outlined:``,multiple:``,"use-input":``,"use-chips":``,"new-value-mode":`add-unique`,"hide-dropdown-icon":``,"input-debounce":`0`,class:`settings-input`},null,8,[`modelValue`,`label`])])):v(``,!0),A.value===`general`?(l(),C(`div`,ro,[T(`div`,io,i(e.$t(`settings.branchPrefixesTitle`)),1),T(`div`,ao,i(e.$t(`settings.branchPrefixesHint`)),1),Y.value.length>0?(l(),_(P,{key:0,bordered:``,separator:``,class:`rounded-borders q-mb-sm`},{default:m(()=>[(l(!0),C(w,null,D(Y.value,(t,n)=>(l(),_(L,{key:t},{default:m(()=>[h(R,null,{default:m(()=>[h(tt,{class:`cursor-pointer`},{default:m(()=>[y(i(t)+`/ `,1),h(Ht,{"model-value":t,"auto-save":``,onSave:e=>ru(n,e)},{default:m(e=>[h(N,{modelValue:e.value,"onUpdate:modelValue":t=>e.value=t,dense:``,dark:``,autofocus:``,onKeyup:ae(e.set,[`enter`])},null,8,[`modelValue`,`onUpdate:modelValue`,`onKeyup`])]),_:1},8,[`model-value`,`onSave`]),h(V,null,{default:m(()=>[y(i(e.$t(`settings.branchPrefixesEditHint`)),1)]),_:1})]),_:2},1024)]),_:2},1024),h(R,{side:``},{default:m(()=>[T(`div`,oo,[h(k,{flat:``,dense:``,round:``,size:`sm`,icon:`keyboard_arrow_up`,color:`kobo-3`,disable:n===0,title:e.$t(`settings.branchPrefixesMoveUp`),onClick:e=>iu(n,-1)},null,8,[`disable`,`title`,`onClick`]),h(k,{flat:``,dense:``,round:``,size:`sm`,icon:`keyboard_arrow_down`,color:`kobo-3`,disable:n===Y.value.length-1,title:e.$t(`settings.branchPrefixesMoveDown`),onClick:e=>iu(n,1)},null,8,[`disable`,`title`,`onClick`]),h(k,{flat:``,dense:``,round:``,size:`sm`,icon:`delete`,color:`kobo-3`,title:e.$t(`common.delete`),onClick:e=>nu(n)},null,8,[`title`,`onClick`])])]),_:2},1024)]),_:2},1024))),128))]),_:1})):(l(),C(`div`,so,i(e.$t(`settings.branchPrefixesEmpty`)),1)),T(`div`,co,[h(N,{modelValue:Ll.value,"onUpdate:modelValue":a[77]||=e=>Ll.value=e,label:e.$t(`settings.branchPrefixesAddLabel`),dense:``,dark:``,outlined:``,class:`col`,onKeyup:ae(tu,[`enter`])},null,8,[`modelValue`,`label`]),h(k,{flat:``,label:e.$t(`common.add`),icon:`add`,color:`primary`,disable:eu(Ll.value).length===0,onClick:tu},null,8,[`label`,`disable`])])])):v(``,!0),A.value===`scripts`?(l(),C(`div`,lo,[T(`div`,uo,i(e.$t(`settings.setupScript`)),1),T(`div`,fo,i(e.$t(`settings.setupScriptHint`)),1),h(N,{modelValue:Rl.value,"onUpdate:modelValue":a[78]||=e=>Rl.value=e,type:`textarea`,dark:``,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:e.$t(`settings.setupScriptPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])])):v(``,!0),A.value===`scripts`?(l(),C(`div`,po,[T(`div`,mo,i(e.$t(`settings.cleanupScript`)),1),T(`div`,ho,i(e.$t(`settings.cleanupScriptHint`)),1),h(N,{modelValue:zl.value,"onUpdate:modelValue":a[79]||=e=>zl.value=e,type:`textarea`,dark:``,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:e.$t(`settings.cleanupScriptPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`]),T(`div`,go,i(e.$t(`settings.cleanupScriptMode`)),1),h(Re,{modelValue:Bl.value,"onUpdate:modelValue":a[80]||=e=>Bl.value=e,options:[{label:e.$t(`settings.cleanupScriptMode.idle`),value:`idle`},{label:e.$t(`settings.cleanupScriptMode.noTasks`),value:`no-tasks`}],type:`radio`,color:`primary`,dense:``},null,8,[`modelValue`,`options`]),h(Ye,{modelValue:Vl.value,"onUpdate:modelValue":a[81]||=e=>Vl.value=e,label:e.$t(`settings.cleanupScriptOnlyOnChanges`),dark:``,dense:``,color:`primary`,class:`q-mt-sm`},null,8,[`modelValue`,`label`])])):v(``,!0),A.value===`scripts`?(l(),C(`div`,_o,[T(`div`,vo,i(e.$t(`settings.archiveScript`)),1),T(`div`,yo,i(e.$t(`settings.archiveScriptHint`)),1),h(N,{modelValue:Hl.value,"onUpdate:modelValue":a[82]||=e=>Hl.value=e,type:`textarea`,dark:``,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:e.$t(`settings.archiveScriptPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])])):v(``,!0),A.value===`scripts`?(l(),C(`div`,bo,[T(`div`,xo,i(e.$t(`settings.hook.sessionEndedTitle`)),1),T(`div`,So,i(e.$t(`settings.hook.sessionEndedHint`)),1),h(N,{modelValue:Ul.value,"onUpdate:modelValue":a[83]||=e=>Ul.value=e,type:`textarea`,dark:``,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:e.$t(`settings.hook.sessionEndedPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])])):v(``,!0),A.value===`scripts`?(l(),C(`div`,Co,[T(`div`,wo,i(e.$t(`settings.hook.prMergedTitle`)),1),T(`div`,To,i(e.$t(`settings.hook.prMergedHint`)),1),h(N,{modelValue:Wl.value,"onUpdate:modelValue":a[84]||=e=>Wl.value=e,type:`textarea`,dark:``,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:e.$t(`settings.hook.prMergedPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])])):v(``,!0),A.value===`scripts`?(l(),C(`div`,Eo,[T(`div`,Do,i(e.$t(`settings.hook.autoLoopDisabledTitle`)),1),T(`div`,Oo,i(e.$t(`settings.hook.autoLoopDisabledHint`)),1),h(N,{modelValue:Gl.value,"onUpdate:modelValue":a[85]||=e=>Gl.value=e,type:`textarea`,dark:``,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:e.$t(`settings.hook.autoLoopDisabledPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])])):v(``,!0),A.value===`scripts`?(l(),C(`div`,ko,[T(`div`,Ao,[T(`div`,jo,i(e.$t(`settings.changeSourceBranchScript`)),1),h(k,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`primary`,icon:`restart_alt`,label:e.$t(`settings.changeSourceBranchScript.resetDefault`),onClick:a[86]||=e=>ku(`global`)},null,8,[`label`])]),T(`div`,Mo,i(e.$t(`settings.changeSourceBranchScript.help`)),1),T(`pre`,No,i(e.$t(`settings.changeSourceBranchScript.envHelp`)),1),h(N,{modelValue:Kl.value,"onUpdate:modelValue":a[87]||=e=>Kl.value=e,type:`textarea`,dark:``,outlined:``,"input-style":{minHeight:`400px`,maxHeight:`600px`},placeholder:e.$t(`settings.changeSourceBranchScript.placeholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])])):v(``,!0),A.value===`worktrees`?(l(),C(`div`,Po,[T(`div`,Fo,i(e.$t(`settings.worktreesTitle`)),1),T(`div`,Io,i(e.$t(`settings.worktreesHint`)),1),h(N,{ref_key:`globalWorktreesPathInput`,ref:Ql,modelValue:Zl.value,"onUpdate:modelValue":a[88]||=e=>Zl.value=e,label:e.$t(`settings.worktreesPathLabel`),dense:``,dark:``,outlined:``,placeholder:t(_e),rules:ju,"lazy-rules":``,class:`settings-input`},null,8,[`modelValue`,`label`,`placeholder`]),h(M,{modelValue:$l.value,"onUpdate:modelValue":a[89]||=e=>$l.value=e,label:e.$t(`settings.worktreesPrefixByProject`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption q-mt-sm`},null,8,[`modelValue`,`label`]),T(`div`,Lo,i(e.$t(`settings.worktreesPrefixByProjectHint`)),1),h(Ge,{dark:``,class:`q-my-md`}),T(`div`,Ro,[h(M,{modelValue:qe.value,"onUpdate:modelValue":a[90]||=e=>qe.value=e,label:e.$t(`settings.autoPurgeOnPrMerged`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`]),T(`div`,zo,i(e.$t(`settings.autoPurgeOnPrMergedHint`)),1)]),h(N,{modelValue:F.value,"onUpdate:modelValue":a[91]||=e=>F.value=e,modelModifiers:{number:!0},label:e.$t(`settings.autoLoopMaxRetries`),hint:e.$t(`settings.autoLoopMaxRetriesHint`),type:`number`,min:`1`,max:`20`,dense:``,dark:``,outlined:``,class:`settings-input q-mt-md`},null,8,[`modelValue`,`label`,`hint`]),h(N,{modelValue:et.value,"onUpdate:modelValue":a[92]||=e=>et.value=e,modelModifiers:{number:!0},label:e.$t(`settings.awaitingUserReminder`),hint:e.$t(`settings.awaitingUserReminderHint`),type:`number`,min:`0`,max:`1440`,dense:``,dark:``,outlined:``,class:`settings-input q-mt-md`},null,8,[`modelValue`,`label`,`hint`]),h(Ge,{dark:``,class:`q-my-md`}),T(`div`,Bo,[T(`div`,Vo,i(e.$t(`settings.retentionTitle`)),1),T(`div`,Ho,i(e.$t(`settings.retentionWarning`)),1),T(`div`,Uo,i(e.$t(`settings.retentionHint`)),1),h(N,{modelValue:at.value,"onUpdate:modelValue":a[93]||=e=>at.value=e,modelModifiers:{number:!0},label:e.$t(`settings.retentionDaysLabel`),hint:e.$t(`settings.retentionDaysHint`),type:`number`,min:`0`,max:`3650`,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`label`,`hint`]),h(N,{modelValue:Et.value,"onUpdate:modelValue":a[94]||=e=>Et.value=e,modelModifiers:{number:!0},label:e.$t(`settings.retentionKeepLabel`),hint:e.$t(`settings.retentionKeepHint`),type:`number`,min:`0`,max:`1000000`,dense:``,dark:``,outlined:``,class:`settings-input q-mt-md`},null,8,[`modelValue`,`label`,`hint`]),at.value===0?(l(),C(`div`,Wo,i(e.$t(`settings.retentionDisabledHint`)),1)):v(``,!0)]),h(nt,{dense:``,dark:``,icon:`help_outline`,label:e.$t(`settings.purgeDocsTitle`),class:`purge-docs q-mt-md rounded-borders`},{default:m(()=>[T(`div`,Go,[T(`div`,Ko,i(e.$t(`settings.purgeDocsRestoreTitle`)),1),T(`div`,qo,i(e.$t(`settings.purgeDocsRestoreIntro`)),1),T(`pre`,Jo,i(e.$t(`settings.purgeDocsRestoreCommands`)),1),T(`div`,Yo,i(e.$t(`settings.purgeDocsRestoreFootnote`)),1),T(`div`,Xo,i(e.$t(`settings.purgeDocsPermissionsTitle`)),1),T(`div`,Zo,i(e.$t(`settings.purgeDocsPermissionsIntro`)),1),T(`ul`,Qo,[T(`li`,null,i(e.$t(`settings.purgeDocsPermissionsDocker`)),1),T(`li`,null,i(e.$t(`settings.purgeDocsPermissionsAcl`)),1)]),T(`pre`,$o,i(e.$t(`settings.purgeDocsPermissionsAclCommand`)),1),T(`div`,es,i(e.$t(`settings.purgeDocsPermissionsFootnote`)),1),T(`div`,ts,i(e.$t(`settings.purgeDocsPermissionsRecoverTitle`)),1),T(`div`,ns,i(e.$t(`settings.purgeDocsPermissionsRecoverIntro`)),1),T(`div`,rs,i(e.$t(`settings.purgeDocsPermissionsRecoverAclIntro`)),1),T(`pre`,is,i(e.$t(`settings.purgeDocsPermissionsRecoverAclCommand`)),1),T(`div`,as,i(e.$t(`settings.purgeDocsPermissionsRecoverChownIntro`)),1),T(`pre`,os,i(e.$t(`settings.purgeDocsPermissionsRecoverChownCommand`)),1),T(`div`,ss,i(e.$t(`settings.purgeDocsPermissionsRecoverFootnote`)),1)])]),_:1},8,[`label`])])):v(``,!0),A.value===`general`?(l(),C(`div`,cs,[T(`div`,ls,i(e.$t(`settings.network.title`)),1),T(`div`,us,i(e.$t(`settings.network.hint`)),1),h(M,{"model-value":H.value.enabled,label:e.$t(`settings.network.enable`),dark:``,color:`primary`,"onUpdate:modelValue":Ft},null,8,[`model-value`,`label`]),Dt.value?(l(),_(yt,{key:0,class:`bg-amber-1 text-amber-9 q-mt-sm`,dense:``,rounded:``},{default:m(()=>[y(i(e.$t(`settings.network.restartRequired`)),1)]),_:1})):v(``,!0),H.value.enabled?(l(),C(`div`,ds,[h(M,{"model-value":H.value.behindProxy,label:e.$t(`settings.network.behindProxy`),dark:``,color:`primary`,"onUpdate:modelValue":It},null,8,[`model-value`,`label`]),T(`div`,fs,i(e.$t(`settings.network.behindProxyHint`)),1)])):v(``,!0),H.value.enabled&&H.value.token?(l(),C(w,{key:2},[T(`div`,ps,[T(`div`,ms,i(e.$t(`settings.network.token`)),1),h(N,{"model-value":H.value.token,readonly:``,dense:``,dark:``,outlined:``},{append:m(()=>[h(k,{flat:``,dense:``,icon:`content_copy`,title:e.$t(`settings.network.copy`),onClick:Rt},null,8,[`title`])]),_:1},8,[`model-value`]),h(k,{class:`q-mt-sm`,label:e.$t(`settings.network.regenerate`),color:`primary`,outline:``,dense:``,onClick:Lt},null,8,[`label`])]),T(`div`,hs,[T(`div`,gs,i(e.$t(`settings.network.urls`)),1),At.value.length===0?(l(),C(`div`,_s,i(e.$t(`settings.network.noUrls`)),1)):v(``,!0),(l(!0),C(w,null,D(At.value,e=>(l(),C(`div`,{key:e,class:`text-body2`},i(e),1))),128))]),Ot.value?(l(),C(`div`,vs,[T(`div`,ys,i(e.$t(`settings.network.scan`)),1),T(`img`,{src:Ot.value,alt:e.$t(`settings.network.scan`),width:`200`,height:`200`},null,8,bs)])):v(``,!0)],64)):v(``,!0),h(ln,{token:H.value.token,"network-enabled":H.value.enabled,"behind-proxy":H.value.behindProxy},null,8,[`token`,`network-enabled`,`behind-proxy`])])):v(``,!0),A.value===`export`?(l(),C(`div`,xs,[T(`div`,Ss,i(e.$t(`settings.shareTitle`)),1),T(`div`,Cs,i(e.$t(`settings.shareHint`)),1),T(`div`,ws,[h(k,{label:e.$t(`settings.exportConfig`),icon:`download`,"no-caps":``,outline:``,color:`kobo-2`,onClick:qd},null,8,[`label`]),h(k,{label:e.$t(`settings.importConfig`),icon:`upload`,"no-caps":``,outline:``,color:`kobo-2`,onClick:Jd},null,8,[`label`]),T(`input`,{ref_key:`importFileInput`,ref:Kd,type:`file`,accept:`application/json,.json`,style:{display:`none`},onChange:Yd},null,544)])])):v(``,!0)],512),[[re,me.value]]),A.value===`projects`?(l(),C(`div`,Ts,[T(`div`,Es,[T(`div`,Ds,[T(`div`,Os,[T(`div`,ks,[T(`div`,As,i(e.$t(`settings.configuredProjects`)),1)]),h(Ge,{dark:``}),h(P,{dark:``,dense:``,class:`q-py-xs`},{default:m(()=>[(l(!0),C(w,null,D(t(u).projects,(e,t)=>(l(),_(L,{key:e.path,clickable:``,active:X.value===t&&!Z.value,"active-class":`project-item--active`,class:`project-item q-mx-xs rounded-borders`,style:{"min-height":`40px`},onClick:e=>df(t)},{default:m(()=>[h(R,null,{default:m(()=>[h(tt,{class:`text-body2 text-kobo-1`},{default:m(()=>[y(i(ff(e)),1)]),_:2},1024),h(tt,{caption:``,class:`text-kobo-3 ellipsis`,style:{"font-size":`11px`,"font-family":`monospace`}},{default:m(()=>[y(i(e.path),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,[`active`,`onClick`]))),128))]),_:1}),t(u).projects.length===0&&!t(u).loading?(l(),C(`div`,js,i(e.$t(`settings.noProjects`)),1)):v(``,!0),h(Ge,{dark:``}),T(`div`,Ms,[h(k,{"data-tour":`settings-card-projects`,label:e.$t(`settings.addProject`),icon:`add`,"no-caps":``,flat:``,dense:``,class:`full-width`,color:`primary`,onClick:uf},null,8,[`label`])])])]),T(`div`,Ns,[T(`div`,Ps,[$.value||Z.value?(l(),C(w,{key:0},[T(`div`,Fs,[T(`div`,Is,i(Z.value?e.$t(`settings.newProject`):e.$t(`settings.editProject`)),1),h(B),Z.value?v(``,!0):(l(),_(k,{key:0,label:e.$t(`common.delete`),icon:`delete_outline`,"no-caps":``,flat:``,dense:``,size:`sm`,color:`red-5`,loading:qu.value,onClick:lf},null,8,[`label`,`loading`]))]),h(Ge,{dark:``,class:`q-mb-md`}),Z.value&&t(u).projects.length>0?(l(),C(`div`,Ls,[T(`div`,Rs,i(e.$t(`settings.copyFrom`)),1),h(I,{"model-value":Pu.value,options:Iu.value,"option-value":`value`,"option-label":`label`,"emit-value":``,"map-options":``,clearable:``,dense:``,dark:``,outlined:``,placeholder:e.$t(`settings.copyFromPlaceholder`),class:`settings-input`,"onUpdate:modelValue":zu},null,8,[`model-value`,`options`,`placeholder`]),T(`div`,zs,i(e.$t(`settings.copyFromHint`)),1)])):v(``,!0),T(`div`,Bs,[T(`div`,Vs,i(e.$t(`settings.projectGroup.identity`)),1),T(`div`,Hs,[T(`div`,Us,i(e.$t(`settings.projectPath`)),1),h(N,{modelValue:Q.value.path,"onUpdate:modelValue":a[96]||=e=>Q.value.path=e,dense:``,dark:``,outlined:``,readonly:!Z.value,placeholder:e.$t(`settings.projectPathPlaceholder`),class:n([`settings-input`,{"readonly-input":!Z.value}])},b({_:2},[Z.value?{name:`append`,fn:m(()=>[h(k,{flat:``,dense:``,round:``,size:`sm`,icon:`folder_open`,color:`kobo-2`,onClick:a[95]||=e=>Jl.value=!0},{default:m(()=>[h(V,null,{default:m(()=>[y(i(e.$t(`folderPicker.title`)),1)]),_:1})]),_:1})]),key:`0`}:void 0]),1032,[`modelValue`,`readonly`,`placeholder`,`class`])]),T(`div`,Ws,[T(`div`,Gs,i(e.$t(`settings.displayName`)),1),h(N,{modelValue:Q.value.displayName,"onUpdate:modelValue":a[97]||=e=>Q.value.displayName=e,dense:``,dark:``,outlined:``,placeholder:e.$t(`settings.displayNamePlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),T(`div`,null,[T(`div`,Ks,i(e.$t(`settings.projectColor`)),1),T(`div`,qs,[(l(!0),C(w,null,D(t(bt),e=>(l(),_(ot,{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)),h(k,{flat:``,dense:``,"no-caps":``,size:`xs`,label:e.$t(`settings.projectColorClear`),color:`kobo-2`,disable:!Q.value.color,onClick:a[98]||=e=>Q.value.color=null},null,8,[`label`,`disable`])]),T(`div`,Js,i(Q.value.color??e.$t(`settings.projectColorDefault`)),1)])]),T(`div`,Ys,[T(`div`,Xs,i(e.$t(`settings.projectGroup.defaults`)),1),T(`div`,Zs,[T(`div`,Qs,i(e.$t(`settings.defaultSourceBranch`)),1),h(I,{modelValue:Q.value.defaultSourceBranch,"onUpdate:modelValue":a[99]||=e=>Q.value.defaultSourceBranch=e,options:pf.value,dense:``,dark:``,outlined:``,"use-input":``,"emit-value":``,loading:Gu.value,class:`settings-input`,placeholder:`main`,onFilter:mf},{"no-option":m(()=>[h(L,null,{default:m(()=>[h(R,{class:`text-kobo-3 text-caption`},{default:m(()=>[y(i(Q.value.path.trim()?e.$t(`createPage.noBranches`):e.$t(`createPage.enterPath`)),1)]),_:1})]),_:1})]),_:1},8,[`modelValue`,`options`,`loading`])]),T(`div`,$s,[T(`div`,ec,i(e.$t(`settings.defaultModel.project`)),1),h(I,{modelValue:Q.value.defaultModel,"onUpdate:modelValue":a[100]||=e=>Q.value.defaultModel=e,options:_d.value,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])]),T(`div`,null,[T(`div`,tc,i(e.$t(`settings.forge`)),1),h(I,{modelValue:Q.value.forge,"onUpdate:modelValue":a[101]||=e=>Q.value.forge=e,options:vd.value,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])])]),T(`div`,nc,[T(`div`,rc,i(e.$t(`settings.projectGroup.prompts`)),1),T(`div`,ic,[T(`div`,ac,i(e.$t(`settings.prPromptTemplate.project`)),1),T(`div`,oc,i(t(E)(`settings.initialPrompt.inheritHint`)),1),h(N,{modelValue:Q.value.prPromptTemplate,"onUpdate:modelValue":a[102]||=e=>Q.value.prPromptTemplate=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:e.$t(`settings.prPromptPlaceholder.project`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),T(`div`,sc,[T(`div`,cc,i(e.$t(`settings.reviewPromptTemplate.project`)),1),T(`div`,lc,i(t(E)(`settings.initialPrompt.inheritHint`)),1),h(N,{modelValue:Q.value.reviewPromptTemplate,"onUpdate:modelValue":a[103]||=e=>Q.value.reviewPromptTemplate=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:e.$t(`settings.reviewPromptPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),T(`div`,uc,[T(`div`,dc,i(e.$t(`settings.ciFixPromptTemplate.project`)),1),T(`div`,fc,i(t(E)(`settings.initialPrompt.inheritHint`)),1),h(N,{modelValue:Q.value.ciFixPromptTemplate,"onUpdate:modelValue":a[104]||=e=>Q.value.ciFixPromptTemplate=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:e.$t(`settings.ciFixPromptPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),J.value?(l(),C(`div`,pc,[T(`div`,mc,i(t(E)(`settings.notionInitialPrompt.project`)),1),T(`div`,hc,i(t(E)(`settings.initialPrompt.inheritHint`)),1),h(N,{modelValue:Q.value.notionInitialPromptTemplate,"onUpdate:modelValue":a[105]||=e=>Q.value.notionInitialPromptTemplate=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])])):v(``,!0),Fl.value?(l(),C(`div`,gc,[T(`div`,_c,i(t(E)(`settings.sentryInitialPrompt.project`)),1),T(`div`,vc,i(t(E)(`settings.initialPrompt.inheritHint`)),1),h(N,{modelValue:Q.value.sentryInitialPromptTemplate,"onUpdate:modelValue":a[106]||=e=>Q.value.sentryInitialPromptTemplate=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])])):v(``,!0),T(`div`,yc,[T(`div`,bc,i(e.$t(`settings.gitConventions.project`)),1),T(`div`,xc,i(t(E)(`settings.initialPrompt.inheritHint`)),1),h(N,{modelValue:Q.value.gitConventions,"onUpdate:modelValue":a[107]||=e=>Q.value.gitConventions=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`140px`},placeholder:e.$t(`settings.gitConventionsEmpty`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),T(`div`,null,[T(`div`,Sc,i(e.$t(`settings.taskPromptTemplate`)),1),h(N,{modelValue:Q.value.taskPromptTemplate,"onUpdate:modelValue":a[108]||=e=>Q.value.taskPromptTemplate=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:e.$t(`settings.taskPromptTemplatePlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`]),T(`div`,Cc,i(e.$t(`settings.taskPromptTemplateHint`)),1)])]),T(`div`,wc,[T(`div`,Tc,i(e.$t(`settings.projectGroup.scripts`)),1),T(`div`,Ec,[T(`div`,Dc,i(e.$t(`settings.setupScript`)),1),T(`div`,Oc,i(t(E)(`settings.initialPrompt.inheritHint`)),1),h(N,{modelValue:Q.value.setupScript,"onUpdate:modelValue":a[109]||=e=>Q.value.setupScript=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:e.$t(`settings.setupScriptPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`]),T(`div`,kc,i(e.$t(`settings.setupScriptHint`)),1)]),T(`div`,Ac,[T(`div`,jc,i(e.$t(`settings.cleanupScript`)),1),T(`div`,Mc,i(t(E)(`settings.initialPrompt.inheritHint`)),1),h(N,{modelValue:Q.value.cleanupScript,"onUpdate:modelValue":a[110]||=e=>Q.value.cleanupScript=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:e.$t(`settings.cleanupScriptPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`]),T(`div`,Nc,i(e.$t(`settings.cleanupScriptMode`)),1),h(I,{modelValue:Q.value.cleanupScriptMode,"onUpdate:modelValue":a[111]||=e=>Q.value.cleanupScriptMode=e,options:Xl.value,"emit-value":``,"map-options":``,dense:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])]),T(`div`,null,[T(`div`,Pc,i(e.$t(`settings.archiveScript`)),1),T(`div`,Fc,i(t(E)(`settings.initialPrompt.inheritHint`)),1),h(N,{modelValue:Q.value.archiveScript,"onUpdate:modelValue":a[112]||=e=>Q.value.archiveScript=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:e.$t(`settings.archiveScriptPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),T(`div`,null,[T(`div`,Ic,i(e.$t(`settings.hook.sessionEndedTitle`)),1),T(`div`,Lc,i(t(E)(`settings.initialPrompt.inheritHint`)),1),h(N,{modelValue:Q.value.sessionEndedScript,"onUpdate:modelValue":a[113]||=e=>Q.value.sessionEndedScript=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:e.$t(`settings.hook.sessionEndedPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),T(`div`,null,[T(`div`,Rc,i(e.$t(`settings.hook.prMergedTitle`)),1),T(`div`,zc,i(t(E)(`settings.initialPrompt.inheritHint`)),1),h(N,{modelValue:Q.value.prMergedScript,"onUpdate:modelValue":a[114]||=e=>Q.value.prMergedScript=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:e.$t(`settings.hook.prMergedPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),T(`div`,null,[T(`div`,Bc,i(e.$t(`settings.hook.autoLoopDisabledTitle`)),1),T(`div`,Vc,i(t(E)(`settings.initialPrompt.inheritHint`)),1),h(N,{modelValue:Q.value.autoLoopDisabledScript,"onUpdate:modelValue":a[115]||=e=>Q.value.autoLoopDisabledScript=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:e.$t(`settings.hook.autoLoopDisabledPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),T(`div`,null,[T(`div`,Hc,[T(`div`,Uc,i(e.$t(`settings.changeSourceBranchScript`)),1),h(k,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`primary`,icon:`restart_alt`,label:e.$t(`settings.changeSourceBranchScript.resetDefault`),onClick:a[116]||=e=>ku(`project`)},null,8,[`label`])]),T(`div`,Wc,i(e.$t(`settings.changeSourceBranchScript.help`)),1),T(`pre`,Gc,i(e.$t(`settings.changeSourceBranchScript.envHelp`)),1),h(N,{modelValue:Q.value.changeSourceBranchScript,"onUpdate:modelValue":a[117]||=e=>Q.value.changeSourceBranchScript=e,type:`textarea`,outlined:``,"input-style":{minHeight:`400px`,maxHeight:`600px`},placeholder:e.$t(`settings.changeSourceBranchScript.placeholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])])]),T(`div`,Kc,[T(`div`,qc,i(e.$t(`settings.devServer`)),1),T(`div`,Jc,[T(`div`,Yc,i(e.$t(`settings.devServerStart`)),1),h(N,{modelValue:Q.value.devServer.startCommand,"onUpdate:modelValue":a[118]||=e=>Q.value.devServer.startCommand=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`60px`},placeholder:e.$t(`settings.devServerStartPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),T(`div`,null,[T(`div`,Xc,i(e.$t(`settings.devServerStop`)),1),h(N,{modelValue:Q.value.devServer.stopCommand,"onUpdate:modelValue":a[119]||=e=>Q.value.devServer.stopCommand=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`60px`},placeholder:e.$t(`settings.devServerStopPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])])]),T(`div`,Zc,[T(`div`,Qc,i(e.$t(`settings.e2e.title`)),1),T(`div`,$c,i(e.$t(`settings.e2e.helpText`)),1),h(I,{modelValue:Q.value.e2e.framework,"onUpdate:modelValue":a[120]||=e=>Q.value.e2e.framework=e,options:[{label:e.$t(`settings.e2e.frameworkNone`),value:``},{label:`Cypress`,value:`cypress`},{label:`Playwright`,value:`playwright`},{label:`Jest`,value:`jest`},{label:`Vitest`,value:`vitest`},{label:e.$t(`settings.e2e.frameworkOther`),value:`other`}],"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input q-mb-sm`,label:e.$t(`settings.e2e.framework`)},null,8,[`modelValue`,`options`,`label`]),Q.value.e2e.framework?(l(),C(w,{key:0},[h(I,{modelValue:Q.value.e2e.skill,"onUpdate:modelValue":a[121]||=e=>Q.value.e2e.skill=e,options:Vu.value,"use-input":``,"fill-input":``,"hide-selected":``,"hide-dropdown-icon":``,"input-debounce":`200`,"new-value-mode":`add-unique`,dense:``,dark:``,outlined:``,class:`settings-input q-mb-sm`,label:e.$t(`settings.e2e.skill`),placeholder:e.$t(`settings.e2e.skillPlaceholder`),onFilter:Uu},null,8,[`modelValue`,`options`,`label`,`placeholder`]),h(N,{modelValue:Q.value.e2e.prompt,"onUpdate:modelValue":a[122]||=e=>Q.value.e2e.prompt=e,type:`textarea`,autogrow:``,dense:``,dark:``,outlined:``,class:`settings-input mono-textarea`,label:e.$t(`settings.e2e.prompt`),placeholder:e.$t(`settings.e2e.promptPlaceholder`)},null,8,[`modelValue`,`label`,`placeholder`])],64)):v(``,!0)]),T(`div`,el,[T(`div`,tl,i(e.$t(`settings.finalization.title`)),1),T(`div`,nl,i(e.$t(`settings.finalization.helpText`)),1),h(N,{modelValue:Q.value.finalization.prompt,"onUpdate:modelValue":a[123]||=e=>Q.value.finalization.prompt=e,type:`textarea`,autogrow:``,rows:`4`,dense:``,dark:``,outlined:``,class:`settings-input mono-textarea q-mb-sm`,label:e.$t(`settings.finalization.prompt`),placeholder:e.$t(`settings.finalization.promptPlaceholder`)},null,8,[`modelValue`,`label`,`placeholder`])])],64)):(l(),C(`div`,rl,[h(O,{name:`folder_open`,size:`48px`,color:`kobo-3`,class:`q-mb-md`}),T(`div`,il,i(e.$t(`settings.selectProject`)),1)]))])])])])):v(``,!0),A.value===`templates`?(l(),C(`div`,al,[T(`div`,ol,[T(`div`,sl,[T(`div`,cl,i(e.$t(`templates.title`)),1),T(`div`,ll,[h(k,{flat:``,color:`kobo-2`,icon:`restart_alt`,label:e.$t(`templates.reloadDefaults`),dense:``,"no-caps":``,loading:td.value,onClick:sd},{default:m(()=>[h(V,null,{default:m(()=>[y(i(e.$t(`templates.reloadDefaultsHint`)),1)]),_:1})]),_:1},8,[`label`,`loading`]),h(k,{color:`primary`,icon:`add`,label:e.$t(`templates.newTemplate`),dense:``,"no-caps":``,onClick:id},null,8,[`label`])])]),h(Ge,{dark:``,class:`q-mb-md`}),nd.value.length===0?(l(),C(`div`,ul,i(e.$t(`templates.empty`)),1)):(l(),C(`div`,dl,[(l(!0),C(w,null,D(nd.value,n=>(l(),_(Ne,{key:n.slug,dark:``,flat:``,bordered:``,class:`q-pa-md template-card`},{default:m(()=>[T(`div`,fl,[T(`div`,pl,[T(`div`,ml,` /`+i(n.slug),1),T(`div`,hl,i(n.description),1)]),T(`div`,gl,[t(g).isDefault(n.slug)?(l(),_(k,{key:0,flat:``,dense:``,round:``,size:`sm`,icon:`settings_backup_restore`,color:`kobo-2`,onClick:e=>fd(n)},{default:m(()=>[h(V,null,{default:m(()=>[y(i(e.$t(`templates.resetToDefault`)),1)]),_:1})]),_:1},8,[`onClick`])):v(``,!0),h(k,{flat:``,dense:``,round:``,size:`sm`,icon:`edit`,color:`kobo-2`,onClick:e=>ad(n)},{default:m(()=>[h(V,null,{default:m(()=>[y(i(e.$t(`templates.editTemplate`)),1)]),_:1})]),_:1},8,[`onClick`]),h(k,{flat:``,dense:``,round:``,size:`sm`,icon:`delete`,color:`red-4`,onClick:e=>cd(n)},{default:m(()=>[h(V,null,{default:m(()=>[y(i(e.$t(`templates.deleteTemplate`)),1)]),_:1})]),_:1},8,[`onClick`])])])]),_:2},1024))),128))])),T(`div`,_l,i(e.$t(`templates.filePath`,{path:`~/.config/kobo/templates.json`})),1)])])):v(``,!0),A.value===`workspaceTemplates`?(l(),C(`div`,vl,[T(`div`,yl,[T(`div`,bl,i(e.$t(`workspaceTemplates.title`)),1),T(`div`,xl,i(e.$t(`workspaceTemplates.hint`)),1),t(x).templates.length===0?(l(),C(`div`,Sl,i(e.$t(`workspaceTemplates.empty`)),1)):(l(),_(P,{key:1,dark:``,separator:``},{default:m(()=>[(l(!0),C(w,null,D(t(x).templates,t=>(l(),_(nt,{key:t.id,dense:``,"header-class":`text-kobo-1`},{header:m(()=>[h(R,null,{default:m(()=>[h(tt,null,{default:m(()=>[y(i(t.name),1)]),_:2},1024),h(tt,{caption:``,class:`text-kobo-3`},{default:m(()=>[y(i(t.preset.projectPath||e.$t(`workspaceTemplates.anyProject`))+` · `+i(t.preset.engine??`-`)+` · `+i(t.preset.model??`-`)+` · `+i(ld(t.updatedAt)),1)]),_:2},1024)]),_:2},1024),h(R,{side:``},{default:m(()=>[T(`div`,Cl,[h(k,{flat:``,dense:``,round:``,size:`sm`,icon:`edit`,title:e.$t(`workspaceTemplates.rename`),onClick:oe(e=>ud(t.id,t.name),[`stop`])},null,8,[`title`,`onClick`]),h(k,{flat:``,dense:``,round:``,size:`sm`,icon:`delete`,color:`kobo-danger`,title:e.$t(`common.delete`),onClick:oe(e=>dd(t.id,t.name),[`stop`])},null,8,[`title`,`onClick`])])]),_:2},1024)]),default:m(()=>[h(Ne,{dark:``,flat:``,class:`settings-subcard q-pa-md`},{default:m(()=>[T(`pre`,wl,i(JSON.stringify(t.preset,null,2)),1)]),_:2},1024)]),_:2},1024))),128))]),_:1}))])])):v(``,!0)])]),h(ne,{name:`save-bar`},{default:m(()=>[zd.value?(l(),C(`div`,{key:0,class:n([`settings-savebar`,{"settings-savebar--full":t(ie)}])},[T(`span`,Tl,i(e.$t(`settings.unsavedChanges`)),1),h(k,{dense:``,"no-caps":``,unelevated:``,class:`settings-savebar__action`,loading:Bd.value,label:e.$t(`common.save`),onClick:Vd},null,8,[`loading`,`label`])],2)):v(``,!0)]),_:1})]),h(ke,{modelValue:Ju.value,"onUpdate:modelValue":a[127]||=e=>Ju.value=e,persistent:``},{default:m(()=>[h(Ne,{dark:``,style:{"min-width":`560px`,"max-width":`800px`,width:`80vw`}},{default:m(()=>[h(xe,null,{default:m(()=>[T(`div`,El,i(Yu.value===null?e.$t(`templates.newTemplate`):e.$t(`templates.editTemplate`)),1)]),_:1}),h(xe,{class:`q-gutter-md`},{default:m(()=>[h(N,{modelValue:Xu.value,"onUpdate:modelValue":a[124]||=e=>Xu.value=e,label:e.$t(`templates.slug`),hint:e.$t(`templates.slugHint`),dark:``,dense:``,prefix:`/`,disable:Yu.value!==null,rules:[t=>/^[a-z0-9][a-z0-9-]{0,63}$/.test(t)||e.$t(`templates.slugInvalid`)],"lazy-rules":``},null,8,[`modelValue`,`label`,`hint`,`disable`,`rules`]),h(N,{modelValue:Zu.value,"onUpdate:modelValue":a[125]||=e=>Zu.value=e,label:e.$t(`templates.description`),hint:e.$t(`templates.descriptionHint`),dark:``,dense:``,counter:``,maxlength:`120`,rules:[e=>e&&e.trim().length>0||``]},null,8,[`modelValue`,`label`,`hint`,`rules`]),h(N,{modelValue:Qu.value,"onUpdate:modelValue":a[126]||=e=>Qu.value=e,label:e.$t(`templates.content`),hint:e.$t(`templates.contentHint`),dark:``,dense:``,type:`textarea`,autogrow:``,counter:``,maxlength:`4096`,rules:[e=>e&&e.trim().length>0||``]},null,8,[`modelValue`,`label`,`hint`,`rules`]),h(nt,{dense:``,"dense-toggle":``,label:e.$t(`templates.availableVars`),"header-class":`text-kobo-3 text-caption q-pa-none`,style:{"font-size":`11px`}},{default:m(()=>[T(`div`,Dl,[(l(),C(w,null,D(rd,e=>T(`div`,{key:e,class:`text-kobo-2 q-mb-xs`},i(e),1)),64))])]),_:1},8,[`label`]),$u.value?(l(),C(`div`,Ol,i($u.value),1)):v(``,!0)]),_:1}),h(Le,{align:`right`},{default:m(()=>[p(h(k,{flat:``,label:e.$t(`common.cancel`)},null,8,[`label`]),[[st]]),h(k,{flat:``,color:`primary`,label:Yu.value===null?e.$t(`templates.create`):e.$t(`templates.save`),loading:ed.value,onClick:od},null,8,[`label`,`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),h(Kt,{modelValue:Jl.value,"onUpdate:modelValue":a[128]||=e=>Jl.value=e,"initial-path":Q.value.path,onSelect:Yl},null,8,[`modelValue`,`initial-path`])]),_:1},8,[`style-fn`]))}}),[[`__scopeId`,`data-v-0323585a`]]);export{Al as default,Mt as n,jt as t};
@@ -1 +0,0 @@
1
- import{S as e,j as t,ot as n,ut as r,v as i}from"./reactivity.esm-bundler-Bo9anJjg.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-CNFKm4ij.js";import{S as x,b as S,et as C,t as w,tt as T,y as E}from"./QBtn-DEdx_Y1V.js";import{a as D,i as O}from"./pinia-CTJ3OfP3.js";import{t as k}from"./use-id-wXd4c8FA.js";import{Et as A,W as j,_ as M,i as N,n as P,r as F,t as I,x as L,y as R}from"./index-BLd8DAzg.js";import{t as z}from"./QSelect-BbtD5Iks.js";import{a as B,i as V,n as H,r as U}from"./use-tours-CVn874kD.js";import{t as W}from"./TouchPan-BQ1cvzRC.js";import{t as G}from"./QPage-BXBw2Alx.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(t,{slots:n,emit:r}){let i=E(),o=O(t,i),c=e(null),u={before:e(null),after:e(null)},f=k(),p=g(()=>`q-splitter no-wrap ${t.horizontal?`q-splitter--horizontal column`:`q-splitter--vertical row`} q-splitter--${t.disable?`disabled`:`workable`}`+(o()?` q-splitter--dark`:``)),m=g(()=>t.horizontal?`height`:`width`),h=g(()=>t.reverse?`after`:`before`),_=g(()=>t.limits===void 0?t.unit===`%`?[10,90]:[50,1/0]:t.limits);function v(e){return(t.unit===`%`?e:Math.round(e))+t.unit}let y=g(()=>({[h.value]:{[m.value]:v(t.modelValue)}})),b,w,T,D,A;function j(e){if(e.isFirst){let e=c.value.getBoundingClientRect()[m.value];b=t.horizontal?`up`:`left`,w=t.unit===`%`?100:e,T=Math.min(w,_.value[1],Math.max(_.value[0],t.modelValue)),D=(t.reverse?-1:1)*(t.horizontal?1:i.lang.rtl?-1:1)*(t.unit===`%`?e===0?0:100/e:1),c.value.classList.add(`q-splitter--active`);return}if(e.isFinal){A!==t.modelValue&&r(`update:modelValue`,A),c.value.classList.remove(`q-splitter--active`);return}let n=T+D*(e.direction===b?-1:1)*e.distance[t.horizontal?`y`:`x`];A=Math.min(w,_.value[1],Math.max(_.value[0],n)),u[h.value].value.style[m.value]=v(A),t.emitImmediately&&t.modelValue!==A&&r(`update:modelValue`,A)}let M=g(()=>[[W,t.disable?void 0:j,void 0,{[t.horizontal?`vertical`:`horizontal`]:!0,prevent:!0,stop:!0,mouse:!0,mouseAllDir:!0}]]),N=g(()=>{let e={role:`separator`,"aria-orientation":t.horizontal?`horizontal`:`vertical`,"aria-label":t.separatorAriaLabel||i.lang.label.resize};if(t.disable)e[`aria-disabled`]=`true`;else{let n=_.value;e.tabindex=0,e[`aria-controls`]=f.value,e[`aria-valuemin`]=n[0],n[1]!==1/0&&(e[`aria-valuemax`]=n[1]),e[`aria-valuenow`]=Math.round(t.modelValue*100)/100}return e}),P=null;function F(e){let{keyCode:n}=e,a=t.horizontal?[38,40]:[37,39];if(n!==13&&n!==36&&n!==35&&!a.includes(n))return;C(e);let o=_.value,s=t.unit===`%`?100:c.value.getBoundingClientRect()[m.value],l;if(n===13)t.modelValue===o[0]?l=P===null?t.modelValue:P:(P=t.modelValue,l=o[0]);else if(n===36)l=o[0];else if(n===35)l=o[1];else{let e=(n===a[0]?-1:1)*(t.reverse?-1:1)*(t.horizontal?1:i.lang.rtl?-1:1);l=t.modelValue+e*(t.unit===`%`?1:10)}let u=Math.min(s,o[1],Math.max(o[0],l));u!==t.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(()=>t.modelValue,e=>{I(e,_.value)}),s(()=>t.limits,()=>{l(()=>{I(t.modelValue,_.value)})}),()=>{let e=[a(`div`,{ref:u.before,id:h.value===`before`?f.value:void 0,class:[`q-splitter__panel q-splitter__before`+(t.reverse?` col`:``),t.beforeClass],style:y.value.before},x(n.before)),a(`div`,{class:[`q-splitter__separator`,t.separatorClass],style:t.separatorStyle,...N.value,onKeydown:t.disable?void 0:F},[d(a(`div`,{class:`q-splitter__separator-area absolute-full`},x(n.separator)),M.value)]),a(`div`,{ref:u.after,id:h.value===`after`?f.value:void 0,class:[`q-splitter__panel q-splitter__after`+(t.reverse?``:` col`),t.afterClass],style:y.value.after},x(n.after))];return a(`div`,{class:p.value,ref:c},S(n.default,e))}}}),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(e){let a=j(),l=U(),d=I(),y=P(),{t:x}=A(),S=[`before`,`after`],C=i([``,``]),T=i([``,``]),E=[null,null],D=i(0),O=null;try{O=localStorage.getItem(`kobo:splitRatio`)}catch{}let k=i(R(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){E[e]=t}function Z(e){try{return E[e]?.contentWindow?.koboPane}catch{return}}async function re(e,t){D.value=e;let n=Z(e);n?(await n.navigate(t),Q()):T.value[e]||(C.value[e]=t,T.value[e]=M(t))}function Q(){for(let e of[0,1]){let t=Z(e);t?.ready()&&(C.value[e]=t.workspaceId()??``),E[e]&&document.activeElement===E[e]&&(D.value=e)}d.name===`split`&&[0,1].every(e=>!T.value[e]||Z(e)?.ready())&&L(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,T.value[n]=C.value[n]?M(C.value[n]):``)}},{immediate:!0});let{scheduleAutoRun:ae}=H(),$;return u(()=>{F(`split-panes`,()=>[0,1].some(e=>Z(e)?.hasUnsavedWork())),$=setInterval(Q,500),ae(`split`)}),o(()=>{N(`split-panes`),clearInterval($)}),(e,i)=>(c(),m(G,{class:`split-page`,"style-fn":t(K)},{default:f(()=>[v(`header`,J,[p(w,{flat:``,dense:``,"no-caps":``,label:e.$t(`layout.toggleWorkspaces`),onClick:i[0]||=e=>t(l).toggleLeft()},null,8,[`label`]),v(`strong`,null,r(e.$t(`split.title`)),1),p(V),p(w,{flat:``,dense:``,"no-caps":``,label:e.$t(`split.close`),onClick:i[1]||=e=>t(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:e.$q.screen.lt.md,class:`split-body`},h({_:2},[b(S,(t,i)=>({name:t,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:e.$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(e.$t(`split.recipient`,{name:W(i)})),1)]),T.value[i]?(c(),_(`iframe`,{key:0,ref:e=>X(i,e),src:T.value[i],title:e.$t(`split.recipient`,{name:W(i)}),class:`split-frame`,onLoad:Q},null,40,te)):(c(),_(`div`,ne,r(e.$t(`split.choose`)),1))],2)])}))]),1032,[`modelValue`,`horizontal`])]),_:1},8,[`style-fn`]))}}),[[`__scopeId`,`data-v-f921b7b1`]]);export{X as default};
@@ -1 +0,0 @@
1
- import{j as e,ot as t,ut as n,v as r}from"./reactivity.esm-bundler-Bo9anJjg.js";import{L as i,Y as a,_ as o,d as s,f as c,g as l,l as u,p as d,r as f,u as p,y as m,z as h}from"./runtime-core.esm-bundler-CNFKm4ij.js";import{l as g,pt as _,t as v,y}from"./QBtn-DEdx_Y1V.js";import{Et as b,G as x,J as S,W as C,Y as w}from"./index-BLd8DAzg.js";import{a as T}from"./use-tours-CVn874kD.js";import{t as E}from"./QTooltip-BDihn2aY.js";import{t as D}from"./formatters-Bl9zA7Ai.js";function O(e){let t=[],n=[],r=[],i=[];for(let a of e){if(a.status!==`COMPLETED`){n.push(a);continue}a.conclusion===`FAILURE`||a.conclusion===`CANCELLED`||a.conclusion===`TIMED_OUT`?t.push(a):a.conclusion===`SUCCESS`?r.push(a):i.push(a)}let a=(e,t)=>e.name.localeCompare(t.name);return t.sort(a),n.sort(a),r.sort(a),i.sort(a),{failed:t,pending:n,passed:r,skipped:i}}var k={"awaiting-user":{kind:`awaiting-user`,icon:`help`,color:`amber-5`},error:{kind:`error`,icon:`warning`,color:`red-5`},quota:{kind:`quota`,icon:`warning`,color:`red-5`}};function A(e,t,n){let r=[];if(e.status===`quota`&&n===`transient`)r.push({kind:`quota-retry`,icon:`autorenew`,color:`amber-5`});else{let t=k[e.status];t&&r.push(t)}return t&&w(t)&&!j(e.prCiFailureDismissedAt,t)&&r.push({kind:`ci-failed`,icon:`cancel`,color:`red-5`}),t&&S(t)&&!j(e.prChangesDismissedAt,t)&&r.push({kind:`changes-requested`,icon:`rate_review`,color:`red-5`}),t?.readyToMerge&&!x(e.status)&&r.push({kind:`ready-to-merge`,icon:`check_circle`,color:`green-5`}),r}function j(e,t){return e?t.updatedAt<=e:!1}var M={key:0,class:`text-caption q-mt-xs`},N={key:1,class:`q-ml-xs text-kobo-3`},P={key:1,class:`row items-center no-wrap ci-recap`},F={class:`text-amber-5`},I={class:`text-kobo-2`},L={class:`text-kobo-3`},R={class:`text-red-5`},z={class:`text-weight-medium text-amber-4 q-mb-xs row items-center no-wrap`},B={key:0,class:`text-red-4 q-mt-xs`},V={class:`text-kobo-2 q-mt-xs`},H=T(m({__name:`WorkspaceAttentionLabels`,props:{workspace:{},ciRecapOnly:{type:Boolean}},setup(m){let x=m,S=C(),w=y(),{t:T}=b(),{timeAgo:k}=D(),j=u(()=>A(x.workspace,S.prSnapshots[x.workspace.id],S.pendingQuotaBackoffs[x.workspace.id]?.reason===`transient`?`transient`:`quota`)),H=u(()=>O(S.prSnapshots[x.workspace.id]?.ci.checks??[])),U=u(()=>H.value.pending.length>0),W=r(!1);async function G(){if(!W.value){W.value=!0;try{let e=await fetch(`/api/workspaces/${x.workspace.id}/start-ci-fix`,{method:`POST`}),t=await e.json().catch(()=>({}));if(!e.ok){w.notify({type:`negative`,message:t.error??T(`tools.fixCiFailed`),position:`top`,timeout:6e3});return}w.notify({type:`positive`,message:T(`tools.fixCiLaunched`),position:`top`,timeout:3e3})}catch(e){let t=e instanceof Error?e.message:T(`tools.fixCiFailed`);w.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{W.value=!1}}}function K(e){switch(e){case`awaiting-user`:return T(`workspaceStatus.awaitingUser`);case`error`:return T(`workspaceStatus.error`);case`quota`:return T(`workspaceStatus.quota`);case`quota-retry`:return T(`workspaceStatus.retrying`);case`ci-failed`:return T(`workspaceList.attentionCiFailed`);case`changes-requested`:return T(`workspaceList.attentionChangesRequested`);case`ready-to-merge`:return T(`workspaceList.attentionReadyToMerge`)}}return(r,u)=>!m.ciRecapOnly&&j.value.length>0||U.value?(i(),d(`div`,M,[m.ciRecapOnly?c(``,!0):(i(!0),d(f,{key:0},h(j.value,(r,u)=>(i(),d(`div`,{key:r.kind,class:`row items-center no-wrap`},[o(g,{name:r.icon,size:`xs`,color:r.color,class:`q-mr-xs`},null,8,[`name`,`color`]),p(`span`,{class:t(`text-${r.color}`)},n(K(r.kind)),3),r.kind===`ci-failed`&&!m.workspace.archivedAt?(i(),s(v,{key:0,flat:``,dense:``,round:``,size:`xs`,color:`red-4`,icon:`build_circle`,class:`q-ml-xs`,loading:W.value,disable:W.value,onClick:_(G,[`stop`])},{default:a(()=>[o(E,null,{default:a(()=>[l(n(e(T)(`tools.fixCiTooltip`)),1)]),_:1})]),_:1},8,[`loading`,`disable`])):c(``,!0),u===j.value.length-1?(i(),d(`span`,N,` · `+n(e(k)(m.workspace.updatedAt)),1)):c(``,!0)]))),128)),U.value?(i(),d(`div`,P,[o(g,{name:`hourglass_empty`,size:`12px`,color:`amber-5`,class:`q-mr-xs`}),p(`span`,F,n(e(T)(`git.pr.ci.pendingCount`,{n:H.value.pending.length})),1),u[2]||=p(`span`,{class:`q-mx-xs text-kobo-3`},`·`,-1),o(g,{name:`check_circle`,size:`12px`,color:`green-5`,class:`q-mr-xs`}),p(`span`,I,n(H.value.passed.length),1),H.value.skipped.length>0?(i(),d(f,{key:0},[u[0]||=p(`span`,{class:`q-mx-xs text-kobo-3`},`·`,-1),o(g,{name:`remove_circle_outline`,size:`12px`,color:`kobo-3`,class:`q-mr-xs`}),p(`span`,L,n(H.value.skipped.length),1)],64)):c(``,!0),H.value.failed.length>0?(i(),d(f,{key:1},[u[1]||=p(`span`,{class:`q-mx-xs text-kobo-3`},`·`,-1),o(g,{name:`cancel`,size:`12px`,color:`red-5`,class:`q-mr-xs`}),p(`span`,R,n(H.value.failed.length),1)],64)):c(``,!0),o(E,{anchor:`bottom start`,self:`top start`,class:`ci-recap-tooltip`},{default:a(()=>[p(`div`,z,[o(g,{name:`hourglass_empty`,size:`13px`,class:`q-mr-xs`}),l(` `+n(e(T)(`git.pr.ci.pendingCount`,{n:H.value.pending.length})),1)]),(i(!0),d(f,null,h(H.value.pending,e=>(i(),d(`div`,{key:e.name,class:`ci-recap-tooltip__job`},n(e.name),1))),128)),H.value.failed.length>0?(i(),d(`div`,B,n(e(T)(`git.pr.ci.failedCount`,{n:H.value.failed.length})),1)):c(``,!0),p(`div`,V,n(e(T)(`git.pr.ci.passedCount`,{n:H.value.passed.length}))+` · `+n(e(T)(`git.pr.ci.skippedCount`,{n:H.value.skipped.length})),1)]),_:1})])):c(``,!0)])):c(``,!0)}}),[[`__scopeId`,`data-v-e8372f09`]]);export{A as n,O as r,H as t};