@loicngr/kobo 1.7.9 → 1.7.11

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 (58) hide show
  1. package/dist/server/routes/workspaces.js +13 -2
  2. package/dist/server/services/settings-service.js +14 -0
  3. package/dist/server/services/skill-suite-prompts.js +78 -2
  4. package/dist/server/utils/git-ops.js +9 -1
  5. package/dist/shared/skill-suite-prompts.js +5 -1
  6. package/package.json +1 -1
  7. package/src/client/dist/spa/assets/{ActivityFeed-CKjFT9t6.js → ActivityFeed-BAASG3py.js} +1 -1
  8. package/src/client/dist/spa/assets/{ClosePopup-DMnQG6nw.js → ClosePopup-Bs-9Klyd.js} +1 -1
  9. package/src/client/dist/spa/assets/{CreatePage-BhFrUkEN.js → CreatePage-D9AbgeOT.js} +1 -1
  10. package/src/client/dist/spa/assets/{DiffViewer-BSnvba7W.js → DiffViewer-xnpaPL3h.js} +3 -3
  11. package/src/client/dist/spa/assets/{HealthPage-DZYZWGHp.js → HealthPage-DWNcejdz.js} +1 -1
  12. package/src/client/dist/spa/assets/{MainLayout-C45J7rSF.css → MainLayout-CQRtNn82.css} +1 -1
  13. package/src/client/dist/spa/assets/{MainLayout-CMuiNpet.js → MainLayout-DZCswY_D.js} +2 -2
  14. package/src/client/dist/spa/assets/QChip-CQZIeDHV.js +36 -0
  15. package/src/client/dist/spa/assets/{QExpansionItem-Fij7yBbG.js → QExpansionItem-DQ66zLAu.js} +1 -1
  16. package/src/client/dist/spa/assets/{QMenu-CMoolewZ.js → QMenu-pgVPfC7Y.js} +1 -1
  17. package/src/client/dist/spa/assets/{QTooltip-CbLXk2Bs.js → QTooltip-CTNw68oZ.js} +1 -1
  18. package/src/client/dist/spa/assets/{SearchPage-CBSgEvVF.js → SearchPage-B3emm2UD.js} +1 -1
  19. package/src/client/dist/spa/assets/SettingsPage-B3Kn6fwZ.css +1 -0
  20. package/src/client/dist/spa/assets/SettingsPage-j5vhq9YJ.js +9 -0
  21. package/src/client/dist/spa/assets/{TouchPan-DiBNjOPH.js → TouchPan-SGRB-xYE.js} +1 -1
  22. package/src/client/dist/spa/assets/{WorkspacePage-BTHvQga-.js → WorkspacePage-DmoPjAV6.js} +3 -3
  23. package/src/client/dist/spa/assets/{build-path-tree-BmBqRiCQ.js → build-path-tree-DGuSpWFG.js} +1 -1
  24. package/src/client/dist/spa/assets/{cssMode-ypFF7quM.js → cssMode-BSeHrn8-.js} +1 -1
  25. package/src/client/dist/spa/assets/{editor.api-DtpZuH_B.js → editor.api-Dgjer8XO.js} +1 -1
  26. package/src/client/dist/spa/assets/{editor.main-C7a7L2WP.js → editor.main-DbnmDA5w.js} +3 -3
  27. package/src/client/dist/spa/assets/{engineFeatures-BxAOQcPU.js → engineFeatures-BqiWw0xn.js} +1 -1
  28. package/src/client/dist/spa/assets/{expand-template-GaEux9_o.js → expand-template-_Y9C3CjP.js} +1 -1
  29. package/src/client/dist/spa/assets/{freemarker2-DUBmhe3W.js → freemarker2-C1QMrvUv.js} +1 -1
  30. package/src/client/dist/spa/assets/{handlebars-_XEXkADl.js → handlebars-DgiZwx-t.js} +1 -1
  31. package/src/client/dist/spa/assets/{html-D8gmyhgI.js → html-CiU03AFd.js} +1 -1
  32. package/src/client/dist/spa/assets/{htmlMode-B84S5YOM.js → htmlMode-lj6pNn2T.js} +1 -1
  33. package/src/client/dist/spa/assets/i18n-KyQESqOg.js +1 -0
  34. package/src/client/dist/spa/assets/index-ABhgwrBB.js +2 -0
  35. package/src/client/dist/spa/assets/{javascript-500DcdS9.js → javascript-Bf_RmvhA.js} +1 -1
  36. package/src/client/dist/spa/assets/{jsonMode-DmrWg6b7.js → jsonMode-DkzIh92L.js} +1 -1
  37. package/src/client/dist/spa/assets/{kobo-commands-DCoQW_NQ.js → kobo-commands-thKpumUN.js} +1 -1
  38. package/src/client/dist/spa/assets/{liquid-CfPJszlt.js → liquid-Cg7OHXeJ.js} +1 -1
  39. package/src/client/dist/spa/assets/{mdx-DtjLwENT.js → mdx-l_W5gHfE.js} +1 -1
  40. package/src/client/dist/spa/assets/{monaco.contribution-CxiO5UJd.js → monaco.contribution-DBBmYj6f.js} +2 -2
  41. package/src/client/dist/spa/assets/{notifications-CEyiPnmw.js → notifications-C4jB7A2f.js} +1 -1
  42. package/src/client/dist/spa/assets/{permissionModes-CPZlEHoF.js → permissionModes-CRue7srp.js} +1 -1
  43. package/src/client/dist/spa/assets/{project-color-C4vMEn4C.js → project-color-5UmDpA6C.js} +1 -1
  44. package/src/client/dist/spa/assets/{purify.es-C92_EGvT.js → purify.es-BYydQXtR.js} +1 -1
  45. package/src/client/dist/spa/assets/{python-BS46_AMt.js → python-BEqDMyrj.js} +1 -1
  46. package/src/client/dist/spa/assets/{razor-Ce9zcIFo.js → razor-CG3ZSgSC.js} +1 -1
  47. package/src/client/dist/spa/assets/{render-chat-markdown-BvJwlMiW.js → render-chat-markdown-C9L-kzlg.js} +1 -1
  48. package/src/client/dist/spa/assets/{tsMode-Cr9FJjYY.js → tsMode-CWoApSbW.js} +1 -1
  49. package/src/client/dist/spa/assets/{typescript-Ov3wChBg.js → typescript-CTk1WfV6.js} +1 -1
  50. package/src/client/dist/spa/assets/{use-panel-lBh91vcW.js → use-panel-CZnY7pfY.js} +1 -1
  51. package/src/client/dist/spa/assets/{xml-euA4jBI1.js → xml-CSZMdRGt.js} +1 -1
  52. package/src/client/dist/spa/assets/{yaml-BuPSq_BT.js → yaml-tWozZ5pP.js} +1 -1
  53. package/src/client/dist/spa/index.html +2 -2
  54. package/src/client/dist/spa/assets/QChip-BgzxI33B.js +0 -36
  55. package/src/client/dist/spa/assets/SettingsPage-C7TkcKXU.css +0 -1
  56. package/src/client/dist/spa/assets/SettingsPage-pY-zbPxn.js +0 -9
  57. package/src/client/dist/spa/assets/i18n-DLoe3l25.js +0 -1
  58. package/src/client/dist/spa/assets/index-Dx_W9yYo.js +0 -2
