@loicngr/kobo 1.7.22 → 1.7.24

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 (64) hide show
  1. package/AGENTS.md +11 -1
  2. package/CHANGELOG.md +14 -0
  3. package/README.md +31 -0
  4. package/dist/server/db/migrations.js +16 -0
  5. package/dist/server/db/schema.js +2 -0
  6. package/dist/server/routes/workspaces.js +40 -3
  7. package/dist/server/services/pr-watcher-service.js +40 -1
  8. package/dist/server/services/settings-service.js +11 -0
  9. package/dist/server/services/templates-service.js +32 -0
  10. package/dist/server/services/workspace-service.js +22 -0
  11. package/dist/server/services/worktree-purge-service.js +116 -0
  12. package/package.json +1 -1
  13. package/src/client/dist/spa/assets/{ActivityFeed-B73SoxPh.js → ActivityFeed-Dhj2Y5CQ.js} +1 -1
  14. package/src/client/dist/spa/assets/{ChangelogPage-DUU0PIjz.js → ChangelogPage-BqCf7Tdk.js} +1 -1
  15. package/src/client/dist/spa/assets/{ClosePopup-BG4U_b73.js → ClosePopup-0MWohgml.js} +1 -1
  16. package/src/client/dist/spa/assets/{CreatePage-CEDQHhlt.js → CreatePage-DhhwW2iK.js} +1 -1
  17. package/src/client/dist/spa/assets/{DiffViewer-DzUan5hw.js → DiffViewer-mgpaPemQ.js} +3 -3
  18. package/src/client/dist/spa/assets/{HealthPage-CywUBkCD.js → HealthPage-Dl-UGLDD.js} +1 -1
  19. package/src/client/dist/spa/assets/{MainLayout-BNlzhFX_.js → MainLayout-BiDZ_U51.js} +3 -3
  20. package/src/client/dist/spa/assets/{MainLayout-BxbC5qfx.css → MainLayout-D2fdfOct.css} +1 -1
  21. package/src/client/dist/spa/assets/{QExpansionItem-C3koMJhv.js → QExpansionItem-CiBP4NiY.js} +1 -1
  22. package/src/client/dist/spa/assets/{QMenu-tPOTRRE_.js → QMenu-Yx1QEIHC.js} +1 -1
  23. package/src/client/dist/spa/assets/{QScrollArea-HmkWoNcD.js → QScrollArea-CZVgBUBp.js} +1 -1
  24. package/src/client/dist/spa/assets/{QScrollObserver-mISyeTiK.js → QScrollObserver-CAlbLisQ.js} +1 -1
  25. package/src/client/dist/spa/assets/{QTooltip-CxkTFl9W.js → QTooltip-CwBZU_bs.js} +1 -1
  26. package/src/client/dist/spa/assets/{SearchPage-DaLCy-Tl.js → SearchPage-DFyeKlPZ.js} +1 -1
  27. package/src/client/dist/spa/assets/SettingsPage-C64_E1oJ.css +1 -0
  28. package/src/client/dist/spa/assets/SettingsPage-CWzjJmRK.js +9 -0
  29. package/src/client/dist/spa/assets/{TouchPan-DWCVQZB9.js → TouchPan-DXGxNMLq.js} +1 -1
  30. package/src/client/dist/spa/assets/{WorkspacePage-iHGFGSo5.css → WorkspacePage-36QGRRCt.css} +1 -1
  31. package/src/client/dist/spa/assets/{WorkspacePage-DV1_gaE1.js → WorkspacePage-Do8yOxLh.js} +3 -3
  32. package/src/client/dist/spa/assets/{build-path-tree-CWS7OK1y.js → build-path-tree-BKx2q92A.js} +1 -1
  33. package/src/client/dist/spa/assets/{cssMode-gWXl0t1v.js → cssMode-C_8uTD04.js} +1 -1
  34. package/src/client/dist/spa/assets/{editor.api-DpdJ2VyL.js → editor.api-BLN2wAE3.js} +1 -1
  35. package/src/client/dist/spa/assets/{editor.main-BbBPm6hz.js → editor.main-DJVMM2i4.js} +3 -3
  36. package/src/client/dist/spa/assets/{engineFeatures-CrrLAzmw.js → engineFeatures-DcjAE8bG.js} +1 -1
  37. package/src/client/dist/spa/assets/{expand-template-C-j25C1U.js → expand-template-DijLIEI5.js} +1 -1
  38. package/src/client/dist/spa/assets/{freemarker2-c2I2xP4t.js → freemarker2-g6EYTs3n.js} +1 -1
  39. package/src/client/dist/spa/assets/{handlebars-DdGipD5f.js → handlebars-Cv6y1teP.js} +1 -1
  40. package/src/client/dist/spa/assets/{html-C44mULGc.js → html-Bc4U-abP.js} +1 -1
  41. package/src/client/dist/spa/assets/{htmlMode-DCg3M8QF.js → htmlMode-BwFjeo24.js} +1 -1
  42. package/src/client/dist/spa/assets/i18n-PViX03Cu.js +1 -0
  43. package/src/client/dist/spa/assets/index-DnKXe7D-.js +82 -0
  44. package/src/client/dist/spa/assets/{javascript-CE0OdK4f.js → javascript-Eczqe8bD.js} +1 -1
  45. package/src/client/dist/spa/assets/{jsonMode-D4h7-bRc.js → jsonMode-BnyadzU0.js} +1 -1
  46. package/src/client/dist/spa/assets/{kobo-commands-CvhobBu_.js → kobo-commands-DRDkhOO8.js} +1 -1
  47. package/src/client/dist/spa/assets/{liquid-PjQMywNm.js → liquid-DwRAzAaj.js} +1 -1
  48. package/src/client/dist/spa/assets/{mdx-DFGLZOLU.js → mdx-CFl7wmEL.js} +1 -1
  49. package/src/client/dist/spa/assets/{monaco.contribution-D-j1tvz2.js → monaco.contribution--Qz8ObQD.js} +2 -2
  50. package/src/client/dist/spa/assets/{notifications-Dq_CVZlr.js → notifications-l1Pxijve.js} +1 -1
  51. package/src/client/dist/spa/assets/{permissionModes-Bt3HMECq.js → permissionModes-BT5h2RfC.js} +1 -1
  52. package/src/client/dist/spa/assets/{python-DYXZ9PBg.js → python-Ddo5HdBd.js} +1 -1
  53. package/src/client/dist/spa/assets/{razor-CuwVAV-Y.js → razor-CvJeuccY.js} +1 -1
  54. package/src/client/dist/spa/assets/{render-chat-markdown-D5id7lkF.js → render-chat-markdown-CODpqdnw.js} +1 -1
  55. package/src/client/dist/spa/assets/{tsMode-CUhQNBlR.js → tsMode-fdyRUXnV.js} +1 -1
  56. package/src/client/dist/spa/assets/{typescript-IVMaFcQM.js → typescript-BAEZzsZ6.js} +1 -1
  57. package/src/client/dist/spa/assets/{use-onboarding-dapbWk0g.js → use-onboarding-CiVkuuHv.js} +2 -2
  58. package/src/client/dist/spa/assets/{xml-BQ1-pFw9.js → xml-DCrp93GN.js} +1 -1
  59. package/src/client/dist/spa/assets/{yaml-CylVyFXK.js → yaml-tdhnQ3xr.js} +1 -1
  60. package/src/client/dist/spa/index.html +2 -2
  61. package/src/client/dist/spa/assets/SettingsPage-D6AWEFEO.css +0 -1
  62. package/src/client/dist/spa/assets/SettingsPage-DlNl0TLR.js +0 -9
  63. package/src/client/dist/spa/assets/i18n-C1Tdl-zt.js +0 -1
  64. package/src/client/dist/spa/assets/index-djIkvHo7.js +0 -52
