@loicngr/kobo 1.7.0 → 1.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/README.md +9 -4
  2. package/dist/mcp-server/kobo-tasks-handlers.js +2 -1
  3. package/dist/server/routes/health.js +2 -2
  4. package/dist/server/routes/settings.js +2 -1
  5. package/dist/server/routes/workspaces.js +5 -11
  6. package/dist/server/services/auto-loop-service.js +2 -2
  7. package/dist/server/services/settings-service.js +35 -1
  8. package/dist/server/services/wakeup-service.js +2 -2
  9. package/dist/server/services/workspace-service.js +2 -1
  10. package/dist/server/services/worktree-service.js +17 -7
  11. package/dist/server/utils/worktree-paths.js +134 -0
  12. package/dist/shared/consts.js +1 -0
  13. package/package.json +1 -1
  14. package/src/client/dist/spa/assets/ActivityFeed-Chn8aZvi.js +7 -0
  15. package/src/client/dist/spa/assets/{ClosePopup-DzB3mDtj.js → ClosePopup-BUlGXTqh.js} +1 -1
  16. package/src/client/dist/spa/assets/{CreatePage-U6TtJzNe.js → CreatePage-BGtqoZ8d.js} +1 -1
  17. package/src/client/dist/spa/assets/{DiffViewer-Di85TBIi.js → DiffViewer-qjJ-biOw.js} +3 -3
  18. package/src/client/dist/spa/assets/{HealthPage-B7aWFxAZ.js → HealthPage-CKyf7ky6.js} +1 -1
  19. package/src/client/dist/spa/assets/{MainLayout-Dba6SdpU.css → MainLayout-B07zv82Z.css} +1 -1
  20. package/src/client/dist/spa/assets/MainLayout-Br3jmaOw.js +37 -0
  21. package/src/client/dist/spa/assets/{QExpansionItem-VS4b4eY6.js → QExpansionItem-BnIPCzXR.js} +1 -1
  22. package/src/client/dist/spa/assets/{QMenu-CchbRXbp.js → QMenu-0LsqhRZT.js} +1 -1
  23. package/src/client/dist/spa/assets/QScrollArea-BDCKOKuE.js +1 -0
  24. package/src/client/dist/spa/assets/{QTabPanels-HXz-evuj.js → QTabPanels-Ctnrqvp9.js} +1 -1
  25. package/src/client/dist/spa/assets/QTooltip-B3CmRx4j.js +1 -0
  26. package/src/client/dist/spa/assets/{SearchPage-CVm-sqxH.js → SearchPage-Ce8Uc7Ol.js} +1 -1
  27. package/src/client/dist/spa/assets/SettingsPage-8N0X7B7o.css +1 -0
  28. package/src/client/dist/spa/assets/SettingsPage-BaaSJ3eJ.js +1 -0
  29. package/src/client/dist/spa/assets/{WorkspacePage-xaVy8s5i.js → WorkspacePage-wZUUTDzp.js} +3 -3
  30. package/src/client/dist/spa/assets/{build-path-tree-CdY1A6aP.js → build-path-tree-DRViYT3t.js} +1 -1
  31. package/src/client/dist/spa/assets/{cssMode-BVNBMOxh.js → cssMode-uAfRqG2Q.js} +1 -1
  32. package/src/client/dist/spa/assets/{editor.api-D6Vfp5yv.js → editor.api-5GUlxvcL.js} +1 -1
  33. package/src/client/dist/spa/assets/{editor.main-CTCYF6V4.js → editor.main-CSTJjBIa.js} +3 -3
  34. package/src/client/dist/spa/assets/expand-template-zA3pTyIP.js +1 -0
  35. package/src/client/dist/spa/assets/{freemarker2-nmzwPmzi.js → freemarker2-BxBnI8Nb.js} +1 -1
  36. package/src/client/dist/spa/assets/{handlebars-CI9lR7Ef.js → handlebars-DrbIsXmT.js} +1 -1
  37. package/src/client/dist/spa/assets/{html-BQ21REnv.js → html-DH7u_g5l.js} +1 -1
  38. package/src/client/dist/spa/assets/{htmlMode-io5J5Qr1.js → htmlMode-BlY9QO3f.js} +1 -1
  39. package/src/client/dist/spa/assets/i18n-B41j--A3.js +1 -0
  40. package/src/client/dist/spa/assets/{index-C_e7KOYh.js → index-DoYBJtQA.js} +2 -2
  41. package/src/client/dist/spa/assets/{javascript--u9PDBCv.js → javascript-B-AL31ke.js} +1 -1
  42. package/src/client/dist/spa/assets/{jsonMode-DBG5llk4.js → jsonMode-Dx7CA4ag.js} +1 -1
  43. package/src/client/dist/spa/assets/{liquid-DxAS4nYF.js → liquid--H7Vomnm.js} +1 -1
  44. package/src/client/dist/spa/assets/{marked.esm-DuOsJx63.js → marked.esm-DLCrAGtO.js} +1 -1
  45. package/src/client/dist/spa/assets/{mdx-BNXTiODW.js → mdx-BOackeU6.js} +1 -1
  46. package/src/client/dist/spa/assets/{models-DNYEhFF7.js → models-BPfFBcxr.js} +1 -1
  47. package/src/client/dist/spa/assets/{monaco.contribution-CT3LAK0J.js → monaco.contribution-ydrMjZwK.js} +2 -2
  48. package/src/client/dist/spa/assets/{python-DztNww13.js → python-BWGSV-nk.js} +1 -1
  49. package/src/client/dist/spa/assets/{razor-Cyr82NZF.js → razor-BGnl83cS.js} +1 -1
  50. package/src/client/dist/spa/assets/settings-lT4GB-uB.js +1 -0
  51. package/src/client/dist/spa/assets/{tsMode-CbQVgsIP.js → tsMode-Chjqq1f3.js} +1 -1
  52. package/src/client/dist/spa/assets/{typescript-UHOe4d1S.js → typescript-By7Y7PAP.js} +1 -1
  53. package/src/client/dist/spa/assets/{use-panel-Br8QNRMk.js → use-panel-DWX2aNMM.js} +1 -1
  54. package/src/client/dist/spa/assets/{xml-DC88eFpV.js → xml-DoAeCRiy.js} +1 -1
  55. package/src/client/dist/spa/assets/{yaml-DSTsIRJr.js → yaml-DlT7YOhG.js} +1 -1
  56. package/src/client/dist/spa/index.html +2 -2
  57. package/src/mcp-server/kobo-tasks-handlers.ts +2 -1
  58. package/src/client/dist/spa/assets/ActivityFeed-CIJPN8TH.js +0 -7
  59. package/src/client/dist/spa/assets/MainLayout-BHBrz4c9.js +0 -37
  60. package/src/client/dist/spa/assets/QScrollArea-DrVTDLU0.js +0 -1
  61. package/src/client/dist/spa/assets/QTooltip-DjJYMTkN.js +0 -1
  62. package/src/client/dist/spa/assets/SettingsPage-ayDKGo9H.js +0 -1
  63. package/src/client/dist/spa/assets/SettingsPage-wTBCvK6t.css +0 -1
  64. package/src/client/dist/spa/assets/expand-template-vHV2iwXf.js +0 -1
  65. package/src/client/dist/spa/assets/i18n-Do8Kn8n0.js +0 -1
  66. package/src/client/dist/spa/assets/settings-Dbx1_ksA.js +0 -1
