@loicngr/kobo 1.11.32 → 1.11.33
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 +4 -0
- package/package.json +1 -1
- package/src/client/dist/pwa/assets/{ActivityFeed-C7tG4Cgq.js → ActivityFeed--4irDPfF.js} +1 -1
- package/src/client/dist/pwa/assets/{ChangelogPage-FYve4efm.js → ChangelogPage-BT_iOfWn.js} +1 -1
- package/src/client/dist/pwa/assets/{ClosePopup-DLm_uRNv.js → ClosePopup-_NdLt5i2.js} +1 -1
- package/src/client/dist/pwa/assets/{ComparisonPanel-DRzYHcWf.js → ComparisonPanel-Kij_awqg.js} +1 -1
- package/src/client/dist/pwa/assets/{CreatePage-CT10FMyq.js → CreatePage-KdrJL7Me.js} +1 -1
- package/src/client/dist/pwa/assets/{DashboardPage-CT3XzDaz.js → DashboardPage-CPAd3eCD.js} +1 -1
- package/src/client/dist/pwa/assets/{DiffViewer-CIY7UOt6.js → DiffViewer-CYpgLe75.js} +3 -3
- package/src/client/dist/pwa/assets/{DocumentsPanel-D2IlwigV.js → DocumentsPanel-0KQrXuXF.js} +1 -1
- package/src/client/dist/pwa/assets/{DrawerToggleButton-0fKZjElk.js → DrawerToggleButton-CcH-cA9p.js} +1 -1
- package/src/client/dist/pwa/assets/{GitPanel-DjG7-AsO.js → GitPanel-BD05_3k6.js} +3 -3
- package/src/client/dist/pwa/assets/{HealthPage-BJKRSg5I.js → HealthPage-Dr-h990u.js} +1 -1
- package/src/client/dist/pwa/assets/{MainLayout-BSHKEpzs.js → MainLayout-BmhjVDiz.js} +2 -2
- package/src/client/dist/pwa/assets/{QBtnDropdown-Bqa7KhX7.js → QBtnDropdown-Ch7WOARF.js} +1 -1
- package/src/client/dist/pwa/assets/{QDrawer-DinZbnyn.js → QDrawer-C5PVKIEd.js} +1 -1
- package/src/client/dist/pwa/assets/{SchedulePanel-BDmDDRMX.js → SchedulePanel-D1L1upGW.js} +1 -1
- package/src/client/dist/pwa/assets/{SearchPage-BdisvUwr.js → SearchPage-CXGTP0of.js} +1 -1
- package/src/client/dist/pwa/assets/{SettingsPage-DCJgxm6J.js → SettingsPage-D7V7uN5K.js} +1 -1
- package/src/client/dist/pwa/assets/{TerminalPanel-DBnSOJ3B.js → TerminalPanel-jufNVqXc.js} +1 -1
- package/src/client/dist/pwa/assets/{TouchPan-D77wzGyc.js → TouchPan-Ci_dyxVk.js} +1 -1
- package/src/client/dist/pwa/assets/{TourReplayButton-DU2PItj-.js → TourReplayButton-CZqPH9hM.js} +1 -1
- package/src/client/dist/pwa/assets/{WorkspaceAttentionLabels-CRVNJtmB.js → WorkspaceAttentionLabels-BEC7IA-V.js} +1 -1
- package/src/client/dist/pwa/assets/{WorkspacePage-Dv3ED-Bt.js → WorkspacePage-D-TanDoR.js} +3 -3
- package/src/client/dist/pwa/assets/{browser-sSy6JmeQ.js → browser-DUmYgiEg.js} +1 -1
- package/src/client/dist/pwa/assets/{build-path-tree-B2-SsE87.js → build-path-tree-DyyHUwzz.js} +1 -1
- package/src/client/dist/pwa/assets/{de-D_OhjWJx.js → de-BUjatW-C.js} +1 -1
- package/src/client/dist/pwa/assets/{documents-D4BcPyOF.js → documents-39BXaRLp.js} +1 -1
- package/src/client/dist/pwa/assets/{editor.api-NH9tSUby.js → editor.api-Do1AYiz7.js} +1 -1
- package/src/client/dist/pwa/assets/{efforts-BdCfujEx.js → efforts-DjlRTQQN.js} +1 -1
- package/src/client/dist/pwa/assets/{engineFeatures-6ikmzzfp.js → engineFeatures-C78AGiF7.js} +1 -1
- package/src/client/dist/pwa/assets/{es-kxJ0xgkc.js → es-DRiVweiR.js} +1 -1
- package/src/client/dist/pwa/assets/{expand-template-3E9x3FGS.js → expand-template-17KFFCsY.js} +1 -1
- package/src/client/dist/pwa/assets/{format-CR20Lbwg.js → format-DdlEFKmU.js} +1 -1
- package/src/client/dist/pwa/assets/{formatters-TuKWWdWq.js → formatters-Bq2A89Eg.js} +1 -1
- package/src/client/dist/pwa/assets/{fr-BgQGh90C.js → fr-lXvcEWhJ.js} +1 -1
- package/src/client/dist/pwa/assets/{freemarker2-F7dLhXbU.js → freemarker2-Br0g81VI.js} +1 -1
- package/src/client/dist/pwa/assets/{handlebars-hXFhj5eh.js → handlebars-FbaXsXfL.js} +1 -1
- package/src/client/dist/pwa/assets/{html-7nsVC4pO.js → html-BSoQjC6U.js} +1 -1
- package/src/client/dist/pwa/assets/{i18n-Djnp5xDA.js → i18n-663QQ_uF.js} +1 -1
- package/src/client/dist/pwa/assets/{index-DztjpQfb.js → index-BDTPwynK.js} +3 -3
- package/src/client/dist/pwa/assets/{it-BmzSIMv5.js → it-DBTMyadC.js} +1 -1
- package/src/client/dist/pwa/assets/{javascript-59rTAWws.js → javascript-DyaXAXwe.js} +1 -1
- package/src/client/dist/pwa/assets/{liquid-BP6Awnwy.js → liquid-CM0jAcRe.js} +1 -1
- package/src/client/dist/pwa/assets/{mdx-CiCpqnQ4.js → mdx-C8TCxhMn.js} +1 -1
- package/src/client/dist/pwa/assets/{monaco-contributions-DzI5nDgU.js → monaco-contributions-DWI2C6KU.js} +1 -1
- package/src/client/dist/pwa/assets/{monaco.contribution-9uLUIE5c.js → monaco.contribution-DS4KiLpR.js} +2 -2
- package/src/client/dist/pwa/assets/{network-auth--GlWvRqv.js → network-auth-WHMGZHjT.js} +1 -1
- package/src/client/dist/pwa/assets/{notify-theme-DQ_bPMUo.js → notify-theme--s1RcQmT.js} +1 -1
- package/src/client/dist/pwa/assets/{pending-diff-open-CK20L_pt.js → pending-diff-open-DWEfW98v.js} +1 -1
- package/src/client/dist/pwa/assets/{permissionModes-DORv0Hwo.js → permissionModes-B5Kgd8T6.js} +1 -1
- package/src/client/dist/pwa/assets/{project-color-DrojOIC6.js → project-color-DujVR8Fa.js} +1 -1
- package/src/client/dist/pwa/assets/{python-BfVlMXCp.js → python-7qqqHkG7.js} +1 -1
- package/src/client/dist/pwa/assets/{razor-CxyOPnW7.js → razor-o3t0P5Qt.js} +1 -1
- package/src/client/dist/pwa/assets/{render-chat-markdown-nZGk_TRQ.js → render-chat-markdown-BHUn1rwa.js} +1 -1
- package/src/client/dist/pwa/assets/{typescript-Bke62OsW.js → typescript-gEevI6ZM.js} +1 -1
- package/src/client/dist/pwa/assets/{use-tours-BEdbVcQS.js → use-tours-Co_sci4c.js} +2 -2
- package/src/client/dist/pwa/assets/{workspace-templates-1zUtbH31.js → workspace-templates-BH4xqYR_.js} +1 -1
- package/src/client/dist/pwa/assets/{xml-Cg47p-KM.js → xml-xV5YWh8z.js} +1 -1
- package/src/client/dist/pwa/assets/{yaml-Dj1MTjr-.js → yaml-DNkjt0UK.js} +1 -1
- package/src/client/dist/pwa/index.html +1 -1
- package/src/client/dist/pwa/sw.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{v as e}from"./reactivity.esm-bundler-DEJj9cFv.js";import{C as t,J as n,K as r,O as i,P as a,T as o,b as ee,j as te,l as s}from"./runtime-core.esm-bundler-CS0xkoG_.js";import{I as ne,P as c,S as re,tt as l,y as ie}from"./QBtn-DqZryKOh.js";import{a as u,i as ae}from"./pinia-jcytgarH.js";import{$t as oe,Dt as se,Jt as d,Ot as f,Qt as ce,Yt as p,kt as le,qt as ue}from"./index-
|
|
1
|
+
import{v as e}from"./reactivity.esm-bundler-DEJj9cFv.js";import{C as t,J as n,K as r,O as i,P as a,T as o,b as ee,j as te,l as s}from"./runtime-core.esm-bundler-CS0xkoG_.js";import{I as ne,P as c,S as re,tt as l,y as ie}from"./QBtn-DqZryKOh.js";import{a as u,i as ae}from"./pinia-jcytgarH.js";import{$t as oe,Dt as se,Jt as d,Ot as f,Qt as ce,Yt as p,kt as le,qt as ue}from"./index-BDTPwynK.js";import{m}from"./permissionModes-B5Kgd8T6.js";import{t as h}from"./TouchPan-Ci_dyxVk.js";var g=150;function de(e,t){e.value!==t&&(e.value=t)}var _=l({name:`QDrawer`,inheritAttrs:!1,props:{...p,...u,side:{type:String,default:`left`,validator:e=>[`left`,`right`].includes(e)},width:{type:Number,default:300},mini:Boolean,miniToOverlay:Boolean,miniWidth:{type:Number,default:57},noMiniAnimation:Boolean,breakpoint:{type:Number,default:1023},showIfAbove:Boolean,behavior:{type:String,validator:e=>[`default`,`desktop`,`mobile`].includes(e),default:`default`},bordered:Boolean,elevated:Boolean,overlay:Boolean,persistent:Boolean,noSwipeOpen:Boolean,noSwipeClose:Boolean,noSwipeBackdrop:Boolean},emits:[...d,`onLayout`,`miniState`,`escapeKey`],setup(l,{slots:u,emit:d,attrs:p}){let _=ee(),v=ie(),fe=ae(l,v),{preventBodyScroll:y}=le(),{registerTimeout:b,removeTimeout:pe}=ce(),x=o(ne,c);if(x===c)return console.error(`QDrawer needs to be child of QLayout`),c;let S,C=null,w,T=e(l.behavior===`mobile`||l.behavior!==`desktop`&&x.totalWidth.value<=l.breakpoint),E=s(()=>l.mini&&!T.value),D=s(()=>E.value?l.miniWidth:l.width),O=s(()=>l.overlay||l.miniToOverlay||x.view.value.includes(R.value?`R`:`L`)||v.platform.is.ios&&x.isContainer.value),k=e(l.showIfAbove&&!T.value||l.modelValue===!0),A=s(()=>!l.overlay&&k.value&&!T.value),me=s(()=>l.overlay&&k.value&&!T.value),j=s(()=>!l.persistent&&(T.value||me.value));function M(e,t){if(he(),e!==!1&&x.animate(),J(0),T.value){let e=x.instances[W.value];e?.belowBreakpoint.value&&e.hide(!1),Y(1),x.isContainer.value||y(!0)}else Y(0),e!==!1&&X(!1);b(()=>{e!==!1&&X(!0),t||d(`show`,e)},g)}function N(e,t){ge(),e!==!1&&x.animate(),Y(0),J(z.value*D.value),Z(),t?pe():b(()=>{d(`hide`,e)},g)}let{show:P,hide:F}=ue({showing:k,hideOnRouteChange:j,handleShow:M,handleHide:N}),{addToHistory:he,removeFromHistory:ge}=oe(k,F,j),_e=s(()=>k.value&&j.value);function I(e){d(`escapeKey`),F(e)}function ve(e){e?se(I):f(I)}let L={belowBreakpoint:T,hide:F},R=s(()=>l.side===`right`),z=s(()=>(v.lang.rtl?-1:1)*(R.value?1:-1)),B=e(0),V=e(!1),H=e(!1),U=e(D.value*z.value),W=s(()=>R.value?`left`:`right`),G=s(()=>k.value&&!T.value&&!l.overlay?l.miniToOverlay?l.miniWidth:D.value:0),ye=s(()=>`fullscreen q-drawer__backdrop`+(!k.value&&!V.value?` hidden`:``)),be=s(()=>({backgroundColor:`rgba(0,0,0,${B.value*.4})`})),K=s(()=>R.value?x.rows.value.top[2]===`r`:x.rows.value.top[0]===`l`),xe=s(()=>R.value?x.rows.value.bottom[2]===`r`:x.rows.value.bottom[0]===`l`),Se=s(()=>{let e={};return x.header.space&&!K.value&&(O.value?e.top=`${x.header.offset}px`:x.header.space&&(e.top=`${x.header.size}px`)),x.footer.space&&!xe.value&&(O.value?e.bottom=`${x.footer.offset}px`:x.footer.space&&(e.bottom=`${x.footer.size}px`)),e}),Ce=s(()=>{let e={width:`${D.value}px`,transform:`translateX(${U.value}px)`};return T.value?e:Object.assign(e,Se.value)}),we=s(()=>`q-drawer__content fit `+(x.isContainer.value?`overflow-auto`:`scroll`)),Te=s(()=>`q-drawer q-drawer--${l.side}`+(H.value?` q-drawer--mini-animate`:``)+(l.bordered?` q-drawer--bordered`:``)+(fe()?` q-drawer--dark q-dark`:``)+(V.value?` no-transition`:k.value?``:` q-layout--prevent-focus`)+(T.value?` fixed q-drawer--on-top q-drawer--mobile q-drawer--top-padding`:` q-drawer--${E.value?`mini`:`standard`}`+(O.value||!A.value?` fixed`:``)+(l.overlay||l.miniToOverlay?` q-drawer--on-top`:``)+(K.value?` q-drawer--top-padding`:``))),Ee=s(()=>{let e=v.lang.rtl?l.side:W.value;return[[h,Ae,void 0,{[e]:!0,mouse:!0}]]}),De=s(()=>{let e=v.lang.rtl?W.value:l.side;return[[h,T.value&&!l.noSwipeClose?je:void 0,void 0,{[e]:!0,mouse:!0}]]}),Oe=s(()=>{let e=v.lang.rtl?W.value:l.side;return[[h,k.value&&!l.noSwipeBackdrop?je:void 0,void 0,{[e]:!0,mouse:!0,mouseAllDir:!0}]]});function q(){de(T,l.behavior===`mobile`||l.behavior!==`desktop`&&x.totalWidth.value<=l.breakpoint)}r(T,e=>{e?(S=k.value,k.value&&F(!1)):k.value?(J(0),Y(0),Z()):!l.overlay&&l.behavior!==`mobile`&&S!==!1&&P(!1)}),r(()=>l.side,(e,t)=>{x.instances[t]===L&&(x.instances[t]=void 0,x[t].space=!1,x[t].offset=0),x.instances[e]=L,x[e].size=D.value,x[e].space=A.value,x[e].offset=G.value}),r(x.totalWidth,()=>{(x.isContainer.value||!document.qScrollPrevented)&&q()}),r(()=>l.behavior+l.breakpoint,q),r(x.isContainer,e=>{k.value&&y(!e),e&&q()}),r(x.scrollbarWidth,()=>{J(k.value?0:void 0)}),r(G,e=>{Q(`offset`,e)}),r(A,e=>{d(`onLayout`,e),Q(`space`,e)}),r(R,()=>{J()}),r(D,e=>{J(),$(l.miniToOverlay,e)}),r(()=>l.miniToOverlay,e=>{$(e,D.value)}),r(()=>v.lang.rtl,()=>{J()}),r(()=>l.mini,()=>{l.noMiniAnimation||l.modelValue&&(ke(),x.animate())}),r(E,e=>{d(`miniState`,e)});function J(e){e===void 0?i(()=>{e=k.value?0:D.value,J(z.value*e)}):(x.isContainer.value&&R.value&&(T.value||Math.abs(e)===D.value)&&(e+=z.value*x.scrollbarWidth.value),U.value=e)}function Y(e){B.value=e}function X(e){let t=e?`remove`:x.isContainer.value?``:`add`;t!==``&&document.body.classList[t](`q-body--drawer-toggle`)}function ke(){C!==null&&clearTimeout(C),_.proxy&&_.proxy.$el&&_.proxy.$el.classList.add(`q-drawer--mini-animate`),H.value=!0,C=setTimeout(()=>{C=null,H.value=!1,_?.proxy?.$el?.classList.remove(`q-drawer--mini-animate`)},150)}function Ae(e){if(k.value)return;let t=D.value,n=m(e.distance.x,0,t);if(e.isFinal){n>=Math.min(75,t)?P():(x.animate(),Y(0),J(z.value*t)),V.value=!1;return}J((v.lang.rtl?!R.value:R.value)?Math.max(t-n,0):Math.min(0,n-t)),Y(m(n/t,0,1)),e.isFirst&&(V.value=!0)}function je(e){if(!k.value)return;let t=D.value,n=e.direction===l.side,r=(v.lang.rtl?!n:n)?m(e.distance.x,0,t):0;if(e.isFinal){Math.abs(r)<Math.min(75,t)?(x.animate(),Y(1),J(0)):F(),V.value=!1;return}J(z.value*r),Y(m(1-r/t,0,1)),e.isFirst&&(V.value=!0)}function Z(){y(!1),X(!0)}function Q(e,t){x.update(l.side,e,t)}function $(e,t){Q(`size`,e?l.miniWidth:t)}return x.instances[l.side]=L,$(l.miniToOverlay,D.value),Q(`space`,A.value),Q(`offset`,G.value),l.showIfAbove&&!l.modelValue&&k.value&&l[`onUpdate:modelValue`]!==void 0&&d(`update:modelValue`,!0),a(()=>{d(`onLayout`,A.value),d(`miniState`,E.value),r(_e,ve,{immediate:!0}),S=l.showIfAbove;let e=()=>{(k.value?M:N)(!1,!0)};if(x.totalWidth.value!==0){i(e);return}w=r(x.totalWidth,()=>{w(),w=void 0,!k.value&&l.showIfAbove&&!T.value?P(!1):e()})}),te(()=>{w?.(),f(I),C!==null&&(clearTimeout(C),C=null),k.value&&Z(),x.instances[l.side]===L&&(x.instances[l.side]=void 0,Q(`size`,0),Q(`offset`,0),Q(`space`,!1))}),()=>{let e=[];T.value&&(l.noSwipeOpen||e.push(n(t(`div`,{key:`open`,class:`q-drawer__opener fixed-${l.side}`,"aria-hidden":`true`}),Ee.value)),e.push(n(t(`div`,{ref:`backdrop`,class:ye.value,style:be.value,"aria-hidden":`true`,onClick:F}),Oe.value)));let r={},i={};for(let e in p)e===`role`||e.startsWith(`aria-`)?r[e]=p[e]:i[e]=p[e];let a=E.value&&u.mini!==void 0,o=[t(`div`,{...i,key:String(a),class:[we.value,p.class]},a?u.mini():re(u.default))];return l.elevated&&k.value&&o.push(t(`div`,{class:`q-layout__shadow absolute-full overflow-hidden no-pointer-events`})),e.push(n(t(`aside`,{ref:`content`,class:Te.value,style:Ce.value,...r},o),De.value)),t(`div`,{class:`q-drawer-container`},e)}}});export{_ as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as e,ut as t,v as n}from"./reactivity.esm-bundler-DEJj9cFv.js";import{K as r,L as i,_ as a,d as o,f as s,g as ee,l as c,p as l,q as u,r as te,u as d,y as f,z as ne}from"./runtime-core.esm-bundler-CS0xkoG_.js";import{l as p,t as m,y as re}from"./QBtn-DqZryKOh.js";import{ct as h,en as g,nn as _,o as ie,p as ae,vt as oe}from"./index-DztjpQfb.js";import{_ as se,a as ce}from"./permissionModes-DORv0Hwo.js";import{a as v}from"./use-tours-BEdbVcQS.js";import{t as le}from"./QBadge-CWEaKfKi.js";import{t as ue}from"./QChip-CJ6WmvGE.js";import{t as y}from"./QBtnToggle-CCgwqSgg.js";function de(e,t){let n=Math.max(1,Math.floor(t));switch(e){case`minutes`:return`*/${n} * * * *`;case`hours`:return`0 */${n} * * *`;case`days`:return`0 0 */${n} * *`}}function fe(e){return Math.max(1,Math.floor(e))>1}var pe={class:`column q-pa-md q-gutter-lg`},me={class:`row items-center no-wrap q-gutter-sm`},he={class:`schedule-header__icon`},ge={class:`text-subtitle1 text-weight-medium`},_e={class:`text-caption text-kobo-3`},ve={class:`row items-center justify-between q-mb-sm`},ye={class:`text-subtitle2`},be={class:`text-body2 text-weight-medium`},xe={class:`text-caption text-kobo-3`},Se={key:1,class:`column q-gutter-sm`},b={class:`row items-start no-wrap q-gutter-sm`},x={class:`schedule-item__icon schedule-item__icon--wakeup`},S={class:`col min-width-zero`},C={class:`text-caption text-kobo-3`},w={class:`text-body2 text-weight-medium`},T={key:0,class:`prompt-preview schedule-item__prompt`},E={class:`row items-start no-wrap q-gutter-sm`},D={class:`schedule-item__icon schedule-item__icon--cron`},O={class:`col min-width-zero`},k={class:`text-body2 text-weight-medium ellipsis`},A={class:`text-caption text-kobo-3`},j={class:`row items-center q-gutter-xs q-mt-sm`},Ce={key:0,class:`text-caption text-kobo-3`},we={class:`prompt-preview schedule-item__prompt`},Te={class:`row items-center justify-between q-mb-sm`},Ee={class:`text-subtitle2`},De={class:`text-caption text-kobo-3`},Oe={class:`text-body2 text-weight-medium`},ke={class:`text-caption text-kobo-3`},Ae={class:`column q-gutter-y-xs`},je={class:`field-label`},Me={class:`text-body2 text-weight-medium`},Ne={class:`text-caption text-kobo-3`},Pe={class:`column q-gutter-y-xs`},Fe={class:`field-label`},Ie={class:`row items-center no-wrap q-gutter-sm`},Le={class:`text-body2 text-kobo-2`},Re={key:0,class:`text-caption text-warning`},ze={class:`column q-gutter-y-xs`},Be={class:`field-label`},Ve={class:`one-shot-option row items-center justify-between no-wrap q-pa-sm`},He={class:`text-body2`},Ue={class:`text-caption text-kobo-3`},M=v(f({__name:`SchedulePanel`,props:{workspaceId:{}},setup(f){let v=f,{t:M}=oe(),N=re(),P=ae(),F=c(()=>P.pendingWakeups[v.workspaceId]??null),I=c(()=>P.crons[v.workspaceId]??[]),L=c(()=>I.value.length+ +!!F.value);r(()=>v.workspaceId,e=>{e&&P.fetchCrons(e)},{immediate:!0});function R(e){return new Date(e).toLocaleString(void 0,{weekday:`short`,day:`numeric`,month:`short`,hour:`2-digit`,minute:`2-digit`})}function We(e){let t=Date.now()-new Date(e).getTime();if(Number.isNaN(t)||t<0)return`—`;let n=new Intl.RelativeTimeFormat(void 0,{numeric:`auto`}),r=Math.floor(t/1e3);if(r<60)return n.format(-r,`second`);let i=Math.floor(r/60);if(i<60)return n.format(-i,`minute`);let a=Math.floor(i/60);return a<24?n.format(-a,`hour`):n.format(-Math.floor(a/24),`day`)}async function Ge(){try{let e=await fetch(`/api/workspaces/${v.workspaceId}/pending-wakeup`,{method:`DELETE`});if(!e.ok)throw Error(`HTTP ${e.status}`)}catch(e){N.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}}async function Ke(e){try{await P.cancelCron(v.workspaceId,e)}catch(e){N.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}}let z=n(`wakeup`),B=n(15),V=n(`minutes`),H=n(``),U=n(``),W=n(``),G=n(`fresh`),K=n(!1),q=n(!1),qe=c(()=>[{label:M(`schedule.typeWakeup`),value:`wakeup`,icon:`alarm`},{label:M(`schedule.typeRecurring`),value:`cron`,icon:`event_repeat`}]),J=c(()=>[{label:M(`schedule.modeFresh`),value:`fresh`,icon:`add_comment`},{label:M(`schedule.modeResume`),value:`resume`,icon:`history`}]),Je=c(()=>[{label:M(`schedule.unitMinutes`),value:`minutes`},{label:M(`schedule.unitHours`),value:`hours`},{label:M(`schedule.unitDays`),value:`days`}]);async function Y(){if(U.value.trim()&&!q.value){q.value=!0;try{let e=H.value.trim()||de(V.value,B.value);await P.createCron(v.workspaceId,{expression:e,prompt:U.value,label:W.value.trim()||void 0,mode:G.value,oneShot:K.value}),U.value=``,W.value=``,H.value=``,N.notify({type:`positive`,message:M(`schedule.cronCreated`),position:`top`,timeout:2500})}catch(e){N.notify({type:`negative`,message:String(e instanceof Error?e.message:e),position:`top`,timeout:5e3})}finally{q.value=!1}}}let X=n(15),Z=n(``),Q=n(`fresh`),$=n(!1);async function Ye(){if(Z.value.trim()&&X.value>0&&!$.value){$.value=!0;try{await P.scheduleManualWakeup(v.workspaceId,{delaySeconds:Math.round(X.value*60),prompt:Z.value,mode:Q.value}),Z.value=``,N.notify({type:`positive`,message:M(`schedule.wakeupCreated`),position:`top`,timeout:2500})}catch(e){N.notify({type:`negative`,message:String(e instanceof Error?e.message:e),position:`top`,timeout:5e3})}finally{$.value=!1}}}return(n,r)=>(i(),l(`div`,pe,[d(`header`,me,[d(`div`,he,[a(p,{name:`calendar_month`,size:`22px`})]),d(`div`,null,[d(`div`,ge,t(n.$t(`schedule.panelTitle`)),1),d(`div`,_e,t(n.$t(`schedule.panelDescription`)),1)])]),d(`section`,null,[d(`div`,ve,[d(`div`,ye,t(n.$t(`schedule.activeTitle`)),1),L.value>0?(i(),o(le,{key:0,rounded:``,color:`primary`,label:L.value},null,8,[`label`])):s(``,!0)]),L.value===0?(i(),o(g,{key:0,dark:``,flat:``,bordered:``,class:`empty-state row items-center q-gutter-sm q-pa-md`},{default:u(()=>[a(p,{name:`event_available`,size:`24px`,color:`kobo-3`}),d(`div`,null,[d(`div`,be,t(n.$t(`schedule.emptyTitle`)),1),d(`div`,xe,t(n.$t(`schedule.emptyDescription`)),1)])]),_:1})):(i(),l(`div`,Se,[F.value?(i(),o(g,{key:0,dark:``,flat:``,bordered:``,class:`schedule-item schedule-item--wakeup`},{default:u(()=>[a(_,null,{default:u(()=>[d(`div`,b,[d(`div`,x,[a(p,{name:`alarm`,size:`18px`})]),d(`div`,S,[d(`div`,C,t(n.$t(`schedule.wakeupTitle`)),1),d(`div`,w,t(R(F.value.targetAt)),1)]),a(m,{flat:``,dense:``,round:``,icon:`delete_outline`,size:`sm`,color:`kobo-2`,title:n.$t(`schedule.cancelWakeup`),onClick:Ge},null,8,[`title`])]),F.value.reason?(i(),l(`div`,T,t(F.value.reason),1)):s(``,!0)]),_:1})]),_:1})):s(``,!0),(i(!0),l(te,null,ne(I.value,e=>(i(),o(g,{key:e.id,dark:``,flat:``,bordered:``,class:`schedule-item`},{default:u(()=>[a(_,null,{default:u(()=>[d(`div`,E,[d(`div`,D,[a(p,{name:`event_repeat`,size:`18px`})]),d(`div`,O,[d(`div`,k,t(e.label||e.expression),1),d(`div`,A,t(n.$t(`schedule.nextFireAt`,{time:R(e.nextFireAt)})),1)]),a(m,{flat:``,dense:``,round:``,icon:`delete_outline`,size:`sm`,color:`kobo-2`,title:n.$t(`schedule.cancelCron`),onClick:t=>Ke(e.id)},null,8,[`title`,`onClick`])]),d(`div`,j,[a(ue,{dense:``,square:``,color:`blue-grey-9`,"text-color":`kobo-2`,size:`sm`},{default:u(()=>[ee(t(e.expression),1)]),_:2},1024),e.lastFiredAt?(i(),l(`span`,Ce,t(n.$t(`schedule.lastFiredAt`,{time:We(e.lastFiredAt)})),1)):s(``,!0)]),d(`div`,we,t(e.prompt),1)]),_:2},1024)]),_:2},1024))),128))]))]),d(`section`,null,[d(`div`,Te,[d(`div`,null,[d(`div`,Ee,t(n.$t(`schedule.createTitle`)),1),d(`div`,De,t(n.$t(`schedule.createDescription`)),1)])]),a(g,{dark:``,flat:``,bordered:``,class:`create-card`},{default:u(()=>[a(y,{modelValue:z.value,"onUpdate:modelValue":r[0]||=e=>z.value=e,spread:``,"no-caps":``,unelevated:``,"toggle-color":`primary`,color:`blue-grey-10`,"text-color":`kobo-2`,options:qe.value,class:`type-toggle`},null,8,[`modelValue`,`options`]),z.value===`wakeup`?(i(),o(_,{key:0,class:`column q-gutter-y-md`},{default:u(()=>[d(`div`,null,[d(`div`,Oe,t(n.$t(`schedule.addWakeupTitle`)),1),d(`div`,ke,t(n.$t(`schedule.wakeupDescription`)),1)]),a(h,{modelValue:X.value,"onUpdate:modelValue":r[1]||=e=>X.value=e,modelModifiers:{number:!0},type:`number`,dense:``,dark:``,outlined:``,min:`1`,label:n.$t(`schedule.delayMinutes`)},{prepend:u(()=>[a(p,{name:`timer`,size:`18px`})]),_:1},8,[`modelValue`,`label`]),a(h,{modelValue:Z.value,"onUpdate:modelValue":r[2]||=e=>Z.value=e,type:`textarea`,autogrow:``,dense:``,dark:``,outlined:``,label:n.$t(`schedule.promptLabel`),hint:n.$t(`schedule.promptHint`)},null,8,[`modelValue`,`label`,`hint`]),d(`div`,Ae,[d(`div`,je,t(n.$t(`schedule.sessionModeTitle`)),1),a(y,{modelValue:Q.value,"onUpdate:modelValue":r[3]||=e=>Q.value=e,spread:``,"no-caps":``,unelevated:``,"toggle-color":`blue-grey-7`,color:`transparent`,"text-color":`kobo-2`,options:J.value,class:`session-toggle`},null,8,[`modelValue`,`options`])]),a(m,{"no-caps":``,unelevated:``,color:`primary`,icon:`alarm_add`,loading:$.value,disable:!Z.value.trim()||!(X.value>0),label:n.$t(`schedule.addWakeupBtn`),class:`full-width action-button`,onClick:Ye},null,8,[`loading`,`disable`,`label`])]),_:1})):(i(),o(_,{key:1,class:`column q-gutter-y-md`},{default:u(()=>[d(`div`,null,[d(`div`,Me,t(n.$t(`schedule.addCronTitle`)),1),d(`div`,Ne,t(n.$t(`schedule.cronDescription`)),1)]),a(h,{modelValue:W.value,"onUpdate:modelValue":r[4]||=e=>W.value=e,dense:``,dark:``,outlined:``,label:n.$t(`schedule.labelOptional`)},null,8,[`modelValue`,`label`]),d(`div`,Pe,[d(`div`,Fe,t(n.$t(`schedule.frequencyTitle`)),1),d(`div`,Ie,[d(`span`,Le,t(n.$t(`schedule.every`)),1),a(h,{modelValue:B.value,"onUpdate:modelValue":r[5]||=e=>B.value=e,modelModifiers:{number:!0},type:`number`,dense:``,dark:``,outlined:``,min:`1`,class:`frequency-value`},null,8,[`modelValue`]),a(ce,{modelValue:V.value,"onUpdate:modelValue":r[6]||=e=>V.value=e,options:Je.value,dense:``,dark:``,outlined:``,"options-dense":``,"emit-value":``,"map-options":``,class:`col min-width-zero`},null,8,[`modelValue`,`options`])]),V.value===`days`&&e(fe)(B.value)?(i(),l(`div`,Re,t(n.$t(`schedule.daysDriftWarning`)),1)):s(``,!0)]),a(h,{modelValue:U.value,"onUpdate:modelValue":r[7]||=e=>U.value=e,type:`textarea`,autogrow:``,dense:``,dark:``,outlined:``,label:n.$t(`schedule.promptLabel`),hint:n.$t(`schedule.promptHint`)},null,8,[`modelValue`,`label`,`hint`]),a(se,{dense:``,"dense-toggle":``,"switch-toggle-side":``,icon:`code`,label:n.$t(`schedule.advancedExpression`),caption:n.$t(`schedule.advancedDescription`),class:`advanced-section`},{default:u(()=>[a(h,{modelValue:H.value,"onUpdate:modelValue":r[8]||=e=>H.value=e,dense:``,dark:``,outlined:``,label:n.$t(`schedule.cronExpressionLabel`),hint:n.$t(`schedule.advancedHint`),class:`q-mt-sm`},null,8,[`modelValue`,`label`,`hint`])]),_:1},8,[`label`,`caption`]),d(`div`,ze,[d(`div`,Be,t(n.$t(`schedule.sessionModeTitle`)),1),a(y,{modelValue:G.value,"onUpdate:modelValue":r[9]||=e=>G.value=e,spread:``,"no-caps":``,unelevated:``,"toggle-color":`blue-grey-7`,color:`transparent`,"text-color":`kobo-2`,options:J.value,class:`session-toggle`},null,8,[`modelValue`,`options`])]),d(`div`,Ve,[d(`div`,null,[d(`div`,He,t(n.$t(`schedule.oneShot`)),1),d(`div`,Ue,t(n.$t(`schedule.oneShotHint`)),1)]),a(ie,{modelValue:K.value,"onUpdate:modelValue":r[10]||=e=>K.value=e,dense:``},null,8,[`modelValue`])]),a(m,{"no-caps":``,unelevated:``,color:`primary`,icon:`add_task`,loading:q.value,disable:!U.value.trim(),label:n.$t(`schedule.addCronBtn`),class:`full-width action-button`,onClick:Y},null,8,[`loading`,`disable`,`label`])]),_:1}))]),_:1})])]))}}),[[`__scopeId`,`data-v-127c3cf8`]]);export{M as default};
|
|
1
|
+
import{j as e,ut as t,v as n}from"./reactivity.esm-bundler-DEJj9cFv.js";import{K as r,L as i,_ as a,d as o,f as s,g as ee,l as c,p as l,q as u,r as te,u as d,y as f,z as ne}from"./runtime-core.esm-bundler-CS0xkoG_.js";import{l as p,t as m,y as re}from"./QBtn-DqZryKOh.js";import{ct as h,en as g,nn as _,o as ie,p as ae,vt as oe}from"./index-BDTPwynK.js";import{_ as se,a as ce}from"./permissionModes-B5Kgd8T6.js";import{a as v}from"./use-tours-Co_sci4c.js";import{t as le}from"./QBadge-CWEaKfKi.js";import{t as ue}from"./QChip-CJ6WmvGE.js";import{t as y}from"./QBtnToggle-CCgwqSgg.js";function de(e,t){let n=Math.max(1,Math.floor(t));switch(e){case`minutes`:return`*/${n} * * * *`;case`hours`:return`0 */${n} * * *`;case`days`:return`0 0 */${n} * *`}}function fe(e){return Math.max(1,Math.floor(e))>1}var pe={class:`column q-pa-md q-gutter-lg`},me={class:`row items-center no-wrap q-gutter-sm`},he={class:`schedule-header__icon`},ge={class:`text-subtitle1 text-weight-medium`},_e={class:`text-caption text-kobo-3`},ve={class:`row items-center justify-between q-mb-sm`},ye={class:`text-subtitle2`},be={class:`text-body2 text-weight-medium`},xe={class:`text-caption text-kobo-3`},Se={key:1,class:`column q-gutter-sm`},b={class:`row items-start no-wrap q-gutter-sm`},x={class:`schedule-item__icon schedule-item__icon--wakeup`},S={class:`col min-width-zero`},C={class:`text-caption text-kobo-3`},w={class:`text-body2 text-weight-medium`},T={key:0,class:`prompt-preview schedule-item__prompt`},E={class:`row items-start no-wrap q-gutter-sm`},D={class:`schedule-item__icon schedule-item__icon--cron`},O={class:`col min-width-zero`},k={class:`text-body2 text-weight-medium ellipsis`},A={class:`text-caption text-kobo-3`},j={class:`row items-center q-gutter-xs q-mt-sm`},Ce={key:0,class:`text-caption text-kobo-3`},we={class:`prompt-preview schedule-item__prompt`},Te={class:`row items-center justify-between q-mb-sm`},Ee={class:`text-subtitle2`},De={class:`text-caption text-kobo-3`},Oe={class:`text-body2 text-weight-medium`},ke={class:`text-caption text-kobo-3`},Ae={class:`column q-gutter-y-xs`},je={class:`field-label`},Me={class:`text-body2 text-weight-medium`},Ne={class:`text-caption text-kobo-3`},Pe={class:`column q-gutter-y-xs`},Fe={class:`field-label`},Ie={class:`row items-center no-wrap q-gutter-sm`},Le={class:`text-body2 text-kobo-2`},Re={key:0,class:`text-caption text-warning`},ze={class:`column q-gutter-y-xs`},Be={class:`field-label`},Ve={class:`one-shot-option row items-center justify-between no-wrap q-pa-sm`},He={class:`text-body2`},Ue={class:`text-caption text-kobo-3`},M=v(f({__name:`SchedulePanel`,props:{workspaceId:{}},setup(f){let v=f,{t:M}=oe(),N=re(),P=ae(),F=c(()=>P.pendingWakeups[v.workspaceId]??null),I=c(()=>P.crons[v.workspaceId]??[]),L=c(()=>I.value.length+ +!!F.value);r(()=>v.workspaceId,e=>{e&&P.fetchCrons(e)},{immediate:!0});function R(e){return new Date(e).toLocaleString(void 0,{weekday:`short`,day:`numeric`,month:`short`,hour:`2-digit`,minute:`2-digit`})}function We(e){let t=Date.now()-new Date(e).getTime();if(Number.isNaN(t)||t<0)return`—`;let n=new Intl.RelativeTimeFormat(void 0,{numeric:`auto`}),r=Math.floor(t/1e3);if(r<60)return n.format(-r,`second`);let i=Math.floor(r/60);if(i<60)return n.format(-i,`minute`);let a=Math.floor(i/60);return a<24?n.format(-a,`hour`):n.format(-Math.floor(a/24),`day`)}async function Ge(){try{let e=await fetch(`/api/workspaces/${v.workspaceId}/pending-wakeup`,{method:`DELETE`});if(!e.ok)throw Error(`HTTP ${e.status}`)}catch(e){N.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}}async function Ke(e){try{await P.cancelCron(v.workspaceId,e)}catch(e){N.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}}let z=n(`wakeup`),B=n(15),V=n(`minutes`),H=n(``),U=n(``),W=n(``),G=n(`fresh`),K=n(!1),q=n(!1),qe=c(()=>[{label:M(`schedule.typeWakeup`),value:`wakeup`,icon:`alarm`},{label:M(`schedule.typeRecurring`),value:`cron`,icon:`event_repeat`}]),J=c(()=>[{label:M(`schedule.modeFresh`),value:`fresh`,icon:`add_comment`},{label:M(`schedule.modeResume`),value:`resume`,icon:`history`}]),Je=c(()=>[{label:M(`schedule.unitMinutes`),value:`minutes`},{label:M(`schedule.unitHours`),value:`hours`},{label:M(`schedule.unitDays`),value:`days`}]);async function Y(){if(U.value.trim()&&!q.value){q.value=!0;try{let e=H.value.trim()||de(V.value,B.value);await P.createCron(v.workspaceId,{expression:e,prompt:U.value,label:W.value.trim()||void 0,mode:G.value,oneShot:K.value}),U.value=``,W.value=``,H.value=``,N.notify({type:`positive`,message:M(`schedule.cronCreated`),position:`top`,timeout:2500})}catch(e){N.notify({type:`negative`,message:String(e instanceof Error?e.message:e),position:`top`,timeout:5e3})}finally{q.value=!1}}}let X=n(15),Z=n(``),Q=n(`fresh`),$=n(!1);async function Ye(){if(Z.value.trim()&&X.value>0&&!$.value){$.value=!0;try{await P.scheduleManualWakeup(v.workspaceId,{delaySeconds:Math.round(X.value*60),prompt:Z.value,mode:Q.value}),Z.value=``,N.notify({type:`positive`,message:M(`schedule.wakeupCreated`),position:`top`,timeout:2500})}catch(e){N.notify({type:`negative`,message:String(e instanceof Error?e.message:e),position:`top`,timeout:5e3})}finally{$.value=!1}}}return(n,r)=>(i(),l(`div`,pe,[d(`header`,me,[d(`div`,he,[a(p,{name:`calendar_month`,size:`22px`})]),d(`div`,null,[d(`div`,ge,t(n.$t(`schedule.panelTitle`)),1),d(`div`,_e,t(n.$t(`schedule.panelDescription`)),1)])]),d(`section`,null,[d(`div`,ve,[d(`div`,ye,t(n.$t(`schedule.activeTitle`)),1),L.value>0?(i(),o(le,{key:0,rounded:``,color:`primary`,label:L.value},null,8,[`label`])):s(``,!0)]),L.value===0?(i(),o(g,{key:0,dark:``,flat:``,bordered:``,class:`empty-state row items-center q-gutter-sm q-pa-md`},{default:u(()=>[a(p,{name:`event_available`,size:`24px`,color:`kobo-3`}),d(`div`,null,[d(`div`,be,t(n.$t(`schedule.emptyTitle`)),1),d(`div`,xe,t(n.$t(`schedule.emptyDescription`)),1)])]),_:1})):(i(),l(`div`,Se,[F.value?(i(),o(g,{key:0,dark:``,flat:``,bordered:``,class:`schedule-item schedule-item--wakeup`},{default:u(()=>[a(_,null,{default:u(()=>[d(`div`,b,[d(`div`,x,[a(p,{name:`alarm`,size:`18px`})]),d(`div`,S,[d(`div`,C,t(n.$t(`schedule.wakeupTitle`)),1),d(`div`,w,t(R(F.value.targetAt)),1)]),a(m,{flat:``,dense:``,round:``,icon:`delete_outline`,size:`sm`,color:`kobo-2`,title:n.$t(`schedule.cancelWakeup`),onClick:Ge},null,8,[`title`])]),F.value.reason?(i(),l(`div`,T,t(F.value.reason),1)):s(``,!0)]),_:1})]),_:1})):s(``,!0),(i(!0),l(te,null,ne(I.value,e=>(i(),o(g,{key:e.id,dark:``,flat:``,bordered:``,class:`schedule-item`},{default:u(()=>[a(_,null,{default:u(()=>[d(`div`,E,[d(`div`,D,[a(p,{name:`event_repeat`,size:`18px`})]),d(`div`,O,[d(`div`,k,t(e.label||e.expression),1),d(`div`,A,t(n.$t(`schedule.nextFireAt`,{time:R(e.nextFireAt)})),1)]),a(m,{flat:``,dense:``,round:``,icon:`delete_outline`,size:`sm`,color:`kobo-2`,title:n.$t(`schedule.cancelCron`),onClick:t=>Ke(e.id)},null,8,[`title`,`onClick`])]),d(`div`,j,[a(ue,{dense:``,square:``,color:`blue-grey-9`,"text-color":`kobo-2`,size:`sm`},{default:u(()=>[ee(t(e.expression),1)]),_:2},1024),e.lastFiredAt?(i(),l(`span`,Ce,t(n.$t(`schedule.lastFiredAt`,{time:We(e.lastFiredAt)})),1)):s(``,!0)]),d(`div`,we,t(e.prompt),1)]),_:2},1024)]),_:2},1024))),128))]))]),d(`section`,null,[d(`div`,Te,[d(`div`,null,[d(`div`,Ee,t(n.$t(`schedule.createTitle`)),1),d(`div`,De,t(n.$t(`schedule.createDescription`)),1)])]),a(g,{dark:``,flat:``,bordered:``,class:`create-card`},{default:u(()=>[a(y,{modelValue:z.value,"onUpdate:modelValue":r[0]||=e=>z.value=e,spread:``,"no-caps":``,unelevated:``,"toggle-color":`primary`,color:`blue-grey-10`,"text-color":`kobo-2`,options:qe.value,class:`type-toggle`},null,8,[`modelValue`,`options`]),z.value===`wakeup`?(i(),o(_,{key:0,class:`column q-gutter-y-md`},{default:u(()=>[d(`div`,null,[d(`div`,Oe,t(n.$t(`schedule.addWakeupTitle`)),1),d(`div`,ke,t(n.$t(`schedule.wakeupDescription`)),1)]),a(h,{modelValue:X.value,"onUpdate:modelValue":r[1]||=e=>X.value=e,modelModifiers:{number:!0},type:`number`,dense:``,dark:``,outlined:``,min:`1`,label:n.$t(`schedule.delayMinutes`)},{prepend:u(()=>[a(p,{name:`timer`,size:`18px`})]),_:1},8,[`modelValue`,`label`]),a(h,{modelValue:Z.value,"onUpdate:modelValue":r[2]||=e=>Z.value=e,type:`textarea`,autogrow:``,dense:``,dark:``,outlined:``,label:n.$t(`schedule.promptLabel`),hint:n.$t(`schedule.promptHint`)},null,8,[`modelValue`,`label`,`hint`]),d(`div`,Ae,[d(`div`,je,t(n.$t(`schedule.sessionModeTitle`)),1),a(y,{modelValue:Q.value,"onUpdate:modelValue":r[3]||=e=>Q.value=e,spread:``,"no-caps":``,unelevated:``,"toggle-color":`blue-grey-7`,color:`transparent`,"text-color":`kobo-2`,options:J.value,class:`session-toggle`},null,8,[`modelValue`,`options`])]),a(m,{"no-caps":``,unelevated:``,color:`primary`,icon:`alarm_add`,loading:$.value,disable:!Z.value.trim()||!(X.value>0),label:n.$t(`schedule.addWakeupBtn`),class:`full-width action-button`,onClick:Ye},null,8,[`loading`,`disable`,`label`])]),_:1})):(i(),o(_,{key:1,class:`column q-gutter-y-md`},{default:u(()=>[d(`div`,null,[d(`div`,Me,t(n.$t(`schedule.addCronTitle`)),1),d(`div`,Ne,t(n.$t(`schedule.cronDescription`)),1)]),a(h,{modelValue:W.value,"onUpdate:modelValue":r[4]||=e=>W.value=e,dense:``,dark:``,outlined:``,label:n.$t(`schedule.labelOptional`)},null,8,[`modelValue`,`label`]),d(`div`,Pe,[d(`div`,Fe,t(n.$t(`schedule.frequencyTitle`)),1),d(`div`,Ie,[d(`span`,Le,t(n.$t(`schedule.every`)),1),a(h,{modelValue:B.value,"onUpdate:modelValue":r[5]||=e=>B.value=e,modelModifiers:{number:!0},type:`number`,dense:``,dark:``,outlined:``,min:`1`,class:`frequency-value`},null,8,[`modelValue`]),a(ce,{modelValue:V.value,"onUpdate:modelValue":r[6]||=e=>V.value=e,options:Je.value,dense:``,dark:``,outlined:``,"options-dense":``,"emit-value":``,"map-options":``,class:`col min-width-zero`},null,8,[`modelValue`,`options`])]),V.value===`days`&&e(fe)(B.value)?(i(),l(`div`,Re,t(n.$t(`schedule.daysDriftWarning`)),1)):s(``,!0)]),a(h,{modelValue:U.value,"onUpdate:modelValue":r[7]||=e=>U.value=e,type:`textarea`,autogrow:``,dense:``,dark:``,outlined:``,label:n.$t(`schedule.promptLabel`),hint:n.$t(`schedule.promptHint`)},null,8,[`modelValue`,`label`,`hint`]),a(se,{dense:``,"dense-toggle":``,"switch-toggle-side":``,icon:`code`,label:n.$t(`schedule.advancedExpression`),caption:n.$t(`schedule.advancedDescription`),class:`advanced-section`},{default:u(()=>[a(h,{modelValue:H.value,"onUpdate:modelValue":r[8]||=e=>H.value=e,dense:``,dark:``,outlined:``,label:n.$t(`schedule.cronExpressionLabel`),hint:n.$t(`schedule.advancedHint`),class:`q-mt-sm`},null,8,[`modelValue`,`label`,`hint`])]),_:1},8,[`label`,`caption`]),d(`div`,ze,[d(`div`,Be,t(n.$t(`schedule.sessionModeTitle`)),1),a(y,{modelValue:G.value,"onUpdate:modelValue":r[9]||=e=>G.value=e,spread:``,"no-caps":``,unelevated:``,"toggle-color":`blue-grey-7`,color:`transparent`,"text-color":`kobo-2`,options:J.value,class:`session-toggle`},null,8,[`modelValue`,`options`])]),d(`div`,Ve,[d(`div`,null,[d(`div`,He,t(n.$t(`schedule.oneShot`)),1),d(`div`,Ue,t(n.$t(`schedule.oneShotHint`)),1)]),a(ie,{modelValue:K.value,"onUpdate:modelValue":r[10]||=e=>K.value=e,dense:``},null,8,[`modelValue`])]),a(m,{"no-caps":``,unelevated:``,color:`primary`,icon:`add_task`,loading:q.value,disable:!U.value.trim(),label:n.$t(`schedule.addCronBtn`),class:`full-width action-button`,onClick:Y},null,8,[`loading`,`disable`,`label`])]),_:1}))]),_:1})])]))}}),[[`__scopeId`,`data-v-127c3cf8`]]);export{M as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as e,ut as t,v as n}from"./reactivity.esm-bundler-DEJj9cFv.js";import{K as r,L as i,P as a,_ as o,d as s,f as c,p as l,q as u,r as d,u as f,y as p,z as m}from"./runtime-core.esm-bundler-CS0xkoG_.js";import{l as h}from"./QBtn-DqZryKOh.js";import{n as g}from"./pinia-jcytgarH.js";import{ct as _,l as v,n as y,o as b,vt as x}from"./index-
|
|
1
|
+
import{j as e,ut as t,v as n}from"./reactivity.esm-bundler-DEJj9cFv.js";import{K as r,L as i,P as a,_ as o,d as s,f as c,p as l,q as u,r as d,u as f,y as p,z as m}from"./runtime-core.esm-bundler-CS0xkoG_.js";import{l as h}from"./QBtn-DqZryKOh.js";import{n as g}from"./pinia-jcytgarH.js";import{ct as _,l as v,n as y,o as b,vt as x}from"./index-BDTPwynK.js";import{a as S,i as C,n as w}from"./use-tours-Co_sci4c.js";import{t as T}from"./QBadge-CWEaKfKi.js";import{t as E}from"./formatters-Bq2A89Eg.js";import{n as D,t as O}from"./TourReplayButton-CZqPH9hM.js";import{t as k}from"./DrawerToggleButton-CcH-cA9p.js";var A=g(`search`,{state:()=>({query:``,includeArchived:!1,results:[],loading:!1,error:``,_requestToken:0}),actions:{async search(){let e=this.query.trim();if(!e){this._requestToken++,this.results=[],this.error=``,this.loading=!1;return}let t=++this._requestToken;this.loading=!0,this.error=``;try{let n=new URLSearchParams({q:e});this.includeArchived&&n.set(`includeArchived`,`true`);let r=await fetch(`/api/search?${n.toString()}`);if(!r.ok){let e=`HTTP ${r.status}`;try{let t=await r.json();t?.error&&(e=t.error)}catch{}throw Error(e)}let i=await r.json();if(t!==this._requestToken)return;this.results=i}catch(e){if(t!==this._requestToken)return;this.error=e instanceof Error?e.message:String(e),this.results=[]}finally{t===this._requestToken&&(this.loading=!1)}},clear(){this._requestToken++,this.query=``,this.results=[],this.error=``,this.loading=!1}}}),j={class:`search-header`},M={class:`row items-center q-mb-md`},N={class:`text-h5`},P={"data-tour":`search-input`},F={class:`row items-center q-mt-sm q-gutter-sm`},I={key:0,class:`text-caption text-kobo-3`},L={key:0,class:`text-kobo-3 text-caption`},R={key:1,class:`text-negative text-caption`},z={key:2,class:`text-kobo-3 text-caption`},B={key:3,class:`search-results`},V=[`onClick`],H={class:`row items-center q-mb-xs text-caption`},U={class:`text-kobo-2 text-weight-medium`},W={class:`text-kobo-3`},G={class:`search-snippet text-body2 text-kobo-2`},K=S(p({__name:`SearchPage`,setup(p){let g=A(),S=y(),{t:K}=x(),{timeAgo:q}=E(),{scheduleAutoRun:J}=w();a(()=>{J(`search`)});let Y=n(null),X=null;function Z(){X&&clearTimeout(X),X=setTimeout(()=>{g.search()},250)}r(()=>g.includeArchived,()=>{g.query.trim().length>0&&g.search()});function Q(e){S.push({name:`workspace`,params:{id:e.workspaceId},query:{eventId:e.eventId,...e.sessionId?{session:e.sessionId}:{}}})}function $(e){return e===`user:message`?K(`search.eventType.userMessage`):e===`agent:output`?K(`search.eventType.agentOutput`):e}return(n,r)=>(i(),s(D,{class:`q-pa-md search-page`},{default:u(()=>[f(`div`,j,[f(`div`,M,[o(k,{class:`q-mr-sm`}),f(`h2`,N,t(n.$t(`search.title`)),1),o(C),o(O,{"tour-id":`search`})]),f(`div`,P,[o(_,{ref_key:`inputEl`,ref:Y,modelValue:e(g).query,"onUpdate:modelValue":[r[0]||=t=>e(g).query=t,Z],dense:``,dark:``,outlined:``,clearable:``,autofocus:``,placeholder:n.$t(`search.placeholder`),onClear:r[1]||=t=>e(g).clear()},{prepend:u(()=>[o(h,{name:`search`})]),_:1},8,[`modelValue`,`placeholder`])]),f(`div`,F,[o(b,{modelValue:e(g).includeArchived,"onUpdate:modelValue":r[2]||=t=>e(g).includeArchived=t,"data-tour":`search-archived`,label:n.$t(`search.includeArchived`),dense:``,dark:``,color:`primary`,size:`sm`},null,8,[`modelValue`,`label`]),o(C),e(g).results.length>0?(i(),l(`span`,I,t(n.$t(`search.resultCount`,{n:e(g).results.length})),1)):c(``,!0)])]),o(v,{dark:``,class:`q-my-md`}),e(g).loading?(i(),l(`div`,L,t(n.$t(`search.loading`)),1)):e(g).error?(i(),l(`div`,R,t(n.$t(`search.error`,{message:e(g).error})),1)):e(g).query.trim().length>0&&e(g).results.length===0?(i(),l(`div`,z,t(n.$t(`search.noResults`)),1)):e(g).results.length>0?(i(),l(`div`,B,[(i(!0),l(d,null,m(e(g).results,(r,a)=>(i(),l(`div`,{key:`${r.workspaceId}-${r.timestamp}-${a}`,class:`search-result q-pa-sm q-mb-sm cursor-pointer`,onClick:e=>Q(r)},[f(`div`,H,[f(`span`,U,t(r.workspaceName),1),r.archived?(i(),s(T,{key:0,color:`kobo-3`,class:`q-ml-xs`,label:n.$t(`common.archive`)},null,8,[`label`])):c(``,!0),o(C),o(T,{color:r.type===`user:message`?`blue-grey-7`:`primary`,class:`q-mr-sm`,label:$(r.type)},null,8,[`color`,`label`]),f(`span`,W,t(e(q)(r.timestamp)),1)]),f(`div`,G,t(r.snippet),1)],8,V))),128))])):c(``,!0)]),_:1}))}}),[[`__scopeId`,`data-v-4c8db4d7`]]);export{K as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{S as e,j as t,ot as n,st as r,ut as i,v as a}from"./reactivity.esm-bundler-DEJj9cFv.js";import{C as o,F as s,J as c,K as l,L as u,O as d,P as f,S as p,_ as m,b as h,d as g,f as _,g as v,h as ee,j as te,l as y,p as b,q as x,r as S,u as C,y as w,z as T}from"./runtime-core.esm-bundler-CS0xkoG_.js";import{X as ne,c as re,ct as ie,dt as ae,et as oe,ft as se,l as E,pt as ce,st as le,t as D,tt as O,w as k,y as ue}from"./QBtn-DqZryKOh.js";import{a as de,i as fe}from"./pinia-jcytgarH.js";import{i as pe,n as me,t as he}from"./private.use-form-DVqJLg-9.js";import{A as ge,D as _e,E as ve,F as ye,I as be,L as xe,M as Se,N as Ce,O as we,P as Te,Q as Ee,R as De,T as Oe,Z as ke,a as Ae,an as A,bt as je,ct as j,en as Me,et as Ne,ht as Pe,i as Fe,in as Ie,j as Le,l as Re,nn as ze,o as M,r as Be,rn as Ve,s as He,st as Ue,tn as We,tt as Ge,vt as Ke,w as qe,x as Je,z as Ye}from"./index-DztjpQfb.js";import{n as N,r as P,t as F}from"./QItemSection-CjrpcdN_.js";import{_ as Xe,a as I,c as Ze,d as Qe,l as $e,m as L,n as et,p as tt,r as nt,s as rt,t as it,u as at,y as ot}from"./permissionModes-DORv0Hwo.js";import{a as st,i as R,n as ct,o as z,r as lt}from"./use-tours-BEdbVcQS.js";import{t as ut}from"./TouchPan-D77wzGyc.js";import{t as dt}from"./QChip-CJ6WmvGE.js";import{t as ft}from"./ClosePopup-DLm_uRNv.js";import{t as pt}from"./use-is-mobile-ClPMtqZc.js";import{t as mt}from"./QBtnDropdown-Bqa7KhX7.js";import{t as ht}from"./QDrawer-DinZbnyn.js";import{t as gt}from"./QBanner-DRiFK0GP.js";import{t as _t}from"./project-color-DrojOIC6.js";import{n as vt,t as yt}from"./TourReplayButton-DU2PItj-.js";import{t as bt}from"./DrawerToggleButton-0fKZjElk.js";import{t as xt}from"./workspace-templates-1zUtbH31.js";var St=Object.create,B=Object.defineProperty,Ct=Object.getOwnPropertyDescriptor,V=Object.getOwnPropertyNames,wt=Object.getPrototypeOf,Tt=Object.prototype.hasOwnProperty,Et=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),Dt=(e,t)=>{let n={};for(var r in e)B(n,r,{get:e[r],enumerable:!0});return t||B(n,Symbol.toStringTag,{value:`Module`}),n},Ot=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=V(t),a=0,o=i.length,s;a<o;a++)s=i[a],!Tt.call(e,s)&&s!==n&&B(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=Ct(t,s))||r.enumerable});return e},kt=(e,t,n)=>(n=e==null?{}:St(wt(e)),Ot(t||!e||!e.__esModule||!Tt.call(e,`default`)?B(n,`default`,{value:e,enumerable:!0}):n,e)),At=`q-slider__marker-labels`,jt=e=>({value:e}),Mt=({marker:e})=>o(`div`,{key:e.value,style:e.style,class:e.classes},e.label),Nt=[34,37,40,33,39,38,35,36],Pt={...de,...pe,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`}},Ft=[`pan`,`update:modelValue`,`change`];function It({updateValue:e,updatePosition:t,getDragging:n,formAttrs:r}){let{props:i,emit:s,slots:l}=h(),u=ue(),d=fe(i,u),f=me(r),p=a(!1),m=a(!1),g=a(!1),_=a(!1),v=y(()=>i.vertical?`--v`:`--h`),ee=y(()=>`-`+(i.switchLabelSide?`switched`:`standard`)),b=y(()=>i.vertical?i.reverse:i.reverse!==(u.lang.rtl===!0)),x=y(()=>!Number.isFinite(i.innerMin)||i.innerMin<i.min?i.min:i.innerMin),S=y(()=>!Number.isFinite(i.innerMax)||i.innerMax>i.max?i.max:i.innerMax),C=y(()=>!i.disable&&!i.readonly&&x.value<S.value),w=y(()=>{if(i.step===0)return e=>e;let e=(String(i.step).trim().split(`.`)[1]||``).length;return t=>Number.parseFloat(t.toFixed(e))}),T=y(()=>i.step===0?1:i.step),re=y(()=>C.value?i.tabindex||0:-1),ie=y(()=>i.max-i.min),ae=y(()=>S.value-x.value),oe=y(()=>Ee(x.value)),se=y(()=>Ee(S.value)),E=y(()=>i.vertical?b.value?`bottom`:`top`:b.value?`right`:`left`),ce=y(()=>i.vertical?`height`:`width`),le=y(()=>i.vertical?`width`:`height`),D=y(()=>i.vertical?`vertical`:`horizontal`),O=y(()=>`q-slider q-slider${v.value} q-slider--${p.value?``:`in`}active inline no-wrap `+(i.vertical?`row`:`column`)+(i.disable?` disabled`:` q-slider--enabled`+(C.value?` q-slider--editable`:``))+(g.value===`both`?` q-slider--focus`:``)+(i.label||i.labelAlways?` q-slider--label`:``)+(i.labelAlways?` q-slider--label-always`:``)+(d()?` q-slider--dark`:``)+(i.dense?` q-slider--dense q-slider--dense`+v.value:``));function k(e){let t=`q-slider__`+e;return`${t} ${t}${v.value} ${t}${v.value}${ee.value}`}function de(e){let t=`q-slider__`+e;return`${t} ${t}${v.value}`}let pe=y(()=>{let e=i.selectionColor||i.color;return`q-slider__selection absolute`+(e===void 0?``:` text-${e}`)}),he=y(()=>de(`markers`)+` absolute overflow-hidden`),ge=y(()=>de(`track-container`)),_e=y(()=>k(`pin`)),ve=y(()=>k(`label`)),ye=y(()=>k(`text-container`)),be=y(()=>k(`marker-labels-container`)+(i.markerLabelsClass===void 0?``:` ${i.markerLabelsClass}`)),xe=y(()=>`q-slider__track relative-position no-outline`+(i.trackColor===void 0?``:` bg-${i.trackColor}`)),Se=y(()=>{let e={[le.value]:i.trackSize};return i.trackImg!==void 0&&(e.backgroundImage=`url(${i.trackImg}) !important`),e}),Ce=y(()=>`q-slider__inner absolute`+(i.innerTrackColor===void 0?``:` bg-${i.innerTrackColor}`)),we=y(()=>{let e=se.value-oe.value,t={[E.value]:`${100*oe.value}%`,[ce.value]:e===0?`2px`:`${100*e}%`};return i.innerTrackImg!==void 0&&(t.backgroundImage=`url(${i.innerTrackImg}) !important`),t});function Te(e){let{min:t,max:n,step:r}=i,a=t+e*(n-t);if(r>0){let e=(a-x.value)%r;a+=(Math.abs(e)>=r/2?(e<0?-1:1)*r:0)-e}return a=w.value(a),L(a,x.value,S.value)}function Ee(e){return ie.value===0?0:(e-i.min)/ie.value}function De(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(b.value?1-r:r,oe.value,se.value)}let Oe=y(()=>Ie(i.markers)&&i.markers>0?i.markers:T.value),ke=y(()=>{let e=[],t=Oe.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}),Ae=y(()=>{let e=` ${At}${v.value}-`;return`q-slider__marker-labels${e}${i.switchMarkerLabelsSide?`switched`:`standard`}${e}${b.value?`rtl`:`ltr`}`}),je=y(()=>i.markerLabels===!1?null:Ne(i.markerLabels).map((e,t)=>({index:t,value:e.value,label:e.label||e.value,classes:Ae.value+(e.classes===void 0?``:` `+e.classes),style:{...Pe(e.value),...e.style}}))),j=y(()=>({markerList:je.value,markerMap:Fe.value,classes:Ae.value,getStyle:Pe})),Me=y(()=>{let e=ae.value===0?`2px`:100*Oe.value/ae.value;return{...we.value,backgroundSize:i.vertical?`2px ${e}%`:`${e}% 2px`}});function Ne(e){if(e===!1)return null;if(e===!0)return ke.value.map(jt);if(typeof e==`function`)return ke.value.map(t=>{let n=e(t);return A(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=>A(e)?e:{value:e}).filter(t):Object.keys(e).map(t=>{let n=e[t],r=Number(t);return A(n)?{...n,value:r}:{value:r,label:n}}).filter(t)}function Pe(e){return{[E.value]:`${100*(e-i.min)/ie.value}%`}}let Fe=y(()=>{if(i.markerLabels===!1)return null;let e={};return je.value.forEach(t=>{e[t.value]=t}),e});function Le(){if(l[`marker-label-group`]!==void 0)return l[`marker-label-group`](j.value);let e=l[`marker-label`]||Mt;return je.value.map(t=>e({marker:t,...j.value}))}let Re=y(()=>[[ut,C.value?ze:void 0,void 0,{[D.value]:!0,prevent:!0,stop:!0,mouse:!0,mouseAllDir:!0}]]);function ze(r){r.isFinal?(_.value!==void 0&&(t(r.evt),r.touch&&e(!0),_.value=void 0,s(`pan`,`end`)),p.value=!1,g.value=!1):r.isFirst?(_.value=n(r.evt),t(r.evt),e(),p.value=!0,s(`pan`,`start`)):(t(r.evt),e())}function M(){g.value=!1}function Be(r){t(r,n(r)),e(),m.value=!0,p.value=!0,document.addEventListener(`mouseup`,Ve,!0)}function Ve(){m.value=!1,p.value=!1,e(!0),M(),document.removeEventListener(`mouseup`,Ve,!0)}function He(r){t(r,n(r)),e(!0),M()}function Ue(t){Nt.includes(t.keyCode)&&e(!0)}function We(e){if(i.vertical)return null;let t=u.lang.rtl===i.reverse?e:1-e;return{transform:`translateX(calc(${2*t-1} * ${i.thumbSize} / 2 + ${50-100*t}%))`}}function Ge(e){let t=y(()=>!m.value&&(g.value===e.focusValue||g.value===`both`)?` q-slider--focus`:``),n=y(()=>`q-slider__thumb q-slider__thumb${v.value} q-slider__thumb${v.value}-${b.value?`rtl`:`ltr`} absolute non-selectable`+t.value+(e.thumbColor.value===void 0?``:` text-${e.thumbColor.value}`)),r=y(()=>({width:i.thumbSize,height:i.thumbSize,[E.value]:`${100*e.ratio.value}%`,zIndex:g.value===e.focusValue?2:void 0})),a=y(()=>e.labelColor.value===void 0?``:` text-${e.labelColor.value}`),s=y(()=>We(e.ratio.value)),c=y(()=>`q-slider__text`+(e.labelTextColor.value===void 0?``:` text-${e.labelTextColor.value}`));return()=>{let t=[o(`svg`,{class:`q-slider__thumb-shape absolute-full`,viewBox:`0 0 20 20`,"aria-hidden":`true`},[o(`path`,{d:i.thumbPath})]),o(`div`,{class:`q-slider__focus-ring fit`})];return(i.label||i.labelAlways)&&t.push(o(`div`,{class:_e.value+` absolute fit no-pointer-events`+a.value},[o(`div`,{class:ve.value,style:{minWidth:i.thumbSize}},[o(`div`,{class:ye.value,style:s.value},[o(`span`,{class:c.value},e.label.value)])])])),e.injectFormInput!==!1&&i.name!==void 0&&!i.disable&&f(t,`push`),o(`div`,{class:n.value,style:r.value,...e.getNodeData()},t)}}function Ke(e,t,n,r){let a=[];i.innerTrackColor!==`transparent`&&a.push(o(`div`,{key:`inner`,class:Ce.value,style:we.value})),i.selectionColor!==`transparent`&&a.push(o(`div`,{key:`selection`,class:pe.value,style:e.value})),i.markers!==!1&&a.push(o(`div`,{key:`marker`,class:he.value,style:Me.value})),r(a);let s=[c(o(`div`,{key:`trackC`,class:ge.value,tabindex:t.value,...n.value},[o(`div`,{class:xe.value,style:Se.value},a)]),Re.value)];return i.markerLabels!==!1&&s[i.switchMarkerLabelsSide?`unshift`:`push`](o(`div`,{key:`markerL`,class:be.value},Le())),s}return te(()=>{document.removeEventListener(`mouseup`,Ve,!0)}),{state:{active:p,focus:g,preventFocus:m,dragging:_,editable:C,classes:O,tabindex:re,orientation:D,roundValueFn:w,keyStep:T,trackLen:ie,innerMin:x,innerMinRatio:oe,innerMax:S,innerMaxRatio:se,positionProp:E,sizeProp:ce,isReversed:b},methods:{onActivate:Be,onClick:He,onBlur:M,onKeyup:Ue,getContent:Ke,getThumbRenderFn:Ge,convertRatioToModel:Te,convertModelToRatio:Ee,getDraggingRatio:De}}}var Lt=()=>({}),Rt=O({name:`QSlider`,props:{...Pt,modelValue:{required:!0,default:null,validator:e=>typeof e==`number`||e===null},labelValue:[String,Number]},emits:Ft,inheritAttrs:!1,setup(t,{emit:n,attrs:r}){let i=ue(),s=Pe(),{state:c,methods:u}=It({updateValue:C,updatePosition:T,getDragging:w,formAttrs:he(t)}),d=e(null),f=a(0),p=a(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)}l(()=>`${t.modelValue}|${c.innerMin.value}|${c.innerMax.value}`,g,{immediate:!0});let _=y(()=>u.convertModelToRatio(p.value)),v=y(()=>c.active.value?f.value:_.value),ee=y(()=>{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}),te=u.getThumbRenderFn({focusValue:!0,getNodeData:Lt,ratio:v,label:y(()=>t.labelValue===void 0?p.value:t.labelValue),thumbColor:y(()=>t.thumbColor||t.color),labelColor:y(()=>t.labelColor),labelTextColor:y(()=>t.labelTextColor)}),b=y(()=>c.editable.value?{onClick:u.onClick,onMousedown:u.onActivate,onFocus:ne,onBlur:u.onBlur,onKeydown:re,onKeyup:u.onKeyup}:{}),x=y(()=>{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=y(()=>({...x.value,...s.attributes.value,...b.value}));function C(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=u.getDraggingRatio(e,n);p.value=u.convertRatioToModel(r),f.value=!t.snap||t.step===0?r:u.convertModelToRatio(p.value)}function ne(){c.focus.value=!0}function re(e){if(!Nt.includes(e.keyCode))return;if(oe(e),m===null&&(m=p.value),e.keyCode===36||e.keyCode===35){p.value=e.keyCode===36?c.innerMin.value:c.innerMax.value,C();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),C()}return()=>{let e=u.getContent(ee,c.tabindex,S,e=>{e.push(te())});return o(`div`,{ref:d,class:[c.classes.value+(t.modelValue===null?` q-slider--no-value`:``),r.class],style:r.style,...s.listeners.value},e)}}});function H(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(H(e,t))}):e instanceof Map&&e.forEach((e,r)=>{n.set(r,H(e,t))}),Object.assign(n,...Object.keys(e).map(n=>({[n]:H(e[n],t)})))}var zt=O({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}=h(),s=ue(),c=e(null),l=a(``),u=a(``),f=!1,p=y(()=>le({initialValue:l.value,validate:t.validate,set:m,cancel:g,updatePosition:_},`value`,()=>u.value,e=>{u.value=e}));function m(){t.validate(u.value)&&(v()&&(r(`save`,u.value,l.value),r(`update:modelValue`,u.value)),ee())}function g(){v()&&r(`cancel`,u.value,l.value),ee()}function _(){d(()=>{c.value.updatePosition()})}function v(){return!Ve(u.value,l.value)}function ee(){f=!0,c.value.hide()}function te(){f=!1,l.value=H(t.modelValue),u.value=H(t.modelValue),r(`beforeShow`)}function b(){r(`show`)}function x(){!f&&v()&&(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 C(){let e=n.default===void 0?[]:[n.default(p.value)].flat();return t.title&&e.unshift(o(`div`,{class:`q-dialog__title q-mt-sm q-mb-sm`},t.title)),t.buttons&&e.push(o(`div`,{class:`q-popup-edit__buttons row justify-center no-wrap`},[o(D,{flat:!0,color:t.color,label:t.labelCancel||s.lang.label.cancel,onClick:g}),o(D,{flat:!0,color:t.color,label:t.labelSet||s.lang.label.set,onClick:m})])),e}return Object.assign(i,{set:m,cancel:g,show(e){c.value?.show(e)},hide(e){c.value?.hide(e)},updatePosition:_}),()=>{if(!t.disable)return o(tt,{ref:c,class:`q-popup-edit`,cover:t.cover,onBeforeShow:te,onShow:b,onBeforeHide:x,onHide:S,onEscapeKey:g},C)}}}),U={class:`text-h6`},W=[`title`],G={key:1,class:`row justify-center q-mt-sm`},Bt=w({__name:`FolderPickerDialog`,props:{modelValue:{type:Boolean},initialPath:{}},emits:[`update:modelValue`,`select`],setup(e,{emit:t}){let n=e,r=t,o=a(``),s=a(null),d=a([]),f=a(!1),p=a(``);async function h(e){f.value=!0,p.value=``;try{let t=e?`?path=${encodeURIComponent(e)}`:``,n=await fetch(`/api/fs/list-dirs${t}`),r=await n.json();if(!n.ok){p.value=r?.error??`HTTP ${n.status}`;return}o.value=r.path??``,s.value=r.parent??null,d.value=Array.isArray(r.entries)?r.entries:[]}catch(e){p.value=e instanceof Error?e.message:String(e)}finally{f.value=!1}}function ee(){o.value&&(r(`select`,o.value),r(`update:modelValue`,!1))}return l(()=>n.modelValue,e=>{e&&h(n.initialPath||void 0)}),(t,n)=>(u(),g(je,{"model-value":e.modelValue,"onUpdate:modelValue":n[1]||=e=>t.$emit(`update:modelValue`,e)},{default:x(()=>[m(Me,{class:`text-kobo-1`,style:{"min-width":`480px`,"max-width":`90vw`,background:`var(--kobo-surface)`}},{default:x(()=>[m(ze,{class:`row items-center q-pb-none`},{default:x(()=>[C(`div`,U,i(t.$t(`folderPicker.title`)),1),m(R),c(m(D,{flat:``,dense:``,round:``,icon:`close`,color:`kobo-2`},null,512),[[ft]])]),_:1}),m(ze,null,{default:x(()=>[C(`div`,{class:`text-caption text-kobo-3 ellipsis q-mb-sm`,style:{"font-family":`monospace`},title:o.value},i(o.value||`…`),9,W),p.value?(u(),g(gt,{key:0,dense:``,class:`bg-red-9 text-white q-mb-sm rounded-borders`},{default:x(()=>[v(i(p.value),1)]),_:1})):_(``,!0),m(P,{bordered:``,separator:``,class:`rounded-borders`,style:{"max-height":`320px`,"overflow-y":`auto`}},{default:x(()=>[s.value?c((u(),g(N,{key:0,clickable:``,onClick:n[0]||=e=>h(s.value)},{default:x(()=>[m(F,{avatar:``},{default:x(()=>[m(E,{name:`arrow_upward`,color:`kobo-2`})]),_:1}),m(F,null,{default:x(()=>[v(i(t.$t(`folderPicker.parent`)),1)]),_:1})]),_:1})),[[re]]):_(``,!0),(u(!0),b(S,null,T(d.value,e=>c((u(),g(N,{key:e.path,clickable:``,onClick:t=>h(e.path)},{default:x(()=>[m(F,{avatar:``},{default:x(()=>[m(E,{name:`folder`,color:`amber-6`})]),_:1}),m(F,null,{default:x(()=>[v(i(e.name),1)]),_:2},1024)]),_:2},1032,[`onClick`])),[[re]])),128)),!f.value&&d.value.length===0?(u(),g(N,{key:1},{default:x(()=>[m(F,{class:`text-kobo-3`},{default:x(()=>[v(i(t.$t(`folderPicker.empty`)),1)]),_:1})]),_:1})):_(``,!0)]),_:1}),f.value?(u(),b(`div`,G,[m(k,{size:`20px`,color:`kobo-2`})])):_(``,!0)]),_:1}),m(Ue,{align:`right`},{default:x(()=>[c(m(D,{flat:``,label:t.$t(`common.cancel`),color:`kobo-2`},null,8,[`label`]),[[ft]]),m(D,{flat:``,label:t.$t(`folderPicker.select`),color:`primary`,disable:!o.value||f.value,onClick:ee},null,8,[`label`,`disable`])]),_:1})]),_:1})]),_:1},8,[`model-value`]))}}),Vt={class:`notification-sounds-grid q-mt-md`},Ht={class:`text-subtitle2`},Ut={class:`text-kobo-3 text-caption q-mb-sm`},Wt={class:`row items-center q-gutter-sm`},Gt={class:`row items-center q-gutter-sm q-mt-sm`},Kt={class:`text-kobo-2 text-caption volume-label`},qt={class:`text-kobo-2 text-caption volume-value`},Jt=st(w({__name:`PrNotificationSoundSettings`,props:{modelValue:{},generalSound:{}},emits:[`update:modelValue`],setup(e,{emit:n}){let r=e,a=n,{t:o}=Ke(),s=y(()=>[{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=y(()=>[{label:o(`settings.soundGeneral`),value:Ce},...Te.map(e=>({label:o(e.labelKey),value:e.id}))]);function l(e,t){a(`update:modelValue`,{...r.modelValue,[e]:t})}function d(e){let t=De(r.modelValue[e.soundKey]);t!==null&&Je(t??r.generalSound,r.modelValue[e.volumeKey])}return(n,r)=>(u(),b(`div`,Vt,[(u(!0),b(S,null,T(s.value,n=>(u(),b(`div`,{key:n.soundKey,class:`notification-sound-card q-pa-md rounded-borders`},[C(`div`,Ht,i(n.title),1),C(`div`,Ut,i(n.description),1),m(M,{"model-value":e.modelValue[n.enabledKey],label:t(o)(`settings.enableAudio`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption q-mb-sm`,"onUpdate:modelValue":e=>l(n.enabledKey,!!e)},null,8,[`model-value`,`label`,`onUpdate:modelValue`]),C(`div`,Wt,[m(I,{"model-value":e.modelValue[n.soundKey],options:c.value,label:n.title,disable:!e.modelValue[n.enabledKey],dark:``,dense:``,outlined:``,"emit-value":``,"map-options":``,color:`primary`,class:`col`,"onUpdate:modelValue":e=>l(n.soundKey,String(e))},null,8,[`model-value`,`options`,`label`,`disable`,`onUpdate:modelValue`]),m(D,{flat:``,dense:``,color:`primary`,icon:`play_arrow`,label:t(o)(`settings.notificationSoundPreview`),disable:!e.modelValue[n.enabledKey],onClick:e=>d(n)},null,8,[`label`,`disable`,`onClick`])]),C(`div`,Gt,[C(`div`,Kt,i(t(o)(`settings.notificationVolume`)),1),m(Rt,{"model-value":e.modelValue[n.volumeKey],min:0,max:1,step:.05,disable:!e.modelValue[n.enabledKey],"aria-label":t(o)(`settings.notificationVolume`),dark:``,dense:``,color:`primary`,class:`col`,"onUpdate:modelValue":e=>l(n.volumeKey,Number(e))},null,8,[`model-value`,`disable`,`aria-label`,`onUpdate:modelValue`]),C(`div`,qt,i(Math.round(e.modelValue[n.volumeKey]*100))+`% `,1)])]))),128))]))}}),[[`__scopeId`,`data-v-41966330`]]),Yt=st(w({__name:`SettingsNavList`,props:{navItems:{},activeTab:{}},emits:[`select`],setup(e,{emit:t}){let r=t;return(t,a)=>(u(),g(P,{dense:``,class:`settings-nav__list`},{default:x(()=>[(u(!0),b(S,null,T(e.navItems,t=>c((u(),g(N,{key:t.value,clickable:``,"data-tour":`settings-nav-${t.value}`,class:n([`settings-nav__item`,{"settings-nav__item--active":e.activeTab===t.value}]),onClick:e=>r(`select`,t.value)},{default:x(()=>[m(F,{avatar:``,class:`settings-nav__icon`},{default:x(()=>[m(E,{name:t.icon,size:`16px`},null,8,[`name`])]),_:2},1024),m(F,{class:`settings-nav__label`},{default:x(()=>[v(i(t.label),1)]),_:2},1024)]),_:2},1032,[`data-tour`,`class`,`onClick`])),[[re,!1]])),128))]),_:1}))}}),[[`__scopeId`,`data-v-fac6b946`]]),Xt={class:`whip-shortcut-recorder`},Zt={class:`text-caption text-kobo-2 q-mb-xs`},Qt={class:`row items-center no-wrap q-gutter-xs`},$t={"data-testid":`whip-shortcut-value`},en={key:0,role:`status`,"aria-live":`polite`,class:`q-sr-only`},tn={key:1,role:`alert`,class:`text-negative text-caption q-mt-xs`},nn=st(w({__name:`WhipShortcutRecorder`,props:{modelValue:{}},emits:[`update:modelValue`],setup(e,{emit:n}){let r=e,o=n,{t:s}=Ke(),c=_e(),l=a(!1),d=a(``),f=y(()=>l.value?s(`settings.whipShortcutRecording`):we(r.modelValue,c)),p=y(()=>l.value?s(`settings.whipShortcutRecordingLabel`):s(`settings.whipShortcutButtonLabel`,{shortcut:f.value}));function h(){l.value&&(l.value=!1,window.removeEventListener(`keydown`,g,!0))}function g(e){e.preventDefault(),e.stopPropagation();let t=ve(e,c);if(t.status!==`pending`){if(t.status===`reserved`){d.value=s(`settings.whipShortcutReserved`);return}d.value=``,t.status===`accepted`&&o(`update:modelValue`,t.shortcut),h()}}function ee(){l.value||(d.value=``,l.value=!0,window.addEventListener(`keydown`,g,!0))}function S(){h(),d.value=``,o(`update:modelValue`,ge)}return te(h),(e,n)=>(u(),b(`div`,Xt,[C(`div`,Zt,i(t(s)(`settings.whipShortcut`)),1),C(`div`,Qt,[m(D,{"data-testid":`whip-shortcut-recorder`,dense:``,"no-caps":``,outline:``,color:`primary`,"aria-label":p.value,"aria-pressed":l.value,onClick:ee},{default:x(()=>[C(`span`,$t,i(f.value),1),m(z,null,{default:x(()=>[v(i(t(s)(`settings.whipShortcutHint`)),1)]),_:1})]),_:1},8,[`aria-label`,`aria-pressed`]),m(D,{"data-testid":`whip-shortcut-reset`,dense:``,flat:``,round:``,size:`sm`,color:`kobo-2`,icon:`restart_alt`,"aria-label":t(s)(`settings.whipShortcutReset`),onClick:S},{default:x(()=>[m(z,null,{default:x(()=>[v(i(t(s)(`settings.whipShortcutReset`)),1)]),_:1})]),_:1},8,[`aria-label`])]),l.value?(u(),b(`div`,en,i(t(s)(`settings.whipShortcutRecording`)),1)):_(``,!0),d.value?(u(),b(`div`,tn,i(d.value),1)):_(``,!0)]))}}),[[`__scopeId`,`data-v-d8618bd9`]]);function rn(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function an(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(!an(e[n],t[n]))return!1;return!0}return rn(e)&&rn(t)?on(e,t):!1}function on(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)||!an(e[r],t[r]))return!1;return!0}function sn(e){if(Array.isArray(e))return e.map(sn);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]=sn(r);return t}return e}function cn(e){return sn(e)}function ln(e){return e?{disabled:!1,hintKey:null}:{disabled:!0,hintKey:`settings.whipVolumeMasterAudioDisabled`}}var un={key:0,class:`settings-load-error`},dn={class:`column`},fn={class:`settings-load-error__title`},pn={class:`settings-load-error__detail`},mn={class:`settings-load-error__hint`},hn={class:`settings-layout`},gn={key:0,class:`settings-nav`},_n={class:`settings-nav__title`},vn={class:`settings-nav`},yn={class:`settings-nav__title`},bn={class:`settings-content`},xn={class:`settings-content__header`},Sn={class:`settings-content__title`},Cn={class:`text-caption text-kobo-3 q-mb-md`},wn={class:`settings-panels`},Tn={class:`settings-global-wrap`},En={key:0,"data-tour":`settings-card-general`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Dn={class:`text-subtitle2 q-mb-sm`},On={key:1,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},kn={class:`text-subtitle2 q-mb-sm`},An={class:`text-caption text-kobo-3 q-mt-xs`},jn={key:2,"data-tour":`settings-card-skills`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Mn={class:`text-subtitle2 q-mb-sm`},Nn={class:`text-caption text-kobo-3 q-mt-xs`},Pn={key:3,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Fn={class:`text-subtitle2 q-mb-sm`},In={class:`text-caption text-kobo-3 q-mb-xs q-mt-sm`},Ln={class:`text-caption text-kobo-3 q-mt-md q-mb-xs`},Rn={class:`text-caption text-kobo-3 q-mt-md q-mb-xs`},zn={class:`text-caption text-kobo-3 q-mt-md q-mb-xs`},Bn={class:`text-caption text-kobo-3 q-mt-md q-mb-xs`},Vn={key:4,"data-tour":`settings-card-agents`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Hn={class:`text-subtitle2 q-mb-sm`},Un={class:`text-subtitle2 q-mb-sm q-mt-md`},Wn={class:`text-subtitle2 q-mb-sm q-mt-md`},Gn={class:`text-caption text-kobo-3 q-mb-sm`},Kn={class:`text-subtitle2 q-mb-sm q-mt-md`},qn={key:5,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Jn={class:`text-subtitle2 q-mb-sm`},Yn={class:`row items-center q-gutter-lg`},Xn={key:6,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Zn={class:`text-subtitle2 q-mb-xs`},Qn={class:`text-kobo-3 text-caption q-mb-md`},$n={key:0,class:`column q-gutter-sm q-mt-md`},er={class:`row items-center q-gutter-sm`},tr={class:`text-kobo-2 text-caption`,style:{"min-width":`58px`}},nr={class:`text-kobo-2 text-caption`,style:{"min-width":`40px`,"text-align":`right`}},rr={key:0,class:`text-kobo-3 text-caption`},ir={key:7,"data-tour":`settings-card-notifications`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ar={class:`text-subtitle2 q-mb-sm`},or={class:`notification-sounds-grid q-mt-md`},sr={class:`notification-sound-card q-pa-md rounded-borders`},cr={class:`text-subtitle2`},lr={class:`text-kobo-3 text-caption q-mb-sm`},ur={class:`column q-gutter-xs q-mb-sm`},dr={class:`row items-center q-gutter-sm q-mb-sm`},fr={class:`row items-center q-gutter-sm`},pr={class:`row items-center q-gutter-sm q-mt-sm`},mr={class:`text-kobo-2 text-caption`,style:{"min-width":`58px`}},hr={class:`text-kobo-2 text-caption`,style:{"min-width":`40px`,"text-align":`right`}},gr={class:`notification-sound-card q-pa-md rounded-borders`},_r={class:`text-subtitle2`},vr={class:`text-kobo-3 text-caption q-mb-sm`},yr={class:`row items-center q-gutter-sm`},br={class:`row items-center q-gutter-sm q-mt-sm`},xr={class:`text-kobo-2 text-caption`,style:{"min-width":`58px`}},Sr={class:`text-kobo-2 text-caption`,style:{"min-width":`40px`,"text-align":`right`}},Cr={class:`notification-sound-card q-pa-md rounded-borders`},wr={class:`text-subtitle2`},Tr={class:`text-kobo-3 text-caption q-mb-sm`},Er={class:`row items-center q-gutter-sm`},Dr={class:`row items-center q-gutter-sm q-mt-sm`},Or={class:`text-kobo-2 text-caption`,style:{"min-width":`58px`}},kr={class:`text-kobo-2 text-caption`,style:{"min-width":`40px`,"text-align":`right`}},Ar={class:`notification-sound-card q-pa-md rounded-borders`},jr={class:`text-subtitle2`},Mr={class:`text-kobo-3 text-caption q-mb-sm`},Nr={class:`row items-center q-gutter-sm`},Pr={class:`row items-center q-gutter-sm q-mt-sm`},Fr={class:`text-kobo-2 text-caption`,style:{"min-width":`58px`}},Ir={class:`text-kobo-2 text-caption`,style:{"min-width":`40px`,"text-align":`right`}},Lr={key:8,"data-tour":`settings-card-voice`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Rr={class:`row items-center q-mb-sm`},zr={class:`text-subtitle2`},Br={class:`column q-gutter-xs`},Vr={class:`row items-center q-gutter-sm`},Hr={class:`row items-center q-gutter-sm`},Ur={class:`q-pa-sm text-caption text-kobo-2`},Wr={class:`q-mb-sm`},Gr={class:`q-mb-sm`},Kr={href:`https://github.com/ggml-org/whisper.cpp`,target:`_blank`,rel:`noopener noreferrer`,class:`text-kobo-2`},qr={class:`q-mb-xs text-kobo-2`},Jr={class:`q-mb-sm`},Yr={class:`q-mb-xs text-kobo-2`},Xr={key:9,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Zr={class:`text-subtitle2 q-mb-sm`},Qr={class:`row q-col-gutter-sm`},$r={class:`col-12 col-sm-6`},ei={class:`col-12 col-sm-6`},ti={key:10,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ni={class:`text-subtitle2 q-mb-sm`},ri={key:0,class:`voice-models-dir row items-center q-gutter-sm q-mb-md`},ii={class:`text-caption text-kobo-2 ellipsis-2-lines`,style:{flex:`1`,"min-width":`0`,"word-break":`break-all`}},ai={class:`column q-gutter-sm`},oi={class:`row items-center q-gutter-sm`},si={class:`text-body2 text-kobo-1`,style:{"font-family":`var(--kobo-font-mono, monospace)`}},ci={class:`text-caption text-kobo-3`},li={key:0,class:`q-mt-sm`},ui={class:`row items-center q-mt-xs`},di={class:`text-caption text-kobo-3`},fi={class:`text-caption text-kobo-2`},pi={key:1,class:`text-caption text-kobo-3 q-mt-xs ellipsis`,style:{"font-family":`var(--kobo-font-mono, monospace)`,"word-break":`break-all`}},mi={key:11,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},hi={class:`text-subtitle2 q-mb-sm`},gi={class:`q-pa-sm column q-gutter-sm`},_i={class:`row items-center q-gutter-sm`},vi={class:`text-caption text-kobo-2`},yi={class:`text-caption text-kobo-2`,style:{"min-width":`40px`,"text-align":`right`}},bi={class:`text-caption text-kobo-3`},xi={class:`text-caption text-kobo-3`},Si={class:`text-caption text-kobo-3`},Ci={class:`text-caption text-kobo-3`},wi={class:`q-pa-sm column q-gutter-sm`},Ti={key:12,"data-tour":`settings-card-prompts`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Ei={class:`row items-center q-mb-sm`},Di={class:`text-subtitle2`},Oi={class:`text-caption text-kobo-3 q-mb-sm`},ki={class:`q-mb-sm`},Ai={class:`row items-center q-mb-sm q-mt-md`},ji={class:`text-subtitle2`},Mi={class:`text-caption text-kobo-3 q-mb-sm`},Ni={class:`row items-center q-mb-sm q-mt-md`},Pi={class:`text-subtitle2`},Fi={class:`text-caption text-kobo-3 q-mb-sm`},Ii={class:`row items-center q-mb-sm q-mt-md`},Li={class:`text-subtitle2`},Ri={class:`text-caption text-kobo-3 q-mb-sm`},zi={class:`row items-center q-mb-sm q-mt-md`},Bi={class:`text-subtitle2`},Vi={class:`text-caption text-kobo-3 q-mb-sm`},Hi={key:13,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Ui={class:`text-subtitle2 q-mb-sm`},Wi={class:`text-caption text-kobo-3 q-mb-sm`},Gi={key:14,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Ki={class:`text-subtitle2 q-mb-sm`},qi={class:`text-caption text-kobo-3 q-mb-sm`},Ji={key:15,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Yi={class:`text-subtitle2 q-mb-sm`},Xi={class:`text-caption text-kobo-3 q-mb-sm`},Zi={key:16,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Qi={class:`text-subtitle2 q-mb-sm`},$i={class:`text-caption text-kobo-3 q-mb-sm`},ea={class:`q-mb-sm`},ta={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},na={key:18,"data-tour":`settings-card-sentry`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ra={class:`text-subtitle2 q-mb-sm`},ia={class:`text-caption text-kobo-3 q-mb-sm`},aa={class:`q-mb-sm`},oa={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},sa={key:20,"data-tour":`settings-card-forge`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ca={class:`text-subtitle2 q-mb-sm`},la={class:`text-caption text-kobo-3 q-mb-md`},ua={class:`text-subtitle2 q-mb-sm`},da={class:`text-caption text-kobo-3 q-mb-sm`},fa={class:`q-mb-sm`},pa={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},ma={class:`q-mb-sm`},ha={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},ga={class:`row items-center q-mb-sm`},_a={class:`text-subtitle2`},va={class:`text-caption text-kobo-3 q-mb-xs`},ya={class:`text-subtitle2 q-mb-sm`},ba={class:`text-caption text-kobo-3 q-mb-sm`},xa={class:`q-mb-sm`},Sa={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},Ca={class:`q-mb-sm`},wa={class:`row items-center q-mb-xs`},Ta={class:`field-label-sub text-caption text-kobo-3 col`},Ea=[`src`,`alt`],Da={key:1,class:`text-caption text-kobo-3 q-py-sm`},Oa={key:0,class:`text-caption text-orange-5 q-mb-xs`},ka={class:`text-subtitle2 q-mb-sm`},Aa={class:`row items-center q-mb-sm`},ja={class:`text-subtitle2`},Ma={class:`text-caption text-kobo-3 q-mb-xs`},Na={key:24,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Pa={class:`text-subtitle2 q-mb-sm`},Fa={class:`text-caption text-kobo-3 q-mb-sm`},Ia={key:25,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={class:`row items-center no-wrap`},Ba={key:1,class:`text-caption text-kobo-3 q-mb-sm`},Va={class:`row items-center q-gutter-sm`},Ha={key:26,"data-tour":`settings-card-scripts`,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:27,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:`text-caption text-kobo-3 q-mt-md q-mb-xs`},Ya={key:28,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Xa={class:`text-subtitle2 q-mb-sm`},Za={class:`text-caption text-kobo-3 q-mb-sm`},Qa={key:29,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},$a={class:`text-subtitle2 q-mb-sm`},eo={class:`text-caption text-kobo-3 q-mb-sm`},to={key:30,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-sm`},io={key:31,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ao={class:`text-subtitle2 q-mb-sm`},oo={class:`text-caption text-kobo-3 q-mb-sm`},so={key:32,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},co={class:`row items-center justify-between q-mb-sm`},lo={class:`text-subtitle2`},uo={class:`text-caption text-kobo-3 q-mb-xs`},fo={class:`text-caption text-kobo-3 mono-guide q-mb-sm`},po={key:33,"data-tour":`settings-card-worktrees`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},mo={class:`text-subtitle2 q-mb-sm`},ho={class:`text-caption text-kobo-3 q-mb-sm`},go={class:`text-caption text-kobo-3 q-mt-xs`},_o={"data-tour":`settings-card-worktrees-purge`},vo={class:`text-caption text-kobo-3 q-mt-xs`},yo={"data-tour":`settings-card-worktrees-retention`},bo={class:`text-subtitle2 q-mb-sm`},xo={class:`text-caption text-negative q-mb-sm`},So={class:`text-caption text-kobo-3 q-mb-sm`},Co={key:0,class:`text-caption text-kobo-3 q-mt-sm`},wo={class:`q-pa-sm text-caption text-kobo-2`,style:{"line-height":`1.55`}},To={class:`text-weight-medium text-kobo-1 q-mb-xs`},Eo={class:`q-mb-xs`},Do={class:`purge-docs-code`},Oo={class:`text-kobo-3 q-mb-md`},ko={class:`text-weight-medium text-kobo-1 q-mb-xs`},Ao={class:`q-mb-xs`},jo={class:`q-pl-md q-my-xs`},Mo={class:`purge-docs-code`},No={class:`text-kobo-3 q-mb-md`},Po={class:`text-weight-medium text-kobo-1 q-mb-xs`},Fo={class:`q-mb-xs`},Io={class:`q-mb-xs text-kobo-3`},Lo={class:`purge-docs-code`},Ro={class:`q-mb-xs text-kobo-3`},zo={class:`purge-docs-code`},Bo={class:`text-kobo-3`},Vo={key:34,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:1,class:`q-mt-md`},Go={class:`text-caption text-kobo-3 q-mt-xs`},Ko={class:`q-mt-md`},qo={class:`text-caption text-kobo-3 q-mb-xs`},Jo={class:`q-mt-md`},Yo={class:`text-caption text-kobo-3 q-mb-xs`},Xo={key:0,class:`text-caption text-kobo-3`},Zo={key:0,class:`q-mt-md`},Qo={class:`text-caption text-kobo-3 q-mb-xs`},$o=[`src`,`alt`],es={key:35,"data-tour":`settings-card-export`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ts={class:`text-subtitle2 q-mb-sm`},ns={class:`text-caption text-kobo-3 q-mb-sm`},rs={class:`row q-gutter-sm`},is={key:0,class:`q-pa-none`},as={class:`row q-gutter-md`,style:{"min-height":`500px`}},os={class:`project-list-col`},ss={class:`settings-card rounded-borders`,style:{height:`100%`}},cs={class:`q-pa-sm`},ls={class:`text-caption text-uppercase text-weight-bold q-px-sm q-py-xs text-kobo-3`,style:{"letter-spacing":`0.05em`}},us={key:0,class:`q-pa-md text-center text-caption text-kobo-3`},ds={class:`q-pa-sm`},fs={class:`project-form-col`},ps={class:`settings-card rounded-borders q-pa-lg`,style:{height:`100%`}},ms={class:`row items-center q-mb-md`},hs={class:`text-subtitle1 text-weight-medium text-kobo-1`},gs={key:0,class:`q-mb-md`},_s={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},vs={class:`text-caption text-kobo-3 q-mt-xs`},ys={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},bs={class:`text-subtitle2 q-mb-md`},xs={class:`q-mb-md`},Ss={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Cs={class:`q-mb-md`},ws={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Ts={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Es={class:`row items-center q-gutter-xs`},Ds={class:`text-caption text-kobo-3 q-mt-xs`},Os={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ks={class:`text-subtitle2 q-mb-md`},As={class:`q-mb-md`},js={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Ms={class:`q-mb-md`},Ns={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Ps={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Fs={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Is={class:`text-subtitle2 q-mb-md`},Ls={class:`q-mb-md`},Rs={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},zs={class:`text-caption text-kobo-3 q-mb-xs`},Bs={class:`q-mb-md`},Vs={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Hs={class:`text-caption text-kobo-3 q-mb-xs`},Us={class:`q-mb-md`},Ws={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Gs={class:`text-caption text-kobo-3 q-mb-xs`},Ks={key:0,class:`q-mb-md`},qs={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Js={class:`text-caption text-kobo-3 q-mb-xs`},Ys={key:1,class:`q-mb-md`},Xs={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Zs={class:`text-caption text-kobo-3 q-mb-xs`},Qs={class:`q-mb-md`},$s={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},ec={class:`text-caption text-kobo-3 q-mb-xs`},tc={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},nc={class:`text-caption text-kobo-3 q-mt-xs`},rc={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ic={class:`text-subtitle2 q-mb-md`},ac={class:`q-mb-md`},oc={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},sc={class:`text-caption text-kobo-3 q-mb-xs`},cc={class:`text-caption text-kobo-3 q-mt-xs`},lc={class:`q-mb-md`},uc={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},dc={class:`text-caption text-kobo-3 q-mb-xs`},fc={class:`field-label-sub text-caption q-mt-sm q-mb-xs text-kobo-3`},pc={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},mc={class:`text-caption text-kobo-3 q-mb-xs`},hc={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},gc={class:`text-caption text-kobo-3 q-mb-xs`},_c={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},vc={class:`text-caption text-kobo-3 q-mb-xs`},yc={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},bc={class:`text-caption text-kobo-3 q-mb-xs`},xc={class:`row items-center justify-between q-mb-xs`},Sc={class:`field-label text-body2 text-weight-medium text-kobo-3`},Cc={class:`text-caption text-kobo-3 q-mb-xs`},wc={class:`text-caption text-kobo-3 mono-guide q-mb-sm`},Tc={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Ec={class:`text-subtitle2 q-mb-md`},Dc={class:`q-mb-md`},Oc={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},kc={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},Ac={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},jc={class:`text-subtitle2 q-mb-xs`},Mc={class:`text-caption text-kobo-3 q-mb-sm`},Nc={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Pc={class:`text-subtitle2 q-mb-xs`},Fc={class:`text-caption text-kobo-3 q-mb-sm`},Ic={key:1,class:`column items-center justify-center`,style:{height:`100%`,"min-height":`300px`}},Lc={class:`text-body2 text-kobo-3`},Rc={key:1,class:`q-pa-none`},zc={"data-tour":`settings-card-templates`,class:`settings-card rounded-borders q-pa-lg`},Bc={class:`row items-center justify-between q-mb-md`},Vc={class:`text-subtitle1 text-weight-medium text-kobo-1`},Hc={class:`row q-gutter-sm items-center`},Uc={key:0,class:`text-kobo-3 q-py-lg text-center`},Wc={key:1,class:`column q-gutter-sm`},Gc={class:`row items-start justify-between no-wrap`},Kc={class:`col`},qc={class:`text-body1 text-weight-medium`,style:{"font-family":`var(--kobo-font-mono)`}},Jc={class:`text-caption text-kobo-2 q-mt-xs`},Yc={class:`row no-wrap q-gutter-xs`},Xc={class:`text-caption text-kobo-3 q-mt-lg`,style:{"font-family":`var(--kobo-font-mono)`}},Zc={key:2,class:`q-pa-none`},Qc={"data-tour":`settings-card-workspaceTemplates`,class:`settings-card rounded-borders q-pa-lg`},$c={class:`text-subtitle1 text-weight-medium text-kobo-1 q-mb-xs`},el={class:`text-caption text-kobo-3 q-mb-md`},tl={key:0,class:`text-caption text-kobo-3`},nl={class:`row no-wrap q-gutter-xs`},rl={class:`mono-guide q-ma-none`},il={class:`settings-savebar__label`},al={class:`text-subtitle1`},ol={class:`q-pl-md q-pt-xs`,style:{"font-size":`11px`,"font-family":`var(--kobo-font-mono)`,columns:`2`,"column-gap":`24px`}},sl={key:0,class:`text-negative text-caption`},cl=2500,ll=st(w({__name:`SettingsPage`,setup(e){let o=ue(),d=qe(),h=Ge(),te=xt(),{t:w,locale:ne}=Ke(),{scheduleAutoRun:re}=ct(),{isMobile:oe}=pt(),le=lt(),O=a(`general`),k=a(!1);function de(e){O.value=e,oe.value&&(k.value=!1)}function fe(){k.value=!1,le.toggleLeft()}let pe=y(()=>[{value:`general`,icon:`tune`,label:w(`settings.nav.general`)},{value:`agents`,icon:`smart_toy`,label:w(`settings.nav.agents`)},{value:`skills`,icon:`extension`,label:w(`settings.nav.skills`)},{value:`prompts`,icon:`text_snippet`,label:w(`settings.nav.prompts`)},{value:`scripts`,icon:`terminal`,label:w(`settings.nav.scripts`)},{value:`notion`,icon:`integration_instructions`,label:w(`settings.nav.notion`)},{value:`sentry`,icon:`bug_report`,label:w(`settings.nav.sentry`)},{value:`forge`,icon:`account_tree`,label:w(`settings.nav.forge`)},{value:`voice`,icon:`mic`,label:w(`settings.nav.voice`)},{value:`notifications`,icon:`notifications`,label:w(`settings.nav.notifications`)},{value:`worktrees`,icon:`account_tree`,label:w(`settings.nav.worktrees`)},{value:`projects`,icon:`folder`,label:w(`settings.projects`)},{value:`templates`,icon:`description`,label:w(`templates.title`)},{value:`workspaceTemplates`,icon:`bookmarks`,label:w(`settings.nav.workspaceTemplates`)},{value:`export`,icon:`import_export`,label:w(`settings.nav.export`)}]),me=y(()=>pe.value.find(e=>e.value===O.value)?.label??``),he=y(()=>[`general`,`agents`,`skills`,`prompts`,`scripts`,`notion`,`sentry`,`forge`,`voice`,`notifications`,`worktrees`,`export`].includes(O.value)),_e=a(`auto`),ve=a(`auto`),we=a(``),De=a(``),A=a(``),Pe=a(``),Ie=a(``),Ve=a(``),L=a(``),tt=a(``),st=a(!1),ut=a(5),St=a(0),B=a(0),Ct=a(0),V=a({enabled:!1,token:``,behindProxy:!1,urls:[]}),wt=a(!1),Tt=a(``);function Et(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 Dt=y(()=>V.value.urls.map(Et));async function Ot(){try{let e=await fetch(`/api/settings/network`);if(!e.ok)throw Error(`HTTP ${e.status}`);V.value=await e.json(),await At()}catch{o.notify({type:`negative`,message:w(`settings.network.loadFailed`),position:`top`})}}async function At(){let e=Dt.value[0];if(!e||!V.value.token){Tt.value=``;return}let t=`${e}/?token=${encodeURIComponent(V.value.token)}`;try{let{default:e}=await Ee(async()=>{let{default:e}=await import(`./browser-sSy6JmeQ.js`).then(e=>kt(e.default,1));return{default:e}},[]);Tt.value=await e.toDataURL(t,{margin:1,width:200})}catch{Tt.value=``}}async function jt(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();V.value={enabled:n.enabled,token:n.token,behindProxy:n.behindProxy,urls:n.urls},n.restartRequired&&(wt.value=!0),await At()}catch{o.notify({type:`negative`,message:w(`settings.network.updateFailed`),position:`top`}),await Ot()}}function Mt(e){jt({enabled:e})}function Nt(e){jt({behindProxy:e})}function Pt(){o.dialog({title:w(`settings.network.title`),message:w(`settings.network.regenerateConfirm`),cancel:!0,persistent:!0}).onOk(()=>{jt({regenerate:!0})})}function Ft(){ef(V.value.token)}let It=a(!0),Lt=a(typeof Notification>`u`?`unsupported`:Notification.permission),H=a(!0),U=a(!1),W=a(!1),G=a(!1),Vt=a(Le),Ht=a(Ce),Ut=a(Ce),Wt=a(Ce),Gt=a(1),Kt=a(1),qt=a(1),Xt=a(1),Zt=a({...Se}),Qt=a(``),$t=a(``),en=a(``),tn=a(``),rn=a(!1),an=a(!0),sn=a(!1),ll=a(ge),ul=a(1),dl=y(()=>ln(H.value)),fl=y(()=>{switch(Lt.value){case`granted`:return{color:`positive`,label:w(`settings.browserNotificationGranted`)};case`denied`:return{color:`negative`,label:w(`settings.browserNotificationDenied`)};case`default`:return{color:`warning`,label:w(`settings.browserNotificationAsk`)};default:return{color:`kobo-3`,label:w(`settings.browserNotificationUnsupported`)}}});async function pl(){if(typeof Notification>`u`){o.notify({type:`negative`,message:w(`settings.browserNotificationUnsupported`),position:`top`});return}if(Notification.permission==="default"?Lt.value=await Notification.requestPermission():Lt.value=Notification.permission,Lt.value!==`granted`){o.notify({type:`warning`,message:w(`settings.browserNotificationPermissionNeeded`),position:`top`});return}new Notification(w(`settings.browserNotificationTestTitle`),{body:w(`settings.browserNotificationTestBody`),icon:`/favicon.ico`})}let ml=a(null),K=a({});async function hl(e){ml.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{ml.value=null}}let gl=a([]),_l=a(!1),vl=a(``),yl=y(()=>gl.value.map(e=>({label:`${e.name} — ${e.email}`,value:e.id,name:e.name,email:e.email,avatarUrl:e.avatarUrl})));async function bl(e=!1){if(!_l.value&&!(!e&&gl.value.length>0)){_l.value=!0,vl.value=``;try{let e=await fetch(`/api/notion/users`),t=await e.json().catch(()=>({}));if(!e.ok)throw Error(t.error??`HTTP ${e.status}`);gl.value=Array.isArray(t.users)?t.users:[]}catch(e){vl.value=e instanceof Error?e.message:String(e),gl.value=[]}finally{_l.value=!1}}}let xl=a(``),Sl=a(``),q=a(null),Cl=a(`bypass`),wl=a(`bypass`),Tl=a(``),El=a(``),Dl=a(``),Ol=a(``),J=a(!0),kl=a(!0),Al=a([]),Y=a([]),jl=a(``),Ml=a(``),Nl=a(``),Pl=a(`no-tasks`),Fl=a(!1),Il=a(``),Ll=a(``),Rl=a(``),zl=a(``),Bl=a(``),Vl=a(``),Hl=a(!1);function Ul(e){Q.value.path=e}let Wl=y(()=>[{label:w(`settings.cleanupScriptMode.inherit`),value:``},{label:w(`settings.cleanupScriptMode.idle`),value:`idle`},{label:w(`settings.cleanupScriptMode.noTasks`),value:`no-tasks`}]),Gl=a(Oe),Kl=a(null),ql=a(!0);function Jl(e){let t=e.trim().replace(/^\/+|\/+$/g,``);return t.length===0||t.length>50||!/^[A-Za-z0-9._/-]+$/.test(t)||t.includes(`..`)?``:t}function Yl(){let e=Jl(jl.value);e&&!Y.value.includes(e)&&(Y.value.push(e),jl.value=``)}function Xl(e){Y.value.splice(e,1)}function Zl(e,t){let n=Jl(t);if(!n)return;let r=Y.value.indexOf(n);(r===-1||r===e)&&(Y.value[e]=n)}function Ql(e,t){let n=e+t;if(n<0||n>=Y.value.length)return;let r=Y.value;[r[e],r[n]]=[r[n],r[e]]}let $l=a(!1),eu=a(`superpowers`),tu=y(()=>{switch(eu.value){case`gstack`:return`settings.skillSuite.gstackHint`;case`ecc`:return`settings.skillSuite.eccHint`;case`superpowers+gstack`:return`settings.skillSuite.superpowersGstackHint`;case`superpowers+gstack+ecc`:return`settings.skillSuite.allThreeHint`;case`custom`:return`settings.skillSuite.customHint`;default:return`settings.skillSuite.superpowersHint`}}),nu=a(``),ru=a(``),iu=a(``),au=a(``),ou=a(``),su=a(null),cu=y(()=>[{value:`custom`,label:w(`settings.skillSuite.agnostic`)},{value:`superpowers`,label:w(`settings.skillSuite.superpowers`)},{value:`gstack`,label:w(`settings.skillSuite.gstack`)},{value:`ecc`,label:w(`settings.skillSuite.ecc`)},{value:`superpowers+gstack`,label:w(`settings.skillSuite.superpowersGstack`)},{value:`superpowers+gstack+ecc`,label:w(`settings.skillSuite.allThree`)}]);async function lu(e,t){su.value=e;try{let n=await fetch(`/api/settings/skill-suite-prompts/${t}`);if(!n.ok)throw Error(await n.text());let r=await n.json(),i={reviewTemplate:nu,autoLoopReviewGate:ru,autoLoopGroomingIntro:iu,qaPromptTemplate:au,brainstormingInstruction:ou};i[e].value=r[e],o.notify({type:`positive`,message:w(`settings.skillSuite.imported`),position:`top`})}catch(e){o.notify({type:`negative`,message:`${w(`settings.skillSuite.importFailed`)}: ${String(e)}`,position:`top`})}finally{su.value=null}}let uu=a(!1),du=a(`alt`),fu=a(`auto`),pu=a(null),mu=a(``),hu=a(``),gu=a(0),_u=a(``),vu=a(!1),yu=a(!0),bu=a(null),xu=a(!1);function Su(){o.dialog({title:w(`settings.skillSuite.reloadDefaults`),message:w(`settings.skillSuite.reloadDefaultsConfirm`),cancel:!0,persistent:!0,dark:!0}).onOk(()=>{nu.value=Qe,ru.value=Ze,iu.value=rt,au.value=at,ou.value=$e})}function Cu(e){let t=e===`global`?Bl.value:Q.value.changeSourceBranchScript,n=()=>{e===`global`?Bl.value=Vl.value:Q.value.changeSourceBranchScript=Vl.value};if(!t.trim()||t===Vl.value){n();return}o.dialog({title:w(`settings.changeSourceBranchScript.replaceConfirmTitle`),message:w(`settings.changeSourceBranchScript.replaceConfirm`),cancel:!0,persistent:!0,dark:!0}).onOk(n)}function wu(e){return!e||e===`tiny`||e===`base`?.1:.2}let Tu=[e=>e.trim().length>0||w(`settings.worktreesPathRequired`)],Eu=a(!1),X=a(-1),Z=a(!1),Q=a({path:``,displayName:``,color:null,defaultSourceBranch:``,defaultModel:``,forge:`auto`,prPromptTemplate:``,reviewPromptTemplate:``,ciFixPromptTemplate:``,notionInitialPromptTemplate:``,sentryInitialPromptTemplate:``,gitConventions:``,setupScript:``,taskPromptTemplate:``,cleanupScript:``,cleanupScriptMode:``,archiveScript:``,changeSourceBranchScript:``,sessionEndedScript:``,prMergedScript:``,autoLoopDisabledScript:``,devServer:{startCommand:``,stopCommand:``},e2e:{framework:``,skill:``,prompt:``},finalization:{prompt:``}}),Du=[`defaultModel`,`forge`,`prPromptTemplate`,`reviewPromptTemplate`,`ciFixPromptTemplate`,`notionInitialPromptTemplate`,`sentryInitialPromptTemplate`,`gitConventions`,`setupScript`,`taskPromptTemplate`,`cleanupScript`,`cleanupScriptMode`,`archiveScript`,`changeSourceBranchScript`,`sessionEndedScript`,`prMergedScript`,`autoLoopDisabledScript`,`devServer`,`e2e`,`finalization`],Ou=a(null),ku=a(null),Au=y(()=>d.projects.map(e=>({value:e.path,label:of(e)||e.path})));function ju(e){let t=d.projects.find(t=>t.path===e);t&&(Q.value.defaultModel=t.defaultModel??``,Q.value.forge=t.forge??`auto`,Q.value.prPromptTemplate=t.prPromptTemplate??``,Q.value.reviewPromptTemplate=t.reviewPromptTemplate??``,Q.value.ciFixPromptTemplate=t.ciFixPromptTemplate??``,Q.value.notionInitialPromptTemplate=t.notionInitialPromptTemplate??``,Q.value.sentryInitialPromptTemplate=t.sentryInitialPromptTemplate??``,Q.value.gitConventions=t.gitConventions??``,Q.value.setupScript=t.setupScript??``,Q.value.devServer={startCommand:t.devServer?.startCommand??``,stopCommand:t.devServer?.stopCommand??``},Q.value.e2e={framework:t.e2e?.framework??``,skill:t.e2e?.skill??``,prompt:t.e2e?.prompt??``},Q.value.finalization={prompt:t.finalization?.prompt??``})}function Mu(){let e={defaultModel:``,forge:`auto`,prPromptTemplate:``,reviewPromptTemplate:``,notionInitialPromptTemplate:``,sentryInitialPromptTemplate:``,gitConventions:``,setupScript:``,taskPromptTemplate:``,cleanupScript:``,cleanupScriptMode:``,archiveScript:``,changeSourceBranchScript:``,sessionEndedScript:``,prMergedScript:``,autoLoopDisabledScript:``,devServer:{startCommand:``,stopCommand:``},e2e:{framework:``,skill:``,prompt:``},finalization:{prompt:``}};return Du.every(t=>JSON.stringify(Q.value[t])===JSON.stringify(e[t]))}function Nu(e){if(e===null){Ou.value=null,ku.value=null;return}if(ku.value===null&&Mu()){ju(e),Ou.value=e,ku.value=e;return}let t=d.projects.find(t=>t.path===e),n=t&&of(t)||e;o.dialog({title:w(`settings.copyFromConfirmTitle`),message:w(`settings.copyFromConfirm`,{project:n}),cancel:!0,persistent:!0,dark:!0}).onOk(()=>{ju(e),Ou.value=e,ku.value=e}).onCancel(()=>{Ou.value=ku.value})}let Pu=a([]),Fu=a([]);async function Iu(){try{let e=await fetch(`/api/skills`);e.ok&&(Pu.value=await e.json())}catch{}}function Lu(e,t){t(()=>{let t=e.trim().toLowerCase();Fu.value=t?Pu.value.filter(e=>e.toLowerCase().includes(t)):Pu.value.slice()})}let Ru=a([]),zu=a(!1),Bu=a(!1),Vu=a(!1),Hu=a(!1),Uu=a(null),Wu=a(``),Gu=a(``),Ku=a(``),qu=a(``),Ju=a(!1),Yu=a(!1),Xu=y(()=>[...h.templates].sort((e,t)=>e.slug.localeCompare(t.slug))),Zu=[`{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 Qu(){Uu.value=null,Wu.value=``,Gu.value=``,Ku.value=``,qu.value=``,Hu.value=!0}function $u(e){Uu.value=e.slug,Wu.value=e.slug,Gu.value=e.description,Ku.value=e.content,qu.value=``,Hu.value=!0}async function ed(){qu.value=``;let e=Wu.value.trim(),t=Gu.value.trim();if(Uu.value===null&&!/^[a-z0-9][a-z0-9-]{0,63}$/.test(e)){qu.value=w(`templates.slugInvalid`);return}if(!t){qu.value=w(`templates.descriptionRequired`);return}if(!Ku.value.trim()){qu.value=w(`templates.contentRequired`);return}Ju.value=!0;try{Uu.value===null?await h.createTemplate({slug:e,description:t,content:Ku.value}):await h.updateTemplate(Uu.value,{description:t,content:Ku.value}),Hu.value=!1}catch(e){qu.value=e instanceof Error?e.message:w(`templates.createFailed`)}finally{Ju.value=!1}}function td(){o.dialog({title:w(`templates.reloadDefaults`),message:w(`templates.reloadDefaultsConfirmMessage`),dark:!0,cancel:{flat:!0,label:w(`common.cancel`),color:`kobo-2`},ok:{flat:!0,label:w(`templates.reloadDefaults`),color:`primary`}}).onOk(async()=>{Yu.value=!0;try{let e=await h.reloadDefaults();o.notify({type:`positive`,message:w(`templates.reloadDefaultsSuccess`,{added:e.added.length,kept:e.kept.length}),position:`top`,timeout:4e3})}catch(e){o.notify({type:`negative`,message:e instanceof Error?e.message:w(`templates.reloadDefaultsFailed`),position:`top`})}finally{Yu.value=!1}})}async function nd(e){o.dialog({title:w(`templates.deleteTemplate`),message:`${w(`templates.deleteConfirm`,{slug:e.slug})}\n\n${w(`templates.deleteConfirmMessage`)}`,dark:!0,cancel:{flat:!0,label:w(`common.cancel`),color:`kobo-2`},ok:{flat:!0,label:w(`templates.deleteTemplate`),color:`red-5`}}).onOk(async()=>{try{await h.deleteTemplate(e.slug)}catch(e){o.notify({type:`negative`,message:e instanceof Error?e.message:w(`templates.deleteFailed`),position:`top`})}})}function rd(e){let t=new Date(e);return Number.isNaN(t.getTime())?`-`:t.toLocaleDateString()}function id(e,t){o.dialog({title:w(`workspaceTemplates.renameTitle`),dark:!0,prompt:{model:t,type:`text`,outlined:!0,dense:!0,isValid:e=>e.trim().length>0},cancel:!0,persistent:!0}).onOk(async t=>{try{await te.updateTemplate(e,{name:t})}catch(e){o.notify({type:`negative`,message:e instanceof Error?e.message:w(`settings.saveError`),position:`top`})}})}function ad(e,t){o.dialog({title:w(`workspaceTemplates.title`),message:w(`workspaceTemplates.deleteConfirm`,{name:t}),dark:!0,cancel:!0,persistent:!0}).onOk(async()=>{try{await te.deleteTemplate(e),o.notify({type:`positive`,message:w(`workspaceTemplates.deleted`,{name:t}),position:`top`})}catch(e){o.notify({type:`negative`,message:e instanceof Error?e.message:w(`settings.saveError`),position:`top`})}})}function od(e){o.dialog({title:w(`templates.resetConfirmTitle`),message:w(`templates.resetConfirmMessage`,{slug:e.slug}),dark:!0,cancel:{flat:!0,label:w(`common.cancel`),color:`kobo-2`},ok:{flat:!0,label:w(`templates.resetToDefault`),color:`primary`}}).onOk(async()=>{try{await h.resetToDefault(e.slug),o.notify({type:`positive`,message:w(`templates.resetSuccess`,{slug:e.slug}),position:`top`})}catch(e){o.notify({type:`negative`,message:e instanceof Error?e.message:w(`templates.resetFailed`),position:`top`})}})}let sd=[{label:`English`,value:`en`},{label:`Français`,value:`fr`},{label:`Deutsch`,value:`de`},{label:`Español`,value:`es`},{label:`Italiano`,value:`it`}];function cd(e){ke(e).catch(e=>{console.error(`[i18n] locale load failed:`,e),o.notify({type:`negative`,message:w(`settings.localeLoadFailed`),position:`top`})}),localStorage.setItem(`kobo:locale`,e)}let ld=y(()=>[...nt.map(e=>({label:w(e.i18nLabelKey),value:e.value}))]),ud=y(()=>[...et.map(e=>({label:w(e.i18nLabelKey),value:e.value}))]),dd=y(()=>[{label:w(`settings.useGlobal`),value:``},...ld.value]),fd=y(()=>[{label:w(`settings.forge.auto`),value:`auto`},{label:w(`settings.forge.github`),value:`github`},{label:w(`settings.forge.gitlab`),value:`gitlab`},{label:w(`settings.forge.bitbucketCommunity`),value:`bitbucket-community`},{label:w(`settings.forge.none`),value:`none`}]),pd=y(()=>it[`claude-code`].map(e=>({label:w(`agentPermissionMode.${e}`),value:e}))),md=y(()=>it.codex.map(e=>({label:w(`agentPermissionMode.${e}`),value:e}))),hd=y(()=>[{name:`{{pr_number}}`,description:w(`settings.var.prNumber`)},{name:`{{pr_url}}`,description:w(`settings.var.prUrl`)},{name:`{{branch_name}}`,description:w(`settings.var.branchName`)},{name:`{{source_branch}}`,description:w(`settings.var.sourceBranch`)},{name:`{{workspace_name}}`,description:w(`settings.var.workspaceName`)},{name:`{{project_name}}`,description:w(`settings.var.projectName`)},{name:`{{notion_url}}`,description:w(`settings.var.notionUrl`)},{name:`{{commits}}`,description:w(`settings.var.commits`)},{name:`{{diff_stats}}`,description:w(`settings.var.diffStats`)},{name:`{{tasks}}`,description:w(`settings.var.tasks`)},{name:`{{acceptance_criteria}}`,description:w(`settings.var.acceptanceCriteria`)}]),gd=y(()=>[{label:w(`settings.mcpAutoSelect`),value:``},...d.activeMcpServers.map(e=>({label:e.key,value:e.key}))]),_d=y(()=>Te.map(e=>({label:w(e.labelKey),value:e.id}))),vd=y(()=>[{label:w(`settings.soundGeneral`),value:Ce},..._d.value]),yd=y(()=>[{label:w(`voice.noneModel`),value:null}].concat(d.voiceModels.map(e=>({label:e.installed?`${e.name}`:`${e.name} (${w(`voice.notInstalled`)})`,value:e.name})))),bd=[{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 xd(){Je(Vt.value,Gt.value)}function Sd(){Je(Ht.value,Kt.value)}function Cd(){Je(Ut.value,qt.value)}function wd(){Je(Wt.value,Xt.value)}let $=y(()=>X.value<0||X.value>=d.projects.length?null:d.projects[X.value]??null),Td=a(kd()),Ed=a({});function Dd(){return{claudeModel:_e.value,codexModel:ve.value,prPrompt:we.value,reviewPrompt:De.value,ciFixPrompt:A.value,finalizationPrompt:Pe.value,gitConventions:Ie.value,editorCommand:Ve.value,fileManagerCommand:L.value,terminalCommand:tt.value,autoPurgeOnPrMerged:st.value,autoLoopMaxRetries:ut.value,awaitingUserReminderMinutes:St.value,wsEventsRetentionDays:B.value,wsEventsKeepPerWorkspace:Ct.value,browserNotifications:It.value,audioNotifications:H.value,audioQuestionNotifications:U.value,audioWorkspaceCreatedNotifications:W.value,audioAgentErrorNotifications:G.value,audioNotificationSound:Vt.value,audioQuestionSound:Ht.value,audioWorkspaceCreatedSound:Ut.value,audioAgentErrorSound:Wt.value,audioNotificationVolume:Gt.value,audioQuestionVolume:Kt.value,audioWorkspaceCreatedVolume:qt.value,audioAgentErrorVolume:Xt.value,prNotificationSounds:Zt.value,notionStatusProperty:Qt.value,notionStatus:$t.value,notionAssigneeProperty:en.value,notionUserId:tn.value,notionInitialPrompt:xl.value,sentryInitialPrompt:Sl.value,claudePermissionMode:Cl.value,codexPermissionMode:wl.value,notionMcpKey:Tl.value,sentryMcpKey:El.value,bitbucketToken:Dl.value,bitbucketUsername:Ol.value,notionEnabled:J.value,sentryEnabled:kl.value,showVerboseSystemMessages:rn.value,showThinkingBlocks:an.value,whipEnabled:sn.value,whipShortcut:ll.value,whipVolume:ul.value,tags:Al.value,branchPrefixes:Y.value,setupScript:Ml.value,cleanupScript:Nl.value,cleanupScriptMode:Pl.value,cleanupScriptOnlyOnChanges:Fl.value,archiveScript:Il.value,changeSourceBranchScript:Bl.value,sessionEndedScript:Ll.value,prMergedScript:Rl.value,autoLoopDisabledScript:zl.value,worktreesPath:Gl.value,worktreesPrefixByProject:ql.value,flattenWorkspaceList:$l.value,skillSuite:eu.value,customReviewTemplate:nu.value,customAutoLoopReviewGate:ru.value,customAutoLoopGroomingIntro:iu.value,customQaPromptTemplate:au.value,customBrainstormingInstruction:ou.value,voiceEnabled:uu.value,voicePttKey:du.value,voiceLanguage:fu.value,voiceModel:pu.value,voiceCommandPath:mu.value,voiceFfmpegPath:hu.value,voiceTemperature:gu.value,voicePrompt:_u.value,voiceTranslateToEnglish:vu.value,voiceSuppressNst:yu.value}}function Od(){return{...Q.value}}function kd(){return cn(Dd())}function Ad(){return cn(Od())}let jd=y(()=>!on(Dd(),Td.value)),Md=y(()=>!on(Od(),Ed.value)),Nd=y(()=>d.loadError?!1:jd.value?!0:Md.value&&($.value!==null||Z.value)),Pd=y(()=>Md.value&&($.value!==null||Z.value)?Bu.value:Eu.value);function Fd(){Md.value&&($.value!==null||Z.value)?tf():Kd()}function Id(){xu.value=!0;let e=d.global.defaultModelByEngine??{};_e.value=e[`claude-code`]??`auto`,ve.value=e.codex??`auto`,we.value=d.global.prPromptTemplate,De.value=d.global.reviewPromptTemplate??``,A.value=d.global.ciFixPromptTemplate??``,Pe.value=d.global.finalizationPrompt??``,Ie.value=d.global.gitConventions,Ve.value=d.global.editorCommand??``,L.value=d.global.fileManagerCommand??``,tt.value=d.global.terminalCommand??``,st.value=d.global.autoPurgeOnPrMerged??!1,ut.value=d.global.autoLoopMaxRetries??5,St.value=d.global.awaitingUserReminderMinutes??0,B.value=d.global.wsEventsRetentionDays??0,Ct.value=d.global.wsEventsKeepPerWorkspace??0,It.value=d.global.browserNotifications??!0,H.value=d.global.audioNotifications??!0,U.value=d.global.audioQuestionNotifications??!1,W.value=d.global.audioWorkspaceCreatedNotifications??!1,G.value=d.global.audioAgentErrorNotifications??!1,Vt.value=Ye(d.global.audioNotificationSound),Ht.value=xe(d.global.audioQuestionSound),Ut.value=xe(d.global.audioWorkspaceCreatedSound),Wt.value=xe(d.global.audioAgentErrorSound);let t=Object.fromEntries(be.map(e=>[e,xe(d.global[e])])),n=Object.fromEntries(ye.map(e=>{let t=d.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]}));Zt.value={...t,...n};let r=d.global.audioNotificationVolume;Gt.value=typeof r==`number`&&Number.isFinite(r)?Math.max(0,Math.min(1,r)):1;let i=d.global.audioQuestionVolume;Kt.value=typeof i==`number`&&Number.isFinite(i)?Math.max(0,Math.min(1,i)):1;let a=d.global.audioWorkspaceCreatedVolume;qt.value=typeof a==`number`&&Number.isFinite(a)?Math.max(0,Math.min(1,a)):1;let o=d.global.audioAgentErrorVolume;Xt.value=typeof o==`number`&&Number.isFinite(o)?Math.max(0,Math.min(1,o)):1,Qt.value=d.global.notionStatusProperty??``,$t.value=d.global.notionInProgressStatus??``,en.value=d.global.notionAssigneeProperty??``,tn.value=d.global.notionUserId??``,xl.value=d.global.notionInitialPromptTemplate??``,Sl.value=d.global.sentryInitialPromptTemplate??``;{let e=d.global.defaultPermissionModeByEngine??{},t=e=>e===`plan`||e===`bypass`||e===`strict`||e===`interactive`,n=e[`claude-code`];Cl.value=t(n)?n:`bypass`;let r=e.codex;wl.value=t(r)?r:`bypass`}Tl.value=d.global.notionMcpKey??``,El.value=d.global.sentryMcpKey??``,Dl.value=d.global.bitbucketToken??``,Ol.value=d.global.bitbucketUsername??``,J.value=d.global.notionEnabled??!0,kl.value=d.global.sentryEnabled??!0,rn.value=d.showVerboseSystemMessages,an.value=d.global.showThinkingBlocks??!0,sn.value=d.global.whipEnabled??!1,ll.value=d.global.whipShortcut??`mod+shift+x`,ul.value=d.global.whipVolume??1,Al.value=Array.isArray(d.global.tags)?[...d.global.tags]:[],Y.value=Array.isArray(d.global.branchPrefixes)?[...d.global.branchPrefixes]:[],Ml.value=d.global.setupScript??``,Nl.value=d.global.cleanupScript??``,Pl.value=d.global.cleanupScriptMode===`idle`?`idle`:`no-tasks`,Fl.value=d.global.cleanupScriptOnlyOnChanges??!1,Il.value=d.global.archiveScript??``,Ll.value=d.global.sessionEndedScript??``,Rl.value=d.global.prMergedScript??``,zl.value=d.global.autoLoopDisabledScript??``,Bl.value=d.global.changeSourceBranchScript??``,Gl.value=d.global.worktreesPath??`.worktrees`,ql.value=d.global.worktreesPrefixByProject??!1,$l.value=d.global.flattenWorkspaceList??!1,eu.value=d.global.skillSuite??`superpowers`,nu.value=d.global.customReviewTemplate??``,ru.value=d.global.customAutoLoopReviewGate??``,iu.value=d.global.customAutoLoopGroomingIntro??``,au.value=d.global.customQaPromptTemplate??``,ou.value=d.global.customBrainstormingInstruction??``,uu.value=d.global.voiceEnabled??!1,du.value=d.global.voicePttKey===`ctrl+space`?`ctrl+space`:`alt`,fu.value=d.global.voiceLanguage??`auto`,pu.value=d.global.voiceModel??null,mu.value=d.global.voiceCommandPath??``,hu.value=d.global.voiceFfmpegPath??``,gu.value=typeof d.global.voiceTemperature==`number`?d.global.voiceTemperature:0,_u.value=d.global.voicePrompt??``,vu.value=d.global.voiceTranslateToEnglish??!1,yu.value=d.global.voiceSuppressNonSpeechTokens??!0,xu.value=!1,Td.value=kd()}l(()=>pu.value,(e,t)=>{xu.value||e!==t&&(gu.value=wu(e))});function Ld(e){if(!e){Q.value={path:``,displayName:``,color:null,defaultSourceBranch:``,defaultModel:``,forge:`auto`,prPromptTemplate:``,reviewPromptTemplate:``,ciFixPromptTemplate:``,notionInitialPromptTemplate:``,sentryInitialPromptTemplate:``,gitConventions:``,setupScript:``,taskPromptTemplate:``,cleanupScript:``,cleanupScriptMode:``,archiveScript:``,changeSourceBranchScript:``,sessionEndedScript:``,prMergedScript:``,autoLoopDisabledScript:``,devServer:{startCommand:``,stopCommand:``},e2e:{framework:``,skill:``,prompt:``},finalization:{prompt:``}},Ru.value=[],Ed.value=Ad();return}Q.value={path:e.path,displayName:e.displayName,color:e.color??null,defaultSourceBranch:e.defaultSourceBranch,defaultModel:e.defaultModel,forge:e.forge??`auto`,prPromptTemplate:e.prPromptTemplate,reviewPromptTemplate:e.reviewPromptTemplate??``,ciFixPromptTemplate:e.ciFixPromptTemplate??``,notionInitialPromptTemplate:e.notionInitialPromptTemplate??``,sentryInitialPromptTemplate:e.sentryInitialPromptTemplate??``,gitConventions:e.gitConventions??``,setupScript:e.setupScript??``,taskPromptTemplate:e.taskPromptTemplate??``,cleanupScript:e.cleanupScript??``,cleanupScriptMode:e.cleanupScriptMode??``,archiveScript:e.archiveScript??``,changeSourceBranchScript:e.changeSourceBranchScript??``,sessionEndedScript:e.sessionEndedScript??``,prMergedScript:e.prMergedScript??``,autoLoopDisabledScript:e.autoLoopDisabledScript??``,devServer:{startCommand:e.devServer?.startCommand??``,stopCommand:e.devServer?.stopCommand??``},e2e:{framework:e.e2e?.framework??``,skill:e.e2e?.skill??``,prompt:e.e2e?.prompt??``},finalization:{prompt:e.finalization?.prompt??``}},Ed.value=Ad(),e.path&&Rd(e.path)}async function Rd(e){if(!e.trim()){Ru.value=[];return}zu.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();Ru.value=n.local??n.branches??[]}catch{Ru.value=[]}finally{zu.value=!1}}let zd=null;l(()=>Q.value.path,e=>{zd&&clearTimeout(zd),zd=setTimeout(()=>{Rd(e)},500)}),l(X,()=>{Z.value=!1,Ld($.value)});let Bd=a(null);async function Vd(){try{let e=await fetch(`/api/settings/export`);if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json(),n=new Blob([JSON.stringify(t,null,2)],{type:`application/json`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=`kobo-config-${new Date().toISOString().replace(/[:.]/g,`-`)}.json`,i.click(),URL.revokeObjectURL(r),o.notify({type:`positive`,message:w(`settings.exportSuccess`),position:`top`,timeout:3e3})}catch(e){o.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}}function Hd(){Bd.value?.click()}async function Ud(e){let t=e.target,n=t.files?.[0];if(n)try{o.dialog({title:w(`settings.importConfirmTitle`),message:w(`settings.importConfirmMessage`),cancel:!0,persistent:!0,dark:!0}).onOk(async()=>{try{let e=await n.text(),t=JSON.parse(e),r=await fetch(`/api/settings/import`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)});if(!r.ok){let e=await r.json().catch(()=>({}));throw Error(e.error??`HTTP ${r.status}`)}await d.fetchSettings(),Id(),o.notify({type:`positive`,message:w(`settings.importSuccess`),position:`top`,timeout:3e3})}catch(e){o.notify({type:`negative`,message:String(e),position:`top`,timeout:5e3})}})}finally{t.value=``}}async function Wd(e){if(q.value===null){q.value=e;try{let t=await d.fetchGlobalDefaults(),n={prPromptTemplate:we,reviewPromptTemplate:De,ciFixPromptTemplate:A,finalizationPrompt:Pe,gitConventions:Ie,notionInitialPromptTemplate:xl,sentryInitialPromptTemplate:Sl};n[e].value=t[e]}catch(e){console.error(`[SettingsPage] resetFieldToDefault failed:`,e),o.notify({type:`negative`,message:w(`settings.resetFailed`),position:`top`})}finally{q.value=null}}}async function Gd(){let e=e=>e===0?1/0:e,t=d.global.wsEventsRetentionDays??0,n=B.value;if(e(n)>=e(t))return!0;let r=w(`settings.retentionConfirmMessageUnknown`,{days:n});try{let e=await d.previewRetention(n,Ct.value);r=w(`settings.retentionConfirmMessage`,{days:n,count:e.deletable,total:e.total})}catch(e){console.error(`[SettingsPage] retention preview failed:`,e)}return await new Promise(e=>{o.dialog({title:w(`settings.retentionConfirmTitle`),message:r,cancel:!0,persistent:!0,dark:!0}).onOk(()=>e(!0)).onCancel(()=>e(!1)).onDismiss(()=>e(!1))})}async function Kd(){if(await Kl.value?.validate()!==!1&&await Gd()){Eu.value=!0;try{await d.updateGlobal({defaultModelByEngine:{"claude-code":_e.value,codex:ve.value},prPromptTemplate:we.value,reviewPromptTemplate:De.value,ciFixPromptTemplate:A.value,finalizationPrompt:Pe.value,gitConventions:Ie.value,editorCommand:Ve.value,fileManagerCommand:L.value,terminalCommand:tt.value,autoPurgeOnPrMerged:st.value,autoLoopMaxRetries:ut.value,awaitingUserReminderMinutes:St.value,wsEventsRetentionDays:B.value,wsEventsKeepPerWorkspace:Ct.value,browserNotifications:It.value,audioNotifications:H.value,audioQuestionNotifications:U.value,audioWorkspaceCreatedNotifications:W.value,audioAgentErrorNotifications:G.value,audioNotificationSound:Vt.value,audioQuestionSound:Ht.value,audioWorkspaceCreatedSound:Ut.value,audioAgentErrorSound:Wt.value,audioNotificationVolume:Gt.value,audioQuestionVolume:Kt.value,audioWorkspaceCreatedVolume:qt.value,audioAgentErrorVolume:Xt.value,...Zt.value,notionStatusProperty:Qt.value,notionInProgressStatus:$t.value,notionAssigneeProperty:en.value,notionUserId:tn.value,notionInitialPromptTemplate:xl.value,sentryInitialPromptTemplate:Sl.value,defaultPermissionModeByEngine:{"claude-code":Cl.value,codex:wl.value},notionMcpKey:Tl.value,sentryMcpKey:El.value,bitbucketToken:Dl.value,bitbucketUsername:Ol.value,notionEnabled:J.value,sentryEnabled:kl.value,showThinkingBlocks:an.value,whipEnabled:sn.value,whipShortcut:ll.value,whipVolume:ul.value,tags:Al.value,branchPrefixes:Y.value,setupScript:Ml.value,cleanupScript:Nl.value,cleanupScriptMode:Pl.value,cleanupScriptOnlyOnChanges:Fl.value,archiveScript:Il.value,changeSourceBranchScript:Bl.value,sessionEndedScript:Ll.value,prMergedScript:Rl.value,autoLoopDisabledScript:zl.value,worktreesPath:Gl.value,worktreesPrefixByProject:ql.value,flattenWorkspaceList:$l.value,skillSuite:eu.value,customReviewTemplate:nu.value,customAutoLoopReviewGate:ru.value,customAutoLoopGroomingIntro:iu.value,customQaPromptTemplate:au.value,customBrainstormingInstruction:ou.value,voiceEnabled:uu.value,voicePttKey:du.value,voiceLanguage:fu.value,voiceModel:pu.value,voiceCommandPath:mu.value.trim(),voiceFfmpegPath:hu.value.trim(),voiceTemperature:gu.value,voicePrompt:_u.value,voiceTranslateToEnglish:vu.value,voiceSuppressNonSpeechTokens:yu.value}),d.setVerboseSystemMessages(rn.value),Td.value=kd(),o.notify({type:`positive`,message:w(`settings.saved`),position:`top`})}catch{o.notify({type:`negative`,message:w(`settings.saveError`),position:`top`})}finally{Eu.value=!1}}}async function qd(e){bu.value=e,Qd();try{await d.downloadVoiceModel(e)}catch{o.notify({type:`negative`,message:w(`voice.downloadFailed`),position:`top`})}finally{bu.value=null,$d()}}async function Jd(e){bu.value=e;try{await d.deleteVoiceModel(e),pu.value===e&&(pu.value=null)}catch{o.notify({type:`negative`,message:w(`voice.deleteFailed`),position:`top`})}finally{bu.value=null}}async function Yd(e){try{await d.cancelVoiceModelDownload(e)}catch{o.notify({type:`negative`,message:w(`voice.cancelFailed`),position:`top`})}}function Xd(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 Zd=null;function Qd(){Zd||=setInterval(()=>{document.visibilityState!==`hidden`&&d.fetchVoiceModels().catch(e=>{console.error(`[settings] voice model polling failed:`,e)})},cl)}function $d(){Zd&&=(clearInterval(Zd),null)}async function ef(e){try{await navigator.clipboard.writeText(e),o.notify({type:`positive`,message:w(`common.copied`),position:`top`,timeout:1200})}catch{o.notify({type:`negative`,message:w(`common.copyFailed`),position:`top`})}}async function tf(){if(!Q.value.path.trim()){o.notify({type:`negative`,message:w(`settings.projectPathRequired`),position:`top`});return}Bu.value=!0;try{await d.upsertProject(Q.value.path.trim(),{displayName:Q.value.displayName,color:Q.value.color,defaultSourceBranch:Q.value.defaultSourceBranch,defaultModel:Q.value.defaultModel,forge:Q.value.forge,prPromptTemplate:Q.value.prPromptTemplate,reviewPromptTemplate:Q.value.reviewPromptTemplate,ciFixPromptTemplate:Q.value.ciFixPromptTemplate,notionInitialPromptTemplate:Q.value.notionInitialPromptTemplate,sentryInitialPromptTemplate:Q.value.sentryInitialPromptTemplate,gitConventions:Q.value.gitConventions,setupScript:Q.value.setupScript,taskPromptTemplate:Q.value.taskPromptTemplate,cleanupScript:Q.value.cleanupScript,cleanupScriptMode:Q.value.cleanupScriptMode,archiveScript:Q.value.archiveScript,changeSourceBranchScript:Q.value.changeSourceBranchScript,sessionEndedScript:Q.value.sessionEndedScript,prMergedScript:Q.value.prMergedScript,autoLoopDisabledScript:Q.value.autoLoopDisabledScript,devServer:Q.value.devServer,e2e:Q.value.e2e,finalization:Q.value.finalization}),Z.value=!1;let e=d.projects.findIndex(e=>e.path===Q.value.path.trim());e>=0&&(X.value=e),Ed.value=Ad(),o.notify({type:`positive`,message:w(`settings.projectSaved`),position:`top`})}catch{o.notify({type:`negative`,message:w(`settings.projectSaveError`),position:`top`})}finally{Bu.value=!1}}function nf(){if(!$.value)return;let e=$.value.displayName||$.value.path;o.dialog({title:w(`settings.deleteProjectConfirmTitle`),message:w(`settings.deleteProjectConfirmMessage`,{name:e}),dark:!0,cancel:{flat:!0,label:w(`common.cancel`),color:`kobo-2`},ok:{flat:!0,label:w(`common.delete`),color:`red-5`}}).onOk(async()=>{if($.value){Vu.value=!0;try{await d.deleteProject($.value.path),X.value=-1,Z.value=!1,Ld(null),o.notify({type:`positive`,message:w(`settings.projectDeleted`),position:`top`})}catch{o.notify({type:`negative`,message:w(`settings.projectDeleteError`),position:`top`})}finally{Vu.value=!1}}})}function rf(){X.value=-1,Z.value=!0,Ld(null),Ou.value=null,ku.value=null}function af(e){if(Md.value&&($.value!==null||Z.value)){o.dialog({title:w(`settings.unsavedChanges.title`),message:w(`settings.unsavedChanges.message`),dark:!0,persistent:!0,ok:{flat:!0,label:w(`settings.unsavedChanges.discard`),color:`negative`},cancel:{flat:!0,label:w(`settings.unsavedChanges.cancel`),color:`kobo-2`}}).onOk(()=>{Z.value=!1,X.value=e,Ou.value=null,ku.value=null});return}Z.value=!1,X.value=e,Ou.value=null,ku.value=null}function of(e){if(e.displayName)return e.displayName;let t=e.path.split(`/`);return t[t.length-1]??e.path}let sf=a([]);function cf(e,t){t(()=>{sf.value=e?Ru.value.filter(t=>t.toLowerCase().includes(e.toLowerCase())):Ru.value})}async function lf(){await d.fetchSettings(),d.loadError||Id()}return f(async()=>{await Promise.all([d.fetchSettings(),d.fetchActiveMcpServers(),Iu()]);try{let e=await d.fetchGlobalDefaults();Vl.value=e.changeSourceBranchScript??``}catch(e){console.error(`[SettingsPage] fetchGlobalDefaults failed:`,e)}await d.fetchVoiceModels(),await d.fetchVoiceRuntime(),Id(),re(`settings`),d.global.notionEnabled&&bl().catch(()=>{}),Ot(),te.fetchTemplates(),Be(`settings:global`,()=>jd.value),Be(`settings:project`,()=>Md.value&&($.value!==null||Z.value))}),s(()=>{zd&&clearTimeout(zd),$d(),Fe(`settings:global`),Fe(`settings:project`)}),(e,a)=>(u(),g(vt,{class:`settings-page`},{default:x(()=>[t(d).loadError?(u(),b(`div`,un,[m(E,{name:`error`,size:`18px`}),C(`div`,dn,[C(`span`,fn,i(e.$t(`settings.loadFailed`)),1),C(`span`,pn,i(t(d).loadError),1),C(`span`,mn,i(e.$t(`settings.loadFailedHint`)),1)]),m(R),m(D,{dense:``,flat:``,"no-caps":``,icon:`refresh`,label:e.$t(`common.retry`),onClick:lf},null,8,[`label`])])):_(``,!0),C(`div`,hn,[t(oe)?(u(),g(ht,{key:1,modelValue:k.value,"onUpdate:modelValue":a[0]||=e=>k.value=e,side:`left`,overlay:``,behavior:`mobile`,width:240},{default:x(()=>[m(P,null,{default:x(()=>[m(N,{clickable:``,onClick:fe},{default:x(()=>[m(F,{avatar:``},{default:x(()=>[m(E,{name:`arrow_back`})]),_:1}),m(F,null,{default:x(()=>[v(i(e.$t(`workspaceList.title`)),1)]),_:1})]),_:1}),m(Re)]),_:1}),C(`div`,vn,[C(`div`,yn,i(e.$t(`settings.title`)),1),m(Yt,{"nav-items":pe.value,"active-tab":O.value,onSelect:de},null,8,[`nav-items`,`active-tab`])])]),_:1},8,[`modelValue`])):(u(),b(`aside`,gn,[C(`div`,_n,i(e.$t(`settings.title`)),1),m(Yt,{"nav-items":pe.value,"active-tab":O.value,onSelect:de},null,8,[`nav-items`,`active-tab`])])),C(`main`,bn,[C(`header`,xn,[m(bt,{"exclude-mobile":``,class:`q-mr-sm`}),t(oe)?(u(),g(D,{key:0,flat:``,dense:``,round:``,icon:`menu`,"aria-label":e.$t(`settings.openNav`),class:`settings-content__nav-toggle`,onClick:a[1]||=e=>k.value=!0},{default:x(()=>[m(z,null,{default:x(()=>[v(i(e.$t(`settings.openNav`)),1)]),_:1})]),_:1},8,[`aria-label`])):_(``,!0),C(`h2`,Sn,i(me.value),1),m(yt,{"tour-id":`settings`,class:`q-ml-sm`})]),C(`div`,Cn,i(e.$t(`settings.help.${O.value}`)),1),C(`div`,wn,[c(C(`div`,Tn,[O.value===`general`?(u(),b(`div`,En,[C(`div`,Dn,i(e.$t(`settings.language`)),1),m(I,{"model-value":t(ne),options:sd,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input`,"onUpdate:modelValue":cd},null,8,[`model-value`])])):_(``,!0),O.value===`general`?(u(),b(`div`,On,[C(`div`,kn,i(e.$t(`settings.workspaceListSection`)),1),m(M,{modelValue:$l.value,"onUpdate:modelValue":a[2]||=e=>$l.value=e,label:e.$t(`settings.flattenWorkspaceList`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`]),C(`div`,An,i(e.$t(`settings.flattenWorkspaceListHint`)),1)])):_(``,!0),O.value===`skills`?(u(),b(`div`,jn,[C(`div`,Mn,i(e.$t(`settings.skillSuite.section`)),1),m(Ae,{modelValue:eu.value,"onUpdate:modelValue":a[3]||=e=>eu.value=e,options:[{label:e.$t(`settings.skillSuite.superpowers`),value:`superpowers`},{label:e.$t(`settings.skillSuite.gstack`),value:`gstack`},{label:e.$t(`settings.skillSuite.ecc`),value:`ecc`},{label:e.$t(`settings.skillSuite.superpowersGstack`),value:`superpowers+gstack`},{label:e.$t(`settings.skillSuite.allThree`),value:`superpowers+gstack+ecc`},{label:e.$t(`settings.skillSuite.custom`),value:`custom`}],type:`radio`,color:`primary`,dense:``,dark:``,inline:``},null,8,[`modelValue`,`options`]),C(`div`,Nn,i(e.$t(tu.value)),1),m(D,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`restart_alt`,label:e.$t(`settings.skillSuite.reloadDefaults`),disable:eu.value!==`custom`,class:`q-mt-sm`,onClick:Su},null,8,[`label`,`disable`])])):_(``,!0),O.value===`skills`&&eu.value===`custom`?(u(),b(`div`,Pn,[C(`div`,Fn,i(e.$t(`settings.skillSuite.customPrompts`)),1),C(`div`,In,i(e.$t(`settings.skillSuite.reviewTemplate`)),1),m(mt,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`download`,label:e.$t(`settings.skillSuite.importPrompt`),loading:su.value===`reviewTemplate`,class:`q-mb-sm`},{default:x(()=>[m(P,{dense:``},{default:x(()=>[(u(!0),b(S,null,T(cu.value,e=>c((u(),g(N,{key:e.value,clickable:``,onClick:t=>lu(`reviewTemplate`,e.value)},{default:x(()=>[m(F,null,{default:x(()=>[v(i(e.label),1)]),_:2},1024)]),_:2},1032,[`onClick`])),[[ft]])),128))]),_:1})]),_:1},8,[`label`,`loading`]),m(j,{modelValue:nu.value,"onUpdate:modelValue":a[4]||=e=>nu.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`]),C(`div`,Ln,i(e.$t(`settings.skillSuite.autoLoopReviewGate`)),1),m(mt,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`download`,label:e.$t(`settings.skillSuite.importPrompt`),loading:su.value===`autoLoopReviewGate`,class:`q-mb-sm`},{default:x(()=>[m(P,{dense:``},{default:x(()=>[(u(!0),b(S,null,T(cu.value,e=>c((u(),g(N,{key:e.value,clickable:``,onClick:t=>lu(`autoLoopReviewGate`,e.value)},{default:x(()=>[m(F,null,{default:x(()=>[v(i(e.label),1)]),_:2},1024)]),_:2},1032,[`onClick`])),[[ft]])),128))]),_:1})]),_:1},8,[`label`,`loading`]),m(j,{modelValue:ru.value,"onUpdate:modelValue":a[5]||=e=>ru.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`]),C(`div`,Rn,i(e.$t(`settings.skillSuite.autoLoopGroomingIntro`)),1),m(mt,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`download`,label:e.$t(`settings.skillSuite.importPrompt`),loading:su.value===`autoLoopGroomingIntro`,class:`q-mb-sm`},{default:x(()=>[m(P,{dense:``},{default:x(()=>[(u(!0),b(S,null,T(cu.value,e=>c((u(),g(N,{key:e.value,clickable:``,onClick:t=>lu(`autoLoopGroomingIntro`,e.value)},{default:x(()=>[m(F,null,{default:x(()=>[v(i(e.label),1)]),_:2},1024)]),_:2},1032,[`onClick`])),[[ft]])),128))]),_:1})]),_:1},8,[`label`,`loading`]),m(j,{modelValue:iu.value,"onUpdate:modelValue":a[6]||=e=>iu.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`]),C(`div`,zn,i(e.$t(`settings.skillSuite.qaTemplate`)),1),m(mt,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`download`,label:e.$t(`settings.skillSuite.importPrompt`),loading:su.value===`qaPromptTemplate`,class:`q-mb-sm`},{default:x(()=>[m(P,{dense:``},{default:x(()=>[(u(!0),b(S,null,T(cu.value,e=>c((u(),g(N,{key:e.value,clickable:``,onClick:t=>lu(`qaPromptTemplate`,e.value)},{default:x(()=>[m(F,null,{default:x(()=>[v(i(e.label),1)]),_:2},1024)]),_:2},1032,[`onClick`])),[[ft]])),128))]),_:1})]),_:1},8,[`label`,`loading`]),m(j,{modelValue:au.value,"onUpdate:modelValue":a[7]||=e=>au.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`]),C(`div`,Bn,i(e.$t(`settings.skillSuite.brainstormingInstruction`)),1),m(mt,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`download`,label:e.$t(`settings.skillSuite.importPrompt`),loading:su.value===`brainstormingInstruction`,class:`q-mb-sm`},{default:x(()=>[m(P,{dense:``},{default:x(()=>[(u(!0),b(S,null,T(cu.value,e=>c((u(),g(N,{key:e.value,clickable:``,onClick:t=>lu(`brainstormingInstruction`,e.value)},{default:x(()=>[m(F,null,{default:x(()=>[v(i(e.label),1)]),_:2},1024)]),_:2},1032,[`onClick`])),[[ft]])),128))]),_:1})]),_:1},8,[`label`,`loading`]),m(j,{modelValue:ou.value,"onUpdate:modelValue":a[8]||=e=>ou.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])])):_(``,!0),O.value===`agents`?(u(),b(`div`,Vn,[C(`div`,Hn,i(e.$t(`settings.defaultModelClaude`)),1),m(I,{modelValue:_e.value,"onUpdate:modelValue":a[9]||=e=>_e.value=e,options:ld.value,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`options`]),C(`div`,Un,i(e.$t(`settings.defaultModelCodex`)),1),m(I,{modelValue:ve.value,"onUpdate:modelValue":a[10]||=e=>ve.value=e,options:ud.value,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`options`]),C(`div`,Wn,i(e.$t(`settings.defaultPermissionModeClaude`)),1),C(`div`,Gn,i(e.$t(`settings.defaultPermissionModeHint`)),1),m(I,{modelValue:Cl.value,"onUpdate:modelValue":a[11]||=e=>Cl.value=e,options:pd.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`options`]),C(`div`,Kn,i(e.$t(`settings.defaultPermissionModeCodex`)),1),m(I,{modelValue:wl.value,"onUpdate:modelValue":a[12]||=e=>wl.value=e,options:md.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])])):_(``,!0),O.value===`general`?(u(),b(`div`,qn,[C(`div`,Jn,i(e.$t(`settings.activityFeed`)),1),C(`div`,Yn,[m(M,{modelValue:rn.value,"onUpdate:modelValue":a[13]||=e=>rn.value=e,label:e.$t(`settings.verboseMessages`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`]),m(M,{modelValue:an.value,"onUpdate:modelValue":a[14]||=e=>an.value=e,label:e.$t(`settings.showThinkingBlocks`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`])])])):_(``,!0),O.value===`general`?(u(),b(`div`,Xn,[C(`div`,Zn,i(e.$t(`settings.whipSettings`)),1),C(`div`,Qn,i(e.$t(`settings.whipSettingsHint`)),1),m(M,{modelValue:sn.value,"onUpdate:modelValue":a[15]||=e=>sn.value=e,label:e.$t(`settings.whipEnabled`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},{default:x(()=>[m(z,null,{default:x(()=>[v(i(e.$t(`settings.whipEnabledHint`)),1)]),_:1})]),_:1},8,[`modelValue`,`label`]),sn.value?(u(),b(`div`,$n,[m(nn,{modelValue:ll.value,"onUpdate:modelValue":a[16]||=e=>ll.value=e},null,8,[`modelValue`]),C(`div`,er,[C(`div`,tr,i(e.$t(`settings.whipVolume`)),1),m(Rt,{modelValue:ul.value,"onUpdate:modelValue":a[17]||=e=>ul.value=e,min:0,max:1,step:.05,disable:dl.value.disabled,"aria-label":e.$t(`settings.whipVolume`),dark:``,dense:``,color:`primary`,class:`col`},null,8,[`modelValue`,`disable`,`aria-label`]),C(`div`,nr,i(Math.round(ul.value*100))+`% `,1)]),dl.value.hintKey?(u(),b(`div`,rr,i(e.$t(dl.value.hintKey)),1)):_(``,!0)])):_(``,!0)])):_(``,!0),O.value===`notifications`?(u(),b(`div`,ir,[C(`div`,ar,i(e.$t(`settings.notifications`)),1),C(`div`,or,[C(`div`,sr,[C(`div`,cr,i(e.$t(`settings.notificationSound`)),1),C(`div`,lr,i(e.$t(`settings.notificationSoundHint`)),1),C(`div`,ur,[m(M,{modelValue:It.value,"onUpdate:modelValue":a[18]||=e=>It.value=e,label:e.$t(`settings.enableBrowserNotifications`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`]),m(M,{modelValue:H.value,"onUpdate:modelValue":a[19]||=e=>H.value=e,label:e.$t(`settings.enableAudio`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`])]),C(`div`,dr,[m(dt,{dense:``,square:``,color:fl.value.color,"text-color":`white`,icon:`notifications`},{default:x(()=>[v(i(fl.value.label),1)]),_:1},8,[`color`]),m(D,{flat:``,dense:``,"no-caps":``,color:`primary`,icon:`notifications_active`,label:e.$t(`settings.testBrowserNotification`),onClick:pl},null,8,[`label`])]),C(`div`,fr,[m(I,{modelValue:Vt.value,"onUpdate:modelValue":a[20]||=e=>Vt.value=e,options:_d.value,label:e.$t(`settings.notificationSound`),disable:!H.value,dark:``,dense:``,outlined:``,"emit-value":``,"map-options":``,color:`primary`,class:`col`},null,8,[`modelValue`,`options`,`label`,`disable`]),m(D,{flat:``,dense:``,color:`primary`,icon:`play_arrow`,label:e.$t(`settings.notificationSoundPreview`),disable:!H.value,onClick:xd},null,8,[`label`,`disable`])]),C(`div`,pr,[C(`div`,mr,i(e.$t(`settings.notificationVolume`)),1),m(Rt,{modelValue:Gt.value,"onUpdate:modelValue":a[21]||=e=>Gt.value=e,min:0,max:1,step:.05,disable:!H.value,"aria-label":e.$t(`settings.notificationVolume`),dark:``,dense:``,color:`primary`,class:`col`},null,8,[`modelValue`,`disable`,`aria-label`]),C(`div`,hr,i(Math.round(Gt.value*100))+`% `,1)])]),C(`div`,gr,[C(`div`,_r,i(e.$t(`settings.questionSound`)),1),C(`div`,vr,i(e.$t(`settings.questionSoundHint`)),1),m(M,{modelValue:U.value,"onUpdate:modelValue":a[22]||=e=>U.value=e,label:e.$t(`settings.enableAudio`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption q-mb-sm`},null,8,[`modelValue`,`label`]),C(`div`,yr,[m(I,{modelValue:Ht.value,"onUpdate:modelValue":a[23]||=e=>Ht.value=e,options:vd.value,label:e.$t(`settings.questionSound`),disable:!U.value,dark:``,dense:``,outlined:``,"emit-value":``,"map-options":``,color:`primary`,class:`col`},null,8,[`modelValue`,`options`,`label`,`disable`]),m(D,{flat:``,dense:``,color:`primary`,icon:`play_arrow`,label:e.$t(`settings.notificationSoundPreview`),disable:!U.value,onClick:Sd},null,8,[`label`,`disable`])]),C(`div`,br,[C(`div`,xr,i(e.$t(`settings.notificationVolume`)),1),m(Rt,{modelValue:Kt.value,"onUpdate:modelValue":a[24]||=e=>Kt.value=e,min:0,max:1,step:.05,disable:!U.value,"aria-label":e.$t(`settings.notificationVolume`),dark:``,dense:``,color:`primary`,class:`col`},null,8,[`modelValue`,`disable`,`aria-label`]),C(`div`,Sr,i(Math.round(Kt.value*100))+`% `,1)])]),C(`div`,Cr,[C(`div`,wr,i(e.$t(`settings.workspaceCreatedSound`)),1),C(`div`,Tr,i(e.$t(`settings.workspaceCreatedSoundHint`)),1),m(M,{modelValue:W.value,"onUpdate:modelValue":a[25]||=e=>W.value=e,label:e.$t(`settings.enableAudio`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption q-mb-sm`},null,8,[`modelValue`,`label`]),C(`div`,Er,[m(I,{modelValue:Ut.value,"onUpdate:modelValue":a[26]||=e=>Ut.value=e,options:vd.value,label:e.$t(`settings.workspaceCreatedSound`),disable:!W.value,dark:``,dense:``,outlined:``,"emit-value":``,"map-options":``,color:`primary`,class:`col`},null,8,[`modelValue`,`options`,`label`,`disable`]),m(D,{flat:``,dense:``,color:`primary`,icon:`play_arrow`,label:e.$t(`settings.notificationSoundPreview`),disable:!W.value,onClick:Cd},null,8,[`label`,`disable`])]),C(`div`,Dr,[C(`div`,Or,i(e.$t(`settings.notificationVolume`)),1),m(Rt,{modelValue:qt.value,"onUpdate:modelValue":a[27]||=e=>qt.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`]),C(`div`,kr,i(Math.round(qt.value*100))+`% `,1)])]),C(`div`,Ar,[C(`div`,jr,i(e.$t(`settings.agentErrorSound`)),1),C(`div`,Mr,i(e.$t(`settings.agentErrorSoundHint`)),1),m(M,{modelValue:G.value,"onUpdate:modelValue":a[28]||=e=>G.value=e,label:e.$t(`settings.enableAudio`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption q-mb-sm`},null,8,[`modelValue`,`label`]),C(`div`,Nr,[m(I,{modelValue:Wt.value,"onUpdate:modelValue":a[29]||=e=>Wt.value=e,options:vd.value,label:e.$t(`settings.agentErrorSound`),disable:!G.value,dark:``,dense:``,outlined:``,"emit-value":``,"map-options":``,color:`primary`,class:`col`},null,8,[`modelValue`,`options`,`label`,`disable`]),m(D,{flat:``,dense:``,color:`primary`,icon:`play_arrow`,label:e.$t(`settings.notificationSoundPreview`),disable:!G.value,onClick:wd},null,8,[`label`,`disable`])]),C(`div`,Pr,[C(`div`,Fr,i(e.$t(`settings.notificationVolume`)),1),m(Rt,{modelValue:Xt.value,"onUpdate:modelValue":a[30]||=e=>Xt.value=e,min:0,max:1,step:.05,disable:!G.value,"aria-label":e.$t(`settings.notificationVolume`),dark:``,dense:``,color:`primary`,class:`col`},null,8,[`modelValue`,`disable`,`aria-label`]),C(`div`,Ir,i(Math.round(Xt.value*100))+`%`,1)])])]),m(Jt,{modelValue:Zt.value,"onUpdate:modelValue":a[31]||=e=>Zt.value=e,"general-sound":Vt.value},null,8,[`modelValue`,`general-sound`])])):_(``,!0),O.value===`voice`?(u(),b(`div`,Lr,[C(`div`,Rr,[C(`div`,zr,i(e.$t(`voice.sectionRuntime`)),1),m(R),m(D,{flat:``,dense:``,"no-caps":``,size:`sm`,icon:`refresh`,color:`kobo-2`,label:t(w)(`common.refresh`),onClick:a[32]||=e=>t(d).fetchVoiceRuntime()},null,8,[`label`])]),C(`div`,Br,[C(`div`,Vr,[m(E,{name:t(d).voiceRuntime?.available?`check_circle`:`cancel`,color:t(d).voiceRuntime?.available?`green-5`:`red-5`,size:`xs`},null,8,[`name`,`color`]),C(`span`,{class:n([`text-caption`,t(d).voiceRuntime?.available?`text-green-5`:`text-red-5`])},i(t(d).voiceRuntime?.available?t(w)(`voice.runtimeReady`,{command:t(d).voiceRuntime?.command??`whisper-cli`}):t(w)(`voice.runtimeMissing`,{command:t(d).voiceRuntime?.command??`whisper-cli`})),3)]),C(`div`,Hr,[m(E,{name:t(d).voiceRuntime?.ffmpegAvailable?`check_circle`:`cancel`,color:t(d).voiceRuntime?.ffmpegAvailable?`green-5`:`red-5`,size:`xs`},null,8,[`name`,`color`]),C(`span`,{class:n([`text-caption`,t(d).voiceRuntime?.ffmpegAvailable?`text-green-5`:`text-red-5`])},i(t(d).voiceRuntime?.ffmpegAvailable?t(w)(`voice.ffmpegReady`):t(w)(`voice.ffmpegMissing`)),3)])]),m(Xe,{dense:``,dark:``,icon:`help_outline`,label:e.$t(`voice.installGuideTitle`),class:`variables-panel rounded-borders q-mt-sm`},{default:x(()=>[C(`div`,Ur,[C(`div`,Wr,i(e.$t(`voice.installGuideIntro`)),1),C(`div`,Gr,[C(`a`,Kr,i(e.$t(`voice.installLink`)),1)]),C(`div`,qr,i(e.$t(`voice.installGuideUbuntuTitle`)),1),a[128]||=C(`pre`,{class:`mono-guide q-mb-sm`},`sudo apt update
|
|
1
|
+
import{S as e,j as t,ot as n,st as r,ut as i,v as a}from"./reactivity.esm-bundler-DEJj9cFv.js";import{C as o,F as s,J as c,K as l,L as u,O as d,P as f,S as p,_ as m,b as h,d as g,f as _,g as v,h as ee,j as te,l as y,p as b,q as x,r as S,u as C,y as w,z as T}from"./runtime-core.esm-bundler-CS0xkoG_.js";import{X as ne,c as re,ct as ie,dt as ae,et as oe,ft as se,l as E,pt as ce,st as le,t as D,tt as O,w as k,y as ue}from"./QBtn-DqZryKOh.js";import{a as de,i as fe}from"./pinia-jcytgarH.js";import{i as pe,n as me,t as he}from"./private.use-form-DVqJLg-9.js";import{A as ge,D as _e,E as ve,F as ye,I as be,L as xe,M as Se,N as Ce,O as we,P as Te,Q as Ee,R as De,T as Oe,Z as ke,a as Ae,an as A,bt as je,ct as j,en as Me,et as Ne,ht as Pe,i as Fe,in as Ie,j as Le,l as Re,nn as ze,o as M,r as Be,rn as Ve,s as He,st as Ue,tn as We,tt as Ge,vt as Ke,w as qe,x as Je,z as Ye}from"./index-BDTPwynK.js";import{n as N,r as P,t as F}from"./QItemSection-CjrpcdN_.js";import{_ as Xe,a as I,c as Ze,d as Qe,l as $e,m as L,n as et,p as tt,r as nt,s as rt,t as it,u as at,y as ot}from"./permissionModes-B5Kgd8T6.js";import{a as st,i as R,n as ct,o as z,r as lt}from"./use-tours-Co_sci4c.js";import{t as ut}from"./TouchPan-Ci_dyxVk.js";import{t as dt}from"./QChip-CJ6WmvGE.js";import{t as ft}from"./ClosePopup-_NdLt5i2.js";import{t as pt}from"./use-is-mobile-ClPMtqZc.js";import{t as mt}from"./QBtnDropdown-Ch7WOARF.js";import{t as ht}from"./QDrawer-C5PVKIEd.js";import{t as gt}from"./QBanner-DRiFK0GP.js";import{t as _t}from"./project-color-DujVR8Fa.js";import{n as vt,t as yt}from"./TourReplayButton-CZqPH9hM.js";import{t as bt}from"./DrawerToggleButton-CcH-cA9p.js";import{t as xt}from"./workspace-templates-BH4xqYR_.js";var St=Object.create,B=Object.defineProperty,Ct=Object.getOwnPropertyDescriptor,V=Object.getOwnPropertyNames,wt=Object.getPrototypeOf,Tt=Object.prototype.hasOwnProperty,Et=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),Dt=(e,t)=>{let n={};for(var r in e)B(n,r,{get:e[r],enumerable:!0});return t||B(n,Symbol.toStringTag,{value:`Module`}),n},Ot=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=V(t),a=0,o=i.length,s;a<o;a++)s=i[a],!Tt.call(e,s)&&s!==n&&B(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=Ct(t,s))||r.enumerable});return e},kt=(e,t,n)=>(n=e==null?{}:St(wt(e)),Ot(t||!e||!e.__esModule||!Tt.call(e,`default`)?B(n,`default`,{value:e,enumerable:!0}):n,e)),At=`q-slider__marker-labels`,jt=e=>({value:e}),Mt=({marker:e})=>o(`div`,{key:e.value,style:e.style,class:e.classes},e.label),Nt=[34,37,40,33,39,38,35,36],Pt={...de,...pe,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`}},Ft=[`pan`,`update:modelValue`,`change`];function It({updateValue:e,updatePosition:t,getDragging:n,formAttrs:r}){let{props:i,emit:s,slots:l}=h(),u=ue(),d=fe(i,u),f=me(r),p=a(!1),m=a(!1),g=a(!1),_=a(!1),v=y(()=>i.vertical?`--v`:`--h`),ee=y(()=>`-`+(i.switchLabelSide?`switched`:`standard`)),b=y(()=>i.vertical?i.reverse:i.reverse!==(u.lang.rtl===!0)),x=y(()=>!Number.isFinite(i.innerMin)||i.innerMin<i.min?i.min:i.innerMin),S=y(()=>!Number.isFinite(i.innerMax)||i.innerMax>i.max?i.max:i.innerMax),C=y(()=>!i.disable&&!i.readonly&&x.value<S.value),w=y(()=>{if(i.step===0)return e=>e;let e=(String(i.step).trim().split(`.`)[1]||``).length;return t=>Number.parseFloat(t.toFixed(e))}),T=y(()=>i.step===0?1:i.step),re=y(()=>C.value?i.tabindex||0:-1),ie=y(()=>i.max-i.min),ae=y(()=>S.value-x.value),oe=y(()=>Ee(x.value)),se=y(()=>Ee(S.value)),E=y(()=>i.vertical?b.value?`bottom`:`top`:b.value?`right`:`left`),ce=y(()=>i.vertical?`height`:`width`),le=y(()=>i.vertical?`width`:`height`),D=y(()=>i.vertical?`vertical`:`horizontal`),O=y(()=>`q-slider q-slider${v.value} q-slider--${p.value?``:`in`}active inline no-wrap `+(i.vertical?`row`:`column`)+(i.disable?` disabled`:` q-slider--enabled`+(C.value?` q-slider--editable`:``))+(g.value===`both`?` q-slider--focus`:``)+(i.label||i.labelAlways?` q-slider--label`:``)+(i.labelAlways?` q-slider--label-always`:``)+(d()?` q-slider--dark`:``)+(i.dense?` q-slider--dense q-slider--dense`+v.value:``));function k(e){let t=`q-slider__`+e;return`${t} ${t}${v.value} ${t}${v.value}${ee.value}`}function de(e){let t=`q-slider__`+e;return`${t} ${t}${v.value}`}let pe=y(()=>{let e=i.selectionColor||i.color;return`q-slider__selection absolute`+(e===void 0?``:` text-${e}`)}),he=y(()=>de(`markers`)+` absolute overflow-hidden`),ge=y(()=>de(`track-container`)),_e=y(()=>k(`pin`)),ve=y(()=>k(`label`)),ye=y(()=>k(`text-container`)),be=y(()=>k(`marker-labels-container`)+(i.markerLabelsClass===void 0?``:` ${i.markerLabelsClass}`)),xe=y(()=>`q-slider__track relative-position no-outline`+(i.trackColor===void 0?``:` bg-${i.trackColor}`)),Se=y(()=>{let e={[le.value]:i.trackSize};return i.trackImg!==void 0&&(e.backgroundImage=`url(${i.trackImg}) !important`),e}),Ce=y(()=>`q-slider__inner absolute`+(i.innerTrackColor===void 0?``:` bg-${i.innerTrackColor}`)),we=y(()=>{let e=se.value-oe.value,t={[E.value]:`${100*oe.value}%`,[ce.value]:e===0?`2px`:`${100*e}%`};return i.innerTrackImg!==void 0&&(t.backgroundImage=`url(${i.innerTrackImg}) !important`),t});function Te(e){let{min:t,max:n,step:r}=i,a=t+e*(n-t);if(r>0){let e=(a-x.value)%r;a+=(Math.abs(e)>=r/2?(e<0?-1:1)*r:0)-e}return a=w.value(a),L(a,x.value,S.value)}function Ee(e){return ie.value===0?0:(e-i.min)/ie.value}function De(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(b.value?1-r:r,oe.value,se.value)}let Oe=y(()=>Ie(i.markers)&&i.markers>0?i.markers:T.value),ke=y(()=>{let e=[],t=Oe.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}),Ae=y(()=>{let e=` ${At}${v.value}-`;return`q-slider__marker-labels${e}${i.switchMarkerLabelsSide?`switched`:`standard`}${e}${b.value?`rtl`:`ltr`}`}),je=y(()=>i.markerLabels===!1?null:Ne(i.markerLabels).map((e,t)=>({index:t,value:e.value,label:e.label||e.value,classes:Ae.value+(e.classes===void 0?``:` `+e.classes),style:{...Pe(e.value),...e.style}}))),j=y(()=>({markerList:je.value,markerMap:Fe.value,classes:Ae.value,getStyle:Pe})),Me=y(()=>{let e=ae.value===0?`2px`:100*Oe.value/ae.value;return{...we.value,backgroundSize:i.vertical?`2px ${e}%`:`${e}% 2px`}});function Ne(e){if(e===!1)return null;if(e===!0)return ke.value.map(jt);if(typeof e==`function`)return ke.value.map(t=>{let n=e(t);return A(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=>A(e)?e:{value:e}).filter(t):Object.keys(e).map(t=>{let n=e[t],r=Number(t);return A(n)?{...n,value:r}:{value:r,label:n}}).filter(t)}function Pe(e){return{[E.value]:`${100*(e-i.min)/ie.value}%`}}let Fe=y(()=>{if(i.markerLabels===!1)return null;let e={};return je.value.forEach(t=>{e[t.value]=t}),e});function Le(){if(l[`marker-label-group`]!==void 0)return l[`marker-label-group`](j.value);let e=l[`marker-label`]||Mt;return je.value.map(t=>e({marker:t,...j.value}))}let Re=y(()=>[[ut,C.value?ze:void 0,void 0,{[D.value]:!0,prevent:!0,stop:!0,mouse:!0,mouseAllDir:!0}]]);function ze(r){r.isFinal?(_.value!==void 0&&(t(r.evt),r.touch&&e(!0),_.value=void 0,s(`pan`,`end`)),p.value=!1,g.value=!1):r.isFirst?(_.value=n(r.evt),t(r.evt),e(),p.value=!0,s(`pan`,`start`)):(t(r.evt),e())}function M(){g.value=!1}function Be(r){t(r,n(r)),e(),m.value=!0,p.value=!0,document.addEventListener(`mouseup`,Ve,!0)}function Ve(){m.value=!1,p.value=!1,e(!0),M(),document.removeEventListener(`mouseup`,Ve,!0)}function He(r){t(r,n(r)),e(!0),M()}function Ue(t){Nt.includes(t.keyCode)&&e(!0)}function We(e){if(i.vertical)return null;let t=u.lang.rtl===i.reverse?e:1-e;return{transform:`translateX(calc(${2*t-1} * ${i.thumbSize} / 2 + ${50-100*t}%))`}}function Ge(e){let t=y(()=>!m.value&&(g.value===e.focusValue||g.value===`both`)?` q-slider--focus`:``),n=y(()=>`q-slider__thumb q-slider__thumb${v.value} q-slider__thumb${v.value}-${b.value?`rtl`:`ltr`} absolute non-selectable`+t.value+(e.thumbColor.value===void 0?``:` text-${e.thumbColor.value}`)),r=y(()=>({width:i.thumbSize,height:i.thumbSize,[E.value]:`${100*e.ratio.value}%`,zIndex:g.value===e.focusValue?2:void 0})),a=y(()=>e.labelColor.value===void 0?``:` text-${e.labelColor.value}`),s=y(()=>We(e.ratio.value)),c=y(()=>`q-slider__text`+(e.labelTextColor.value===void 0?``:` text-${e.labelTextColor.value}`));return()=>{let t=[o(`svg`,{class:`q-slider__thumb-shape absolute-full`,viewBox:`0 0 20 20`,"aria-hidden":`true`},[o(`path`,{d:i.thumbPath})]),o(`div`,{class:`q-slider__focus-ring fit`})];return(i.label||i.labelAlways)&&t.push(o(`div`,{class:_e.value+` absolute fit no-pointer-events`+a.value},[o(`div`,{class:ve.value,style:{minWidth:i.thumbSize}},[o(`div`,{class:ye.value,style:s.value},[o(`span`,{class:c.value},e.label.value)])])])),e.injectFormInput!==!1&&i.name!==void 0&&!i.disable&&f(t,`push`),o(`div`,{class:n.value,style:r.value,...e.getNodeData()},t)}}function Ke(e,t,n,r){let a=[];i.innerTrackColor!==`transparent`&&a.push(o(`div`,{key:`inner`,class:Ce.value,style:we.value})),i.selectionColor!==`transparent`&&a.push(o(`div`,{key:`selection`,class:pe.value,style:e.value})),i.markers!==!1&&a.push(o(`div`,{key:`marker`,class:he.value,style:Me.value})),r(a);let s=[c(o(`div`,{key:`trackC`,class:ge.value,tabindex:t.value,...n.value},[o(`div`,{class:xe.value,style:Se.value},a)]),Re.value)];return i.markerLabels!==!1&&s[i.switchMarkerLabelsSide?`unshift`:`push`](o(`div`,{key:`markerL`,class:be.value},Le())),s}return te(()=>{document.removeEventListener(`mouseup`,Ve,!0)}),{state:{active:p,focus:g,preventFocus:m,dragging:_,editable:C,classes:O,tabindex:re,orientation:D,roundValueFn:w,keyStep:T,trackLen:ie,innerMin:x,innerMinRatio:oe,innerMax:S,innerMaxRatio:se,positionProp:E,sizeProp:ce,isReversed:b},methods:{onActivate:Be,onClick:He,onBlur:M,onKeyup:Ue,getContent:Ke,getThumbRenderFn:Ge,convertRatioToModel:Te,convertModelToRatio:Ee,getDraggingRatio:De}}}var Lt=()=>({}),Rt=O({name:`QSlider`,props:{...Pt,modelValue:{required:!0,default:null,validator:e=>typeof e==`number`||e===null},labelValue:[String,Number]},emits:Ft,inheritAttrs:!1,setup(t,{emit:n,attrs:r}){let i=ue(),s=Pe(),{state:c,methods:u}=It({updateValue:C,updatePosition:T,getDragging:w,formAttrs:he(t)}),d=e(null),f=a(0),p=a(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)}l(()=>`${t.modelValue}|${c.innerMin.value}|${c.innerMax.value}`,g,{immediate:!0});let _=y(()=>u.convertModelToRatio(p.value)),v=y(()=>c.active.value?f.value:_.value),ee=y(()=>{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}),te=u.getThumbRenderFn({focusValue:!0,getNodeData:Lt,ratio:v,label:y(()=>t.labelValue===void 0?p.value:t.labelValue),thumbColor:y(()=>t.thumbColor||t.color),labelColor:y(()=>t.labelColor),labelTextColor:y(()=>t.labelTextColor)}),b=y(()=>c.editable.value?{onClick:u.onClick,onMousedown:u.onActivate,onFocus:ne,onBlur:u.onBlur,onKeydown:re,onKeyup:u.onKeyup}:{}),x=y(()=>{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=y(()=>({...x.value,...s.attributes.value,...b.value}));function C(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=u.getDraggingRatio(e,n);p.value=u.convertRatioToModel(r),f.value=!t.snap||t.step===0?r:u.convertModelToRatio(p.value)}function ne(){c.focus.value=!0}function re(e){if(!Nt.includes(e.keyCode))return;if(oe(e),m===null&&(m=p.value),e.keyCode===36||e.keyCode===35){p.value=e.keyCode===36?c.innerMin.value:c.innerMax.value,C();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),C()}return()=>{let e=u.getContent(ee,c.tabindex,S,e=>{e.push(te())});return o(`div`,{ref:d,class:[c.classes.value+(t.modelValue===null?` q-slider--no-value`:``),r.class],style:r.style,...s.listeners.value},e)}}});function H(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(H(e,t))}):e instanceof Map&&e.forEach((e,r)=>{n.set(r,H(e,t))}),Object.assign(n,...Object.keys(e).map(n=>({[n]:H(e[n],t)})))}var zt=O({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}=h(),s=ue(),c=e(null),l=a(``),u=a(``),f=!1,p=y(()=>le({initialValue:l.value,validate:t.validate,set:m,cancel:g,updatePosition:_},`value`,()=>u.value,e=>{u.value=e}));function m(){t.validate(u.value)&&(v()&&(r(`save`,u.value,l.value),r(`update:modelValue`,u.value)),ee())}function g(){v()&&r(`cancel`,u.value,l.value),ee()}function _(){d(()=>{c.value.updatePosition()})}function v(){return!Ve(u.value,l.value)}function ee(){f=!0,c.value.hide()}function te(){f=!1,l.value=H(t.modelValue),u.value=H(t.modelValue),r(`beforeShow`)}function b(){r(`show`)}function x(){!f&&v()&&(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 C(){let e=n.default===void 0?[]:[n.default(p.value)].flat();return t.title&&e.unshift(o(`div`,{class:`q-dialog__title q-mt-sm q-mb-sm`},t.title)),t.buttons&&e.push(o(`div`,{class:`q-popup-edit__buttons row justify-center no-wrap`},[o(D,{flat:!0,color:t.color,label:t.labelCancel||s.lang.label.cancel,onClick:g}),o(D,{flat:!0,color:t.color,label:t.labelSet||s.lang.label.set,onClick:m})])),e}return Object.assign(i,{set:m,cancel:g,show(e){c.value?.show(e)},hide(e){c.value?.hide(e)},updatePosition:_}),()=>{if(!t.disable)return o(tt,{ref:c,class:`q-popup-edit`,cover:t.cover,onBeforeShow:te,onShow:b,onBeforeHide:x,onHide:S,onEscapeKey:g},C)}}}),U={class:`text-h6`},W=[`title`],G={key:1,class:`row justify-center q-mt-sm`},Bt=w({__name:`FolderPickerDialog`,props:{modelValue:{type:Boolean},initialPath:{}},emits:[`update:modelValue`,`select`],setup(e,{emit:t}){let n=e,r=t,o=a(``),s=a(null),d=a([]),f=a(!1),p=a(``);async function h(e){f.value=!0,p.value=``;try{let t=e?`?path=${encodeURIComponent(e)}`:``,n=await fetch(`/api/fs/list-dirs${t}`),r=await n.json();if(!n.ok){p.value=r?.error??`HTTP ${n.status}`;return}o.value=r.path??``,s.value=r.parent??null,d.value=Array.isArray(r.entries)?r.entries:[]}catch(e){p.value=e instanceof Error?e.message:String(e)}finally{f.value=!1}}function ee(){o.value&&(r(`select`,o.value),r(`update:modelValue`,!1))}return l(()=>n.modelValue,e=>{e&&h(n.initialPath||void 0)}),(t,n)=>(u(),g(je,{"model-value":e.modelValue,"onUpdate:modelValue":n[1]||=e=>t.$emit(`update:modelValue`,e)},{default:x(()=>[m(Me,{class:`text-kobo-1`,style:{"min-width":`480px`,"max-width":`90vw`,background:`var(--kobo-surface)`}},{default:x(()=>[m(ze,{class:`row items-center q-pb-none`},{default:x(()=>[C(`div`,U,i(t.$t(`folderPicker.title`)),1),m(R),c(m(D,{flat:``,dense:``,round:``,icon:`close`,color:`kobo-2`},null,512),[[ft]])]),_:1}),m(ze,null,{default:x(()=>[C(`div`,{class:`text-caption text-kobo-3 ellipsis q-mb-sm`,style:{"font-family":`monospace`},title:o.value},i(o.value||`…`),9,W),p.value?(u(),g(gt,{key:0,dense:``,class:`bg-red-9 text-white q-mb-sm rounded-borders`},{default:x(()=>[v(i(p.value),1)]),_:1})):_(``,!0),m(P,{bordered:``,separator:``,class:`rounded-borders`,style:{"max-height":`320px`,"overflow-y":`auto`}},{default:x(()=>[s.value?c((u(),g(N,{key:0,clickable:``,onClick:n[0]||=e=>h(s.value)},{default:x(()=>[m(F,{avatar:``},{default:x(()=>[m(E,{name:`arrow_upward`,color:`kobo-2`})]),_:1}),m(F,null,{default:x(()=>[v(i(t.$t(`folderPicker.parent`)),1)]),_:1})]),_:1})),[[re]]):_(``,!0),(u(!0),b(S,null,T(d.value,e=>c((u(),g(N,{key:e.path,clickable:``,onClick:t=>h(e.path)},{default:x(()=>[m(F,{avatar:``},{default:x(()=>[m(E,{name:`folder`,color:`amber-6`})]),_:1}),m(F,null,{default:x(()=>[v(i(e.name),1)]),_:2},1024)]),_:2},1032,[`onClick`])),[[re]])),128)),!f.value&&d.value.length===0?(u(),g(N,{key:1},{default:x(()=>[m(F,{class:`text-kobo-3`},{default:x(()=>[v(i(t.$t(`folderPicker.empty`)),1)]),_:1})]),_:1})):_(``,!0)]),_:1}),f.value?(u(),b(`div`,G,[m(k,{size:`20px`,color:`kobo-2`})])):_(``,!0)]),_:1}),m(Ue,{align:`right`},{default:x(()=>[c(m(D,{flat:``,label:t.$t(`common.cancel`),color:`kobo-2`},null,8,[`label`]),[[ft]]),m(D,{flat:``,label:t.$t(`folderPicker.select`),color:`primary`,disable:!o.value||f.value,onClick:ee},null,8,[`label`,`disable`])]),_:1})]),_:1})]),_:1},8,[`model-value`]))}}),Vt={class:`notification-sounds-grid q-mt-md`},Ht={class:`text-subtitle2`},Ut={class:`text-kobo-3 text-caption q-mb-sm`},Wt={class:`row items-center q-gutter-sm`},Gt={class:`row items-center q-gutter-sm q-mt-sm`},Kt={class:`text-kobo-2 text-caption volume-label`},qt={class:`text-kobo-2 text-caption volume-value`},Jt=st(w({__name:`PrNotificationSoundSettings`,props:{modelValue:{},generalSound:{}},emits:[`update:modelValue`],setup(e,{emit:n}){let r=e,a=n,{t:o}=Ke(),s=y(()=>[{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=y(()=>[{label:o(`settings.soundGeneral`),value:Ce},...Te.map(e=>({label:o(e.labelKey),value:e.id}))]);function l(e,t){a(`update:modelValue`,{...r.modelValue,[e]:t})}function d(e){let t=De(r.modelValue[e.soundKey]);t!==null&&Je(t??r.generalSound,r.modelValue[e.volumeKey])}return(n,r)=>(u(),b(`div`,Vt,[(u(!0),b(S,null,T(s.value,n=>(u(),b(`div`,{key:n.soundKey,class:`notification-sound-card q-pa-md rounded-borders`},[C(`div`,Ht,i(n.title),1),C(`div`,Ut,i(n.description),1),m(M,{"model-value":e.modelValue[n.enabledKey],label:t(o)(`settings.enableAudio`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption q-mb-sm`,"onUpdate:modelValue":e=>l(n.enabledKey,!!e)},null,8,[`model-value`,`label`,`onUpdate:modelValue`]),C(`div`,Wt,[m(I,{"model-value":e.modelValue[n.soundKey],options:c.value,label:n.title,disable:!e.modelValue[n.enabledKey],dark:``,dense:``,outlined:``,"emit-value":``,"map-options":``,color:`primary`,class:`col`,"onUpdate:modelValue":e=>l(n.soundKey,String(e))},null,8,[`model-value`,`options`,`label`,`disable`,`onUpdate:modelValue`]),m(D,{flat:``,dense:``,color:`primary`,icon:`play_arrow`,label:t(o)(`settings.notificationSoundPreview`),disable:!e.modelValue[n.enabledKey],onClick:e=>d(n)},null,8,[`label`,`disable`,`onClick`])]),C(`div`,Gt,[C(`div`,Kt,i(t(o)(`settings.notificationVolume`)),1),m(Rt,{"model-value":e.modelValue[n.volumeKey],min:0,max:1,step:.05,disable:!e.modelValue[n.enabledKey],"aria-label":t(o)(`settings.notificationVolume`),dark:``,dense:``,color:`primary`,class:`col`,"onUpdate:modelValue":e=>l(n.volumeKey,Number(e))},null,8,[`model-value`,`disable`,`aria-label`,`onUpdate:modelValue`]),C(`div`,qt,i(Math.round(e.modelValue[n.volumeKey]*100))+`% `,1)])]))),128))]))}}),[[`__scopeId`,`data-v-41966330`]]),Yt=st(w({__name:`SettingsNavList`,props:{navItems:{},activeTab:{}},emits:[`select`],setup(e,{emit:t}){let r=t;return(t,a)=>(u(),g(P,{dense:``,class:`settings-nav__list`},{default:x(()=>[(u(!0),b(S,null,T(e.navItems,t=>c((u(),g(N,{key:t.value,clickable:``,"data-tour":`settings-nav-${t.value}`,class:n([`settings-nav__item`,{"settings-nav__item--active":e.activeTab===t.value}]),onClick:e=>r(`select`,t.value)},{default:x(()=>[m(F,{avatar:``,class:`settings-nav__icon`},{default:x(()=>[m(E,{name:t.icon,size:`16px`},null,8,[`name`])]),_:2},1024),m(F,{class:`settings-nav__label`},{default:x(()=>[v(i(t.label),1)]),_:2},1024)]),_:2},1032,[`data-tour`,`class`,`onClick`])),[[re,!1]])),128))]),_:1}))}}),[[`__scopeId`,`data-v-fac6b946`]]),Xt={class:`whip-shortcut-recorder`},Zt={class:`text-caption text-kobo-2 q-mb-xs`},Qt={class:`row items-center no-wrap q-gutter-xs`},$t={"data-testid":`whip-shortcut-value`},en={key:0,role:`status`,"aria-live":`polite`,class:`q-sr-only`},tn={key:1,role:`alert`,class:`text-negative text-caption q-mt-xs`},nn=st(w({__name:`WhipShortcutRecorder`,props:{modelValue:{}},emits:[`update:modelValue`],setup(e,{emit:n}){let r=e,o=n,{t:s}=Ke(),c=_e(),l=a(!1),d=a(``),f=y(()=>l.value?s(`settings.whipShortcutRecording`):we(r.modelValue,c)),p=y(()=>l.value?s(`settings.whipShortcutRecordingLabel`):s(`settings.whipShortcutButtonLabel`,{shortcut:f.value}));function h(){l.value&&(l.value=!1,window.removeEventListener(`keydown`,g,!0))}function g(e){e.preventDefault(),e.stopPropagation();let t=ve(e,c);if(t.status!==`pending`){if(t.status===`reserved`){d.value=s(`settings.whipShortcutReserved`);return}d.value=``,t.status===`accepted`&&o(`update:modelValue`,t.shortcut),h()}}function ee(){l.value||(d.value=``,l.value=!0,window.addEventListener(`keydown`,g,!0))}function S(){h(),d.value=``,o(`update:modelValue`,ge)}return te(h),(e,n)=>(u(),b(`div`,Xt,[C(`div`,Zt,i(t(s)(`settings.whipShortcut`)),1),C(`div`,Qt,[m(D,{"data-testid":`whip-shortcut-recorder`,dense:``,"no-caps":``,outline:``,color:`primary`,"aria-label":p.value,"aria-pressed":l.value,onClick:ee},{default:x(()=>[C(`span`,$t,i(f.value),1),m(z,null,{default:x(()=>[v(i(t(s)(`settings.whipShortcutHint`)),1)]),_:1})]),_:1},8,[`aria-label`,`aria-pressed`]),m(D,{"data-testid":`whip-shortcut-reset`,dense:``,flat:``,round:``,size:`sm`,color:`kobo-2`,icon:`restart_alt`,"aria-label":t(s)(`settings.whipShortcutReset`),onClick:S},{default:x(()=>[m(z,null,{default:x(()=>[v(i(t(s)(`settings.whipShortcutReset`)),1)]),_:1})]),_:1},8,[`aria-label`])]),l.value?(u(),b(`div`,en,i(t(s)(`settings.whipShortcutRecording`)),1)):_(``,!0),d.value?(u(),b(`div`,tn,i(d.value),1)):_(``,!0)]))}}),[[`__scopeId`,`data-v-d8618bd9`]]);function rn(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function an(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(!an(e[n],t[n]))return!1;return!0}return rn(e)&&rn(t)?on(e,t):!1}function on(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)||!an(e[r],t[r]))return!1;return!0}function sn(e){if(Array.isArray(e))return e.map(sn);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]=sn(r);return t}return e}function cn(e){return sn(e)}function ln(e){return e?{disabled:!1,hintKey:null}:{disabled:!0,hintKey:`settings.whipVolumeMasterAudioDisabled`}}var un={key:0,class:`settings-load-error`},dn={class:`column`},fn={class:`settings-load-error__title`},pn={class:`settings-load-error__detail`},mn={class:`settings-load-error__hint`},hn={class:`settings-layout`},gn={key:0,class:`settings-nav`},_n={class:`settings-nav__title`},vn={class:`settings-nav`},yn={class:`settings-nav__title`},bn={class:`settings-content`},xn={class:`settings-content__header`},Sn={class:`settings-content__title`},Cn={class:`text-caption text-kobo-3 q-mb-md`},wn={class:`settings-panels`},Tn={class:`settings-global-wrap`},En={key:0,"data-tour":`settings-card-general`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Dn={class:`text-subtitle2 q-mb-sm`},On={key:1,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},kn={class:`text-subtitle2 q-mb-sm`},An={class:`text-caption text-kobo-3 q-mt-xs`},jn={key:2,"data-tour":`settings-card-skills`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Mn={class:`text-subtitle2 q-mb-sm`},Nn={class:`text-caption text-kobo-3 q-mt-xs`},Pn={key:3,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Fn={class:`text-subtitle2 q-mb-sm`},In={class:`text-caption text-kobo-3 q-mb-xs q-mt-sm`},Ln={class:`text-caption text-kobo-3 q-mt-md q-mb-xs`},Rn={class:`text-caption text-kobo-3 q-mt-md q-mb-xs`},zn={class:`text-caption text-kobo-3 q-mt-md q-mb-xs`},Bn={class:`text-caption text-kobo-3 q-mt-md q-mb-xs`},Vn={key:4,"data-tour":`settings-card-agents`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Hn={class:`text-subtitle2 q-mb-sm`},Un={class:`text-subtitle2 q-mb-sm q-mt-md`},Wn={class:`text-subtitle2 q-mb-sm q-mt-md`},Gn={class:`text-caption text-kobo-3 q-mb-sm`},Kn={class:`text-subtitle2 q-mb-sm q-mt-md`},qn={key:5,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Jn={class:`text-subtitle2 q-mb-sm`},Yn={class:`row items-center q-gutter-lg`},Xn={key:6,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Zn={class:`text-subtitle2 q-mb-xs`},Qn={class:`text-kobo-3 text-caption q-mb-md`},$n={key:0,class:`column q-gutter-sm q-mt-md`},er={class:`row items-center q-gutter-sm`},tr={class:`text-kobo-2 text-caption`,style:{"min-width":`58px`}},nr={class:`text-kobo-2 text-caption`,style:{"min-width":`40px`,"text-align":`right`}},rr={key:0,class:`text-kobo-3 text-caption`},ir={key:7,"data-tour":`settings-card-notifications`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ar={class:`text-subtitle2 q-mb-sm`},or={class:`notification-sounds-grid q-mt-md`},sr={class:`notification-sound-card q-pa-md rounded-borders`},cr={class:`text-subtitle2`},lr={class:`text-kobo-3 text-caption q-mb-sm`},ur={class:`column q-gutter-xs q-mb-sm`},dr={class:`row items-center q-gutter-sm q-mb-sm`},fr={class:`row items-center q-gutter-sm`},pr={class:`row items-center q-gutter-sm q-mt-sm`},mr={class:`text-kobo-2 text-caption`,style:{"min-width":`58px`}},hr={class:`text-kobo-2 text-caption`,style:{"min-width":`40px`,"text-align":`right`}},gr={class:`notification-sound-card q-pa-md rounded-borders`},_r={class:`text-subtitle2`},vr={class:`text-kobo-3 text-caption q-mb-sm`},yr={class:`row items-center q-gutter-sm`},br={class:`row items-center q-gutter-sm q-mt-sm`},xr={class:`text-kobo-2 text-caption`,style:{"min-width":`58px`}},Sr={class:`text-kobo-2 text-caption`,style:{"min-width":`40px`,"text-align":`right`}},Cr={class:`notification-sound-card q-pa-md rounded-borders`},wr={class:`text-subtitle2`},Tr={class:`text-kobo-3 text-caption q-mb-sm`},Er={class:`row items-center q-gutter-sm`},Dr={class:`row items-center q-gutter-sm q-mt-sm`},Or={class:`text-kobo-2 text-caption`,style:{"min-width":`58px`}},kr={class:`text-kobo-2 text-caption`,style:{"min-width":`40px`,"text-align":`right`}},Ar={class:`notification-sound-card q-pa-md rounded-borders`},jr={class:`text-subtitle2`},Mr={class:`text-kobo-3 text-caption q-mb-sm`},Nr={class:`row items-center q-gutter-sm`},Pr={class:`row items-center q-gutter-sm q-mt-sm`},Fr={class:`text-kobo-2 text-caption`,style:{"min-width":`58px`}},Ir={class:`text-kobo-2 text-caption`,style:{"min-width":`40px`,"text-align":`right`}},Lr={key:8,"data-tour":`settings-card-voice`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Rr={class:`row items-center q-mb-sm`},zr={class:`text-subtitle2`},Br={class:`column q-gutter-xs`},Vr={class:`row items-center q-gutter-sm`},Hr={class:`row items-center q-gutter-sm`},Ur={class:`q-pa-sm text-caption text-kobo-2`},Wr={class:`q-mb-sm`},Gr={class:`q-mb-sm`},Kr={href:`https://github.com/ggml-org/whisper.cpp`,target:`_blank`,rel:`noopener noreferrer`,class:`text-kobo-2`},qr={class:`q-mb-xs text-kobo-2`},Jr={class:`q-mb-sm`},Yr={class:`q-mb-xs text-kobo-2`},Xr={key:9,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Zr={class:`text-subtitle2 q-mb-sm`},Qr={class:`row q-col-gutter-sm`},$r={class:`col-12 col-sm-6`},ei={class:`col-12 col-sm-6`},ti={key:10,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ni={class:`text-subtitle2 q-mb-sm`},ri={key:0,class:`voice-models-dir row items-center q-gutter-sm q-mb-md`},ii={class:`text-caption text-kobo-2 ellipsis-2-lines`,style:{flex:`1`,"min-width":`0`,"word-break":`break-all`}},ai={class:`column q-gutter-sm`},oi={class:`row items-center q-gutter-sm`},si={class:`text-body2 text-kobo-1`,style:{"font-family":`var(--kobo-font-mono, monospace)`}},ci={class:`text-caption text-kobo-3`},li={key:0,class:`q-mt-sm`},ui={class:`row items-center q-mt-xs`},di={class:`text-caption text-kobo-3`},fi={class:`text-caption text-kobo-2`},pi={key:1,class:`text-caption text-kobo-3 q-mt-xs ellipsis`,style:{"font-family":`var(--kobo-font-mono, monospace)`,"word-break":`break-all`}},mi={key:11,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},hi={class:`text-subtitle2 q-mb-sm`},gi={class:`q-pa-sm column q-gutter-sm`},_i={class:`row items-center q-gutter-sm`},vi={class:`text-caption text-kobo-2`},yi={class:`text-caption text-kobo-2`,style:{"min-width":`40px`,"text-align":`right`}},bi={class:`text-caption text-kobo-3`},xi={class:`text-caption text-kobo-3`},Si={class:`text-caption text-kobo-3`},Ci={class:`text-caption text-kobo-3`},wi={class:`q-pa-sm column q-gutter-sm`},Ti={key:12,"data-tour":`settings-card-prompts`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Ei={class:`row items-center q-mb-sm`},Di={class:`text-subtitle2`},Oi={class:`text-caption text-kobo-3 q-mb-sm`},ki={class:`q-mb-sm`},Ai={class:`row items-center q-mb-sm q-mt-md`},ji={class:`text-subtitle2`},Mi={class:`text-caption text-kobo-3 q-mb-sm`},Ni={class:`row items-center q-mb-sm q-mt-md`},Pi={class:`text-subtitle2`},Fi={class:`text-caption text-kobo-3 q-mb-sm`},Ii={class:`row items-center q-mb-sm q-mt-md`},Li={class:`text-subtitle2`},Ri={class:`text-caption text-kobo-3 q-mb-sm`},zi={class:`row items-center q-mb-sm q-mt-md`},Bi={class:`text-subtitle2`},Vi={class:`text-caption text-kobo-3 q-mb-sm`},Hi={key:13,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Ui={class:`text-subtitle2 q-mb-sm`},Wi={class:`text-caption text-kobo-3 q-mb-sm`},Gi={key:14,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Ki={class:`text-subtitle2 q-mb-sm`},qi={class:`text-caption text-kobo-3 q-mb-sm`},Ji={key:15,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Yi={class:`text-subtitle2 q-mb-sm`},Xi={class:`text-caption text-kobo-3 q-mb-sm`},Zi={key:16,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Qi={class:`text-subtitle2 q-mb-sm`},$i={class:`text-caption text-kobo-3 q-mb-sm`},ea={class:`q-mb-sm`},ta={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},na={key:18,"data-tour":`settings-card-sentry`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ra={class:`text-subtitle2 q-mb-sm`},ia={class:`text-caption text-kobo-3 q-mb-sm`},aa={class:`q-mb-sm`},oa={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},sa={key:20,"data-tour":`settings-card-forge`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ca={class:`text-subtitle2 q-mb-sm`},la={class:`text-caption text-kobo-3 q-mb-md`},ua={class:`text-subtitle2 q-mb-sm`},da={class:`text-caption text-kobo-3 q-mb-sm`},fa={class:`q-mb-sm`},pa={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},ma={class:`q-mb-sm`},ha={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},ga={class:`row items-center q-mb-sm`},_a={class:`text-subtitle2`},va={class:`text-caption text-kobo-3 q-mb-xs`},ya={class:`text-subtitle2 q-mb-sm`},ba={class:`text-caption text-kobo-3 q-mb-sm`},xa={class:`q-mb-sm`},Sa={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},Ca={class:`q-mb-sm`},wa={class:`row items-center q-mb-xs`},Ta={class:`field-label-sub text-caption text-kobo-3 col`},Ea=[`src`,`alt`],Da={key:1,class:`text-caption text-kobo-3 q-py-sm`},Oa={key:0,class:`text-caption text-orange-5 q-mb-xs`},ka={class:`text-subtitle2 q-mb-sm`},Aa={class:`row items-center q-mb-sm`},ja={class:`text-subtitle2`},Ma={class:`text-caption text-kobo-3 q-mb-xs`},Na={key:24,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Pa={class:`text-subtitle2 q-mb-sm`},Fa={class:`text-caption text-kobo-3 q-mb-sm`},Ia={key:25,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={class:`row items-center no-wrap`},Ba={key:1,class:`text-caption text-kobo-3 q-mb-sm`},Va={class:`row items-center q-gutter-sm`},Ha={key:26,"data-tour":`settings-card-scripts`,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:27,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:`text-caption text-kobo-3 q-mt-md q-mb-xs`},Ya={key:28,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Xa={class:`text-subtitle2 q-mb-sm`},Za={class:`text-caption text-kobo-3 q-mb-sm`},Qa={key:29,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},$a={class:`text-subtitle2 q-mb-sm`},eo={class:`text-caption text-kobo-3 q-mb-sm`},to={key:30,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-sm`},io={key:31,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ao={class:`text-subtitle2 q-mb-sm`},oo={class:`text-caption text-kobo-3 q-mb-sm`},so={key:32,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},co={class:`row items-center justify-between q-mb-sm`},lo={class:`text-subtitle2`},uo={class:`text-caption text-kobo-3 q-mb-xs`},fo={class:`text-caption text-kobo-3 mono-guide q-mb-sm`},po={key:33,"data-tour":`settings-card-worktrees`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},mo={class:`text-subtitle2 q-mb-sm`},ho={class:`text-caption text-kobo-3 q-mb-sm`},go={class:`text-caption text-kobo-3 q-mt-xs`},_o={"data-tour":`settings-card-worktrees-purge`},vo={class:`text-caption text-kobo-3 q-mt-xs`},yo={"data-tour":`settings-card-worktrees-retention`},bo={class:`text-subtitle2 q-mb-sm`},xo={class:`text-caption text-negative q-mb-sm`},So={class:`text-caption text-kobo-3 q-mb-sm`},Co={key:0,class:`text-caption text-kobo-3 q-mt-sm`},wo={class:`q-pa-sm text-caption text-kobo-2`,style:{"line-height":`1.55`}},To={class:`text-weight-medium text-kobo-1 q-mb-xs`},Eo={class:`q-mb-xs`},Do={class:`purge-docs-code`},Oo={class:`text-kobo-3 q-mb-md`},ko={class:`text-weight-medium text-kobo-1 q-mb-xs`},Ao={class:`q-mb-xs`},jo={class:`q-pl-md q-my-xs`},Mo={class:`purge-docs-code`},No={class:`text-kobo-3 q-mb-md`},Po={class:`text-weight-medium text-kobo-1 q-mb-xs`},Fo={class:`q-mb-xs`},Io={class:`q-mb-xs text-kobo-3`},Lo={class:`purge-docs-code`},Ro={class:`q-mb-xs text-kobo-3`},zo={class:`purge-docs-code`},Bo={class:`text-kobo-3`},Vo={key:34,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:1,class:`q-mt-md`},Go={class:`text-caption text-kobo-3 q-mt-xs`},Ko={class:`q-mt-md`},qo={class:`text-caption text-kobo-3 q-mb-xs`},Jo={class:`q-mt-md`},Yo={class:`text-caption text-kobo-3 q-mb-xs`},Xo={key:0,class:`text-caption text-kobo-3`},Zo={key:0,class:`q-mt-md`},Qo={class:`text-caption text-kobo-3 q-mb-xs`},$o=[`src`,`alt`],es={key:35,"data-tour":`settings-card-export`,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ts={class:`text-subtitle2 q-mb-sm`},ns={class:`text-caption text-kobo-3 q-mb-sm`},rs={class:`row q-gutter-sm`},is={key:0,class:`q-pa-none`},as={class:`row q-gutter-md`,style:{"min-height":`500px`}},os={class:`project-list-col`},ss={class:`settings-card rounded-borders`,style:{height:`100%`}},cs={class:`q-pa-sm`},ls={class:`text-caption text-uppercase text-weight-bold q-px-sm q-py-xs text-kobo-3`,style:{"letter-spacing":`0.05em`}},us={key:0,class:`q-pa-md text-center text-caption text-kobo-3`},ds={class:`q-pa-sm`},fs={class:`project-form-col`},ps={class:`settings-card rounded-borders q-pa-lg`,style:{height:`100%`}},ms={class:`row items-center q-mb-md`},hs={class:`text-subtitle1 text-weight-medium text-kobo-1`},gs={key:0,class:`q-mb-md`},_s={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},vs={class:`text-caption text-kobo-3 q-mt-xs`},ys={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},bs={class:`text-subtitle2 q-mb-md`},xs={class:`q-mb-md`},Ss={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Cs={class:`q-mb-md`},ws={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Ts={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Es={class:`row items-center q-gutter-xs`},Ds={class:`text-caption text-kobo-3 q-mt-xs`},Os={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ks={class:`text-subtitle2 q-mb-md`},As={class:`q-mb-md`},js={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Ms={class:`q-mb-md`},Ns={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Ps={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Fs={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Is={class:`text-subtitle2 q-mb-md`},Ls={class:`q-mb-md`},Rs={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},zs={class:`text-caption text-kobo-3 q-mb-xs`},Bs={class:`q-mb-md`},Vs={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Hs={class:`text-caption text-kobo-3 q-mb-xs`},Us={class:`q-mb-md`},Ws={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Gs={class:`text-caption text-kobo-3 q-mb-xs`},Ks={key:0,class:`q-mb-md`},qs={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Js={class:`text-caption text-kobo-3 q-mb-xs`},Ys={key:1,class:`q-mb-md`},Xs={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},Zs={class:`text-caption text-kobo-3 q-mb-xs`},Qs={class:`q-mb-md`},$s={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},ec={class:`text-caption text-kobo-3 q-mb-xs`},tc={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},nc={class:`text-caption text-kobo-3 q-mt-xs`},rc={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},ic={class:`text-subtitle2 q-mb-md`},ac={class:`q-mb-md`},oc={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},sc={class:`text-caption text-kobo-3 q-mb-xs`},cc={class:`text-caption text-kobo-3 q-mt-xs`},lc={class:`q-mb-md`},uc={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},dc={class:`text-caption text-kobo-3 q-mb-xs`},fc={class:`field-label-sub text-caption q-mt-sm q-mb-xs text-kobo-3`},pc={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},mc={class:`text-caption text-kobo-3 q-mb-xs`},hc={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},gc={class:`text-caption text-kobo-3 q-mb-xs`},_c={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},vc={class:`text-caption text-kobo-3 q-mb-xs`},yc={class:`field-label text-body2 text-weight-medium q-mb-xs text-kobo-3`},bc={class:`text-caption text-kobo-3 q-mb-xs`},xc={class:`row items-center justify-between q-mb-xs`},Sc={class:`field-label text-body2 text-weight-medium text-kobo-3`},Cc={class:`text-caption text-kobo-3 q-mb-xs`},wc={class:`text-caption text-kobo-3 mono-guide q-mb-sm`},Tc={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Ec={class:`text-subtitle2 q-mb-md`},Dc={class:`q-mb-md`},Oc={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},kc={class:`field-label-sub text-caption q-mb-xs text-kobo-3`},Ac={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},jc={class:`text-subtitle2 q-mb-xs`},Mc={class:`text-caption text-kobo-3 q-mb-sm`},Nc={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Pc={class:`text-subtitle2 q-mb-xs`},Fc={class:`text-caption text-kobo-3 q-mb-sm`},Ic={key:1,class:`column items-center justify-center`,style:{height:`100%`,"min-height":`300px`}},Lc={class:`text-body2 text-kobo-3`},Rc={key:1,class:`q-pa-none`},zc={"data-tour":`settings-card-templates`,class:`settings-card rounded-borders q-pa-lg`},Bc={class:`row items-center justify-between q-mb-md`},Vc={class:`text-subtitle1 text-weight-medium text-kobo-1`},Hc={class:`row q-gutter-sm items-center`},Uc={key:0,class:`text-kobo-3 q-py-lg text-center`},Wc={key:1,class:`column q-gutter-sm`},Gc={class:`row items-start justify-between no-wrap`},Kc={class:`col`},qc={class:`text-body1 text-weight-medium`,style:{"font-family":`var(--kobo-font-mono)`}},Jc={class:`text-caption text-kobo-2 q-mt-xs`},Yc={class:`row no-wrap q-gutter-xs`},Xc={class:`text-caption text-kobo-3 q-mt-lg`,style:{"font-family":`var(--kobo-font-mono)`}},Zc={key:2,class:`q-pa-none`},Qc={"data-tour":`settings-card-workspaceTemplates`,class:`settings-card rounded-borders q-pa-lg`},$c={class:`text-subtitle1 text-weight-medium text-kobo-1 q-mb-xs`},el={class:`text-caption text-kobo-3 q-mb-md`},tl={key:0,class:`text-caption text-kobo-3`},nl={class:`row no-wrap q-gutter-xs`},rl={class:`mono-guide q-ma-none`},il={class:`settings-savebar__label`},al={class:`text-subtitle1`},ol={class:`q-pl-md q-pt-xs`,style:{"font-size":`11px`,"font-family":`var(--kobo-font-mono)`,columns:`2`,"column-gap":`24px`}},sl={key:0,class:`text-negative text-caption`},cl=2500,ll=st(w({__name:`SettingsPage`,setup(e){let o=ue(),d=qe(),h=Ge(),te=xt(),{t:w,locale:ne}=Ke(),{scheduleAutoRun:re}=ct(),{isMobile:oe}=pt(),le=lt(),O=a(`general`),k=a(!1);function de(e){O.value=e,oe.value&&(k.value=!1)}function fe(){k.value=!1,le.toggleLeft()}let pe=y(()=>[{value:`general`,icon:`tune`,label:w(`settings.nav.general`)},{value:`agents`,icon:`smart_toy`,label:w(`settings.nav.agents`)},{value:`skills`,icon:`extension`,label:w(`settings.nav.skills`)},{value:`prompts`,icon:`text_snippet`,label:w(`settings.nav.prompts`)},{value:`scripts`,icon:`terminal`,label:w(`settings.nav.scripts`)},{value:`notion`,icon:`integration_instructions`,label:w(`settings.nav.notion`)},{value:`sentry`,icon:`bug_report`,label:w(`settings.nav.sentry`)},{value:`forge`,icon:`account_tree`,label:w(`settings.nav.forge`)},{value:`voice`,icon:`mic`,label:w(`settings.nav.voice`)},{value:`notifications`,icon:`notifications`,label:w(`settings.nav.notifications`)},{value:`worktrees`,icon:`account_tree`,label:w(`settings.nav.worktrees`)},{value:`projects`,icon:`folder`,label:w(`settings.projects`)},{value:`templates`,icon:`description`,label:w(`templates.title`)},{value:`workspaceTemplates`,icon:`bookmarks`,label:w(`settings.nav.workspaceTemplates`)},{value:`export`,icon:`import_export`,label:w(`settings.nav.export`)}]),me=y(()=>pe.value.find(e=>e.value===O.value)?.label??``),he=y(()=>[`general`,`agents`,`skills`,`prompts`,`scripts`,`notion`,`sentry`,`forge`,`voice`,`notifications`,`worktrees`,`export`].includes(O.value)),_e=a(`auto`),ve=a(`auto`),we=a(``),De=a(``),A=a(``),Pe=a(``),Ie=a(``),Ve=a(``),L=a(``),tt=a(``),st=a(!1),ut=a(5),St=a(0),B=a(0),Ct=a(0),V=a({enabled:!1,token:``,behindProxy:!1,urls:[]}),wt=a(!1),Tt=a(``);function Et(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 Dt=y(()=>V.value.urls.map(Et));async function Ot(){try{let e=await fetch(`/api/settings/network`);if(!e.ok)throw Error(`HTTP ${e.status}`);V.value=await e.json(),await At()}catch{o.notify({type:`negative`,message:w(`settings.network.loadFailed`),position:`top`})}}async function At(){let e=Dt.value[0];if(!e||!V.value.token){Tt.value=``;return}let t=`${e}/?token=${encodeURIComponent(V.value.token)}`;try{let{default:e}=await Ee(async()=>{let{default:e}=await import(`./browser-DUmYgiEg.js`).then(e=>kt(e.default,1));return{default:e}},[]);Tt.value=await e.toDataURL(t,{margin:1,width:200})}catch{Tt.value=``}}async function jt(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();V.value={enabled:n.enabled,token:n.token,behindProxy:n.behindProxy,urls:n.urls},n.restartRequired&&(wt.value=!0),await At()}catch{o.notify({type:`negative`,message:w(`settings.network.updateFailed`),position:`top`}),await Ot()}}function Mt(e){jt({enabled:e})}function Nt(e){jt({behindProxy:e})}function Pt(){o.dialog({title:w(`settings.network.title`),message:w(`settings.network.regenerateConfirm`),cancel:!0,persistent:!0}).onOk(()=>{jt({regenerate:!0})})}function Ft(){ef(V.value.token)}let It=a(!0),Lt=a(typeof Notification>`u`?`unsupported`:Notification.permission),H=a(!0),U=a(!1),W=a(!1),G=a(!1),Vt=a(Le),Ht=a(Ce),Ut=a(Ce),Wt=a(Ce),Gt=a(1),Kt=a(1),qt=a(1),Xt=a(1),Zt=a({...Se}),Qt=a(``),$t=a(``),en=a(``),tn=a(``),rn=a(!1),an=a(!0),sn=a(!1),ll=a(ge),ul=a(1),dl=y(()=>ln(H.value)),fl=y(()=>{switch(Lt.value){case`granted`:return{color:`positive`,label:w(`settings.browserNotificationGranted`)};case`denied`:return{color:`negative`,label:w(`settings.browserNotificationDenied`)};case`default`:return{color:`warning`,label:w(`settings.browserNotificationAsk`)};default:return{color:`kobo-3`,label:w(`settings.browserNotificationUnsupported`)}}});async function pl(){if(typeof Notification>`u`){o.notify({type:`negative`,message:w(`settings.browserNotificationUnsupported`),position:`top`});return}if(Notification.permission==="default"?Lt.value=await Notification.requestPermission():Lt.value=Notification.permission,Lt.value!==`granted`){o.notify({type:`warning`,message:w(`settings.browserNotificationPermissionNeeded`),position:`top`});return}new Notification(w(`settings.browserNotificationTestTitle`),{body:w(`settings.browserNotificationTestBody`),icon:`/favicon.ico`})}let ml=a(null),K=a({});async function hl(e){ml.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{ml.value=null}}let gl=a([]),_l=a(!1),vl=a(``),yl=y(()=>gl.value.map(e=>({label:`${e.name} — ${e.email}`,value:e.id,name:e.name,email:e.email,avatarUrl:e.avatarUrl})));async function bl(e=!1){if(!_l.value&&!(!e&&gl.value.length>0)){_l.value=!0,vl.value=``;try{let e=await fetch(`/api/notion/users`),t=await e.json().catch(()=>({}));if(!e.ok)throw Error(t.error??`HTTP ${e.status}`);gl.value=Array.isArray(t.users)?t.users:[]}catch(e){vl.value=e instanceof Error?e.message:String(e),gl.value=[]}finally{_l.value=!1}}}let xl=a(``),Sl=a(``),q=a(null),Cl=a(`bypass`),wl=a(`bypass`),Tl=a(``),El=a(``),Dl=a(``),Ol=a(``),J=a(!0),kl=a(!0),Al=a([]),Y=a([]),jl=a(``),Ml=a(``),Nl=a(``),Pl=a(`no-tasks`),Fl=a(!1),Il=a(``),Ll=a(``),Rl=a(``),zl=a(``),Bl=a(``),Vl=a(``),Hl=a(!1);function Ul(e){Q.value.path=e}let Wl=y(()=>[{label:w(`settings.cleanupScriptMode.inherit`),value:``},{label:w(`settings.cleanupScriptMode.idle`),value:`idle`},{label:w(`settings.cleanupScriptMode.noTasks`),value:`no-tasks`}]),Gl=a(Oe),Kl=a(null),ql=a(!0);function Jl(e){let t=e.trim().replace(/^\/+|\/+$/g,``);return t.length===0||t.length>50||!/^[A-Za-z0-9._/-]+$/.test(t)||t.includes(`..`)?``:t}function Yl(){let e=Jl(jl.value);e&&!Y.value.includes(e)&&(Y.value.push(e),jl.value=``)}function Xl(e){Y.value.splice(e,1)}function Zl(e,t){let n=Jl(t);if(!n)return;let r=Y.value.indexOf(n);(r===-1||r===e)&&(Y.value[e]=n)}function Ql(e,t){let n=e+t;if(n<0||n>=Y.value.length)return;let r=Y.value;[r[e],r[n]]=[r[n],r[e]]}let $l=a(!1),eu=a(`superpowers`),tu=y(()=>{switch(eu.value){case`gstack`:return`settings.skillSuite.gstackHint`;case`ecc`:return`settings.skillSuite.eccHint`;case`superpowers+gstack`:return`settings.skillSuite.superpowersGstackHint`;case`superpowers+gstack+ecc`:return`settings.skillSuite.allThreeHint`;case`custom`:return`settings.skillSuite.customHint`;default:return`settings.skillSuite.superpowersHint`}}),nu=a(``),ru=a(``),iu=a(``),au=a(``),ou=a(``),su=a(null),cu=y(()=>[{value:`custom`,label:w(`settings.skillSuite.agnostic`)},{value:`superpowers`,label:w(`settings.skillSuite.superpowers`)},{value:`gstack`,label:w(`settings.skillSuite.gstack`)},{value:`ecc`,label:w(`settings.skillSuite.ecc`)},{value:`superpowers+gstack`,label:w(`settings.skillSuite.superpowersGstack`)},{value:`superpowers+gstack+ecc`,label:w(`settings.skillSuite.allThree`)}]);async function lu(e,t){su.value=e;try{let n=await fetch(`/api/settings/skill-suite-prompts/${t}`);if(!n.ok)throw Error(await n.text());let r=await n.json(),i={reviewTemplate:nu,autoLoopReviewGate:ru,autoLoopGroomingIntro:iu,qaPromptTemplate:au,brainstormingInstruction:ou};i[e].value=r[e],o.notify({type:`positive`,message:w(`settings.skillSuite.imported`),position:`top`})}catch(e){o.notify({type:`negative`,message:`${w(`settings.skillSuite.importFailed`)}: ${String(e)}`,position:`top`})}finally{su.value=null}}let uu=a(!1),du=a(`alt`),fu=a(`auto`),pu=a(null),mu=a(``),hu=a(``),gu=a(0),_u=a(``),vu=a(!1),yu=a(!0),bu=a(null),xu=a(!1);function Su(){o.dialog({title:w(`settings.skillSuite.reloadDefaults`),message:w(`settings.skillSuite.reloadDefaultsConfirm`),cancel:!0,persistent:!0,dark:!0}).onOk(()=>{nu.value=Qe,ru.value=Ze,iu.value=rt,au.value=at,ou.value=$e})}function Cu(e){let t=e===`global`?Bl.value:Q.value.changeSourceBranchScript,n=()=>{e===`global`?Bl.value=Vl.value:Q.value.changeSourceBranchScript=Vl.value};if(!t.trim()||t===Vl.value){n();return}o.dialog({title:w(`settings.changeSourceBranchScript.replaceConfirmTitle`),message:w(`settings.changeSourceBranchScript.replaceConfirm`),cancel:!0,persistent:!0,dark:!0}).onOk(n)}function wu(e){return!e||e===`tiny`||e===`base`?.1:.2}let Tu=[e=>e.trim().length>0||w(`settings.worktreesPathRequired`)],Eu=a(!1),X=a(-1),Z=a(!1),Q=a({path:``,displayName:``,color:null,defaultSourceBranch:``,defaultModel:``,forge:`auto`,prPromptTemplate:``,reviewPromptTemplate:``,ciFixPromptTemplate:``,notionInitialPromptTemplate:``,sentryInitialPromptTemplate:``,gitConventions:``,setupScript:``,taskPromptTemplate:``,cleanupScript:``,cleanupScriptMode:``,archiveScript:``,changeSourceBranchScript:``,sessionEndedScript:``,prMergedScript:``,autoLoopDisabledScript:``,devServer:{startCommand:``,stopCommand:``},e2e:{framework:``,skill:``,prompt:``},finalization:{prompt:``}}),Du=[`defaultModel`,`forge`,`prPromptTemplate`,`reviewPromptTemplate`,`ciFixPromptTemplate`,`notionInitialPromptTemplate`,`sentryInitialPromptTemplate`,`gitConventions`,`setupScript`,`taskPromptTemplate`,`cleanupScript`,`cleanupScriptMode`,`archiveScript`,`changeSourceBranchScript`,`sessionEndedScript`,`prMergedScript`,`autoLoopDisabledScript`,`devServer`,`e2e`,`finalization`],Ou=a(null),ku=a(null),Au=y(()=>d.projects.map(e=>({value:e.path,label:of(e)||e.path})));function ju(e){let t=d.projects.find(t=>t.path===e);t&&(Q.value.defaultModel=t.defaultModel??``,Q.value.forge=t.forge??`auto`,Q.value.prPromptTemplate=t.prPromptTemplate??``,Q.value.reviewPromptTemplate=t.reviewPromptTemplate??``,Q.value.ciFixPromptTemplate=t.ciFixPromptTemplate??``,Q.value.notionInitialPromptTemplate=t.notionInitialPromptTemplate??``,Q.value.sentryInitialPromptTemplate=t.sentryInitialPromptTemplate??``,Q.value.gitConventions=t.gitConventions??``,Q.value.setupScript=t.setupScript??``,Q.value.devServer={startCommand:t.devServer?.startCommand??``,stopCommand:t.devServer?.stopCommand??``},Q.value.e2e={framework:t.e2e?.framework??``,skill:t.e2e?.skill??``,prompt:t.e2e?.prompt??``},Q.value.finalization={prompt:t.finalization?.prompt??``})}function Mu(){let e={defaultModel:``,forge:`auto`,prPromptTemplate:``,reviewPromptTemplate:``,notionInitialPromptTemplate:``,sentryInitialPromptTemplate:``,gitConventions:``,setupScript:``,taskPromptTemplate:``,cleanupScript:``,cleanupScriptMode:``,archiveScript:``,changeSourceBranchScript:``,sessionEndedScript:``,prMergedScript:``,autoLoopDisabledScript:``,devServer:{startCommand:``,stopCommand:``},e2e:{framework:``,skill:``,prompt:``},finalization:{prompt:``}};return Du.every(t=>JSON.stringify(Q.value[t])===JSON.stringify(e[t]))}function Nu(e){if(e===null){Ou.value=null,ku.value=null;return}if(ku.value===null&&Mu()){ju(e),Ou.value=e,ku.value=e;return}let t=d.projects.find(t=>t.path===e),n=t&&of(t)||e;o.dialog({title:w(`settings.copyFromConfirmTitle`),message:w(`settings.copyFromConfirm`,{project:n}),cancel:!0,persistent:!0,dark:!0}).onOk(()=>{ju(e),Ou.value=e,ku.value=e}).onCancel(()=>{Ou.value=ku.value})}let Pu=a([]),Fu=a([]);async function Iu(){try{let e=await fetch(`/api/skills`);e.ok&&(Pu.value=await e.json())}catch{}}function Lu(e,t){t(()=>{let t=e.trim().toLowerCase();Fu.value=t?Pu.value.filter(e=>e.toLowerCase().includes(t)):Pu.value.slice()})}let Ru=a([]),zu=a(!1),Bu=a(!1),Vu=a(!1),Hu=a(!1),Uu=a(null),Wu=a(``),Gu=a(``),Ku=a(``),qu=a(``),Ju=a(!1),Yu=a(!1),Xu=y(()=>[...h.templates].sort((e,t)=>e.slug.localeCompare(t.slug))),Zu=[`{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 Qu(){Uu.value=null,Wu.value=``,Gu.value=``,Ku.value=``,qu.value=``,Hu.value=!0}function $u(e){Uu.value=e.slug,Wu.value=e.slug,Gu.value=e.description,Ku.value=e.content,qu.value=``,Hu.value=!0}async function ed(){qu.value=``;let e=Wu.value.trim(),t=Gu.value.trim();if(Uu.value===null&&!/^[a-z0-9][a-z0-9-]{0,63}$/.test(e)){qu.value=w(`templates.slugInvalid`);return}if(!t){qu.value=w(`templates.descriptionRequired`);return}if(!Ku.value.trim()){qu.value=w(`templates.contentRequired`);return}Ju.value=!0;try{Uu.value===null?await h.createTemplate({slug:e,description:t,content:Ku.value}):await h.updateTemplate(Uu.value,{description:t,content:Ku.value}),Hu.value=!1}catch(e){qu.value=e instanceof Error?e.message:w(`templates.createFailed`)}finally{Ju.value=!1}}function td(){o.dialog({title:w(`templates.reloadDefaults`),message:w(`templates.reloadDefaultsConfirmMessage`),dark:!0,cancel:{flat:!0,label:w(`common.cancel`),color:`kobo-2`},ok:{flat:!0,label:w(`templates.reloadDefaults`),color:`primary`}}).onOk(async()=>{Yu.value=!0;try{let e=await h.reloadDefaults();o.notify({type:`positive`,message:w(`templates.reloadDefaultsSuccess`,{added:e.added.length,kept:e.kept.length}),position:`top`,timeout:4e3})}catch(e){o.notify({type:`negative`,message:e instanceof Error?e.message:w(`templates.reloadDefaultsFailed`),position:`top`})}finally{Yu.value=!1}})}async function nd(e){o.dialog({title:w(`templates.deleteTemplate`),message:`${w(`templates.deleteConfirm`,{slug:e.slug})}\n\n${w(`templates.deleteConfirmMessage`)}`,dark:!0,cancel:{flat:!0,label:w(`common.cancel`),color:`kobo-2`},ok:{flat:!0,label:w(`templates.deleteTemplate`),color:`red-5`}}).onOk(async()=>{try{await h.deleteTemplate(e.slug)}catch(e){o.notify({type:`negative`,message:e instanceof Error?e.message:w(`templates.deleteFailed`),position:`top`})}})}function rd(e){let t=new Date(e);return Number.isNaN(t.getTime())?`-`:t.toLocaleDateString()}function id(e,t){o.dialog({title:w(`workspaceTemplates.renameTitle`),dark:!0,prompt:{model:t,type:`text`,outlined:!0,dense:!0,isValid:e=>e.trim().length>0},cancel:!0,persistent:!0}).onOk(async t=>{try{await te.updateTemplate(e,{name:t})}catch(e){o.notify({type:`negative`,message:e instanceof Error?e.message:w(`settings.saveError`),position:`top`})}})}function ad(e,t){o.dialog({title:w(`workspaceTemplates.title`),message:w(`workspaceTemplates.deleteConfirm`,{name:t}),dark:!0,cancel:!0,persistent:!0}).onOk(async()=>{try{await te.deleteTemplate(e),o.notify({type:`positive`,message:w(`workspaceTemplates.deleted`,{name:t}),position:`top`})}catch(e){o.notify({type:`negative`,message:e instanceof Error?e.message:w(`settings.saveError`),position:`top`})}})}function od(e){o.dialog({title:w(`templates.resetConfirmTitle`),message:w(`templates.resetConfirmMessage`,{slug:e.slug}),dark:!0,cancel:{flat:!0,label:w(`common.cancel`),color:`kobo-2`},ok:{flat:!0,label:w(`templates.resetToDefault`),color:`primary`}}).onOk(async()=>{try{await h.resetToDefault(e.slug),o.notify({type:`positive`,message:w(`templates.resetSuccess`,{slug:e.slug}),position:`top`})}catch(e){o.notify({type:`negative`,message:e instanceof Error?e.message:w(`templates.resetFailed`),position:`top`})}})}let sd=[{label:`English`,value:`en`},{label:`Français`,value:`fr`},{label:`Deutsch`,value:`de`},{label:`Español`,value:`es`},{label:`Italiano`,value:`it`}];function cd(e){ke(e).catch(e=>{console.error(`[i18n] locale load failed:`,e),o.notify({type:`negative`,message:w(`settings.localeLoadFailed`),position:`top`})}),localStorage.setItem(`kobo:locale`,e)}let ld=y(()=>[...nt.map(e=>({label:w(e.i18nLabelKey),value:e.value}))]),ud=y(()=>[...et.map(e=>({label:w(e.i18nLabelKey),value:e.value}))]),dd=y(()=>[{label:w(`settings.useGlobal`),value:``},...ld.value]),fd=y(()=>[{label:w(`settings.forge.auto`),value:`auto`},{label:w(`settings.forge.github`),value:`github`},{label:w(`settings.forge.gitlab`),value:`gitlab`},{label:w(`settings.forge.bitbucketCommunity`),value:`bitbucket-community`},{label:w(`settings.forge.none`),value:`none`}]),pd=y(()=>it[`claude-code`].map(e=>({label:w(`agentPermissionMode.${e}`),value:e}))),md=y(()=>it.codex.map(e=>({label:w(`agentPermissionMode.${e}`),value:e}))),hd=y(()=>[{name:`{{pr_number}}`,description:w(`settings.var.prNumber`)},{name:`{{pr_url}}`,description:w(`settings.var.prUrl`)},{name:`{{branch_name}}`,description:w(`settings.var.branchName`)},{name:`{{source_branch}}`,description:w(`settings.var.sourceBranch`)},{name:`{{workspace_name}}`,description:w(`settings.var.workspaceName`)},{name:`{{project_name}}`,description:w(`settings.var.projectName`)},{name:`{{notion_url}}`,description:w(`settings.var.notionUrl`)},{name:`{{commits}}`,description:w(`settings.var.commits`)},{name:`{{diff_stats}}`,description:w(`settings.var.diffStats`)},{name:`{{tasks}}`,description:w(`settings.var.tasks`)},{name:`{{acceptance_criteria}}`,description:w(`settings.var.acceptanceCriteria`)}]),gd=y(()=>[{label:w(`settings.mcpAutoSelect`),value:``},...d.activeMcpServers.map(e=>({label:e.key,value:e.key}))]),_d=y(()=>Te.map(e=>({label:w(e.labelKey),value:e.id}))),vd=y(()=>[{label:w(`settings.soundGeneral`),value:Ce},..._d.value]),yd=y(()=>[{label:w(`voice.noneModel`),value:null}].concat(d.voiceModels.map(e=>({label:e.installed?`${e.name}`:`${e.name} (${w(`voice.notInstalled`)})`,value:e.name})))),bd=[{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 xd(){Je(Vt.value,Gt.value)}function Sd(){Je(Ht.value,Kt.value)}function Cd(){Je(Ut.value,qt.value)}function wd(){Je(Wt.value,Xt.value)}let $=y(()=>X.value<0||X.value>=d.projects.length?null:d.projects[X.value]??null),Td=a(kd()),Ed=a({});function Dd(){return{claudeModel:_e.value,codexModel:ve.value,prPrompt:we.value,reviewPrompt:De.value,ciFixPrompt:A.value,finalizationPrompt:Pe.value,gitConventions:Ie.value,editorCommand:Ve.value,fileManagerCommand:L.value,terminalCommand:tt.value,autoPurgeOnPrMerged:st.value,autoLoopMaxRetries:ut.value,awaitingUserReminderMinutes:St.value,wsEventsRetentionDays:B.value,wsEventsKeepPerWorkspace:Ct.value,browserNotifications:It.value,audioNotifications:H.value,audioQuestionNotifications:U.value,audioWorkspaceCreatedNotifications:W.value,audioAgentErrorNotifications:G.value,audioNotificationSound:Vt.value,audioQuestionSound:Ht.value,audioWorkspaceCreatedSound:Ut.value,audioAgentErrorSound:Wt.value,audioNotificationVolume:Gt.value,audioQuestionVolume:Kt.value,audioWorkspaceCreatedVolume:qt.value,audioAgentErrorVolume:Xt.value,prNotificationSounds:Zt.value,notionStatusProperty:Qt.value,notionStatus:$t.value,notionAssigneeProperty:en.value,notionUserId:tn.value,notionInitialPrompt:xl.value,sentryInitialPrompt:Sl.value,claudePermissionMode:Cl.value,codexPermissionMode:wl.value,notionMcpKey:Tl.value,sentryMcpKey:El.value,bitbucketToken:Dl.value,bitbucketUsername:Ol.value,notionEnabled:J.value,sentryEnabled:kl.value,showVerboseSystemMessages:rn.value,showThinkingBlocks:an.value,whipEnabled:sn.value,whipShortcut:ll.value,whipVolume:ul.value,tags:Al.value,branchPrefixes:Y.value,setupScript:Ml.value,cleanupScript:Nl.value,cleanupScriptMode:Pl.value,cleanupScriptOnlyOnChanges:Fl.value,archiveScript:Il.value,changeSourceBranchScript:Bl.value,sessionEndedScript:Ll.value,prMergedScript:Rl.value,autoLoopDisabledScript:zl.value,worktreesPath:Gl.value,worktreesPrefixByProject:ql.value,flattenWorkspaceList:$l.value,skillSuite:eu.value,customReviewTemplate:nu.value,customAutoLoopReviewGate:ru.value,customAutoLoopGroomingIntro:iu.value,customQaPromptTemplate:au.value,customBrainstormingInstruction:ou.value,voiceEnabled:uu.value,voicePttKey:du.value,voiceLanguage:fu.value,voiceModel:pu.value,voiceCommandPath:mu.value,voiceFfmpegPath:hu.value,voiceTemperature:gu.value,voicePrompt:_u.value,voiceTranslateToEnglish:vu.value,voiceSuppressNst:yu.value}}function Od(){return{...Q.value}}function kd(){return cn(Dd())}function Ad(){return cn(Od())}let jd=y(()=>!on(Dd(),Td.value)),Md=y(()=>!on(Od(),Ed.value)),Nd=y(()=>d.loadError?!1:jd.value?!0:Md.value&&($.value!==null||Z.value)),Pd=y(()=>Md.value&&($.value!==null||Z.value)?Bu.value:Eu.value);function Fd(){Md.value&&($.value!==null||Z.value)?tf():Kd()}function Id(){xu.value=!0;let e=d.global.defaultModelByEngine??{};_e.value=e[`claude-code`]??`auto`,ve.value=e.codex??`auto`,we.value=d.global.prPromptTemplate,De.value=d.global.reviewPromptTemplate??``,A.value=d.global.ciFixPromptTemplate??``,Pe.value=d.global.finalizationPrompt??``,Ie.value=d.global.gitConventions,Ve.value=d.global.editorCommand??``,L.value=d.global.fileManagerCommand??``,tt.value=d.global.terminalCommand??``,st.value=d.global.autoPurgeOnPrMerged??!1,ut.value=d.global.autoLoopMaxRetries??5,St.value=d.global.awaitingUserReminderMinutes??0,B.value=d.global.wsEventsRetentionDays??0,Ct.value=d.global.wsEventsKeepPerWorkspace??0,It.value=d.global.browserNotifications??!0,H.value=d.global.audioNotifications??!0,U.value=d.global.audioQuestionNotifications??!1,W.value=d.global.audioWorkspaceCreatedNotifications??!1,G.value=d.global.audioAgentErrorNotifications??!1,Vt.value=Ye(d.global.audioNotificationSound),Ht.value=xe(d.global.audioQuestionSound),Ut.value=xe(d.global.audioWorkspaceCreatedSound),Wt.value=xe(d.global.audioAgentErrorSound);let t=Object.fromEntries(be.map(e=>[e,xe(d.global[e])])),n=Object.fromEntries(ye.map(e=>{let t=d.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]}));Zt.value={...t,...n};let r=d.global.audioNotificationVolume;Gt.value=typeof r==`number`&&Number.isFinite(r)?Math.max(0,Math.min(1,r)):1;let i=d.global.audioQuestionVolume;Kt.value=typeof i==`number`&&Number.isFinite(i)?Math.max(0,Math.min(1,i)):1;let a=d.global.audioWorkspaceCreatedVolume;qt.value=typeof a==`number`&&Number.isFinite(a)?Math.max(0,Math.min(1,a)):1;let o=d.global.audioAgentErrorVolume;Xt.value=typeof o==`number`&&Number.isFinite(o)?Math.max(0,Math.min(1,o)):1,Qt.value=d.global.notionStatusProperty??``,$t.value=d.global.notionInProgressStatus??``,en.value=d.global.notionAssigneeProperty??``,tn.value=d.global.notionUserId??``,xl.value=d.global.notionInitialPromptTemplate??``,Sl.value=d.global.sentryInitialPromptTemplate??``;{let e=d.global.defaultPermissionModeByEngine??{},t=e=>e===`plan`||e===`bypass`||e===`strict`||e===`interactive`,n=e[`claude-code`];Cl.value=t(n)?n:`bypass`;let r=e.codex;wl.value=t(r)?r:`bypass`}Tl.value=d.global.notionMcpKey??``,El.value=d.global.sentryMcpKey??``,Dl.value=d.global.bitbucketToken??``,Ol.value=d.global.bitbucketUsername??``,J.value=d.global.notionEnabled??!0,kl.value=d.global.sentryEnabled??!0,rn.value=d.showVerboseSystemMessages,an.value=d.global.showThinkingBlocks??!0,sn.value=d.global.whipEnabled??!1,ll.value=d.global.whipShortcut??`mod+shift+x`,ul.value=d.global.whipVolume??1,Al.value=Array.isArray(d.global.tags)?[...d.global.tags]:[],Y.value=Array.isArray(d.global.branchPrefixes)?[...d.global.branchPrefixes]:[],Ml.value=d.global.setupScript??``,Nl.value=d.global.cleanupScript??``,Pl.value=d.global.cleanupScriptMode===`idle`?`idle`:`no-tasks`,Fl.value=d.global.cleanupScriptOnlyOnChanges??!1,Il.value=d.global.archiveScript??``,Ll.value=d.global.sessionEndedScript??``,Rl.value=d.global.prMergedScript??``,zl.value=d.global.autoLoopDisabledScript??``,Bl.value=d.global.changeSourceBranchScript??``,Gl.value=d.global.worktreesPath??`.worktrees`,ql.value=d.global.worktreesPrefixByProject??!1,$l.value=d.global.flattenWorkspaceList??!1,eu.value=d.global.skillSuite??`superpowers`,nu.value=d.global.customReviewTemplate??``,ru.value=d.global.customAutoLoopReviewGate??``,iu.value=d.global.customAutoLoopGroomingIntro??``,au.value=d.global.customQaPromptTemplate??``,ou.value=d.global.customBrainstormingInstruction??``,uu.value=d.global.voiceEnabled??!1,du.value=d.global.voicePttKey===`ctrl+space`?`ctrl+space`:`alt`,fu.value=d.global.voiceLanguage??`auto`,pu.value=d.global.voiceModel??null,mu.value=d.global.voiceCommandPath??``,hu.value=d.global.voiceFfmpegPath??``,gu.value=typeof d.global.voiceTemperature==`number`?d.global.voiceTemperature:0,_u.value=d.global.voicePrompt??``,vu.value=d.global.voiceTranslateToEnglish??!1,yu.value=d.global.voiceSuppressNonSpeechTokens??!0,xu.value=!1,Td.value=kd()}l(()=>pu.value,(e,t)=>{xu.value||e!==t&&(gu.value=wu(e))});function Ld(e){if(!e){Q.value={path:``,displayName:``,color:null,defaultSourceBranch:``,defaultModel:``,forge:`auto`,prPromptTemplate:``,reviewPromptTemplate:``,ciFixPromptTemplate:``,notionInitialPromptTemplate:``,sentryInitialPromptTemplate:``,gitConventions:``,setupScript:``,taskPromptTemplate:``,cleanupScript:``,cleanupScriptMode:``,archiveScript:``,changeSourceBranchScript:``,sessionEndedScript:``,prMergedScript:``,autoLoopDisabledScript:``,devServer:{startCommand:``,stopCommand:``},e2e:{framework:``,skill:``,prompt:``},finalization:{prompt:``}},Ru.value=[],Ed.value=Ad();return}Q.value={path:e.path,displayName:e.displayName,color:e.color??null,defaultSourceBranch:e.defaultSourceBranch,defaultModel:e.defaultModel,forge:e.forge??`auto`,prPromptTemplate:e.prPromptTemplate,reviewPromptTemplate:e.reviewPromptTemplate??``,ciFixPromptTemplate:e.ciFixPromptTemplate??``,notionInitialPromptTemplate:e.notionInitialPromptTemplate??``,sentryInitialPromptTemplate:e.sentryInitialPromptTemplate??``,gitConventions:e.gitConventions??``,setupScript:e.setupScript??``,taskPromptTemplate:e.taskPromptTemplate??``,cleanupScript:e.cleanupScript??``,cleanupScriptMode:e.cleanupScriptMode??``,archiveScript:e.archiveScript??``,changeSourceBranchScript:e.changeSourceBranchScript??``,sessionEndedScript:e.sessionEndedScript??``,prMergedScript:e.prMergedScript??``,autoLoopDisabledScript:e.autoLoopDisabledScript??``,devServer:{startCommand:e.devServer?.startCommand??``,stopCommand:e.devServer?.stopCommand??``},e2e:{framework:e.e2e?.framework??``,skill:e.e2e?.skill??``,prompt:e.e2e?.prompt??``},finalization:{prompt:e.finalization?.prompt??``}},Ed.value=Ad(),e.path&&Rd(e.path)}async function Rd(e){if(!e.trim()){Ru.value=[];return}zu.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();Ru.value=n.local??n.branches??[]}catch{Ru.value=[]}finally{zu.value=!1}}let zd=null;l(()=>Q.value.path,e=>{zd&&clearTimeout(zd),zd=setTimeout(()=>{Rd(e)},500)}),l(X,()=>{Z.value=!1,Ld($.value)});let Bd=a(null);async function Vd(){try{let e=await fetch(`/api/settings/export`);if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json(),n=new Blob([JSON.stringify(t,null,2)],{type:`application/json`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=`kobo-config-${new Date().toISOString().replace(/[:.]/g,`-`)}.json`,i.click(),URL.revokeObjectURL(r),o.notify({type:`positive`,message:w(`settings.exportSuccess`),position:`top`,timeout:3e3})}catch(e){o.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}}function Hd(){Bd.value?.click()}async function Ud(e){let t=e.target,n=t.files?.[0];if(n)try{o.dialog({title:w(`settings.importConfirmTitle`),message:w(`settings.importConfirmMessage`),cancel:!0,persistent:!0,dark:!0}).onOk(async()=>{try{let e=await n.text(),t=JSON.parse(e),r=await fetch(`/api/settings/import`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)});if(!r.ok){let e=await r.json().catch(()=>({}));throw Error(e.error??`HTTP ${r.status}`)}await d.fetchSettings(),Id(),o.notify({type:`positive`,message:w(`settings.importSuccess`),position:`top`,timeout:3e3})}catch(e){o.notify({type:`negative`,message:String(e),position:`top`,timeout:5e3})}})}finally{t.value=``}}async function Wd(e){if(q.value===null){q.value=e;try{let t=await d.fetchGlobalDefaults(),n={prPromptTemplate:we,reviewPromptTemplate:De,ciFixPromptTemplate:A,finalizationPrompt:Pe,gitConventions:Ie,notionInitialPromptTemplate:xl,sentryInitialPromptTemplate:Sl};n[e].value=t[e]}catch(e){console.error(`[SettingsPage] resetFieldToDefault failed:`,e),o.notify({type:`negative`,message:w(`settings.resetFailed`),position:`top`})}finally{q.value=null}}}async function Gd(){let e=e=>e===0?1/0:e,t=d.global.wsEventsRetentionDays??0,n=B.value;if(e(n)>=e(t))return!0;let r=w(`settings.retentionConfirmMessageUnknown`,{days:n});try{let e=await d.previewRetention(n,Ct.value);r=w(`settings.retentionConfirmMessage`,{days:n,count:e.deletable,total:e.total})}catch(e){console.error(`[SettingsPage] retention preview failed:`,e)}return await new Promise(e=>{o.dialog({title:w(`settings.retentionConfirmTitle`),message:r,cancel:!0,persistent:!0,dark:!0}).onOk(()=>e(!0)).onCancel(()=>e(!1)).onDismiss(()=>e(!1))})}async function Kd(){if(await Kl.value?.validate()!==!1&&await Gd()){Eu.value=!0;try{await d.updateGlobal({defaultModelByEngine:{"claude-code":_e.value,codex:ve.value},prPromptTemplate:we.value,reviewPromptTemplate:De.value,ciFixPromptTemplate:A.value,finalizationPrompt:Pe.value,gitConventions:Ie.value,editorCommand:Ve.value,fileManagerCommand:L.value,terminalCommand:tt.value,autoPurgeOnPrMerged:st.value,autoLoopMaxRetries:ut.value,awaitingUserReminderMinutes:St.value,wsEventsRetentionDays:B.value,wsEventsKeepPerWorkspace:Ct.value,browserNotifications:It.value,audioNotifications:H.value,audioQuestionNotifications:U.value,audioWorkspaceCreatedNotifications:W.value,audioAgentErrorNotifications:G.value,audioNotificationSound:Vt.value,audioQuestionSound:Ht.value,audioWorkspaceCreatedSound:Ut.value,audioAgentErrorSound:Wt.value,audioNotificationVolume:Gt.value,audioQuestionVolume:Kt.value,audioWorkspaceCreatedVolume:qt.value,audioAgentErrorVolume:Xt.value,...Zt.value,notionStatusProperty:Qt.value,notionInProgressStatus:$t.value,notionAssigneeProperty:en.value,notionUserId:tn.value,notionInitialPromptTemplate:xl.value,sentryInitialPromptTemplate:Sl.value,defaultPermissionModeByEngine:{"claude-code":Cl.value,codex:wl.value},notionMcpKey:Tl.value,sentryMcpKey:El.value,bitbucketToken:Dl.value,bitbucketUsername:Ol.value,notionEnabled:J.value,sentryEnabled:kl.value,showThinkingBlocks:an.value,whipEnabled:sn.value,whipShortcut:ll.value,whipVolume:ul.value,tags:Al.value,branchPrefixes:Y.value,setupScript:Ml.value,cleanupScript:Nl.value,cleanupScriptMode:Pl.value,cleanupScriptOnlyOnChanges:Fl.value,archiveScript:Il.value,changeSourceBranchScript:Bl.value,sessionEndedScript:Ll.value,prMergedScript:Rl.value,autoLoopDisabledScript:zl.value,worktreesPath:Gl.value,worktreesPrefixByProject:ql.value,flattenWorkspaceList:$l.value,skillSuite:eu.value,customReviewTemplate:nu.value,customAutoLoopReviewGate:ru.value,customAutoLoopGroomingIntro:iu.value,customQaPromptTemplate:au.value,customBrainstormingInstruction:ou.value,voiceEnabled:uu.value,voicePttKey:du.value,voiceLanguage:fu.value,voiceModel:pu.value,voiceCommandPath:mu.value.trim(),voiceFfmpegPath:hu.value.trim(),voiceTemperature:gu.value,voicePrompt:_u.value,voiceTranslateToEnglish:vu.value,voiceSuppressNonSpeechTokens:yu.value}),d.setVerboseSystemMessages(rn.value),Td.value=kd(),o.notify({type:`positive`,message:w(`settings.saved`),position:`top`})}catch{o.notify({type:`negative`,message:w(`settings.saveError`),position:`top`})}finally{Eu.value=!1}}}async function qd(e){bu.value=e,Qd();try{await d.downloadVoiceModel(e)}catch{o.notify({type:`negative`,message:w(`voice.downloadFailed`),position:`top`})}finally{bu.value=null,$d()}}async function Jd(e){bu.value=e;try{await d.deleteVoiceModel(e),pu.value===e&&(pu.value=null)}catch{o.notify({type:`negative`,message:w(`voice.deleteFailed`),position:`top`})}finally{bu.value=null}}async function Yd(e){try{await d.cancelVoiceModelDownload(e)}catch{o.notify({type:`negative`,message:w(`voice.cancelFailed`),position:`top`})}}function Xd(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 Zd=null;function Qd(){Zd||=setInterval(()=>{document.visibilityState!==`hidden`&&d.fetchVoiceModels().catch(e=>{console.error(`[settings] voice model polling failed:`,e)})},cl)}function $d(){Zd&&=(clearInterval(Zd),null)}async function ef(e){try{await navigator.clipboard.writeText(e),o.notify({type:`positive`,message:w(`common.copied`),position:`top`,timeout:1200})}catch{o.notify({type:`negative`,message:w(`common.copyFailed`),position:`top`})}}async function tf(){if(!Q.value.path.trim()){o.notify({type:`negative`,message:w(`settings.projectPathRequired`),position:`top`});return}Bu.value=!0;try{await d.upsertProject(Q.value.path.trim(),{displayName:Q.value.displayName,color:Q.value.color,defaultSourceBranch:Q.value.defaultSourceBranch,defaultModel:Q.value.defaultModel,forge:Q.value.forge,prPromptTemplate:Q.value.prPromptTemplate,reviewPromptTemplate:Q.value.reviewPromptTemplate,ciFixPromptTemplate:Q.value.ciFixPromptTemplate,notionInitialPromptTemplate:Q.value.notionInitialPromptTemplate,sentryInitialPromptTemplate:Q.value.sentryInitialPromptTemplate,gitConventions:Q.value.gitConventions,setupScript:Q.value.setupScript,taskPromptTemplate:Q.value.taskPromptTemplate,cleanupScript:Q.value.cleanupScript,cleanupScriptMode:Q.value.cleanupScriptMode,archiveScript:Q.value.archiveScript,changeSourceBranchScript:Q.value.changeSourceBranchScript,sessionEndedScript:Q.value.sessionEndedScript,prMergedScript:Q.value.prMergedScript,autoLoopDisabledScript:Q.value.autoLoopDisabledScript,devServer:Q.value.devServer,e2e:Q.value.e2e,finalization:Q.value.finalization}),Z.value=!1;let e=d.projects.findIndex(e=>e.path===Q.value.path.trim());e>=0&&(X.value=e),Ed.value=Ad(),o.notify({type:`positive`,message:w(`settings.projectSaved`),position:`top`})}catch{o.notify({type:`negative`,message:w(`settings.projectSaveError`),position:`top`})}finally{Bu.value=!1}}function nf(){if(!$.value)return;let e=$.value.displayName||$.value.path;o.dialog({title:w(`settings.deleteProjectConfirmTitle`),message:w(`settings.deleteProjectConfirmMessage`,{name:e}),dark:!0,cancel:{flat:!0,label:w(`common.cancel`),color:`kobo-2`},ok:{flat:!0,label:w(`common.delete`),color:`red-5`}}).onOk(async()=>{if($.value){Vu.value=!0;try{await d.deleteProject($.value.path),X.value=-1,Z.value=!1,Ld(null),o.notify({type:`positive`,message:w(`settings.projectDeleted`),position:`top`})}catch{o.notify({type:`negative`,message:w(`settings.projectDeleteError`),position:`top`})}finally{Vu.value=!1}}})}function rf(){X.value=-1,Z.value=!0,Ld(null),Ou.value=null,ku.value=null}function af(e){if(Md.value&&($.value!==null||Z.value)){o.dialog({title:w(`settings.unsavedChanges.title`),message:w(`settings.unsavedChanges.message`),dark:!0,persistent:!0,ok:{flat:!0,label:w(`settings.unsavedChanges.discard`),color:`negative`},cancel:{flat:!0,label:w(`settings.unsavedChanges.cancel`),color:`kobo-2`}}).onOk(()=>{Z.value=!1,X.value=e,Ou.value=null,ku.value=null});return}Z.value=!1,X.value=e,Ou.value=null,ku.value=null}function of(e){if(e.displayName)return e.displayName;let t=e.path.split(`/`);return t[t.length-1]??e.path}let sf=a([]);function cf(e,t){t(()=>{sf.value=e?Ru.value.filter(t=>t.toLowerCase().includes(e.toLowerCase())):Ru.value})}async function lf(){await d.fetchSettings(),d.loadError||Id()}return f(async()=>{await Promise.all([d.fetchSettings(),d.fetchActiveMcpServers(),Iu()]);try{let e=await d.fetchGlobalDefaults();Vl.value=e.changeSourceBranchScript??``}catch(e){console.error(`[SettingsPage] fetchGlobalDefaults failed:`,e)}await d.fetchVoiceModels(),await d.fetchVoiceRuntime(),Id(),re(`settings`),d.global.notionEnabled&&bl().catch(()=>{}),Ot(),te.fetchTemplates(),Be(`settings:global`,()=>jd.value),Be(`settings:project`,()=>Md.value&&($.value!==null||Z.value))}),s(()=>{zd&&clearTimeout(zd),$d(),Fe(`settings:global`),Fe(`settings:project`)}),(e,a)=>(u(),g(vt,{class:`settings-page`},{default:x(()=>[t(d).loadError?(u(),b(`div`,un,[m(E,{name:`error`,size:`18px`}),C(`div`,dn,[C(`span`,fn,i(e.$t(`settings.loadFailed`)),1),C(`span`,pn,i(t(d).loadError),1),C(`span`,mn,i(e.$t(`settings.loadFailedHint`)),1)]),m(R),m(D,{dense:``,flat:``,"no-caps":``,icon:`refresh`,label:e.$t(`common.retry`),onClick:lf},null,8,[`label`])])):_(``,!0),C(`div`,hn,[t(oe)?(u(),g(ht,{key:1,modelValue:k.value,"onUpdate:modelValue":a[0]||=e=>k.value=e,side:`left`,overlay:``,behavior:`mobile`,width:240},{default:x(()=>[m(P,null,{default:x(()=>[m(N,{clickable:``,onClick:fe},{default:x(()=>[m(F,{avatar:``},{default:x(()=>[m(E,{name:`arrow_back`})]),_:1}),m(F,null,{default:x(()=>[v(i(e.$t(`workspaceList.title`)),1)]),_:1})]),_:1}),m(Re)]),_:1}),C(`div`,vn,[C(`div`,yn,i(e.$t(`settings.title`)),1),m(Yt,{"nav-items":pe.value,"active-tab":O.value,onSelect:de},null,8,[`nav-items`,`active-tab`])])]),_:1},8,[`modelValue`])):(u(),b(`aside`,gn,[C(`div`,_n,i(e.$t(`settings.title`)),1),m(Yt,{"nav-items":pe.value,"active-tab":O.value,onSelect:de},null,8,[`nav-items`,`active-tab`])])),C(`main`,bn,[C(`header`,xn,[m(bt,{"exclude-mobile":``,class:`q-mr-sm`}),t(oe)?(u(),g(D,{key:0,flat:``,dense:``,round:``,icon:`menu`,"aria-label":e.$t(`settings.openNav`),class:`settings-content__nav-toggle`,onClick:a[1]||=e=>k.value=!0},{default:x(()=>[m(z,null,{default:x(()=>[v(i(e.$t(`settings.openNav`)),1)]),_:1})]),_:1},8,[`aria-label`])):_(``,!0),C(`h2`,Sn,i(me.value),1),m(yt,{"tour-id":`settings`,class:`q-ml-sm`})]),C(`div`,Cn,i(e.$t(`settings.help.${O.value}`)),1),C(`div`,wn,[c(C(`div`,Tn,[O.value===`general`?(u(),b(`div`,En,[C(`div`,Dn,i(e.$t(`settings.language`)),1),m(I,{"model-value":t(ne),options:sd,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input`,"onUpdate:modelValue":cd},null,8,[`model-value`])])):_(``,!0),O.value===`general`?(u(),b(`div`,On,[C(`div`,kn,i(e.$t(`settings.workspaceListSection`)),1),m(M,{modelValue:$l.value,"onUpdate:modelValue":a[2]||=e=>$l.value=e,label:e.$t(`settings.flattenWorkspaceList`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`]),C(`div`,An,i(e.$t(`settings.flattenWorkspaceListHint`)),1)])):_(``,!0),O.value===`skills`?(u(),b(`div`,jn,[C(`div`,Mn,i(e.$t(`settings.skillSuite.section`)),1),m(Ae,{modelValue:eu.value,"onUpdate:modelValue":a[3]||=e=>eu.value=e,options:[{label:e.$t(`settings.skillSuite.superpowers`),value:`superpowers`},{label:e.$t(`settings.skillSuite.gstack`),value:`gstack`},{label:e.$t(`settings.skillSuite.ecc`),value:`ecc`},{label:e.$t(`settings.skillSuite.superpowersGstack`),value:`superpowers+gstack`},{label:e.$t(`settings.skillSuite.allThree`),value:`superpowers+gstack+ecc`},{label:e.$t(`settings.skillSuite.custom`),value:`custom`}],type:`radio`,color:`primary`,dense:``,dark:``,inline:``},null,8,[`modelValue`,`options`]),C(`div`,Nn,i(e.$t(tu.value)),1),m(D,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`restart_alt`,label:e.$t(`settings.skillSuite.reloadDefaults`),disable:eu.value!==`custom`,class:`q-mt-sm`,onClick:Su},null,8,[`label`,`disable`])])):_(``,!0),O.value===`skills`&&eu.value===`custom`?(u(),b(`div`,Pn,[C(`div`,Fn,i(e.$t(`settings.skillSuite.customPrompts`)),1),C(`div`,In,i(e.$t(`settings.skillSuite.reviewTemplate`)),1),m(mt,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`download`,label:e.$t(`settings.skillSuite.importPrompt`),loading:su.value===`reviewTemplate`,class:`q-mb-sm`},{default:x(()=>[m(P,{dense:``},{default:x(()=>[(u(!0),b(S,null,T(cu.value,e=>c((u(),g(N,{key:e.value,clickable:``,onClick:t=>lu(`reviewTemplate`,e.value)},{default:x(()=>[m(F,null,{default:x(()=>[v(i(e.label),1)]),_:2},1024)]),_:2},1032,[`onClick`])),[[ft]])),128))]),_:1})]),_:1},8,[`label`,`loading`]),m(j,{modelValue:nu.value,"onUpdate:modelValue":a[4]||=e=>nu.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`]),C(`div`,Ln,i(e.$t(`settings.skillSuite.autoLoopReviewGate`)),1),m(mt,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`download`,label:e.$t(`settings.skillSuite.importPrompt`),loading:su.value===`autoLoopReviewGate`,class:`q-mb-sm`},{default:x(()=>[m(P,{dense:``},{default:x(()=>[(u(!0),b(S,null,T(cu.value,e=>c((u(),g(N,{key:e.value,clickable:``,onClick:t=>lu(`autoLoopReviewGate`,e.value)},{default:x(()=>[m(F,null,{default:x(()=>[v(i(e.label),1)]),_:2},1024)]),_:2},1032,[`onClick`])),[[ft]])),128))]),_:1})]),_:1},8,[`label`,`loading`]),m(j,{modelValue:ru.value,"onUpdate:modelValue":a[5]||=e=>ru.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`]),C(`div`,Rn,i(e.$t(`settings.skillSuite.autoLoopGroomingIntro`)),1),m(mt,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`download`,label:e.$t(`settings.skillSuite.importPrompt`),loading:su.value===`autoLoopGroomingIntro`,class:`q-mb-sm`},{default:x(()=>[m(P,{dense:``},{default:x(()=>[(u(!0),b(S,null,T(cu.value,e=>c((u(),g(N,{key:e.value,clickable:``,onClick:t=>lu(`autoLoopGroomingIntro`,e.value)},{default:x(()=>[m(F,null,{default:x(()=>[v(i(e.label),1)]),_:2},1024)]),_:2},1032,[`onClick`])),[[ft]])),128))]),_:1})]),_:1},8,[`label`,`loading`]),m(j,{modelValue:iu.value,"onUpdate:modelValue":a[6]||=e=>iu.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`]),C(`div`,zn,i(e.$t(`settings.skillSuite.qaTemplate`)),1),m(mt,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`download`,label:e.$t(`settings.skillSuite.importPrompt`),loading:su.value===`qaPromptTemplate`,class:`q-mb-sm`},{default:x(()=>[m(P,{dense:``},{default:x(()=>[(u(!0),b(S,null,T(cu.value,e=>c((u(),g(N,{key:e.value,clickable:``,onClick:t=>lu(`qaPromptTemplate`,e.value)},{default:x(()=>[m(F,null,{default:x(()=>[v(i(e.label),1)]),_:2},1024)]),_:2},1032,[`onClick`])),[[ft]])),128))]),_:1})]),_:1},8,[`label`,`loading`]),m(j,{modelValue:au.value,"onUpdate:modelValue":a[7]||=e=>au.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`]),C(`div`,Bn,i(e.$t(`settings.skillSuite.brainstormingInstruction`)),1),m(mt,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`kobo-2`,icon:`download`,label:e.$t(`settings.skillSuite.importPrompt`),loading:su.value===`brainstormingInstruction`,class:`q-mb-sm`},{default:x(()=>[m(P,{dense:``},{default:x(()=>[(u(!0),b(S,null,T(cu.value,e=>c((u(),g(N,{key:e.value,clickable:``,onClick:t=>lu(`brainstormingInstruction`,e.value)},{default:x(()=>[m(F,null,{default:x(()=>[v(i(e.label),1)]),_:2},1024)]),_:2},1032,[`onClick`])),[[ft]])),128))]),_:1})]),_:1},8,[`label`,`loading`]),m(j,{modelValue:ou.value,"onUpdate:modelValue":a[8]||=e=>ou.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])])):_(``,!0),O.value===`agents`?(u(),b(`div`,Vn,[C(`div`,Hn,i(e.$t(`settings.defaultModelClaude`)),1),m(I,{modelValue:_e.value,"onUpdate:modelValue":a[9]||=e=>_e.value=e,options:ld.value,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`options`]),C(`div`,Un,i(e.$t(`settings.defaultModelCodex`)),1),m(I,{modelValue:ve.value,"onUpdate:modelValue":a[10]||=e=>ve.value=e,options:ud.value,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`options`]),C(`div`,Wn,i(e.$t(`settings.defaultPermissionModeClaude`)),1),C(`div`,Gn,i(e.$t(`settings.defaultPermissionModeHint`)),1),m(I,{modelValue:Cl.value,"onUpdate:modelValue":a[11]||=e=>Cl.value=e,options:pd.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`options`]),C(`div`,Kn,i(e.$t(`settings.defaultPermissionModeCodex`)),1),m(I,{modelValue:wl.value,"onUpdate:modelValue":a[12]||=e=>wl.value=e,options:md.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])])):_(``,!0),O.value===`general`?(u(),b(`div`,qn,[C(`div`,Jn,i(e.$t(`settings.activityFeed`)),1),C(`div`,Yn,[m(M,{modelValue:rn.value,"onUpdate:modelValue":a[13]||=e=>rn.value=e,label:e.$t(`settings.verboseMessages`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`]),m(M,{modelValue:an.value,"onUpdate:modelValue":a[14]||=e=>an.value=e,label:e.$t(`settings.showThinkingBlocks`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`])])])):_(``,!0),O.value===`general`?(u(),b(`div`,Xn,[C(`div`,Zn,i(e.$t(`settings.whipSettings`)),1),C(`div`,Qn,i(e.$t(`settings.whipSettingsHint`)),1),m(M,{modelValue:sn.value,"onUpdate:modelValue":a[15]||=e=>sn.value=e,label:e.$t(`settings.whipEnabled`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},{default:x(()=>[m(z,null,{default:x(()=>[v(i(e.$t(`settings.whipEnabledHint`)),1)]),_:1})]),_:1},8,[`modelValue`,`label`]),sn.value?(u(),b(`div`,$n,[m(nn,{modelValue:ll.value,"onUpdate:modelValue":a[16]||=e=>ll.value=e},null,8,[`modelValue`]),C(`div`,er,[C(`div`,tr,i(e.$t(`settings.whipVolume`)),1),m(Rt,{modelValue:ul.value,"onUpdate:modelValue":a[17]||=e=>ul.value=e,min:0,max:1,step:.05,disable:dl.value.disabled,"aria-label":e.$t(`settings.whipVolume`),dark:``,dense:``,color:`primary`,class:`col`},null,8,[`modelValue`,`disable`,`aria-label`]),C(`div`,nr,i(Math.round(ul.value*100))+`% `,1)]),dl.value.hintKey?(u(),b(`div`,rr,i(e.$t(dl.value.hintKey)),1)):_(``,!0)])):_(``,!0)])):_(``,!0),O.value===`notifications`?(u(),b(`div`,ir,[C(`div`,ar,i(e.$t(`settings.notifications`)),1),C(`div`,or,[C(`div`,sr,[C(`div`,cr,i(e.$t(`settings.notificationSound`)),1),C(`div`,lr,i(e.$t(`settings.notificationSoundHint`)),1),C(`div`,ur,[m(M,{modelValue:It.value,"onUpdate:modelValue":a[18]||=e=>It.value=e,label:e.$t(`settings.enableBrowserNotifications`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`]),m(M,{modelValue:H.value,"onUpdate:modelValue":a[19]||=e=>H.value=e,label:e.$t(`settings.enableAudio`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption`},null,8,[`modelValue`,`label`])]),C(`div`,dr,[m(dt,{dense:``,square:``,color:fl.value.color,"text-color":`white`,icon:`notifications`},{default:x(()=>[v(i(fl.value.label),1)]),_:1},8,[`color`]),m(D,{flat:``,dense:``,"no-caps":``,color:`primary`,icon:`notifications_active`,label:e.$t(`settings.testBrowserNotification`),onClick:pl},null,8,[`label`])]),C(`div`,fr,[m(I,{modelValue:Vt.value,"onUpdate:modelValue":a[20]||=e=>Vt.value=e,options:_d.value,label:e.$t(`settings.notificationSound`),disable:!H.value,dark:``,dense:``,outlined:``,"emit-value":``,"map-options":``,color:`primary`,class:`col`},null,8,[`modelValue`,`options`,`label`,`disable`]),m(D,{flat:``,dense:``,color:`primary`,icon:`play_arrow`,label:e.$t(`settings.notificationSoundPreview`),disable:!H.value,onClick:xd},null,8,[`label`,`disable`])]),C(`div`,pr,[C(`div`,mr,i(e.$t(`settings.notificationVolume`)),1),m(Rt,{modelValue:Gt.value,"onUpdate:modelValue":a[21]||=e=>Gt.value=e,min:0,max:1,step:.05,disable:!H.value,"aria-label":e.$t(`settings.notificationVolume`),dark:``,dense:``,color:`primary`,class:`col`},null,8,[`modelValue`,`disable`,`aria-label`]),C(`div`,hr,i(Math.round(Gt.value*100))+`% `,1)])]),C(`div`,gr,[C(`div`,_r,i(e.$t(`settings.questionSound`)),1),C(`div`,vr,i(e.$t(`settings.questionSoundHint`)),1),m(M,{modelValue:U.value,"onUpdate:modelValue":a[22]||=e=>U.value=e,label:e.$t(`settings.enableAudio`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption q-mb-sm`},null,8,[`modelValue`,`label`]),C(`div`,yr,[m(I,{modelValue:Ht.value,"onUpdate:modelValue":a[23]||=e=>Ht.value=e,options:vd.value,label:e.$t(`settings.questionSound`),disable:!U.value,dark:``,dense:``,outlined:``,"emit-value":``,"map-options":``,color:`primary`,class:`col`},null,8,[`modelValue`,`options`,`label`,`disable`]),m(D,{flat:``,dense:``,color:`primary`,icon:`play_arrow`,label:e.$t(`settings.notificationSoundPreview`),disable:!U.value,onClick:Sd},null,8,[`label`,`disable`])]),C(`div`,br,[C(`div`,xr,i(e.$t(`settings.notificationVolume`)),1),m(Rt,{modelValue:Kt.value,"onUpdate:modelValue":a[24]||=e=>Kt.value=e,min:0,max:1,step:.05,disable:!U.value,"aria-label":e.$t(`settings.notificationVolume`),dark:``,dense:``,color:`primary`,class:`col`},null,8,[`modelValue`,`disable`,`aria-label`]),C(`div`,Sr,i(Math.round(Kt.value*100))+`% `,1)])]),C(`div`,Cr,[C(`div`,wr,i(e.$t(`settings.workspaceCreatedSound`)),1),C(`div`,Tr,i(e.$t(`settings.workspaceCreatedSoundHint`)),1),m(M,{modelValue:W.value,"onUpdate:modelValue":a[25]||=e=>W.value=e,label:e.$t(`settings.enableAudio`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption q-mb-sm`},null,8,[`modelValue`,`label`]),C(`div`,Er,[m(I,{modelValue:Ut.value,"onUpdate:modelValue":a[26]||=e=>Ut.value=e,options:vd.value,label:e.$t(`settings.workspaceCreatedSound`),disable:!W.value,dark:``,dense:``,outlined:``,"emit-value":``,"map-options":``,color:`primary`,class:`col`},null,8,[`modelValue`,`options`,`label`,`disable`]),m(D,{flat:``,dense:``,color:`primary`,icon:`play_arrow`,label:e.$t(`settings.notificationSoundPreview`),disable:!W.value,onClick:Cd},null,8,[`label`,`disable`])]),C(`div`,Dr,[C(`div`,Or,i(e.$t(`settings.notificationVolume`)),1),m(Rt,{modelValue:qt.value,"onUpdate:modelValue":a[27]||=e=>qt.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`]),C(`div`,kr,i(Math.round(qt.value*100))+`% `,1)])]),C(`div`,Ar,[C(`div`,jr,i(e.$t(`settings.agentErrorSound`)),1),C(`div`,Mr,i(e.$t(`settings.agentErrorSoundHint`)),1),m(M,{modelValue:G.value,"onUpdate:modelValue":a[28]||=e=>G.value=e,label:e.$t(`settings.enableAudio`),dark:``,dense:``,color:`primary`,class:`text-kobo-2 text-caption q-mb-sm`},null,8,[`modelValue`,`label`]),C(`div`,Nr,[m(I,{modelValue:Wt.value,"onUpdate:modelValue":a[29]||=e=>Wt.value=e,options:vd.value,label:e.$t(`settings.agentErrorSound`),disable:!G.value,dark:``,dense:``,outlined:``,"emit-value":``,"map-options":``,color:`primary`,class:`col`},null,8,[`modelValue`,`options`,`label`,`disable`]),m(D,{flat:``,dense:``,color:`primary`,icon:`play_arrow`,label:e.$t(`settings.notificationSoundPreview`),disable:!G.value,onClick:wd},null,8,[`label`,`disable`])]),C(`div`,Pr,[C(`div`,Fr,i(e.$t(`settings.notificationVolume`)),1),m(Rt,{modelValue:Xt.value,"onUpdate:modelValue":a[30]||=e=>Xt.value=e,min:0,max:1,step:.05,disable:!G.value,"aria-label":e.$t(`settings.notificationVolume`),dark:``,dense:``,color:`primary`,class:`col`},null,8,[`modelValue`,`disable`,`aria-label`]),C(`div`,Ir,i(Math.round(Xt.value*100))+`%`,1)])])]),m(Jt,{modelValue:Zt.value,"onUpdate:modelValue":a[31]||=e=>Zt.value=e,"general-sound":Vt.value},null,8,[`modelValue`,`general-sound`])])):_(``,!0),O.value===`voice`?(u(),b(`div`,Lr,[C(`div`,Rr,[C(`div`,zr,i(e.$t(`voice.sectionRuntime`)),1),m(R),m(D,{flat:``,dense:``,"no-caps":``,size:`sm`,icon:`refresh`,color:`kobo-2`,label:t(w)(`common.refresh`),onClick:a[32]||=e=>t(d).fetchVoiceRuntime()},null,8,[`label`])]),C(`div`,Br,[C(`div`,Vr,[m(E,{name:t(d).voiceRuntime?.available?`check_circle`:`cancel`,color:t(d).voiceRuntime?.available?`green-5`:`red-5`,size:`xs`},null,8,[`name`,`color`]),C(`span`,{class:n([`text-caption`,t(d).voiceRuntime?.available?`text-green-5`:`text-red-5`])},i(t(d).voiceRuntime?.available?t(w)(`voice.runtimeReady`,{command:t(d).voiceRuntime?.command??`whisper-cli`}):t(w)(`voice.runtimeMissing`,{command:t(d).voiceRuntime?.command??`whisper-cli`})),3)]),C(`div`,Hr,[m(E,{name:t(d).voiceRuntime?.ffmpegAvailable?`check_circle`:`cancel`,color:t(d).voiceRuntime?.ffmpegAvailable?`green-5`:`red-5`,size:`xs`},null,8,[`name`,`color`]),C(`span`,{class:n([`text-caption`,t(d).voiceRuntime?.ffmpegAvailable?`text-green-5`:`text-red-5`])},i(t(d).voiceRuntime?.ffmpegAvailable?t(w)(`voice.ffmpegReady`):t(w)(`voice.ffmpegMissing`)),3)])]),m(Xe,{dense:``,dark:``,icon:`help_outline`,label:e.$t(`voice.installGuideTitle`),class:`variables-panel rounded-borders q-mt-sm`},{default:x(()=>[C(`div`,Ur,[C(`div`,Wr,i(e.$t(`voice.installGuideIntro`)),1),C(`div`,Gr,[C(`a`,Kr,i(e.$t(`voice.installLink`)),1)]),C(`div`,qr,i(e.$t(`voice.installGuideUbuntuTitle`)),1),a[128]||=C(`pre`,{class:`mono-guide q-mb-sm`},`sudo apt update
|
|
2
2
|
sudo apt install -y cmake build-essential ffmpeg
|
|
3
3
|
git clone https://github.com/ggml-org/whisper.cpp.git
|
|
4
4
|
cd whisper.cpp
|