@@ -1,9 +0,0 @@
1
- import{A as e,C as t,D as n,G as r,I as i,K as a,N as o,P as s,R as c,S as l,St as u,W as ee,_ as d,at as f,b as p,bt as m,d as h,et as g,f as _,g as v,h as y,l as b,p as x,r as S,u as C,y as w,yt as T}from"./runtime-core.esm-bundler-D_RRiKBh.js";import{H as te,L as ne,N as re,P as E,R as ie,V as D,i as ae,k as oe,l as se,n as ce,r as le,t as O}from"./QIcon-BmEX2rXO.js";import{r as ue}from"./use-id-BCnfiBjU.js";import{I as k,L as de,R as A,a as fe,c as pe,i as me,l as he,n as ge,o as _e,s as ve}from"./notifications-Dq_CVZlr.js";import{n as ye,r as be}from"./QRadio-M9mC5jZy.js";import{c as xe,t as j}from"./QBtn-CoU-UC_j.js";import{n as Se}from"./vue-i18n-Cq-KgjJC.js";import{i as Ce,o as M,r as we,t as N}from"./QInput-D0t39uK_.js";import{t as Te}from"./QCheckbox-Cq2STfHp.js";import{t as P}from"./QToggle-DBzTAIbK.js";import{_ as Ee,b as De,g as Oe,t as ke,x as Ae}from"./index-djIkvHo7.js";import{n as F,t as I}from"./QItemSection-DRg-QuAD.js";import{t as L}from"./QItemLabel-Btqw0P7M.js";import{d as R,t as je}from"./QTooltip-CxkTFl9W.js";import{t as Me}from"./QExpansionItem-C3koMJhv.js";import{t as z}from"./TouchPan-DWCVQZB9.js";import{t as B}from"./_plugin-vue_export-helper-r4mAJOHR.js";import{t as V}from"./QSpace-Crcx82On.js";import{t as Ne}from"./QList-CRYZxnPD.js";import{t as H}from"./QMenu-tPOTRRE_.js";import{t as Pe}from"./ClosePopup-BG4U_b73.js";import{t as Fe}from"./use-quasar-q6dh7QVJ.js";import{a as Ie,i as Le,n as Re,r as ze,t as Be}from"./skill-suite-prompts-8f_JW79j.js";import{t as Ve}from"./QChip-D2TVel5I.js";import{n as He,t as Ue}from"./use-onboarding-dapbWk0g.js";import{t as We}from"./QPage-3-ah4oor.js";import{a as U,n as Ge,r as Ke,t as qe}from"./permissionModes-Bt3HMECq.js";import{t as Je}from"./QBanner-C_TvxtXi.js";var Ye=`q-slider__marker-labels`,Xe=e=>({value:e}),W=({marker:e})=>t(`div`,{key:e.value,style:e.style,class:e.classes},e.label),Ze=[34,37,40,33,39,38],Qe={...le,...M,min:{type:Number,default:0},max:{type:Number,default:100},innerMin:Number,innerMax:Number,step:{type:Number,default:1,validator:e=>e>=0},snap:Boolean,vertical:Boolean,reverse:Boolean,color:String,markerLabelsClass:String,label:Boolean,labelColor:String,labelTextColor:String,labelAlways:Boolean,switchLabelSide:Boolean,markers:[Boolean,Number],markerLabels:[Boolean,Array,Object,Function],switchMarkerLabelsSide:Boolean,trackImg:String,trackColor:String,innerTrackImg:String,innerTrackColor:String,selectionColor:String,selectionImg:String,thumbSize:{type:String,default:`20px`},trackSize:{type:String,default:`4px`},disable:Boolean,readonly:Boolean,dense:Boolean,tabindex:[String,Number],thumbColor:String,thumbPath:{type:String,default:`M 4, 10 a 6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0`}},$e=[`pan`,`update:modelValue`,`change`];function et({updateValue:n,updatePosition:r,getDragging:i,formAttrs:a}){let{props:o,emit:s,slots:c,proxy:{$q:l}}=p(),u=ce(o,l),ee=Ce(a),d=g(!1),f=g(!1),m=g(!1),h=g(!1),_=b(()=>o.vertical===!0?`--v`:`--h`),v=b(()=>`-`+(o.switchLabelSide===!0?`switched`:`standard`)),y=b(()=>o.vertical===!0?o.reverse===!0:o.reverse!==(l.lang.rtl===!0)),x=b(()=>isNaN(o.innerMin)===!0||o.innerMin<o.min?o.min:o.innerMin),S=b(()=>isNaN(o.innerMax)===!0||o.innerMax>o.max?o.max:o.innerMax),C=b(()=>o.disable!==!0&&o.readonly!==!0&&x.value<S.value),w=b(()=>{if(o.step===0)return e=>e;let e=(String(o.step).trim().split(`.`)[1]||``).length;return t=>parseFloat(t.toFixed(e))}),T=b(()=>o.step===0?1:o.step),te=b(()=>C.value===!0?o.tabindex||0:-1),ne=b(()=>o.max-o.min),re=b(()=>S.value-x.value),E=b(()=>N(x.value)),ie=b(()=>N(S.value)),D=b(()=>o.vertical===!0?y.value===!0?`bottom`:`top`:y.value===!0?`right`:`left`),se=b(()=>o.vertical===!0?`height`:`width`),le=b(()=>o.vertical===!0?`width`:`height`),O=b(()=>o.vertical===!0?`vertical`:`horizontal`),ue=b(()=>{let e={role:`slider`,"aria-valuemin":x.value,"aria-valuemax":S.value,"aria-orientation":O.value,"data-step":o.step};return o.disable===!0?e[`aria-disabled`]=`true`:o.readonly===!0&&(e[`aria-readonly`]=`true`),e}),k=b(()=>`q-slider q-slider${_.value} q-slider--${d.value===!0?``:`in`}active inline no-wrap `+(o.vertical===!0?`row`:`column`)+(o.disable===!0?` disabled`:` q-slider--enabled`+(C.value===!0?` q-slider--editable`:``))+(m.value===`both`?` q-slider--focus`:``)+(o.label||o.labelAlways===!0?` q-slider--label`:``)+(o.labelAlways===!0?` q-slider--label-always`:``)+(u.value===!0?` q-slider--dark`:``)+(o.dense===!0?` q-slider--dense q-slider--dense`+_.value:``));function fe(e){let t=`q-slider__`+e;return`${t} ${t}${_.value} ${t}${_.value}${v.value}`}function pe(e){let t=`q-slider__`+e;return`${t} ${t}${_.value}`}let me=b(()=>{let e=o.selectionColor||o.color;return`q-slider__selection absolute`+(e===void 0?``:` text-${e}`)}),he=b(()=>pe(`markers`)+` absolute overflow-hidden`),ge=b(()=>pe(`track-container`)),_e=b(()=>fe(`pin`)),ve=b(()=>fe(`label`)),ye=b(()=>fe(`text-container`)),be=b(()=>fe(`marker-labels-container`)+(o.markerLabelsClass===void 0?``:` ${o.markerLabelsClass}`)),xe=b(()=>`q-slider__track relative-position no-outline`+(o.trackColor===void 0?``:` bg-${o.trackColor}`)),j=b(()=>{let e={[le.value]:o.trackSize};return o.trackImg!==void 0&&(e.backgroundImage=`url(${o.trackImg}) !important`),e}),Se=b(()=>`q-slider__inner absolute`+(o.innerTrackColor===void 0?``:` bg-${o.innerTrackColor}`)),M=b(()=>{let e=ie.value-E.value,t={[D.value]:`${100*E.value}%`,[se.value]:e===0?`2px`:`${100*e}%`};return o.innerTrackImg!==void 0&&(t.backgroundImage=`url(${o.innerTrackImg}) !important`),t});function we(e){let{min:t,max:n,step:r}=o,i=t+e*(n-t);if(r>0){let e=(i-x.value)%r;i+=(Math.abs(e)>=r/2?(e<0?-1:1)*r:0)-e}return i=w.value(i),R(i,x.value,S.value)}function N(e){return ne.value===0?0:(e-o.min)/ne.value}function Te(e,t){let n=oe(e),r=o.vertical===!0?R((n.top-t.top)/t.height,0,1):R((n.left-t.left)/t.width,0,1);return R(y.value===!0?1-r:r,E.value,ie.value)}let P=b(()=>de(o.markers)===!0?o.markers:T.value),Ee=b(()=>{let e=[],t=P.value,n=o.max,r=o.min;do e.push(r),r+=t;while(r<n);return e.push(n),e}),De=b(()=>{let e=` ${Ye}${_.value}-`;return`q-slider__marker-labels${e}${o.switchMarkerLabelsSide===!0?`switched`:`standard`}${e}${y.value===!0?`rtl`:`ltr`}`}),Oe=b(()=>o.markerLabels===!1?null:F(o.markerLabels).map((e,t)=>({index:t,value:e.value,label:e.label||e.value,classes:De.value+(e.classes===void 0?``:` `+e.classes),style:{...I(e.value),...e.style||{}}}))),ke=b(()=>({markerList:Oe.value,markerMap:L.value,classes:De.value,getStyle:I})),Ae=b(()=>{let e=re.value===0?`2px`:100*P.value/re.value;return{...M.value,backgroundSize:o.vertical===!0?`2px ${e}%`:`${e}% 2px`}});function F(e){if(e===!1)return null;if(e===!0)return Ee.value.map(Xe);if(typeof e==`function`)return Ee.value.map(t=>{let n=e(t);return A(n)===!0?{...n,value:t}:{value:t,label:n}});let t=({value:e})=>e>=o.min&&e<=o.max;return Array.isArray(e)===!0?e.map(e=>A(e)===!0?e:{value:e}).filter(t):Object.keys(e).map(t=>{let n=e[t],r=Number(t);return A(n)===!0?{...n,value:r}:{value:r,label:n}}).filter(t)}function I(e){return{[D.value]:`${100*(e-o.min)/ne.value}%`}}let L=b(()=>{if(o.markerLabels===!1)return null;let e={};return Oe.value.forEach(t=>{e[t.value]=t}),e});function je(){if(c[`marker-label-group`]!==void 0)return c[`marker-label-group`](ke.value);let e=c[`marker-label`]||W;return Oe.value.map(t=>e({marker:t,...ke.value}))}let Me=b(()=>[[z,B,void 0,{[O.value]:!0,prevent:!0,stop:!0,mouse:!0,mouseAllDir:!0}]]);function B(e){e.isFinal===!0?(h.value!==void 0&&(r(e.evt),e.touch===!0&&n(!0),h.value=void 0,s(`pan`,`end`)),d.value=!1,m.value=!1):e.isFirst===!0?(h.value=i(e.evt),r(e.evt),n(),d.value=!0,s(`pan`,`start`)):(r(e.evt),n())}function V(){m.value=!1}function Ne(e){r(e,i(e)),n(),f.value=!0,d.value=!0,document.addEventListener(`mouseup`,H,!0)}function H(){f.value=!1,d.value=!1,n(!0),V(),document.removeEventListener(`mouseup`,H,!0)}function Pe(e){r(e,i(e)),n(!0)}function Fe(e){Ze.includes(e.keyCode)&&n(!0)}function Ie(e){if(o.vertical===!0)return null;let t=l.lang.rtl===o.reverse?e:1-e;return{transform:`translateX(calc(${2*t-1} * ${o.thumbSize} / 2 + ${50-100*t}%))`}}function Le(e){let n=b(()=>f.value===!1&&(m.value===e.focusValue||m.value===`both`)?` q-slider--focus`:``),r=b(()=>`q-slider__thumb q-slider__thumb${_.value} q-slider__thumb${_.value}-${y.value===!0?`rtl`:`ltr`} absolute non-selectable`+n.value+(e.thumbColor.value===void 0?``:` text-${e.thumbColor.value}`)),i=b(()=>({width:o.thumbSize,height:o.thumbSize,[D.value]:`${100*e.ratio.value}%`,zIndex:m.value===e.focusValue?2:void 0})),a=b(()=>e.labelColor.value===void 0?``:` text-${e.labelColor.value}`),s=b(()=>Ie(e.ratio.value)),c=b(()=>`q-slider__text`+(e.labelTextColor.value===void 0?``:` text-${e.labelTextColor.value}`));return()=>{let n=[t(`svg`,{class:`q-slider__thumb-shape absolute-full`,viewBox:`0 0 20 20`,"aria-hidden":`true`},[t(`path`,{d:o.thumbPath})]),t(`div`,{class:`q-slider__focus-ring fit`})];return(o.label===!0||o.labelAlways===!0)&&(n.push(t(`div`,{class:_e.value+` absolute fit no-pointer-events`+a.value},[t(`div`,{class:ve.value,style:{minWidth:o.thumbSize}},[t(`div`,{class:ye.value,style:s.value},[t(`span`,{class:c.value},e.label.value)])])])),o.name!==void 0&&o.disable!==!0&&ee(n,`push`)),t(`div`,{class:r.value,style:i.value,...e.getNodeData()},n)}}function Re(e,n,r,i){let a=[];o.innerTrackColor!==`transparent`&&a.push(t(`div`,{key:`inner`,class:Se.value,style:M.value})),o.selectionColor!==`transparent`&&a.push(t(`div`,{key:`selection`,class:me.value,style:e.value})),o.markers!==!1&&a.push(t(`div`,{key:`marker`,class:he.value,style:Ae.value})),i(a);let s=[ae(`div`,{key:`trackC`,class:ge.value,tabindex:n.value,...r.value},[t(`div`,{class:xe.value,style:j.value},a)],`slide`,C.value,()=>Me.value)];return o.markerLabels!==!1&&s[o.switchMarkerLabelsSide===!0?`unshift`:`push`](t(`div`,{key:`markerL`,class:be.value},je())),s}return e(()=>{document.removeEventListener(`mouseup`,H,!0)}),{state:{active:d,focus:m,preventFocus:f,dragging:h,editable:C,classes:k,tabindex:te,attributes:ue,roundValueFn:w,keyStep:T,trackLen:ne,innerMin:x,innerMinRatio:E,innerMax:S,innerMaxRatio:ie,positionProp:D,sizeProp:se,isReversed:y},methods:{onActivate:Ne,onMobileClick:Pe,onBlur:V,onKeyup:Fe,getContent:Re,getThumbRenderFn:Le,convertRatioToModel:we,convertModelToRatio:N,getDraggingRatio:Te}}}var tt=()=>({}),nt=E({name:`QSlider`,props:{...Qe,modelValue:{required:!0,default:null,validator:e=>typeof e==`number`||e===null},labelValue:[String,Number]},emits:$e,setup(e,{emit:n}){let{proxy:{$q:r}}=p(),{state:i,methods:a}=et({updateValue:_,updatePosition:y,getDragging:v,formAttrs:we(e)}),o=g(null),s=g(0),c=g(0);function l(){c.value=e.modelValue===null?i.innerMin.value:R(e.modelValue,i.innerMin.value,i.innerMax.value)}ee(()=>`${e.modelValue}|${i.innerMin.value}|${i.innerMax.value}`,l),l();let u=b(()=>a.convertModelToRatio(c.value)),d=b(()=>i.active.value===!0?s.value:u.value),f=b(()=>{let t={[i.positionProp.value]:`${100*i.innerMinRatio.value}%`,[i.sizeProp.value]:`${100*(d.value-i.innerMinRatio.value)}%`};return e.selectionImg!==void 0&&(t.backgroundImage=`url(${e.selectionImg}) !important`),t}),m=a.getThumbRenderFn({focusValue:!0,getNodeData:tt,ratio:d,label:b(()=>e.labelValue===void 0?c.value:e.labelValue),thumbColor:b(()=>e.thumbColor||e.color),labelColor:b(()=>e.labelColor),labelTextColor:b(()=>e.labelTextColor)}),h=b(()=>i.editable.value===!0?r.platform.is.mobile===!0?{onClick:a.onMobileClick}:{onMousedown:a.onActivate,onFocus:x,onBlur:a.onBlur,onKeydown:S,onKeyup:a.onKeyup}:{});function _(t){c.value!==e.modelValue&&n(`update:modelValue`,c.value),t===!0&&n(`change`,c.value)}function v(){return o.value.getBoundingClientRect()}function y(t,n=i.dragging.value){let r=a.getDraggingRatio(t,n);c.value=a.convertRatioToModel(r),s.value=e.snap!==!0||e.step===0?r:a.convertModelToRatio(c.value)}function x(){i.focus.value=!0}function S(t){if(Ze.includes(t.keyCode)===!1)return;re(t);let n=([34,33].includes(t.keyCode)?10:1)*i.keyStep.value,r=([34,37,40].includes(t.keyCode)?-1:1)*(i.isReversed.value===!0?-1:1)*(e.vertical===!0?-1:1)*n;c.value=R(i.roundValueFn.value(c.value+r),i.innerMin.value,i.innerMax.value),_()}return()=>{let n=a.getContent(f,i.tabindex,h,e=>{e.push(m())});return t(`div`,{ref:o,class:i.classes.value+(e.modelValue===null?` q-slider--no-value`:``),...i.attributes.value,"aria-valuenow":e.modelValue},n)}}});function 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 rt=E({name:`QPopupEdit`,props:{modelValue:{required:!0},title:String,buttons:Boolean,labelSet:String,labelCancel:String,color:{type:String,default:`primary`},validate:{type:Function,default:()=>!0},autoSave:Boolean,cover:{type:Boolean,default:!0},disable:Boolean},emits:[`update:modelValue`,`save`,`cancel`,`beforeShow`,`show`,`beforeHide`,`hide`],setup(e,{slots:r,emit:i}){let{proxy:a}=p(),{$q:o}=a,s=g(null),c=g(``),l=g(``),u=!1,ee=b(()=>ne({initialValue:c.value,validate:e.validate,set:d,cancel:f,updatePosition:m},`value`,()=>l.value,e=>{l.value=e}));function d(){e.validate(l.value)!==!1&&(h()===!0&&(i(`save`,l.value,c.value),i(`update:modelValue`,l.value)),_())}function f(){h()===!0&&i(`cancel`,l.value,c.value),_()}function m(){n(()=>{s.value.updatePosition()})}function h(){return k(l.value,c.value)===!1}function _(){u=!0,s.value.hide()}function v(){u=!1,c.value=G(e.modelValue),l.value=G(e.modelValue),i(`beforeShow`)}function y(){i(`show`)}function x(){u===!1&&h()===!0&&(e.autoSave===!0&&e.validate(l.value)===!0?(i(`save`,l.value,c.value),i(`update:modelValue`,l.value)):i(`cancel`,l.value,c.value)),i(`beforeHide`)}function S(){i(`hide`)}function C(){let n=r.default===void 0?[]:[].concat(r.default(ee.value));return e.title&&n.unshift(t(`div`,{class:`q-dialog__title q-mt-sm q-mb-sm`},e.title)),e.buttons===!0&&n.push(t(`div`,{class:`q-popup-edit__buttons row justify-center no-wrap`},[t(j,{flat:!0,color:e.color,label:e.labelCancel||o.lang.label.cancel,onClick:f}),t(j,{flat:!0,color:e.color,label:e.labelSet||o.lang.label.set,onClick:d})])),n}return Object.assign(a,{set:d,cancel:f,show(e){s.value?.show(e)},hide(e){s.value?.hide(e)},updatePosition:m}),()=>{if(e.disable!==!0)return t(H,{ref:s,class:`q-popup-edit`,cover:e.cover,onBeforeShow:v,onShow:y,onBeforeHide:x,onHide:S,onEscapeKey:f},C)}}}),it={class:`text-h6`},K=[`title`],at={key:1,class:`row justify-center q-mt-sm`},ot=w({__name:`FolderPickerDialog`,props:{modelValue:{type:Boolean},initialPath:{}},emits:[`update:modelValue`,`select`],setup(e,{emit:t}){let n=e,o=t,s=g(``),l=g(null),f=g([]),p=g(!1),m=g(``);async function y(e){p.value=!0,m.value=``;try{let t=e?`?path=${encodeURIComponent(e)}`:``,n=await fetch(`/api/fs/list-dirs${t}`),r=await n.json();if(!n.ok){m.value=r?.error??`HTTP ${n.status}`;return}s.value=r.path??``,l.value=r.parent??null,f.value=Array.isArray(r.entries)?r.entries:[]}catch(e){m.value=e instanceof Error?e.message:String(e)}finally{p.value=!1}}function b(){s.value&&(o(`select`,s.value),o(`update:modelValue`,!1))}return ee(()=>n.modelValue,e=>{e&&y(n.initialPath||void 0)}),(t,n)=>(i(),h(Ee,{"model-value":e.modelValue,"onUpdate:modelValue":n[1]||=e=>t.$emit(`update:modelValue`,e)},{default:r(()=>[d(De,{class:`text-grey-3`,style:{"min-width":`480px`,"max-width":`90vw`,background:`#1e1e3a`}},{default:r(()=>[d(Ae,{class:`row items-center q-pb-none`},{default:r(()=>[C(`div`,it,u(t.$t(`folderPicker.title`)),1),d(V),a(d(j,{flat:``,dense:``,round:``,icon:`close`,color:`grey-5`},null,512),[[Pe]])]),_:1}),d(Ae,null,{default:r(()=>[C(`div`,{class:`text-caption text-grey-6 ellipsis q-mb-sm`,style:{"font-family":`monospace`},title:s.value},u(s.value||`…`),9,K),m.value?(i(),h(Je,{key:0,dense:``,class:`bg-red-9 text-white q-mb-sm rounded-borders`},{default:r(()=>[v(u(m.value),1)]),_:1})):_(``,!0),d(Ne,{bordered:``,separator:``,class:`rounded-borders`,style:{"max-height":`320px`,"overflow-y":`auto`}},{default:r(()=>[l.value?a((i(),h(F,{key:0,clickable:``,onClick:n[0]||=e=>y(l.value)},{default:r(()=>[d(I,{avatar:``},{default:r(()=>[d(O,{name:`arrow_upward`,color:`grey-5`})]),_:1}),d(I,null,{default:r(()=>[v(u(t.$t(`folderPicker.parent`)),1)]),_:1})]),_:1})),[[xe]]):_(``,!0),(i(!0),x(S,null,c(f.value,e=>a((i(),h(F,{key:e.path,clickable:``,onClick:t=>y(e.path)},{default:r(()=>[d(I,{avatar:``},{default:r(()=>[d(O,{name:`folder`,color:`amber-6`})]),_:1}),d(I,null,{default:r(()=>[v(u(e.name),1)]),_:2},1024)]),_:2},1032,[`onClick`])),[[xe]])),128)),!p.value&&f.value.length===0?(i(),h(F,{key:1},{default:r(()=>[d(I,{class:`text-grey-7`},{default:r(()=>[v(u(t.$t(`folderPicker.empty`)),1)]),_:1})]),_:1})):_(``,!0)]),_:1}),p.value?(i(),x(`div`,at,[d(se,{size:`20px`,color:`grey-5`})])):_(``,!0)]),_:1}),d(ye,{align:`right`},{default:r(()=>[a(d(j,{flat:``,label:t.$t(`common.cancel`),color:`grey-5`},null,8,[`label`]),[[Pe]]),d(j,{flat:``,label:t.$t(`folderPicker.select`),color:`primary`,disable:!s.value||p.value,onClick:b},null,8,[`label`,`disable`])]),_:1})]),_:1})]),_:1},8,[`model-value`]))}}),st={class:`settings-layout`},ct={class:`settings-nav`},lt={class:`settings-nav__title`},ut={class:`settings-content`},dt={class:`settings-content__header`},ft={class:`settings-content__title`},pt={class:`settings-panels`},mt={class:`settings-global-wrap`},ht={"data-tour":`settings-card-general`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},gt={class:`text-subtitle2 q-mb-sm`},_t={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},vt={class:`text-subtitle2 q-mb-sm`},yt={class:`text-caption text-grey-7 q-mt-xs`},bt={"data-tour":`settings-card-skills`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},xt={class:`text-subtitle2 q-mb-sm`},St={class:`text-caption text-grey-6 q-mt-xs`},Ct={key:0,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},wt={class:`text-subtitle2 q-mb-sm`},Tt={class:`text-caption text-grey-6 q-mb-xs q-mt-sm`},Et={class:`text-caption text-grey-6 q-mt-md q-mb-xs`},Dt={class:`text-caption text-grey-6 q-mt-md q-mb-xs`},Ot={class:`text-caption text-grey-6 q-mt-md q-mb-xs`},kt={class:`text-caption text-grey-6 q-mt-md q-mb-xs`},At={"data-tour":`settings-card-agents`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},jt={class:`text-subtitle2 q-mb-sm`},Mt={class:`text-subtitle2 q-mb-sm q-mt-md`},Nt={class:`text-subtitle2 q-mb-sm q-mt-md`},Pt={class:`text-caption text-grey-7 q-mb-sm`},Ft={class:`text-subtitle2 q-mb-sm q-mt-md`},It={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Lt={class:`text-subtitle2 q-mb-sm`},Rt={"data-tour":`settings-card-notifications`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},zt={class:`text-subtitle2 q-mb-sm`},Bt={class:`column q-gutter-xs`},Vt={class:`row items-center q-gutter-sm q-mt-sm`},Ht={class:`row items-center q-gutter-sm q-mt-sm`},Ut={class:`text-grey-5 text-caption`,style:{"min-width":`80px`}},Wt={class:`text-grey-5 text-caption`,style:{"min-width":`40px`,"text-align":`right`}},Gt={"data-tour":`settings-card-voice`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Kt={class:`row items-center q-mb-sm`},qt={class:`text-subtitle2`},Jt={class:`column q-gutter-xs`},Yt={class:`row items-center q-gutter-sm`},Xt={class:`row items-center q-gutter-sm`},Zt={class:`q-pa-sm text-caption text-grey-5`},Qt={class:`q-mb-sm`},$t={class:`q-mb-sm`},en={href:`https://github.com/ggml-org/whisper.cpp`,target:`_blank`,rel:`noopener noreferrer`,class:`text-indigo-4`},tn={class:`q-mb-xs text-grey-4`},nn={class:`q-mb-sm`},rn={class:`q-mb-xs text-grey-4`},an={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},on={class:`text-subtitle2 q-mb-sm`},sn={class:`row q-col-gutter-sm`},cn={class:`col-12 col-sm-6`},ln={class:`col-12 col-sm-6`},un={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},dn={class:`text-subtitle2 q-mb-sm`},fn={key:0,class:`voice-models-dir row items-center q-gutter-sm q-mb-md`},pn={class:`text-caption text-grey-5 ellipsis-2-lines`,style:{flex:`1`,"min-width":`0`,"word-break":`break-all`}},mn={class:`column q-gutter-sm`},hn={class:`row items-center q-gutter-sm`},gn={class:`text-body2 text-grey-3`,style:{"font-family":`var(--kobo-font-mono, monospace)`}},_n={class:`text-caption text-grey-6`},vn={key:0,class:`q-mt-sm`},yn={class:`row items-center q-mt-xs`},bn={class:`text-caption text-grey-6`},xn={class:`text-caption text-indigo-4`},Sn={key:1,class:`text-caption text-grey-7 q-mt-xs ellipsis`,style:{"font-family":`var(--kobo-font-mono, monospace)`,"word-break":`break-all`}},Cn={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},wn={class:`text-subtitle2 q-mb-sm`},Tn={class:`q-pa-sm column q-gutter-sm`},En={class:`row items-center q-gutter-sm`},Dn={class:`text-caption text-grey-5`},On={class:`text-caption text-grey-5`,style:{"min-width":`40px`,"text-align":`right`}},kn={class:`text-caption text-grey-7`},An={class:`text-caption text-grey-7`},jn={class:`text-caption text-grey-7`},Mn={class:`text-caption text-grey-7`},Nn={class:`q-pa-sm column q-gutter-sm`},Pn={key:1,"data-tour":`settings-card-prompts`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Fn={class:`row items-center q-mb-sm`},In={class:`text-subtitle2`},Ln={class:`text-caption text-grey-7 q-mb-sm`},Rn={class:`q-mb-sm`},zn={class:`row items-center q-mb-sm q-mt-md`},Bn={class:`text-subtitle2`},Vn={class:`text-caption text-grey-7 q-mb-sm`},Hn={class:`row items-center q-mb-sm q-mt-md`},Un={class:`text-subtitle2`},Wn={class:`text-caption text-grey-7 q-mb-sm`},Gn={class:`row items-center q-mb-sm q-mt-md`},Kn={class:`text-subtitle2`},qn={class:`text-caption text-grey-7 q-mb-sm`},Jn={class:`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-grey-7 q-mb-sm`},Zn={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Qn={class:`text-subtitle2 q-mb-sm`},$n={class:`text-caption text-grey-7 q-mb-sm`},er={"data-tour":`settings-card-notion`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},tr={class:`text-subtitle2 q-mb-sm`},nr={class:`text-caption text-grey-7 q-mb-sm`},rr={class:`q-mb-sm`},ir={class:`field-label-sub text-caption q-mb-xs text-grey-7`},ar={class:`q-mb-sm`},or={class:`field-label-sub text-caption q-mb-xs text-grey-7`},sr={key:2,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},cr={class:`text-subtitle2 q-mb-sm`},lr={class:`text-caption text-grey-7 q-mb-sm`},ur={class:`q-mb-sm`},dr={class:`field-label-sub text-caption q-mb-xs text-grey-7`},fr={class:`q-mb-sm`},pr={class:`field-label-sub text-caption q-mb-xs text-grey-7`},mr={class:`row items-center q-mb-sm`},hr={class:`text-subtitle2`},gr={class:`text-caption text-grey-7 q-mb-xs`},_r={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},vr={class:`text-subtitle2 q-mb-sm`},yr={class:`text-caption text-grey-7 q-mb-sm`},br={class:`q-mb-sm`},xr={class:`field-label-sub text-caption q-mb-xs text-grey-7`},Sr={class:`q-mb-sm`},Cr={class:`row items-center q-mb-xs`},wr={class:`field-label-sub text-caption text-grey-7 col`},Tr=[`src`,`alt`],Er={key:1,class:`text-caption text-grey-7 q-py-sm`},Dr={key:0,class:`text-caption text-orange-5 q-mb-xs`},Or={key:3,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},kr={class:`text-subtitle2 q-mb-sm`},Ar={class:`row items-center q-mb-sm`},jr={class:`text-subtitle2`},Mr={class:`text-caption text-grey-7 q-mb-xs`},Nr={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Pr={class:`text-subtitle2 q-mb-sm`},Fr={class:`text-caption text-grey-7 q-mb-sm`},Ir={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Lr={class:`text-subtitle2 q-mb-sm`},Rr={class:`text-caption text-grey-7 q-mb-sm`},zr={class:`row items-center no-wrap`},Br={key:1,class:`text-caption text-grey-7 q-mb-sm`},Vr={class:`row items-center q-gutter-sm`},Hr={"data-tour":`settings-card-scripts`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Ur={class:`text-subtitle2 q-mb-sm`},Wr={class:`text-caption text-grey-7 q-mb-sm`},Gr={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Kr={class:`text-subtitle2 q-mb-sm`},qr={class:`text-caption text-grey-7 q-mb-sm`},Jr={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Yr={class:`text-subtitle2 q-mb-sm`},Xr={class:`text-caption text-grey-7 q-mb-sm`},Zr={class:`text-caption text-grey-6 q-mt-md q-mb-xs`},Qr={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},$r={class:`text-subtitle2 q-mb-sm`},ei={class:`text-caption text-grey-7 q-mb-sm`},ti={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ni={class:`row items-center justify-between q-mb-sm`},ri={class:`text-subtitle2`},ii={class:`text-caption text-grey-7 q-mb-xs`},ai={class:`text-caption text-grey-6 mono-guide q-mb-sm`},oi={"data-tour":`settings-card-worktrees`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},si={class:`text-subtitle2 q-mb-sm`},ci={class:`text-caption text-grey-7 q-mb-sm`},li={class:`text-caption text-grey-7 q-mt-xs`},ui={"data-tour":`settings-card-export`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},di={class:`text-subtitle2 q-mb-sm`},fi={class:`text-caption text-grey-7 q-mb-sm`},pi={class:`row q-gutter-sm`},mi={class:`row justify-end settings-sticky-actions`},hi={class:`q-pa-none`},gi={class:`row q-gutter-md`,style:{"min-height":`500px`}},_i={class:`project-list-col`},vi={class:`settings-card rounded-borders`,style:{height:`100%`}},yi={class:`q-pa-sm`},bi={class:`text-caption text-uppercase text-weight-bold q-px-sm q-py-xs text-grey-6`,style:{"letter-spacing":`0.05em`}},xi={key:0,class:`q-pa-md text-center text-caption text-grey-8`},Si={class:`q-pa-sm`},Ci={class:`project-form-col`},wi={class:`settings-card rounded-borders q-pa-lg`,style:{height:`100%`}},Ti={class:`row items-center q-mb-md`},Ei={class:`text-subtitle1 text-weight-medium text-grey-3`},Di={key:0,class:`q-mb-md`},Oi={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},ki={class:`text-caption text-grey-7 q-mt-xs`},Ai={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ji={class:`text-subtitle2 q-mb-md`},Mi={class:`q-mb-md`},Ni={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Pi={class:`q-mb-md`},Fi={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Ii={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Li={class:`row items-center q-gutter-xs`},Ri={class:`text-caption text-grey-6 q-mt-xs`},zi={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Bi={class:`text-subtitle2 q-mb-md`},Vi={class:`q-mb-md`},Hi={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Ui={class:`q-mb-md`},Wi={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Gi={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Ki={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},qi={class:`text-subtitle2 q-mb-md`},Ji={class:`q-mb-md`},Yi={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Xi={class:`text-caption text-grey-7 q-mb-xs`},Zi={class:`q-mb-md`},Qi={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},$i={class:`text-caption text-grey-7 q-mb-xs`},ea={class:`q-mb-md`},ta={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},na={class:`text-caption text-grey-7 q-mb-xs`},ra={class:`q-mb-md`},ia={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},aa={class:`text-caption text-grey-7 q-mb-xs`},oa={class:`q-mb-md`},sa={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},ca={class:`text-caption text-grey-7 q-mb-xs`},la={class:`q-mb-md`},ua={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},da={class:`text-caption text-grey-7 q-mb-xs`},fa={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},pa={class:`text-caption text-grey-7 q-mt-xs`},ma={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ha={class:`text-subtitle2 q-mb-md`},ga={class:`q-mb-md`},_a={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},va={class:`text-caption text-grey-7 q-mb-xs`},ya={class:`text-caption text-grey-7 q-mt-xs`},ba={class:`q-mb-md`},xa={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Sa={class:`text-caption text-grey-7 q-mb-xs`},Ca={class:`field-label-sub text-caption q-mt-sm q-mb-xs text-grey-7`},wa={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Ta={class:`text-caption text-grey-7 q-mb-xs`},Ea={class:`row items-center justify-between q-mb-xs`},Da={class:`field-label text-body2 text-weight-medium text-grey-6`},Oa={class:`text-caption text-grey-7 q-mb-xs`},ka={class:`text-caption text-grey-6 mono-guide q-mb-sm`},Aa={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ja={class:`text-subtitle2 q-mb-md`},Ma={class:`q-mb-md`},Na={class:`field-label-sub text-caption q-mb-xs text-grey-7`},Pa={class:`field-label-sub text-caption q-mb-xs text-grey-7`},Fa={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Ia={class:`text-subtitle2 q-mb-xs`},La={class:`text-caption text-grey-7 q-mb-sm`},Ra={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},za={class:`text-subtitle2 q-mb-xs`},Ba={class:`text-caption text-grey-7 q-mb-sm`},Va={class:`row items-center q-gutter-sm settings-sticky-actions`},Ha={key:1,class:`column items-center justify-center`,style:{height:`100%`,"min-height":`300px`}},Ua={class:`text-body2 text-grey-8`},Wa={class:`q-pa-none`},Ga={"data-tour":`settings-card-templates`,class:`settings-card rounded-borders q-pa-lg`},Ka={class:`row items-center justify-between q-mb-md`},qa={class:`text-subtitle1 text-weight-medium text-grey-3`},Ja={class:`row q-gutter-sm items-center`},Ya={key:0,class:`text-grey-6 q-py-lg text-center`},Xa={key:1,class:`column q-gutter-sm`},Za={class:`row items-start justify-between no-wrap`},Qa={class:`col`},$a={class:`text-body1 text-weight-medium`,style:{"font-family":`'Roboto Mono', monospace`}},eo={class:`text-caption text-grey-5 q-mt-xs`},to={class:`row no-wrap q-gutter-xs`},no={class:`text-caption text-grey-7 q-mt-lg`,style:{"font-family":`'Roboto Mono', monospace`}},ro={key:0,class:`settings-savebar`},io={class:`settings-savebar__label`},ao={class:`text-subtitle1`},oo={class:`q-pl-md q-pt-xs`,style:{"font-size":`11px`,"font-family":`'Roboto Mono', monospace`,columns:`2`,"column-gap":`24px`}},so={key:0,class:`text-negative text-caption`},co=B(w({__name:`SettingsPage`,setup(e){let t=Fe(),n=ve(),p=Oe(),{t:w,locale:ne}=Se(),{startTour:re}=Ue(),E=g(`general`),ae=b(()=>[{value:`general`,icon:`tune`,label:w(`settings.nav.general`)},{value:`agents`,icon:`smart_toy`,label:w(`settings.nav.agents`)},{value:`skills`,icon:`extension`,label:w(`settings.nav.skills`)},{value:`prompts`,icon:`text_snippet`,label:w(`settings.nav.prompts`)},{value:`scripts`,icon:`terminal`,label:w(`settings.nav.scripts`)},{value:`notion`,icon:`integration_instructions`,label:w(`settings.nav.notion`)},{value:`sentry`,icon:`bug_report`,label:w(`settings.nav.sentry`)},{value:`voice`,icon:`mic`,label:w(`settings.nav.voice`)},{value:`notifications`,icon:`notifications`,label:w(`settings.nav.notifications`)},{value:`worktrees`,icon:`account_tree`,label:w(`settings.nav.worktrees`)},{value:`projects`,icon:`folder`,label:w(`settings.projects`)},{value:`templates`,icon:`description`,label:w(`templates.title`)},{value:`export`,icon:`import_export`,label:w(`settings.nav.export`)}]),oe=b(()=>ae.value.find(e=>e.value===E.value)?.label??``),se=b(()=>[`general`,`agents`,`skills`,`prompts`,`scripts`,`notion`,`sentry`,`voice`,`notifications`,`worktrees`,`export`].includes(E.value)),ce=g(`auto`),le=g(`auto`),k=g(``),de=g(``),A=g(``),Ce=g(``),M=g(``),we=g(``),R=g(!0),z=g(!0),B=g(me),H=g(1),Je=g(``),Ye=g(``),Xe=g(``),W=g(``),Ze=g([]),Qe=g(!1),$e=g(``),et=b(()=>Ze.value.map(e=>({label:`${e.name} — ${e.email}`,value:e.id,name:e.name,email:e.email,avatarUrl:e.avatarUrl})));async function tt(e=!1){if(!Qe.value&&!(!e&&Ze.value.length>0)){Qe.value=!0,$e.value=``;try{let e=await fetch(`/api/notion/users`),t=await e.json().catch(()=>({}));if(!e.ok)throw Error(t.error??`HTTP ${e.status}`);Ze.value=Array.isArray(t.users)?t.users:[]}catch(e){$e.value=e instanceof Error?e.message:String(e),Ze.value=[]}finally{Qe.value=!1}}}let G=g(``),it=g(``),K=g(null),at=g(`bypass`),co=g(`bypass`),lo=g(``),uo=g(``),fo=g([]),q=g([]),po=g(``),mo=g(``),ho=g(``),go=g(`no-tasks`),_o=g(!1),vo=g(``),yo=g(``),bo=g(``),xo=g(!1);function So(e){Q.value.path=e}let Co=b(()=>[{label:w(`settings.cleanupScriptMode.inherit`),value:``},{label:w(`settings.cleanupScriptMode.idle`),value:`idle`},{label:w(`settings.cleanupScriptMode.noTasks`),value:`no-tasks`}]),wo=g(pe),To=g(null),Eo=g(!0);function Do(e){let t=e.trim().replace(/^\/+|\/+$/g,``);return t.length===0||t.length>50||!/^[A-Za-z0-9._/-]+$/.test(t)||t.includes(`..`)?``:t}function Oo(){let e=Do(po.value);!e||q.value.includes(e)||(q.value.push(e),po.value=``)}function ko(e){q.value.splice(e,1)}function Ao(e,t){let n=Do(t);if(!n)return;let r=q.value.indexOf(n);r!==-1&&r!==e||(q.value[e]=n)}function jo(e,t){let n=e+t;if(n<0||n>=q.value.length)return;let r=q.value;[r[e],r[n]]=[r[n],r[e]]}let Mo=g(!1),J=g(`superpowers`),No=b(()=>{switch(J.value){case`gstack`:return`settings.skillSuite.gstackHint`;case`superpowers+gstack`:return`settings.skillSuite.superpowersGstackHint`;case`custom`:return`settings.skillSuite.customHint`;default:return`settings.skillSuite.superpowersHint`}}),Po=g(``),Fo=g(``),Io=g(``),Lo=g(``),Ro=g(``),zo=g(!1),Bo=g(`alt`),Vo=g(`auto`),Y=g(null),Ho=g(``),Uo=g(``),Wo=g(0),Go=g(``),Ko=g(!1),qo=g(!0),Jo=g(null),Yo=g(!1);function Xo(){t.dialog({title:w(`settings.skillSuite.reloadDefaults`),message:w(`settings.skillSuite.reloadDefaultsConfirm`),cancel:!0,persistent:!0,dark:!0}).onOk(()=>{Po.value=Ie,Fo.value=Re,Io.value=Be,Lo.value=Le,Ro.value=ze})}function Zo(e){let n=e===`global`?yo.value:Q.value.changeSourceBranchScript,r=()=>{e===`global`?yo.value=bo.value:Q.value.changeSourceBranchScript=bo.value};if(!n.trim()||n===bo.value){r();return}t.dialog({title:w(`settings.changeSourceBranchScript.replaceConfirmTitle`),message:w(`settings.changeSourceBranchScript.replaceConfirm`),cancel:!0,persistent:!0,dark:!0}).onOk(r)}function Qo(e){return!e||e===`tiny`||e===`base`?.1:.2}let $o=[e=>e.trim().length>0||w(`settings.worktreesPathRequired`)],es=g(!1),X=g(-1),Z=g(!1),Q=g({path:``,displayName:``,color:null,defaultSourceBranch:``,defaultModel:``,forge:`auto`,prPromptTemplate:``,reviewPromptTemplate:``,ciFixPromptTemplate:``,notionInitialPromptTemplate:``,sentryInitialPromptTemplate:``,gitConventions:``,setupScript:``,taskPromptTemplate:``,cleanupScript:``,cleanupScriptMode:``,archiveScript:``,changeSourceBranchScript:``,devServer:{startCommand:``,stopCommand:``},e2e:{framework:``,skill:``,prompt:``},finalization:{prompt:``}}),ts=[`defaultModel`,`forge`,`prPromptTemplate`,`reviewPromptTemplate`,`ciFixPromptTemplate`,`notionInitialPromptTemplate`,`sentryInitialPromptTemplate`,`gitConventions`,`setupScript`,`taskPromptTemplate`,`cleanupScript`,`cleanupScriptMode`,`archiveScript`,`changeSourceBranchScript`,`devServer`,`e2e`,`finalization`],ns=g(null),rs=g(null),is=b(()=>n.projects.map(e=>({value:e.path,label:Sc(e)||e.path})));function as(e){let t=n.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 os(){let e={defaultModel:``,forge:`auto`,prPromptTemplate:``,reviewPromptTemplate:``,notionInitialPromptTemplate:``,sentryInitialPromptTemplate:``,gitConventions:``,setupScript:``,taskPromptTemplate:``,cleanupScript:``,cleanupScriptMode:``,archiveScript:``,changeSourceBranchScript:``,devServer:{startCommand:``,stopCommand:``},e2e:{framework:``,skill:``,prompt:``},finalization:{prompt:``}};return ts.every(t=>JSON.stringify(Q.value[t])===JSON.stringify(e[t]))}function ss(e){if(e===null){ns.value=null,rs.value=null;return}if(rs.value===null&&os()){as(e),ns.value=e,rs.value=e;return}let r=n.projects.find(t=>t.path===e),i=r&&Sc(r)||e;t.dialog({title:w(`settings.copyFromConfirmTitle`),message:w(`settings.copyFromConfirm`,{project:i}),cancel:!0,persistent:!0,dark:!0}).onOk(()=>{as(e),ns.value=e,rs.value=e}).onCancel(()=>{ns.value=rs.value})}let cs=g([]),ls=g([]);async function us(){try{let e=await fetch(`/api/skills`);e.ok&&(cs.value=await e.json())}catch{}}function ds(e,t){t(()=>{let t=e.trim().toLowerCase();ls.value=t?cs.value.filter(e=>e.toLowerCase().includes(t)):cs.value.slice()})}let fs=g([]),ps=g(!1),ms=g(!1),hs=g(!1),gs=g(!1),_s=g(null),vs=g(``),ys=g(``),bs=g(``),$=g(``),xs=g(!1),Ss=g(!1),Cs=b(()=>[...p.templates].sort((e,t)=>e.slug.localeCompare(t.slug))),ws=[`{workspace_name}`,`{working_branch}`,`{source_branch}`,`{project_path}`,`{worktree_path}`,`{commit_count}`,`{unpushed_count}`,`{files_changed}`,`{insertions}`,`{deletions}`,`{pr_number}`,`{pr_url}`,`{pr_state}`,`{session_name}`];function Ts(){_s.value=null,vs.value=``,ys.value=``,bs.value=``,$.value=``,gs.value=!0}function Es(e){_s.value=e.slug,vs.value=e.slug,ys.value=e.description,bs.value=e.content,$.value=``,gs.value=!0}async function Ds(){$.value=``;let e=vs.value.trim(),t=ys.value.trim();if(_s.value===null&&!/^[a-z0-9][a-z0-9-]{0,63}$/.test(e)){$.value=w(`templates.slugInvalid`);return}if(!t){$.value=w(`templates.descriptionRequired`);return}if(!bs.value.trim()){$.value=w(`templates.contentRequired`);return}xs.value=!0;try{_s.value===null?await p.createTemplate({slug:e,description:t,content:bs.value}):await p.updateTemplate(_s.value,{description:t,content:bs.value}),gs.value=!1}catch(e){$.value=e instanceof Error?e.message:w(`templates.createFailed`)}finally{xs.value=!1}}function Os(){t.dialog({title:w(`templates.reloadDefaults`),message:w(`templates.reloadDefaultsConfirmMessage`),dark:!0,cancel:{flat:!0,label:w(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:w(`templates.reloadDefaults`),color:`primary`}}).onOk(async()=>{Ss.value=!0;try{let e=await p.reloadDefaults();t.notify({type:`positive`,message:w(`templates.reloadDefaultsSuccess`,{added:e.added.length,kept:e.kept.length}),position:`top`,timeout:4e3})}catch(e){t.notify({type:`negative`,message:e instanceof Error?e.message:w(`templates.reloadDefaultsFailed`),position:`top`})}finally{Ss.value=!1}})}async function ks(e){t.dialog({title:w(`templates.deleteTemplate`),message:`${w(`templates.deleteConfirm`,{slug:e.slug})}\n\n${w(`templates.deleteConfirmMessage`)}`,dark:!0,cancel:{flat:!0,label:w(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:w(`templates.deleteTemplate`),color:`red-5`}}).onOk(async()=>{try{await p.deleteTemplate(e.slug)}catch(e){t.notify({type:`negative`,message:e instanceof Error?e.message:w(`templates.deleteFailed`),position:`top`})}})}let As=[{label:`English`,value:`en`},{label:`Français`,value:`fr`},{label:`Deutsch`,value:`de`},{label:`Español`,value:`es`},{label:`Italiano`,value:`it`}];function js(e){ne.value=e,localStorage.setItem(`kobo:locale`,e)}let Ms=b(()=>[...Ke.map(e=>({label:w(e.i18nLabelKey),value:e.value}))]),Ns=b(()=>[...Ge.map(e=>({label:w(e.i18nLabelKey),value:e.value}))]),Ps=b(()=>[{label:w(`settings.useGlobal`),value:``},...Ms.value]),Fs=b(()=>[{label:w(`settings.forge.auto`),value:`auto`},{label:w(`settings.forge.github`),value:`github`},{label:w(`settings.forge.gitlab`),value:`gitlab`},{label:w(`settings.forge.none`),value:`none`}]),Is=b(()=>qe[`claude-code`].map(e=>({label:w(`agentPermissionMode.${e}`),value:e}))),Ls=b(()=>qe.codex.map(e=>({label:w(`agentPermissionMode.${e}`),value:e}))),Rs=b(()=>[{name:`{{pr_number}}`,description:w(`settings.var.prNumber`)},{name:`{{pr_url}}`,description:w(`settings.var.prUrl`)},{name:`{{branch_name}}`,description:w(`settings.var.branchName`)},{name:`{{source_branch}}`,description:w(`settings.var.sourceBranch`)},{name:`{{workspace_name}}`,description:w(`settings.var.workspaceName`)},{name:`{{project_name}}`,description:w(`settings.var.projectName`)},{name:`{{notion_url}}`,description:w(`settings.var.notionUrl`)},{name:`{{commits}}`,description:w(`settings.var.commits`)},{name:`{{diff_stats}}`,description:w(`settings.var.diffStats`)},{name:`{{tasks}}`,description:w(`settings.var.tasks`)},{name:`{{acceptance_criteria}}`,description:w(`settings.var.acceptanceCriteria`)}]),zs=b(()=>[{label:w(`settings.mcpAutoSelect`),value:``},...n.activeMcpServers.map(e=>({label:e.key,value:e.key}))]),Bs=b(()=>fe.map(e=>({label:w(e.labelKey),value:e.id}))),Vs=b(()=>[{label:w(`voice.noneModel`),value:null}].concat(n.voiceModels.map(e=>({label:e.installed?`${e.name}`:`${e.name} (${w(`voice.notInstalled`)})`,value:e.name})))),Hs=[{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 Us(){ge(B.value,H.value)}let Ws=b(()=>X.value<0||X.value>=n.projects.length?null:n.projects[X.value]??null),Gs=g(``),Ks=g(``);function qs(){return JSON.stringify({claudeModel:ce.value,codexModel:le.value,prPrompt:k.value,reviewPrompt:de.value,ciFixPrompt:A.value,gitConventions:Ce.value,editorCommand:M.value,fileManagerCommand:we.value,browserNotifications:R.value,audioNotifications:z.value,audioNotificationSound:B.value,audioNotificationVolume:H.value,notionStatusProperty:Je.value,notionStatus:Ye.value,notionAssigneeProperty:Xe.value,notionUserId:W.value,notionInitialPrompt:G.value,sentryInitialPrompt:it.value,claudePermissionMode:at.value,codexPermissionMode:co.value,notionMcpKey:lo.value,sentryMcpKey:uo.value,tags:fo.value,branchPrefixes:q.value,setupScript:mo.value,cleanupScript:ho.value,cleanupScriptMode:go.value,cleanupScriptOnlyOnChanges:_o.value,archiveScript:vo.value,changeSourceBranchScript:yo.value,worktreesPath:wo.value,worktreesPrefixByProject:Eo.value,flattenWorkspaceList:Mo.value,skillSuite:J.value,customReviewTemplate:Po.value,customAutoLoopReviewGate:Fo.value,customAutoLoopGroomingIntro:Io.value,customQaPromptTemplate:Lo.value,customBrainstormingInstruction:Ro.value,voiceEnabled:zo.value,voicePttKey:Bo.value,voiceLanguage:Vo.value,voiceModel:Y.value,voiceCommandPath:Ho.value,voiceFfmpegPath:Uo.value,voiceTemperature:Wo.value,voicePrompt:Go.value,voiceTranslateToEnglish:Ko.value,voiceSuppressNst:qo.value})}function Js(){return JSON.stringify(Q.value)}let Ys=b(()=>qs()!==Gs.value),Xs=b(()=>Js()!==Ks.value),Zs=b(()=>E.value===`projects`?Xs.value&&(Ws.value!==null||Z.value):E.value===`templates`?!1:Ys.value),Qs=b(()=>E.value===`projects`?ms.value:xs.value);function $s(){E.value===`projects`?vc():lc()}function ec(){Yo.value=!0;let e=n.global.defaultModelByEngine??{};ce.value=e[`claude-code`]??`auto`,le.value=e.codex??`auto`,k.value=n.global.prPromptTemplate,de.value=n.global.reviewPromptTemplate??``,A.value=n.global.ciFixPromptTemplate??``,Ce.value=n.global.gitConventions,M.value=n.global.editorCommand??``,we.value=n.global.fileManagerCommand??``,R.value=n.global.browserNotifications??!0,z.value=n.global.audioNotifications??!0,B.value=_e(n.global.audioNotificationSound);let t=n.global.audioNotificationVolume;H.value=typeof t==`number`&&Number.isFinite(t)?Math.max(0,Math.min(1,t)):1,Je.value=n.global.notionStatusProperty??``,Ye.value=n.global.notionInProgressStatus??``,Xe.value=n.global.notionAssigneeProperty??``,W.value=n.global.notionUserId??``,G.value=n.global.notionInitialPromptTemplate??``,it.value=n.global.sentryInitialPromptTemplate??``;{let e=n.global.defaultPermissionModeByEngine??{},t=e=>e===`plan`||e===`bypass`||e===`strict`||e===`interactive`,r=e[`claude-code`];at.value=t(r)?r:`bypass`;let i=e.codex;co.value=t(i)?i:`bypass`}lo.value=n.global.notionMcpKey??``,uo.value=n.global.sentryMcpKey??``,fo.value=Array.isArray(n.global.tags)?[...n.global.tags]:[],q.value=Array.isArray(n.global.branchPrefixes)?[...n.global.branchPrefixes]:[],mo.value=n.global.setupScript??``,ho.value=n.global.cleanupScript??``,go.value=n.global.cleanupScriptMode===`idle`?`idle`:`no-tasks`,_o.value=n.global.cleanupScriptOnlyOnChanges??!1,vo.value=n.global.archiveScript??``,yo.value=n.global.changeSourceBranchScript??``,wo.value=n.global.worktreesPath??`.worktrees`,Eo.value=n.global.worktreesPrefixByProject??!1,Mo.value=n.global.flattenWorkspaceList??!1,J.value=n.global.skillSuite??`superpowers`,Po.value=n.global.customReviewTemplate??``,Fo.value=n.global.customAutoLoopReviewGate??``,Io.value=n.global.customAutoLoopGroomingIntro??``,Lo.value=n.global.customQaPromptTemplate??``,Ro.value=n.global.customBrainstormingInstruction??``,zo.value=n.global.voiceEnabled??!1,Bo.value=n.global.voicePttKey===`ctrl+space`?`ctrl+space`:`alt`,Vo.value=n.global.voiceLanguage??`auto`,Y.value=n.global.voiceModel??null,Ho.value=n.global.voiceCommandPath??``,Uo.value=n.global.voiceFfmpegPath??``,Wo.value=typeof n.global.voiceTemperature==`number`?n.global.voiceTemperature:0,Go.value=n.global.voicePrompt??``,Ko.value=n.global.voiceTranslateToEnglish??!1,qo.value=n.global.voiceSuppressNonSpeechTokens??!0,Yo.value=!1,Gs.value=qs()}ee(()=>Y.value,(e,t)=>{Yo.value||e!==t&&(Wo.value=Qo(e))});function tc(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:``,devServer:{startCommand:``,stopCommand:``},e2e:{framework:``,skill:``,prompt:``},finalization:{prompt:``}},fs.value=[],Ks.value=Js();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??``,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??``}},Ks.value=Js(),e.path&&nc(e.path)}async function nc(e){if(!e.trim()){fs.value=[];return}ps.value=!0;try{let t=await fetch(`/api/git/branches?path=${encodeURIComponent(e.trim())}`);if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await t.json();fs.value=n.local??n.branches??[]}catch{fs.value=[]}finally{ps.value=!1}}let rc=null;ee(()=>Q.value.path,e=>{rc&&clearTimeout(rc),rc=setTimeout(()=>{nc(e)},500)}),ee(X,()=>{Z.value=!1,tc(Ws.value)});let ic=g(null);async function ac(){try{let e=await fetch(`/api/settings/export`);if(!e.ok)throw Error(`HTTP ${e.status}`);let n=await e.json(),r=new Blob([JSON.stringify(n,null,2)],{type:`application/json`}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=`kobo-config-${new Date().toISOString().replace(/[:.]/g,`-`)}.json`,a.click(),URL.revokeObjectURL(i),t.notify({type:`positive`,message:w(`settings.exportSuccess`),position:`top`,timeout:3e3})}catch(e){t.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}}function oc(){ic.value?.click()}async function sc(e){let r=e.target,i=r.files?.[0];if(i)try{t.dialog({title:w(`settings.importConfirmTitle`),message:w(`settings.importConfirmMessage`),cancel:!0,persistent:!0,dark:!0}).onOk(async()=>{try{let e=await i.text(),r=JSON.parse(e),a=await fetch(`/api/settings/import`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(r)});if(!a.ok){let e=await a.json().catch(()=>({}));throw Error(e.error??`HTTP ${a.status}`)}await n.fetchSettings(),ec(),t.notify({type:`positive`,message:w(`settings.importSuccess`),position:`top`,timeout:3e3})}catch(e){t.notify({type:`negative`,message:String(e),position:`top`,timeout:5e3})}})}finally{r.value=``}}async function cc(e){if(K.value===null){K.value=e;try{let t=await n.fetchGlobalDefaults(),r={prPromptTemplate:k,reviewPromptTemplate:de,ciFixPromptTemplate:A,gitConventions:Ce,notionInitialPromptTemplate:G,sentryInitialPromptTemplate:it};r[e].value=t[e]}catch(e){console.error(`[SettingsPage] resetFieldToDefault failed:`,e),t.notify({type:`negative`,message:w(`settings.resetFailed`),position:`top`})}finally{K.value=null}}}async function lc(){if(await To.value?.validate()!==!1){es.value=!0;try{await n.updateGlobal({defaultModelByEngine:{"claude-code":ce.value,codex:le.value},prPromptTemplate:k.value,reviewPromptTemplate:de.value,ciFixPromptTemplate:A.value,gitConventions:Ce.value,editorCommand:M.value,fileManagerCommand:we.value,browserNotifications:R.value,audioNotifications:z.value,audioNotificationSound:B.value,audioNotificationVolume:H.value,notionStatusProperty:Je.value,notionInProgressStatus:Ye.value,notionAssigneeProperty:Xe.value,notionUserId:W.value,notionInitialPromptTemplate:G.value,sentryInitialPromptTemplate:it.value,defaultPermissionModeByEngine:{"claude-code":at.value,codex:co.value},notionMcpKey:lo.value,sentryMcpKey:uo.value,tags:fo.value,branchPrefixes:q.value,setupScript:mo.value,cleanupScript:ho.value,cleanupScriptMode:go.value,cleanupScriptOnlyOnChanges:_o.value,archiveScript:vo.value,changeSourceBranchScript:yo.value,worktreesPath:wo.value,worktreesPrefixByProject:Eo.value,flattenWorkspaceList:Mo.value,skillSuite:J.value,customReviewTemplate:Po.value,customAutoLoopReviewGate:Fo.value,customAutoLoopGroomingIntro:Io.value,customQaPromptTemplate:Lo.value,customBrainstormingInstruction:Ro.value,voiceEnabled:zo.value,voicePttKey:Bo.value,voiceLanguage:Vo.value,voiceModel:Y.value,voiceCommandPath:Ho.value.trim(),voiceFfmpegPath:Uo.value.trim(),voiceTemperature:Wo.value,voicePrompt:Go.value,voiceTranslateToEnglish:Ko.value,voiceSuppressNonSpeechTokens:qo.value}),Gs.value=qs(),t.notify({type:`positive`,message:w(`settings.saved`),position:`top`})}catch{t.notify({type:`negative`,message:w(`settings.saveError`),position:`top`})}finally{es.value=!1}}}async function uc(e){Jo.value=e,hc();try{await n.downloadVoiceModel(e)}catch{t.notify({type:`negative`,message:w(`voice.downloadFailed`),position:`top`})}finally{Jo.value=null,gc()}}async function dc(e){Jo.value=e;try{await n.deleteVoiceModel(e),Y.value===e&&(Y.value=null)}catch{t.notify({type:`negative`,message:w(`voice.deleteFailed`),position:`top`})}finally{Jo.value=null}}async function fc(e){try{await n.cancelVoiceModelDownload(e)}catch{t.notify({type:`negative`,message:w(`voice.cancelFailed`),position:`top`})}}function pc(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 mc=null;function hc(){mc||=setInterval(()=>{n.fetchVoiceModels().catch(()=>{})},800)}function gc(){mc&&=(clearInterval(mc),null)}async function _c(e){try{await navigator.clipboard.writeText(e),t.notify({type:`positive`,message:w(`common.copied`),position:`top`,timeout:1200})}catch{t.notify({type:`negative`,message:w(`common.copyFailed`),position:`top`})}}async function vc(){if(!Q.value.path.trim()){t.notify({type:`negative`,message:w(`settings.projectPathRequired`),position:`top`});return}ms.value=!0;try{await n.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,devServer:Q.value.devServer,e2e:Q.value.e2e,finalization:Q.value.finalization}),Z.value=!1;let e=n.projects.findIndex(e=>e.path===Q.value.path.trim());e>=0&&(X.value=e),Ks.value=Js(),t.notify({type:`positive`,message:w(`settings.projectSaved`),position:`top`})}catch{t.notify({type:`negative`,message:w(`settings.projectSaveError`),position:`top`})}finally{ms.value=!1}}function yc(){if(!Ws.value)return;let e=Ws.value.displayName||Ws.value.path;t.dialog({title:w(`settings.deleteProjectConfirmTitle`),message:w(`settings.deleteProjectConfirmMessage`,{name:e}),dark:!0,cancel:{flat:!0,label:w(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:w(`common.delete`),color:`red-5`}}).onOk(async()=>{if(Ws.value){hs.value=!0;try{await n.deleteProject(Ws.value.path),X.value=-1,Z.value=!1,tc(null),t.notify({type:`positive`,message:w(`settings.projectDeleted`),position:`top`})}catch{t.notify({type:`negative`,message:w(`settings.projectDeleteError`),position:`top`})}finally{hs.value=!1}}})}function bc(){X.value=-1,Z.value=!0,tc(null),ns.value=null,rs.value=null}function xc(e){Z.value=!1,X.value=e,ns.value=null,rs.value=null}function Sc(e){if(e.displayName)return e.displayName;let t=e.path.split(`/`);return t[t.length-1]??e.path}let Cc=g([]);function wc(e,t){t(()=>{Cc.value=e?fs.value.filter(t=>t.toLowerCase().includes(e.toLowerCase())):fs.value})}return o(async()=>{await Promise.all([n.fetchSettings(),n.fetchActiveMcpServers(),us()]);try{bo.value=(await n.fetchGlobalDefaults()).changeSourceBranchScript??``}catch(e){console.error(`[SettingsPage] fetchGlobalDefaults failed:`,e)}await n.fetchVoiceModels(),await n.fetchVoiceRuntime(),ec(),tt().catch(()=>{})}),s(()=>{rc&&clearTimeout(rc),gc()}),(e,t)=>(i(),h(We,{class:`settings-page`},{default:r(()=>[C(`div`,st,[C(`aside`,ct,[C(`div`,lt,u(e.$t(`settings.title`)),1),d(Ne,{dense:``,class:`settings-nav__list`},{default:r(()=>[(i(!0),x(S,null,c(ae.value,e=>a((i(),h(F,{key:e.value,clickable:``,"data-tour":`settings-nav-${e.value}`,class:T([`settings-nav__item`,{"settings-nav__item--active":E.value===e.value}]),onClick:t=>E.value=e.value},{default:r(()=>[d(I,{avatar:``,class:`settings-nav__icon`},{default:r(()=>[d(O,{name:e.icon,size:`16px`},null,8,[`name`])]),_:2},1024),d(I,{class:`settings-nav__label`},{default:r(()=>[v(u(e.label),1)]),_:2},1024)]),_:2},1032,[`data-tour`,`class`,`onClick`])),[[xe,!1]])),128))]),_:1})]),C(`main`,ut,[C(`header`,dt,[C(`h2`,ft,u(oe.value),1)]),C(`div`,pt,[a(C(`div`,mt,[a(C(`div`,ht,[C(`div`,gt,u(e.$t(`settings.language`)),1),d(U,{"model-value":f(ne),options:As,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input`,"onUpdate:modelValue":js},null,8,[`model-value`])],512),[[D,E.value===`general`]]),a(C(`div`,_t,[C(`div`,vt,u(e.$t(`settings.workspaceListSection`)),1),d(P,{modelValue:Mo.value,"onUpdate:modelValue":t[0]||=e=>Mo.value=e,label:e.$t(`settings.flattenWorkspaceList`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`},null,8,[`modelValue`,`label`]),C(`div`,yt,u(e.$t(`settings.flattenWorkspaceListHint`)),1)],512),[[D,E.value===`general`]]),a(C(`div`,bt,[C(`div`,xt,u(e.$t(`settings.skillSuite.section`)),1),d(ke,{modelValue:J.value,"onUpdate:modelValue":t[1]||=e=>J.value=e,options:[{label:e.$t(`settings.skillSuite.superpowers`),value:`superpowers`},{label:e.$t(`settings.skillSuite.gstack`),value:`gstack`},{label:e.$t(`settings.skillSuite.superpowersGstack`),value:`superpowers+gstack`},{label:e.$t(`settings.skillSuite.custom`),value:`custom`}],type:`radio`,color:`indigo-4`,dense:``,dark:``,inline:``},null,8,[`modelValue`,`options`]),C(`div`,St,u(e.$t(No.value)),1),d(j,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`grey-5`,icon:`restart_alt`,label:e.$t(`settings.skillSuite.reloadDefaults`),disable:J.value!==`custom`,class:`q-mt-sm`,onClick:Xo},null,8,[`label`,`disable`])],512),[[D,E.value===`skills`]]),E.value===`skills`&&J.value===`custom`?(i(),x(`div`,Ct,[C(`div`,wt,u(e.$t(`settings.skillSuite.customPrompts`)),1),C(`div`,Tt,u(e.$t(`settings.skillSuite.reviewTemplate`)),1),d(N,{modelValue:Po.value,"onUpdate:modelValue":t[2]||=e=>Po.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`]),C(`div`,Et,u(e.$t(`settings.skillSuite.autoLoopReviewGate`)),1),d(N,{modelValue:Fo.value,"onUpdate:modelValue":t[3]||=e=>Fo.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`]),C(`div`,Dt,u(e.$t(`settings.skillSuite.autoLoopGroomingIntro`)),1),d(N,{modelValue:Io.value,"onUpdate:modelValue":t[4]||=e=>Io.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`]),C(`div`,Ot,u(e.$t(`settings.skillSuite.qaTemplate`)),1),d(N,{modelValue:Lo.value,"onUpdate:modelValue":t[5]||=e=>Lo.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`]),C(`div`,kt,u(e.$t(`settings.skillSuite.brainstormingInstruction`)),1),d(N,{modelValue:Ro.value,"onUpdate:modelValue":t[6]||=e=>Ro.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])])):_(``,!0),a(C(`div`,At,[C(`div`,jt,u(e.$t(`settings.defaultModelClaude`)),1),d(U,{modelValue:ce.value,"onUpdate:modelValue":t[7]||=e=>ce.value=e,options:Ms.value,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`options`]),C(`div`,Mt,u(e.$t(`settings.defaultModelCodex`)),1),d(U,{modelValue:le.value,"onUpdate:modelValue":t[8]||=e=>le.value=e,options:Ns.value,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`options`]),C(`div`,Nt,u(e.$t(`settings.defaultPermissionModeClaude`)),1),C(`div`,Pt,u(e.$t(`settings.defaultPermissionModeHint`)),1),d(U,{modelValue:at.value,"onUpdate:modelValue":t[9]||=e=>at.value=e,options:Is.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`options`]),C(`div`,Ft,u(e.$t(`settings.defaultPermissionModeCodex`)),1),d(U,{modelValue:co.value,"onUpdate:modelValue":t[10]||=e=>co.value=e,options:Ls.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])],512),[[D,E.value===`agents`]]),a(C(`div`,It,[C(`div`,Lt,u(e.$t(`settings.activityFeed`)),1),d(P,{"model-value":f(n).showVerboseSystemMessages,label:e.$t(`settings.verboseMessages`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`,"onUpdate:modelValue":t[11]||=e=>f(n).toggleVerboseSystemMessages()},null,8,[`model-value`,`label`])],512),[[D,E.value===`general`]]),a(C(`div`,Rt,[C(`div`,zt,u(e.$t(`settings.notifications`)),1),C(`div`,Bt,[d(P,{modelValue:R.value,"onUpdate:modelValue":t[12]||=e=>R.value=e,label:e.$t(`settings.browserNotifications`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`},null,8,[`modelValue`,`label`]),d(P,{modelValue:z.value,"onUpdate:modelValue":t[13]||=e=>z.value=e,label:e.$t(`settings.audioNotifications`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`},null,8,[`modelValue`,`label`])]),C(`div`,Vt,[d(U,{modelValue:B.value,"onUpdate:modelValue":t[14]||=e=>B.value=e,options:Bs.value,label:e.$t(`settings.notificationSound`),disable:!z.value,dark:``,dense:``,outlined:``,"emit-value":``,"map-options":``,color:`indigo-4`,class:`col`},null,8,[`modelValue`,`options`,`label`,`disable`]),d(j,{flat:``,dense:``,color:`indigo-4`,icon:`play_arrow`,label:e.$t(`settings.notificationSoundPreview`),disable:!z.value,onClick:Us},null,8,[`label`,`disable`])]),C(`div`,Ht,[C(`div`,Ut,u(e.$t(`settings.notificationVolume`)),1),d(nt,{modelValue:H.value,"onUpdate:modelValue":t[15]||=e=>H.value=e,min:0,max:1,step:.05,disable:!z.value,dark:``,dense:``,color:`indigo-4`,class:`col`},null,8,[`modelValue`,`disable`]),C(`div`,Wt,u(Math.round(H.value*100))+`% `,1)])],512),[[D,E.value===`notifications`]]),a(C(`div`,Gt,[C(`div`,Kt,[C(`div`,qt,u(e.$t(`voice.sectionRuntime`)),1),d(V),d(j,{flat:``,dense:``,"no-caps":``,size:`sm`,icon:`refresh`,color:`grey-5`,label:f(w)(`common.refresh`),onClick:t[16]||=e=>f(n).fetchVoiceRuntime()},null,8,[`label`])]),C(`div`,Jt,[C(`div`,Yt,[d(O,{name:f(n).voiceRuntime?.available?`check_circle`:`cancel`,color:f(n).voiceRuntime?.available?`green-5`:`red-5`,size:`xs`},null,8,[`name`,`color`]),C(`span`,{class:T([`text-caption`,f(n).voiceRuntime?.available?`text-green-5`:`text-red-5`])},u(f(n).voiceRuntime?.available?f(w)(`voice.runtimeReady`,{command:f(n).voiceRuntime?.command??`whisper-cli`}):f(w)(`voice.runtimeMissing`,{command:f(n).voiceRuntime?.command??`whisper-cli`})),3)]),C(`div`,Xt,[d(O,{name:f(n).voiceRuntime?.ffmpegAvailable?`check_circle`:`cancel`,color:f(n).voiceRuntime?.ffmpegAvailable?`green-5`:`red-5`,size:`xs`},null,8,[`name`,`color`]),C(`span`,{class:T([`text-caption`,f(n).voiceRuntime?.ffmpegAvailable?`text-green-5`:`text-red-5`])},u(f(n).voiceRuntime?.ffmpegAvailable?f(w)(`voice.ffmpegReady`):f(w)(`voice.ffmpegMissing`)),3)])]),d(Me,{dense:``,dark:``,icon:`help_outline`,label:e.$t(`voice.installGuideTitle`),class:`variables-panel rounded-borders q-mt-sm`},{default:r(()=>[C(`div`,Zt,[C(`div`,Qt,u(e.$t(`voice.installGuideIntro`)),1),C(`div`,$t,[C(`a`,en,u(e.$t(`voice.installLink`)),1)]),C(`div`,tn,u(e.$t(`voice.installGuideUbuntuTitle`)),1),t[92]||=C(`pre`,{class:`mono-guide q-mb-sm`},`sudo apt update
2
- sudo apt install -y cmake build-essential ffmpeg
3
- git clone https://github.com/ggml-org/whisper.cpp.git
4
- cd whisper.cpp
5
- cmake -B build
6
- cmake --build build -j`,-1),C(`div`,nn,u(e.$t(`voice.installGuideBinaryPathHint`)),1),C(`div`,rn,u(e.$t(`voice.installGuideWindowsTitle`)),1),t[93]||=C(`pre`,{class:`mono-guide q-mb-sm`},`# Install CMake + Visual Studio Build Tools (C/C++)
7
- # Install ffmpeg (choco/scoop)
8
- where whisper-cli
9
- where ffmpeg`,-1),C(`div`,null,u(e.$t(`voice.installGuideSettingsHint`)),1)])]),_:1},8,[`label`])],512),[[D,E.value===`voice`]]),a(C(`div`,an,[C(`div`,on,u(e.$t(`voice.sectionActivation`)),1),d(P,{modelValue:zo.value,"onUpdate:modelValue":t[17]||=e=>zo.value=e,label:e.$t(`voice.enabled`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption q-mb-sm`},null,8,[`modelValue`,`label`]),C(`div`,sn,[C(`div`,cn,[d(U,{modelValue:Bo.value,"onUpdate:modelValue":t[18]||=e=>Bo.value=e,label:e.$t(`voice.pttKey`),options:[{label:e.$t(`voice.pttAlt`),value:`alt`},{label:e.$t(`voice.pttCtrlSpace`),value:`ctrl+space`}],"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`label`,`options`])]),C(`div`,ln,[d(U,{modelValue:Vo.value,"onUpdate:modelValue":t[19]||=e=>Vo.value=e,label:e.$t(`voice.language`),options:Hs,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`label`])])])],512),[[D,E.value===`voice`]]),a(C(`div`,un,[C(`div`,dn,u(e.$t(`voice.sectionModels`)),1),d(U,{modelValue:Y.value,"onUpdate:modelValue":t[20]||=e=>Y.value=e,label:e.$t(`voice.model`),options:Vs.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`label`,`options`]),f(n).voiceModelsDir?(i(),x(`div`,fn,[d(O,{name:`folder`,color:`grey-5`,size:`xs`}),C(`span`,pn,u(f(n).voiceModelsDir),1),d(j,{flat:``,dense:``,round:``,size:`xs`,icon:`content_copy`,color:`grey-5`,title:f(w)(`common.copy`),onClick:t[21]||=e=>_c(f(n).voiceModelsDir)},null,8,[`title`])])):_(``,!0),C(`div`,mn,[(i(!0),x(S,null,c(f(n).voiceModels,t=>(i(),x(`div`,{key:t.name,class:T([`voice-model-row q-pa-sm rounded-borders`,{"voice-model-row--active":t.download}])},[C(`div`,hn,[d(O,{name:t.download?`downloading`:t.installed?`check_circle`:`circle`,color:t.download?`indigo-4`:t.installed?`green-5`:`grey-7`,size:`xs`},null,8,[`name`,`color`]),C(`span`,gn,u(t.name),1),C(`span`,_n,u(pc(t.installedSizeBytes??t.sizeBytes)),1),d(V),t.download?(i(),h(j,{key:0,flat:``,dense:``,"no-caps":``,size:`sm`,color:`grey-5`,icon:`close`,label:e.$t(`common.cancel`),onClick:e=>fc(t.name)},null,8,[`label`,`onClick`])):(i(),h(j,{key:1,flat:``,dense:``,"no-caps":``,size:`sm`,color:t.installed?`red-5`:`indigo-4`,icon:t.installed?`delete_outline`:`download`,label:t.installed?e.$t(`voice.delete`):e.$t(`voice.download`),loading:Jo.value===t.name,onClick:e=>t.installed?dc(t.name):uc(t.name)},null,8,[`color`,`icon`,`label`,`loading`,`onClick`]))]),t.download?(i(),x(`div`,vn,[d(be,{value:t.download.total>0?Math.min(1,t.download.downloaded/t.download.total):0,indeterminate:!t.download.total,color:`indigo-4`,"track-color":`grey-9`,size:`6px`,rounded:``},null,8,[`value`,`indeterminate`]),C(`div`,yn,[C(`span`,bn,u(pc(t.download.downloaded))+` / `+u(pc(t.download.total)),1),d(V),C(`span`,xn,u(t.download.total>0?`${Math.floor(t.download.downloaded/t.download.total*100)}%`:`—`),1)])])):t.installed?(i(),x(`div`,Sn,u(t.fileName),1)):_(``,!0)],2))),128))])],512),[[D,E.value===`voice`]]),a(C(`div`,Cn,[C(`div`,wn,u(e.$t(`voice.sectionAdvanced`)),1),d(Me,{dense:``,dark:``,icon:`tune`,label:e.$t(`voice.sectionBehavior`),class:`variables-panel rounded-borders q-mb-sm`},{default:r(()=>[C(`div`,Tn,[C(`div`,En,[C(`div`,Dn,u(e.$t(`voice.temperature`)),1),d(nt,{modelValue:Wo.value,"onUpdate:modelValue":t[22]||=e=>Wo.value=e,min:0,max:1,step:.05,dark:``,dense:``,color:`indigo-4`,class:`col`},null,8,[`modelValue`]),C(`div`,On,u(Wo.value.toFixed(2)),1)]),C(`div`,kn,u(e.$t(`voice.temperatureHint`)),1),d(N,{modelValue:Go.value,"onUpdate:modelValue":t[23]||=e=>Go.value=e,label:e.$t(`voice.initialPrompt`),type:`textarea`,dense:``,dark:``,outlined:``,rows:2,class:`settings-input`},null,8,[`modelValue`,`label`]),C(`div`,An,u(e.$t(`voice.initialPromptHint`)),1),d(P,{modelValue:Ko.value,"onUpdate:modelValue":t[24]||=e=>Ko.value=e,label:e.$t(`voice.translateToEnglish`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`},null,8,[`modelValue`,`label`]),C(`div`,jn,u(e.$t(`voice.translateToEnglishHint`)),1),d(P,{modelValue:qo.value,"onUpdate:modelValue":t[25]||=e=>qo.value=e,label:e.$t(`voice.suppressNst`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`},null,8,[`modelValue`,`label`]),C(`div`,Mn,u(e.$t(`voice.suppressNstHint`)),1)])]),_:1},8,[`label`]),d(Me,{dense:``,dark:``,icon:`terminal`,label:e.$t(`voice.sectionBinaries`),class:`variables-panel rounded-borders`},{default:r(()=>[C(`div`,Nn,[d(N,{modelValue:Ho.value,"onUpdate:modelValue":t[26]||=e=>Ho.value=e,label:e.$t(`voice.commandPath`),dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`label`]),d(N,{modelValue:Uo.value,"onUpdate:modelValue":t[27]||=e=>Uo.value=e,label:e.$t(`voice.ffmpegPath`),dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`label`])])]),_:1},8,[`label`])],512),[[D,E.value===`voice`]]),E.value===`prompts`?(i(),x(`div`,Pn,[C(`div`,Fn,[C(`div`,In,u(e.$t(`settings.prPromptTemplate`)),1),d(V),d(j,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`grey-5`,icon:`restart_alt`,label:f(w)(`settings.resetToDefault`),loading:K.value===`prPromptTemplate`,disable:K.value!==null&&K.value!==`prPromptTemplate`,onClick:t[28]||=e=>cc(`prPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),C(`div`,Ln,u(e.$t(`settings.prPromptHint`)),1),d(N,{modelValue:k.value,"onUpdate:modelValue":t[29]||=e=>k.value=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:8,placeholder:e.$t(`settings.prPromptPlaceholder`),class:`settings-input mono-textarea q-mb-md`},null,8,[`modelValue`,`placeholder`]),C(`div`,Rn,[d(Me,{dense:``,dark:``,icon:`code`,label:e.$t(`settings.availableVariables`),class:`variables-panel rounded-borders`},{default:r(()=>[d(Ne,{dense:``,dark:``,class:`q-pa-sm`},{default:r(()=>[(i(!0),x(S,null,c(Rs.value,e=>(i(),h(F,{key:e.name,dense:``},{default:r(()=>[d(I,null,{default:r(()=>[d(L,{class:`text-caption`,style:{"font-family":`monospace`}},{default:r(()=>[v(u(e.name),1)]),_:2},1024),d(L,{caption:``,class:`text-grey-7`},{default:r(()=>[v(u(e.description),1)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1},8,[`label`])]),C(`div`,zn,[C(`div`,Bn,u(e.$t(`settings.reviewPromptTemplate`)),1),d(V),d(j,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`grey-5`,icon:`restart_alt`,label:f(w)(`settings.resetToDefault`),loading:K.value===`reviewPromptTemplate`,disable:K.value!==null&&K.value!==`reviewPromptTemplate`,onClick:t[30]||=e=>cc(`reviewPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),C(`div`,Vn,u(e.$t(`settings.prPromptHint`)),1),d(N,{modelValue:de.value,"onUpdate:modelValue":t[31]||=e=>de.value=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:8,placeholder:e.$t(`settings.reviewPromptPlaceholder`),class:`settings-input mono-textarea q-mb-md`},null,8,[`modelValue`,`placeholder`]),C(`div`,Hn,[C(`div`,Un,u(e.$t(`settings.ciFixPromptTemplate`)),1),d(V),d(j,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`grey-5`,icon:`restart_alt`,label:f(w)(`settings.resetToDefault`),loading:K.value===`ciFixPromptTemplate`,disable:K.value!==null&&K.value!==`ciFixPromptTemplate`,onClick:t[32]||=e=>cc(`ciFixPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),C(`div`,Wn,u(e.$t(`settings.ciFixPromptHint`)),1),d(N,{modelValue:A.value,"onUpdate:modelValue":t[33]||=e=>A.value=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:8,placeholder:e.$t(`settings.ciFixPromptPlaceholder`),class:`settings-input mono-textarea q-mb-md`},null,8,[`modelValue`,`placeholder`]),C(`div`,Gn,[C(`div`,Kn,u(e.$t(`settings.gitConventions`)),1),d(V),d(j,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`grey-5`,icon:`restart_alt`,label:f(w)(`settings.resetToDefault`),loading:K.value===`gitConventions`,disable:K.value!==null&&K.value!==`gitConventions`,onClick:t[34]||=e=>cc(`gitConventions`)},null,8,[`label`,`loading`,`disable`])]),C(`div`,qn,u(e.$t(`settings.gitConventionsHint`)),1),d(N,{modelValue:Ce.value,"onUpdate:modelValue":t[35]||=e=>Ce.value=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:8,placeholder:e.$t(`settings.gitConventionsPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])])):_(``,!0),a(C(`div`,Jn,[C(`div`,Yn,u(e.$t(`settings.editorCommand`)),1),C(`div`,Xn,u(e.$t(`settings.editorCommandHint`)),1),d(N,{modelValue:M.value,"onUpdate:modelValue":t[36]||=e=>M.value=e,dense:``,dark:``,outlined:``,placeholder:e.$t(`settings.editorCommandPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])],512),[[D,E.value===`general`]]),a(C(`div`,Zn,[C(`div`,Qn,u(e.$t(`settings.fileManagerCommand`)),1),C(`div`,$n,u(e.$t(`settings.fileManagerCommandHint`)),1),d(N,{modelValue:we.value,"onUpdate:modelValue":t[37]||=e=>we.value=e,dense:``,dark:``,outlined:``,placeholder:e.$t(`settings.fileManagerCommandPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])],512),[[D,E.value===`general`]]),a(C(`div`,er,[C(`div`,tr,u(e.$t(`settings.mcpSelection`)),1),C(`div`,nr,u(e.$t(`settings.mcpSelectionHint`)),1),C(`div`,rr,[C(`div`,ir,u(e.$t(`settings.notionMcp`)),1),d(U,{modelValue:lo.value,"onUpdate:modelValue":t[38]||=e=>lo.value=e,options:zs.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])]),C(`div`,ar,[C(`div`,or,u(e.$t(`settings.sentryMcp`)),1),d(U,{modelValue:uo.value,"onUpdate:modelValue":t[39]||=e=>uo.value=e,options:zs.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])])],512),[[D,E.value===`notion`||E.value===`sentry`]]),E.value===`notion`?(i(),x(`div`,sr,[C(`div`,cr,u(e.$t(`settings.notionStatus`)),1),C(`div`,lr,u(e.$t(`settings.notionStatusHint`)),1),C(`div`,ur,[C(`div`,dr,u(e.$t(`settings.notionStatusProperty`)),1),d(N,{modelValue:Je.value,"onUpdate:modelValue":t[40]||=e=>Je.value=e,dense:``,dark:``,outlined:``,placeholder:e.$t(`settings.notionStatusPropertyPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),C(`div`,fr,[C(`div`,pr,u(e.$t(`settings.notionInProgressStatus`)),1),d(N,{modelValue:Ye.value,"onUpdate:modelValue":t[41]||=e=>Ye.value=e,dense:``,dark:``,outlined:``,placeholder:e.$t(`settings.notionInProgressStatusPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),C(`div`,mr,[C(`div`,hr,u(f(w)(`settings.notionInitialPrompt`)),1),d(V),d(j,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`grey-5`,icon:`restart_alt`,label:f(w)(`settings.resetToDefault`),loading:K.value===`notionInitialPromptTemplate`,disable:K.value!==null&&K.value!==`notionInitialPromptTemplate`,onClick:t[42]||=e=>cc(`notionInitialPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),C(`div`,gr,u(f(w)(`settings.notionInitialPrompt.help`,{variables:`{ticket_id}, {notion_url}, {notion_file_path}`})),1),d(N,{modelValue:G.value,"onUpdate:modelValue":t[43]||=e=>G.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])])):_(``,!0),a(C(`div`,_r,[C(`div`,vr,u(e.$t(`settings.notionAssignee`)),1),C(`div`,yr,u(e.$t(`settings.notionAssigneeHint`)),1),C(`div`,br,[C(`div`,xr,u(e.$t(`settings.notionAssigneeProperty`)),1),d(N,{modelValue:Xe.value,"onUpdate:modelValue":t[44]||=e=>Xe.value=e,dense:``,dark:``,outlined:``,placeholder:e.$t(`settings.notionAssigneePropertyPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),C(`div`,Sr,[C(`div`,Cr,[C(`div`,wr,u(e.$t(`settings.notionUserId`)),1),d(j,{flat:``,dense:``,"no-caps":``,size:`sm`,icon:`refresh`,color:`grey-5`,loading:Qe.value,label:e.$t(`settings.notionUsersRefresh`),onClick:t[45]||=e=>tt(!0)},null,8,[`loading`,`label`])]),Ze.value.length>0?(i(),h(U,{key:0,modelValue:W.value,"onUpdate:modelValue":t[46]||=e=>W.value=e,options:et.value,"emit-value":``,"map-options":``,clearable:``,dense:``,dark:``,outlined:``,hint:e.$t(`settings.notionUserIdHint`),class:`settings-input`},{option:r(e=>[d(F,m(l(e.itemProps)),{default:r(()=>[d(I,{avatar:``},{default:r(()=>[d(he,{size:`24px`},{default:r(()=>[e.opt.avatarUrl?(i(),x(`img`,{key:0,src:e.opt.avatarUrl,alt:e.opt.label},null,8,Tr)):(i(),h(O,{key:1,name:`person`,size:`20px`}))]),_:2},1024)]),_:2},1024),d(I,null,{default:r(()=>[d(L,null,{default:r(()=>[v(u(e.opt.name),1)]),_:2},1024),d(L,{caption:``},{default:r(()=>[v(u(e.opt.email),1)]),_:2},1024)]),_:2},1024)]),_:2},1040)]),_:1},8,[`modelValue`,`options`,`hint`])):Qe.value?(i(),x(`div`,Er,u(e.$t(`settings.notionUsersLoading`)),1)):(i(),x(S,{key:2},[$e.value?(i(),x(`div`,Dr,u(e.$t(`settings.notionUsersLoadFailed`,{error:$e.value})),1)):_(``,!0),d(N,{modelValue:W.value,"onUpdate:modelValue":t[47]||=e=>W.value=e,dense:``,dark:``,outlined:``,placeholder:e.$t(`settings.notionUserIdPlaceholder`),hint:$e.value?e.$t(`settings.notionUsersManualFallback`):e.$t(`settings.notionUserIdHint`),class:`settings-input`},null,8,[`modelValue`,`placeholder`,`hint`])],64))])],512),[[D,E.value===`notion`]]),E.value===`sentry`?(i(),x(`div`,Or,[C(`div`,kr,u(f(w)(`settings.sentryIntegration`)),1),C(`div`,Ar,[C(`div`,jr,u(f(w)(`settings.sentryInitialPrompt`)),1),d(V),d(j,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`grey-5`,icon:`restart_alt`,label:f(w)(`settings.resetToDefault`),loading:K.value===`sentryInitialPromptTemplate`,disable:K.value!==null&&K.value!==`sentryInitialPromptTemplate`,onClick:t[48]||=e=>cc(`sentryInitialPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),C(`div`,Mr,u(f(w)(`settings.sentryInitialPrompt.help`,{variables:`{issue_id}, {sentry_url}, {sentry_file_path}`})),1),d(N,{modelValue:it.value,"onUpdate:modelValue":t[49]||=e=>it.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])])):_(``,!0),a(C(`div`,Nr,[C(`div`,Pr,u(e.$t(`settings.tagsTitle`)),1),C(`div`,Fr,u(e.$t(`settings.tagsHint`)),1),d(U,{modelValue:fo.value,"onUpdate:modelValue":t[50]||=e=>fo.value=e,label:e.$t(`settings.tagsLabel`),dark:``,outlined:``,multiple:``,"use-input":``,"use-chips":``,"new-value-mode":`add-unique`,"hide-dropdown-icon":``,"input-debounce":`0`,class:`settings-input`},null,8,[`modelValue`,`label`])],512),[[D,E.value===`general`]]),a(C(`div`,Ir,[C(`div`,Lr,u(e.$t(`settings.branchPrefixesTitle`)),1),C(`div`,Rr,u(e.$t(`settings.branchPrefixesHint`)),1),q.value.length>0?(i(),h(Ne,{key:0,bordered:``,separator:``,class:`rounded-borders q-mb-sm`},{default:r(()=>[(i(!0),x(S,null,c(q.value,(t,n)=>(i(),h(F,{key:t},{default:r(()=>[d(I,null,{default:r(()=>[d(L,{class:`cursor-pointer`},{default:r(()=>[v(u(t)+`/ `,1),d(rt,{"model-value":t,"auto-save":``,onSave:e=>Ao(n,e)},{default:r(e=>[d(N,{modelValue:e.value,"onUpdate:modelValue":t=>e.value=t,dense:``,dark:``,autofocus:``,onKeyup:te(e.set,[`enter`])},null,8,[`modelValue`,`onUpdate:modelValue`,`onKeyup`])]),_:1},8,[`model-value`,`onSave`]),d(je,null,{default:r(()=>[v(u(e.$t(`settings.branchPrefixesEditHint`)),1)]),_:1})]),_:2},1024)]),_:2},1024),d(I,{side:``},{default:r(()=>[C(`div`,zr,[d(j,{flat:``,dense:``,round:``,size:`sm`,icon:`keyboard_arrow_up`,color:`grey-6`,disable:n===0,title:e.$t(`settings.branchPrefixesMoveUp`),onClick:e=>jo(n,-1)},null,8,[`disable`,`title`,`onClick`]),d(j,{flat:``,dense:``,round:``,size:`sm`,icon:`keyboard_arrow_down`,color:`grey-6`,disable:n===q.value.length-1,title:e.$t(`settings.branchPrefixesMoveDown`),onClick:e=>jo(n,1)},null,8,[`disable`,`title`,`onClick`]),d(j,{flat:``,dense:``,round:``,size:`sm`,icon:`delete`,color:`grey-6`,title:e.$t(`common.delete`),onClick:e=>ko(n)},null,8,[`title`,`onClick`])])]),_:2},1024)]),_:2},1024))),128))]),_:1})):(i(),x(`div`,Br,u(e.$t(`settings.branchPrefixesEmpty`)),1)),C(`div`,Vr,[d(N,{modelValue:po.value,"onUpdate:modelValue":t[51]||=e=>po.value=e,label:e.$t(`settings.branchPrefixesAddLabel`),dense:``,dark:``,outlined:``,class:`col`,onKeyup:te(Oo,[`enter`])},null,8,[`modelValue`,`label`]),d(j,{flat:``,label:e.$t(`common.add`),icon:`add`,color:`primary`,disable:Do(po.value).length===0,onClick:Oo},null,8,[`label`,`disable`])])],512),[[D,E.value===`general`]]),a(C(`div`,Hr,[C(`div`,Ur,u(e.$t(`settings.setupScript`)),1),C(`div`,Wr,u(e.$t(`settings.setupScriptHint`)),1),d(N,{modelValue:mo.value,"onUpdate:modelValue":t[52]||=e=>mo.value=e,type:`textarea`,dark:``,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:e.$t(`settings.setupScriptPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])],512),[[D,E.value===`scripts`]]),a(C(`div`,Gr,[C(`div`,Kr,u(e.$t(`settings.onboardingTitle`)),1),C(`div`,qr,u(e.$t(`settings.onboardingHint`)),1),d(j,{flat:``,"no-caps":``,icon:`play_circle`,color:`indigo-4`,label:e.$t(`settings.onboardingReplay`),onClick:f(re)},null,8,[`label`,`onClick`])],512),[[D,E.value===`general`]]),a(C(`div`,Jr,[C(`div`,Yr,u(e.$t(`settings.cleanupScript`)),1),C(`div`,Xr,u(e.$t(`settings.cleanupScriptHint`)),1),d(N,{modelValue:ho.value,"onUpdate:modelValue":t[53]||=e=>ho.value=e,type:`textarea`,dark:``,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:e.$t(`settings.cleanupScriptPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`]),C(`div`,Zr,u(e.$t(`settings.cleanupScriptMode`)),1),d(ke,{modelValue:go.value,"onUpdate:modelValue":t[54]||=e=>go.value=e,options:[{label:e.$t(`settings.cleanupScriptMode.idle`),value:`idle`},{label:e.$t(`settings.cleanupScriptMode.noTasks`),value:`no-tasks`}],type:`radio`,color:`indigo-4`,dense:``},null,8,[`modelValue`,`options`]),d(Te,{modelValue:_o.value,"onUpdate:modelValue":t[55]||=e=>_o.value=e,label:e.$t(`settings.cleanupScriptOnlyOnChanges`),dark:``,dense:``,color:`indigo-4`,class:`q-mt-sm`},null,8,[`modelValue`,`label`])],512),[[D,E.value===`scripts`]]),a(C(`div`,Qr,[C(`div`,$r,u(e.$t(`settings.archiveScript`)),1),C(`div`,ei,u(e.$t(`settings.archiveScriptHint`)),1),d(N,{modelValue:vo.value,"onUpdate:modelValue":t[56]||=e=>vo.value=e,type:`textarea`,dark:``,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:e.$t(`settings.archiveScriptPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])],512),[[D,E.value===`scripts`]]),a(C(`div`,ti,[C(`div`,ni,[C(`div`,ri,u(e.$t(`settings.changeSourceBranchScript`)),1),d(j,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`primary`,icon:`restart_alt`,label:e.$t(`settings.changeSourceBranchScript.resetDefault`),onClick:t[57]||=e=>Zo(`global`)},null,8,[`label`])]),C(`div`,ii,u(e.$t(`settings.changeSourceBranchScript.help`)),1),C(`pre`,ai,u(e.$t(`settings.changeSourceBranchScript.envHelp`)),1),d(N,{modelValue:yo.value,"onUpdate:modelValue":t[58]||=e=>yo.value=e,type:`textarea`,dark:``,outlined:``,"input-style":{minHeight:`400px`,maxHeight:`600px`},placeholder:e.$t(`settings.changeSourceBranchScript.placeholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])],512),[[D,E.value===`scripts`]]),a(C(`div`,oi,[C(`div`,si,u(e.$t(`settings.worktreesTitle`)),1),C(`div`,ci,u(e.$t(`settings.worktreesHint`)),1),d(N,{ref_key:`globalWorktreesPathInput`,ref:To,modelValue:wo.value,"onUpdate:modelValue":t[59]||=e=>wo.value=e,label:e.$t(`settings.worktreesPathLabel`),dense:``,dark:``,outlined:``,placeholder:f(pe),rules:$o,"lazy-rules":``,class:`settings-input`},null,8,[`modelValue`,`label`,`placeholder`]),d(P,{modelValue:Eo.value,"onUpdate:modelValue":t[60]||=e=>Eo.value=e,label:e.$t(`settings.worktreesPrefixByProject`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption q-mt-sm`},null,8,[`modelValue`,`label`]),C(`div`,li,u(e.$t(`settings.worktreesPrefixByProjectHint`)),1)],512),[[D,E.value===`worktrees`]]),a(C(`div`,ui,[C(`div`,di,u(e.$t(`settings.shareTitle`)),1),C(`div`,fi,u(e.$t(`settings.shareHint`)),1),C(`div`,pi,[d(j,{label:e.$t(`settings.exportConfig`),icon:`download`,"no-caps":``,outline:``,color:`grey-4`,onClick:ac},null,8,[`label`]),d(j,{label:e.$t(`settings.importConfig`),icon:`upload`,"no-caps":``,outline:``,color:`grey-4`,onClick:oc},null,8,[`label`]),C(`input`,{ref_key:`importFileInput`,ref:ic,type:`file`,accept:`application/json,.json`,style:{display:`none`},onChange:sc},null,544)])],512),[[D,E.value===`export`]]),C(`div`,mi,[d(j,{label:e.$t(`common.save`),"no-caps":``,unelevated:``,size:`sm`,color:`primary`,loading:es.value,class:T({"save-btn--dirty":Ys.value}),onClick:lc},null,8,[`label`,`loading`,`class`])])],512),[[D,se.value]]),a(C(`div`,hi,[C(`div`,gi,[C(`div`,_i,[C(`div`,vi,[C(`div`,yi,[C(`div`,bi,u(e.$t(`settings.configuredProjects`)),1)]),d(ue,{dark:``}),d(Ne,{dark:``,dense:``,class:`q-py-xs`},{default:r(()=>[(i(!0),x(S,null,c(f(n).projects,(e,t)=>(i(),h(F,{key:e.path,clickable:``,active:X.value===t&&!Z.value,"active-class":`project-item--active`,class:`project-item q-mx-xs rounded-borders`,style:{"min-height":`40px`},onClick:e=>xc(t)},{default:r(()=>[d(I,null,{default:r(()=>[d(L,{class:`text-body2 text-grey-3`},{default:r(()=>[v(u(Sc(e)),1)]),_:2},1024),d(L,{caption:``,class:`text-grey-7 ellipsis`,style:{"font-size":`11px`,"font-family":`monospace`}},{default:r(()=>[v(u(e.path),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,[`active`,`onClick`]))),128))]),_:1}),f(n).projects.length===0&&!f(n).loading?(i(),x(`div`,xi,u(e.$t(`settings.noProjects`)),1)):_(``,!0),d(ue,{dark:``}),C(`div`,Si,[d(j,{"data-tour":`settings-card-projects`,label:e.$t(`settings.addProject`),icon:`add`,"no-caps":``,flat:``,dense:``,class:`full-width`,color:`indigo-4`,onClick:bc},null,8,[`label`])])])]),C(`div`,Ci,[C(`div`,wi,[Ws.value||Z.value?(i(),x(S,{key:0},[C(`div`,Ti,[C(`div`,Ei,u(Z.value?e.$t(`settings.newProject`):e.$t(`settings.editProject`)),1),d(V),Z.value?_(``,!0):(i(),h(j,{key:0,label:e.$t(`common.delete`),icon:`delete_outline`,"no-caps":``,flat:``,dense:``,size:`sm`,color:`red-5`,loading:hs.value,onClick:yc},null,8,[`label`,`loading`]))]),d(ue,{dark:``,class:`q-mb-md`}),Z.value&&f(n).projects.length>0?(i(),x(`div`,Di,[C(`div`,Oi,u(e.$t(`settings.copyFrom`)),1),d(U,{"model-value":ns.value,options:is.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":ss},null,8,[`model-value`,`options`,`placeholder`]),C(`div`,ki,u(e.$t(`settings.copyFromHint`)),1)])):_(``,!0),C(`div`,Ai,[C(`div`,ji,u(e.$t(`settings.projectGroup.identity`)),1),C(`div`,Mi,[C(`div`,Ni,u(e.$t(`settings.projectPath`)),1),d(N,{modelValue:Q.value.path,"onUpdate:modelValue":t[62]||=e=>Q.value.path=e,dense:``,dark:``,outlined:``,readonly:!Z.value,placeholder:e.$t(`settings.projectPathPlaceholder`),class:T([`settings-input`,{"readonly-input":!Z.value}])},y({_:2},[Z.value?{name:`append`,fn:r(()=>[d(j,{flat:``,dense:``,round:``,size:`sm`,icon:`folder_open`,color:`grey-5`,onClick:t[61]||=e=>xo.value=!0},{default:r(()=>[d(je,null,{default:r(()=>[v(u(e.$t(`folderPicker.title`)),1)]),_:1})]),_:1})]),key:`0`}:void 0]),1032,[`modelValue`,`readonly`,`placeholder`,`class`])]),C(`div`,Pi,[C(`div`,Fi,u(e.$t(`settings.displayName`)),1),d(N,{modelValue:Q.value.displayName,"onUpdate:modelValue":t[63]||=e=>Q.value.displayName=e,dense:``,dark:``,outlined:``,placeholder:e.$t(`settings.displayNamePlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),C(`div`,null,[C(`div`,Ii,u(e.$t(`settings.projectColor`)),1),C(`div`,Li,[(i(!0),x(S,null,c(f(He),e=>(i(),h(Ve,{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)),d(j,{flat:``,dense:``,"no-caps":``,size:`xs`,label:e.$t(`settings.projectColorClear`),color:`grey-5`,disable:!Q.value.color,onClick:t[64]||=e=>Q.value.color=null},null,8,[`label`,`disable`])]),C(`div`,Ri,u(Q.value.color??e.$t(`settings.projectColorDefault`)),1)])]),C(`div`,zi,[C(`div`,Bi,u(e.$t(`settings.projectGroup.defaults`)),1),C(`div`,Vi,[C(`div`,Hi,u(e.$t(`settings.defaultSourceBranch`)),1),d(U,{modelValue:Q.value.defaultSourceBranch,"onUpdate:modelValue":t[65]||=e=>Q.value.defaultSourceBranch=e,options:Cc.value,dense:``,dark:``,outlined:``,"use-input":``,"emit-value":``,loading:ps.value,class:`settings-input`,placeholder:`main`,onFilter:wc},{"no-option":r(()=>[d(F,null,{default:r(()=>[d(I,{class:`text-grey-6 text-caption`},{default:r(()=>[v(u(Q.value.path.trim()?e.$t(`createPage.noBranches`):e.$t(`createPage.enterPath`)),1)]),_:1})]),_:1})]),_:1},8,[`modelValue`,`options`,`loading`])]),C(`div`,Ui,[C(`div`,Wi,u(e.$t(`settings.defaultModel.project`)),1),d(U,{modelValue:Q.value.defaultModel,"onUpdate:modelValue":t[66]||=e=>Q.value.defaultModel=e,options:Ps.value,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])]),C(`div`,null,[C(`div`,Gi,u(e.$t(`settings.forge`)),1),d(U,{modelValue:Q.value.forge,"onUpdate:modelValue":t[67]||=e=>Q.value.forge=e,options:Fs.value,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])])]),C(`div`,Ki,[C(`div`,qi,u(e.$t(`settings.projectGroup.prompts`)),1),C(`div`,Ji,[C(`div`,Yi,u(e.$t(`settings.prPromptTemplate.project`)),1),C(`div`,Xi,u(f(w)(`settings.initialPrompt.inheritHint`)),1),d(N,{modelValue:Q.value.prPromptTemplate,"onUpdate:modelValue":t[68]||=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`])]),C(`div`,Zi,[C(`div`,Qi,u(e.$t(`settings.reviewPromptTemplate.project`)),1),C(`div`,$i,u(f(w)(`settings.initialPrompt.inheritHint`)),1),d(N,{modelValue:Q.value.reviewPromptTemplate,"onUpdate:modelValue":t[69]||=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`])]),C(`div`,ea,[C(`div`,ta,u(e.$t(`settings.ciFixPromptTemplate.project`)),1),C(`div`,na,u(f(w)(`settings.initialPrompt.inheritHint`)),1),d(N,{modelValue:Q.value.ciFixPromptTemplate,"onUpdate:modelValue":t[70]||=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`])]),C(`div`,ra,[C(`div`,ia,u(f(w)(`settings.notionInitialPrompt.project`)),1),C(`div`,aa,u(f(w)(`settings.initialPrompt.inheritHint`)),1),d(N,{modelValue:Q.value.notionInitialPromptTemplate,"onUpdate:modelValue":t[71]||=e=>Q.value.notionInitialPromptTemplate=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])]),C(`div`,oa,[C(`div`,sa,u(f(w)(`settings.sentryInitialPrompt.project`)),1),C(`div`,ca,u(f(w)(`settings.initialPrompt.inheritHint`)),1),d(N,{modelValue:Q.value.sentryInitialPromptTemplate,"onUpdate:modelValue":t[72]||=e=>Q.value.sentryInitialPromptTemplate=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])]),C(`div`,la,[C(`div`,ua,u(e.$t(`settings.gitConventions.project`)),1),C(`div`,da,u(f(w)(`settings.initialPrompt.inheritHint`)),1),d(N,{modelValue:Q.value.gitConventions,"onUpdate:modelValue":t[73]||=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`])]),C(`div`,null,[C(`div`,fa,u(e.$t(`settings.taskPromptTemplate`)),1),d(N,{modelValue:Q.value.taskPromptTemplate,"onUpdate:modelValue":t[74]||=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`]),C(`div`,pa,u(e.$t(`settings.taskPromptTemplateHint`)),1)])]),C(`div`,ma,[C(`div`,ha,u(e.$t(`settings.projectGroup.scripts`)),1),C(`div`,ga,[C(`div`,_a,u(e.$t(`settings.setupScript`)),1),C(`div`,va,u(f(w)(`settings.initialPrompt.inheritHint`)),1),d(N,{modelValue:Q.value.setupScript,"onUpdate:modelValue":t[75]||=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`]),C(`div`,ya,u(e.$t(`settings.setupScriptHint`)),1)]),C(`div`,ba,[C(`div`,xa,u(e.$t(`settings.cleanupScript`)),1),C(`div`,Sa,u(f(w)(`settings.initialPrompt.inheritHint`)),1),d(N,{modelValue:Q.value.cleanupScript,"onUpdate:modelValue":t[76]||=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`]),C(`div`,Ca,u(e.$t(`settings.cleanupScriptMode`)),1),d(U,{modelValue:Q.value.cleanupScriptMode,"onUpdate:modelValue":t[77]||=e=>Q.value.cleanupScriptMode=e,options:Co.value,"emit-value":``,"map-options":``,dense:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])]),C(`div`,null,[C(`div`,wa,u(e.$t(`settings.archiveScript`)),1),C(`div`,Ta,u(f(w)(`settings.initialPrompt.inheritHint`)),1),d(N,{modelValue:Q.value.archiveScript,"onUpdate:modelValue":t[78]||=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`])]),C(`div`,null,[C(`div`,Ea,[C(`div`,Da,u(e.$t(`settings.changeSourceBranchScript`)),1),d(j,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`primary`,icon:`restart_alt`,label:e.$t(`settings.changeSourceBranchScript.resetDefault`),onClick:t[79]||=e=>Zo(`project`)},null,8,[`label`])]),C(`div`,Oa,u(e.$t(`settings.changeSourceBranchScript.help`)),1),C(`pre`,ka,u(e.$t(`settings.changeSourceBranchScript.envHelp`)),1),d(N,{modelValue:Q.value.changeSourceBranchScript,"onUpdate:modelValue":t[80]||=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`])])]),C(`div`,Aa,[C(`div`,ja,u(e.$t(`settings.devServer`)),1),C(`div`,Ma,[C(`div`,Na,u(e.$t(`settings.devServerStart`)),1),d(N,{modelValue:Q.value.devServer.startCommand,"onUpdate:modelValue":t[81]||=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`])]),C(`div`,null,[C(`div`,Pa,u(e.$t(`settings.devServerStop`)),1),d(N,{modelValue:Q.value.devServer.stopCommand,"onUpdate:modelValue":t[82]||=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`])])]),C(`div`,Fa,[C(`div`,Ia,u(e.$t(`settings.e2e.title`)),1),C(`div`,La,u(e.$t(`settings.e2e.helpText`)),1),d(U,{modelValue:Q.value.e2e.framework,"onUpdate:modelValue":t[83]||=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?(i(),x(S,{key:0},[d(U,{modelValue:Q.value.e2e.skill,"onUpdate:modelValue":t[84]||=e=>Q.value.e2e.skill=e,options:ls.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:ds},null,8,[`modelValue`,`options`,`label`,`placeholder`]),d(N,{modelValue:Q.value.e2e.prompt,"onUpdate:modelValue":t[85]||=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)):_(``,!0)]),C(`div`,Ra,[C(`div`,za,u(e.$t(`settings.finalization.title`)),1),C(`div`,Ba,u(e.$t(`settings.finalization.helpText`)),1),d(N,{modelValue:Q.value.finalization.prompt,"onUpdate:modelValue":t[86]||=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`])]),C(`div`,Va,[d(V),d(j,{label:e.$t(`common.save`),"no-caps":``,unelevated:``,size:`sm`,color:`primary`,loading:ms.value,class:T({"save-btn--dirty":Xs.value}),onClick:vc},null,8,[`label`,`loading`,`class`])])],64)):(i(),x(`div`,Ha,[d(O,{name:`folder_open`,size:`48px`,color:`grey-7`,class:`q-mb-md`}),C(`div`,Ua,u(e.$t(`settings.selectProject`)),1)]))])])])],512),[[D,E.value===`projects`]]),a(C(`div`,Wa,[C(`div`,Ga,[C(`div`,Ka,[C(`div`,qa,u(e.$t(`templates.title`)),1),C(`div`,Ja,[d(j,{flat:``,color:`grey-4`,icon:`restart_alt`,label:e.$t(`templates.reloadDefaults`),dense:``,"no-caps":``,loading:Ss.value,onClick:Os},{default:r(()=>[d(je,null,{default:r(()=>[v(u(e.$t(`templates.reloadDefaultsHint`)),1)]),_:1})]),_:1},8,[`label`,`loading`]),d(j,{color:`primary`,icon:`add`,label:e.$t(`templates.newTemplate`),dense:``,"no-caps":``,onClick:Ts},null,8,[`label`])])]),d(ue,{dark:``,class:`q-mb-md`}),Cs.value.length===0?(i(),x(`div`,Ya,u(e.$t(`templates.empty`)),1)):(i(),x(`div`,Xa,[(i(!0),x(S,null,c(Cs.value,t=>(i(),h(De,{key:t.slug,dark:``,flat:``,bordered:``,class:`q-pa-md template-card`},{default:r(()=>[C(`div`,Za,[C(`div`,Qa,[C(`div`,$a,` /`+u(t.slug),1),C(`div`,eo,u(t.description),1)]),C(`div`,to,[d(j,{flat:``,dense:``,round:``,size:`sm`,icon:`edit`,color:`grey-5`,onClick:e=>Es(t)},{default:r(()=>[d(je,null,{default:r(()=>[v(u(e.$t(`templates.editTemplate`)),1)]),_:1})]),_:1},8,[`onClick`]),d(j,{flat:``,dense:``,round:``,size:`sm`,icon:`delete`,color:`red-4`,onClick:e=>ks(t)},{default:r(()=>[d(je,null,{default:r(()=>[v(u(e.$t(`templates.deleteTemplate`)),1)]),_:1})]),_:1},8,[`onClick`])])])]),_:2},1024))),128))])),C(`div`,no,u(e.$t(`templates.filePath`,{path:`~/.config/kobo/templates.json`})),1)])],512),[[D,E.value===`templates`]])])]),d(ie,{name:`save-bar`},{default:r(()=>[Zs.value?(i(),x(`div`,ro,[C(`span`,io,u(e.$t(`settings.unsavedChanges`)),1),d(j,{dense:``,"no-caps":``,unelevated:``,class:`settings-savebar__action`,loading:Qs.value,label:e.$t(`common.save`),onClick:$s},null,8,[`loading`,`label`])])):_(``,!0)]),_:1})]),d(Ee,{modelValue:gs.value,"onUpdate:modelValue":t[90]||=e=>gs.value=e,persistent:``},{default:r(()=>[d(De,{dark:``,style:{"min-width":`560px`,"max-width":`800px`,width:`80vw`}},{default:r(()=>[d(Ae,null,{default:r(()=>[C(`div`,ao,u(_s.value===null?e.$t(`templates.newTemplate`):e.$t(`templates.editTemplate`)),1)]),_:1}),d(Ae,{class:`q-gutter-md`},{default:r(()=>[d(N,{modelValue:vs.value,"onUpdate:modelValue":t[87]||=e=>vs.value=e,label:e.$t(`templates.slug`),hint:e.$t(`templates.slugHint`),dark:``,dense:``,prefix:`/`,disable:_s.value!==null,rules:[t=>/^[a-z0-9][a-z0-9-]{0,63}$/.test(t)||e.$t(`templates.slugInvalid`)],"lazy-rules":``},null,8,[`modelValue`,`label`,`hint`,`disable`,`rules`]),d(N,{modelValue:ys.value,"onUpdate:modelValue":t[88]||=e=>ys.value=e,label:e.$t(`templates.description`),hint:e.$t(`templates.descriptionHint`),dark:``,dense:``,counter:``,maxlength:`120`,rules:[e=>e&&e.trim().length>0||``]},null,8,[`modelValue`,`label`,`hint`,`rules`]),d(N,{modelValue:bs.value,"onUpdate:modelValue":t[89]||=e=>bs.value=e,label:e.$t(`templates.content`),hint:e.$t(`templates.contentHint`),dark:``,dense:``,type:`textarea`,autogrow:``,counter:``,maxlength:`4096`,rules:[e=>e&&e.trim().length>0||``]},null,8,[`modelValue`,`label`,`hint`,`rules`]),d(Me,{dense:``,"dense-toggle":``,label:e.$t(`templates.availableVars`),"header-class":`text-grey-6 text-caption q-pa-none`,style:{"font-size":`11px`}},{default:r(()=>[C(`div`,oo,[(i(),x(S,null,c(ws,e=>C(`div`,{key:e,class:`text-grey-5 q-mb-xs`},u(e),1)),64))])]),_:1},8,[`label`]),$.value?(i(),x(`div`,so,u($.value),1)):_(``,!0)]),_:1}),d(ye,{align:`right`},{default:r(()=>[a(d(j,{flat:``,label:e.$t(`common.cancel`)},null,8,[`label`]),[[Pe]]),d(j,{flat:``,color:`primary`,label:_s.value===null?e.$t(`templates.create`):e.$t(`templates.save`),loading:xs.value,onClick:Ds},null,8,[`label`,`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),d(ot,{modelValue:xo.value,"onUpdate:modelValue":t[91]||=e=>xo.value=e,"initial-path":Q.value.path,onSelect:So},null,8,[`modelValue`,`initial-path`])]),_:1}))}}),[[`__scopeId`,`data-v-cfeaeb08`]]);export{co as default};
@@ -1 +0,0 @@
1
- import{a as e,h as t}from"./index-djIkvHo7.js";var n=e(({app:e})=>{e.use(t)});export{n as default};