@@ -1 +0,0 @@
1
- import{D as e,H as t,Q as n,S as r,W as i,j as a,k as o,l as s,y as c}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{O as l,a as u,n as d,r as f}from"./QIcon-B0-pH3Qs.js";import{u as p}from"./use-id-CDuXkR0Z.js";import{f as m,p as h}from"./settings-Dbx1_ksA.js";import{d as g}from"./QTooltip-DjJYMTkN.js";import{t as _}from"./QResizeObserver-Cf79V-VZ.js";import{i as v,r as y}from"./marked.esm-DuOsJx63.js";var b=l({props:[`store`,`barStyle`,`verticalBarStyle`,`horizontalBarStyle`],setup(e){return()=>[r(`div`,{class:e.store.scroll.vertical.barClass.value,style:[e.barStyle,e.verticalBarStyle],"aria-hidden":`true`,onMousedown:e.store.onVerticalMousedown}),r(`div`,{class:e.store.scroll.horizontal.barClass.value,style:[e.barStyle,e.horizontalBarStyle],"aria-hidden":`true`,onMousedown:e.store.onHorizontalMousedown}),i(r(`div`,{ref:e.store.scroll.vertical.ref,class:e.store.scroll.vertical.thumbClass.value,style:e.store.scroll.vertical.style.value,"aria-hidden":`true`}),e.store.thumbVertDir),i(r(`div`,{ref:e.store.scroll.horizontal.ref,class:e.store.scroll.horizontal.thumbClass.value,style:e.store.scroll.horizontal.style.value,"aria-hidden":`true`}),e.store.thumbHorizDir)]}}),x=[`vertical`,`horizontal`],S={vertical:{offset:`offsetY`,scroll:`scrollTop`,dir:`down`,dist:`y`},horizontal:{offset:`offsetX`,scroll:`scrollLeft`,dir:`right`,dist:`x`}},C={prevent:!0,mouse:!0,mouseAllDir:!0},w=e=>e>=250?50:Math.ceil(e/5),T=l({name:`QScrollArea`,props:{...f,thumbStyle:Object,verticalThumbStyle:Object,horizontalThumbStyle:Object,barStyle:[Array,String,Object],verticalBarStyle:[Array,String,Object],horizontalBarStyle:[Array,String,Object],verticalOffset:{type:Array,default:[0,0]},horizontalOffset:{type:Array,default:[0,0]},contentStyle:[Array,String,Object],contentActiveStyle:[Array,String,Object],delay:{type:[String,Number],default:1e3},visible:{type:Boolean,default:null},tabindex:[String,Number],onScroll:Function},setup(i,{slots:l,emit:f}){let T=n(!1),E=n(!1),D=n(!1),O={vertical:n(0),horizontal:n(0)},k={vertical:{ref:n(null),position:n(0),size:n(0)},horizontal:{ref:n(null),position:n(0),size:n(0)}},{proxy:A}=c(),j=d(i,A.$q),M=null,N,P=n(null),F=s(()=>`q-scrollarea`+(j.value===!0?` q-scrollarea--dark`:``));Object.assign(O,{verticalInner:s(()=>O.vertical.value-i.verticalOffset[0]-i.verticalOffset[1]),horizontalInner:s(()=>O.horizontal.value-i.horizontalOffset[0]-i.horizontalOffset[1])}),k.vertical.percentage=s(()=>{let e=k.vertical.size.value-O.vertical.value;if(e<=0)return 0;let t=g(k.vertical.position.value/e,0,1);return Math.round(t*1e4)/1e4}),k.vertical.thumbHidden=s(()=>(i.visible===null?D.value:i.visible)!==!0&&T.value===!1&&E.value===!1||k.vertical.size.value<=O.vertical.value+1),k.vertical.thumbStart=s(()=>i.verticalOffset[0]+k.vertical.percentage.value*(O.verticalInner.value-k.vertical.thumbSize.value)),k.vertical.thumbSize=s(()=>Math.round(g(O.verticalInner.value*O.verticalInner.value/k.vertical.size.value,w(O.verticalInner.value),O.verticalInner.value))),k.vertical.style=s(()=>({...i.thumbStyle,...i.verticalThumbStyle,top:`${k.vertical.thumbStart.value}px`,height:`${k.vertical.thumbSize.value}px`,right:`${i.horizontalOffset[1]}px`})),k.vertical.thumbClass=s(()=>`q-scrollarea__thumb q-scrollarea__thumb--v absolute-right`+(k.vertical.thumbHidden.value===!0?` q-scrollarea__thumb--invisible`:``)),k.vertical.barClass=s(()=>`q-scrollarea__bar q-scrollarea__bar--v absolute-right`+(k.vertical.thumbHidden.value===!0?` q-scrollarea__bar--invisible`:``)),k.horizontal.percentage=s(()=>{let e=k.horizontal.size.value-O.horizontal.value;if(e<=0)return 0;let t=g(Math.abs(k.horizontal.position.value)/e,0,1);return Math.round(t*1e4)/1e4}),k.horizontal.thumbHidden=s(()=>(i.visible===null?D.value:i.visible)!==!0&&T.value===!1&&E.value===!1||k.horizontal.size.value<=O.horizontal.value+1),k.horizontal.thumbStart=s(()=>i.horizontalOffset[0]+k.horizontal.percentage.value*(O.horizontalInner.value-k.horizontal.thumbSize.value)),k.horizontal.thumbSize=s(()=>Math.round(g(O.horizontalInner.value*O.horizontalInner.value/k.horizontal.size.value,w(O.horizontalInner.value),O.horizontalInner.value))),k.horizontal.style=s(()=>({...i.thumbStyle,...i.horizontalThumbStyle,[A.$q.lang.rtl===!0?`right`:`left`]:`${k.horizontal.thumbStart.value}px`,width:`${k.horizontal.thumbSize.value}px`,bottom:`${i.verticalOffset[1]}px`})),k.horizontal.thumbClass=s(()=>`q-scrollarea__thumb q-scrollarea__thumb--h absolute-bottom`+(k.horizontal.thumbHidden.value===!0?` q-scrollarea__thumb--invisible`:``)),k.horizontal.barClass=s(()=>`q-scrollarea__bar q-scrollarea__bar--h absolute-bottom`+(k.horizontal.thumbHidden.value===!0?` q-scrollarea__bar--invisible`:``));let I=s(()=>k.vertical.thumbHidden.value===!0&&k.horizontal.thumbHidden.value===!0?i.contentStyle:i.contentActiveStyle);function L(){let e={};return x.forEach(t=>{let n=k[t];Object.assign(e,{[t+`Position`]:n.position.value,[t+`Percentage`]:n.percentage.value,[t+`Size`]:n.size.value,[t+`ContainerSize`]:O[t].value,[t+`ContainerInnerSize`]:O[t+`Inner`].value})}),e}let R=p(()=>{let e=L();e.ref=A,f(`scroll`,e)},0);function z(e,t,n){if(x.includes(e)===!1){console.error(`[QScrollArea]: wrong first param of setScrollPosition (vertical/horizontal)`);return}(e===`vertical`?h:m)(P.value,t,n)}function B({height:e,width:t}){let n=!1;O.vertical.value!==e&&(O.vertical.value=e,n=!0),O.horizontal.value!==t&&(O.horizontal.value=t,n=!0),n===!0&&G()}function V({position:e}){let t=!1;k.vertical.position.value!==e.top&&(k.vertical.position.value=e.top,t=!0),k.horizontal.position.value!==e.left&&(k.horizontal.position.value=e.left,t=!0),t===!0&&G()}function H({height:e,width:t}){k.horizontal.size.value!==t&&(k.horizontal.size.value=t,G()),k.vertical.size.value!==e&&(k.vertical.size.value=e,G())}function U(e,t){let n=k[t];if(e.isFirst===!0){if(n.thumbHidden.value===!0)return;N=n.position.value,E.value=!0}else if(E.value!==!0)return;e.isFinal===!0&&(E.value=!1);let r=S[t],i=(n.size.value-O[t].value)/(O[t+`Inner`].value-n.thumbSize.value),a=e.distance[r.dist];K(N+(e.direction===r.dir?1:-1)*a*i,t)}function W(e,t){let n=k[t];if(n.thumbHidden.value!==!0){let r=t===`vertical`?i.verticalOffset[0]:i.horizontalOffset[0],a=e[S[t].offset]-r,o=n.thumbStart.value-r;(a<o||a>o+n.thumbSize.value)&&K(g((a-n.thumbSize.value/2)/(O[t+`Inner`].value-n.thumbSize.value),0,1)*Math.max(0,n.size.value-O[t].value),t),n.ref.value!==null&&n.ref.value.dispatchEvent(new MouseEvent(e.type,e))}}function G(){T.value=!0,M!==null&&clearTimeout(M),M=setTimeout(()=>{M=null,T.value=!1},i.delay),i.onScroll!==void 0&&R()}function K(e,t){P.value[S[t].scroll]=e}let q=null;function J(){q!==null&&clearTimeout(q),q=setTimeout(()=>{q=null,D.value=!0},A.$q.platform.is.ios?50:0)}function Y(){q!==null&&(clearTimeout(q),q=null),D.value=!1}let X=null;t(()=>A.$q.lang.rtl,e=>{P.value!==null&&m(P.value,Math.abs(k.horizontal.position.value)*(e===!0?-1:1))}),a(()=>{X={top:k.vertical.position.value,left:k.horizontal.position.value}}),e(()=>{if(X===null)return;let e=P.value;e!==null&&(m(e,X.left),h(e,X.top))}),o(R.cancel),Object.assign(A,{getScrollTarget:()=>P.value,getScroll:L,getScrollPosition:()=>({top:k.vertical.position.value,left:k.horizontal.position.value}),getScrollPercentage:()=>({top:k.vertical.percentage.value,left:k.horizontal.percentage.value}),setScrollPosition:z,setScrollPercentage(e,t,n){z(e,t*(k[e].size.value-O[e].value)*(e===`horizontal`&&A.$q.lang.rtl===!0?-1:1),n)}});let Z={scroll:k,thumbVertDir:[[y,e=>{U(e,`vertical`)},void 0,{vertical:!0,...C}]],thumbHorizDir:[[y,e=>{U(e,`horizontal`)},void 0,{horizontal:!0,...C}]],onVerticalMousedown(e){W(e,`vertical`)},onHorizontalMousedown(e){W(e,`horizontal`)}};return()=>r(`div`,{class:F.value,onMouseenter:J,onMouseleave:Y},[r(`div`,{ref:P,class:`q-scrollarea__container scroll relative-position fit hide-scrollbar`,tabindex:i.tabindex===void 0?void 0:i.tabindex},[r(`div`,{class:`q-scrollarea__content absolute`,style:I.value},u(l.default,[r(_,{debounce:0,onResize:H})])),r(v,{axis:`both`,onScroll:V})]),r(_,{debounce:0,onResize:B}),r(b,{store:Z,barStyle:i.barStyle,verticalBarStyle:i.verticalBarStyle,horizontalBarStyle:i.horizontalBarStyle})])}});export{T as t};
@@ -1 +0,0 @@
1
- import{E as e,H as t,M as n,Q as r,S as i,k as a,l as o,y as s}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{D as c,M as l,O as u,_ as d,m as f,s as p,v as m,w as h,x as g}from"./QIcon-B0-pH3Qs.js";import{d as _,f as v}from"./use-id-CDuXkR0Z.js";import{C as y,D as b,E as x,S,T as C,c as w,d as T,m as ee,s as te,v as E,w as D,x as ne}from"./settings-Dbx1_ksA.js";var O=u({name:`QSlideTransition`,props:{appear:Boolean,duration:{type:Number,default:300}},emits:[`show`,`hide`],setup(e,{slots:t,emit:n}){let r=!1,o,s,c=null,u=null,d,f;function p(){o?.(),o=null,r=!1,c!==null&&(clearTimeout(c),c=null),u!==null&&(clearTimeout(u),u=null),s?.removeEventListener(`transitionend`,d),d=null}function m(t,n,i){n!==void 0&&(t.style.height=`${n}px`),t.style.transition=`height ${e.duration}ms cubic-bezier(.25, .8, .50, 1)`,r=!0,o=i}function h(e,t){e.style.overflowY=null,e.style.height=null,e.style.transition=null,p(),t!==f&&n(t)}function g(t,n){let i=0;s=t,r===!0?(p(),i=t.offsetHeight===t.scrollHeight?0:void 0):(f=`hide`,t.style.overflowY=`hidden`),m(t,i,n),c=setTimeout(()=>{c=null,t.style.height=`${t.scrollHeight}px`,d=e=>{u=null,(Object(e)!==e||e.target===t)&&h(t,`show`)},t.addEventListener(`transitionend`,d),u=setTimeout(d,e.duration*1.1)},100)}function _(t,n){let i;s=t,r===!0?p():(f=`show`,t.style.overflowY=`hidden`,i=t.scrollHeight),m(t,i,n),c=setTimeout(()=>{c=null,t.style.height=0,d=e=>{u=null,(Object(e)!==e||e.target===t)&&h(t,`hide`)},t.addEventListener(`transitionend`,d),u=setTimeout(d,e.duration*1.1)},100)}return a(()=>{r===!0&&p()}),()=>i(l,{css:!1,appear:e.appear,onEnter:g,onLeave:_},t.default)}});function k(){if(window.getSelection!==void 0){let e=window.getSelection();e.empty===void 0?e.removeAllRanges!==void 0&&(e.removeAllRanges(),_.is.mobile!==!0&&e.addRange(document.createRange())):e.empty()}else document.selection!==void 0&&document.selection.empty()}function A(e,t,n){return n<=t?t:Math.min(n,Math.max(t,e))}function j(e,t,n){if(n<=t)return t;let r=n-t+1,i=t+(e-t)%r;return i<t&&(i=r+i),i===0?0:i}var M={target:{type:[Boolean,String,Element],default:!0},noParentEvent:Boolean},N={...M,contextMenu:Boolean};function P({showing:i,avoidEmit:o,configureAnchorEl:c}){let{props:l,proxy:u,emit:p}=s(),g=r(null),_=null;function v(e){return g.value===null?!1:e===void 0||e.touches===void 0||e.touches.length<=1}let y={};c===void 0&&(Object.assign(y,{hide(e){u.hide(e)},toggle(e){u.toggle(e),e.qAnchorHandled=!0},toggleKey(e){f(e,13)===!0&&y.toggle(e)},contextClick(t){u.hide(t),h(t),e(()=>{u.show(t),t.qAnchorHandled=!0})},prevent:h,mobileTouch(e){if(y.mobileCleanup(e),v(e)!==!0)return;u.hide(e),g.value.classList.add(`non-selectable`);let t=e.target;d(y,`anchor`,[[t,`touchmove`,`mobileCleanup`,`passive`],[t,`touchend`,`mobileCleanup`,`passive`],[t,`touchcancel`,`mobileCleanup`,`passive`],[g.value,`contextmenu`,`prevent`,`notPassive`]]),_=setTimeout(()=>{_=null,u.show(e),e.qAnchorHandled=!0},300)},mobileCleanup(e){g.value.classList.remove(`non-selectable`),_!==null&&(clearTimeout(_),_=null),i.value===!0&&e!==void 0&&k()}}),c=function(e=l.contextMenu){if(l.noParentEvent===!0||g.value===null)return;let t;t=e===!0?u.$q.platform.is.mobile===!0?[[g.value,`touchstart`,`mobileTouch`,`passive`]]:[[g.value,`mousedown`,`hide`,`passive`],[g.value,`contextmenu`,`contextClick`,`notPassive`]]:[[g.value,`click`,`toggle`,`passive`],[g.value,`keyup`,`toggleKey`,`passive`]],d(y,`anchor`,t)});function b(){m(y,`anchor`)}function x(e){for(g.value=e;g.value.classList.contains(`q-anchor--skip`);)g.value=g.value.parentNode;c()}function S(){if(l.target===!1||l.target===``||u.$el.parentNode===null)g.value=null;else if(l.target===!0)x(u.$el.parentNode);else{let e=l.target;if(typeof l.target==`string`)try{e=document.querySelector(l.target)}catch{e=void 0}e==null?(g.value=null,console.error(`Anchor: target "${l.target}" not found`)):(g.value=e.$el||e,c())}}return t(()=>l.contextMenu,e=>{g.value!==null&&(b(),c(e))}),t(()=>l.target,()=>{g.value!==null&&b(),S()}),t(()=>l.noParentEvent,e=>{g.value!==null&&(e===!0?b():c())}),n(()=>{S(),o!==!0&&l.modelValue===!0&&g.value===null&&p(`update:modelValue`,!1)}),a(()=>{_!==null&&clearTimeout(_),b()}),{anchorEl:g,canShow:v,anchorEvents:y}}function F(e,n){let i=r(null),o;function s(e,t){let n=`${t===void 0?`remove`:`add`}EventListener`,r=t===void 0?o:t;e!==window&&e[n](`scroll`,r,g.passive),window[n](`scroll`,r,g.passive),o=t}function c(){i.value!==null&&(s(i.value),i.value=null)}return a(t(()=>e.noParentEvent,()=>{i.value!==null&&(c(),n())})),{localScrollTarget:i,unconfigureScrollTarget:c,changeScrollEvent:s}}var I=null,{notPassiveCapture:L}=g,R=[];function z(e){I!==null&&(clearTimeout(I),I=null);let t=e.target;if(t===void 0||t.nodeType===8||t.classList.contains(`no-pointer-events`)===!0)return;let n=E.length-1;for(;n>=0;){let e=E[n].$;if(e.type.name===`QTooltip`){n--;continue}if(e.type.name!==`QDialog`)break;if(e.props.seamless!==!0)return;n--}for(let n=R.length-1;n>=0;n--){let r=R[n];if((r.anchorEl.value===null||r.anchorEl.value.contains(t)===!1)&&(t===document.body||r.innerRef.value!==null&&r.innerRef.value.contains(t)===!1))e.qClickOutside=!0,r.onClickOutside(e);else return}}function B(e){R.push(e),R.length===1&&(document.addEventListener(`mousedown`,z,L),document.addEventListener(`touchstart`,z,L))}function V(e){let t=R.findIndex(t=>t===e);t!==-1&&(R.splice(t,1),R.length===0&&(I!==null&&(clearTimeout(I),I=null),document.removeEventListener(`mousedown`,z,L),document.removeEventListener(`touchstart`,z,L)))}var H,U;function W(e){let t=e.split(` `);return t.length===2?[`top`,`center`,`bottom`].includes(t[0])===!0?[`left`,`middle`,`right`,`start`,`end`].includes(t[1])===!0?!0:(console.error(`Anchor/Self position must end with one of left/middle/right/start/end`),!1):(console.error(`Anchor/Self position must start with one of top/center/bottom`),!1):!1}function G(e){return e?!(e.length!==2||typeof e[0]!=`number`||typeof e[1]!=`number`):!0}var K={"start#ltr":`left`,"start#rtl":`right`,"end#ltr":`right`,"end#rtl":`left`};[`left`,`middle`,`right`].forEach(e=>{K[`${e}#ltr`]=e,K[`${e}#rtl`]=e});function q(e,t){let n=e.split(` `);return{vertical:n[0],horizontal:K[`${n[1]}#${t===!0?`rtl`:`ltr`}`]}}function J(e,t){let{top:n,left:r,right:i,bottom:a,width:o,height:s}=e.getBoundingClientRect();return t!==void 0&&(n-=t[1],r-=t[0],a+=t[1],i+=t[0],o+=t[0],s+=t[1]),{top:n,bottom:a,height:s,left:r,right:i,width:o,middle:r+(i-r)/2,center:n+(a-n)/2}}function Y(e,t,n){let{top:r,left:i}=e.getBoundingClientRect();return r+=t.top,i+=t.left,n!==void 0&&(r+=n[1],i+=n[0]),{top:r,bottom:r+1,height:1,left:i,right:i+1,width:1,middle:i,center:r}}function X(e,t){return{top:0,center:t/2,bottom:t,left:0,middle:e/2,right:e}}function Z(e,t,n,r){return{top:e[n.vertical]-t[r.vertical],left:e[n.horizontal]-t[r.horizontal]}}function Q(e,t=0){if(e.targetEl===null||e.anchorEl===null||t>5)return;if(e.targetEl.offsetHeight===0||e.targetEl.offsetWidth===0){setTimeout(()=>{Q(e,t+1)},10);return}let{targetEl:n,offset:r,anchorEl:i,anchorOrigin:a,selfOrigin:o,absoluteOffset:s,fit:c,cover:l,maxHeight:u,maxWidth:d}=e;if(v.is.ios===!0&&window.visualViewport!==void 0){let e=document.body.style,{offsetLeft:t,offsetTop:n}=window.visualViewport;t!==H&&(e.setProperty(`--q-pe-left`,t+`px`),H=t),n!==U&&(e.setProperty(`--q-pe-top`,n+`px`),U=n)}let{scrollLeft:f,scrollTop:p}=n,m=s===void 0?J(i,l===!0?[0,0]:r):Y(i,s,r);Object.assign(n.style,{top:0,left:0,minWidth:null,minHeight:null,maxWidth:d,maxHeight:u,visibility:`visible`});let{offsetWidth:h,offsetHeight:g}=n,{elWidth:_,elHeight:y}=c===!0||l===!0?{elWidth:Math.max(m.width,h),elHeight:l===!0?Math.max(m.height,g):g}:{elWidth:h,elHeight:g},b={maxWidth:d,maxHeight:u};(c===!0||l===!0)&&(b.minWidth=m.width+`px`,l===!0&&(b.minHeight=m.height+`px`)),Object.assign(n.style,b);let x=X(_,y),S=Z(m,x,a,o);if(s===void 0||r===void 0)$(S,m,x,a,o);else{let{top:e,left:t}=S;$(S,m,x,a,o);let n=!1;if(S.top!==e){n=!0;let e=2*r[1];m.center=m.top-=e,m.bottom-=e+2}if(S.left!==t){n=!0;let e=2*r[0];m.middle=m.left-=e,m.right-=e+2}n===!0&&(S=Z(m,x,a,o),$(S,m,x,a,o))}b={top:S.top+`px`,left:S.left+`px`},S.maxHeight!==void 0&&(b.maxHeight=S.maxHeight+`px`,m.height>S.maxHeight&&(b.minHeight=b.maxHeight)),S.maxWidth!==void 0&&(b.maxWidth=S.maxWidth+`px`,m.width>S.maxWidth&&(b.minWidth=b.maxWidth)),Object.assign(n.style,b),n.scrollTop!==p&&(n.scrollTop=p),n.scrollLeft!==f&&(n.scrollLeft=f)}function $(e,t,n,r,i){let a=n.bottom,o=n.right,s=w(),c=window.innerHeight-s,l=document.body.clientWidth;if(e.top<0||e.top+a>c)if(i.vertical===`center`)e.top=t[r.vertical]>c/2?Math.max(0,c-a):0,e.maxHeight=Math.min(a,c);else if(t[r.vertical]>c/2){let n=Math.min(c,r.vertical===`center`?t.center:r.vertical===i.vertical?t.bottom:t.top);e.maxHeight=Math.min(a,n),e.top=Math.max(0,n-a)}else e.top=Math.max(0,r.vertical===`center`?t.center:r.vertical===i.vertical?t.top:t.bottom),e.maxHeight=Math.min(a,c-e.top);if(e.left<0||e.left+o>l)if(e.maxWidth=Math.min(o,l),i.horizontal===`middle`)e.left=t[r.horizontal]>l/2?Math.max(0,l-o):0;else if(t[r.horizontal]>l/2){let n=Math.min(l,r.horizontal===`middle`?t.middle:r.horizontal===i.horizontal?t.right:t.left);e.maxWidth=Math.min(o,n),e.left=Math.max(0,n-e.maxWidth)}else e.left=Math.max(0,r.horizontal===`middle`?t.middle:r.horizontal===i.horizontal?t.left:t.right),e.maxWidth=Math.min(o,l-e.left)}var re=u({name:`QTooltip`,inheritAttrs:!1,props:{...M,...C,...S,maxHeight:{type:String,default:null},maxWidth:{type:String,default:null},transitionShow:{...S.transitionShow,default:`jump-down`},transitionHide:{...S.transitionHide,default:`jump-up`},anchor:{type:String,default:`bottom middle`,validator:W},self:{type:String,default:`top middle`,validator:W},offset:{type:Array,default:()=>[14,14],validator:G},scrollTarget:T,delay:{type:Number,default:0},hideDelay:{type:Number,default:0},persistent:Boolean},emits:[...D],setup(e,{slots:n,emit:u,attrs:f}){let h,g,_=s(),{proxy:{$q:v}}=_,S=r(null),C=r(!1),w=o(()=>q(e.anchor,v.lang.rtl)),T=o(()=>q(e.self,v.lang.rtl)),E=o(()=>e.persistent!==!0),{registerTick:D,removeTick:O}=x(),{registerTimeout:A}=b(),{transitionProps:j,transitionStyle:M}=ne(e),{localScrollTarget:N,changeScrollEvent:I,unconfigureScrollTarget:L}=F(e,oe),{anchorEl:R,canShow:z,anchorEvents:H}=P({showing:C,configureAnchorEl:ae}),{show:U,hide:W}=y({showing:C,canShow:z,handleShow:Y,handleHide:X,hideOnRouteChange:E,processOnMount:!0});Object.assign(H,{delayShow:re,delayHide:ie});let{showPortal:G,hidePortal:K,renderPortal:J}=ee(_,S,ce,`tooltip`);if(v.platform.is.mobile===!0){let n={anchorEl:R,innerRef:S,onClickOutside(e){return W(e),e.target.classList.contains(`q-dialog__backdrop`)&&c(e),!0}};t(o(()=>e.modelValue===null&&e.persistent!==!0&&C.value===!0),e=>{(e===!0?B:V)(n)}),a(()=>{V(n)})}function Y(n){G(),D(()=>{g=new MutationObserver(()=>$()),g.observe(S.value,{attributes:!1,childList:!0,characterData:!0,subtree:!0}),$(),oe()}),h===void 0&&(h=t(()=>v.screen.width+`|`+v.screen.height+`|`+e.self+`|`+e.anchor+`|`+v.lang.rtl,$)),A(()=>{G(!0),u(`show`,n)},e.transitionDuration)}function X(t){O(),K(),Z(),A(()=>{K(!0),u(`hide`,t)},e.transitionDuration)}function Z(){g!==void 0&&(g.disconnect(),g=void 0),h!==void 0&&(h(),h=void 0),L(),m(H,`tooltipTemp`)}function $(){Q({targetEl:S.value,offset:e.offset,anchorEl:R.value,anchorOrigin:w.value,selfOrigin:T.value,maxHeight:e.maxHeight,maxWidth:e.maxWidth})}function re(t){if(v.platform.is.mobile===!0){k(),document.body.classList.add(`non-selectable`);let e=R.value;d(H,`tooltipTemp`,[`touchmove`,`touchcancel`,`touchend`,`click`].map(t=>[e,t,`delayHide`,`passiveCapture`]))}A(()=>{U(t)},e.delay)}function ie(t){v.platform.is.mobile===!0&&(m(H,`tooltipTemp`),k(),setTimeout(()=>{document.body.classList.remove(`non-selectable`)},10)),A(()=>{W(t)},e.hideDelay)}function ae(){e.noParentEvent===!0||R.value===null||d(H,`anchor`,v.platform.is.mobile===!0?[[R.value,`touchstart`,`delayShow`,`passive`]]:[[R.value,`mouseenter`,`delayShow`,`passive`],[R.value,`mouseleave`,`delayHide`,`passive`]])}function oe(){if(R.value!==null||e.scrollTarget!==void 0){N.value=te(R.value,e.scrollTarget);let t=e.noParentEvent===!0?$:W;I(N.value,t)}}function se(){return C.value===!0?i(`div`,{...f,ref:S,class:[`q-tooltip q-tooltip--style q-position-engine no-pointer-events`,f.class],style:[f.style,M.value],role:`tooltip`},p(n.default)):null}function ce(){return i(l,j.value,se)}return a(Z),Object.assign(_.proxy,{updatePosition:$}),J}});export{W as a,F as c,A as d,j as f,G as i,P as l,O as m,q as n,B as o,k as p,Q as r,V as s,re as t,N as u};
@@ -1 +0,0 @@
1
- import{F as e,H as t,L as n,M as r,N as i,Q as a,U as o,W as ee,_t as te,bt as s,d as c,f as l,g as u,h as d,l as f,p,r as m,rt as h,u as g,v as ne}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{t as re}from"./QIcon-B0-pH3Qs.js";import{r as _}from"./use-id-CDuXkR0Z.js";import{t as ie}from"./settings-Dbx1_ksA.js";import{t as v}from"./QBtn-DHwAb18J.js";import{n as ae}from"./vue-i18n-eUDnMrPl.js";import{t as y}from"./QInput-D4WJro4e.js";import{t as b}from"./QToggle-CGpiJLDJ.js";import{b as oe,g as se,h as ce,n as le,y as ue}from"./index-C_e7KOYh.js";import{n as x,t as de}from"./QItemSection-KFAnxzMK.js";import{t as S}from"./QItemLabel-DWwenW2S.js";import{t as fe}from"./QTooltip-DjJYMTkN.js";import{t as pe}from"./QExpansionItem-VS4b4eY6.js";import{t as C}from"./_plugin-vue_export-helper-B8bB5DBd.js";import{t as me}from"./QSpace-COlmM_4F.js";import{t as he}from"./QList-NmIE6Rd9.js";import{t as ge}from"./ClosePopup-DzB3mDtj.js";import{t as _e}from"./use-quasar-Cc4smfg5.js";import{i as ve,n as ye,r as be,t as xe}from"./QTabPanels-HXz-evuj.js";import{n as w,t as Se}from"./models-DNYEhFF7.js";import{t as Ce}from"./QPage-Cu7zkfc6.js";var we={class:`settings-inner`},Te={class:`settings-header row items-center q-mb-lg`},Ee={class:`text-h5 text-weight-medium text-grey-3`},De={class:`settings-card rounded-borders q-pa-lg`},Oe={class:`text-subtitle1 text-weight-medium q-mb-md text-grey-3`},ke={class:`settings-card q-pa-md rounded-borders q-pb-sm q-mb-sm`},Ae={class:`text-subtitle2 q-mb-sm`},je={class:`settings-card q-pa-md rounded-borders q-pb-sm q-mb-sm`},Me={class:`text-subtitle2 q-mb-sm`},Ne={class:`text-subtitle2 q-mb-sm q-mt-md`},Pe={class:`text-caption text-grey-7 q-mb-sm`},Fe={class:`settings-card q-pa-md rounded-borders q-pb-sm q-mb-sm`},Ie={class:`text-subtitle2 q-mb-sm`},Le={class:`settings-card q-pa-md rounded-borders q-pb-sm q-mb-sm`},Re={class:`text-subtitle2 q-mb-sm`},ze={class:`settings-card q-pa-md rounded-borders q-pb-sm q-mb-sm`},Be={class:`text-subtitle2 q-mb-sm`},Ve={class:`text-caption text-grey-7 q-mb-sm`},He={class:`q-mb-sm`},Ue={class:`text-subtitle2 q-mb-sm q-mt-md`},We={class:`text-caption text-grey-7 q-mb-sm`},Ge={class:`settings-card q-pa-md rounded-borders q-pb-sm q-mb-sm`},Ke={class:`text-subtitle2 q-mb-sm`},qe={class:`text-caption text-grey-7 q-mb-sm`},Je={class:`settings-card q-pa-md rounded-borders q-pb-sm q-mb-sm`},Ye={class:`text-subtitle2 q-mb-sm`},Xe={class:`text-caption text-grey-7 q-mb-sm`},Ze={class:`q-mb-sm`},Qe={class:`field-label-sub text-caption q-mb-xs text-grey-7`},$e={class:`q-mb-sm`},et={class:`field-label-sub text-caption q-mb-xs text-grey-7`},tt={class:`settings-card q-pa-md rounded-borders q-pb-sm q-mb-sm`},nt={class:`text-subtitle2 q-mb-sm`},rt={class:`text-caption text-grey-7 q-mb-sm`},it={class:`q-mb-sm`},at={class:`field-label-sub text-caption q-mb-xs text-grey-7`},ot={class:`q-mb-sm`},st={class:`field-label-sub text-caption q-mb-xs text-grey-7`},ct={class:`settings-card q-pa-md rounded-borders q-pb-sm q-mb-sm`},lt={class:`text-subtitle2 q-mb-sm`},ut={class:`text-caption text-grey-7 q-mb-sm`},dt={class:`settings-card q-pa-md rounded-borders q-pb-sm q-mb-sm`},ft={class:`text-subtitle2 q-mb-sm`},pt={class:`text-caption text-grey-7 q-mb-sm`},mt={class:`row q-gutter-sm`},ht={class:`row justify-end`},gt={class:`row q-gutter-md`,style:{"min-height":`500px`}},_t={class:`project-list-col`},vt={class:`settings-card rounded-borders`,style:{height:`100%`}},yt={class:`q-pa-sm`},bt={class:`text-caption text-uppercase text-weight-bold q-px-sm q-py-xs text-grey-6`,style:{"letter-spacing":`0.05em`}},xt={key:0,class:`q-pa-md text-center text-caption text-grey-8`},St={class:`q-pa-sm`},Ct={class:`project-form-col`},wt={class:`settings-card rounded-borders q-pa-lg`,style:{height:`100%`}},Tt={class:`text-subtitle1 text-weight-medium q-mb-md text-grey-3`},Et={class:`q-mb-md`},Dt={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Ot={class:`q-mb-md`},kt={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},At={class:`q-mb-md`},jt={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Mt={class:`q-mb-md`},Nt={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Pt={class:`q-mb-md`},Ft={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},It={class:`q-mb-md`},Lt={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Rt={class:`text-caption text-grey-7 q-mt-xs`},zt={class:`q-mb-lg`},Bt={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Vt={class:`text-caption text-grey-7 q-mt-xs`},Ht={class:`q-mb-lg`},Ut={class:`field-label text-body2 text-weight-medium q-mb-sm text-grey-6`},Wt={class:`q-mb-md`},Gt={class:`field-label-sub text-caption q-mb-xs text-grey-7`},Kt={class:`field-label-sub text-caption q-mb-xs text-grey-7`},qt={class:`q-mb-lg`},Jt={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Yt={class:`text-caption text-grey-7 q-mb-sm`},Xt={class:`q-mb-lg`},Zt={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Qt={class:`text-caption text-grey-7 q-mb-sm`},$t={class:`row items-center q-gutter-sm`},en={key:1,class:`column items-center justify-center`,style:{height:`100%`,"min-height":`300px`}},tn={class:`text-body2 text-grey-8`},nn={class:`settings-card rounded-borders q-pa-lg`},rn={class:`row items-center justify-between q-mb-md`},an={class:`text-subtitle1 text-weight-medium text-grey-3`},on={key:0,class:`text-grey-6 q-py-lg text-center`},sn={key:1,class:`column q-gutter-sm`},cn={class:`row items-start justify-between no-wrap`},ln={class:`col`},un={class:`text-body1 text-weight-medium`,style:{"font-family":`'Roboto Mono', monospace`}},dn={class:`text-caption text-grey-5 q-mt-xs`},fn={class:`row no-wrap q-gutter-xs`},pn={class:`text-caption text-grey-7 q-mt-lg`,style:{"font-family":`'Roboto Mono', monospace`}},mn={class:`text-subtitle1`},hn={class:`q-pl-md q-pt-xs`,style:{"font-size":`11px`,"font-family":`'Roboto Mono', monospace`,columns:`2`,"column-gap":`24px`}},gn={key:0,class:`text-negative text-caption`},T=C(ne({__name:`SettingsPage`,setup(ne){let C=_e(),T=ie(),E=ce(),{t:D,locale:_n}=ae(),O=a(`global`),k=a(`auto`),A=a(``),j=a(``),M=a(``),N=a(!0),P=a(!0),F=a(``),I=a(``),L=a(`bypass`),R=a(``),z=a(``),B=a([]),vn=a(!1),V=a(-1),H=a(!1),U=a({path:``,displayName:``,defaultSourceBranch:``,defaultModel:``,prPromptTemplate:``,gitConventions:``,setupScript:``,devServer:{startCommand:``,stopCommand:``},e2e:{framework:``,skill:``,prompt:``},finalization:{prompt:``}}),W=a([]),yn=a([]);async function bn(){try{let e=await fetch(`/api/skills`);e.ok&&(W.value=await e.json())}catch{}}function xn(e,t){t(()=>{let t=e.trim().toLowerCase();yn.value=t?W.value.filter(e=>e.toLowerCase().includes(t)):W.value.slice()})}let G=a([]),Sn=a(!1),Cn=a(!1),wn=a(!1),K=a(!1),q=a(null),J=a(``),Y=a(``),X=a(``),Z=a(``),Tn=a(!1),En=f(()=>[...E.templates].sort((e,t)=>e.slug.localeCompare(t.slug))),Dn=[`{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 On(){q.value=null,J.value=``,Y.value=``,X.value=``,Z.value=``,K.value=!0}function kn(e){q.value=e.slug,J.value=e.slug,Y.value=e.description,X.value=e.content,Z.value=``,K.value=!0}async function An(){Z.value=``;let e=J.value.trim(),t=Y.value.trim();if(q.value===null&&!/^[a-z0-9][a-z0-9-]{0,63}$/.test(e)){Z.value=D(`templates.slugInvalid`);return}if(!t){Z.value=D(`templates.descriptionRequired`);return}if(!X.value.trim()){Z.value=D(`templates.contentRequired`);return}Tn.value=!0;try{q.value===null?await E.createTemplate({slug:e,description:t,content:X.value}):await E.updateTemplate(q.value,{description:t,content:X.value}),K.value=!1}catch(e){Z.value=e instanceof Error?e.message:D(`templates.createFailed`)}finally{Tn.value=!1}}async function jn(e){C.dialog({title:D(`templates.deleteTemplate`),message:`${D(`templates.deleteConfirm`,{slug:e.slug})}\n\n${D(`templates.deleteConfirmMessage`)}`,dark:!0,cancel:{flat:!0,label:D(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:D(`templates.deleteTemplate`),color:`red-5`}}).onOk(async()=>{try{await E.deleteTemplate(e.slug)}catch(e){C.notify({type:`negative`,message:e instanceof Error?e.message:D(`templates.deleteFailed`),position:`top`})}})}let Mn=[{label:`English`,value:`en`},{label:`Français`,value:`fr`},{label:`Deutsch`,value:`de`},{label:`Español`,value:`es`},{label:`Italiano`,value:`it`}];function Nn(e){_n.value=e,localStorage.setItem(`kobo:locale`,e)}let Pn=f(()=>[...Se.map(e=>({label:D(e.i18nLabelKey),value:e.value}))]),Fn=f(()=>[{label:D(`settings.useGlobal`),value:``},...Pn.value]),In=f(()=>[{name:`{{pr_number}}`,description:D(`settings.var.prNumber`)},{name:`{{pr_url}}`,description:D(`settings.var.prUrl`)},{name:`{{branch_name}}`,description:D(`settings.var.branchName`)},{name:`{{source_branch}}`,description:D(`settings.var.sourceBranch`)},{name:`{{workspace_name}}`,description:D(`settings.var.workspaceName`)},{name:`{{project_name}}`,description:D(`settings.var.projectName`)},{name:`{{notion_url}}`,description:D(`settings.var.notionUrl`)},{name:`{{commits}}`,description:D(`settings.var.commits`)},{name:`{{diff_stats}}`,description:D(`settings.var.diffStats`)},{name:`{{tasks}}`,description:D(`settings.var.tasks`)},{name:`{{acceptance_criteria}}`,description:D(`settings.var.acceptanceCriteria`)}]),Ln=f(()=>[{label:D(`settings.mcpAutoSelect`),value:``},...T.activeMcpServers.map(e=>({label:e.key,value:e.key}))]),Q=f(()=>V.value<0||V.value>=T.projects.length?null:T.projects[V.value]??null);function Rn(){k.value=T.global.defaultModel,A.value=T.global.prPromptTemplate,j.value=T.global.gitConventions,M.value=T.global.editorCommand??``,N.value=T.global.browserNotifications??!0,P.value=T.global.audioNotifications??!0,F.value=T.global.notionStatusProperty??``,I.value=T.global.notionInProgressStatus??``;{let e=T.global.defaultPermissionMode;L.value=e===`plan`||e===`bypass`||e===`strict`||e===`interactive`?e:`bypass`}R.value=T.global.notionMcpKey??``,z.value=T.global.sentryMcpKey??``,B.value=Array.isArray(T.global.tags)?[...T.global.tags]:[]}function zn(e){if(!e){U.value={path:``,displayName:``,defaultSourceBranch:``,defaultModel:``,prPromptTemplate:``,gitConventions:``,setupScript:``,devServer:{startCommand:``,stopCommand:``},e2e:{framework:``,skill:``,prompt:``},finalization:{prompt:``}},G.value=[];return}U.value={path:e.path,displayName:e.displayName,defaultSourceBranch:e.defaultSourceBranch,defaultModel:e.defaultModel,prPromptTemplate:e.prPromptTemplate,gitConventions:e.gitConventions??``,setupScript:e.setupScript??``,devServer:{startCommand:e.devServer?.startCommand??``,stopCommand:e.devServer?.stopCommand??``},e2e:{framework:e.e2e?.framework??``,skill:e.e2e?.skill??``,prompt:e.e2e?.prompt??``},finalization:{prompt:e.finalization?.prompt??``}},e.path&&Bn(e.path)}async function Bn(e){if(!e.trim()){G.value=[];return}Sn.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();G.value=n.local??n.branches??[]}catch{G.value=[]}finally{Sn.value=!1}}let $=null;t(()=>U.value.path,e=>{$&&clearTimeout($),$=setTimeout(()=>{Bn(e)},500)}),t(V,()=>{H.value=!1,zn(Q.value)});let Vn=a(null);async function Hn(){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),C.notify({type:`positive`,message:D(`settings.exportSuccess`),position:`top`,timeout:3e3})}catch(e){C.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}}function Un(){Vn.value?.click()}async function Wn(e){let t=e.target,n=t.files?.[0];if(n)try{C.dialog({title:D(`settings.importConfirmTitle`),message:D(`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 T.fetchSettings(),Rn(),C.notify({type:`positive`,message:D(`settings.importSuccess`),position:`top`,timeout:3e3})}catch(e){C.notify({type:`negative`,message:String(e),position:`top`,timeout:5e3})}})}finally{t.value=``}}async function Gn(){vn.value=!0;try{await T.updateGlobal({defaultModel:k.value,prPromptTemplate:A.value,gitConventions:j.value,editorCommand:M.value,browserNotifications:N.value,audioNotifications:P.value,notionStatusProperty:F.value,notionInProgressStatus:I.value,defaultPermissionMode:L.value,notionMcpKey:R.value,sentryMcpKey:z.value,tags:B.value}),C.notify({type:`positive`,message:D(`settings.saved`),position:`top`})}catch{C.notify({type:`negative`,message:D(`settings.saveError`),position:`top`})}finally{vn.value=!1}}async function Kn(){if(!U.value.path.trim()){C.notify({type:`negative`,message:D(`settings.projectPathRequired`),position:`top`});return}Cn.value=!0;try{await T.upsertProject(U.value.path.trim(),{displayName:U.value.displayName,defaultSourceBranch:U.value.defaultSourceBranch,defaultModel:U.value.defaultModel,prPromptTemplate:U.value.prPromptTemplate,gitConventions:U.value.gitConventions,setupScript:U.value.setupScript,devServer:U.value.devServer,e2e:U.value.e2e,finalization:U.value.finalization}),H.value=!1;let e=T.projects.findIndex(e=>e.path===U.value.path.trim());e>=0&&(V.value=e),C.notify({type:`positive`,message:D(`settings.projectSaved`),position:`top`})}catch{C.notify({type:`negative`,message:D(`settings.projectSaveError`),position:`top`})}finally{Cn.value=!1}}async function qn(){if(Q.value){wn.value=!0;try{await T.deleteProject(Q.value.path),V.value=-1,H.value=!1,zn(null),C.notify({type:`positive`,message:D(`settings.projectDeleted`),position:`top`})}catch{C.notify({type:`negative`,message:D(`settings.projectDeleteError`),position:`top`})}finally{wn.value=!1}}}function Jn(){V.value=-1,H.value=!0,zn(null)}function Yn(e){H.value=!1,V.value=e}function Xn(e){if(e.displayName)return e.displayName;let t=e.path.split(`/`);return t[t.length-1]??e.path}let Zn=a([]);function Qn(e,t){t(()=>{Zn.value=e?G.value.filter(t=>t.toLowerCase().includes(e.toLowerCase())):G.value})}return r(async()=>{await Promise.all([T.fetchSettings(),T.fetchActiveMcpServers(),bn()]),Rn()}),i(()=>{$&&clearTimeout($)}),(t,r)=>(e(),c(Ce,{class:`settings-page`},{default:o(()=>[g(`div`,we,[g(`div`,Te,[u(re,{name:`settings`,size:`24px`,color:`indigo-4`,class:`q-mr-sm`}),g(`span`,Ee,s(t.$t(`settings.title`)),1)]),u(be,{modelValue:O.value,"onUpdate:modelValue":r[0]||=e=>O.value=e,dense:``,"active-color":`indigo-4`,"indicator-color":`indigo-4`,class:`settings-tabs q-mb-lg`,align:`left`,"narrow-indicator":``},{default:o(()=>[u(ve,{name:`global`,label:t.$t(`settings.global`)},null,8,[`label`]),u(ve,{name:`projects`,label:t.$t(`settings.projects`)},null,8,[`label`]),u(ve,{name:`templates`,label:t.$t(`templates.title`)},null,8,[`label`])]),_:1},8,[`modelValue`]),u(xe,{modelValue:O.value,"onUpdate:modelValue":r[27]||=e=>O.value=e,animated:``,class:`settings-panels`},{default:o(()=>[u(ye,{name:`global`,class:`q-pa-none`},{default:o(()=>[g(`div`,De,[g(`div`,Oe,s(t.$t(`settings.globalSettings`)),1),u(_,{dark:``,class:`q-mb-md`}),g(`div`,ke,[g(`div`,Ae,s(t.$t(`settings.language`)),1),u(w,{"model-value":h(_n),options:Mn,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input`,"onUpdate:modelValue":Nn},null,8,[`model-value`])]),g(`div`,je,[g(`div`,Me,s(t.$t(`settings.defaultModel`)),1),u(w,{modelValue:k.value,"onUpdate:modelValue":r[1]||=e=>k.value=e,options:Pn.value,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`options`]),g(`div`,Ne,s(t.$t(`settings.defaultPermissionMode`)),1),g(`div`,Pe,s(t.$t(`settings.defaultPermissionModeHint`)),1),u(w,{modelValue:L.value,"onUpdate:modelValue":r[2]||=e=>L.value=e,options:[{label:t.$t(`agentPermissionMode.plan`),value:`plan`},{label:t.$t(`agentPermissionMode.bypass`),value:`bypass`},{label:t.$t(`agentPermissionMode.strict`),value:`strict`},{label:t.$t(`agentPermissionMode.interactive`),value:`interactive`}],"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])]),g(`div`,Fe,[g(`div`,Ie,s(t.$t(`settings.activityFeed`)),1),u(b,{"model-value":h(T).showVerboseSystemMessages,label:t.$t(`settings.verboseMessages`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`,"onUpdate:modelValue":r[3]||=e=>h(T).toggleVerboseSystemMessages()},null,8,[`model-value`,`label`])]),g(`div`,Le,[g(`div`,Re,s(t.$t(`settings.notifications`)),1),u(b,{modelValue:N.value,"onUpdate:modelValue":r[4]||=e=>N.value=e,label:t.$t(`settings.browserNotifications`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption q-mb-xs`},null,8,[`modelValue`,`label`]),u(b,{modelValue:P.value,"onUpdate:modelValue":r[5]||=e=>P.value=e,label:t.$t(`settings.audioNotifications`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`},null,8,[`modelValue`,`label`])]),g(`div`,ze,[g(`div`,Be,s(t.$t(`settings.prPromptTemplate`)),1),g(`div`,Ve,s(t.$t(`settings.prPromptHint`)),1),u(y,{modelValue:A.value,"onUpdate:modelValue":r[6]||=e=>A.value=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:8,placeholder:t.$t(`settings.prPromptPlaceholder`),class:`settings-input mono-textarea q-mb-md`},null,8,[`modelValue`,`placeholder`]),g(`div`,He,[u(pe,{dense:``,dark:``,icon:`code`,label:t.$t(`settings.availableVariables`),class:`variables-panel rounded-borders`},{default:o(()=>[u(he,{dense:``,dark:``,class:`q-pa-sm`},{default:o(()=>[(e(!0),p(m,null,n(In.value,t=>(e(),c(x,{key:t.name,dense:``},{default:o(()=>[u(de,null,{default:o(()=>[u(S,{class:`text-caption`,style:{"font-family":`monospace`}},{default:o(()=>[d(s(t.name),1)]),_:2},1024),u(S,{caption:``,class:`text-grey-7`},{default:o(()=>[d(s(t.description),1)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1},8,[`label`])]),g(`div`,Ue,s(t.$t(`settings.gitConventions`)),1),g(`div`,We,s(t.$t(`settings.gitConventionsHint`)),1),u(y,{modelValue:j.value,"onUpdate:modelValue":r[7]||=e=>j.value=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:8,placeholder:t.$t(`settings.gitConventionsPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),g(`div`,Ge,[g(`div`,Ke,s(t.$t(`settings.editorCommand`)),1),g(`div`,qe,s(t.$t(`settings.editorCommandHint`)),1),u(y,{modelValue:M.value,"onUpdate:modelValue":r[8]||=e=>M.value=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.editorCommandPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),g(`div`,Je,[g(`div`,Ye,s(t.$t(`settings.mcpSelection`)),1),g(`div`,Xe,s(t.$t(`settings.mcpSelectionHint`)),1),g(`div`,Ze,[g(`div`,Qe,s(t.$t(`settings.notionMcp`)),1),u(w,{modelValue:R.value,"onUpdate:modelValue":r[9]||=e=>R.value=e,options:Ln.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])]),g(`div`,$e,[g(`div`,et,s(t.$t(`settings.sentryMcp`)),1),u(w,{modelValue:z.value,"onUpdate:modelValue":r[10]||=e=>z.value=e,options:Ln.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])])]),g(`div`,tt,[g(`div`,nt,s(t.$t(`settings.notionStatus`)),1),g(`div`,rt,s(t.$t(`settings.notionStatusHint`)),1),g(`div`,it,[g(`div`,at,s(t.$t(`settings.notionStatusProperty`)),1),u(y,{modelValue:F.value,"onUpdate:modelValue":r[11]||=e=>F.value=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.notionStatusPropertyPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),g(`div`,ot,[g(`div`,st,s(t.$t(`settings.notionInProgressStatus`)),1),u(y,{modelValue:I.value,"onUpdate:modelValue":r[12]||=e=>I.value=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.notionInProgressStatusPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])])]),g(`div`,ct,[g(`div`,lt,s(t.$t(`settings.tagsTitle`)),1),g(`div`,ut,s(t.$t(`settings.tagsHint`)),1),u(w,{modelValue:B.value,"onUpdate:modelValue":r[13]||=e=>B.value=e,label:t.$t(`settings.tagsLabel`),dark:``,outlined:``,multiple:``,"use-input":``,"use-chips":``,"new-value-mode":`add-unique`,"hide-dropdown-icon":``,"input-debounce":`0`,class:`settings-input`},null,8,[`modelValue`,`label`])]),g(`div`,dt,[g(`div`,ft,s(t.$t(`settings.shareTitle`)),1),g(`div`,pt,s(t.$t(`settings.shareHint`)),1),g(`div`,mt,[u(v,{label:t.$t(`settings.exportConfig`),icon:`download`,"no-caps":``,outline:``,color:`grey-4`,onClick:Hn},null,8,[`label`]),u(v,{label:t.$t(`settings.importConfig`),icon:`upload`,"no-caps":``,outline:``,color:`grey-4`,onClick:Un},null,8,[`label`]),g(`input`,{ref_key:`importFileInput`,ref:Vn,type:`file`,accept:`application/json,.json`,style:{display:`none`},onChange:Wn},null,544)])]),g(`div`,ht,[u(v,{label:t.$t(`common.save`),"no-caps":``,unelevated:``,color:`primary`,loading:vn.value,onClick:Gn},null,8,[`label`,`loading`])])])]),_:1}),u(ye,{name:`projects`,class:`q-pa-none`},{default:o(()=>[g(`div`,gt,[g(`div`,_t,[g(`div`,vt,[g(`div`,yt,[g(`div`,bt,s(t.$t(`settings.configuredProjects`)),1)]),u(_,{dark:``}),u(he,{dark:``,dense:``,class:`q-py-xs`},{default:o(()=>[(e(!0),p(m,null,n(h(T).projects,(t,n)=>(e(),c(x,{key:t.path,clickable:``,active:V.value===n&&!H.value,"active-class":`project-item--active`,class:`project-item q-mx-xs rounded-borders`,style:{"min-height":`40px`},onClick:e=>Yn(n)},{default:o(()=>[u(de,null,{default:o(()=>[u(S,{class:`text-body2 text-grey-3`},{default:o(()=>[d(s(Xn(t)),1)]),_:2},1024),u(S,{caption:``,class:`text-grey-7 ellipsis`,style:{"font-size":`11px`,"font-family":`monospace`}},{default:o(()=>[d(s(t.path),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,[`active`,`onClick`]))),128))]),_:1}),h(T).projects.length===0&&!h(T).loading?(e(),p(`div`,xt,s(t.$t(`settings.noProjects`)),1)):l(``,!0),u(_,{dark:``}),g(`div`,St,[u(v,{label:t.$t(`settings.addProject`),icon:`add`,"no-caps":``,flat:``,dense:``,class:`full-width`,color:`indigo-4`,onClick:Jn},null,8,[`label`])])])]),g(`div`,Ct,[g(`div`,wt,[Q.value||H.value?(e(),p(m,{key:0},[g(`div`,Tt,s(H.value?t.$t(`settings.newProject`):t.$t(`settings.editProject`)),1),u(_,{dark:``,class:`q-mb-md`}),g(`div`,Et,[g(`div`,Dt,s(t.$t(`settings.projectPath`)),1),u(y,{modelValue:U.value.path,"onUpdate:modelValue":r[14]||=e=>U.value.path=e,dense:``,dark:``,outlined:``,readonly:!H.value,placeholder:t.$t(`settings.projectPathPlaceholder`),class:te([`settings-input`,{"readonly-input":!H.value}])},null,8,[`modelValue`,`readonly`,`placeholder`,`class`])]),g(`div`,Ot,[g(`div`,kt,s(t.$t(`settings.displayName`)),1),u(y,{modelValue:U.value.displayName,"onUpdate:modelValue":r[15]||=e=>U.value.displayName=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.displayNamePlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),g(`div`,At,[g(`div`,jt,s(t.$t(`settings.defaultSourceBranch`)),1),u(w,{modelValue:U.value.defaultSourceBranch,"onUpdate:modelValue":r[16]||=e=>U.value.defaultSourceBranch=e,options:Zn.value,dense:``,dark:``,outlined:``,"use-input":``,"emit-value":``,loading:Sn.value,class:`settings-input`,placeholder:`main`,onFilter:Qn},{"no-option":o(()=>[u(x,null,{default:o(()=>[u(de,{class:`text-grey-6 text-caption`},{default:o(()=>[d(s(U.value.path.trim()?t.$t(`createPage.noBranches`):t.$t(`createPage.enterPath`)),1)]),_:1})]),_:1})]),_:1},8,[`modelValue`,`options`,`loading`])]),g(`div`,Mt,[g(`div`,Nt,s(t.$t(`settings.defaultModel.project`)),1),u(w,{modelValue:U.value.defaultModel,"onUpdate:modelValue":r[17]||=e=>U.value.defaultModel=e,options:Fn.value,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])]),g(`div`,Pt,[g(`div`,Ft,s(t.$t(`settings.prPromptTemplate.project`)),1),u(y,{modelValue:U.value.prPromptTemplate,"onUpdate:modelValue":r[18]||=e=>U.value.prPromptTemplate=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:4,placeholder:t.$t(`settings.prPromptPlaceholder.project`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),g(`div`,It,[g(`div`,Lt,s(t.$t(`settings.gitConventions.project`)),1),u(y,{modelValue:U.value.gitConventions,"onUpdate:modelValue":r[19]||=e=>U.value.gitConventions=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:6,placeholder:t.$t(`settings.gitConventionsEmpty`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`]),g(`div`,Rt,s(t.$t(`settings.gitConventionsEmpty`)),1)]),g(`div`,zt,[g(`div`,Bt,s(t.$t(`settings.setupScript`)),1),u(y,{modelValue:U.value.setupScript,"onUpdate:modelValue":r[20]||=e=>U.value.setupScript=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:5,placeholder:t.$t(`settings.setupScriptPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`]),g(`div`,Vt,s(t.$t(`settings.setupScriptHint`)),1)]),g(`div`,Ht,[g(`div`,Ut,s(t.$t(`settings.devServer`)),1),g(`div`,Wt,[g(`div`,Gt,s(t.$t(`settings.devServerStart`)),1),u(y,{modelValue:U.value.devServer.startCommand,"onUpdate:modelValue":r[21]||=e=>U.value.devServer.startCommand=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:3,placeholder:t.$t(`settings.devServerStartPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),g(`div`,null,[g(`div`,Kt,s(t.$t(`settings.devServerStop`)),1),u(y,{modelValue:U.value.devServer.stopCommand,"onUpdate:modelValue":r[22]||=e=>U.value.devServer.stopCommand=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:3,placeholder:t.$t(`settings.devServerStopPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])])]),g(`div`,qt,[g(`div`,Jt,s(t.$t(`settings.e2e.title`)),1),g(`div`,Yt,s(t.$t(`settings.e2e.helpText`)),1),u(w,{modelValue:U.value.e2e.framework,"onUpdate:modelValue":r[23]||=e=>U.value.e2e.framework=e,options:[{label:t.$t(`settings.e2e.frameworkNone`),value:``},{label:`Cypress`,value:`cypress`},{label:`Playwright`,value:`playwright`},{label:`Jest`,value:`jest`},{label:`Vitest`,value:`vitest`},{label:t.$t(`settings.e2e.frameworkOther`),value:`other`}],"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input q-mb-sm`,label:t.$t(`settings.e2e.framework`)},null,8,[`modelValue`,`options`,`label`]),U.value.e2e.framework?(e(),p(m,{key:0},[u(w,{modelValue:U.value.e2e.skill,"onUpdate:modelValue":r[24]||=e=>U.value.e2e.skill=e,options:yn.value,"use-input":``,"fill-input":``,"hide-selected":``,"hide-dropdown-icon":``,"input-debounce":`200`,"new-value-mode":`add-unique`,dense:``,dark:``,outlined:``,class:`settings-input q-mb-sm`,label:t.$t(`settings.e2e.skill`),placeholder:t.$t(`settings.e2e.skillPlaceholder`),onFilter:xn},null,8,[`modelValue`,`options`,`label`,`placeholder`]),u(y,{modelValue:U.value.e2e.prompt,"onUpdate:modelValue":r[25]||=e=>U.value.e2e.prompt=e,type:`textarea`,autogrow:``,dense:``,dark:``,outlined:``,class:`settings-input mono-textarea`,label:t.$t(`settings.e2e.prompt`),placeholder:t.$t(`settings.e2e.promptPlaceholder`)},null,8,[`modelValue`,`label`,`placeholder`])],64)):l(``,!0)]),g(`div`,Xt,[g(`div`,Zt,s(t.$t(`settings.finalization.title`)),1),g(`div`,Qt,s(t.$t(`settings.finalization.helpText`)),1),u(y,{modelValue:U.value.finalization.prompt,"onUpdate:modelValue":r[26]||=e=>U.value.finalization.prompt=e,type:`textarea`,autogrow:``,rows:`4`,dense:``,dark:``,outlined:``,class:`settings-input mono-textarea q-mb-sm`,label:t.$t(`settings.finalization.prompt`),placeholder:t.$t(`settings.finalization.promptPlaceholder`)},null,8,[`modelValue`,`label`,`placeholder`])]),g(`div`,$t,[H.value?l(``,!0):(e(),c(v,{key:0,label:t.$t(`common.delete`),"no-caps":``,flat:``,color:`red-5`,loading:wn.value,onClick:qn},null,8,[`label`,`loading`])),u(me),u(v,{label:t.$t(`common.save`),"no-caps":``,unelevated:``,color:`primary`,loading:Cn.value,onClick:Kn},null,8,[`label`,`loading`])])],64)):(e(),p(`div`,en,[u(re,{name:`folder_open`,size:`48px`,color:`grey-7`,class:`q-mb-md`}),g(`div`,tn,s(t.$t(`settings.selectProject`)),1)]))])])])]),_:1}),u(ye,{name:`templates`,class:`q-pa-none`},{default:o(()=>[g(`div`,nn,[g(`div`,rn,[g(`div`,an,s(t.$t(`templates.title`)),1),u(v,{color:`primary`,icon:`add`,label:t.$t(`templates.newTemplate`),dense:``,"no-caps":``,onClick:On},null,8,[`label`])]),u(_,{dark:``,class:`q-mb-md`}),En.value.length===0?(e(),p(`div`,on,s(t.$t(`templates.empty`)),1)):(e(),p(`div`,sn,[(e(!0),p(m,null,n(En.value,n=>(e(),c(ue,{key:n.slug,dark:``,flat:``,bordered:``,class:`q-pa-md template-card`},{default:o(()=>[g(`div`,cn,[g(`div`,ln,[g(`div`,un,` /`+s(n.slug),1),g(`div`,dn,s(n.description),1)]),g(`div`,fn,[u(v,{flat:``,dense:``,round:``,size:`sm`,icon:`edit`,color:`grey-5`,onClick:e=>kn(n)},{default:o(()=>[u(fe,null,{default:o(()=>[d(s(t.$t(`templates.editTemplate`)),1)]),_:1})]),_:1},8,[`onClick`]),u(v,{flat:``,dense:``,round:``,size:`sm`,icon:`delete`,color:`red-4`,onClick:e=>jn(n)},{default:o(()=>[u(fe,null,{default:o(()=>[d(s(t.$t(`templates.deleteTemplate`)),1)]),_:1})]),_:1},8,[`onClick`])])])]),_:2},1024))),128))])),g(`div`,pn,s(t.$t(`templates.filePath`,{path:`~/.config/kobo/templates.json`})),1)])]),_:1})]),_:1},8,[`modelValue`])]),u(se,{modelValue:K.value,"onUpdate:modelValue":r[31]||=e=>K.value=e,persistent:``},{default:o(()=>[u(ue,{dark:``,style:{"min-width":`560px`,"max-width":`800px`,width:`80vw`}},{default:o(()=>[u(oe,null,{default:o(()=>[g(`div`,mn,s(q.value===null?t.$t(`templates.newTemplate`):t.$t(`templates.editTemplate`)),1)]),_:1}),u(oe,{class:`q-gutter-md`},{default:o(()=>[u(y,{modelValue:J.value,"onUpdate:modelValue":r[28]||=e=>J.value=e,label:t.$t(`templates.slug`),hint:t.$t(`templates.slugHint`),dark:``,dense:``,prefix:`/`,disable:q.value!==null,rules:[e=>/^[a-z0-9][a-z0-9-]{0,63}$/.test(e)||t.$t(`templates.slugInvalid`)],"lazy-rules":``},null,8,[`modelValue`,`label`,`hint`,`disable`,`rules`]),u(y,{modelValue:Y.value,"onUpdate:modelValue":r[29]||=e=>Y.value=e,label:t.$t(`templates.description`),hint:t.$t(`templates.descriptionHint`),dark:``,dense:``,counter:``,maxlength:`120`,rules:[e=>e&&e.trim().length>0||``]},null,8,[`modelValue`,`label`,`hint`,`rules`]),u(y,{modelValue:X.value,"onUpdate:modelValue":r[30]||=e=>X.value=e,label:t.$t(`templates.content`),hint:t.$t(`templates.contentHint`),dark:``,dense:``,type:`textarea`,autogrow:``,counter:``,maxlength:`4096`,rules:[e=>e&&e.trim().length>0||``]},null,8,[`modelValue`,`label`,`hint`,`rules`]),u(pe,{dense:``,"dense-toggle":``,label:t.$t(`templates.availableVars`),"header-class":`text-grey-6 text-caption q-pa-none`,style:{"font-size":`11px`}},{default:o(()=>[g(`div`,hn,[(e(),p(m,null,n(Dn,e=>g(`div`,{key:e,class:`text-grey-5 q-mb-xs`},s(e),1)),64))])]),_:1},8,[`label`]),Z.value?(e(),p(`div`,gn,s(Z.value),1)):l(``,!0)]),_:1}),u(le,{align:`right`},{default:o(()=>[ee(u(v,{flat:``,label:t.$t(`common.cancel`)},null,8,[`label`]),[[ge]]),u(v,{flat:``,color:`primary`,label:q.value===null?t.$t(`templates.create`):t.$t(`templates.save`),loading:Tn.value,onClick:An},null,8,[`label`,`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),_:1}))}}),[[`__scopeId`,`data-v-e4a0c3d5`]]);export{T as default};
@@ -1 +0,0 @@
1
- .settings-page[data-v-e4a0c3d5]{background-color:#1a1a2e;min-height:100%;padding:32px 24px}.settings-inner[data-v-e4a0c3d5]{width:100%;max-width:900px;margin:0 auto}.settings-header[data-v-e4a0c3d5]{min-height:48px}.settings-tabs[data-v-e4a0c3d5] .q-tab{color:#888;text-transform:none;font-weight:500}.settings-tabs[data-v-e4a0c3d5] .q-tab--active{color:#6c63ff}.settings-panels[data-v-e4a0c3d5]{background:0 0}.settings-card[data-v-e4a0c3d5]{background:#224;border:1px solid #2a2a4a}.template-card[data-v-e4a0c3d5]{background:#1a1a2e;border:1px solid #2a2a4a}.settings-input[data-v-e4a0c3d5] .q-field__control{background:#1a1a2e;border-color:#2a2a4a}.settings-input[data-v-e4a0c3d5] .q-field__native,.settings-input[data-v-e4a0c3d5] input,.settings-input[data-v-e4a0c3d5] textarea{color:#e0e0e0}.settings-input[data-v-e4a0c3d5] .q-field__label{color:#888}.mono-textarea[data-v-e4a0c3d5] textarea{font-family:JetBrains Mono,Fira Code,monospace;font-size:13px}.readonly-input[data-v-e4a0c3d5] .q-field__control{background:#16162a}.readonly-input[data-v-e4a0c3d5] input{color:#888}.project-list-col[data-v-e4a0c3d5]{flex-shrink:0;width:30%;min-width:200px;max-width:280px;overflow:hidden}.project-form-col[data-v-e4a0c3d5]{flex:1;min-width:0}.project-item[data-v-e4a0c3d5]:hover{background-color:#ffffff08}.project-item--active[data-v-e4a0c3d5]{border-left:3px solid #6c63ff;background-color:#2a2a4a!important}
@@ -1 +0,0 @@
1
- import{F as e,H as t,L as n,Q as r,_t as i,bt as a,f as o,g as s,l as c,p as l,r as u,rt as d,u as f,v as p}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{L as m,t as h}from"./QIcon-B0-pH3Qs.js";import{n as g}from"./vue-i18n-eUDnMrPl.js";import{h as _}from"./index-C_e7KOYh.js";import{t as v}from"./_plugin-vue_export-helper-B8bB5DBd.js";import{t as y}from"./kobo-commands-DiUm1Y34.js";var b={class:`slash-suggestions rounded-borders`},x={class:`slash-section-header`},S=[`onMousedown`],C={class:`slash-name text-caption`},w={class:`slash-section-header`},T=[`onMousedown`],E={class:`slash-name text-caption`},D={key:0,class:`slash-description text-caption text-grey-7 q-ml-xs`},O={class:`slash-section-header`},k=[`onMousedown`],A={class:`slash-name text-caption`},j={key:0,class:`slash-description text-caption text-grey-7 q-ml-xs`},M=v(p({__name:`SlashSuggestionsPopup`,props:{groupedDropdown:{},flatDropdown:{},selectedIndex:{}},emits:[`select`],setup(t,{emit:r}){let{t:c}=g(),p=r;function _(e){let t=y[`/${e}`];if(!t)return``;let n=t.descriptionKey,r=c(n);return r===n?``:r}return(r,g)=>(e(),l(`div`,b,[t.groupedDropdown.skills.length>0?(e(),l(u,{key:0},[f(`div`,x,a(d(c)(`chatInput.dropdownSkills`)),1),(e(!0),l(u,null,n(t.groupedDropdown.skills,n=>(e(),l(`div`,{key:`skill-${n.name}`,class:i([`slash-item row items-center q-px-sm q-py-xs cursor-pointer`,{"slash-item--active":t.flatDropdown.indexOf(n)===t.selectedIndex}]),onMousedown:m(e=>p(`select`,n),[`prevent`])},[s(h,{name:`bolt`,size:`12px`,color:`indigo-4`,class:`q-mr-xs`}),f(`span`,C,a(n.name),1)],42,S))),128))],64)):o(``,!0),t.groupedDropdown.kobo.length>0?(e(),l(u,{key:1},[f(`div`,w,a(d(c)(`chatInput.dropdownKobo`)),1),(e(!0),l(u,null,n(t.groupedDropdown.kobo,n=>(e(),l(`div`,{key:`kobo-${n.name}`,class:i([`slash-item row items-center q-px-sm q-py-xs cursor-pointer`,{"slash-item--active":t.flatDropdown.indexOf(n)===t.selectedIndex}]),onMousedown:m(e=>p(`select`,n),[`prevent`])},[s(h,{name:`terminal`,size:`12px`,color:`teal-4`,class:`q-mr-xs`}),f(`span`,E,`/`+a(n.name),1),_(n.name)?(e(),l(`span`,D,`— `+a(_(n.name)),1)):o(``,!0)],42,T))),128))],64)):o(``,!0),t.groupedDropdown.templates.length>0?(e(),l(u,{key:2},[f(`div`,O,a(d(c)(`chatInput.dropdownTemplates`)),1),(e(!0),l(u,null,n(t.groupedDropdown.templates,n=>(e(),l(`div`,{key:`tpl-${n.name}`,class:i([`slash-item row items-center q-px-sm q-py-xs cursor-pointer`,{"slash-item--active":t.flatDropdown.indexOf(n)===t.selectedIndex}]),onMousedown:m(e=>p(`select`,n),[`prevent`])},[s(h,{name:`description`,size:`12px`,color:`amber-4`,class:`q-mr-xs`}),f(`span`,A,`/`+a(n.name),1),n.description?(e(),l(`span`,j,`— `+a(n.description),1)):o(``,!0)],42,k))),128))],64)):o(``,!0)]))}}),[[`__scopeId`,`data-v-cc4747a4`]]);function N(e,n,i={}){let a=_(),o=r([]),s=r(!1),l=r(``),u=r(0),d=0;async function f(){let e=Date.now();if(!(e-d<5e3&&o.value.length>0)){d=e;try{let e=await fetch(`/api/skills`);e.ok&&(o.value=await e.json())}catch{}}}function p(){let t=n();if(!t)return null;let r=t.selectionStart??e.value.length,i=e.value.slice(0,r).match(/\/([\w:.-]*)$/);return i?i[1]:null}async function m(){let e=p();e===null?s.value=!1:(await f(),l.value=e,s.value=!0,u.value=0)}function h(){s.value=!1}function g(t){let r=n();if(!r){e.value=t;return}let i=r.selectionStart??e.value.length,a=e.value.slice(0,i),o=e.value.slice(i),s=a.match(/\/[\w:.-]*$/);if(!s){e.value=t;return}let c=s.index??i;e.value=e.value.slice(0,c)+t+o}let v=c(()=>{let e=l.value.toLowerCase(),t=t=>e===``?!0:t.toLowerCase().includes(e);return{skills:o.value.filter(e=>t(e)).map(e=>({type:`skill`,name:e})),kobo:i.excludeKoboCommands?[]:Object.keys(y).map(e=>e.replace(/^\//,``)).filter(e=>t(e)).map(e=>({type:`kobo`,name:e})),templates:a.templates.filter(e=>t(e.slug)).map(e=>({type:`template`,name:e.slug,description:e.description}))}}),b=c(()=>[...v.value.skills,...v.value.kobo,...v.value.templates]);return t(()=>b.value.length,e=>{if(e===0){u.value=0;return}u.value>=e&&(u.value=e-1)}),{skills:o,showSkills:s,skillFilter:l,selectedSkillIndex:u,groupedDropdown:v,flatDropdown:b,fetchSkills:f,detectSlashFragment:m,replaceFragmentWith:g,closeDropdown:h}}function P(e,t){return e.replace(/\{(\w+)\}/g,(e,n)=>{let r=t[n];return r==null?e:String(r)})}function F(e){let t={};return e.workspace&&(t.workspace_name=e.workspace.name,t.working_branch=e.workspace.workingBranch,t.source_branch=e.workspace.sourceBranch,t.project_path=e.workspace.projectPath,t.worktree_path=`${e.workspace.projectPath}/.worktrees/${e.workspace.workingBranch}`),e.gitStats&&(t.commit_count=e.gitStats.commitCount,t.unpushed_count=e.gitStats.unpushedCount,t.files_changed=e.gitStats.filesChanged,t.insertions=e.gitStats.insertions,t.deletions=e.gitStats.deletions,e.gitStats.prNumber!=null&&(t.pr_number=e.gitStats.prNumber),e.gitStats.prUrl&&(t.pr_url=e.gitStats.prUrl),e.gitStats.prState&&(t.pr_state=e.gitStats.prState)),e.sessionName&&(t.session_name=e.sessionName),t}export{M as i,P as n,N as r,F as t};
@@ -1 +0,0 @@
1
- import{m as e,o as t}from"./index-C_e7KOYh.js";var n=t(({app:t})=>{t.use(e)});export{n as default};
@@ -1 +0,0 @@
1
- import{E as e,H as t,M as n,N as r,Q as i,S as a,j as o,k as s,l as c,o as l,y as u}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{O as d,j as f,m as p}from"./QIcon-B0-pH3Qs.js";import{a as m,f as h,l as g,s as _}from"./use-id-CDuXkR0Z.js";import{d as v,h as y,m as b,p as x,u as S}from"./QBtn-DHwAb18J.js";var C={},w=!1;function T(){w=!0}function ee(){let e=null,t=u();function n(){e!==null&&(clearTimeout(e),e=null)}return o(n),s(n),{removeTimeout:n,registerTimeout(r,i){n(),y(t)===!1&&(e=setTimeout(()=>{e=null,r()},i))}}}function te(){let t,n=u();function r(){t=void 0}return o(r),s(r),{removeTick:r,registerTick(r){t=r,e(()=>{t===r&&(y(n)===!1&&t(),t=void 0)})}}}var ne={modelValue:{type:Boolean,default:null},"onUpdate:modelValue":[Function,Array]},re=[`beforeShow`,`show`,`beforeHide`,`hide`];function E({showing:r,canShow:i,hideOnRouteChange:a,handleShow:o,handleHide:s,processOnMount:c}){let l=u(),{props:d,emit:f,proxy:p}=l,m;function h(e){r.value===!0?v(e):g(e)}function g(t){if(d.disable===!0||t?.qAnchorHandled===!0||i!==void 0&&i(t)!==!0)return;let n=d[`onUpdate:modelValue`]!==void 0;n===!0&&(f(`update:modelValue`,!0),m=t,e(()=>{m===t&&(m=void 0)})),(d.modelValue===null||n===!1)&&_(t)}function _(e){r.value!==!0&&(r.value=!0,f(`beforeShow`,e),o===void 0?f(`show`,e):o(e))}function v(t){if(d.disable===!0)return;let n=d[`onUpdate:modelValue`]!==void 0;n===!0&&(f(`update:modelValue`,!1),m=t,e(()=>{m===t&&(m=void 0)})),(d.modelValue===null||n===!1)&&y(t)}function y(e){r.value!==!1&&(r.value=!1,f(`beforeHide`,e),s===void 0?f(`hide`,e):s(e))}function x(e){d.disable===!0&&e===!0?d[`onUpdate:modelValue`]!==void 0&&f(`update:modelValue`,!1):e===!0!==r.value&&(e===!0?_:y)(m)}t(()=>d.modelValue,x),a!==void 0&&b(l)===!0&&t(()=>p.$route.fullPath,()=>{a.value===!0&&r.value===!0&&v()}),c===!0&&n(()=>{x(d.modelValue)});let S={show:g,hide:v,toggle:h};return Object.assign(p,S),S}var D={transitionShow:{type:String,default:`fade`},transitionHide:{type:String,default:`fade`},transitionDuration:{type:[String,Number],default:300}};function O(e,t=()=>{},n=()=>{}){return{transitionProps:c(()=>{let r=`q-transition--${e.transitionShow||t()}`,i=`q-transition--${e.transitionHide||n()}`;return{appear:!0,enterFromClass:`${r}-enter-from`,enterActiveClass:`${r}-enter-active`,enterToClass:`${r}-enter-to`,leaveFromClass:`${i}-leave-from`,leaveActiveClass:`${i}-leave-active`,leaveToClass:`${i}-leave-to`}}),transitionStyle:c(()=>`--q-transition-duration: ${e.transitionDuration}ms`)}}var k=[],A=[],ie=1,ae=document.body;function j(e,t){let n=document.createElement(`div`);if(n.id=t===void 0?e:`q-portal--${t}--${ie++}`,C.globalNodes!==void 0){let e=C.globalNodes.class;e!==void 0&&(n.className=e)}return ae.appendChild(n),k.push(n),A.push(t),n}function M(e){let t=k.indexOf(e);k.splice(t,1),A.splice(t,1),e.remove()}var N=[];function oe(e){return N.find(t=>t.contentEl!==null&&t.contentEl.contains(e))}function P(e,t){do{if(e.$options.name===`QMenu`){if(e.hide(t),e.$props.separateClosePopup===!0)return x(e)}else if(e.__qPortal===!0){let n=x(e);return n?.$options.name===`QPopupProxy`?(e.hide(t),n):e}e=x(e)}while(e!=null)}function se(e,t,n){for(;n!==0&&e!=null;){if(e.__qPortal===!0){if(n--,e.$options.name===`QMenu`){e=P(e,t);continue}e.hide(t)}e=x(e)}}var ce=d({name:`QPortal`,setup(e,{slots:t}){return()=>t.default()}});function F(e){for(e=e.parent;e!=null;){if(e.type.name===`QGlobalDialog`)return!0;if(e.type.name===`QDialog`||e.type.name===`QMenu`)return!1;e=e.parent}return!1}function I(e,t,n,o){let s=i(!1),c=i(!1),u=null,d={},p=o===`dialog`&&F(e);function m(t){if(t===!0){g(d),c.value=!0;return}c.value=!1,s.value===!1&&(p===!1&&u===null&&(u=j(!1,o)),s.value=!0,N.push(e.proxy),_(d))}function h(t){if(c.value=!1,t!==!0)return;g(d),s.value=!1;let n=N.indexOf(e.proxy);n!==-1&&N.splice(n,1),u!==null&&(M(u),u=null)}return r(()=>{h(!0)}),e.proxy.__qPortal=!0,f(e.proxy,`contentEl`,()=>t.value),{showPortal:m,hidePortal:h,portalIsActive:s,portalIsAccessible:c,renderPortal:()=>p===!0?n():s.value===!0?[a(l,{to:u},a(ce,n))]:void 0}}var L=[Element,String],R=[null,document,document.body,document.scrollingElement,document.documentElement];function z(e,t){let n=v(t);if(n===void 0){if(e==null)return window;n=e.closest(`.scroll,.scroll-y,.overflow-auto`)}return R.includes(n)?window:n}function B(e){return e===window?window.pageYOffset||window.scrollY||document.body.scrollTop||0:e.scrollTop}function V(e){return e===window?window.pageXOffset||window.scrollX||document.body.scrollLeft||0:e.scrollLeft}function H(e,t,n=0){let r=arguments[3]===void 0?performance.now():arguments[3],i=B(e);if(n<=0){i!==t&&W(e,t);return}requestAnimationFrame(a=>{let o=a-r,s=i+(t-i)/Math.max(o,n)*o;W(e,s),s!==t&&H(e,t,n-o,a)})}function U(e,t,n=0){let r=arguments[3]===void 0?performance.now():arguments[3],i=V(e);if(n<=0){i!==t&&G(e,t);return}requestAnimationFrame(a=>{let o=a-r,s=i+(t-i)/Math.max(o,n)*o;G(e,s),s!==t&&U(e,t,n-o,a)})}function W(e,t){if(e===window){window.scrollTo(window.pageXOffset||window.scrollX||document.body.scrollLeft||0,t);return}e.scrollTop=t}function G(e,t){if(e===window){window.scrollTo(t,window.pageYOffset||window.scrollY||document.body.scrollTop||0);return}e.scrollLeft=t}function le(e,t,n){if(n){H(e,t,n);return}W(e,t)}function ue(e,t,n){if(n){U(e,t,n);return}G(e,t)}var K;function de(){if(K!==void 0)return K;let e=document.createElement(`p`),t=document.createElement(`div`);S(e,{width:`100%`,height:`200px`}),S(t,{position:`absolute`,top:`0px`,left:`0px`,visibility:`hidden`,width:`200px`,height:`150px`,overflow:`hidden`}),t.appendChild(e),document.body.appendChild(t);let n=e.offsetWidth;t.style.overflow=`scroll`;let r=e.offsetWidth;return n===r&&(r=t.clientWidth),t.remove(),K=n-r,K}function fe(e,t=!0){return!e||e.nodeType!==Node.ELEMENT_NODE?!1:t?e.scrollHeight>e.clientHeight&&(e.classList.contains(`scroll`)||e.classList.contains(`overflow-auto`)||[`auto`,`scroll`].includes(window.getComputedStyle(e)[`overflow-y`])):e.scrollWidth>e.clientWidth&&(e.classList.contains(`scroll`)||e.classList.contains(`overflow-auto`)||[`auto`,`scroll`].includes(window.getComputedStyle(e)[`overflow-x`]))}var q=[],J;function pe(e){J=e.keyCode===27}function me(){J===!0&&(J=!1)}function he(e){J===!0&&(J=!1,p(e,27)===!0&&q[q.length-1](e))}function Y(e){window[e](`keydown`,pe),window[e](`blur`,me),window[e](`keyup`,he),J=!1}function ge(e){h.is.desktop===!0&&(q.push(e),q.length===1&&Y(`addEventListener`))}function X(e){let t=q.indexOf(e);t!==-1&&(q.splice(t,1),q.length===0&&Y(`removeEventListener`))}var Z=[];function Q(e){Z[Z.length-1](e)}function _e(e){h.is.desktop===!0&&(Z.push(e),Z.length===1&&document.body.addEventListener(`focusin`,Q))}function ve(e){let t=Z.indexOf(e);t!==-1&&(Z.splice(t,1),Z.length===0&&document.body.removeEventListener(`focusin`,Q))}function $(e){return btoa(e).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}var ye=m(`settings`,{state:()=>({global:{defaultModel:`claude-opus-4-7`,dangerouslySkipPermissions:!0,prPromptTemplate:``,gitConventions:``,editorCommand:``,browserNotifications:!0,audioNotifications:!0,notionStatusProperty:``,notionInProgressStatus:``,defaultPermissionMode:`plan`,notionMcpKey:``,sentryMcpKey:``,tags:[]},activeMcpServers:[],projects:[],loading:!1,showVerboseSystemMessages:localStorage.getItem(`kobo:showVerboseSystemMessages`)===`true`}),getters:{getProjectByPath:e=>t=>e.projects.find(e=>e.path===t)??null,projectPaths:e=>e.projects.map(e=>e.path)},actions:{async fetchSettings(){this.loading=!0;try{let e=await fetch(`/api/settings`);if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();this.global=t.global,this.projects=t.projects}catch(e){console.error(`[settings store] fetchSettings failed:`,e)}finally{this.loading=!1}},async fetchActiveMcpServers(){try{let e=await fetch(`/api/settings/mcp-servers`);if(!e.ok)throw Error(`HTTP ${e.status}`);this.activeMcpServers=await e.json()}catch(e){console.error(`[settings store] fetchActiveMcpServers failed:`,e),this.activeMcpServers=[]}},async updateGlobal(e){try{let t=await fetch(`/api/settings/global`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});if(!t.ok)throw Error(`HTTP ${t.status}`);this.global=await t.json()}catch(e){throw console.error(`[settings store] updateGlobal failed:`,e),e}},async upsertProject(e,t){try{let n=$(e),r=await fetch(`/api/settings/projects/${n}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)});if(!r.ok)throw Error(`HTTP ${r.status}`);let i=await r.json(),a=this.projects.findIndex(t=>t.path===e);a>=0?this.projects[a]=i:this.projects.push(i)}catch(e){throw console.error(`[settings store] upsertProject failed:`,e),e}},toggleVerboseSystemMessages(){this.showVerboseSystemMessages=!this.showVerboseSystemMessages,localStorage.setItem(`kobo:showVerboseSystemMessages`,String(this.showVerboseSystemMessages))},async deleteProject(e){try{let t=$(e),n=await fetch(`/api/settings/projects/${t}`,{method:`DELETE`});if(!n.ok)throw Error(`HTTP ${n.status}`);this.projects=this.projects.filter(t=>t.path!==e)}catch(e){throw console.error(`[settings store] deleteProject failed:`,e),e}}}});export{w as A,E as C,ee as D,te as E,T as O,D as S,ne as T,oe as _,X as a,M as b,de as c,L as d,ue as f,se as g,P as h,ge as i,C as k,B as l,I as m,_e as n,V as o,le as p,ve as r,z as s,ye as t,fe as u,N as v,re as w,O as x,j as y};