@loicngr/kobo 2.1.2 → 2.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/dist/server/routes/workspaces.js +39 -0
- package/dist/server/services/agent/engines/claude-code/engine.js +87 -20
- package/dist/server/services/agent/engines/claude-code/event-mapper.js +88 -22
- package/dist/server/services/agent/engines/claude-code/options-builder.js +1 -0
- package/dist/server/services/agent/engines/codex/engine.js +27 -5
- package/dist/server/services/agent/engines/codex/options-builder.js +1 -0
- package/dist/server/services/agent/orchestrator.js +35 -0
- package/dist/server/services/agent/session-controller.js +12 -0
- package/package.json +8 -8
- package/src/client/dist/pwa/assets/ActivityFeed-DdGARu8o.js +8 -0
- package/src/client/dist/pwa/assets/{ChangelogPage-DNRcPRtW.js → ChangelogPage-CGenjiI5.js} +1 -1
- package/src/client/dist/pwa/assets/{ClosePopup-BikuzYle.js → ClosePopup-C1a82pL9.js} +1 -1
- package/src/client/dist/pwa/assets/{ComparisonPanel-DZoDqgJI.js → ComparisonPanel-aXgjEulK.js} +2 -2
- package/src/client/dist/pwa/assets/{CreatePage-wNH35uTG.js → CreatePage-BaB_30xJ.js} +2 -2
- package/src/client/dist/pwa/assets/{DashboardPage-DUyy4SzS.js → DashboardPage-DsbwmO2W.js} +1 -1
- package/src/client/dist/pwa/assets/{DiffViewer-CZ5QwXqi.js → DiffViewer--dUMf7b3.js} +4 -4
- package/src/client/dist/pwa/assets/{DocumentsPanel-sBatgKA-.js → DocumentsPanel-DTjEUYUd.js} +1 -1
- package/src/client/dist/pwa/assets/{DrawerToggleButton-Dfvkaro0.js → DrawerToggleButton-Bh4FXdtJ.js} +1 -1
- package/src/client/dist/pwa/assets/GitPanel-PUPLj0M8.js +3 -0
- package/src/client/dist/pwa/assets/{HealthPage-BwXYpczh.js → HealthPage-BHgucifz.js} +1 -1
- package/src/client/dist/pwa/assets/{MainLayout-gHENJEFQ.css → MainLayout-CNmwCnDD.css} +1 -1
- package/src/client/dist/pwa/assets/MainLayout-CQVLnTX3.js +2 -0
- package/src/client/dist/pwa/assets/QBadge-rGILsUYl.js +1 -0
- package/src/client/dist/pwa/assets/QBanner-XE0EMe9L.js +1 -0
- package/src/client/dist/pwa/assets/QBtn-b_baQtAt.js +1 -0
- package/src/client/dist/pwa/assets/QBtnDropdown-DVbxGTNb.js +1 -0
- package/src/client/dist/pwa/assets/QBtnGroup-CUmAgBV8.js +1 -0
- package/src/client/dist/pwa/assets/QBtnToggle-COL46j6W.js +1 -0
- package/src/client/dist/pwa/assets/QChip-Bt_JvnHb.js +1 -0
- package/src/client/dist/pwa/assets/QExpansionItem-CxEBY3jY.js +1 -0
- package/src/client/dist/pwa/assets/QItemSection-Cf6OZEH4.js +1 -0
- package/src/client/dist/pwa/assets/QList-Z90BspT4.js +1 -0
- package/src/client/dist/pwa/assets/QMarkupTable-Bwjknbmw.js +1 -0
- package/src/client/dist/pwa/assets/QPage-BCDXjfVj.js +1 -0
- package/src/client/dist/pwa/assets/QSelect-CMzJDhi-.js +1 -0
- package/src/client/dist/pwa/assets/QSpinnerDots-BsKmccpX.js +1 -0
- package/src/client/dist/pwa/assets/QTooltip-BLhkNT4s.js +1 -0
- package/src/client/dist/pwa/assets/{SchedulePanel-D6LTiRFg.js → SchedulePanel-DTVwe7sX.js} +1 -1
- package/src/client/dist/pwa/assets/{SearchPage-Dj487BdP.js → SearchPage-CtrR7dNr.js} +1 -1
- package/src/client/dist/pwa/assets/SettingsPage-Bl_RNTGi.js +9 -0
- package/src/client/dist/pwa/assets/SplitWorkspacePage-Bac_Pzmm.js +1 -0
- package/src/client/dist/pwa/assets/{TerminalPanel-B9LDe7uG.js → TerminalPanel-D2j5AA8S.js} +1 -1
- package/src/client/dist/pwa/assets/TouchPan-C0EqFcrr.js +1 -0
- package/src/client/dist/pwa/assets/{TourReplayButton-Dtv_UDaY.js → TourReplayButton-DlMvPblb.js} +1 -1
- package/src/client/dist/pwa/assets/WorkspaceAttentionLabels-BAk5l4Ik.js +1 -0
- package/src/client/dist/pwa/assets/WorkspacePage-FScR5YAD.js +4 -0
- package/src/client/dist/pwa/assets/{browser-B15GGwtW.js → browser-DNEbLF-4.js} +1 -1
- package/src/client/dist/pwa/assets/build-path-tree-C0b61nxI.js +1 -0
- package/src/client/dist/pwa/assets/custom-sounds-DE4JLdGG.js +1 -0
- package/src/client/dist/pwa/assets/{de-B_Y4EArT.js → de-DgZ9jKq_.js} +1 -1
- package/src/client/dist/pwa/assets/documents-CALwmao-.js +1 -0
- package/src/client/dist/pwa/assets/{editor.api-DhaLhNl-.js → editor.api-PENN0io6.js} +1 -1
- package/src/client/dist/pwa/assets/efforts-Detdm-FH.js +9 -0
- package/src/client/dist/pwa/assets/{es-DtsTTShP.js → es-zvlgzw9H.js} +1 -1
- package/src/client/dist/pwa/assets/expand-template-ZIVLPdW2.js +1 -0
- package/src/client/dist/pwa/assets/{format-2JisC3s1.js → format-CVI7mr7G.js} +1 -1
- package/src/client/dist/pwa/assets/{formatters-ZVNs2VOl.js → formatters-C_zcfJBt.js} +1 -1
- package/src/client/dist/pwa/assets/{fr-C82MIVrA.js → fr-BICzq59I.js} +1 -1
- package/src/client/dist/pwa/assets/{freemarker2-PYrDqU04.js → freemarker2-BxN_Aq6C.js} +1 -1
- package/src/client/dist/pwa/assets/{handlebars-BuiY0fFf.js → handlebars-C9UHXtO1.js} +1 -1
- package/src/client/dist/pwa/assets/{html-Du3cjdug.js → html-CTH9wSJr.js} +1 -1
- package/src/client/dist/pwa/assets/i18n-DG_vChZ3.js +1 -0
- package/src/client/dist/pwa/assets/index-C8zAZ-k-.css +1 -0
- package/src/client/dist/pwa/assets/index-fuLr-ZVa.js +20 -0
- package/src/client/dist/pwa/assets/{it-BJNuTcj2.js → it-BIGArQrS.js} +1 -1
- package/src/client/dist/pwa/assets/{javascript-Bb48hPli.js → javascript-WT4BS8p4.js} +1 -1
- package/src/client/dist/pwa/assets/{liquid-Be77iQe3.js → liquid-D6dfe-gU.js} +1 -1
- package/src/client/dist/pwa/assets/{mdx-CfohNJja.js → mdx-B8pNXNeC.js} +1 -1
- package/src/client/dist/pwa/assets/{monaco-contributions-CyM4wsIg.js → monaco-contributions-COLfslyi.js} +1 -1
- package/src/client/dist/pwa/assets/{monaco.contribution-BcIfN6Mi.js → monaco.contribution-CDhuQbzi.js} +2 -2
- package/src/client/dist/pwa/assets/{network-auth-B1xAaHmx.js → network-auth-QouPCx6A.js} +1 -1
- package/src/client/dist/pwa/assets/{notify-theme-DvvaSyg1.js → notify-theme-7MsG-MyN.js} +1 -1
- package/src/client/dist/pwa/assets/pending-diff-open-CX24u9gW.js +1 -0
- package/src/client/dist/pwa/assets/{pinia-CTJ3OfP3.js → pinia-BdFjQEqa.js} +1 -1
- package/src/client/dist/pwa/assets/{private.use-form-Bk8ti264.js → private.use-form-vxvbh_VN.js} +1 -1
- package/src/client/dist/pwa/assets/{project-color-Be0t12-n.js → project-color-Bo6iEcqN.js} +1 -1
- package/src/client/dist/pwa/assets/{python-BNemmtx8.js → python-D2gb6Jjz.js} +1 -1
- package/src/client/dist/pwa/assets/{razor-3NM8iFVf.js → razor-dksrCQF2.js} +1 -1
- package/src/client/dist/pwa/assets/{reactivity.esm-bundler-Bo9anJjg.js → reactivity.esm-bundler-tuEvQ47f.js} +1 -1
- package/src/client/dist/pwa/assets/{render-chat-markdown-BWJNIDv3.js → render-chat-markdown-px_6WDIX.js} +1 -1
- package/src/client/dist/pwa/assets/runtime-core.esm-bundler-DOiZcasU.js +1 -0
- package/src/client/dist/pwa/assets/{typescript-DwyZ4CF7.js → typescript-DTPyRTrW.js} +1 -1
- package/src/client/dist/pwa/assets/{use-checkbox-2xzX4yYj.js → use-checkbox-Bh9EQhkV.js} +1 -1
- package/src/client/dist/pwa/assets/use-id-b4A2I8LB.js +1 -0
- package/src/client/dist/pwa/assets/use-is-mobile-DLIZxEo9.js +1 -0
- package/src/client/dist/pwa/assets/{use-search-index-status-Bluf9L99.js → use-search-index-status-_nCyACc7.js} +1 -1
- package/src/client/dist/pwa/assets/{use-slide-transition-CiaDm-tR.js → use-slide-transition-C5eDGOmu.js} +1 -1
- package/src/client/dist/pwa/assets/{use-tours-CjASQcG5.js → use-tours-b00RruX_.js} +1 -1
- package/src/client/dist/pwa/assets/use-worktree-restore-BDOZc9fk.js +1 -0
- package/src/client/dist/pwa/assets/{workspace-templates-BxYxJt3S.js → workspace-templates-DV9Njz0T.js} +1 -1
- package/src/client/dist/pwa/assets/{xml-B1UujXdS.js → xml-mxUZCM4r.js} +1 -1
- package/src/client/dist/pwa/assets/{yaml-mHN8kNgU.js → yaml-BuN8sUWC.js} +1 -1
- package/src/client/dist/pwa/index.html +9 -9
- package/src/client/dist/pwa/sw.js +1 -1
- package/src/client/dist/pwa/assets/ActivityFeed-CO5rOaa5.js +0 -8
- package/src/client/dist/pwa/assets/GitPanel-B8e1olfm.js +0 -3
- package/src/client/dist/pwa/assets/MainLayout-DFXIS_wv.js +0 -2
- package/src/client/dist/pwa/assets/QBadge-CQF1smL-.js +0 -1
- package/src/client/dist/pwa/assets/QBanner-bdDA-A5g.js +0 -1
- package/src/client/dist/pwa/assets/QBtn-CcQQrYA_.js +0 -1
- package/src/client/dist/pwa/assets/QBtnDropdown-C-1EhO9J.js +0 -1
- package/src/client/dist/pwa/assets/QBtnGroup-wd5lKRXu.js +0 -1
- package/src/client/dist/pwa/assets/QBtnToggle-BnC8rTql.js +0 -1
- package/src/client/dist/pwa/assets/QChip-D75nKi-L.js +0 -1
- package/src/client/dist/pwa/assets/QExpansionItem-RpMPvfxX.js +0 -1
- package/src/client/dist/pwa/assets/QItemSection-Bt9H35JJ.js +0 -1
- package/src/client/dist/pwa/assets/QList-D5msNbSZ.js +0 -1
- package/src/client/dist/pwa/assets/QMarkupTable-D3REW6RC.js +0 -1
- package/src/client/dist/pwa/assets/QPage-HAaeQ-cv.js +0 -1
- package/src/client/dist/pwa/assets/QSelect-Dpru_T81.js +0 -1
- package/src/client/dist/pwa/assets/QSpinnerDots-DDsPDUH9.js +0 -1
- package/src/client/dist/pwa/assets/QTooltip-C31vXtse.js +0 -1
- package/src/client/dist/pwa/assets/SettingsPage-CJmgFiAa.js +0 -9
- package/src/client/dist/pwa/assets/SplitWorkspacePage-BGSDgGIO.js +0 -1
- package/src/client/dist/pwa/assets/TouchPan-DJqqxDBF.js +0 -1
- package/src/client/dist/pwa/assets/WorkspaceAttentionLabels-VlJCIkwU.js +0 -1
- package/src/client/dist/pwa/assets/WorkspacePage-B_SlX8YB.js +0 -4
- package/src/client/dist/pwa/assets/build-path-tree-CU6uXunR.js +0 -1
- package/src/client/dist/pwa/assets/custom-sounds-CDJsgChY.js +0 -1
- package/src/client/dist/pwa/assets/documents-Cf6nmu8Z.js +0 -1
- package/src/client/dist/pwa/assets/efforts-DoYZi0AZ.js +0 -9
- package/src/client/dist/pwa/assets/engineFeatures-C9XiCfvv.js +0 -1
- package/src/client/dist/pwa/assets/expand-template-LDLM-6iN.js +0 -1
- package/src/client/dist/pwa/assets/i18n-BumeGGx_.js +0 -1
- package/src/client/dist/pwa/assets/index-DolbyIM4.js +0 -20
- package/src/client/dist/pwa/assets/index-VMFLfvp2.css +0 -1
- package/src/client/dist/pwa/assets/pending-diff-open-B6N0vI5n.js +0 -1
- package/src/client/dist/pwa/assets/runtime-core.esm-bundler-CNFKm4ij.js +0 -1
- package/src/client/dist/pwa/assets/use-id-vOr8PRTG.js +0 -1
- package/src/client/dist/pwa/assets/use-is-mobile-CJfSpTHx.js +0 -1
- /package/src/client/dist/pwa/assets/{engineFeatures-B-9jHocY.css → use-worktree-restore-B-9jHocY.css} +0 -0
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import{S as e,g as t,j as n,ot as r,st as i,ut as a,v as o}from"./reactivity.esm-bundler-Bo9anJjg.js";import{C as s,E as c,F as l,J as u,K as d,L as f,O as p,P as m,S as h,X as g,Y as _,_ as v,b as ee,d as y,f as b,g as x,h as S,j as te,l as C,p as w,r as T,u as E,y as D,z as O}from"./runtime-core.esm-bundler-CNFKm4ij.js";import{X as ne,c as k,ct as re,dt as ie,et as ae,ft as oe,l as A,pt as se,st as ce,t as j,tt as le,w as ue,y as de}from"./QBtn-CcQQrYA_.js";import{a as fe,i as pe}from"./pinia-CTJ3OfP3.js";import{i as me,n as he,t as ge}from"./private.use-form-Bk8ti264.js";import{$ as _e,A as ve,At as M,B as ye,Bt as be,Ct as xe,G as Se,H as Ce,Ht as we,I as Te,K as Ee,L as De,Lt as N,M as Oe,N as ke,O as Ae,P as je,Q as Me,R as Ne,Rt as Pe,St as Fe,V as Ie,Vt as Le,Z as Re,a as ze,an as Be,bt as Ve,c as P,ct as He,d as Ue,h as We,in as Ge,j as Ke,kt as qe,l as Je,lt as F,nn as Ye,o as Xe,on as Ze,q as Qe,r as $e,rn as et,s as tt,tn as nt,v as rt,yt as it,z as at}from"./index-DolbyIM4.js";import{t as I}from"./QList-D5msNbSZ.js";import{i as L,r as ot,s as R,t as z}from"./QSelect-Dpru_T81.js";import{n as B,t as V}from"./QItemSection-Bt9H35JJ.js";import{t as st}from"./QExpansionItem-RpMPvfxX.js";import{a as ct,i as H,n as lt,r as ut}from"./use-tours-CjASQcG5.js";import{t as dt}from"./TouchPan-DJqqxDBF.js";import{t as U}from"./QTooltip-C31vXtse.js";import{t as ft}from"./QChip-D75nKi-L.js";import{t as pt}from"./ClosePopup-BikuzYle.js";import{t as mt}from"./use-is-mobile-CJfSpTHx.js";import{a as ht,c as gt,l as _t,n as vt,o as yt,r as bt,s as xt,t as St}from"./permissionModes-B-ciuUbz.js";import{t as Ct}from"./QBtnDropdown-C-1EhO9J.js";import{n as wt,r as Tt,t as Et}from"./custom-sounds-CDJsgChY.js";import{t as Dt}from"./QBanner-bdDA-A5g.js";import{t as Ot}from"./project-color-Be0t12-n.js";import{t as kt}from"./QPage-HAaeQ-cv.js";import{t as At}from"./DrawerToggleButton-Dfvkaro0.js";import{t as jt}from"./TourReplayButton-Dtv_UDaY.js";import{n as Mt,t as Nt}from"./workspace-templates-BxYxJt3S.js";import{t as Pt}from"./workspace-page-layout-Dw9NhZsL.js";var Ft=Object.create,It=Object.defineProperty,Lt=Object.getOwnPropertyDescriptor,Rt=Object.getOwnPropertyNames,zt=Object.getPrototypeOf,Bt=Object.prototype.hasOwnProperty,Vt=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),Ht=(e,t)=>{let n={};for(var r in e)It(n,r,{get:e[r],enumerable:!0});return t||It(n,Symbol.toStringTag,{value:`Module`}),n},W=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=Rt(t),a=0,o=i.length,s;a<o;a++)s=i[a],!Bt.call(e,s)&&s!==n&&It(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=Lt(t,s))||r.enumerable});return e},Ut=(e,t,n)=>(n=e==null?{}:Ft(zt(e)),W(t||!e||!e.__esModule||!Bt.call(e,`default`)?It(n,`default`,{value:e,enumerable:!0}):n,e)),Wt=`q-slider__marker-labels`,Gt=e=>({value:e}),Kt=({marker:e})=>s(`div`,{key:e.value,style:e.style,class:e.classes},e.label),qt=[34,37,40,33,39,38,35,36],Jt={...fe,...me,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`}},Yt=[`pan`,`update:modelValue`,`change`];function Xt({updateValue:e,updatePosition:t,getDragging:n,formAttrs:r}){let{props:i,emit:a,slots:c}=ee(),l=de(),u=pe(i,l),d=he(r),f=o(!1),p=o(!1),m=o(!1),h=o(!1),_=C(()=>i.vertical?`--v`:`--h`),v=C(()=>`-`+(i.switchLabelSide?`switched`:`standard`)),y=C(()=>i.vertical?i.reverse:i.reverse!==(l.lang.rtl===!0)),b=C(()=>!Number.isFinite(i.innerMin)||i.innerMin<i.min?i.min:i.innerMin),x=C(()=>!Number.isFinite(i.innerMax)||i.innerMax>i.max?i.max:i.innerMax),S=C(()=>!i.disable&&!i.readonly&&b.value<x.value),w=C(()=>{if(i.step===0)return e=>e;let e=(String(i.step).trim().split(`.`)[1]||``).length;return t=>Number.parseFloat(t.toFixed(e))}),T=C(()=>i.step===0?1:i.step),E=C(()=>S.value?i.tabindex||0:-1),D=C(()=>i.max-i.min),O=C(()=>x.value-b.value),k=C(()=>Ce(b.value)),re=C(()=>Ce(x.value)),ie=C(()=>i.vertical?y.value?`bottom`:`top`:y.value?`right`:`left`),ae=C(()=>i.vertical?`height`:`width`),oe=C(()=>i.vertical?`width`:`height`),A=C(()=>i.vertical?`vertical`:`horizontal`),se=C(()=>`q-slider q-slider${_.value} q-slider--${f.value?``:`in`}active inline no-wrap `+(i.vertical?`row`:`column`)+(i.disable?` disabled`:` q-slider--enabled`+(S.value?` q-slider--editable`:``))+(m.value===`both`?` q-slider--focus`:``)+(i.label||i.labelAlways?` q-slider--label`:``)+(i.labelAlways?` q-slider--label-always`:``)+(u()?` q-slider--dark`:``)+(i.dense?` q-slider--dense q-slider--dense`+_.value:``));function ce(e){let t=`q-slider__`+e;return`${t} ${t}${_.value} ${t}${_.value}${v.value}`}function j(e){let t=`q-slider__`+e;return`${t} ${t}${_.value}`}let le=C(()=>{let e=i.selectionColor||i.color;return`q-slider__selection absolute`+(e===void 0?``:` text-${e}`)}),ue=C(()=>j(`markers`)+` absolute overflow-hidden`),fe=C(()=>j(`track-container`)),me=C(()=>ce(`pin`)),ge=C(()=>ce(`label`)),_e=C(()=>ce(`text-container`)),ve=C(()=>ce(`marker-labels-container`)+(i.markerLabelsClass===void 0?``:` ${i.markerLabelsClass}`)),M=C(()=>`q-slider__track relative-position no-outline`+(i.trackColor===void 0?``:` bg-${i.trackColor}`)),ye=C(()=>{let e={[oe.value]:i.trackSize};return i.trackImg!==void 0&&(e.backgroundImage=`url(${i.trackImg}) !important`),e}),be=C(()=>`q-slider__inner absolute`+(i.innerTrackColor===void 0?``:` bg-${i.innerTrackColor}`)),xe=C(()=>{let e=re.value-k.value,t={[ie.value]:`${100*k.value}%`,[ae.value]:e===0?`2px`:`${100*e}%`};return i.innerTrackImg!==void 0&&(t.backgroundImage=`url(${i.innerTrackImg}) !important`),t});function Se(e){let{min:t,max:n,step:r}=i,a=t+e*(n-t);if(r>0){let e=(a-b.value)%r;a+=(Math.abs(e)>=r/2?(e<0?-1:1)*r:0)-e}return a=w.value(a),L(a,b.value,x.value)}function Ce(e){return D.value===0?0:(e-i.min)/D.value}function we(e,t){let n=ne(e),r=i.vertical?L((n.top-t.top)/t.height,0,1):L((n.left-t.left)/t.width,0,1);return L(y.value?1-r:r,k.value,re.value)}let Te=C(()=>Be(i.markers)&&i.markers>0?i.markers:T.value),Ee=C(()=>{let e=[],t=Te.value,n=i.max,r=Math.max((String(t).trim().split(`.`)[1]||``).length,(String(i.min).trim().split(`.`)[1]||``).length),a=0,o=i.min;do{e.push(o),a++;let n=Number.parseFloat((i.min+a*t).toFixed(r));o=n>o?n:i.min+a*t}while(o<n);return e.push(n),e}),De=C(()=>{let e=` ${Wt}${_.value}-`;return`q-slider__marker-labels${e}${i.switchMarkerLabelsSide?`switched`:`standard`}${e}${y.value?`rtl`:`ltr`}`}),N=C(()=>i.markerLabels===!1?null:Ae(i.markerLabels).map((e,t)=>({index:t,value:e.value,label:e.label||e.value,classes:De.value+(e.classes===void 0?``:` `+e.classes),style:{...je(e.value),...e.style}}))),Oe=C(()=>({markerList:N.value,markerMap:Me.value,classes:De.value,getStyle:je})),ke=C(()=>{let e=O.value===0?`2px`:100*Te.value/O.value;return{...xe.value,backgroundSize:i.vertical?`2px ${e}%`:`${e}% 2px`}});function Ae(e){if(e===!1)return null;if(e===!0)return Ee.value.map(Gt);if(typeof e==`function`)return Ee.value.map(t=>{let n=e(t);return Ze(n)?{...n,value:t}:{value:t,label:n}});let t=({value:e})=>e>=i.min&&e<=i.max;return Array.isArray(e)?e.map(e=>Ze(e)?e:{value:e}).filter(t):Object.keys(e).map(t=>{let n=e[t],r=Number(t);return Ze(n)?{...n,value:r}:{value:r,label:n}}).filter(t)}function je(e){return{[ie.value]:`${100*(e-i.min)/D.value}%`}}let Me=C(()=>{if(i.markerLabels===!1)return null;let e={};return N.value.forEach(t=>{e[t.value]=t}),e});function Ne(){if(c[`marker-label-group`]!==void 0)return c[`marker-label-group`](Oe.value);let e=c[`marker-label`]||Kt;return N.value.map(t=>e({marker:t,...Oe.value}))}let Pe=C(()=>[[dt,S.value?Fe:void 0,void 0,{[A.value]:!0,prevent:!0,stop:!0,mouse:!0,mouseAllDir:!0}]]);function Fe(r){r.isFinal?(h.value!==void 0&&(t(r.evt),r.touch&&e(!0),h.value=void 0,a(`pan`,`end`)),f.value=!1,m.value=!1):r.isFirst?(h.value=n(r.evt),t(r.evt),e(),f.value=!0,a(`pan`,`start`)):(t(r.evt),e())}function Ie(){m.value=!1}function Le(r){t(r,n(r)),e(),p.value=!0,f.value=!0,document.addEventListener(`mouseup`,Re,!0)}function Re(){p.value=!1,f.value=!1,e(!0),Ie(),document.removeEventListener(`mouseup`,Re,!0)}function ze(r){t(r,n(r)),e(!0),Ie()}function Ve(t){qt.includes(t.keyCode)&&e(!0)}function P(e){if(i.vertical)return null;let t=l.lang.rtl===i.reverse?e:1-e;return{transform:`translateX(calc(${2*t-1} * ${i.thumbSize} / 2 + ${50-100*t}%))`}}function He(e){let t=C(()=>!p.value&&(m.value===e.focusValue||m.value===`both`)?` q-slider--focus`:``),n=C(()=>`q-slider__thumb q-slider__thumb${_.value} q-slider__thumb${_.value}-${y.value?`rtl`:`ltr`} absolute non-selectable`+t.value+(e.thumbColor.value===void 0?``:` text-${e.thumbColor.value}`)),r=C(()=>({width:i.thumbSize,height:i.thumbSize,[ie.value]:`${100*e.ratio.value}%`,zIndex:m.value===e.focusValue?2:void 0})),a=C(()=>e.labelColor.value===void 0?``:` text-${e.labelColor.value}`),o=C(()=>P(e.ratio.value)),c=C(()=>`q-slider__text`+(e.labelTextColor.value===void 0?``:` text-${e.labelTextColor.value}`));return()=>{let t=[s(`svg`,{class:`q-slider__thumb-shape absolute-full`,viewBox:`0 0 20 20`,"aria-hidden":`true`},[s(`path`,{d:i.thumbPath})]),s(`div`,{class:`q-slider__focus-ring fit`})];return(i.label||i.labelAlways)&&t.push(s(`div`,{class:me.value+` absolute fit no-pointer-events`+a.value},[s(`div`,{class:ge.value,style:{minWidth:i.thumbSize}},[s(`div`,{class:_e.value,style:o.value},[s(`span`,{class:c.value},e.label.value)])])])),e.injectFormInput!==!1&&i.name!==void 0&&!i.disable&&d(t,`push`),s(`div`,{class:n.value,style:r.value,...e.getNodeData()},t)}}function Ue(e,t,n,r){let a=[];i.innerTrackColor!==`transparent`&&a.push(s(`div`,{key:`inner`,class:be.value,style:xe.value})),i.selectionColor!==`transparent`&&a.push(s(`div`,{key:`selection`,class:le.value,style:e.value})),i.markers!==!1&&a.push(s(`div`,{key:`marker`,class:ue.value,style:ke.value})),r(a);let o=[g(s(`div`,{key:`trackC`,class:fe.value,tabindex:t.value,...n.value},[s(`div`,{class:M.value,style:ye.value},a)]),Pe.value)];return i.markerLabels!==!1&&o[i.switchMarkerLabelsSide?`unshift`:`push`](s(`div`,{key:`markerL`,class:ve.value},Ne())),o}return te(()=>{document.removeEventListener(`mouseup`,Re,!0)}),{state:{active:f,focus:m,preventFocus:p,dragging:h,editable:S,classes:se,tabindex:E,orientation:A,roundValueFn:w,keyStep:T,trackLen:D,innerMin:b,innerMinRatio:k,innerMax:x,innerMaxRatio:re,positionProp:ie,sizeProp:ae,isReversed:y},methods:{onActivate:Le,onClick:ze,onBlur:Ie,onKeyup:Ve,getContent:Ue,getThumbRenderFn:He,convertRatioToModel:Se,convertModelToRatio:Ce,getDraggingRatio:we}}}var Zt=()=>({}),Qt=le({name:`QSlider`,props:{...Jt,modelValue:{required:!0,default:null,validator:e=>typeof e==`number`||e===null},labelValue:[String,Number]},emits:Yt,inheritAttrs:!1,setup(t,{emit:n,attrs:r}){let i=de(),a=N(),{state:c,methods:l}=Xt({updateValue:te,updatePosition:T,getDragging:w,formAttrs:ge(t)}),d=e(null),f=o(0),p=o(0),m=null,h=null;function g(){h=null,p.value=t.modelValue===null?c.innerMin.value:L(t.modelValue,c.innerMin.value,c.innerMax.value)}u(()=>`${t.modelValue}|${c.innerMin.value}|${c.innerMax.value}`,g,{immediate:!0});let _=C(()=>l.convertModelToRatio(p.value)),v=C(()=>c.active.value?f.value:_.value),ee=C(()=>{let e={[c.positionProp.value]:`${100*c.innerMinRatio.value}%`,[c.sizeProp.value]:`${100*(v.value-c.innerMinRatio.value)}%`};return t.selectionImg!==void 0&&(e.backgroundImage=`url(${t.selectionImg}) !important`),e}),y=l.getThumbRenderFn({focusValue:!0,getNodeData:Zt,ratio:v,label:C(()=>t.labelValue===void 0?p.value:t.labelValue),thumbColor:C(()=>t.thumbColor||t.color),labelColor:C(()=>t.labelColor),labelTextColor:C(()=>t.labelTextColor)}),b=C(()=>c.editable.value?{onClick:l.onClick,onMousedown:l.onActivate,onFocus:E,onBlur:l.onBlur,onKeydown:D,onKeyup:l.onKeyup}:{}),x=C(()=>{let e={role:`slider`,"aria-orientation":c.orientation.value,"aria-valuemin":c.innerMin.value,"aria-valuemax":c.innerMax.value,"aria-valuenow":t.modelValue===null?c.innerMin.value:t.modelValue,"data-step":t.step};return t.labelValue===void 0?t.modelValue===null&&(e[`aria-valuetext`]=i.lang.label.noValue):e[`aria-valuetext`]=t.labelValue,t.disable?e[`aria-disabled`]=`true`:t.readonly&&(e[`aria-readonly`]=`true`),e}),S=C(()=>({...x.value,...a.attributes.value,...b.value}));function te(e){p.value!==t.modelValue&&p.value!==h&&(h=p.value,n(`update:modelValue`,p.value)),e&&(m!==null&&m!==p.value&&n(`change`,p.value),m=null)}function w(){return m=p.value,d.value.getBoundingClientRect()}function T(e,n=c.dragging.value){let r=l.getDraggingRatio(e,n);p.value=l.convertRatioToModel(r),f.value=!t.snap||t.step===0?r:l.convertModelToRatio(p.value)}function E(){c.focus.value=!0}function D(e){if(!qt.includes(e.keyCode))return;if(ae(e),m===null&&(m=p.value),e.keyCode===36||e.keyCode===35){p.value=e.keyCode===36?c.innerMin.value:c.innerMax.value,te();return}let n=([34,33].includes(e.keyCode)?10:1)*c.keyStep.value,r=([34,37,40].includes(e.keyCode)?-1:1)*(c.isReversed.value?-1:1)*(t.vertical?-1:1)*n;p.value=L(c.roundValueFn.value(p.value+r),c.innerMin.value,c.innerMax.value),te()}return()=>{let e=l.getContent(ee,c.tabindex,S,e=>{e.push(y())});return s(`div`,{ref:d,class:[c.classes.value+(t.modelValue===null?` q-slider--no-value`:``),r.class],style:r.style,...a.listeners.value},e)}}});function G(e,t=new WeakMap){if(Object(e)!==e)return e;if(t.has(e))return t.get(e);let n=e instanceof Date?new Date(e):e instanceof RegExp?new RegExp(e.source,e.flags):e instanceof Set?new Set:e instanceof Map?new Map:typeof e.constructor==`function`?e.prototype!==void 0&&typeof e.prototype.constructor==`function`?e:new e.constructor:Object.create(null);if(typeof e.constructor==`function`&&typeof e.valueOf==`function`){let n=e.valueOf();if(Object(n)!==n){let r=new e.constructor(n);return t.set(e,r),r}}return t.set(e,n),e instanceof Set?e.forEach(e=>{n.add(G(e,t))}):e instanceof Map&&e.forEach((e,r)=>{n.set(r,G(e,t))}),Object.assign(n,...Object.keys(e).map(n=>({[n]:G(e[n],t)})))}var $t=le({name:`QPopupEdit`,props:{modelValue:{required:!0},title:String,buttons:Boolean,labelSet:String,labelCancel:String,color:{type:String,default:`primary`},validate:{type:Function,default:()=>!0},autoSave:Boolean,cover:{type:Boolean,default:!0},disable:Boolean},emits:[`update:modelValue`,`save`,`cancel`,`beforeShow`,`show`,`beforeHide`,`hide`],setup(t,{slots:n,emit:r}){let{proxy:i}=ee(),a=de(),c=e(null),l=o(``),u=o(``),d=!1,f=C(()=>ce({initialValue:l.value,validate:t.validate,set:m,cancel:h,updatePosition:g},`value`,()=>u.value,e=>{u.value=e}));function m(){t.validate(u.value)&&(_()&&(r(`save`,u.value,l.value),r(`update:modelValue`,u.value)),v())}function h(){_()&&r(`cancel`,u.value,l.value),v()}function g(){p(()=>{c.value.updatePosition()})}function _(){return!Ge(u.value,l.value)}function v(){d=!0,c.value.hide()}function y(){d=!1,l.value=G(t.modelValue),u.value=G(t.modelValue),r(`beforeShow`)}function b(){r(`show`)}function x(){!d&&_()&&(t.autoSave&&t.validate(u.value)?(r(`save`,u.value,l.value),r(`update:modelValue`,u.value)):r(`cancel`,u.value,l.value)),r(`beforeHide`)}function S(){r(`hide`)}function te(){let e=n.default===void 0?[]:[n.default(f.value)].flat();return t.title&&e.unshift(s(`div`,{class:`q-dialog__title q-mt-sm q-mb-sm`},t.title)),t.buttons&&e.push(s(`div`,{class:`q-popup-edit__buttons row justify-center no-wrap`},[s(j,{flat:!0,color:t.color,label:t.labelCancel||a.lang.label.cancel,onClick:h}),s(j,{flat:!0,color:t.color,label:t.labelSet||a.lang.label.set,onClick:m})])),e}return Object.assign(i,{set:m,cancel:h,show(e){c.value?.show(e)},hide(e){c.value?.hide(e)},updatePosition:g}),()=>{if(!t.disable)return s(ot,{ref:c,class:`q-popup-edit`,cover:t.cover,onBeforeShow:y,onShow:b,onBeforeHide:x,onHide:S,onEscapeKey:h},te)}}}),en={class:`custom-sounds`,"data-test":`custom-sounds`},tn={class:`text-subtitle2`},nn={class:`text-kobo-3 text-caption q-mb-sm`},rn={class:`row items-center q-gutter-sm`},an=[`accept`,`disabled`],on={key:0,class:`text-kobo-3 text-caption`},sn={key:0,class:`text-negative text-caption q-mt-sm q-mb-none`,role:`alert`},cn={class:`row items-center no-wrap`},ln=D({__name:`CustomSoundManager`,setup(e){let{t}=Pe(),r=Et(),i=o(null),s=o(``),c=C(()=>r.sounds.length>=20),l=[`type`,`size`,`count`];function u(e){return t(`settings.customSoundsError.${e}`,{count:20,size:Me/1024/1024})}function d(e){return e instanceof He?e.status===413?u(`size`):l.includes(e.code)?u(e.code):t(`settings.customSoundsError.failed`):t(`settings.customSoundsError.failed`)}async function p(e){let t=e.target,n=t.files?.[0];if(t.value=``,n){if(s.value=``,n.size>2097152){s.value=u(`size`);return}if(!_e(n.name)){s.value=u(`type`);return}try{await r.uploadSound(n)}catch(e){s.value=d(e)}}}async function h(e){s.value=``;try{await r.removeSound(e)}catch(e){s.value=d(e)}}function g(e){rt(e,1)}return m(()=>{r.loaded||r.fetchSounds()}),(e,t)=>(f(),w(`div`,en,[E(`div`,tn,a(e.$t(`settings.customSounds`)),1),E(`div`,nn,a(e.$t(`settings.customSoundsHint`,{count:n(20),size:n(Me)/1024/1024})),1),E(`div`,rn,[E(`input`,{ref_key:`fileInput`,ref:i,class:`hidden`,type:`file`,"data-test":`custom-sound-input`,accept:n(Re),disabled:n(r).busy||c.value,onChange:p},null,40,an),v(j,{flat:``,dense:``,"no-caps":``,color:`primary`,icon:`library_music`,label:e.$t(`settings.customSoundsImport`),loading:n(r).busy,disable:c.value,"data-test":`custom-sound-import`,onClick:t[0]||=e=>i.value?.click()},null,8,[`label`,`loading`,`disable`]),c.value?(f(),w(`span`,on,a(e.$t(`settings.customSoundsFull`,{count:n(20)})),1)):b(``,!0)]),s.value?(f(),w(`p`,sn,a(s.value),1)):b(``,!0),n(r).sounds.length>0?(f(),y(I,{key:1,bordered:``,separator:``,class:`rounded-borders q-mt-sm`},{default:_(()=>[(f(!0),w(T,null,O(n(r).sounds,t=>(f(),y(B,{key:t.id},{default:_(()=>[v(V,null,{default:_(()=>[v(R,{class:`ellipsis`,title:t.name},{default:_(()=>[x(a(t.name),1)]),_:2},1032,[`title`]),v(R,{caption:``},{default:_(()=>[x(a(Math.max(1,Math.round(t.size/1024)))+` KB`,1)]),_:2},1024)]),_:2},1024),v(V,{side:``},{default:_(()=>[E(`div`,cn,[v(j,{flat:``,dense:``,round:``,size:`sm`,icon:`play_arrow`,color:`primary`,"aria-label":e.$t(`settings.notificationSoundPreview`),onClick:e=>g(t.reference)},null,8,[`aria-label`,`onClick`]),v(j,{flat:``,dense:``,round:``,size:`sm`,icon:`delete`,color:`kobo-3`,disable:n(r).busy,"aria-label":e.$t(`common.delete`),onClick:e=>h(t.id)},null,8,[`disable`,`aria-label`,`onClick`])])]),_:2},1024)]),_:2},1024))),128))]),_:1})):b(``,!0)]))}}),un={class:`q-pa-sm q-gutter-sm`},dn={class:`text-caption`},fn={key:0},pn={key:1,role:`alert`,class:`text-negative`},mn={key:2,role:`status`},hn={class:`row q-gutter-sm`},gn=D({__name:`IntegrationConnectionSettings`,props:c({integration:{}},{modelValue:{default:()=>({command:``,args:``,environment:``})},modelModifiers:{},connectionStatus:{default:()=>t({configured:!1})},connectionStatusModifiers:{}}),emits:[`update:modelValue`,`update:connectionStatus`],setup(e){let{t}=Pe(),n=e,r=d(e,`modelValue`),i=C(()=>({command:`npx`,args:JSON.stringify([`-y`,n.integration===`notion`?`@notionhq/notion-mcp-server`:t(`integration.packageExample`)]),environment:JSON.stringify(n.integration===`notion`?{NOTION_TOKEN:t(`integration.tokenExample`)}:{[t(`integration.variableExample`)]:t(`integration.valueExample`)})})),s=d(e,`connectionStatus`),c=C(()=>s.value.configured),l=o(!1),u=o(!1),p=o(!1),h=o(!1);function g(e,t){r.value={...r.value,[e]:String(t??``)}}async function ee(){u.value=!0,p.value=!1;try{s.value.configured=(await F(`/api/integrations/${n.integration}`)).configured,l.value=!0}catch{p.value=!0}finally{u.value=!1}}async function x(e){if(!l.value||u.value)return;let t=r.value;u.value=!0,p.value=!1,h.value=!1;try{let i=await F(`/api/integrations/${n.integration}`,{method:`PUT`,body:e===null?`null`:e});s.value.configured=i.configured,Object.assign(t,{command:``,args:``,environment:``}),r.value===t&&(r.value={...t}),h.value=!0}catch{p.value=!0}finally{u.value=!1}}async function S(){try{await x({command:r.value.command,args:JSON.parse(r.value.args.trim()||`[]`),env:JSON.parse(r.value.environment.trim()||`{}`)})}catch{p.value=!0,h.value=!1}}return m(ee),(e,t)=>(f(),y(st,{label:e.$t(`integration.direct`),class:`q-mb-md`},{default:_(()=>[E(`div`,un,[E(`p`,null,a(e.$t(`integration.directHint`)),1),E(`p`,dn,a(e.$t(`integration.agentScope`)),1),c.value?(f(),w(`p`,fn,a(e.$t(`integration.stored`)),1)):b(``,!0),v(M,{"model-value":r.value.command,outlined:``,dense:``,label:e.$t(`integration.command`),placeholder:e.$t(`integration.example`,{example:i.value.command}),"stack-label":``,disable:u.value,autocomplete:`off`,"onUpdate:modelValue":t[0]||=e=>g(`command`,e)},null,8,[`model-value`,`label`,`placeholder`,`disable`]),v(M,{"model-value":r.value.args,outlined:``,dense:``,type:`textarea`,label:e.$t(`integration.args`),placeholder:e.$t(`integration.example`,{example:i.value.args}),"stack-label":``,disable:u.value,autocomplete:`off`,spellcheck:`false`,"onUpdate:modelValue":t[1]||=e=>g(`args`,e)},null,8,[`model-value`,`label`,`placeholder`,`disable`]),v(M,{"model-value":r.value.environment,outlined:``,dense:``,type:`textarea`,label:e.$t(`integration.environment`),placeholder:e.$t(`integration.example`,{example:i.value.environment}),"stack-label":``,disable:u.value,autocomplete:`off`,spellcheck:`false`,"onUpdate:modelValue":t[2]||=e=>g(`environment`,e)},null,8,[`model-value`,`label`,`placeholder`,`disable`]),p.value?(f(),w(`p`,pn,a(e.$t(`integration.failed`)),1)):b(``,!0),h.value?(f(),w(`p`,mn,a(e.$t(`integration.saved`)),1)):b(``,!0),E(`div`,hn,[v(j,{outline:``,"no-caps":``,label:e.$t(`integration.save`),disable:u.value||!l.value||!r.value.command.trim(),onClick:S},null,8,[`label`,`disable`]),v(j,{flat:``,"no-caps":``,label:e.$t(`integration.clear`),disable:u.value||!l.value||!c.value,onClick:t[3]||=e=>x(null)},null,8,[`label`,`disable`]),l.value?b(``,!0):(f(),y(j,{key:0,flat:``,"no-caps":``,label:e.$t(`setup.check`),loading:u.value,onClick:ee},null,8,[`label`,`loading`]))])])]),_:1},8,[`label`]))}});function _n(e){let t=document.createElement(`textarea`);t.value=e,t.contentEditable=`true`,t.style.position=`fixed`;let n=()=>{};Le(n),document.body.append(t),t.focus(),t.select();let r=document.execCommand(`copy`);return t.remove(),we(n),r}function vn(e){if(navigator.clipboard)return navigator.clipboard.writeText(e);let t=_n(e);return t?Promise.resolve(!0):Promise.reject(t)}function K(e,t){let n=[{url:e.localUrl,kind:`local`,requiresToken:e.localRequiresToken}];if(!e.networkEnabled)return n;if(n.push(...e.lanUrls.map(e=>({url:e,kind:`remote`,requiresToken:!0}))),e.behindProxy)try{let r=new URL(t);if([`http:`,`https:`].includes(r.protocol)&&(!e.proxyHostname||r.hostname.replace(/^\[|\]$/g,``)===e.proxyHostname)){let e=`${r.origin}/api/mcp`;n.some(t=>t.url===e)||n.push({url:e,kind:`proxy`,requiresToken:!0})}}catch{}return n}function yn(e,t,n,r){let i=n.trim()?We(n):``,a=r||`<KOBO_NETWORK_TOKEN>`;if(t===`stdio`){if(!e.stdio)throw Error(`MCP stdio entrypoint unavailable`);return JSON.stringify({mcpServers:{kobo:{...e.stdio,env:{...e.stdio.env,...i?{KOBO_MCP_CLIENT_NAME:i}:{},...e.localRequiresToken?{KOBO_NETWORK_TOKEN:a}:{}}}}},null,2)}let o={...i?{"X-Kobo-Client-Name":encodeURIComponent(i),"X-Kobo-Client-Name-Encoding":`uri`}:{},...t.requiresToken?{"X-Kobo-Token":a}:{}};return JSON.stringify({mcpServers:{kobo:{url:t.url,...Object.keys(o).length?{headers:o}:{}}}},null,2)}var bn={"data-tour":`settings-mcp`,class:`q-mt-lg`},xn={class:`text-subtitle2 q-mb-sm`},Sn={class:`text-caption text-kobo-3`},Cn={key:0,class:`text-caption text-kobo-3`},wn={key:0,class:`row items-center q-mt-sm`},Tn={class:`mcp-url col`},En={class:`mcp-config q-pa-sm`},q={class:`text-caption text-kobo-3`},Dn={class:`row q-gutter-sm`},On={key:1,class:`text-caption text-kobo-3 q-mt-sm`},kn={key:2,class:`text-caption text-kobo-3 q-mt-sm`},An=ct(D({__name:`McpConnectionSettings`,props:{token:{},networkEnabled:{type:Boolean},behindProxy:{type:Boolean}},setup(e){let t=e,{t:r}=Pe(),i=de(),s=o(null),c=o(!1),l=o(``),d=o(``),p=C(()=>s.value?K(s.value,window.location.origin):[]),m=C(()=>[...p.value.map(e=>({label:`${r(`settings.mcp.${e.kind}`)} — ${e.url}`,value:e.url})),...s.value?.stdio?[{label:r(`settings.mcp.stdio`),value:`stdio`}]:[]]),h=C(()=>d.value===`stdio`&&s.value?.stdio?`stdio`:p.value.find(e=>e.url===d.value)),g=C(()=>s.value&&h.value?yn(s.value,h.value,l.value):``),ee=C(()=>h.value===`stdio`?s.value?.localRequiresToken:h.value?.requiresToken);u(()=>[t.networkEnabled,t.behindProxy],async(e,t,n)=>{let r=new AbortController;n(()=>r.abort());try{let e=await F(`/api/settings/mcp`,{signal:r.signal});if(r.signal.aborted)return;s.value=e,c.value=!1,m.value.some(e=>e.value===d.value)||(d.value=s.value.localUrl)}catch{if(r.signal.aborted)return;c.value=!0}},{immediate:!0});async function S(e){try{await vn(e),i.notify({type:`positive`,message:r(`settings.network.copied`)})}catch{i.notify({type:`negative`,message:r(`settings.mcp.copyFailed`)})}}function te(){s.value&&h.value&&t.token&&t.networkEnabled&&S(yn(s.value,h.value,l.value,t.token))}return(t,i)=>(f(),w(`section`,bn,[E(`div`,xn,a(n(r)(`settings.mcp.title`)),1),E(`p`,Sn,a(n(r)(`settings.mcp.hint`)),1),c.value?(f(),y(Dt,{key:0,dense:``,class:`bg-negative text-white`},{default:_(()=>[x(a(n(r)(`settings.network.loadFailed`)),1)]),_:1})):s.value?(f(),w(T,{key:1},[e.networkEnabled?b(``,!0):(f(),w(`p`,Cn,a(n(r)(`settings.mcp.remoteDisabled`)),1)),v(M,{modelValue:l.value,"onUpdate:modelValue":i[0]||=e=>l.value=e,label:n(r)(`settings.mcp.clientName`),maxlength:`120`,outlined:``,dense:``,dark:``,class:`q-mb-md`},null,8,[`modelValue`,`label`]),v(z,{modelValue:d.value,"onUpdate:modelValue":i[1]||=e=>d.value=e,options:m.value,"emit-value":``,"map-options":``,label:n(r)(`settings.mcp.connection`),outlined:``,dense:``,dark:``},null,8,[`modelValue`,`options`,`label`]),h.value?(f(),w(T,{key:1},[h.value===`stdio`?b(``,!0):(f(),w(`div`,wn,[E(`code`,Tn,a(h.value.url),1),v(j,{flat:``,dense:``,icon:`content_copy`,title:n(r)(`settings.mcp.copyUrl`),onClick:i[2]||=e=>S(h.value.url)},null,8,[`title`])])),E(`pre`,En,a(g.value),1),E(`p`,q,a(n(r)(`settings.mcp.genericFormat`)),1),E(`div`,Dn,[v(j,{outline:``,dense:``,"no-caps":``,icon:`content_copy`,label:n(r)(`settings.mcp.copyConfig`),onClick:i[3]||=e=>S(g.value)},null,8,[`label`]),ee.value?(f(),y(j,{key:0,outline:``,dense:``,"no-caps":``,disable:!e.token||!e.networkEnabled,label:n(r)(`settings.mcp.copyWithToken`),onClick:te},null,8,[`disable`,`label`])):b(``,!0)]),ee.value&&!e.token?(f(),w(`p`,On,a(n(r)(`settings.mcp.tokenUnavailable`)),1)):b(``,!0)],64)):b(``,!0),s.value.stdio?b(``,!0):(f(),w(`p`,kn,a(n(r)(`settings.mcp.stdioUnavailable`)),1))],64)):(f(),y(ue,{key:2}))]))}}),[[`__scopeId`,`data-v-2ac25d1e`]]),jn={class:`notification-sounds-grid q-mt-md`},Mn={class:`text-subtitle2`},Nn={class:`text-kobo-3 text-caption q-mb-sm`},J={class:`row items-center q-gutter-sm`},Y={class:`row items-center q-gutter-sm q-mt-sm`},Pn={class:`text-kobo-2 text-caption volume-label`},X={class:`text-kobo-2 text-caption volume-value`},Fn=ct(D({__name:`PrNotificationSoundSettings`,props:{modelValue:{},generalSound:{}},emits:[`update:modelValue`],setup(e,{emit:t}){let r=e,i=t,{t:o}=Pe(),s=C(()=>[{soundKey:`audioPrCiFailedSound`,enabledKey:`audioPrCiFailedEnabled`,volumeKey:`audioPrCiFailedVolume`,title:o(`settings.prCiFailedSound`),description:o(`settings.prCiFailedSoundHint`)},{soundKey:`audioPrCiRecoveredSound`,enabledKey:`audioPrCiRecoveredEnabled`,volumeKey:`audioPrCiRecoveredVolume`,title:o(`settings.prCiRecoveredSound`),description:o(`settings.prCiRecoveredSoundHint`)},{soundKey:`audioPrChangesRequestedSound`,enabledKey:`audioPrChangesRequestedEnabled`,volumeKey:`audioPrChangesRequestedVolume`,title:o(`settings.prChangesRequestedSound`),description:o(`settings.prChangesRequestedSoundHint`)},{soundKey:`audioPrApprovedSound`,enabledKey:`audioPrApprovedEnabled`,volumeKey:`audioPrApprovedVolume`,title:o(`settings.prApprovedSound`),description:o(`settings.prApprovedSoundHint`)},{soundKey:`audioPrMergeConflictSound`,enabledKey:`audioPrMergeConflictEnabled`,volumeKey:`audioPrMergeConflictVolume`,title:o(`settings.prMergeConflictSound`),description:o(`settings.prMergeConflictSoundHint`)},{soundKey:`audioPrReadyToMergeSound`,enabledKey:`audioPrReadyToMergeEnabled`,volumeKey:`audioPrReadyToMergeVolume`,title:o(`settings.prReadyToMergeSound`),description:o(`settings.prReadyToMergeSoundHint`)},{soundKey:`audioPrMergedSound`,enabledKey:`audioPrMergedEnabled`,volumeKey:`audioPrMergedVolume`,title:o(`settings.prMergedSound`),description:o(`settings.prMergedSoundHint`)}]),c=Et(),l=C(()=>[{label:o(`settings.soundGeneral`),value:at},...ye.map(e=>({label:o(e.labelKey),value:e.id})),...c.options]);function u(e,t){i(`update:modelValue`,{...r.modelValue,[e]:t})}function d(e){let t=Ee(r.modelValue[e.soundKey]);t!==null&&rt(t??r.generalSound,r.modelValue[e.volumeKey])}return(t,r)=>(f(),w(`div`,jn,[(f(!0),w(T,null,O(s.value,t=>(f(),w(`div`,{key:t.soundKey,class:`notification-sound-card q-pa-md rounded-borders`},[E(`div`,Mn,a(t.title),1),E(`div`,Nn,a(t.description),1),v(P,{"model-value":e.modelValue[t.enabledKey],label:n(o)(`settings.enableAudio`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption q-mb-sm`,"onUpdate:modelValue":e=>u(t.enabledKey,!!e)},null,8,[`model-value`,`label`,`onUpdate:modelValue`]),E(`div`,J,[v(z,{"model-value":e.modelValue[t.soundKey],options:l.value,label:t.title,disable:!e.modelValue[t.enabledKey],dark:``,dense:``,outlined:``,"emit-value":``,"map-options":``,color:`primary`,class:`col`,"onUpdate:modelValue":e=>u(t.soundKey,String(e))},null,8,[`model-value`,`options`,`label`,`disable`,`onUpdate:modelValue`]),v(j,{flat:``,dense:``,color:`primary`,icon:`play_arrow`,label:n(o)(`settings.notificationSoundPreview`),disable:!e.modelValue[t.enabledKey],onClick:e=>d(t)},null,8,[`label`,`disable`,`onClick`])]),E(`div`,Y,[E(`div`,Pn,a(n(o)(`settings.notificationVolume`)),1),v(Qt,{"model-value":e.modelValue[t.volumeKey],min:0,max:1,step:.05,disable:!e.modelValue[t.enabledKey],"aria-label":n(o)(`settings.notificationVolume`),dark:``,dense:``,color:`primary`,class:`col`,"onUpdate:modelValue":e=>u(t.volumeKey,Number(e))},null,8,[`model-value`,`disable`,`aria-label`,`onUpdate:modelValue`]),E(`div`,X,a(Math.round(e.modelValue[t.volumeKey]*100))+`% `,1)])]))),128))]))}}),[[`__scopeId`,`data-v-dbeaedac`]]),In=ct(D({__name:`SettingsNavList`,props:{navItems:{},activeTab:{}},emits:[`select`],setup(e,{emit:t}){let n=t;return(t,i)=>(f(),y(I,{dense:``,class:`settings-nav__list`},{default:_(()=>[(f(!0),w(T,null,O(e.navItems,t=>g((f(),y(B,{key:t.value,clickable:``,"data-tour":`settings-nav-${t.value}`,class:r([`settings-nav__item`,{"settings-nav__item--active":e.activeTab===t.value}]),onClick:e=>n(`select`,t.value)},{default:_(()=>[v(V,{avatar:``,class:`settings-nav__icon`},{default:_(()=>[v(A,{name:t.icon,size:`16px`},null,8,[`name`])]),_:2},1024),v(V,{class:`settings-nav__label`},{default:_(()=>[x(a(t.label),1)]),_:2},1024)]),_:2},1032,[`data-tour`,`class`,`onClick`])),[[k,!1]])),128))]),_:1}))}}),[[`__scopeId`,`data-v-fac6b946`]]),Ln={class:`whip-shortcut-recorder`},Rn={class:`text-caption text-kobo-2 q-mb-xs`},zn={class:`row items-center no-wrap q-gutter-xs`},Bn={"data-testid":`whip-shortcut-value`},Vn={key:0,role:`status`,"aria-live":`polite`,class:`q-sr-only`},Hn={key:1,role:`alert`,class:`text-negative text-caption q-mt-xs`},Un=ct(D({__name:`WhipShortcutRecorder`,props:{modelValue:{}},emits:[`update:modelValue`],setup(e,{emit:t}){let r=e,i=t,{t:s}=Pe(),c=ke(),l=o(!1),u=o(``),d=C(()=>l.value?s(`settings.whipShortcutRecording`):je(r.modelValue,c)),p=C(()=>l.value?s(`settings.whipShortcutRecordingLabel`):s(`settings.whipShortcutButtonLabel`,{shortcut:d.value}));function m(){l.value&&(l.value=!1,window.removeEventListener(`keydown`,h,!0))}function h(e){e.preventDefault(),e.stopPropagation();let t=Oe(e,c);if(t.status!==`pending`){if(t.status===`reserved`){u.value=s(`settings.whipShortcutReserved`);return}u.value=``,t.status===`accepted`&&i(`update:modelValue`,t.shortcut),m()}}function g(){l.value||(u.value=``,l.value=!0,window.addEventListener(`keydown`,h,!0))}function ee(){m(),u.value=``,i(`update:modelValue`,Te)}return te(m),(e,t)=>(f(),w(`div`,Ln,[E(`div`,Rn,a(n(s)(`settings.whipShortcut`)),1),E(`div`,zn,[v(j,{"data-testid":`whip-shortcut-recorder`,dense:``,"no-caps":``,outline:``,color:`primary`,"aria-label":p.value,"aria-pressed":l.value,onClick:g},{default:_(()=>[E(`span`,Bn,a(d.value),1),v(U,null,{default:_(()=>[x(a(n(s)(`settings.whipShortcutHint`)),1)]),_:1})]),_:1},8,[`aria-label`,`aria-pressed`]),v(j,{"data-testid":`whip-shortcut-reset`,dense:``,flat:``,round:``,size:`sm`,color:`kobo-2`,icon:`restart_alt`,"aria-label":n(s)(`settings.whipShortcutReset`),onClick:ee},{default:_(()=>[v(U,null,{default:_(()=>[x(a(n(s)(`settings.whipShortcutReset`)),1)]),_:1})]),_:1},8,[`aria-label`])]),l.value?(f(),w(`div`,Vn,a(n(s)(`settings.whipShortcutRecording`)),1)):b(``,!0),u.value?(f(),w(`div`,Hn,a(u.value),1)):b(``,!0)]))}}),[[`__scopeId`,`data-v-d8618bd9`]]);function Wn(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Gn(e,t){if(e===t)return!0;if(Array.isArray(e)||Array.isArray(t)){if(!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!Gn(e[n],t[n]))return!1;return!0}return Wn(e)&&Wn(t)?Kn(e,t):!1}function Kn(e,t){let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r of n)if(!Object.hasOwn(t,r)||!Gn(e[r],t[r]))return!1;return!0}function qn(e){if(Array.isArray(e))return e.map(qn);if(e instanceof Date)return new Date(e.getTime());if(typeof e==`object`&&e){let t={};for(let[n,r]of Object.entries(e))t[n]=qn(r);return t}return e}function Jn(e){return qn(e)}function Yn(e){return e?{disabled:!1,hintKey:null}:{disabled:!0,hintKey:`settings.whipVolumeMasterAudioDisabled`}}var Xn={key:0,class:`settings-load-error`},Zn={class:`column`},Qn={class:`settings-load-error__title`},$n={class:`settings-load-error__detail`},er={class:`settings-load-error__hint`},tr={class:`settings-layout`},nr={key:0,class:`settings-nav`},rr={class:`settings-nav__title`},ir={class:`settings-nav`},ar={class:`settings-nav__title`},or={class:`settings-content`},sr={class:`settings-content__header`},cr={class:`settings-content__title`},lr={class:`text-caption text-kobo-3 q-mb-md`},ur={class:`settings-panels`},dr={class:`settings-global-wrap`},fr={key:0,"data-tour":`settings-card-general`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},pr={class:`text-subtitle2 q-mb-sm`},mr={key:1,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},hr={class:`text-subtitle2 q-mb-sm`},gr={class:`text-caption text-kobo-3 q-mt-xs`},_r={key:2,"data-tour":`settings-card-skills`,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-kobo-3 q-mt-xs`},br={key:3,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},xr={class:`text-subtitle2 q-mb-sm`},Sr={class:`text-caption text-kobo-3 q-mb-xs q-mt-sm`},Cr={class:`text-caption text-kobo-3 q-mt-md q-mb-xs`},wr={class:`text-caption text-kobo-3 q-mt-md q-mb-xs`},Tr={class:`text-caption text-kobo-3 q-mt-md q-mb-xs`},Er={class:`text-caption text-kobo-3 q-mt-md q-mb-xs`},Dr={key:4,"data-tour":`settings-card-agents`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Or={class:`text-subtitle2 q-mb-sm`},kr={class:`text-subtitle2 q-mb-sm q-mt-md`},Ar={class:`text-subtitle2 q-mb-sm q-mt-md`},jr={class:`text-caption text-kobo-3 q-mb-sm`},Mr={class:`text-subtitle2 q-mb-sm q-mt-md`},Nr={key:5,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Pr={class:`text-subtitle2 q-mb-sm`},Fr={class:`row items-center q-gutter-lg`},Ir={key:6,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Lr={class:`text-subtitle2 q-mb-xs`},Rr={class:`text-kobo-3 text-caption q-mb-md`},zr={key:0,class:`column q-gutter-sm q-mt-md`},Br={class:`row items-center q-gutter-sm`},Vr={class:`text-kobo-2 text-caption`,style:{"min-width":`58px`}},Hr={class:`text-kobo-2 text-caption`,style:{"min-width":`40px`,"text-align":`right`}},Ur={key:0,class:`text-kobo-3 text-caption`},Wr={key:7,"data-tour":`settings-card-notifications`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Gr={class:`text-subtitle2 q-mb-sm`},Kr={class:`text-kobo-3 text-caption q-mb-md`},qr={class:`notification-sounds-grid q-mt-md`},Jr={class:`notification-sound-card q-pa-md rounded-borders`},Yr={class:`text-subtitle2`},Xr={class:`text-kobo-3 text-caption q-mb-sm`},Zr={class:`column q-gutter-xs q-mb-sm`},Qr={class:`row items-center q-gutter-sm q-mb-sm`},$r={class:`row items-center q-gutter-sm`},ei={class:`row items-center q-gutter-sm q-mt-sm`},ti={class:`text-kobo-2 text-caption`,style:{"min-width":`58px`}},ni={class:`text-kobo-2 text-caption`,style:{"min-width":`40px`,"text-align":`right`}},ri={class:`notification-sound-card q-pa-md rounded-borders`},ii={class:`text-subtitle2`},ai={class:`text-kobo-3 text-caption q-mb-sm`},oi={class:`row items-center q-gutter-sm`},si={class:`row items-center q-gutter-sm q-mt-sm`},ci={class:`text-kobo-2 text-caption`,style:{"min-width":`58px`}},li={class:`text-kobo-2 text-caption`,style:{"min-width":`40px`,"text-align":`right`}},ui={class:`notification-sound-card q-pa-md rounded-borders`},di={class:`text-subtitle2`},fi={class:`text-kobo-3 text-caption q-mb-sm`},pi={class:`row items-center q-gutter-sm`},mi={class:`row items-center q-gutter-sm q-mt-sm`},hi={class:`text-kobo-2 text-caption`,style:{"min-width":`58px`}},gi={class:`text-kobo-2 text-caption`,style:{"min-width":`40px`,"text-align":`right`}},_i={class:`notification-sound-card q-pa-md rounded-borders`},vi={class:`text-subtitle2`},yi={class:`text-kobo-3 text-caption q-mb-sm`},bi={class:`row items-center q-gutter-sm`},xi={class:`row items-center q-gutter-sm q-mt-sm`},Si={class:`text-kobo-2 text-caption`,style:{"min-width":`58px`}},Ci={class:`text-kobo-2 text-caption`,style:{"min-width":`40px`,"text-align":`right`}},wi={key:8,"data-tour":`settings-card-voice`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Ti={class:`row items-center q-mb-sm`},Ei={class:`text-subtitle2`},Di={class:`column q-gutter-xs`},Oi={class:`row items-center q-gutter-sm`},ki={class:`row items-center q-gutter-sm`},Ai={class:`q-pa-sm text-caption text-kobo-2`},ji={class:`q-mb-sm`},Mi={class:`q-mb-sm`},Ni={href:`https://github.com/ggml-org/whisper.cpp`,target:`_blank`,rel:`noopener noreferrer`,class:`text-kobo-2`},Pi={class:`q-mb-xs text-kobo-2`},Fi={class:`q-mb-sm`},Ii={class:`q-mb-xs text-kobo-2`},Li={key:9,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Ri={class:`text-subtitle2 q-mb-sm`},zi={class:`row q-col-gutter-sm`},Bi={class:`col-12 col-sm-6`},Vi={class:`col-12 col-sm-6`},Hi={key:10,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Ui={class:`text-subtitle2 q-mb-sm`},Wi={key:0,class:`voice-models-dir row items-center q-gutter-sm q-mb-md`},Gi={class:`text-caption text-kobo-2 ellipsis-2-lines`,style:{flex:`1`,"min-width":`0`,"word-break":`break-all`}},Ki={class:`column q-gutter-sm`},qi={class:`row items-center q-gutter-sm`},Ji={class:`text-body2 text-kobo-1`,style:{"font-family":`var(--kobo-font-mono, monospace)`}},Yi={class:`text-caption text-kobo-3`},Xi={key:0,class:`q-mt-sm`},Zi={class:`row items-center q-mt-xs`},Qi={class:`text-caption text-kobo-3`},$i={class:`text-caption text-kobo-2`},ea={key:1,class:`text-caption text-kobo-3 q-mt-xs ellipsis`,style:{"font-family":`var(--kobo-font-mono, monospace)`,"word-break":`break-all`}},ta={key:11,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},na={class:`text-subtitle2 q-mb-sm`},ra={class:`q-pa-sm column q-gutter-sm`},ia={class:`row items-center q-gutter-sm`},aa={class:`text-caption text-kobo-2`},oa={class:`text-caption text-kobo-2`,style:{"min-width":`40px`,"text-align":`right`}},sa={class:`text-caption text-kobo-3`},ca={class:`text-caption text-kobo-3`},la={class:`text-caption text-kobo-3`},ua={class:`text-caption text-kobo-3`},da={class:`q-pa-sm column q-gutter-sm`},fa={key:12,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`,"data-tour":`settings-card-git`},pa={class:`row items-center q-mb-sm q-mt-md`},ma={class:`text-subtitle2`},ha={class:`text-caption text-kobo-3 q-mb-sm`},ga={key:13,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},_a={class:`text-subtitle2 q-mb-sm`},va={class:`text-caption text-kobo-3 q-mb-sm`},ya={class:`row items-center no-wrap`},ba={key:1,class:`text-caption text-kobo-3 q-mb-sm`},xa={class:`row items-center q-gutter-sm`},Sa={key:14,"data-tour":`settings-card-prompts`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Ca={class:`row items-center q-mb-sm`},wa={class:`text-subtitle2`},Ta={class:`text-caption text-kobo-3 q-mb-sm`},Ea={class:`q-mb-sm`},Da={class:`row items-center q-mb-sm q-mt-md`},Oa={class:`text-subtitle2`},ka={class:`text-caption text-kobo-3 q-mb-sm`},Aa={class:`row items-center q-mb-sm q-mt-md`},ja={class:`text-subtitle2`},Ma={class:`text-caption text-kobo-3 q-mb-sm`},Na={class:`row items-center q-mb-sm q-mt-md`},Pa={class:`text-subtitle2`},Fa={class:`text-caption text-kobo-3 q-mb-sm`},Ia={key:15,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},La={class:`text-subtitle2 q-mb-sm`},Ra={class:`text-caption text-kobo-3 q-mb-sm`},za={key:16,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Ba={class:`text-subtitle2 q-mb-sm`},Va={class:`text-caption text-kobo-3 q-mb-sm`},Ha={key:17,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Ua={class:`text-subtitle2 q-mb-sm`},Wa={class:`text-caption text-kobo-3 q-mb-sm`},Ga={key:18,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Ka={class:`text-subtitle2 q-mb-sm`},qa={class:`text-caption text-kobo-3 q-mb-sm`},Ja={class:`q-mb-sm`},Ya={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},Xa={key:20,"data-tour":`settings-card-sentry`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Za={class:`text-subtitle2 q-mb-sm`},Qa={class:`text-caption text-kobo-3 q-mb-sm`},$a={class:`q-mb-sm`},eo={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},to={key:22,"data-tour":`settings-card-forge`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},no={class:`text-subtitle2 q-mb-sm`},ro={class:`text-caption text-kobo-3 q-mb-md`},io={class:`text-subtitle2 q-mb-sm`},ao={class:`text-caption text-kobo-3 q-mb-sm`},oo={class:`q-mb-sm`},so={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},co={class:`q-mb-sm`},lo={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},uo={class:`row items-center q-mb-sm`},fo={class:`text-subtitle2`},po={class:`text-caption text-kobo-3 q-mb-xs`},mo={class:`text-subtitle2 q-mb-sm`},ho={class:`text-caption text-kobo-3 q-mb-sm`},go={class:`q-mb-sm`},_o={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},vo={class:`q-mb-sm`},yo={class:`row items-center q-mb-xs`},bo={class:`field-label-sub text-caption text-kobo-3 col`},xo=[`src`,`alt`],So={key:1,class:`text-caption text-kobo-3 q-py-sm`},Co={key:0,class:`text-caption text-orange-5 q-mb-xs`},wo={class:`text-subtitle2 q-mb-sm`},To={class:`row items-center q-mb-sm`},Eo={class:`text-subtitle2`},Do={class:`text-caption text-kobo-3 q-mb-xs`},Oo={key:26,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ko={class:`text-subtitle2 q-mb-sm`},Ao={class:`text-caption text-kobo-3 q-mb-sm`},jo={key:27,"data-tour":`settings-card-scripts`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Mo={class:`text-subtitle2 q-mb-sm`},No={class:`text-caption text-kobo-3 q-mb-sm`},Po={key:28,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Fo={class:`text-subtitle2 q-mb-sm`},Io={class:`text-caption text-kobo-3 q-mb-sm`},Lo={class:`text-caption text-kobo-3 q-mt-md q-mb-xs`},Ro={key:29,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},zo={class:`text-subtitle2 q-mb-sm`},Bo={class:`text-caption text-kobo-3 q-mb-sm`},Vo={key:30,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Ho={class:`text-subtitle2 q-mb-sm`},Uo={class:`text-caption text-kobo-3 q-mb-sm`},Wo={key:31,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Go={class:`text-subtitle2 q-mb-sm`},Ko={class:`text-caption text-kobo-3 q-mb-sm`},qo={key:32,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Jo={class:`text-subtitle2 q-mb-sm`},Yo={class:`text-caption text-kobo-3 q-mb-sm`},Xo={key:33,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Zo={class:`row items-center justify-between q-mb-sm`},Qo={class:`text-subtitle2`},$o={class:`text-caption text-kobo-3 q-mb-xs`},es={class:`text-caption text-kobo-3 mono-guide q-mb-sm`},ts={key:34,"data-tour":`settings-card-worktrees`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ns={class:`text-subtitle2 q-mb-sm`},rs={class:`text-caption text-kobo-3 q-mb-sm`},is={class:`text-caption text-kobo-3 q-mt-xs`},as={"data-tour":`settings-card-worktrees-purge`},os={class:`text-caption text-kobo-3 q-mt-xs`},ss={"data-tour":`settings-card-worktrees-retention`},cs={class:`text-subtitle2 q-mb-sm`},ls={class:`text-caption text-negative q-mb-sm`},us={class:`text-caption text-kobo-3 q-mb-sm`},ds={key:0,class:`text-caption text-kobo-3 q-mt-sm`},fs={class:`q-pa-sm text-caption text-kobo-2`,style:{"line-height":`1.55`}},ps={class:`text-weight-medium text-kobo-1 q-mb-xs`},ms={class:`q-mb-xs`},hs={class:`purge-docs-code`},gs={class:`text-kobo-3 q-mb-md`},_s={class:`text-weight-medium text-kobo-1 q-mb-xs`},vs={class:`q-mb-xs`},ys={class:`q-pl-md q-my-xs`},bs={class:`purge-docs-code`},xs={class:`text-kobo-3 q-mb-md`},Ss={class:`text-weight-medium text-kobo-1 q-mb-xs`},Cs={class:`q-mb-xs`},ws={class:`q-mb-xs text-kobo-3`},Ts={class:`purge-docs-code`},Es={class:`q-mb-xs text-kobo-3`},Ds={class:`purge-docs-code`},Os={class:`text-kobo-3`},ks={key:35,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},As={class:`text-subtitle2 q-mb-sm`},js={class:`text-caption text-kobo-3 q-mb-sm`},Ms={key:1,class:`q-mt-md`},Ns={class:`text-caption text-kobo-3 q-mt-xs`},Ps={class:`q-mt-md`},Fs={class:`text-caption text-kobo-3 q-mb-xs`},Is={class:`q-mt-md`},Ls={class:`text-caption text-kobo-3 q-mb-xs`},Rs={key:0,class:`text-caption text-kobo-3`},zs={key:0,class:`q-mt-md`},Bs={class:`text-caption text-kobo-3 q-mb-xs`},Vs=[`src`,`alt`],Hs={key:36,"data-tour":`settings-card-export`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Us={class:`text-subtitle2 q-mb-sm`},Ws={class:`text-caption text-kobo-3 q-mb-sm`},Gs={class:`row q-gutter-sm`},Ks={key:0,class:`q-pa-none`},qs={class:`row q-gutter-md`,style:{"min-height":`500px`}},Js={class:`project-list-col`},Ys={class:`settings-card rounded-borders`,style:{height:`100%`}},Xs={class:`q-pa-sm`},Zs={class:`text-caption text-uppercase text-weight-bold q-px-sm q-py-xs text-kobo-3`,style:{"letter-spacing":`0.05em`}},Qs={key:0,class:`q-pa-md text-center text-caption text-kobo-3`},$s={class:`q-pa-sm`},ec={class:`project-form-col`},tc={class:`settings-card rounded-borders q-pa-lg`,style:{height:`100%`}},nc={class:`row items-center q-mb-md`},rc={class:`text-subtitle1 text-weight-medium text-kobo-1`},ic={key:0,class:`q-mb-md`},ac={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},oc={class:`text-caption text-kobo-3 q-mt-xs`},sc={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},cc={class:`text-subtitle2 q-mb-md`},lc={class:`q-mb-md`},uc={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},dc={class:`q-mb-md`},fc={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},pc={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},mc={class:`row items-center q-gutter-xs`},hc={class:`text-caption text-kobo-3 q-mt-xs`},gc={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},_c={class:`text-subtitle2 q-mb-md`},vc={class:`q-mb-md`},yc={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},bc={class:`q-mb-md`},xc={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Sc={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Cc={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`,"data-test":`project-git-settings`},wc={class:`text-subtitle2 q-mb-md`},Tc={class:`q-mb-md`},Ec={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Dc={class:`text-caption text-kobo-3 q-mb-xs`},Oc={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},kc={class:`text-subtitle2 q-mb-md`},Ac={class:`q-mb-md`},jc={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Mc={class:`text-caption text-kobo-3 q-mb-xs`},Nc={class:`q-mb-md`},Pc={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Fc={class:`text-caption text-kobo-3 q-mb-xs`},Ic={class:`q-mb-md`},Lc={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Rc={class:`text-caption text-kobo-3 q-mb-xs`},zc={key:0,class:`q-mb-md`},Bc={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Vc={class:`text-caption text-kobo-3 q-mb-xs`},Hc={key:1,class:`q-mb-md`},Uc={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Wc={class:`text-caption text-kobo-3 q-mb-xs`},Gc={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Kc={class:`text-caption text-kobo-3 q-mt-xs`},qc={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Jc={class:`text-subtitle2 q-mb-md`},Yc={class:`q-mb-md`},Xc={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Zc={class:`text-caption text-kobo-3 q-mb-xs`},Qc={class:`text-caption text-kobo-3 q-mt-xs`},$c={class:`q-mb-md`},el={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},tl={class:`text-caption text-kobo-3 q-mb-xs`},nl={class:`field-label-sub text-caption q-mt-sm q-mb-xs text-kobo-3`},rl={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},il={class:`text-caption text-kobo-3 q-mb-xs`},al={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},ol={class:`text-caption text-kobo-3 q-mb-xs`},sl={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},cl={class:`text-caption text-kobo-3 q-mb-xs`},ll={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},ul={class:`text-caption text-kobo-3 q-mb-xs`},dl={class:`row items-center justify-between q-mb-xs`},fl={class:`field-label text-body2 text-weight-medium text-kobo-3`},pl={class:`text-caption text-kobo-3 q-mb-xs`},ml={class:`text-caption text-kobo-3 mono-guide q-mb-sm`},hl={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},gl={class:`text-subtitle2 q-mb-md`},_l={class:`q-mb-md`},vl={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},yl={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},bl={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},xl={class:`text-subtitle2 q-mb-xs`},Sl={class:`text-caption text-kobo-3 q-mb-sm`},Cl={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},wl={class:`text-subtitle2 q-mb-xs`},Tl={class:`text-caption text-kobo-3 q-mb-sm`},El={key:1,class:`column items-center justify-center`,style:{height:`100%`,"min-height":`300px`}},Dl={class:`text-body2 text-kobo-3`},Ol={key:1,class:`q-pa-none`},kl={"data-tour":`settings-card-templates`,class:`settings-card rounded-borders q-pa-lg`},Al={class:`row items-center justify-between q-mb-md`},jl={class:`text-subtitle1 text-weight-medium text-kobo-1`},Ml={class:`row q-gutter-sm items-center`},Nl={key:0,class:`text-kobo-3 q-py-lg text-center`},Pl={key:1,class:`column q-gutter-sm`},Fl={class:`row items-start justify-between no-wrap`},Il={class:`col`},Ll={class:`text-body1 text-weight-medium`,style:{"font-family":`var(--kobo-font-mono)`}},Rl={class:`text-caption text-kobo-2 q-mt-xs`},zl={class:`row no-wrap q-gutter-xs`},Bl={class:`text-caption text-kobo-3 q-mt-lg`,style:{"font-family":`var(--kobo-font-mono)`}},Vl={key:2,class:`q-pa-none`},Hl={"data-tour":`settings-card-workspaceTemplates`,class:`settings-card rounded-borders q-pa-lg`},Ul={class:`text-subtitle1 text-weight-medium text-kobo-1 q-mb-xs`},Wl={class:`text-caption text-kobo-3 q-mb-md`},Gl={key:0,class:`text-caption text-kobo-3`},Kl={class:`row no-wrap q-gutter-xs`},ql={class:`mono-guide q-ma-none`},Jl={class:`settings-savebar__label`},Yl={class:`text-subtitle1`},Xl={class:`q-pl-md q-pt-xs`,style:{"font-size":`11px`,"font-family":`var(--kobo-font-mono)`,columns:`2`,"column-gap":`24px`}},Zl={key:0,class:`text-negative text-caption`},Ql=2500,$l=ct(D({__name:`SettingsPage`,setup(e){let t=de(),s=Ae(),c=xe(),d=Nt(),{t:p,locale:ee}=Pe(),{scheduleAutoRun:te}=lt(),{isMobile:D}=mt(),ne=ut(),k=o(`general`),ae=o(!1);function ce(e){k.value=e,D.value&&(ae.value=!1)}function le(){ae.value=!1,ne.toggleLeft()}let ue=C(()=>[{value:`general`,icon:`tune`,label:p(`settings.nav.general`)},{value:`agents`,icon:`smart_toy`,label:p(`settings.nav.agents`)},{value:`skills`,icon:`extension`,label:p(`settings.nav.skills`)},{value:`git`,icon:`source`,label:p(`settings.nav.git`)},{value:`prompts`,icon:`text_snippet`,label:p(`settings.nav.prompts`)},{value:`scripts`,icon:`terminal`,label:p(`settings.nav.scripts`)},{value:`notion`,icon:`integration_instructions`,label:p(`settings.nav.notion`)},{value:`sentry`,icon:`bug_report`,label:p(`settings.nav.sentry`)},{value:`forge`,icon:`account_tree`,label:p(`settings.nav.forge`)},{value:`voice`,icon:`mic`,label:p(`settings.nav.voice`)},{value:`notifications`,icon:`notifications`,label:p(`settings.nav.notifications`)},{value:`worktrees`,icon:`account_tree`,label:p(`settings.nav.worktrees`)},{value:`projects`,icon:`folder`,label:p(`settings.projects`)},{value:`templates`,icon:`description`,label:p(`settings.nav.promptTemplates`)},{value:`workspaceTemplates`,icon:`bookmarks`,label:p(`settings.nav.workspaceTemplates`)},{value:`export`,icon:`import_export`,label:p(`settings.nav.export`)}]),fe=$e();u(()=>fe.query.tab,e=>{typeof e==`string`&&ue.value.some(t=>t.value===e)&&ce(e)},{immediate:!0});let pe=C(()=>ue.value.find(e=>e.value===k.value)?.label??``),me=C(()=>[`general`,`agents`,`skills`,`prompts`,`git`,`scripts`,`notion`,`sentry`,`forge`,`voice`,`notifications`,`worktrees`,`export`].includes(k.value)),he=o(`auto`),ge=o(`auto`),_e=o(``),we=o(``),Ee=o(``),N=o(``),Oe=o(``),ke=o(``),je=o(``),Me=o(``),Le=o(!1),Re=o(5),Be=o(0),He=o(!0),We=o(0),Ge=o(0),F=o({enabled:!1,token:``,behindProxy:!1,urls:[]}),Ze=o(!1),L=o(``);function ot(e){try{let t=new URL(e),n=window.location.port?`:${window.location.port}`:``;return`${window.location.protocol}//${t.hostname}${n}`}catch{return e}}let ct=C(()=>F.value.urls.map(ot));async function dt(){try{let e=await fetch(`/api/settings/network`);if(!e.ok)throw Error(`HTTP ${e.status}`);F.value=await e.json(),await Ft()}catch{t.notify({type:`negative`,message:p(`settings.network.loadFailed`),position:`top`})}}async function Ft(){let e=ct.value[0];if(!e||!F.value.token){L.value=``;return}let t=`${e}/?token=${encodeURIComponent(F.value.token)}`;try{let{default:e}=await Ve(async()=>{let{default:e}=await import(`./browser-B15GGwtW.js`).then(e=>Ut(e.default,1));return{default:e}},[]);L.value=await e.toDataURL(t,{margin:1,width:200})}catch{L.value=``}}async function It(e){try{let t=await fetch(`/api/settings/network`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(e)});if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await t.json();F.value={enabled:n.enabled,token:n.token,behindProxy:n.behindProxy,urls:n.urls},n.restartRequired&&(Ze.value=!0),await Ft()}catch{t.notify({type:`negative`,message:p(`settings.network.updateFailed`),position:`top`}),await dt()}}function Lt(e){It({enabled:e})}function Rt(e){It({behindProxy:e})}function zt(){t.dialog({title:p(`settings.network.title`),message:p(`settings.network.regenerateConfirm`),cancel:!0,persistent:!0}).onOk(()=>{It({regenerate:!0})})}function Bt(){bf(F.value.token)}let Vt=o(!0),Ht=o(typeof Notification>`u`?`unsupported`:Notification.permission),W=o(!0),Wt=o(!1),Gt=o(!1),Kt=o(!1),qt=o(De),Jt=o(at),Yt=o(at),Xt=o(at),Zt=o(1),G=o(1),en=o(1),tn=o(1),nn=o({...Ne}),rn=o(``),an=o(``),on=o(``),sn=o(``),cn=o(!1),un=o(!0),dn=o(!1),fn=o(Te),pn=o(1),mn=C(()=>Yn(W.value)),hn=C(()=>{switch(Ht.value){case`granted`:return{color:`positive`,label:p(`settings.browserNotificationGranted`)};case`denied`:return{color:`negative`,label:p(`settings.browserNotificationDenied`)};case`default`:return{color:`warning`,label:p(`settings.browserNotificationAsk`)};default:return{color:`kobo-3`,label:p(`settings.browserNotificationUnsupported`)}}});async function _n(){if(typeof Notification>`u`){t.notify({type:`negative`,message:p(`settings.browserNotificationUnsupported`),position:`top`});return}if(Notification.permission==="default"?Ht.value=await Notification.requestPermission():Ht.value=Notification.permission,Ht.value!==`granted`){t.notify({type:`warning`,message:p(`settings.browserNotificationPermissionNeeded`),position:`top`});return}new Notification(p(`settings.browserNotificationTestTitle`),{body:p(`settings.browserNotificationTestBody`),icon:`/favicon.ico`})}let vn=o(null),K=o({});async function yn(e){vn.value=e;try{let t=await fetch(`/api/${e}/test`,{method:`POST`}),n=await t.json();K.value[e]=t.ok?n:{ok:!1,durationMs:0,detail:n.error??`HTTP ${t.status}`}}catch(t){K.value[e]={ok:!1,durationMs:0,detail:t instanceof Error?t.message:String(t)}}finally{vn.value=null}}let bn=o([]),xn=o(!1),Sn=o(``),Cn=C(()=>bn.value.map(e=>({label:`${e.name} — ${e.email}`,value:e.id,name:e.name,email:e.email,avatarUrl:e.avatarUrl})));async function wn(e=!1){if(!xn.value&&!(!e&&bn.value.length>0)){xn.value=!0,Sn.value=``;try{let e=await fetch(`/api/notion/users`),t=await e.json().catch(()=>({}));if(!e.ok)throw Error(t.error??`HTTP ${e.status}`);bn.value=Array.isArray(t.users)?t.users:[]}catch(e){Sn.value=e instanceof Error?e.message:String(e),bn.value=[]}finally{xn.value=!1}}}let Tn=o(``),En=o(``),q=o(null),Dn=o(`bypass`),On=o(`bypass`),kn=o(``),jn=o(``),Mn=o(``),Nn=o(``),J=o(!0),Y=o(!0),Pn=o([]),X=o([]),Ln=o(``),Rn=o(``),zn=o(``),Bn=o(`no-tasks`),Vn=o(!1),Hn=o(``),Wn=o(``),Gn=o(``),qn=o(``),$l=o(``),eu=o(``),tu=o(!1);function nu(e){Q.value.path=e}let ru=C(()=>[{label:p(`settings.cleanupScriptMode.inherit`),value:``},{label:p(`settings.cleanupScriptMode.idle`),value:`idle`},{label:p(`settings.cleanupScriptMode.noTasks`),value:`no-tasks`}]),iu=o(Ke),au=o(null),ou=o(!0);function su(e){let t=e.trim().replace(/^\/+|\/+$/g,``);return t.length===0||t.length>50||!/^[A-Za-z0-9._/-]+$/.test(t)||t.includes(`..`)?``:t}function cu(){let e=su(Ln.value);e&&!X.value.includes(e)&&(X.value.push(e),Ln.value=``)}function lu(e){X.value.splice(e,1)}function uu(e,t){let n=su(t);if(!n)return;let r=X.value.indexOf(n);(r===-1||r===e)&&(X.value[e]=n)}function du(e,t){let n=e+t;if(n<0||n>=X.value.length)return;let r=X.value;[r[e],r[n]]=[r[n],r[e]]}let fu=o(!1),pu=o(`standard`),mu=C(()=>{switch(pu.value){case`standard`:return`settings.skillSuite.standardHint`;case`gstack`:return`settings.skillSuite.gstackHint`;case`ecc`:return`settings.skillSuite.eccHint`;case`superpowers+gstack`:return`settings.skillSuite.superpowersGstackHint`;case`superpowers+gstack+ecc`:return`settings.skillSuite.allThreeHint`;case`custom`:return`settings.skillSuite.customHint`;default:return`settings.skillSuite.superpowersHint`}}),hu=o(``),gu=o(``),_u=o(``),vu=o(``),yu=o(``),bu=o(null),xu=C(()=>[{value:`custom`,label:p(`settings.skillSuite.agnostic`)},{value:`superpowers`,label:p(`settings.skillSuite.superpowers`)},{value:`gstack`,label:p(`settings.skillSuite.gstack`)},{value:`ecc`,label:p(`settings.skillSuite.ecc`)},{value:`superpowers+gstack`,label:p(`settings.skillSuite.superpowersGstack`)},{value:`superpowers+gstack+ecc`,label:p(`settings.skillSuite.allThree`)}]);async function Su(e,n){bu.value=e;try{let r=await fetch(`/api/settings/skill-suite-prompts/${n}`);if(!r.ok)throw Error(await r.text());let i=await r.json(),a={reviewTemplate:hu,autoLoopReviewGate:gu,autoLoopGroomingIntro:_u,qaPromptTemplate:vu,brainstormingInstruction:yu};a[e].value=i[e],t.notify({type:`positive`,message:p(`settings.skillSuite.imported`),position:`top`})}catch(e){t.notify({type:`negative`,message:`${p(`settings.skillSuite.importFailed`)}: ${String(e)}`,position:`top`})}finally{bu.value=null}}let Cu=o(!1),wu=o(`alt`),Tu=o(`auto`),Eu=o(null),Du=o(``),Ou=o(``),ku=o(0),Au=o(``),ju=o(!1),Mu=o(!0),Nu=o(null),Pu=o(!1);function Fu(){t.dialog({title:p(`settings.skillSuite.reloadDefaults`),message:p(`settings.skillSuite.reloadDefaultsConfirm`),cancel:!0,persistent:!0,dark:!0}).onOk(()=>{hu.value=_t,gu.value=yt,_u.value=ht,vu.value=gt,yu.value=xt})}function Iu(e){let n=e===`global`?$l.value:Q.value.changeSourceBranchScript,r=()=>{e===`global`?$l.value=eu.value:Q.value.changeSourceBranchScript=eu.value};if(!n.trim()||n===eu.value){r();return}t.dialog({title:p(`settings.changeSourceBranchScript.replaceConfirmTitle`),message:p(`settings.changeSourceBranchScript.replaceConfirm`),cancel:!0,persistent:!0,dark:!0}).onOk(r)}function Lu(e){return!e||e===`tiny`||e===`base`?.1:.2}let Ru=[e=>e.trim().length>0||p(`settings.worktreesPathRequired`)],zu=o(!1),Bu=o(ve()),Vu=o({notion:{configured:!1},sentry:{configured:!1}}),Hu=o({notion:{command:``,args:``,environment:``},sentry:{command:``,args:``,environment:``}}),Uu=C(()=>Object.values(Hu.value).some(e=>e.command!==``||e.args!==``||e.environment!==``)),Wu=o(-1),Z=o(!1),Q=o({workflowPolicy:{},path:``,displayName:``,color:null,defaultSourceBranch:``,defaultModel:``,forge:`auto`,prPromptTemplate:``,reviewPromptTemplate:``,ciFixPromptTemplate:``,notionInitialPromptTemplate:``,sentryInitialPromptTemplate:``,gitConventions:``,setupScript:``,taskPromptTemplate:``,cleanupScript:``,cleanupScriptMode:``,archiveScript:``,changeSourceBranchScript:``,sessionEndedScript:``,prMergedScript:``,autoLoopDisabledScript:``,devServer:{startCommand:``,stopCommand:``},e2e:{framework:``,skill:``,prompt:``},finalization:{prompt:``}}),Gu=[`workflowPolicy`,`defaultModel`,`forge`,`prPromptTemplate`,`reviewPromptTemplate`,`ciFixPromptTemplate`,`notionInitialPromptTemplate`,`sentryInitialPromptTemplate`,`gitConventions`,`setupScript`,`taskPromptTemplate`,`cleanupScript`,`cleanupScriptMode`,`archiveScript`,`changeSourceBranchScript`,`sessionEndedScript`,`prMergedScript`,`autoLoopDisabledScript`,`devServer`,`e2e`,`finalization`],Ku=o(null),qu=o(null),Ju=C(()=>s.projects.map(e=>({value:e.path,label:Tf(e)||e.path})));function Yu(e){let t=s.projects.find(t=>t.path===e);t&&(Q.value.workflowPolicy={...t.workflowPolicy},Q.value.defaultModel=t.defaultModel??``,Q.value.forge=t.forge??`auto`,Q.value.prPromptTemplate=t.prPromptTemplate??``,Q.value.reviewPromptTemplate=t.reviewPromptTemplate??``,Q.value.ciFixPromptTemplate=t.ciFixPromptTemplate??``,Q.value.notionInitialPromptTemplate=t.notionInitialPromptTemplate??``,Q.value.sentryInitialPromptTemplate=t.sentryInitialPromptTemplate??``,Q.value.gitConventions=t.gitConventions??``,Q.value.setupScript=t.setupScript??``,Q.value.devServer={startCommand:t.devServer?.startCommand??``,stopCommand:t.devServer?.stopCommand??``},Q.value.e2e={framework:t.e2e?.framework??``,skill:t.e2e?.skill??``,prompt:t.e2e?.prompt??``},Q.value.finalization={prompt:t.finalization?.prompt??``})}function Xu(){let e={workflowPolicy:{},defaultModel:``,forge:`auto`,prPromptTemplate:``,reviewPromptTemplate:``,notionInitialPromptTemplate:``,sentryInitialPromptTemplate:``,gitConventions:``,setupScript:``,taskPromptTemplate:``,cleanupScript:``,cleanupScriptMode:``,archiveScript:``,changeSourceBranchScript:``,sessionEndedScript:``,prMergedScript:``,autoLoopDisabledScript:``,devServer:{startCommand:``,stopCommand:``},e2e:{framework:``,skill:``,prompt:``},finalization:{prompt:``}};return Gu.every(t=>JSON.stringify(Q.value[t])===JSON.stringify(e[t]))}function Zu(e){if(e===null){Ku.value=null,qu.value=null;return}if(qu.value===null&&Xu()){Yu(e),Ku.value=e,qu.value=e;return}let n=s.projects.find(t=>t.path===e),r=n&&Tf(n)||e;t.dialog({title:p(`settings.copyFromConfirmTitle`),message:p(`settings.copyFromConfirm`,{project:r}),cancel:!0,persistent:!0,dark:!0}).onOk(()=>{Yu(e),Ku.value=e,qu.value=e}).onCancel(()=>{Ku.value=qu.value})}let Qu=o([]),$u=o([]);async function ed(){try{let e=await fetch(`/api/skills`);e.ok&&(Qu.value=await e.json())}catch{}}function td(e,t){t(()=>{let t=e.trim().toLowerCase();$u.value=t?Qu.value.filter(e=>e.toLowerCase().includes(t)):Qu.value.slice()})}let nd=o([]),rd=o(!1),id=o(!1),ad=o(!1),od=o(!1),sd=o(null),cd=o(``),ld=o(``),ud=o(``),dd=o(``),fd=o(!1),pd=o(!1),md=C(()=>[...c.templates].sort((e,t)=>e.slug.localeCompare(t.slug))),hd=[`{workspace_name}`,`{working_branch}`,`{source_branch}`,`{project_path}`,`{worktree_path}`,`{commit_count}`,`{unpushed_count}`,`{files_changed}`,`{insertions}`,`{deletions}`,`{pr_number}`,`{pr_url}`,`{pr_state}`,`{session_name}`];function gd(){sd.value=null,cd.value=``,ld.value=``,ud.value=``,dd.value=``,od.value=!0}function _d(e){sd.value=e.slug,cd.value=e.slug,ld.value=e.description,ud.value=e.content,dd.value=``,od.value=!0}async function vd(){dd.value=``;let e=cd.value.trim(),t=ld.value.trim();if(sd.value===null&&!/^[a-z0-9][a-z0-9-]{0,63}$/.test(e)){dd.value=p(`templates.slugInvalid`);return}if(!t){dd.value=p(`templates.descriptionRequired`);return}if(!ud.value.trim()){dd.value=p(`templates.contentRequired`);return}fd.value=!0;try{sd.value===null?await c.createTemplate({slug:e,description:t,content:ud.value}):await c.updateTemplate(sd.value,{description:t,content:ud.value}),od.value=!1}catch(e){dd.value=e instanceof Error?e.message:p(`templates.createFailed`)}finally{fd.value=!1}}function yd(){t.dialog({title:p(`templates.reloadDefaults`),message:p(`templates.reloadDefaultsConfirmMessage`),dark:!0,cancel:{flat:!0,label:p(`common.cancel`),color:`kobo-2`},ok:{flat:!0,label:p(`templates.reloadDefaults`),color:`primary`}}).onOk(async()=>{pd.value=!0;try{let e=await c.reloadDefaults();t.notify({type:`positive`,message:p(`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:p(`templates.reloadDefaultsFailed`),position:`top`})}finally{pd.value=!1}})}async function bd(e){t.dialog({title:p(`templates.deleteTemplate`),message:`${p(`templates.deleteConfirm`,{slug:e.slug})}\n\n${p(`templates.deleteConfirmMessage`)}`,dark:!0,cancel:{flat:!0,label:p(`common.cancel`),color:`kobo-2`},ok:{flat:!0,label:p(`templates.deleteTemplate`),color:`red-5`}}).onOk(async()=>{try{await c.deleteTemplate(e.slug)}catch(e){t.notify({type:`negative`,message:e instanceof Error?e.message:p(`templates.deleteFailed`),position:`top`})}})}function xd(e){let t=new Date(e);return Number.isNaN(t.getTime())?`-`:t.toLocaleDateString()}function Sd(e,n){t.dialog({title:p(`workspaceTemplates.renameTitle`),dark:!0,prompt:{model:n,type:`text`,outlined:!0,dense:!0,isValid:e=>e.trim().length>0},cancel:!0,persistent:!0}).onOk(async n=>{try{await d.updateTemplate(e,{name:n})}catch(e){t.notify({type:`negative`,message:e instanceof Error?e.message:p(`settings.saveError`),position:`top`})}})}function Cd(e,n){t.dialog({title:p(`workspaceTemplates.title`),message:p(`workspaceTemplates.deleteConfirm`,{name:n}),dark:!0,cancel:!0,persistent:!0}).onOk(async()=>{try{await d.deleteTemplate(e),t.notify({type:`positive`,message:p(`workspaceTemplates.deleted`,{name:n}),position:`top`})}catch(e){t.notify({type:`negative`,message:e instanceof Error?e.message:p(`settings.saveError`),position:`top`})}})}function wd(e){t.dialog({title:p(`templates.resetConfirmTitle`),message:p(`templates.resetConfirmMessage`,{slug:e.slug}),dark:!0,cancel:{flat:!0,label:p(`common.cancel`),color:`kobo-2`},ok:{flat:!0,label:p(`templates.resetToDefault`),color:`primary`}}).onOk(async()=>{try{await c.resetToDefault(e.slug),t.notify({type:`positive`,message:p(`templates.resetSuccess`,{slug:e.slug}),position:`top`})}catch(e){t.notify({type:`negative`,message:e instanceof Error?e.message:p(`templates.resetFailed`),position:`top`})}})}let Td=[{label:`English`,value:`en`},{label:`Français`,value:`fr`},{label:`Deutsch`,value:`de`},{label:`Español`,value:`es`},{label:`Italiano`,value:`it`}];function Ed(e){it(e).catch(e=>{console.error(`[i18n] locale load failed:`,e),t.notify({type:`negative`,message:p(`settings.localeLoadFailed`),position:`top`})}),localStorage.setItem(`kobo:locale`,e)}let Dd=C(()=>[...bt.map(e=>({label:p(e.i18nLabelKey),value:e.value}))]),Od=C(()=>[...vt.map(e=>({label:p(e.i18nLabelKey),value:e.value}))]),kd=C(()=>[{label:p(`settings.useGlobal`),value:``},...Dd.value]),Ad=C(()=>[{label:p(`settings.forge.auto`),value:`auto`},{label:p(`settings.forge.github`),value:`github`},{label:p(`settings.forge.gitlab`),value:`gitlab`},{label:p(`settings.forge.bitbucketCommunity`),value:`bitbucket-community`},{label:p(`settings.forge.none`),value:`none`}]),jd=C(()=>St[`claude-code`].map(e=>({label:p(`agentPermissionMode.${e}`),value:e}))),Md=C(()=>St.codex.map(e=>({label:p(`agentPermissionMode.${e}`),value:e}))),Nd=C(()=>[{name:`{{pr_number}}`,description:p(`settings.var.prNumber`)},{name:`{{pr_url}}`,description:p(`settings.var.prUrl`)},{name:`{{branch_name}}`,description:p(`settings.var.branchName`)},{name:`{{source_branch}}`,description:p(`settings.var.sourceBranch`)},{name:`{{workspace_name}}`,description:p(`settings.var.workspaceName`)},{name:`{{project_name}}`,description:p(`settings.var.projectName`)},{name:`{{notion_url}}`,description:p(`settings.var.notionUrl`)},{name:`{{commits}}`,description:p(`settings.var.commits`)},{name:`{{diff_stats}}`,description:p(`settings.var.diffStats`)},{name:`{{tasks}}`,description:p(`settings.var.tasks`)},{name:`{{acceptance_criteria}}`,description:p(`settings.var.acceptanceCriteria`)}]),Pd=C(()=>[{label:p(`settings.mcpAutoSelect`),value:``},...s.activeMcpServers.map(e=>({label:e.key,value:e.key}))]),Fd=Et(),Id=C(()=>[...ye.map(e=>({label:p(e.labelKey),value:e.id})),...Fd.options]),Ld=C(()=>[{label:p(`settings.soundGeneral`),value:at},...Id.value]),Rd=C(()=>[{label:p(`voice.noneModel`),value:null}].concat(s.voiceModels.map(e=>({label:e.installed?`${e.name}`:`${e.name} (${p(`voice.notInstalled`)})`,value:e.name})))),zd=[{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 Bd(){rt(qt.value,Zt.value)}function Vd(){rt(Jt.value,G.value)}function Hd(){rt(Yt.value,en.value)}function Ud(){rt(Xt.value,tn.value)}let $=C(()=>Wu.value<0||Wu.value>=s.projects.length?null:s.projects[Wu.value]??null),Wd=o(Jd()),Gd=o({});function Kd(){return{workflowPolicy:Bu.value,claudeModel:he.value,codexModel:ge.value,prPrompt:_e.value,reviewPrompt:we.value,ciFixPrompt:Ee.value,finalizationPrompt:N.value,gitConventions:Oe.value,editorCommand:ke.value,fileManagerCommand:je.value,terminalCommand:Me.value,autoPurgeOnPrMerged:Le.value,autoLoopMaxRetries:Re.value,awaitingUserReminderMinutes:Be.value,activityDigestEnabled:He.value,wsEventsRetentionDays:We.value,wsEventsKeepPerWorkspace:Ge.value,browserNotifications:Vt.value,audioNotifications:W.value,audioQuestionNotifications:Wt.value,audioWorkspaceCreatedNotifications:Gt.value,audioAgentErrorNotifications:Kt.value,audioNotificationSound:qt.value,audioQuestionSound:Jt.value,audioWorkspaceCreatedSound:Yt.value,audioAgentErrorSound:Xt.value,audioNotificationVolume:Zt.value,audioQuestionVolume:G.value,audioWorkspaceCreatedVolume:en.value,audioAgentErrorVolume:tn.value,prNotificationSounds:nn.value,notionStatusProperty:rn.value,notionStatus:an.value,notionAssigneeProperty:on.value,notionUserId:sn.value,notionInitialPrompt:Tn.value,sentryInitialPrompt:En.value,claudePermissionMode:Dn.value,codexPermissionMode:On.value,notionMcpKey:kn.value,sentryMcpKey:jn.value,bitbucketToken:Mn.value,bitbucketUsername:Nn.value,notionEnabled:J.value,sentryEnabled:Y.value,showVerboseSystemMessages:cn.value,showThinkingBlocks:un.value,whipEnabled:dn.value,whipShortcut:fn.value,whipVolume:pn.value,tags:Pn.value,branchPrefixes:X.value,setupScript:Rn.value,cleanupScript:zn.value,cleanupScriptMode:Bn.value,cleanupScriptOnlyOnChanges:Vn.value,archiveScript:Hn.value,changeSourceBranchScript:$l.value,sessionEndedScript:Wn.value,prMergedScript:Gn.value,autoLoopDisabledScript:qn.value,worktreesPath:iu.value,worktreesPrefixByProject:ou.value,flattenWorkspaceList:fu.value,skillSuite:pu.value,customReviewTemplate:hu.value,customAutoLoopReviewGate:gu.value,customAutoLoopGroomingIntro:_u.value,customQaPromptTemplate:vu.value,customBrainstormingInstruction:yu.value,voiceEnabled:Cu.value,voicePttKey:wu.value,voiceLanguage:Tu.value,voiceModel:Eu.value,voiceCommandPath:Du.value,voiceFfmpegPath:Ou.value,voiceTemperature:ku.value,voicePrompt:Au.value,voiceTranslateToEnglish:ju.value,voiceSuppressNst:Mu.value}}function qd(){return{...Q.value}}function Jd(){return Jn(Kd())}function Yd(){return Jn(qd())}let Xd=C(()=>!Kn(Kd(),Wd.value)),Zd=C(()=>!Kn(qd(),Gd.value)),Qd=C(()=>s.loadError?!1:Xd.value?!0:Zd.value&&($.value!==null||Z.value)),$d=C(()=>Zd.value&&($.value!==null||Z.value)?id.value:zu.value);function ef(){Zd.value&&($.value!==null||Z.value)?xf():ff()}function tf(){Bu.value=ve(s.global.workflowPolicy),Pu.value=!0;let e=s.global.defaultModelByEngine??{};he.value=e[`claude-code`]??`auto`,ge.value=e.codex??`auto`,_e.value=s.global.prPromptTemplate,we.value=s.global.reviewPromptTemplate??``,Ee.value=s.global.ciFixPromptTemplate??``,N.value=s.global.finalizationPrompt??``,Oe.value=s.global.gitConventions,ke.value=s.global.editorCommand??``,je.value=s.global.fileManagerCommand??``,Me.value=s.global.terminalCommand??``,Le.value=s.global.autoPurgeOnPrMerged??!1,Re.value=s.global.autoLoopMaxRetries??5,Be.value=s.global.awaitingUserReminderMinutes??0,He.value=s.global.activityDigestEnabled??!0,We.value=s.global.wsEventsRetentionDays??0,Ge.value=s.global.wsEventsKeepPerWorkspace??0,Vt.value=s.global.browserNotifications??!0,W.value=s.global.audioNotifications??!0,Wt.value=s.global.audioQuestionNotifications??!1,Gt.value=s.global.audioWorkspaceCreatedNotifications??!1,Kt.value=s.global.audioAgentErrorNotifications??!1,qt.value=Qe(s.global.audioNotificationSound),Jt.value=Se(s.global.audioQuestionSound),Yt.value=Se(s.global.audioWorkspaceCreatedSound),Xt.value=Se(s.global.audioAgentErrorSound);let t=Object.fromEntries(Ce.map(e=>[e,Se(s.global[e])])),n=Object.fromEntries(Ie.map(e=>{let t=s.global[e];if(e.endsWith(`Enabled`))return[e,typeof t==`boolean`&&t];let n=Number(t);return[e,Number.isFinite(n)?Math.max(0,Math.min(1,n)):1]}));nn.value={...t,...n};let r=s.global.audioNotificationVolume;Zt.value=typeof r==`number`&&Number.isFinite(r)?Math.max(0,Math.min(1,r)):1;let i=s.global.audioQuestionVolume;G.value=typeof i==`number`&&Number.isFinite(i)?Math.max(0,Math.min(1,i)):1;let a=s.global.audioWorkspaceCreatedVolume;en.value=typeof a==`number`&&Number.isFinite(a)?Math.max(0,Math.min(1,a)):1;let o=s.global.audioAgentErrorVolume;tn.value=typeof o==`number`&&Number.isFinite(o)?Math.max(0,Math.min(1,o)):1,rn.value=s.global.notionStatusProperty??``,an.value=s.global.notionInProgressStatus??``,on.value=s.global.notionAssigneeProperty??``,sn.value=s.global.notionUserId??``,Tn.value=s.global.notionInitialPromptTemplate??``,En.value=s.global.sentryInitialPromptTemplate??``;{let e=s.global.defaultPermissionModeByEngine??{},t=e=>e===`plan`||e===`bypass`||e===`strict`||e===`interactive`,n=e[`claude-code`];Dn.value=t(n)?n:`bypass`;let r=e.codex;On.value=t(r)?r:`bypass`}kn.value=s.global.notionMcpKey??``,jn.value=s.global.sentryMcpKey??``,Mn.value=s.global.bitbucketToken??``,Nn.value=s.global.bitbucketUsername??``,J.value=s.global.notionEnabled??!0,Y.value=s.global.sentryEnabled??!0,cn.value=s.showVerboseSystemMessages,un.value=s.global.showThinkingBlocks??!0,dn.value=s.global.whipEnabled??!1,fn.value=s.global.whipShortcut??`mod+shift+x`,pn.value=s.global.whipVolume??1,Pn.value=Array.isArray(s.global.tags)?[...s.global.tags]:[],X.value=Array.isArray(s.global.branchPrefixes)?[...s.global.branchPrefixes]:[],Rn.value=s.global.setupScript??``,zn.value=s.global.cleanupScript??``,Bn.value=s.global.cleanupScriptMode===`idle`?`idle`:`no-tasks`,Vn.value=s.global.cleanupScriptOnlyOnChanges??!1,Hn.value=s.global.archiveScript??``,Wn.value=s.global.sessionEndedScript??``,Gn.value=s.global.prMergedScript??``,qn.value=s.global.autoLoopDisabledScript??``,$l.value=s.global.changeSourceBranchScript??``,iu.value=s.global.worktreesPath??`.worktrees`,ou.value=s.global.worktreesPrefixByProject??!1,fu.value=s.global.flattenWorkspaceList??!1,pu.value=s.global.skillSuite??`standard`,hu.value=s.global.customReviewTemplate??``,gu.value=s.global.customAutoLoopReviewGate??``,_u.value=s.global.customAutoLoopGroomingIntro??``,vu.value=s.global.customQaPromptTemplate??``,yu.value=s.global.customBrainstormingInstruction??``,Cu.value=s.global.voiceEnabled??!1,wu.value=s.global.voicePttKey===`ctrl+space`?`ctrl+space`:`alt`,Tu.value=s.global.voiceLanguage??`auto`,Eu.value=s.global.voiceModel??null,Du.value=s.global.voiceCommandPath??``,Ou.value=s.global.voiceFfmpegPath??``,ku.value=typeof s.global.voiceTemperature==`number`?s.global.voiceTemperature:0,Au.value=s.global.voicePrompt??``,ju.value=s.global.voiceTranslateToEnglish??!1,Mu.value=s.global.voiceSuppressNonSpeechTokens??!0,Pu.value=!1,Wd.value=Jd()}u(()=>Eu.value,(e,t)=>{Pu.value||e!==t&&(ku.value=Lu(e))});function nf(e){if(!e){Q.value={workflowPolicy:{},path:``,displayName:``,color:null,defaultSourceBranch:``,defaultModel:``,forge:`auto`,prPromptTemplate:``,reviewPromptTemplate:``,ciFixPromptTemplate:``,notionInitialPromptTemplate:``,sentryInitialPromptTemplate:``,gitConventions:``,setupScript:``,taskPromptTemplate:``,cleanupScript:``,cleanupScriptMode:``,archiveScript:``,changeSourceBranchScript:``,sessionEndedScript:``,prMergedScript:``,autoLoopDisabledScript:``,devServer:{startCommand:``,stopCommand:``},e2e:{framework:``,skill:``,prompt:``},finalization:{prompt:``}},nd.value=[],Gd.value=Yd();return}Q.value={workflowPolicy:{...e.workflowPolicy},path:e.path,displayName:e.displayName,color:e.color??null,defaultSourceBranch:e.defaultSourceBranch,defaultModel:e.defaultModel,forge:e.forge??`auto`,prPromptTemplate:e.prPromptTemplate,reviewPromptTemplate:e.reviewPromptTemplate??``,ciFixPromptTemplate:e.ciFixPromptTemplate??``,notionInitialPromptTemplate:e.notionInitialPromptTemplate??``,sentryInitialPromptTemplate:e.sentryInitialPromptTemplate??``,gitConventions:e.gitConventions??``,setupScript:e.setupScript??``,taskPromptTemplate:e.taskPromptTemplate??``,cleanupScript:e.cleanupScript??``,cleanupScriptMode:e.cleanupScriptMode??``,archiveScript:e.archiveScript??``,changeSourceBranchScript:e.changeSourceBranchScript??``,sessionEndedScript:e.sessionEndedScript??``,prMergedScript:e.prMergedScript??``,autoLoopDisabledScript:e.autoLoopDisabledScript??``,devServer:{startCommand:e.devServer?.startCommand??``,stopCommand:e.devServer?.stopCommand??``},e2e:{framework:e.e2e?.framework??``,skill:e.e2e?.skill??``,prompt:e.e2e?.prompt??``},finalization:{prompt:e.finalization?.prompt??``}},Gd.value=Yd(),e.path&&rf(e.path)}async function rf(e){if(!e.trim()){nd.value=[];return}rd.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();nd.value=n.local??n.branches??[]}catch{nd.value=[]}finally{rd.value=!1}}let af=null;u(()=>Q.value.path,e=>{af&&clearTimeout(af),af=setTimeout(()=>{rf(e)},500)}),u(Wu,()=>{Z.value=!1,nf($.value)});let of=o(null);async function sf(){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:p(`settings.exportSuccess`),position:`top`,timeout:3e3})}catch(e){t.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}}function cf(){of.value?.click()}async function lf(e){let n=e.target,r=n.files?.[0];if(r)try{t.dialog({title:p(`settings.importConfirmTitle`),message:p(`settings.importConfirmMessage`),cancel:!0,persistent:!0,dark:!0}).onOk(async()=>{try{let e=await r.text(),n=JSON.parse(e),i=await fetch(`/api/settings/import`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)});if(!i.ok){let e=await i.json().catch(()=>({}));throw Error(e.error??`HTTP ${i.status}`)}await s.fetchSettings(),tf(),t.notify({type:`positive`,message:p(`settings.importSuccess`),position:`top`,timeout:3e3})}catch(e){t.notify({type:`negative`,message:String(e),position:`top`,timeout:5e3})}})}finally{n.value=``}}async function uf(e){if(q.value===null){q.value=e;try{let t=await s.fetchGlobalDefaults(),n={prPromptTemplate:_e,reviewPromptTemplate:we,ciFixPromptTemplate:Ee,finalizationPrompt:N,gitConventions:Oe,notionInitialPromptTemplate:Tn,sentryInitialPromptTemplate:En};n[e].value=t[e]}catch(e){console.error(`[SettingsPage] resetFieldToDefault failed:`,e),t.notify({type:`negative`,message:p(`settings.resetFailed`),position:`top`})}finally{q.value=null}}}async function df(){let e=e=>e===0?1/0:e,n=s.global.wsEventsRetentionDays??0,r=We.value;if(e(r)>=e(n))return!0;let i=p(`settings.retentionConfirmMessageUnknown`,{days:r});try{let e=await s.previewRetention(r,Ge.value);i=p(`settings.retentionConfirmMessage`,{days:r,count:e.deletable,total:e.total})}catch(e){console.error(`[SettingsPage] retention preview failed:`,e)}return await new Promise(e=>{t.dialog({title:p(`settings.retentionConfirmTitle`),message:i,cancel:!0,persistent:!0,dark:!0}).onOk(()=>e(!0)).onCancel(()=>e(!1)).onDismiss(()=>e(!1))})}async function ff(){if(await au.value?.validate()!==!1&&await df()){zu.value=!0;try{await s.updateGlobal({workflowPolicy:ve(Bu.value),defaultModelByEngine:{"claude-code":he.value,codex:ge.value},prPromptTemplate:_e.value,reviewPromptTemplate:we.value,ciFixPromptTemplate:Ee.value,finalizationPrompt:N.value,gitConventions:Oe.value,editorCommand:ke.value,fileManagerCommand:je.value,terminalCommand:Me.value,autoPurgeOnPrMerged:Le.value,autoLoopMaxRetries:Re.value,awaitingUserReminderMinutes:Be.value,activityDigestEnabled:He.value,wsEventsRetentionDays:We.value,wsEventsKeepPerWorkspace:Ge.value,browserNotifications:Vt.value,audioNotifications:W.value,audioQuestionNotifications:Wt.value,audioWorkspaceCreatedNotifications:Gt.value,audioAgentErrorNotifications:Kt.value,audioNotificationSound:qt.value,audioQuestionSound:Jt.value,audioWorkspaceCreatedSound:Yt.value,audioAgentErrorSound:Xt.value,audioNotificationVolume:Zt.value,audioQuestionVolume:G.value,audioWorkspaceCreatedVolume:en.value,audioAgentErrorVolume:tn.value,...nn.value,notionStatusProperty:rn.value,notionInProgressStatus:an.value,notionAssigneeProperty:on.value,notionUserId:sn.value,notionInitialPromptTemplate:Tn.value,sentryInitialPromptTemplate:En.value,defaultPermissionModeByEngine:{"claude-code":Dn.value,codex:On.value},notionMcpKey:kn.value,sentryMcpKey:jn.value,bitbucketToken:Mn.value,bitbucketUsername:Nn.value,notionEnabled:J.value,sentryEnabled:Y.value,showThinkingBlocks:un.value,whipEnabled:dn.value,whipShortcut:fn.value,whipVolume:pn.value,tags:Pn.value,branchPrefixes:X.value,setupScript:Rn.value,cleanupScript:zn.value,cleanupScriptMode:Bn.value,cleanupScriptOnlyOnChanges:Vn.value,archiveScript:Hn.value,changeSourceBranchScript:$l.value,sessionEndedScript:Wn.value,prMergedScript:Gn.value,autoLoopDisabledScript:qn.value,worktreesPath:iu.value,worktreesPrefixByProject:ou.value,flattenWorkspaceList:fu.value,skillSuite:pu.value,customReviewTemplate:hu.value,customAutoLoopReviewGate:gu.value,customAutoLoopGroomingIntro:_u.value,customQaPromptTemplate:vu.value,customBrainstormingInstruction:yu.value,voiceEnabled:Cu.value,voicePttKey:wu.value,voiceLanguage:Tu.value,voiceModel:Eu.value,voiceCommandPath:Du.value.trim(),voiceFfmpegPath:Ou.value.trim(),voiceTemperature:ku.value,voicePrompt:Au.value,voiceTranslateToEnglish:ju.value,voiceSuppressNonSpeechTokens:Mu.value}),s.setVerboseSystemMessages(cn.value),Wd.value=Jd(),t.notify({type:`positive`,message:p(`settings.saved`),position:`top`})}catch{t.notify({type:`negative`,message:p(`settings.saveError`),position:`top`})}finally{zu.value=!1}}}async function pf(e){Nu.value=e,vf();try{await s.downloadVoiceModel(e)}catch{t.notify({type:`negative`,message:p(`voice.downloadFailed`),position:`top`})}finally{Nu.value=null,yf()}}async function mf(e){Nu.value=e;try{await s.deleteVoiceModel(e),Eu.value===e&&(Eu.value=null)}catch{t.notify({type:`negative`,message:p(`voice.deleteFailed`),position:`top`})}finally{Nu.value=null}}async function hf(e){try{await s.cancelVoiceModelDownload(e)}catch{t.notify({type:`negative`,message:p(`voice.cancelFailed`),position:`top`})}}function gf(e){if(e==null||!Number.isFinite(e)||e<0)return`—`;if(e<1024)return`${e} B`;let t=[`KB`,`MB`,`GB`,`TB`],n=e/1024,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r++;return`${n<10?n.toFixed(1):Math.round(n)} ${t[r]}`}let _f=null;function vf(){_f||=setInterval(()=>{document.visibilityState!==`hidden`&&s.fetchVoiceModels().catch(e=>{console.error(`[settings] voice model polling failed:`,e)})},Ql)}function yf(){_f&&=(clearInterval(_f),null)}async function bf(e){try{await navigator.clipboard.writeText(e),t.notify({type:`positive`,message:p(`common.copied`),position:`top`,timeout:1200})}catch{t.notify({type:`negative`,message:p(`common.copyFailed`),position:`top`})}}async function xf(){if(!Q.value.path.trim()){t.notify({type:`negative`,message:p(`settings.projectPathRequired`),position:`top`});return}id.value=!0;try{await s.upsertProject(Q.value.path.trim(),{workflowPolicy:{...Q.value.workflowPolicy},displayName:Q.value.displayName,color:Q.value.color,defaultSourceBranch:Q.value.defaultSourceBranch,defaultModel:Q.value.defaultModel,forge:Q.value.forge,prPromptTemplate:Q.value.prPromptTemplate,reviewPromptTemplate:Q.value.reviewPromptTemplate,ciFixPromptTemplate:Q.value.ciFixPromptTemplate,notionInitialPromptTemplate:Q.value.notionInitialPromptTemplate,sentryInitialPromptTemplate:Q.value.sentryInitialPromptTemplate,gitConventions:Q.value.gitConventions,setupScript:Q.value.setupScript,taskPromptTemplate:Q.value.taskPromptTemplate,cleanupScript:Q.value.cleanupScript,cleanupScriptMode:Q.value.cleanupScriptMode,archiveScript:Q.value.archiveScript,changeSourceBranchScript:Q.value.changeSourceBranchScript,sessionEndedScript:Q.value.sessionEndedScript,prMergedScript:Q.value.prMergedScript,autoLoopDisabledScript:Q.value.autoLoopDisabledScript,devServer:Q.value.devServer,e2e:Q.value.e2e,finalization:Q.value.finalization}),Z.value=!1;let e=s.projects.findIndex(e=>e.path===Q.value.path.trim());e>=0&&(Wu.value=e),Gd.value=Yd(),t.notify({type:`positive`,message:p(`settings.projectSaved`),position:`top`})}catch{t.notify({type:`negative`,message:p(`settings.projectSaveError`),position:`top`})}finally{id.value=!1}}function Sf(){if(!$.value)return;let e=$.value.displayName||$.value.path;t.dialog({title:p(`settings.deleteProjectConfirmTitle`),message:p(`settings.deleteProjectConfirmMessage`,{name:e}),dark:!0,cancel:{flat:!0,label:p(`common.cancel`),color:`kobo-2`},ok:{flat:!0,label:p(`common.delete`),color:`red-5`}}).onOk(async()=>{if($.value){ad.value=!0;try{await s.deleteProject($.value.path),Wu.value=-1,Z.value=!1,nf(null),t.notify({type:`positive`,message:p(`settings.projectDeleted`),position:`top`})}catch{t.notify({type:`negative`,message:p(`settings.projectDeleteError`),position:`top`})}finally{ad.value=!1}}})}function Cf(){Wu.value=-1,Z.value=!0,nf(null),Ku.value=null,qu.value=null}function wf(e){if(Zd.value&&($.value!==null||Z.value)){t.dialog({title:p(`settings.unsavedChanges.title`),message:p(`settings.unsavedChanges.message`),dark:!0,persistent:!0,ok:{flat:!0,label:p(`settings.unsavedChanges.discard`),color:`negative`},cancel:{flat:!0,label:p(`settings.unsavedChanges.cancel`),color:`kobo-2`}}).onOk(()=>{Z.value=!1,Wu.value=e,Ku.value=null,qu.value=null});return}Z.value=!1,Wu.value=e,Ku.value=null,qu.value=null}function Tf(e){if(e.displayName)return e.displayName;let t=e.path.split(`/`);return t[t.length-1]??e.path}let Ef=o([]);function Df(e,t){t(()=>{Ef.value=e?nd.value.filter(t=>t.toLowerCase().includes(e.toLowerCase())):nd.value})}async function Of(){await s.fetchSettings(),s.loadError||tf()}return m(async()=>{await Promise.all([s.fetchSettings(),s.fetchActiveMcpServers(),ed()]);try{let e=await s.fetchGlobalDefaults();eu.value=e.changeSourceBranchScript??``}catch(e){console.error(`[SettingsPage] fetchGlobalDefaults failed:`,e)}await s.fetchVoiceModels(),await s.fetchVoiceRuntime(),tf(),te(`settings`),dt(),d.fetchTemplates(),ze(`settings:global`,()=>Xd.value),ze(`settings:integrations`,()=>Uu.value),ze(`settings:project`,()=>Zd.value&&($.value!==null||Z.value))}),l(()=>{af&&clearTimeout(af),yf(),Xe(`settings:global`),Xe(`settings:integrations`),Xe(`settings:project`)}),(e,t)=>(f(),y(kt,{class:`settings-page`,"style-fn":n(Pt)},{default:_(()=>[n(s).loadError?(f(),w(`div`,Xn,[v(A,{name:`error`,size:`18px`}),E(`div`,Zn,[E(`span`,Qn,a(e.$t(`settings.loadFailed`)),1),E(`span`,$n,a(n(s).loadError),1),E(`span`,er,a(e.$t(`settings.loadFailedHint`)),1)]),v(H),v(j,{dense:``,flat:``,"no-caps":``,icon:`refresh`,label:e.$t(`common.retry`),onClick:Of},null,8,[`label`])])):b(``,!0),E(`div`,tr,[n(D)?(f(),y(Tt,{key:1,modelValue:ae.value,"onUpdate:modelValue":t[0]||=e=>ae.value=e,side:`left`,overlay:``,behavior:`mobile`,width:240},{default:_(()=>[v(I,null,{default:_(()=>[v(B,{clickable:``,onClick:le},{default:_(()=>[v(V,{avatar:``},{default:_(()=>[v(A,{name:`arrow_back`})]),_:1}),v(V,null,{default:_(()=>[x(a(e.$t(`workspaceList.title`)),1)]),_:1})]),_:1}),v(Ue)]),_:1}),E(`div`,ir,[E(`div`,ar,a(e.$t(`settings.title`)),1),v(In,{"nav-items":ue.value,"active-tab":k.value,onSelect:ce},null,8,[`nav-items`,`active-tab`])])]),_:1},8,[`modelValue`])):(f(),w(`aside`,nr,[E(`div`,rr,a(e.$t(`settings.title`)),1),v(In,{"nav-items":ue.value,"active-tab":k.value,onSelect:ce},null,8,[`nav-items`,`active-tab`])])),E(`main`,or,[E(`header`,sr,[v(At,{"exclude-mobile":``,class:`q-mr-sm`}),n(D)?(f(),y(j,{key:0,flat:``,dense:``,round:``,icon:`menu`,"aria-label":e.$t(`settings.openNav`),class:`settings-content__nav-toggle`,onClick:t[1]||=e=>ae.value=!0},{default:_(()=>[v(U,null,{default:_(()=>[x(a(e.$t(`settings.openNav`)),1)]),_:1})]),_:1},8,[`aria-label`])):b(``,!0),E(`h2`,cr,a(pe.value),1),v(jt,{"tour-id":`settings`,class:`q-ml-sm`})]),E(`div`,lr,a(e.$t(`settings.help.${k.value}`)),1),E(`div`,ur,[g(E(`div`,dr,[k.value===`general`?(f(),w(`div`,fr,[E(`div`,pr,a(e.$t(`settings.language`)),1),v(z,{"model-value":n(ee),options:Td,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input`,"onUpdate:modelValue":Ed},null,8,[`model-value`])])):b(``,!0),k.value===`general`?(f(),w(`div`,mr,[E(`div`,hr,a(e.$t(`settings.workspaceListSection`)),1),v(P,{modelValue:fu.value,"onUpdate:modelValue":t[2]||=e=>fu.value=e,label:e.$t(`settings.flattenWorkspaceList`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`]),E(`div`,gr,a(e.$t(`settings.flattenWorkspaceListHint`)),1)])):b(``,!0),k.value===`skills`?(f(),w(`div`,_r,[E(`div`,vr,a(e.$t(`settings.skillSuite.section`)),1),v(tt,{modelValue:pu.value,"onUpdate:modelValue":t[3]||=e=>pu.value=e,options:[{label:e.$t(`settings.skillSuite.standard`),value:`standard`},{label:e.$t(`settings.skillSuite.superpowers`),value:`superpowers`},{label:e.$t(`settings.skillSuite.gstack`),value:`gstack`},{label:e.$t(`settings.skillSuite.ecc`),value:`ecc`},{label:e.$t(`settings.skillSuite.superpowersGstack`),value:`superpowers+gstack`},{label:e.$t(`settings.skillSuite.allThree`),value:`superpowers+gstack+ecc`},{label:e.$t(`settings.skillSuite.custom`),value:`custom`}],type:`radio`,color:`primary`,dense:``,dark:``,inline:``},null,8,[`modelValue`,`options`]),E(`div`,yr,a(e.$t(mu.value)),1),v(j,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`restart_alt`,label:e.$t(`settings.skillSuite.reloadDefaults`),disable:pu.value!==`custom`,class:`q-mt-sm`,onClick:Fu},null,8,[`label`,`disable`])])):b(``,!0),k.value===`skills`&&pu.value===`custom`?(f(),w(`div`,br,[E(`div`,xr,a(e.$t(`settings.skillSuite.customPrompts`)),1),E(`div`,Sr,a(e.$t(`settings.skillSuite.reviewTemplate`)),1),v(Ct,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`download`,label:e.$t(`settings.skillSuite.importPrompt`),loading:bu.value===`reviewTemplate`,class:`q-mb-sm`},{default:_(()=>[v(I,{dense:``},{default:_(()=>[(f(!0),w(T,null,O(xu.value,e=>g((f(),y(B,{key:e.value,clickable:``,onClick:t=>Su(`reviewTemplate`,e.value)},{default:_(()=>[v(V,null,{default:_(()=>[x(a(e.label),1)]),_:2},1024)]),_:2},1032,[`onClick`])),[[pt]])),128))]),_:1})]),_:1},8,[`label`,`loading`]),v(M,{modelValue:hu.value,"onUpdate:modelValue":t[4]||=e=>hu.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`]),E(`div`,Cr,a(e.$t(`settings.skillSuite.autoLoopReviewGate`)),1),v(Ct,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`download`,label:e.$t(`settings.skillSuite.importPrompt`),loading:bu.value===`autoLoopReviewGate`,class:`q-mb-sm`},{default:_(()=>[v(I,{dense:``},{default:_(()=>[(f(!0),w(T,null,O(xu.value,e=>g((f(),y(B,{key:e.value,clickable:``,onClick:t=>Su(`autoLoopReviewGate`,e.value)},{default:_(()=>[v(V,null,{default:_(()=>[x(a(e.label),1)]),_:2},1024)]),_:2},1032,[`onClick`])),[[pt]])),128))]),_:1})]),_:1},8,[`label`,`loading`]),v(M,{modelValue:gu.value,"onUpdate:modelValue":t[5]||=e=>gu.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`]),E(`div`,wr,a(e.$t(`settings.skillSuite.autoLoopGroomingIntro`)),1),v(Ct,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`download`,label:e.$t(`settings.skillSuite.importPrompt`),loading:bu.value===`autoLoopGroomingIntro`,class:`q-mb-sm`},{default:_(()=>[v(I,{dense:``},{default:_(()=>[(f(!0),w(T,null,O(xu.value,e=>g((f(),y(B,{key:e.value,clickable:``,onClick:t=>Su(`autoLoopGroomingIntro`,e.value)},{default:_(()=>[v(V,null,{default:_(()=>[x(a(e.label),1)]),_:2},1024)]),_:2},1032,[`onClick`])),[[pt]])),128))]),_:1})]),_:1},8,[`label`,`loading`]),v(M,{modelValue:_u.value,"onUpdate:modelValue":t[6]||=e=>_u.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`]),E(`div`,Tr,a(e.$t(`settings.skillSuite.qaTemplate`)),1),v(Ct,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`download`,label:e.$t(`settings.skillSuite.importPrompt`),loading:bu.value===`qaPromptTemplate`,class:`q-mb-sm`},{default:_(()=>[v(I,{dense:``},{default:_(()=>[(f(!0),w(T,null,O(xu.value,e=>g((f(),y(B,{key:e.value,clickable:``,onClick:t=>Su(`qaPromptTemplate`,e.value)},{default:_(()=>[v(V,null,{default:_(()=>[x(a(e.label),1)]),_:2},1024)]),_:2},1032,[`onClick`])),[[pt]])),128))]),_:1})]),_:1},8,[`label`,`loading`]),v(M,{modelValue:vu.value,"onUpdate:modelValue":t[7]||=e=>vu.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`]),E(`div`,Er,a(e.$t(`settings.skillSuite.brainstormingInstruction`)),1),v(Ct,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`download`,label:e.$t(`settings.skillSuite.importPrompt`),loading:bu.value===`brainstormingInstruction`,class:`q-mb-sm`},{default:_(()=>[v(I,{dense:``},{default:_(()=>[(f(!0),w(T,null,O(xu.value,e=>g((f(),y(B,{key:e.value,clickable:``,onClick:t=>Su(`brainstormingInstruction`,e.value)},{default:_(()=>[v(V,null,{default:_(()=>[x(a(e.label),1)]),_:2},1024)]),_:2},1032,[`onClick`])),[[pt]])),128))]),_:1})]),_:1},8,[`label`,`loading`]),v(M,{modelValue:yu.value,"onUpdate:modelValue":t[8]||=e=>yu.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])])):b(``,!0),k.value===`agents`?(f(),w(`div`,Dr,[E(`div`,Or,a(e.$t(`settings.defaultModelClaude`)),1),v(z,{modelValue:he.value,"onUpdate:modelValue":t[9]||=e=>he.value=e,options:Dd.value,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`options`]),E(`div`,kr,a(e.$t(`settings.defaultModelCodex`)),1),v(z,{modelValue:ge.value,"onUpdate:modelValue":t[10]||=e=>ge.value=e,options:Od.value,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`options`]),E(`div`,Ar,a(e.$t(`settings.defaultPermissionModeClaude`)),1),E(`div`,jr,a(e.$t(`settings.defaultPermissionModeHint`)),1),v(z,{modelValue:Dn.value,"onUpdate:modelValue":t[11]||=e=>Dn.value=e,options:jd.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`options`]),E(`div`,Mr,a(e.$t(`settings.defaultPermissionModeCodex`)),1),v(z,{modelValue:On.value,"onUpdate:modelValue":t[12]||=e=>On.value=e,options:Md.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`]),v(M,{modelValue:Re.value,"onUpdate:modelValue":t[13]||=e=>Re.value=e,modelModifiers:{number:!0},label:e.$t(`settings.autoLoopMaxRetries`),hint:e.$t(`settings.autoLoopMaxRetriesHint`),type:`number`,min:`1`,max:`20`,dense:``,dark:``,outlined:``,class:`settings-input q-mt-md`},null,8,[`modelValue`,`label`,`hint`])])):b(``,!0),k.value===`general`?(f(),w(`div`,Nr,[E(`div`,Pr,a(e.$t(`settings.activityFeed`)),1),E(`div`,Fr,[v(P,{modelValue:cn.value,"onUpdate:modelValue":t[14]||=e=>cn.value=e,label:e.$t(`settings.verboseMessages`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`]),v(P,{modelValue:un.value,"onUpdate:modelValue":t[15]||=e=>un.value=e,label:e.$t(`settings.showThinkingBlocks`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`])])])):b(``,!0),k.value===`general`?(f(),w(`div`,Ir,[E(`div`,Lr,a(e.$t(`settings.whipSettings`)),1),E(`div`,Rr,a(e.$t(`settings.whipSettingsHint`)),1),v(P,{modelValue:dn.value,"onUpdate:modelValue":t[16]||=e=>dn.value=e,label:e.$t(`settings.whipEnabled`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},{default:_(()=>[v(U,null,{default:_(()=>[x(a(e.$t(`settings.whipEnabledHint`)),1)]),_:1})]),_:1},8,[`modelValue`,`label`]),dn.value?(f(),w(`div`,zr,[v(Un,{modelValue:fn.value,"onUpdate:modelValue":t[17]||=e=>fn.value=e},null,8,[`modelValue`]),E(`div`,Br,[E(`div`,Vr,a(e.$t(`settings.whipVolume`)),1),v(Qt,{modelValue:pn.value,"onUpdate:modelValue":t[18]||=e=>pn.value=e,min:0,max:1,step:.05,disable:mn.value.disabled,"aria-label":e.$t(`settings.whipVolume`),dark:``,dense:``,color:`primary`,class:`col`},null,8,[`modelValue`,`disable`,`aria-label`]),E(`div`,Hr,a(Math.round(pn.value*100))+`% `,1)]),mn.value.hintKey?(f(),w(`div`,Ur,a(e.$t(mn.value.hintKey)),1)):b(``,!0)])):b(``,!0)])):b(``,!0),k.value===`notifications`?(f(),w(`div`,Wr,[E(`div`,Gr,a(e.$t(`settings.notifications`)),1),v(P,{modelValue:He.value,"onUpdate:modelValue":t[19]||=e=>He.value=e,label:e.$t(`absence.title`),color:`primary`},null,8,[`modelValue`,`label`]),E(`div`,Kr,a(e.$t(`settings.activityDigestHint`)),1),v(M,{modelValue:Be.value,"onUpdate:modelValue":t[20]||=e=>Be.value=e,modelModifiers:{number:!0},label:e.$t(`settings.awaitingUserReminder`),hint:e.$t(`settings.awaitingUserReminderHint`),type:`number`,min:`0`,max:`1440`,dense:``,dark:``,outlined:``,class:`settings-input q-mt-md`},null,8,[`modelValue`,`label`,`hint`]),v(Ue,{dark:``,class:`q-my-md`}),v(ln),E(`div`,qr,[E(`div`,Jr,[E(`div`,Yr,a(e.$t(`settings.notificationSound`)),1),E(`div`,Xr,a(e.$t(`settings.notificationSoundHint`)),1),E(`div`,Zr,[v(P,{modelValue:Vt.value,"onUpdate:modelValue":t[21]||=e=>Vt.value=e,label:e.$t(`settings.enableBrowserNotifications`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`]),v(P,{modelValue:W.value,"onUpdate:modelValue":t[22]||=e=>W.value=e,label:e.$t(`settings.enableAudio`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`])]),E(`div`,Qr,[v(ft,{dense:``,square:``,color:hn.value.color,"text-color":`white`,icon:`notifications`},{default:_(()=>[x(a(hn.value.label),1)]),_:1},8,[`color`]),v(j,{flat:``,dense:``,"no-caps":``,color:`primary`,icon:`notifications_active`,label:e.$t(`settings.testBrowserNotification`),onClick:_n},null,8,[`label`])]),E(`div`,$r,[v(z,{modelValue:qt.value,"onUpdate:modelValue":t[23]||=e=>qt.value=e,options:Id.value,label:e.$t(`settings.notificationSound`),disable:!W.value,dark:``,dense:``,outlined:``,"emit-value":``,"map-options":``,color:`primary`,class:`col`},null,8,[`modelValue`,`options`,`label`,`disable`]),v(j,{flat:``,dense:``,color:`primary`,icon:`play_arrow`,label:e.$t(`settings.notificationSoundPreview`),disable:!W.value,onClick:Bd},null,8,[`label`,`disable`])]),E(`div`,ei,[E(`div`,ti,a(e.$t(`settings.notificationVolume`)),1),v(Qt,{modelValue:Zt.value,"onUpdate:modelValue":t[24]||=e=>Zt.value=e,min:0,max:1,step:.05,disable:!W.value,"aria-label":e.$t(`settings.notificationVolume`),dark:``,dense:``,color:`primary`,class:`col`},null,8,[`modelValue`,`disable`,`aria-label`]),E(`div`,ni,a(Math.round(Zt.value*100))+`% `,1)])]),E(`div`,ri,[E(`div`,ii,a(e.$t(`settings.questionSound`)),1),E(`div`,ai,a(e.$t(`settings.questionSoundHint`)),1),v(P,{modelValue:Wt.value,"onUpdate:modelValue":t[25]||=e=>Wt.value=e,label:e.$t(`settings.enableAudio`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption q-mb-sm`},null,8,[`modelValue`,`label`]),E(`div`,oi,[v(z,{modelValue:Jt.value,"onUpdate:modelValue":t[26]||=e=>Jt.value=e,options:Ld.value,label:e.$t(`settings.questionSound`),disable:!Wt.value,dark:``,dense:``,outlined:``,"emit-value":``,"map-options":``,color:`primary`,class:`col`},null,8,[`modelValue`,`options`,`label`,`disable`]),v(j,{flat:``,dense:``,color:`primary`,icon:`play_arrow`,label:e.$t(`settings.notificationSoundPreview`),disable:!Wt.value,onClick:Vd},null,8,[`label`,`disable`])]),E(`div`,si,[E(`div`,ci,a(e.$t(`settings.notificationVolume`)),1),v(Qt,{modelValue:G.value,"onUpdate:modelValue":t[27]||=e=>G.value=e,min:0,max:1,step:.05,disable:!Wt.value,"aria-label":e.$t(`settings.notificationVolume`),dark:``,dense:``,color:`primary`,class:`col`},null,8,[`modelValue`,`disable`,`aria-label`]),E(`div`,li,a(Math.round(G.value*100))+`% `,1)])]),E(`div`,ui,[E(`div`,di,a(e.$t(`settings.workspaceCreatedSound`)),1),E(`div`,fi,a(e.$t(`settings.workspaceCreatedSoundHint`)),1),v(P,{modelValue:Gt.value,"onUpdate:modelValue":t[28]||=e=>Gt.value=e,label:e.$t(`settings.enableAudio`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption q-mb-sm`},null,8,[`modelValue`,`label`]),E(`div`,pi,[v(z,{modelValue:Yt.value,"onUpdate:modelValue":t[29]||=e=>Yt.value=e,options:Ld.value,label:e.$t(`settings.workspaceCreatedSound`),disable:!Gt.value,dark:``,dense:``,outlined:``,"emit-value":``,"map-options":``,color:`primary`,class:`col`},null,8,[`modelValue`,`options`,`label`,`disable`]),v(j,{flat:``,dense:``,color:`primary`,icon:`play_arrow`,label:e.$t(`settings.notificationSoundPreview`),disable:!Gt.value,onClick:Hd},null,8,[`label`,`disable`])]),E(`div`,mi,[E(`div`,hi,a(e.$t(`settings.notificationVolume`)),1),v(Qt,{modelValue:en.value,"onUpdate:modelValue":t[30]||=e=>en.value=e,min:0,max:1,step:.05,disable:!Gt.value,"aria-label":e.$t(`settings.notificationVolume`),dark:``,dense:``,color:`primary`,class:`col`},null,8,[`modelValue`,`disable`,`aria-label`]),E(`div`,gi,a(Math.round(en.value*100))+`% `,1)])]),E(`div`,_i,[E(`div`,vi,a(e.$t(`settings.agentErrorSound`)),1),E(`div`,yi,a(e.$t(`settings.agentErrorSoundHint`)),1),v(P,{modelValue:Kt.value,"onUpdate:modelValue":t[31]||=e=>Kt.value=e,label:e.$t(`settings.enableAudio`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption q-mb-sm`},null,8,[`modelValue`,`label`]),E(`div`,bi,[v(z,{modelValue:Xt.value,"onUpdate:modelValue":t[32]||=e=>Xt.value=e,options:Ld.value,label:e.$t(`settings.agentErrorSound`),disable:!Kt.value,dark:``,dense:``,outlined:``,"emit-value":``,"map-options":``,color:`primary`,class:`col`},null,8,[`modelValue`,`options`,`label`,`disable`]),v(j,{flat:``,dense:``,color:`primary`,icon:`play_arrow`,label:e.$t(`settings.notificationSoundPreview`),disable:!Kt.value,onClick:Ud},null,8,[`label`,`disable`])]),E(`div`,xi,[E(`div`,Si,a(e.$t(`settings.notificationVolume`)),1),v(Qt,{modelValue:tn.value,"onUpdate:modelValue":t[33]||=e=>tn.value=e,min:0,max:1,step:.05,disable:!Kt.value,"aria-label":e.$t(`settings.notificationVolume`),dark:``,dense:``,color:`primary`,class:`col`},null,8,[`modelValue`,`disable`,`aria-label`]),E(`div`,Ci,a(Math.round(tn.value*100))+`%`,1)])])]),v(Fn,{modelValue:nn.value,"onUpdate:modelValue":t[34]||=e=>nn.value=e,"general-sound":qt.value},null,8,[`modelValue`,`general-sound`])])):b(``,!0),k.value===`voice`?(f(),w(`div`,wi,[E(`div`,Ti,[E(`div`,Ei,a(e.$t(`voice.sectionRuntime`)),1),v(H),v(j,{flat:``,dense:``,"no-caps":``,size:`sm`,icon:`refresh`,color:`kobo-2`,label:n(p)(`common.refresh`),onClick:t[35]||=e=>n(s).fetchVoiceRuntime()},null,8,[`label`])]),E(`div`,Di,[E(`div`,Oi,[v(A,{name:n(s).voiceRuntime?.available?`check_circle`:`cancel`,color:n(s).voiceRuntime?.available?`green-5`:`red-5`,size:`xs`},null,8,[`name`,`color`]),E(`span`,{class:r([`text-caption`,n(s).voiceRuntime?.available?`text-green-5`:`text-red-5`])},a(n(s).voiceRuntime?.available?n(p)(`voice.runtimeReady`,{command:n(s).voiceRuntime?.command??`whisper-cli`}):n(p)(`voice.runtimeMissing`,{command:n(s).voiceRuntime?.command??`whisper-cli`})),3)]),E(`div`,ki,[v(A,{name:n(s).voiceRuntime?.ffmpegAvailable?`check_circle`:`cancel`,color:n(s).voiceRuntime?.ffmpegAvailable?`green-5`:`red-5`,size:`xs`},null,8,[`name`,`color`]),E(`span`,{class:r([`text-caption`,n(s).voiceRuntime?.ffmpegAvailable?`text-green-5`:`text-red-5`])},a(n(s).voiceRuntime?.ffmpegAvailable?n(p)(`voice.ffmpegReady`):n(p)(`voice.ffmpegMissing`)),3)])]),v(st,{dense:``,dark:``,icon:`help_outline`,label:e.$t(`voice.installGuideTitle`),class:`variables-panel rounded-borders q-mt-sm`},{default:_(()=>[E(`div`,Ai,[E(`div`,ji,a(e.$t(`voice.installGuideIntro`)),1),E(`div`,Mi,[E(`a`,Ni,a(e.$t(`voice.installLink`)),1)]),E(`div`,Pi,a(e.$t(`voice.installGuideUbuntuTitle`)),1),t[135]||=E(`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),E(`div`,Fi,a(e.$t(`voice.installGuideBinaryPathHint`)),1),E(`div`,Ii,a(e.$t(`voice.installGuideWindowsTitle`)),1),t[136]||=E(`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),E(`div`,null,a(e.$t(`voice.installGuideSettingsHint`)),1)])]),_:1},8,[`label`])])):b(``,!0),k.value===`voice`?(f(),w(`div`,Li,[E(`div`,Ri,a(e.$t(`voice.sectionActivation`)),1),v(P,{modelValue:Cu.value,"onUpdate:modelValue":t[36]||=e=>Cu.value=e,label:e.$t(`voice.enabled`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption q-mb-sm`},null,8,[`modelValue`,`label`]),E(`div`,zi,[E(`div`,Bi,[v(z,{modelValue:wu.value,"onUpdate:modelValue":t[37]||=e=>wu.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`])]),E(`div`,Vi,[v(z,{modelValue:Tu.value,"onUpdate:modelValue":t[38]||=e=>Tu.value=e,label:e.$t(`voice.language`),options:zd,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`label`])])])])):b(``,!0),k.value===`voice`?(f(),w(`div`,Hi,[E(`div`,Ui,a(e.$t(`voice.sectionModels`)),1),v(z,{modelValue:Eu.value,"onUpdate:modelValue":t[39]||=e=>Eu.value=e,label:e.$t(`voice.model`),options:Rd.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`label`,`options`]),n(s).voiceModelsDir?(f(),w(`div`,Wi,[v(A,{name:`folder`,color:`kobo-2`,size:`xs`}),E(`span`,Gi,a(n(s).voiceModelsDir),1),v(j,{flat:``,dense:``,round:``,size:`xs`,icon:`content_copy`,color:`kobo-2`,title:n(p)(`common.copy`),onClick:t[40]||=e=>bf(n(s).voiceModelsDir)},null,8,[`title`])])):b(``,!0),E(`div`,Ki,[(f(!0),w(T,null,O(n(s).voiceModels,t=>(f(),w(`div`,{key:t.name,class:r([`voice-model-row q-pa-sm rounded-borders`,{"voice-model-row--active":t.download}])},[E(`div`,qi,[v(A,{name:t.download?`downloading`:t.installed?`check_circle`:`circle`,color:t.download?`primary`:t.installed?`green-5`:`kobo-3`,size:`xs`},null,8,[`name`,`color`]),E(`span`,Ji,a(t.name),1),E(`span`,Yi,a(gf(t.installedSizeBytes??t.sizeBytes)),1),v(H),t.download?(f(),y(j,{key:0,flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`close`,label:e.$t(`common.cancel`),onClick:e=>hf(t.name)},null,8,[`label`,`onClick`])):(f(),y(j,{key:1,flat:``,dense:``,"no-caps":``,size:`sm`,color:t.installed?`red-5`:`primary`,icon:t.installed?`delete_outline`:`download`,label:t.installed?e.$t(`voice.delete`):e.$t(`voice.download`),loading:Nu.value===t.name,onClick:e=>t.installed?mf(t.name):pf(t.name)},null,8,[`color`,`icon`,`label`,`loading`,`onClick`]))]),t.download?(f(),w(`div`,Xi,[v(Ye,{value:t.download.total>0?Math.min(1,t.download.downloaded/t.download.total):0,indeterminate:!t.download.total,color:`primary`,"track-color":`kobo-surface-2`,size:`6px`,rounded:``},null,8,[`value`,`indeterminate`]),E(`div`,Zi,[E(`span`,Qi,a(gf(t.download.downloaded))+` / `+a(gf(t.download.total)),1),v(H),E(`span`,$i,a(t.download.total>0?`${Math.floor(t.download.downloaded/t.download.total*100)}%`:`—`),1)])])):t.installed?(f(),w(`div`,ea,a(t.fileName),1)):b(``,!0)],2))),128))])])):b(``,!0),k.value===`voice`?(f(),w(`div`,ta,[E(`div`,na,a(e.$t(`voice.sectionAdvanced`)),1),v(st,{dense:``,dark:``,icon:`tune`,label:e.$t(`voice.sectionBehavior`),class:`variables-panel rounded-borders q-mb-sm`},{default:_(()=>[E(`div`,ra,[E(`div`,ia,[E(`div`,aa,a(e.$t(`voice.temperature`)),1),v(Qt,{modelValue:ku.value,"onUpdate:modelValue":t[41]||=e=>ku.value=e,min:0,max:1,step:.05,dark:``,dense:``,color:`primary`,class:`col`},null,8,[`modelValue`]),E(`div`,oa,a(ku.value.toFixed(2)),1)]),E(`div`,sa,a(e.$t(`voice.temperatureHint`)),1),v(M,{modelValue:Au.value,"onUpdate:modelValue":t[42]||=e=>Au.value=e,label:e.$t(`voice.initialPrompt`),type:`textarea`,dense:``,dark:``,outlined:``,rows:2,class:`settings-input`},null,8,[`modelValue`,`label`]),E(`div`,ca,a(e.$t(`voice.initialPromptHint`)),1),v(P,{modelValue:ju.value,"onUpdate:modelValue":t[43]||=e=>ju.value=e,label:e.$t(`voice.translateToEnglish`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`]),E(`div`,la,a(e.$t(`voice.translateToEnglishHint`)),1),v(P,{modelValue:Mu.value,"onUpdate:modelValue":t[44]||=e=>Mu.value=e,label:e.$t(`voice.suppressNst`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`]),E(`div`,ua,a(e.$t(`voice.suppressNstHint`)),1)])]),_:1},8,[`label`]),v(st,{dense:``,dark:``,icon:`terminal`,label:e.$t(`voice.sectionBinaries`),class:`variables-panel rounded-borders`},{default:_(()=>[E(`div`,da,[v(M,{modelValue:Du.value,"onUpdate:modelValue":t[45]||=e=>Du.value=e,label:e.$t(`voice.commandPath`),dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`label`]),v(M,{modelValue:Ou.value,"onUpdate:modelValue":t[46]||=e=>Ou.value=e,label:e.$t(`voice.ffmpegPath`),dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`label`])])]),_:1},8,[`label`])])):b(``,!0),k.value===`git`?(f(),w(`div`,fa,[v(Mt,{modelValue:Bu.value,"onUpdate:modelValue":t[47]||=e=>Bu.value=e,class:`q-my-md`},null,8,[`modelValue`]),E(`div`,pa,[E(`div`,ma,a(e.$t(`settings.gitConventions`)),1),v(H),v(j,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`restart_alt`,label:n(p)(`settings.resetToDefault`),loading:q.value===`gitConventions`,disable:q.value!==null&&q.value!==`gitConventions`,onClick:t[48]||=e=>uf(`gitConventions`)},null,8,[`label`,`loading`,`disable`])]),E(`div`,ha,a(e.$t(`settings.gitConventionsHint`)),1),v(M,{modelValue:Oe.value,"onUpdate:modelValue":t[49]||=e=>Oe.value=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:8,placeholder:e.$t(`settings.gitConventionsPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])])):b(``,!0),k.value===`git`?(f(),w(`div`,ga,[E(`div`,_a,a(e.$t(`settings.branchPrefixesTitle`)),1),E(`div`,va,a(e.$t(`settings.branchPrefixesHint`)),1),X.value.length>0?(f(),y(I,{key:0,bordered:``,separator:``,class:`rounded-borders q-mb-sm`},{default:_(()=>[(f(!0),w(T,null,O(X.value,(t,n)=>(f(),y(B,{key:t},{default:_(()=>[v(V,null,{default:_(()=>[v(R,{class:`cursor-pointer`},{default:_(()=>[x(a(t)+`/ `,1),v($t,{"model-value":t,"auto-save":``,onSave:e=>uu(n,e)},{default:_(e=>[v(M,{modelValue:e.value,"onUpdate:modelValue":t=>e.value=t,dense:``,dark:``,autofocus:``,onKeyup:oe(e.set,[`enter`])},null,8,[`modelValue`,`onUpdate:modelValue`,`onKeyup`])]),_:1},8,[`model-value`,`onSave`]),v(U,null,{default:_(()=>[x(a(e.$t(`settings.branchPrefixesEditHint`)),1)]),_:1})]),_:2},1024)]),_:2},1024),v(V,{side:``},{default:_(()=>[E(`div`,ya,[v(j,{flat:``,dense:``,round:``,size:`sm`,icon:`keyboard_arrow_up`,color:`kobo-3`,disable:n===0,title:e.$t(`settings.branchPrefixesMoveUp`),onClick:e=>du(n,-1)},null,8,[`disable`,`title`,`onClick`]),v(j,{flat:``,dense:``,round:``,size:`sm`,icon:`keyboard_arrow_down`,color:`kobo-3`,disable:n===X.value.length-1,title:e.$t(`settings.branchPrefixesMoveDown`),onClick:e=>du(n,1)},null,8,[`disable`,`title`,`onClick`]),v(j,{flat:``,dense:``,round:``,size:`sm`,icon:`delete`,color:`kobo-3`,title:e.$t(`common.delete`),onClick:e=>lu(n)},null,8,[`title`,`onClick`])])]),_:2},1024)]),_:2},1024))),128))]),_:1})):(f(),w(`div`,ba,a(e.$t(`settings.branchPrefixesEmpty`)),1)),E(`div`,xa,[v(M,{modelValue:Ln.value,"onUpdate:modelValue":t[50]||=e=>Ln.value=e,label:e.$t(`settings.branchPrefixesAddLabel`),dense:``,dark:``,outlined:``,class:`col`,onKeyup:oe(cu,[`enter`])},null,8,[`modelValue`,`label`]),v(j,{flat:``,label:e.$t(`common.add`),icon:`add`,color:`primary`,disable:su(Ln.value).length===0,onClick:cu},null,8,[`label`,`disable`])])])):b(``,!0),k.value===`prompts`?(f(),w(`div`,Sa,[E(`div`,Ca,[E(`div`,wa,a(e.$t(`settings.prPromptTemplate`)),1),v(H),v(j,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`restart_alt`,label:n(p)(`settings.resetToDefault`),loading:q.value===`prPromptTemplate`,disable:q.value!==null&&q.value!==`prPromptTemplate`,onClick:t[51]||=e=>uf(`prPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),E(`div`,Ta,a(e.$t(`settings.prPromptHint`)),1),v(M,{modelValue:_e.value,"onUpdate:modelValue":t[52]||=e=>_e.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`]),E(`div`,Ea,[v(st,{dense:``,dark:``,icon:`code`,label:e.$t(`settings.availableVariables`),class:`variables-panel rounded-borders`},{default:_(()=>[v(I,{dense:``,dark:``,class:`q-pa-sm`},{default:_(()=>[(f(!0),w(T,null,O(Nd.value,e=>(f(),y(B,{key:e.name,dense:``},{default:_(()=>[v(V,null,{default:_(()=>[v(R,{class:`text-caption`,style:{"font-family":`monospace`}},{default:_(()=>[x(a(e.name),1)]),_:2},1024),v(R,{caption:``,class:`text-kobo-3`},{default:_(()=>[x(a(e.description),1)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1},8,[`label`])]),E(`div`,Da,[E(`div`,Oa,a(e.$t(`settings.reviewPromptTemplate`)),1),v(H),v(j,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`restart_alt`,label:n(p)(`settings.resetToDefault`),loading:q.value===`reviewPromptTemplate`,disable:q.value!==null&&q.value!==`reviewPromptTemplate`,onClick:t[53]||=e=>uf(`reviewPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),E(`div`,ka,a(e.$t(`settings.reviewPromptHint`)),1),v(M,{modelValue:we.value,"onUpdate:modelValue":t[54]||=e=>we.value=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:8,placeholder:e.$t(`settings.reviewPromptPlaceholder`),class:`settings-input mono-textarea q-mb-md`},null,8,[`modelValue`,`placeholder`]),E(`div`,Aa,[E(`div`,ja,a(e.$t(`settings.ciFixPromptTemplate`)),1),v(H),v(j,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`restart_alt`,label:n(p)(`settings.resetToDefault`),loading:q.value===`ciFixPromptTemplate`,disable:q.value!==null&&q.value!==`ciFixPromptTemplate`,onClick:t[55]||=e=>uf(`ciFixPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),E(`div`,Ma,a(e.$t(`settings.ciFixPromptHint`)),1),v(M,{modelValue:Ee.value,"onUpdate:modelValue":t[56]||=e=>Ee.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`]),E(`div`,Na,[E(`div`,Pa,a(e.$t(`settings.finalizationPromptTemplate`)),1),v(H),v(j,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`restart_alt`,label:n(p)(`settings.resetToDefault`),loading:q.value===`finalizationPrompt`,disable:q.value!==null&&q.value!==`finalizationPrompt`,onClick:t[57]||=e=>uf(`finalizationPrompt`)},null,8,[`label`,`loading`,`disable`])]),E(`div`,Fa,a(e.$t(`settings.finalizationPromptHint`)),1),v(M,{modelValue:N.value,"onUpdate:modelValue":t[58]||=e=>N.value=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:8,placeholder:e.$t(`settings.finalizationPromptPlaceholder`),class:`settings-input mono-textarea q-mb-md`},null,8,[`modelValue`,`placeholder`])])):b(``,!0),k.value===`general`?(f(),w(`div`,Ia,[E(`div`,La,a(e.$t(`settings.editorCommand`)),1),E(`div`,Ra,a(e.$t(`settings.editorCommandHint`)),1),v(M,{modelValue:ke.value,"onUpdate:modelValue":t[59]||=e=>ke.value=e,dense:``,dark:``,outlined:``,placeholder:e.$t(`settings.editorCommandPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])])):b(``,!0),k.value===`general`?(f(),w(`div`,za,[E(`div`,Ba,a(e.$t(`settings.fileManagerCommand`)),1),E(`div`,Va,a(e.$t(`settings.fileManagerCommandHint`)),1),v(M,{modelValue:je.value,"onUpdate:modelValue":t[60]||=e=>je.value=e,dense:``,dark:``,outlined:``,placeholder:e.$t(`settings.fileManagerCommandPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])])):b(``,!0),k.value===`general`?(f(),w(`div`,Ha,[E(`div`,Ua,a(e.$t(`settings.terminalCommand`)),1),E(`div`,Wa,a(e.$t(`settings.terminalCommandHint`)),1),v(M,{modelValue:Me.value,"onUpdate:modelValue":t[61]||=e=>Me.value=e,dense:``,dark:``,outlined:``,placeholder:e.$t(`settings.terminalCommandPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])])):b(``,!0),k.value===`notion`?(f(),w(`div`,Ga,[v(P,{modelValue:J.value,"onUpdate:modelValue":t[62]||=e=>J.value=e,label:e.$t(`settings.integrationEnabled`),dark:``,dense:``,color:`primary`},null,8,[`modelValue`,`label`])])):b(``,!0),k.value===`notion`?(f(),w(`div`,{key:19,"data-tour":`settings-card-notion`,class:r([`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`,{"opacity-50":!J.value}])},[v(gn,{modelValue:Hu.value.notion,"onUpdate:modelValue":t[63]||=e=>Hu.value.notion=e,"connection-status":Vu.value.notion,"onUpdate:connectionStatus":t[64]||=e=>Vu.value.notion=e,integration:`notion`},null,8,[`modelValue`,`connection-status`]),E(`div`,Ka,a(e.$t(`settings.mcpSelection`)),1),E(`div`,qa,a(e.$t(Vu.value.notion.configured?`integration.directOverrides`:`settings.mcpSelectionHint`)),1),E(`div`,Ja,[E(`div`,Ya,a(e.$t(`settings.notionMcp`)),1),v(z,{modelValue:kn.value,"onUpdate:modelValue":t[65]||=e=>kn.value=e,"data-test":`notion-mcp-key`,disable:Vu.value.notion.configured,options:Pd.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`disable`,`options`])]),v(j,{flat:``,dense:``,"no-caps":``,color:`primary`,icon:`health_and_safety`,label:e.$t(`settings.testIntegration`),loading:vn.value===`notion`,disable:!J.value||vn.value!==null,onClick:t[66]||=e=>yn(`notion`)},null,8,[`label`,`loading`,`disable`]),K.value.notion?(f(),w(`div`,{key:0,class:r([`text-caption q-mt-sm`,K.value.notion.ok?`text-positive`:`text-negative`])},a(K.value.notion.detail)+` (`+a(K.value.notion.durationMs)+` ms) `,3)):b(``,!0)],2)):b(``,!0),k.value===`sentry`?(f(),w(`div`,Xa,[v(P,{modelValue:Y.value,"onUpdate:modelValue":t[67]||=e=>Y.value=e,label:e.$t(`settings.integrationEnabled`),dark:``,dense:``,color:`primary`},null,8,[`modelValue`,`label`])])):b(``,!0),k.value===`sentry`?(f(),w(`div`,{key:21,class:r([`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`,{"opacity-50":!Y.value}])},[v(gn,{modelValue:Hu.value.sentry,"onUpdate:modelValue":t[68]||=e=>Hu.value.sentry=e,"connection-status":Vu.value.sentry,"onUpdate:connectionStatus":t[69]||=e=>Vu.value.sentry=e,integration:`sentry`},null,8,[`modelValue`,`connection-status`]),E(`div`,Za,a(e.$t(`settings.mcpSelection`)),1),E(`div`,Qa,a(e.$t(Vu.value.sentry.configured?`integration.directOverrides`:`settings.mcpSelectionHint`)),1),E(`div`,$a,[E(`div`,eo,a(e.$t(`settings.sentryMcp`)),1),v(z,{modelValue:jn.value,"onUpdate:modelValue":t[70]||=e=>jn.value=e,"data-test":`sentry-mcp-key`,disable:Vu.value.sentry.configured,options:Pd.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`disable`,`options`])]),v(j,{flat:``,dense:``,"no-caps":``,color:`primary`,icon:`health_and_safety`,label:e.$t(`settings.testIntegration`),loading:vn.value===`sentry`,disable:!Y.value||vn.value!==null,class:`q-mt-sm`,onClick:t[71]||=e=>yn(`sentry`)},null,8,[`label`,`loading`,`disable`]),K.value.sentry?(f(),w(`div`,{key:0,class:r([`text-caption q-mt-sm`,K.value.sentry.ok?`text-positive`:`text-negative`])},a(K.value.sentry.detail)+` (`+a(K.value.sentry.durationMs)+` ms) `,3)):b(``,!0)],2)):b(``,!0),k.value===`forge`?(f(),w(`div`,to,[E(`div`,no,a(e.$t(`settings.bitbucketCommunity`)),1),E(`div`,ro,a(e.$t(`settings.bitbucketCommunityHint`)),1),v(M,{modelValue:Nn.value,"onUpdate:modelValue":t[72]||=e=>Nn.value=e,label:e.$t(`settings.bitbucketUsername`),autocomplete:`username`,dark:``,dense:``,outlined:``,class:`q-mb-sm`},null,8,[`modelValue`,`label`]),v(M,{modelValue:Mn.value,"onUpdate:modelValue":t[73]||=e=>Mn.value=e,label:e.$t(`settings.bitbucketToken`),type:`password`,autocomplete:`off`,dark:``,dense:``,outlined:``},null,8,[`modelValue`,`label`])])):b(``,!0),k.value===`notion`?(f(),w(`div`,{key:23,class:r([`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`,{"opacity-50":!J.value}])},[E(`div`,io,a(e.$t(`settings.notionStatus`)),1),E(`div`,ao,a(e.$t(`settings.notionStatusHint`)),1),E(`div`,oo,[E(`div`,so,a(e.$t(`settings.notionStatusProperty`)),1),v(M,{modelValue:rn.value,"onUpdate:modelValue":t[74]||=e=>rn.value=e,dense:``,dark:``,outlined:``,placeholder:e.$t(`settings.notionStatusPropertyPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),E(`div`,co,[E(`div`,lo,a(e.$t(`settings.notionInProgressStatus`)),1),v(M,{modelValue:an.value,"onUpdate:modelValue":t[75]||=e=>an.value=e,dense:``,dark:``,outlined:``,placeholder:e.$t(`settings.notionInProgressStatusPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),E(`div`,uo,[E(`div`,fo,a(n(p)(`settings.notionInitialPrompt`)),1),v(H),v(j,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`restart_alt`,label:n(p)(`settings.resetToDefault`),loading:q.value===`notionInitialPromptTemplate`,disable:q.value!==null&&q.value!==`notionInitialPromptTemplate`,onClick:t[76]||=e=>uf(`notionInitialPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),E(`div`,po,a(n(p)(`settings.notionInitialPrompt.help`,{variables:`{ticket_id}, {notion_url}, {notion_file_path}`})),1),v(M,{modelValue:Tn.value,"onUpdate:modelValue":t[77]||=e=>Tn.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])],2)):b(``,!0),k.value===`notion`?(f(),w(`div`,{key:24,class:r([`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`,{"opacity-50":!J.value}])},[E(`div`,mo,a(e.$t(`settings.notionAssignee`)),1),E(`div`,ho,a(e.$t(`settings.notionAssigneeHint`)),1),E(`div`,go,[E(`div`,_o,a(e.$t(`settings.notionAssigneeProperty`)),1),v(M,{modelValue:on.value,"onUpdate:modelValue":t[78]||=e=>on.value=e,dense:``,dark:``,outlined:``,placeholder:e.$t(`settings.notionAssigneePropertyPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),E(`div`,vo,[E(`div`,yo,[E(`div`,bo,a(e.$t(`settings.notionUserId`)),1),v(j,{flat:``,dense:``,"no-caps":``,size:`sm`,icon:`refresh`,color:`kobo-2`,loading:xn.value,label:e.$t(`settings.notionUsersRefresh`),onClick:t[79]||=e=>wn(!0)},null,8,[`loading`,`label`])]),bn.value.length>0?(f(),y(z,{key:0,modelValue:sn.value,"onUpdate:modelValue":t[80]||=e=>sn.value=e,options:Cn.value,"emit-value":``,"map-options":``,clearable:``,dense:``,dark:``,outlined:``,hint:e.$t(`settings.notionUserIdHint`),class:`settings-input`},{option:_(e=>[v(B,i(h(e.itemProps)),{default:_(()=>[v(V,{avatar:``},{default:_(()=>[v(Fe,{size:`24px`},{default:_(()=>[e.opt.avatarUrl?(f(),w(`img`,{key:0,src:e.opt.avatarUrl,alt:e.opt.label},null,8,xo)):(f(),y(A,{key:1,name:`person`,size:`20px`}))]),_:2},1024)]),_:2},1024),v(V,null,{default:_(()=>[v(R,null,{default:_(()=>[x(a(e.opt.name),1)]),_:2},1024),v(R,{caption:``},{default:_(()=>[x(a(e.opt.email),1)]),_:2},1024)]),_:2},1024)]),_:2},1040)]),_:1},8,[`modelValue`,`options`,`hint`])):xn.value?(f(),w(`div`,So,a(e.$t(`settings.notionUsersLoading`)),1)):(f(),w(T,{key:2},[Sn.value?(f(),w(`div`,Co,a(e.$t(`settings.notionUsersLoadFailed`,{error:Sn.value})),1)):b(``,!0),v(M,{modelValue:sn.value,"onUpdate:modelValue":t[81]||=e=>sn.value=e,dense:``,dark:``,outlined:``,placeholder:e.$t(`settings.notionUserIdPlaceholder`),hint:Sn.value?e.$t(`settings.notionUsersManualFallback`):e.$t(`settings.notionUserIdHint`),class:`settings-input`},null,8,[`modelValue`,`placeholder`,`hint`])],64))])],2)):b(``,!0),k.value===`sentry`?(f(),w(`div`,{key:25,class:r([`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`,{"opacity-50":!Y.value}])},[E(`div`,wo,a(n(p)(`settings.sentryIntegration`)),1),E(`div`,To,[E(`div`,Eo,a(n(p)(`settings.sentryInitialPrompt`)),1),v(H),v(j,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`restart_alt`,label:n(p)(`settings.resetToDefault`),loading:q.value===`sentryInitialPromptTemplate`,disable:q.value!==null&&q.value!==`sentryInitialPromptTemplate`,onClick:t[82]||=e=>uf(`sentryInitialPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),E(`div`,Do,a(n(p)(`settings.sentryInitialPrompt.help`,{variables:`{issue_id}, {sentry_url}, {sentry_file_path}`})),1),v(M,{modelValue:En.value,"onUpdate:modelValue":t[83]||=e=>En.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])],2)):b(``,!0),k.value===`general`?(f(),w(`div`,Oo,[E(`div`,ko,a(e.$t(`settings.tagsTitle`)),1),E(`div`,Ao,a(e.$t(`settings.tagsHint`)),1),v(z,{modelValue:Pn.value,"onUpdate:modelValue":t[84]||=e=>Pn.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`])])):b(``,!0),k.value===`scripts`?(f(),w(`div`,jo,[E(`div`,Mo,a(e.$t(`settings.setupScript`)),1),E(`div`,No,a(e.$t(`settings.setupScriptHint`)),1),v(M,{modelValue:Rn.value,"onUpdate:modelValue":t[85]||=e=>Rn.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`])])):b(``,!0),k.value===`scripts`?(f(),w(`div`,Po,[E(`div`,Fo,a(e.$t(`settings.cleanupScript`)),1),E(`div`,Io,a(e.$t(`settings.cleanupScriptHint`)),1),v(M,{modelValue:zn.value,"onUpdate:modelValue":t[86]||=e=>zn.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`]),E(`div`,Lo,a(e.$t(`settings.cleanupScriptMode`)),1),v(tt,{modelValue:Bn.value,"onUpdate:modelValue":t[87]||=e=>Bn.value=e,options:[{label:e.$t(`settings.cleanupScriptMode.idle`),value:`idle`},{label:e.$t(`settings.cleanupScriptMode.noTasks`),value:`no-tasks`}],type:`radio`,color:`primary`,dense:``},null,8,[`modelValue`,`options`]),v(Je,{modelValue:Vn.value,"onUpdate:modelValue":t[88]||=e=>Vn.value=e,label:e.$t(`settings.cleanupScriptOnlyOnChanges`),dark:``,dense:``,color:`primary`,class:`q-mt-sm`},null,8,[`modelValue`,`label`])])):b(``,!0),k.value===`scripts`?(f(),w(`div`,Ro,[E(`div`,zo,a(e.$t(`settings.archiveScript`)),1),E(`div`,Bo,a(e.$t(`settings.archiveScriptHint`)),1),v(M,{modelValue:Hn.value,"onUpdate:modelValue":t[89]||=e=>Hn.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`])])):b(``,!0),k.value===`scripts`?(f(),w(`div`,Vo,[E(`div`,Ho,a(e.$t(`settings.hook.sessionEndedTitle`)),1),E(`div`,Uo,a(e.$t(`settings.hook.sessionEndedHint`)),1),v(M,{modelValue:Wn.value,"onUpdate:modelValue":t[90]||=e=>Wn.value=e,type:`textarea`,dark:``,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:e.$t(`settings.hook.sessionEndedPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])])):b(``,!0),k.value===`scripts`?(f(),w(`div`,Wo,[E(`div`,Go,a(e.$t(`settings.hook.prMergedTitle`)),1),E(`div`,Ko,a(e.$t(`settings.hook.prMergedHint`)),1),v(M,{modelValue:Gn.value,"onUpdate:modelValue":t[91]||=e=>Gn.value=e,type:`textarea`,dark:``,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:e.$t(`settings.hook.prMergedPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])])):b(``,!0),k.value===`scripts`?(f(),w(`div`,qo,[E(`div`,Jo,a(e.$t(`settings.hook.autoLoopDisabledTitle`)),1),E(`div`,Yo,a(e.$t(`settings.hook.autoLoopDisabledHint`)),1),v(M,{modelValue:qn.value,"onUpdate:modelValue":t[92]||=e=>qn.value=e,type:`textarea`,dark:``,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:e.$t(`settings.hook.autoLoopDisabledPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])])):b(``,!0),k.value===`scripts`?(f(),w(`div`,Xo,[E(`div`,Zo,[E(`div`,Qo,a(e.$t(`settings.changeSourceBranchScript`)),1),v(j,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`primary`,icon:`restart_alt`,label:e.$t(`settings.changeSourceBranchScript.resetDefault`),onClick:t[93]||=e=>Iu(`global`)},null,8,[`label`])]),E(`div`,$o,a(e.$t(`settings.changeSourceBranchScript.help`)),1),E(`pre`,es,a(e.$t(`settings.changeSourceBranchScript.envHelp`)),1),v(M,{modelValue:$l.value,"onUpdate:modelValue":t[94]||=e=>$l.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`])])):b(``,!0),k.value===`worktrees`?(f(),w(`div`,ts,[E(`div`,ns,a(e.$t(`settings.worktreesTitle`)),1),E(`div`,rs,a(e.$t(`settings.worktreesHint`)),1),v(M,{ref_key:`globalWorktreesPathInput`,ref:au,modelValue:iu.value,"onUpdate:modelValue":t[95]||=e=>iu.value=e,label:e.$t(`settings.worktreesPathLabel`),dense:``,dark:``,outlined:``,placeholder:n(Ke),rules:Ru,"lazy-rules":``,class:`settings-input`},null,8,[`modelValue`,`label`,`placeholder`]),v(P,{modelValue:ou.value,"onUpdate:modelValue":t[96]||=e=>ou.value=e,label:e.$t(`settings.worktreesPrefixByProject`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption q-mt-sm`},null,8,[`modelValue`,`label`]),E(`div`,is,a(e.$t(`settings.worktreesPrefixByProjectHint`)),1),v(Ue,{dark:``,class:`q-my-md`}),E(`div`,as,[v(P,{modelValue:Le.value,"onUpdate:modelValue":t[97]||=e=>Le.value=e,label:e.$t(`settings.autoPurgeOnPrMerged`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`]),E(`div`,os,a(e.$t(`settings.autoPurgeOnPrMergedHint`)),1)]),v(Ue,{dark:``,class:`q-my-md`}),E(`div`,ss,[E(`div`,cs,a(e.$t(`settings.retentionTitle`)),1),E(`div`,ls,a(e.$t(`settings.retentionWarning`)),1),E(`div`,us,a(e.$t(`settings.retentionHint`)),1),v(M,{modelValue:We.value,"onUpdate:modelValue":t[98]||=e=>We.value=e,modelModifiers:{number:!0},label:e.$t(`settings.retentionDaysLabel`),hint:e.$t(`settings.retentionDaysHint`),type:`number`,min:`0`,max:`3650`,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`label`,`hint`]),v(M,{modelValue:Ge.value,"onUpdate:modelValue":t[99]||=e=>Ge.value=e,modelModifiers:{number:!0},label:e.$t(`settings.retentionKeepLabel`),hint:e.$t(`settings.retentionKeepHint`),type:`number`,min:`0`,max:`1000000`,dense:``,dark:``,outlined:``,class:`settings-input q-mt-md`},null,8,[`modelValue`,`label`,`hint`]),We.value===0?(f(),w(`div`,ds,a(e.$t(`settings.retentionDisabledHint`)),1)):b(``,!0)]),v(st,{dense:``,dark:``,icon:`help_outline`,label:e.$t(`settings.purgeDocsTitle`),class:`purge-docs q-mt-md rounded-borders`},{default:_(()=>[E(`div`,fs,[E(`div`,ps,a(e.$t(`settings.purgeDocsRestoreTitle`)),1),E(`div`,ms,a(e.$t(`settings.purgeDocsRestoreIntro`)),1),E(`pre`,hs,a(e.$t(`settings.purgeDocsRestoreCommands`)),1),E(`div`,gs,a(e.$t(`settings.purgeDocsRestoreFootnote`)),1),E(`div`,_s,a(e.$t(`settings.purgeDocsPermissionsTitle`)),1),E(`div`,vs,a(e.$t(`settings.purgeDocsPermissionsIntro`)),1),E(`ul`,ys,[E(`li`,null,a(e.$t(`settings.purgeDocsPermissionsDocker`)),1),E(`li`,null,a(e.$t(`settings.purgeDocsPermissionsAcl`)),1)]),E(`pre`,bs,a(e.$t(`settings.purgeDocsPermissionsAclCommand`)),1),E(`div`,xs,a(e.$t(`settings.purgeDocsPermissionsFootnote`)),1),E(`div`,Ss,a(e.$t(`settings.purgeDocsPermissionsRecoverTitle`)),1),E(`div`,Cs,a(e.$t(`settings.purgeDocsPermissionsRecoverIntro`)),1),E(`div`,ws,a(e.$t(`settings.purgeDocsPermissionsRecoverAclIntro`)),1),E(`pre`,Ts,a(e.$t(`settings.purgeDocsPermissionsRecoverAclCommand`)),1),E(`div`,Es,a(e.$t(`settings.purgeDocsPermissionsRecoverChownIntro`)),1),E(`pre`,Ds,a(e.$t(`settings.purgeDocsPermissionsRecoverChownCommand`)),1),E(`div`,Os,a(e.$t(`settings.purgeDocsPermissionsRecoverFootnote`)),1)])]),_:1},8,[`label`])])):b(``,!0),k.value===`general`?(f(),w(`div`,ks,[E(`div`,As,a(e.$t(`settings.network.title`)),1),E(`div`,js,a(e.$t(`settings.network.hint`)),1),v(P,{"model-value":F.value.enabled,label:e.$t(`settings.network.enable`),dark:``,color:`primary`,"onUpdate:modelValue":Lt},null,8,[`model-value`,`label`]),Ze.value?(f(),y(Dt,{key:0,class:`bg-amber-1 text-amber-9 q-mt-sm`,dense:``,rounded:``},{default:_(()=>[x(a(e.$t(`settings.network.restartRequired`)),1)]),_:1})):b(``,!0),F.value.enabled?(f(),w(`div`,Ms,[v(P,{"model-value":F.value.behindProxy,label:e.$t(`settings.network.behindProxy`),dark:``,color:`primary`,"onUpdate:modelValue":Rt},null,8,[`model-value`,`label`]),E(`div`,Ns,a(e.$t(`settings.network.behindProxyHint`)),1)])):b(``,!0),F.value.enabled&&F.value.token?(f(),w(T,{key:2},[E(`div`,Ps,[E(`div`,Fs,a(e.$t(`settings.network.token`)),1),v(M,{"model-value":F.value.token,readonly:``,dense:``,dark:``,outlined:``},{append:_(()=>[v(j,{flat:``,dense:``,icon:`content_copy`,title:e.$t(`settings.network.copy`),onClick:Bt},null,8,[`title`])]),_:1},8,[`model-value`]),v(j,{class:`q-mt-sm`,label:e.$t(`settings.network.regenerate`),color:`primary`,outline:``,dense:``,onClick:zt},null,8,[`label`])]),E(`div`,Is,[E(`div`,Ls,a(e.$t(`settings.network.urls`)),1),ct.value.length===0?(f(),w(`div`,Rs,a(e.$t(`settings.network.noUrls`)),1)):b(``,!0),(f(!0),w(T,null,O(ct.value,e=>(f(),w(`div`,{key:e,class:`text-body2`},a(e),1))),128))]),L.value?(f(),w(`div`,zs,[E(`div`,Bs,a(e.$t(`settings.network.scan`)),1),E(`img`,{src:L.value,alt:e.$t(`settings.network.scan`),width:`200`,height:`200`},null,8,Vs)])):b(``,!0)],64)):b(``,!0),v(An,{token:F.value.token,"network-enabled":F.value.enabled,"behind-proxy":F.value.behindProxy},null,8,[`token`,`network-enabled`,`behind-proxy`])])):b(``,!0),k.value===`export`?(f(),w(`div`,Hs,[E(`div`,Us,a(e.$t(`settings.shareTitle`)),1),E(`div`,Ws,a(e.$t(`settings.shareHint`)),1),E(`div`,Gs,[v(j,{label:e.$t(`settings.exportConfig`),icon:`download`,"no-caps":``,outline:``,color:`kobo-2`,onClick:sf},null,8,[`label`]),v(j,{label:e.$t(`settings.importConfig`),icon:`upload`,"no-caps":``,outline:``,color:`kobo-2`,onClick:cf},null,8,[`label`]),E(`input`,{ref_key:`importFileInput`,ref:of,type:`file`,accept:`application/json,.json`,style:{display:`none`},onChange:lf},null,544)])])):b(``,!0)],512),[[ie,me.value]]),k.value===`projects`?(f(),w(`div`,Ks,[E(`div`,qs,[E(`div`,Js,[E(`div`,Ys,[E(`div`,Xs,[E(`div`,Zs,a(e.$t(`settings.configuredProjects`)),1)]),v(Ue,{dark:``}),v(I,{dark:``,dense:``,class:`q-py-xs`},{default:_(()=>[(f(!0),w(T,null,O(n(s).projects,(e,t)=>(f(),y(B,{key:e.path,clickable:``,active:Wu.value===t&&!Z.value,"active-class":`project-item--active`,class:`project-item q-mx-xs rounded-borders`,style:{"min-height":`40px`},onClick:e=>wf(t)},{default:_(()=>[v(V,null,{default:_(()=>[v(R,{class:`text-body2 text-kobo-1`},{default:_(()=>[x(a(Tf(e)),1)]),_:2},1024),v(R,{caption:``,class:`text-kobo-3 ellipsis`,style:{"font-size":`11px`,"font-family":`monospace`}},{default:_(()=>[x(a(e.path),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,[`active`,`onClick`]))),128))]),_:1}),n(s).projects.length===0&&!n(s).loading?(f(),w(`div`,Qs,a(e.$t(`settings.noProjects`)),1)):b(``,!0),v(Ue,{dark:``}),E(`div`,$s,[v(j,{"data-tour":`settings-card-projects`,label:e.$t(`settings.addProject`),icon:`add`,"no-caps":``,flat:``,dense:``,class:`full-width`,color:`primary`,onClick:Cf},null,8,[`label`])])])]),E(`div`,ec,[E(`div`,tc,[$.value||Z.value?(f(),w(T,{key:0},[E(`div`,nc,[E(`div`,rc,a(Z.value?e.$t(`settings.newProject`):e.$t(`settings.editProject`)),1),v(H),Z.value?b(``,!0):(f(),y(j,{key:0,label:e.$t(`common.delete`),icon:`delete_outline`,"no-caps":``,flat:``,dense:``,size:`sm`,color:`red-5`,loading:ad.value,onClick:Sf},null,8,[`label`,`loading`]))]),v(Ue,{dark:``,class:`q-mb-md`}),Z.value&&n(s).projects.length>0?(f(),w(`div`,ic,[E(`div`,ac,a(e.$t(`settings.copyFrom`)),1),v(z,{"model-value":Ku.value,options:Ju.value,"option-value":`value`,"option-label":`label`,"emit-value":``,"map-options":``,clearable:``,dense:``,dark:``,outlined:``,placeholder:e.$t(`settings.copyFromPlaceholder`),class:`settings-input`,"onUpdate:modelValue":Zu},null,8,[`model-value`,`options`,`placeholder`]),E(`div`,oc,a(e.$t(`settings.copyFromHint`)),1)])):b(``,!0),E(`div`,sc,[E(`div`,cc,a(e.$t(`settings.projectGroup.identity`)),1),E(`div`,lc,[E(`div`,uc,a(e.$t(`settings.projectPath`)),1),v(M,{modelValue:Q.value.path,"onUpdate:modelValue":t[101]||=e=>Q.value.path=e,dense:``,dark:``,outlined:``,readonly:!Z.value,placeholder:e.$t(`settings.projectPathPlaceholder`),class:r([`settings-input`,{"readonly-input":!Z.value}])},S({_:2},[Z.value?{name:`append`,fn:_(()=>[v(j,{flat:``,dense:``,round:``,size:`sm`,icon:`folder_open`,color:`kobo-2`,onClick:t[100]||=e=>tu.value=!0},{default:_(()=>[v(U,null,{default:_(()=>[x(a(e.$t(`folderPicker.title`)),1)]),_:1})]),_:1})]),key:`0`}:void 0]),1032,[`modelValue`,`readonly`,`placeholder`,`class`])]),E(`div`,dc,[E(`div`,fc,a(e.$t(`settings.displayName`)),1),v(M,{modelValue:Q.value.displayName,"onUpdate:modelValue":t[102]||=e=>Q.value.displayName=e,dense:``,dark:``,outlined:``,placeholder:e.$t(`settings.displayNamePlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),E(`div`,null,[E(`div`,pc,a(e.$t(`settings.projectColor`)),1),E(`div`,mc,[(f(!0),w(T,null,O(n(Ot),e=>(f(),y(ft,{key:e,dense:``,clickable:``,color:e,icon:Q.value.color===e?`check`:void 0,"text-color":`white`,onClick:t=>Q.value.color=e},null,8,[`color`,`icon`,`onClick`]))),128)),v(j,{flat:``,dense:``,"no-caps":``,size:`xs`,label:e.$t(`settings.projectColorClear`),color:`kobo-2`,disable:!Q.value.color,onClick:t[103]||=e=>Q.value.color=null},null,8,[`label`,`disable`])]),E(`div`,hc,a(Q.value.color??e.$t(`settings.projectColorDefault`)),1)])]),E(`div`,gc,[E(`div`,_c,a(e.$t(`settings.projectGroup.defaults`)),1),E(`div`,vc,[E(`div`,yc,a(e.$t(`settings.defaultSourceBranch`)),1),v(z,{modelValue:Q.value.defaultSourceBranch,"onUpdate:modelValue":t[104]||=e=>Q.value.defaultSourceBranch=e,options:Ef.value,dense:``,dark:``,outlined:``,"use-input":``,"emit-value":``,loading:rd.value,class:`settings-input`,placeholder:`main`,onFilter:Df},{"no-option":_(()=>[v(B,null,{default:_(()=>[v(V,{class:`text-kobo-3 text-caption`},{default:_(()=>[x(a(Q.value.path.trim()?e.$t(`createPage.noBranches`):e.$t(`createPage.enterPath`)),1)]),_:1})]),_:1})]),_:1},8,[`modelValue`,`options`,`loading`])]),E(`div`,bc,[E(`div`,xc,a(e.$t(`settings.defaultModel.project`)),1),v(z,{modelValue:Q.value.defaultModel,"onUpdate:modelValue":t[105]||=e=>Q.value.defaultModel=e,options:kd.value,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])]),E(`div`,null,[E(`div`,Sc,a(e.$t(`settings.forge`)),1),v(z,{modelValue:Q.value.forge,"onUpdate:modelValue":t[106]||=e=>Q.value.forge=e,options:Ad.value,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])])]),E(`div`,Cc,[E(`div`,wc,a(e.$t(`settings.nav.git`)),1),v(Mt,{modelValue:Q.value.workflowPolicy,"onUpdate:modelValue":t[107]||=e=>Q.value.workflowPolicy=e,inherit:``,class:`q-my-md`},null,8,[`modelValue`]),E(`div`,Tc,[E(`div`,Ec,a(e.$t(`settings.gitConventions.project`)),1),E(`div`,Dc,a(n(p)(`settings.initialPrompt.inheritHint`)),1),v(M,{modelValue:Q.value.gitConventions,"onUpdate:modelValue":t[108]||=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`])])]),E(`div`,Oc,[E(`div`,kc,a(e.$t(`settings.projectGroup.prompts`)),1),E(`div`,Ac,[E(`div`,jc,a(e.$t(`settings.prPromptTemplate.project`)),1),E(`div`,Mc,a(n(p)(`settings.initialPrompt.inheritHint`)),1),v(M,{modelValue:Q.value.prPromptTemplate,"onUpdate:modelValue":t[109]||=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`])]),E(`div`,Nc,[E(`div`,Pc,a(e.$t(`settings.reviewPromptTemplate.project`)),1),E(`div`,Fc,a(n(p)(`settings.initialPrompt.inheritHint`)),1),v(M,{modelValue:Q.value.reviewPromptTemplate,"onUpdate:modelValue":t[110]||=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`])]),E(`div`,Ic,[E(`div`,Lc,a(e.$t(`settings.ciFixPromptTemplate.project`)),1),E(`div`,Rc,a(n(p)(`settings.initialPrompt.inheritHint`)),1),v(M,{modelValue:Q.value.ciFixPromptTemplate,"onUpdate:modelValue":t[111]||=e=>Q.value.ciFixPromptTemplate=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:e.$t(`settings.ciFixPromptPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),J.value?(f(),w(`div`,zc,[E(`div`,Bc,a(n(p)(`settings.notionInitialPrompt.project`)),1),E(`div`,Vc,a(n(p)(`settings.initialPrompt.inheritHint`)),1),v(M,{modelValue:Q.value.notionInitialPromptTemplate,"onUpdate:modelValue":t[112]||=e=>Q.value.notionInitialPromptTemplate=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])])):b(``,!0),Y.value?(f(),w(`div`,Hc,[E(`div`,Uc,a(n(p)(`settings.sentryInitialPrompt.project`)),1),E(`div`,Wc,a(n(p)(`settings.initialPrompt.inheritHint`)),1),v(M,{modelValue:Q.value.sentryInitialPromptTemplate,"onUpdate:modelValue":t[113]||=e=>Q.value.sentryInitialPromptTemplate=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])])):b(``,!0),E(`div`,null,[E(`div`,Gc,a(e.$t(`settings.taskPromptTemplate`)),1),v(M,{modelValue:Q.value.taskPromptTemplate,"onUpdate:modelValue":t[114]||=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`]),E(`div`,Kc,a(e.$t(`settings.taskPromptTemplateHint`)),1)])]),E(`div`,qc,[E(`div`,Jc,a(e.$t(`settings.projectGroup.scripts`)),1),E(`div`,Yc,[E(`div`,Xc,a(e.$t(`settings.setupScript`)),1),E(`div`,Zc,a(n(p)(`settings.initialPrompt.inheritHint`)),1),v(M,{modelValue:Q.value.setupScript,"onUpdate:modelValue":t[115]||=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`]),E(`div`,Qc,a(e.$t(`settings.setupScriptHint`)),1)]),E(`div`,$c,[E(`div`,el,a(e.$t(`settings.cleanupScript`)),1),E(`div`,tl,a(n(p)(`settings.initialPrompt.inheritHint`)),1),v(M,{modelValue:Q.value.cleanupScript,"onUpdate:modelValue":t[116]||=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`]),E(`div`,nl,a(e.$t(`settings.cleanupScriptMode`)),1),v(z,{modelValue:Q.value.cleanupScriptMode,"onUpdate:modelValue":t[117]||=e=>Q.value.cleanupScriptMode=e,options:ru.value,"emit-value":``,"map-options":``,dense:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])]),E(`div`,null,[E(`div`,rl,a(e.$t(`settings.archiveScript`)),1),E(`div`,il,a(n(p)(`settings.initialPrompt.inheritHint`)),1),v(M,{modelValue:Q.value.archiveScript,"onUpdate:modelValue":t[118]||=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`])]),E(`div`,null,[E(`div`,al,a(e.$t(`settings.hook.sessionEndedTitle`)),1),E(`div`,ol,a(n(p)(`settings.initialPrompt.inheritHint`)),1),v(M,{modelValue:Q.value.sessionEndedScript,"onUpdate:modelValue":t[119]||=e=>Q.value.sessionEndedScript=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:e.$t(`settings.hook.sessionEndedPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),E(`div`,null,[E(`div`,sl,a(e.$t(`settings.hook.prMergedTitle`)),1),E(`div`,cl,a(n(p)(`settings.initialPrompt.inheritHint`)),1),v(M,{modelValue:Q.value.prMergedScript,"onUpdate:modelValue":t[120]||=e=>Q.value.prMergedScript=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:e.$t(`settings.hook.prMergedPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),E(`div`,null,[E(`div`,ll,a(e.$t(`settings.hook.autoLoopDisabledTitle`)),1),E(`div`,ul,a(n(p)(`settings.initialPrompt.inheritHint`)),1),v(M,{modelValue:Q.value.autoLoopDisabledScript,"onUpdate:modelValue":t[121]||=e=>Q.value.autoLoopDisabledScript=e,type:`textarea`,outlined:``,autogrow:``,"input-style":{minHeight:`100px`},placeholder:e.$t(`settings.hook.autoLoopDisabledPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),E(`div`,null,[E(`div`,dl,[E(`div`,fl,a(e.$t(`settings.changeSourceBranchScript`)),1),v(j,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`primary`,icon:`restart_alt`,label:e.$t(`settings.changeSourceBranchScript.resetDefault`),onClick:t[122]||=e=>Iu(`project`)},null,8,[`label`])]),E(`div`,pl,a(e.$t(`settings.changeSourceBranchScript.help`)),1),E(`pre`,ml,a(e.$t(`settings.changeSourceBranchScript.envHelp`)),1),v(M,{modelValue:Q.value.changeSourceBranchScript,"onUpdate:modelValue":t[123]||=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`])])]),E(`div`,hl,[E(`div`,gl,a(e.$t(`settings.devServer`)),1),E(`div`,_l,[E(`div`,vl,a(e.$t(`settings.devServerStart`)),1),v(M,{modelValue:Q.value.devServer.startCommand,"onUpdate:modelValue":t[124]||=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`])]),E(`div`,null,[E(`div`,yl,a(e.$t(`settings.devServerStop`)),1),v(M,{modelValue:Q.value.devServer.stopCommand,"onUpdate:modelValue":t[125]||=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`])])]),E(`div`,bl,[E(`div`,xl,a(e.$t(`settings.e2e.title`)),1),E(`div`,Sl,a(e.$t(`settings.e2e.helpText`)),1),v(z,{modelValue:Q.value.e2e.framework,"onUpdate:modelValue":t[126]||=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?(f(),w(T,{key:0},[v(z,{modelValue:Q.value.e2e.skill,"onUpdate:modelValue":t[127]||=e=>Q.value.e2e.skill=e,options:$u.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:td},null,8,[`modelValue`,`options`,`label`,`placeholder`]),v(M,{modelValue:Q.value.e2e.prompt,"onUpdate:modelValue":t[128]||=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)):b(``,!0)]),E(`div`,Cl,[E(`div`,wl,a(e.$t(`settings.finalization.title`)),1),E(`div`,Tl,a(e.$t(`settings.finalization.helpText`)),1),v(M,{modelValue:Q.value.finalization.prompt,"onUpdate:modelValue":t[129]||=e=>Q.value.finalization.prompt=e,type:`textarea`,autogrow:``,rows:`4`,dense:``,dark:``,outlined:``,class:`settings-input mono-textarea q-mb-sm`,label:e.$t(`settings.finalization.prompt`),placeholder:e.$t(`settings.finalization.promptPlaceholder`)},null,8,[`modelValue`,`label`,`placeholder`])])],64)):(f(),w(`div`,El,[v(A,{name:`folder_open`,size:`48px`,color:`kobo-3`,class:`q-mb-md`}),E(`div`,Dl,a(e.$t(`settings.selectProject`)),1)]))])])])])):b(``,!0),k.value===`templates`?(f(),w(`div`,Ol,[E(`div`,kl,[E(`div`,Al,[E(`div`,jl,a(e.$t(`templates.title`)),1),E(`div`,Ml,[v(j,{flat:``,color:`kobo-2`,icon:`restart_alt`,label:e.$t(`templates.reloadDefaults`),dense:``,"no-caps":``,loading:pd.value,onClick:yd},{default:_(()=>[v(U,null,{default:_(()=>[x(a(e.$t(`templates.reloadDefaultsHint`)),1)]),_:1})]),_:1},8,[`label`,`loading`]),v(j,{color:`primary`,icon:`add`,label:e.$t(`templates.newTemplate`),dense:``,"no-caps":``,onClick:gd},null,8,[`label`])])]),v(Ue,{dark:``,class:`q-mb-md`}),md.value.length===0?(f(),w(`div`,Nl,a(e.$t(`templates.empty`)),1)):(f(),w(`div`,Pl,[(f(!0),w(T,null,O(md.value,t=>(f(),y(nt,{key:t.slug,dark:``,flat:``,bordered:``,class:`q-pa-md template-card`},{default:_(()=>[E(`div`,Fl,[E(`div`,Il,[E(`div`,Ll,` /`+a(t.slug),1),E(`div`,Rl,a(t.description),1)]),E(`div`,zl,[n(c).isDefault(t.slug)?(f(),y(j,{key:0,flat:``,dense:``,round:``,size:`sm`,icon:`settings_backup_restore`,color:`kobo-2`,onClick:e=>wd(t)},{default:_(()=>[v(U,null,{default:_(()=>[x(a(e.$t(`templates.resetToDefault`)),1)]),_:1})]),_:1},8,[`onClick`])):b(``,!0),v(j,{flat:``,dense:``,round:``,size:`sm`,icon:`edit`,color:`kobo-2`,onClick:e=>_d(t)},{default:_(()=>[v(U,null,{default:_(()=>[x(a(e.$t(`templates.editTemplate`)),1)]),_:1})]),_:1},8,[`onClick`]),v(j,{flat:``,dense:``,round:``,size:`sm`,icon:`delete`,color:`red-4`,onClick:e=>bd(t)},{default:_(()=>[v(U,null,{default:_(()=>[x(a(e.$t(`templates.deleteTemplate`)),1)]),_:1})]),_:1},8,[`onClick`])])])]),_:2},1024))),128))])),E(`div`,Bl,a(e.$t(`templates.filePath`,{path:`~/.config/kobo/templates.json`})),1)])])):b(``,!0),k.value===`workspaceTemplates`?(f(),w(`div`,Vl,[E(`div`,Hl,[E(`div`,Ul,a(e.$t(`workspaceTemplates.title`)),1),E(`div`,Wl,a(e.$t(`workspaceTemplates.hint`)),1),n(d).templates.length===0?(f(),w(`div`,Gl,a(e.$t(`workspaceTemplates.empty`)),1)):(f(),y(I,{key:1,dark:``,separator:``},{default:_(()=>[(f(!0),w(T,null,O(n(d).templates,t=>(f(),y(st,{key:t.id,dense:``,"header-class":`text-kobo-1`},{header:_(()=>[v(V,null,{default:_(()=>[v(R,null,{default:_(()=>[x(a(t.name),1)]),_:2},1024),v(R,{caption:``,class:`text-kobo-3`},{default:_(()=>[x(a(t.preset.projectPath||e.$t(`workspaceTemplates.anyProject`))+` · `+a(t.preset.engine??`-`)+` · `+a(t.preset.model??`-`)+` · `+a(xd(t.updatedAt)),1)]),_:2},1024)]),_:2},1024),v(V,{side:``},{default:_(()=>[E(`div`,Kl,[v(j,{flat:``,dense:``,round:``,size:`sm`,icon:`edit`,title:e.$t(`workspaceTemplates.rename`),onClick:se(e=>Sd(t.id,t.name),[`stop`])},null,8,[`title`,`onClick`]),v(j,{flat:``,dense:``,round:``,size:`sm`,icon:`delete`,color:`kobo-danger`,title:e.$t(`common.delete`),onClick:se(e=>Cd(t.id,t.name),[`stop`])},null,8,[`title`,`onClick`])])]),_:2},1024)]),default:_(()=>[v(nt,{dark:``,flat:``,class:`settings-subcard q-pa-md`},{default:_(()=>[E(`pre`,ql,a(JSON.stringify(t.preset,null,2)),1)]),_:2},1024)]),_:2},1024))),128))]),_:1}))])])):b(``,!0)])]),v(re,{name:`save-bar`},{default:_(()=>[Qd.value?(f(),w(`div`,{key:0,class:r([`settings-savebar`,{"settings-savebar--full":n(D)}])},[E(`span`,Jl,a(e.$t(`settings.unsavedChanges`)),1),v(j,{dense:``,"no-caps":``,unelevated:``,class:`settings-savebar__action`,loading:$d.value,label:e.$t(`common.save`),onClick:ef},null,8,[`loading`,`label`])],2)):b(``,!0)]),_:1})]),v(be,{modelValue:od.value,"onUpdate:modelValue":t[133]||=e=>od.value=e,persistent:``},{default:_(()=>[v(nt,{dark:``,style:{"min-width":`560px`,"max-width":`800px`,width:`80vw`}},{default:_(()=>[v(et,null,{default:_(()=>[E(`div`,Yl,a(sd.value===null?e.$t(`templates.newTemplate`):e.$t(`templates.editTemplate`)),1)]),_:1}),v(et,{class:`q-gutter-md`},{default:_(()=>[v(M,{modelValue:cd.value,"onUpdate:modelValue":t[130]||=e=>cd.value=e,label:e.$t(`templates.slug`),hint:e.$t(`templates.slugHint`),dark:``,dense:``,prefix:`/`,disable:sd.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`]),v(M,{modelValue:ld.value,"onUpdate:modelValue":t[131]||=e=>ld.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`]),v(M,{modelValue:ud.value,"onUpdate:modelValue":t[132]||=e=>ud.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`]),v(st,{dense:``,"dense-toggle":``,label:e.$t(`templates.availableVars`),"header-class":`text-kobo-3 text-caption q-pa-none`,style:{"font-size":`11px`}},{default:_(()=>[E(`div`,Xl,[(f(),w(T,null,O(hd,e=>E(`div`,{key:e,class:`text-kobo-2 q-mb-xs`},a(e),1)),64))])]),_:1},8,[`label`]),dd.value?(f(),w(`div`,Zl,a(dd.value),1)):b(``,!0)]),_:1}),v(qe,{align:`right`},{default:_(()=>[g(v(j,{flat:``,label:e.$t(`common.cancel`)},null,8,[`label`]),[[pt]]),v(j,{flat:``,color:`primary`,label:sd.value===null?e.$t(`templates.create`):e.$t(`templates.save`),loading:fd.value,onClick:vd},null,8,[`label`,`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),v(wt,{modelValue:tu.value,"onUpdate:modelValue":t[134]||=e=>tu.value=e,"initial-path":Q.value.path,onSelect:nu},null,8,[`modelValue`,`initial-path`])]),_:1},8,[`style-fn`]))}}),[[`__scopeId`,`data-v-5d054844`]]);export{$l as default,Ht as n,Vt as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{S as e,j as t,ot as n,ut as r,v as i}from"./reactivity.esm-bundler-Bo9anJjg.js";import{C as a,F as o,J as s,L as c,O as l,P as u,X as d,Y as f,_ as p,d as m,h,l as g,p as _,u as v,y,z as b}from"./runtime-core.esm-bundler-CNFKm4ij.js";import{S as x,b as S,et as C,t as w,tt as T,y as E}from"./QBtn-CcQQrYA_.js";import{a as D,i as O}from"./pinia-CTJ3OfP3.js";import{t as k}from"./use-id-vOr8PRTG.js";import{C as A,Rt as j,a as M,i as N,nt as P,o as F,r as I,x as L,y as R}from"./index-DolbyIM4.js";import{t as z}from"./QSelect-Dpru_T81.js";import{a as B,i as V,n as H,r as U}from"./use-tours-CjASQcG5.js";import{t as W}from"./TouchPan-DJqqxDBF.js";import{t as G}from"./QPage-HAaeQ-cv.js";import{t as K}from"./workspace-page-layout-Dw9NhZsL.js";var q=T({name:`QSplitter`,props:{...D,modelValue:{type:Number,required:!0},reverse:Boolean,unit:{type:String,default:`%`,validator:e=>[`%`,`px`].includes(e)},limits:{type:Array,validator:e=>e.length!==2||typeof e[0]!=`number`||typeof e[1]!=`number`?!1:e[0]>=0&&e[0]<=e[1]},emitImmediately:Boolean,horizontal:Boolean,disable:Boolean,beforeClass:[Array,String,Object],afterClass:[Array,String,Object],separatorClass:[Array,String,Object],separatorStyle:[Array,String,Object],separatorAriaLabel:String},emits:[`update:modelValue`],setup(t,{slots:n,emit:r}){let i=E(),o=O(t,i),c=e(null),u={before:e(null),after:e(null)},f=k(),p=g(()=>`q-splitter no-wrap ${t.horizontal?`q-splitter--horizontal column`:`q-splitter--vertical row`} q-splitter--${t.disable?`disabled`:`workable`}`+(o()?` q-splitter--dark`:``)),m=g(()=>t.horizontal?`height`:`width`),h=g(()=>t.reverse?`after`:`before`),_=g(()=>t.limits===void 0?t.unit===`%`?[10,90]:[50,1/0]:t.limits);function v(e){return(t.unit===`%`?e:Math.round(e))+t.unit}let y=g(()=>({[h.value]:{[m.value]:v(t.modelValue)}})),b,w,T,D,A;function j(e){if(e.isFirst){let e=c.value.getBoundingClientRect()[m.value];b=t.horizontal?`up`:`left`,w=t.unit===`%`?100:e,T=Math.min(w,_.value[1],Math.max(_.value[0],t.modelValue)),D=(t.reverse?-1:1)*(t.horizontal?1:i.lang.rtl?-1:1)*(t.unit===`%`?e===0?0:100/e:1),c.value.classList.add(`q-splitter--active`);return}if(e.isFinal){A!==t.modelValue&&r(`update:modelValue`,A),c.value.classList.remove(`q-splitter--active`);return}let n=T+D*(e.direction===b?-1:1)*e.distance[t.horizontal?`y`:`x`];A=Math.min(w,_.value[1],Math.max(_.value[0],n)),u[h.value].value.style[m.value]=v(A),t.emitImmediately&&t.modelValue!==A&&r(`update:modelValue`,A)}let M=g(()=>[[W,t.disable?void 0:j,void 0,{[t.horizontal?`vertical`:`horizontal`]:!0,prevent:!0,stop:!0,mouse:!0,mouseAllDir:!0}]]),N=g(()=>{let e={role:`separator`,"aria-orientation":t.horizontal?`horizontal`:`vertical`,"aria-label":t.separatorAriaLabel||i.lang.label.resize};if(t.disable)e[`aria-disabled`]=`true`;else{let n=_.value;e.tabindex=0,e[`aria-controls`]=f.value,e[`aria-valuemin`]=n[0],n[1]!==1/0&&(e[`aria-valuemax`]=n[1]),e[`aria-valuenow`]=Math.round(t.modelValue*100)/100}return e}),P=null;function F(e){let{keyCode:n}=e,a=t.horizontal?[38,40]:[37,39];if(n!==13&&n!==36&&n!==35&&!a.includes(n))return;C(e);let o=_.value,s=t.unit===`%`?100:c.value.getBoundingClientRect()[m.value],l;if(n===13)t.modelValue===o[0]?l=P===null?t.modelValue:P:(P=t.modelValue,l=o[0]);else if(n===36)l=o[0];else if(n===35)l=o[1];else{let e=(n===a[0]?-1:1)*(t.reverse?-1:1)*(t.horizontal?1:i.lang.rtl?-1:1);l=t.modelValue+e*(t.unit===`%`?1:10)}let u=Math.min(s,o[1],Math.max(o[0],l));u!==t.modelValue&&r(`update:modelValue`,u)}function I(e,t){e<t[0]?r(`update:modelValue`,t[0]):e>t[1]&&r(`update:modelValue`,t[1])}return s(()=>t.modelValue,e=>{I(e,_.value)}),s(()=>t.limits,()=>{l(()=>{I(t.modelValue,_.value)})}),()=>{let e=[a(`div`,{ref:u.before,id:h.value===`before`?f.value:void 0,class:[`q-splitter__panel q-splitter__before`+(t.reverse?` col`:``),t.beforeClass],style:y.value.before},x(n.before)),a(`div`,{class:[`q-splitter__separator`,t.separatorClass],style:t.separatorStyle,...N.value,onKeydown:t.disable?void 0:F},[d(a(`div`,{class:`q-splitter__separator-area absolute-full`},x(n.separator)),M.value)]),a(`div`,{ref:u.after,id:h.value===`after`?f.value:void 0,class:[`q-splitter__panel q-splitter__after`+(t.reverse?``:` col`),t.afterClass],style:y.value.after},x(n.after))];return a(`div`,{class:p.value,ref:c},S(n.default,e))}}}),J={class:`split-header`,"data-tour":`split-controls`},Y={class:`split-pane-header`},ee={class:`split-recipient`,"aria-live":`polite`},te=[`src`,`title`],ne={key:1,class:`split-empty`},X=B(y({__name:`SplitWorkspacePage`,setup(e){let a=P(),l=U(),d=I(),y=N(),{t:x}=j(),S=[`before`,`after`],C=i([``,``]),T=i([``,``]),E=[null,null],D=i(0),O=null;try{O=localStorage.getItem(`kobo:splitRatio`)}catch{}let k=i(L(O)),B=g(()=>[...a.workspaces,...a.archivedWorkspaces].map(e=>({label:e.name,value:e.id})));function W(e){return B.value.find(t=>t.value===C.value[e])?.label||C.value[e]||x(`split.choose`)}function X(e,t){E[e]=t}function Z(e){try{return E[e]?.contentWindow?.koboPane}catch{return}}async function re(e,t){D.value=e;let n=Z(e);n?(await n.navigate(t),Q()):T.value[e]||(C.value[e]=t,T.value[e]=R(t))}function Q(){for(let e of[0,1]){let t=Z(e);t?.ready()&&(C.value[e]=t.workspaceId()??``),E[e]&&document.activeElement===E[e]&&(D.value=e)}d.name===`split`&&[0,1].every(e=>!T.value[e]||Z(e)?.ready())&&A(y,{left:C.value[0]||void 0,right:C.value[1]||void 0})}function ie(){try{localStorage.setItem(`kobo:splitRatio`,String(k.value))}catch{}}s(()=>[d.query.left,d.query.right],([e,t])=>{for(let[n,r]of[e,t].entries()){let e=typeof r==`string`?r:``;C.value[n]!==e&&(C.value[n]=e,T.value[n]=C.value[n]?R(C.value[n]):``)}},{immediate:!0});let{scheduleAutoRun:ae}=H(),$;return u(()=>{M(`split-panes`,()=>[0,1].some(e=>Z(e)?.hasUnsavedWork())),$=setInterval(Q,500),ae(`split`)}),o(()=>{F(`split-panes`),clearInterval($)}),(e,i)=>(c(),m(G,{class:`split-page`,"style-fn":t(K)},{default:f(()=>[v(`header`,J,[p(w,{flat:``,dense:``,"no-caps":``,label:e.$t(`layout.toggleWorkspaces`),onClick:i[0]||=e=>t(l).toggleLeft()},null,8,[`label`]),v(`strong`,null,r(e.$t(`split.title`)),1),p(V),p(w,{flat:``,dense:``,"no-caps":``,label:e.$t(`split.close`),onClick:i[1]||=e=>t(y).push({name:`workspace`,params:{id:C.value[D.value]||void 0}})},null,8,[`label`])]),p(q,{modelValue:k.value,"onUpdate:modelValue":[i[2]||=e=>k.value=e,ie],limits:[25,75],horizontal:e.$q.screen.lt.md,class:`split-body`},h({_:2},[b(S,(t,i)=>({name:t,fn:f(()=>[v(`section`,{class:n([`split-pane`,{"split-pane--active":D.value===i}])},[v(`div`,Y,[p(z,{"model-value":C.value[i],options:B.value,"emit-value":``,"map-options":``,dense:``,outlined:``,label:e.$t(i===0?`split.left`:`split.right`),class:`split-select`,"onUpdate:modelValue":e=>re(i,e)},null,8,[`model-value`,`options`,`label`,`onUpdate:modelValue`]),v(`span`,ee,r(e.$t(`split.recipient`,{name:W(i)})),1)]),T.value[i]?(c(),_(`iframe`,{key:0,ref:e=>X(i,e),src:T.value[i],title:e.$t(`split.recipient`,{name:W(i)}),class:`split-frame`,onLoad:Q},null,40,te)):(c(),_(`div`,ne,r(e.$t(`split.choose`)),1))],2)])}))]),1032,[`modelValue`,`horizontal`])]),_:1},8,[`style-fn`]))}}),[[`__scopeId`,`data-v-f921b7b1`]]);export{X as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{$ as e,J as t,Q as n,X as r,Y as i,Z as a,at as o,et as s,nt as c,q as l}from"./QBtn-CcQQrYA_.js";import{a as u,o as d}from"./QSelect-Dpru_T81.js";import{p as f}from"./use-tours-CjASQcG5.js";var{passive:p,passiveCapture:m,notPassiveCapture:h}=t,g=0;function _(e,t,n){let i=r(e),a,o=i.left-t.event.x,s=i.top-t.event.y,c=Math.abs(o),l=Math.abs(s),u=t.direction;u.horizontal&&!u.vertical?a=o<0?`left`:`right`:!u.horizontal&&u.vertical?a=s<0?`up`:`down`:u.up&&s<0?(a=`up`,c>l&&(u.left&&o<0?a=`left`:u.right&&o>0&&(a=`right`))):u.down&&s>0?(a=`down`,c>l&&(u.left&&o<0?a=`left`:u.right&&o>0&&(a=`right`))):u.left&&o<0?(a=`left`,c<l&&(u.up&&s<0?a=`up`:u.down&&s>0&&(a=`down`))):u.right&&o>0&&(a=`right`,c<l&&(u.up&&s<0?a=`up`:u.down&&s>0&&(a=`down`)));let d=!1;if(a===void 0&&n===!1){if(t.event.isFirst||t.event.lastDir===void 0)return{};a=t.event.lastDir,d=!0,a===`left`||a===`right`?(i.left-=o,c=0,o=0):(i.top-=s,l=0,s=0)}return{synthetic:d,payload:{evt:e,touch:t.event.mouse!==!0,mouse:t.event.mouse===!0,position:i,direction:a,isFirst:t.event.isFirst,isFinal:n===!0,duration:Date.now()-t.event.time,distance:{x:c,y:l},offset:{x:o,y:s},delta:{x:i.left-t.event.lastX,y:i.top-t.event.lastY}}}}function v(e,t,n){t.modifiers=n,t.direction=u(n),t.stop=n.stop===!0,t.prevent=n.prevent===!0,t.mouseAllDir=n.mouseAllDir===!0||n.mousealldir===!0,t.preserveCursor=n.preserveCursor===!0||n.preservecursor===!0;let r=n.mouse?n.mouseCapture||n.mousecapture?m:p:null;r!==t.mouseOpts&&(t.mouseOpts!==null&&e.removeEventListener(`mousedown`,y,t.mouseOpts),r!==null&&e.addEventListener(`mousedown`,y,r),t.mouseOpts=r);let i=o.has.touch?n.capture?m:p:null;i!==t.touchOpts&&(t.touchOpts!==null&&e.removeEventListener(`touchstart`,b,t.touchOpts),i!==null&&e.addEventListener(`touchstart`,b,i),t.touchOpts=i)}function y(e){let t=e.currentTarget.__qtouchpan;d(e,t)&&l(e)&&(t.target=document,document.addEventListener(`mousemove`,t,h),document.addEventListener(`mouseup`,t,m),C(t,e,!0))}function b(e){let t=e.currentTarget.__qtouchpan;if(d(e,t)){let{target:n}=e;t.target=n,n.addEventListener(`touchmove`,t,h),n.addEventListener(`touchcancel`,t,m),n.addEventListener(`touchend`,t,m),C(t,e,!1)}}function x(e){e.type===`mousemove`||e.type===`touchmove`?E(this,e):D(this,e)}function S(t,n,r){r?s(n):(t.stop&&e(n),t.prevent&&a(n))}function C(t,i,s){if(o.is.firefox&&n(t.el,!0),t.lastEvt=i,s||t.stop){if(!t.direction.all&&(!s||!t.mouseAllDir)){let n=i.type.includes(`mouse`)?new MouseEvent(i.type,i):new TouchEvent(i.type,i);i.defaultPrevented&&a(n),i.cancelBubble&&e(n),Object.assign(n,{qKeyEvent:i.qKeyEvent,qClickOutside:i.qClickOutside,qAnchorHandled:i.qAnchorHandled,qClonedBy:i.qClonedBy===void 0?[t.uid]:i.qClonedBy.concat(t.uid)}),t.initialEvent={target:i.target,event:n}}e(i)}let{left:c,top:l}=r(i);t.event={x:c,y:l,time:Date.now(),mouse:s,detected:!1,isFirst:!0,isFinal:!1,lastX:c,lastY:l,lastDir:void 0}}function w(e,t,n){S(e,t,n),e.styled=!0,e.preserveCursor||(e.cursor=document.documentElement.style.cursor||``,document.documentElement.style.cursor=`grabbing`),n&&document.body.classList.add(`no-pointer-events--children`),document.body.classList.add(`non-selectable`),f()}function T(e,t){e.styled=!1,e.cursor!==void 0&&(document.documentElement.style.cursor=e.cursor,e.cursor=void 0),document.body.classList.remove(`non-selectable`),t&&document.body.classList.remove(`no-pointer-events--children`)}function E(e,t){let{event:n}=e;if(n===void 0)return;let i=r(t),a=i.left-n.x,o=i.top-n.y;if(a===0&&o===0)return;e.lastEvt=t;let{mouse:s}=n;if(n.detected){n.isFirst||S(e,t,s);let{payload:r,synthetic:i}=_(t,e,!1);r!==void 0&&(e.handler(r)===!1?D(e,t):(!e.styled&&n.isFirst&&w(e,t,s),n.lastX=r.position.left,n.lastY=r.position.top,n.lastDir=i?void 0:r.direction,n.isFirst=!1));return}let{direction:c}=e;if(c.all||s&&e.mouseAllDir){w(e,t,s),n.detected=!0,E(e,t);return}let l=Math.abs(a),u=Math.abs(o);l!==u&&(c.horizontal&&l>u||c.vertical&&l<u||c.up&&l<u&&o<0||c.down&&l<u&&o>0||c.left&&l>u&&a<0||c.right&&l>u&&a>0?(n.detected=!0,E(e,t)):D(e,t,!0))}function D(e,t,r){let{event:i,target:a}=e;if(i===void 0)return;let{mouse:s}=i;if(s?(a.removeEventListener(`mousemove`,e,h),a.removeEventListener(`mouseup`,e,m)):(a.removeEventListener(`touchmove`,e,h),a.removeEventListener(`touchcancel`,e,m),a.removeEventListener(`touchend`,e,m)),o.is.firefox&&n(e.el,!1),r)e.styled&&T(e,s),!i.detected&&e.initialEvent!==void 0&&e.initialEvent.target.dispatchEvent(e.initialEvent.event);else if(i.detected){t===void 0&&(t=e.lastEvt),i.isFirst&&e.handler(_(t,e).payload);let{payload:n}=_(t,e,!0),{handler:r}=e;e.styled?(T(e,s),s?setTimeout(r,50,n):r(n)):r(n)}e.event=void 0,e.initialEvent=void 0,e.lastEvt=void 0,e.target=null}var O=c({name:`touch-pan`,beforeMount(e,{value:t,modifiers:n}){let r={handleEvent:x,el:e,uid:`qvtp_`+g++,handler:t,modifiers:void 0,direction:void 0,stop:!1,prevent:!1,mouseAllDir:!1,preserveCursor:!1,mouseOpts:null,touchOpts:null,target:null,event:void 0,initialEvent:void 0,lastEvt:void 0,styled:!1,cursor:void 0};e.__qtouchpan=r,v(e,r,n),r.touchOpts!==null&&e.addEventListener(`touchmove`,i,h)},updated(e,{oldValue:t,value:n,modifiers:r}){let i=e.__qtouchpan;i!==void 0&&(t!==n&&(typeof n!=`function`&&D(i),i.handler=n),r!==i.modifiers&&v(e,i,r))},beforeUnmount(e){let t=e.__qtouchpan;t!==void 0&&(D(t),t.mouseOpts!==null&&e.removeEventListener(`mousedown`,y,t.mouseOpts),t.touchOpts!==null&&(e.removeEventListener(`touchstart`,b,t.touchOpts),e.removeEventListener(`touchmove`,i,h)),e.__qtouchpan=void 0)}});export{O as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as e,ot as t,ut as n,v as r}from"./reactivity.esm-bundler-Bo9anJjg.js";import{L as i,Y as a,_ as o,d as s,f as c,g as l,l as u,p as d,r as f,u as p,y as m,z as h}from"./runtime-core.esm-bundler-CNFKm4ij.js";import{l as g,pt as _,t as v,y}from"./QBtn-CcQQrYA_.js";import{Rt as b,nt as x,ot as S,rt as C,st as w}from"./index-DolbyIM4.js";import{a as T}from"./use-tours-CjASQcG5.js";import{t as E}from"./QTooltip-C31vXtse.js";import{t as D}from"./formatters-ZVNs2VOl.js";function O(e){let t=[],n=[],r=[],i=[];for(let a of e){if(a.status!==`COMPLETED`){n.push(a);continue}a.conclusion===`FAILURE`||a.conclusion===`CANCELLED`||a.conclusion===`TIMED_OUT`?t.push(a):a.conclusion===`SUCCESS`?r.push(a):i.push(a)}let a=(e,t)=>e.name.localeCompare(t.name);return t.sort(a),n.sort(a),r.sort(a),i.sort(a),{failed:t,pending:n,passed:r,skipped:i}}var k={"awaiting-user":{kind:`awaiting-user`,icon:`help`,color:`amber-5`},error:{kind:`error`,icon:`warning`,color:`red-5`},quota:{kind:`quota`,icon:`warning`,color:`red-5`}};function A(e,t,n){let r=[];if(e.status===`quota`&&n===`transient`)r.push({kind:`quota-retry`,icon:`autorenew`,color:`amber-5`});else{let t=k[e.status];t&&r.push(t)}return t&&w(t)&&!j(e.prCiFailureDismissedAt,t)&&r.push({kind:`ci-failed`,icon:`cancel`,color:`red-5`}),t&&S(t)&&!j(e.prChangesDismissedAt,t)&&r.push({kind:`changes-requested`,icon:`rate_review`,color:`red-5`}),t?.readyToMerge&&!C(e.status)&&r.push({kind:`ready-to-merge`,icon:`check_circle`,color:`green-5`}),r}function j(e,t){return e?t.updatedAt<=e:!1}var M={key:0,class:`text-caption q-mt-xs`},N={key:1,class:`q-ml-xs text-kobo-3`},P={key:1,class:`row items-center no-wrap ci-recap`},F={class:`text-amber-5`},I={class:`text-kobo-2`},L={class:`text-kobo-3`},R={class:`text-red-5`},z={class:`text-weight-medium text-amber-4 q-mb-xs row items-center no-wrap`},B={key:0,class:`text-red-4 q-mt-xs`},V={class:`text-kobo-2 q-mt-xs`},H=T(m({__name:`WorkspaceAttentionLabels`,props:{workspace:{},ciRecapOnly:{type:Boolean}},setup(m){let S=m,C=x(),w=y(),{t:T}=b(),{timeAgo:k}=D(),j=u(()=>A(S.workspace,C.prSnapshots[S.workspace.id],C.pendingQuotaBackoffs[S.workspace.id]?.reason===`transient`?`transient`:`quota`)),H=u(()=>O(C.prSnapshots[S.workspace.id]?.ci.checks??[])),U=u(()=>H.value.pending.length>0),W=r(!1);async function G(){if(!W.value){W.value=!0;try{let e=await fetch(`/api/workspaces/${S.workspace.id}/start-ci-fix`,{method:`POST`}),t=await e.json().catch(()=>({}));if(!e.ok){w.notify({type:`negative`,message:t.error??T(`tools.fixCiFailed`),position:`top`,timeout:6e3});return}w.notify({type:`positive`,message:T(`tools.fixCiLaunched`),position:`top`,timeout:3e3})}catch(e){let t=e instanceof Error?e.message:T(`tools.fixCiFailed`);w.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{W.value=!1}}}function K(e){switch(e){case`awaiting-user`:return T(`workspaceStatus.awaitingUser`);case`error`:return T(`workspaceStatus.error`);case`quota`:return T(`workspaceStatus.quota`);case`quota-retry`:return T(`workspaceStatus.retrying`);case`ci-failed`:return T(`workspaceList.attentionCiFailed`);case`changes-requested`:return T(`workspaceList.attentionChangesRequested`);case`ready-to-merge`:return T(`workspaceList.attentionReadyToMerge`)}}return(r,u)=>!m.ciRecapOnly&&j.value.length>0||U.value?(i(),d(`div`,M,[m.ciRecapOnly?c(``,!0):(i(!0),d(f,{key:0},h(j.value,(r,u)=>(i(),d(`div`,{key:r.kind,class:`row items-center no-wrap`},[o(g,{name:r.icon,size:`xs`,color:r.color,class:`q-mr-xs`},null,8,[`name`,`color`]),p(`span`,{class:t(`text-${r.color}`)},n(K(r.kind)),3),r.kind===`ci-failed`&&!m.workspace.archivedAt?(i(),s(v,{key:0,flat:``,dense:``,round:``,size:`xs`,color:`red-4`,icon:`build_circle`,class:`q-ml-xs`,loading:W.value,disable:W.value,onClick:_(G,[`stop`])},{default:a(()=>[o(E,null,{default:a(()=>[l(n(e(T)(`tools.fixCiTooltip`)),1)]),_:1})]),_:1},8,[`loading`,`disable`])):c(``,!0),u===j.value.length-1?(i(),d(`span`,N,` · `+n(e(k)(m.workspace.updatedAt)),1)):c(``,!0)]))),128)),U.value?(i(),d(`div`,P,[o(g,{name:`hourglass_empty`,size:`12px`,color:`amber-5`,class:`q-mr-xs`}),p(`span`,F,n(e(T)(`git.pr.ci.pendingCount`,{n:H.value.pending.length})),1),u[2]||=p(`span`,{class:`q-mx-xs text-kobo-3`},`·`,-1),o(g,{name:`check_circle`,size:`12px`,color:`green-5`,class:`q-mr-xs`}),p(`span`,I,n(H.value.passed.length),1),H.value.skipped.length>0?(i(),d(f,{key:0},[u[0]||=p(`span`,{class:`q-mx-xs text-kobo-3`},`·`,-1),o(g,{name:`remove_circle_outline`,size:`12px`,color:`kobo-3`,class:`q-mr-xs`}),p(`span`,L,n(H.value.skipped.length),1)],64)):c(``,!0),H.value.failed.length>0?(i(),d(f,{key:1},[u[1]||=p(`span`,{class:`q-mx-xs text-kobo-3`},`·`,-1),o(g,{name:`cancel`,size:`12px`,color:`red-5`,class:`q-mr-xs`}),p(`span`,R,n(H.value.failed.length),1)],64)):c(``,!0),o(E,{anchor:`bottom start`,self:`top start`,class:`ci-recap-tooltip`},{default:a(()=>[p(`div`,z,[o(g,{name:`hourglass_empty`,size:`13px`,class:`q-mr-xs`}),l(` `+n(e(T)(`git.pr.ci.pendingCount`,{n:H.value.pending.length})),1)]),(i(!0),d(f,null,h(H.value.pending,e=>(i(),d(`div`,{key:e.name,class:`ci-recap-tooltip__job`},n(e.name),1))),128)),H.value.failed.length>0?(i(),d(`div`,B,n(e(T)(`git.pr.ci.failedCount`,{n:H.value.failed.length})),1)):c(``,!0),p(`div`,V,n(e(T)(`git.pr.ci.passedCount`,{n:H.value.passed.length}))+` · `+n(e(T)(`git.pr.ci.skippedCount`,{n:H.value.skipped.length})),1)]),_:1})])):c(``,!0)])):c(``,!0)}}),[[`__scopeId`,`data-v-e8372f09`]]);export{A as n,O as r,H as t};
|