@@ -1,9 +0,0 @@
1
- import{F as e,H as t,L as n,M as r,N as i,Q as a,S as o,U as s,W as c,_t as l,bt as u,d,f,g as p,h as m,k as h,l as g,p as _,r as v,rt as y,u as b,v as x,y as ee}from"./runtime-core.esm-bundler-9Z0QAO_7.js";import{N as S,P as C,i as te,k as ne,n as re,r as w,t as ie}from"./QIcon-qfJNZLIW.js";import{r as ae}from"./use-id-_7wiRcgb.js";import{I as T,L as E,a as oe,c as se,i as ce,n as le,o as ue,s as de}from"./notifications-CEyiPnmw.js";import{t as D}from"./QBtn-CaJSOyt8.js";import{n as fe}from"./vue-i18n-CKCtKE87.js";import{n as pe}from"./QRadio-4HnR_A-K.js";import{i as me,o as O,r as k,t as A}from"./QInput-DCJEwE8V.js";import{t as j}from"./QToggle-DNOTC_3a.js";import{b as he,h as ge,m as _e,t as ve,v as ye}from"./index-Dx_W9yYo.js";import{n as be,t as xe}from"./QItemSection-Bz1ZDJO5.js";import{t as Se}from"./QItemLabel-CHkgkZVj.js";import{d as M,t as Ce}from"./QTooltip-CbLXk2Bs.js";import{t as we}from"./QExpansionItem-Fij7yBbG.js";import{t as N}from"./TouchPan-DiBNjOPH.js";import{t as P}from"./_plugin-vue_export-helper-Cj6tcsj6.js";import{t as F}from"./QSpace-DKIph84L.js";import{t as Te}from"./QList-BbnN_oNX.js";import{t as Ee}from"./ClosePopup-DMnQG6nw.js";import{t as De}from"./use-quasar-DQYS47mh.js";import{c as Oe,l as ke,o as Ae,s as je,t as Me}from"./project-color-C4vMEn4C.js";import{a as Ne,i as Pe,n as Fe,r as Ie,t as Le}from"./QChip-BgzxI33B.js";import{a as I,n as Re,r as ze,t as Be}from"./permissionModes-CPZlEHoF.js";import{t as Ve}from"./QPage-Co2h9wd_.js";var He=`q-slider__marker-labels`,L=e=>({value:e}),R=({marker:e})=>o(`div`,{key:e.value,style:e.style,class:e.classes},e.label),z=[34,37,40,33,39,38],B={...w,...O,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`}},V=[`pan`,`update:modelValue`,`change`];function H({updateValue:e,updatePosition:t,getDragging:n,formAttrs:r}){let{props:i,emit:s,slots:c,proxy:{$q:l}}=ee(),u=re(i,l),d=me(r),f=a(!1),p=a(!1),m=a(!1),_=a(!1),v=g(()=>i.vertical===!0?`--v`:`--h`),y=g(()=>`-`+(i.switchLabelSide===!0?`switched`:`standard`)),b=g(()=>i.vertical===!0?i.reverse===!0:i.reverse!==(l.lang.rtl===!0)),x=g(()=>isNaN(i.innerMin)===!0||i.innerMin<i.min?i.min:i.innerMin),S=g(()=>isNaN(i.innerMax)===!0||i.innerMax>i.max?i.max:i.innerMax),C=g(()=>i.disable!==!0&&i.readonly!==!0&&x.value<S.value),w=g(()=>{if(i.step===0)return e=>e;let e=(String(i.step).trim().split(`.`)[1]||``).length;return t=>parseFloat(t.toFixed(e))}),ie=g(()=>i.step===0?1:i.step),ae=g(()=>C.value===!0?i.tabindex||0:-1),oe=g(()=>i.max-i.min),se=g(()=>S.value-x.value),ce=g(()=>F(x.value)),le=g(()=>F(S.value)),ue=g(()=>i.vertical===!0?b.value===!0?`bottom`:`top`:b.value===!0?`right`:`left`),de=g(()=>i.vertical===!0?`height`:`width`),D=g(()=>i.vertical===!0?`width`:`height`),fe=g(()=>i.vertical===!0?`vertical`:`horizontal`),pe=g(()=>{let e={role:`slider`,"aria-valuemin":x.value,"aria-valuemax":S.value,"aria-orientation":fe.value,"data-step":i.step};return i.disable===!0?e[`aria-disabled`]=`true`:i.readonly===!0&&(e[`aria-readonly`]=`true`),e}),O=g(()=>`q-slider q-slider${v.value} q-slider--${f.value===!0?``:`in`}active inline no-wrap `+(i.vertical===!0?`row`:`column`)+(i.disable===!0?` disabled`:` q-slider--enabled`+(C.value===!0?` q-slider--editable`:``))+(m.value===`both`?` q-slider--focus`:``)+(i.label||i.labelAlways===!0?` q-slider--label`:``)+(i.labelAlways===!0?` q-slider--label-always`:``)+(u.value===!0?` q-slider--dark`:``)+(i.dense===!0?` q-slider--dense q-slider--dense`+v.value:``));function k(e){let t=`q-slider__`+e;return`${t} ${t}${v.value} ${t}${v.value}${y.value}`}function A(e){let t=`q-slider__`+e;return`${t} ${t}${v.value}`}let j=g(()=>{let e=i.selectionColor||i.color;return`q-slider__selection absolute`+(e===void 0?``:` text-${e}`)}),he=g(()=>A(`markers`)+` absolute overflow-hidden`),ge=g(()=>A(`track-container`)),_e=g(()=>k(`pin`)),ve=g(()=>k(`label`)),ye=g(()=>k(`text-container`)),be=g(()=>k(`marker-labels-container`)+(i.markerLabelsClass===void 0?``:` ${i.markerLabelsClass}`)),xe=g(()=>`q-slider__track relative-position no-outline`+(i.trackColor===void 0?``:` bg-${i.trackColor}`)),Se=g(()=>{let e={[D.value]:i.trackSize};return i.trackImg!==void 0&&(e.backgroundImage=`url(${i.trackImg}) !important`),e}),Ce=g(()=>`q-slider__inner absolute`+(i.innerTrackColor===void 0?``:` bg-${i.innerTrackColor}`)),we=g(()=>{let e=le.value-ce.value,t={[ue.value]:`${100*ce.value}%`,[de.value]:e===0?`2px`:`${100*e}%`};return i.innerTrackImg!==void 0&&(t.backgroundImage=`url(${i.innerTrackImg}) !important`),t});function P(e){let{min:t,max:n,step:r}=i,a=t+e*(n-t);if(r>0){let e=(a-x.value)%r;a+=(Math.abs(e)>=r/2?(e<0?-1:1)*r:0)-e}return a=w.value(a),M(a,x.value,S.value)}function F(e){return oe.value===0?0:(e-i.min)/oe.value}function Te(e,t){let n=ne(e),r=i.vertical===!0?M((n.top-t.top)/t.height,0,1):M((n.left-t.left)/t.width,0,1);return M(b.value===!0?1-r:r,ce.value,le.value)}let Ee=g(()=>T(i.markers)===!0?i.markers:ie.value),De=g(()=>{let e=[],t=Ee.value,n=i.max,r=i.min;do e.push(r),r+=t;while(r<n);return e.push(n),e}),Oe=g(()=>{let e=` ${He}${v.value}-`;return`q-slider__marker-labels${e}${i.switchMarkerLabelsSide===!0?`switched`:`standard`}${e}${b.value===!0?`rtl`:`ltr`}`}),ke=g(()=>i.markerLabels===!1?null:Me(i.markerLabels).map((e,t)=>({index:t,value:e.value,label:e.label||e.value,classes:Oe.value+(e.classes===void 0?``:` `+e.classes),style:{...Ne(e.value),...e.style||{}}}))),Ae=g(()=>({markerList:ke.value,markerMap:Pe.value,classes:Oe.value,getStyle:Ne})),je=g(()=>{let e=se.value===0?`2px`:100*Ee.value/se.value;return{...we.value,backgroundSize:i.vertical===!0?`2px ${e}%`:`${e}% 2px`}});function Me(e){if(e===!1)return null;if(e===!0)return De.value.map(L);if(typeof e==`function`)return De.value.map(t=>{let n=e(t);return E(n)===!0?{...n,value:t}:{value:t,label:n}});let t=({value:e})=>e>=i.min&&e<=i.max;return Array.isArray(e)===!0?e.map(e=>E(e)===!0?e:{value:e}).filter(t):Object.keys(e).map(t=>{let n=e[t],r=Number(t);return E(n)===!0?{...n,value:r}:{value:r,label:n}}).filter(t)}function Ne(e){return{[ue.value]:`${100*(e-i.min)/oe.value}%`}}let Pe=g(()=>{if(i.markerLabels===!1)return null;let e={};return ke.value.forEach(t=>{e[t.value]=t}),e});function Fe(){if(c[`marker-label-group`]!==void 0)return c[`marker-label-group`](Ae.value);let e=c[`marker-label`]||R;return ke.value.map(t=>e({marker:t,...Ae.value}))}let Ie=g(()=>[[N,Le,void 0,{[fe.value]:!0,prevent:!0,stop:!0,mouse:!0,mouseAllDir:!0}]]);function Le(r){r.isFinal===!0?(_.value!==void 0&&(t(r.evt),r.touch===!0&&e(!0),_.value=void 0,s(`pan`,`end`)),f.value=!1,m.value=!1):r.isFirst===!0?(_.value=n(r.evt),t(r.evt),e(),f.value=!0,s(`pan`,`start`)):(t(r.evt),e())}function I(){m.value=!1}function Re(r){t(r,n(r)),e(),p.value=!0,f.value=!0,document.addEventListener(`mouseup`,ze,!0)}function ze(){p.value=!1,f.value=!1,e(!0),I(),document.removeEventListener(`mouseup`,ze,!0)}function Be(r){t(r,n(r)),e(!0)}function Ve(t){z.includes(t.keyCode)&&e(!0)}function B(e){if(i.vertical===!0)return null;let t=l.lang.rtl===i.reverse?e:1-e;return{transform:`translateX(calc(${2*t-1} * ${i.thumbSize} / 2 + ${50-100*t}%))`}}function V(e){let t=g(()=>p.value===!1&&(m.value===e.focusValue||m.value===`both`)?` q-slider--focus`:``),n=g(()=>`q-slider__thumb q-slider__thumb${v.value} q-slider__thumb${v.value}-${b.value===!0?`rtl`:`ltr`} absolute non-selectable`+t.value+(e.thumbColor.value===void 0?``:` text-${e.thumbColor.value}`)),r=g(()=>({width:i.thumbSize,height:i.thumbSize,[ue.value]:`${100*e.ratio.value}%`,zIndex:m.value===e.focusValue?2:void 0})),a=g(()=>e.labelColor.value===void 0?``:` text-${e.labelColor.value}`),s=g(()=>B(e.ratio.value)),c=g(()=>`q-slider__text`+(e.labelTextColor.value===void 0?``:` text-${e.labelTextColor.value}`));return()=>{let t=[o(`svg`,{class:`q-slider__thumb-shape absolute-full`,viewBox:`0 0 20 20`,"aria-hidden":`true`},[o(`path`,{d:i.thumbPath})]),o(`div`,{class:`q-slider__focus-ring fit`})];return(i.label===!0||i.labelAlways===!0)&&(t.push(o(`div`,{class:_e.value+` absolute fit no-pointer-events`+a.value},[o(`div`,{class:ve.value,style:{minWidth:i.thumbSize}},[o(`div`,{class:ye.value,style:s.value},[o(`span`,{class:c.value},e.label.value)])])])),i.name!==void 0&&i.disable!==!0&&d(t,`push`)),o(`div`,{class:n.value,style:r.value,...e.getNodeData()},t)}}function H(e,t,n,r){let a=[];i.innerTrackColor!==`transparent`&&a.push(o(`div`,{key:`inner`,class:Ce.value,style:we.value})),i.selectionColor!==`transparent`&&a.push(o(`div`,{key:`selection`,class:j.value,style:e.value})),i.markers!==!1&&a.push(o(`div`,{key:`marker`,class:he.value,style:je.value})),r(a);let s=[te(`div`,{key:`trackC`,class:ge.value,tabindex:t.value,...n.value},[o(`div`,{class:xe.value,style:Se.value},a)],`slide`,C.value,()=>Ie.value)];return i.markerLabels!==!1&&s[i.switchMarkerLabelsSide===!0?`unshift`:`push`](o(`div`,{key:`markerL`,class:be.value},Fe())),s}return h(()=>{document.removeEventListener(`mouseup`,ze,!0)}),{state:{active:f,focus:m,preventFocus:p,dragging:_,editable:C,classes:O,tabindex:ae,attributes:pe,roundValueFn:w,keyStep:ie,trackLen:oe,innerMin:x,innerMinRatio:ce,innerMax:S,innerMaxRatio:le,positionProp:ue,sizeProp:de,isReversed:b},methods:{onActivate:Re,onMobileClick:Be,onBlur:I,onKeyup:Ve,getContent:H,getThumbRenderFn:V,convertRatioToModel:P,convertModelToRatio:F,getDraggingRatio:Te}}}var Ue=()=>({}),We=C({name:`QSlider`,props:{...B,modelValue:{required:!0,default:null,validator:e=>typeof e==`number`||e===null},labelValue:[String,Number]},emits:V,setup(e,{emit:n}){let{proxy:{$q:r}}=ee(),{state:i,methods:s}=H({updateValue:v,updatePosition:b,getDragging:y,formAttrs:k(e)}),c=a(null),l=a(0),u=a(0);function d(){u.value=e.modelValue===null?i.innerMin.value:M(e.modelValue,i.innerMin.value,i.innerMax.value)}t(()=>`${e.modelValue}|${i.innerMin.value}|${i.innerMax.value}`,d),d();let f=g(()=>s.convertModelToRatio(u.value)),p=g(()=>i.active.value===!0?l.value:f.value),m=g(()=>{let t={[i.positionProp.value]:`${100*i.innerMinRatio.value}%`,[i.sizeProp.value]:`${100*(p.value-i.innerMinRatio.value)}%`};return e.selectionImg!==void 0&&(t.backgroundImage=`url(${e.selectionImg}) !important`),t}),h=s.getThumbRenderFn({focusValue:!0,getNodeData:Ue,ratio:p,label:g(()=>e.labelValue===void 0?u.value:e.labelValue),thumbColor:g(()=>e.thumbColor||e.color),labelColor:g(()=>e.labelColor),labelTextColor:g(()=>e.labelTextColor)}),_=g(()=>i.editable.value===!0?r.platform.is.mobile===!0?{onClick:s.onMobileClick}:{onMousedown:s.onActivate,onFocus:x,onBlur:s.onBlur,onKeydown:C,onKeyup:s.onKeyup}:{});function v(t){u.value!==e.modelValue&&n(`update:modelValue`,u.value),t===!0&&n(`change`,u.value)}function y(){return c.value.getBoundingClientRect()}function b(t,n=i.dragging.value){let r=s.getDraggingRatio(t,n);u.value=s.convertRatioToModel(r),l.value=e.snap!==!0||e.step===0?r:s.convertModelToRatio(u.value)}function x(){i.focus.value=!0}function C(t){if(z.includes(t.keyCode)===!1)return;S(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;u.value=M(i.roundValueFn.value(u.value+r),i.innerMin.value,i.innerMax.value),v()}return()=>{let t=s.getContent(m,i.tabindex,_,e=>{e.push(h())});return o(`div`,{ref:c,class:i.classes.value+(e.modelValue===null?` q-slider--no-value`:``),...i.attributes.value,"aria-valuenow":e.modelValue},t)}}}),Ge={class:`settings-inner`},Ke={class:`settings-header row items-center q-mb-lg`},qe={class:`text-h5 text-weight-medium text-grey-3`},Je={class:`settings-card rounded-borders q-pa-lg`},Ye={class:`text-subtitle1 text-weight-medium q-mb-md text-grey-3`},Xe={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Ze={class:`text-subtitle2 q-mb-sm`},Qe={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},$e={class:`text-subtitle2 q-mb-sm`},et={class:`text-caption text-grey-7 q-mt-xs`},tt={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},nt={class:`text-subtitle2 q-mb-sm`},rt={class:`text-caption text-grey-6 q-mt-xs`},it={key:0,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},at={class:`text-subtitle2 q-mb-sm`},ot={class:`text-caption text-grey-6 q-mb-xs q-mt-sm`},st={class:`text-caption text-grey-6 q-mt-md q-mb-xs`},ct={class:`text-caption text-grey-6 q-mt-md q-mb-xs`},lt={class:`text-caption text-grey-6 q-mt-md q-mb-xs`},ut={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},dt={class:`text-subtitle2 q-mb-sm`},ft={class:`text-subtitle2 q-mb-sm q-mt-md`},pt={class:`text-subtitle2 q-mb-sm q-mt-md`},mt={class:`text-caption text-grey-7 q-mb-sm`},ht={class:`text-subtitle2 q-mb-sm q-mt-md`},gt={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},_t={class:`text-subtitle2 q-mb-sm`},vt={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},yt={class:`text-subtitle2 q-mb-sm`},bt={class:`column q-gutter-xs`},xt={class:`row items-center q-gutter-sm q-mt-sm`},St={class:`row items-center q-gutter-sm q-mt-sm`},Ct={class:`text-grey-5 text-caption`,style:{"min-width":`80px`}},wt={class:`text-grey-5 text-caption`,style:{"min-width":`40px`,"text-align":`right`}},Tt={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Et={class:`text-subtitle2 q-mb-sm`},Dt={class:`column q-gutter-sm`},Ot={class:`row items-center q-gutter-sm`},kt={class:`text-caption text-grey-5`},At={class:`text-caption text-grey-5`,style:{"min-width":`40px`,"text-align":`right`}},jt={class:`text-caption text-grey-7 q-mt-xs q-mb-sm`},Mt={class:`text-caption text-grey-7 q-mt-xs q-mb-sm`},Nt={class:`text-caption text-grey-7 q-mt-xs q-mb-sm`},Pt={class:`text-caption text-grey-7 q-mt-xs q-mb-sm`},Ft={class:`row q-gutter-sm items-center`},It={class:`row items-center q-mt-sm`},Lt={class:`row items-center q-mt-xs`},Rt={class:`q-pa-sm text-caption text-grey-5`},zt={class:`q-mb-sm`},Bt={class:`q-mb-sm`},Vt={href:`https://github.com/ggml-org/whisper.cpp`,target:`_blank`,rel:`noopener noreferrer`,class:`text-indigo-4`},Ht={class:`q-mb-xs text-grey-4`},Ut={class:`q-mb-sm`},Wt={class:`q-mb-xs text-grey-4`},Gt={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:`text-caption text-grey-7 q-mb-sm`},Yt={class:`q-mb-sm`},Xt={class:`row items-center q-mb-sm q-mt-md`},Zt={class:`text-subtitle2`},Qt={class:`text-caption text-grey-7 q-mb-sm`},$t={class:`row items-center q-mb-sm q-mt-md`},en={class:`text-subtitle2`},tn={class:`text-caption text-grey-7 q-mb-sm`},nn={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},rn={class:`text-subtitle2 q-mb-sm`},an={class:`text-caption text-grey-7 q-mb-sm`},on={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},sn={class:`text-subtitle2 q-mb-sm`},cn={class:`text-caption text-grey-7 q-mb-sm`},ln={class:`q-mb-sm`},un={class:`field-label-sub text-caption q-mb-xs text-grey-7`},dn={class:`q-mb-sm`},fn={class:`field-label-sub text-caption q-mb-xs text-grey-7`},pn={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},mn={class:`text-subtitle2 q-mb-sm`},hn={class:`text-caption text-grey-7 q-mb-sm`},gn={class:`q-mb-sm`},_n={class:`field-label-sub text-caption q-mb-xs text-grey-7`},vn={class:`q-mb-sm`},yn={class:`field-label-sub text-caption q-mb-xs text-grey-7`},bn={class:`row items-center q-mb-sm`},xn={class:`text-subtitle2`},Sn={class:`text-caption text-grey-7 q-mb-xs`},Cn={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},wn={class:`text-subtitle2 q-mb-sm`},Tn={class:`row items-center q-mb-sm`},En={class:`text-subtitle2`},Dn={class:`text-caption text-grey-7 q-mb-xs`},On={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},kn={class:`text-subtitle2 q-mb-sm`},An={class:`text-caption text-grey-7 q-mb-sm`},jn={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Mn={class:`text-subtitle2 q-mb-sm`},Nn={class:`text-caption text-grey-7 q-mb-sm`},Pn={class:`text-caption text-grey-7 q-mt-xs`},Fn={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},In={class:`text-subtitle2 q-mb-sm`},Ln={class:`text-caption text-grey-7 q-mb-sm`},Rn={class:`row q-gutter-sm`},zn={class:`row justify-end settings-sticky-actions`},Bn={class:`row q-gutter-md`,style:{"min-height":`500px`}},Vn={class:`project-list-col`},Hn={class:`settings-card rounded-borders`,style:{height:`100%`}},Un={class:`q-pa-sm`},Wn={class:`text-caption text-uppercase text-weight-bold q-px-sm q-py-xs text-grey-6`,style:{"letter-spacing":`0.05em`}},Gn={key:0,class:`q-pa-md text-center text-caption text-grey-8`},Kn={class:`q-pa-sm`},qn={class:`project-form-col`},Jn={class:`settings-card rounded-borders q-pa-lg`,style:{height:`100%`}},Yn={class:`text-subtitle1 text-weight-medium q-mb-md text-grey-3`},Xn={key:0,class:`q-mb-md`},Zn={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Qn={class:`text-caption text-grey-7 q-mt-xs`},$n={class:`q-mb-md`},er={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},tr={class:`q-mb-md`},nr={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},rr={class:`q-mb-md`},ir={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},ar={class:`row items-center q-gutter-xs`},or={class:`text-caption text-grey-6 q-mt-xs`},sr={class:`q-mb-md`},cr={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},lr={class:`q-mb-md`},ur={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},dr={class:`q-mb-md`},fr={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},pr={class:`q-mb-md`},mr={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},hr={class:`q-mb-md`},gr={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},_r={class:`text-caption text-grey-7 q-mb-xs`},vr={class:`q-mb-md`},yr={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},br={class:`text-caption text-grey-7 q-mb-xs`},xr={class:`q-mb-md`},Sr={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Cr={class:`text-caption text-grey-7 q-mt-xs`},wr={class:`q-mb-lg`},Tr={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Er={class:`text-caption text-grey-7 q-mt-xs`},Dr={class:`q-mb-lg`},Or={class:`field-label text-body2 text-weight-medium q-mb-sm text-grey-6`},kr={class:`q-mb-md`},Ar={class:`field-label-sub text-caption q-mb-xs text-grey-7`},jr={class:`field-label-sub text-caption q-mb-xs text-grey-7`},Mr={class:`q-mb-lg`},Nr={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Pr={class:`text-caption text-grey-7 q-mb-sm`},Fr={class:`q-mb-lg`},Ir={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Lr={class:`text-caption text-grey-7 q-mb-sm`},Rr={class:`row items-center q-gutter-sm settings-sticky-actions`},zr={key:1,class:`column items-center justify-center`,style:{height:`100%`,"min-height":`300px`}},Br={class:`text-body2 text-grey-8`},Vr={class:`settings-card rounded-borders q-pa-lg`},Hr={class:`row items-center justify-between q-mb-md`},Ur={class:`text-subtitle1 text-weight-medium text-grey-3`},Wr={key:0,class:`text-grey-6 q-py-lg text-center`},Gr={key:1,class:`column q-gutter-sm`},Kr={class:`row items-start justify-between no-wrap`},qr={class:`col`},Jr={class:`text-body1 text-weight-medium`,style:{"font-family":`'Roboto Mono', monospace`}},Yr={class:`text-caption text-grey-5 q-mt-xs`},Xr={class:`row no-wrap q-gutter-xs`},Zr={class:`text-caption text-grey-7 q-mt-lg`,style:{"font-family":`'Roboto Mono', monospace`}},Qr={class:`text-subtitle1`},$r={class:`q-pl-md q-pt-xs`,style:{"font-size":`11px`,"font-family":`'Roboto Mono', monospace`,columns:`2`,"column-gap":`24px`}},ei={key:0,class:`text-negative text-caption`},ti=P(x({__name:`SettingsPage`,setup(o){let h=De(),x=de(),ee=_e(),{t:S,locale:C}=fe(),te=a(`global`),ne=a(`auto`),re=a(`auto`),w=a(``),T=a(``),E=a(``),me=a(``),O=a(!0),k=a(!0),M=a(ce),N=a(1),P=a(``),He=a(``),L=a(``),R=a(``),z=a(null),B=a(`bypass`),V=a(`bypass`),H=a(``),Ue=a(``),ti=a([]),ni=a(se),ri=a(null),ii=a(!0),ai=a(!1),U=a(`superpowers`),oi=a(``),si=a(``),ci=a(``),li=a(``),ui=a(!1),di=a(`alt`),fi=a(`auto`),W=a(null),pi=a(``),mi=a(``),G=a(0),hi=a(``),gi=a(!1),_i=a(!0),vi=a(null),yi=a(!1);function bi(){h.dialog({title:S(`settings.skillSuite.reloadDefaults`),message:S(`settings.skillSuite.reloadDefaultsConfirm`),cancel:!0,persistent:!0,dark:!0}).onOk(()=>{oi.value=Ne,si.value=Ie,ci.value=Fe,li.value=Pe})}function xi(e){return!e||e===`tiny`||e===`base`?.1:.2}let Si=[e=>e.trim().length>0||S(`settings.worktreesPathRequired`)],Ci=a(!1),K=a(-1),q=a(!1),J=a({path:``,displayName:``,color:null,defaultSourceBranch:``,defaultModel:``,prPromptTemplate:``,reviewPromptTemplate:``,notionInitialPromptTemplate:``,sentryInitialPromptTemplate:``,gitConventions:``,setupScript:``,devServer:{startCommand:``,stopCommand:``},e2e:{framework:``,skill:``,prompt:``},finalization:{prompt:``}}),wi=[`defaultModel`,`prPromptTemplate`,`reviewPromptTemplate`,`notionInitialPromptTemplate`,`sentryInitialPromptTemplate`,`gitConventions`,`setupScript`,`devServer`,`e2e`,`finalization`],Y=a(null),X=a(null),Ti=g(()=>x.projects.map(e=>({value:e.path,label:ka(e)||e.path})));function Ei(e){let t=x.projects.find(t=>t.path===e);t&&(J.value.defaultModel=t.defaultModel??``,J.value.prPromptTemplate=t.prPromptTemplate??``,J.value.reviewPromptTemplate=t.reviewPromptTemplate??``,J.value.notionInitialPromptTemplate=t.notionInitialPromptTemplate??``,J.value.sentryInitialPromptTemplate=t.sentryInitialPromptTemplate??``,J.value.gitConventions=t.gitConventions??``,J.value.setupScript=t.setupScript??``,J.value.devServer={startCommand:t.devServer?.startCommand??``,stopCommand:t.devServer?.stopCommand??``},J.value.e2e={framework:t.e2e?.framework??``,skill:t.e2e?.skill??``,prompt:t.e2e?.prompt??``},J.value.finalization={prompt:t.finalization?.prompt??``})}function Di(){let e={defaultModel:``,prPromptTemplate:``,reviewPromptTemplate:``,notionInitialPromptTemplate:``,sentryInitialPromptTemplate:``,gitConventions:``,setupScript:``,devServer:{startCommand:``,stopCommand:``},e2e:{framework:``,skill:``,prompt:``},finalization:{prompt:``}};return wi.every(t=>JSON.stringify(J.value[t])===JSON.stringify(e[t]))}function Oi(e){if(e===null){Y.value=null,X.value=null;return}if(X.value===null&&Di()){Ei(e),Y.value=e,X.value=e;return}let t=x.projects.find(t=>t.path===e),n=t&&ka(t)||e;h.dialog({title:S(`settings.copyFromConfirmTitle`),message:S(`settings.copyFromConfirm`,{project:n}),cancel:!0,persistent:!0,dark:!0}).onOk(()=>{Ei(e),Y.value=e,X.value=e}).onCancel(()=>{Y.value=X.value})}let ki=a([]),Ai=a([]);async function ji(){try{let e=await fetch(`/api/skills`);e.ok&&(ki.value=await e.json())}catch{}}function Mi(e,t){t(()=>{let t=e.trim().toLowerCase();Ai.value=t?ki.value.filter(e=>e.toLowerCase().includes(t)):ki.value.slice()})}let Ni=a([]),Pi=a(!1),Fi=a(!1),Ii=a(!1),Li=a(!1),Z=a(null),Ri=a(``),zi=a(``),Q=a(``),$=a(``),Bi=a(!1),Vi=g(()=>[...ee.templates].sort((e,t)=>e.slug.localeCompare(t.slug))),Hi=[`{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 Ui(){Z.value=null,Ri.value=``,zi.value=``,Q.value=``,$.value=``,Li.value=!0}function Wi(e){Z.value=e.slug,Ri.value=e.slug,zi.value=e.description,Q.value=e.content,$.value=``,Li.value=!0}async function Gi(){$.value=``;let e=Ri.value.trim(),t=zi.value.trim();if(Z.value===null&&!/^[a-z0-9][a-z0-9-]{0,63}$/.test(e)){$.value=S(`templates.slugInvalid`);return}if(!t){$.value=S(`templates.descriptionRequired`);return}if(!Q.value.trim()){$.value=S(`templates.contentRequired`);return}Bi.value=!0;try{Z.value===null?await ee.createTemplate({slug:e,description:t,content:Q.value}):await ee.updateTemplate(Z.value,{description:t,content:Q.value}),Li.value=!1}catch(e){$.value=e instanceof Error?e.message:S(`templates.createFailed`)}finally{Bi.value=!1}}async function Ki(e){h.dialog({title:S(`templates.deleteTemplate`),message:`${S(`templates.deleteConfirm`,{slug:e.slug})}\n\n${S(`templates.deleteConfirmMessage`)}`,dark:!0,cancel:{flat:!0,label:S(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:S(`templates.deleteTemplate`),color:`red-5`}}).onOk(async()=>{try{await ee.deleteTemplate(e.slug)}catch(e){h.notify({type:`negative`,message:e instanceof Error?e.message:S(`templates.deleteFailed`),position:`top`})}})}let qi=[{label:`English`,value:`en`},{label:`Français`,value:`fr`},{label:`Deutsch`,value:`de`},{label:`Español`,value:`es`},{label:`Italiano`,value:`it`}];function Ji(e){C.value=e,localStorage.setItem(`kobo:locale`,e)}let Yi=g(()=>[...ze.map(e=>({label:S(e.i18nLabelKey),value:e.value}))]),Xi=g(()=>[...Re.map(e=>({label:S(e.i18nLabelKey),value:e.value}))]),Zi=g(()=>[{label:S(`settings.useGlobal`),value:``},...Yi.value]),Qi=g(()=>Be[`claude-code`].map(e=>({label:S(`agentPermissionMode.${e}`),value:e}))),$i=g(()=>Be.codex.map(e=>({label:S(`agentPermissionMode.${e}`),value:e}))),ea=g(()=>[{name:`{{pr_number}}`,description:S(`settings.var.prNumber`)},{name:`{{pr_url}}`,description:S(`settings.var.prUrl`)},{name:`{{branch_name}}`,description:S(`settings.var.branchName`)},{name:`{{source_branch}}`,description:S(`settings.var.sourceBranch`)},{name:`{{workspace_name}}`,description:S(`settings.var.workspaceName`)},{name:`{{project_name}}`,description:S(`settings.var.projectName`)},{name:`{{notion_url}}`,description:S(`settings.var.notionUrl`)},{name:`{{commits}}`,description:S(`settings.var.commits`)},{name:`{{diff_stats}}`,description:S(`settings.var.diffStats`)},{name:`{{tasks}}`,description:S(`settings.var.tasks`)},{name:`{{acceptance_criteria}}`,description:S(`settings.var.acceptanceCriteria`)}]),ta=g(()=>[{label:S(`settings.mcpAutoSelect`),value:``},...x.activeMcpServers.map(e=>({label:e.key,value:e.key}))]),na=g(()=>oe.map(e=>({label:S(e.labelKey),value:e.id}))),ra=g(()=>[{label:S(`voice.noneModel`),value:null}].concat(x.voiceModels.map(e=>({label:e.installed?`${e.name}`:`${e.name} (${S(`voice.notInstalled`)})`,value:e.name})))),ia=[{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 aa(){le(M.value,N.value)}let oa=g(()=>K.value<0||K.value>=x.projects.length?null:x.projects[K.value]??null),sa=a(``),ca=a(``);function la(){return JSON.stringify({claudeModel:ne.value,codexModel:re.value,prPrompt:w.value,reviewPrompt:T.value,gitConventions:E.value,editorCommand:me.value,browserNotifications:O.value,audioNotifications:k.value,audioNotificationSound:M.value,audioNotificationVolume:N.value,notionStatusProperty:P.value,notionStatus:He.value,notionInitialPrompt:L.value,sentryInitialPrompt:R.value,claudePermissionMode:B.value,codexPermissionMode:V.value,notionMcpKey:H.value,sentryMcpKey:Ue.value,tags:ti.value,worktreesPath:ni.value,worktreesPrefixByProject:ii.value,flattenWorkspaceList:ai.value,skillSuite:U.value,customReviewTemplate:oi.value,customAutoLoopReviewGate:si.value,customAutoLoopGroomingIntro:ci.value,customQaPromptTemplate:li.value,voiceEnabled:ui.value,voicePttKey:di.value,voiceLanguage:fi.value,voiceModel:W.value,voiceCommandPath:pi.value,voiceFfmpegPath:mi.value,voiceTemperature:G.value,voicePrompt:hi.value,voiceTranslateToEnglish:gi.value,voiceSuppressNst:_i.value})}function ua(){return JSON.stringify(J.value)}let da=g(()=>la()!==sa.value),fa=g(()=>ua()!==ca.value);function pa(){yi.value=!0;let e=x.global.defaultModelByEngine??{};ne.value=e[`claude-code`]??`auto`,re.value=e.codex??`auto`,w.value=x.global.prPromptTemplate,T.value=x.global.reviewPromptTemplate??``,E.value=x.global.gitConventions,me.value=x.global.editorCommand??``,O.value=x.global.browserNotifications??!0,k.value=x.global.audioNotifications??!0,M.value=ue(x.global.audioNotificationSound);let t=x.global.audioNotificationVolume;N.value=typeof t==`number`&&Number.isFinite(t)?Math.max(0,Math.min(1,t)):1,P.value=x.global.notionStatusProperty??``,He.value=x.global.notionInProgressStatus??``,L.value=x.global.notionInitialPromptTemplate??``,R.value=x.global.sentryInitialPromptTemplate??``;{let e=x.global.defaultPermissionModeByEngine??{},t=e=>e===`plan`||e===`bypass`||e===`strict`||e===`interactive`,n=e[`claude-code`];B.value=t(n)?n:`bypass`;let r=e.codex;V.value=t(r)?r:`bypass`}H.value=x.global.notionMcpKey??``,Ue.value=x.global.sentryMcpKey??``,ti.value=Array.isArray(x.global.tags)?[...x.global.tags]:[],ni.value=x.global.worktreesPath??`.worktrees`,ii.value=x.global.worktreesPrefixByProject??!1,ai.value=x.global.flattenWorkspaceList??!1,U.value=x.global.skillSuite??`superpowers`,oi.value=x.global.customReviewTemplate??``,si.value=x.global.customAutoLoopReviewGate??``,ci.value=x.global.customAutoLoopGroomingIntro??``,li.value=x.global.customQaPromptTemplate??``,ui.value=x.global.voiceEnabled??!1,di.value=x.global.voicePttKey===`ctrl+space`?`ctrl+space`:`alt`,fi.value=x.global.voiceLanguage??`auto`,W.value=x.global.voiceModel??null,pi.value=x.global.voiceCommandPath??``,mi.value=x.global.voiceFfmpegPath??``,G.value=typeof x.global.voiceTemperature==`number`?x.global.voiceTemperature:0,hi.value=x.global.voicePrompt??``,gi.value=x.global.voiceTranslateToEnglish??!1,_i.value=x.global.voiceSuppressNonSpeechTokens??!0,yi.value=!1,sa.value=la()}t(()=>W.value,(e,t)=>{yi.value||e!==t&&(G.value=xi(e))});function ma(e){if(!e){J.value={path:``,displayName:``,color:null,defaultSourceBranch:``,defaultModel:``,prPromptTemplate:``,reviewPromptTemplate:``,notionInitialPromptTemplate:``,sentryInitialPromptTemplate:``,gitConventions:``,setupScript:``,devServer:{startCommand:``,stopCommand:``},e2e:{framework:``,skill:``,prompt:``},finalization:{prompt:``}},Ni.value=[],ca.value=ua();return}J.value={path:e.path,displayName:e.displayName,color:e.color??null,defaultSourceBranch:e.defaultSourceBranch,defaultModel:e.defaultModel,prPromptTemplate:e.prPromptTemplate,reviewPromptTemplate:e.reviewPromptTemplate??``,notionInitialPromptTemplate:e.notionInitialPromptTemplate??``,sentryInitialPromptTemplate:e.sentryInitialPromptTemplate??``,gitConventions:e.gitConventions??``,setupScript:e.setupScript??``,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??``}},ca.value=ua(),e.path&&ha(e.path)}async function ha(e){if(!e.trim()){Ni.value=[];return}Pi.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();Ni.value=n.local??n.branches??[]}catch{Ni.value=[]}finally{Pi.value=!1}}let ga=null;t(()=>J.value.path,e=>{ga&&clearTimeout(ga),ga=setTimeout(()=>{ha(e)},500)}),t(K,()=>{q.value=!1,ma(oa.value)});let _a=a(null);async function va(){try{let e=await fetch(`/api/settings/export`);if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json(),n=new Blob([JSON.stringify(t,null,2)],{type:`application/json`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=`kobo-config-${new Date().toISOString().replace(/[:.]/g,`-`)}.json`,i.click(),URL.revokeObjectURL(r),h.notify({type:`positive`,message:S(`settings.exportSuccess`),position:`top`,timeout:3e3})}catch(e){h.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}}function ya(){_a.value?.click()}async function ba(e){let t=e.target,n=t.files?.[0];if(n)try{h.dialog({title:S(`settings.importConfirmTitle`),message:S(`settings.importConfirmMessage`),cancel:!0,persistent:!0,dark:!0}).onOk(async()=>{try{let e=await n.text(),t=JSON.parse(e),r=await fetch(`/api/settings/import`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)});if(!r.ok){let e=await r.json().catch(()=>({}));throw Error(e.error??`HTTP ${r.status}`)}await x.fetchSettings(),pa(),h.notify({type:`positive`,message:S(`settings.importSuccess`),position:`top`,timeout:3e3})}catch(e){h.notify({type:`negative`,message:String(e),position:`top`,timeout:5e3})}})}finally{t.value=``}}async function xa(e){if(z.value===null){z.value=e;try{let t=await x.fetchGlobalDefaults(),n={prPromptTemplate:w,reviewPromptTemplate:T,gitConventions:E,notionInitialPromptTemplate:L,sentryInitialPromptTemplate:R};n[e].value=t[e]}catch(e){console.error(`[SettingsPage] resetFieldToDefault failed:`,e),h.notify({type:`negative`,message:S(`settings.resetFailed`),position:`top`})}finally{z.value=null}}}async function Sa(){if(await ri.value?.validate()!==!1){Ci.value=!0;try{await x.updateGlobal({defaultModelByEngine:{"claude-code":ne.value,codex:re.value},prPromptTemplate:w.value,reviewPromptTemplate:T.value,gitConventions:E.value,editorCommand:me.value,browserNotifications:O.value,audioNotifications:k.value,audioNotificationSound:M.value,audioNotificationVolume:N.value,notionStatusProperty:P.value,notionInProgressStatus:He.value,notionInitialPromptTemplate:L.value,sentryInitialPromptTemplate:R.value,defaultPermissionModeByEngine:{"claude-code":B.value,codex:V.value},notionMcpKey:H.value,sentryMcpKey:Ue.value,tags:ti.value,worktreesPath:ni.value,worktreesPrefixByProject:ii.value,flattenWorkspaceList:ai.value,skillSuite:U.value,customReviewTemplate:oi.value,customAutoLoopReviewGate:si.value,customAutoLoopGroomingIntro:ci.value,customQaPromptTemplate:li.value,voiceEnabled:ui.value,voicePttKey:di.value,voiceLanguage:fi.value,voiceModel:W.value,voiceCommandPath:pi.value.trim(),voiceFfmpegPath:mi.value.trim(),voiceTemperature:G.value,voicePrompt:hi.value,voiceTranslateToEnglish:gi.value,voiceSuppressNonSpeechTokens:_i.value}),sa.value=la(),h.notify({type:`positive`,message:S(`settings.saved`),position:`top`})}catch{h.notify({type:`negative`,message:S(`settings.saveError`),position:`top`})}finally{Ci.value=!1}}}async function Ca(e){vi.value=e;try{await x.downloadVoiceModel(e)}catch{h.notify({type:`negative`,message:S(`voice.downloadFailed`),position:`top`})}finally{vi.value=null}}async function wa(e){vi.value=e;try{await x.deleteVoiceModel(e),W.value===e&&(W.value=null)}catch{h.notify({type:`negative`,message:S(`voice.deleteFailed`),position:`top`})}finally{vi.value=null}}async function Ta(){if(!J.value.path.trim()){h.notify({type:`negative`,message:S(`settings.projectPathRequired`),position:`top`});return}Fi.value=!0;try{await x.upsertProject(J.value.path.trim(),{displayName:J.value.displayName,color:J.value.color,defaultSourceBranch:J.value.defaultSourceBranch,defaultModel:J.value.defaultModel,prPromptTemplate:J.value.prPromptTemplate,reviewPromptTemplate:J.value.reviewPromptTemplate,notionInitialPromptTemplate:J.value.notionInitialPromptTemplate,sentryInitialPromptTemplate:J.value.sentryInitialPromptTemplate,gitConventions:J.value.gitConventions,setupScript:J.value.setupScript,devServer:J.value.devServer,e2e:J.value.e2e,finalization:J.value.finalization}),q.value=!1;let e=x.projects.findIndex(e=>e.path===J.value.path.trim());e>=0&&(K.value=e),ca.value=ua(),h.notify({type:`positive`,message:S(`settings.projectSaved`),position:`top`})}catch{h.notify({type:`negative`,message:S(`settings.projectSaveError`),position:`top`})}finally{Fi.value=!1}}async function Ea(){if(oa.value){Ii.value=!0;try{await x.deleteProject(oa.value.path),K.value=-1,q.value=!1,ma(null),h.notify({type:`positive`,message:S(`settings.projectDeleted`),position:`top`})}catch{h.notify({type:`negative`,message:S(`settings.projectDeleteError`),position:`top`})}finally{Ii.value=!1}}}function Da(){K.value=-1,q.value=!0,ma(null),Y.value=null,X.value=null}function Oa(e){q.value=!1,K.value=e,Y.value=null,X.value=null}function ka(e){if(e.displayName)return e.displayName;let t=e.path.split(`/`);return t[t.length-1]??e.path}let Aa=a([]);function ja(e,t){t(()=>{Aa.value=e?Ni.value.filter(t=>t.toLowerCase().includes(e.toLowerCase())):Ni.value})}return r(async()=>{await Promise.all([x.fetchSettings(),x.fetchActiveMcpServers(),ji()]),await x.fetchVoiceModels(),await x.fetchVoiceRuntime(),pa()}),i(()=>{ga&&clearTimeout(ga)}),(t,r)=>(e(),d(Ve,{class:`settings-page`},{default:s(()=>[b(`div`,Ge,[b(`div`,Ke,[p(ie,{name:`settings`,size:`24px`,color:`indigo-4`,class:`q-mr-sm`}),b(`span`,qe,u(t.$t(`settings.title`)),1)]),p(Oe,{modelValue:te.value,"onUpdate:modelValue":r[0]||=e=>te.value=e,dense:``,"active-color":`indigo-4`,"indicator-color":`indigo-4`,class:`settings-tabs q-mb-lg`,align:`left`,"narrow-indicator":``},{default:s(()=>[p(ke,{name:`global`,label:t.$t(`settings.global`)},null,8,[`label`]),p(ke,{name:`projects`,label:t.$t(`settings.projects`)},null,8,[`label`]),p(ke,{name:`templates`,label:t.$t(`templates.title`)},null,8,[`label`])]),_:1},8,[`modelValue`]),p(Ae,{modelValue:te.value,"onUpdate:modelValue":r[62]||=e=>te.value=e,animated:``,class:`settings-panels`},{default:s(()=>[p(je,{name:`global`,class:`q-pa-none`},{default:s(()=>[b(`div`,Je,[b(`div`,Ye,u(t.$t(`settings.globalSettings`)),1),p(ae,{dark:``,class:`q-mb-md`}),b(`div`,Xe,[b(`div`,Ze,u(t.$t(`settings.language`)),1),p(I,{"model-value":y(C),options:qi,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input`,"onUpdate:modelValue":Ji},null,8,[`model-value`])]),b(`div`,Qe,[b(`div`,$e,u(t.$t(`settings.workspaceListSection`)),1),p(j,{modelValue:ai.value,"onUpdate:modelValue":r[1]||=e=>ai.value=e,label:t.$t(`settings.flattenWorkspaceList`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`},null,8,[`modelValue`,`label`]),b(`div`,et,u(t.$t(`settings.flattenWorkspaceListHint`)),1)]),b(`div`,tt,[b(`div`,nt,u(t.$t(`settings.skillSuite.section`)),1),p(ve,{modelValue:U.value,"onUpdate:modelValue":r[2]||=e=>U.value=e,options:[{label:t.$t(`settings.skillSuite.superpowers`),value:`superpowers`},{label:t.$t(`settings.skillSuite.gstack`),value:`gstack`},{label:t.$t(`settings.skillSuite.custom`),value:`custom`}],type:`radio`,color:`indigo-4`,dense:``,dark:``,inline:``},null,8,[`modelValue`,`options`]),b(`div`,rt,u(t.$t(`settings.skillSuite.${U.value}Hint`)),1),p(D,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`grey-5`,icon:`restart_alt`,label:t.$t(`settings.skillSuite.reloadDefaults`),disable:U.value!==`custom`,class:`q-mt-sm`,onClick:bi},null,8,[`label`,`disable`])]),U.value===`custom`?(e(),_(`div`,it,[b(`div`,at,u(t.$t(`settings.skillSuite.customPrompts`)),1),b(`div`,ot,u(t.$t(`settings.skillSuite.reviewTemplate`)),1),p(A,{modelValue:oi.value,"onUpdate:modelValue":r[3]||=e=>oi.value=e,type:`textarea`,filled:``,dense:``,rows:`8`,dark:``},null,8,[`modelValue`]),b(`div`,st,u(t.$t(`settings.skillSuite.autoLoopReviewGate`)),1),p(A,{modelValue:si.value,"onUpdate:modelValue":r[4]||=e=>si.value=e,type:`textarea`,filled:``,dense:``,rows:`6`,dark:``},null,8,[`modelValue`]),b(`div`,ct,u(t.$t(`settings.skillSuite.autoLoopGroomingIntro`)),1),p(A,{modelValue:ci.value,"onUpdate:modelValue":r[5]||=e=>ci.value=e,type:`textarea`,filled:``,dense:``,rows:`4`,dark:``},null,8,[`modelValue`]),b(`div`,lt,u(t.$t(`settings.skillSuite.qaTemplate`)),1),p(A,{modelValue:li.value,"onUpdate:modelValue":r[6]||=e=>li.value=e,type:`textarea`,filled:``,dense:``,rows:`6`,dark:``},null,8,[`modelValue`])])):f(``,!0),b(`div`,ut,[b(`div`,dt,u(t.$t(`settings.defaultModelClaude`)),1),p(I,{modelValue:ne.value,"onUpdate:modelValue":r[7]||=e=>ne.value=e,options:Yi.value,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`options`]),b(`div`,ft,u(t.$t(`settings.defaultModelCodex`)),1),p(I,{modelValue:re.value,"onUpdate:modelValue":r[8]||=e=>re.value=e,options:Xi.value,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`options`]),b(`div`,pt,u(t.$t(`settings.defaultPermissionModeClaude`)),1),b(`div`,mt,u(t.$t(`settings.defaultPermissionModeHint`)),1),p(I,{modelValue:B.value,"onUpdate:modelValue":r[9]||=e=>B.value=e,options:Qi.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`options`]),b(`div`,ht,u(t.$t(`settings.defaultPermissionModeCodex`)),1),p(I,{modelValue:V.value,"onUpdate:modelValue":r[10]||=e=>V.value=e,options:$i.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])]),b(`div`,gt,[b(`div`,_t,u(t.$t(`settings.activityFeed`)),1),p(j,{"model-value":y(x).showVerboseSystemMessages,label:t.$t(`settings.verboseMessages`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`,"onUpdate:modelValue":r[11]||=e=>y(x).toggleVerboseSystemMessages()},null,8,[`model-value`,`label`])]),b(`div`,vt,[b(`div`,yt,u(t.$t(`settings.notifications`)),1),b(`div`,bt,[p(j,{modelValue:O.value,"onUpdate:modelValue":r[12]||=e=>O.value=e,label:t.$t(`settings.browserNotifications`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`},null,8,[`modelValue`,`label`]),p(j,{modelValue:k.value,"onUpdate:modelValue":r[13]||=e=>k.value=e,label:t.$t(`settings.audioNotifications`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`},null,8,[`modelValue`,`label`])]),b(`div`,xt,[p(I,{modelValue:M.value,"onUpdate:modelValue":r[14]||=e=>M.value=e,options:na.value,label:t.$t(`settings.notificationSound`),disable:!k.value,dark:``,dense:``,outlined:``,"emit-value":``,"map-options":``,color:`indigo-4`,class:`col`},null,8,[`modelValue`,`options`,`label`,`disable`]),p(D,{flat:``,dense:``,color:`indigo-4`,icon:`play_arrow`,label:t.$t(`settings.notificationSoundPreview`),disable:!k.value,onClick:aa},null,8,[`label`,`disable`])]),b(`div`,St,[b(`div`,Ct,u(t.$t(`settings.notificationVolume`)),1),p(We,{modelValue:N.value,"onUpdate:modelValue":r[15]||=e=>N.value=e,min:0,max:1,step:.05,disable:!k.value,dark:``,dense:``,color:`indigo-4`,class:`col`},null,8,[`modelValue`,`disable`]),b(`div`,wt,u(Math.round(N.value*100))+`% `,1)])]),b(`div`,Tt,[b(`div`,Et,u(t.$t(`voice.title`)),1),b(`div`,Dt,[p(j,{modelValue:ui.value,"onUpdate:modelValue":r[16]||=e=>ui.value=e,label:t.$t(`voice.enabled`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`},null,8,[`modelValue`,`label`]),p(I,{modelValue:di.value,"onUpdate:modelValue":r[17]||=e=>di.value=e,label:t.$t(`voice.pttKey`),options:[{label:t.$t(`voice.pttAlt`),value:`alt`},{label:t.$t(`voice.pttCtrlSpace`),value:`ctrl+space`}],"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`label`,`options`]),p(I,{modelValue:fi.value,"onUpdate:modelValue":r[18]||=e=>fi.value=e,label:t.$t(`voice.language`),options:ia,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`label`]),p(I,{modelValue:W.value,"onUpdate:modelValue":r[19]||=e=>W.value=e,label:t.$t(`voice.model`),options:ra.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`label`,`options`]),p(A,{modelValue:pi.value,"onUpdate:modelValue":r[20]||=e=>pi.value=e,label:t.$t(`voice.commandPath`),dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`label`]),p(A,{modelValue:mi.value,"onUpdate:modelValue":r[21]||=e=>mi.value=e,label:t.$t(`voice.ffmpegPath`),dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`label`]),b(`div`,Ot,[b(`div`,kt,u(t.$t(`voice.temperature`)),1),p(We,{modelValue:G.value,"onUpdate:modelValue":r[22]||=e=>G.value=e,min:0,max:1,step:.05,dark:``,dense:``,color:`indigo-4`,class:`col`},null,8,[`modelValue`]),b(`div`,At,u(G.value.toFixed(2)),1)]),b(`div`,jt,u(t.$t(`voice.temperatureHint`)),1),p(A,{modelValue:hi.value,"onUpdate:modelValue":r[23]||=e=>hi.value=e,label:t.$t(`voice.initialPrompt`),type:`textarea`,dense:``,dark:``,outlined:``,rows:2,class:`settings-input`},null,8,[`modelValue`,`label`]),b(`div`,Mt,u(t.$t(`voice.initialPromptHint`)),1),p(j,{modelValue:gi.value,"onUpdate:modelValue":r[24]||=e=>gi.value=e,label:t.$t(`voice.translateToEnglish`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`},null,8,[`modelValue`,`label`]),b(`div`,Nt,u(t.$t(`voice.translateToEnglishHint`)),1),p(j,{modelValue:_i.value,"onUpdate:modelValue":r[25]||=e=>_i.value=e,label:t.$t(`voice.suppressNst`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`},null,8,[`modelValue`,`label`]),b(`div`,Pt,u(t.$t(`voice.suppressNstHint`)),1),b(`div`,Ft,[(e(!0),_(v,null,n(y(x).voiceModels,n=>(e(),d(D,{key:n.name,flat:``,dense:``,"no-caps":``,size:`sm`,color:n.installed?`red-5`:`indigo-4`,label:n.installed?`${t.$t(`voice.delete`)} ${n.name}`:`${t.$t(`voice.download`)} ${n.name}`,loading:vi.value===n.name,onClick:e=>n.installed?wa(n.name):Ca(n.name)},null,8,[`color`,`label`,`loading`,`onClick`]))),128))]),b(`div`,It,[b(`span`,{class:l([`text-caption`,y(x).voiceRuntime?.available?`text-green-5`:`text-red-5`])},u(y(x).voiceRuntime?.available?y(S)(`voice.runtimeReady`,{command:y(x).voiceRuntime?.command??`whisper-cli`}):y(S)(`voice.runtimeMissing`,{command:y(x).voiceRuntime?.command??`whisper-cli`})),3),p(F),p(D,{flat:``,dense:``,size:`sm`,icon:`refresh`,color:`grey-5`,label:y(S)(`common.refresh`),onClick:r[26]||=e=>y(x).fetchVoiceRuntime()},null,8,[`label`])]),b(`div`,Lt,[b(`span`,{class:l([`text-caption`,y(x).voiceRuntime?.ffmpegAvailable?`text-green-5`:`text-red-5`])},u(y(x).voiceRuntime?.ffmpegAvailable?y(S)(`voice.ffmpegReady`):y(S)(`voice.ffmpegMissing`)),3)]),p(we,{dense:``,dark:``,icon:`help_outline`,label:t.$t(`voice.installGuideTitle`),class:`variables-panel rounded-borders q-mt-sm`},{default:s(()=>[b(`div`,Rt,[b(`div`,zt,u(t.$t(`voice.installGuideIntro`)),1),b(`div`,Bt,[b(`a`,Vt,u(t.$t(`voice.installLink`)),1)]),b(`div`,Ht,u(t.$t(`voice.installGuideUbuntuTitle`)),1),r[67]||=b(`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),b(`div`,Ut,u(t.$t(`voice.installGuideBinaryPathHint`)),1),b(`div`,Wt,u(t.$t(`voice.installGuideWindowsTitle`)),1),r[68]||=b(`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),b(`div`,null,u(t.$t(`voice.installGuideSettingsHint`)),1)])]),_:1},8,[`label`])])]),b(`div`,Gt,[b(`div`,Kt,[b(`div`,qt,u(t.$t(`settings.prPromptTemplate`)),1),p(F),p(D,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`grey-5`,icon:`restart_alt`,label:y(S)(`settings.resetToDefault`),loading:z.value===`prPromptTemplate`,disable:z.value!==null&&z.value!==`prPromptTemplate`,onClick:r[27]||=e=>xa(`prPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),b(`div`,Jt,u(t.$t(`settings.prPromptHint`)),1),p(A,{modelValue:w.value,"onUpdate:modelValue":r[28]||=e=>w.value=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:8,placeholder:t.$t(`settings.prPromptPlaceholder`),class:`settings-input mono-textarea q-mb-md`},null,8,[`modelValue`,`placeholder`]),b(`div`,Yt,[p(we,{dense:``,dark:``,icon:`code`,label:t.$t(`settings.availableVariables`),class:`variables-panel rounded-borders`},{default:s(()=>[p(Te,{dense:``,dark:``,class:`q-pa-sm`},{default:s(()=>[(e(!0),_(v,null,n(ea.value,t=>(e(),d(be,{key:t.name,dense:``},{default:s(()=>[p(xe,null,{default:s(()=>[p(Se,{class:`text-caption`,style:{"font-family":`monospace`}},{default:s(()=>[m(u(t.name),1)]),_:2},1024),p(Se,{caption:``,class:`text-grey-7`},{default:s(()=>[m(u(t.description),1)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1},8,[`label`])]),b(`div`,Xt,[b(`div`,Zt,u(t.$t(`settings.reviewPromptTemplate`)),1),p(F),p(D,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`grey-5`,icon:`restart_alt`,label:y(S)(`settings.resetToDefault`),loading:z.value===`reviewPromptTemplate`,disable:z.value!==null&&z.value!==`reviewPromptTemplate`,onClick:r[29]||=e=>xa(`reviewPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),b(`div`,Qt,u(t.$t(`settings.prPromptHint`)),1),p(A,{modelValue:T.value,"onUpdate:modelValue":r[30]||=e=>T.value=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:8,placeholder:t.$t(`settings.reviewPromptPlaceholder`),class:`settings-input mono-textarea q-mb-md`},null,8,[`modelValue`,`placeholder`]),b(`div`,$t,[b(`div`,en,u(t.$t(`settings.gitConventions`)),1),p(F),p(D,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`grey-5`,icon:`restart_alt`,label:y(S)(`settings.resetToDefault`),loading:z.value===`gitConventions`,disable:z.value!==null&&z.value!==`gitConventions`,onClick:r[31]||=e=>xa(`gitConventions`)},null,8,[`label`,`loading`,`disable`])]),b(`div`,tn,u(t.$t(`settings.gitConventionsHint`)),1),p(A,{modelValue:E.value,"onUpdate:modelValue":r[32]||=e=>E.value=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:8,placeholder:t.$t(`settings.gitConventionsPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),b(`div`,nn,[b(`div`,rn,u(t.$t(`settings.editorCommand`)),1),b(`div`,an,u(t.$t(`settings.editorCommandHint`)),1),p(A,{modelValue:me.value,"onUpdate:modelValue":r[33]||=e=>me.value=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.editorCommandPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),b(`div`,on,[b(`div`,sn,u(t.$t(`settings.mcpSelection`)),1),b(`div`,cn,u(t.$t(`settings.mcpSelectionHint`)),1),b(`div`,ln,[b(`div`,un,u(t.$t(`settings.notionMcp`)),1),p(I,{modelValue:H.value,"onUpdate:modelValue":r[34]||=e=>H.value=e,options:ta.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])]),b(`div`,dn,[b(`div`,fn,u(t.$t(`settings.sentryMcp`)),1),p(I,{modelValue:Ue.value,"onUpdate:modelValue":r[35]||=e=>Ue.value=e,options:ta.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])])]),b(`div`,pn,[b(`div`,mn,u(t.$t(`settings.notionStatus`)),1),b(`div`,hn,u(t.$t(`settings.notionStatusHint`)),1),b(`div`,gn,[b(`div`,_n,u(t.$t(`settings.notionStatusProperty`)),1),p(A,{modelValue:P.value,"onUpdate:modelValue":r[36]||=e=>P.value=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.notionStatusPropertyPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),b(`div`,vn,[b(`div`,yn,u(t.$t(`settings.notionInProgressStatus`)),1),p(A,{modelValue:He.value,"onUpdate:modelValue":r[37]||=e=>He.value=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.notionInProgressStatusPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),b(`div`,bn,[b(`div`,xn,u(y(S)(`settings.notionInitialPrompt`)),1),p(F),p(D,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`grey-5`,icon:`restart_alt`,label:y(S)(`settings.resetToDefault`),loading:z.value===`notionInitialPromptTemplate`,disable:z.value!==null&&z.value!==`notionInitialPromptTemplate`,onClick:r[38]||=e=>xa(`notionInitialPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),b(`div`,Sn,u(y(S)(`settings.notionInitialPrompt.help`,{variables:`{ticket_id}, {notion_url}, {notion_file_path}`})),1),p(A,{modelValue:L.value,"onUpdate:modelValue":r[39]||=e=>L.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])]),b(`div`,Cn,[b(`div`,wn,u(y(S)(`settings.sentryIntegration`)),1),b(`div`,Tn,[b(`div`,En,u(y(S)(`settings.sentryInitialPrompt`)),1),p(F),p(D,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`grey-5`,icon:`restart_alt`,label:y(S)(`settings.resetToDefault`),loading:z.value===`sentryInitialPromptTemplate`,disable:z.value!==null&&z.value!==`sentryInitialPromptTemplate`,onClick:r[40]||=e=>xa(`sentryInitialPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),b(`div`,Dn,u(y(S)(`settings.sentryInitialPrompt.help`,{variables:`{issue_id}, {sentry_url}, {sentry_file_path}`})),1),p(A,{modelValue:R.value,"onUpdate:modelValue":r[41]||=e=>R.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])]),b(`div`,On,[b(`div`,kn,u(t.$t(`settings.tagsTitle`)),1),b(`div`,An,u(t.$t(`settings.tagsHint`)),1),p(I,{modelValue:ti.value,"onUpdate:modelValue":r[42]||=e=>ti.value=e,label:t.$t(`settings.tagsLabel`),dark:``,outlined:``,multiple:``,"use-input":``,"use-chips":``,"new-value-mode":`add-unique`,"hide-dropdown-icon":``,"input-debounce":`0`,class:`settings-input`},null,8,[`modelValue`,`label`])]),b(`div`,jn,[b(`div`,Mn,u(t.$t(`settings.worktreesTitle`)),1),b(`div`,Nn,u(t.$t(`settings.worktreesHint`)),1),p(A,{ref_key:`globalWorktreesPathInput`,ref:ri,modelValue:ni.value,"onUpdate:modelValue":r[43]||=e=>ni.value=e,label:t.$t(`settings.worktreesPathLabel`),dense:``,dark:``,outlined:``,placeholder:y(se),rules:Si,"lazy-rules":``,class:`settings-input`},null,8,[`modelValue`,`label`,`placeholder`]),p(j,{modelValue:ii.value,"onUpdate:modelValue":r[44]||=e=>ii.value=e,label:t.$t(`settings.worktreesPrefixByProject`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption q-mt-sm`},null,8,[`modelValue`,`label`]),b(`div`,Pn,u(t.$t(`settings.worktreesPrefixByProjectHint`)),1)]),b(`div`,Fn,[b(`div`,In,u(t.$t(`settings.shareTitle`)),1),b(`div`,Ln,u(t.$t(`settings.shareHint`)),1),b(`div`,Rn,[p(D,{label:t.$t(`settings.exportConfig`),icon:`download`,"no-caps":``,outline:``,color:`grey-4`,onClick:va},null,8,[`label`]),p(D,{label:t.$t(`settings.importConfig`),icon:`upload`,"no-caps":``,outline:``,color:`grey-4`,onClick:ya},null,8,[`label`]),b(`input`,{ref_key:`importFileInput`,ref:_a,type:`file`,accept:`application/json,.json`,style:{display:`none`},onChange:ba},null,544)])]),b(`div`,zn,[p(D,{label:t.$t(`common.save`),"no-caps":``,unelevated:``,size:`sm`,color:`primary`,loading:Ci.value,class:l({"save-btn--dirty":da.value}),onClick:Sa},null,8,[`label`,`loading`,`class`])])])]),_:1}),p(je,{name:`projects`,class:`q-pa-none`},{default:s(()=>[b(`div`,Bn,[b(`div`,Vn,[b(`div`,Hn,[b(`div`,Un,[b(`div`,Wn,u(t.$t(`settings.configuredProjects`)),1)]),p(ae,{dark:``}),p(Te,{dark:``,dense:``,class:`q-py-xs`},{default:s(()=>[(e(!0),_(v,null,n(y(x).projects,(t,n)=>(e(),d(be,{key:t.path,clickable:``,active:K.value===n&&!q.value,"active-class":`project-item--active`,class:`project-item q-mx-xs rounded-borders`,style:{"min-height":`40px`},onClick:e=>Oa(n)},{default:s(()=>[p(xe,null,{default:s(()=>[p(Se,{class:`text-body2 text-grey-3`},{default:s(()=>[m(u(ka(t)),1)]),_:2},1024),p(Se,{caption:``,class:`text-grey-7 ellipsis`,style:{"font-size":`11px`,"font-family":`monospace`}},{default:s(()=>[m(u(t.path),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,[`active`,`onClick`]))),128))]),_:1}),y(x).projects.length===0&&!y(x).loading?(e(),_(`div`,Gn,u(t.$t(`settings.noProjects`)),1)):f(``,!0),p(ae,{dark:``}),b(`div`,Kn,[p(D,{label:t.$t(`settings.addProject`),icon:`add`,"no-caps":``,flat:``,dense:``,class:`full-width`,color:`indigo-4`,onClick:Da},null,8,[`label`])])])]),b(`div`,qn,[b(`div`,Jn,[oa.value||q.value?(e(),_(v,{key:0},[b(`div`,Yn,u(q.value?t.$t(`settings.newProject`):t.$t(`settings.editProject`)),1),p(ae,{dark:``,class:`q-mb-md`}),q.value&&y(x).projects.length>0?(e(),_(`div`,Xn,[b(`div`,Zn,u(t.$t(`settings.copyFrom`)),1),p(I,{"model-value":Y.value,options:Ti.value,"option-value":`value`,"option-label":`label`,"emit-value":``,"map-options":``,clearable:``,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.copyFromPlaceholder`),class:`settings-input`,"onUpdate:modelValue":Oi},null,8,[`model-value`,`options`,`placeholder`]),b(`div`,Qn,u(t.$t(`settings.copyFromHint`)),1)])):f(``,!0),b(`div`,$n,[b(`div`,er,u(t.$t(`settings.projectPath`)),1),p(A,{modelValue:J.value.path,"onUpdate:modelValue":r[45]||=e=>J.value.path=e,dense:``,dark:``,outlined:``,readonly:!q.value,placeholder:t.$t(`settings.projectPathPlaceholder`),class:l([`settings-input`,{"readonly-input":!q.value}])},null,8,[`modelValue`,`readonly`,`placeholder`,`class`])]),b(`div`,tr,[b(`div`,nr,u(t.$t(`settings.displayName`)),1),p(A,{modelValue:J.value.displayName,"onUpdate:modelValue":r[46]||=e=>J.value.displayName=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.displayNamePlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),b(`div`,rr,[b(`div`,ir,u(t.$t(`settings.projectColor`)),1),b(`div`,ar,[(e(!0),_(v,null,n(y(Me),t=>(e(),d(Le,{key:t,dense:``,clickable:``,color:t,icon:J.value.color===t?`check`:void 0,"text-color":`white`,onClick:e=>J.value.color=t},null,8,[`color`,`icon`,`onClick`]))),128)),p(D,{flat:``,dense:``,"no-caps":``,size:`xs`,label:t.$t(`settings.projectColorClear`),color:`grey-5`,disable:!J.value.color,onClick:r[47]||=e=>J.value.color=null},null,8,[`label`,`disable`])]),b(`div`,or,u(J.value.color??t.$t(`settings.projectColorDefault`)),1)]),b(`div`,sr,[b(`div`,cr,u(t.$t(`settings.defaultSourceBranch`)),1),p(I,{modelValue:J.value.defaultSourceBranch,"onUpdate:modelValue":r[48]||=e=>J.value.defaultSourceBranch=e,options:Aa.value,dense:``,dark:``,outlined:``,"use-input":``,"emit-value":``,loading:Pi.value,class:`settings-input`,placeholder:`main`,onFilter:ja},{"no-option":s(()=>[p(be,null,{default:s(()=>[p(xe,{class:`text-grey-6 text-caption`},{default:s(()=>[m(u(J.value.path.trim()?t.$t(`createPage.noBranches`):t.$t(`createPage.enterPath`)),1)]),_:1})]),_:1})]),_:1},8,[`modelValue`,`options`,`loading`])]),b(`div`,lr,[b(`div`,ur,u(t.$t(`settings.defaultModel.project`)),1),p(I,{modelValue:J.value.defaultModel,"onUpdate:modelValue":r[49]||=e=>J.value.defaultModel=e,options:Zi.value,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])]),b(`div`,dr,[b(`div`,fr,u(t.$t(`settings.prPromptTemplate.project`)),1),p(A,{modelValue:J.value.prPromptTemplate,"onUpdate:modelValue":r[50]||=e=>J.value.prPromptTemplate=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:4,placeholder:t.$t(`settings.prPromptPlaceholder.project`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),b(`div`,pr,[b(`div`,mr,u(t.$t(`settings.reviewPromptTemplate.project`)),1),p(A,{modelValue:J.value.reviewPromptTemplate,"onUpdate:modelValue":r[51]||=e=>J.value.reviewPromptTemplate=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:4,placeholder:t.$t(`settings.reviewPromptPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),b(`div`,hr,[b(`div`,gr,u(y(S)(`settings.notionInitialPrompt.project`)),1),b(`div`,_r,u(y(S)(`settings.initialPrompt.inheritHint`)),1),p(A,{modelValue:J.value.notionInitialPromptTemplate,"onUpdate:modelValue":r[52]||=e=>J.value.notionInitialPromptTemplate=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])]),b(`div`,vr,[b(`div`,yr,u(y(S)(`settings.sentryInitialPrompt.project`)),1),b(`div`,br,u(y(S)(`settings.initialPrompt.inheritHint`)),1),p(A,{modelValue:J.value.sentryInitialPromptTemplate,"onUpdate:modelValue":r[53]||=e=>J.value.sentryInitialPromptTemplate=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])]),b(`div`,xr,[b(`div`,Sr,u(t.$t(`settings.gitConventions.project`)),1),p(A,{modelValue:J.value.gitConventions,"onUpdate:modelValue":r[54]||=e=>J.value.gitConventions=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:6,placeholder:t.$t(`settings.gitConventionsEmpty`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`]),b(`div`,Cr,u(t.$t(`settings.gitConventionsEmpty`)),1)]),b(`div`,wr,[b(`div`,Tr,u(t.$t(`settings.setupScript`)),1),p(A,{modelValue:J.value.setupScript,"onUpdate:modelValue":r[55]||=e=>J.value.setupScript=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:5,placeholder:t.$t(`settings.setupScriptPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`]),b(`div`,Er,u(t.$t(`settings.setupScriptHint`)),1)]),b(`div`,Dr,[b(`div`,Or,u(t.$t(`settings.devServer`)),1),b(`div`,kr,[b(`div`,Ar,u(t.$t(`settings.devServerStart`)),1),p(A,{modelValue:J.value.devServer.startCommand,"onUpdate:modelValue":r[56]||=e=>J.value.devServer.startCommand=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:3,placeholder:t.$t(`settings.devServerStartPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),b(`div`,null,[b(`div`,jr,u(t.$t(`settings.devServerStop`)),1),p(A,{modelValue:J.value.devServer.stopCommand,"onUpdate:modelValue":r[57]||=e=>J.value.devServer.stopCommand=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:3,placeholder:t.$t(`settings.devServerStopPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])])]),b(`div`,Mr,[b(`div`,Nr,u(t.$t(`settings.e2e.title`)),1),b(`div`,Pr,u(t.$t(`settings.e2e.helpText`)),1),p(I,{modelValue:J.value.e2e.framework,"onUpdate:modelValue":r[58]||=e=>J.value.e2e.framework=e,options:[{label:t.$t(`settings.e2e.frameworkNone`),value:``},{label:`Cypress`,value:`cypress`},{label:`Playwright`,value:`playwright`},{label:`Jest`,value:`jest`},{label:`Vitest`,value:`vitest`},{label:t.$t(`settings.e2e.frameworkOther`),value:`other`}],"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input q-mb-sm`,label:t.$t(`settings.e2e.framework`)},null,8,[`modelValue`,`options`,`label`]),J.value.e2e.framework?(e(),_(v,{key:0},[p(I,{modelValue:J.value.e2e.skill,"onUpdate:modelValue":r[59]||=e=>J.value.e2e.skill=e,options:Ai.value,"use-input":``,"fill-input":``,"hide-selected":``,"hide-dropdown-icon":``,"input-debounce":`200`,"new-value-mode":`add-unique`,dense:``,dark:``,outlined:``,class:`settings-input q-mb-sm`,label:t.$t(`settings.e2e.skill`),placeholder:t.$t(`settings.e2e.skillPlaceholder`),onFilter:Mi},null,8,[`modelValue`,`options`,`label`,`placeholder`]),p(A,{modelValue:J.value.e2e.prompt,"onUpdate:modelValue":r[60]||=e=>J.value.e2e.prompt=e,type:`textarea`,autogrow:``,dense:``,dark:``,outlined:``,class:`settings-input mono-textarea`,label:t.$t(`settings.e2e.prompt`),placeholder:t.$t(`settings.e2e.promptPlaceholder`)},null,8,[`modelValue`,`label`,`placeholder`])],64)):f(``,!0)]),b(`div`,Fr,[b(`div`,Ir,u(t.$t(`settings.finalization.title`)),1),b(`div`,Lr,u(t.$t(`settings.finalization.helpText`)),1),p(A,{modelValue:J.value.finalization.prompt,"onUpdate:modelValue":r[61]||=e=>J.value.finalization.prompt=e,type:`textarea`,autogrow:``,rows:`4`,dense:``,dark:``,outlined:``,class:`settings-input mono-textarea q-mb-sm`,label:t.$t(`settings.finalization.prompt`),placeholder:t.$t(`settings.finalization.promptPlaceholder`)},null,8,[`modelValue`,`label`,`placeholder`])]),b(`div`,Rr,[q.value?f(``,!0):(e(),d(D,{key:0,label:t.$t(`common.delete`),"no-caps":``,flat:``,size:`sm`,color:`red-5`,loading:Ii.value,onClick:Ea},null,8,[`label`,`loading`])),p(F),p(D,{label:t.$t(`common.save`),"no-caps":``,unelevated:``,size:`sm`,color:`primary`,loading:Fi.value,class:l({"save-btn--dirty":fa.value}),onClick:Ta},null,8,[`label`,`loading`,`class`])])],64)):(e(),_(`div`,zr,[p(ie,{name:`folder_open`,size:`48px`,color:`grey-7`,class:`q-mb-md`}),b(`div`,Br,u(t.$t(`settings.selectProject`)),1)]))])])])]),_:1}),p(je,{name:`templates`,class:`q-pa-none`},{default:s(()=>[b(`div`,Vr,[b(`div`,Hr,[b(`div`,Ur,u(t.$t(`templates.title`)),1),p(D,{color:`primary`,icon:`add`,label:t.$t(`templates.newTemplate`),dense:``,"no-caps":``,onClick:Ui},null,8,[`label`])]),p(ae,{dark:``,class:`q-mb-md`}),Vi.value.length===0?(e(),_(`div`,Wr,u(t.$t(`templates.empty`)),1)):(e(),_(`div`,Gr,[(e(!0),_(v,null,n(Vi.value,n=>(e(),d(ye,{key:n.slug,dark:``,flat:``,bordered:``,class:`q-pa-md template-card`},{default:s(()=>[b(`div`,Kr,[b(`div`,qr,[b(`div`,Jr,` /`+u(n.slug),1),b(`div`,Yr,u(n.description),1)]),b(`div`,Xr,[p(D,{flat:``,dense:``,round:``,size:`sm`,icon:`edit`,color:`grey-5`,onClick:e=>Wi(n)},{default:s(()=>[p(Ce,null,{default:s(()=>[m(u(t.$t(`templates.editTemplate`)),1)]),_:1})]),_:1},8,[`onClick`]),p(D,{flat:``,dense:``,round:``,size:`sm`,icon:`delete`,color:`red-4`,onClick:e=>Ki(n)},{default:s(()=>[p(Ce,null,{default:s(()=>[m(u(t.$t(`templates.deleteTemplate`)),1)]),_:1})]),_:1},8,[`onClick`])])])]),_:2},1024))),128))])),b(`div`,Zr,u(t.$t(`templates.filePath`,{path:`~/.config/kobo/templates.json`})),1)])]),_:1})]),_:1},8,[`modelValue`])]),p(ge,{modelValue:Li.value,"onUpdate:modelValue":r[66]||=e=>Li.value=e,persistent:``},{default:s(()=>[p(ye,{dark:``,style:{"min-width":`560px`,"max-width":`800px`,width:`80vw`}},{default:s(()=>[p(he,null,{default:s(()=>[b(`div`,Qr,u(Z.value===null?t.$t(`templates.newTemplate`):t.$t(`templates.editTemplate`)),1)]),_:1}),p(he,{class:`q-gutter-md`},{default:s(()=>[p(A,{modelValue:Ri.value,"onUpdate:modelValue":r[63]||=e=>Ri.value=e,label:t.$t(`templates.slug`),hint:t.$t(`templates.slugHint`),dark:``,dense:``,prefix:`/`,disable:Z.value!==null,rules:[e=>/^[a-z0-9][a-z0-9-]{0,63}$/.test(e)||t.$t(`templates.slugInvalid`)],"lazy-rules":``},null,8,[`modelValue`,`label`,`hint`,`disable`,`rules`]),p(A,{modelValue:zi.value,"onUpdate:modelValue":r[64]||=e=>zi.value=e,label:t.$t(`templates.description`),hint:t.$t(`templates.descriptionHint`),dark:``,dense:``,counter:``,maxlength:`120`,rules:[e=>e&&e.trim().length>0||``]},null,8,[`modelValue`,`label`,`hint`,`rules`]),p(A,{modelValue:Q.value,"onUpdate:modelValue":r[65]||=e=>Q.value=e,label:t.$t(`templates.content`),hint:t.$t(`templates.contentHint`),dark:``,dense:``,type:`textarea`,autogrow:``,counter:``,maxlength:`4096`,rules:[e=>e&&e.trim().length>0||``]},null,8,[`modelValue`,`label`,`hint`,`rules`]),p(we,{dense:``,"dense-toggle":``,label:t.$t(`templates.availableVars`),"header-class":`text-grey-6 text-caption q-pa-none`,style:{"font-size":`11px`}},{default:s(()=>[b(`div`,$r,[(e(),_(v,null,n(Hi,e=>b(`div`,{key:e,class:`text-grey-5 q-mb-xs`},u(e),1)),64))])]),_:1},8,[`label`]),$.value?(e(),_(`div`,ei,u($.value),1)):f(``,!0)]),_:1}),p(pe,{align:`right`},{default:s(()=>[c(p(D,{flat:``,label:t.$t(`common.cancel`)},null,8,[`label`]),[[Ee]]),p(D,{flat:``,color:`primary`,label:Z.value===null?t.$t(`templates.create`):t.$t(`templates.save`),loading:Bi.value,onClick:Gi},null,8,[`label`,`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),_:1}))}}),[[`__scopeId`,`data-v-b0a895fa`]]);export{ti as default};
@@ -1 +0,0 @@
1
- import{a as e,p as t}from"./index-Dx_W9yYo.js";var n=e(({app:e})=>{e.use(t)});export{n as default};