@loicngr/kobo 1.8.2 → 1.8.3

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 (59) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/server/services/git-stats-service.js +1 -0
  3. package/package.json +1 -1
  4. package/src/client/dist/spa/assets/{ActivityFeed-C5SaKJm2.js → ActivityFeed-DURolV-n.js} +1 -1
  5. package/src/client/dist/spa/assets/{ChangelogPage-e0UFnjXW.js → ChangelogPage-9WwhcM-f.js} +1 -1
  6. package/src/client/dist/spa/assets/{ClosePopup-DuITTzTX.js → ClosePopup-DHTExL4h.js} +1 -1
  7. package/src/client/dist/spa/assets/CreatePage-CBdUuRiw.js +2 -0
  8. package/src/client/dist/spa/assets/CreatePage-Cyo8mr_a.css +1 -0
  9. package/src/client/dist/spa/assets/{DiffViewer-Ccj0g63-.js → DiffViewer-pzgdgnuL.js} +3 -3
  10. package/src/client/dist/spa/assets/{HealthPage-Ugh5BAGz.js → HealthPage-DdX2QOqU.js} +1 -1
  11. package/src/client/dist/spa/assets/{MainLayout-D8igazjI.js → MainLayout-ZKAmoqZa.js} +3 -3
  12. package/src/client/dist/spa/assets/{QChip-DQ7XHHFU.js → QChip-CYj9aPsG.js} +1 -1
  13. package/src/client/dist/spa/assets/{QExpansionItem-BhBjr4cZ.js → QExpansionItem-BrGfIrYF.js} +1 -1
  14. package/src/client/dist/spa/assets/{QScrollArea-CiH5To9c.js → QScrollArea-6lCuAaHy.js} +1 -1
  15. package/src/client/dist/spa/assets/{QSelect-OzrbpG-c.js → QSelect-X9xYrvT8.js} +1 -1
  16. package/src/client/dist/spa/assets/{QTooltip-D6u1_PaP.js → QTooltip-BNUix6mQ.js} +1 -1
  17. package/src/client/dist/spa/assets/{SearchPage-BqDsWFbF.js → SearchPage-Db7lKrca.js} +1 -1
  18. package/src/client/dist/spa/assets/{SettingsPage-ywuEdxIL.js → SettingsPage-BwZt9b8r.js} +1 -1
  19. package/src/client/dist/spa/assets/{TouchPan-DXbRw-m6.js → TouchPan-XnWdUPd6.js} +1 -1
  20. package/src/client/dist/spa/assets/{WorkspacePage-IZw-MIi_.js → WorkspacePage-BnhS3WPM.js} +3 -3
  21. package/src/client/dist/spa/assets/{WorkspacePage-CaB6Gj5e.css → WorkspacePage-DauW-aqm.css} +1 -1
  22. package/src/client/dist/spa/assets/{build-path-tree-DkkZkBub.js → build-path-tree-C34vaoYM.js} +1 -1
  23. package/src/client/dist/spa/assets/{cssMode-PM-fRilG.js → cssMode-Dez08xBo.js} +1 -1
  24. package/src/client/dist/spa/assets/{documents-_VmUwC6A.js → documents-_uFF6aXp.js} +1 -1
  25. package/src/client/dist/spa/assets/{editor.api2-BCkdvqZr.js → editor.api2-C1kkM0ZQ.js} +1 -1
  26. package/src/client/dist/spa/assets/{editor.main-ybrlqRMz.js → editor.main-DwmHQguz.js} +2 -2
  27. package/src/client/dist/spa/assets/{expand-template-D79i__6P.js → expand-template-Dz1rSBxe.js} +1 -1
  28. package/src/client/dist/spa/assets/{formatters-C-SA10TO.js → formatters-bv2S-wJD.js} +1 -1
  29. package/src/client/dist/spa/assets/{freemarker2-Eb9vRwVQ.js → freemarker2-AgzNacXF.js} +1 -1
  30. package/src/client/dist/spa/assets/{handlebars-DNowwLFB.js → handlebars-Dc2M97qA.js} +1 -1
  31. package/src/client/dist/spa/assets/{html-1WIEKhJk.js → html-DAuDtCXi.js} +1 -1
  32. package/src/client/dist/spa/assets/{htmlMode-qJ02KKvk.js → htmlMode-DcW-UzbM.js} +1 -1
  33. package/src/client/dist/spa/assets/i18n-D-jN5KkR.js +1 -0
  34. package/src/client/dist/spa/assets/{index-BZFH4IEx.js → index-CKD3KN0L.js} +2 -2
  35. package/src/client/dist/spa/assets/{javascript-DY3kJhRM.js → javascript-BysjT61U.js} +1 -1
  36. package/src/client/dist/spa/assets/{jsonMode-BAYspSgr.js → jsonMode-DLcdwZ3A.js} +1 -1
  37. package/src/client/dist/spa/assets/{kobo-commands-DVLrRnRs.js → kobo-commands-BOLn-ktt.js} +1 -1
  38. package/src/client/dist/spa/assets/{layout-BsK3GNMi.js → layout-CCU-y77r.js} +1 -1
  39. package/src/client/dist/spa/assets/{liquid-DWq5BsvH.js → liquid-DDPPm36A.js} +1 -1
  40. package/src/client/dist/spa/assets/{lspLanguageFeatures-BEVW7eE3.js → lspLanguageFeatures-DVJVRISI.js} +1 -1
  41. package/src/client/dist/spa/assets/{mdx-lYMeIEKb.js → mdx-DBH_1YhN.js} +1 -1
  42. package/src/client/dist/spa/assets/{monaco.contribution-Biq7dtDf.js → monaco.contribution-BIhkd50C.js} +2 -2
  43. package/src/client/dist/spa/assets/{network-auth-DLcKVOle.js → network-auth-DAOkp3pL.js} +1 -1
  44. package/src/client/dist/spa/assets/project-color-nseYrNUt.js +1 -0
  45. package/src/client/dist/spa/assets/{python-zB9Uw-XQ.js → python-D6JLaIAM.js} +1 -1
  46. package/src/client/dist/spa/assets/{razor-hbjaCFhW.js → razor-Bw5sCxD1.js} +1 -1
  47. package/src/client/dist/spa/assets/{render-chat-markdown-7DRqZyi2.js → render-chat-markdown-D2gJNsz4.js} +1 -1
  48. package/src/client/dist/spa/assets/{tsMode-BXnX_cJf.js → tsMode-kN8vHVF0.js} +1 -1
  49. package/src/client/dist/spa/assets/{typescript-vB4tE5hv.js → typescript-Bsn-RHjA.js} +1 -1
  50. package/src/client/dist/spa/assets/use-onboarding-DEVp57aM.js +2 -0
  51. package/src/client/dist/spa/assets/{use-quasar-DUCHrZ9a.js → use-quasar-ThJMzjwc.js} +1 -1
  52. package/src/client/dist/spa/assets/{workers-v6vpYG4Q.js → workers-BRURjXxO.js} +1 -1
  53. package/src/client/dist/spa/assets/{xml-BEC6bIYn.js → xml-D3MLSeh4.js} +1 -1
  54. package/src/client/dist/spa/assets/{yaml-DgYtdFOS.js → yaml-D-jlule2.js} +1 -1
  55. package/src/client/dist/spa/index.html +1 -1
  56. package/src/client/dist/spa/assets/CreatePage-CE-ljszo.css +0 -1
  57. package/src/client/dist/spa/assets/CreatePage-DZSl-9Eb.js +0 -2
  58. package/src/client/dist/spa/assets/i18n-C07vl0tp.js +0 -1
  59. package/src/client/dist/spa/assets/use-onboarding-Cho-kvmG.js +0 -2
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/MainLayout-D8igazjI.js","assets/_plugin-vue_export-helper-BDNMzG2s.js","assets/vue.runtime.esm-bundler-JZnIeD9D.js","assets/chunk-QTnfLwEv.js","assets/render-chat-markdown-7DRqZyi2.js","assets/use-onboarding-Cho-kvmG.js","assets/use-onboarding-B3l7mx48.css","assets/QSeparator-BR7sWTf2.js","assets/QIcon-CfOEsLsF.js","assets/QBadge-DoPfOZ_x.js","assets/build-path-tree-DkkZkBub.js","assets/QTooltip-D6u1_PaP.js","assets/QChip-DQ7XHHFU.js","assets/QSelect-OzrbpG-c.js","assets/QInput-DtrweK8o.js","assets/use-quasar-DUCHrZ9a.js","assets/QList-kGlJAb-p.js","assets/documents-_VmUwC6A.js","assets/QSpace-e68xsYE1.js","assets/layout-BsK3GNMi.js","assets/ClosePopup-DuITTzTX.js","assets/TouchPan-DXbRw-m6.js","assets/formatters-C-SA10TO.js","assets/kobo-commands-DVLrRnRs.js","assets/MainLayout-DXz5Vnxf.css","assets/WorkspacePage-IZw-MIi_.js","assets/QBanner-C5hABcB2.js","assets/QPage-B-ixPPKx.js","assets/QSpinnerDots-BOryc_9y.js","assets/expand-template-D79i__6P.js","assets/expand-template-D2yUa54D.css","assets/permissionModes-CUZkcBev.js","assets/WorkspacePage-CaB6Gj5e.css","assets/CreatePage-DZSl-9Eb.js","assets/QExpansionItem-BhBjr4cZ.js","assets/CreatePage-CE-ljszo.css","assets/SettingsPage-ywuEdxIL.js","assets/SettingsPage-DfYhuzv0.css","assets/SearchPage-BqDsWFbF.js","assets/SearchPage-cVwt0DaQ.css","assets/HealthPage-Ugh5BAGz.js","assets/ChangelogPage-e0UFnjXW.js","assets/ChangelogPage-CQ33An2f.css"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/MainLayout-ZKAmoqZa.js","assets/_plugin-vue_export-helper-BDNMzG2s.js","assets/vue.runtime.esm-bundler-JZnIeD9D.js","assets/chunk-QTnfLwEv.js","assets/render-chat-markdown-D2gJNsz4.js","assets/use-onboarding-DEVp57aM.js","assets/use-onboarding-B3l7mx48.css","assets/QSeparator-BR7sWTf2.js","assets/QIcon-CfOEsLsF.js","assets/QBadge-DoPfOZ_x.js","assets/build-path-tree-C34vaoYM.js","assets/QTooltip-BNUix6mQ.js","assets/QChip-CYj9aPsG.js","assets/QSelect-X9xYrvT8.js","assets/QInput-DtrweK8o.js","assets/use-quasar-ThJMzjwc.js","assets/QList-kGlJAb-p.js","assets/documents-_uFF6aXp.js","assets/QSpace-e68xsYE1.js","assets/layout-CCU-y77r.js","assets/ClosePopup-DHTExL4h.js","assets/TouchPan-XnWdUPd6.js","assets/formatters-bv2S-wJD.js","assets/kobo-commands-BOLn-ktt.js","assets/project-color-nseYrNUt.js","assets/MainLayout-DXz5Vnxf.css","assets/WorkspacePage-BnhS3WPM.js","assets/QBanner-C5hABcB2.js","assets/QPage-B-ixPPKx.js","assets/QSpinnerDots-BOryc_9y.js","assets/expand-template-Dz1rSBxe.js","assets/expand-template-D2yUa54D.css","assets/permissionModes-CUZkcBev.js","assets/WorkspacePage-DauW-aqm.css","assets/CreatePage-CBdUuRiw.js","assets/QExpansionItem-BrGfIrYF.js","assets/CreatePage-Cyo8mr_a.css","assets/SettingsPage-BwZt9b8r.js","assets/SettingsPage-DfYhuzv0.css","assets/SearchPage-Db7lKrca.js","assets/SearchPage-cVwt0DaQ.css","assets/HealthPage-DdX2QOqU.js","assets/ChangelogPage-9WwhcM-f.js","assets/ChangelogPage-CQ33An2f.css"])))=>i.map(i=>d[i]);
2
2
  import{$ as e,C as t,D as n,F as r,G as i,I as a,K as o,M as s,P as c,Q as l,R as u,S as d,T as f,U as p,V as m,W as h,X as g,Y as _,Z as v,_ as y,b,c as x,ct as S,d as C,et as w,f as T,g as E,h as D,i as O,it as k,k as ee,m as A,n as te,nt as j,o as M,p as N,q as ne,r as re,t as ie,tt as ae,z as oe}from"./vue.runtime.esm-bundler-JZnIeD9D.js";import{A as se,C as ce,D as P,F as le,I as ue,L as de,M as fe,N as pe,O as me,P as F,T as he,a as ge,b as _e,f as ve,k as ye,l as be,n as xe,o as Se,p as Ce,r as we,s as I,t as Te,w as Ee,x as De}from"./QIcon-CfOEsLsF.js";import{a as Oe,d as ke,f as L,i as Ae,l as je,o as Me,p as Ne,s as Pe,t as Fe,u as Ie}from"./QSeparator-BR7sWTf2.js";import{i as Le,o as Re,t as ze}from"./QInput-DtrweK8o.js";import{a as Be,i as Ve,n as He,r as Ue,t as We}from"./use-checkbox-Dh_-xsu4.js";var Ge=[`sm`,`md`,`lg`,`xl`],{passive:Ke}=P,qe=ue({width:0,height:0,name:`xs`,sizes:{sm:600,md:1024,lg:1440,xl:1920},lt:{sm:!0,md:!0,lg:!0,xl:!0},gt:{xs:!1,sm:!1,md:!1,lg:!1},xs:!0,sm:!1,md:!1,lg:!1,xl:!1},{setSizes:me,setDebounce:me,install({$q:e,onSSRHydrated:t}){if(e.screen=this,this.__installed){e.config.screen!==void 0&&(e.config.screen.bodyClasses?this.__update(!0):document.body.classList.remove(`screen--${this.name}`));return}let{visualViewport:n}=window,r=n||window,i=document.scrollingElement||document.documentElement,a=n===void 0||L.is.mobile?()=>[Math.max(window.innerWidth,i.clientWidth),Math.max(window.innerHeight,i.clientHeight)]:()=>[n.width*n.scale+window.innerWidth-i.clientWidth,n.height*n.scale+window.innerHeight-i.clientHeight],o=e.config.screen?.bodyClasses===!0;this.__update=e=>{let[t,n]=a();if(n!==this.height&&(this.height=n),t!==this.width)this.width=t;else if(e!==!0)return;let r=this.sizes;this.gt.xs=t>=r.sm,this.gt.sm=t>=r.md,this.gt.md=t>=r.lg,this.gt.lg=t>=r.xl,this.lt.sm=t<r.sm,this.lt.md=t<r.md,this.lt.lg=t<r.lg,this.lt.xl=t<r.xl,this.xs=this.lt.sm,this.sm=this.gt.xs&&this.lt.md,this.md=this.gt.sm&&this.lt.lg,this.lg=this.gt.md&&this.lt.xl,this.xl=this.gt.lg,r=this.xs&&`xs`||this.sm&&`sm`||this.md&&`md`||this.lg&&`lg`||`xl`,r!==this.name&&(o&&(document.body.classList.remove(`screen--${this.name}`),document.body.classList.add(`screen--${r}`)),this.name=r)};let s,c={},l=16;this.setSizes=e=>{Ge.forEach(t=>{e[t]!==void 0&&(c[t]=e[t])})},this.setDebounce=e=>{l=e};let u=()=>{let e=getComputedStyle(document.body);e.getPropertyValue(`--q-size-sm`)&&Ge.forEach(t=>{this.sizes[t]=Number.parseInt(e.getPropertyValue(`--q-size-${t}`),10)}),this.setSizes=e=>{Ge.forEach(t=>{e[t]&&(this.sizes[t]=e[t])}),this.__update(!0)},this.setDebounce=e=>{s!==void 0&&r.removeEventListener(`resize`,s,Ke),s=e>0?Ie(this.__update,e):this.__update,r.addEventListener(`resize`,s,Ke)},this.setDebounce(l),Object.keys(c).length===0?this.__update():(this.setSizes(c),c=void 0),o&&this.name===`xs`&&document.body.classList.add(`screen--xs`)};Ne.value?t.push(u):u()}}),R=ue({isActive:!1,mode:!1},{__media:void 0,set(e){R.mode=e,e===`auto`?(R.__media===void 0&&(R.__media=window.matchMedia(`(prefers-color-scheme: dark)`),R.__updateMedia=()=>{R.set(`auto`)},R.__media.addListener(R.__updateMedia)),e=R.__media.matches):R.__media!==void 0&&(R.__media.removeListener(R.__updateMedia),R.__media=void 0),R.isActive=e===!0,document.body.classList.remove(`body--${e===!0?`light`:`dark`}`),document.body.classList.add(`body--${e===!0?`dark`:`light`}`)},toggle(){R.set(!R.isActive)},install({$q:e,ssrContext:t}){let n=e.config.dark;e.dark=this,this.__installed||this.set(n===void 0?!1:n)}});function Je(e,t,n=document.body){if(typeof e!=`string`)throw TypeError(`Expected a string as propName`);if(typeof t!=`string`)throw TypeError(`Expected a string as value`);if(!(n instanceof Element))throw TypeError(`Expected a DOM element`);n.style.setProperty(`--q-${e}`,t)}function Ye(e){if(e.ios)return`ios`;if(e.android)return`android`}function Xe({is:e,has:t,within:n},r){let i=[e.desktop?`desktop`:`mobile`,`${t.touch?``:`no-`}touch`];if(e.mobile){let t=Ye(e);t!==void 0&&i.push(`platform-`+t)}if(e.nativeMobile){let t=e.nativeMobileWrapper;i.push(t),i.push(`native-mobile`),e.ios&&(r[t]===void 0||r[t].iosStatusBarPadding)&&i.push(`q-ios-padding`)}else e.electron?i.push(`electron`):e.bex&&i.push(`bex`);return n.iframe&&i.push(`within-iframe`),i}function Ze(){let{is:e}=L,t=document.body.className,n=new Set(t.replaceAll(/ {2}/g,` `).split(` `));if(!e.nativeMobile&&!e.electron&&!e.bex){if(e.desktop)n.delete(`mobile`),n.delete(`platform-ios`),n.delete(`platform-android`),n.add(`desktop`);else if(e.mobile){n.delete(`desktop`),n.add(`mobile`),n.delete(`platform-ios`),n.delete(`platform-android`);let t=Ye(e);t!==void 0&&n.add(`platform-${t}`)}}L.has.touch&&(n.delete(`no-touch`),n.add(`touch`)),L.within.iframe&&n.add(`within-iframe`);let r=[...n].join(` `);t!==r&&(document.body.className=r)}function Qe(e){for(let t in e)Je(t,e[t])}var $e={install(e){if(!this.__installed){if(Ne.value)Ze();else{let{$q:t}=e;t.config.brand!==void 0&&Qe(t.config.brand),document.body.classList.add(...Xe(L,t.config))}L.is.ios&&document.body.addEventListener(`touchstart`,me),window.addEventListener(`keydown`,De,!0)}}},et=()=>!0;function tt(e){return typeof e==`string`&&e!==``&&e!==`/`&&e!==`#/`}function nt(e){return e.startsWith(`#`)&&(e=e.slice(1)),e.startsWith(`/`)||(e=`/`+e),e.endsWith(`/`)&&(e=e.slice(0,-1)),`#`+e}function rt(e){if(e.backButtonExit===!1)return()=>!1;if(e.backButtonExit===`*`)return et;let t=[`#/`];return Array.isArray(e.backButtonExit)&&t.push(...e.backButtonExit.filter(tt).map(nt)),()=>t.includes(window.location.hash)}var it={__history:[],add:me,remove:me,install({$q:e}){if(this.__installed)return;let{cordova:t,capacitor:n}=L.is;if(!t&&!n)return;let r=e.config[t?`cordova`:`capacitor`];if(r?.backButton===!1||n&&(window.Capacitor===void 0||window.Capacitor.Plugins.App===void 0))return;this.add=e=>{e.condition===void 0&&(e.condition=et),this.__history.push(e)},this.remove=e=>{let t=this.__history.indexOf(e);t!==-1&&this.__history.splice(t,1)};let i=rt({backButtonExit:!0,...r}),a=()=>{if(this.__history.length!==0){let e=this.__history.at(-1);e.condition()&&(this.__history.pop(),e.handler())}else i()?navigator.app.exitApp():window.history.back()};t?document.addEventListener(`deviceready`,()=>{document.addEventListener(`backbutton`,a,!1)}):window.Capacitor.Plugins.App.addListener(`backButton`,a)}},at={isoName:`en-US`,nativeName:`English (US)`,label:{clear:`Clear`,ok:`OK`,cancel:`Cancel`,close:`Close`,set:`Set`,select:`Select`,reset:`Reset`,remove:`Remove`,update:`Update`,create:`Create`,search:`Search`,filter:`Filter`,refresh:`Refresh`,expand:e=>e?`Expand "${e}"`:`Expand`,collapse:e=>e?`Collapse "${e}"`:`Collapse`},date:{days:`Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday`.split(`_`),daysShort:`Sun_Mon_Tue_Wed_Thu_Fri_Sat`.split(`_`),months:`January_February_March_April_May_June_July_August_September_October_November_December`.split(`_`),monthsShort:`Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec`.split(`_`),firstDayOfWeek:0,format24h:!1,pluralDay:`days`,prevMonth:`Previous month`,nextMonth:`Next month`,prevYear:`Previous year`,nextYear:`Next year`,today:`Today`,prevRangeYears:e=>`Previous ${e} years`,nextRangeYears:e=>`Next ${e} years`},table:{noData:`No data available`,noResults:`No matching records found`,loading:`Loading...`,selectedRecords:e=>e===1?`1 record selected.`:(e===0?`No`:e)+` records selected.`,recordsPerPage:`Records per page:`,allRows:`All`,pagination:(e,t,n)=>e+` - `+t+` of `+n,columns:`Columns`},pagination:{first:`First page`,prev:`Previous page`,next:`Next page`,last:`Last page`},editor:{url:`URL`,bold:`Bold`,italic:`Italic`,strikethrough:`Strikethrough`,underline:`Underline`,unorderedList:`Unordered List`,orderedList:`Ordered List`,subscript:`Subscript`,superscript:`Superscript`,hyperlink:`Hyperlink`,toggleFullscreen:`Toggle Fullscreen`,quote:`Quote`,left:`Left align`,center:`Center align`,right:`Right align`,justify:`Justify align`,print:`Print`,outdent:`Decrease indentation`,indent:`Increase indentation`,removeFormat:`Remove formatting`,formatting:`Formatting`,fontSize:`Font Size`,align:`Align`,hr:`Insert Horizontal Rule`,undo:`Undo`,redo:`Redo`,heading1:`Heading 1`,heading2:`Heading 2`,heading3:`Heading 3`,heading4:`Heading 4`,heading5:`Heading 5`,heading6:`Heading 6`,paragraph:`Paragraph`,code:`Code`,size1:`Very small`,size2:`A bit small`,size3:`Normal`,size4:`Medium-large`,size5:`Big`,size6:`Very big`,size7:`Maximum`,defaultFont:`Default Font`,viewSource:`View Source`},tree:{noNodes:`No nodes available`,noResults:`No matching nodes found`}};function ot(){let e=Array.isArray(navigator.languages)&&navigator.languages.length!==0?navigator.languages[0]:navigator.language;if(typeof e==`string`)return e.split(/[-_]/).map((e,t)=>t===0?e.toLowerCase():t>1||e.length<4?e.toUpperCase():e[0].toUpperCase()+e.slice(1).toLowerCase()).join(`-`)}var st=ue({__qLang:{}},{getLocale:ot,set(e=at,t){let n={...e,rtl:e.rtl===!0,getLocale:ot};if(n.set=st.set,st.__langConfig===void 0||!st.__langConfig.noHtmlAttrs){let e=document.documentElement;e.setAttribute(`dir`,n.rtl?`rtl`:`ltr`),e.setAttribute(`lang`,n.isoName)}Object.assign(st.__qLang,n)},install({$q:e,lang:t,ssrContext:n}){e.lang=st.__qLang,st.__langConfig=e.config.lang,this.__installed?t!==void 0&&this.set(t):(this.props=new Proxy(this.__qLang,{get:Reflect.get,ownKeys(e){return Reflect.ownKeys(e).filter(e=>e!==`set`&&e!==`getLocale`)}}),this.set(t||at))}}),ct={name:`material-icons`,type:{positive:`check_circle`,negative:`warning`,info:`info`,warning:`priority_high`},arrow:{up:`arrow_upward`,right:`arrow_forward`,down:`arrow_downward`,left:`arrow_back`,dropdown:`arrow_drop_down`},chevron:{left:`chevron_left`,right:`chevron_right`},colorPicker:{spectrum:`gradient`,tune:`tune`,palette:`style`},pullToRefresh:{icon:`refresh`},carousel:{left:`chevron_left`,right:`chevron_right`,up:`keyboard_arrow_up`,down:`keyboard_arrow_down`,navigationIcon:`lens`},chip:{remove:`cancel`,selected:`check`},datetime:{arrowLeft:`chevron_left`,arrowRight:`chevron_right`,now:`access_time`,today:`today`},editor:{bold:`format_bold`,italic:`format_italic`,strikethrough:`strikethrough_s`,underline:`format_underlined`,unorderedList:`format_list_bulleted`,orderedList:`format_list_numbered`,subscript:`vertical_align_bottom`,superscript:`vertical_align_top`,hyperlink:`link`,toggleFullscreen:`fullscreen`,quote:`format_quote`,left:`format_align_left`,center:`format_align_center`,right:`format_align_right`,justify:`format_align_justify`,print:`print`,outdent:`format_indent_decrease`,indent:`format_indent_increase`,removeFormat:`format_clear`,formatting:`text_format`,fontSize:`format_size`,align:`format_align_left`,hr:`remove`,undo:`undo`,redo:`redo`,heading:`format_size`,code:`code`,size:`format_size`,font:`font_download`,viewSource:`code`},expansionItem:{icon:`keyboard_arrow_down`,denseIcon:`arrow_drop_down`},fab:{icon:`add`,activeIcon:`close`},field:{clear:`cancel`,error:`error`},pagination:{first:`first_page`,prev:`keyboard_arrow_left`,next:`keyboard_arrow_right`,last:`last_page`},rating:{icon:`grade`},stepper:{done:`check`,active:`edit`,error:`warning`},tabs:{left:`chevron_left`,right:`chevron_right`,up:`keyboard_arrow_up`,down:`keyboard_arrow_down`},table:{arrowUp:`arrow_upward`,warning:`warning`,firstPage:`first_page`,prevPage:`chevron_left`,nextPage:`chevron_right`,lastPage:`last_page`},tree:{icon:`play_arrow`},uploader:{done:`done`,clear:`clear`,add:`add_box`,upload:`cloud_upload`,removeQueue:`clear_all`,removeUploaded:`done_all`}},lt=ue({iconMapFn:null,__qIconSet:{}},{set(e,t){let n={...e};n.set=lt.set,Object.assign(lt.__qIconSet,n)},install({$q:e,iconSet:t,ssrContext:n}){e.config.iconMapFn!==void 0&&(this.iconMapFn=e.config.iconMapFn),e.iconSet=this.__qIconSet,de(e,`iconMapFn`,()=>this.iconMapFn,e=>{this.iconMapFn=e}),this.__installed?t!==void 0&&this.set(t):(this.props=new Proxy(this.__qIconSet,{get:Reflect.get,ownKeys(e){return Reflect.ownKeys(e).filter(e=>e!==`set`)}}),this.set(t||ct))}});function ut(e,t){if(e===t)return!0;if(e!==null&&t!==null&&typeof e==`object`&&typeof t==`object`){if(e.constructor!==t.constructor)return!1;let n,r;if(e.constructor===Array){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!ut(e[r],t[r]))return!1;return!0}if(e.constructor===Map){if(e.size!==t.size)return!1;let n=e.entries();for(r=n.next();!r.done;){if(!t.has(r.value[0]))return!1;r=n.next()}for(n=e.entries(),r=n.next();!r.done;){if(!ut(r.value[1],t.get(r.value[0])))return!1;r=n.next()}return!0}if(e.constructor===Set){if(e.size!==t.size)return!1;let n=e.entries();for(r=n.next();!r.done;){if(!t.has(r.value[0]))return!1;r=n.next()}return!0}if(e.buffer!=null&&e.buffer.constructor===ArrayBuffer){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();let i=Object.keys(e).filter(t=>e[t]!==void 0);if(n=i.length,n!==Object.keys(t).filter(e=>t[e]!==void 0).length)return!1;for(r=n;r--!==0;){let n=i[r];if(!ut(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function dt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function ft(e){return typeof e==`number`&&Number.isFinite(e)}var pt={},mt=!1;function ht(){mt=!0}var gt=[ke,$e,R,qe,it,st,lt];function _t(e,t){let n=O(e);n.config.globalProperties=t.config.globalProperties;let{reload:r,...i}=t._context;return Object.assign(n._context,i),n}function vt(e,t){t.forEach(t=>{t.install(e),t.__installed=!0})}function yt(e,t,n){e.config.globalProperties.$q=n.$q,e.provide(`_q_`,n.$q),vt(n,gt),t.components!==void 0&&Object.values(t.components).forEach(t=>{dt(t)&&t.name!==void 0&&e.component(t.name,t)}),t.directives!==void 0&&Object.values(t.directives).forEach(t=>{dt(t)&&t.name!==void 0&&e.directive(t.name,t)}),t.plugins!==void 0&&vt(n,Object.values(t.plugins).filter(e=>typeof e.install==`function`&&!gt.includes(e))),Ne.value&&(n.$q.onSSRHydrated=()=>{n.onSSRHydrated.forEach(e=>{e()}),n.$q.onSSRHydrated=()=>{}})}var bt={name:`Quasar`,version:`2.20.1`,install:function(e,t={}){let n={version:`2.20.1`};mt?n.config=t.config||{}:(t.config!==void 0&&Object.assign(pt,t.config),n.config={...pt},ht()),yt(e,t,{parentApp:e,$q:n,lang:t.lang,iconSet:t.iconSet,onSSRHydrated:[]})},lang:st,iconSet:lt},xt=F({name:`QCardSection`,props:{tag:{type:String,default:`div`},horizontal:Boolean},setup(e,{slots:t}){let n=N(()=>`q-card__section q-card__section--${e.horizontal?`horiz row no-wrap`:`vert`}`);return()=>f(e.tag,{class:n.value},I(t.default))}}),St={xs:2,sm:4,md:6,lg:10,xl:14};function Ct(e,t,n){return{transform:t?`translateX(${n.lang.rtl?`-`:``}100%) scale3d(${-e},1,1)`:`scale3d(${e},1,1)`}}var wt=F({name:`QLinearProgress`,props:{...we,...Ce,value:{type:Number,default:0},buffer:Number,color:String,trackColor:String,reverse:Boolean,stripe:Boolean,indeterminate:Boolean,query:Boolean,rounded:Boolean,animationSpeed:{type:[String,Number],default:2100},instantFeedback:Boolean},setup(e,{slots:n}){let{proxy:r}=t(),i=xe(e,r.$q),a=ve(e,St),o=N(()=>e.indeterminate||e.query),s=N(()=>e.reverse!==e.query),c=N(()=>({...a.value===null?{}:a.value,"--q-linear-progress-speed":`${e.animationSpeed}ms`})),l=N(()=>`q-linear-progress`+(e.color===void 0?``:` text-${e.color}`)+(e.reverse||e.query?` q-linear-progress--reverse`:``)+(e.rounded?` rounded-borders`:``)),u=N(()=>Ct(e.buffer===void 0?1:e.buffer,s.value,r.$q)),d=N(()=>`with${e.instantFeedback?`out`:``}-transition`),p=N(()=>`q-linear-progress__track absolute-full q-linear-progress__track--${d.value} q-linear-progress__track--${i.value?`dark`:`light`}`+(e.trackColor===void 0?``:` bg-${e.trackColor}`)),m=N(()=>Ct(o.value?1:e.value,s.value,r.$q)),h=N(()=>`q-linear-progress__model absolute-full q-linear-progress__model--${d.value} q-linear-progress__model--${o.value?`in`:``}determinate`),g=N(()=>({width:`${e.value*100}%`})),_=N(()=>`q-linear-progress__stripe absolute-${e.reverse?`right`:`left`} q-linear-progress__stripe--${d.value}`);return()=>{let t=[f(`div`,{class:p.value,style:u.value}),f(`div`,{class:h.value,style:m.value})];return e.stripe&&!o.value&&t.push(f(`div`,{class:_.value,style:g.value})),f(`div`,{class:l.value,style:c.value,role:`progressbar`,"aria-valuemin":0,"aria-valuemax":1,"aria-valuenow":e.indeterminate?void 0:e.value},ge(n.default,t))}}}),Tt=F({name:`QCard`,props:{...we,tag:{type:String,default:`div`},square:Boolean,flat:Boolean,bordered:Boolean},setup(e,{slots:n}){let{proxy:{$q:r}}=t(),i=xe(e,r),a=N(()=>`q-card`+(i.value?` q-card--dark q-dark`:``)+(e.bordered?` q-card--bordered`:``)+(e.square?` q-card--square no-border-radius`:``)+(e.flat?` q-card--flat no-shadow`:``));return()=>f(e.tag,{class:a.value},I(n.default))}});function Et(e,t,n){let r;function i(){r!==void 0&&(it.remove(r),r=void 0)}return s(()=>{e.value&&i()}),{removeFromHistory:i,addToHistory(){r={condition:()=>n.value,handler:t},it.add(r)}}}function Dt(e){if(Object(e.$parent)===e.$parent)return e.$parent;let{parent:t}=e.$;for(;Object(t)===t;){if(Object(t.proxy)===t.proxy)return t.proxy;t=t.parent}}function Ot(e,t){typeof t.type==`symbol`?Array.isArray(t.children)&&t.children.forEach(t=>{Ot(e,t)}):e.add(t)}function kt(e){let t=new Set;return e.forEach(e=>{Ot(t,e)}),[...t]}function At(e){return e.appContext.config.globalProperties.$router!==void 0}function jt(e){return e.isUnmounted===!0||e.isDeactivated===!0}function Mt(){let e=null,n=t();function r(){e!==null&&(clearTimeout(e),e=null)}return c(r),s(r),{removeTimeout:r,registerTimeout(t,i){r(),jt(n)||(e=setTimeout(()=>{e=null,t()},i))}}}function Nt(){let e,n=t();function r(){e=void 0}return c(r),s(r),{removeTick:r,registerTick(t){e=t,ee(()=>{e===t&&(jt(n)||e(),e=void 0)})}}}var Pt={modelValue:{type:Boolean,default:null},"onUpdate:modelValue":[Function,Array]},Ft=[`beforeShow`,`show`,`beforeHide`,`hide`];function It({showing:e,canShow:n,hideOnRouteChange:i,handleShow:a,handleHide:o,processOnMount:s}){let c=t(),{props:l,emit:u,proxy:d}=c,f;function m(t){e.value?_(t):h(t)}function h(e){if(l.disable||e?.qAnchorHandled===!0||n!==void 0&&!n(e))return;let t=l[`onUpdate:modelValue`]!==void 0;t&&(u(`update:modelValue`,!0),f=e,ee(()=>{f===e&&(f=void 0)})),(l.modelValue===null||!t)&&g(e)}function g(t){e.value||(e.value=!0,u(`beforeShow`,t),a===void 0?u(`show`,t):a(t))}function _(e){if(l.disable)return;let t=l[`onUpdate:modelValue`]!==void 0;t&&(u(`update:modelValue`,!1),f=e,ee(()=>{f===e&&(f=void 0)})),(l.modelValue===null||!t)&&v(e)}function v(t){e.value&&(e.value=!1,u(`beforeHide`,t),o===void 0?u(`hide`,t):o(t))}function y(t){l.disable&&t?l[`onUpdate:modelValue`]!==void 0&&u(`update:modelValue`,!1):t===!0!==e.value&&(t?g:v)(f)}p(()=>l.modelValue,y),i!==void 0&&At(c)&&p(()=>d.$route.fullPath,()=>{i.value&&e.value&&_()}),s&&r(()=>{y(l.modelValue)});let b={show:h,hide:_,toggle:m};return Object.assign(d,b),b}var Lt={transitionShow:{type:String,default:`fade`},transitionHide:{type:String,default:`fade`},transitionDuration:{type:[String,Number],default:300}};function Rt(e,t=()=>{},n=()=>{}){return{transitionProps:N(()=>{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:N(()=>`--q-transition-duration: ${e.transitionDuration}ms`)}}var zt=[];function Bt(e){return zt.find(t=>t.contentEl!==null&&t.contentEl.contains(e))}function Vt(e,t){do{if(e.$options.name===`QMenu`){if(e.hide(t),e.$props.separateClosePopup)return Dt(e)}else if(e.__qPortal){let n=Dt(e);return n?.$options.name===`QPopupProxy`?(e.hide(t),n):e}e=Dt(e)}while(e!=null)}function Ht(e,t,n){for(;n!==0&&e!=null;){if(e.__qPortal){if(n--,e.$options.name===`QMenu`){e=Vt(e,t);continue}e.hide(t)}e=Dt(e)}}var Ut=[],Wt=[],Gt=1,Kt=document.body;function qt(e,t){let n=document.createElement(`div`);if(n.id=t===void 0?e:`q-portal--${t}--${Gt++}`,pt.globalNodes!==void 0){let e=pt.globalNodes.class;e!==void 0&&(n.className=e)}return Kt.append(n),Ut.push(n),Wt.push(t),n}function Jt(e){let t=Ut.indexOf(e);Ut.splice(t,1),Wt.splice(t,1),e.remove()}var Yt=F({name:`QPortal`,setup(e,{slots:t}){return()=>t.default()}});function Xt(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 Zt(t,n,r,i){let o=e(!1),s=e(!1),c=null,l={},u=i===`dialog`&&Xt(t);function d(e){if(e){je(l),s.value=!0;return}s.value=!1,o.value||(!u&&c===null&&(c=qt(!1,i)),o.value=!0,zt.push(t.proxy),Pe(l))}function p(e){if(s.value=!1,!e)return;je(l),o.value=!1;let n=zt.indexOf(t.proxy);n!==-1&&zt.splice(n,1),c!==null&&(Jt(c),c=null)}return a(()=>{p(!0)}),t.proxy.__qPortal=!0,de(t.proxy,`contentEl`,()=>n.value),{showPortal:d,hidePortal:p,portalIsActive:o,portalIsAccessible:s,renderPortal:()=>u?r():o.value?[f(C,{to:c},f(Yt,r))]:void 0}}function Qt(e,t){let n=e.style;for(let e in t)n[e]=t[e]}function $t(e){if(e==null)return;if(typeof e==`string`)try{return document.querySelector(e)||void 0}catch{return}let t=k(e);if(t)return t.$el||t}function en(e,t){if(e==null||e.contains(t))return!0;for(let n=e.nextElementSibling;n!==null;n=n.nextElementSibling)if(n.contains(t))return!0;return!1}var tn=[Element,String],nn=[null,document,document.body,document.scrollingElement,document.documentElement];function rn(e,t){let n=$t(t);if(n===void 0){if(e==null)return window;n=e.closest(`.scroll,.scroll-y,.overflow-auto`)}return nn.includes(n)?window:n}function an(e){return e===window?window.pageYOffset||window.scrollY||document.body.scrollTop||0:e.scrollTop}function on(e){return e===window?window.pageXOffset||window.scrollX||document.body.scrollLeft||0:e.scrollLeft}function sn(e,t,n=0,r){let i=r===void 0?performance.now():r,a=an(e);if(n<=0){a!==t&&ln(e,t);return}requestAnimationFrame(r=>{let o=r-i,s=a+(t-a)/Math.max(o,n)*o;ln(e,s),s!==t&&sn(e,t,n-o,r)})}function cn(e,t,n=0,r){let i=r===void 0?performance.now():r,a=on(e);if(n<=0){a!==t&&un(e,t);return}requestAnimationFrame(r=>{let o=r-i,s=a+(t-a)/Math.max(o,n)*o;un(e,s),s!==t&&cn(e,t,n-o,r)})}function ln(e,t){if(e===window){window.scrollTo(window.pageXOffset||window.scrollX||document.body.scrollLeft||0,t);return}e.scrollTop=t}function un(e,t){if(e===window){window.scrollTo(t,window.pageYOffset||window.scrollY||document.body.scrollTop||0);return}e.scrollLeft=t}function dn(e,t,n){if(n){sn(e,t,n);return}ln(e,t)}function fn(e,t,n){if(n){cn(e,t,n);return}un(e,t)}var pn;function mn(){if(pn!==void 0)return pn;let e=document.createElement(`p`),t=document.createElement(`div`);Qt(e,{width:`100%`,height:`200px`}),Qt(t,{position:`absolute`,top:`0px`,left:`0px`,visibility:`hidden`,width:`200px`,height:`150px`,overflow:`hidden`}),t.append(e),document.body.append(t);let n=e.offsetWidth;t.style.overflow=`scroll`;let r=e.offsetWidth;return n===r&&(r=t.clientWidth),t.remove(),pn=n-r,pn}var hn=[`auto`,`scroll`];function gn(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`)||hn.includes(window.getComputedStyle(e)[`overflow-y`])):e.scrollWidth>e.clientWidth&&(e.classList.contains(`scroll`)||e.classList.contains(`overflow-auto`)||hn.includes(window.getComputedStyle(e)[`overflow-x`]))}var _n=0,vn,yn,bn,xn=!1,Sn,Cn,wn,Tn=null;function En(e){Dn(e)&&pe(e)}function Dn(e){if(e.target===document.body||e.target.classList.contains(`q-layout__backdrop`))return!0;let t=he(e),n=e.shiftKey&&!e.deltaX,r=!n&&Math.abs(e.deltaX)<=Math.abs(e.deltaY),i=n||r?e.deltaY:e.deltaX;for(let e=0;e<t.length;e++){let n=t[e];if(gn(n,r))return r?i<0&&n.scrollTop===0?!0:i>0&&n.scrollTop+n.clientHeight===n.scrollHeight:i<0&&n.scrollLeft===0?!0:i>0&&n.scrollLeft+n.clientWidth===n.scrollWidth}return!0}function On(e){e.target===document&&(document.scrollingElement.scrollTop=document.scrollingElement.scrollTop)}function kn(e){xn||(xn=!0,requestAnimationFrame(()=>{xn=!1;let{height:t}=e.target,{clientHeight:n,scrollTop:r}=document.scrollingElement;(bn===void 0||t!==window.innerHeight)&&(bn=n-t,document.scrollingElement.scrollTop=r),r>bn&&(document.scrollingElement.scrollTop-=Math.ceil((r-bn)/8))}))}function An(e){let t=document.body,n=window.visualViewport!==void 0;if(e===`add`){let{overflowY:e,overflowX:r}=window.getComputedStyle(t);vn=on(window),yn=an(window),Sn=t.style.left,Cn=t.style.top,wn=window.location.href,t.style.left=`-${vn}px`,t.style.top=`-${yn}px`,r!==`hidden`&&(r===`scroll`||t.scrollWidth>window.innerWidth)&&t.classList.add(`q-body--force-scrollbar-x`),e!==`hidden`&&(e===`scroll`||t.scrollHeight>window.innerHeight)&&t.classList.add(`q-body--force-scrollbar-y`),t.classList.add(`q-body--prevent-scroll`),document.qScrollPrevented=!0,L.is.ios&&(n?(window.scrollTo(0,0),window.visualViewport.addEventListener(`resize`,kn,P.passiveCapture),window.visualViewport.addEventListener(`scroll`,kn,P.passiveCapture),window.scrollTo(0,0)):window.addEventListener(`scroll`,On,P.passiveCapture))}L.is.desktop&&L.is.mac&&window[`${e}EventListener`](`wheel`,En,P.notPassive),e===`remove`&&(L.is.ios&&(n?(window.visualViewport.removeEventListener(`resize`,kn,P.passiveCapture),window.visualViewport.removeEventListener(`scroll`,kn,P.passiveCapture)):window.removeEventListener(`scroll`,On,P.passiveCapture)),t.classList.remove(`q-body--prevent-scroll`),t.classList.remove(`q-body--force-scrollbar-x`),t.classList.remove(`q-body--force-scrollbar-y`),document.qScrollPrevented=!1,t.style.left=Sn,t.style.top=Cn,window.location.href===wn&&window.scrollTo(vn,yn),bn=void 0)}function jn(e){let t=`add`;if(e===!0){if(_n++,Tn!==null){clearTimeout(Tn),Tn=null;return}if(_n>1)return}else{if(_n===0||(_n--,_n>0))return;if(t=`remove`,L.is.ios&&L.is.nativeMobile){Tn!==null&&clearTimeout(Tn),Tn=setTimeout(()=>{An(t),Tn=null},100);return}}An(t)}function Mn(){let e;return{preventBodyScroll(t){t!==e&&(e!==void 0||t)&&(e=t,jn(t))}}}var Nn=[],Pn;function Fn(e){Pn=e.keyCode===27}function In(){Pn&&=!1}function Ln(e){Pn&&(Pn=!1,_e(e,27)&&Nn.at(-1)(e))}function Rn(e){window[e](`keydown`,Fn),window[e](`blur`,In),window[e](`keyup`,Ln),Pn=!1}function zn(e){L.is.desktop&&(Nn.push(e),Nn.length===1&&Rn(`addEventListener`))}function Bn(e){let t=Nn.indexOf(e);t!==-1&&(Nn.splice(t,1),Nn.length===0&&Rn(`removeEventListener`))}var Vn=[];function Hn(e){Vn.at(-1)(e)}function Un(e){L.is.desktop&&(Vn.push(e),Vn.length===1&&document.body.addEventListener(`focusin`,Hn))}function Wn(e){let t=Vn.indexOf(e);t!==-1&&(Vn.splice(t,1),Vn.length===0&&document.body.removeEventListener(`focusin`,Hn))}var Gn=0,Kn={standard:`fixed-full flex-center`,top:`fixed-top justify-center`,bottom:`fixed-bottom justify-center`,right:`fixed-right items-center`,left:`fixed-left items-center`},qn={standard:[`scale`,`scale`],top:[`slide-down`,`slide-up`],bottom:[`slide-up`,`slide-down`],right:[`slide-left`,`slide-right`],left:[`slide-right`,`slide-left`]},Jn=F({name:`QDialog`,inheritAttrs:!1,props:{...Pt,...Lt,transitionShow:String,transitionHide:String,persistent:Boolean,autoClose:Boolean,allowFocusOutside:Boolean,noEscDismiss:Boolean,noBackdropDismiss:Boolean,noRouteDismiss:Boolean,noRefocus:Boolean,noFocus:Boolean,noShake:Boolean,seamless:Boolean,maximized:Boolean,fullWidth:Boolean,fullHeight:Boolean,square:Boolean,backdropFilter:String,position:{type:String,default:`standard`,validator:e=>[`standard`,`top`,`bottom`,`left`,`right`].includes(e)}},emits:[...Ft,`shake`,`click`,`escapeKey`],setup(n,{slots:r,emit:i,attrs:a}){let o=t(),c=e(null),l=e(!1),u=e(!1),d=null,m=null,h=!1,g=!1,_=N(()=>!n.persistent&&!n.noRouteDismiss&&!n.seamless),{preventBodyScroll:v}=Mn(),{registerTimeout:y}=Mt(),{registerTick:b,removeTick:x}=Nt(),{transitionProps:S,transitionStyle:C}=Rt(n,()=>qn[n.position][0],()=>qn[n.position][1]),w=N(()=>C.value+(n.backdropFilter===void 0?``:`;backdrop-filter:${n.backdropFilter};-webkit-backdrop-filter:${n.backdropFilter}`)),{showPortal:T,hidePortal:E,portalIsAccessible:D,renderPortal:O}=Zt(o,c,pe,`dialog`),{hide:k}=It({showing:l,hideOnRouteChange:_,handleShow:ie,handleHide:ae,processOnMount:!0}),{addToHistory:ee,removeFromHistory:A}=Et(l,k,_),j=N(()=>`q-dialog__inner flex no-pointer-events q-dialog__inner--${n.maximized?`maximized`:`minimized`} q-dialog__inner--${n.position} ${Kn[n.position]}`+(u.value?` q-dialog__inner--animating`:``)+(n.fullWidth?` q-dialog__inner--fullwidth`:``)+(n.fullHeight?` q-dialog__inner--fullheight`:``)+(n.square?` q-dialog__inner--square`:``)),M=N(()=>l.value&&!n.seamless),ne=N(()=>n.autoClose?{onClick:ue}:{}),re=N(()=>[`q-dialog fullscreen no-pointer-events q-dialog--${M.value?`modal`:`seamless`}`,a.class]);p(()=>n.maximized,e=>{l.value&&le(e)}),p(M,e=>{v(e),e?(Un(fe),zn(ce)):(Wn(fe),Bn(ce))});function ie(e){ee(),m=!n.noRefocus&&document.activeElement!==null?document.activeElement:null,le(n.maximized),T(),u.value=!0,n.noFocus?x():(document.activeElement?.blur(),b(oe)),y(()=>{if(o.proxy.$q.platform.is.ios){if(!n.seamless&&document.activeElement){let{top:e,bottom:t}=document.activeElement.getBoundingClientRect(),{innerHeight:n}=window,r=window.visualViewport===void 0?n:window.visualViewport.height;e>0&&t>r/2&&(document.scrollingElement.scrollTop=Math.min(document.scrollingElement.scrollHeight-r,t>=n?1/0:Math.ceil(document.scrollingElement.scrollTop+t-r/2))),document.activeElement.scrollIntoView()}g=!0,c.value.click(),g=!1}T(!0),u.value=!1,i(`show`,e)},n.transitionDuration)}function ae(e){x(),A(),P(!0),u.value=!0,E(),m!==null&&(((e?.type.indexOf(`key`)===0?m.closest(`[tabindex]:not([tabindex^="-"])`):void 0)||m).focus(),m=null),y(()=>{E(!0),u.value=!1,i(`hide`,e)},n.transitionDuration)}function oe(e){Me(()=>{let t=c.value;if(t!==null){if(e!==void 0){let n=t.querySelector(e);if(n!==null){n.focus({preventScroll:!0});return}}t.contains(document.activeElement)||(t=t.querySelector(`[autofocus][tabindex], [data-autofocus][tabindex]`)||t.querySelector(`[autofocus] [tabindex], [data-autofocus] [tabindex]`)||t.querySelector(`[autofocus], [data-autofocus]`)||t,t.focus({preventScroll:!0}))}})}function se(e){e&&typeof e.focus==`function`?e.focus({preventScroll:!0}):oe(),i(`shake`);let t=c.value;t!==null&&(t.classList.remove(`q-animate--scale`),t.classList.add(`q-animate--scale`),d!==null&&clearTimeout(d),d=setTimeout(()=>{d=null,c.value!==null&&(t.classList.remove(`q-animate--scale`),oe())},170))}function ce(){n.seamless||(n.persistent||n.noEscDismiss?!n.maximized&&!n.noShake&&se():(i(`escapeKey`),k()))}function P(e){d!==null&&(clearTimeout(d),d=null),(e||l.value)&&(le(!1),n.seamless||(v(!1),Wn(fe),Bn(ce))),e||(m=null)}function le(e){e?h||=(Gn<1&&document.body.classList.add(`q-body--dialog`),Gn++,!0):h&&=(Gn<2&&document.body.classList.remove(`q-body--dialog`),Gn--,!1)}function ue(e){g||(k(e),i(`click`,e))}function de(e){!n.persistent&&!n.noBackdropDismiss?k(e):n.noShake||se()}function fe(e){!n.allowFocusOutside&&D.value&&!en(c.value,e.target)&&oe(`[tabindex]:not([tabindex="-1"])`)}Object.assign(o.proxy,{focus:oe,shake:se,__updateRefocusTarget(e){m=e||null}}),s(P);function pe(){return f(`div`,{role:`dialog`,"aria-modal":M.value?`true`:`false`,...a,class:re.value},[f(te,{name:`q-transition--fade`,appear:!0},()=>M.value?f(`div`,{class:`q-dialog__backdrop fixed-full`,style:w.value,"aria-hidden":`true`,onClick:de}):null),f(te,S.value,()=>l.value?f(`div`,{ref:c,class:j.value,style:C.value,tabindex:-1,...ne.value},I(r.default)):null)])}return O}}),Yn=Oe(`migration`,()=>{let t=e({state:`idle`});async function n(){try{let e=await fetch(`/api/migration/status`);if(!e.ok)return;t.value=await e.json()}catch{}}function r(e){t.value={...e}}return{status:t,fetchInitial:n,update:r}});function Xn(e,t){typeof console<`u`&&(console.warn(`[intlify] `+e),t&&console.warn(t.stack))}var Zn=typeof window<`u`,Qn=(e,t=!1)=>t?Symbol.for(e):Symbol(e),$n=(e,t,n)=>er({l:e,k:t,s:n}),er=e=>JSON.stringify(e).replace(/\u2028/g,`\\u2028`).replace(/\u2029/g,`\\u2029`).replace(/\u0027/g,`\\u0027`),z=e=>typeof e==`number`&&isFinite(e),tr=e=>yr(e)===`[object Date]`,nr=e=>yr(e)===`[object RegExp]`,rr=e=>q(e)&&Object.keys(e).length===0,B=Object.assign,ir=Object.create,V=(e=null)=>ir(e),ar,or=()=>ar||=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:V();function sr(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&apos;`).replace(/\//g,`&#x2F;`).replace(/=/g,`&#x3D;`)}function cr(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,`&amp;`).replace(/"/g,`&quot;`).replace(/'/g,`&apos;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)}var lr=/^\s*javascript\s*(?::|&#0*58;?|&#x0*3a;?|&colon;?)/i,ur=/^(?:href|src|action|formaction)$/i;function dr(e){return lr.test(e)}function fr(e){let t=/url\s*\(/gi,n=``,r=0,i;for(;(i=t.exec(e))!==null;){let a=i.index,o=t.lastIndex-1,s=o+1,c=1,l=null;for(;s<e.length;s++){let t=e[s];if(l){t===l&&(l=null);continue}if(t===`"`||t===`'`)l=t;else if(t===`(`)c++;else if(t===`)`&&(c--,c===0))break}if(c!==0)break;let u=e.slice(o+1,s).trim(),d=u.startsWith(`"`)&&u.endsWith(`"`)||u.startsWith(`'`)&&u.endsWith(`'`)?u.slice(1,-1).trim():u;n+=e.slice(r,a),n+=dr(d)?`url(about:blank)`:e.slice(a,s+1),r=s+1}return n+e.slice(r)}function pr(e,t){return ur.test(e)&&dr(t)?`about:blank`:cr(e.toLowerCase()===`style`?fr(t):t)}function mr(e){return e=e.replace(/([\w:-]+)\s*=\s*"([^"]*)"/g,(e,t,n)=>`${t}="${pr(t,n)}"`),e=e.replace(/([\w:-]+)\s*=\s*'([^']*)'/g,(e,t,n)=>`${t}='${pr(t,n)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,`$1&#111;n$3`)),e=e.replace(/(\s+(?:href|src|action|formaction)\s*=\s*)([^\s"'=<>`]+)/gi,(e,t,n)=>dr(n)?`${t}about:blank`:e),e}var hr=Object.prototype.hasOwnProperty;function gr(e,t){return hr.call(e,t)}var H=Array.isArray,U=e=>typeof e==`function`,W=e=>typeof e==`string`,G=e=>typeof e==`boolean`,K=e=>typeof e==`object`&&!!e,_r=e=>K(e)&&U(e.then)&&U(e.catch),vr=Object.prototype.toString,yr=e=>vr.call(e),q=e=>yr(e)===`[object Object]`,br=e=>e==null?``:H(e)||q(e)&&e.toString===vr?JSON.stringify(e,null,2):String(e);function xr(e,t=``){return e.reduce((e,n,r)=>r===0?e+n:e+t+n,``)}var Sr=e=>!K(e)||H(e);function Cr(e,t){if(Sr(e)||Sr(t))throw Error(`Invalid value`);let n=[{src:e,des:t}];for(;n.length;){let{src:e,des:t}=n.pop();Object.keys(e).forEach(r=>{r!==`__proto__`&&(K(e[r])&&!K(t[r])&&(t[r]=Array.isArray(e[r])?[]:V()),Sr(t[r])||Sr(e[r])?t[r]=e[r]:n.push({src:e[r],des:t[r]}))})}}function wr(e,t,n){return{line:e,column:t,offset:n}}function Tr(e,t,n){let r={start:e,end:t};return n!=null&&(r.source=n),r}var J={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16};J.EXPECTED_TOKEN,J.INVALID_TOKEN_IN_PLACEHOLDER,J.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,J.UNKNOWN_ESCAPE_SEQUENCE,J.INVALID_UNICODE_ESCAPE_SEQUENCE,J.UNBALANCED_CLOSING_BRACE,J.UNTERMINATED_CLOSING_BRACE,J.EMPTY_PLACEHOLDER,J.NOT_ALLOW_NEST_PLACEHOLDER,J.INVALID_LINKED_FORMAT,J.MUST_HAVE_MESSAGES_IN_PLURAL,J.UNEXPECTED_EMPTY_LINKED_MODIFIER,J.UNEXPECTED_EMPTY_LINKED_KEY,J.UNEXPECTED_LEXICAL_ANALYSIS,J.UNHANDLED_CODEGEN_NODE_TYPE,J.UNHANDLED_MINIFIER_NODE_TYPE;function Er(e,t,n={}){let{domain:r,messages:i,args:a}=n,o=SyntaxError(String(e));return o.code=e,t&&(o.location=t),o.domain=r,o}function Dr(e){throw e}var Or=` `,kr=`\r`,Y=`
3
3
  `,Ar=`\u2028`,jr=`\u2029`;function Mr(e){let t=e,n=0,r=1,i=1,a=0,o=e=>t[e]===kr&&t[e+1]===Y,s=e=>t[e]===Y,c=e=>t[e]===jr,l=e=>t[e]===Ar,u=e=>o(e)||s(e)||c(e)||l(e),d=()=>n,f=()=>r,p=()=>i,m=()=>a,h=e=>o(e)||c(e)||l(e)?Y:t[e],g=()=>h(n),_=()=>h(n+a);function v(){return a=0,u(n)&&(r++,i=0),o(n)&&n++,n++,i++,t[n]}function y(){return o(n+a)&&a++,a++,t[n+a]}function b(){n=0,r=1,i=1,a=0}function x(e=0){a=e}function S(){let e=n+a;for(;e!==n;)v();a=0}return{index:d,line:f,column:p,peekOffset:m,charAt:h,currentChar:g,currentPeek:_,next:v,peek:y,reset:b,resetPeek:x,skipToPeek:S}}var Nr=void 0,Pr=`'`,Fr=`tokenizer`;function Ir(e,t={}){let n=t.location!==!1,r=Mr(e),i=()=>r.index(),a=()=>wr(r.line(),r.column(),r.index()),o=a(),s=i(),c={currentType:13,offset:s,startLoc:o,endLoc:o,lastType:13,lastOffset:s,lastStartLoc:o,lastEndLoc:o,braceNest:0,inLinked:!1,text:``},l=()=>c,{onError:u}=t;function d(e,t,r,...i){let a=l();t.column+=r,t.offset+=r,u&&u(Er(e,n?Tr(a.startLoc,t):null,{domain:Fr,args:i}))}function f(e,t,r){e.endLoc=a(),e.currentType=t;let i={type:t};return n&&(i.loc=Tr(e.startLoc,e.endLoc)),r!=null&&(i.value=r),i}let p=e=>f(e,13);function m(e,t){return e.currentChar()===t?(e.next(),t):(d(J.EXPECTED_TOKEN,a(),0,t),``)}function h(e){let t=``;for(;e.currentPeek()===Or||e.currentPeek()===Y;)t+=e.currentPeek(),e.peek();return t}function g(e){let t=h(e);return e.skipToPeek(),t}function _(e){if(e===Nr)return!1;let t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||t===95}function v(e){if(e===Nr)return!1;let t=e.charCodeAt(0);return t>=48&&t<=57}function y(e,t){let{currentType:n}=t;if(n!==2)return!1;h(e);let r=_(e.currentPeek());return e.resetPeek(),r}function b(e,t){let{currentType:n}=t;if(n!==2)return!1;h(e);let r=v(e.currentPeek()===`-`?e.peek():e.currentPeek());return e.resetPeek(),r}function x(e,t){let{currentType:n}=t;if(n!==2)return!1;h(e);let r=e.currentPeek()===Pr;return e.resetPeek(),r}function S(e,t){let{currentType:n}=t;if(n!==7)return!1;h(e);let r=e.currentPeek()===`.`;return e.resetPeek(),r}function C(e,t){let{currentType:n}=t;if(n!==8)return!1;h(e);let r=_(e.currentPeek());return e.resetPeek(),r}function w(e,t){let{currentType:n}=t;if(!(n===7||n===11))return!1;h(e);let r=e.currentPeek()===`:`;return e.resetPeek(),r}function T(e,t){let{currentType:n}=t;if(n!==9)return!1;let r=()=>{let t=e.currentPeek();return t===`{`?_(e.peek()):t===`@`||t===`|`||t===`:`||t===`.`||t===Or||!t?!1:t===Y?(e.peek(),r()):D(e,!1)},i=r();return e.resetPeek(),i}function E(e){h(e);let t=e.currentPeek()===`|`;return e.resetPeek(),t}function D(e,t=!0){let n=(t=!1,r=``)=>{let i=e.currentPeek();return i===`{`||i===`@`||!i?t:i===`|`?!(r===Or||r===Y):i===Or?(e.peek(),n(!0,Or)):i===Y?(e.peek(),n(!0,Y)):!0},r=n();return t&&e.resetPeek(),r}function O(e,t){let n=e.currentChar();if(n!==Nr)return t(n)?(e.next(),n):null}function k(e){let t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||t>=48&&t<=57||t===95||t===36}function ee(e){return O(e,k)}function A(e){let t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||t>=48&&t<=57||t===95||t===36||t===45}function te(e){return O(e,A)}function j(e){let t=e.charCodeAt(0);return t>=48&&t<=57}function M(e){return O(e,j)}function N(e){let t=e.charCodeAt(0);return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}function ne(e){return O(e,N)}function re(e){let t=``,n=``;for(;t=M(e);)n+=t;return n}function ie(e){let t=``;for(;;){let n=e.currentChar();if(n===`\\`){let r=e.peek();r===`{`||r===`}`||r===`@`||r===`|`||r===`\\`?(t+=n+r,e.next(),e.next()):(e.resetPeek(),t+=n,e.next())}else if(n===`{`||n===`}`||n===`@`||n===`|`||!n)break;else if(n===Or||n===Y)if(D(e))t+=n,e.next();else if(E(e))break;else t+=n,e.next();else t+=n,e.next()}return t}function ae(e){g(e);let t=``,n=``;for(;t=te(e);)n+=t;let r=e.currentChar();if(r&&r!==`}`&&r!==Nr&&r!==Or&&r!==Y&&r!==` `){let t=de(e);return d(J.INVALID_TOKEN_IN_PLACEHOLDER,a(),0,n+t),n+t}return e.currentChar()===Nr&&d(J.UNTERMINATED_CLOSING_BRACE,a(),0),n}function oe(e){g(e);let t=``;return e.currentChar()===`-`?(e.next(),t+=`-${re(e)}`):t+=re(e),e.currentChar()===Nr&&d(J.UNTERMINATED_CLOSING_BRACE,a(),0),t}function se(e){return e!==Pr&&e!==Y}function ce(e){g(e),m(e,`'`);let t=``,n=``;for(;t=O(e,se);)t===`\\`?n+=P(e):n+=t;let r=e.currentChar();return r===Y||r===Nr?(d(J.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,a(),0),r===Y&&(e.next(),m(e,`'`)),n):(m(e,`'`),n)}function P(e){let t=e.currentChar();switch(t){case`\\`:case`'`:return e.next(),`\\${t}`;case`u`:return le(e,t,4);case`U`:return le(e,t,6);default:return d(J.UNKNOWN_ESCAPE_SEQUENCE,a(),0,t),``}}function le(e,t,n){m(e,t);let r=``;for(let i=0;i<n;i++){let n=ne(e);if(!n){d(J.INVALID_UNICODE_ESCAPE_SEQUENCE,a(),0,`\\${t}${r}${e.currentChar()}`);break}r+=n}return`\\${t}${r}`}function ue(e){return e!==`{`&&e!==`}`&&e!==Or&&e!==Y}function de(e){g(e);let t=``,n=``;for(;t=O(e,ue);)n+=t;return n}function fe(e){let t=``,n=``;for(;t=ee(e);)n+=t;return n}function pe(e){let t=n=>{let r=e.currentChar();return r===`{`||r===`@`||r===`|`||r===`(`||r===`)`||!r||r===Or?n:(n+=r,e.next(),t(n))};return t(``)}function me(e){g(e);let t=m(e,`|`);return g(e),t}function F(e,t){let n=null;switch(e.currentChar()){case`{`:return t.braceNest>=1&&d(J.NOT_ALLOW_NEST_PLACEHOLDER,a(),0),e.next(),n=f(t,2,`{`),g(e),t.braceNest++,n;case`}`:return t.braceNest>0&&t.currentType===2&&d(J.EMPTY_PLACEHOLDER,a(),0),e.next(),n=f(t,3,`}`),t.braceNest--,t.braceNest>0&&g(e),t.inLinked&&t.braceNest===0&&(t.inLinked=!1),n;case`@`:return t.braceNest>0&&d(J.UNTERMINATED_CLOSING_BRACE,a(),0),n=he(e,t)||p(t),t.braceNest=0,n;default:{let r=!0,i=!0,o=!0;if(E(e))return t.braceNest>0&&d(J.UNTERMINATED_CLOSING_BRACE,a(),0),n=f(t,1,me(e)),t.braceNest=0,t.inLinked=!1,n;if(t.braceNest>0&&(t.currentType===4||t.currentType===5||t.currentType===6))return d(J.UNTERMINATED_CLOSING_BRACE,a(),0),t.braceNest=0,ge(e,t);if(r=y(e,t))return n=f(t,4,ae(e)),g(e),n;if(i=b(e,t))return n=f(t,5,oe(e)),g(e),n;if(o=x(e,t))return n=f(t,6,ce(e)),g(e),n;if(!r&&!i&&!o)return n=f(t,12,de(e)),d(J.INVALID_TOKEN_IN_PLACEHOLDER,a(),0,n.value),g(e),n;break}}return n}function he(e,t){let{currentType:n}=t,r=null,i=e.currentChar();switch((n===7||n===8||n===11||n===9)&&(i===Y||i===Or)&&d(J.INVALID_LINKED_FORMAT,a(),0),i){case`@`:return e.next(),r=f(t,7,`@`),t.inLinked=!0,r;case`.`:return g(e),e.next(),f(t,8,`.`);case`:`:return g(e),e.next(),f(t,9,`:`);default:return E(e)?(r=f(t,1,me(e)),t.braceNest=0,t.inLinked=!1,r):S(e,t)||w(e,t)?(g(e),he(e,t)):C(e,t)?(g(e),f(t,11,fe(e))):T(e,t)?(g(e),i===`{`?F(e,t)||r:f(t,10,pe(e))):(n===7&&d(J.INVALID_LINKED_FORMAT,a(),0),t.braceNest=0,t.inLinked=!1,ge(e,t))}}function ge(e,t){let n={type:13};if(t.braceNest>0)return F(e,t)||p(t);if(t.inLinked)return he(e,t)||p(t);switch(e.currentChar()){case`{`:return F(e,t)||p(t);case`}`:return d(J.UNBALANCED_CLOSING_BRACE,a(),0),e.next(),f(t,3,`}`);case`@`:return he(e,t)||p(t);default:if(E(e))return n=f(t,1,me(e)),t.braceNest=0,t.inLinked=!1,n;if(D(e))return f(t,0,ie(e));break}return n}function _e(){let{currentType:e,offset:t,startLoc:n,endLoc:o}=c;return c.lastType=e,c.lastOffset=t,c.lastStartLoc=n,c.lastEndLoc=o,c.offset=i(),c.startLoc=a(),r.currentChar()===Nr?f(c,13):ge(r,c)}return{nextToken:_e,currentOffset:i,currentPosition:a,context:l}}var Lr=`parser`,Rr=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g,zr=/\\([\\@{}|])/g;function Br(e,t){return t}function Vr(e,t,n){switch(e){case`\\\\`:return`\\`;case`\\'`:return`'`;default:{let e=parseInt(t||n,16);return e<=55295||e>=57344?String.fromCodePoint(e):`�`}}}function Hr(e={}){let t=e.location!==!1,{onError:n}=e;function r(e,r,i,a,...o){let s=e.currentPosition();s.offset+=a,s.column+=a,n&&n(Er(r,t?Tr(i,s):null,{domain:Lr,args:o}))}function i(e,n,r){let i={type:e};return t&&(i.start=n,i.end=n,i.loc={start:r,end:r}),i}function a(e,n,r,i){t&&(e.end=n,e.loc&&(e.loc.end=r))}function o(e,t){let n=e.context(),r=i(3,n.offset,n.startLoc);return r.value=t.replace(zr,Br),a(r,e.currentOffset(),e.currentPosition()),r}function s(e,t){let{lastOffset:n,lastStartLoc:r}=e.context(),o=i(5,n,r);return o.index=parseInt(t,10),e.nextToken(),a(o,e.currentOffset(),e.currentPosition()),o}function c(e,t){let{lastOffset:n,lastStartLoc:r}=e.context(),o=i(4,n,r);return o.key=t,e.nextToken(),a(o,e.currentOffset(),e.currentPosition()),o}function l(e,t){let{lastOffset:n,lastStartLoc:r}=e.context(),o=i(9,n,r);return o.value=t.replace(Rr,Vr),e.nextToken(),a(o,e.currentOffset(),e.currentPosition()),o}function u(e){let t=e.nextToken(),n=e.context(),{lastOffset:o,lastStartLoc:s}=n,c=i(8,o,s);return t.type===11?(t.value??r(e,J.UNEXPECTED_LEXICAL_ANALYSIS,n.lastStartLoc,0,Ur(t)),c.value=t.value||``,a(c,e.currentOffset(),e.currentPosition()),{node:c}):(r(e,J.UNEXPECTED_EMPTY_LINKED_MODIFIER,n.lastStartLoc,0),c.value=``,a(c,o,s),{nextConsumeToken:t,node:c})}function d(e,t){let n=e.context(),r=i(7,n.offset,n.startLoc);return r.value=t,a(r,e.currentOffset(),e.currentPosition()),r}function f(e){let t=e.context(),n=i(6,t.offset,t.startLoc),o=e.nextToken();if(o.type===8){let t=u(e);n.modifier=t.node,o=t.nextConsumeToken||e.nextToken()}switch(o.type!==9&&r(e,J.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,0,Ur(o)),o=e.nextToken(),o.type===2&&(o=e.nextToken()),o.type){case 10:o.value??r(e,J.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,0,Ur(o)),n.key=d(e,o.value||``);break;case 4:o.value??r(e,J.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,0,Ur(o)),n.key=c(e,o.value||``);break;case 5:o.value??r(e,J.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,0,Ur(o)),n.key=s(e,o.value||``);break;case 6:o.value??r(e,J.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,0,Ur(o)),n.key=l(e,o.value||``);break;default:{r(e,J.UNEXPECTED_EMPTY_LINKED_KEY,t.lastStartLoc,0);let s=e.context(),c=i(7,s.offset,s.startLoc);return c.value=``,a(c,s.offset,s.startLoc),n.key=c,a(n,s.offset,s.startLoc),{nextConsumeToken:o,node:n}}}return a(n,e.currentOffset(),e.currentPosition()),{node:n}}function p(e){let t=e.context(),n=i(2,t.currentType===1?e.currentOffset():t.offset,t.currentType===1?t.endLoc:t.startLoc);n.items=[];let u=null;do{let i=u||e.nextToken();switch(u=null,i.type){case 0:i.value??r(e,J.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,0,Ur(i)),n.items.push(o(e,i.value||``));break;case 5:i.value??r(e,J.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,0,Ur(i)),n.items.push(s(e,i.value||``));break;case 4:i.value??r(e,J.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,0,Ur(i)),n.items.push(c(e,i.value||``));break;case 6:i.value??r(e,J.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,0,Ur(i)),n.items.push(l(e,i.value||``));break;case 7:{let t=f(e);n.items.push(t.node),u=t.nextConsumeToken||null;break}}}while(t.currentType!==13&&t.currentType!==1);return a(n,t.currentType===1?t.lastOffset:e.currentOffset(),t.currentType===1?t.lastEndLoc:e.currentPosition()),n}function m(e,t,n,o){let s=e.context(),c=o.items.length===0,l=i(1,t,n);l.cases=[],l.cases.push(o);do{let t=p(e);c||=t.items.length===0,l.cases.push(t)}while(s.currentType!==13);return c&&r(e,J.MUST_HAVE_MESSAGES_IN_PLURAL,n,0),a(l,e.currentOffset(),e.currentPosition()),l}function h(e){let t=e.context(),{offset:n,startLoc:r}=t,i=p(e);return t.currentType===13?i:m(e,n,r,i)}function g(n){let o=Ir(n,B({},e)),s=o.context(),c=i(0,s.offset,s.startLoc);return t&&c.loc&&(c.loc.source=n),c.body=h(o),e.onCacheKey&&(c.cacheKey=e.onCacheKey(n)),s.currentType!==13&&r(o,J.UNEXPECTED_LEXICAL_ANALYSIS,s.lastStartLoc,0,n[s.offset]||``),a(c,o.currentOffset(),o.currentPosition()),c}return{parse:g}}function Ur(e){if(e.type===13)return`EOF`;let t=(e.value||``).replace(/\r?\n/gu,`\\n`);return t.length>10?t.slice(0,9)+`…`:t}function Wr(e,t={}){let n={ast:e,helpers:new Set};return{context:()=>n,helper:e=>(n.helpers.add(e),e)}}function Gr(e,t){for(let n=0;n<e.length;n++)Kr(e[n],t)}function Kr(e,t){switch(e.type){case 1:Gr(e.cases,t),t.helper(`plural`);break;case 2:Gr(e.items,t);break;case 6:Kr(e.key,t),t.helper(`linked`),t.helper(`type`);break;case 5:t.helper(`interpolate`),t.helper(`list`);break;case 4:t.helper(`interpolate`),t.helper(`named`);break}}function qr(e,t={}){let n=Wr(e);n.helper(`normalize`),e.body&&Kr(e.body,n);let r=n.context();e.helpers=Array.from(r.helpers)}function Jr(e){let t=e.body;return t.type===2?Yr(t):t.cases.forEach(e=>Yr(e)),e}function Yr(e){if(e.items.length===1){let t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{let t=[];for(let n=0;n<e.items.length;n++){let r=e.items[n];if(!(r.type===3||r.type===9)||r.value==null)break;t.push(r.value)}if(t.length===e.items.length){e.static=xr(t);for(let t=0;t<e.items.length;t++){let n=e.items[t];(n.type===3||n.type===9)&&delete n.value}}}}function Xr(e){switch(e.t=e.type,e.type){case 0:{let t=e;Xr(t.body),t.b=t.body,delete t.body;break}case 1:{let t=e,n=t.cases;for(let e=0;e<n.length;e++)Xr(n[e]);t.c=n,delete t.cases;break}case 2:{let t=e,n=t.items;for(let e=0;e<n.length;e++)Xr(n[e]);t.i=n,delete t.items,t.static&&(t.s=t.static,delete t.static);break}case 3:case 9:case 8:case 7:{let t=e;t.value&&(t.v=t.value,delete t.value);break}case 6:{let t=e;Xr(t.key),t.k=t.key,delete t.key,t.modifier&&(Xr(t.modifier),t.m=t.modifier,delete t.modifier);break}case 5:{let t=e;t.i=t.index,delete t.index;break}case 4:{let t=e;t.k=t.key,delete t.key;break}default:}delete e.type}function Zr(e,t){let{filename:n,breakLineCode:r,needIndent:i}=t,a=t.location!==!1,o={filename:n,code:``,column:1,line:1,offset:0,map:void 0,breakLineCode:r,needIndent:i,indentLevel:0};a&&e.loc&&(o.source=e.loc.source);let s=()=>o;function c(e,t){o.code+=e}function l(e,t=!0){let n=t?r:``;c(i?n+` `.repeat(e):n)}function u(e=!0){let t=++o.indentLevel;e&&l(t)}function d(e=!0){let t=--o.indentLevel;e&&l(t)}function f(){l(o.indentLevel)}return{context:s,push:c,indent:u,deindent:d,newline:f,helper:e=>`_${e}`,needIndent:()=>o.needIndent}}function Qr(e,t){let{helper:n}=e;e.push(`${n(`linked`)}(`),ni(e,t.key),t.modifier?(e.push(`, `),ni(e,t.modifier),e.push(`, _type`)):e.push(`, undefined, _type`),e.push(`)`)}function $r(e,t){let{helper:n,needIndent:r}=e;e.push(`${n(`normalize`)}([`),e.indent(r());let i=t.items.length;for(let n=0;n<i&&(ni(e,t.items[n]),n!==i-1);n++)e.push(`, `);e.deindent(r()),e.push(`])`)}function ei(e,t){let{helper:n,needIndent:r}=e;if(t.cases.length>1){e.push(`${n(`plural`)}([`),e.indent(r());let i=t.cases.length;for(let n=0;n<i&&(ni(e,t.cases[n]),n!==i-1);n++)e.push(`, `);e.deindent(r()),e.push(`])`)}}function ti(e,t){t.body?ni(e,t.body):e.push(`null`)}function ni(e,t){let{helper:n}=e;switch(t.type){case 0:ti(e,t);break;case 1:ei(e,t);break;case 2:$r(e,t);break;case 6:Qr(e,t);break;case 8:e.push(JSON.stringify(t.value),t);break;case 7:e.push(JSON.stringify(t.value),t);break;case 5:e.push(`${n(`interpolate`)}(${n(`list`)}(${t.index}))`,t);break;case 4:e.push(`${n(`interpolate`)}(${n(`named`)}(${JSON.stringify(t.key)}))`,t);break;case 9:e.push(JSON.stringify(t.value),t);break;case 3:e.push(JSON.stringify(t.value),t);break;default:}}var ri=(e,t={})=>{let n=W(t.mode)?t.mode:`normal`,r=W(t.filename)?t.filename:`message.intl`;t.sourceMap;let i=t.breakLineCode==null?n===`arrow`?`;`:`
4
4
  `:t.breakLineCode,a=t.needIndent?t.needIndent:n!==`arrow`,o=e.helpers||[],s=Zr(e,{filename:r,breakLineCode:i,needIndent:a});s.push(n===`normal`?`function __msg__ (ctx) {`:`(ctx) => {`),s.indent(a),o.length>0&&(s.push(`const { ${xr(o.map(e=>`${e}: _${e}`),`, `)} } = ctx`),s.newline()),s.push(`return `),ni(s,e),s.deindent(a),s.push(`}`),delete e.helpers;let{code:c,map:l}=s.context();return{ast:e,code:c,map:l?l.toJSON():void 0}};function ii(e,t={}){let n=B({},t),r=!!n.jit,i=!!n.minify,a=n.optimize==null?!0:n.optimize,o=Hr(n).parse(e);return r?(a&&Jr(o),i&&Xr(o),{ast:o,code:``}):(qr(o,n),ri(o,n))}function ai(){typeof __INTLIFY_DROP_MESSAGE_COMPILER__!=`boolean`&&(or().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function oi(e){return K(e)&&gi(e)===0&&(gr(e,`b`)||gr(e,`body`))}var si=[`b`,`body`];function ci(e){return Ci(e,si)}var li=[`c`,`cases`];function ui(e){return Ci(e,li,[])}var di=[`s`,`static`];function fi(e){return Ci(e,di)}var pi=[`i`,`items`];function mi(e){return Ci(e,pi,[])}var hi=[`t`,`type`];function gi(e){return Ci(e,hi)}var _i=[`v`,`value`];function vi(e,t){let n=Ci(e,_i);if(n!=null)return n;throw Ti(t)}var yi=[`m`,`modifier`];function bi(e){return Ci(e,yi)}var xi=[`k`,`key`];function Si(e){let t=Ci(e,xi);if(t)return t;throw Ti(6)}function Ci(e,t,n){for(let n=0;n<t.length;n++){let r=t[n];if(gr(e,r)&&e[r]!=null)return e[r]}return n}var wi=[...si,...li,...di,...pi,...xi,...yi,..._i,...hi];function Ti(e){return Error(`unhandled node type: ${e}`)}function Ei(e){return t=>Di(t,e)}function Di(e,t){let n=ci(t);if(n==null)throw Ti(0);if(gi(n)===1){let t=ui(n);return e.plural(t.reduce((t,n)=>[...t,Oi(e,n)],[]))}else return Oi(e,n)}function Oi(e,t){let n=fi(t);if(n!=null)return e.type===`text`?n:e.normalize([n]);{let n=mi(t).reduce((t,n)=>[...t,ki(e,n)],[]);return e.normalize(n)}}function ki(e,t){let n=gi(t);switch(n){case 3:return vi(t,n);case 9:return vi(t,n);case 4:{let r=t;if(gr(r,`k`)&&r.k)return e.interpolate(e.named(r.k));if(gr(r,`key`)&&r.key)return e.interpolate(e.named(r.key));throw Ti(n)}case 5:{let r=t;if(gr(r,`i`)&&z(r.i))return e.interpolate(e.list(r.i));if(gr(r,`index`)&&z(r.index))return e.interpolate(e.list(r.index));throw Ti(n)}case 6:{let n=t,r=bi(n),i=Si(n);return e.linked(ki(e,i),r?ki(e,r):void 0,e.type)}case 7:return vi(t,n);case 8:return vi(t,n);default:throw Error(`unhandled node on format message part: ${n}`)}}var Ai=e=>e,ji=V();function Mi(e,t={}){let n=!1,r=t.onError||Dr;return t.onError=e=>{n=!0,r(e)},{...ii(e,t),detectError:n}}function Ni(e,t){if(!__INTLIFY_DROP_MESSAGE_COMPILER__&&W(e)){G(t.warnHtmlMessage)&&t.warnHtmlMessage;let n=(t.onCacheKey||Ai)(e),r=ji[n];if(r)return r;let{ast:i,detectError:a}=Mi(e,{...t,location:!1,jit:!0}),o=Ei(i);return a?o:ji[n]=o}else{let t=e.cacheKey;return t?ji[t]||(ji[t]=Ei(e)):Ei(e)}}var X={INVALID_ARGUMENT:17,INVALID_DATE_ARGUMENT:18,INVALID_ISO_DATE_ARGUMENT:19,NOT_SUPPORT_NON_STRING_MESSAGE:20,NOT_SUPPORT_LOCALE_PROMISE_VALUE:21,NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:22,NOT_SUPPORT_LOCALE_TYPE:23};function Pi(e){return Er(e,null,void 0)}X.INVALID_ARGUMENT,X.INVALID_DATE_ARGUMENT,X.INVALID_ISO_DATE_ARGUMENT,X.NOT_SUPPORT_NON_STRING_MESSAGE,X.NOT_SUPPORT_LOCALE_PROMISE_VALUE,X.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION,X.NOT_SUPPORT_LOCALE_TYPE;function Fi(e,t){return t.locale==null?Li(e.locale):Li(t.locale)}var Ii;function Li(e){if(W(e))return e;if(U(e)){if(e.resolvedOnce&&Ii!=null)return Ii;if(e.constructor.name===`Function`){let t=e();if(_r(t))throw Pi(X.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Ii=t}else throw Pi(X.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw Pi(X.NOT_SUPPORT_LOCALE_TYPE)}function Ri(e,t,n){return[...new Set([n,...H(t)?t:K(t)?Object.keys(t):W(t)?[t]:[n]])]}function zi(e,t,n){let r=W(n)?n:ta,i=e;i.__localeChainCache||=new Map;let a=i.__localeChainCache.get(r);if(!a){a=[];let e=[n];for(;H(e);)e=Bi(a,e,t);let o=H(t)||!q(t)?t:t.default?t.default:null;e=W(o)?[o]:o,H(e)&&Bi(a,e,!1),i.__localeChainCache.set(r,a)}return a}function Bi(e,t,n){let r=!0;for(let i=0;i<t.length&&G(r);i++){let a=t[i];W(a)&&(r=Vi(e,t[i],n))}return r}function Vi(e,t,n){let r,i=t.split(`-`);do r=Hi(e,i.join(`-`),n),i.splice(-1,1);while(i.length&&r===!0);return r}function Hi(e,t,n){let r=!1;if(!e.includes(t)&&(r=!0,t)){r=t[t.length-1]!==`!`;let i=t.replace(/!/g,``);e.push(i),(H(n)||q(n))&&n[i]&&(r=n[i])}return r}var Ui=[];Ui[0]={w:[0],i:[3,0],"[":[4],o:[7]},Ui[1]={w:[1],".":[2],"[":[4],o:[7]},Ui[2]={w:[2],i:[3,0],0:[3,0]},Ui[3]={i:[3,0],0:[3,0],w:[1,1],".":[2,1],"[":[4,1],o:[7,1]},Ui[4]={"'":[5,0],'"':[6,0],"[":[4,2],"]":[1,3],o:8,l:[4,0]},Ui[5]={"'":[4,0],o:8,l:[5,0]},Ui[6]={'"':[4,0],o:8,l:[6,0]};var Wi=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function Gi(e){return Wi.test(e)}function Ki(e){let t=e.charCodeAt(0);return t===e.charCodeAt(e.length-1)&&(t===34||t===39)?e.slice(1,-1):e}function qi(e){if(e==null)return`o`;switch(e.charCodeAt(0)){case 91:case 93:case 46:case 34:case 39:return e;case 95:case 36:case 45:return`i`;case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return`w`}return`i`}function Ji(e){let t=e.trim();return e.charAt(0)===`0`&&isNaN(parseInt(e))?!1:Gi(t)?Ki(t):`*`+t}function Yi(e){let t=[],n=-1,r=0,i=0,a,o,s,c,l,u,d,f=[];f[0]=()=>{o===void 0?o=s:o+=s},f[1]=()=>{o!==void 0&&(t.push(o),o=void 0)},f[2]=()=>{f[0](),i++},f[3]=()=>{if(i>0)i--,r=4,f[0]();else{if(i=0,o===void 0||(o=Ji(o),o===!1))return!1;f[1]()}};function p(){let t=e[n+1];if(r===5&&t===`'`||r===6&&t===`"`)return n++,s=`\\`+t,f[0](),!0}for(;r!==null;)if(n++,a=e[n],!(a===`\\`&&p())){if(c=qi(a),d=Ui[r],l=d[c]||d.l||8,l===8||(r=l[0],l[1]!==void 0&&(u=f[l[1]],u&&(s=a,u()===!1))))return;if(r===7)return t}}var Xi=new Map;function Zi(e,t){return K(e)?e[t]:null}function Qi(e,t){if(!K(e))return null;let n=Xi.get(t);if(n||(n=Yi(t),n&&Xi.set(t,n)),!n)return null;let r=n.length,i=e,a=0;for(;a<r;){let e=n[a];if(wi.includes(e)&&oi(i)||!K(i)||!gr(i,e))return null;let t=i[e];if(t===void 0||U(i))return null;i=t,a++}return i}var $i={NOT_FOUND_KEY:1,FALLBACK_TO_TRANSLATE:2,CANNOT_FORMAT_NUMBER:3,FALLBACK_TO_NUMBER_FORMAT:4,CANNOT_FORMAT_DATE:5,FALLBACK_TO_DATE_FORMAT:6,EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:7,INVALID_NUMBER_ARGUMENT:8,INVALID_DATE_ARGUMENT:9};$i.NOT_FOUND_KEY,$i.FALLBACK_TO_TRANSLATE,$i.CANNOT_FORMAT_NUMBER,$i.FALLBACK_TO_NUMBER_FORMAT,$i.CANNOT_FORMAT_DATE,$i.FALLBACK_TO_DATE_FORMAT,$i.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER,$i.INVALID_NUMBER_ARGUMENT,$i.INVALID_DATE_ARGUMENT;var ea=`11.4.6`,ta=`en-US`,na=e=>`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function ra(){return{upper:(e,t)=>t===`text`&&W(e)?e.toUpperCase():t===`vnode`&&K(e)&&`__v_isVNode`in e?e.children.toUpperCase():e,lower:(e,t)=>t===`text`&&W(e)?e.toLowerCase():t===`vnode`&&K(e)&&`__v_isVNode`in e?e.children.toLowerCase():e,capitalize:(e,t)=>t===`text`&&W(e)?na(e):t===`vnode`&&K(e)&&`__v_isVNode`in e?na(e.children):e}}var ia;function aa(e){ia=e}var oa;function sa(e){oa=e}var ca;function la(e){ca=e}var ua=null,da=e=>{ua=e},fa=()=>ua,pa=0;function ma(e={}){let t=U(e.onWarn)?e.onWarn:Xn,n=W(e.version)?e.version:ea,r=W(e.locale)||U(e.locale)?e.locale:ta,i=U(r)?ta:r,a=H(e.fallbackLocale)||q(e.fallbackLocale)||W(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:i,o=q(e.messages)?e.messages:ha(i),s=q(e.datetimeFormats)?e.datetimeFormats:ha(i),c=q(e.numberFormats)?e.numberFormats:ha(i),l=B(V(),e.modifiers,ra()),u=e.pluralRules||V(),d=U(e.missing)?e.missing:null,f=G(e.missingWarn)||nr(e.missingWarn)?e.missingWarn:!0,p=G(e.fallbackWarn)||nr(e.fallbackWarn)?e.fallbackWarn:!0,m=!!e.fallbackFormat,h=!!e.unresolving,g=U(e.postTranslation)?e.postTranslation:null,_=q(e.processor)?e.processor:null,v=G(e.warnHtmlMessage)?e.warnHtmlMessage:!0,y=!!e.escapeParameter,b=U(e.messageCompiler)?e.messageCompiler:ia,x=U(e.messageResolver)?e.messageResolver:oa||Zi,S=U(e.localeFallbacker)?e.localeFallbacker:ca||Ri,C=K(e.fallbackContext)?e.fallbackContext:void 0,w=e,T=K(w.__datetimeFormatters)?w.__datetimeFormatters:new Map,E=K(w.__numberFormatters)?w.__numberFormatters:new Map,D=K(w.__meta)?w.__meta:{};pa++;let O={version:n,cid:pa,locale:r,fallbackLocale:a,messages:o,modifiers:l,pluralRules:u,missing:d,missingWarn:f,fallbackWarn:p,fallbackFormat:m,unresolving:h,postTranslation:g,processor:_,warnHtmlMessage:v,escapeParameter:y,messageCompiler:b,messageResolver:x,localeFallbacker:S,fallbackContext:C,onWarn:t,__meta:D};return O.datetimeFormats=s,O.numberFormats=c,O.__datetimeFormatters=T,O.__numberFormatters=E,O}var ha=e=>({[e]:V()});function ga(e,t,n,r,i){let{missing:a,onWarn:o}=e;if(a!==null){let r=a(e,n,t,i);return W(r)?r:t}else return t}function _a(e,t,n){let r=e;r.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function va(e,t){return e===t?!1:e.split(`-`)[0]===t.split(`-`)[0]}function ya(e,t){let n=t.indexOf(e);if(n===-1)return!1;for(let r=n+1;r<t.length;r++)if(va(e,t[r]))return!0;return!1}var ba=typeof Intl<`u`;ba&&Intl.DateTimeFormat,ba&&Intl.NumberFormat;function xa(e,...t){let{datetimeFormats:n,unresolving:r,fallbackLocale:i,onWarn:a,localeFallbacker:o}=e,{__datetimeFormatters:s}=e;if(!W(t[0])&&!tr(t[0])&&!z(t[0]))return``;let[c,l,u,d]=Ca(...t),f=G(u.missingWarn)?u.missingWarn:e.missingWarn;G(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;let p=!!u.part,m=Fi(e,u),h=o(e,i,m);if(!W(c)||c===``){let e=new Intl.DateTimeFormat(m.replace(/!/g,``),d);return p?e.formatToParts(l):e.format(l)}let g={},_,v=null;for(let t=0;t<h.length&&(_=h[t],g=n[_]||{},v=g[c],!q(v));t++)ga(e,c,_,f,`datetime format`);if(!q(v)||!W(_))return r?-1:c;let y=`${_}__${c}`;rr(d)||(y=`${y}__${JSON.stringify(d)}`);let b=s.get(y);return b||(b=new Intl.DateTimeFormat(_,B({},v,d)),s.set(y,b)),p?b.formatToParts(l):b.format(l)}var Sa=[`localeMatcher`,`weekday`,`era`,`year`,`month`,`day`,`hour`,`minute`,`second`,`timeZoneName`,`formatMatcher`,`hour12`,`timeZone`,`dateStyle`,`timeStyle`,`calendar`,`dayPeriod`,`numberingSystem`,`hourCycle`,`fractionalSecondDigits`];function Ca(...e){let[t,n,r,i]=e,a=V(),o=V(),s;if(W(t)){let e=t.match(/(\d{4}-\d{2}-\d{2})(T|\s)?(.*)/);if(!e)throw Pi(X.INVALID_ISO_DATE_ARGUMENT);let n=e[3]?e[3].trim().startsWith(`T`)?`${e[1].trim()}${e[3].trim()}`:`${e[1].trim()}T${e[3].trim()}`:e[1].trim();s=new Date(n);try{s.toISOString()}catch{throw Pi(X.INVALID_ISO_DATE_ARGUMENT)}}else if(tr(t)){if(isNaN(t.getTime()))throw Pi(X.INVALID_DATE_ARGUMENT);s=t}else if(z(t))s=t;else throw Pi(X.INVALID_ARGUMENT);return W(n)?a.key=n:q(n)&&Object.keys(n).forEach(e=>{Sa.includes(e)?o[e]=n[e]:a[e]=n[e]}),W(r)?a.locale=r:q(r)&&(o=r),q(i)&&(o=i),[a.key||``,s,a,o]}function wa(e,t,n){let r=e;for(let e in n){let n=`${t}__${e}`;r.__datetimeFormatters.has(n)&&r.__datetimeFormatters.delete(n)}}function Ta(e,...t){let{numberFormats:n,unresolving:r,fallbackLocale:i,onWarn:a,localeFallbacker:o}=e,{__numberFormatters:s}=e;if(!z(t[0]))return``;let[c,l,u,d]=Da(...t),f=G(u.missingWarn)?u.missingWarn:e.missingWarn;G(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;let p=!!u.part,m=Fi(e,u),h=o(e,i,m);if(!W(c)||c===``){let e=new Intl.NumberFormat(m.replace(/!/g,``),d);return p?e.formatToParts(l):e.format(l)}let g={},_,v=null;for(let t=0;t<h.length&&(_=h[t],g=n[_]||{},v=g[c],!q(v));t++)ga(e,c,_,f,`number format`);if(!q(v)||!W(_))return r?-1:c;let y=`${_}__${c}`;rr(d)||(y=`${y}__${JSON.stringify(d)}`);let b=s.get(y);return b||(b=new Intl.NumberFormat(_,B({},v,d)),s.set(y,b)),p?b.formatToParts(l):b.format(l)}var Ea=[`localeMatcher`,`style`,`currency`,`currencyDisplay`,`currencySign`,`useGrouping`,`minimumIntegerDigits`,`minimumFractionDigits`,`maximumFractionDigits`,`minimumSignificantDigits`,`maximumSignificantDigits`,`compactDisplay`,`notation`,`signDisplay`,`unit`,`unitDisplay`,`roundingMode`,`roundingPriority`,`roundingIncrement`,`trailingZeroDisplay`];function Da(...e){let[t,n,r,i]=e,a=V(),o=V();if(!z(t))throw Pi(X.INVALID_ARGUMENT);let s=t;return W(n)?a.key=n:q(n)&&Object.keys(n).forEach(e=>{Ea.includes(e)?o[e]=n[e]:a[e]=n[e]}),W(r)?a.locale=r:q(r)&&(o=r),q(i)&&(o=i),[a.key||``,s,a,o]}function Oa(e,t,n){let r=e;for(let e in n){let n=`${t}__${e}`;r.__numberFormatters.has(n)&&r.__numberFormatters.delete(n)}}var ka=e=>e,Aa=e=>``,ja=`text`,Ma=e=>e.length===0?``:xr(e),Na=br;function Pa(e,t){return e=Math.abs(e),t===2?e===1?0:1:Math.min(e,2)}function Fa(e){let t=z(e.pluralIndex)?e.pluralIndex:-1;return z(e.named?.count)?e.named.count:z(e.named?.n)?e.named.n:t}function Ia(e={}){let t=e.locale,n=Fa(e),r=W(t)&&U(e.pluralRules?.[t])?e.pluralRules[t]:Pa,i=r===Pa?void 0:Pa,a=e=>e[r(n,e.length,i)],o=e.list||[],s=e=>o[e],c=e.named||V();z(e.pluralIndex)&&(c.count||=e.pluralIndex,c.n||=e.pluralIndex);let l=e=>c[e];function u(t,n){return(U(e.messages)?e.messages(t,!!n):K(e.messages)?e.messages[t]:!1)||(e.parent?e.parent.message(t):Aa)}let d=t=>e.modifiers?e.modifiers[t]:ka,f=U(e.processor?.normalize)?e.processor.normalize:Ma,p=U(e.processor?.interpolate)?e.processor.interpolate:Na,m={list:s,named:l,plural:a,linked:(e,...t)=>{let[n,r]=t,i=`text`,a=``;t.length===1?K(n)?(a=n.modifier||a,i=n.type||i):W(n)&&(a=n||a):t.length===2&&(W(n)&&(a=n||a),W(r)&&(i=r||i));let o=u(e,!0)(m),s=o===``||o===void 0?e:o,c=i===`vnode`&&H(s)&&a?s[0]:s;return a?d(a)(c,i):c},message:u,type:W(e.processor?.type)?e.processor.type:ja,interpolate:p,normalize:f,values:B(V(),o,c)};return m}var La=()=>``,Ra=e=>U(e);function za(e,...t){let{fallbackFormat:n,postTranslation:r,unresolving:i,messageCompiler:a,fallbackLocale:o,messages:s}=e,[c,l]=Wa(...t),u=G(l.missingWarn)?l.missingWarn:e.missingWarn,d=G(l.fallbackWarn)?l.fallbackWarn:e.fallbackWarn,f=G(l.escapeParameter)?l.escapeParameter:e.escapeParameter,p=!!l.resolvedMessage,m=W(l.default)||G(l.default)?G(l.default)?a?c:()=>c:l.default:n?a?c:()=>c:null,h=n||m!=null&&(W(m)||U(m)),g=Fi(e,l);f&&Ba(l);let[_,v,y]=p?[c,g,s[g]||V()]:Va(e,c,g,o,d,u),b=_,x=c;if(!p&&!(W(b)||oi(b)||Ra(b))&&h&&(b=m,x=b),!p&&(!(W(b)||oi(b)||Ra(b))||!W(v)))return i?-1:c;let S=!1,C=Ra(b)?b:Ha(e,c,v,b,x,()=>{S=!0});if(S)return b;let w=Ua(e,C,Ia(Ka(e,v,y,l))),T=r?r(w,c):w;return f&&W(T)&&(T=mr(T)),T}function Ba(e){H(e.list)?e.list=e.list.map(e=>W(e)?sr(e):e):K(e.named)&&Object.keys(e.named).forEach(t=>{W(e.named[t])&&(e.named[t]=sr(e.named[t]))})}function Va(e,t,n,r,i,a){let{messages:o,onWarn:s,messageResolver:c,localeFallbacker:l}=e,u=l(e,r,n),d=V(),f,p=null;for(let n=0;n<u.length&&(f=u[n],d=o[f]||V(),(p=c(d,t))===null&&(p=d[t]),!(W(p)||oi(p)||Ra(p)));n++)if(!ya(f,u)){let n=ga(e,t,f,a,`translate`);n!==t&&(p=n)}return[p,f,d]}function Ha(e,t,n,r,i,a){let{messageCompiler:o,warnHtmlMessage:s}=e;if(Ra(r)){let e=r;return e.locale=e.locale||n,e.key=e.key||t,e}if(o==null){let e=(()=>r);return e.locale=n,e.key=t,e}let c=o(r,Ga(e,n,i,r,s,a));return c.locale=n,c.key=t,c.source=r,c}function Ua(e,t,n){return t(n)}function Wa(...e){let[t,n,r]=e,i=V();if(!W(t)&&!z(t)&&!Ra(t)&&!oi(t))throw Pi(X.INVALID_ARGUMENT);let a=z(t)?String(t):(Ra(t),t);return z(n)?i.plural=n:W(n)?i.default=n:q(n)&&!rr(n)?i.named=n:H(n)&&(i.list=n),z(r)?i.plural=r:W(r)?i.default=r:q(r)&&B(i,r),[a,i]}function Ga(e,t,n,r,i,a){return{locale:t,key:n,warnHtmlMessage:i,onError:e=>{throw a&&a(e),e},onCacheKey:e=>$n(t,n,e)}}function Ka(e,t,n,r){let{modifiers:i,pluralRules:a,messageResolver:o,fallbackLocale:s,fallbackWarn:c,missingWarn:l,fallbackContext:u}=e,d={locale:t,modifiers:i,pluralRules:a,messages:(r,i)=>{let a=o(n,r);if(a==null&&(u||i)){let[n,,i]=Va(u||e,r,t,s,c,l);a=n??o(i,r)}if(W(a)||oi(a)){let n=!1,i=Ha(e,r,t,a,r,()=>{n=!0});return n?La:i}else if(Ra(a))return a;else return La}};return e.processor&&(d.processor=e.processor),r.list&&(d.list=r.list),r.named&&(d.named=r.named),z(r.plural)&&(d.pluralIndex=r.plural),d}ai();var qa=`11.4.6`;function Ja(){typeof __INTLIFY_DROP_MESSAGE_COMPILER__!=`boolean`&&(or().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}var Z={UNEXPECTED_RETURN_TYPE:24,INVALID_ARGUMENT:25,MUST_BE_CALL_SETUP_TOP:26,NOT_INSTALLED:27,REQUIRED_VALUE:28,INVALID_VALUE:29,CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:30,NOT_INSTALLED_WITH_PROVIDE:31,UNEXPECTED_ERROR:32,NOT_COMPATIBLE_LEGACY_VUE_I18N:33,NOT_AVAILABLE_COMPOSITION_IN_LEGACY:34};function Ya(e,...t){return Er(e,null,void 0)}Z.UNEXPECTED_RETURN_TYPE,Z.INVALID_ARGUMENT,Z.MUST_BE_CALL_SETUP_TOP,Z.NOT_INSTALLED,Z.UNEXPECTED_ERROR,Z.REQUIRED_VALUE,Z.INVALID_VALUE,Z.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN,Z.NOT_INSTALLED_WITH_PROVIDE,Z.NOT_COMPATIBLE_LEGACY_VUE_I18N,Z.NOT_AVAILABLE_COMPOSITION_IN_LEGACY;var Xa=Qn(`__translateVNode`),Za=Qn(`__datetimeParts`),Qa=Qn(`__numberParts`),$a=Qn(`__setPluralRules`);Qn(`__intlifyMeta`);var eo=Qn(`__injectWithOption`),to=Qn(`__dispose`),no={FALLBACK_TO_ROOT:10,NOT_FOUND_PARENT_SCOPE:11,IGNORE_OBJ_FLATTEN:12,DEPRECATE_LEGACY_MODE:13,DEPRECATE_TRANSLATE_CUSTOME_DIRECTIVE:14,DUPLICATE_USE_I18N_CALLING:15};no.FALLBACK_TO_ROOT,no.NOT_FOUND_PARENT_SCOPE,no.IGNORE_OBJ_FLATTEN,no.DEPRECATE_LEGACY_MODE,no.DEPRECATE_TRANSLATE_CUSTOME_DIRECTIVE,no.DUPLICATE_USE_I18N_CALLING;function ro(e){if(!K(e)||oi(e))return e;for(let t in e)if(gr(e,t))if(!t.includes(`.`))K(e[t])&&ro(e[t]);else{let n=t.split(`.`),r=n.length-1,i=e,a=!1;for(let e=0;e<r;e++){if(n[e]===`__proto__`)throw Error(`unsafe key: ${n[e]}`);if(n[e]in i||(i[n[e]]=V()),!K(i[n[e]])){a=!0;break}i=i[n[e]]}if(a||(oi(i)?wi.includes(n[r])||delete e[t]:(i[n[r]]=e[t],delete e[t])),!oi(i)){let e=i[n[r]];K(e)&&ro(e)}}return e}function io(e,t){let{messages:n,__i18n:r,messageResolver:i,flatJson:a}=t,o=q(n)?n:H(r)?V():{[e]:V()};if(H(r)&&r.forEach(e=>{if(`locale`in e&&`resource`in e){let{locale:t,resource:n}=e;t?(o[t]=o[t]||V(),Cr(n,o[t])):Cr(n,o)}else W(e)&&Cr(JSON.parse(e),o)}),i==null&&a)for(let e in o)gr(o,e)&&ro(o[e]);return o}function ao(e){return e.type}function oo(e,t,n){let r=K(t.messages)?t.messages:V();`__i18nGlobal`in n&&(r=io(e.locale.value,{messages:r,__i18n:n.__i18nGlobal}));let i=Object.keys(r);if(i.length&&i.forEach(t=>{e.mergeLocaleMessage(t,r[t])}),K(t.datetimeFormats)){let n=Object.keys(t.datetimeFormats);n.length&&n.forEach(n=>{e.mergeDateTimeFormat(n,t.datetimeFormats[n])})}if(K(t.numberFormats)){let n=Object.keys(t.numberFormats);n.length&&n.forEach(n=>{e.mergeNumberFormat(n,t.numberFormats[n])})}}function so(e){return b(T,null,e,0)}function co(){let e=`currentInstance`;return e in ie?ie[e]:t()}var lo=()=>[],uo=()=>!1,fo=0;function po(e){return((t,n,r,i)=>e(n,r,co()||void 0,i))}function mo(t={}){let{__root:n,__injectWithOption:r}=t,i=n===void 0,a=t.flatJson,o=Zn?e:ae,s=G(t.inheritLocale)?t.inheritLocale:!0,c=o(n&&s?n.locale.value:W(t.locale)?t.locale:ta),l=o(n&&s?n.fallbackLocale.value:W(t.fallbackLocale)||H(t.fallbackLocale)||q(t.fallbackLocale)||t.fallbackLocale===!1?t.fallbackLocale:c.value),u=o(io(c.value,t)),d=o(q(t.datetimeFormats)?t.datetimeFormats:{[c.value]:{}}),f=o(q(t.numberFormats)?t.numberFormats:{[c.value]:{}}),m=n?n.missingWarn:G(t.missingWarn)||nr(t.missingWarn)?t.missingWarn:!0,h=n?n.fallbackWarn:G(t.fallbackWarn)||nr(t.fallbackWarn)?t.fallbackWarn:!0,g=n?n.fallbackRoot:G(t.fallbackRoot)?t.fallbackRoot:!0,_=!!t.fallbackFormat,v=U(t.missing)?t.missing:null,y=U(t.missing)?po(t.missing):null,b=U(t.postTranslation)?t.postTranslation:null,x=n?n.warnHtmlMessage:G(t.warnHtmlMessage)?t.warnHtmlMessage:!0,S=!!t.escapeParameter,C=n?n.modifiers:q(t.modifiers)?t.modifiers:{},w=t.pluralRules||n&&n.pluralRules,T;T=(()=>{i&&da(null);let e={version:qa,locale:c.value,fallbackLocale:l.value,messages:u.value,modifiers:C,pluralRules:w,missing:y===null?void 0:y,missingWarn:m,fallbackWarn:h,fallbackFormat:_,unresolving:!0,postTranslation:b===null?void 0:b,warnHtmlMessage:x,escapeParameter:S,messageResolver:t.messageResolver,messageCompiler:t.messageCompiler,__meta:{framework:`vue`}};e.datetimeFormats=d.value,e.numberFormats=f.value,e.__datetimeFormatters=q(T)?T.__datetimeFormatters:void 0,e.__numberFormatters=q(T)?T.__numberFormatters:void 0;let n=ma(e);return i&&da(n),n})(),_a(T,c.value,l.value);function E(){return[c.value,l.value,u.value,d.value,f.value]}let D=N({get:()=>c.value,set:e=>{T.locale=e,c.value=e}}),O=N({get:()=>l.value,set:e=>{T.fallbackLocale=e,l.value=e,_a(T,c.value,e)}}),k=N(()=>u.value),ee=N(()=>d.value),A=N(()=>f.value);function te(){return U(b)?b:null}function j(e){b=e,T.postTranslation=e}function M(){return v}function ne(e){e!==null&&(y=po(e)),v=e,T.missing=y}let re=(e,t,r,a,o,s)=>{E();let c;try{i||(T.fallbackContext=n?fa():void 0),c=e(T)}finally{i||(T.fallbackContext=void 0)}if(r!==`translate exists`&&z(c)&&c===-1||r===`translate exists`&&!c){let[e,r]=t();return n&&g?a(n):o(e)}else if(s(c))return c;else throw Ya(Z.UNEXPECTED_RETURN_TYPE)};function ie(...e){return re(t=>Reflect.apply(za,null,[t,...e]),()=>Wa(...e),`translate`,t=>Reflect.apply(t.t,t,[...e]),e=>e,e=>W(e))}function oe(...e){let[t,n,r]=e;if(r&&!K(r))throw Ya(Z.INVALID_ARGUMENT);return ie(t,n,B({resolvedMessage:!0},r||{}))}function se(...e){return re(t=>Reflect.apply(xa,null,[t,...e]),()=>Ca(...e),`datetime format`,t=>Reflect.apply(t.d,t,[...e]),()=>``,e=>W(e)||H(e))}function ce(...e){return re(t=>Reflect.apply(Ta,null,[t,...e]),()=>Da(...e),`number format`,t=>Reflect.apply(t.n,t,[...e]),()=>``,e=>W(e)||H(e))}function P(e){return e.map(e=>W(e)||z(e)||G(e)?so(String(e)):e)}let le={normalize:P,interpolate:e=>e,type:`vnode`};function ue(...e){return re(t=>{let n,r=t;try{r.processor=le,n=Reflect.apply(za,null,[r,...e])}finally{r.processor=null}return n},()=>Wa(...e),`translate`,t=>t[Xa](...e),e=>[so(e)],e=>H(e))}function de(...e){return re(t=>Reflect.apply(Ta,null,[t,...e]),()=>Da(...e),`number format`,t=>t[Qa](...e),lo,e=>W(e)||H(e))}function fe(...e){return re(t=>Reflect.apply(xa,null,[t,...e]),()=>Ca(...e),`datetime format`,t=>t[Za](...e),lo,e=>W(e)||H(e))}function pe(e){w=e,T.pluralRules=w}function me(e,t){return re(()=>{if(!e)return!1;let n=W(t)?t:c.value,r=W(t)?[n]:zi(T,l.value,n);for(let t=0;t<r.length;t++){let n=ge(r[t]),i=T.messageResolver(n,e);if(i===null&&(i=n[e]),oi(i)||Ra(i)||W(i))return!0}return!1},()=>[e],`translate exists`,n=>Reflect.apply(n.te,n,[e,t]),uo,e=>G(e))}function F(e){let t=null,n=zi(T,l.value,c.value);for(let r=0;r<n.length;r++){let i=u.value[n[r]]||{},a=T.messageResolver(i,e);if(a!=null){t=a;break}}return t}function he(e){return F(e)??(n&&n.tm(e)||{})}function ge(e){return u.value[e]||{}}function _e(e,t){if(a){let n={[e]:t};for(let e in n)gr(n,e)&&ro(n[e]);t=n[e]}u.value[e]=t,T.messages=u.value}function ve(e,t){u.value[e]=u.value[e]||{};let n={[e]:t};if(a)for(let e in n)gr(n,e)&&ro(n[e]);t=n[e],Cr(t,u.value[e]),T.messages=u.value}function ye(e){return d.value[e]||{}}function be(e,t){d.value[e]=t,T.datetimeFormats=d.value,wa(T,e,t)}function xe(e,t){d.value[e]=B(d.value[e]||{},t),T.datetimeFormats=d.value,wa(T,e,t)}function Se(e){return f.value[e]||{}}function Ce(e,t){f.value[e]=t,T.numberFormats=f.value,Oa(T,e,t)}function we(e,t){f.value[e]=B(f.value[e]||{},t),T.numberFormats=f.value,Oa(T,e,t)}fo++,n&&Zn&&(p(n.locale,e=>{s&&(c.value=e,T.locale=e,_a(T,c.value,l.value))}),p(n.fallbackLocale,e=>{s&&(l.value=e,T.fallbackLocale=e,_a(T,c.value,l.value))}));let I={id:fo,locale:D,fallbackLocale:O,get inheritLocale(){return s},set inheritLocale(e){s=e,e&&n&&(c.value=n.locale.value,l.value=n.fallbackLocale.value,_a(T,c.value,l.value))},get availableLocales(){return Object.keys(u.value).sort()},messages:k,get modifiers(){return C},get pluralRules(){return w||{}},get isGlobal(){return i},get missingWarn(){return m},set missingWarn(e){m=e,T.missingWarn=m},get fallbackWarn(){return h},set fallbackWarn(e){h=e,T.fallbackWarn=h},get fallbackRoot(){return g},set fallbackRoot(e){g=e},get fallbackFormat(){return _},set fallbackFormat(e){_=e,T.fallbackFormat=_},get warnHtmlMessage(){return x},set warnHtmlMessage(e){x=e,T.warnHtmlMessage=e},get escapeParameter(){return S},set escapeParameter(e){S=e,T.escapeParameter=e},t:ie,getLocaleMessage:ge,setLocaleMessage:_e,mergeLocaleMessage:ve,getPostTranslationHandler:te,setPostTranslationHandler:j,getMissingHandler:M,setMissingHandler:ne,[$a]:pe};return I.datetimeFormats=ee,I.numberFormats=A,I.rt=oe,I.te=me,I.tm=he,I.d=se,I.n=ce,I.getDateTimeFormat=ye,I.setDateTimeFormat=be,I.mergeDateTimeFormat=xe,I.getNumberFormat=Se,I.setNumberFormat=Ce,I.mergeNumberFormat=we,I[eo]=r,I[Xa]=ue,I[Za]=fe,I[Qa]=de,I}function ho(e){let t=W(e.locale)?e.locale:ta,n=W(e.fallbackLocale)||H(e.fallbackLocale)||q(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,r=U(e.missing)?e.missing:void 0,i=G(e.silentTranslationWarn)||nr(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,a=G(e.silentFallbackWarn)||nr(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,o=G(e.fallbackRoot)?e.fallbackRoot:!0,s=!!e.formatFallbackMessages,c=q(e.modifiers)?e.modifiers:{},l=e.pluralizationRules,u=U(e.postTranslation)?e.postTranslation:void 0,d=W(e.warnHtmlInMessage)?e.warnHtmlInMessage!==`off`:!0,f=!!e.escapeParameterHtml,p=G(e.sync)?e.sync:!0,m=e.messages;if(q(e.sharedMessages)){let t=e.sharedMessages;m=Object.keys(t).reduce((e,n)=>(B(e[n]||(e[n]={}),t[n]),e),m||{})}let{__i18n:h,__root:g,__injectWithOption:_}=e,v=e.datetimeFormats,y=e.numberFormats,b=e.flatJson;return{locale:t,fallbackLocale:n,messages:m,flatJson:b,datetimeFormats:v,numberFormats:y,missing:r,missingWarn:i,fallbackWarn:a,fallbackRoot:o,fallbackFormat:s,modifiers:c,pluralRules:l,postTranslation:u,warnHtmlMessage:d,escapeParameter:f,messageResolver:e.messageResolver,inheritLocale:p,__i18n:h,__root:g,__injectWithOption:_}}function go(e={}){let t=mo(ho(e)),{__extender:n}=e,r={id:t.id,get locale(){return t.locale.value},set locale(e){t.locale.value=e},get fallbackLocale(){return t.fallbackLocale.value},set fallbackLocale(e){t.fallbackLocale.value=e},get messages(){return t.messages.value},get datetimeFormats(){return t.datetimeFormats.value},get numberFormats(){return t.numberFormats.value},get availableLocales(){return t.availableLocales},get missing(){return t.getMissingHandler()},set missing(e){t.setMissingHandler(e)},get silentTranslationWarn(){return G(t.missingWarn)?!t.missingWarn:t.missingWarn},set silentTranslationWarn(e){t.missingWarn=G(e)?!e:e},get silentFallbackWarn(){return G(t.fallbackWarn)?!t.fallbackWarn:t.fallbackWarn},set silentFallbackWarn(e){t.fallbackWarn=G(e)?!e:e},get modifiers(){return t.modifiers},get formatFallbackMessages(){return t.fallbackFormat},set formatFallbackMessages(e){t.fallbackFormat=e},get postTranslation(){return t.getPostTranslationHandler()},set postTranslation(e){t.setPostTranslationHandler(e)},get sync(){return t.inheritLocale},set sync(e){t.inheritLocale=e},get warnHtmlInMessage(){return t.warnHtmlMessage?`warn`:`off`},set warnHtmlInMessage(e){t.warnHtmlMessage=e!==`off`},get escapeParameterHtml(){return t.escapeParameter},set escapeParameterHtml(e){t.escapeParameter=e},get pluralizationRules(){return t.pluralRules||{}},__composer:t,t(...e){return Reflect.apply(t.t,t,[...e])},rt(...e){return Reflect.apply(t.rt,t,[...e])},te(e,n){return t.te(e,n)},tm(e){return t.tm(e)},getLocaleMessage(e){return t.getLocaleMessage(e)},setLocaleMessage(e,n){t.setLocaleMessage(e,n)},mergeLocaleMessage(e,n){t.mergeLocaleMessage(e,n)},d(...e){return Reflect.apply(t.d,t,[...e])},getDateTimeFormat(e){return t.getDateTimeFormat(e)},setDateTimeFormat(e,n){t.setDateTimeFormat(e,n)},mergeDateTimeFormat(e,n){t.mergeDateTimeFormat(e,n)},n(...e){return Reflect.apply(t.n,t,[...e])},getNumberFormat(e){return t.getNumberFormat(e)},setNumberFormat(e,n){t.setNumberFormat(e,n)},mergeNumberFormat(e,n){t.mergeNumberFormat(e,n)}};return r.__extender=n,r}function _o(e,t,n){return{beforeCreate(){let r=co();if(!r)throw Ya(Z.UNEXPECTED_ERROR);let i=this.$options;if(i.i18n){let r=i.i18n;if(i.__i18n&&(r.__i18n=i.__i18n),r.__root=t,this===this.$root)this.$i18n=vo(e,r);else{r.__injectWithOption=!0,r.__extender=n.__vueI18nExtend,this.$i18n=go(r);let e=this.$i18n;e.__extender&&(e.__disposer=e.__extender(this.$i18n))}}else if(i.__i18n)if(this===this.$root)this.$i18n=vo(e,i);else{this.$i18n=go({__i18n:i.__i18n,__injectWithOption:!0,__extender:n.__vueI18nExtend,__root:t});let e=this.$i18n;e.__extender&&(e.__disposer=e.__extender(this.$i18n))}else this.$i18n=e;i.__i18nGlobal&&oo(t,i,i),this.$t=(...e)=>this.$i18n.t(...e),this.$rt=(...e)=>this.$i18n.rt(...e),this.$te=(e,t)=>this.$i18n.te(e,t),this.$d=(...e)=>this.$i18n.d(...e),this.$n=(...e)=>this.$i18n.n(...e),this.$tm=e=>this.$i18n.tm(e),n.__setInstance(r,this.$i18n)},mounted(){},unmounted(){let e=co();if(!e)throw Ya(Z.UNEXPECTED_ERROR);let t=this.$i18n;t&&(delete this.$t,delete this.$rt,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,t?.__disposer&&(t.__disposer(),delete t.__disposer,delete t.__extender),n.__deleteInstance(e),delete this.$i18n)}}}function vo(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[$a](t.pluralizationRules||e.pluralizationRules);let n=io(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(n).forEach(t=>e.mergeLocaleMessage(t,n[t])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(n=>e.mergeDateTimeFormat(n,t.datetimeFormats[n])),t.numberFormats&&Object.keys(t.numberFormats).forEach(n=>e.mergeNumberFormat(n,t.numberFormats[n])),e}var yo={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e===`parent`||e===`global`,default:`parent`},i18n:{type:Object}};function bo({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((e,t)=>[...e,...t.type===x?t.children:[t]],[]):t.reduce((t,n)=>{let r=e[n];return r&&(t[n]=r()),t},V())}function xo(){return x}var So=d({name:`i18n-t`,props:B({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>z(e)||!isNaN(e)}},yo),setup(e,t){let{slots:n,attrs:r}=t,i=e.i18n||No({useScope:e.scope,__useComponent:!0});return()=>{let a=()=>{let r=Object.keys(n).filter(e=>e[0]!==`_`),a=V();e.locale&&(a.locale=e.locale),e.plural!==void 0&&(a.plural=W(e.plural)?+e.plural:e.plural);let o=bo(t,r);return i[Xa](e.keypath,o,a)},o=B(V(),r),s=W(e.tag)||K(e.tag)?e.tag:xo();return K(s)?f(s,o,{default:a}):f(s,o,a())}}});function Co(e){return H(e)&&!W(e[0])}function wo(e,t,n,r){let{slots:i,attrs:a}=t;return()=>{let t=()=>{let t={part:!0},a=V();e.locale&&(t.locale=e.locale),W(e.format)?t.key=e.format:K(e.format)&&(W(e.format.key)&&(t.key=e.format.key),a=Object.keys(e.format).reduce((t,r)=>n.includes(r)?B(V(),t,{[r]:e.format[r]}):t,V()));let o=r(e.value,t,a),s=[t.key];return H(o)?s=o.map((e,t)=>{let n=i[e.type],r=n?n({[e.type]:e.value,index:t,parts:o}):[e.value];return Co(r)&&(r[0].key=`${e.type}-${t}`),r}):W(o)&&(s=[o]),s},o=B(V(),a),s=W(e.tag)||K(e.tag)?e.tag:xo();return K(s)?f(s,o,{default:t}):f(s,o,t())}}var To=d({name:`i18n-n`,props:B({value:{type:Number,required:!0},format:{type:[String,Object]}},yo),setup(e,t){let n=e.i18n||No({useScope:e.scope,__useComponent:!0});return wo(e,t,Ea,(...e)=>n[Qa](...e))}});function Eo(e,t){let n=e;if(e.mode===`composition`)return n.__getInstance(t)||e.global;{let r=n.__getInstance(t);return r==null?e.global.__composer:r.__composer}}function Do(e){let t=t=>{let{instance:n,value:r}=t;if(!n||!n.$)throw Ya(Z.UNEXPECTED_ERROR);let i=Eo(e,n.$),a=Oo(r);return[Reflect.apply(i.t,i,[...ko(a)]),i]};return{created:(e,n)=>{let[r,i]=t(n);Zn&&(e.__i18nWatcher=p(i.locale,()=>{n.instance&&n.instance.$forceUpdate()})),e.__composer=i,e.textContent=r},unmounted:e=>{Zn&&e.__i18nWatcher&&(e.__i18nWatcher(),e.__i18nWatcher=void 0,delete e.__i18nWatcher),e.__composer&&(e.__composer=void 0,delete e.__composer)},beforeUpdate:(e,{value:t})=>{if(e.__composer){let n=e.__composer,r=Oo(t);e.textContent=Reflect.apply(n.t,n,[...ko(r)])}},getSSRProps:e=>{let[n]=t(e);return{textContent:n}}}}function Oo(e){if(W(e))return{path:e};if(q(e)){if(!(`path`in e))throw Ya(Z.REQUIRED_VALUE,`path`);return e}else throw Ya(Z.INVALID_VALUE)}function ko(e){let{path:t,locale:n,args:r,choice:i,plural:a}=e,o={},s=r||{};return W(n)&&(o.locale=n),z(i)&&(o.plural=i),z(a)&&(o.plural=a),[t,s,o]}function Ao(e,t,...n){let r=q(n[0])?n[0]:{};(!G(r.globalInstall)||r.globalInstall)&&([So.name,`I18nT`].forEach(t=>e.component(t,So)),[To.name,`I18nN`].forEach(t=>e.component(t,To)),[Wo.name,`I18nD`].forEach(t=>e.component(t,Wo))),e.directive(`t`,Do(t))}var jo=Qn(`global-vue-i18n`);function Mo(e={}){let t=G(e.legacy)?e.legacy:!0,n=G(e.globalInjection)?e.globalInjection:!0,r=new Map,[i,a]=Po(e,t),o=Qn(``);function s(e){return r.get(e)||null}function c(e,t){r.set(e,t)}function l(e){r.delete(e)}let u={get mode(){return t?`legacy`:`composition`},async install(e,...r){if(e.__VUE_I18N_SYMBOL__=o,e.provide(e.__VUE_I18N_SYMBOL__,u),q(r[0])){let e=r[0];u.__composerExtend=e.__composerExtend,u.__vueI18nExtend=e.__vueI18nExtend}let i=null;!t&&n&&(i=Uo(e,u.global)),Ao(e,u,...r),t&&e.mixin(_o(a,a.__composer,u));let s=e.unmount;e.unmount=()=>{i&&i(),u.dispose(),s()}},get global(){return a},dispose(){i.stop()},__instances:r,__getInstance:s,__setInstance:c,__deleteInstance:l};return u}function No(e={}){let t=co();if(t==null)throw Ya(Z.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw Ya(Z.NOT_INSTALLED);let n=Fo(t),r=Lo(n),i=ao(t),a=Io(e,i);if(a===`global`)return oo(r,e,i),r;if(a===`parent`){let i=Ro(n,t,e.__useComponent);return i??=r,i}if(a===`isolated`){if(n.mode!==`composition`)throw Ya(Z.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);let i=n,a=B({},e);a.__root=Ro(n,t)||r;let o=mo(a);return i.__composerExtend&&(o[to]=i.__composerExtend(o)),ne()&&v(()=>{let e=o[to];e&&(e(),delete o[to])}),o}let o=n,s=o.__getInstance(t);if(s==null){let n=B({},e);`__i18n`in i&&(n.__i18n=i.__i18n),r&&(n.__root=r),s=mo(n),o.__composerExtend&&(s[to]=o.__composerExtend(s)),Bo(o,t,s),o.__setInstance(t,s)}return s}function Po(e,t){let n=o(),r=t?n.run(()=>go(e)):n.run(()=>mo(e));if(r==null)throw Ya(Z.UNEXPECTED_ERROR);return[n,r]}function Fo(e){let t=n(e.isCE?jo:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw Ya(e.isCE?Z.NOT_INSTALLED_WITH_PROVIDE:Z.UNEXPECTED_ERROR);return t}function Io(e,t){return rr(e)?`__i18n`in t?`local`:`global`:e.useScope?e.useScope:`local`}function Lo(e){return e.mode===`composition`?e.global:e.global.__composer}function Ro(e,t,n=!1){let r=null,i=t.root,a=zo(t,n);for(;a!=null;){let t=e;if(e.mode===`composition`)r=t.__getInstance(a);else{let e=t.__getInstance(a);e!=null&&(r=e.__composer,n&&r&&!r[eo]&&(r=null))}if(r!=null||i===a)break;a=a.parent}return r}function zo(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function Bo(e,t,n){r(()=>{},t),a(()=>{let r=n;e.__deleteInstance(t);let i=r[to];i&&(i(),delete r[to])},t)}var Vo=[`locale`,`fallbackLocale`,`availableLocales`],Ho=[`t`,`rt`,`d`,`n`,`tm`,`te`];function Uo(e,t){let n=Object.create(null);return Vo.forEach(e=>{let r=Object.getOwnPropertyDescriptor(t,e);if(!r)throw Ya(Z.UNEXPECTED_ERROR);let i=_(r.value)?{get(){return r.value.value},set(e){r.value.value=e}}:{get(){return r.get&&r.get()}};Object.defineProperty(n,e,i)}),e.config.globalProperties.$i18n=n,Ho.forEach(n=>{let r=Object.getOwnPropertyDescriptor(t,n);if(!r||!r.value)throw Ya(Z.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${n}`,r)}),()=>{delete e.config.globalProperties.$i18n,Ho.forEach(t=>{delete e.config.globalProperties[`$${t}`]})}}var Wo=d({name:`i18n-d`,props:B({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},yo),setup(e,t){let n=e.i18n||No({useScope:e.scope,__useComponent:!0});return wo(e,t,Sa,(...e)=>n[Za](...e))}});Ja(),aa(Ni),sa(Qi),la(zi);var Go={class:`text-h6`},Ko={class:`text-h6`},qo={class:`text-h6 text-negative`},Jo={class:`q-mt-sm`},Yo={key:0,class:`q-mt-md text-caption`},Xo={class:`q-mt-md text-caption`},Zo=d({__name:`MigrationOverlay`,setup(e){let{t}=No(),n=Yn(),i=N(()=>[`backing-up`,`running`,`error`].includes(n.status.state));return r(()=>{n.fetchInitial()}),(e,r)=>(u(),D(Jn,{modelValue:i.value,"onUpdate:modelValue":r[0]||=e=>i.value=e,persistent:``,"no-backdrop-dismiss":``},{default:h(()=>[b(Tt,{style:{"min-width":`400px`}},{default:h(()=>[k(n).status.state===`backing-up`?(u(),D(xt,{key:0},{default:h(()=>[A(`div`,Go,S(k(t)(`migration.backing_up`)),1),b(be,{class:`q-mt-md`})]),_:1})):k(n).status.state===`running`?(u(),D(xt,{key:1},{default:h(()=>[A(`div`,Ko,S(k(t)(`migration.running`,{processed:k(n).status.processed,total:k(n).status.total})),1),b(wt,{value:k(n).status.total>0?k(n).status.processed/k(n).status.total:0,class:`q-mt-md`},null,8,[`value`])]),_:1})):k(n).status.state===`error`?(u(),D(xt,{key:2},{default:h(()=>[A(`div`,qo,S(k(t)(`migration.error`)),1),A(`div`,Jo,S(k(n).status.errorMessage),1),k(n).status.backupPath?(u(),y(`div`,Yo,S(k(t)(`migration.backup_location`,{path:k(n).status.backupPath})),1)):E(``,!0),A(`div`,Xo,S(k(t)(`migration.retry`)),1)]),_:1})):E(``,!0)]),_:1})]),_:1},8,[`modelValue`]))}});function Qo(e,t=250){let n=!1,r;return function(...i){return n||(n=!0,setTimeout(()=>{n=!1},t),r=e.apply(this,i)),r}}function $o(e,t,n,r){n.modifiers.stop&&fe(e);let i=n.modifiers.color,a=n.modifiers.center||r===!0,o=document.createElement(`span`),s=document.createElement(`span`),c=ye(e),{left:l,top:u,width:d,height:f}=t.getBoundingClientRect(),p=Math.hypot(d,f),m=p/2,h=`${(d-p)/2}px`,g=a?h:`${c.left-l-m}px`,_=`${(f-p)/2}px`,v=a?_:`${c.top-u-m}px`;s.className=`q-ripple__inner`,Qt(s,{height:`${p}px`,width:`${p}px`,transform:`translate3d(${g},${v},0) scale3d(.2,.2,1)`,opacity:0}),o.className=`q-ripple${i?` text-`+i:``}`,o.setAttribute(`dir`,`ltr`),o.append(s),t.append(o);let y=()=>{o.remove(),clearTimeout(b)};n.abort.push(y);let b=setTimeout(()=>{s.classList.add(`q-ripple__inner--enter`),s.style.transform=`translate3d(${h},${_},0) scale3d(1,1,1)`,s.style.opacity=.2,b=setTimeout(()=>{s.classList.remove(`q-ripple__inner--enter`),s.classList.add(`q-ripple__inner--leave`),s.style.opacity=0,b=setTimeout(()=>{o.remove(),n.abort.splice(n.abort.indexOf(y),1)},275)},250)},50)}function es(e,{modifiers:t,value:n,arg:r}){let i={...e.cfg.ripple,...t,...n};e.modifiers={early:i.early===!0,stop:i.stop===!0,center:i.center===!0,color:i.color||r,keyCodes:[i.keyCodes||13].flat()}}var ts=le({name:`ripple`,beforeMount(e,t){let n=t.instance.$.appContext.config.globalProperties.$q.config||{};if(n.ripple===!1)return;let r={cfg:n,enabled:t.value!==!1,modifiers:{},abort:[],start(t){r.enabled&&!t.qSkipRipple&&t.type===(r.modifiers.early?`pointerdown`:`click`)&&$o(t,e,r,t.qKeyEvent===!0)},keystart:Qo(t=>{r.enabled&&!t.qSkipRipple&&_e(t,r.modifiers.keyCodes)&&t.type===`key${r.modifiers.early?`down`:`up`}`&&$o(t,e,r,!0)},300)};es(r,t),e.__qripple=r,ce(r,`main`,[[e,`pointerdown`,`start`,`passive`],[e,`click`,`start`,`passive`],[e,`keydown`,`keystart`,`passive`],[e,`keyup`,`keystart`,`passive`]])},updated(e,t){if(t.oldValue!==t.value){let n=e.__qripple;n!==void 0&&(n.enabled=t.value!==!1,n.enabled&&Object(t.value)===t.value&&es(n,t))}},beforeUnmount(e){let t=e.__qripple;t!==void 0&&(t.abort.forEach(e=>{e()}),Ee(t,`main`),delete e.__qripple)}}),ns={left:`start`,center:`center`,right:`end`,between:`between`,around:`around`,evenly:`evenly`,stretch:`stretch`},rs=Object.keys(ns),is={align:{type:String,validator:e=>rs.includes(e)}};function as(e){return N(()=>{let t=e.align===void 0?e.vertical?`stretch`:`left`:e.align;return`${e.vertical?`items`:`justify`}-${ns[t]}`})}function os(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}function ss(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function cs(e,t){for(let n in t){let r=t[n],i=e[n];if(typeof r==`string`){if(r!==i)return!1}else if(!Array.isArray(i)||i.length!==r.length||r.some((e,t)=>e!==i[t]))return!1}return!0}function ls(e,t){return Array.isArray(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function us(e,t){return Array.isArray(e)?ls(e,t):Array.isArray(t)?ls(t,e):e===t}function ds(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(!us(e[n],t[n]))return!1;return!0}var fs={to:[String,Object],replace:Boolean,href:String,target:String,disable:Boolean},ps={...fs,exact:Boolean,activeClass:{type:String,default:`q-router-link--active`},exactActiveClass:{type:String,default:`q-router-link--exact-active`}};function ms({fallbackTag:e,useDisableForRouterLinkProps:n=!0}={}){let r=t(),{props:i,proxy:a,emit:o}=r,s=At(r),c=N(()=>!i.disable&&i.href!==void 0),l=N(n?()=>s&&!i.disable&&!c.value&&i.to!==void 0&&i.to!==null&&i.to!==``:()=>s&&!c.value&&i.to!==void 0&&i.to!==null&&i.to!==``),u=N(()=>l.value?y(i.to):null),d=N(()=>u.value!==null),f=N(()=>c.value||d.value),p=N(()=>i.type===`a`||f.value?`a`:i.tag||e||`div`),m=N(()=>c.value?{href:i.href,target:i.target}:d.value?{href:u.value.href,target:i.target}:{}),h=N(()=>{if(!d.value)return-1;let{matched:e}=u.value,{length:t}=e,n=e[t-1];if(n===void 0)return-1;let r=a.$route.matched;if(r.length===0)return-1;let i=r.findIndex(ss.bind(null,n));if(i!==-1)return i;let o=os(e[t-2]);return t>1&&os(n)===o&&r.at(-1).path!==o?r.findIndex(ss.bind(null,e[t-2])):i}),g=N(()=>d.value&&h.value!==-1&&cs(a.$route.params,u.value.params)),_=N(()=>g.value&&h.value===a.$route.matched.length-1&&ds(a.$route.params,u.value.params)),v=N(()=>d.value?_.value?` ${i.exactActiveClass} ${i.activeClass}`:i.exact?``:g.value?` ${i.activeClass}`:``:``);function y(e){try{return a.$router.resolve(e)}catch{}return null}function b(e,{returnRouterError:t,to:n=i.to,replace:r=i.replace}={}){if(i.disable)return e.preventDefault(),Promise.resolve(!1);if(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey||e.button!==void 0&&e.button!==0||i.target===`_blank`)return Promise.resolve(!1);e.preventDefault();let o=a.$router[r?`replace`:`push`](n);return t?o:o.then(()=>{}).catch(()=>{})}function x(e){if(d.value){let t=t=>b(e,t);o(`click`,e,t),e.defaultPrevented||t()}else o(`click`,e)}return{hasRouterLink:d,hasHrefLink:c,hasLink:f,linkTag:p,resolvedLink:u,linkIsActive:g,linkIsExactActive:_,linkClass:v,linkAttrs:m,getLink:y,navigateToRouterLink:b,navigateOnClick:x}}var hs={none:0,xs:4,sm:8,md:16,lg:24,xl:32},gs={xs:8,sm:10,md:14,lg:20,xl:24},_s=[`button`,`submit`,`reset`],vs=/[^\s]\/[^\s]/,ys=[`flat`,`outline`,`push`,`unelevated`];function bs(e,t){return e.flat?`flat`:e.outline?`outline`:e.push?`push`:e.unelevated?`unelevated`:t}function xs(e){let t=bs(e);return t===void 0?{}:{[t]:!0}}var Ss={...Ce,...fs,type:{type:String,default:`button`},label:[Number,String],icon:String,iconRight:String,...ys.reduce((e,t)=>(e[t]=Boolean)&&e,{}),square:Boolean,rounded:Boolean,glossy:Boolean,size:String,fab:Boolean,fabMini:Boolean,padding:String,color:String,textColor:String,noCaps:Boolean,noWrap:Boolean,dense:Boolean,tabindex:[Number,String],ripple:{type:[Boolean,Object],default:!0},align:{...is.align,default:`center`},stack:Boolean,stretch:Boolean,loading:{type:Boolean,default:null},disable:Boolean},Cs={...Ss,round:Boolean};function ws(e){let t=ve(e,gs),n=as(e),{hasRouterLink:r,hasLink:i,linkTag:a,linkAttrs:o,navigateOnClick:s}=ms({fallbackTag:`button`}),c=N(()=>{let n=e.fab||e.fabMini?{}:t.value;return e.padding===void 0?n:{...n,padding:e.padding.split(/\s+/).map(e=>e in hs?hs[e]+`px`:e).join(` `),minWidth:`0`,minHeight:`0`}}),l=N(()=>e.rounded||e.fab||e.fabMini),u=N(()=>!e.disable&&!e.loading),d=N(()=>u.value?e.tabindex||0:-1),f=N(()=>bs(e,`standard`)),p=N(()=>{let t={tabindex:d.value};return i.value?Object.assign(t,o.value):_s.includes(e.type)&&(t.type=e.type),a.value===`a`?(e.disable?t[`aria-disabled`]=`true`:t.href===void 0&&(t.role=`button`),!r.value&&vs.test(e.type)&&(t.type=e.type)):e.disable&&(t.disabled=``,t[`aria-disabled`]=`true`),e.loading&&e.percentage!==void 0&&Object.assign(t,{role:`progressbar`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":e.percentage}),t});return{classes:N(()=>{let t;e.color===void 0?e.textColor&&(t=`text-${e.textColor}`):t=e.flat||e.outline?`text-${e.textColor||e.color}`:`bg-${e.color} text-${e.textColor||`white`}`;let n=e.round?`round`:`rectangle${l.value?` q-btn--rounded`:e.square?` q-btn--square`:``}`;return`q-btn--${f.value} q-btn--${n}`+(t===void 0?``:` `+t)+(u.value?` q-btn--actionable q-focusable q-hoverable`:e.disable?` disabled`:``)+(e.fab?` q-btn--fab`:e.fabMini?` q-btn--fab-mini`:``)+(e.noCaps?` q-btn--no-uppercase`:``)+(e.dense?` q-btn--dense`:``)+(e.stretch?` no-border-radius self-stretch`:``)+(e.glossy?` glossy`:``)+(e.square?` q-btn--square`:``)}),style:c,innerClasses:N(()=>n.value+(e.stack?` column`:` row`)+(e.noWrap?` no-wrap text-no-wrap`:``)+(e.loading?` q-btn__content--hidden`:``)),attributes:p,hasLink:i,linkTag:a,navigateOnClick:s,isActionable:u}}var{passiveCapture:Ts}=P,Es=null,Ds=null,Os=null;function ks(e){pe(e),e.qSkipRipple=!0}var As=F({name:`QBtn`,props:{...Cs,percentage:Number,darkPercentage:Boolean,onTouchstart:[Function,Array]},emits:[`click`,`keydown`,`mousedown`,`keyup`],setup(n,{slots:r,emit:a}){let{proxy:o}=t(),{classes:c,style:l,innerClasses:u,attributes:d,hasLink:p,linkTag:m,navigateOnClick:h,isActionable:g}=ws(n),_=e(null),v=e(null),y=null,b,x=null,S=N(()=>n.label!==void 0&&n.label!==null&&n.label!==``),C=N(()=>n.disable||n.ripple===!1?!1:{keyCodes:p.value?[13,32]:[13],...n.ripple===!0?{}:n.ripple}),w=N(()=>({center:n.round})),T=N(()=>{let e=Math.max(0,Math.min(100,n.percentage));return e>0?{transition:`transform 0.6s`,transform:`translateX(${e-100}%)`}:{}}),E=N(()=>{if(n.loading)return{onMousedown:ks,onTouchstart:ks,onClick:ks,onKeydown:ks,onKeyup:ks};if(g.value){let e={onClick:O,onKeydown:k,onMousedown:A};if(o.$q.platform.has.touch){let t=n.onTouchstart===void 0?`Passive`:``;e[`onTouchstart${t}`]=ee}return e}return{onClick:pe}}),D=N(()=>({ref:_,class:`q-btn q-btn-item non-selectable no-outline `+c.value,style:l.value,...d.value,...E.value}));function O(e){if(_.value!==null){if(e!==void 0){if(e.defaultPrevented)return;let t=document.activeElement;if(n.type===`submit`&&t!==document.body&&!_.value.contains(t)&&!t.contains(_.value)){e.qAvoidFocus||_.value.focus();let t=()=>{document.removeEventListener(`keydown`,pe,!0),document.removeEventListener(`keyup`,t,Ts),_.value?.removeEventListener(`blur`,t,Ts)};document.addEventListener(`keydown`,pe,!0),document.addEventListener(`keyup`,t,Ts),_.value.addEventListener(`blur`,t,Ts)}}h(e)}}function k(e){_.value!==null&&(a(`keydown`,e),_e(e,[13,32])&&Ds!==_.value&&(Ds!==null&&M(),e.defaultPrevented||(e.qAvoidFocus||_.value.focus(),Ds=_.value,_.value.classList.add(`q-btn--active`),document.addEventListener(`keyup`,j,!0),_.value.addEventListener(`blur`,j,Ts)),pe(e)))}function ee(e){_.value!==null&&(a(`touchstart`,e),!e.defaultPrevented&&(Es!==_.value&&(Es!==null&&M(),Es=_.value,y=e.target,y.addEventListener(`touchcancel`,j,Ts),y.addEventListener(`touchend`,j,Ts)),b=!0,x!==null&&clearTimeout(x),x=setTimeout(()=>{x=null,b=!1},200)))}function A(e){_.value!==null&&(e.qSkipRipple=b===!0,a(`mousedown`,e),!e.defaultPrevented&&Os!==_.value&&(Os!==null&&M(),Os=_.value,_.value.classList.add(`q-btn--active`),document.addEventListener(`mouseup`,j,Ts)))}function j(e){if(_.value!==null&&!(e?.type===`blur`&&document.activeElement===_.value)){if(e?.type===`keyup`){if(Ds===_.value&&_e(e,[13,32])){let t=new MouseEvent(`click`,e);t.qKeyEvent=!0,e.defaultPrevented&&se(t),e.cancelBubble&&fe(t),_.value.dispatchEvent(t),pe(e),e.qKeyEvent=!0}a(`keyup`,e)}M()}}function M(e){let t=v.value;!e&&(Es===_.value||Os===_.value)&&t!==null&&t!==document.activeElement&&(t.setAttribute(`tabindex`,-1),t.focus()),Es===_.value&&(y!==null&&(y.removeEventListener(`touchcancel`,j,Ts),y.removeEventListener(`touchend`,j,Ts)),Es=y=null),Os===_.value&&(document.removeEventListener(`mouseup`,j,Ts),Os=null),Ds===_.value&&(document.removeEventListener(`keyup`,j,!0),_.value?.removeEventListener(`blur`,j,Ts),Ds=null),_.value?.classList.remove(`q-btn--active`)}return s(()=>{M(!0)}),Object.assign(o,{click:e=>{g.value&&O(e)}}),()=>{let e=[];n.icon!==void 0&&e.push(f(Te,{name:n.icon,left:!n.stack&&S.value,role:`img`})),S.value&&e.push(f(`span`,{class:`block`},[n.label])),e=ge(r.default,e),n.iconRight!==void 0&&!n.round&&e.push(f(Te,{name:n.iconRight,right:!n.stack&&S.value,role:`img`}));let t=[f(`span`,{class:`q-focus-helper`,ref:v})];return n.loading&&n.percentage!==void 0&&t.push(f(`span`,{class:`q-btn__progress absolute-full overflow-hidden`+(n.darkPercentage?` q-btn__progress--dark`:``)},[f(`span`,{class:`q-btn__progress-indicator fit block`,style:T.value})])),t.push(f(`span`,{class:`q-btn__content text-center col items-center q-anchor--skip `+u.value},e)),n.loading!==null&&t.push(f(te,{name:`q-transition--fade`},()=>n.loading?[f(`span`,{key:`loading`,class:`absolute-full flex flex-center`},r.loading===void 0?[f(be)]:r.loading())]:null)),i(f(m.value,D.value,t),[[ts,C.value,void 0,w.value]])}}}),js=F({name:`QCardActions`,props:{...is,vertical:Boolean},setup(e,{slots:t}){let n=as(e),r=N(()=>`q-card__actions ${n.value} q-card__actions--${e.vertical?`vert column`:`horiz row`}`);return()=>f(`div`,{class:r.value},I(t.default))}}),Ms=`kobo:network-token`;function Ns(){try{return localStorage.getItem(Ms)}catch{return null}}function Ps(e){try{localStorage.setItem(Ms,e)}catch{}}function Fs(e){try{let t=new URL(e,window.location.origin);return t.origin===window.location.origin&&t.pathname.startsWith(`/api/`)}catch{return typeof e==`string`&&e.startsWith(`/api/`)}}function Is(e,t){return t?`${e}${e.includes(`?`)?`&`:`?`}token=${encodeURIComponent(t)}`:e}var Ls=e(!1);function Rs(){Ls.value=!0}function zs(){Ls.value=!1}var Bs={class:`text-h6`},Vs={class:`text-caption text-grey-7 q-mt-sm`},Hs=d({__name:`NetworkLoginDialog`,setup(t){let{t:n}=No(),r=N({get:()=>Ls.value,set:e=>{e||zs()}}),i=e(``),a=e(!1),o=e(!1),s=e(``);async function c(){let e=i.value.trim();if(e){a.value=!0,o.value=!1;try{let t=await fetch(`/api/settings/network/ping`,{headers:{"X-Kobo-Token":e}});if(t.ok){Ps(e),zs(),window.location.reload();return}s.value=t.status===401?n(`network.login.invalid`):n(`network.login.serverError`),o.value=!0}catch{s.value=n(`network.login.unreachable`),o.value=!0}finally{a.value=!1}}}return(e,t)=>(u(),D(Jn,{modelValue:r.value,"onUpdate:modelValue":t[1]||=e=>r.value=e,persistent:``},{default:h(()=>[b(Tt,{style:{"min-width":`320px`,"max-width":`90vw`}},{default:h(()=>[b(xt,null,{default:h(()=>[A(`div`,Bs,S(k(n)(`network.login.title`)),1),A(`div`,Vs,S(k(n)(`network.login.description`)),1)]),_:1}),b(xt,null,{default:h(()=>[b(ze,{modelValue:i.value,"onUpdate:modelValue":t[0]||=e=>i.value=e,label:k(n)(`network.login.tokenLabel`),placeholder:k(n)(`network.login.tokenPlaceholder`),error:o.value,"error-message":s.value,autofocus:``,dense:``,outlined:``,onKeyup:M(c,[`enter`])},null,8,[`modelValue`,`label`,`placeholder`,`error`,`error-message`])]),_:1}),b(js,{align:`right`},{default:h(()=>[b(As,{label:k(n)(`network.login.connect`),color:`indigo-4`,loading:a.value,unelevated:``,onClick:c},null,8,[`label`,`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]))}}),Us=Oe(`templates`,{state:()=>({templates:[],defaultSlugs:[],loading:!1,loaded:!1}),getters:{isDefault:e=>t=>e.defaultSlugs.includes(t)},actions:{async fetchTemplates(){if(!this.loading){this.loading=!0;try{let e=await fetch(`/api/templates`);if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();this.templates=t.templates,this.defaultSlugs=t.defaultSlugs??[],this.loaded=!0}catch(e){console.error(`[templates store] fetchTemplates failed:`,e)}finally{this.loading=!1}}},async createTemplate(e){let t=await fetch(`/api/templates`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error??`HTTP ${t.status}`)}let n=await t.json();return this.templates.push(n),n},async updateTemplate(e,t){let n=await fetch(`/api/templates/${encodeURIComponent(e)}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error??`HTTP ${n.status}`)}let r=await n.json(),i=this.templates.findIndex(t=>t.slug===e);return i>=0&&(this.templates[i]=r),r},async reloadDefaults(){let e=await fetch(`/api/templates/reload-defaults`,{method:`POST`});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error??`HTTP ${e.status}`)}let t=await e.json();return t.added.length>0&&await this.fetchTemplates(),t},async deleteTemplate(e){let t=await fetch(`/api/templates/${encodeURIComponent(e)}`,{method:`DELETE`});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error??`HTTP ${t.status}`)}this.templates=this.templates.filter(t=>t.slug!==e)},async resetToDefault(e){let t=await fetch(`/api/templates/${encodeURIComponent(e)}/reset-default`,{method:`POST`});if(!t.ok){let e=await t.json().catch(()=>({error:`Reset failed`}));throw Error(e.error??`Reset failed`)}let{template:n}=await t.json(),r=this.templates.findIndex(t=>t.slug===e);return r>=0?this.templates[r]=n:this.templates.push(n),n}}}),Ws=F({name:`QAvatar`,props:{...Ce,fontSize:String,color:String,textColor:String,icon:String,square:Boolean,rounded:Boolean},setup(e,{slots:t}){let n=ve(e),r=N(()=>`q-avatar`+(e.color?` bg-${e.color}`:``)+(e.textColor?` text-${e.textColor} q-chip--colored`:``)+(e.square?` q-avatar--square`:e.rounded?` rounded-borders`:``)),i=N(()=>e.fontSize?{fontSize:e.fontSize}:null);return()=>{let a=e.icon===void 0?void 0:[f(Te,{name:e.icon})];return f(`div`,{class:r.value,style:n.value},[f(`div`,{class:`q-avatar__content row flex-center overflow-hidden`,style:i.value},Se(t.default,a))])}}}),Gs=0,Ks={},qs={},Js={},Ys={},Xs=/^\s*$/,Zs=[],Qs=[void 0,null,!0,!1,``],$s=[`top-left`,`top-right`,`bottom-left`,`bottom-right`,`top`,`bottom`,`left`,`right`,`center`],ec=[`top-left`,`top-right`,`bottom-left`,`bottom-right`],tc={positive:{icon:e=>e.iconSet.type.positive,color:`positive`},negative:{icon:e=>e.iconSet.type.negative,color:`negative`},warning:{icon:e=>e.iconSet.type.warning,color:`warning`,textColor:`dark`},info:{icon:e=>e.iconSet.type.info,color:`info`},ongoing:{group:!1,timeout:0,spinner:!0,color:`grey-8`}};function nc(e,t,n){if(!e)return ac(`parameter required`);let r,i={textColor:`white`};if(e.ignoreDefaults||Object.assign(i,Ks),dt(e)||(i.type&&Object.assign(i,tc[i.type]),e={message:e}),Object.assign(i,tc[e.type||i.type],e),typeof i.icon==`function`&&(i.icon=i.icon(t)),i.spinner?i.spinner=i.spinner===!0?be:g(i.spinner):i.spinner=!1,i.meta={hasMedia:!!(i.spinner||i.icon||i.avatar),hasText:ic(i.message)||ic(i.caption)},i.position){if(!$s.includes(i.position))return ac(`wrong position`,e)}else i.position=`bottom`;if(Qs.includes(i.timeout))i.timeout=5e3;else{let t=Number.parseFloat(i.timeout);if(!Number.isFinite(t)||t<0)return ac(`wrong timeout`,e);i.timeout=t}i.timeout===0?i.progress=!1:i.progress&&(i.meta.progressClass=`q-notification__progress`+(i.progressClass?` ${i.progressClass}`:``),i.meta.progressStyle={animationDuration:`${i.timeout+1e3}ms`});let a=[...Array.isArray(e.actions)?e.actions:[],...!e.ignoreDefaults&&Array.isArray(Ks.actions)?Ks.actions:[],...Array.isArray(tc[e.type]?.actions)?tc[e.type].actions:[]],{closeBtn:o}=i;if(o&&a.push({label:typeof o==`string`?o:t.lang.label.close}),i.actions=a.map(({handler:e,noDismiss:t,...n})=>({flat:!0,...n,onClick:typeof e==`function`?()=>{e(),t||s()}:()=>{s()}})),i.multiLine===void 0&&(i.multiLine=i.actions.length>1),Object.assign(i.meta,{class:`q-notification row items-stretch q-notification--${i.multiLine?`multi-line`:`standard`}`+(i.color===void 0?``:` bg-${i.color}`)+(i.textColor===void 0?``:` text-${i.textColor}`)+(i.classes===void 0?``:` ${i.classes}`),wrapperClass:`q-notification__wrapper col relative-position border-radius-inherit `+(i.multiLine?`column no-wrap justify-center`:`row items-center`),contentClass:`q-notification__content row items-center`+(i.multiLine?``:` col`),leftClass:i.meta.hasText?`additional`:`single`,attrs:{role:`alert`,...i.attrs}}),i.group===!1?(i.group=void 0,i.meta.group=void 0):((i.group===void 0||i.group===!0)&&(i.group=[i.message,i.caption,i.multiline,...i.actions.map(e=>`${e.label}*${e.icon}`)].join(`|`)),i.meta.group=i.group+`|`+i.position),i.actions.length===0?i.actions=void 0:i.meta.actionsClass=`q-notification__actions row items-center `+(i.multiLine?`justify-end`:`col-auto`)+(i.meta.hasMedia?` q-notification__actions--with-media`:``),n!==void 0){n.notif.meta.timer&&(clearTimeout(n.notif.meta.timer),n.notif.meta.timer=void 0),i.meta.uid=n.notif.meta.uid;let e=Js[i.position].value.indexOf(n.notif);Js[i.position].value[e]=i}else{let t=qs[i.meta.group];if(t===void 0){if(i.meta.uid=Gs++,i.meta.badge=1,[`left`,`right`,`center`].includes(i.position))Js[i.position].value.splice(Math.floor(Js[i.position].value.length/2),0,i);else{let e=i.position.includes(`top`)?`unshift`:`push`;Js[i.position].value[e](i)}i.group!==void 0&&(qs[i.meta.group]=i)}else{if(t.meta.timer&&(clearTimeout(t.meta.timer),t.meta.timer=void 0),i.badgePosition!==void 0){if(!ec.includes(i.badgePosition))return ac(`wrong badgePosition`,e)}else i.badgePosition=`top-${i.position.includes(`left`)?`right`:`left`}`;i.meta.uid=t.meta.uid,i.meta.badge=t.meta.badge+1,i.meta.badgeClass=`q-notification__badge q-notification__badge--${i.badgePosition}`+(i.badgeColor===void 0?``:` bg-${i.badgeColor}`)+(i.badgeTextColor===void 0?``:` text-${i.badgeTextColor}`)+(i.badgeClass?` ${i.badgeClass}`:``);let n=Js[i.position].value.indexOf(t);Js[i.position].value[n]=qs[i.meta.group]=i}}let s=()=>{rc(i),r=void 0};if(i.timeout>0&&(i.meta.timer=setTimeout(()=>{i.meta.timer=void 0,s()},i.timeout+1e3)),i.group!==void 0)return t=>{t===void 0?s():ac(`trying to update a grouped one which is forbidden`,e)};if(r={dismiss:s,config:e,notif:i},n!==void 0){Object.assign(n,r);return}return e=>{r!==void 0&&(e===void 0?r.dismiss():nc({...r.config,...e,group:!1,position:i.position},t,r))}}function rc(e){e.meta.timer&&(clearTimeout(e.meta.timer),e.meta.timer=void 0);let t=Js[e.position].value.indexOf(e);if(t!==-1){e.group!==void 0&&delete qs[e.meta.group];let n=Zs[String(e.meta.uid)];if(n){let{width:e,height:t}=getComputedStyle(n);n.style.left=`${n.offsetLeft}px`,n.style.width=e,n.style.height=t}Js[e.position].value.splice(t,1),typeof e.onDismiss==`function`&&e.onDismiss()}}function ic(e){return e!=null&&!Xs.test(e)}function ac(e,t){return console.error(`Notify: ${e}`,t),!1}function oc(){return F({name:`QNotifications`,devtools:{hide:!0},setup(){return()=>f(`div`,{class:`q-notifications`},$s.map(e=>f(re,{key:e,class:Ys[e],tag:`div`,name:`q-notification--${e}`},()=>Js[e].value.map(e=>{let t=e.meta,n=[];if(t.hasMedia&&(e.spinner?n.push(f(e.spinner,{class:`q-notification__spinner q-notification__spinner--`+t.leftClass,color:e.spinnerColor,size:e.spinnerSize})):e.icon?n.push(f(Te,{class:`q-notification__icon q-notification__icon--`+t.leftClass,name:e.icon,color:e.iconColor,size:e.iconSize,role:`img`})):e.avatar&&n.push(f(Ws,{class:`q-notification__avatar q-notification__avatar--`+t.leftClass},()=>f(`img`,{src:e.avatar,"aria-hidden":`true`})))),t.hasText){let t,r={class:`q-notification__message col`};if(e.html)r.innerHTML=e.caption?`<div>${e.message}</div><div class="q-notification__caption">${e.caption}</div>`:e.message;else{let n=[e.message];t=e.caption?[f(`div`,n),f(`div`,{class:`q-notification__caption`},[e.caption])]:n}n.push(f(`div`,r,t))}let r=[f(`div`,{class:t.contentClass},n)];return e.progress&&r.push(f(`div`,{key:`${t.uid}|p|${t.badge}`,class:t.progressClass,style:t.progressStyle})),e.actions&&r.push(f(`div`,{class:t.actionsClass},e.actions.map(e=>f(As,e)))),t.badge>1&&r.push(f(`div`,{key:`${t.uid}|${t.badge}`,class:e.meta.badgeClass,style:e.badgeStyle},[t.badge])),f(`div`,{ref:e=>{Zs[String(t.uid)]=e},key:t.uid,class:t.class,...t.attrs},[f(`div`,{class:t.wrapperClass},r)])}))))}})}var sc={setDefaults(e){dt(e)&&Object.assign(Ks,e)},registerType(e,t){dt(t)&&(tc[e]=t)},install({$q:t,parentApp:n}){if(t.notify=this.create=e=>nc(e,t),t.notify.setDefaults=this.setDefaults,t.notify.registerType=this.registerType,t.config.notify!==void 0&&this.setDefaults(t.config.notify),!this.__installed){$s.forEach(t=>{Js[t]=e([]);let n=t===`left`||t===`center`||t===`right`?`center`:t.includes(`top`)?`top`:`bottom`,r=t.includes(`left`)?`start`:t.includes(`right`)?`end`:`center`;Ys[t]=`q-notifications__list q-notifications__list--${n} fixed column no-wrap ${t===`left`||t===`right`?`items-${t===`left`?`start`:`end`} justify-center`:t===`center`?`flex-center`:`items-${r}`}`});let t=qt(`q-notify`);_t(oc(),n).mount(t)}}},cc={"common.save":`Speichern`,"common.cancel":`Abbrechen`,"common.delete":`Löschen`,"common.close":`Schließen`,"common.details":`Details`,"whatsNew.title":`Neuigkeiten`,"common.loading":`Laden...`,"common.search":`Suchen...`,"common.refresh":`Aktualisieren`,"common.copy":`Kopieren`,"common.copied":`In die Zwischenablage kopiert`,"common.copyFailed":`Kopieren fehlgeschlagen`,"common.add":`Hinzufügen`,"folderPicker.title":`Ordner auswählen`,"folderPicker.parent":`Übergeordneter Ordner`,"folderPicker.empty":`Keine Unterordner`,"folderPicker.select":`Diesen Ordner auswählen`,"common.start":`Starten`,"common.stop":`Stoppen`,"common.archive":`Archivieren`,"common.unarchive":`Wiederherstellen`,"common.selectWorkspace":`Arbeitsbereich auswählen`,"common.noResults":`Keine Ergebnisse für „{query}"`,"common.send":`senden`,"common.newLine":`neue Zeile`,"common.history":`Verlauf`,"common.justNow":`gerade eben`,"common.minutesAgo":`vor {count}m`,"common.hoursAgo":`vor {count}h`,"common.daysAgo":`vor {count}T`,"model.auto":`Auto`,"model.fable5":`Fable 5`,"model.mythos5":`Mythos 5 (Glasswing)`,"model.fable5Description":`Leistungsfähigstes Modell — Nachfolger von Opus 4.8, 1M Kontext, adaptive thinking`,"model.mythos5Description":`Fable 5 ohne Sicherheitsklassifikatoren — eingeschränkter Zugriff (Project Glasswing)`,"model.opus":`Opus 4.6`,"model.sonnet":`Sonnet 4.6`,"model.opus48":`Opus 4.8`,"model.opus47Classic":`Opus 4.7 (Classic)`,"model.opus471m":`Opus 4.7 (1M)`,"model.opusClassic":`Opus 4.6 (Classic)`,"model.opus1m":`Opus 4.6 (1M)`,"model.sonnetClassic":`Sonnet 4.6 (Classic)`,"model.sonnet1m":`Sonnet 4.6 (1M)`,"model.haiku":`Haiku 4.5`,"model.autoDescription":`Claude wählt das optimale Modell`,"model.opus48Description":`Leistungsfähigstes Opus — Long-Horizon-Coding, 1M-Kontext standardmäßig, hoher Effort standardmäßig`,"model.opus47ClassicDescription":`Neuestes Opus, am leistungsfähigsten`,"model.opus471mDescription":`Neuestes Opus, 1M Kontext`,"model.opusClassicDescription":`Am leistungsstärksten`,"model.opus1mDescription":`Am leistungsstärksten, 1M Kontext`,"model.sonnetClassicDescription":`Ausgewogen`,"model.sonnet1mDescription":`Ausgewogen, 1M Kontext`,"model.haikuDescription":`Am schnellsten`,"model.gpt55":`GPT-5.5`,"model.gpt55Description":`Empfohlen für komplexes Coding (erfordert ChatGPT-Anmeldung)`,"model.gpt54":`GPT-5.4`,"model.gpt54Description":`Standard-Fallback — starkes Reasoning, funktioniert mit API-Key-Authentifizierung`,"model.gpt54mini":`GPT-5.4 mini`,"model.gpt54miniDescription":`Schnell und effizient — ideal für reaktive Aufgaben und Subagenten`,"model.gpt53codex":`GPT-5.3 Codex`,"model.gpt53codexDescription":`Auf Coding spezialisiertes Modell für komplexe Softwareentwicklung`,"reasoning.auto":`auto`,"reasoning.minimal":`minimal`,"reasoning.low":`low`,"reasoning.medium":`medium`,"reasoning.high":`high`,"reasoning.xhigh":`xhigh`,"reasoning.max":`max`,"reasoning.autoDescription":`Engine entscheidet automatisch`,"reasoning.minimalDescription":`Schnellstes, oberflächlichstes Reasoning`,"reasoning.lowDescription":`Schneller, weniger Tiefe`,"reasoning.mediumDescription":`Ausgewogen`,"reasoning.highDescription":`Mehr Tiefe`,"reasoning.xhighDescription":`Erweiterte Tiefe, langfristige Aufgaben`,"reasoning.maxDescription":`Maximale Tiefe`,"agentPermissionMode.label":`Berechtigungsmodus`,"agentPermissionMode.plan":`Plan`,"agentPermissionMode.bypass":`Bypass`,"agentPermissionMode.strict":`Edits akzeptieren`,"agentPermissionMode.interactive":`Interaktiv`,"agentPermissionMode.tooltip":`Wie der Agent Tool-Berechtigungen handhabt. Plan: schreibgeschützt, keine Schreibvorgänge. Bypass: alle Nachfragen überspringen. Strict: Datei-Edits automatisch akzeptieren, allow/deny für den Rest beachten. Interaktiv: vor jedem Tool den Benutzer per Berechtigungs-Panel fragen.`,"agentPermissionMode.autoLoopOverride":`Auto-Loop erzwingt einen Modus außer Plan — Plan blockiert MCP-Tools und Edits, die der Loop benötigt. Wähle stattdessen Bypass, Strict oder Interaktiv.`,"agentPermissionMode.autoLoopLocked":`Auf Bypass gesperrt, solange Auto-Loop aktiv ist — jeder andere Modus würde den Loop bei Berechtigungsabfragen anhalten. AskUserQuestion funktioniert weiterhin.`,"workspaceList.title":`Arbeitsbereiche`,"workspaceList.needsAttention":`Aufmerksamkeit erforderlich`,"workspaceList.running":`Aktiv`,"workspaceList.idle":`Inaktiv`,"workspaceList.archived":`Archiviert`,"workspaceList.noWorkspaces":`Noch keine Arbeitsbereiche`,"workspaceList.footer":`{count} Arbeitsbereich | {count} Arbeitsbereiche`,"workspaceList.footerRunning":`{count} aktiv`,"workspaceList.deleteDialog.title":`Arbeitsbereich löschen?`,"workspaceList.deleteDialog.deleteLocal":`Lokalen Branch löschen`,"workspaceList.deleteDialog.deleteRemote":`Remote-Branch löschen`,"workspaceList.deleteDialog.warning":`Achtung: Diese Aktion ist auf dem Remote unwiderruflich.`,"workspaceList.deleteArchivedDialog.tooltip":`Alle archivierten Arbeitsbereiche löschen`,"workspaceList.deleteArchivedDialog.title":`Alle archivierten Arbeitsbereiche löschen?`,"workspaceList.deleteArchivedDialog.message":`Dadurch werden die {count} archivierten Arbeitsbereiche endgültig gelöscht. Diese Aktion kann nicht rückgängig gemacht werden.`,"workspacePage.selectWorkspace":`Arbeitsbereich auswählen, um zu beginnen`,"workspacePage.session":`Sitzung #{n}`,"workspacePage.newSession":`+ Neue Sitzung`,"workspacePage.renameSession":`Umbenennen`,"workspacePage.renameSessionTitle":`Sitzung umbenennen`,"workspacePage.sessionNameLabel":`Sitzungsname`,"workspacePage.sessionEndedNotice":`Diese Sitzung ist beendet. Erstelle eine neue Sitzung um fortzufahren.`,"workspacePage.renameFailed":`Umbenennung fehlgeschlagen`,"workspacePage.createSessionFailed":`Sitzung konnte nicht erstellt werden`,"workspacePage.startFailed":`Start fehlgeschlagen`,"workspacePage.stopFailed":`Stopp fehlgeschlagen`,"workspacePage.interrupt":`Unterbrechen`,"workspacePage.interrupted":`Agent unterbrochen — wartet auf Ihre nächste Nachricht`,"workspacePage.archivedBanner":`Archivierter Workspace — schreibgeschützt`,"workspacePage.worktreePurgedBanner":`Worktree gelöscht — Verlauf erhalten, keine Wiederherstellung in dieser Version`,"workspacePage.worktreePurgedTooltip":"Der Worktree-Ordner wurde von der Festplatte gelöscht, um Speicherplatz zurückzugewinnen. Chat-Verlauf, Sitzungen und PR-Metadaten bleiben hier abrufbar, aber das Arbeitsverzeichnis existiert lokal nicht mehr. Eine zukünftige Kōbō-Version wird den Worktree aus der gemergten PR wiederherstellen können — vorerst musst du ihn manuell über `gh pr checkout` oder `git worktree add` neu erstellen.","workspacePage.pendingInitialPromptBanner":`Ein anfänglicher Prompt ist ausstehend — der Agent hat ihn nie erhalten (Setup-Script abgestürzt oder Workspace nie gestartet). Klicke auf Start, um ihn jetzt zu senden.`,"workspacePage.unarchived":`Workspace dearchiviert`,"workspacePage.unarchiveFailed":`Dearchivierung fehlgeschlagen`,"workspacePage.interruptFailed":`Unterbrechung fehlgeschlagen`,"workspacePage.interruptTooltip":`Sanfte Unterbrechung (wie Escape) — stoppt das aktuelle Tool, hält die Sitzung aktiv`,"workspacePage.pendingNextRun":`Beim nächsten Start angewendet`,"search.title":`Suche`,"search.tooltip":`Agent-Verlauf durchsuchen`,"search.placeholder":`In allen Agent-Nachrichten suchen…`,"search.includeArchived":`Archivierte Arbeitsbereiche einbeziehen`,"search.loading":`Suche läuft…`,"search.noResults":`Keine Treffer`,"search.error":`Suche fehlgeschlagen: {message}`,"search.resultCount":`{n} Treffer`,"search.eventType.userMessage":`Sie`,"search.eventType.agentOutput":`Agent`,"activityFeed.empty":`Noch keine Aktivität`,"activityFeed.emptyHint":`Starten Sie einen Arbeitsbereich, um die Agentenausgabe hier zu sehen`,"activityFeed.initialPrompt":`Initialer Prompt`,"activityFeed.you":`Sie`,"activityFeed.agent":`Agent`,"activityFeed.question":`Frage`,"activityFeed.goToPrevious":`Zur vorherigen Nachricht`,"activityFeed.scrollToBottom":`Nach unten scrollen`,"activityFeed.sendAnswers":`Antworten senden`,"agentBusy.banner":`Agent ist beschäftigt`,"agentBusy.subagentsRunning":`1 Sub-Agent aktiv | {n} Sub-Agents aktiv`,"agentBusy.viewSubagents":`Sub-Agents anzeigen`,"agentBusy.pendingMessage":`Warten — Agent ist beschäftigt`,"terminal.title":`Terminal`,"terminal.open":`Terminal öffnen`,"terminal.close":`Terminal schließen`,"terminal.noWorkspace":`Workspace auswählen`,"terminal.noWorktree":`Worktree noch nicht erstellt`,"terminal.error":`Terminalfehler`,"terminal.exited":`Terminal beendet`,"chatInput.placeholder":`Nachricht... (/ für Skills)`,"chatInput.fileSearchHint":`Datei suchen`,"chatInput.skills":`Skills`,"chatInput.attachImage":`Bild anhängen`,"chatInput.queueBanner":`Nachricht in Warteschlange — wird gesendet, wenn der Agent fertig ist`,"chatInput.cancelQueue":`Warteschlange abbrechen`,"chatInput.autoLoopBanner":`Auto-Loop läuft — beende ihn, um eine Nachricht zu senden`,"chatInput.awaitingUserBanner":`Der Agent wartet auf deine Antwort oben — antworte über das Fragefenster`,"chatInput.autoLoopStop":`Beenden`,"koboCommand.checkProgressDesc":`Fortschritt bei Aufgaben und Akzeptanzkriterien prüfen`,"chatInput.uploading":`Wird hochgeladen...`,"voice.title":`Sprachtranskription`,"voice.enabled":`Lokale Sprachtranskription aktivieren`,"voice.pttKey":`Push-to-talk-Taste`,"voice.pttAlt":`Alt`,"voice.pttCtrlSpace":`Strg+Leertaste`,"voice.language":`Sprache (auto oder Code)`,"voice.model":`Aktives Modell`,"voice.commandPath":`Pfad zur Whisper-Binärdatei (optional)`,"voice.ffmpegPath":`Pfad zur ffmpeg-Binärdatei (optional)`,"voice.temperature":`Temperatur`,"voice.temperatureHint":`Niedriger = deterministischer, höher = flexibler, aber potenziell weniger stabil.`,"voice.initialPrompt":`Initial Prompt (optional)`,"voice.initialPromptHint":`Optionaler Kontext, um Whisper bei Namen, Fachbegriffen oder domänenspezifischem Vokabular zu helfen.`,"voice.translateToEnglish":`Ins Englische übersetzen`,"voice.translateToEnglishHint":`Wenn aktiviert, wird nicht-englische Sprache ins Englische übersetzt statt originalgetreu transkribiert.`,"voice.suppressNst":`Nicht-Sprach-Tokens unterdrücken`,"voice.suppressNstHint":`Versucht, Nicht-Sprach-Artefakte im Transkript zu reduzieren.`,"voice.installLink":`whisper.cpp installieren`,"voice.installGuideTitle":`Installationsanleitung`,"voice.installGuideIntro":`Installiere whisper.cpp und ffmpeg und setze bei Bedarf unten die Binärpfade.`,"voice.installGuideUbuntuTitle":`Ubuntu / Debian`,"voice.installGuideWindowsTitle":`Windows`,"voice.installGuideBinaryPathHint":`Nach dem CMake-Build liegt die Whisper-Binärdatei üblicherweise hier: whisper.cpp/build/bin/whisper-cli`,"voice.installGuideSettingsHint":`Danach in diesem Bereich „Pfad zur Whisper-Binärdatei“ und „Pfad zur ffmpeg-Binärdatei“ setzen (oder leer lassen, wenn im PATH).`,"voice.noneModel":`Kein aktives Modell`,"voice.notInstalled":`nicht installiert`,"voice.download":`Herunterladen`,"voice.delete":`Löschen`,"voice.holdToTalk":`Zum Sprechen gedrückt halten`,"voice.recording":`Aufnahme...`,"voice.transcribing":`Transkription...`,"voice.notSupported":`Sprachaufnahme wird in diesem Browser nicht unterstützt`,"voice.errorMicPermission":`Mikrofonberechtigung verweigert`,"voice.errorTranscription":`Sprachtranskription fehlgeschlagen`,"voice.downloadFailed":`Modelldownload fehlgeschlagen`,"voice.deleteFailed":`Modell konnte nicht gelöscht werden`,"voice.errorDisabled":`Sprachtranskription ist in den Einstellungen deaktiviert`,"voice.errorModelMissing":`Kein aktives Sprachmodell konfiguriert`,"voice.errorModelNotInstalled":`Das aktive Sprachmodell ist nicht installiert`,"voice.errorAudioInvalid":`Audioaufnahme ist ungültig oder leer`,"voice.errorLanguageInvalid":`Sprachkonfiguration ist ungültig`,"voice.errorRuntimeMissing":`Whisper-Runtime ist nicht installiert oder nicht im PATH`,"voice.maxDurationReached":`Maximale Aufnahmedauer erreicht`,"voice.runtimeReady":`Runtime bereit: {command}`,"voice.runtimeMissing":`Runtime fehlt: {command}`,"voice.ffmpegReady":`ffmpeg bereit`,"voice.ffmpegMissing":`ffmpeg fehlt`,"voice.sectionRuntime":`Runtime-Status`,"voice.sectionActivation":`Aktivierung`,"voice.sectionModels":`Whisper-Modelle`,"voice.sectionAdvanced":`Erweiterte Optionen`,"voice.sectionBehavior":`Transkriptionsverhalten`,"voice.sectionBinaries":`Binärpfade`,"voice.downloadModels":`Modell herunterladen`,"voice.cancelFailed":`Abbrechen des Downloads fehlgeschlagen`,"createPage.title":`Woran möchten Sie arbeiten?`,"createPage.claudeCode":`Claude Code`,"createPage.notionEnabled":`Notion aktiviert`,"createPage.importNotion":`Aus Notion importieren`,"createPage.notionPlaceholder":`https://www.notion.so/workspace/Page-title-abc123...`,"createPage.notionValidation":`Die URL muss mit https://www.notion.so/ oder https://app.notion.com/ beginnen`,"createPage.notionAutoExtract":`Unteraufgaben und Akzeptanzkriterien werden automatisch extrahiert.`,"createPage.notionPanelChoiceLabel":`Diese URL verweist auf eine Unterseite (?p=). An welcher möchtest du arbeiten?`,"createPage.notionPanelOption":`Unterseite (Panel)`,"createPage.notionPanelOptionDesc":`Die Seite, die du angesehen hast — empfohlen`,"createPage.notionParentOption":`Übergeordnete Seite`,"createPage.notionParentOptionDesc":`Das Epic / die Datenbank dazu`,"createPage.importSentry":`Sentry importieren`,"createPage.sentryEnabled":`Sentry aktiviert`,"createPage.sentryPlaceholder":`https://ihre-org.sentry.io/issues/123456`,"createPage.sentryValidation":`Die URL muss auf ein Sentry-Issue zeigen (/issues/<id>)`,"createPage.sentryAutoExtract":`Sentry-Issue wird automatisch importiert`,"createPage.sentryExtractHint":`Kobo extrahiert das Issue und schreibt es nach .ai/thoughts/`,"createPage.workspaceName":`Name des Arbeitsbereichs (Standard: Notion-Seitentitel)`,"createPage.workspaceNamePlaceholder":`Name des Arbeitsbereichs...`,"createPage.instructions":`Zusätzliche Anweisungen (optional)...`,"createPage.instructionsPlaceholder":`Aufgabe beschreiben...`,"createPage.manualHint":`Kein Notion-Ticket? Fügen Sie Ihre Aufgaben und Akzeptanzkriterien manuell hinzu — sie werden dem Claude-Agent als Kontext mitgegeben.`,"createPage.tasks":`Aufgaben ({count})`,"createPage.addTask":`Aufgabe hinzufügen...`,"createPage.acceptanceCriteria":`Akzeptanzkriterien ({count})`,"createPage.addCriterion":`Kriterium hinzufügen...`,"createPage.projectPath":`Projektpfad eingeben`,"createPage.branchType":`Branch-Typ`,"createPage.branch":`Branch`,"createPage.noBranches":`Keine Branches gefunden`,"createPage.enterPath":`Projektpfad eingeben`,"createPage.create":`Erstellen`,"createPage.skipSetupScript":`Setup-Skript überspringen`,"createPage.attachWorktreeToggle":`Bestehenden Worktree anhängen`,"createPage.attachWorktreeEnabled":`Bestehenden Worktree wiederverwenden`,"createPage.worktreePickerLabel":`Bestehender Worktree`,"createPage.noOrphanWorktrees":`Kein verwaister Worktree in diesem Projekt`,"createPage.pickWorktreeRequired":`Bitte einen Worktree zum Anhängen auswählen`,"createPage.notionExtractHint":`Unteraufgaben und Akzeptanzkriterien werden aus der Notion-Seite extrahiert.`,"createPage.notionImportHint":`Klicken Sie auf „Aus Notion importieren", um Unteraufgaben automatisch aus einem Ticket zu extrahieren.`,"createPage.errorCreating":`Fehler beim Erstellen des Arbeitsbereichs.`,"createPage.branchAdjusted":"Branch existierte bereits — stattdessen `{branch}` erstellt. Der zugehörige Worktree-Ordner verwendet das gleiche Suffix.","createPage.validationNotionUrl":`Bitte eine gültige Notion-URL einfügen (https://www.notion.so/... oder https://app.notion.com/...).`,"createPage.validationDescription":`Bitte beschreiben Sie die Aufgabe.`,"createPage.validationName":`Bitte geben Sie einen Arbeitsbereichnamen an.`,"createPage.validationPath":`Bitte geben Sie den Projektpfad ein.`,"createPage.validationBranch":`Bitte wählen Sie einen Branch aus.`,"settings.title":`Einstellungen`,"settings.language":`Sprache`,"settings.projectColor":`Farbe`,"settings.projectColorClear":`Löschen`,"settings.projectColorDefault":`Standard (grau)`,"settings.workspaceListSection":`Workspace-Liste`,"settings.flattenWorkspaceList":`Workspace-Liste flach anzeigen`,"settings.flattenWorkspaceListHint":`Zeigt alle Workspaces in einer flachen Liste mit Projekt-Badge, anstatt nach Projekt gruppiert.`,"settings.skillSuite.section":`Skill-Suite`,"settings.skillSuite.superpowers":`Superpowers`,"settings.skillSuite.gstack":`gstack`,"settings.skillSuite.custom":`Benutzerdefiniert`,"settings.skillSuite.superpowersHint":`Opinionierter TDD / Brainstorm / Plan-Workflow (github.com/obra/superpowers).`,"settings.skillSuite.gstackHint":`Garry Tans Suite — /review, /ship, /qa, /office-hours usw. (github.com/garrytan/gstack).`,"settings.skillSuite.superpowersGstack":`Superpowers + gstack`,"settings.skillSuite.superpowersGstackHint":`Beide Suites lassen sich kombinieren — superpowers für Methodik (Brainstorm / TDD / Pläne / Prinzipien-Review), gstack für konkrete Workflows (/review, /qa, /browse, /design-review, /investigate).`,"settings.skillSuite.customHint":`Bearbeite die vier Prompts unten selbst. Beginnt mit der agnostischen Basis.`,"settings.skillSuite.reloadDefaults":`Standard wiederherstellen`,"settings.skillSuite.reloadDefaultsConfirm":`Die vier benutzerdefinierten Prompts durch die agnostischen Standardwerte ersetzen?`,"settings.skillSuite.customPrompts":`Benutzerdefinierte Prompts`,"settings.skillSuite.reviewTemplate":`Review-Vorlage`,"settings.skillSuite.autoLoopReviewGate":`Auto-Loop Review-Gate`,"settings.skillSuite.autoLoopGroomingIntro":`Auto-Loop Grooming-Intro`,"settings.skillSuite.qaTemplate":`QA-Vorlage`,"settings.skillSuite.brainstormingInstruction":`Anweisung für die Brainstorming-Phase`,"settings.global":`Allgemein`,"settings.projects":`Projekte`,"settings.globalSettings":`Allgemeine Einstellungen`,"settings.defaultModel":`Standardmodell`,"settings.defaultModelClaude":`Standardmodell (Claude Code)`,"settings.defaultModelCodex":`Standardmodell (OpenAI Codex)`,"settings.agentPermissions":`Agentenberechtigungen`,"settings.skipPermissions":`Berechtigungsabfragen überspringen (--dangerously-skip-permissions)`,"settings.skipPermissionsWarning":`Achtung: Wird diese Option deaktiviert, werden alle Tool-Berechtigungen (Write, Edit, Bash...) im Headless-Modus automatisch abgelehnt. Der Agent kann dann nur lesen.`,"settings.notifications":`Benachrichtigungen`,"settings.browserNotifications":`Browser-Benachrichtigung wenn Agent fertig ist`,"settings.audioNotifications":`Ton-Benachrichtigung wenn Agent fertig ist`,"settings.notificationSound":`Benachrichtigungston`,"settings.questionSound":`Frageton`,"settings.questionSoundHint":`Wird nur abgespielt, wenn der Agent eine Frage stellt.`,"settings.notificationSoundPreview":`Anhören`,"settings.notificationVolume":`Lautstärke`,"settings.notificationSoundHey":`Hey`,"settings.notificationSoundTravailTermine":`Arbeit erledigt`,"settings.notificationSoundFaaah":`Faaah`,"settings.notificationSoundCaVaPeter":`Das wird knallen`,"settings.notificationSoundDryFart":`Dry fart`,"settings.notificationSoundForShure":`For shure`,"settings.defaultPermissionMode":`Standard-Berechtigungsmodus`,"settings.defaultPermissionModeClaude":`Standard-Berechtigungsmodus (Claude Code)`,"settings.defaultPermissionModeCodex":`Standard-Berechtigungsmodus (OpenAI Codex)`,"settings.defaultPermissionModeHint":`Modus bei der Erstellung eines neuen Workspaces. Plan = nur lesen, Bypass = keine Nachfragen, Strict = Edits automatisch akzeptieren mit allow-list, Interaktiv = vor jedem Tool fragen.`,"settings.activityFeed":`Aktivitätsfeed`,"settings.verboseMessages":`Ausführliche Systemnachrichten anzeigen (task_progress, task_started)`,"settings.availableVariables":`Verfügbare Template-Variablen`,"settings.prPromptTemplate":`PR-Prompt-Vorlage`,"settings.prPromptPlaceholder":`Anweisungen für den Agenten bei der Erstellung von GitHub-PRs...`,"settings.prPromptHint":`Verwenden Sie die oben aufgeführten Platzhalter (doppelte geschweifte Klammern).`,"settings.reviewPromptTemplate":`Review-Prompt-Vorlage`,"settings.reviewPromptPlaceholder":`Anweisungen für den Agenten bei der Review von Branch-Änderungen...`,"settings.ciFixPromptTemplate":`CI-Fix-Prompt-Vorlage`,"settings.ciFixPromptHint":`Wird an den Agenten gesendet, wenn die CI eines Workspaces fehlschlägt. Variablen (doppelte geschweifte Klammern): pr_url, pr_number, pr_title, branch_name, source_branch, workspace_name, workspace_id, project_name, failed_jobs, ci_run_url.`,"settings.ciFixPromptPlaceholder":`Den Agenten bitten, die fehlschlagenden CI-Jobs zu diagnostizieren und zu beheben...`,"settings.finalizationPromptTemplate":`Auto-Loop-Finalisierungs-Prompt`,"settings.finalizationPromptHint":`Standard-Prompt für die letzte Auto-Loop-Iteration (abschließende Qualitätsprüfungen). Wird verwendet, wenn ein Projekt seinen eigenen Finalisierungs-Prompt leer lässt.`,"settings.finalizationPromptPlaceholder":`Run final quality checks before closing the workspace...`,"settings.notionInitialPrompt":`Notion-Initial-Prompt`,"settings.notionInitialPrompt.help":`Wird an den Workspace-Erstellungsprompt angehängt, wenn der Workspace ein Notion-Ticket hat. Variablen: {variables}.`,"settings.notionInitialPrompt.project":`Notion-Initial-Prompt (Überschreibung)`,"settings.sentryInitialPrompt":`Sentry-Initial-Prompt`,"settings.sentryInitialPrompt.help":`Wird an den Workspace-Erstellungsprompt angehängt, wenn der Workspace ein Sentry-Issue hat. Variablen: {variables}.`,"settings.sentryInitialPrompt.project":`Sentry-Initial-Prompt (Überschreibung)`,"settings.initialPrompt.inheritHint":`Leer lassen, um zu erben. Geben Sie ein Leerzeichen ein, um die Injektion auf dieser Ebene zu deaktivieren.`,"settings.resetToDefault":`Zurücksetzen`,"settings.resetFailed":`Standardwert konnte nicht geladen werden`,"settings.sentryIntegration":`Sentry-Integration`,"settings.var.prNumber":`PR-Nummer (z. B. 42)`,"settings.var.prUrl":`Vollständige URL der erstellten PR`,"settings.var.branchName":`Name des Arbeitsbranches`,"settings.var.sourceBranch":`Quellbranch, auf den die PR abzielt`,"settings.var.workspaceName":`Workspace-Name`,"settings.var.projectName":`Letztes Segment des Projektpfads`,"settings.var.notionUrl":`Notion-URL falls gesetzt, sonst leer`,"settings.var.commits":`Aufzählung der Commits zwischen Source und Head`,"settings.var.diffStats":`Git-Shortstat-Zusammenfassung (Dateien, Einfügungen, Löschungen)`,"settings.var.tasks":`Reguläre Aufgaben als Checkliste`,"settings.var.acceptanceCriteria":`Akzeptanzkriterien als Checkliste`,"settings.gitConventions":`Git-Konventionen (global)`,"settings.gitConventionsPlaceholder":`# Git-Konventionen...`,"settings.gitConventionsHint":`Diese Konventionen werden in .ai/.git-conventions.md jedes neuen Arbeitsbereichs geschrieben und müssen vom Agenten vor jeder Git-Operation eingehalten werden. Werden durch projektspezifische Konventionen überschrieben, falls definiert.`,"settings.setupScript":`Setup-Skript`,"settings.cleanupScript":`Cleanup-Skript`,"settings.archiveScript":`Archiv-Skript`,"settings.archiveScriptHint":`Shell-Skript, das serverseitig im Worktree ausgeführt wird, wenn ein Workspace archiviert wird. Leer lassen zum Deaktivieren.`,"settings.archiveScriptPlaceholder":`z. B. Container aufräumen, Speicherplatz freigeben…`,"settings.changeSourceBranchScript":`Quellbranch-Wechsel-Skript`,"settings.changeSourceBranchScript.help":`Ersetzt den eingebauten Cherry-Pick, wenn nicht leer. Das Skript verwaltet Git, PR-Basis, Force-Push und Konflikte; Kōbō verweigert nur, solange der Agent läuft, und aktualisiert die Quellbranch-Metadaten bei Exit 0.`,"settings.changeSourceBranchScript.envHelp":`KOBO_NEW_BASE — neuer Quellbranch aus dem Dialog
@@ -81,4 +81,4 @@ KOBO_PR_NUMBER — numero della PR/MR sulla forge risolta (vuoto se nessuna
81
81
  # Oppure direttamente con git (funziona su GitHub anche dopo eliminazione del branch):
82
82
  git fetch origin pull/[numero-pr]/head:[nome-branch]
83
83
  git worktree add [percorso] [nome-branch]`,"settings.purgeDocsRestoreFootnote":`GitHub mantiene il ref HEAD della PR accessibile a lungo dopo l'eliminazione del branch sorgente (mesi / anni). Il rilevamento automatico gira nel watcher 30 s — nessuna azione UI necessaria una volta che la cartella riappare.`,"settings.purgeDocsPermissionsTitle":`Evitare errori di permessi durante la pulizia`,"settings.purgeDocsPermissionsIntro":`Docker spesso lascia file root-owned in node_modules / vendor dentro il worktree. Quando Kōbō prova a rimuoverli, ricevi EACCES / EPERM e la pulizia fallisce. Due modi per prevenirlo:`,"settings.purgeDocsPermissionsDocker":'Configurare il container per girare come utente host — direttiva USER nel Dockerfile, o `user: "${UID}:${GID}"` in docker-compose (con UID/GID esportati nella shell).',"settings.purgeDocsPermissionsAcl":`Pre-impostare una ACL di default sulla root dei worktrees — rete di sicurezza che funziona nella MAGGIOR PARTE dei casi (ext4/btrfs/xfs + bind mount Docker classico). Ogni nuovo file eredita allora una voce di accesso per il tuo utente, oltre al proprietario nominale:`,"settings.purgeDocsPermissionsAclCommand":` setfacl -d -m u:$(whoami):rwX [root-worktrees]`,"settings.purgeDocsPermissionsFootnote":"Limiti delle ACL: NON funzionano sui volumi Docker con nome (usa un bind mount), filesystem senza supporto ACL (NTFS, exFAT, tmpfs), SELinux strict con `:Z`, o quando Docker `userns-remap` è attivato. La soluzione più affidabile resta configurare l'utente nel container (opzione 1). Suggerimento: `rwX` (X maiuscola) aggiunge il bit eseguibile solo a directory e file già eseguibili — più pulito di `rwx` che renderebbe eseguibile ogni file di testo.","settings.purgeDocsPermissionsRecoverTitle":`Sbloccare un worktree già rotto (file root-owned esistenti)`,"settings.purgeDocsPermissionsRecoverIntro":`Se ti ritrovi con un worktree già pieno di file root-owned (Docker ha già girato, vendor / node_modules sono bloccati), l'ACL preventiva sopra non basta — devi sistemare i file ESISTENTI. Due approcci, entrambi da eseguire dentro la cartella del worktree:`,"settings.purgeDocsPermissionsRecoverAclIntro":`Opzione A — ACL ricorsiva (preserva l'ownership root per audit, aggiunge solo accesso per il tuo utente in parallelo):`,"settings.purgeDocsPermissionsRecoverAclCommand":`# imposta ACL di default per i file futuri E concede accesso a tutto l'esistente
84
- sudo setfacl -Rd -m u:$(whoami):rwX . && sudo setfacl -R -m u:$(whoami):rwX .`,"settings.purgeDocsPermissionsRecoverChownIntro":`Opzione B — Prendere la proprietà (più semplice, perde la traccia "creato da root nel container" ma raramente conta):`,"settings.purgeDocsPermissionsRecoverChownCommand":` sudo chown -R $(whoami):$(whoami) .`,"settings.purgeDocsPermissionsRecoverFootnote":"Suggerimento: puoi eseguire questi comandi direttamente sulla root dei worktrees (es. `~/.worktrees/`) per coprire tutti i workspace esistenti E futuri in un colpo solo. Una volta fatto, la pulizia Kōbō funzionerà senza errori di permessi.","contextMenu.runSetup":`Esegui script di setup`,"contextMenu.exportEvents":`Esporta eventi (CSV)`,"contextMenu.dismissChangesRequested":`Segna «Modifiche richieste» come visto`,"contextMenu.dismissCiFailure":`Segna «CI in errore» come visto`,"contextMenu.restoreChangesRequested":`Segna «Modifiche richieste» come non visto`,"contextMenu.restoreCiFailure":`Segna «CI in errore» come non visto`,"contextMenu.exportingEvents":`Preparazione dell'esportazione…`,"contextMenu.exportEventsError":`Esportazione degli eventi non riuscita`,"contextMenu.openNotion":`Apri in Notion`,"contextMenu.openSentry":`Apri in Sentry`,"contextMenu.openPr":`Apri PR`,"workspace.favorite":`Segna come preferito`,"workspace.unfavorite":`Rimuovi dai preferiti`,"workspace.showFavoritesOnly":`Mostra solo i preferiti`,"workspace.searchArchivedToggle":`Cerca anche nei workspace archiviati`,"workspace.descriptionPlaceholder":`Aggiungi una breve descrizione`,"workspace.descriptionDialogHint":`Testo semplice, massimo 200 caratteri. Lasciare vuoto per cancellare.`,"workspace.descriptionTooLong":`La descrizione deve avere al massimo 200 caratteri.`,"workspace.descriptionSaveFailed":`Impossibile salvare la descrizione.`,"workspace.agentDescriptionTooltip":`Stato live mantenuto dall'agente`,"mcp.tool.setWorkspaceDescription":`Imposta la breve descrizione del workspace (≤ 200 caratteri).`,"tags.manage":`Gestisci tag`,"tags.manageTitle":`Gestisci i tag del workspace`,"tags.noTagsDefined":`Nessun tag definito. Aggiungine in Impostazioni > Globale > Tag.`,"tags.orphanedHint":`{count} tag non sono più nel catalogo globale. Deseleziona per rimuoverli.`,"settings.tagsTitle":`Tag dei workspace`,"settings.tagsHint":`Definisci i tag assegnabili ai workspace. Digita per aggiungere, clicca la croce per rimuovere.`,"settings.tagsLabel":`Tag disponibili`,"settings.branchPrefixesTitle":`Prefissi di branch`,"settings.branchPrefixesHint":`Gestisci i prefissi di branch Git disponibili nella pagina di creazione del workspace. Il primo è preselezionato per impostazione predefinita.`,"settings.branchPrefixesEmpty":`Nessun prefisso di branch definito. Aggiungine almeno uno qui sotto.`,"settings.branchPrefixesAddLabel":`Nuovo prefisso`,"settings.branchPrefixesEditHint":`Clicca per rinominare`,"settings.branchPrefixesMoveUp":`Sposta su`,"settings.branchPrefixesMoveDown":`Sposta giù`,"settings.worktreesTitle":`Worktree Git`,"settings.worktreesHint":`Scegli dove creare i worktree dei nuovi workspace. I percorsi relativi sono risolti dal progetto; sono supportati percorsi assoluti Linux/macOS e Windows, $HOME, ~ e %USERPROFILE%.`,"settings.worktreesPathLabel":`Percorso worktree`,"settings.worktreesPathRequired":`Il percorso worktree è obbligatorio.`,"settings.worktreesPrefixByProject":`Aggiungi il nome del progetto come prefisso ai worktree`,"settings.worktreesPrefixByProjectHint":`Posiziona ogni worktree in una sottocartella con il nome del progetto per evitare collisioni quando più progetti condividono la stessa radice.`,"settings.shareTitle":`Condividi configurazione`,"settings.shareHint":`Esporta impostazioni, template e tag come bundle JSON. Le chiavi MCP sono escluse per sicurezza.`,"settings.exportConfig":`Esporta`,"settings.importConfig":`Importa`,"settings.exportSuccess":`Configurazione esportata`,"settings.importSuccess":`Configurazione importata`,"settings.importConfirmTitle":`Importa configurazione`,"settings.importConfirmMessage":`Questo sostituirà le tue impostazioni, template e tag attuali. Le chiavi MCP vengono preservate. Continuare?`,"settings.network.title":`Accesso di rete`,"settings.network.hint":`Controlla Kōbō da un altro dispositivo della tua LAN affidabile. Off = solo localhost. On = raggiungibile sulla rete, protetto da un token. Riavvia Kōbō dopo il cambio.`,"settings.network.enable":`Abilita accesso di rete`,"settings.network.restartRequired":`Riavvia Kōbō per applicare il nuovo indirizzo di bind.`,"settings.network.token":`Token di accesso`,"settings.network.copy":`Copia`,"settings.network.copied":`Copiato`,"settings.network.regenerate":`Rigenera`,"settings.network.regenerateConfirm":`Rigenerare il token? I dispositivi connessi avranno bisogno del nuovo token.`,"settings.network.urls":`URL LAN`,"settings.network.scan":`Scansiona per connetterti`,"settings.network.noUrls":`Nessun indirizzo LAN rilevato.`,"settings.network.loadFailed":`Impossibile caricare le impostazioni di accesso di rete.`,"settings.network.updateFailed":`Impossibile aggiornare le impostazioni di accesso di rete.`,"health.title":`Stato`,"health.tooltip":`Stato del sistema`,"changelog.title":`Changelog`,"changelog.tooltip":`Novità di Kōbō`,"changelog.empty":`Nessun changelog disponibile.`,"changelog.current":`corrente`,"changelog.currentVersion":`Versione corrente: v{version}`,"health.envTitle":`Ambiente`,"health.version":`Versione`,"health.koboHome":`Kōbō home`,"health.dbTitle":`Database`,"health.dbPath":`Percorso`,"health.dbSize":`Dimensione`,"health.schemaVersion":`Versione schema`,"health.settingsSchemaVersion":`Schema impostazioni`,"health.runtimesTitle":`Runtime agente`,"health.claudeCliTitle":`Claude Code`,"health.claudeCliMissing":`claude non trovato nel PATH`,"health.codexCliTitle":`OpenAI Codex`,"health.codexCliMissing":`binario codex non risolvibile`,"health.workspacesTitle":`Workspace`,"health.workspacesCount":`{total} totali, {archived} archiviati`,"health.worktreesMissing":`{count} worktree mancanti sul disco`,"health.sessionsTitle":`Sessioni agente`,"health.sessionsOrphaned":`{n} sessione/sessioni orfana/e in esecuzione`,"health.integrationsTitle":`Integrazioni`,"health.integrationConfigured":`configurata`,"health.integrationMissing":`non configurata`,"health.activeTitle":`Stato attivo`,"health.activeQuotaBackoffs":`Quota backoff in attesa`,"health.activeWakeups":`Wakeup programmati`,"health.activeAutoLoop":`Auto-loop in esecuzione`,"health.activeAgentSessions":`Sessioni agente attive`,"health.activeDevServers":`Dev server in esecuzione`,"health.noneActive":`Nessuno.`,"health.quotaResumeAt":`riprende alle {time}`,"health.wakeupAt":`sveglia alle {time}`,"health.startedAgo":`avviata {time} fa`,"health.autoLoopReady":`pronto, in iterazione`,"health.autoLoopGrooming":`grooming in corso`,"session.started":`Sessione avviata`,"session.ended":`Sessione terminata`,"session.compacted":`Contesto compattato`,"tool.running":`In corso...`,"activity.raw_lines":`Righe di output grezze ({n})`,"activity.loading_older":`Caricamento messaggi precedenti…`,"activity.compacting":`Compattazione del contesto…`,"activity.prev_user_message":`Messaggio utente precedente`,"activity.scroll_to_bottom":`Scorri in fondo`,"chat.systemPrompt":`Prompt di sistema`,"chat.agent":`Agente`,"chat.cleanupScript":`Script di pulizia`,"chat.archiveScript":`Script di archiviazione`,"chat.setupScript":`Script di setup`,"chat.scriptDone":`Fatto`,"chat.you":`Tu`,"chat.session":`Sessione`,"chat.nActions":`{n} azione | {n} azioni`,"chat.lastUpdatedAt":`Ultimo aggiornamento alle {time}`,"chat.scrollToTurnTop":`Scorri all'inizio del messaggio`,"migration.backing_up":`Backup del database in corso…`,"migration.running":`Migrazione dei dati dell'agente — {processed}/{total}`,"migration.error":`Migrazione non riuscita`,"migration.backup_location":`Un backup è stato salvato in {path}. Riavvia Kōbō per riprovare.`,"migration.retry":`Riavvia Kōbō per riprovare.`,"engine.select":`Engine`,"engine.model":`Modello`,"engine.effort":`Livello di ragionamento`,"wakeup.scheduledIn":`Prossimo risveglio tra {n}s`,"wakeup.scheduledAt":`Prossimo risveglio alle {time}`,"wakeup.firing":`Risveglio in corso...`,"wakeup.reason":`Motivo: {reason}`,"wakeup.cancel":`Annulla questo risveglio`,"wakeup.pendingIndicator":`Risveglio programmato`,"cron.pendingIndicator":`{n} cron programmato/i`,"schedule.tabLabel":`Pianificazione`,"schedule.wakeupTitle":`Wakeup in attesa`,"schedule.cronsTitle":`Pianificazioni ricorrenti`,"schedule.noWakeup":`Nessun wakeup pianificato`,"schedule.noCrons":`Nessun cron pianificato`,"schedule.nextFireAt":`prossimo alle {time}`,"schedule.lastFiredAt":`ultimo {time} fa`,"schedule.addCronTitle":`Aggiungi un'attività ricorrente`,"schedule.addWakeupTitle":`Programma un wakeup`,"schedule.every":`Ogni`,"schedule.unitMinutes":`minuti`,"schedule.unitHours":`ore`,"schedule.unitDays":`giorni`,"schedule.advancedExpression":`Espressione avanzata (opzionale)`,"schedule.advancedHint":`Cron grezzo (es. */15 * * * *) o {'@'}hourly/{'@'}daily — sostituisce il selettore se compilato.`,"schedule.promptLabel":`Prompt`,"schedule.labelOptional":`Etichetta (opzionale)`,"schedule.delayMinutes":`Ritardo (minuti)`,"schedule.modeFresh":`Nuova sessione`,"schedule.oneShot":`Esegui una sola volta`,"schedule.addCronBtn":`Aggiungi cron`,"schedule.addWakeupBtn":`Programma wakeup`,"schedule.cronCreated":`Attività ricorrente aggiunta`,"schedule.wakeupCreated":`Wakeup programmato`,"askUserQuestion.title":`L'agente sta facendo una domanda`,"askUserQuestion.submit":`Invia risposta`,"askUserQuestion.multiSelectHint":`Seleziona una o più opzioni`,"askUserQuestion.otherOption":`Altro`,"askUserQuestion.otherOptionHint":`specifica nel prossimo messaggio`,"askUserQuestion.noPending":`Nessuna domanda in attesa`,"askUserQuestion.next":`Avanti`,"askUserQuestion.previous":`Indietro`,"askUserQuestion.cancel":`Annulla`,"askUserQuestion.cancelTooltip":`Salta questa domanda — l'agente proseguirà senza risposta`,"askUserQuestion.collapse":`Riduci il pannello della domanda`,"askUserQuestion.expand":`Espandi il pannello della domanda`,"permissionRequest.title":`L'agente vuole usare uno strumento`,"permissionRequest.allow":`Consenti`,"permissionRequest.deny":`Nega`,"permissionRequest.tool":`Strumento`,"permissionRequest.input":`Input`,"permissionRequest.denied":`negato dall'utente`,"workspaceStatus.awaitingUser":`in attesa della tua risposta`,"workspaceList.prOpen":`#{n} — Pull request aperta`,"workspaceList.prChangesRequested":`#{n} — Modifiche richieste`,"workspaceList.attentionCiFailed":`CI fallita`,"workspaceList.attentionChangesRequested":`Modifiche richieste`,"workspaceList.attentionReadyToMerge":`Pronto per il merge`,"autoLoop.toggle":`Auto-loop`,"autoLoop.start":`Avvia l'auto-loop`,"autoLoop.prepare":`Prepara per l'auto-loop`,"autoLoop.reprepare":`Ri-prepara per l'auto-loop`,"autoLoop.reprepareTooltip":`Rilancia la fase di grooming per aggiungere o aggiornare le attività prima di riavviare il loop`,"autoLoop.prepareBusy":`Attendi che l'agente finisca prima di preparare`,"autoLoop.forceReady":`So cosa faccio — salta la preparazione`,"autoLoop.forceReadyConfirm":`Saltare la preparazione e segnare auto-loop pronto? Il loop potrebbe bloccarsi se le attività non sono atomiche.`,"autoLoop.stop":`Ferma l'auto-loop`,"autoLoop.notReady":`Esegui prima «Prepara per l'auto-loop»`,"autoLoop.noTasks":`Aggiungi prima delle attività`,"autoLoop.progress":`Auto-loop · {done}/{total} attività`,"autoLoop.preparing":`Auto-loop · preparazione`,"autoLoop.preparingTooltip":`Grooming in corso — l'agente sta creando / revisionando le attività. Il loop partirà quando chiamerà mark_auto_loop_ready.`,"autoLoop.running":`Auto-loop in corso`,"autoLoop.startInMode":`Avvia in modalità auto-loop`,"koboCommand.prepAutoloopDesc":`Preparare le attività per la modalità auto-loop (atomicità)`,"staleSessionBanner.title":`Auto-loop in corso`,"staleSessionBanner.message":`Stai visualizzando una sessione precedente — l'agente sta lavorando nella più recente.`,"staleSessionBanner.staleTitle":`Sessione precedente`,"staleSessionBanner.staleMessage":`Stai visualizzando una sessione precedente — i messaggi inviati andranno a questa sessione, non alla più recente.`,"staleSessionBanner.switchToCurrent":`Passa a quella corrente`,"network.login.title":`Accesso di rete`,"network.login.description":`Questo Kōbō richiede un token per essere controllato dalla rete. Incolla il token mostrato nelle Impostazioni sulla macchina host.`,"network.login.tokenLabel":`Token`,"network.login.tokenPlaceholder":`Incolla il tuo token`,"network.login.connect":`Connetti`,"network.login.invalid":`Token non valido`,"network.login.serverError":`Errore del server — riprova.`,"network.login.unreachable":`Kōbō non è raggiungibile — controlla la connessione.`,"layout.toggleWorkspaces":`Mostra/nascondi il pannello degli spazi`,"layout.togglePanel":`Mostra/nascondi il pannello laterale`},pc=`kobo:locale`,mc=[`en`,`fr`,`de`,`es`,`it`];function hc(e){return mc.includes(e)}function gc(){let e=localStorage.getItem(pc);if(e&&hc(e))return e;let t=navigator.language.split(`-`)[0];return t&&hc(t)?(localStorage.setItem(pc,t),t):(localStorage.setItem(pc,`en`),`en`)}var _c=Mo({legacy:!1,locale:gc(),fallbackLocale:`en`,messages:{en:lc,fr:dc,de:cc,es:uc,it:fc}}),vc=Oe(`agent-stream`,()=>{let t=e(new Map),n=e(new Map),r=e(new Map),i=e(new Map),a=e(new Map),o=e(new Map),s=e(new Map),c=e(0);function l(e){return c.value,s.value.get(e)??!1}function u(e,t){(s.value.get(e)??!1)!==t&&(s.value.set(e,t),c.value++)}function d(e){return c.value,t.value.get(e)??[]}function f(e){return c.value,n.value.get(e)??[]}function p(e){return c.value,r.value.get(e)??[]}function m(e){return c.value,i.value.get(e)??[]}function h(e){return c.value,a.value.get(e)}function g(e){return c.value,o.value.get(e)??!0}function _(e,o,s,l,u){let d=t.value.get(e)??[],f=n.value.get(e)??[],p=r.value.get(e)??[],m=i.value.get(e)??[],h=d.length===0;d.push(o),f.push(s??new Date().toISOString()),p.push(u??null),m.push(l??null),t.value.set(e,d),n.value.set(e,f),r.value.set(e,p),i.value.set(e,m),h&&l&&a.value.set(e,l),c.value++}function v(e,s,l,u){t.value.set(e,[...s]),n.value.set(e,l?[...l]:s.map(()=>new Date().toISOString())),r.value.set(e,u?.sessionIds?[...u.sessionIds]:s.map(()=>null)),i.value.set(e,u?.eventIds?[...u.eventIds]:s.map(()=>null)),u?.oldestId?a.value.set(e,u.oldestId):a.value.delete(e),u&&typeof u.hasMoreOlder==`boolean`?o.value.set(e,u.hasMoreOlder):o.value.delete(e),c.value++}function y(e,s,l,u){if(s.length===0){o.value.set(e,u.hasMoreOlder),c.value++;return}let d=t.value.get(e)??[],f=n.value.get(e)??[],p=r.value.get(e)??[],m=i.value.get(e)??[],h=u.sessionIds??s.map(()=>null),g=u.eventIds??s.map(()=>null);t.value.set(e,[...s,...d]),n.value.set(e,[...l,...f]),r.value.set(e,[...h,...p]),i.value.set(e,[...g,...m]),u.oldestId&&a.value.set(e,u.oldestId),o.value.set(e,u.hasMoreOlder),c.value++}function b(e,a){let o=t.value.get(e),s=i.value.get(e);if(!o||!s)return;let l=s.indexOf(a);if(l===-1)return;let u=n.value.get(e),d=r.value.get(e);o.splice(l,1),s.splice(l,1),u&&u.splice(l,1),d&&d.splice(l,1),c.value++}function x(e){t.value.delete(e),n.value.delete(e),r.value.delete(e),i.value.delete(e),a.value.delete(e),o.value.delete(e),s.value.delete(e),c.value++}return{events:t,timestamps:n,sessionIds:r,eventIds:i,version:c,eventsFor:d,timestampsFor:f,sessionIdsFor:p,eventIdsFor:m,oldestIdFor:h,hasMoreOlderFor:g,isCompacting:l,setCompacting:u,append:_,reset:v,prepend:y,removeByEventId:b,clear:x}}),yc=`.worktrees`;function bc(e){return btoa(e).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}var xc=Oe(`settings`,{state:()=>({global:{defaultModelByEngine:{"claude-code":`auto`,codex:`auto`},dangerouslySkipPermissions:!0,prPromptTemplate:``,reviewPromptTemplate:``,ciFixPromptTemplate:``,finalizationPrompt:``,notionInitialPromptTemplate:``,sentryInitialPromptTemplate:``,gitConventions:``,editorCommand:``,fileManagerCommand:``,terminalCommand:``,autoPurgeOnPrMerged:!1,browserNotifications:!0,audioNotifications:!0,audioNotificationSound:`hey.mp3`,audioQuestionSound:`hey.mp3`,audioNotificationVolume:1,notionStatusProperty:``,notionInProgressStatus:``,notionAssigneeProperty:``,notionUserId:``,defaultPermissionModeByEngine:{"claude-code":`plan`,codex:`plan`},notionMcpKey:``,sentryMcpKey:``,tags:[],branchPrefixes:[],setupScript:``,cleanupScript:``,cleanupScriptMode:`no-tasks`,cleanupScriptOnlyOnChanges:!1,archiveScript:``,changeSourceBranchScript:``,worktreesPath:yc,worktreesPrefixByProject:!1,voiceEnabled:!1,voicePttKey:`alt`,voiceLanguage:`auto`,voiceModel:null,voiceCommandPath:``,voiceFfmpegPath:``,voiceTemperature:0,voicePrompt:``,voiceTranslateToEnglish:!1,voiceSuppressNonSpeechTokens:!0,flattenWorkspaceList:!1,skillSuite:`superpowers`,customReviewTemplate:``,customAutoLoopReviewGate:``,customAutoLoopGroomingIntro:``,customQaPromptTemplate:``,customBrainstormingInstruction:``},voiceModels:[],voiceModelsLoading:!1,voiceModelsDir:``,voiceRuntime:null,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 fetchGlobalDefaults(){let e=await fetch(`/api/settings/defaults`);if(!e.ok)throw Error(`HTTP ${e.status}`);return e.json()},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}`);let n=await t.json();this.global=n}catch(e){throw console.error(`[settings store] updateGlobal failed:`,e),e}},async upsertProject(e,t){try{let n=bc(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=bc(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}},async fetchVoiceModels(){this.voiceModelsLoading=!0;try{let e=await fetch(`/api/voice/models`);if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();this.voiceModels=t.available,this.voiceModelsDir=t.modelsDir,this.global.voiceModel=t.activeModel}catch(e){console.error(`[settings store] fetchVoiceModels failed:`,e)}finally{this.voiceModelsLoading=!1}},async cancelVoiceModelDownload(e){let t=await fetch(`/api/voice/models/${encodeURIComponent(e)}/download`,{method:`DELETE`});if(!t.ok&&t.status!==404)throw Error(`HTTP ${t.status}`);await this.fetchVoiceModels()},async fetchVoiceRuntime(){try{let e=await fetch(`/api/voice/runtime`);if(!e.ok)throw Error(`HTTP ${e.status}`);this.voiceRuntime=await e.json()}catch(e){console.error(`[settings store] fetchVoiceRuntime failed:`,e)}},async downloadVoiceModel(e){let t=await fetch(`/api/voice/models/${encodeURIComponent(e)}/download`,{method:`POST`});if(!t.ok)throw Error(`HTTP ${t.status}`);await this.fetchVoiceModels()},async deleteVoiceModel(e){let t=await fetch(`/api/voice/models/${encodeURIComponent(e)}`,{method:`DELETE`});if(!t.ok)throw Error(`HTTP ${t.status}`);await this.fetchVoiceModels()}}}),Sc=`/sounds`,Cc=[{id:`hey.mp3`,labelKey:`settings.notificationSoundHey`},{id:`travail_termine.mp3`,labelKey:`settings.notificationSoundTravailTermine`},{id:`faaah.mp3`,labelKey:`settings.notificationSoundFaaah`},{id:`ca_va_peter.mp3`,labelKey:`settings.notificationSoundCaVaPeter`},{id:`dry-fart.mp3`,labelKey:`settings.notificationSoundDryFart`},{id:`for-shure.mp3`,labelKey:`settings.notificationSoundForShure`}],wc=`hey.mp3`;function Tc(e){return Cc.some(t=>t.id===e)}function Ec(e){return e&&Tc(e)?e:wc}function Dc(e){return`${Sc}/${Ec(e)}`}var Oc=new Map;function kc(e){let t=Oc.get(e);return t||(t=new Audio(Dc(e)),Oc.set(e,t)),t}function Ac(){`Notification`in window&&Notification.permission==="default"&&Notification.requestPermission()}function jc(e){return typeof e!=`number`||!Number.isFinite(e)?1:Math.max(0,Math.min(1,e))}function Mc(e,t){let n=kc(Ec(e));n.volume=jc(t),n.currentTime=0,n.play().catch(()=>{})}function Nc(e,t,n,r){let i=xc();if(!document.hasFocus()&&i.global.browserNotifications&&`Notification`in window&&Notification.permission===`granted`){let r=new Notification(e,{body:t,icon:`/favicon.ico`});n&&(r.onclick=()=>{window.focus(),window.location.hash=`#/workspace/${n}`,r.close()})}i.global.audioNotifications&&Mc(r&&r.length>0?r:i.global.audioNotificationSound??`hey.mp3`,i.global.audioNotificationVolume)}var Pc=Oe(`devServer`,{state:()=>({statuses:{},logs:{}}),getters:{getStatus:e=>t=>e.statuses[t]??null},actions:{async fetchStatus(e){try{let t=await fetch(`/api/dev-server/${e}/status`);if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await t.json();this.statuses[e]=n}catch(e){console.error(`[dev-server store] fetchStatus failed:`,e)}},async startDevServer(e){try{let t=await fetch(`/api/dev-server/${e}/start`,{method:`POST`});if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await t.json();this.statuses[e]=n}catch(e){throw console.error(`[dev-server store] startDevServer failed:`,e),e}},async stopDevServer(e){try{let t=await fetch(`/api/dev-server/${e}/stop`,{method:`POST`});if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await t.json();this.statuses[e]=n}catch(e){throw console.error(`[dev-server store] stopDevServer failed:`,e),e}},async fetchLogs(e,t=200){try{let n=await fetch(`/api/dev-server/${e}/logs?tail=${t}`);if(!n.ok)throw Error(`HTTP ${n.status}`);let r=await n.json();return this.logs[e]=r.logs,r.logs}catch(e){return console.error(`[dev-server store] fetchLogs failed:`,e),``}},updateFromWsEvent(e,t){this.statuses[e]=t}}});function Fc(e){return e.state===`OPEN`&&e.reviewDecision===`CHANGES_REQUESTED`&&e.reviewers.some(e=>e.state===`CHANGES_REQUESTED`)}function Ic(e){return e.state===`OPEN`&&e.ci.rollup===`FAILURE`}function Lc(e){return e?Ic(e)||Fc(e):!1}var Rc=[`executing`,`extracting`,`brainstorming`];function zc(e){return!!e&&Rc.includes(e)}function Bc(e){"@babel/helpers - typeof";return Bc=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Bc(e)}function Vc(e,t){if(Bc(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Bc(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Hc(e){var t=Vc(e,`string`);return Bc(t)==`symbol`?t:t+``}function Uc(e,t,n){return(t=Hc(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Wc=class extends Error{constructor(e,t){super(e),Uc(this,`code`,void 0),this.name=`WorkspaceActionError`,this.code=t}};function Gc(e){return e===`running`?`in_progress`:e}var Kc=5e3,qc=500,Jc=null;function Yc(e){return e===`claude-code`?`claude-code`:null}var Xc=Oe(`workspace`,{state:()=>({workspaces:[],selectedWorkspaceId:null,tasks:[],activityFeeds:{},activityFeedIds:{},activityCounts:{},subagents:{},agentTodos:{},sessions:[],selectedSessionId:null,archivedWorkspaces:[],archivedLoaded:!1,loading:!1,loadingOlderEvents:!1,hasMoreEvents:{},providerUsage:{},chatDraft:``,queuedMessages:{},gitRefreshTrigger:0,gitStatsCache:{},pendingWakeups:{},pendingQuotaBackoffs:{},pendingDeferred:{},pendingQueue:{},prSnapshots:{},autoLoopStates:{},crons:{}}),getters:{selectedWorkspace:e=>e.workspaces.find(t=>t.id===e.selectedWorkspaceId)??e.archivedWorkspaces.find(t=>t.id===e.selectedWorkspaceId)??null,needsAttention(e){return e.workspaces.filter(t=>[`error`,`quota`,`awaiting-user`].includes(t.status)||Lc(e.prSnapshots[t.id])||!zc(t.status)&&!!e.prSnapshots[t.id]?.readyToMerge)},running(e){return e.workspaces.filter(t=>zc(t.status)&&!Lc(e.prSnapshots[t.id]))},idle(e){return e.workspaces.filter(t=>[`completed`,`idle`,`created`].includes(t.status)&&!Lc(e.prSnapshots[t.id])&&!e.prSnapshots[t.id]?.readyToMerge)},favorites(e){return e.workspaces.filter(e=>e.favoritedAt!==null)},currentAgentTodos:e=>e.selectedWorkspaceId?e.agentTodos[e.selectedWorkspaceId]??[]:[],currentSubagents:e=>{if(!e.selectedWorkspaceId)return[];let t=e.subagents[e.selectedWorkspaceId]??{};return Object.values(t).sort((e,t)=>e.startedAt.localeCompare(t.startedAt))},activityFeed:e=>{if(!e.selectedWorkspaceId)return[];let t=e.activityFeeds[e.selectedWorkspaceId]??[];if(!e.selectedSessionId)return e.sessions.length===0?t:[];let n=e.sessions.find(t=>t.id===e.selectedSessionId)?.engineSessionId??null,r=e.sessions.length>0?e.sessions[e.sessions.length-1].id:null,i=e.selectedSessionId===r;return t.filter(t=>t.sessionId?t.sessionId===e.selectedSessionId||n!==null&&t.sessionId===n:i)},acceptanceCriteria:e=>e.tasks.filter(e=>e.isAcceptanceCriterion),archived:e=>e.archivedWorkspaces,currentProviderUsage(e){let t=e.workspaces.find(t=>t.id===e.selectedWorkspaceId);if(!t)return null;let n=Yc(t.engine);return n?e.providerUsage[n]??null:null}},actions:{async toggleFavorite(e){let t=this.workspaces.find(t=>t.id===e);if(!t)return;let n=t.favoritedAt,r=n===null,i=r?new Date().toISOString():null;this.workspaces=this.workspaces.map(t=>t.id===e?{...t,favoritedAt:i}:t);try{let t=await fetch(`/api/workspaces/${e}/favorite`,{method:r?`POST`:`DELETE`});if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await t.json();this.workspaces=this.workspaces.map(t=>t.id===e?n:t)}catch(t){throw this.workspaces=this.workspaces.map(t=>t.id===e?{...t,favoritedAt:n}:t),t}},async setWorkspaceTags(e,t){let n=this.workspaces.find(t=>t.id===e);if(!n)return;let r=n.tags,i=[...t];this.workspaces=this.workspaces.map(t=>t.id===e?{...t,tags:i}:t);try{let n=await fetch(`/api/workspaces/${e}/tags`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({tags:t})});if(!n.ok)throw Error(`HTTP ${n.status}`);let r=await n.json();this.workspaces=this.workspaces.map(t=>t.id===e?r:t)}catch(t){throw this.workspaces=this.workspaces.map(t=>t.id===e?{...t,tags:r}:t),t}},async fetchOrphanWorktrees(e){let t=`/api/git/orphan-worktrees?projectPath=${encodeURIComponent(e)}`,n=await fetch(t,{cache:`no-store`});if(!n.ok)throw Error(`HTTP ${n.status}`);return n.json()},async fetchWorkspaces(){this.loading=!0;try{let e=await fetch(`/api/workspaces`);if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();this.workspaces=t.workspaces??t;for(let e of this.workspaces)[`completed`,`idle`,`error`,`quota`].includes(e.status)&&this.finalizeRunningSubagents(e.id)}catch(e){console.error(`[workspace store] fetchWorkspaces failed:`,e)}finally{this.loading=!1}},async fetchArchivedWorkspaces(){try{let e=await fetch(`/api/workspaces/archived`);if(!e.ok)throw Error(`HTTP ${e.status}`);this.archivedWorkspaces=await e.json(),this.archivedLoaded=!0}catch(e){console.error(`[workspace store] fetchArchivedWorkspaces failed:`,e)}},async fetchWorkspaceDetails(e){try{let t=await fetch(`/api/workspaces/${e}`);if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await t.json();if(this.selectedWorkspaceId!==e)return;let r=n.workspace??n,i=this.workspaces.findIndex(t=>t.id===e);if(i>=0)this.workspaces[i]={...this.workspaces[i],...r};else{let t=this.archivedWorkspaces.findIndex(t=>t.id===e);t>=0?this.archivedWorkspaces[t]={...this.archivedWorkspaces[t],...r}:r?.archivedAt&&this.archivedWorkspaces.unshift(r)}n.tasks&&(this.tasks=n.tasks)}catch(e){console.error(`[workspace store] fetchWorkspaceDetails failed:`,e)}},async createWorkspace(e){try{let t=await fetch(`/api/workspaces`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});if(!t.ok)throw Error(`HTTP ${t.status}`);let n=t.headers.get(`X-Kobo-Branch-Adjusted`)===`1`,r=await t.json(),i=r.workspace??r,a=this.workspaces.findIndex(e=>e.id===i.id);return a>=0?this.workspaces[a]=i:this.workspaces.push(i),e.autoLoop&&this.fetchAutoLoopStates(),i._branchAdjusted=n,i}catch(e){throw console.error(`[workspace store] createWorkspace failed:`,e),e}},async startWorkspace(e,t,n,r){try{let i=await fetch(`/api/workspaces/${e}/start`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({prompt:t,agentSessionId:n,resume:r})});if(!i.ok){let e=await i.json().catch(()=>({}));throw Error(e.error??`HTTP ${i.status}`)}await this.fetchWorkspaces()}catch(e){throw console.error(`[workspace store] startWorkspace failed:`,e),e}},async stopWorkspace(e){try{let t=await fetch(`/api/workspaces/${e}/stop`,{method:`POST`});if(!t.ok)throw Error(`HTTP ${t.status}`);await this.fetchWorkspaces()}catch(e){throw console.error(`[workspace store] stopWorkspace failed:`,e),e}},async interruptAgent(e){try{let t=await fetch(`/api/workspaces/${e}/interrupt`,{method:`POST`});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error??`HTTP ${t.status}`)}}catch(e){throw console.error(`[workspace store] interruptAgent failed:`,e),e}},async deleteWorkspace(e,t){try{let n=await fetch(`/api/workspaces/${e}`,{method:`DELETE`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t??{})});if(!n.ok)throw Error(`HTTP ${n.status}`);let r=[];if(n.status===200){let e=await n.json().catch(()=>({}));r=Array.isArray(e.warnings)?e.warnings:[]}return this.workspaces=this.workspaces.filter(t=>t.id!==e),this.archivedWorkspaces=this.archivedWorkspaces.filter(t=>t.id!==e),delete this.activityFeeds[e],delete this.activityFeedIds[e],delete this.activityCounts[e],delete this.subagents[e],delete this.agentTodos[e],this.selectedWorkspaceId===e&&(this.selectedWorkspaceId=null,this.tasks=[]),{warnings:r}}catch(e){throw console.error(`[workspace store] deleteWorkspace failed:`,e),e}},async deleteAllArchived(e){try{let t=this.archivedWorkspaces.map(e=>e.id),n=await fetch(`/api/workspaces/archived`,{method:`DELETE`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e??{})});if(!n.ok)throw Error(`HTTP ${n.status}`);let r=await n.json().catch(()=>({})),i=typeof r.deleted==`number`?r.deleted:0,a=Array.isArray(r.warnings)?r.warnings:[];this.archivedWorkspaces=[];for(let e of t)delete this.activityFeeds[e],delete this.activityFeedIds[e],delete this.activityCounts[e],delete this.subagents[e],delete this.agentTodos[e],this.selectedWorkspaceId===e&&(this.selectedWorkspaceId=null,this.tasks=[]);return{deleted:i,warnings:a,ids:t}}catch(e){throw console.error(`[workspace store] deleteAllArchived failed:`,e),e}},async updateModel(e,t){try{let n=await fetch(`/api/workspaces/${e}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({model:t})});if(!n.ok)throw Error(`HTTP ${n.status}`);let r=await n.json(),i=this.workspaces.findIndex(t=>t.id===e);i>=0&&(this.workspaces[i]=r)}catch(e){throw console.error(`[workspace store] updateModel failed:`,e),e}},async updateWorkspaceDescription(e,t){let n=this.workspaces.findIndex(t=>t.id===e);if(n<0)throw Error(`Workspace '${e}' not found in store`);let r=this.workspaces[n].description;this.workspaces[n]={...this.workspaces[n],description:t};try{let r=await fetch(`/api/workspaces/${e}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({description:t})});if(!r.ok){let e=await r.json().catch(()=>({}));throw Error(e.error??`HTTP ${r.status}`)}let i=await r.json();this.workspaces[n]={...this.workspaces[n],...i}}catch(t){let n=this.workspaces.findIndex(t=>t.id===e);throw n>=0&&(this.workspaces[n]={...this.workspaces[n],description:r}),t}},async updateReasoningEffort(e,t){try{let n=await fetch(`/api/workspaces/${e}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({reasoningEffort:t})});if(!n.ok)throw Error(`HTTP ${n.status}`);let r=await n.json(),i=this.workspaces.findIndex(t=>t.id===e);i>=0&&(this.workspaces[i]=r)}catch(e){throw console.error(`[workspace store] updateReasoningEffort failed:`,e),e}},async renameWorkspaceBranch(e,t){let n=await fetch(`/api/workspaces/${e}/rename-branch`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({newName:t})}),r=await n.json().catch(()=>null);if(!n.ok)throw new Wc(r?.error??`Rename failed`,r?.code);let i=r,a=this.workspaces.findIndex(t=>t.id===e);return a>=0&&(this.workspaces[a]=i),i},async resyncWorkspaceBranch(e){let t=await fetch(`/api/workspaces/${e}/resync-branch`,{method:`POST`});if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await t.json();if(n.changed){let t=this.workspaces.findIndex(t=>t.id===e);t>=0&&(this.workspaces[t]={...this.workspaces[t],workingBranch:n.workingBranch})}return n},async updateAgentPermissionMode(e,t){try{let n=await fetch(`/api/workspaces/${e}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({agentPermissionMode:t})});if(!n.ok)throw Error(`HTTP ${n.status}`);let r=await n.json(),i=this.workspaces.findIndex(t=>t.id===e);i>=0&&(this.workspaces[i]=r)}catch(e){throw console.error(`[workspace store] updateAgentPermissionMode failed:`,e),e}},async pushBranch(e,t={}){let n=await fetch(`/api/workspaces/${e}/push`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({force:t.force===!0})});if(!n.ok){let e=await n.json().catch(()=>({error:`Push failed`}));throw new Wc(e.error??`Push failed`,e.code)}},async fetchGitStats(e,t={}){let n=`/api/workspaces/${e}/git-stats${t.freshFetch?`?freshFetch=1`:``}`,r=await fetch(n,{signal:t.signal});if(!r.ok)throw Error(`HTTP ${r.status}`);let i=await r.json();return this.gitStatsCache[e]=i,i},async fetchBranchDivergence(e,t={}){let n=`/api/workspaces/${e}/branch-divergence?limit=${t.limit??50}`,r=await fetch(n,{signal:t.signal});if(!r.ok)throw Error(`HTTP ${r.status}`);return await r.json()},async openPullRequest(e){let t=await fetch(`/api/workspaces/${e}/open-pr`,{method:`POST`}),n=await t.json().catch(()=>null);if(!t.ok)throw new Wc(n?.error??`Open PR failed`,n?.code);return n},async archiveWorkspace(e){try{let t=await fetch(`/api/workspaces/${e}/archive`,{method:`POST`});if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await t.json();return this.workspaces=this.workspaces.filter(t=>t.id!==e),this.archivedLoaded&&this.archivedWorkspaces.unshift(n),this.selectedWorkspaceId===e&&(this.selectedWorkspaceId=null,this.tasks=[]),n}catch(e){throw console.error(`[workspace store] archiveWorkspace failed:`,e),e}},async unarchiveWorkspace(e){try{let t=await fetch(`/api/workspaces/${e}/unarchive`,{method:`POST`});if(!t.ok){if(t.status===409){let e=await t.json().catch(()=>({})),n=Error(e.error??`worktree-purged`);throw n.code=`worktree-purged`,n}throw Error(`HTTP ${t.status}`)}let n=await t.json();return this.archivedWorkspaces=this.archivedWorkspaces.filter(t=>t.id!==e),this.workspaces.unshift(n),n}catch(e){throw console.error(`[workspace store] unarchiveWorkspace failed:`,e),e}},async createTask(e,t,n){try{let r=await fetch(`/api/workspaces/${e}/tasks`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({title:t,isAcceptanceCriterion:n})});if(!r.ok)throw Error(`HTTP ${r.status}`);await this.fetchWorkspaceDetails(e)}catch(e){throw console.error(`[workspace store] createTask failed:`,e),e}},async updateTaskTitle(e,t,n){try{let r=await fetch(`/api/workspaces/${e}/tasks/${t}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({title:n})});if(!r.ok)throw Error(`HTTP ${r.status}`);await this.fetchWorkspaceDetails(e)}catch(e){throw console.error(`[workspace store] updateTaskTitle failed:`,e),e}},async deleteTask(e,t){try{let n=await fetch(`/api/workspaces/${e}/tasks/${t}`,{method:`DELETE`});if(!n.ok)throw Error(`HTTP ${n.status}`);await this.fetchWorkspaceDetails(e)}catch(e){throw console.error(`[workspace store] deleteTask failed:`,e),e}},selectWorkspace(e){this.selectedWorkspaceId=e,this.selectedSessionId=null,this.tasks=[],this.markRead(e),this.fetchWorkspaceDetails(e),this.fetchSessions(e),this.fetchPendingQuotaBackoff(e),this.fetchGitStats(e).catch(()=>{}),this.activityFeeds[e]?.length||al().subscribe(e)},async fetchSessions(e,t){try{let n=await fetch(`/api/workspaces/${e}/sessions`);if(!n.ok)throw Error(`HTTP ${n.status}`);if(this.selectedWorkspaceId!==e)return;if(this.sessions=await n.json(),t&&this.sessions.some(e=>e.id===t)){this.selectSession(t);return}let r=this.selectedSessionId&&this.sessions.some(e=>e.id===this.selectedSessionId);if(this.sessions.length>0&&!r){let t=localStorage.getItem(`kobo:session:${e}`),n=t?this.sessions.find(e=>e.id===t):null;this.selectSession(n?n.id:this.sessions[0].id)}}catch(e){console.error(`[workspace store] fetchSessions failed:`,e)}},async fetchOlderEvents(e){if(this.loadingOlderEvents||this.hasMoreEvents[e]===!1)return!1;let t=this.activityFeeds[e];if(!t?.length)return!1;let n=t[0].id;this.loadingOlderEvents=!0;try{let t=await fetch(`/api/workspaces/${e}/events?before=${encodeURIComponent(n)}&limit=100`);if(!t.ok)throw Error(`HTTP ${t.status}`);let r=await t.json();if(this.hasMoreEvents[e]=r.hasMore,r.events.length>0){let e=al();for(let t of r.events)e._routeMessage(t)}return r.events.length>0}catch(e){return console.error(`[workspace store] fetchOlderEvents failed:`,e),!1}finally{this.loadingOlderEvents=!1}},selectSession(e){this.selectedSessionId=e,this.selectedWorkspaceId&&localStorage.setItem(`kobo:session:${this.selectedWorkspaceId}`,e)},async createSession(e){try{let t=await fetch(`/api/workspaces/${e}/sessions`,{method:`POST`});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error??`HTTP ${t.status}`)}let n=await t.json();return this.sessions.unshift(n),this.selectSession(n.id),n}catch(e){throw console.error(`[workspace store] createSession failed:`,e),e}},async renameWorkspace(e,t){let n=await fetch(`/api/workspaces/${e}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({name:t})});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error??`HTTP ${n.status}`)}let r=await n.json(),i=this.workspaces.findIndex(t=>t.id===e);i>=0&&(this.workspaces[i]={...this.workspaces[i],...r});let a=this.archivedWorkspaces.findIndex(t=>t.id===e);a>=0&&(this.archivedWorkspaces[a]={...this.archivedWorkspaces[a],...r})},async renameSession(e,t,n){let r=await fetch(`/api/workspaces/${e}/sessions/${t}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({name:n})});if(!r.ok){let e=await r.json().catch(()=>({}));throw Error(e.error??`HTTP ${r.status}`)}let i=await r.json().catch(()=>null),a=this.sessions.find(e=>e.id===t);a&&(a.name=i?.name??n)},addActivityItem(e,t){if(this.activityFeeds[e]||(this.activityFeeds[e]=[]),this.activityFeedIds[e]||(this.activityFeedIds[e]=new Set),this.activityCounts[e]||(this.activityCounts[e]={toolUses:0,agentMessages:0,userMessages:0,errors:0}),t.meta?.sender!==`user`&&t.meta?.sender!==`system-prompt`)for(let t of this.activityFeeds[e])t.meta?.pending&&(t.meta.pending=!1);if(!this.activityFeedIds[e].has(t.id)){this.activityFeedIds[e].add(t.id),this.activityFeeds[e].push(t);let n=this.activityCounts[e];t.type===`tool_use`?n.toolUses++:t.type===`error`&&n.errors++,t.meta?.sender===`user`?n.userMessages++:t.type===`text`&&t.meta?.sender!==`system-prompt`&&n.agentMessages++}let n=this.activityFeeds[e];if(n.length>Kc){let t=n.splice(0,n.length-Kc),r=this.activityFeedIds[e];for(let e of t)r.delete(e.id)}},removeActivityItem(e,t){let n=this.activityFeeds[e],r=this.activityFeedIds[e];if(!n||!r)return;let i=n.findIndex(e=>e.id===t);if(i<0)return;let[a]=n.splice(i,1);r.delete(t);let o=this.activityCounts[e];o&&a&&(a.type===`tool_use`?o.toolUses=Math.max(0,o.toolUses-1):a.type===`error`&&(o.errors=Math.max(0,o.errors-1)),a.meta?.sender===`user`?o.userMessages=Math.max(0,o.userMessages-1):a.type===`text`&&a.meta?.sender!==`system-prompt`&&(o.agentMessages=Math.max(0,o.agentMessages-1)))},clearActivityFeed(e){e?(delete this.activityFeeds[e],delete this.activityFeedIds[e],delete this.activityCounts[e]):(this.activityFeeds={},this.activityFeedIds={},this.activityCounts={})},applyUsageSnapshot(e){this.providerUsage[e.providerId]=e.snapshot},async requestUsageRefresh(e){try{await fetch(`/api/usage/${e}/refresh`,{method:`POST`})}catch(e){console.error(`[workspace store] requestUsageRefresh failed:`,e)}},triggerGitRefresh(){this.gitRefreshTrigger++,this.schedulePrSnapshotsRefresh()},schedulePrSnapshotsRefresh(){Jc!==null&&clearTimeout(Jc),Jc=setTimeout(()=>{Jc=null,this.fetchPrSnapshots()},qc)},async fetchPrSnapshots(){try{let e=await fetch(`/api/workspaces/pr-states`,{cache:`no-store`});if(!e.ok)return;let t=await e.json();this.prSnapshots=t}catch(e){console.error(`[workspace-store] fetchPrSnapshots failed:`,e)}},async fetchWorkspacesInfo(){try{let e=await fetch(`/api/workspaces/info`,{cache:`no-store`});if(!e.ok)return;let t=await e.json();this.workspaces=t.workspaces;for(let e of this.workspaces)[`completed`,`idle`,`error`,`quota`].includes(e.status)&&this.finalizeRunningSubagents(e.id);this.prSnapshots=t.prSnapshots,this.gitStatsCache={...this.gitStatsCache,...t.gitStats}}catch(e){console.error(`[workspace-store] fetchWorkspacesInfo failed:`,e)}},async refreshPrSnapshot(e){try{let t=await fetch(`/api/workspaces/pr-snapshot/refresh/${e}`,{method:`POST`});if(t.status===404){let t={...this.prSnapshots};return delete t[e],this.prSnapshots=t,null}if(!t.ok)return console.error(`[workspace-store] refreshPrSnapshot non-OK:`,t.status),null;let n=await t.json();return this.prSnapshots={...this.prSnapshots,[e]:n.snapshot},n.snapshot}catch(e){return console.error(`[workspace-store] refreshPrSnapshot failed:`,e),null}},async fetchAutoLoopStates(){try{let e=await fetch(`/api/workspaces/auto-loop-states`,{cache:`no-store`});if(!e.ok)return;let t=await e.json();this.autoLoopStates=t}catch(e){console.error(`[workspace-store] fetchAutoLoopStates failed:`,e)}},async enableAutoLoop(e){let t=this.workspaces.find(t=>t.id===e);if(t&&t.agentPermissionMode===`plan`)try{await this.updateAgentPermissionMode(e,`bypass`)}catch{}let n=await fetch(`/api/workspaces/${e}/auto-loop`,{method:`POST`});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error??`HTTP ${n.status}`)}await this.fetchAutoLoopStates()},async disableAutoLoop(e){let t=await fetch(`/api/workspaces/${e}/auto-loop`,{method:`DELETE`});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error??`HTTP ${t.status}`)}await this.fetchAutoLoopStates()},async forceAutoLoopReady(e){let t=await fetch(`/api/workspaces/${e}/auto-loop-ready`,{method:`POST`});if(!t.ok)throw Error(`HTTP ${t.status}`);await this.fetchAutoLoopStates()},setAutoLoopState(e,t){this.autoLoopStates[e]=t},clearAutoLoopState(e){delete this.autoLoopStates[e]},async fetchCrons(e){try{let t=await fetch(`/api/workspaces/${e}/crons`);if(!t.ok)return;let n=await t.json();this.crons[e]=n.crons}catch(e){console.error(`[workspace-store] fetchCrons failed:`,e)}},async cancelCron(e,t){let n=this.crons[e]??[];this.crons[e]=n.filter(e=>e.id!==t);try{let n=await fetch(`/api/workspaces/${e}/crons/${t}`,{method:`DELETE`});if(!n.ok)throw Error(`HTTP ${n.status}`)}catch(t){throw this.crons[e]=n,t}},async createCron(e,t){let n=await fetch(`/api/workspaces/${e}/crons`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error??`HTTP ${n.status}`)}await this.fetchCrons(e)},async scheduleManualWakeup(e,t){let n=await fetch(`/api/workspaces/${e}/pending-wakeup`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error??`HTTP ${n.status}`)}let r=await n.json();r.pending&&(this.pendingWakeups[e]=r.pending)},async fetchPendingWakeup(e){try{let t=await fetch(`/api/workspaces/${e}/pending-wakeup`,{cache:`no-store`});if(!t.ok)return;let n=await t.json();n?this.pendingWakeups[e]=n:delete this.pendingWakeups[e]}catch(e){console.error(`[workspace-store] fetchPendingWakeup failed:`,e)}},setPendingWakeup(e,t){this.pendingWakeups[e]=t},clearPendingWakeup(e){delete this.pendingWakeups[e]},async cancelPendingWakeup(e){let t=this.pendingWakeups[e]!==void 0;delete this.pendingWakeups[e];try{let t=await fetch(`/api/workspaces/${e}/pending-wakeup`,{method:`DELETE`});if(!t.ok)throw Error(`HTTP ${t.status}`)}catch(n){console.error(`[workspace-store] cancelPendingWakeup failed:`,n),t&&await this.fetchPendingWakeup(e)}},async fetchPendingQuotaBackoff(e){try{let t=await fetch(`/api/workspaces/${e}/quota-backoff`,{cache:`no-store`});if(!t.ok)return;let n=await t.json();n?this.pendingQuotaBackoffs[e]=n:delete this.pendingQuotaBackoffs[e]}catch(e){console.error(`[workspace-store] fetchPendingQuotaBackoff failed:`,e)}},setPendingQuotaBackoff(e,t){this.pendingQuotaBackoffs[e]=t},clearPendingQuotaBackoff(e){delete this.pendingQuotaBackoffs[e]},async cancelQuotaBackoff(e){let t=this.pendingQuotaBackoffs[e]!==void 0;delete this.pendingQuotaBackoffs[e];try{let t=await fetch(`/api/workspaces/${e}/quota-backoff`,{method:`DELETE`});if(!t.ok)throw Error(`HTTP ${t.status}`)}catch(n){console.error(`[workspace-store] cancelQuotaBackoff failed:`,n),t&&await this.fetchPendingQuotaBackoff(e)}},enqueuePending(e,t){let n=this.pendingQueue[e]??[];n.some(e=>e.toolCallId===t.toolCallId)||(n.push(t),this.pendingQueue[e]=n,t.kind===`question`&&(this.pendingDeferred[e]={toolCallId:t.toolCallId,toolName:t.toolName,input:t.input,agentSessionId:t.agentSessionId}))},peekPending(e){return this.pendingQueue[e]?.[0]},dequeuePending(e){let t=this.pendingQueue[e];if(!t||t.length===0)return;let n=t.shift();t.length===0&&delete this.pendingQueue[e];let r=this.pendingQueue[e]?.[0];return r&&r.kind===`question`?this.pendingDeferred[e]={toolCallId:r.toolCallId,toolName:r.toolName,input:r.input,agentSessionId:r.agentSessionId}:delete this.pendingDeferred[e],n},clearPendingForSession(e,t){if(t===null)return;let n=this.pendingQueue[e];if(!n)return;let r=n.filter(e=>e.agentSessionId!==t);r.length===0?delete this.pendingQueue[e]:this.pendingQueue[e]=r;let i=this.pendingDeferred[e];i&&i.agentSessionId===t&&delete this.pendingDeferred[e]},clearAllPending(e){delete this.pendingQueue[e],delete this.pendingDeferred[e]},setPendingDeferred(e,t){this.enqueuePending(e,{kind:`question`,agentSessionId:t.agentSessionId,toolCallId:t.toolCallId,toolName:t.toolName,input:t.input})},clearPendingDeferred(e,t=null){if(t===null){this.clearAllPending(e);return}this.clearPendingForSession(e,t)},getPendingDeferred(e){let t=this.peekPending(e);if(!(!t||t.kind!==`question`))return{toolCallId:t.toolCallId,toolName:t.toolName,input:t.input,agentSessionId:t.agentSessionId}},async submitDeferredAnswer(e,t,n,r){let i=await fetch(`/api/workspaces/${e}/deferred-tool-use/answer`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({answers:t,toolCallId:n,awaitingFreeForm:r})});if(!i.ok){let t=(await i.json().catch(()=>({}))).error??`HTTP ${i.status}`;if(/no deferred tool use pending/i.test(t)){console.warn(`[workspace] submitDeferredAnswer: backend has no pending — clearing zombie panel locally`),this.dequeuePending(e),this.fetchWorkspaces();return}throw Error(t)}this.dequeuePending(e),this.fetchWorkspaces()},async cancelDeferredAnswer(e,t,n){let r=await fetch(`/api/workspaces/${e}/deferred-tool-use/cancel`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({reason:t,toolCallId:n})});if(!r.ok){let t=(await r.json().catch(()=>({}))).error??`HTTP ${r.status}`;if(/no deferred tool use pending/i.test(t)){console.warn(`[workspace] cancelDeferredAnswer: backend has no pending — clearing zombie panel locally`),this.dequeuePending(e),this.fetchWorkspaces();return}throw Error(t)}this.dequeuePending(e),this.fetchWorkspaces()},async submitDeferredPermission(e,t,n,r){let i=await fetch(`/api/workspaces/${e}/deferred-permission/decision`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({toolCallId:t,decision:n,reason:r})});if(!i.ok){let e=await i.json().catch(()=>({}));throw Error(e.error??`HTTP ${i.status}`)}this.dequeuePending(e),this.fetchWorkspaces()},updateAgentTodos(e,t){this.agentTodos[e]=t},agentTaskCreate(e,t,n){let r=this.agentTodos[e]?[...this.agentTodos[e]]:[];r.some(e=>e.id===t)||(r.push({id:t,content:n.subject||n.description||``,status:`pending`,activeForm:n.activeForm}),this.agentTodos[e]=r)},agentTaskSetNumber(e,t,n){let r=this.agentTodos[e];r&&(this.agentTodos[e]=r.map(e=>e.id===t?{...e,taskNumber:n}:e))},agentTaskUpdate(e,t,n){let r=this.agentTodos[e];if(r){if(n.status===`deleted`){this.agentTodos[e]=r.filter(e=>e.taskNumber!==t);return}this.agentTodos[e]=r.map(e=>e.taskNumber===t?{...e,status:n.status?Gc(n.status):e.status,content:n.content??e.content,activeForm:n.activeForm??e.activeForm}:e)}},finalizeRunningSubagents(e){let t=this.subagents[e];if(!t)return;let n=new Date().toISOString();for(let e of Object.keys(t)){let r=t[e];r.status===`running`&&(t[e]={...r,status:`done`,updatedAt:n})}},upsertSubagent(e,t){this.subagents[e]||(this.subagents[e]={});let n=this.subagents[e][t.toolUseId],r=new Date().toISOString(),i=n?.status===`done`?`done`:t.status??n?.status??`running`;this.subagents[e][t.toolUseId]={toolUseId:t.toolUseId,description:t.description??n?.description??``,taskType:t.taskType??n?.taskType,status:i,lastToolName:t.lastToolName??n?.lastToolName,lastDescription:t.lastDescription??n?.lastDescription,totalTokens:t.totalTokens??n?.totalTokens,toolUses:t.toolUses??n?.toolUses,durationMs:t.durationMs??n?.durationMs,startedAt:n?.startedAt??r,updatedAt:r}},async markRead(e){try{let t=await fetch(`/api/workspaces/${e}/mark-read`,{method:`POST`});if(!t.ok)throw Error(`HTTP ${t.status}`);let n=this.workspaces.findIndex(t=>t.id===e);n>=0&&(this.workspaces[n]={...this.workspaces[n],hasUnread:!1})}catch(e){console.error(`[workspace store] markRead failed:`,e)}},async purgeWorktree(e){try{let t=await fetch(`/api/workspaces/${e}/purge-worktree`,{method:`POST`}),n=await t.json();if(!t.ok)return{ok:!1,error:n.error??`HTTP ${t.status}`};let r=n.workspace;return r&&(this.updateWorkspaceFromEvent(e,{archivedAt:r.archivedAt,worktreePurgedAt:r.worktreePurgedAt,worktreePurgeRestoreData:r.worktreePurgeRestoreData}),r.archivedAt&&this.archivedLoaded&&(this.archivedWorkspaces.some(t=>t.id===e)||this.archivedWorkspaces.unshift(r),this.workspaces=this.workspaces.filter(t=>t.id!==e),this.selectedWorkspaceId===e&&(this.selectedWorkspaceId=null,this.tasks=[]))),{ok:!0,warnings:n.warnings??[]}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}},async dismissPrAttention(e,t){let n=this.prSnapshots[e];if(n)try{let r=await fetch(`/api/workspaces/${e}/dismiss-pr-attention`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({kind:t,prUpdatedAt:n.updatedAt})});if(!r.ok)throw Error(`HTTP ${r.status}`);let i=t===`changes-requested`?{prChangesDismissedAt:n.updatedAt}:{prCiFailureDismissedAt:n.updatedAt};this.updateWorkspaceFromEvent(e,i)}catch(e){console.error(`[workspace store] dismissPrAttention failed:`,e)}},async restorePrAttention(e,t){try{let n=await fetch(`/api/workspaces/${e}/restore-pr-attention`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({kind:t})});if(!n.ok)throw Error(`HTTP ${n.status}`);let r=t===`changes-requested`?{prChangesDismissedAt:null}:{prCiFailureDismissedAt:null};this.updateWorkspaceFromEvent(e,r)}catch(e){console.error(`[workspace store] restorePrAttention failed:`,e)}},queueMessage(e,t,n){this.queuedMessages[e]={content:t,sessionId:n}},cancelQueuedMessage(e){delete this.queuedMessages[e]},updateWorkspaceFromEvent(e,t){let n=this.workspaces.findIndex(t=>t.id===e);if(n>=0&&(this.workspaces[n]={...this.workspaces[n],...t}),t.status&&[`completed`,`idle`,`error`,`quota`].includes(t.status)){let n=this.activityFeeds[e];if(n)for(let e of n)e.meta?.pending&&(e.meta.pending=!1);let r=this.subagents[e];if(r)for(let[e,t]of Object.entries(r))t.status===`running`&&(r[e]={...t,status:`done`});let i=this.queuedMessages[e];(t.status===`completed`||t.status===`idle`)&&i&&(delete this.queuedMessages[e],al().sendChatMessage(e,i.content,i.sessionId),this.addActivityItem(e,{id:`user-${Date.now()}`,type:`text`,content:i.content,timestamp:new Date().toISOString(),sessionId:i.sessionId,meta:{sender:`user`,pending:!0}}))}}}}),Q=_c.global.t,Zc=null,Qc=null,$c=0,el=!1;function tl(e){el=e}function nl(e,t,n){if(t.kind!==`session:started`)return;let r=Xc();if(n){let t=r.peekPending(e);t&&t.agentSessionId===n&&r.dequeuePending(e)}let i=r.workspaces.find(t=>t.id===e);i&&(i.status===`completed`||i.status===`idle`||i.status===`error`||i.status===`quota`)&&r.updateWorkspaceFromEvent(e,{status:`executing`}),!el&&n&&r.selectedWorkspaceId===e&&r.selectedSessionId!==n&&r.fetchSessions(e,n).catch(e=>{console.error(`[websocket] fetchSessions on session:started failed:`,e)})}function rl(e,t){let n=Xc();if(t.kind===`tool:call`&&t.name===`TodoWrite`){let r=t.input?.todos;return Array.isArray(r)&&n.updateAgentTodos(e,r.map(e=>({content:typeof e.content==`string`?e.content:``,status:typeof e.status==`string`?e.status:`pending`,activeForm:typeof e.activeForm==`string`?e.activeForm:void 0}))),!0}if(t.kind===`tool:call`&&t.name===`TaskCreate`){let r=t.input??{};return n.agentTaskCreate(e,t.toolCallId,{subject:typeof r.subject==`string`?r.subject:void 0,description:typeof r.description==`string`?r.description:void 0,activeForm:typeof r.activeForm==`string`?r.activeForm:void 0}),!0}if(t.kind===`tool:result`&&typeof t.output==`string`){let r=t.output.match(/^Task #(\d+) created successfully/);if(r)return n.agentTaskSetNumber(e,t.toolCallId,Number(r[1])),!0}if(t.kind===`tool:call`&&t.name===`TaskUpdate`){let r=t.input??{},i=r.task_id??r.taskId??r.id,a=typeof i==`number`?i:typeof i==`string`?Number(i):NaN;return Number.isFinite(a)&&n.agentTaskUpdate(e,a,{status:typeof r.status==`string`?r.status:void 0,content:typeof r.subject==`string`?r.subject:void 0,activeForm:typeof r.activeForm==`string`?r.activeForm:void 0}),!0}return!1}function il(e,t,n,r,i){let a=vc();if(t.kind===`session:compacting`){a.setCompacting(e,t.active);return}a.append(e,t,n,r,i),(t.kind===`session:compacted`||t.kind===`session:ended`||t.kind===`message:text`||t.kind===`tool:call`)&&a.setCompacting(e,!1),nl(e,t,i??void 0);let o=Xc();if(t.kind===`session:user-input-requested`){if(t.requestKind===`question`?o.enqueuePending(e,{kind:`question`,agentSessionId:i??null,toolCallId:t.toolCallId,toolName:t.toolName,input:t.payload}):o.enqueuePending(e,{kind:`permission`,agentSessionId:i??null,toolCallId:t.toolCallId,toolName:t.toolName,toolInput:t.payload}),o.updateWorkspaceFromEvent(e,{status:`awaiting-user`}),!el){let n=o.workspaces.find(t=>t.id===e)?.name??``;Nc(t.requestKind===`question`?Q(`notification.agentQuestion`,{name:n}):Q(`notification.agentPermissionRequest`,{name:n}),void 0,e,t.requestKind===`question`?xc().global.audioQuestionSound:void 0)}return}if(t.kind===`subagent:progress`){o.upsertSubagent(e,{toolUseId:t.toolCallId,status:t.status,description:t.description,taskType:t.taskType,lastToolName:t.lastToolName,totalTokens:t.totalTokens,toolUses:t.toolUses,durationMs:t.durationMs});return}if(!rl(e,t)){if(t.kind===`tool:call`&&t.name===`Bash`){let n=t.input,r=`${n?.command??``} ${n?.description??``}`;/\bgit\b|commit|push|pull|merge|rebase|checkout|branch/i.test(r)&&o.triggerGitRefresh(),/\bgit\s+branch\s+-m\b/i.test(r)&&setTimeout(()=>{o.resyncWorkspaceBranch(e).catch(e=>{console.error(`[websocket] Branch resync failed:`,e)})},2500),/\bgh\s+pr\s+create\b/i.test(r)&&setTimeout(()=>o.triggerGitRefresh(),3e3)}if(t.kind===`tool:call`&&t.name===`ExitPlanMode`&&o.workspaces.find(t=>t.id===e)?.agentPermissionMode===`plan`&&(o.updateWorkspaceFromEvent(e,{agentPermissionMode:`bypass`}),o.updateAgentPermissionMode(e,`bypass`).catch(e=>{console.error(`[websocket] failed to persist ExitPlanMode flip:`,e)})),t.kind!==`session:started`){if(t.kind===`session:ended`){i&&o.clearPendingForSession(e,i);let n=o.workspaces.find(t=>t.id===e)?.status===`quota`?`quota`:t.reason===`completed`?`completed`:t.reason===`error`?`error`:`idle`;if(o.updateWorkspaceFromEvent(e,{status:n}),o.finalizeRunningSubagents(e),o.fetchWorkspaces(),!el&&t.reason!==`killed`&&o.autoLoopStates[e]?.auto_loop!==!0){let n=o.workspaces.find(t=>t.id===e)?.name??``;Nc(t.reason===`error`?Q(`notification.agentError`,{name:n}):Q(`notification.agentFinished`,{name:n}),void 0,e)}return}t.kind===`error`&&t.category===`quota`&&(o.updateWorkspaceFromEvent(e,{status:`quota`}),o.fetchWorkspaces())}}}var al=Oe(`websocket`,{state:()=>({connected:!1,lastEventId:null,_replaying:!1}),actions:{connect(){if(Zc)return;let e=Is(`${window.location.protocol===`https:`?`wss:`:`ws:`}//${window.location.host}/ws`,Ns()),t=new WebSocket(e);Zc=t,t.addEventListener(`open`,()=>{this.connected=!0,$c=0;let e=Xc().workspaces.map(e=>e.id);for(let t of e)this._send({type:`subscribe`,payload:{workspaceId:t}});this.lastEventId&&this._send({type:`sync:request`,payload:{lastEventId:this.lastEventId,workspaceIds:e}})}),t.addEventListener(`message`,e=>{try{let t=JSON.parse(e.data);this._routeMessage(t)}catch{}}),t.addEventListener(`close`,()=>{this.connected=!1,Zc=null,this._scheduleReconnect()}),t.addEventListener(`error`,()=>{})},disconnect(){Qc&&=(clearTimeout(Qc),null),Zc&&=(Zc.close(),null),this.connected=!1},subscribe(e){this._send({type:`subscribe`,payload:{workspaceId:e}}),this._send({type:`sync:request`,payload:{workspaceIds:[e]}})},unsubscribe(e){this._send({type:`unsubscribe`,payload:{workspaceId:e}})},sendChatMessage(e,t,n,r){this._send({type:`chat:message`,payload:{workspaceId:e,content:t,sessionId:n,agentPermissionModeOverride:r}}),/^\/compact(\s|$)/.test(t.trim())&&vc().setCompacting(e,!0);let i=Xc(),a=i.workspaces.find(t=>t.id===e);a&&(a.status===`completed`||a.status===`idle`||a.status===`error`||a.status===`quota`)&&i.updateWorkspaceFromEvent(e,{status:`executing`})},_send(e){Zc&&Zc.readyState===WebSocket.OPEN&&Zc.send(JSON.stringify(e))},isConnected(){return Zc!==null&&Zc.readyState===WebSocket.OPEN},_scheduleReconnect(){if(Qc)return;let e=Math.min(1e3*2**$c,3e4);$c++,$c===4&&Ns()&&Rs(),Qc=setTimeout(()=>{Qc=null,this.connect()},e)},_routeMessage(e){let t=Xc();e.id?this.lastEventId=e.id:e.eventId&&(this.lastEventId=e.eventId);let n=e.payload??{},r=e.workspaceId??n.workspaceId??``;switch(e.type){case`agent:event`:{if(!r)break;let t=e.createdAt;il(r,n,t,e.id??e.eventId,e.sessionId??null);break}case`agent:progress`:n.tasks&&Array.isArray(n.tasks)&&(t.tasks=n.tasks);break;case`user:message`:if(r&&n.content){let i=n.content,a=n.sender??`user`,o=e.sessionId,s=e.id??e.eventId??`user-${Date.now()}`,c=e.createdAt??new Date().toISOString(),l=t.activityFeeds[r]??[];if(a===`user`&&l.some(e=>e.meta?.sender===`user`&&e.content===i&&e.meta?.pending)){let e=l.findIndex(e=>e.meta?.sender===`user`&&e.content===i&&e.meta?.pending);e>=0&&(l[e]={...l[e],id:s,sessionId:o})}else t.addActivityItem(r,{id:s,type:`text`,content:i,timestamp:c,sessionId:o,meta:{sender:a}})}break;case`sync:response`:this._replaying=!0,tl(!0);try{let e=n.events??[],t=new Map;for(let n of e)if(n.type!==`sync:response`){if(n.type===`agent:event`&&n.workspaceId){let e=t.get(n.workspaceId)??{events:[],timestamps:[],sessionIds:[],eventIds:[],oldestId:void 0};e.events.push(n.payload),e.timestamps.push(n.createdAt),e.sessionIds.push(n.sessionId??null),e.eventIds.push(n.id??null),e.oldestId||=n.id,t.set(n.workspaceId,e);continue}this._routeMessage(n)}if(t.size>0){let e=vc();for(let[n,{events:r,timestamps:i,sessionIds:a,eventIds:o,oldestId:s}]of t){e.reset(n,r,i,{oldestId:s,hasMoreOlder:!0,sessionIds:a,eventIds:o}),Xc().updateAgentTodos(n,[]);for(let e=0;e<r.length;e++){let t=r[e];if(!t)continue;let i=a[e]??null;if(t.kind===`session:user-input-requested`){t.requestKind===`question`?Xc().enqueuePending(n,{kind:`question`,agentSessionId:i,toolCallId:t.toolCallId,toolName:t.toolName,input:t.payload}):Xc().enqueuePending(n,{kind:`permission`,agentSessionId:i,toolCallId:t.toolCallId,toolName:t.toolName,toolInput:t.payload});continue}if(t.kind===`session:started`){if(i){let e=Xc(),t=e.peekPending(n);t&&t.agentSessionId===i&&e.dequeuePending(n)}continue}if(t.kind===`session:ended`){i&&Xc().clearPendingForSession(n,i);continue}if(t.kind===`subagent:progress`){Xc().upsertSubagent(n,{toolUseId:t.toolCallId,status:t.status,description:t.description,taskType:t.taskType,lastToolName:t.lastToolName,totalTokens:t.totalTokens,toolUses:t.toolUses,durationMs:t.durationMs});continue}rl(n,t)}}}}finally{this._replaying=!1,tl(!1)}break;case`usage:snapshot`:{let e=n;e.providerId&&e.snapshot&&t.applyUsageSnapshot({providerId:e.providerId,snapshot:e.snapshot});break}case`devserver:status`:{let e=Pc();r&&e.updateFromWsEvent(r,n);break}case`task:updated`:r&&t.fetchWorkspaceDetails(r);break;case`setup:output`:t.addActivityItem(r,{id:e.id??`setup-${Date.now()}`,type:`text`,content:e.payload?.text??``,timestamp:e.createdAt??new Date().toISOString(),meta:{sender:`setup`}});break;case`setup:complete`:t.addActivityItem(r,{id:e.id??`setup-complete-${Date.now()}`,type:`text`,content:e.payload?.hadOutput===!1?Q(`chat.scriptDone`):`[setup] Complete`,timestamp:e.createdAt??new Date().toISOString(),meta:{sender:`setup`}});break;case`setup:error`:t.addActivityItem(r,{id:e.id??`setup-error-${Date.now()}`,type:`text`,content:`[setup] Error: ${e.payload?.message??`unknown`}`,timestamp:e.createdAt??new Date().toISOString(),meta:{sender:`setup`}});break;case`cleanup:output`:t.addActivityItem(r,{id:e.id??`cleanup-${Date.now()}`,type:`text`,content:e.payload?.text??``,timestamp:e.createdAt??new Date().toISOString(),meta:{sender:`cleanup`}});break;case`cleanup:complete`:t.addActivityItem(r,{id:e.id??`cleanup-complete-${Date.now()}`,type:`text`,content:e.payload?.hadOutput===!1?Q(`chat.scriptDone`):`[cleanup] Complete`,timestamp:e.createdAt??new Date().toISOString(),meta:{sender:`cleanup`}});break;case`cleanup:error`:t.addActivityItem(r,{id:e.id??`cleanup-error-${Date.now()}`,type:`text`,content:`[cleanup] Error: ${e.payload?.message??`unknown`}`,timestamp:e.createdAt??new Date().toISOString(),meta:{sender:`cleanup`}});break;case`archive:output`:t.addActivityItem(r,{id:e.id??`archive-${Date.now()}`,type:`text`,content:e.payload?.text??``,timestamp:e.createdAt??new Date().toISOString(),meta:{sender:`archive`}});break;case`archive:complete`:t.addActivityItem(r,{id:e.id??`archive-complete-${Date.now()}`,type:`text`,content:e.payload?.hadOutput===!1?Q(`chat.scriptDone`):`[archive] Complete`,timestamp:e.createdAt??new Date().toISOString(),meta:{sender:`archive`}});break;case`archive:error`:t.addActivityItem(r,{id:e.id??`archive-error-${Date.now()}`,type:`text`,content:`[archive] Error: ${e.payload?.message??`unknown`}`,timestamp:e.createdAt??new Date().toISOString(),meta:{sender:`archive`}});break;case`workspace:unread`:if(r){let e=n.hasUnread??!1;t.updateWorkspaceFromEvent(r,{hasUnread:e})}break;case`workspace:pr-attention-dismissed`:if(r){let e=n.kind,i=n.prUpdatedAt;e&&i&&t.updateWorkspaceFromEvent(r,e===`changes-requested`?{prChangesDismissedAt:i}:{prCiFailureDismissedAt:i})}break;case`workspace:description-updated`:{if(!r)break;let e=n.description??null;t.updateWorkspaceFromEvent(r,{description:e});break}case`workspace:agent-description-updated`:{if(!r)break;let e=n.agentDescription??null;t.updateWorkspaceFromEvent(r,{agentDescription:e});break}case`cron:created`:{if(!r)break;let e=n.cron;if(!e)break;let i=t.crons[r]??[];i.some(t=>t.id===e.id)||(t.crons[r]=[...i,e]);let a=t.autoLoopStates[r];a&&(a.crons_count=t.crons[r].length);break}case`cron:fired`:{if(!r)break;let e=n,i=t.crons[r]??[];t.crons[r]=i.map(t=>t.id===e.id?{...t,nextFireAt:e.nextFireAt??t.nextFireAt,lastFiredAt:e.lastFiredAt??new Date().toISOString()}:t);break}case`cron:cancelled`:{if(!r)break;let e=n.id;if(!e)break;t.crons[r]=(t.crons[r]??[]).filter(t=>t.id!==e);let i=t.autoLoopStates[r];i&&(i.crons_count=t.crons[r].length);break}case`cron:updated`:{if(!r)break;let e=n.crons;if(Array.isArray(e)){t.crons[r]=e;let n=t.autoLoopStates[r];n&&(n.crons_count=e.length)}break}case`workspace:archived`:case`workspace:unarchived`:case`workspace:worktree-restored`:e.type===`workspace:archived`&&r&&t.selectedWorkspaceId===r&&(t.selectedWorkspaceId=null),t.fetchWorkspaces(),t.archivedLoaded&&t.fetchArchivedWorkspaces();break;case`pr:base-changed`:{if(!r)break;let e=n,i=e.oldBase??``,a=e.newBase??``;t.updateWorkspaceFromEvent(r,{sourceBranch:a});let o=[];e.prUrl&&o.push({label:Q(`pr.openPr`),color:`white`,noDismiss:!0,handler:()=>window.open(e.prUrl,`_blank`)}),o.push({label:Q(`pr.dismiss`),color:`white`}),sc.create({type:`info`,position:`top`,timeout:0,message:Q(`pr.baseChanged`,{oldBase:i,newBase:a}),actions:o}),Nc(Q(`pr.baseChanged`,{oldBase:i,newBase:a}),void 0,r);break}case`pr:changes-requested`:{if(!r)break;let e=n,i=Q(`toast.prChangesRequested`,{n:e.prNumber??0}),a=[];e.prUrl&&a.push({label:Q(`pr.openPr`),color:`white`,noDismiss:!0,handler:()=>window.open(e.prUrl,`_blank`)}),a.push({label:Q(`pr.openWorkspace`),color:`white`,noDismiss:!0,handler:()=>{window.location.hash=`#/workspace/${r}`}}),a.push({label:Q(`pr.dismiss`),color:`white`}),sc.create({type:`warning`,position:`top`,timeout:0,message:i,actions:a}),Nc(i,void 0,r),t.refreshPrSnapshot(r);break}case`pr:approved`:{if(!r)break;let e=Q(`toast.prApproved`,{n:n.prNumber??0});sc.create({type:`positive`,position:`top`,timeout:5e3,message:e}),Nc(e,void 0,r),t.refreshPrSnapshot(r);break}case`pr:ready-to-merge`:{if(!r)break;let e=Q(`toast.prReadyToMerge`,{n:n.prNumber??0});sc.create({type:`positive`,position:`top`,timeout:5e3,message:e}),Nc(e,void 0,r),t.refreshPrSnapshot(r);break}case`wakeup:scheduled`:if(r){let e=n;typeof e.targetAt==`string`&&t.setPendingWakeup(r,{targetAt:e.targetAt,reason:e.reason})}break;case`wakeup:cancelled`:case`wakeup:fired`:case`wakeup:skipped`:r&&t.clearPendingWakeup(r);break;case`agent:quota-backoff`:{if(!r)break;let e=n;typeof e.targetAt==`string`&&typeof e.source==`string`&&t.setPendingQuotaBackoff(r,{targetAt:e.targetAt,resetsAt:e.resetsAt??null,source:e.source});break}case`agent:quota-backoff-cancelled`:r&&t.clearPendingQuotaBackoff(r);break;case`autoloop:enabled`:case`autoloop:iteration-started`:case`autoloop:ready-flipped`:t.fetchAutoLoopStates();break;case`autoloop:permission-overridden`:r&&Nc(Q(`notification.autoLoopPermissionOverridden`,{name:t.workspaces.find(e=>e.id===r)?.name??``}),void 0,r);break;case`autoloop:disabled`:if(t.fetchAutoLoopStates(),r){let e=n?.reason,i=t.workspaces.find(e=>e.id===r)?.name??``,a=e===`error`?`notification.autoLoopError`:e===`stall`?`notification.autoLoopStalled`:e===`completed`?`notification.autoLoopCompleted`:e===`awaiting-clarification`?`notification.autoLoopAwaitingClarification`:null;a&&Nc(Q(a,{name:i}),void 0,r)}break;case`migration:progress`:case`migration:error`:Yn().update(n);break}}}}),ol=d({__name:`App`,setup(e){let t=al(),n=Us();return r(()=>{t.connect(),n.fetchTemplates(),Ac()}),a(()=>{t.disconnect()}),(e,t)=>{let n=m(`router-view`);return u(),y(x,null,[b(n),b(Zo),b(Hs)],64)}}});function sl(e){return e}function cl(e){return e}function ll(e){return e}var ul=ll(()=>Ae()),dl=typeof document<`u`;function fl(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function pl(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&fl(e.default)}var $=Object.assign;function ml(e,t){let n={};for(let r in t){let i=t[r];n[r]=gl(i)?i.map(e):e(i)}return n}var hl=()=>{},gl=Array.isArray;function _l(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}var vl=Symbol(``);function yl(e,t){return $(Error(),{type:e,[vl]:!0},t)}function bl(e,t){return e instanceof Error&&vl in e&&(t==null||!!(e.type&t))}var xl=Symbol(``),Sl=Symbol(``),Cl=Symbol(``),wl=Symbol(``),Tl=Symbol(``);function El(){return n(Cl)}function Dl(e){return n(wl)}var Ol=/#/g,kl=/&/g,Al=/\//g,jl=/=/g,Ml=/\?/g,Nl=/\+/g,Pl=/%5B/g,Fl=/%5D/g,Il=/%5E/g,Ll=/%60/g,Rl=/%7B/g,zl=/%7C/g,Bl=/%7D/g,Vl=/%20/g;function Hl(e){return e==null?``:encodeURI(``+e).replace(zl,`|`).replace(Pl,`[`).replace(Fl,`]`)}function Ul(e){return Hl(e).replace(Rl,`{`).replace(Bl,`}`).replace(Il,`^`)}function Wl(e){return Hl(e).replace(Nl,`%2B`).replace(Vl,`+`).replace(Ol,`%23`).replace(kl,`%26`).replace(Ll,"`").replace(Rl,`{`).replace(Bl,`}`).replace(Il,`^`)}function Gl(e){return Wl(e).replace(jl,`%3D`)}function Kl(e){return Hl(e).replace(Ol,`%23`).replace(Ml,`%3F`)}function ql(e){return Kl(e).replace(Al,`%2F`)}function Jl(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var Yl=/\/$/,Xl=e=>e.replace(Yl,``);function Zl(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=au(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:Jl(o)}}function Ql(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function $l(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function eu(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&tu(t.matched[r],n.matched[i])&&nu(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function tu(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function nu(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!ru(e[n],t[n]))return!1;return!0}function ru(e,t){return gl(e)?iu(e,t):gl(t)?iu(t,e):(e&&e.valueOf())===(t&&t.valueOf())}function iu(e,t){return gl(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function au(e,t){if(e.startsWith(`/`))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o<r.length;o++)if(s=r[o],s!==`.`)if(s===`..`)a>1&&a--;else break;return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}var ou={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0};function su(e){if(!e)if(dl){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^/]+/,``)}else e=`/`;return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),Xl(e)}var cu=/^[^#]+#/;function lu(e,t){return e.replace(cu,`#`)+t}function uu(e,t){let n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}var du=()=>({left:window.scrollX,top:window.scrollY});function fu(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`),i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=uu(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function pu(e,t){return(history.state?history.state.position-t:-1)+e}var mu=new Map;function hu(e,t){mu.set(e,t)}function gu(e){let t=mu.get(e);return mu.delete(e),t}function _u(e){return typeof e==`string`||e&&typeof e==`object`}function vu(e){return typeof e==`string`||typeof e==`symbol`}function yu(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;e<n.length;++e){let r=n[e].replace(Nl,` `),i=r.indexOf(`=`),a=Jl(i<0?r:r.slice(0,i)),o=i<0?null:Jl(r.slice(i+1));if(a in t){let e=t[a];gl(e)||(e=t[a]=[e]),e.push(o)}else t[a]=o}return t}function bu(e){let t=``;for(let n in e){let r=e[n];if(n=Gl(n),r==null){r!==void 0&&(t+=(t.length?`&`:``)+n);continue}(gl(r)?r.map(e=>e&&Wl(e)):[r&&Wl(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function xu(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=gl(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}function Su(){let e=[];function t(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Cu(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let l=e=>{e===!1?c(yl(4,{from:n,to:t})):e instanceof Error?c(e):_u(e)?c(yl(2,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},u=a(()=>e.call(r&&r.instances[i],t,n,l)),d=Promise.resolve(u);e.length<3&&(d=d.then(l)),d.catch(e=>c(e))})}function wu(e,t,n,r,i=e=>e()){let a=[];for(let o of e)for(let e in o.components){let s=o.components[e];if(!(t!==`beforeRouteEnter`&&!o.instances[e]))if(fl(s)){let c=(s.__vccOpts||s)[t];c&&a.push(Cu(c,n,r,o,e,i))}else{let c=s();a.push(()=>c.then(a=>{if(!a)throw Error(`Couldn't resolve component "${e}" at "${o.path}"`);let s=pl(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&Cu(c,n,r,o,e,i)()}))}}return a}function Tu(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;o<a;o++){let a=t.matched[o];a&&(e.matched.find(e=>tu(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>tu(e,s))||i.push(s))}return[n,r,i]}var Eu=()=>location.protocol+`//`+location.host;function Du(e,t){let{pathname:n,search:r,hash:i}=t,a=e.indexOf(`#`);if(a>-1){let t=i.includes(e.slice(a))?e.slice(a).length:1,n=i.slice(t);return n[0]!==`/`&&(n=`/`+n),$l(n,``)}return $l(n,e)+r+i}function Ou(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=Du(e,location),c=n.value,l=t.value,u=0;if(a){if(n.value=s,t.value=a,o&&o===c){o=null;return}u=l?a.position-l.position:0}else r(s);i.forEach(e=>{e(n.value,c,{delta:u,type:`pop`,direction:u?u>0?`forward`:`back`:``})})};function c(){o=n.value}function l(e){i.push(e);let t=()=>{let t=i.indexOf(e);t>-1&&i.splice(t,1)};return a.push(t),t}function u(){if(document.visibilityState===`hidden`){let{history:e}=window;if(!e.state)return;e.replaceState($({},e.state,{scroll:du()}),``)}}function d(){for(let e of a)e();a=[],window.removeEventListener(`popstate`,s),window.removeEventListener(`pagehide`,u),document.removeEventListener(`visibilitychange`,u)}return window.addEventListener(`popstate`,s),window.addEventListener(`pagehide`,u),document.addEventListener(`visibilitychange`,u),{pauseListeners:c,listen:l,destroy:d}}function ku(e,t,n,r=!1,i=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:i?du():null}}function Au(e){let{history:t,location:n}=window,r={value:Du(e,n)},i={value:t.state};i.value||a(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(r,a,o){let s=e.indexOf(`#`),c=s>-1?(n.host&&document.querySelector(`base`)?e:e.slice(s))+r:Eu()+e+r;try{t[o?`replaceState`:`pushState`](a,``,c),i.value=a}catch(e){console.error(e),n[o?`replace`:`assign`](c)}}function o(e,n){a(e,$({},t.state,ku(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),r.value=e}function s(e,n){let o=$({},i.value,t.state,{forward:e,scroll:du()});a(o.current,o,!0),a(e,$({},ku(r.value,e,null),{position:o.position+1},n),!1),r.value=e}return{location:r,state:i,push:s,replace:o}}function ju(e){e=su(e);let t=Au(e),n=Ou(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=$({location:``,base:e,go:r,createHref:lu.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}function Mu(e){return e=location.host?e||location.pathname+location.search:``,e.includes(`#`)||(e+=`#`),ju(e)}var Nu={type:0,value:``},Pu=/[a-zA-Z0-9_]/;function Fu(e){if(!e)return[[]];if(e===`/`)return[[Nu]];if(!e.startsWith(`/`))throw Error(`Invalid path "${e}"`);function t(e){throw Error(`ERR (${n})/"${l}": ${e}`)}let n=0,r=n,i=[],a;function o(){a&&i.push(a),a=[]}let s=0,c,l=``,u=``;function d(){l&&=(n===0?a.push({type:0,value:l}):n===1||n===2||n===3?(a.length>1&&(c===`*`||c===`+`)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),a.push({type:1,value:l,regexp:u,repeatable:c===`*`||c===`+`,optional:c===`*`||c===`?`})):t(`Invalid state to consume buffer`),``)}function f(){l+=c}for(;s<e.length;)switch(c=e[s++],n){case 0:c===`\\`?(r=n,n=4):c===`/`?(l&&d(),o()):c===`:`?(d(),n=1):f();break;case 4:f(),n=r;break;case 1:c===`(`?n=2:Pu.test(c)?f():(d(),n=0,c!==`*`&&c!==`?`&&c!==`+`&&s--);break;case 2:c===`)`?u[u.length-1]==`\\`?u=u.slice(0,-1)+c:n=3:u+=c;break;case 3:d(),n=0,c!==`*`&&c!==`?`&&c!==`+`&&s--,u=``;break;default:t(`Unknown state`);break}return n===2&&t(`Unfinished custom RegExp for param "${l}"`),d(),o(),i}var Iu=`[^/]+?`,Lu={sensitive:!1,strict:!1,start:!0,end:!0},Ru=/[.+*?^${}()[\]/\\]/g;function zu(e,t){let n=$({},Lu,t),r=[],i=n.start?`^`:``,a=[];for(let t of e){let e=t.length?[]:[90];n.strict&&!t.length&&(i+=`/`);for(let r=0;r<t.length;r++){let o=t[r],s=40+(n.sensitive?.25:0);if(o.type===0)r||(i+=`/`),i+=o.value.replace(Ru,`\\$&`),s+=40;else if(o.type===1){let{value:e,repeatable:n,optional:c,regexp:l}=o;a.push({name:e,repeatable:n,optional:c});let u=l||Iu;if(u!==Iu){s+=10;try{RegExp(`(${u})`)}catch(t){throw Error(`Invalid custom RegExp for param "${e}" (${u}): `+t.message)}}let d=n?`((?:${u})(?:/(?:${u}))*)`:`(${u})`;r||(d=c&&t.length<2?`(?:/${d})`:`/`+d),c&&(d+=`?`),i+=d,s+=20,c&&(s+=-8),n&&(s+=-20),u===`.*`&&(s+=-50)}e.push(s)}r.push(e)}if(n.strict&&n.end){let e=r.length-1;r[e][r[e].length-1]+=.7000000000000001}n.strict||(i+=`/?`),n.end?i+=`$`:n.strict&&!i.endsWith(`/`)&&(i+=`(?:/|$)`);let o=new RegExp(i,n.sensitive?``:`i`);function s(e){let t=e.match(o),n={};if(!t)return null;for(let e=1;e<t.length;e++){let r=t[e]||``,i=a[e-1];n[i.name]=r&&i.repeatable?r.split(`/`):r}return n}function c(t){let n=``,r=!1;for(let i of e){(!r||!n.endsWith(`/`))&&(n+=`/`),r=!1;for(let e of i)if(e.type===0)n+=e.value;else if(e.type===1){let{value:a,repeatable:o,optional:s}=e,c=a in t?t[a]:``;if(gl(c)&&!o)throw Error(`Provided param "${a}" is an array but it is not repeatable (* or + modifiers)`);let l=gl(c)?c.join(`/`):c;if(!l)if(s)i.length<2&&(n.endsWith(`/`)?n=n.slice(0,-1):r=!0);else throw Error(`Missing required param "${a}"`);n+=l}}return n||`/`}return{re:o,score:r,keys:a,parse:s,stringify:c}}function Bu(e,t){let n=0;for(;n<e.length&&n<t.length;){let r=t[n]-e[n];if(r)return r;n++}return e.length<t.length?e.length===1&&e[0]===80?-1:1:e.length>t.length?t.length===1&&t[0]===80?1:-1:0}function Vu(e,t){let n=0,r=e.score,i=t.score;for(;n<r.length&&n<i.length;){let e=Bu(r[n],i[n]);if(e)return e;n++}if(Math.abs(i.length-r.length)===1){if(Hu(r))return 1;if(Hu(i))return-1}return i.length-r.length}function Hu(e){let t=e[e.length-1];return e.length>0&&t[t.length-1]<0}var Uu={strict:!1,end:!0,sensitive:!1};function Wu(e,t,n){let r=$(zu(Fu(e.path),n),{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function Gu(e,t){let n=[],r=new Map;t=_l(Uu,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=qu(e);s.aliasOf=r&&r.record;let l=_l(t,e),u=[s];if(`alias`in e){let t=typeof e.alias==`string`?[e.alias]:e.alias;for(let e of t)u.push(qu($({},s,{components:r?r.record.components:s.components,path:e,aliasOf:r?r.record:s})))}let d,f;for(let t of u){let{path:u}=t;if(n&&u[0]!==`/`){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(u&&r+u)}if(d=Wu(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!Yu(d)&&o(e.name)),$u(d)&&c(d),s.children){let e=s.children;for(let t=0;t<e.length;t++)a(e[t],d,r&&r.children[t])}r||=d}return f?()=>{o(f)}:hl}function o(e){if(vu(e)){let t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{let t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function s(){return n}function c(e){let t=Zu(e,n);n.splice(t,0,e),e.record.name&&!Yu(e)&&r.set(e.record.name,e)}function l(e,t){let i,a={},o,s;if(`name`in e&&e.name){if(i=r.get(e.name),!i)throw yl(1,{location:e});s=i.record.name,a=$(Ku(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&Ku(e.params,i.keys.map(e=>e.name))),o=i.stringify(a)}else if(e.path!=null)o=e.path,i=n.find(e=>e.re.test(o)),i&&(a=i.parse(o),s=i.record.name,i.keys.forEach(e=>{e.optional&&!a[e.name]&&delete a[e.name]}));else{if(i=t.name?r.get(t.name):n.find(e=>e.re.test(t.path)),!i)throw yl(1,{location:e,currentLocation:t});s=i.record.name,a=$({},t.params,e.params),o=i.stringify(a)}let c=[],l=i;for(;l;)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:Xu(c)}}e.forEach(e=>a(e));function u(){n.length=0,r.clear()}return{addRoute:a,resolve:l,removeRoute:o,clearRoutes:u,getRoutes:s,getRecordMatcher:i}}function Ku(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function qu(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Ju(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:`components`in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Ju(e){let t={},n=e.props||!1;if(`component`in e)t.default=n;else for(let r in e.components)t[r]=typeof n==`object`?n[r]:n;return t}function Yu(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Xu(e){return e.reduce((e,t)=>$(e,t.meta),{})}function Zu(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;Vu(e,t[i])<0?r=i:n=i+1}let i=Qu(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function Qu(e){let t=e;for(;t=t.parent;)if($u(t)&&Vu(e,t)===0)return t}function $u({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function ed(e){let t=n(Cl),r=n(wl),i=N(()=>{let n=k(e.to);return t.resolve(n)}),a=N(()=>{let{matched:e}=i.value,{length:t}=e,n=e[t-1],a=r.matched;if(!n||!a.length)return-1;let o=a.findIndex(tu.bind(null,n));if(o>-1)return o;let s=ad(e[t-2]);return t>1&&ad(n)===s&&a[a.length-1].path!==s?a.findIndex(tu.bind(null,e[t-2])):o}),o=N(()=>a.value>-1&&id(r.params,i.value.params)),s=N(()=>a.value>-1&&a.value===r.matched.length-1&&nu(r.params,i.value.params));function c(n={}){if(rd(n)){let n=t[k(e.replace)?`replace`:`push`](k(e.to)).catch(hl);return e.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>n),n}return Promise.resolve()}return{route:i,href:N(()=>i.value.href),isActive:o,isExactActive:s,navigate:c}}function td(e){return e.length===1?e[0]:e}var nd=d({name:`RouterLink`,compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:`page`},viewTransition:Boolean},useLink:ed,setup(e,{slots:t}){let r=l(ed(e)),{options:i}=n(Cl),a=N(()=>({[od(e.activeClass,i.linkActiveClass,`router-link-active`)]:r.isActive,[od(e.exactActiveClass,i.linkExactActiveClass,`router-link-exact-active`)]:r.isExactActive}));return()=>{let n=t.default&&td(t.default(r));return e.custom?n:f(`a`,{"aria-current":r.isExactActive?e.ariaCurrentValue:null,href:r.href,onClick:r.navigate,class:a.value},n)}}});function rd(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute(`target`);if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function id(e,t){for(let n in t){let r=t[n],i=e[n];if(typeof r==`string`){if(r!==i)return!1}else if(!gl(i)||i.length!==r.length||r.some((e,t)=>e.valueOf()!==i[t].valueOf()))return!1}return!0}function ad(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var od=(e,t,n)=>e??t??n,sd=d({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(t,{attrs:r,slots:i}){let a=n(Tl),o=N(()=>t.route||a.value),s=n(Sl,0),c=N(()=>{let e=k(s),{matched:t}=o.value,n;for(;(n=t[e])&&!n.components;)e++;return e}),l=N(()=>o.value.matched[c.value]);oe(Sl,N(()=>c.value+1)),oe(xl,l),oe(Tl,o);let u=e();return p(()=>[u.value,l.value,t.name],([e,t,n],[r,i,a])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),e&&t&&(!i||!tu(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let e=o.value,n=t.name,a=l.value,s=a&&a.components[n];if(!s)return cd(i.default,{Component:s,route:e});let c=a.props[n],d=f(s,$({},c?c===!0?e.params:typeof c==`function`?c(e):c:null,r,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(a.instances[n]=null)},ref:u}));return cd(i.default,{Component:d,route:e})||d}}});function cd(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var ld=sd;function ud(e){let t=Gu(e.routes,e),n=e.parseQuery||yu,r=e.stringifyQuery||bu,i=e.history,a=Su(),o=Su(),s=Su(),c=ae(ou),l=ou;dl&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let u=ml.bind(null,e=>``+e),d=ml.bind(null,ql),f=ml.bind(null,Jl);function p(e,n){let r,i;return vu(e)?(r=t.getRecordMatcher(e),i=n):i=e,t.addRoute(i,r)}function m(e){let n=t.getRecordMatcher(e);n&&t.removeRoute(n)}function h(){return t.getRoutes().map(e=>e.record)}function g(e){return!!t.getRecordMatcher(e)}function _(e,a){if(a=$({},a||c.value),typeof e==`string`){let r=Zl(n,e,a.path),o=t.resolve({path:r.path},a),s=i.createHref(r.fullPath);return $(r,o,{params:f(o.params),redirectedFrom:void 0,href:s})}let o;if(e.path!=null)o=$({},e,{path:Zl(n,e.path,a.path).path});else{let t=$({},e.params);for(let e in t)t[e]??delete t[e];o=$({},e,{params:d(t)}),a.params=d(a.params)}let s=t.resolve(o,a),l=e.hash||``;s.params=u(f(s.params));let p=Ql(r,$({},e,{hash:Ul(l),path:s.path})),m=i.createHref(p);return $({fullPath:p,hash:l,query:r===bu?xu(e.query):e.query||{}},s,{redirectedFrom:void 0,href:m})}function v(e){return typeof e==`string`?Zl(n,e,c.value.path):$({},e)}function y(e,t){if(l!==e)return yl(8,{from:t,to:e})}function b(e){return C(e)}function x(e){return b($(v(e),{replace:!0}))}function S(e,t){let n=e.matched[e.matched.length-1];if(n&&n.redirect){let{redirect:r}=n,i=typeof r==`function`?r(e,t):r;return typeof i==`string`&&(i=i.includes(`?`)||i.includes(`#`)?i=v(i):{path:i},i.params={}),$({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function C(e,t){let n=l=_(e),i=c.value,a=e.state,o=e.force,s=e.replace===!0,u=S(n,i);if(u)return C($(v(u),{state:typeof u==`object`?$({},a,u.state):a,force:o,replace:s}),t||n);let d=n;d.redirectedFrom=t;let f;return!o&&eu(r,i,n)&&(f=yl(16,{to:d,from:i}),se(i,i,!0,!1)),(f?Promise.resolve(f):D(d,i)).catch(e=>bl(e)?bl(e,2)?e:oe(e):re(e,d,i)).then(e=>{if(e){if(bl(e,2))return C($({replace:s},v(e.to),{state:typeof e.to==`object`?$({},a,e.to.state):a,force:o}),t||d)}else e=A(d,i,!0,s,a);return O(d,i,e),e})}function T(e,t){let n=y(e,t);return n?Promise.reject(n):Promise.resolve()}function E(e){let t=le.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function D(e,t){let n,[r,i,s]=Tu(e,t);n=wu(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push(Cu(r,e,t))});let c=T.bind(null,e,t);return n.push(c),de(n).then(()=>{n=[];for(let r of a.list())n.push(Cu(r,e,t));return n.push(c),de(n)}).then(()=>{n=wu(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push(Cu(r,e,t))});return n.push(c),de(n)}).then(()=>{n=[];for(let r of s)if(r.beforeEnter)if(gl(r.beforeEnter))for(let i of r.beforeEnter)n.push(Cu(i,e,t));else n.push(Cu(r.beforeEnter,e,t));return n.push(c),de(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=wu(s,`beforeRouteEnter`,e,t,E),n.push(c),de(n))).then(()=>{n=[];for(let r of o.list())n.push(Cu(r,e,t));return n.push(c),de(n)}).catch(e=>bl(e,8)?e:Promise.reject(e))}function O(e,t,n){s.list().forEach(r=>E(()=>r(e,t,n)))}function A(e,t,n,r,a){let o=y(e,t);if(o)return o;let s=t===ou,l=dl?history.state:{};n&&(r||s?i.replace(e.fullPath,$({scroll:s&&l&&l.scroll},a)):i.push(e.fullPath,a)),c.value=e,se(e,t,n,s),oe()}let te;function j(){te||=i.listen((e,t,n)=>{if(!ue.listening)return;let r=_(e),a=S(r,ue.currentRoute.value);if(a){C($(a,{replace:!0,force:!0}),r).catch(hl);return}l=r;let o=c.value;dl&&hu(pu(o.fullPath,n.delta),du()),D(r,o).catch(e=>bl(e,12)?e:bl(e,2)?(C($(v(e.to),{force:!0}),r).then(e=>{bl(e,20)&&!n.delta&&n.type===`pop`&&i.go(-1,!1)}).catch(hl),Promise.reject()):(n.delta&&i.go(-n.delta,!1),re(e,r,o))).then(e=>{e||=A(r,o,!1),e&&(n.delta&&!bl(e,8)?i.go(-n.delta,!1):n.type===`pop`&&bl(e,20)&&i.go(-1,!1)),O(r,o,e)}).catch(hl)})}let M=Su(),N=Su(),ne;function re(e,t,n){oe(e);let r=N.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function ie(){return ne&&c.value!==ou?Promise.resolve():new Promise((e,t)=>{M.add([e,t])})}function oe(e){return ne||(ne=!e,j(),M.list().forEach(([t,n])=>e?n(e):t()),M.reset()),e}function se(t,n,r,i){let{scrollBehavior:a}=e;if(!dl||!a)return Promise.resolve();let o=!r&&gu(pu(t.fullPath,0))||(i||!r)&&history.state&&history.state.scroll||null;return ee().then(()=>a(t,n,o)).then(e=>e&&fu(e)).catch(e=>re(e,t,n))}let ce=e=>i.go(e),P,le=new Set,ue={currentRoute:c,listening:!0,addRoute:p,removeRoute:m,clearRoutes:t.clearRoutes,hasRoute:g,getRoutes:h,resolve:_,options:e,push:b,replace:x,go:ce,back:()=>ce(-1),forward:()=>ce(1),beforeEach:a.add,beforeResolve:o.add,afterEach:s.add,onError:N.add,isReady:ie,install(e){e.component(`RouterLink`,nd),e.component(`RouterView`,ld),e.config.globalProperties.$router=ue,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>k(c)}),dl&&!P&&c.value===ou&&(P=!0,b(i.location).catch(e=>{}));let t={};for(let e in ou)Object.defineProperty(t,e,{get:()=>c.value[e],enumerable:!0});e.provide(Cl,ue),e.provide(wl,w(t)),e.provide(Tl,c);let n=e.unmount;le.add(e),e.unmount=function(){le.delete(e),le.size<1&&(l=ou,te&&te(),te=null,c.value=ou,P=!1,ne=!1),n()}}};function de(e){return e.reduce((e,t)=>e.then(()=>E(t)),Promise.resolve())}return ue}var dd=(function(){let e=typeof document<`u`&&document.createElement(`link`).relList;return e&&e.supports&&e.supports(`modulepreload`)?`modulepreload`:`preload`})(),fd=function(e){return`/`+e},pd={},md=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=fd(t,n),t in pd)return;pd[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:dd,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},hd=[{path:`/`,component:()=>md(()=>import(`./MainLayout-D8igazjI.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24])),children:[{path:``,redirect:{name:`workspace`}},{path:`workspace/:id?`,name:`workspace`,component:()=>md(()=>import(`./WorkspacePage-IZw-MIi_.js`),__vite__mapDeps([25,1,2,3,7,8,9,26,13,12,14,15,11,16,27,18,28,19,20,29,23,30,31,22,32]))},{path:`create`,name:`create`,component:()=>md(()=>import(`./CreatePage-DZSl-9Eb.js`),__vite__mapDeps([33,1,2,3,7,8,34,13,12,14,15,11,27,18,28,29,23,30,31,35]))},{path:`settings`,name:`settings`,component:()=>md(()=>import(`./SettingsPage-ywuEdxIL.js`),__vite__mapDeps([36,1,3,2,5,6,7,8,26,12,34,13,14,15,11,16,27,18,20,21,31,37]))},{path:`search`,name:`search`,component:()=>md(()=>import(`./SearchPage-BqDsWFbF.js`),__vite__mapDeps([38,1,2,3,7,8,9,14,27,18,22,39]))},{path:`health`,name:`health`,component:()=>md(()=>import(`./HealthPage-Ugh5BAGz.js`),__vite__mapDeps([40,2,3,9,8,15,16,27,18]))},{path:`changelog`,name:`changelog`,component:()=>md(()=>import(`./ChangelogPage-e0UFnjXW.js`),__vite__mapDeps([41,1,2,3,4,12,8,27,18,42]))}]},{path:`/:catchAll(.*)*`,redirect:`/`}],gd=cl(()=>ud({scrollBehavior:()=>({left:0,top:0}),routes:hd,history:Mu()}));async function _d(e,t){let n=e(ol);n.use(bt,t);let r=typeof ul==`function`?await ul({}):ul;n.use(r);let i=g(typeof gd==`function`?await gd({store:r}):gd);return r.use(({store:e})=>{e.router=i}),{app:n,store:r,router:i}}var vd=()=>f(`svg`,{key:`svg`,class:`q-radio__bg absolute non-selectable`,viewBox:`0 0 24 24`},[f(`path`,{d:`M12,22a10,10 0 0 1 -10,-10a10,10 0 0 1 10,-10a10,10 0 0 1 10,10a10,10 0 0 1 -10,10m0,-22a12,12 0 0 0 -12,12a12,12 0 0 0 12,12a12,12 0 0 0 12,-12a12,12 0 0 0 -12,-12`}),f(`path`,{class:`q-radio__check`,d:`M12,6a6,6 0 0 0 -6,6a6,6 0 0 0 6,6a6,6 0 0 0 6,-6a6,6 0 0 0 -6,-6`})]);function yd(e){(e.keyCode===13||e.keyCode===32)&&pe(e)}var bd=F({name:`QRadio`,props:{...we,...Ce,...Re,modelValue:{required:!0},val:{required:!0},label:String,leftLabel:Boolean,checkedIcon:String,uncheckedIcon:String,color:String,keepColor:Boolean,dense:Boolean,disable:Boolean,tabindex:[String,Number]},emits:[`update:modelValue`],setup(n,{slots:r,emit:i}){let{proxy:a}=t(),o=xe(n,a.$q),s=ve(n,Ve),c=e(null),{refocusTargetEl:l,refocusTarget:u}=Be(n,c),d=N(()=>j(n.modelValue)===j(n.val)),p=N(()=>`q-radio cursor-pointer no-outline row inline no-wrap items-center`+(n.disable?` disabled`:``)+(o.value?` q-radio--dark`:``)+(n.dense?` q-radio--dense`:``)+(n.leftLabel?` reverse`:``)),m=N(()=>{let e=n.color!==void 0&&(n.keepColor||d.value)?` text-${n.color}`:``;return`q-radio__inner relative-position q-radio__inner--${d.value?`truthy`:`falsy`}${e}`}),h=N(()=>(d.value?n.checkedIcon:n.uncheckedIcon)||null),g=N(()=>n.disable?-1:n.tabindex||0),_=Le(N(()=>{let e={type:`radio`};return n.name!==void 0&&Object.assign(e,{".checked":d.value,"^checked":d.value?`checked`:void 0,name:n.name,value:n.val}),e}));function v(e){e!==void 0&&(pe(e),u(e)),!n.disable&&!d.value&&i(`update:modelValue`,n.val,e)}function y(e){(e.keyCode===13||e.keyCode===32)&&v(e)}Object.assign(a,{set:v});let b=vd();return()=>{let e=h.value===null?[b]:[f(`div`,{key:`icon`,class:`q-radio__icon-container absolute-full flex flex-center no-wrap`},[f(Te,{class:`q-radio__icon`,name:h.value})])];n.disable||_(e,`unshift`,` q-radio__native q-ma-none q-pa-none`);let t=[f(`div`,{class:m.value,style:s.value,"aria-hidden":`true`},e)];l.value!==null&&t.push(l.value);let i=n.label===void 0?I(r.default):ge(r.default,[n.label]);return i!==void 0&&t.push(f(`div`,{class:`q-radio__label q-anchor--skip`},i)),f(`div`,{ref:c,class:p.value,tabindex:g.value,role:`radio`,"aria-label":n.label,"aria-checked":d.value?`true`:`false`,"aria-disabled":n.disable?`true`:void 0,onClick:v,onKeydown:yd,onKeyup:y},t)}}}),xd=()=>f(`div`,{key:`svg`,class:`q-checkbox__bg absolute`},[f(`svg`,{class:`q-checkbox__svg fit absolute-full`,viewBox:`0 0 24 24`},[f(`path`,{class:`q-checkbox__truthy`,fill:`none`,d:`M1.73,12.91 8.1,19.28 22.79,4.59`}),f(`path`,{class:`q-checkbox__indet`,d:`M4,14H20V10H4`})])]),Sd=F({name:`QCheckbox`,props:Ue,emits:He,setup(e){let t=xd();function n(n,r){let i=N(()=>(n.value?e.checkedIcon:r.value?e.indeterminateIcon:e.uncheckedIcon)||null);return()=>i.value===null?[t]:[f(`div`,{key:`icon`,class:`q-checkbox__icon-container absolute-full flex flex-center no-wrap`},[f(Te,{class:`q-checkbox__icon`,name:i.value})])]}return We(`checkbox`,n)}}),Cd=F({name:`QToggle`,props:{...Ue,icon:String,iconColor:String},emits:He,setup(e){function t(t,n){let r=N(()=>(t.value?e.checkedIcon:n.value?e.indeterminateIcon:e.uncheckedIcon)||e.icon),i=N(()=>t.value?e.iconColor:null);return()=>[f(`div`,{class:`q-toggle__track`}),f(`div`,{class:`q-toggle__thumb absolute flex flex-center no-wrap`},r.value===void 0?void 0:[f(Te,{name:r.value,color:i.value})])]}return We(`toggle`,t)}}),wd={radio:bd,checkbox:Sd,toggle:Cd},Td=Object.keys(wd);function Ed(e,t){if(typeof e==`function`)return e;let n=e===void 0?t:e;return e=>e[n]}var Dd=F({name:`QOptionGroup`,props:{...we,modelValue:{required:!0},options:{type:Array,validator:e=>e.every(dt),default:()=>[]},optionValue:[Function,String],optionLabel:[Function,String],optionDisable:[Function,String],name:String,type:{type:String,default:`radio`,validator:e=>Td.includes(e)},color:String,keepColor:Boolean,dense:Boolean,size:String,leftLabel:Boolean,inline:Boolean,disable:Boolean},emits:[`update:modelValue`],setup(e,{emit:n,slots:r}){let{proxy:{$q:i}}=t(),a=Array.isArray(e.modelValue);e.type===`radio`?a&&console.error(`q-option-group: model should not be array`):a||console.error(`q-option-group: model should be array in your case`);let o=xe(e,i),s=N(()=>wd[e.type]),c=N(()=>Ed(e.optionValue,`value`)),l=N(()=>Ed(e.optionLabel,`label`)),u=N(()=>Ed(e.optionDisable,`disable`)),d=N(()=>e.options.map(t=>({val:c.value(t),name:t.name===void 0?e.name:t.name,disable:e.disable||u.value(t),leftLabel:t.leftLabel===void 0?e.leftLabel:t.leftLabel,color:t.color===void 0?e.color:t.color,checkedIcon:t.checkedIcon,uncheckedIcon:t.uncheckedIcon,dark:t.dark===void 0?o.value:t.dark,size:t.size===void 0?e.size:t.size,dense:e.dense,keepColor:t.keepColor===void 0?e.keepColor:t.keepColor}))),p=N(()=>`q-option-group q-gutter-x-sm`+(e.inline?` q-option-group--inline`:``)),m=N(()=>{let t={role:`group`};return e.type===`radio`&&(t.role=`radiogroup`,e.disable&&(t[`aria-disabled`]=`true`)),t});function h(e){n(`update:modelValue`,e)}return()=>f(`div`,{class:p.value,...m.value},e.options.map((t,n)=>{let i=r[`label-`+n]===void 0?r.label===void 0?void 0:()=>r.label(t):()=>r[`label-`+n](t);return f(`div`,[f(s.value,{label:i===void 0?l.value(t):null,modelValue:e.modelValue,"onUpdate:modelValue":h,...d.value[n]},i)])}))}}),Od=F({name:`DialogPluginComponent`,props:{...we,title:String,message:String,prompt:Object,options:Object,progress:[Boolean,Object],html:Boolean,ok:{type:[String,Object,Boolean],default:!0},cancel:[String,Object,Boolean],focus:{type:String,default:`ok`,validator:e=>[`ok`,`cancel`,`none`].includes(e)},stackButtons:Boolean,color:String,cardClass:[String,Array,Object],cardStyle:[String,Array,Object]},emits:[`ok`,`hide`],setup(n,{emit:r}){let{proxy:i}=t(),{$q:a}=i,o=xe(n,a),s=e(null),c=e(n.prompt===void 0?n.options===void 0?void 0:n.options.model:n.prompt.model),l=N(()=>`q-dialog-plugin`+(o.value?` q-dialog-plugin--dark q-dark`:``)+(n.progress===!1?``:` q-dialog-plugin--progress`)),u=N(()=>n.color||(o.value?`amber`:`primary`)),d=N(()=>n.progress===!1?null:dt(n.progress)?{component:n.progress.spinner||be,props:{color:n.progress.color||u.value}}:{component:be,props:{color:u.value}}),m=N(()=>n.prompt!==void 0||n.options!==void 0),h=N(()=>{if(!m.value)return{};let{model:e,isValid:t,items:r,...i}=n.prompt===void 0?n.options:n.prompt;return i}),g=N(()=>dt(n.ok)||n.ok===!0?a.lang.label.ok:n.ok),_=N(()=>dt(n.cancel)||n.cancel===!0?a.lang.label.cancel:n.cancel),v=N(()=>n.prompt===void 0?n.options===void 0?!1:n.options.isValid!==void 0&&!n.options.isValid(c.value):n.prompt.isValid!==void 0&&!n.prompt.isValid(c.value)),y=N(()=>({color:u.value,label:g.value,ripple:!1,disable:v.value,...dt(n.ok)?n.ok:{flat:!0},"data-autofocus":n.focus===`ok`&&!m.value||void 0,onClick:C})),b=N(()=>({color:u.value,label:_.value,ripple:!1,...dt(n.cancel)?n.cancel:{flat:!0},"data-autofocus":n.focus===`cancel`&&!m.value||void 0,onClick:w}));p(()=>n.prompt&&n.prompt.model,E),p(()=>n.options&&n.options.model,E);function x(){s.value.show()}function S(){s.value.hide()}function C(){r(`ok`,j(c.value)),S()}function w(){S()}function T(){r(`hide`)}function E(e){c.value=e}function D(e){!v.value&&n.prompt.type!==`textarea`&&_e(e,13)&&C()}function O(e,t){return n.html?f(xt,{class:e,innerHTML:t}):f(xt,{class:e},()=>t)}function k(){return[f(ze,{color:u.value,dense:!0,autofocus:!0,dark:o.value,...h.value,modelValue:c.value,"onUpdate:modelValue":E,onKeyup:D})]}function ee(){return[f(Dd,{color:u.value,options:n.options.items,dark:o.value,...h.value,modelValue:c.value,"onUpdate:modelValue":E})]}function A(){let e=[];return n.cancel&&e.push(f(As,b.value)),n.ok&&e.push(f(As,y.value)),f(js,{class:n.stackButtons?`items-end`:``,vertical:n.stackButtons,align:`right`},()=>e)}function te(){let e=[];return n.title&&e.push(O(`q-dialog__title`,n.title)),n.progress!==!1&&e.push(f(xt,{class:`q-dialog__progress`},()=>f(d.value.component,d.value.props))),n.message&&e.push(O(`q-dialog__message`,n.message)),n.prompt===void 0?n.options!==void 0&&e.push(f(Fe,{dark:o.value}),f(xt,{class:`scroll q-dialog-plugin__form`},ee),f(Fe,{dark:o.value})):e.push(f(xt,{class:`scroll q-dialog-plugin__form`},k)),(n.ok||n.cancel)&&e.push(A()),e}function M(){return[f(Tt,{class:[l.value,n.cardClass],style:n.cardStyle,dark:o.value},te)]}return Object.assign(i,{show:x,hide:S}),()=>f(Jn,{ref:s,onHide:T},M)}});function kd(e,t){for(let n in t)n!==`spinner`&&Object(t[n])===t[n]?(e[n]=Object(e[n])===e[n]?{...e[n]}:{},kd(e[n],t[n])):e[n]=t[n]}function Ad(t,n,r){return i=>{let a,o,s=n&&i.component!==void 0;if(s){let{component:e,componentProps:t}=i;a=typeof e==`string`?r.component(e):e,o=t||{}}else{let{class:e,style:n,...r}=i;a=t,o=r,e!==void 0&&(r.cardClass=e),n!==void 0&&(r.cardStyle=n)}let c,l=!1,u=e(null),d=qt(!1,`dialog`),p=e=>{if(u.value?.[e]!==void 0){u.value[e]();return}let t=c.$.subTree;if(t?.component){if(t.component.proxy&&t.component.proxy[e]){t.component.proxy[e]();return}if(t.component.subTree&&t.component.subTree.component&&t.component.subTree.component.proxy&&t.component.subTree.component.proxy[e]){t.component.subTree.component.proxy[e]();return}}console.error(`[Quasar] Incorrectly defined Dialog component`)},m=[],h=[],g={onOk(e){return m.push(e),g},onCancel(e){return h.push(e),g},onDismiss(e){return m.push(e),h.push(e),g},hide(){return p(`hide`),g},update(e){if(c!==null){if(s)Object.assign(o,e);else{let{class:t,style:n,...r}=e;t!==void 0&&(r.cardClass=t),n!==void 0&&(r.cardStyle=n),kd(o,r)}c.$forceUpdate()}return g}},_=e=>{l=!0,m.forEach(t=>{t(e)})},v=()=>{y.unmount(d),Jt(d),y=null,c=null,l||h.forEach(e=>{e()})},y=_t({name:`QGlobalDialog`,setup:()=>()=>f(a,{...o,ref:u,onOk:_,onHide:v,onVnodeMounted(...e){typeof o.onVnodeMounted==`function`&&o.onVnodeMounted(...e),ee(()=>p(`show`))}})},r);return c=y.mount(d),g}}var jd={config:{dark:!0,brand:{primary:`#6c63ff`,secondary:`#26a69a`,accent:`#9c27b0`,dark:`#1a1a2e`,"dark-page":`#1a1a2e`,positive:`#21ba45`,negative:`#c10015`,info:`#31ccec`,warning:`#f2c037`}},plugins:{Notify:sc,Dialog:{install({$q:e,parentApp:t}){e.dialog=this.create=Ad(Od,!0,t)}}}},Md=`/`;async function Nd({app:e,router:t,store:n},r){let i=!1,a=e=>{try{return t.resolve(e).href}catch{}return Object(e)===e?null:e},o=e=>{if(i=!0,typeof e==`string`&&/^https?:\/\//.test(e)){window.location.href=e;return}let t=a(e);t!==null&&(window.location.href=t,window.location.reload())},s=window.location.href.replace(window.location.origin,``);for(let a=0;i===!1&&a<r.length;a++)try{await r[a]({app:e,router:t,store:n,ssrContext:null,redirect:o,urlPath:s,publicPath:Md})}catch(e){if(e&&e.url){o(e.url);return}console.error(`[Quasar] boot error:`,e);return}i!==!0&&(e.use(t),e.mount(`#q-app`))}_d(O,jd).then(e=>{let[t,n]=Promise.allSettled===void 0?[`all`,e=>e.map(e=>e.default)]:[`allSettled`,e=>e.map(e=>{if(e.status===`rejected`){console.error(`[Quasar] boot error:`,e.reason);return}return e.value.default})];return Promise[t]([md(()=>import(`./i18n-C07vl0tp.js`),[]),md(()=>import(`./network-auth-DLcKVOle.js`),[])]).then(t=>{Nd(e,n(t).filter(e=>typeof e==`function`))})});export{en as $,Ps as A,Jn as B,vc as C,Rs as D,Us as E,Ss as F,Mn as G,Wn as H,ms as I,mn as J,on as K,ps as L,js as M,As as N,Is as O,xs as P,dn as Q,ts as R,yc as S,Ws as T,zn as U,Un as V,Bn as W,tn as X,an as Y,fn as Z,Mc as _,ut as _t,md as a,Rt as at,Ec as b,sl as c,Ft as ct,Xc as d,Mt as dt,Zt as et,Uc as f,kt as ft,Pc as g,xt as gt,Ic as h,wt as ht,bd as i,zt as it,Fs as j,Ns as k,al as l,Pt as lt,Fc as m,Tt as mt,Cd as n,Ht as nt,Dl as o,Lt as ot,zc as p,Et as pt,rn as q,Sd as r,Bt as rt,El as s,It as st,Dd as t,Vt as tt,Wc as u,Nt as ut,wc as v,ft as vt,_c as w,xc as x,Cc as y,dt as yt,No as z};
84
+ sudo setfacl -Rd -m u:$(whoami):rwX . && sudo setfacl -R -m u:$(whoami):rwX .`,"settings.purgeDocsPermissionsRecoverChownIntro":`Opzione B — Prendere la proprietà (più semplice, perde la traccia "creato da root nel container" ma raramente conta):`,"settings.purgeDocsPermissionsRecoverChownCommand":` sudo chown -R $(whoami):$(whoami) .`,"settings.purgeDocsPermissionsRecoverFootnote":"Suggerimento: puoi eseguire questi comandi direttamente sulla root dei worktrees (es. `~/.worktrees/`) per coprire tutti i workspace esistenti E futuri in un colpo solo. Una volta fatto, la pulizia Kōbō funzionerà senza errori di permessi.","contextMenu.runSetup":`Esegui script di setup`,"contextMenu.exportEvents":`Esporta eventi (CSV)`,"contextMenu.dismissChangesRequested":`Segna «Modifiche richieste» come visto`,"contextMenu.dismissCiFailure":`Segna «CI in errore» come visto`,"contextMenu.restoreChangesRequested":`Segna «Modifiche richieste» come non visto`,"contextMenu.restoreCiFailure":`Segna «CI in errore» come non visto`,"contextMenu.exportingEvents":`Preparazione dell'esportazione…`,"contextMenu.exportEventsError":`Esportazione degli eventi non riuscita`,"contextMenu.openNotion":`Apri in Notion`,"contextMenu.openSentry":`Apri in Sentry`,"contextMenu.openPr":`Apri PR`,"workspace.favorite":`Segna come preferito`,"workspace.unfavorite":`Rimuovi dai preferiti`,"workspace.showFavoritesOnly":`Mostra solo i preferiti`,"workspace.searchArchivedToggle":`Cerca anche nei workspace archiviati`,"workspace.descriptionPlaceholder":`Aggiungi una breve descrizione`,"workspace.descriptionDialogHint":`Testo semplice, massimo 200 caratteri. Lasciare vuoto per cancellare.`,"workspace.descriptionTooLong":`La descrizione deve avere al massimo 200 caratteri.`,"workspace.descriptionSaveFailed":`Impossibile salvare la descrizione.`,"workspace.agentDescriptionTooltip":`Stato live mantenuto dall'agente`,"mcp.tool.setWorkspaceDescription":`Imposta la breve descrizione del workspace (≤ 200 caratteri).`,"tags.manage":`Gestisci tag`,"tags.manageTitle":`Gestisci i tag del workspace`,"tags.noTagsDefined":`Nessun tag definito. Aggiungine in Impostazioni > Globale > Tag.`,"tags.orphanedHint":`{count} tag non sono più nel catalogo globale. Deseleziona per rimuoverli.`,"settings.tagsTitle":`Tag dei workspace`,"settings.tagsHint":`Definisci i tag assegnabili ai workspace. Digita per aggiungere, clicca la croce per rimuovere.`,"settings.tagsLabel":`Tag disponibili`,"settings.branchPrefixesTitle":`Prefissi di branch`,"settings.branchPrefixesHint":`Gestisci i prefissi di branch Git disponibili nella pagina di creazione del workspace. Il primo è preselezionato per impostazione predefinita.`,"settings.branchPrefixesEmpty":`Nessun prefisso di branch definito. Aggiungine almeno uno qui sotto.`,"settings.branchPrefixesAddLabel":`Nuovo prefisso`,"settings.branchPrefixesEditHint":`Clicca per rinominare`,"settings.branchPrefixesMoveUp":`Sposta su`,"settings.branchPrefixesMoveDown":`Sposta giù`,"settings.worktreesTitle":`Worktree Git`,"settings.worktreesHint":`Scegli dove creare i worktree dei nuovi workspace. I percorsi relativi sono risolti dal progetto; sono supportati percorsi assoluti Linux/macOS e Windows, $HOME, ~ e %USERPROFILE%.`,"settings.worktreesPathLabel":`Percorso worktree`,"settings.worktreesPathRequired":`Il percorso worktree è obbligatorio.`,"settings.worktreesPrefixByProject":`Aggiungi il nome del progetto come prefisso ai worktree`,"settings.worktreesPrefixByProjectHint":`Posiziona ogni worktree in una sottocartella con il nome del progetto per evitare collisioni quando più progetti condividono la stessa radice.`,"settings.shareTitle":`Condividi configurazione`,"settings.shareHint":`Esporta impostazioni, template e tag come bundle JSON. Le chiavi MCP sono escluse per sicurezza.`,"settings.exportConfig":`Esporta`,"settings.importConfig":`Importa`,"settings.exportSuccess":`Configurazione esportata`,"settings.importSuccess":`Configurazione importata`,"settings.importConfirmTitle":`Importa configurazione`,"settings.importConfirmMessage":`Questo sostituirà le tue impostazioni, template e tag attuali. Le chiavi MCP vengono preservate. Continuare?`,"settings.network.title":`Accesso di rete`,"settings.network.hint":`Controlla Kōbō da un altro dispositivo della tua LAN affidabile. Off = solo localhost. On = raggiungibile sulla rete, protetto da un token. Riavvia Kōbō dopo il cambio.`,"settings.network.enable":`Abilita accesso di rete`,"settings.network.restartRequired":`Riavvia Kōbō per applicare il nuovo indirizzo di bind.`,"settings.network.token":`Token di accesso`,"settings.network.copy":`Copia`,"settings.network.copied":`Copiato`,"settings.network.regenerate":`Rigenera`,"settings.network.regenerateConfirm":`Rigenerare il token? I dispositivi connessi avranno bisogno del nuovo token.`,"settings.network.urls":`URL LAN`,"settings.network.scan":`Scansiona per connetterti`,"settings.network.noUrls":`Nessun indirizzo LAN rilevato.`,"settings.network.loadFailed":`Impossibile caricare le impostazioni di accesso di rete.`,"settings.network.updateFailed":`Impossibile aggiornare le impostazioni di accesso di rete.`,"health.title":`Stato`,"health.tooltip":`Stato del sistema`,"changelog.title":`Changelog`,"changelog.tooltip":`Novità di Kōbō`,"changelog.empty":`Nessun changelog disponibile.`,"changelog.current":`corrente`,"changelog.currentVersion":`Versione corrente: v{version}`,"health.envTitle":`Ambiente`,"health.version":`Versione`,"health.koboHome":`Kōbō home`,"health.dbTitle":`Database`,"health.dbPath":`Percorso`,"health.dbSize":`Dimensione`,"health.schemaVersion":`Versione schema`,"health.settingsSchemaVersion":`Schema impostazioni`,"health.runtimesTitle":`Runtime agente`,"health.claudeCliTitle":`Claude Code`,"health.claudeCliMissing":`claude non trovato nel PATH`,"health.codexCliTitle":`OpenAI Codex`,"health.codexCliMissing":`binario codex non risolvibile`,"health.workspacesTitle":`Workspace`,"health.workspacesCount":`{total} totali, {archived} archiviati`,"health.worktreesMissing":`{count} worktree mancanti sul disco`,"health.sessionsTitle":`Sessioni agente`,"health.sessionsOrphaned":`{n} sessione/sessioni orfana/e in esecuzione`,"health.integrationsTitle":`Integrazioni`,"health.integrationConfigured":`configurata`,"health.integrationMissing":`non configurata`,"health.activeTitle":`Stato attivo`,"health.activeQuotaBackoffs":`Quota backoff in attesa`,"health.activeWakeups":`Wakeup programmati`,"health.activeAutoLoop":`Auto-loop in esecuzione`,"health.activeAgentSessions":`Sessioni agente attive`,"health.activeDevServers":`Dev server in esecuzione`,"health.noneActive":`Nessuno.`,"health.quotaResumeAt":`riprende alle {time}`,"health.wakeupAt":`sveglia alle {time}`,"health.startedAgo":`avviata {time} fa`,"health.autoLoopReady":`pronto, in iterazione`,"health.autoLoopGrooming":`grooming in corso`,"session.started":`Sessione avviata`,"session.ended":`Sessione terminata`,"session.compacted":`Contesto compattato`,"tool.running":`In corso...`,"activity.raw_lines":`Righe di output grezze ({n})`,"activity.loading_older":`Caricamento messaggi precedenti…`,"activity.compacting":`Compattazione del contesto…`,"activity.prev_user_message":`Messaggio utente precedente`,"activity.scroll_to_bottom":`Scorri in fondo`,"chat.systemPrompt":`Prompt di sistema`,"chat.agent":`Agente`,"chat.cleanupScript":`Script di pulizia`,"chat.archiveScript":`Script di archiviazione`,"chat.setupScript":`Script di setup`,"chat.scriptDone":`Fatto`,"chat.you":`Tu`,"chat.session":`Sessione`,"chat.nActions":`{n} azione | {n} azioni`,"chat.lastUpdatedAt":`Ultimo aggiornamento alle {time}`,"chat.scrollToTurnTop":`Scorri all'inizio del messaggio`,"migration.backing_up":`Backup del database in corso…`,"migration.running":`Migrazione dei dati dell'agente — {processed}/{total}`,"migration.error":`Migrazione non riuscita`,"migration.backup_location":`Un backup è stato salvato in {path}. Riavvia Kōbō per riprovare.`,"migration.retry":`Riavvia Kōbō per riprovare.`,"engine.select":`Engine`,"engine.model":`Modello`,"engine.effort":`Livello di ragionamento`,"wakeup.scheduledIn":`Prossimo risveglio tra {n}s`,"wakeup.scheduledAt":`Prossimo risveglio alle {time}`,"wakeup.firing":`Risveglio in corso...`,"wakeup.reason":`Motivo: {reason}`,"wakeup.cancel":`Annulla questo risveglio`,"wakeup.pendingIndicator":`Risveglio programmato`,"cron.pendingIndicator":`{n} cron programmato/i`,"schedule.tabLabel":`Pianificazione`,"schedule.wakeupTitle":`Wakeup in attesa`,"schedule.cronsTitle":`Pianificazioni ricorrenti`,"schedule.noWakeup":`Nessun wakeup pianificato`,"schedule.noCrons":`Nessun cron pianificato`,"schedule.nextFireAt":`prossimo alle {time}`,"schedule.lastFiredAt":`ultimo {time} fa`,"schedule.addCronTitle":`Aggiungi un'attività ricorrente`,"schedule.addWakeupTitle":`Programma un wakeup`,"schedule.every":`Ogni`,"schedule.unitMinutes":`minuti`,"schedule.unitHours":`ore`,"schedule.unitDays":`giorni`,"schedule.advancedExpression":`Espressione avanzata (opzionale)`,"schedule.advancedHint":`Cron grezzo (es. */15 * * * *) o {'@'}hourly/{'@'}daily — sostituisce il selettore se compilato.`,"schedule.promptLabel":`Prompt`,"schedule.labelOptional":`Etichetta (opzionale)`,"schedule.delayMinutes":`Ritardo (minuti)`,"schedule.modeFresh":`Nuova sessione`,"schedule.oneShot":`Esegui una sola volta`,"schedule.addCronBtn":`Aggiungi cron`,"schedule.addWakeupBtn":`Programma wakeup`,"schedule.cronCreated":`Attività ricorrente aggiunta`,"schedule.wakeupCreated":`Wakeup programmato`,"askUserQuestion.title":`L'agente sta facendo una domanda`,"askUserQuestion.submit":`Invia risposta`,"askUserQuestion.multiSelectHint":`Seleziona una o più opzioni`,"askUserQuestion.otherOption":`Altro`,"askUserQuestion.otherOptionHint":`specifica nel prossimo messaggio`,"askUserQuestion.noPending":`Nessuna domanda in attesa`,"askUserQuestion.next":`Avanti`,"askUserQuestion.previous":`Indietro`,"askUserQuestion.cancel":`Annulla`,"askUserQuestion.cancelTooltip":`Salta questa domanda — l'agente proseguirà senza risposta`,"askUserQuestion.collapse":`Riduci il pannello della domanda`,"askUserQuestion.expand":`Espandi il pannello della domanda`,"permissionRequest.title":`L'agente vuole usare uno strumento`,"permissionRequest.allow":`Consenti`,"permissionRequest.deny":`Nega`,"permissionRequest.tool":`Strumento`,"permissionRequest.input":`Input`,"permissionRequest.denied":`negato dall'utente`,"workspaceStatus.awaitingUser":`in attesa della tua risposta`,"workspaceList.prOpen":`#{n} — Pull request aperta`,"workspaceList.prChangesRequested":`#{n} — Modifiche richieste`,"workspaceList.attentionCiFailed":`CI fallita`,"workspaceList.attentionChangesRequested":`Modifiche richieste`,"workspaceList.attentionReadyToMerge":`Pronto per il merge`,"autoLoop.toggle":`Auto-loop`,"autoLoop.start":`Avvia l'auto-loop`,"autoLoop.prepare":`Prepara per l'auto-loop`,"autoLoop.reprepare":`Ri-prepara per l'auto-loop`,"autoLoop.reprepareTooltip":`Rilancia la fase di grooming per aggiungere o aggiornare le attività prima di riavviare il loop`,"autoLoop.prepareBusy":`Attendi che l'agente finisca prima di preparare`,"autoLoop.forceReady":`So cosa faccio — salta la preparazione`,"autoLoop.forceReadyConfirm":`Saltare la preparazione e segnare auto-loop pronto? Il loop potrebbe bloccarsi se le attività non sono atomiche.`,"autoLoop.stop":`Ferma l'auto-loop`,"autoLoop.notReady":`Esegui prima «Prepara per l'auto-loop»`,"autoLoop.noTasks":`Aggiungi prima delle attività`,"autoLoop.progress":`Auto-loop · {done}/{total} attività`,"autoLoop.preparing":`Auto-loop · preparazione`,"autoLoop.preparingTooltip":`Grooming in corso — l'agente sta creando / revisionando le attività. Il loop partirà quando chiamerà mark_auto_loop_ready.`,"autoLoop.running":`Auto-loop in corso`,"autoLoop.startInMode":`Avvia in modalità auto-loop`,"koboCommand.prepAutoloopDesc":`Preparare le attività per la modalità auto-loop (atomicità)`,"staleSessionBanner.title":`Auto-loop in corso`,"staleSessionBanner.message":`Stai visualizzando una sessione precedente — l'agente sta lavorando nella più recente.`,"staleSessionBanner.staleTitle":`Sessione precedente`,"staleSessionBanner.staleMessage":`Stai visualizzando una sessione precedente — i messaggi inviati andranno a questa sessione, non alla più recente.`,"staleSessionBanner.switchToCurrent":`Passa a quella corrente`,"network.login.title":`Accesso di rete`,"network.login.description":`Questo Kōbō richiede un token per essere controllato dalla rete. Incolla il token mostrato nelle Impostazioni sulla macchina host.`,"network.login.tokenLabel":`Token`,"network.login.tokenPlaceholder":`Incolla il tuo token`,"network.login.connect":`Connetti`,"network.login.invalid":`Token non valido`,"network.login.serverError":`Errore del server — riprova.`,"network.login.unreachable":`Kōbō non è raggiungibile — controlla la connessione.`,"layout.toggleWorkspaces":`Mostra/nascondi il pannello degli spazi`,"layout.togglePanel":`Mostra/nascondi il pannello laterale`},pc=`kobo:locale`,mc=[`en`,`fr`,`de`,`es`,`it`];function hc(e){return mc.includes(e)}function gc(){let e=localStorage.getItem(pc);if(e&&hc(e))return e;let t=navigator.language.split(`-`)[0];return t&&hc(t)?(localStorage.setItem(pc,t),t):(localStorage.setItem(pc,`en`),`en`)}var _c=Mo({legacy:!1,locale:gc(),fallbackLocale:`en`,messages:{en:lc,fr:dc,de:cc,es:uc,it:fc}}),vc=Oe(`agent-stream`,()=>{let t=e(new Map),n=e(new Map),r=e(new Map),i=e(new Map),a=e(new Map),o=e(new Map),s=e(new Map),c=e(0);function l(e){return c.value,s.value.get(e)??!1}function u(e,t){(s.value.get(e)??!1)!==t&&(s.value.set(e,t),c.value++)}function d(e){return c.value,t.value.get(e)??[]}function f(e){return c.value,n.value.get(e)??[]}function p(e){return c.value,r.value.get(e)??[]}function m(e){return c.value,i.value.get(e)??[]}function h(e){return c.value,a.value.get(e)}function g(e){return c.value,o.value.get(e)??!0}function _(e,o,s,l,u){let d=t.value.get(e)??[],f=n.value.get(e)??[],p=r.value.get(e)??[],m=i.value.get(e)??[],h=d.length===0;d.push(o),f.push(s??new Date().toISOString()),p.push(u??null),m.push(l??null),t.value.set(e,d),n.value.set(e,f),r.value.set(e,p),i.value.set(e,m),h&&l&&a.value.set(e,l),c.value++}function v(e,s,l,u){t.value.set(e,[...s]),n.value.set(e,l?[...l]:s.map(()=>new Date().toISOString())),r.value.set(e,u?.sessionIds?[...u.sessionIds]:s.map(()=>null)),i.value.set(e,u?.eventIds?[...u.eventIds]:s.map(()=>null)),u?.oldestId?a.value.set(e,u.oldestId):a.value.delete(e),u&&typeof u.hasMoreOlder==`boolean`?o.value.set(e,u.hasMoreOlder):o.value.delete(e),c.value++}function y(e,s,l,u){if(s.length===0){o.value.set(e,u.hasMoreOlder),c.value++;return}let d=t.value.get(e)??[],f=n.value.get(e)??[],p=r.value.get(e)??[],m=i.value.get(e)??[],h=u.sessionIds??s.map(()=>null),g=u.eventIds??s.map(()=>null);t.value.set(e,[...s,...d]),n.value.set(e,[...l,...f]),r.value.set(e,[...h,...p]),i.value.set(e,[...g,...m]),u.oldestId&&a.value.set(e,u.oldestId),o.value.set(e,u.hasMoreOlder),c.value++}function b(e,a){let o=t.value.get(e),s=i.value.get(e);if(!o||!s)return;let l=s.indexOf(a);if(l===-1)return;let u=n.value.get(e),d=r.value.get(e);o.splice(l,1),s.splice(l,1),u&&u.splice(l,1),d&&d.splice(l,1),c.value++}function x(e){t.value.delete(e),n.value.delete(e),r.value.delete(e),i.value.delete(e),a.value.delete(e),o.value.delete(e),s.value.delete(e),c.value++}return{events:t,timestamps:n,sessionIds:r,eventIds:i,version:c,eventsFor:d,timestampsFor:f,sessionIdsFor:p,eventIdsFor:m,oldestIdFor:h,hasMoreOlderFor:g,isCompacting:l,setCompacting:u,append:_,reset:v,prepend:y,removeByEventId:b,clear:x}}),yc=`.worktrees`;function bc(e){return btoa(e).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}var xc=Oe(`settings`,{state:()=>({global:{defaultModelByEngine:{"claude-code":`auto`,codex:`auto`},dangerouslySkipPermissions:!0,prPromptTemplate:``,reviewPromptTemplate:``,ciFixPromptTemplate:``,finalizationPrompt:``,notionInitialPromptTemplate:``,sentryInitialPromptTemplate:``,gitConventions:``,editorCommand:``,fileManagerCommand:``,terminalCommand:``,autoPurgeOnPrMerged:!1,browserNotifications:!0,audioNotifications:!0,audioNotificationSound:`hey.mp3`,audioQuestionSound:`hey.mp3`,audioNotificationVolume:1,notionStatusProperty:``,notionInProgressStatus:``,notionAssigneeProperty:``,notionUserId:``,defaultPermissionModeByEngine:{"claude-code":`plan`,codex:`plan`},notionMcpKey:``,sentryMcpKey:``,tags:[],branchPrefixes:[],setupScript:``,cleanupScript:``,cleanupScriptMode:`no-tasks`,cleanupScriptOnlyOnChanges:!1,archiveScript:``,changeSourceBranchScript:``,worktreesPath:yc,worktreesPrefixByProject:!1,voiceEnabled:!1,voicePttKey:`alt`,voiceLanguage:`auto`,voiceModel:null,voiceCommandPath:``,voiceFfmpegPath:``,voiceTemperature:0,voicePrompt:``,voiceTranslateToEnglish:!1,voiceSuppressNonSpeechTokens:!0,flattenWorkspaceList:!1,skillSuite:`superpowers`,customReviewTemplate:``,customAutoLoopReviewGate:``,customAutoLoopGroomingIntro:``,customQaPromptTemplate:``,customBrainstormingInstruction:``},voiceModels:[],voiceModelsLoading:!1,voiceModelsDir:``,voiceRuntime:null,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 fetchGlobalDefaults(){let e=await fetch(`/api/settings/defaults`);if(!e.ok)throw Error(`HTTP ${e.status}`);return e.json()},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}`);let n=await t.json();this.global=n}catch(e){throw console.error(`[settings store] updateGlobal failed:`,e),e}},async upsertProject(e,t){try{let n=bc(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=bc(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}},async fetchVoiceModels(){this.voiceModelsLoading=!0;try{let e=await fetch(`/api/voice/models`);if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();this.voiceModels=t.available,this.voiceModelsDir=t.modelsDir,this.global.voiceModel=t.activeModel}catch(e){console.error(`[settings store] fetchVoiceModels failed:`,e)}finally{this.voiceModelsLoading=!1}},async cancelVoiceModelDownload(e){let t=await fetch(`/api/voice/models/${encodeURIComponent(e)}/download`,{method:`DELETE`});if(!t.ok&&t.status!==404)throw Error(`HTTP ${t.status}`);await this.fetchVoiceModels()},async fetchVoiceRuntime(){try{let e=await fetch(`/api/voice/runtime`);if(!e.ok)throw Error(`HTTP ${e.status}`);this.voiceRuntime=await e.json()}catch(e){console.error(`[settings store] fetchVoiceRuntime failed:`,e)}},async downloadVoiceModel(e){let t=await fetch(`/api/voice/models/${encodeURIComponent(e)}/download`,{method:`POST`});if(!t.ok)throw Error(`HTTP ${t.status}`);await this.fetchVoiceModels()},async deleteVoiceModel(e){let t=await fetch(`/api/voice/models/${encodeURIComponent(e)}`,{method:`DELETE`});if(!t.ok)throw Error(`HTTP ${t.status}`);await this.fetchVoiceModels()}}}),Sc=`/sounds`,Cc=[{id:`hey.mp3`,labelKey:`settings.notificationSoundHey`},{id:`travail_termine.mp3`,labelKey:`settings.notificationSoundTravailTermine`},{id:`faaah.mp3`,labelKey:`settings.notificationSoundFaaah`},{id:`ca_va_peter.mp3`,labelKey:`settings.notificationSoundCaVaPeter`},{id:`dry-fart.mp3`,labelKey:`settings.notificationSoundDryFart`},{id:`for-shure.mp3`,labelKey:`settings.notificationSoundForShure`}],wc=`hey.mp3`;function Tc(e){return Cc.some(t=>t.id===e)}function Ec(e){return e&&Tc(e)?e:wc}function Dc(e){return`${Sc}/${Ec(e)}`}var Oc=new Map;function kc(e){let t=Oc.get(e);return t||(t=new Audio(Dc(e)),Oc.set(e,t)),t}function Ac(){`Notification`in window&&Notification.permission==="default"&&Notification.requestPermission()}function jc(e){return typeof e!=`number`||!Number.isFinite(e)?1:Math.max(0,Math.min(1,e))}function Mc(e,t){let n=kc(Ec(e));n.volume=jc(t),n.currentTime=0,n.play().catch(()=>{})}function Nc(e,t,n,r){let i=xc();if(!document.hasFocus()&&i.global.browserNotifications&&`Notification`in window&&Notification.permission===`granted`){let r=new Notification(e,{body:t,icon:`/favicon.ico`});n&&(r.onclick=()=>{window.focus(),window.location.hash=`#/workspace/${n}`,r.close()})}i.global.audioNotifications&&Mc(r&&r.length>0?r:i.global.audioNotificationSound??`hey.mp3`,i.global.audioNotificationVolume)}var Pc=Oe(`devServer`,{state:()=>({statuses:{},logs:{}}),getters:{getStatus:e=>t=>e.statuses[t]??null},actions:{async fetchStatus(e){try{let t=await fetch(`/api/dev-server/${e}/status`);if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await t.json();this.statuses[e]=n}catch(e){console.error(`[dev-server store] fetchStatus failed:`,e)}},async startDevServer(e){try{let t=await fetch(`/api/dev-server/${e}/start`,{method:`POST`});if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await t.json();this.statuses[e]=n}catch(e){throw console.error(`[dev-server store] startDevServer failed:`,e),e}},async stopDevServer(e){try{let t=await fetch(`/api/dev-server/${e}/stop`,{method:`POST`});if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await t.json();this.statuses[e]=n}catch(e){throw console.error(`[dev-server store] stopDevServer failed:`,e),e}},async fetchLogs(e,t=200){try{let n=await fetch(`/api/dev-server/${e}/logs?tail=${t}`);if(!n.ok)throw Error(`HTTP ${n.status}`);let r=await n.json();return this.logs[e]=r.logs,r.logs}catch(e){return console.error(`[dev-server store] fetchLogs failed:`,e),``}},updateFromWsEvent(e,t){this.statuses[e]=t}}});function Fc(e){return e.state===`OPEN`&&e.reviewDecision===`CHANGES_REQUESTED`&&e.reviewers.some(e=>e.state===`CHANGES_REQUESTED`)}function Ic(e){return e.state===`OPEN`&&e.ci.rollup===`FAILURE`}function Lc(e){return e?Ic(e)||Fc(e):!1}var Rc=[`executing`,`extracting`,`brainstorming`];function zc(e){return!!e&&Rc.includes(e)}function Bc(e){"@babel/helpers - typeof";return Bc=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Bc(e)}function Vc(e,t){if(Bc(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Bc(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Hc(e){var t=Vc(e,`string`);return Bc(t)==`symbol`?t:t+``}function Uc(e,t,n){return(t=Hc(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Wc=class extends Error{constructor(e,t){super(e),Uc(this,`code`,void 0),this.name=`WorkspaceActionError`,this.code=t}};function Gc(e){return e===`running`?`in_progress`:e}var Kc=5e3,qc=500,Jc=null;function Yc(e){return e===`claude-code`?`claude-code`:null}var Xc=Oe(`workspace`,{state:()=>({workspaces:[],selectedWorkspaceId:null,tasks:[],activityFeeds:{},activityFeedIds:{},activityCounts:{},subagents:{},agentTodos:{},sessions:[],selectedSessionId:null,archivedWorkspaces:[],archivedLoaded:!1,loading:!1,loadingOlderEvents:!1,hasMoreEvents:{},providerUsage:{},chatDraft:``,queuedMessages:{},gitRefreshTrigger:0,gitStatsCache:{},pendingWakeups:{},pendingQuotaBackoffs:{},pendingDeferred:{},pendingQueue:{},prSnapshots:{},autoLoopStates:{},crons:{}}),getters:{selectedWorkspace:e=>e.workspaces.find(t=>t.id===e.selectedWorkspaceId)??e.archivedWorkspaces.find(t=>t.id===e.selectedWorkspaceId)??null,needsAttention(e){return e.workspaces.filter(t=>[`error`,`quota`,`awaiting-user`].includes(t.status)||Lc(e.prSnapshots[t.id])||!zc(t.status)&&!!e.prSnapshots[t.id]?.readyToMerge)},running(e){return e.workspaces.filter(t=>zc(t.status)&&!Lc(e.prSnapshots[t.id]))},idle(e){return e.workspaces.filter(t=>[`completed`,`idle`,`created`].includes(t.status)&&!Lc(e.prSnapshots[t.id])&&!e.prSnapshots[t.id]?.readyToMerge)},favorites(e){return e.workspaces.filter(e=>e.favoritedAt!==null)},currentAgentTodos:e=>e.selectedWorkspaceId?e.agentTodos[e.selectedWorkspaceId]??[]:[],currentSubagents:e=>{if(!e.selectedWorkspaceId)return[];let t=e.subagents[e.selectedWorkspaceId]??{};return Object.values(t).sort((e,t)=>e.startedAt.localeCompare(t.startedAt))},activityFeed:e=>{if(!e.selectedWorkspaceId)return[];let t=e.activityFeeds[e.selectedWorkspaceId]??[];if(!e.selectedSessionId)return e.sessions.length===0?t:[];let n=e.sessions.find(t=>t.id===e.selectedSessionId)?.engineSessionId??null,r=e.sessions.length>0?e.sessions[e.sessions.length-1].id:null,i=e.selectedSessionId===r;return t.filter(t=>t.sessionId?t.sessionId===e.selectedSessionId||n!==null&&t.sessionId===n:i)},acceptanceCriteria:e=>e.tasks.filter(e=>e.isAcceptanceCriterion),archived:e=>e.archivedWorkspaces,currentProviderUsage(e){let t=e.workspaces.find(t=>t.id===e.selectedWorkspaceId);if(!t)return null;let n=Yc(t.engine);return n?e.providerUsage[n]??null:null}},actions:{async toggleFavorite(e){let t=this.workspaces.find(t=>t.id===e);if(!t)return;let n=t.favoritedAt,r=n===null,i=r?new Date().toISOString():null;this.workspaces=this.workspaces.map(t=>t.id===e?{...t,favoritedAt:i}:t);try{let t=await fetch(`/api/workspaces/${e}/favorite`,{method:r?`POST`:`DELETE`});if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await t.json();this.workspaces=this.workspaces.map(t=>t.id===e?n:t)}catch(t){throw this.workspaces=this.workspaces.map(t=>t.id===e?{...t,favoritedAt:n}:t),t}},async setWorkspaceTags(e,t){let n=this.workspaces.find(t=>t.id===e);if(!n)return;let r=n.tags,i=[...t];this.workspaces=this.workspaces.map(t=>t.id===e?{...t,tags:i}:t);try{let n=await fetch(`/api/workspaces/${e}/tags`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({tags:t})});if(!n.ok)throw Error(`HTTP ${n.status}`);let r=await n.json();this.workspaces=this.workspaces.map(t=>t.id===e?r:t)}catch(t){throw this.workspaces=this.workspaces.map(t=>t.id===e?{...t,tags:r}:t),t}},async fetchOrphanWorktrees(e){let t=`/api/git/orphan-worktrees?projectPath=${encodeURIComponent(e)}`,n=await fetch(t,{cache:`no-store`});if(!n.ok)throw Error(`HTTP ${n.status}`);return n.json()},async fetchWorkspaces(){this.loading=!0;try{let e=await fetch(`/api/workspaces`);if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();this.workspaces=t.workspaces??t;for(let e of this.workspaces)[`completed`,`idle`,`error`,`quota`].includes(e.status)&&this.finalizeRunningSubagents(e.id)}catch(e){console.error(`[workspace store] fetchWorkspaces failed:`,e)}finally{this.loading=!1}},async fetchArchivedWorkspaces(){try{let e=await fetch(`/api/workspaces/archived`);if(!e.ok)throw Error(`HTTP ${e.status}`);this.archivedWorkspaces=await e.json(),this.archivedLoaded=!0}catch(e){console.error(`[workspace store] fetchArchivedWorkspaces failed:`,e)}},async fetchWorkspaceDetails(e){try{let t=await fetch(`/api/workspaces/${e}`);if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await t.json();if(this.selectedWorkspaceId!==e)return;let r=n.workspace??n,i=this.workspaces.findIndex(t=>t.id===e);if(i>=0)this.workspaces[i]={...this.workspaces[i],...r};else{let t=this.archivedWorkspaces.findIndex(t=>t.id===e);t>=0?this.archivedWorkspaces[t]={...this.archivedWorkspaces[t],...r}:r?.archivedAt&&this.archivedWorkspaces.unshift(r)}n.tasks&&(this.tasks=n.tasks)}catch(e){console.error(`[workspace store] fetchWorkspaceDetails failed:`,e)}},async createWorkspace(e){try{let t=await fetch(`/api/workspaces`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});if(!t.ok)throw Error(`HTTP ${t.status}`);let n=t.headers.get(`X-Kobo-Branch-Adjusted`)===`1`,r=await t.json(),i=r.workspace??r,a=this.workspaces.findIndex(e=>e.id===i.id);return a>=0?this.workspaces[a]=i:this.workspaces.push(i),e.autoLoop&&this.fetchAutoLoopStates(),i._branchAdjusted=n,i}catch(e){throw console.error(`[workspace store] createWorkspace failed:`,e),e}},async startWorkspace(e,t,n,r){try{let i=await fetch(`/api/workspaces/${e}/start`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({prompt:t,agentSessionId:n,resume:r})});if(!i.ok){let e=await i.json().catch(()=>({}));throw Error(e.error??`HTTP ${i.status}`)}await this.fetchWorkspaces()}catch(e){throw console.error(`[workspace store] startWorkspace failed:`,e),e}},async stopWorkspace(e){try{let t=await fetch(`/api/workspaces/${e}/stop`,{method:`POST`});if(!t.ok)throw Error(`HTTP ${t.status}`);await this.fetchWorkspaces()}catch(e){throw console.error(`[workspace store] stopWorkspace failed:`,e),e}},async interruptAgent(e){try{let t=await fetch(`/api/workspaces/${e}/interrupt`,{method:`POST`});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error??`HTTP ${t.status}`)}}catch(e){throw console.error(`[workspace store] interruptAgent failed:`,e),e}},async deleteWorkspace(e,t){try{let n=await fetch(`/api/workspaces/${e}`,{method:`DELETE`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t??{})});if(!n.ok)throw Error(`HTTP ${n.status}`);let r=[];if(n.status===200){let e=await n.json().catch(()=>({}));r=Array.isArray(e.warnings)?e.warnings:[]}return this.workspaces=this.workspaces.filter(t=>t.id!==e),this.archivedWorkspaces=this.archivedWorkspaces.filter(t=>t.id!==e),delete this.activityFeeds[e],delete this.activityFeedIds[e],delete this.activityCounts[e],delete this.subagents[e],delete this.agentTodos[e],this.selectedWorkspaceId===e&&(this.selectedWorkspaceId=null,this.tasks=[]),{warnings:r}}catch(e){throw console.error(`[workspace store] deleteWorkspace failed:`,e),e}},async deleteAllArchived(e){try{let t=this.archivedWorkspaces.map(e=>e.id),n=await fetch(`/api/workspaces/archived`,{method:`DELETE`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e??{})});if(!n.ok)throw Error(`HTTP ${n.status}`);let r=await n.json().catch(()=>({})),i=typeof r.deleted==`number`?r.deleted:0,a=Array.isArray(r.warnings)?r.warnings:[];this.archivedWorkspaces=[];for(let e of t)delete this.activityFeeds[e],delete this.activityFeedIds[e],delete this.activityCounts[e],delete this.subagents[e],delete this.agentTodos[e],this.selectedWorkspaceId===e&&(this.selectedWorkspaceId=null,this.tasks=[]);return{deleted:i,warnings:a,ids:t}}catch(e){throw console.error(`[workspace store] deleteAllArchived failed:`,e),e}},async updateModel(e,t){try{let n=await fetch(`/api/workspaces/${e}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({model:t})});if(!n.ok)throw Error(`HTTP ${n.status}`);let r=await n.json(),i=this.workspaces.findIndex(t=>t.id===e);i>=0&&(this.workspaces[i]=r)}catch(e){throw console.error(`[workspace store] updateModel failed:`,e),e}},async updateWorkspaceDescription(e,t){let n=this.workspaces.findIndex(t=>t.id===e);if(n<0)throw Error(`Workspace '${e}' not found in store`);let r=this.workspaces[n].description;this.workspaces[n]={...this.workspaces[n],description:t};try{let r=await fetch(`/api/workspaces/${e}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({description:t})});if(!r.ok){let e=await r.json().catch(()=>({}));throw Error(e.error??`HTTP ${r.status}`)}let i=await r.json();this.workspaces[n]={...this.workspaces[n],...i}}catch(t){let n=this.workspaces.findIndex(t=>t.id===e);throw n>=0&&(this.workspaces[n]={...this.workspaces[n],description:r}),t}},async updateReasoningEffort(e,t){try{let n=await fetch(`/api/workspaces/${e}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({reasoningEffort:t})});if(!n.ok)throw Error(`HTTP ${n.status}`);let r=await n.json(),i=this.workspaces.findIndex(t=>t.id===e);i>=0&&(this.workspaces[i]=r)}catch(e){throw console.error(`[workspace store] updateReasoningEffort failed:`,e),e}},async renameWorkspaceBranch(e,t){let n=await fetch(`/api/workspaces/${e}/rename-branch`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({newName:t})}),r=await n.json().catch(()=>null);if(!n.ok)throw new Wc(r?.error??`Rename failed`,r?.code);let i=r,a=this.workspaces.findIndex(t=>t.id===e);return a>=0&&(this.workspaces[a]=i),i},async resyncWorkspaceBranch(e){let t=await fetch(`/api/workspaces/${e}/resync-branch`,{method:`POST`});if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await t.json();if(n.changed){let t=this.workspaces.findIndex(t=>t.id===e);t>=0&&(this.workspaces[t]={...this.workspaces[t],workingBranch:n.workingBranch})}return n},async updateAgentPermissionMode(e,t){try{let n=await fetch(`/api/workspaces/${e}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({agentPermissionMode:t})});if(!n.ok)throw Error(`HTTP ${n.status}`);let r=await n.json(),i=this.workspaces.findIndex(t=>t.id===e);i>=0&&(this.workspaces[i]=r)}catch(e){throw console.error(`[workspace store] updateAgentPermissionMode failed:`,e),e}},async pushBranch(e,t={}){let n=await fetch(`/api/workspaces/${e}/push`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({force:t.force===!0})});if(!n.ok){let e=await n.json().catch(()=>({error:`Push failed`}));throw new Wc(e.error??`Push failed`,e.code)}},async fetchGitStats(e,t={}){let n=`/api/workspaces/${e}/git-stats${t.freshFetch?`?freshFetch=1`:``}`,r=await fetch(n,{signal:t.signal});if(!r.ok)throw Error(`HTTP ${r.status}`);let i=await r.json();return this.gitStatsCache[e]=i,i},async fetchBranchDivergence(e,t={}){let n=`/api/workspaces/${e}/branch-divergence?limit=${t.limit??50}`,r=await fetch(n,{signal:t.signal});if(!r.ok)throw Error(`HTTP ${r.status}`);return await r.json()},async openPullRequest(e){let t=await fetch(`/api/workspaces/${e}/open-pr`,{method:`POST`}),n=await t.json().catch(()=>null);if(!t.ok)throw new Wc(n?.error??`Open PR failed`,n?.code);return n},async archiveWorkspace(e){try{let t=await fetch(`/api/workspaces/${e}/archive`,{method:`POST`});if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await t.json();return this.workspaces=this.workspaces.filter(t=>t.id!==e),this.archivedLoaded&&this.archivedWorkspaces.unshift(n),this.selectedWorkspaceId===e&&(this.selectedWorkspaceId=null,this.tasks=[]),n}catch(e){throw console.error(`[workspace store] archiveWorkspace failed:`,e),e}},async unarchiveWorkspace(e){try{let t=await fetch(`/api/workspaces/${e}/unarchive`,{method:`POST`});if(!t.ok){if(t.status===409){let e=await t.json().catch(()=>({})),n=Error(e.error??`worktree-purged`);throw n.code=`worktree-purged`,n}throw Error(`HTTP ${t.status}`)}let n=await t.json();return this.archivedWorkspaces=this.archivedWorkspaces.filter(t=>t.id!==e),this.workspaces.unshift(n),n}catch(e){throw console.error(`[workspace store] unarchiveWorkspace failed:`,e),e}},async createTask(e,t,n){try{let r=await fetch(`/api/workspaces/${e}/tasks`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({title:t,isAcceptanceCriterion:n})});if(!r.ok)throw Error(`HTTP ${r.status}`);await this.fetchWorkspaceDetails(e)}catch(e){throw console.error(`[workspace store] createTask failed:`,e),e}},async updateTaskTitle(e,t,n){try{let r=await fetch(`/api/workspaces/${e}/tasks/${t}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({title:n})});if(!r.ok)throw Error(`HTTP ${r.status}`);await this.fetchWorkspaceDetails(e)}catch(e){throw console.error(`[workspace store] updateTaskTitle failed:`,e),e}},async deleteTask(e,t){try{let n=await fetch(`/api/workspaces/${e}/tasks/${t}`,{method:`DELETE`});if(!n.ok)throw Error(`HTTP ${n.status}`);await this.fetchWorkspaceDetails(e)}catch(e){throw console.error(`[workspace store] deleteTask failed:`,e),e}},selectWorkspace(e){this.selectedWorkspaceId=e,this.selectedSessionId=null,this.tasks=[],this.markRead(e),this.fetchWorkspaceDetails(e),this.fetchSessions(e),this.fetchPendingQuotaBackoff(e),this.fetchGitStats(e).catch(()=>{}),this.activityFeeds[e]?.length||al().subscribe(e)},async fetchSessions(e,t){try{let n=await fetch(`/api/workspaces/${e}/sessions`);if(!n.ok)throw Error(`HTTP ${n.status}`);if(this.selectedWorkspaceId!==e)return;if(this.sessions=await n.json(),t&&this.sessions.some(e=>e.id===t)){this.selectSession(t);return}let r=this.selectedSessionId&&this.sessions.some(e=>e.id===this.selectedSessionId);if(this.sessions.length>0&&!r){let t=localStorage.getItem(`kobo:session:${e}`),n=t?this.sessions.find(e=>e.id===t):null;this.selectSession(n?n.id:this.sessions[0].id)}}catch(e){console.error(`[workspace store] fetchSessions failed:`,e)}},async fetchOlderEvents(e){if(this.loadingOlderEvents||this.hasMoreEvents[e]===!1)return!1;let t=this.activityFeeds[e];if(!t?.length)return!1;let n=t[0].id;this.loadingOlderEvents=!0;try{let t=await fetch(`/api/workspaces/${e}/events?before=${encodeURIComponent(n)}&limit=100`);if(!t.ok)throw Error(`HTTP ${t.status}`);let r=await t.json();if(this.hasMoreEvents[e]=r.hasMore,r.events.length>0){let e=al();for(let t of r.events)e._routeMessage(t)}return r.events.length>0}catch(e){return console.error(`[workspace store] fetchOlderEvents failed:`,e),!1}finally{this.loadingOlderEvents=!1}},selectSession(e){this.selectedSessionId=e,this.selectedWorkspaceId&&localStorage.setItem(`kobo:session:${this.selectedWorkspaceId}`,e)},async createSession(e){try{let t=await fetch(`/api/workspaces/${e}/sessions`,{method:`POST`});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error??`HTTP ${t.status}`)}let n=await t.json();return this.sessions.unshift(n),this.selectSession(n.id),n}catch(e){throw console.error(`[workspace store] createSession failed:`,e),e}},async renameWorkspace(e,t){let n=await fetch(`/api/workspaces/${e}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({name:t})});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error??`HTTP ${n.status}`)}let r=await n.json(),i=this.workspaces.findIndex(t=>t.id===e);i>=0&&(this.workspaces[i]={...this.workspaces[i],...r});let a=this.archivedWorkspaces.findIndex(t=>t.id===e);a>=0&&(this.archivedWorkspaces[a]={...this.archivedWorkspaces[a],...r})},async renameSession(e,t,n){let r=await fetch(`/api/workspaces/${e}/sessions/${t}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({name:n})});if(!r.ok){let e=await r.json().catch(()=>({}));throw Error(e.error??`HTTP ${r.status}`)}let i=await r.json().catch(()=>null),a=this.sessions.find(e=>e.id===t);a&&(a.name=i?.name??n)},addActivityItem(e,t){if(this.activityFeeds[e]||(this.activityFeeds[e]=[]),this.activityFeedIds[e]||(this.activityFeedIds[e]=new Set),this.activityCounts[e]||(this.activityCounts[e]={toolUses:0,agentMessages:0,userMessages:0,errors:0}),t.meta?.sender!==`user`&&t.meta?.sender!==`system-prompt`)for(let t of this.activityFeeds[e])t.meta?.pending&&(t.meta.pending=!1);if(!this.activityFeedIds[e].has(t.id)){this.activityFeedIds[e].add(t.id),this.activityFeeds[e].push(t);let n=this.activityCounts[e];t.type===`tool_use`?n.toolUses++:t.type===`error`&&n.errors++,t.meta?.sender===`user`?n.userMessages++:t.type===`text`&&t.meta?.sender!==`system-prompt`&&n.agentMessages++}let n=this.activityFeeds[e];if(n.length>Kc){let t=n.splice(0,n.length-Kc),r=this.activityFeedIds[e];for(let e of t)r.delete(e.id)}},removeActivityItem(e,t){let n=this.activityFeeds[e],r=this.activityFeedIds[e];if(!n||!r)return;let i=n.findIndex(e=>e.id===t);if(i<0)return;let[a]=n.splice(i,1);r.delete(t);let o=this.activityCounts[e];o&&a&&(a.type===`tool_use`?o.toolUses=Math.max(0,o.toolUses-1):a.type===`error`&&(o.errors=Math.max(0,o.errors-1)),a.meta?.sender===`user`?o.userMessages=Math.max(0,o.userMessages-1):a.type===`text`&&a.meta?.sender!==`system-prompt`&&(o.agentMessages=Math.max(0,o.agentMessages-1)))},clearActivityFeed(e){e?(delete this.activityFeeds[e],delete this.activityFeedIds[e],delete this.activityCounts[e]):(this.activityFeeds={},this.activityFeedIds={},this.activityCounts={})},applyUsageSnapshot(e){this.providerUsage[e.providerId]=e.snapshot},async requestUsageRefresh(e){try{await fetch(`/api/usage/${e}/refresh`,{method:`POST`})}catch(e){console.error(`[workspace store] requestUsageRefresh failed:`,e)}},triggerGitRefresh(){this.gitRefreshTrigger++,this.schedulePrSnapshotsRefresh()},schedulePrSnapshotsRefresh(){Jc!==null&&clearTimeout(Jc),Jc=setTimeout(()=>{Jc=null,this.fetchPrSnapshots()},qc)},async fetchPrSnapshots(){try{let e=await fetch(`/api/workspaces/pr-states`,{cache:`no-store`});if(!e.ok)return;let t=await e.json();this.prSnapshots=t}catch(e){console.error(`[workspace-store] fetchPrSnapshots failed:`,e)}},async fetchWorkspacesInfo(){try{let e=await fetch(`/api/workspaces/info`,{cache:`no-store`});if(!e.ok)return;let t=await e.json();this.workspaces=t.workspaces;for(let e of this.workspaces)[`completed`,`idle`,`error`,`quota`].includes(e.status)&&this.finalizeRunningSubagents(e.id);this.prSnapshots=t.prSnapshots;let n={...this.gitStatsCache};for(let[e,r]of Object.entries(t.gitStats)){let t=n[e];(!t||(r.computedAt??0)>=(t.computedAt??0))&&(n[e]=r)}this.gitStatsCache=n}catch(e){console.error(`[workspace-store] fetchWorkspacesInfo failed:`,e)}},async refreshPrSnapshot(e){try{let t=await fetch(`/api/workspaces/pr-snapshot/refresh/${e}`,{method:`POST`});if(t.status===404){let t={...this.prSnapshots};return delete t[e],this.prSnapshots=t,null}if(!t.ok)return console.error(`[workspace-store] refreshPrSnapshot non-OK:`,t.status),null;let n=await t.json();return this.prSnapshots={...this.prSnapshots,[e]:n.snapshot},n.snapshot}catch(e){return console.error(`[workspace-store] refreshPrSnapshot failed:`,e),null}},async fetchAutoLoopStates(){try{let e=await fetch(`/api/workspaces/auto-loop-states`,{cache:`no-store`});if(!e.ok)return;let t=await e.json();this.autoLoopStates=t}catch(e){console.error(`[workspace-store] fetchAutoLoopStates failed:`,e)}},async enableAutoLoop(e){let t=this.workspaces.find(t=>t.id===e);if(t&&t.agentPermissionMode===`plan`)try{await this.updateAgentPermissionMode(e,`bypass`)}catch{}let n=await fetch(`/api/workspaces/${e}/auto-loop`,{method:`POST`});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error??`HTTP ${n.status}`)}await this.fetchAutoLoopStates()},async disableAutoLoop(e){let t=await fetch(`/api/workspaces/${e}/auto-loop`,{method:`DELETE`});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error??`HTTP ${t.status}`)}await this.fetchAutoLoopStates()},async forceAutoLoopReady(e){let t=await fetch(`/api/workspaces/${e}/auto-loop-ready`,{method:`POST`});if(!t.ok)throw Error(`HTTP ${t.status}`);await this.fetchAutoLoopStates()},setAutoLoopState(e,t){this.autoLoopStates[e]=t},clearAutoLoopState(e){delete this.autoLoopStates[e]},async fetchCrons(e){try{let t=await fetch(`/api/workspaces/${e}/crons`);if(!t.ok)return;let n=await t.json();this.crons[e]=n.crons}catch(e){console.error(`[workspace-store] fetchCrons failed:`,e)}},async cancelCron(e,t){let n=this.crons[e]??[];this.crons[e]=n.filter(e=>e.id!==t);try{let n=await fetch(`/api/workspaces/${e}/crons/${t}`,{method:`DELETE`});if(!n.ok)throw Error(`HTTP ${n.status}`)}catch(t){throw this.crons[e]=n,t}},async createCron(e,t){let n=await fetch(`/api/workspaces/${e}/crons`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error??`HTTP ${n.status}`)}await this.fetchCrons(e)},async scheduleManualWakeup(e,t){let n=await fetch(`/api/workspaces/${e}/pending-wakeup`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error??`HTTP ${n.status}`)}let r=await n.json();r.pending&&(this.pendingWakeups[e]=r.pending)},async fetchPendingWakeup(e){try{let t=await fetch(`/api/workspaces/${e}/pending-wakeup`,{cache:`no-store`});if(!t.ok)return;let n=await t.json();n?this.pendingWakeups[e]=n:delete this.pendingWakeups[e]}catch(e){console.error(`[workspace-store] fetchPendingWakeup failed:`,e)}},setPendingWakeup(e,t){this.pendingWakeups[e]=t},clearPendingWakeup(e){delete this.pendingWakeups[e]},async cancelPendingWakeup(e){let t=this.pendingWakeups[e]!==void 0;delete this.pendingWakeups[e];try{let t=await fetch(`/api/workspaces/${e}/pending-wakeup`,{method:`DELETE`});if(!t.ok)throw Error(`HTTP ${t.status}`)}catch(n){console.error(`[workspace-store] cancelPendingWakeup failed:`,n),t&&await this.fetchPendingWakeup(e)}},async fetchPendingQuotaBackoff(e){try{let t=await fetch(`/api/workspaces/${e}/quota-backoff`,{cache:`no-store`});if(!t.ok)return;let n=await t.json();n?this.pendingQuotaBackoffs[e]=n:delete this.pendingQuotaBackoffs[e]}catch(e){console.error(`[workspace-store] fetchPendingQuotaBackoff failed:`,e)}},setPendingQuotaBackoff(e,t){this.pendingQuotaBackoffs[e]=t},clearPendingQuotaBackoff(e){delete this.pendingQuotaBackoffs[e]},async cancelQuotaBackoff(e){let t=this.pendingQuotaBackoffs[e]!==void 0;delete this.pendingQuotaBackoffs[e];try{let t=await fetch(`/api/workspaces/${e}/quota-backoff`,{method:`DELETE`});if(!t.ok)throw Error(`HTTP ${t.status}`)}catch(n){console.error(`[workspace-store] cancelQuotaBackoff failed:`,n),t&&await this.fetchPendingQuotaBackoff(e)}},enqueuePending(e,t){let n=this.pendingQueue[e]??[];n.some(e=>e.toolCallId===t.toolCallId)||(n.push(t),this.pendingQueue[e]=n,t.kind===`question`&&(this.pendingDeferred[e]={toolCallId:t.toolCallId,toolName:t.toolName,input:t.input,agentSessionId:t.agentSessionId}))},peekPending(e){return this.pendingQueue[e]?.[0]},dequeuePending(e){let t=this.pendingQueue[e];if(!t||t.length===0)return;let n=t.shift();t.length===0&&delete this.pendingQueue[e];let r=this.pendingQueue[e]?.[0];return r&&r.kind===`question`?this.pendingDeferred[e]={toolCallId:r.toolCallId,toolName:r.toolName,input:r.input,agentSessionId:r.agentSessionId}:delete this.pendingDeferred[e],n},clearPendingForSession(e,t){if(t===null)return;let n=this.pendingQueue[e];if(!n)return;let r=n.filter(e=>e.agentSessionId!==t);r.length===0?delete this.pendingQueue[e]:this.pendingQueue[e]=r;let i=this.pendingDeferred[e];i&&i.agentSessionId===t&&delete this.pendingDeferred[e]},clearAllPending(e){delete this.pendingQueue[e],delete this.pendingDeferred[e]},setPendingDeferred(e,t){this.enqueuePending(e,{kind:`question`,agentSessionId:t.agentSessionId,toolCallId:t.toolCallId,toolName:t.toolName,input:t.input})},clearPendingDeferred(e,t=null){if(t===null){this.clearAllPending(e);return}this.clearPendingForSession(e,t)},getPendingDeferred(e){let t=this.peekPending(e);if(!(!t||t.kind!==`question`))return{toolCallId:t.toolCallId,toolName:t.toolName,input:t.input,agentSessionId:t.agentSessionId}},async submitDeferredAnswer(e,t,n,r){let i=await fetch(`/api/workspaces/${e}/deferred-tool-use/answer`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({answers:t,toolCallId:n,awaitingFreeForm:r})});if(!i.ok){let t=(await i.json().catch(()=>({}))).error??`HTTP ${i.status}`;if(/no deferred tool use pending/i.test(t)){console.warn(`[workspace] submitDeferredAnswer: backend has no pending — clearing zombie panel locally`),this.dequeuePending(e),this.fetchWorkspaces();return}throw Error(t)}this.dequeuePending(e),this.fetchWorkspaces()},async cancelDeferredAnswer(e,t,n){let r=await fetch(`/api/workspaces/${e}/deferred-tool-use/cancel`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({reason:t,toolCallId:n})});if(!r.ok){let t=(await r.json().catch(()=>({}))).error??`HTTP ${r.status}`;if(/no deferred tool use pending/i.test(t)){console.warn(`[workspace] cancelDeferredAnswer: backend has no pending — clearing zombie panel locally`),this.dequeuePending(e),this.fetchWorkspaces();return}throw Error(t)}this.dequeuePending(e),this.fetchWorkspaces()},async submitDeferredPermission(e,t,n,r){let i=await fetch(`/api/workspaces/${e}/deferred-permission/decision`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({toolCallId:t,decision:n,reason:r})});if(!i.ok){let e=await i.json().catch(()=>({}));throw Error(e.error??`HTTP ${i.status}`)}this.dequeuePending(e),this.fetchWorkspaces()},updateAgentTodos(e,t){this.agentTodos[e]=t},agentTaskCreate(e,t,n){let r=this.agentTodos[e]?[...this.agentTodos[e]]:[];r.some(e=>e.id===t)||(r.push({id:t,content:n.subject||n.description||``,status:`pending`,activeForm:n.activeForm}),this.agentTodos[e]=r)},agentTaskSetNumber(e,t,n){let r=this.agentTodos[e];r&&(this.agentTodos[e]=r.map(e=>e.id===t?{...e,taskNumber:n}:e))},agentTaskUpdate(e,t,n){let r=this.agentTodos[e];if(r){if(n.status===`deleted`){this.agentTodos[e]=r.filter(e=>e.taskNumber!==t);return}this.agentTodos[e]=r.map(e=>e.taskNumber===t?{...e,status:n.status?Gc(n.status):e.status,content:n.content??e.content,activeForm:n.activeForm??e.activeForm}:e)}},finalizeRunningSubagents(e){let t=this.subagents[e];if(!t)return;let n=new Date().toISOString();for(let e of Object.keys(t)){let r=t[e];r.status===`running`&&(t[e]={...r,status:`done`,updatedAt:n})}},upsertSubagent(e,t){this.subagents[e]||(this.subagents[e]={});let n=this.subagents[e][t.toolUseId],r=new Date().toISOString(),i=n?.status===`done`?`done`:t.status??n?.status??`running`;this.subagents[e][t.toolUseId]={toolUseId:t.toolUseId,description:t.description??n?.description??``,taskType:t.taskType??n?.taskType,status:i,lastToolName:t.lastToolName??n?.lastToolName,lastDescription:t.lastDescription??n?.lastDescription,totalTokens:t.totalTokens??n?.totalTokens,toolUses:t.toolUses??n?.toolUses,durationMs:t.durationMs??n?.durationMs,startedAt:n?.startedAt??r,updatedAt:r}},async markRead(e){try{let t=await fetch(`/api/workspaces/${e}/mark-read`,{method:`POST`});if(!t.ok)throw Error(`HTTP ${t.status}`);let n=this.workspaces.findIndex(t=>t.id===e);n>=0&&(this.workspaces[n]={...this.workspaces[n],hasUnread:!1})}catch(e){console.error(`[workspace store] markRead failed:`,e)}},async purgeWorktree(e){try{let t=await fetch(`/api/workspaces/${e}/purge-worktree`,{method:`POST`}),n=await t.json();if(!t.ok)return{ok:!1,error:n.error??`HTTP ${t.status}`};let r=n.workspace;return r&&(this.updateWorkspaceFromEvent(e,{archivedAt:r.archivedAt,worktreePurgedAt:r.worktreePurgedAt,worktreePurgeRestoreData:r.worktreePurgeRestoreData}),r.archivedAt&&this.archivedLoaded&&(this.archivedWorkspaces.some(t=>t.id===e)||this.archivedWorkspaces.unshift(r),this.workspaces=this.workspaces.filter(t=>t.id!==e),this.selectedWorkspaceId===e&&(this.selectedWorkspaceId=null,this.tasks=[]))),{ok:!0,warnings:n.warnings??[]}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}},async dismissPrAttention(e,t){let n=this.prSnapshots[e];if(n)try{let r=await fetch(`/api/workspaces/${e}/dismiss-pr-attention`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({kind:t,prUpdatedAt:n.updatedAt})});if(!r.ok)throw Error(`HTTP ${r.status}`);let i=t===`changes-requested`?{prChangesDismissedAt:n.updatedAt}:{prCiFailureDismissedAt:n.updatedAt};this.updateWorkspaceFromEvent(e,i)}catch(e){console.error(`[workspace store] dismissPrAttention failed:`,e)}},async restorePrAttention(e,t){try{let n=await fetch(`/api/workspaces/${e}/restore-pr-attention`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({kind:t})});if(!n.ok)throw Error(`HTTP ${n.status}`);let r=t===`changes-requested`?{prChangesDismissedAt:null}:{prCiFailureDismissedAt:null};this.updateWorkspaceFromEvent(e,r)}catch(e){console.error(`[workspace store] restorePrAttention failed:`,e)}},queueMessage(e,t,n){this.queuedMessages[e]={content:t,sessionId:n}},cancelQueuedMessage(e){delete this.queuedMessages[e]},updateWorkspaceFromEvent(e,t){let n=this.workspaces.findIndex(t=>t.id===e);if(n>=0&&(this.workspaces[n]={...this.workspaces[n],...t}),t.status&&[`completed`,`idle`,`error`,`quota`].includes(t.status)){let n=this.activityFeeds[e];if(n)for(let e of n)e.meta?.pending&&(e.meta.pending=!1);let r=this.subagents[e];if(r)for(let[e,t]of Object.entries(r))t.status===`running`&&(r[e]={...t,status:`done`});let i=this.queuedMessages[e];(t.status===`completed`||t.status===`idle`)&&i&&(delete this.queuedMessages[e],al().sendChatMessage(e,i.content,i.sessionId),this.addActivityItem(e,{id:`user-${Date.now()}`,type:`text`,content:i.content,timestamp:new Date().toISOString(),sessionId:i.sessionId,meta:{sender:`user`,pending:!0}}))}}}}),Q=_c.global.t,Zc=null,Qc=null,$c=0,el=!1;function tl(e){el=e}function nl(e,t,n){if(t.kind!==`session:started`)return;let r=Xc();if(n){let t=r.peekPending(e);t&&t.agentSessionId===n&&r.dequeuePending(e)}let i=r.workspaces.find(t=>t.id===e);i&&(i.status===`completed`||i.status===`idle`||i.status===`error`||i.status===`quota`)&&r.updateWorkspaceFromEvent(e,{status:`executing`}),!el&&n&&r.selectedWorkspaceId===e&&r.selectedSessionId!==n&&r.fetchSessions(e,n).catch(e=>{console.error(`[websocket] fetchSessions on session:started failed:`,e)})}function rl(e,t){let n=Xc();if(t.kind===`tool:call`&&t.name===`TodoWrite`){let r=t.input?.todos;return Array.isArray(r)&&n.updateAgentTodos(e,r.map(e=>({content:typeof e.content==`string`?e.content:``,status:typeof e.status==`string`?e.status:`pending`,activeForm:typeof e.activeForm==`string`?e.activeForm:void 0}))),!0}if(t.kind===`tool:call`&&t.name===`TaskCreate`){let r=t.input??{};return n.agentTaskCreate(e,t.toolCallId,{subject:typeof r.subject==`string`?r.subject:void 0,description:typeof r.description==`string`?r.description:void 0,activeForm:typeof r.activeForm==`string`?r.activeForm:void 0}),!0}if(t.kind===`tool:result`&&typeof t.output==`string`){let r=t.output.match(/^Task #(\d+) created successfully/);if(r)return n.agentTaskSetNumber(e,t.toolCallId,Number(r[1])),!0}if(t.kind===`tool:call`&&t.name===`TaskUpdate`){let r=t.input??{},i=r.task_id??r.taskId??r.id,a=typeof i==`number`?i:typeof i==`string`?Number(i):NaN;return Number.isFinite(a)&&n.agentTaskUpdate(e,a,{status:typeof r.status==`string`?r.status:void 0,content:typeof r.subject==`string`?r.subject:void 0,activeForm:typeof r.activeForm==`string`?r.activeForm:void 0}),!0}return!1}function il(e,t,n,r,i){let a=vc();if(t.kind===`session:compacting`){a.setCompacting(e,t.active);return}a.append(e,t,n,r,i),(t.kind===`session:compacted`||t.kind===`session:ended`||t.kind===`message:text`||t.kind===`tool:call`)&&a.setCompacting(e,!1),nl(e,t,i??void 0);let o=Xc();if(t.kind===`session:user-input-requested`){if(t.requestKind===`question`?o.enqueuePending(e,{kind:`question`,agentSessionId:i??null,toolCallId:t.toolCallId,toolName:t.toolName,input:t.payload}):o.enqueuePending(e,{kind:`permission`,agentSessionId:i??null,toolCallId:t.toolCallId,toolName:t.toolName,toolInput:t.payload}),o.updateWorkspaceFromEvent(e,{status:`awaiting-user`}),!el){let n=o.workspaces.find(t=>t.id===e)?.name??``;Nc(t.requestKind===`question`?Q(`notification.agentQuestion`,{name:n}):Q(`notification.agentPermissionRequest`,{name:n}),void 0,e,t.requestKind===`question`?xc().global.audioQuestionSound:void 0)}return}if(t.kind===`subagent:progress`){o.upsertSubagent(e,{toolUseId:t.toolCallId,status:t.status,description:t.description,taskType:t.taskType,lastToolName:t.lastToolName,totalTokens:t.totalTokens,toolUses:t.toolUses,durationMs:t.durationMs});return}if(!rl(e,t)){if(t.kind===`tool:call`&&t.name===`Bash`){let n=t.input,r=`${n?.command??``} ${n?.description??``}`;/\bgit\b|commit|push|pull|merge|rebase|checkout|branch/i.test(r)&&o.triggerGitRefresh(),/\bgit\s+branch\s+-m\b/i.test(r)&&setTimeout(()=>{o.resyncWorkspaceBranch(e).catch(e=>{console.error(`[websocket] Branch resync failed:`,e)})},2500),/\bgh\s+pr\s+create\b/i.test(r)&&setTimeout(()=>o.triggerGitRefresh(),3e3)}if(t.kind===`tool:call`&&t.name===`ExitPlanMode`&&o.workspaces.find(t=>t.id===e)?.agentPermissionMode===`plan`&&(o.updateWorkspaceFromEvent(e,{agentPermissionMode:`bypass`}),o.updateAgentPermissionMode(e,`bypass`).catch(e=>{console.error(`[websocket] failed to persist ExitPlanMode flip:`,e)})),t.kind!==`session:started`){if(t.kind===`session:ended`){i&&o.clearPendingForSession(e,i);let n=o.workspaces.find(t=>t.id===e)?.status===`quota`?`quota`:t.reason===`completed`?`completed`:t.reason===`error`?`error`:`idle`;if(o.updateWorkspaceFromEvent(e,{status:n}),o.finalizeRunningSubagents(e),o.fetchWorkspaces(),!el&&t.reason!==`killed`&&o.autoLoopStates[e]?.auto_loop!==!0){let n=o.workspaces.find(t=>t.id===e)?.name??``;Nc(t.reason===`error`?Q(`notification.agentError`,{name:n}):Q(`notification.agentFinished`,{name:n}),void 0,e)}return}t.kind===`error`&&t.category===`quota`&&(o.updateWorkspaceFromEvent(e,{status:`quota`}),o.fetchWorkspaces())}}}var al=Oe(`websocket`,{state:()=>({connected:!1,lastEventId:null,_replaying:!1}),actions:{connect(){if(Zc)return;let e=Is(`${window.location.protocol===`https:`?`wss:`:`ws:`}//${window.location.host}/ws`,Ns()),t=new WebSocket(e);Zc=t,t.addEventListener(`open`,()=>{this.connected=!0,$c=0;let e=Xc().workspaces.map(e=>e.id);for(let t of e)this._send({type:`subscribe`,payload:{workspaceId:t}});this.lastEventId&&this._send({type:`sync:request`,payload:{lastEventId:this.lastEventId,workspaceIds:e}})}),t.addEventListener(`message`,e=>{try{let t=JSON.parse(e.data);this._routeMessage(t)}catch{}}),t.addEventListener(`close`,()=>{this.connected=!1,Zc=null,this._scheduleReconnect()}),t.addEventListener(`error`,()=>{})},disconnect(){Qc&&=(clearTimeout(Qc),null),Zc&&=(Zc.close(),null),this.connected=!1},subscribe(e){this._send({type:`subscribe`,payload:{workspaceId:e}}),this._send({type:`sync:request`,payload:{workspaceIds:[e]}})},unsubscribe(e){this._send({type:`unsubscribe`,payload:{workspaceId:e}})},sendChatMessage(e,t,n,r){this._send({type:`chat:message`,payload:{workspaceId:e,content:t,sessionId:n,agentPermissionModeOverride:r}}),/^\/compact(\s|$)/.test(t.trim())&&vc().setCompacting(e,!0);let i=Xc(),a=i.workspaces.find(t=>t.id===e);a&&(a.status===`completed`||a.status===`idle`||a.status===`error`||a.status===`quota`)&&i.updateWorkspaceFromEvent(e,{status:`executing`})},_send(e){Zc&&Zc.readyState===WebSocket.OPEN&&Zc.send(JSON.stringify(e))},isConnected(){return Zc!==null&&Zc.readyState===WebSocket.OPEN},_scheduleReconnect(){if(Qc)return;let e=Math.min(1e3*2**$c,3e4);$c++,$c===4&&Ns()&&Rs(),Qc=setTimeout(()=>{Qc=null,this.connect()},e)},_routeMessage(e){let t=Xc();e.id?this.lastEventId=e.id:e.eventId&&(this.lastEventId=e.eventId);let n=e.payload??{},r=e.workspaceId??n.workspaceId??``;switch(e.type){case`agent:event`:{if(!r)break;let t=e.createdAt;il(r,n,t,e.id??e.eventId,e.sessionId??null);break}case`agent:progress`:n.tasks&&Array.isArray(n.tasks)&&(t.tasks=n.tasks);break;case`user:message`:if(r&&n.content){let i=n.content,a=n.sender??`user`,o=e.sessionId,s=e.id??e.eventId??`user-${Date.now()}`,c=e.createdAt??new Date().toISOString(),l=t.activityFeeds[r]??[];if(a===`user`&&l.some(e=>e.meta?.sender===`user`&&e.content===i&&e.meta?.pending)){let e=l.findIndex(e=>e.meta?.sender===`user`&&e.content===i&&e.meta?.pending);e>=0&&(l[e]={...l[e],id:s,sessionId:o})}else t.addActivityItem(r,{id:s,type:`text`,content:i,timestamp:c,sessionId:o,meta:{sender:a}})}break;case`sync:response`:this._replaying=!0,tl(!0);try{let e=n.events??[],t=new Map;for(let n of e)if(n.type!==`sync:response`){if(n.type===`agent:event`&&n.workspaceId){let e=t.get(n.workspaceId)??{events:[],timestamps:[],sessionIds:[],eventIds:[],oldestId:void 0};e.events.push(n.payload),e.timestamps.push(n.createdAt),e.sessionIds.push(n.sessionId??null),e.eventIds.push(n.id??null),e.oldestId||=n.id,t.set(n.workspaceId,e);continue}this._routeMessage(n)}if(t.size>0){let e=vc();for(let[n,{events:r,timestamps:i,sessionIds:a,eventIds:o,oldestId:s}]of t){e.reset(n,r,i,{oldestId:s,hasMoreOlder:!0,sessionIds:a,eventIds:o}),Xc().updateAgentTodos(n,[]);for(let e=0;e<r.length;e++){let t=r[e];if(!t)continue;let i=a[e]??null;if(t.kind===`session:user-input-requested`){t.requestKind===`question`?Xc().enqueuePending(n,{kind:`question`,agentSessionId:i,toolCallId:t.toolCallId,toolName:t.toolName,input:t.payload}):Xc().enqueuePending(n,{kind:`permission`,agentSessionId:i,toolCallId:t.toolCallId,toolName:t.toolName,toolInput:t.payload});continue}if(t.kind===`session:started`){if(i){let e=Xc(),t=e.peekPending(n);t&&t.agentSessionId===i&&e.dequeuePending(n)}continue}if(t.kind===`session:ended`){i&&Xc().clearPendingForSession(n,i);continue}if(t.kind===`subagent:progress`){Xc().upsertSubagent(n,{toolUseId:t.toolCallId,status:t.status,description:t.description,taskType:t.taskType,lastToolName:t.lastToolName,totalTokens:t.totalTokens,toolUses:t.toolUses,durationMs:t.durationMs});continue}rl(n,t)}}}}finally{this._replaying=!1,tl(!1)}break;case`usage:snapshot`:{let e=n;e.providerId&&e.snapshot&&t.applyUsageSnapshot({providerId:e.providerId,snapshot:e.snapshot});break}case`devserver:status`:{let e=Pc();r&&e.updateFromWsEvent(r,n);break}case`task:updated`:r&&t.fetchWorkspaceDetails(r);break;case`setup:output`:t.addActivityItem(r,{id:e.id??`setup-${Date.now()}`,type:`text`,content:e.payload?.text??``,timestamp:e.createdAt??new Date().toISOString(),meta:{sender:`setup`}});break;case`setup:complete`:t.addActivityItem(r,{id:e.id??`setup-complete-${Date.now()}`,type:`text`,content:e.payload?.hadOutput===!1?Q(`chat.scriptDone`):`[setup] Complete`,timestamp:e.createdAt??new Date().toISOString(),meta:{sender:`setup`}});break;case`setup:error`:t.addActivityItem(r,{id:e.id??`setup-error-${Date.now()}`,type:`text`,content:`[setup] Error: ${e.payload?.message??`unknown`}`,timestamp:e.createdAt??new Date().toISOString(),meta:{sender:`setup`}});break;case`cleanup:output`:t.addActivityItem(r,{id:e.id??`cleanup-${Date.now()}`,type:`text`,content:e.payload?.text??``,timestamp:e.createdAt??new Date().toISOString(),meta:{sender:`cleanup`}});break;case`cleanup:complete`:t.addActivityItem(r,{id:e.id??`cleanup-complete-${Date.now()}`,type:`text`,content:e.payload?.hadOutput===!1?Q(`chat.scriptDone`):`[cleanup] Complete`,timestamp:e.createdAt??new Date().toISOString(),meta:{sender:`cleanup`}});break;case`cleanup:error`:t.addActivityItem(r,{id:e.id??`cleanup-error-${Date.now()}`,type:`text`,content:`[cleanup] Error: ${e.payload?.message??`unknown`}`,timestamp:e.createdAt??new Date().toISOString(),meta:{sender:`cleanup`}});break;case`archive:output`:t.addActivityItem(r,{id:e.id??`archive-${Date.now()}`,type:`text`,content:e.payload?.text??``,timestamp:e.createdAt??new Date().toISOString(),meta:{sender:`archive`}});break;case`archive:complete`:t.addActivityItem(r,{id:e.id??`archive-complete-${Date.now()}`,type:`text`,content:e.payload?.hadOutput===!1?Q(`chat.scriptDone`):`[archive] Complete`,timestamp:e.createdAt??new Date().toISOString(),meta:{sender:`archive`}});break;case`archive:error`:t.addActivityItem(r,{id:e.id??`archive-error-${Date.now()}`,type:`text`,content:`[archive] Error: ${e.payload?.message??`unknown`}`,timestamp:e.createdAt??new Date().toISOString(),meta:{sender:`archive`}});break;case`workspace:unread`:if(r){let e=n.hasUnread??!1;t.updateWorkspaceFromEvent(r,{hasUnread:e})}break;case`workspace:pr-attention-dismissed`:if(r){let e=n.kind,i=n.prUpdatedAt;e&&i&&t.updateWorkspaceFromEvent(r,e===`changes-requested`?{prChangesDismissedAt:i}:{prCiFailureDismissedAt:i})}break;case`workspace:description-updated`:{if(!r)break;let e=n.description??null;t.updateWorkspaceFromEvent(r,{description:e});break}case`workspace:agent-description-updated`:{if(!r)break;let e=n.agentDescription??null;t.updateWorkspaceFromEvent(r,{agentDescription:e});break}case`cron:created`:{if(!r)break;let e=n.cron;if(!e)break;let i=t.crons[r]??[];i.some(t=>t.id===e.id)||(t.crons[r]=[...i,e]);let a=t.autoLoopStates[r];a&&(a.crons_count=t.crons[r].length);break}case`cron:fired`:{if(!r)break;let e=n,i=t.crons[r]??[];t.crons[r]=i.map(t=>t.id===e.id?{...t,nextFireAt:e.nextFireAt??t.nextFireAt,lastFiredAt:e.lastFiredAt??new Date().toISOString()}:t);break}case`cron:cancelled`:{if(!r)break;let e=n.id;if(!e)break;t.crons[r]=(t.crons[r]??[]).filter(t=>t.id!==e);let i=t.autoLoopStates[r];i&&(i.crons_count=t.crons[r].length);break}case`cron:updated`:{if(!r)break;let e=n.crons;if(Array.isArray(e)){t.crons[r]=e;let n=t.autoLoopStates[r];n&&(n.crons_count=e.length)}break}case`workspace:archived`:case`workspace:unarchived`:case`workspace:worktree-restored`:e.type===`workspace:archived`&&r&&t.selectedWorkspaceId===r&&(t.selectedWorkspaceId=null),t.fetchWorkspaces(),t.archivedLoaded&&t.fetchArchivedWorkspaces();break;case`pr:base-changed`:{if(!r)break;let e=n,i=e.oldBase??``,a=e.newBase??``;t.updateWorkspaceFromEvent(r,{sourceBranch:a});let o=[];e.prUrl&&o.push({label:Q(`pr.openPr`),color:`white`,noDismiss:!0,handler:()=>window.open(e.prUrl,`_blank`)}),o.push({label:Q(`pr.dismiss`),color:`white`}),sc.create({type:`info`,position:`top`,timeout:0,message:Q(`pr.baseChanged`,{oldBase:i,newBase:a}),actions:o}),Nc(Q(`pr.baseChanged`,{oldBase:i,newBase:a}),void 0,r);break}case`pr:changes-requested`:{if(!r)break;let e=n,i=Q(`toast.prChangesRequested`,{n:e.prNumber??0}),a=[];e.prUrl&&a.push({label:Q(`pr.openPr`),color:`white`,noDismiss:!0,handler:()=>window.open(e.prUrl,`_blank`)}),a.push({label:Q(`pr.openWorkspace`),color:`white`,noDismiss:!0,handler:()=>{window.location.hash=`#/workspace/${r}`}}),a.push({label:Q(`pr.dismiss`),color:`white`}),sc.create({type:`warning`,position:`top`,timeout:0,message:i,actions:a}),Nc(i,void 0,r),t.refreshPrSnapshot(r);break}case`pr:approved`:{if(!r)break;let e=Q(`toast.prApproved`,{n:n.prNumber??0});sc.create({type:`positive`,position:`top`,timeout:5e3,message:e}),Nc(e,void 0,r),t.refreshPrSnapshot(r);break}case`pr:ready-to-merge`:{if(!r)break;let e=Q(`toast.prReadyToMerge`,{n:n.prNumber??0});sc.create({type:`positive`,position:`top`,timeout:5e3,message:e}),Nc(e,void 0,r),t.refreshPrSnapshot(r);break}case`wakeup:scheduled`:if(r){let e=n;typeof e.targetAt==`string`&&t.setPendingWakeup(r,{targetAt:e.targetAt,reason:e.reason})}break;case`wakeup:cancelled`:case`wakeup:fired`:case`wakeup:skipped`:r&&t.clearPendingWakeup(r);break;case`agent:quota-backoff`:{if(!r)break;let e=n;typeof e.targetAt==`string`&&typeof e.source==`string`&&t.setPendingQuotaBackoff(r,{targetAt:e.targetAt,resetsAt:e.resetsAt??null,source:e.source});break}case`agent:quota-backoff-cancelled`:r&&t.clearPendingQuotaBackoff(r);break;case`autoloop:enabled`:case`autoloop:iteration-started`:case`autoloop:ready-flipped`:t.fetchAutoLoopStates();break;case`autoloop:permission-overridden`:r&&Nc(Q(`notification.autoLoopPermissionOverridden`,{name:t.workspaces.find(e=>e.id===r)?.name??``}),void 0,r);break;case`autoloop:disabled`:if(t.fetchAutoLoopStates(),r){let e=n?.reason,i=t.workspaces.find(e=>e.id===r)?.name??``,a=e===`error`?`notification.autoLoopError`:e===`stall`?`notification.autoLoopStalled`:e===`completed`?`notification.autoLoopCompleted`:e===`awaiting-clarification`?`notification.autoLoopAwaitingClarification`:null;a&&Nc(Q(a,{name:i}),void 0,r)}break;case`migration:progress`:case`migration:error`:Yn().update(n);break}}}}),ol=d({__name:`App`,setup(e){let t=al(),n=Us();return r(()=>{t.connect(),n.fetchTemplates(),Ac()}),a(()=>{t.disconnect()}),(e,t)=>{let n=m(`router-view`);return u(),y(x,null,[b(n),b(Zo),b(Hs)],64)}}});function sl(e){return e}function cl(e){return e}function ll(e){return e}var ul=ll(()=>Ae()),dl=typeof document<`u`;function fl(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function pl(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&fl(e.default)}var $=Object.assign;function ml(e,t){let n={};for(let r in t){let i=t[r];n[r]=gl(i)?i.map(e):e(i)}return n}var hl=()=>{},gl=Array.isArray;function _l(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}var vl=Symbol(``);function yl(e,t){return $(Error(),{type:e,[vl]:!0},t)}function bl(e,t){return e instanceof Error&&vl in e&&(t==null||!!(e.type&t))}var xl=Symbol(``),Sl=Symbol(``),Cl=Symbol(``),wl=Symbol(``),Tl=Symbol(``);function El(){return n(Cl)}function Dl(e){return n(wl)}var Ol=/#/g,kl=/&/g,Al=/\//g,jl=/=/g,Ml=/\?/g,Nl=/\+/g,Pl=/%5B/g,Fl=/%5D/g,Il=/%5E/g,Ll=/%60/g,Rl=/%7B/g,zl=/%7C/g,Bl=/%7D/g,Vl=/%20/g;function Hl(e){return e==null?``:encodeURI(``+e).replace(zl,`|`).replace(Pl,`[`).replace(Fl,`]`)}function Ul(e){return Hl(e).replace(Rl,`{`).replace(Bl,`}`).replace(Il,`^`)}function Wl(e){return Hl(e).replace(Nl,`%2B`).replace(Vl,`+`).replace(Ol,`%23`).replace(kl,`%26`).replace(Ll,"`").replace(Rl,`{`).replace(Bl,`}`).replace(Il,`^`)}function Gl(e){return Wl(e).replace(jl,`%3D`)}function Kl(e){return Hl(e).replace(Ol,`%23`).replace(Ml,`%3F`)}function ql(e){return Kl(e).replace(Al,`%2F`)}function Jl(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var Yl=/\/$/,Xl=e=>e.replace(Yl,``);function Zl(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=au(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:Jl(o)}}function Ql(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function $l(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function eu(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&tu(t.matched[r],n.matched[i])&&nu(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function tu(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function nu(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!ru(e[n],t[n]))return!1;return!0}function ru(e,t){return gl(e)?iu(e,t):gl(t)?iu(t,e):(e&&e.valueOf())===(t&&t.valueOf())}function iu(e,t){return gl(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function au(e,t){if(e.startsWith(`/`))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o<r.length;o++)if(s=r[o],s!==`.`)if(s===`..`)a>1&&a--;else break;return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}var ou={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0};function su(e){if(!e)if(dl){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^/]+/,``)}else e=`/`;return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),Xl(e)}var cu=/^[^#]+#/;function lu(e,t){return e.replace(cu,`#`)+t}function uu(e,t){let n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}var du=()=>({left:window.scrollX,top:window.scrollY});function fu(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`),i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=uu(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function pu(e,t){return(history.state?history.state.position-t:-1)+e}var mu=new Map;function hu(e,t){mu.set(e,t)}function gu(e){let t=mu.get(e);return mu.delete(e),t}function _u(e){return typeof e==`string`||e&&typeof e==`object`}function vu(e){return typeof e==`string`||typeof e==`symbol`}function yu(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;e<n.length;++e){let r=n[e].replace(Nl,` `),i=r.indexOf(`=`),a=Jl(i<0?r:r.slice(0,i)),o=i<0?null:Jl(r.slice(i+1));if(a in t){let e=t[a];gl(e)||(e=t[a]=[e]),e.push(o)}else t[a]=o}return t}function bu(e){let t=``;for(let n in e){let r=e[n];if(n=Gl(n),r==null){r!==void 0&&(t+=(t.length?`&`:``)+n);continue}(gl(r)?r.map(e=>e&&Wl(e)):[r&&Wl(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function xu(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=gl(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}function Su(){let e=[];function t(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Cu(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let l=e=>{e===!1?c(yl(4,{from:n,to:t})):e instanceof Error?c(e):_u(e)?c(yl(2,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},u=a(()=>e.call(r&&r.instances[i],t,n,l)),d=Promise.resolve(u);e.length<3&&(d=d.then(l)),d.catch(e=>c(e))})}function wu(e,t,n,r,i=e=>e()){let a=[];for(let o of e)for(let e in o.components){let s=o.components[e];if(!(t!==`beforeRouteEnter`&&!o.instances[e]))if(fl(s)){let c=(s.__vccOpts||s)[t];c&&a.push(Cu(c,n,r,o,e,i))}else{let c=s();a.push(()=>c.then(a=>{if(!a)throw Error(`Couldn't resolve component "${e}" at "${o.path}"`);let s=pl(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&Cu(c,n,r,o,e,i)()}))}}return a}function Tu(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;o<a;o++){let a=t.matched[o];a&&(e.matched.find(e=>tu(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>tu(e,s))||i.push(s))}return[n,r,i]}var Eu=()=>location.protocol+`//`+location.host;function Du(e,t){let{pathname:n,search:r,hash:i}=t,a=e.indexOf(`#`);if(a>-1){let t=i.includes(e.slice(a))?e.slice(a).length:1,n=i.slice(t);return n[0]!==`/`&&(n=`/`+n),$l(n,``)}return $l(n,e)+r+i}function Ou(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=Du(e,location),c=n.value,l=t.value,u=0;if(a){if(n.value=s,t.value=a,o&&o===c){o=null;return}u=l?a.position-l.position:0}else r(s);i.forEach(e=>{e(n.value,c,{delta:u,type:`pop`,direction:u?u>0?`forward`:`back`:``})})};function c(){o=n.value}function l(e){i.push(e);let t=()=>{let t=i.indexOf(e);t>-1&&i.splice(t,1)};return a.push(t),t}function u(){if(document.visibilityState===`hidden`){let{history:e}=window;if(!e.state)return;e.replaceState($({},e.state,{scroll:du()}),``)}}function d(){for(let e of a)e();a=[],window.removeEventListener(`popstate`,s),window.removeEventListener(`pagehide`,u),document.removeEventListener(`visibilitychange`,u)}return window.addEventListener(`popstate`,s),window.addEventListener(`pagehide`,u),document.addEventListener(`visibilitychange`,u),{pauseListeners:c,listen:l,destroy:d}}function ku(e,t,n,r=!1,i=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:i?du():null}}function Au(e){let{history:t,location:n}=window,r={value:Du(e,n)},i={value:t.state};i.value||a(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(r,a,o){let s=e.indexOf(`#`),c=s>-1?(n.host&&document.querySelector(`base`)?e:e.slice(s))+r:Eu()+e+r;try{t[o?`replaceState`:`pushState`](a,``,c),i.value=a}catch(e){console.error(e),n[o?`replace`:`assign`](c)}}function o(e,n){a(e,$({},t.state,ku(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),r.value=e}function s(e,n){let o=$({},i.value,t.state,{forward:e,scroll:du()});a(o.current,o,!0),a(e,$({},ku(r.value,e,null),{position:o.position+1},n),!1),r.value=e}return{location:r,state:i,push:s,replace:o}}function ju(e){e=su(e);let t=Au(e),n=Ou(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=$({location:``,base:e,go:r,createHref:lu.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}function Mu(e){return e=location.host?e||location.pathname+location.search:``,e.includes(`#`)||(e+=`#`),ju(e)}var Nu={type:0,value:``},Pu=/[a-zA-Z0-9_]/;function Fu(e){if(!e)return[[]];if(e===`/`)return[[Nu]];if(!e.startsWith(`/`))throw Error(`Invalid path "${e}"`);function t(e){throw Error(`ERR (${n})/"${l}": ${e}`)}let n=0,r=n,i=[],a;function o(){a&&i.push(a),a=[]}let s=0,c,l=``,u=``;function d(){l&&=(n===0?a.push({type:0,value:l}):n===1||n===2||n===3?(a.length>1&&(c===`*`||c===`+`)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),a.push({type:1,value:l,regexp:u,repeatable:c===`*`||c===`+`,optional:c===`*`||c===`?`})):t(`Invalid state to consume buffer`),``)}function f(){l+=c}for(;s<e.length;)switch(c=e[s++],n){case 0:c===`\\`?(r=n,n=4):c===`/`?(l&&d(),o()):c===`:`?(d(),n=1):f();break;case 4:f(),n=r;break;case 1:c===`(`?n=2:Pu.test(c)?f():(d(),n=0,c!==`*`&&c!==`?`&&c!==`+`&&s--);break;case 2:c===`)`?u[u.length-1]==`\\`?u=u.slice(0,-1)+c:n=3:u+=c;break;case 3:d(),n=0,c!==`*`&&c!==`?`&&c!==`+`&&s--,u=``;break;default:t(`Unknown state`);break}return n===2&&t(`Unfinished custom RegExp for param "${l}"`),d(),o(),i}var Iu=`[^/]+?`,Lu={sensitive:!1,strict:!1,start:!0,end:!0},Ru=/[.+*?^${}()[\]/\\]/g;function zu(e,t){let n=$({},Lu,t),r=[],i=n.start?`^`:``,a=[];for(let t of e){let e=t.length?[]:[90];n.strict&&!t.length&&(i+=`/`);for(let r=0;r<t.length;r++){let o=t[r],s=40+(n.sensitive?.25:0);if(o.type===0)r||(i+=`/`),i+=o.value.replace(Ru,`\\$&`),s+=40;else if(o.type===1){let{value:e,repeatable:n,optional:c,regexp:l}=o;a.push({name:e,repeatable:n,optional:c});let u=l||Iu;if(u!==Iu){s+=10;try{RegExp(`(${u})`)}catch(t){throw Error(`Invalid custom RegExp for param "${e}" (${u}): `+t.message)}}let d=n?`((?:${u})(?:/(?:${u}))*)`:`(${u})`;r||(d=c&&t.length<2?`(?:/${d})`:`/`+d),c&&(d+=`?`),i+=d,s+=20,c&&(s+=-8),n&&(s+=-20),u===`.*`&&(s+=-50)}e.push(s)}r.push(e)}if(n.strict&&n.end){let e=r.length-1;r[e][r[e].length-1]+=.7000000000000001}n.strict||(i+=`/?`),n.end?i+=`$`:n.strict&&!i.endsWith(`/`)&&(i+=`(?:/|$)`);let o=new RegExp(i,n.sensitive?``:`i`);function s(e){let t=e.match(o),n={};if(!t)return null;for(let e=1;e<t.length;e++){let r=t[e]||``,i=a[e-1];n[i.name]=r&&i.repeatable?r.split(`/`):r}return n}function c(t){let n=``,r=!1;for(let i of e){(!r||!n.endsWith(`/`))&&(n+=`/`),r=!1;for(let e of i)if(e.type===0)n+=e.value;else if(e.type===1){let{value:a,repeatable:o,optional:s}=e,c=a in t?t[a]:``;if(gl(c)&&!o)throw Error(`Provided param "${a}" is an array but it is not repeatable (* or + modifiers)`);let l=gl(c)?c.join(`/`):c;if(!l)if(s)i.length<2&&(n.endsWith(`/`)?n=n.slice(0,-1):r=!0);else throw Error(`Missing required param "${a}"`);n+=l}}return n||`/`}return{re:o,score:r,keys:a,parse:s,stringify:c}}function Bu(e,t){let n=0;for(;n<e.length&&n<t.length;){let r=t[n]-e[n];if(r)return r;n++}return e.length<t.length?e.length===1&&e[0]===80?-1:1:e.length>t.length?t.length===1&&t[0]===80?1:-1:0}function Vu(e,t){let n=0,r=e.score,i=t.score;for(;n<r.length&&n<i.length;){let e=Bu(r[n],i[n]);if(e)return e;n++}if(Math.abs(i.length-r.length)===1){if(Hu(r))return 1;if(Hu(i))return-1}return i.length-r.length}function Hu(e){let t=e[e.length-1];return e.length>0&&t[t.length-1]<0}var Uu={strict:!1,end:!0,sensitive:!1};function Wu(e,t,n){let r=$(zu(Fu(e.path),n),{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function Gu(e,t){let n=[],r=new Map;t=_l(Uu,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=qu(e);s.aliasOf=r&&r.record;let l=_l(t,e),u=[s];if(`alias`in e){let t=typeof e.alias==`string`?[e.alias]:e.alias;for(let e of t)u.push(qu($({},s,{components:r?r.record.components:s.components,path:e,aliasOf:r?r.record:s})))}let d,f;for(let t of u){let{path:u}=t;if(n&&u[0]!==`/`){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(u&&r+u)}if(d=Wu(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!Yu(d)&&o(e.name)),$u(d)&&c(d),s.children){let e=s.children;for(let t=0;t<e.length;t++)a(e[t],d,r&&r.children[t])}r||=d}return f?()=>{o(f)}:hl}function o(e){if(vu(e)){let t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{let t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function s(){return n}function c(e){let t=Zu(e,n);n.splice(t,0,e),e.record.name&&!Yu(e)&&r.set(e.record.name,e)}function l(e,t){let i,a={},o,s;if(`name`in e&&e.name){if(i=r.get(e.name),!i)throw yl(1,{location:e});s=i.record.name,a=$(Ku(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&Ku(e.params,i.keys.map(e=>e.name))),o=i.stringify(a)}else if(e.path!=null)o=e.path,i=n.find(e=>e.re.test(o)),i&&(a=i.parse(o),s=i.record.name,i.keys.forEach(e=>{e.optional&&!a[e.name]&&delete a[e.name]}));else{if(i=t.name?r.get(t.name):n.find(e=>e.re.test(t.path)),!i)throw yl(1,{location:e,currentLocation:t});s=i.record.name,a=$({},t.params,e.params),o=i.stringify(a)}let c=[],l=i;for(;l;)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:Xu(c)}}e.forEach(e=>a(e));function u(){n.length=0,r.clear()}return{addRoute:a,resolve:l,removeRoute:o,clearRoutes:u,getRoutes:s,getRecordMatcher:i}}function Ku(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function qu(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Ju(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:`components`in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Ju(e){let t={},n=e.props||!1;if(`component`in e)t.default=n;else for(let r in e.components)t[r]=typeof n==`object`?n[r]:n;return t}function Yu(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Xu(e){return e.reduce((e,t)=>$(e,t.meta),{})}function Zu(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;Vu(e,t[i])<0?r=i:n=i+1}let i=Qu(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function Qu(e){let t=e;for(;t=t.parent;)if($u(t)&&Vu(e,t)===0)return t}function $u({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function ed(e){let t=n(Cl),r=n(wl),i=N(()=>{let n=k(e.to);return t.resolve(n)}),a=N(()=>{let{matched:e}=i.value,{length:t}=e,n=e[t-1],a=r.matched;if(!n||!a.length)return-1;let o=a.findIndex(tu.bind(null,n));if(o>-1)return o;let s=ad(e[t-2]);return t>1&&ad(n)===s&&a[a.length-1].path!==s?a.findIndex(tu.bind(null,e[t-2])):o}),o=N(()=>a.value>-1&&id(r.params,i.value.params)),s=N(()=>a.value>-1&&a.value===r.matched.length-1&&nu(r.params,i.value.params));function c(n={}){if(rd(n)){let n=t[k(e.replace)?`replace`:`push`](k(e.to)).catch(hl);return e.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>n),n}return Promise.resolve()}return{route:i,href:N(()=>i.value.href),isActive:o,isExactActive:s,navigate:c}}function td(e){return e.length===1?e[0]:e}var nd=d({name:`RouterLink`,compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:`page`},viewTransition:Boolean},useLink:ed,setup(e,{slots:t}){let r=l(ed(e)),{options:i}=n(Cl),a=N(()=>({[od(e.activeClass,i.linkActiveClass,`router-link-active`)]:r.isActive,[od(e.exactActiveClass,i.linkExactActiveClass,`router-link-exact-active`)]:r.isExactActive}));return()=>{let n=t.default&&td(t.default(r));return e.custom?n:f(`a`,{"aria-current":r.isExactActive?e.ariaCurrentValue:null,href:r.href,onClick:r.navigate,class:a.value},n)}}});function rd(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute(`target`);if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function id(e,t){for(let n in t){let r=t[n],i=e[n];if(typeof r==`string`){if(r!==i)return!1}else if(!gl(i)||i.length!==r.length||r.some((e,t)=>e.valueOf()!==i[t].valueOf()))return!1}return!0}function ad(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var od=(e,t,n)=>e??t??n,sd=d({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(t,{attrs:r,slots:i}){let a=n(Tl),o=N(()=>t.route||a.value),s=n(Sl,0),c=N(()=>{let e=k(s),{matched:t}=o.value,n;for(;(n=t[e])&&!n.components;)e++;return e}),l=N(()=>o.value.matched[c.value]);oe(Sl,N(()=>c.value+1)),oe(xl,l),oe(Tl,o);let u=e();return p(()=>[u.value,l.value,t.name],([e,t,n],[r,i,a])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),e&&t&&(!i||!tu(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let e=o.value,n=t.name,a=l.value,s=a&&a.components[n];if(!s)return cd(i.default,{Component:s,route:e});let c=a.props[n],d=f(s,$({},c?c===!0?e.params:typeof c==`function`?c(e):c:null,r,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(a.instances[n]=null)},ref:u}));return cd(i.default,{Component:d,route:e})||d}}});function cd(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var ld=sd;function ud(e){let t=Gu(e.routes,e),n=e.parseQuery||yu,r=e.stringifyQuery||bu,i=e.history,a=Su(),o=Su(),s=Su(),c=ae(ou),l=ou;dl&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let u=ml.bind(null,e=>``+e),d=ml.bind(null,ql),f=ml.bind(null,Jl);function p(e,n){let r,i;return vu(e)?(r=t.getRecordMatcher(e),i=n):i=e,t.addRoute(i,r)}function m(e){let n=t.getRecordMatcher(e);n&&t.removeRoute(n)}function h(){return t.getRoutes().map(e=>e.record)}function g(e){return!!t.getRecordMatcher(e)}function _(e,a){if(a=$({},a||c.value),typeof e==`string`){let r=Zl(n,e,a.path),o=t.resolve({path:r.path},a),s=i.createHref(r.fullPath);return $(r,o,{params:f(o.params),redirectedFrom:void 0,href:s})}let o;if(e.path!=null)o=$({},e,{path:Zl(n,e.path,a.path).path});else{let t=$({},e.params);for(let e in t)t[e]??delete t[e];o=$({},e,{params:d(t)}),a.params=d(a.params)}let s=t.resolve(o,a),l=e.hash||``;s.params=u(f(s.params));let p=Ql(r,$({},e,{hash:Ul(l),path:s.path})),m=i.createHref(p);return $({fullPath:p,hash:l,query:r===bu?xu(e.query):e.query||{}},s,{redirectedFrom:void 0,href:m})}function v(e){return typeof e==`string`?Zl(n,e,c.value.path):$({},e)}function y(e,t){if(l!==e)return yl(8,{from:t,to:e})}function b(e){return C(e)}function x(e){return b($(v(e),{replace:!0}))}function S(e,t){let n=e.matched[e.matched.length-1];if(n&&n.redirect){let{redirect:r}=n,i=typeof r==`function`?r(e,t):r;return typeof i==`string`&&(i=i.includes(`?`)||i.includes(`#`)?i=v(i):{path:i},i.params={}),$({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function C(e,t){let n=l=_(e),i=c.value,a=e.state,o=e.force,s=e.replace===!0,u=S(n,i);if(u)return C($(v(u),{state:typeof u==`object`?$({},a,u.state):a,force:o,replace:s}),t||n);let d=n;d.redirectedFrom=t;let f;return!o&&eu(r,i,n)&&(f=yl(16,{to:d,from:i}),se(i,i,!0,!1)),(f?Promise.resolve(f):D(d,i)).catch(e=>bl(e)?bl(e,2)?e:oe(e):re(e,d,i)).then(e=>{if(e){if(bl(e,2))return C($({replace:s},v(e.to),{state:typeof e.to==`object`?$({},a,e.to.state):a,force:o}),t||d)}else e=A(d,i,!0,s,a);return O(d,i,e),e})}function T(e,t){let n=y(e,t);return n?Promise.reject(n):Promise.resolve()}function E(e){let t=le.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function D(e,t){let n,[r,i,s]=Tu(e,t);n=wu(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push(Cu(r,e,t))});let c=T.bind(null,e,t);return n.push(c),de(n).then(()=>{n=[];for(let r of a.list())n.push(Cu(r,e,t));return n.push(c),de(n)}).then(()=>{n=wu(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push(Cu(r,e,t))});return n.push(c),de(n)}).then(()=>{n=[];for(let r of s)if(r.beforeEnter)if(gl(r.beforeEnter))for(let i of r.beforeEnter)n.push(Cu(i,e,t));else n.push(Cu(r.beforeEnter,e,t));return n.push(c),de(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=wu(s,`beforeRouteEnter`,e,t,E),n.push(c),de(n))).then(()=>{n=[];for(let r of o.list())n.push(Cu(r,e,t));return n.push(c),de(n)}).catch(e=>bl(e,8)?e:Promise.reject(e))}function O(e,t,n){s.list().forEach(r=>E(()=>r(e,t,n)))}function A(e,t,n,r,a){let o=y(e,t);if(o)return o;let s=t===ou,l=dl?history.state:{};n&&(r||s?i.replace(e.fullPath,$({scroll:s&&l&&l.scroll},a)):i.push(e.fullPath,a)),c.value=e,se(e,t,n,s),oe()}let te;function j(){te||=i.listen((e,t,n)=>{if(!ue.listening)return;let r=_(e),a=S(r,ue.currentRoute.value);if(a){C($(a,{replace:!0,force:!0}),r).catch(hl);return}l=r;let o=c.value;dl&&hu(pu(o.fullPath,n.delta),du()),D(r,o).catch(e=>bl(e,12)?e:bl(e,2)?(C($(v(e.to),{force:!0}),r).then(e=>{bl(e,20)&&!n.delta&&n.type===`pop`&&i.go(-1,!1)}).catch(hl),Promise.reject()):(n.delta&&i.go(-n.delta,!1),re(e,r,o))).then(e=>{e||=A(r,o,!1),e&&(n.delta&&!bl(e,8)?i.go(-n.delta,!1):n.type===`pop`&&bl(e,20)&&i.go(-1,!1)),O(r,o,e)}).catch(hl)})}let M=Su(),N=Su(),ne;function re(e,t,n){oe(e);let r=N.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function ie(){return ne&&c.value!==ou?Promise.resolve():new Promise((e,t)=>{M.add([e,t])})}function oe(e){return ne||(ne=!e,j(),M.list().forEach(([t,n])=>e?n(e):t()),M.reset()),e}function se(t,n,r,i){let{scrollBehavior:a}=e;if(!dl||!a)return Promise.resolve();let o=!r&&gu(pu(t.fullPath,0))||(i||!r)&&history.state&&history.state.scroll||null;return ee().then(()=>a(t,n,o)).then(e=>e&&fu(e)).catch(e=>re(e,t,n))}let ce=e=>i.go(e),P,le=new Set,ue={currentRoute:c,listening:!0,addRoute:p,removeRoute:m,clearRoutes:t.clearRoutes,hasRoute:g,getRoutes:h,resolve:_,options:e,push:b,replace:x,go:ce,back:()=>ce(-1),forward:()=>ce(1),beforeEach:a.add,beforeResolve:o.add,afterEach:s.add,onError:N.add,isReady:ie,install(e){e.component(`RouterLink`,nd),e.component(`RouterView`,ld),e.config.globalProperties.$router=ue,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>k(c)}),dl&&!P&&c.value===ou&&(P=!0,b(i.location).catch(e=>{}));let t={};for(let e in ou)Object.defineProperty(t,e,{get:()=>c.value[e],enumerable:!0});e.provide(Cl,ue),e.provide(wl,w(t)),e.provide(Tl,c);let n=e.unmount;le.add(e),e.unmount=function(){le.delete(e),le.size<1&&(l=ou,te&&te(),te=null,c.value=ou,P=!1,ne=!1),n()}}};function de(e){return e.reduce((e,t)=>e.then(()=>E(t)),Promise.resolve())}return ue}var dd=(function(){let e=typeof document<`u`&&document.createElement(`link`).relList;return e&&e.supports&&e.supports(`modulepreload`)?`modulepreload`:`preload`})(),fd=function(e){return`/`+e},pd={},md=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=fd(t,n),t in pd)return;pd[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:dd,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},hd=[{path:`/`,component:()=>md(()=>import(`./MainLayout-ZKAmoqZa.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25])),children:[{path:``,redirect:{name:`workspace`}},{path:`workspace/:id?`,name:`workspace`,component:()=>md(()=>import(`./WorkspacePage-BnhS3WPM.js`),__vite__mapDeps([26,1,2,3,7,8,9,27,13,12,14,15,11,16,28,18,29,19,20,30,23,31,32,22,33]))},{path:`create`,name:`create`,component:()=>md(()=>import(`./CreatePage-CBdUuRiw.js`),__vite__mapDeps([34,1,2,3,7,8,35,13,12,14,15,11,28,18,29,30,23,31,32,24,36]))},{path:`settings`,name:`settings`,component:()=>md(()=>import(`./SettingsPage-BwZt9b8r.js`),__vite__mapDeps([37,1,3,2,5,6,7,8,27,12,35,13,14,15,11,16,28,18,20,21,32,24,38]))},{path:`search`,name:`search`,component:()=>md(()=>import(`./SearchPage-Db7lKrca.js`),__vite__mapDeps([39,1,2,3,7,8,9,14,28,18,22,40]))},{path:`health`,name:`health`,component:()=>md(()=>import(`./HealthPage-DdX2QOqU.js`),__vite__mapDeps([41,2,3,9,8,15,16,28,18]))},{path:`changelog`,name:`changelog`,component:()=>md(()=>import(`./ChangelogPage-9WwhcM-f.js`),__vite__mapDeps([42,1,2,3,4,12,8,28,18,43]))}]},{path:`/:catchAll(.*)*`,redirect:`/`}],gd=cl(()=>ud({scrollBehavior:()=>({left:0,top:0}),routes:hd,history:Mu()}));async function _d(e,t){let n=e(ol);n.use(bt,t);let r=typeof ul==`function`?await ul({}):ul;n.use(r);let i=g(typeof gd==`function`?await gd({store:r}):gd);return r.use(({store:e})=>{e.router=i}),{app:n,store:r,router:i}}var vd=()=>f(`svg`,{key:`svg`,class:`q-radio__bg absolute non-selectable`,viewBox:`0 0 24 24`},[f(`path`,{d:`M12,22a10,10 0 0 1 -10,-10a10,10 0 0 1 10,-10a10,10 0 0 1 10,10a10,10 0 0 1 -10,10m0,-22a12,12 0 0 0 -12,12a12,12 0 0 0 12,12a12,12 0 0 0 12,-12a12,12 0 0 0 -12,-12`}),f(`path`,{class:`q-radio__check`,d:`M12,6a6,6 0 0 0 -6,6a6,6 0 0 0 6,6a6,6 0 0 0 6,-6a6,6 0 0 0 -6,-6`})]);function yd(e){(e.keyCode===13||e.keyCode===32)&&pe(e)}var bd=F({name:`QRadio`,props:{...we,...Ce,...Re,modelValue:{required:!0},val:{required:!0},label:String,leftLabel:Boolean,checkedIcon:String,uncheckedIcon:String,color:String,keepColor:Boolean,dense:Boolean,disable:Boolean,tabindex:[String,Number]},emits:[`update:modelValue`],setup(n,{slots:r,emit:i}){let{proxy:a}=t(),o=xe(n,a.$q),s=ve(n,Ve),c=e(null),{refocusTargetEl:l,refocusTarget:u}=Be(n,c),d=N(()=>j(n.modelValue)===j(n.val)),p=N(()=>`q-radio cursor-pointer no-outline row inline no-wrap items-center`+(n.disable?` disabled`:``)+(o.value?` q-radio--dark`:``)+(n.dense?` q-radio--dense`:``)+(n.leftLabel?` reverse`:``)),m=N(()=>{let e=n.color!==void 0&&(n.keepColor||d.value)?` text-${n.color}`:``;return`q-radio__inner relative-position q-radio__inner--${d.value?`truthy`:`falsy`}${e}`}),h=N(()=>(d.value?n.checkedIcon:n.uncheckedIcon)||null),g=N(()=>n.disable?-1:n.tabindex||0),_=Le(N(()=>{let e={type:`radio`};return n.name!==void 0&&Object.assign(e,{".checked":d.value,"^checked":d.value?`checked`:void 0,name:n.name,value:n.val}),e}));function v(e){e!==void 0&&(pe(e),u(e)),!n.disable&&!d.value&&i(`update:modelValue`,n.val,e)}function y(e){(e.keyCode===13||e.keyCode===32)&&v(e)}Object.assign(a,{set:v});let b=vd();return()=>{let e=h.value===null?[b]:[f(`div`,{key:`icon`,class:`q-radio__icon-container absolute-full flex flex-center no-wrap`},[f(Te,{class:`q-radio__icon`,name:h.value})])];n.disable||_(e,`unshift`,` q-radio__native q-ma-none q-pa-none`);let t=[f(`div`,{class:m.value,style:s.value,"aria-hidden":`true`},e)];l.value!==null&&t.push(l.value);let i=n.label===void 0?I(r.default):ge(r.default,[n.label]);return i!==void 0&&t.push(f(`div`,{class:`q-radio__label q-anchor--skip`},i)),f(`div`,{ref:c,class:p.value,tabindex:g.value,role:`radio`,"aria-label":n.label,"aria-checked":d.value?`true`:`false`,"aria-disabled":n.disable?`true`:void 0,onClick:v,onKeydown:yd,onKeyup:y},t)}}}),xd=()=>f(`div`,{key:`svg`,class:`q-checkbox__bg absolute`},[f(`svg`,{class:`q-checkbox__svg fit absolute-full`,viewBox:`0 0 24 24`},[f(`path`,{class:`q-checkbox__truthy`,fill:`none`,d:`M1.73,12.91 8.1,19.28 22.79,4.59`}),f(`path`,{class:`q-checkbox__indet`,d:`M4,14H20V10H4`})])]),Sd=F({name:`QCheckbox`,props:Ue,emits:He,setup(e){let t=xd();function n(n,r){let i=N(()=>(n.value?e.checkedIcon:r.value?e.indeterminateIcon:e.uncheckedIcon)||null);return()=>i.value===null?[t]:[f(`div`,{key:`icon`,class:`q-checkbox__icon-container absolute-full flex flex-center no-wrap`},[f(Te,{class:`q-checkbox__icon`,name:i.value})])]}return We(`checkbox`,n)}}),Cd=F({name:`QToggle`,props:{...Ue,icon:String,iconColor:String},emits:He,setup(e){function t(t,n){let r=N(()=>(t.value?e.checkedIcon:n.value?e.indeterminateIcon:e.uncheckedIcon)||e.icon),i=N(()=>t.value?e.iconColor:null);return()=>[f(`div`,{class:`q-toggle__track`}),f(`div`,{class:`q-toggle__thumb absolute flex flex-center no-wrap`},r.value===void 0?void 0:[f(Te,{name:r.value,color:i.value})])]}return We(`toggle`,t)}}),wd={radio:bd,checkbox:Sd,toggle:Cd},Td=Object.keys(wd);function Ed(e,t){if(typeof e==`function`)return e;let n=e===void 0?t:e;return e=>e[n]}var Dd=F({name:`QOptionGroup`,props:{...we,modelValue:{required:!0},options:{type:Array,validator:e=>e.every(dt),default:()=>[]},optionValue:[Function,String],optionLabel:[Function,String],optionDisable:[Function,String],name:String,type:{type:String,default:`radio`,validator:e=>Td.includes(e)},color:String,keepColor:Boolean,dense:Boolean,size:String,leftLabel:Boolean,inline:Boolean,disable:Boolean},emits:[`update:modelValue`],setup(e,{emit:n,slots:r}){let{proxy:{$q:i}}=t(),a=Array.isArray(e.modelValue);e.type===`radio`?a&&console.error(`q-option-group: model should not be array`):a||console.error(`q-option-group: model should be array in your case`);let o=xe(e,i),s=N(()=>wd[e.type]),c=N(()=>Ed(e.optionValue,`value`)),l=N(()=>Ed(e.optionLabel,`label`)),u=N(()=>Ed(e.optionDisable,`disable`)),d=N(()=>e.options.map(t=>({val:c.value(t),name:t.name===void 0?e.name:t.name,disable:e.disable||u.value(t),leftLabel:t.leftLabel===void 0?e.leftLabel:t.leftLabel,color:t.color===void 0?e.color:t.color,checkedIcon:t.checkedIcon,uncheckedIcon:t.uncheckedIcon,dark:t.dark===void 0?o.value:t.dark,size:t.size===void 0?e.size:t.size,dense:e.dense,keepColor:t.keepColor===void 0?e.keepColor:t.keepColor}))),p=N(()=>`q-option-group q-gutter-x-sm`+(e.inline?` q-option-group--inline`:``)),m=N(()=>{let t={role:`group`};return e.type===`radio`&&(t.role=`radiogroup`,e.disable&&(t[`aria-disabled`]=`true`)),t});function h(e){n(`update:modelValue`,e)}return()=>f(`div`,{class:p.value,...m.value},e.options.map((t,n)=>{let i=r[`label-`+n]===void 0?r.label===void 0?void 0:()=>r.label(t):()=>r[`label-`+n](t);return f(`div`,[f(s.value,{label:i===void 0?l.value(t):null,modelValue:e.modelValue,"onUpdate:modelValue":h,...d.value[n]},i)])}))}}),Od=F({name:`DialogPluginComponent`,props:{...we,title:String,message:String,prompt:Object,options:Object,progress:[Boolean,Object],html:Boolean,ok:{type:[String,Object,Boolean],default:!0},cancel:[String,Object,Boolean],focus:{type:String,default:`ok`,validator:e=>[`ok`,`cancel`,`none`].includes(e)},stackButtons:Boolean,color:String,cardClass:[String,Array,Object],cardStyle:[String,Array,Object]},emits:[`ok`,`hide`],setup(n,{emit:r}){let{proxy:i}=t(),{$q:a}=i,o=xe(n,a),s=e(null),c=e(n.prompt===void 0?n.options===void 0?void 0:n.options.model:n.prompt.model),l=N(()=>`q-dialog-plugin`+(o.value?` q-dialog-plugin--dark q-dark`:``)+(n.progress===!1?``:` q-dialog-plugin--progress`)),u=N(()=>n.color||(o.value?`amber`:`primary`)),d=N(()=>n.progress===!1?null:dt(n.progress)?{component:n.progress.spinner||be,props:{color:n.progress.color||u.value}}:{component:be,props:{color:u.value}}),m=N(()=>n.prompt!==void 0||n.options!==void 0),h=N(()=>{if(!m.value)return{};let{model:e,isValid:t,items:r,...i}=n.prompt===void 0?n.options:n.prompt;return i}),g=N(()=>dt(n.ok)||n.ok===!0?a.lang.label.ok:n.ok),_=N(()=>dt(n.cancel)||n.cancel===!0?a.lang.label.cancel:n.cancel),v=N(()=>n.prompt===void 0?n.options===void 0?!1:n.options.isValid!==void 0&&!n.options.isValid(c.value):n.prompt.isValid!==void 0&&!n.prompt.isValid(c.value)),y=N(()=>({color:u.value,label:g.value,ripple:!1,disable:v.value,...dt(n.ok)?n.ok:{flat:!0},"data-autofocus":n.focus===`ok`&&!m.value||void 0,onClick:C})),b=N(()=>({color:u.value,label:_.value,ripple:!1,...dt(n.cancel)?n.cancel:{flat:!0},"data-autofocus":n.focus===`cancel`&&!m.value||void 0,onClick:w}));p(()=>n.prompt&&n.prompt.model,E),p(()=>n.options&&n.options.model,E);function x(){s.value.show()}function S(){s.value.hide()}function C(){r(`ok`,j(c.value)),S()}function w(){S()}function T(){r(`hide`)}function E(e){c.value=e}function D(e){!v.value&&n.prompt.type!==`textarea`&&_e(e,13)&&C()}function O(e,t){return n.html?f(xt,{class:e,innerHTML:t}):f(xt,{class:e},()=>t)}function k(){return[f(ze,{color:u.value,dense:!0,autofocus:!0,dark:o.value,...h.value,modelValue:c.value,"onUpdate:modelValue":E,onKeyup:D})]}function ee(){return[f(Dd,{color:u.value,options:n.options.items,dark:o.value,...h.value,modelValue:c.value,"onUpdate:modelValue":E})]}function A(){let e=[];return n.cancel&&e.push(f(As,b.value)),n.ok&&e.push(f(As,y.value)),f(js,{class:n.stackButtons?`items-end`:``,vertical:n.stackButtons,align:`right`},()=>e)}function te(){let e=[];return n.title&&e.push(O(`q-dialog__title`,n.title)),n.progress!==!1&&e.push(f(xt,{class:`q-dialog__progress`},()=>f(d.value.component,d.value.props))),n.message&&e.push(O(`q-dialog__message`,n.message)),n.prompt===void 0?n.options!==void 0&&e.push(f(Fe,{dark:o.value}),f(xt,{class:`scroll q-dialog-plugin__form`},ee),f(Fe,{dark:o.value})):e.push(f(xt,{class:`scroll q-dialog-plugin__form`},k)),(n.ok||n.cancel)&&e.push(A()),e}function M(){return[f(Tt,{class:[l.value,n.cardClass],style:n.cardStyle,dark:o.value},te)]}return Object.assign(i,{show:x,hide:S}),()=>f(Jn,{ref:s,onHide:T},M)}});function kd(e,t){for(let n in t)n!==`spinner`&&Object(t[n])===t[n]?(e[n]=Object(e[n])===e[n]?{...e[n]}:{},kd(e[n],t[n])):e[n]=t[n]}function Ad(t,n,r){return i=>{let a,o,s=n&&i.component!==void 0;if(s){let{component:e,componentProps:t}=i;a=typeof e==`string`?r.component(e):e,o=t||{}}else{let{class:e,style:n,...r}=i;a=t,o=r,e!==void 0&&(r.cardClass=e),n!==void 0&&(r.cardStyle=n)}let c,l=!1,u=e(null),d=qt(!1,`dialog`),p=e=>{if(u.value?.[e]!==void 0){u.value[e]();return}let t=c.$.subTree;if(t?.component){if(t.component.proxy&&t.component.proxy[e]){t.component.proxy[e]();return}if(t.component.subTree&&t.component.subTree.component&&t.component.subTree.component.proxy&&t.component.subTree.component.proxy[e]){t.component.subTree.component.proxy[e]();return}}console.error(`[Quasar] Incorrectly defined Dialog component`)},m=[],h=[],g={onOk(e){return m.push(e),g},onCancel(e){return h.push(e),g},onDismiss(e){return m.push(e),h.push(e),g},hide(){return p(`hide`),g},update(e){if(c!==null){if(s)Object.assign(o,e);else{let{class:t,style:n,...r}=e;t!==void 0&&(r.cardClass=t),n!==void 0&&(r.cardStyle=n),kd(o,r)}c.$forceUpdate()}return g}},_=e=>{l=!0,m.forEach(t=>{t(e)})},v=()=>{y.unmount(d),Jt(d),y=null,c=null,l||h.forEach(e=>{e()})},y=_t({name:`QGlobalDialog`,setup:()=>()=>f(a,{...o,ref:u,onOk:_,onHide:v,onVnodeMounted(...e){typeof o.onVnodeMounted==`function`&&o.onVnodeMounted(...e),ee(()=>p(`show`))}})},r);return c=y.mount(d),g}}var jd={config:{dark:!0,brand:{primary:`#6c63ff`,secondary:`#26a69a`,accent:`#9c27b0`,dark:`#1a1a2e`,"dark-page":`#1a1a2e`,positive:`#21ba45`,negative:`#c10015`,info:`#31ccec`,warning:`#f2c037`}},plugins:{Notify:sc,Dialog:{install({$q:e,parentApp:t}){e.dialog=this.create=Ad(Od,!0,t)}}}},Md=`/`;async function Nd({app:e,router:t,store:n},r){let i=!1,a=e=>{try{return t.resolve(e).href}catch{}return Object(e)===e?null:e},o=e=>{if(i=!0,typeof e==`string`&&/^https?:\/\//.test(e)){window.location.href=e;return}let t=a(e);t!==null&&(window.location.href=t,window.location.reload())},s=window.location.href.replace(window.location.origin,``);for(let a=0;i===!1&&a<r.length;a++)try{await r[a]({app:e,router:t,store:n,ssrContext:null,redirect:o,urlPath:s,publicPath:Md})}catch(e){if(e&&e.url){o(e.url);return}console.error(`[Quasar] boot error:`,e);return}i!==!0&&(e.use(t),e.mount(`#q-app`))}_d(O,jd).then(e=>{let[t,n]=Promise.allSettled===void 0?[`all`,e=>e.map(e=>e.default)]:[`allSettled`,e=>e.map(e=>{if(e.status===`rejected`){console.error(`[Quasar] boot error:`,e.reason);return}return e.value.default})];return Promise[t]([md(()=>import(`./i18n-D-jN5KkR.js`),[]),md(()=>import(`./network-auth-DAOkp3pL.js`),[])]).then(t=>{Nd(e,n(t).filter(e=>typeof e==`function`))})});export{en as $,Ps as A,Jn as B,vc as C,Rs as D,Us as E,Ss as F,Mn as G,Wn as H,ms as I,mn as J,on as K,ps as L,js as M,As as N,Is as O,xs as P,dn as Q,ts as R,yc as S,Ws as T,zn as U,Un as V,Bn as W,tn as X,an as Y,fn as Z,Mc as _,ut as _t,md as a,Rt as at,Ec as b,sl as c,Ft as ct,Xc as d,Mt as dt,Zt as et,Uc as f,kt as ft,Pc as g,xt as gt,Ic as h,wt as ht,bd as i,zt as it,Fs as j,Ns as k,al as l,Pt as lt,Fc as m,Tt as mt,Cd as n,Ht as nt,Dl as o,Lt as ot,zc as p,Et as pt,rn as q,Sd as r,Bt as rt,El as s,It as st,Dd as t,Vt as tt,Wc as u,Nt as ut,wc as v,ft as vt,_c as w,xc as x,Cc as y,dt as yt,No as z};