cognova 0.2.20 → 0.2.22

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 (175) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{CCeM5lW2.js → -O86rjFZ.js} +1 -1
  3. package/.output/public/_nuxt/{BXxZokD_.js → -Q9J9PRu.js} +1 -1
  4. package/.output/public/_nuxt/{Hh9mv0Ek.js → 0DkCurh5.js} +1 -1
  5. package/.output/public/_nuxt/{CjJPkhbc.js → 49whOfsW.js} +1 -1
  6. package/.output/public/_nuxt/{DqR9SdeU.js → 4Vi9hKJC.js} +1 -1
  7. package/.output/public/_nuxt/{BoCU3mWu.js → 66GNa6MU.js} +1 -1
  8. package/.output/public/_nuxt/9dGxQN-2.js +1 -0
  9. package/.output/public/_nuxt/{DhlIWT8K.js → 9wWq016N.js} +1 -1
  10. package/.output/public/_nuxt/{BD5rPkc2.js → B04GYyxD.js} +1 -1
  11. package/.output/public/_nuxt/{DwrmFEZN.js → B0KPvVav.js} +1 -1
  12. package/.output/public/_nuxt/{Cywo6tZI.js → B1meh0Ci.js} +1 -1
  13. package/.output/public/_nuxt/{C5Cu9Fx6.js → B53zbEPa.js} +1 -1
  14. package/.output/public/_nuxt/{B20jNAhm.js → B6-aFDg7.js} +1 -1
  15. package/.output/public/_nuxt/{kkAMoB43.js → B6lgiDn1.js} +1 -1
  16. package/.output/public/_nuxt/{BgavRUl_.js → B7uuK82m.js} +1 -1
  17. package/.output/public/_nuxt/{BWqJInD3.js → B9OPrqTh.js} +1 -1
  18. package/.output/public/_nuxt/{DLHnP6tw.js → BA646MN4.js} +1 -1
  19. package/.output/public/_nuxt/{mzM4BGtv.js → BDhTzPPo.js} +1 -1
  20. package/.output/public/_nuxt/{CZNOaqeX.js → BDzVzzBM.js} +1 -1
  21. package/.output/public/_nuxt/{DTlSLSo1.js → BEkFNtxw.js} +3 -3
  22. package/.output/public/_nuxt/{B_hNqC64.js → BI7-RNYV.js} +1 -1
  23. package/.output/public/_nuxt/{rIgg2Arf.js → BN8XazaH.js} +3 -3
  24. package/.output/public/_nuxt/{TSYrPbLR.js → BNP0kT7B.js} +1 -1
  25. package/.output/public/_nuxt/{BhhMUror.js → BPfVf7kt.js} +1 -1
  26. package/.output/public/_nuxt/{BxsQlbgl.js → BQGDi8tM.js} +1 -1
  27. package/.output/public/_nuxt/{Br6epbzY.js → BUXewbUG.js} +1 -1
  28. package/.output/public/_nuxt/{Y59XKprr.js → BW0FZi7D.js} +1 -1
  29. package/.output/public/_nuxt/{Br81Sr2R.js → BXmijQzM.js} +1 -1
  30. package/.output/public/_nuxt/{C-78dDNd.js → BZFf3mr_.js} +1 -1
  31. package/.output/public/_nuxt/{C7hFztZL.js → BZx0xqxG.js} +1 -1
  32. package/.output/public/_nuxt/{DjsqyRqt.js → BbElT9yG.js} +1 -1
  33. package/.output/public/_nuxt/{BHUy5EAj.js → BjyHtuwq.js} +1 -1
  34. package/.output/public/_nuxt/{C4sG6rdW.js → BnfOmQBX.js} +1 -1
  35. package/.output/public/_nuxt/BoqEl-F1.js +1 -0
  36. package/.output/public/_nuxt/{C_A_NkeC.js → Bq2pktu_.js} +2 -2
  37. package/.output/public/_nuxt/{C2Gh3qqr.js → Br712gOY.js} +1 -1
  38. package/.output/public/_nuxt/{PamJNol9.js → Bs4sk8vv.js} +1 -1
  39. package/.output/public/_nuxt/{DL4EpgqQ.js → Bt87rSlM.js} +1 -1
  40. package/.output/public/_nuxt/{DFTEBTzZ.js → BtOA13zl.js} +1 -1
  41. package/.output/public/_nuxt/{TNpdJOlc.js → Bti4Nb4c.js} +1 -1
  42. package/.output/public/_nuxt/{BZ7DAtPi.js → Bu0HhyZq.js} +1 -1
  43. package/.output/public/_nuxt/{D867g6Ds.js → Bv25Wgb9.js} +1 -1
  44. package/.output/public/_nuxt/{CqS0zXYQ.js → BwMPB_Mu.js} +1 -1
  45. package/.output/public/_nuxt/{CS8SdmH2.js → BzkqPhn-.js} +1 -1
  46. package/.output/public/_nuxt/{BZm9w7en.js → C35LJkds.js} +1 -1
  47. package/.output/public/_nuxt/{DcJ0GstJ.js → C4VW2EjN.js} +1 -1
  48. package/.output/public/_nuxt/{C2-_hcwB.js → C6FzuEFH.js} +1 -1
  49. package/.output/public/_nuxt/{X0o5GcBb.js → C866FgGj.js} +1 -1
  50. package/.output/public/_nuxt/{BOCn_SGf.js → CBqC92gC.js} +3 -3
  51. package/.output/public/_nuxt/{D49P2RhG.js → CD2Wt775.js} +1 -1
  52. package/.output/public/_nuxt/{BzrhNhdT.js → CE491BHV.js} +1 -1
  53. package/.output/public/_nuxt/{BAY3_Hrq.js → CF8ziKf1.js} +1 -1
  54. package/.output/public/_nuxt/{B3OpTH_e.js → CFE6wnRK.js} +1 -1
  55. package/.output/public/_nuxt/{BVYYP4eQ.js → CFjVdIUR.js} +1 -1
  56. package/.output/public/_nuxt/{Dsuag_iW.js → CGPn0bIO.js} +1 -1
  57. package/.output/public/_nuxt/{BtrNCc2S.js → CKSWEIag.js} +1 -1
  58. package/.output/public/_nuxt/{BgIS9_ti.js → CL9cB3YW.js} +1 -1
  59. package/.output/public/_nuxt/{BWQ7zE01.js → CLUsxCN7.js} +1 -1
  60. package/.output/public/_nuxt/{CVVtVzXC.js → CM5aLXsq.js} +1 -1
  61. package/.output/public/_nuxt/{DZikIgHK.js → CN_jZBEh.js} +1 -1
  62. package/.output/public/_nuxt/{B-yW4SD3.js → CNgf0D2d.js} +1 -1
  63. package/.output/public/_nuxt/{CHbHVtCy.js → CPYFvNZ2.js} +1 -1
  64. package/.output/public/_nuxt/{PY5EGujn.js → CQTD64un.js} +1 -1
  65. package/.output/public/_nuxt/{DpSM97eH.js → CRLO8tx3.js} +1 -1
  66. package/.output/public/_nuxt/{DxE8r3r4.js → CTIUqf4N.js} +1 -1
  67. package/.output/public/_nuxt/{CLNcmNQS.js → CUDpi0L3.js} +1 -1
  68. package/.output/public/_nuxt/{C_doutX-.js → CY4SEsrB.js} +1 -1
  69. package/.output/public/_nuxt/{LR0kCjbe.js → CYAPNNGW.js} +1 -1
  70. package/.output/public/_nuxt/{CHnVFnBW.js → CZV2u8Xx.js} +1 -1
  71. package/.output/public/_nuxt/{CAVUAxNU.js → C_TYqFbT.js} +1 -1
  72. package/.output/public/_nuxt/{D3cEeQh7.js → CdIGoC9r.js} +1 -1
  73. package/.output/public/_nuxt/{U-eBrbR4.js → CiPQXVBy.js} +1 -1
  74. package/.output/public/_nuxt/{DEFWIjWl.js → Cif20myG.js} +1 -1
  75. package/.output/public/_nuxt/{DNAMjHbb.js → Ck1KJ2HV.js} +1 -1
  76. package/.output/public/_nuxt/{Cet4T_yO.js → CkSyHzm-.js} +1 -1
  77. package/.output/public/_nuxt/{CuvkTsqs.js → ClKTC8bU.js} +1 -1
  78. package/.output/public/_nuxt/CltqyXO5.js +1 -0
  79. package/.output/public/_nuxt/{BS1t375R.js → CmuSeGko.js} +1 -1
  80. package/.output/public/_nuxt/{CkrW8sGL.js → Cn_NBSuo.js} +1 -1
  81. package/.output/public/_nuxt/{C2OHaW6l.js → CvUov1Ey.js} +1 -1
  82. package/.output/public/_nuxt/{BQi8LIrn.js → CwY5tLRb.js} +1 -1
  83. package/.output/public/_nuxt/{C3xzleKP.js → CwoQ23uO.js} +1 -1
  84. package/.output/public/_nuxt/{1wCoXZ14.js → Cwoe6TAi.js} +1 -1
  85. package/.output/public/_nuxt/{CbDLhrNA.js → CxTuME0Z.js} +2 -2
  86. package/.output/public/_nuxt/{BGYoW3kO.js → Cyjm1APH.js} +1 -1
  87. package/.output/public/_nuxt/{C6Eoiclo.js → Cyo4VJ6S.js} +1 -1
  88. package/.output/public/_nuxt/{Be47YE2L.js → D-WxGaym.js} +1 -1
  89. package/.output/public/_nuxt/{0GqCtQ9S.js → D0SYimTY.js} +1 -1
  90. package/.output/public/_nuxt/{G_CsVlOR.js → D82AhPdI.js} +1 -1
  91. package/.output/public/_nuxt/{DVdnhfXT.js → D9dLxr1_.js} +1 -1
  92. package/.output/public/_nuxt/{C3szZmvA.js → D9jU4ocP.js} +1 -1
  93. package/.output/public/_nuxt/{C1oaoi1p.js → DAQeLqQw.js} +1 -1
  94. package/.output/public/_nuxt/{DM20WaLq.js → DDg2H-HK.js} +1 -1
  95. package/.output/public/_nuxt/{Co0UxVsx.js → DESvLlSI.js} +1 -1
  96. package/.output/public/_nuxt/{B9_vmatf.js → DFSB3QxC.js} +1 -1
  97. package/.output/public/_nuxt/{RlvwEbHv.js → DFqzAgzP.js} +1 -1
  98. package/.output/public/_nuxt/{Bj5e7QPz.js → DJuYHeIc.js} +1 -1
  99. package/.output/public/_nuxt/{D1reIfpX.js → DK0AJoGL.js} +1 -1
  100. package/.output/public/_nuxt/{XQNzmQy9.js → DQdWxVax.js} +1 -1
  101. package/.output/public/_nuxt/{z-MP0bB7.js → DRF-DnQg.js} +1 -1
  102. package/.output/public/_nuxt/{hCeWb_38.js → DUf0f355.js} +1 -1
  103. package/.output/public/_nuxt/{jTT1R-Vz.js → DWnLv2oh.js} +1 -1
  104. package/.output/public/_nuxt/{vCFAHwdt.js → DXkvGTEB.js} +1 -1
  105. package/.output/public/_nuxt/{CePKCqSb.js → DZncVjYt.js} +1 -1
  106. package/.output/public/_nuxt/{jC4pIK1p.js → DaAG12aj.js} +1 -1
  107. package/.output/public/_nuxt/{D2edadpd.js → Db66Rsfj.js} +1 -1
  108. package/.output/public/_nuxt/{B9Y3_B5G.js → DbLjznUU.js} +1 -1
  109. package/.output/public/_nuxt/{CxMuZEwX.js → Dfzca1IN.js} +1 -1
  110. package/.output/public/_nuxt/{MYeLvJGV.js → DhvuBruY.js} +1 -1
  111. package/.output/public/_nuxt/{Daf2MbWG.js → Dj9yr6QC.js} +1 -1
  112. package/.output/public/_nuxt/{_-TGPiLQ.js → DjJn4g73.js} +1 -1
  113. package/.output/public/_nuxt/{2J1KxdHv.js → DkAUrkyD.js} +1 -1
  114. package/.output/public/_nuxt/{DhN3_DYH.js → DkybthvX.js} +1 -1
  115. package/.output/public/_nuxt/{CkZT4LGq.js → DlNwSYeM.js} +1 -1
  116. package/.output/public/_nuxt/{pwJTkIQ4.js → Dm5HyQgM.js} +1 -1
  117. package/.output/public/_nuxt/{t8B72leH.js → Dn7zgQZh.js} +1 -1
  118. package/.output/public/_nuxt/{D41A2mE2.js → DoIqoxBH.js} +1 -1
  119. package/.output/public/_nuxt/{Bnn59-FS.js → Dqx39Omg.js} +1 -1
  120. package/.output/public/_nuxt/{8WMJQbWG.js → DrQVjmDX.js} +1 -1
  121. package/.output/public/_nuxt/{6VDUZECX.js → DuYzdzqK.js} +1 -1
  122. package/.output/public/_nuxt/{BLdMRpJD.js → DvZW6QuM.js} +1 -1
  123. package/.output/public/_nuxt/{CTGm_mc8.js → DxztGg8Y.js} +1 -1
  124. package/.output/public/_nuxt/{BTGeP1bA.js → EPFrlLUV.js} +1 -1
  125. package/.output/public/_nuxt/{hrPTRWjM.js → JsQhjNzl.js} +1 -1
  126. package/.output/public/_nuxt/{D_YGqvw_.js → NApXVVQD.js} +1 -1
  127. package/.output/public/_nuxt/{9Rw88G6h.js → OwiFxd0L.js} +1 -1
  128. package/.output/public/_nuxt/{BXdQ9ASJ.js → QAfF68DH.js} +1 -1
  129. package/.output/public/_nuxt/{CPwCTHun.js → QDt0Bhze.js} +1 -1
  130. package/.output/public/_nuxt/{DhSvBSt3.js → RF9kzKHY.js} +1 -1
  131. package/.output/public/_nuxt/{Dtr_0IbE.js → RzJhlhBq.js} +1 -1
  132. package/.output/public/_nuxt/{NKs0EGrh.js → SHHFgixe.js} +1 -1
  133. package/.output/public/_nuxt/V5ro_Ide.js +1 -0
  134. package/.output/public/_nuxt/{YZQjZgsH.js → Zge3ScOQ.js} +1 -1
  135. package/.output/public/_nuxt/{Bh0yGTzr.js → Zj8SE5Ja.js} +1 -1
  136. package/.output/public/_nuxt/{DHRexj9X.js → ZjXNlFkb.js} +1 -1
  137. package/.output/public/_nuxt/{DcYKh6QA.js → _5GQc09B.js} +1 -1
  138. package/.output/public/_nuxt/{CDcQ31Eh.js → aK4BeJQk.js} +1 -1
  139. package/.output/public/_nuxt/builds/latest.json +1 -1
  140. package/.output/public/_nuxt/builds/meta/7e5adf59-e667-40b7-9580-af4ed8971b6c.json +1 -0
  141. package/.output/public/_nuxt/{C5gfF7J1.js → cQU5gXxh.js} +1 -1
  142. package/.output/public/_nuxt/{CxSijT71.js → cq8AG_FV.js} +1 -1
  143. package/.output/public/_nuxt/{o-s8JBm2.js → d2FXPfMj.js} +1 -1
  144. package/.output/public/_nuxt/{UuqXScSw.js → dD3g22lS.js} +1 -1
  145. package/.output/public/_nuxt/{subdxgSQ.js → f35n4CdE.js} +1 -1
  146. package/.output/public/_nuxt/{HStC1ZyE.js → gWMUdeHB.js} +1 -1
  147. package/.output/public/_nuxt/{CTQFGHjS.js → i2HesToX.js} +1 -1
  148. package/.output/public/_nuxt/{V04-MrLN.js → iIxC-lNx.js} +1 -1
  149. package/.output/public/_nuxt/{D1uV2uir.js → nRp8uM7H.js} +1 -1
  150. package/.output/public/_nuxt/{DP8t9VWs.js → oBlsjU0k.js} +1 -1
  151. package/.output/public/_nuxt/{-mGU8_Hv.js → rH7JJqZQ.js} +1 -1
  152. package/.output/public/_nuxt/{D_k1YwXm.js → tak9pMy9.js} +1 -1
  153. package/.output/public/_nuxt/{BrkEOLHu.js → vebhRA6y.js} +1 -1
  154. package/.output/server/chunks/build/client.precomputed.mjs +1 -1
  155. package/.output/server/chunks/build/{integrations-D5JWURiJ.mjs → integrations-Hf4O1jkW.mjs} +24 -77
  156. package/.output/server/chunks/build/integrations-Hf4O1jkW.mjs.map +1 -0
  157. package/.output/server/chunks/build/server.mjs +1 -1
  158. package/.output/server/chunks/build/styles.mjs +4 -4
  159. package/.output/server/chunks/nitro/nitro.mjs +912 -998
  160. package/.output/server/chunks/routes/api/webhooks/bluebubbles.post.mjs +6 -1
  161. package/.output/server/chunks/routes/api/webhooks/bluebubbles.post.mjs.map +1 -1
  162. package/.output/server/package.json +1 -1
  163. package/app/pages/settings/integrations.vue +2 -23
  164. package/dist/cli/index.js +3 -0
  165. package/package.json +1 -1
  166. package/server/api/webhooks/bluebubbles.post.ts +8 -0
  167. package/server/bridge/adapters/imessage.ts +21 -140
  168. package/server/middleware/auth.ts +1 -0
  169. package/shared/types/index.ts +0 -2
  170. package/.output/public/_nuxt/B9o6sFST.js +0 -1
  171. package/.output/public/_nuxt/CskGv_Km.js +0 -1
  172. package/.output/public/_nuxt/DTR31rjp.js +0 -1
  173. package/.output/public/_nuxt/Gyw_2f6x.js +0 -1
  174. package/.output/public/_nuxt/builds/meta/d528449f-50ac-4f95-b7da-122a1fdd6e85.json +0 -1
  175. package/.output/server/chunks/build/integrations-D5JWURiJ.mjs.map +0 -1
@@ -1,5 +1,5 @@
1
1
  {
2
- "date": "2026-02-24T01:19:43.105Z",
2
+ "date": "2026-02-24T11:33:02.005Z",
3
3
  "preset": "node-server",
4
4
  "framework": {
5
5
  "name": "nuxt",
@@ -1 +1 @@
1
- import{i as w,k as L,O as V,aq as q,g as H,ar as U,a5 as W,as as j,h as S,at as z,y as I,e as G,s as M,au as A,B as J,av as Q,a as B,aw as X}from"./BOCn_SGf.js";import{c as Y}from"./BXxZokD_.js";const Z={trailing:!0};function $(a,e=25,i={}){if(i={...Z,...i},!Number.isFinite(e))throw new TypeError("Expected `wait` to be a finite number");let o,n,D=[],r,t;const y=(f,v)=>(r=x(a,f,v),r.finally(()=>{if(r=null,i.trailing&&t&&!n){const m=y(f,t);return t=null,m}}),r),b=function(...f){return i.trailing&&(t=f),r||new Promise(v=>{const m=!n&&i.leading;clearTimeout(n),n=setTimeout(()=>{n=null;const c=i.leading?o:y(this,f);t=null;for(const d of D)d(c);D=[]},e),m?(o=y(this,f),v(o)):D.push(v)})},s=f=>{f&&(clearTimeout(f),n=null)};return b.isPending=()=>!!n,b.cancel=()=>{s(n),D=[],t=null},b.flush=()=>{if(s(n),!t||r)return;const f=t;return t=null,y(this,f)},b}async function x(a,e,i){return await a.apply(e,i)}function ra(...a){const e=typeof a[a.length-1]=="string"?a.pop():void 0;K(a[0],a[1])&&a.unshift(e);let[i,o,n={}]=a,D=!1;const r=w(()=>L(i));if(typeof r.value!="string")throw new TypeError("[nuxt] [useAsyncData] key must be a string.");if(typeof o!="function")throw new TypeError("[nuxt] [useAsyncData] handler must be a function.");const t=V();n.server??=!0,n.default??=aa,n.getCachedData??=F,n.lazy??=!1,n.immediate??=!0,n.deep??=q.deep,n.dedupe??="cancel",n._functionName,t._asyncData[r.value];function y(){const c={cause:"initial",dedupe:n.dedupe};return t._asyncData[r.value]?._init||(c.cachedData=n.getCachedData(r.value,t,{cause:"initial"}),t._asyncData[r.value]=T(t,r.value,o,n,c.cachedData)),()=>t._asyncData[r.value].execute(c)}const b=y(),s=t._asyncData[r.value];s._deps++;const f=n.server!==!1&&t.payload.serverRendered;{let c=function(u){const l=t._asyncData[u];l?._deps&&(l._deps--,l._deps===0&&l?._off())};const d=H();if(d&&f&&n.immediate&&!d.sp&&(d.sp=[]),d&&!d._nuxtOnBeforeMountCbs){d._nuxtOnBeforeMountCbs=[];const u=d._nuxtOnBeforeMountCbs;U(()=>{u.forEach(l=>{l()}),u.splice(0,u.length)}),W(()=>u.splice(0,u.length))}const C=d&&(d._nuxtClientOnly||j(Y,!1));f&&t.isHydrating&&(s.error.value||s.data.value!==void 0)?s.status.value=s.error.value?"error":"success":d&&(!C&&t.payload.serverRendered&&t.isHydrating||n.lazy)&&n.immediate?d._nuxtOnBeforeMountCbs.push(b):n.immediate&&s.status.value!=="success"&&b();const _=I(),h=S(r,(u,l)=>{if((u||l)&&u!==l){D=!0;const p=t._asyncData[l]?.data.value!==void 0,N=t._asyncDataPromises[l]!==void 0,O={cause:"initial",dedupe:n.dedupe};if(!t._asyncData[u]?._init){let E;l&&p?E=t._asyncData[l].data.value:(E=n.getCachedData(u,t,{cause:"initial"}),O.cachedData=E),t._asyncData[u]=T(t,u,o,n,E)}t._asyncData[u]._deps++,l&&c(l),(n.immediate||p||N)&&t._asyncData[u].execute(O),X(()=>{D=!1})}},{flush:"sync"}),g=n.watch?S(n.watch,()=>{D||t._asyncData[r.value]?._execute({cause:"watch",dedupe:n.dedupe})}):()=>{};_&&z(()=>{h(),g(),c(r.value)})}const v={data:P(()=>t._asyncData[r.value]?.data),pending:P(()=>t._asyncData[r.value]?.pending),status:P(()=>t._asyncData[r.value]?.status),error:P(()=>t._asyncData[r.value]?.error),refresh:(...c)=>t._asyncData[r.value]?._init?t._asyncData[r.value].execute(...c):y()(),execute:(...c)=>v.refresh(...c),clear:()=>{const c=t._asyncData[r.value];if(c?._abortController)try{c._abortController.abort(new DOMException("AsyncData aborted by user.","AbortError"))}finally{c._abortController=void 0}R(t,r.value)}},m=Promise.resolve(t._asyncDataPromises[r.value]).then(()=>v);return Object.assign(m,v),m}function P(a){return w({get(){return a()?.value},set(e){const i=a();i&&(i.value=e)}})}function K(a,e){return!(typeof a=="string"||typeof a=="object"&&a!==null||typeof a=="function"&&typeof e=="function")}function R(a,e){e in a.payload.data&&(a.payload.data[e]=void 0),e in a.payload._errors&&(a.payload._errors[e]=void 0),a._asyncData[e]&&(a._asyncData[e].data.value=B(a._asyncData[e]._default()),a._asyncData[e].error.value=void 0,a._asyncData[e].status.value="idle"),e in a._asyncDataPromises&&(a._asyncDataPromises[e]=void 0)}function k(a,e){const i={};for(const o of e)i[o]=a[o];return i}function T(a,e,i,o,n){a.payload._errors[e]??=void 0;const D=o.getCachedData!==F,r=i,t=o.deep?G:M,y=n!==void 0,b=a.hook("app:data:refresh",async f=>{(!f||f.includes(e))&&await s.execute({cause:"refresh:hook"})}),s={data:t(y?n:o.default()),pending:w(()=>s.status.value==="pending"),error:A(a.payload._errors,e),status:M("idle"),execute:(...f)=>{const[v,m=void 0]=f,c=v&&m===void 0&&typeof v=="object"?v:{};if(a._asyncDataPromises[e]&&(c.dedupe??o.dedupe)==="defer")return a._asyncDataPromises[e];{const _="cachedData"in c?c.cachedData:o.getCachedData(e,a,{cause:c.cause??"refresh:manual"});if(_!==void 0)return a.payload.data[e]=s.data.value=_,s.error.value=void 0,s.status.value="success",Promise.resolve(_)}s._abortController&&s._abortController.abort(new DOMException("AsyncData request cancelled by deduplication","AbortError")),s._abortController=new AbortController,s.status.value="pending";const d=new AbortController,C=new Promise((_,h)=>{try{const g=c.timeout??o.timeout,u=ea([s._abortController?.signal,c?.signal],d.signal,g);if(u.aborted){const l=u.reason;h(l instanceof Error?l:new DOMException(String(l??"Aborted"),"AbortError"));return}return u.addEventListener("abort",()=>{const l=u.reason;h(l instanceof Error?l:new DOMException(String(l??"Aborted"),"AbortError"))},{once:!0,signal:d.signal}),Promise.resolve(r(a,{signal:u})).then(_,h)}catch(g){h(g)}}).then(async _=>{let h=_;o.transform&&(h=await o.transform(_)),o.pick&&(h=k(h,o.pick)),a.payload.data[e]=h,s.data.value=h,s.error.value=void 0,s.status.value="success"}).catch(_=>{if(a._asyncDataPromises[e]&&a._asyncDataPromises[e]!==C||s._abortController?.signal.aborted)return a._asyncDataPromises[e];if(typeof DOMException<"u"&&_ instanceof DOMException&&_.name==="AbortError")return s.status.value="idle",a._asyncDataPromises[e];s.error.value=Q(_),s.data.value=B(o.default()),s.status.value="error"}).finally(()=>{d.abort(),delete a._asyncDataPromises[e]});return a._asyncDataPromises[e]=C,a._asyncDataPromises[e]},_execute:$((...f)=>s.execute(...f),0,{leading:!0}),_default:o.default,_deps:0,_init:!0,_hash:void 0,_off:()=>{b(),a._asyncData[e]?._init&&(a._asyncData[e]._init=!1),D||J(()=>{a._asyncData[e]?._init||(R(a,e),s.execute=()=>Promise.resolve())})}};return s}const aa=()=>{},F=(a,e,i)=>{if(e.isHydrating)return e.payload.data[a];if(i.cause!=="refresh:manual"&&i.cause!=="refresh:hook")return e.static.data[a]};function ea(a,e,i){const o=a.filter(r=>!!r);if(typeof i=="number"&&i>=0){const r=AbortSignal.timeout?.(i);r&&o.push(r)}if(AbortSignal.any)return AbortSignal.any(o);const n=new AbortController;for(const r of o)if(r.aborted){const t=r.reason??new DOMException("Aborted","AbortError");try{n.abort(t)}catch{n.abort()}return n.signal}const D=()=>{const t=o.find(y=>y.aborted)?.reason??new DOMException("Aborted","AbortError");try{n.abort(t)}catch{n.abort()}};for(const r of o)r.addEventListener?.("abort",D,{once:!0,signal:e});return n.signal}export{ra as u};
1
+ import{i as w,k as L,O as V,aq as q,g as H,ar as U,a5 as W,as as j,h as S,at as z,y as I,e as G,s as M,au as A,B as J,av as Q,a as B,aw as X}from"./CBqC92gC.js";import{c as Y}from"./-Q9J9PRu.js";const Z={trailing:!0};function $(a,e=25,i={}){if(i={...Z,...i},!Number.isFinite(e))throw new TypeError("Expected `wait` to be a finite number");let o,n,D=[],r,t;const y=(f,v)=>(r=x(a,f,v),r.finally(()=>{if(r=null,i.trailing&&t&&!n){const m=y(f,t);return t=null,m}}),r),b=function(...f){return i.trailing&&(t=f),r||new Promise(v=>{const m=!n&&i.leading;clearTimeout(n),n=setTimeout(()=>{n=null;const c=i.leading?o:y(this,f);t=null;for(const d of D)d(c);D=[]},e),m?(o=y(this,f),v(o)):D.push(v)})},s=f=>{f&&(clearTimeout(f),n=null)};return b.isPending=()=>!!n,b.cancel=()=>{s(n),D=[],t=null},b.flush=()=>{if(s(n),!t||r)return;const f=t;return t=null,y(this,f)},b}async function x(a,e,i){return await a.apply(e,i)}function ra(...a){const e=typeof a[a.length-1]=="string"?a.pop():void 0;K(a[0],a[1])&&a.unshift(e);let[i,o,n={}]=a,D=!1;const r=w(()=>L(i));if(typeof r.value!="string")throw new TypeError("[nuxt] [useAsyncData] key must be a string.");if(typeof o!="function")throw new TypeError("[nuxt] [useAsyncData] handler must be a function.");const t=V();n.server??=!0,n.default??=aa,n.getCachedData??=F,n.lazy??=!1,n.immediate??=!0,n.deep??=q.deep,n.dedupe??="cancel",n._functionName,t._asyncData[r.value];function y(){const c={cause:"initial",dedupe:n.dedupe};return t._asyncData[r.value]?._init||(c.cachedData=n.getCachedData(r.value,t,{cause:"initial"}),t._asyncData[r.value]=T(t,r.value,o,n,c.cachedData)),()=>t._asyncData[r.value].execute(c)}const b=y(),s=t._asyncData[r.value];s._deps++;const f=n.server!==!1&&t.payload.serverRendered;{let c=function(u){const l=t._asyncData[u];l?._deps&&(l._deps--,l._deps===0&&l?._off())};const d=H();if(d&&f&&n.immediate&&!d.sp&&(d.sp=[]),d&&!d._nuxtOnBeforeMountCbs){d._nuxtOnBeforeMountCbs=[];const u=d._nuxtOnBeforeMountCbs;U(()=>{u.forEach(l=>{l()}),u.splice(0,u.length)}),W(()=>u.splice(0,u.length))}const C=d&&(d._nuxtClientOnly||j(Y,!1));f&&t.isHydrating&&(s.error.value||s.data.value!==void 0)?s.status.value=s.error.value?"error":"success":d&&(!C&&t.payload.serverRendered&&t.isHydrating||n.lazy)&&n.immediate?d._nuxtOnBeforeMountCbs.push(b):n.immediate&&s.status.value!=="success"&&b();const _=I(),h=S(r,(u,l)=>{if((u||l)&&u!==l){D=!0;const p=t._asyncData[l]?.data.value!==void 0,N=t._asyncDataPromises[l]!==void 0,O={cause:"initial",dedupe:n.dedupe};if(!t._asyncData[u]?._init){let E;l&&p?E=t._asyncData[l].data.value:(E=n.getCachedData(u,t,{cause:"initial"}),O.cachedData=E),t._asyncData[u]=T(t,u,o,n,E)}t._asyncData[u]._deps++,l&&c(l),(n.immediate||p||N)&&t._asyncData[u].execute(O),X(()=>{D=!1})}},{flush:"sync"}),g=n.watch?S(n.watch,()=>{D||t._asyncData[r.value]?._execute({cause:"watch",dedupe:n.dedupe})}):()=>{};_&&z(()=>{h(),g(),c(r.value)})}const v={data:P(()=>t._asyncData[r.value]?.data),pending:P(()=>t._asyncData[r.value]?.pending),status:P(()=>t._asyncData[r.value]?.status),error:P(()=>t._asyncData[r.value]?.error),refresh:(...c)=>t._asyncData[r.value]?._init?t._asyncData[r.value].execute(...c):y()(),execute:(...c)=>v.refresh(...c),clear:()=>{const c=t._asyncData[r.value];if(c?._abortController)try{c._abortController.abort(new DOMException("AsyncData aborted by user.","AbortError"))}finally{c._abortController=void 0}R(t,r.value)}},m=Promise.resolve(t._asyncDataPromises[r.value]).then(()=>v);return Object.assign(m,v),m}function P(a){return w({get(){return a()?.value},set(e){const i=a();i&&(i.value=e)}})}function K(a,e){return!(typeof a=="string"||typeof a=="object"&&a!==null||typeof a=="function"&&typeof e=="function")}function R(a,e){e in a.payload.data&&(a.payload.data[e]=void 0),e in a.payload._errors&&(a.payload._errors[e]=void 0),a._asyncData[e]&&(a._asyncData[e].data.value=B(a._asyncData[e]._default()),a._asyncData[e].error.value=void 0,a._asyncData[e].status.value="idle"),e in a._asyncDataPromises&&(a._asyncDataPromises[e]=void 0)}function k(a,e){const i={};for(const o of e)i[o]=a[o];return i}function T(a,e,i,o,n){a.payload._errors[e]??=void 0;const D=o.getCachedData!==F,r=i,t=o.deep?G:M,y=n!==void 0,b=a.hook("app:data:refresh",async f=>{(!f||f.includes(e))&&await s.execute({cause:"refresh:hook"})}),s={data:t(y?n:o.default()),pending:w(()=>s.status.value==="pending"),error:A(a.payload._errors,e),status:M("idle"),execute:(...f)=>{const[v,m=void 0]=f,c=v&&m===void 0&&typeof v=="object"?v:{};if(a._asyncDataPromises[e]&&(c.dedupe??o.dedupe)==="defer")return a._asyncDataPromises[e];{const _="cachedData"in c?c.cachedData:o.getCachedData(e,a,{cause:c.cause??"refresh:manual"});if(_!==void 0)return a.payload.data[e]=s.data.value=_,s.error.value=void 0,s.status.value="success",Promise.resolve(_)}s._abortController&&s._abortController.abort(new DOMException("AsyncData request cancelled by deduplication","AbortError")),s._abortController=new AbortController,s.status.value="pending";const d=new AbortController,C=new Promise((_,h)=>{try{const g=c.timeout??o.timeout,u=ea([s._abortController?.signal,c?.signal],d.signal,g);if(u.aborted){const l=u.reason;h(l instanceof Error?l:new DOMException(String(l??"Aborted"),"AbortError"));return}return u.addEventListener("abort",()=>{const l=u.reason;h(l instanceof Error?l:new DOMException(String(l??"Aborted"),"AbortError"))},{once:!0,signal:d.signal}),Promise.resolve(r(a,{signal:u})).then(_,h)}catch(g){h(g)}}).then(async _=>{let h=_;o.transform&&(h=await o.transform(_)),o.pick&&(h=k(h,o.pick)),a.payload.data[e]=h,s.data.value=h,s.error.value=void 0,s.status.value="success"}).catch(_=>{if(a._asyncDataPromises[e]&&a._asyncDataPromises[e]!==C||s._abortController?.signal.aborted)return a._asyncDataPromises[e];if(typeof DOMException<"u"&&_ instanceof DOMException&&_.name==="AbortError")return s.status.value="idle",a._asyncDataPromises[e];s.error.value=Q(_),s.data.value=B(o.default()),s.status.value="error"}).finally(()=>{d.abort(),delete a._asyncDataPromises[e]});return a._asyncDataPromises[e]=C,a._asyncDataPromises[e]},_execute:$((...f)=>s.execute(...f),0,{leading:!0}),_default:o.default,_deps:0,_init:!0,_hash:void 0,_off:()=>{b(),a._asyncData[e]?._init&&(a._asyncData[e]._init=!1),D||J(()=>{a._asyncData[e]?._init||(R(a,e),s.execute=()=>Promise.resolve())})}};return s}const aa=()=>{},F=(a,e,i)=>{if(e.isHydrating)return e.payload.data[a];if(i.cause!=="refresh:manual"&&i.cause!=="refresh:hook")return e.static.data[a]};function ea(a,e,i){const o=a.filter(r=>!!r);if(typeof i=="number"&&i>=0){const r=AbortSignal.timeout?.(i);r&&o.push(r)}if(AbortSignal.any)return AbortSignal.any(o);const n=new AbortController;for(const r of o)if(r.aborted){const t=r.reason??new DOMException("Aborted","AbortError");try{n.abort(t)}catch{n.abort()}return n.signal}const D=()=>{const t=o.find(y=>y.aborted)?.reason??new DOMException("Aborted","AbortError");try{n.abort(t)}catch{n.abort()}};for(const r of o)r.addEventListener?.("abort",D,{once:!0,signal:e});return n.signal}export{ra as u};
@@ -1,4 +1,4 @@
1
- import{d as b,s as p,C as m,K as f,L as v,M as k,g as y,N as h,O as T,Q as _,R as C}from"./BOCn_SGf.js";const O=Symbol.for("nuxt:client-only"),d="<div></div>",N=b({name:"ClientOnly",inheritAttrs:!1,props:["fallback","placeholder","placeholderTag","fallbackTag"],setup(t,{slots:n,attrs:s}){const u=p(!1);m(()=>{u.value=!0});const o=y();return o&&(o._nuxtClientOnly=!0),C(O,!0),()=>{if(u.value){const e=n.default?.();return e&&e.length===1?[f(e[0],s)]:e}const r=n.fallback||n.placeholder;if(r)return v(r);const l=t.fallback||t.placeholder||"",a=t.fallbackTag||t.placeholderTag||"span";return k(a,s,l)}}}),g=new WeakMap;function x(t){if(g.has(t))return g.get(t);const n={...t};return n.render?n.render=(s,u,o,r,l,a)=>{if(r.mounted$??s.mounted$){const e=t.render?.bind(s)(s,u,o,r,l,a);return e.children===null||typeof e.children=="string"?f(e):v(e)}return h(s._.vnode.el,d)}:n.template&&=`
1
+ import{d as b,s as p,C as m,K as f,L as v,M as k,g as y,N as h,O as T,Q as _,R as C}from"./CBqC92gC.js";const O=Symbol.for("nuxt:client-only"),d="<div></div>",N=b({name:"ClientOnly",inheritAttrs:!1,props:["fallback","placeholder","placeholderTag","fallbackTag"],setup(t,{slots:n,attrs:s}){const u=p(!1);m(()=>{u.value=!0});const o=y();return o&&(o._nuxtClientOnly=!0),C(O,!0),()=>{if(u.value){const e=n.default?.();return e&&e.length===1?[f(e[0],s)]:e}const r=n.fallback||n.placeholder;if(r)return v(r);const l=t.fallback||t.placeholder||"",a=t.fallbackTag||t.placeholderTag||"span";return k(a,s,l)}}}),g=new WeakMap;function x(t){if(g.has(t))return g.get(t);const n={...t};return n.render?n.render=(s,u,o,r,l,a)=>{if(r.mounted$??s.mounted$){const e=t.render?.bind(s)(s,u,o,r,l,a);return e.children===null||typeof e.children=="string"?f(e):v(e)}return h(s._.vnode.el,d)}:n.template&&=`
2
2
  <template v-if="mounted$">${t.template}</template>
3
3
  <template v-else>${d}</template>
4
4
  `,n.setup=(s,u)=>{const o=T(),r=p(o.isHydrating===!1),l=y();if(o.isHydrating){const e={...l.attrs},c=$(l);for(const i in e)delete l.attrs[i];m(()=>{Object.assign(l.attrs,e),l.vnode.dirs=c})}m(()=>{r.value=!0});const a=t.setup?.(s,u)||{};return _(a)?Promise.resolve(a).then(e=>typeof e!="function"?(e||={},e.mounted$=r,e):(...c)=>{if(r.value||!o.isHydrating){const i=e(...c);return i.children===null||typeof i.children=="string"?f(i):v(i)}return h(l?.vnode.el,d)}):typeof a=="function"?(...e)=>{if(r.value){const c=a(...e),i=n.inheritAttrs!==!1?u.attrs:void 0;return c.children===null||typeof c.children=="string"?f(c,i):v(c,i)}return h(l?.vnode.el,d)}:Object.assign(a,{mounted$:r})},g.set(t,n),n}function $(t){if(!t||!t.vnode.dirs)return null;const n=t.vnode.dirs;return t.vnode.dirs=null,n}export{N as _,x as a,O as c};
@@ -1 +1 @@
1
- import{d as j,e as S,C as it,a5 as dt,M as c,o as s,ac as a,al as U,am as A,aa as h,af as k,$ as p,a as o,ax as G,W as D,i as x,ap as z,c as b,w as l,r as w,P,bJ as H,ah as ct,bD as rt,h as R,bK as ut,aj as mt,Z as n,_ as pt,a0 as ft,ab as g}from"./BOCn_SGf.js";import{_ as _t,a as vt}from"./BXxZokD_.js";import{_ as gt}from"./C2Gh3qqr.js";import{d as yt,_ as xt,u as ht}from"./kkAMoB43.js";import{_ as bt}from"./BhhMUror.js";import{_ as kt}from"./C_A_NkeC.js";import{_ as wt}from"./DpSM97eH.js";import{p as Ct}from"./rIgg2Arf.js";import{u as $t}from"./mzM4BGtv.js";import{u as Ut}from"./TNpdJOlc.js";import{u as zt}from"./C-78dDNd.js";import"./Vcq4gwWv.js";import"./88opOQSr.js";import"./iik6CYzq.js";import"./CCeM5lW2.js";import"./CqkleIqs.js";import"./8WMJQbWG.js";const Tt={key:0,class:"space-y-1"},Bt=["onClick"],Ft=["onClick"],St={key:1,class:"text-sm text-dimmed italic"},At=j({__name:"ViewToc",props:{links:{}},setup(f){const i=S(null);function u(_){const d=document.getElementById(_);d&&d.scrollIntoView({behavior:"smooth",block:"start"})}return it(()=>{const _=document.querySelectorAll("h1[id], h2[id], h3[id], h4[id], h5[id], h6[id]"),d=new IntersectionObserver(t=>{for(const m of t)if(m.isIntersecting){i.value=m.target.id;break}},{rootMargin:"-80px 0px -80% 0px"});_.forEach(t=>d.observe(t)),dt(()=>d.disconnect())}),(_,d)=>f.links.length?(s(),c("nav",Tt,[d[0]||(d[0]=a("p",{class:"text-sm font-semibold text-muted mb-3"}," On this page ",-1)),(s(!0),c(U,null,A(f.links,t=>(s(),c(U,{key:t.id},[a("button",{type:"button",class:p(["block w-full text-left text-sm py-1 hover:text-primary transition-colors",[o(i)===t.id?"text-primary font-medium":"text-dimmed",t.depth===2&&"pl-0",t.depth===3&&"pl-4",t.depth>=4&&"pl-8"]]),onClick:m=>u(t.id)},k(t.text),11,Bt),t.children?.length?(s(!0),c(U,{key:0},A(t.children,m=>(s(),c("button",{key:m.id,type:"button",class:p(["block w-full text-left text-sm py-1 hover:text-primary transition-colors pl-4",o(i)===m.id?"text-primary font-medium":"text-dimmed"]),onClick:E=>u(m.id)},k(m.text),11,Ft))),128)):h("",!0)],64))),128))])):(s(),c("div",St," No headings found "))}}),Dt=Object.assign(At,{__name:"ViewToc"}),Pt={slots:{root:"hidden overflow-y-auto lg:block lg:max-h-[calc(100vh-var(--ui-header-height))] lg:sticky lg:top-(--ui-header-height) py-8 lg:ps-4 lg:-ms-4 lg:pe-6.5",container:"relative",top:"sticky -top-8 -mt-8 pointer-events-none z-[1]",topHeader:"h-8 bg-default -mx-4 px-4",topBody:"bg-default relative pointer-events-auto flex flex-col -mx-4 px-4",topFooter:"h-8 bg-gradient-to-b from-default -mx-4 px-4"}},Et={__name:"UPageAside",props:{as:{type:null,required:!1,default:"aside"},class:{type:null,required:!1},ui:{type:null,required:!1}},setup(f){const i=f,u=G(),_=D(),d=x(()=>z({extend:z(Pt),..._.ui?.pageAside||{}})());return(t,m)=>(s(),b(o(P),{as:f.as,"data-slot":"root",class:p(d.value.root({class:[i.ui?.root,i.class]}))},{default:l(()=>[a("div",{"data-slot":"container",class:p(d.value.container({class:i.ui?.container}))},[u.top?(s(),c("div",{key:0,"data-slot":"top",class:p(d.value.top({class:i.ui?.top}))},[a("div",{"data-slot":"topHeader",class:p(d.value.topHeader({class:i.ui?.topHeader}))},null,2),a("div",{"data-slot":"topBody",class:p(d.value.topBody({class:i.ui?.topBody}))},[w(t.$slots,"top")],2),a("div",{"data-slot":"topFooter",class:p(d.value.topFooter({class:i.ui?.topFooter}))},null,2)],2)):h("",!0),w(t.$slots,"default"),w(t.$slots,"bottom")],2)]),_:3},8,["as","class"]))}},qt={base:"mt-8 pb-24 space-y-12"},It={__name:"UPageBody",props:{as:{type:null,required:!1},class:{type:null,required:!1}},setup(f){const i=f,u=D(),_=x(()=>z({extend:z(qt),...u.ui?.pageBody||{}}));return(d,t)=>(s(),b(o(P),{as:f.as,class:p(_.value({class:i.class}))},{default:l(()=>[w(d.$slots,"default")]),_:3},8,["as","class"]))}},Lt={slots:{root:"flex flex-col lg:grid lg:grid-cols-10 lg:gap-10",left:"lg:col-span-2",center:"lg:col-span-8",right:"lg:col-span-2 order-first lg:order-last"},variants:{left:{true:""},right:{true:""}},compoundVariants:[{left:!0,right:!0,class:{center:"lg:col-span-6"}},{left:!1,right:!1,class:{center:"lg:col-span-10"}}]},Vt={__name:"UPage",props:{as:{type:null,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1}},setup(f){const i=f,u=G(),_=D(),d=x(()=>z({extend:z(Lt),..._.ui?.page||{}})({left:!!u.left,right:!!u.right}));return(t,m)=>(s(),b(o(P),{as:f.as,"data-slot":"root",class:p(d.value.root({class:[i.ui?.root,i.class]}))},{default:l(()=>[u.left?(s(),b(o(H),{key:0,"data-slot":"left",class:p(d.value.left({class:i.ui?.left}))},{default:l(()=>[w(t.$slots,"left")]),_:3},8,["class"])):h("",!0),a("div",{"data-slot":"center",class:p(d.value.center({class:i.ui?.center}))},[w(t.$slots,"default")],2),u.right?(s(),b(o(H),{key:1,"data-slot":"right",class:p(d.value.right({class:i.ui?.right}))},{default:l(()=>[w(t.$slots,"right")]),_:3},8,["class"])):h("",!0)]),_:3},8,["as","class"]))}},Mt=vt(gt),Nt={key:0,class:"py-24 text-center"},Ot={key:1,class:"py-24 text-center"},Ht={key:2,class:"py-24 text-center"},Rt={key:3,class:"py-24 text-center"},jt={class:"flex items-center justify-between mb-4"},Gt={class:"text-2xl font-bold"},Jt={class:"flex items-center gap-2"},Kt={class:"border border-default rounded-lg overflow-hidden"},Wt={class:"flex items-center justify-between mb-4"},Zt={class:"text-2xl font-bold"},Qt={class:"flex items-center gap-2"},Xt={class:"flex flex-wrap items-center gap-4 text-sm text-dimmed mb-6"},Yt={key:0,class:"flex items-center gap-1.5"},te={class:"flex items-center gap-1.5"},ee={key:1,class:"flex items-center gap-1.5"},oe={key:2,class:"flex items-center gap-1.5"},se={class:"flex gap-1"},ae={key:0,class:"border border-default rounded-lg overflow-hidden"},ne={class:"prose prose-primary dark:prose-invert max-w-none"},we=j({__name:"[uuid]",async setup(f){let i,u;const _=ct(),d=x(()=>_.params.uuid),{data:t,error:m,status:E}=([i,u]=rt(()=>$t(`/api/documents/${d.value}/public`,"$x-U1b672rk")),i=await i,u(),i),B=S([]);R(()=>t.value?.data?.content,async r=>{if(r)try{const e=await Ct(r);B.value=e.toc?.links||[]}catch(e){console.error("Failed to parse markdown for TOC:",e),B.value=[]}},{immediate:!0});const J=x(()=>m.value?.statusCode===404),K=x(()=>m.value?.statusCode===403),W=x(()=>t.value?.data?.document?.fileType==="markdown"),Z=x(()=>t.value?.data?.document?.fileType==="text"),Q=x(()=>t.value?.data?.document?.fileType==="binary"),X=x(()=>yt(t.value?.data?.document?.path||""));ut({title:()=>t.value?.data?.document?.title||"Document",description:"Shared document from Cognova",robots:()=>t.value?.data?.document?.shareType==="public"?"index, follow":"noindex, nofollow"});const{isAuthenticated:q}=Ut(),{viewSourceMode:I}=zt(),C=S(I.value);R(C,r=>I.value=r);const L=mt(),{copy:Y}=ht();async function V(){const r=t.value?.data?.content;if(!r)return;await Y(r)?L.add({title:"Copied to clipboard",icon:"i-lucide-check",color:"success"}):L.add({title:"Failed to copy",icon:"i-lucide-x",color:"error"})}function M(){const r=t.value?.data?.content,e=t.value?.data?.document?.path;if(!r||!e)return;const y=e.split("/").pop()||"document.txt",v=new Blob([r],{type:"text/plain;charset=utf-8"}),T=URL.createObjectURL(v),$=document.createElement("a");$.href=T,$.download=y,$.click(),URL.revokeObjectURL(T)}function N(r){return r?new Date(r).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"}):""}return(r,e)=>{const y=pt,v=ft,T=Mt,$=xt,O=_t,tt=bt,et=Dt,ot=Et,st=kt,at=It,nt=Vt,lt=wt;return s(),b(lt,{class:"py-8"},{default:l(()=>[o(J)?(s(),c("div",Nt,[n(y,{name:"i-lucide-file-x",class:"size-16 mx-auto mb-4 text-dimmed"}),e[2]||(e[2]=a("h1",{class:"text-2xl font-bold mb-2"}," Document Not Found ",-1)),e[3]||(e[3]=a("p",{class:"text-dimmed mb-6"}," This document doesn't exist or has been deleted. ",-1)),n(v,{to:"/",variant:"soft"},{default:l(()=>[...e[1]||(e[1]=[g(" Go Home ",-1)])]),_:1})])):o(K)?(s(),c("div",Ot,[n(y,{name:"i-lucide-lock",class:"size-16 mx-auto mb-4 text-dimmed"}),e[5]||(e[5]=a("h1",{class:"text-2xl font-bold mb-2"}," Access Denied ",-1)),e[6]||(e[6]=a("p",{class:"text-dimmed mb-6"}," This document is not publicly shared. ",-1)),n(v,{to:"/login",variant:"soft"},{default:l(()=>[...e[4]||(e[4]=[g(" Sign In ",-1)])]),_:1})])):o(Q)&&o(t)?.data?(s(),c("div",Ht,[n(y,{name:"i-lucide-file-warning",class:"size-16 mx-auto mb-4 text-dimmed"}),e[8]||(e[8]=a("h1",{class:"text-2xl font-bold mb-2"}," Cannot Preview This File ",-1)),e[9]||(e[9]=a("p",{class:"text-dimmed mb-6"}," Binary files cannot be previewed. ",-1)),n(v,{to:"/",variant:"soft"},{default:l(()=>[...e[7]||(e[7]=[g(" Go Home ",-1)])]),_:1})])):o(E)==="pending"?(s(),c("div",Rt,[n(y,{name:"i-lucide-loader-2",class:"size-8 mx-auto animate-spin text-dimmed"})])):o(Z)&&o(t)?.data?.content?(s(),c(U,{key:4},[a("div",jt,[a("h1",Gt,k(o(t).data.document.title),1),a("div",Jt,[n(v,{icon:"i-lucide-copy",variant:"ghost",size:"sm",onClick:V},{default:l(()=>[...e[10]||(e[10]=[g(" Copy ",-1)])]),_:1}),n(v,{icon:"i-lucide-download",variant:"ghost",size:"sm",onClick:M},{default:l(()=>[...e[11]||(e[11]=[g(" Download ",-1)])]),_:1}),o(q)?(s(),b(v,{key:0,icon:"i-lucide-pencil",variant:"soft",size:"sm",to:`/docs?path=${encodeURIComponent(o(t).data.document.path)}`},{default:l(()=>[...e[12]||(e[12]=[g(" Edit ",-1)])]),_:1},8,["to"])):h("",!0)])]),a("div",Kt,[n(O,null,{fallback:l(()=>[n($,{class:"h-96"})]),default:l(()=>[n(T,{"model-value":o(t).data.content,language:o(X),"read-only":!0,class:"max-h-[80vh]"},null,8,["model-value","language"])]),_:1})])],64)):o(W)&&o(t)?.data?.content?(s(),c(U,{key:5},[a("div",Wt,[a("h1",Zt,k(o(t).data.document.title),1),a("div",Qt,[n(v,{icon:o(C)?"i-lucide-eye":"i-lucide-code",variant:"ghost",size:"sm",onClick:e[0]||(e[0]=F=>C.value=!o(C))},{default:l(()=>[g(k(o(C)?"Preview":"Source"),1)]),_:1},8,["icon"]),n(v,{icon:"i-lucide-copy",variant:"ghost",size:"sm",onClick:V},{default:l(()=>[...e[13]||(e[13]=[g(" Copy ",-1)])]),_:1}),n(v,{icon:"i-lucide-download",variant:"ghost",size:"sm",onClick:M},{default:l(()=>[...e[14]||(e[14]=[g(" Download ",-1)])]),_:1}),o(q)?(s(),b(v,{key:0,icon:"i-lucide-pencil",variant:"soft",size:"sm",to:`/docs?path=${encodeURIComponent(o(t).data.document.path)}`},{default:l(()=>[...e[15]||(e[15]=[g(" Edit ",-1)])]),_:1},8,["to"])):h("",!0)])]),a("div",Xt,[o(t).data.document.creatorName?(s(),c("div",Yt,[n(y,{name:"i-lucide-user",class:"size-4"}),a("span",null,k(o(t).data.document.creatorName),1)])):h("",!0),a("div",te,[n(y,{name:"i-lucide-calendar",class:"size-4"}),a("span",null,k(N(o(t).data.document.createdAt)),1)]),o(t).data.document.modifiedAt?(s(),c("div",ee,[n(y,{name:"i-lucide-pencil",class:"size-4"}),a("span",null,"Updated "+k(N(o(t).data.document.modifiedAt)),1)])):h("",!0),o(t).data.document.tags?.length?(s(),c("div",oe,[n(y,{name:"i-lucide-tags",class:"size-4"}),a("div",se,[(s(!0),c(U,null,A(o(t).data.document.tags,F=>(s(),b(tt,{key:F,color:"neutral",variant:"subtle",size:"sm"},{default:l(()=>[g(k(F),1)]),_:2},1024))),128))])])):h("",!0)]),o(C)?(s(),c("div",ae,[n(O,null,{fallback:l(()=>[n($,{class:"h-96"})]),default:l(()=>[n(T,{"model-value":o(t).data.content,language:"markdown","read-only":!0,class:"max-h-[80vh]"},null,8,["model-value"])]),_:1})])):(s(),b(nt,{key:1},{left:l(()=>[n(ot,null,{default:l(()=>[n(et,{links:o(B)},null,8,["links"])]),_:1})]),default:l(()=>[n(at,null,{default:l(()=>[a("div",ne,[n(st,{value:o(t).data.content},null,8,["value"])])]),_:1})]),_:1}))],64)):h("",!0)]),_:1})}}});export{we as default};
1
+ import{d as j,e as S,C as it,a5 as dt,M as c,o as s,ac as a,al as U,am as A,aa as h,af as k,$ as p,a as o,ax as G,W as D,i as x,ap as z,c as b,w as l,r as w,P,bJ as H,ah as ct,bD as rt,h as R,bK as ut,aj as mt,Z as n,_ as pt,a0 as ft,ab as g}from"./CBqC92gC.js";import{_ as _t,a as vt}from"./-Q9J9PRu.js";import{_ as gt}from"./Br712gOY.js";import{d as yt,_ as xt,u as ht}from"./B6lgiDn1.js";import{_ as bt}from"./BPfVf7kt.js";import{_ as kt}from"./Bq2pktu_.js";import{_ as wt}from"./CRLO8tx3.js";import{p as Ct}from"./BN8XazaH.js";import{u as $t}from"./BDhTzPPo.js";import{u as Ut}from"./Bti4Nb4c.js";import{u as zt}from"./BZFf3mr_.js";import"./Vcq4gwWv.js";import"./88opOQSr.js";import"./iik6CYzq.js";import"./-O86rjFZ.js";import"./CqkleIqs.js";import"./DrQVjmDX.js";const Tt={key:0,class:"space-y-1"},Bt=["onClick"],Ft=["onClick"],St={key:1,class:"text-sm text-dimmed italic"},At=j({__name:"ViewToc",props:{links:{}},setup(f){const i=S(null);function u(_){const d=document.getElementById(_);d&&d.scrollIntoView({behavior:"smooth",block:"start"})}return it(()=>{const _=document.querySelectorAll("h1[id], h2[id], h3[id], h4[id], h5[id], h6[id]"),d=new IntersectionObserver(t=>{for(const m of t)if(m.isIntersecting){i.value=m.target.id;break}},{rootMargin:"-80px 0px -80% 0px"});_.forEach(t=>d.observe(t)),dt(()=>d.disconnect())}),(_,d)=>f.links.length?(s(),c("nav",Tt,[d[0]||(d[0]=a("p",{class:"text-sm font-semibold text-muted mb-3"}," On this page ",-1)),(s(!0),c(U,null,A(f.links,t=>(s(),c(U,{key:t.id},[a("button",{type:"button",class:p(["block w-full text-left text-sm py-1 hover:text-primary transition-colors",[o(i)===t.id?"text-primary font-medium":"text-dimmed",t.depth===2&&"pl-0",t.depth===3&&"pl-4",t.depth>=4&&"pl-8"]]),onClick:m=>u(t.id)},k(t.text),11,Bt),t.children?.length?(s(!0),c(U,{key:0},A(t.children,m=>(s(),c("button",{key:m.id,type:"button",class:p(["block w-full text-left text-sm py-1 hover:text-primary transition-colors pl-4",o(i)===m.id?"text-primary font-medium":"text-dimmed"]),onClick:E=>u(m.id)},k(m.text),11,Ft))),128)):h("",!0)],64))),128))])):(s(),c("div",St," No headings found "))}}),Dt=Object.assign(At,{__name:"ViewToc"}),Pt={slots:{root:"hidden overflow-y-auto lg:block lg:max-h-[calc(100vh-var(--ui-header-height))] lg:sticky lg:top-(--ui-header-height) py-8 lg:ps-4 lg:-ms-4 lg:pe-6.5",container:"relative",top:"sticky -top-8 -mt-8 pointer-events-none z-[1]",topHeader:"h-8 bg-default -mx-4 px-4",topBody:"bg-default relative pointer-events-auto flex flex-col -mx-4 px-4",topFooter:"h-8 bg-gradient-to-b from-default -mx-4 px-4"}},Et={__name:"UPageAside",props:{as:{type:null,required:!1,default:"aside"},class:{type:null,required:!1},ui:{type:null,required:!1}},setup(f){const i=f,u=G(),_=D(),d=x(()=>z({extend:z(Pt),..._.ui?.pageAside||{}})());return(t,m)=>(s(),b(o(P),{as:f.as,"data-slot":"root",class:p(d.value.root({class:[i.ui?.root,i.class]}))},{default:l(()=>[a("div",{"data-slot":"container",class:p(d.value.container({class:i.ui?.container}))},[u.top?(s(),c("div",{key:0,"data-slot":"top",class:p(d.value.top({class:i.ui?.top}))},[a("div",{"data-slot":"topHeader",class:p(d.value.topHeader({class:i.ui?.topHeader}))},null,2),a("div",{"data-slot":"topBody",class:p(d.value.topBody({class:i.ui?.topBody}))},[w(t.$slots,"top")],2),a("div",{"data-slot":"topFooter",class:p(d.value.topFooter({class:i.ui?.topFooter}))},null,2)],2)):h("",!0),w(t.$slots,"default"),w(t.$slots,"bottom")],2)]),_:3},8,["as","class"]))}},qt={base:"mt-8 pb-24 space-y-12"},It={__name:"UPageBody",props:{as:{type:null,required:!1},class:{type:null,required:!1}},setup(f){const i=f,u=D(),_=x(()=>z({extend:z(qt),...u.ui?.pageBody||{}}));return(d,t)=>(s(),b(o(P),{as:f.as,class:p(_.value({class:i.class}))},{default:l(()=>[w(d.$slots,"default")]),_:3},8,["as","class"]))}},Lt={slots:{root:"flex flex-col lg:grid lg:grid-cols-10 lg:gap-10",left:"lg:col-span-2",center:"lg:col-span-8",right:"lg:col-span-2 order-first lg:order-last"},variants:{left:{true:""},right:{true:""}},compoundVariants:[{left:!0,right:!0,class:{center:"lg:col-span-6"}},{left:!1,right:!1,class:{center:"lg:col-span-10"}}]},Vt={__name:"UPage",props:{as:{type:null,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1}},setup(f){const i=f,u=G(),_=D(),d=x(()=>z({extend:z(Lt),..._.ui?.page||{}})({left:!!u.left,right:!!u.right}));return(t,m)=>(s(),b(o(P),{as:f.as,"data-slot":"root",class:p(d.value.root({class:[i.ui?.root,i.class]}))},{default:l(()=>[u.left?(s(),b(o(H),{key:0,"data-slot":"left",class:p(d.value.left({class:i.ui?.left}))},{default:l(()=>[w(t.$slots,"left")]),_:3},8,["class"])):h("",!0),a("div",{"data-slot":"center",class:p(d.value.center({class:i.ui?.center}))},[w(t.$slots,"default")],2),u.right?(s(),b(o(H),{key:1,"data-slot":"right",class:p(d.value.right({class:i.ui?.right}))},{default:l(()=>[w(t.$slots,"right")]),_:3},8,["class"])):h("",!0)]),_:3},8,["as","class"]))}},Mt=vt(gt),Nt={key:0,class:"py-24 text-center"},Ot={key:1,class:"py-24 text-center"},Ht={key:2,class:"py-24 text-center"},Rt={key:3,class:"py-24 text-center"},jt={class:"flex items-center justify-between mb-4"},Gt={class:"text-2xl font-bold"},Jt={class:"flex items-center gap-2"},Kt={class:"border border-default rounded-lg overflow-hidden"},Wt={class:"flex items-center justify-between mb-4"},Zt={class:"text-2xl font-bold"},Qt={class:"flex items-center gap-2"},Xt={class:"flex flex-wrap items-center gap-4 text-sm text-dimmed mb-6"},Yt={key:0,class:"flex items-center gap-1.5"},te={class:"flex items-center gap-1.5"},ee={key:1,class:"flex items-center gap-1.5"},oe={key:2,class:"flex items-center gap-1.5"},se={class:"flex gap-1"},ae={key:0,class:"border border-default rounded-lg overflow-hidden"},ne={class:"prose prose-primary dark:prose-invert max-w-none"},we=j({__name:"[uuid]",async setup(f){let i,u;const _=ct(),d=x(()=>_.params.uuid),{data:t,error:m,status:E}=([i,u]=rt(()=>$t(`/api/documents/${d.value}/public`,"$x-U1b672rk")),i=await i,u(),i),B=S([]);R(()=>t.value?.data?.content,async r=>{if(r)try{const e=await Ct(r);B.value=e.toc?.links||[]}catch(e){console.error("Failed to parse markdown for TOC:",e),B.value=[]}},{immediate:!0});const J=x(()=>m.value?.statusCode===404),K=x(()=>m.value?.statusCode===403),W=x(()=>t.value?.data?.document?.fileType==="markdown"),Z=x(()=>t.value?.data?.document?.fileType==="text"),Q=x(()=>t.value?.data?.document?.fileType==="binary"),X=x(()=>yt(t.value?.data?.document?.path||""));ut({title:()=>t.value?.data?.document?.title||"Document",description:"Shared document from Cognova",robots:()=>t.value?.data?.document?.shareType==="public"?"index, follow":"noindex, nofollow"});const{isAuthenticated:q}=Ut(),{viewSourceMode:I}=zt(),C=S(I.value);R(C,r=>I.value=r);const L=mt(),{copy:Y}=ht();async function V(){const r=t.value?.data?.content;if(!r)return;await Y(r)?L.add({title:"Copied to clipboard",icon:"i-lucide-check",color:"success"}):L.add({title:"Failed to copy",icon:"i-lucide-x",color:"error"})}function M(){const r=t.value?.data?.content,e=t.value?.data?.document?.path;if(!r||!e)return;const y=e.split("/").pop()||"document.txt",v=new Blob([r],{type:"text/plain;charset=utf-8"}),T=URL.createObjectURL(v),$=document.createElement("a");$.href=T,$.download=y,$.click(),URL.revokeObjectURL(T)}function N(r){return r?new Date(r).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"}):""}return(r,e)=>{const y=pt,v=ft,T=Mt,$=xt,O=_t,tt=bt,et=Dt,ot=Et,st=kt,at=It,nt=Vt,lt=wt;return s(),b(lt,{class:"py-8"},{default:l(()=>[o(J)?(s(),c("div",Nt,[n(y,{name:"i-lucide-file-x",class:"size-16 mx-auto mb-4 text-dimmed"}),e[2]||(e[2]=a("h1",{class:"text-2xl font-bold mb-2"}," Document Not Found ",-1)),e[3]||(e[3]=a("p",{class:"text-dimmed mb-6"}," This document doesn't exist or has been deleted. ",-1)),n(v,{to:"/",variant:"soft"},{default:l(()=>[...e[1]||(e[1]=[g(" Go Home ",-1)])]),_:1})])):o(K)?(s(),c("div",Ot,[n(y,{name:"i-lucide-lock",class:"size-16 mx-auto mb-4 text-dimmed"}),e[5]||(e[5]=a("h1",{class:"text-2xl font-bold mb-2"}," Access Denied ",-1)),e[6]||(e[6]=a("p",{class:"text-dimmed mb-6"}," This document is not publicly shared. ",-1)),n(v,{to:"/login",variant:"soft"},{default:l(()=>[...e[4]||(e[4]=[g(" Sign In ",-1)])]),_:1})])):o(Q)&&o(t)?.data?(s(),c("div",Ht,[n(y,{name:"i-lucide-file-warning",class:"size-16 mx-auto mb-4 text-dimmed"}),e[8]||(e[8]=a("h1",{class:"text-2xl font-bold mb-2"}," Cannot Preview This File ",-1)),e[9]||(e[9]=a("p",{class:"text-dimmed mb-6"}," Binary files cannot be previewed. ",-1)),n(v,{to:"/",variant:"soft"},{default:l(()=>[...e[7]||(e[7]=[g(" Go Home ",-1)])]),_:1})])):o(E)==="pending"?(s(),c("div",Rt,[n(y,{name:"i-lucide-loader-2",class:"size-8 mx-auto animate-spin text-dimmed"})])):o(Z)&&o(t)?.data?.content?(s(),c(U,{key:4},[a("div",jt,[a("h1",Gt,k(o(t).data.document.title),1),a("div",Jt,[n(v,{icon:"i-lucide-copy",variant:"ghost",size:"sm",onClick:V},{default:l(()=>[...e[10]||(e[10]=[g(" Copy ",-1)])]),_:1}),n(v,{icon:"i-lucide-download",variant:"ghost",size:"sm",onClick:M},{default:l(()=>[...e[11]||(e[11]=[g(" Download ",-1)])]),_:1}),o(q)?(s(),b(v,{key:0,icon:"i-lucide-pencil",variant:"soft",size:"sm",to:`/docs?path=${encodeURIComponent(o(t).data.document.path)}`},{default:l(()=>[...e[12]||(e[12]=[g(" Edit ",-1)])]),_:1},8,["to"])):h("",!0)])]),a("div",Kt,[n(O,null,{fallback:l(()=>[n($,{class:"h-96"})]),default:l(()=>[n(T,{"model-value":o(t).data.content,language:o(X),"read-only":!0,class:"max-h-[80vh]"},null,8,["model-value","language"])]),_:1})])],64)):o(W)&&o(t)?.data?.content?(s(),c(U,{key:5},[a("div",Wt,[a("h1",Zt,k(o(t).data.document.title),1),a("div",Qt,[n(v,{icon:o(C)?"i-lucide-eye":"i-lucide-code",variant:"ghost",size:"sm",onClick:e[0]||(e[0]=F=>C.value=!o(C))},{default:l(()=>[g(k(o(C)?"Preview":"Source"),1)]),_:1},8,["icon"]),n(v,{icon:"i-lucide-copy",variant:"ghost",size:"sm",onClick:V},{default:l(()=>[...e[13]||(e[13]=[g(" Copy ",-1)])]),_:1}),n(v,{icon:"i-lucide-download",variant:"ghost",size:"sm",onClick:M},{default:l(()=>[...e[14]||(e[14]=[g(" Download ",-1)])]),_:1}),o(q)?(s(),b(v,{key:0,icon:"i-lucide-pencil",variant:"soft",size:"sm",to:`/docs?path=${encodeURIComponent(o(t).data.document.path)}`},{default:l(()=>[...e[15]||(e[15]=[g(" Edit ",-1)])]),_:1},8,["to"])):h("",!0)])]),a("div",Xt,[o(t).data.document.creatorName?(s(),c("div",Yt,[n(y,{name:"i-lucide-user",class:"size-4"}),a("span",null,k(o(t).data.document.creatorName),1)])):h("",!0),a("div",te,[n(y,{name:"i-lucide-calendar",class:"size-4"}),a("span",null,k(N(o(t).data.document.createdAt)),1)]),o(t).data.document.modifiedAt?(s(),c("div",ee,[n(y,{name:"i-lucide-pencil",class:"size-4"}),a("span",null,"Updated "+k(N(o(t).data.document.modifiedAt)),1)])):h("",!0),o(t).data.document.tags?.length?(s(),c("div",oe,[n(y,{name:"i-lucide-tags",class:"size-4"}),a("div",se,[(s(!0),c(U,null,A(o(t).data.document.tags,F=>(s(),b(tt,{key:F,color:"neutral",variant:"subtle",size:"sm"},{default:l(()=>[g(k(F),1)]),_:2},1024))),128))])])):h("",!0)]),o(C)?(s(),c("div",ae,[n(O,null,{fallback:l(()=>[n($,{class:"h-96"})]),default:l(()=>[n(T,{"model-value":o(t).data.content,language:"markdown","read-only":!0,class:"max-h-[80vh]"},null,8,["model-value"])]),_:1})])):(s(),b(nt,{key:1},{left:l(()=>[n(ot,null,{default:l(()=>[n(et,{links:o(B)},null,8,["links"])]),_:1})]),default:l(()=>[n(at,null,{default:l(()=>[a("div",ne,[n(st,{value:o(t).data.content},null,8,["value"])])]),_:1})]),_:1}))],64)):h("",!0)]),_:1})}}});export{we as default};
@@ -1 +1 @@
1
- import{a9 as l,a7 as s}from"./BOCn_SGf.js";function t(r,i){return l(r)?!1:Array.isArray(r)?r.some(a=>s(a,i)):s(r,i)}export{t as i};
1
+ import{a9 as l,a7 as s}from"./CBqC92gC.js";function t(r,i){return l(r)?!1:Array.isArray(r)?r.some(a=>s(a,i)):s(r,i)}export{t as i};
@@ -1 +1 @@
1
- import{ax as J,W as K,aN as Q,aD as X,aE as Y,i as x,aO as Z,C as _,c as u,o as n,w as ee,ac as ie,r as f,M as I,aa as g,m as q,a,$ as r,P as ae,ap as S,_ as A,aF as le,aP as se}from"./BOCn_SGf.js";import{u as ne}from"./hCeWb_38.js";const te={slots:{root:"relative inline-flex items-center",base:["w-full rounded-md border-0 appearance-none placeholder:text-dimmed focus:outline-none disabled:cursor-not-allowed disabled:opacity-75","transition-colors"],leading:"absolute inset-y-0 start-0 flex items-center",leadingIcon:"shrink-0 text-dimmed",leadingAvatar:"shrink-0",leadingAvatarSize:"",trailing:"absolute inset-y-0 end-0 flex items-center",trailingIcon:"shrink-0 text-dimmed"},variants:{fieldGroup:{horizontal:{root:"group has-focus-visible:z-[1]",base:"group-not-only:group-first:rounded-e-none group-not-only:group-last:rounded-s-none group-not-last:group-not-first:rounded-none"},vertical:{root:"group has-focus-visible:z-[1]",base:"group-not-only:group-first:rounded-b-none group-not-only:group-last:rounded-t-none group-not-last:group-not-first:rounded-none"}},size:{xs:{base:"px-2 py-1 text-xs gap-1",leading:"ps-2",trailing:"pe-2",leadingIcon:"size-4",leadingAvatarSize:"3xs",trailingIcon:"size-4"},sm:{base:"px-2.5 py-1.5 text-xs gap-1.5",leading:"ps-2.5",trailing:"pe-2.5",leadingIcon:"size-4",leadingAvatarSize:"3xs",trailingIcon:"size-4"},md:{base:"px-2.5 py-1.5 text-sm gap-1.5",leading:"ps-2.5",trailing:"pe-2.5",leadingIcon:"size-5",leadingAvatarSize:"2xs",trailingIcon:"size-5"},lg:{base:"px-3 py-2 text-sm gap-2",leading:"ps-3",trailing:"pe-3",leadingIcon:"size-5",leadingAvatarSize:"2xs",trailingIcon:"size-5"},xl:{base:"px-3 py-2 text-base gap-2",leading:"ps-3",trailing:"pe-3",leadingIcon:"size-6",leadingAvatarSize:"xs",trailingIcon:"size-6"}},variant:{outline:"text-highlighted bg-default ring ring-inset ring-accented",soft:"text-highlighted bg-elevated/50 hover:bg-elevated focus:bg-elevated disabled:bg-elevated/50",subtle:"text-highlighted bg-elevated ring ring-inset ring-accented",ghost:"text-highlighted bg-transparent hover:bg-elevated focus:bg-elevated disabled:bg-transparent dark:disabled:bg-transparent",none:"text-highlighted bg-transparent"},color:{primary:"",secondary:"",success:"",info:"",warning:"",error:"",neutral:""},leading:{true:""},trailing:{true:""},loading:{true:""},highlight:{true:""},type:{file:"file:me-1.5 file:font-medium file:text-muted file:outline-none"}},compoundVariants:[{color:"primary",variant:["outline","subtle"],class:"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary"},{color:"secondary",variant:["outline","subtle"],class:"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-secondary"},{color:"success",variant:["outline","subtle"],class:"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-success"},{color:"info",variant:["outline","subtle"],class:"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-info"},{color:"warning",variant:["outline","subtle"],class:"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-warning"},{color:"error",variant:["outline","subtle"],class:"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-error"},{color:"primary",highlight:!0,class:"ring ring-inset ring-primary"},{color:"secondary",highlight:!0,class:"ring ring-inset ring-secondary"},{color:"success",highlight:!0,class:"ring ring-inset ring-success"},{color:"info",highlight:!0,class:"ring ring-inset ring-info"},{color:"warning",highlight:!0,class:"ring ring-inset ring-warning"},{color:"error",highlight:!0,class:"ring ring-inset ring-error"},{color:"neutral",variant:["outline","subtle"],class:"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-inverted"},{color:"neutral",highlight:!0,class:"ring ring-inset ring-inverted"},{leading:!0,size:"xs",class:"ps-7"},{leading:!0,size:"sm",class:"ps-8"},{leading:!0,size:"md",class:"ps-9"},{leading:!0,size:"lg",class:"ps-10"},{leading:!0,size:"xl",class:"ps-11"},{trailing:!0,size:"xs",class:"pe-7"},{trailing:!0,size:"sm",class:"pe-8"},{trailing:!0,size:"md",class:"pe-9"},{trailing:!0,size:"lg",class:"pe-10"},{trailing:!0,size:"xl",class:"pe-11"},{loading:!0,leading:!0,class:{leadingIcon:"animate-spin"}},{loading:!0,leading:!1,trailing:!0,class:{trailingIcon:"animate-spin"}}],defaultVariants:{size:"md",color:"primary",variant:"outline"}},re=["id","type","value","name","placeholder","disabled","required","autocomplete"],ge=Object.assign({inheritAttrs:!1},{__name:"UInput",props:{as:{type:null,required:!1},id:{type:String,required:!1},name:{type:String,required:!1},type:{type:null,required:!1,default:"text"},placeholder:{type:String,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},required:{type:Boolean,required:!1},autocomplete:{type:null,required:!1,default:"off"},autofocus:{type:Boolean,required:!1},autofocusDelay:{type:Number,required:!1,default:0},disabled:{type:Boolean,required:!1},highlight:{type:Boolean,required:!1},modelValue:{type:null,required:!1},defaultValue:{type:null,required:!1},modelModifiers:{type:Object,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},leading:{type:Boolean,required:!1},leadingIcon:{type:null,required:!1},trailing:{type:Boolean,required:!1},trailingIcon:{type:null,required:!1},loading:{type:Boolean,required:!1},loadingIcon:{type:null,required:!1}},emits:["update:modelValue","blur","change"],setup(s,{expose:B,emit:k}){const e=s,d=k,o=J(),m=ne(e,"modelValue",d,{defaultValue:e.defaultValue}),V=K(),{emitFormBlur:F,emitFormInput:M,emitFormChange:C,size:w,color:N,id:$,name:G,highlight:O,disabled:P,emitFormFocus:v,ariaAttrs:R}=Q(e,{deferInputValidation:!0}),{orientation:T,size:j}=X(e),{isLeading:c,isTrailing:b,leadingIconName:h,trailingIconName:y}=Y(e),D=x(()=>j.value||w.value),l=x(()=>S({extend:S(te),...V.ui?.input||{}})({type:e.type,color:N.value,variant:e.variant,size:D?.value,loading:e.loading,highlight:O.value,leading:c.value||!!e.avatar||!!o.leading,trailing:b.value||!!o.trailing,fieldGroup:T.value})),p=Z("inputRef");function z(i){e.modelModifiers?.trim&&(i=i?.trim()??null),(e.modelModifiers?.number||e.type==="number")&&(i=se(i)),e.modelModifiers?.nullable&&(i||=null),e.modelModifiers?.optional&&(i||=void 0),m.value=i,M()}function E(i){e.modelModifiers?.lazy||z(i.target.value)}function L(i){const t=i.target.value;e.modelModifiers?.lazy&&z(t),e.modelModifiers?.trim&&(i.target.value=t.trim()),C(),d("change",i)}function U(i){F(),d("blur",i)}function W(){e.autofocus&&p.value?.focus()}return _(()=>{setTimeout(()=>{W()},e.autofocusDelay)}),B({inputRef:p}),(i,t)=>(n(),u(a(ae),{as:s.as,"data-slot":"root",class:r(l.value.root({class:[e.ui?.root,e.class]}))},{default:ee(()=>[ie("input",q({id:a($),ref_key:"inputRef",ref:p,type:s.type,value:a(m),name:a(G),placeholder:s.placeholder,"data-slot":"base",class:l.value.base({class:e.ui?.base}),disabled:a(P),required:s.required,autocomplete:s.autocomplete},{...i.$attrs,...a(R)},{onInput:E,onBlur:U,onChange:L,onFocus:t[0]||(t[0]=(...H)=>a(v)&&a(v)(...H))}),null,16,re),f(i.$slots,"default",{ui:l.value}),a(c)||s.avatar||o.leading?(n(),I("span",{key:0,"data-slot":"leading",class:r(l.value.leading({class:e.ui?.leading}))},[f(i.$slots,"leading",{ui:l.value},()=>[a(c)&&a(h)?(n(),u(A,{key:0,name:a(h),"data-slot":"leadingIcon",class:r(l.value.leadingIcon({class:e.ui?.leadingIcon}))},null,8,["name","class"])):s.avatar?(n(),u(le,q({key:1,size:e.ui?.leadingAvatarSize||l.value.leadingAvatarSize()},s.avatar,{"data-slot":"leadingAvatar",class:l.value.leadingAvatar({class:e.ui?.leadingAvatar})}),null,16,["size","class"])):g("",!0)])],2)):g("",!0),a(b)||o.trailing?(n(),I("span",{key:1,"data-slot":"trailing",class:r(l.value.trailing({class:e.ui?.trailing}))},[f(i.$slots,"trailing",{ui:l.value},()=>[a(y)?(n(),u(A,{key:0,name:a(y),"data-slot":"trailingIcon",class:r(l.value.trailingIcon({class:e.ui?.trailingIcon}))},null,8,["name","class"])):g("",!0)])],2)):g("",!0)]),_:3},8,["as","class"]))}});export{ge as _};
1
+ import{ax as J,W as K,aN as Q,aD as X,aE as Y,i as x,aO as Z,C as _,c as u,o as n,w as ee,ac as ie,r as f,M as I,aa as g,m as q,a,$ as r,P as ae,ap as S,_ as A,aF as le,aP as se}from"./CBqC92gC.js";import{u as ne}from"./DUf0f355.js";const te={slots:{root:"relative inline-flex items-center",base:["w-full rounded-md border-0 appearance-none placeholder:text-dimmed focus:outline-none disabled:cursor-not-allowed disabled:opacity-75","transition-colors"],leading:"absolute inset-y-0 start-0 flex items-center",leadingIcon:"shrink-0 text-dimmed",leadingAvatar:"shrink-0",leadingAvatarSize:"",trailing:"absolute inset-y-0 end-0 flex items-center",trailingIcon:"shrink-0 text-dimmed"},variants:{fieldGroup:{horizontal:{root:"group has-focus-visible:z-[1]",base:"group-not-only:group-first:rounded-e-none group-not-only:group-last:rounded-s-none group-not-last:group-not-first:rounded-none"},vertical:{root:"group has-focus-visible:z-[1]",base:"group-not-only:group-first:rounded-b-none group-not-only:group-last:rounded-t-none group-not-last:group-not-first:rounded-none"}},size:{xs:{base:"px-2 py-1 text-xs gap-1",leading:"ps-2",trailing:"pe-2",leadingIcon:"size-4",leadingAvatarSize:"3xs",trailingIcon:"size-4"},sm:{base:"px-2.5 py-1.5 text-xs gap-1.5",leading:"ps-2.5",trailing:"pe-2.5",leadingIcon:"size-4",leadingAvatarSize:"3xs",trailingIcon:"size-4"},md:{base:"px-2.5 py-1.5 text-sm gap-1.5",leading:"ps-2.5",trailing:"pe-2.5",leadingIcon:"size-5",leadingAvatarSize:"2xs",trailingIcon:"size-5"},lg:{base:"px-3 py-2 text-sm gap-2",leading:"ps-3",trailing:"pe-3",leadingIcon:"size-5",leadingAvatarSize:"2xs",trailingIcon:"size-5"},xl:{base:"px-3 py-2 text-base gap-2",leading:"ps-3",trailing:"pe-3",leadingIcon:"size-6",leadingAvatarSize:"xs",trailingIcon:"size-6"}},variant:{outline:"text-highlighted bg-default ring ring-inset ring-accented",soft:"text-highlighted bg-elevated/50 hover:bg-elevated focus:bg-elevated disabled:bg-elevated/50",subtle:"text-highlighted bg-elevated ring ring-inset ring-accented",ghost:"text-highlighted bg-transparent hover:bg-elevated focus:bg-elevated disabled:bg-transparent dark:disabled:bg-transparent",none:"text-highlighted bg-transparent"},color:{primary:"",secondary:"",success:"",info:"",warning:"",error:"",neutral:""},leading:{true:""},trailing:{true:""},loading:{true:""},highlight:{true:""},type:{file:"file:me-1.5 file:font-medium file:text-muted file:outline-none"}},compoundVariants:[{color:"primary",variant:["outline","subtle"],class:"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary"},{color:"secondary",variant:["outline","subtle"],class:"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-secondary"},{color:"success",variant:["outline","subtle"],class:"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-success"},{color:"info",variant:["outline","subtle"],class:"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-info"},{color:"warning",variant:["outline","subtle"],class:"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-warning"},{color:"error",variant:["outline","subtle"],class:"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-error"},{color:"primary",highlight:!0,class:"ring ring-inset ring-primary"},{color:"secondary",highlight:!0,class:"ring ring-inset ring-secondary"},{color:"success",highlight:!0,class:"ring ring-inset ring-success"},{color:"info",highlight:!0,class:"ring ring-inset ring-info"},{color:"warning",highlight:!0,class:"ring ring-inset ring-warning"},{color:"error",highlight:!0,class:"ring ring-inset ring-error"},{color:"neutral",variant:["outline","subtle"],class:"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-inverted"},{color:"neutral",highlight:!0,class:"ring ring-inset ring-inverted"},{leading:!0,size:"xs",class:"ps-7"},{leading:!0,size:"sm",class:"ps-8"},{leading:!0,size:"md",class:"ps-9"},{leading:!0,size:"lg",class:"ps-10"},{leading:!0,size:"xl",class:"ps-11"},{trailing:!0,size:"xs",class:"pe-7"},{trailing:!0,size:"sm",class:"pe-8"},{trailing:!0,size:"md",class:"pe-9"},{trailing:!0,size:"lg",class:"pe-10"},{trailing:!0,size:"xl",class:"pe-11"},{loading:!0,leading:!0,class:{leadingIcon:"animate-spin"}},{loading:!0,leading:!1,trailing:!0,class:{trailingIcon:"animate-spin"}}],defaultVariants:{size:"md",color:"primary",variant:"outline"}},re=["id","type","value","name","placeholder","disabled","required","autocomplete"],ge=Object.assign({inheritAttrs:!1},{__name:"UInput",props:{as:{type:null,required:!1},id:{type:String,required:!1},name:{type:String,required:!1},type:{type:null,required:!1,default:"text"},placeholder:{type:String,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},required:{type:Boolean,required:!1},autocomplete:{type:null,required:!1,default:"off"},autofocus:{type:Boolean,required:!1},autofocusDelay:{type:Number,required:!1,default:0},disabled:{type:Boolean,required:!1},highlight:{type:Boolean,required:!1},modelValue:{type:null,required:!1},defaultValue:{type:null,required:!1},modelModifiers:{type:Object,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},leading:{type:Boolean,required:!1},leadingIcon:{type:null,required:!1},trailing:{type:Boolean,required:!1},trailingIcon:{type:null,required:!1},loading:{type:Boolean,required:!1},loadingIcon:{type:null,required:!1}},emits:["update:modelValue","blur","change"],setup(s,{expose:B,emit:k}){const e=s,d=k,o=J(),m=ne(e,"modelValue",d,{defaultValue:e.defaultValue}),V=K(),{emitFormBlur:F,emitFormInput:M,emitFormChange:C,size:w,color:N,id:$,name:G,highlight:O,disabled:P,emitFormFocus:v,ariaAttrs:R}=Q(e,{deferInputValidation:!0}),{orientation:T,size:j}=X(e),{isLeading:c,isTrailing:b,leadingIconName:h,trailingIconName:y}=Y(e),D=x(()=>j.value||w.value),l=x(()=>S({extend:S(te),...V.ui?.input||{}})({type:e.type,color:N.value,variant:e.variant,size:D?.value,loading:e.loading,highlight:O.value,leading:c.value||!!e.avatar||!!o.leading,trailing:b.value||!!o.trailing,fieldGroup:T.value})),p=Z("inputRef");function z(i){e.modelModifiers?.trim&&(i=i?.trim()??null),(e.modelModifiers?.number||e.type==="number")&&(i=se(i)),e.modelModifiers?.nullable&&(i||=null),e.modelModifiers?.optional&&(i||=void 0),m.value=i,M()}function E(i){e.modelModifiers?.lazy||z(i.target.value)}function L(i){const t=i.target.value;e.modelModifiers?.lazy&&z(t),e.modelModifiers?.trim&&(i.target.value=t.trim()),C(),d("change",i)}function U(i){F(),d("blur",i)}function W(){e.autofocus&&p.value?.focus()}return _(()=>{setTimeout(()=>{W()},e.autofocusDelay)}),B({inputRef:p}),(i,t)=>(n(),u(a(ae),{as:s.as,"data-slot":"root",class:r(l.value.root({class:[e.ui?.root,e.class]}))},{default:ee(()=>[ie("input",q({id:a($),ref_key:"inputRef",ref:p,type:s.type,value:a(m),name:a(G),placeholder:s.placeholder,"data-slot":"base",class:l.value.base({class:e.ui?.base}),disabled:a(P),required:s.required,autocomplete:s.autocomplete},{...i.$attrs,...a(R)},{onInput:E,onBlur:U,onChange:L,onFocus:t[0]||(t[0]=(...H)=>a(v)&&a(v)(...H))}),null,16,re),f(i.$slots,"default",{ui:l.value}),a(c)||s.avatar||o.leading?(n(),I("span",{key:0,"data-slot":"leading",class:r(l.value.leading({class:e.ui?.leading}))},[f(i.$slots,"leading",{ui:l.value},()=>[a(c)&&a(h)?(n(),u(A,{key:0,name:a(h),"data-slot":"leadingIcon",class:r(l.value.leadingIcon({class:e.ui?.leadingIcon}))},null,8,["name","class"])):s.avatar?(n(),u(le,q({key:1,size:e.ui?.leadingAvatarSize||l.value.leadingAvatarSize()},s.avatar,{"data-slot":"leadingAvatar",class:l.value.leadingAvatar({class:e.ui?.leadingAvatar})}),null,16,["size","class"])):g("",!0)])],2)):g("",!0),a(b)||o.trailing?(n(),I("span",{key:1,"data-slot":"trailing",class:r(l.value.trailing({class:e.ui?.trailing}))},[f(i.$slots,"trailing",{ui:l.value},()=>[a(y)?(n(),u(A,{key:0,name:a(y),"data-slot":"trailingIcon",class:r(l.value.trailingIcon({class:e.ui?.trailingIcon}))},null,8,["name","class"])):g("",!0)])],2)):g("",!0)]),_:3},8,["as","class"]))}});export{ge as _};
@@ -1 +1 @@
1
- import{_ as Q,a as X}from"./CHnVFnBW.js";import{_ as Y}from"./MYeLvJGV.js";import{d as E,aj as I,i as D,e as b,M as N,o as u,Z as n,w as o,ac as d,ao as ee,c as g,_ as K,a as t,af as B,bm as W,ak as T,a0 as L,ab as w,aa as z,C as A,a5 as te,h as Z,ah as le,bl as oe,al as ne,am as ae,ag as se}from"./BOCn_SGf.js";import{_ as ie,a as re}from"./Bnn59-FS.js";import{_ as q}from"./DqR9SdeU.js";import{_ as de}from"./BTGeP1bA.js";import{_ as G}from"./BzrhNhdT.js";import{_ as H}from"./BhhMUror.js";import{_ as ue}from"./6VDUZECX.js";import{a as ce}from"./BXxZokD_.js";import{_ as me}from"./C2Gh3qqr.js";import{_ as fe}from"./C4sG6rdW.js";import"./BZm9w7en.js";import"./hCeWb_38.js";import"./8WMJQbWG.js";import"./_-TGPiLQ.js";import"./YZQjZgsH.js";import"./DTR31rjp.js";import"./Br81Sr2R.js";import"./BWqJInD3.js";import"./DVdnhfXT.js";import"./hrPTRWjM.js";import"./CVVtVzXC.js";import"./DLHnP6tw.js";import"./D41A2mE2.js";import"./jTT1R-Vz.js";import"./DZikIgHK.js";import"./C6Y-ieo6.js";import"./C6Eoiclo.js";import"./CxMuZEwX.js";import"./C1oaoi1p.js";import"./BLdMRpJD.js";import"./V04-MrLN.js";import"./D3cEeQh7.js";import"./B9o6sFST.js";import"./CuvkTsqs.js";import"./Vcq4gwWv.js";const pe={class:"h-full flex flex-col"},_e={key:0,class:"h-full min-h-32 flex flex-col items-center justify-center text-dimmed text-sm"},ve=["onContextmenu"],ye={class:"truncate"},ke={class:"flex items-center gap-2"},xe={class:"flex justify-end gap-2"},he={class:"flex items-center gap-2"},$e={class:"flex justify-end gap-2"},ge={class:"flex items-center gap-2 text-error"},be={key:0,class:"text-sm text-dimmed mt-1"},we={class:"flex justify-end gap-2"},Ce=E({__name:"FileTree",props:{skillName:{},files:{},selectedPath:{}},emits:["select","refresh"],setup(U,{emit:P}){const p=U,$=P,m=I();function l(y,e=""){return y.map(s=>{const S=e?`${e}/${s.path}`:s.path,C={id:S,label:s.name,path:S,type:s.type,defaultExpanded:!0};return s.type==="directory"?C.children=s.children?l(s.children,S):[]:s.name.endsWith(".py")?C.icon="i-lucide-file-code":s.name.endsWith(".md")?C.icon="i-lucide-file-text":s.name.endsWith(".json")?C.icon="i-lucide-file-json":C.icon="i-lucide-file",C})}const k=D(()=>l(p.files)),i=b(null),x=b(!1),_=b(!1),c=b(!1),f=b(""),j=D(()=>[[{label:"New File",icon:"i-lucide-file-plus",onSelect:()=>{f.value="",x.value=!0}},{label:"New Folder",icon:"i-lucide-folder-plus",onSelect:()=>{f.value="",_.value=!0}}],[{label:"Delete",icon:"i-lucide-trash-2",color:"error",onSelect:()=>{i.value&&i.value.label!=="SKILL.md"&&(c.value=!0)}}]]);function h(y,e){e.type==="file"&&$("select",e.path)}async function a(){if(!f.value.trim())return;let y=f.value.trim();y.includes(".")||(y+=".py");const e=i.value?.type==="directory"?i.value.path:"",s=e?`${e}/${y}`:y;try{await $fetch(`/api/skills/${p.skillName}/files/create`,{method:"POST",body:{path:s,type:"file"}}),$("refresh"),$("select",s),m.add({title:`Created ${y}`,color:"success"})}catch{m.add({title:"Failed to create file",color:"error"})}x.value=!1,f.value=""}async function v(){if(!f.value.trim())return;const y=f.value.trim(),e=i.value?.type==="directory"?i.value.path:"",s=e?`${e}/${y}`:y;try{await $fetch(`/api/skills/${p.skillName}/files/create`,{method:"POST",body:{path:s,type:"directory"}}),$("refresh"),m.add({title:`Created ${y}/`,color:"success"})}catch{m.add({title:"Failed to create folder",color:"error"})}_.value=!1,f.value=""}async function V(){if(i.value){try{await $fetch(`/api/skills/${p.skillName}/files/delete`,{method:"POST",body:{path:i.value.path}}),$("refresh"),m.add({title:`Deleted ${i.value.label}`,color:"success"})}catch{m.add({title:"Failed to delete",color:"error"})}c.value=!1}}return(y,e)=>{const s=K,S=ie,C=re,O=q,F=L,M=de,R=G;return u(),N("div",pe,[n(C,{items:t(j)},{default:o(()=>[d("div",{class:"flex-1 h-full overflow-auto p-2",onContextmenu:e[0]||(e[0]=ee(r=>i.value=null,["self"]))},[U.files.length===0?(u(),N("div",_e,[n(s,{name:"i-lucide-folder-open",class:"size-8 mx-auto mb-2 opacity-50"}),e[9]||(e[9]=d("p",null,"No files found",-1)),e[10]||(e[10]=d("p",{class:"text-xs mt-1"}," Right-click to create a file ",-1))])):(u(),g(S,{key:1,items:t(k),"get-key":r=>r.id,color:"primary","expanded-icon":"i-lucide-folder-open","collapsed-icon":"i-lucide-folder",onSelect:h},{item:o(({item:r,expanded:J})=>[d("div",{class:"flex items-center gap-2 w-full",onContextmenu:Ke=>i.value=r},[r.children?.length?(u(),g(s,{key:0,name:J?"i-lucide-folder-open":"i-lucide-folder",class:"size-4 shrink-0 text-dimmed"},null,8,["name"])):r.icon?(u(),g(s,{key:1,name:r.icon,class:"size-4 shrink-0 text-dimmed"},null,8,["name"])):(u(),g(s,{key:2,name:"i-lucide-file",class:"size-4 shrink-0 text-dimmed"})),d("span",ye,B(r.label),1)],40,ve)]),_:1},8,["items","get-key"]))],32)]),_:1},8,["items"]),n(R,{open:t(x),"onUpdate:open":e[3]||(e[3]=r=>T(x)?x.value=r:null)},{content:o(()=>[n(M,null,{header:o(()=>[d("div",ke,[n(s,{name:"i-lucide-file-plus",class:"size-5"}),e[11]||(e[11]=d("span",{class:"font-semibold"},"New File",-1))])]),footer:o(()=>[d("div",xe,[n(F,{color:"neutral",variant:"ghost",onClick:e[2]||(e[2]=r=>x.value=!1)},{default:o(()=>[...e[12]||(e[12]=[w(" Cancel ",-1)])]),_:1}),n(F,{onClick:a},{default:o(()=>[...e[13]||(e[13]=[w(" Create ",-1)])]),_:1})])]),default:o(()=>[n(O,{modelValue:t(f),"onUpdate:modelValue":e[1]||(e[1]=r=>T(f)?f.value=r:null),placeholder:"filename.py",autofocus:"",onKeyup:W(a,["enter"])},null,8,["modelValue"])]),_:1})]),_:1},8,["open"]),n(R,{open:t(_),"onUpdate:open":e[6]||(e[6]=r=>T(_)?_.value=r:null)},{content:o(()=>[n(M,null,{header:o(()=>[d("div",he,[n(s,{name:"i-lucide-folder-plus",class:"size-5"}),e[14]||(e[14]=d("span",{class:"font-semibold"},"New Folder",-1))])]),footer:o(()=>[d("div",$e,[n(F,{color:"neutral",variant:"ghost",onClick:e[5]||(e[5]=r=>_.value=!1)},{default:o(()=>[...e[15]||(e[15]=[w(" Cancel ",-1)])]),_:1}),n(F,{onClick:v},{default:o(()=>[...e[16]||(e[16]=[w(" Create ",-1)])]),_:1})])]),default:o(()=>[n(O,{modelValue:t(f),"onUpdate:modelValue":e[4]||(e[4]=r=>T(f)?f.value=r:null),placeholder:"folder-name",autofocus:"",onKeyup:W(v,["enter"])},null,8,["modelValue"])]),_:1})]),_:1},8,["open"]),n(R,{open:t(c),"onUpdate:open":e[8]||(e[8]=r=>T(c)?c.value=r:null)},{content:o(()=>[n(M,null,{header:o(()=>[d("div",ge,[n(s,{name:"i-lucide-trash-2",class:"size-5"}),e[17]||(e[17]=d("span",{class:"font-semibold"},"Delete",-1))])]),footer:o(()=>[d("div",we,[n(F,{color:"neutral",variant:"ghost",onClick:e[7]||(e[7]=r=>c.value=!1)},{default:o(()=>[...e[20]||(e[20]=[w(" Cancel ",-1)])]),_:1}),n(F,{color:"error",onClick:V},{default:o(()=>[...e[21]||(e[21]=[w(" Delete ",-1)])]),_:1})])]),default:o(()=>[d("p",null,[e[18]||(e[18]=w(" Are you sure you want to delete ",-1)),d("strong",null,B(t(i)?.label),1),e[19]||(e[19]=w("? ",-1))]),t(i)?.type==="directory"?(u(),N("p",be," This will delete all files and folders inside. ")):z("",!0)]),_:1})]),_:1},8,["open"])])}}}),Ne=Object.assign(Ce,{__name:"SkillsFileTree"}),Ue=ce(me),Se={class:"flex flex-col h-full"},Fe={class:"flex items-center justify-between px-4 py-2 border-b border-default"},ze={class:"flex items-center gap-2 text-sm text-muted"},je={key:0,class:"flex-1 flex items-center justify-center"},Pe=E({__name:"Editor",props:{skillName:{},filePath:{}},emits:["saved"],setup(U,{emit:P}){const p=U,$=P,m=I(),l=b(""),k=b(""),i=b(!0),x=b(!1),_=D(()=>l.value!==k.value),c=D(()=>{switch(p.filePath.split(".").pop()?.toLowerCase()){case"py":return"python";case"md":return"markdown";case"json":return"json";case"ts":return"typescript";case"js":return"javascript";case"yaml":case"yml":return"yaml";case"sh":case"bash":return"bash";default:return"plaintext"}});async function f(){i.value=!0;try{const a=await $fetch(`/api/skills/${p.skillName}/files/read`,{method:"POST",body:{path:p.filePath}});l.value=a.data.content,k.value=a.data.content}catch{m.add({title:"Failed to load file",color:"error"})}finally{i.value=!1}}async function j(){x.value=!0;try{await $fetch(`/api/skills/${p.skillName}/files/write`,{method:"POST",body:{path:p.filePath,content:l.value}}),k.value=l.value,m.add({title:"File saved",color:"success"}),$("saved")}catch{m.add({title:"Failed to save file",color:"error"})}finally{x.value=!1}}function h(a){(a.metaKey||a.ctrlKey)&&a.key==="s"&&(a.preventDefault(),_.value&&j())}return A(()=>{f(),window.addEventListener("keydown",h)}),te(()=>{window.removeEventListener("keydown",h)}),Z(()=>p.filePath,()=>f()),(a,v)=>{const V=K,y=H,e=L,s=Ue;return u(),N("div",Se,[d("div",Fe,[d("div",ze,[n(V,{name:"i-lucide-file-code",class:"size-4"}),d("span",null,B(U.filePath),1),t(_)?(u(),g(y,{key:0,variant:"soft",color:"warning",size:"xs"},{default:o(()=>[...v[1]||(v[1]=[w(" Modified ",-1)])]),_:1})):z("",!0)]),n(e,{size:"xs",loading:t(x),disabled:!t(_),onClick:j},{default:o(()=>[...v[2]||(v[2]=[w(" Save ",-1)])]),_:1},8,["loading","disabled"])]),t(i)?(u(),N("div",je,[n(V,{name:"i-lucide-loader-2",class:"size-6 animate-spin text-dimmed"})])):(u(),g(s,{key:1,modelValue:t(l),"onUpdate:modelValue":v[0]||(v[0]=S=>T(l)?l.value=S:null),language:t(c),class:"flex-1"},null,8,["modelValue","language"]))])}}}),Te=Object.assign(Pe,{__name:"SkillsEditor"}),Ve={class:"flex justify-end gap-2"},Me=E({__name:"RenameModal",props:{open:{type:Boolean},currentName:{}},emits:["update:open","renamed"],setup(U,{emit:P}){const p=U,$=P,m=I(),l=b(p.currentName),k=b(!1);Z(()=>p.currentName,_=>{l.value=_});function i(){$("update:open",!1)}async function x(){if(!(!l.value.trim()||l.value.trim()===p.currentName)){k.value=!0;try{await $fetch(`/api/skills/${p.currentName}/rename`,{method:"POST",body:{newName:l.value.trim()}}),m.add({title:`Skill renamed to '${l.value.trim()}'`,color:"success"}),$("renamed",l.value.trim()),i()}catch(_){const c=_ instanceof Error?_.message:"Failed to rename skill";m.add({title:c,color:"error"})}finally{k.value=!1}}}return(_,c)=>{const f=q,j=fe,h=L,a=G;return u(),g(a,{open:p.open,"onUpdate:open":c[1]||(c[1]=v=>$("update:open",v))},{header:o(()=>[...c[2]||(c[2]=[d("span",{class:"font-semibold"},"Rename Skill",-1)])]),body:o(()=>[n(j,{label:"New Name"},{default:o(()=>[n(f,{modelValue:t(l),"onUpdate:modelValue":c[0]||(c[0]=v=>T(l)?l.value=v:null),placeholder:"my-skill",disabled:t(k)},null,8,["modelValue","disabled"])]),_:1})]),footer:o(()=>[d("div",Ve,[n(h,{variant:"ghost",color:"neutral",disabled:t(k),onClick:i},{default:o(()=>[...c[3]||(c[3]=[w(" Cancel ",-1)])]),_:1},8,["disabled"]),n(h,{loading:t(k),disabled:!t(l).trim()||t(l).trim()===U.currentName,onClick:x},{default:o(()=>[...c[4]||(c[4]=[w(" Rename ",-1)])]),_:1},8,["loading","disabled"])])]),_:1},8,["open"])}}}),Re=Object.assign(Me,{__name:"SkillsRenameModal"}),De={class:"flex flex-1 min-w-0"},Oe={key:0,class:"p-4 space-y-2"},Be={class:"font-medium"},Ee={key:0,class:"flex-1 flex items-center justify-center h-full"},Ie={key:1,class:"flex-1 flex items-center justify-center h-full text-dimmed"},Le={class:"text-center"},Ut=E({__name:"[name]",setup(U){const P=le(),p=oe(),$=I(),m=D(()=>P.params.name),l=b(null),k=b(!0),i=b(""),x=b(!1);async function _(){k.value=!0;try{const h=await $fetch(`/api/skills/${m.value}`);if(l.value=h.data,!i.value){const a=h.data.files.find(v=>v.name==="SKILL.md");a&&(i.value=a.path)}}catch{$.add({title:"Skill not found",color:"error"}),p.push("/skills")}finally{k.value=!1}}async function c(){if(!(!l.value||l.value.core))try{const h=await $fetch(`/api/skills/${m.value}/toggle`,{method:"POST"});l.value.active=h.data.active,$.add({title:`${m.value} ${h.data.active?"enabled":"disabled"}`,color:"success"})}catch{$.add({title:"Failed to toggle skill",color:"error"})}}function f(h){p.replace(`/skills/${h}`)}function j(){window.open(`/api/skills/${m.value}/export`,"_blank")}return A(()=>_()),(h,a)=>{const v=X,V=Y,y=Ne,e=Q,s=K,S=se,C=H,O=ue,F=L,M=Te,R=Re;return u(),N("div",De,[n(e,{id:"skill-filetree",collapsible:"",resizable:"","min-size":12,"default-size":16,"max-size":24,class:"hidden lg:flex"},{header:o(()=>[n(v,null,{title:o(()=>[...a[3]||(a[3]=[d("span",{class:"text-sm font-medium truncate"},"Files",-1)])]),_:1})]),body:o(()=>[t(k)?(u(),N("div",Oe,[(u(),N(ne,null,ae(4,r=>n(V,{key:r,class:"h-6 w-full"})),64))])):t(l)?(u(),g(y,{key:1,"skill-name":t(m),files:t(l).files,"selected-path":t(i),onSelect:a[0]||(a[0]=r=>i.value=r),onRefresh:_},null,8,["skill-name","files","selected-path"])):z("",!0)]),_:1}),n(e,{id:"skill-editor",grow:"",ui:{body:"!p-0"}},{header:o(()=>[n(v,null,{title:o(()=>[n(S,{to:"/skills",class:"text-muted hover:text-default transition-colors"},{default:o(()=>[n(s,{name:"i-lucide-arrow-left",class:"size-4"})]),_:1}),d("span",Be,B(t(m)),1),t(l)?.core?(u(),g(C,{key:0,variant:"subtle",color:"primary",size:"xs"},{default:o(()=>[...a[4]||(a[4]=[w(" Core ",-1)])]),_:1})):z("",!0),t(l)&&!t(l).active?(u(),g(C,{key:1,variant:"subtle",color:"neutral",size:"xs"},{default:o(()=>[...a[5]||(a[5]=[w(" Disabled ",-1)])]),_:1})):z("",!0)]),right:o(()=>[t(l)&&!t(l).core?(u(),g(O,{key:0,"model-value":t(l).active,size:"sm","onUpdate:modelValue":c},null,8,["model-value"])):z("",!0),t(l)&&!t(l).core?(u(),g(F,{key:1,icon:"i-lucide-pencil",variant:"ghost",color:"neutral",size:"sm",onClick:a[1]||(a[1]=r=>x.value=!0)})):z("",!0),t(l)?(u(),g(F,{key:2,icon:"i-lucide-download",variant:"ghost",color:"neutral",size:"sm",onClick:j})):z("",!0)]),_:1})]),body:o(()=>[t(k)?(u(),N("div",Ee,[n(s,{name:"i-lucide-loader-2",class:"size-6 animate-spin text-dimmed"})])):t(i)?(u(),g(M,{key:t(i),"skill-name":t(m),"file-path":t(i),onSaved:_},null,8,["skill-name","file-path"])):(u(),N("div",Ie,[d("div",Le,[n(s,{name:"i-lucide-file-code",class:"size-12 mx-auto mb-4 opacity-50"}),a[6]||(a[6]=d("p",null,"Select a file to edit",-1))])]))]),_:1}),t(l)?(u(),g(R,{key:0,open:t(x),"current-name":t(m),"onUpdate:open":a[2]||(a[2]=r=>x.value=r),onRenamed:f},null,8,["open","current-name"])):z("",!0)])}}});export{Ut as default};
1
+ import{_ as Q,a as X}from"./CZV2u8Xx.js";import{_ as Y}from"./DhvuBruY.js";import{d as E,aj as I,i as D,e as b,M as N,o as u,Z as n,w as o,ac as d,ao as ee,c as g,_ as K,a as t,af as B,bm as W,ak as T,a0 as L,ab as w,aa as z,C as A,a5 as te,h as Z,ah as le,bl as oe,al as ne,am as ae,ag as se}from"./CBqC92gC.js";import{_ as ie,a as re}from"./Dqx39Omg.js";import{_ as q}from"./4Vi9hKJC.js";import{_ as de}from"./EPFrlLUV.js";import{_ as G}from"./CE491BHV.js";import{_ as H}from"./BPfVf7kt.js";import{_ as ue}from"./DuYzdzqK.js";import{a as ce}from"./-Q9J9PRu.js";import{_ as me}from"./Br712gOY.js";import{_ as fe}from"./BnfOmQBX.js";import"./C35LJkds.js";import"./DUf0f355.js";import"./DrQVjmDX.js";import"./DjJn4g73.js";import"./Zge3ScOQ.js";import"./BoqEl-F1.js";import"./BXmijQzM.js";import"./B9OPrqTh.js";import"./D9dLxr1_.js";import"./JsQhjNzl.js";import"./CM5aLXsq.js";import"./BA646MN4.js";import"./DoIqoxBH.js";import"./DWnLv2oh.js";import"./CN_jZBEh.js";import"./C6Y-ieo6.js";import"./Cyo4VJ6S.js";import"./Dfzca1IN.js";import"./DAQeLqQw.js";import"./DvZW6QuM.js";import"./iIxC-lNx.js";import"./CdIGoC9r.js";import"./CltqyXO5.js";import"./ClKTC8bU.js";import"./Vcq4gwWv.js";const pe={class:"h-full flex flex-col"},_e={key:0,class:"h-full min-h-32 flex flex-col items-center justify-center text-dimmed text-sm"},ve=["onContextmenu"],ye={class:"truncate"},ke={class:"flex items-center gap-2"},xe={class:"flex justify-end gap-2"},he={class:"flex items-center gap-2"},$e={class:"flex justify-end gap-2"},ge={class:"flex items-center gap-2 text-error"},be={key:0,class:"text-sm text-dimmed mt-1"},we={class:"flex justify-end gap-2"},Ce=E({__name:"FileTree",props:{skillName:{},files:{},selectedPath:{}},emits:["select","refresh"],setup(U,{emit:P}){const p=U,$=P,m=I();function l(y,e=""){return y.map(s=>{const S=e?`${e}/${s.path}`:s.path,C={id:S,label:s.name,path:S,type:s.type,defaultExpanded:!0};return s.type==="directory"?C.children=s.children?l(s.children,S):[]:s.name.endsWith(".py")?C.icon="i-lucide-file-code":s.name.endsWith(".md")?C.icon="i-lucide-file-text":s.name.endsWith(".json")?C.icon="i-lucide-file-json":C.icon="i-lucide-file",C})}const k=D(()=>l(p.files)),i=b(null),x=b(!1),_=b(!1),c=b(!1),f=b(""),j=D(()=>[[{label:"New File",icon:"i-lucide-file-plus",onSelect:()=>{f.value="",x.value=!0}},{label:"New Folder",icon:"i-lucide-folder-plus",onSelect:()=>{f.value="",_.value=!0}}],[{label:"Delete",icon:"i-lucide-trash-2",color:"error",onSelect:()=>{i.value&&i.value.label!=="SKILL.md"&&(c.value=!0)}}]]);function h(y,e){e.type==="file"&&$("select",e.path)}async function a(){if(!f.value.trim())return;let y=f.value.trim();y.includes(".")||(y+=".py");const e=i.value?.type==="directory"?i.value.path:"",s=e?`${e}/${y}`:y;try{await $fetch(`/api/skills/${p.skillName}/files/create`,{method:"POST",body:{path:s,type:"file"}}),$("refresh"),$("select",s),m.add({title:`Created ${y}`,color:"success"})}catch{m.add({title:"Failed to create file",color:"error"})}x.value=!1,f.value=""}async function v(){if(!f.value.trim())return;const y=f.value.trim(),e=i.value?.type==="directory"?i.value.path:"",s=e?`${e}/${y}`:y;try{await $fetch(`/api/skills/${p.skillName}/files/create`,{method:"POST",body:{path:s,type:"directory"}}),$("refresh"),m.add({title:`Created ${y}/`,color:"success"})}catch{m.add({title:"Failed to create folder",color:"error"})}_.value=!1,f.value=""}async function V(){if(i.value){try{await $fetch(`/api/skills/${p.skillName}/files/delete`,{method:"POST",body:{path:i.value.path}}),$("refresh"),m.add({title:`Deleted ${i.value.label}`,color:"success"})}catch{m.add({title:"Failed to delete",color:"error"})}c.value=!1}}return(y,e)=>{const s=K,S=ie,C=re,O=q,F=L,M=de,R=G;return u(),N("div",pe,[n(C,{items:t(j)},{default:o(()=>[d("div",{class:"flex-1 h-full overflow-auto p-2",onContextmenu:e[0]||(e[0]=ee(r=>i.value=null,["self"]))},[U.files.length===0?(u(),N("div",_e,[n(s,{name:"i-lucide-folder-open",class:"size-8 mx-auto mb-2 opacity-50"}),e[9]||(e[9]=d("p",null,"No files found",-1)),e[10]||(e[10]=d("p",{class:"text-xs mt-1"}," Right-click to create a file ",-1))])):(u(),g(S,{key:1,items:t(k),"get-key":r=>r.id,color:"primary","expanded-icon":"i-lucide-folder-open","collapsed-icon":"i-lucide-folder",onSelect:h},{item:o(({item:r,expanded:J})=>[d("div",{class:"flex items-center gap-2 w-full",onContextmenu:Ke=>i.value=r},[r.children?.length?(u(),g(s,{key:0,name:J?"i-lucide-folder-open":"i-lucide-folder",class:"size-4 shrink-0 text-dimmed"},null,8,["name"])):r.icon?(u(),g(s,{key:1,name:r.icon,class:"size-4 shrink-0 text-dimmed"},null,8,["name"])):(u(),g(s,{key:2,name:"i-lucide-file",class:"size-4 shrink-0 text-dimmed"})),d("span",ye,B(r.label),1)],40,ve)]),_:1},8,["items","get-key"]))],32)]),_:1},8,["items"]),n(R,{open:t(x),"onUpdate:open":e[3]||(e[3]=r=>T(x)?x.value=r:null)},{content:o(()=>[n(M,null,{header:o(()=>[d("div",ke,[n(s,{name:"i-lucide-file-plus",class:"size-5"}),e[11]||(e[11]=d("span",{class:"font-semibold"},"New File",-1))])]),footer:o(()=>[d("div",xe,[n(F,{color:"neutral",variant:"ghost",onClick:e[2]||(e[2]=r=>x.value=!1)},{default:o(()=>[...e[12]||(e[12]=[w(" Cancel ",-1)])]),_:1}),n(F,{onClick:a},{default:o(()=>[...e[13]||(e[13]=[w(" Create ",-1)])]),_:1})])]),default:o(()=>[n(O,{modelValue:t(f),"onUpdate:modelValue":e[1]||(e[1]=r=>T(f)?f.value=r:null),placeholder:"filename.py",autofocus:"",onKeyup:W(a,["enter"])},null,8,["modelValue"])]),_:1})]),_:1},8,["open"]),n(R,{open:t(_),"onUpdate:open":e[6]||(e[6]=r=>T(_)?_.value=r:null)},{content:o(()=>[n(M,null,{header:o(()=>[d("div",he,[n(s,{name:"i-lucide-folder-plus",class:"size-5"}),e[14]||(e[14]=d("span",{class:"font-semibold"},"New Folder",-1))])]),footer:o(()=>[d("div",$e,[n(F,{color:"neutral",variant:"ghost",onClick:e[5]||(e[5]=r=>_.value=!1)},{default:o(()=>[...e[15]||(e[15]=[w(" Cancel ",-1)])]),_:1}),n(F,{onClick:v},{default:o(()=>[...e[16]||(e[16]=[w(" Create ",-1)])]),_:1})])]),default:o(()=>[n(O,{modelValue:t(f),"onUpdate:modelValue":e[4]||(e[4]=r=>T(f)?f.value=r:null),placeholder:"folder-name",autofocus:"",onKeyup:W(v,["enter"])},null,8,["modelValue"])]),_:1})]),_:1},8,["open"]),n(R,{open:t(c),"onUpdate:open":e[8]||(e[8]=r=>T(c)?c.value=r:null)},{content:o(()=>[n(M,null,{header:o(()=>[d("div",ge,[n(s,{name:"i-lucide-trash-2",class:"size-5"}),e[17]||(e[17]=d("span",{class:"font-semibold"},"Delete",-1))])]),footer:o(()=>[d("div",we,[n(F,{color:"neutral",variant:"ghost",onClick:e[7]||(e[7]=r=>c.value=!1)},{default:o(()=>[...e[20]||(e[20]=[w(" Cancel ",-1)])]),_:1}),n(F,{color:"error",onClick:V},{default:o(()=>[...e[21]||(e[21]=[w(" Delete ",-1)])]),_:1})])]),default:o(()=>[d("p",null,[e[18]||(e[18]=w(" Are you sure you want to delete ",-1)),d("strong",null,B(t(i)?.label),1),e[19]||(e[19]=w("? ",-1))]),t(i)?.type==="directory"?(u(),N("p",be," This will delete all files and folders inside. ")):z("",!0)]),_:1})]),_:1},8,["open"])])}}}),Ne=Object.assign(Ce,{__name:"SkillsFileTree"}),Ue=ce(me),Se={class:"flex flex-col h-full"},Fe={class:"flex items-center justify-between px-4 py-2 border-b border-default"},ze={class:"flex items-center gap-2 text-sm text-muted"},je={key:0,class:"flex-1 flex items-center justify-center"},Pe=E({__name:"Editor",props:{skillName:{},filePath:{}},emits:["saved"],setup(U,{emit:P}){const p=U,$=P,m=I(),l=b(""),k=b(""),i=b(!0),x=b(!1),_=D(()=>l.value!==k.value),c=D(()=>{switch(p.filePath.split(".").pop()?.toLowerCase()){case"py":return"python";case"md":return"markdown";case"json":return"json";case"ts":return"typescript";case"js":return"javascript";case"yaml":case"yml":return"yaml";case"sh":case"bash":return"bash";default:return"plaintext"}});async function f(){i.value=!0;try{const a=await $fetch(`/api/skills/${p.skillName}/files/read`,{method:"POST",body:{path:p.filePath}});l.value=a.data.content,k.value=a.data.content}catch{m.add({title:"Failed to load file",color:"error"})}finally{i.value=!1}}async function j(){x.value=!0;try{await $fetch(`/api/skills/${p.skillName}/files/write`,{method:"POST",body:{path:p.filePath,content:l.value}}),k.value=l.value,m.add({title:"File saved",color:"success"}),$("saved")}catch{m.add({title:"Failed to save file",color:"error"})}finally{x.value=!1}}function h(a){(a.metaKey||a.ctrlKey)&&a.key==="s"&&(a.preventDefault(),_.value&&j())}return A(()=>{f(),window.addEventListener("keydown",h)}),te(()=>{window.removeEventListener("keydown",h)}),Z(()=>p.filePath,()=>f()),(a,v)=>{const V=K,y=H,e=L,s=Ue;return u(),N("div",Se,[d("div",Fe,[d("div",ze,[n(V,{name:"i-lucide-file-code",class:"size-4"}),d("span",null,B(U.filePath),1),t(_)?(u(),g(y,{key:0,variant:"soft",color:"warning",size:"xs"},{default:o(()=>[...v[1]||(v[1]=[w(" Modified ",-1)])]),_:1})):z("",!0)]),n(e,{size:"xs",loading:t(x),disabled:!t(_),onClick:j},{default:o(()=>[...v[2]||(v[2]=[w(" Save ",-1)])]),_:1},8,["loading","disabled"])]),t(i)?(u(),N("div",je,[n(V,{name:"i-lucide-loader-2",class:"size-6 animate-spin text-dimmed"})])):(u(),g(s,{key:1,modelValue:t(l),"onUpdate:modelValue":v[0]||(v[0]=S=>T(l)?l.value=S:null),language:t(c),class:"flex-1"},null,8,["modelValue","language"]))])}}}),Te=Object.assign(Pe,{__name:"SkillsEditor"}),Ve={class:"flex justify-end gap-2"},Me=E({__name:"RenameModal",props:{open:{type:Boolean},currentName:{}},emits:["update:open","renamed"],setup(U,{emit:P}){const p=U,$=P,m=I(),l=b(p.currentName),k=b(!1);Z(()=>p.currentName,_=>{l.value=_});function i(){$("update:open",!1)}async function x(){if(!(!l.value.trim()||l.value.trim()===p.currentName)){k.value=!0;try{await $fetch(`/api/skills/${p.currentName}/rename`,{method:"POST",body:{newName:l.value.trim()}}),m.add({title:`Skill renamed to '${l.value.trim()}'`,color:"success"}),$("renamed",l.value.trim()),i()}catch(_){const c=_ instanceof Error?_.message:"Failed to rename skill";m.add({title:c,color:"error"})}finally{k.value=!1}}}return(_,c)=>{const f=q,j=fe,h=L,a=G;return u(),g(a,{open:p.open,"onUpdate:open":c[1]||(c[1]=v=>$("update:open",v))},{header:o(()=>[...c[2]||(c[2]=[d("span",{class:"font-semibold"},"Rename Skill",-1)])]),body:o(()=>[n(j,{label:"New Name"},{default:o(()=>[n(f,{modelValue:t(l),"onUpdate:modelValue":c[0]||(c[0]=v=>T(l)?l.value=v:null),placeholder:"my-skill",disabled:t(k)},null,8,["modelValue","disabled"])]),_:1})]),footer:o(()=>[d("div",Ve,[n(h,{variant:"ghost",color:"neutral",disabled:t(k),onClick:i},{default:o(()=>[...c[3]||(c[3]=[w(" Cancel ",-1)])]),_:1},8,["disabled"]),n(h,{loading:t(k),disabled:!t(l).trim()||t(l).trim()===U.currentName,onClick:x},{default:o(()=>[...c[4]||(c[4]=[w(" Rename ",-1)])]),_:1},8,["loading","disabled"])])]),_:1},8,["open"])}}}),Re=Object.assign(Me,{__name:"SkillsRenameModal"}),De={class:"flex flex-1 min-w-0"},Oe={key:0,class:"p-4 space-y-2"},Be={class:"font-medium"},Ee={key:0,class:"flex-1 flex items-center justify-center h-full"},Ie={key:1,class:"flex-1 flex items-center justify-center h-full text-dimmed"},Le={class:"text-center"},Ut=E({__name:"[name]",setup(U){const P=le(),p=oe(),$=I(),m=D(()=>P.params.name),l=b(null),k=b(!0),i=b(""),x=b(!1);async function _(){k.value=!0;try{const h=await $fetch(`/api/skills/${m.value}`);if(l.value=h.data,!i.value){const a=h.data.files.find(v=>v.name==="SKILL.md");a&&(i.value=a.path)}}catch{$.add({title:"Skill not found",color:"error"}),p.push("/skills")}finally{k.value=!1}}async function c(){if(!(!l.value||l.value.core))try{const h=await $fetch(`/api/skills/${m.value}/toggle`,{method:"POST"});l.value.active=h.data.active,$.add({title:`${m.value} ${h.data.active?"enabled":"disabled"}`,color:"success"})}catch{$.add({title:"Failed to toggle skill",color:"error"})}}function f(h){p.replace(`/skills/${h}`)}function j(){window.open(`/api/skills/${m.value}/export`,"_blank")}return A(()=>_()),(h,a)=>{const v=X,V=Y,y=Ne,e=Q,s=K,S=se,C=H,O=ue,F=L,M=Te,R=Re;return u(),N("div",De,[n(e,{id:"skill-filetree",collapsible:"",resizable:"","min-size":12,"default-size":16,"max-size":24,class:"hidden lg:flex"},{header:o(()=>[n(v,null,{title:o(()=>[...a[3]||(a[3]=[d("span",{class:"text-sm font-medium truncate"},"Files",-1)])]),_:1})]),body:o(()=>[t(k)?(u(),N("div",Oe,[(u(),N(ne,null,ae(4,r=>n(V,{key:r,class:"h-6 w-full"})),64))])):t(l)?(u(),g(y,{key:1,"skill-name":t(m),files:t(l).files,"selected-path":t(i),onSelect:a[0]||(a[0]=r=>i.value=r),onRefresh:_},null,8,["skill-name","files","selected-path"])):z("",!0)]),_:1}),n(e,{id:"skill-editor",grow:"",ui:{body:"!p-0"}},{header:o(()=>[n(v,null,{title:o(()=>[n(S,{to:"/skills",class:"text-muted hover:text-default transition-colors"},{default:o(()=>[n(s,{name:"i-lucide-arrow-left",class:"size-4"})]),_:1}),d("span",Be,B(t(m)),1),t(l)?.core?(u(),g(C,{key:0,variant:"subtle",color:"primary",size:"xs"},{default:o(()=>[...a[4]||(a[4]=[w(" Core ",-1)])]),_:1})):z("",!0),t(l)&&!t(l).active?(u(),g(C,{key:1,variant:"subtle",color:"neutral",size:"xs"},{default:o(()=>[...a[5]||(a[5]=[w(" Disabled ",-1)])]),_:1})):z("",!0)]),right:o(()=>[t(l)&&!t(l).core?(u(),g(O,{key:0,"model-value":t(l).active,size:"sm","onUpdate:modelValue":c},null,8,["model-value"])):z("",!0),t(l)&&!t(l).core?(u(),g(F,{key:1,icon:"i-lucide-pencil",variant:"ghost",color:"neutral",size:"sm",onClick:a[1]||(a[1]=r=>x.value=!0)})):z("",!0),t(l)?(u(),g(F,{key:2,icon:"i-lucide-download",variant:"ghost",color:"neutral",size:"sm",onClick:j})):z("",!0)]),_:1})]),body:o(()=>[t(k)?(u(),N("div",Ee,[n(s,{name:"i-lucide-loader-2",class:"size-6 animate-spin text-dimmed"})])):t(i)?(u(),g(M,{key:t(i),"skill-name":t(m),"file-path":t(i),onSaved:_},null,8,["skill-name","file-path"])):(u(),N("div",Ie,[d("div",Le,[n(s,{name:"i-lucide-file-code",class:"size-12 mx-auto mb-4 opacity-50"}),a[6]||(a[6]=d("p",null,"Select a file to edit",-1))])]))]),_:1}),t(l)?(u(),g(R,{key:0,open:t(x),"current-name":t(m),"onUpdate:open":a[2]||(a[2]=r=>x.value=r),onRenamed:f},null,8,["open","current-name"])):z("",!0)])}}});export{Ut as default};
@@ -0,0 +1 @@
1
+ import{d as ae,aj as oe,e as h,an as F,C as se,M as i,ac as s,Z as o,w as n,a,al as b,am as B,ak as L,a0 as ne,o as r,ab as g,_ as de,aa as x,af as w,$ as ie,ao as j}from"./CBqC92gC.js";import{_ as re}from"./DhvuBruY.js";import{_ as me}from"./DuYzdzqK.js";import{_ as ue}from"./tak9pMy9.js";import{_ as pe}from"./BnfOmQBX.js";import{_ as ce}from"./4Vi9hKJC.js";import{_ as fe}from"./CE491BHV.js";import"./CdIGoC9r.js";import"./CltqyXO5.js";import"./ClKTC8bU.js";import"./B9OPrqTh.js";import"./DWnLv2oh.js";import"./Cyo4VJ6S.js";import"./Dfzca1IN.js";import"./JsQhjNzl.js";import"./CN_jZBEh.js";import"./BoqEl-F1.js";import"./DUf0f355.js";import"./DvZW6QuM.js";import"./iIxC-lNx.js";const ge={class:"py-6"},be={class:"flex items-center justify-between mb-6"},ve={key:0,class:"space-y-3"},he={key:1,class:"py-12 text-center"},xe={key:2,class:"space-y-3"},ye=["onClick"],we={class:"flex items-center justify-between"},_e={class:"flex items-center gap-3"},Ue={class:"font-medium"},Ve={class:"text-sm text-dimmed ml-2"},ke={class:"flex items-center gap-3"},Ce={key:0,class:"text-xs text-dimmed mt-1 pl-8"},Se={class:"space-y-4"},Ie={key:0,class:"flex items-start gap-2 rounded-lg bg-error/10 border border-error/20 p-3 text-sm"},Be={class:"mt-1 space-y-0.5"},Me={class:"text-xs bg-elevated px-1.5 py-0.5 rounded"},Pe={class:"flex justify-end gap-2 pt-4"},De={class:"mb-4"},Ne={class:"flex justify-end gap-2 pt-6"},$e={class:"flex items-center gap-2"},Ae={class:"text-lg font-semibold"},He={class:"space-y-4"},Te={key:0,class:"flex items-start gap-2 rounded-lg bg-elevated p-3 text-sm"},Ee={class:"text-dimmed"},Le={class:"bg-elevated px-1 py-0.5 rounded text-xs"},Oe={key:0,class:"flex items-start gap-2 rounded-lg bg-error/10 border border-error/20 p-3 text-sm"},Fe={class:"space-y-2"},je=["checked","onChange"],ze={class:"text-sm"},Re={class:"grid grid-cols-2 gap-4"},qe={class:"grid grid-cols-2 gap-4"},Ge={class:"flex justify-end gap-2 pt-4"},fl=ae({__name:"integrations",setup(Ke){const v=oe(),N=h([]),$=h(!1),_=h(!1),A=h(!1),U=h(!1),C=h(null),c=F({platform:"telegram",name:""}),V=h(!1),u=h(null),H=h(!1),l=F({name:"",botUsername:"",allowedChatIds:"",listenMode:"mentions",guildId:"",channelId:"",allowedNumbers:"",blueBubblesUrl:"",enabledServices:[],account:"",imapHost:"",imapPort:"",smtpHost:"",smtpPort:"",emailAddress:""}),T=h([]);async function z(){try{const{data:d}=await $fetch("/api/secrets");T.value=d.map(e=>e.key)}catch{}}const R=[{value:"mentions",label:"Mentions & DMs"},{value:"dm",label:"DMs only"},{value:"all",label:"All messages"}],q=[{value:"gmail",label:"Gmail"},{value:"calendar",label:"Calendar"},{value:"drive",label:"Drive"},{value:"contacts",label:"Contacts"},{value:"tasks",label:"Tasks"}],G={telegram:"My Telegram Bot",discord:"My Discord Bot",imessage:"iMessage Bridge",google:"Google Suite",email:"Work Email"},M={telegram:["TELEGRAM_BOT_TOKEN"],discord:["DISCORD_BOT_TOKEN"],imessage:[],google:[],email:[]},P=[{value:"telegram",label:"Telegram",icon:"i-lucide-send"},{value:"discord",label:"Discord",icon:"i-lucide-message-circle"},{value:"imessage",label:"iMessage",icon:"i-lucide-smartphone"},{value:"google",label:"Google Suite",icon:"i-lucide-mail"},{value:"email",label:"Email (IMAP)",icon:"i-lucide-at-sign"}];function D(d){const e=M[d];if(!e.length)return[];const m=new Set(T.value);return e.filter(I=>!m.has(I))}const K={connected:"text-success",disconnected:"text-dimmed",error:"text-error",unconfigured:"text-dimmed"};async function S(){$.value=!0;try{const{data:d}=await $fetch("/api/bridges");N.value=d}catch{v.add({title:"Failed to load integrations",color:"error"})}$.value=!1}function W(d){u.value=d,l.name=d.name;const e=d.config?JSON.parse(d.config):{};switch(l.botUsername="",l.allowedChatIds="",l.listenMode="mentions",l.guildId="",l.channelId="",l.allowedNumbers="",l.blueBubblesUrl="",l.enabledServices=[],l.account="",l.imapHost="",l.imapPort="",l.smtpHost="",l.smtpPort="",l.emailAddress="",d.platform){case"telegram":l.botUsername=e.botUsername||"",l.allowedChatIds=(e.allowedChatIds||[]).join(", ");break;case"discord":l.listenMode=e.listenMode||"mentions",l.guildId=e.guildId||"",l.channelId=e.channelId||"";break;case"imessage":l.allowedNumbers=(e.allowedNumbers||[]).join(", "),l.blueBubblesUrl=e.blueBubblesUrl||"";break;case"google":l.enabledServices=e.enabledServices||[],l.account=e.account||"";break;case"email":l.imapHost=e.imapHost||"",l.imapPort=e.imapPort?.toString()||"",l.smtpHost=e.smtpHost||"",l.smtpPort=e.smtpPort?.toString()||"",l.emailAddress=e.emailAddress||"";break}V.value=!0}async function J(){if(!u.value)return;const d=u.value.platform;let e={};switch(u.value.config&&(e=JSON.parse(u.value.config)),d){case"telegram":e.botUsername=l.botUsername||void 0,e.allowedChatIds=l.allowedChatIds?l.allowedChatIds.split(",").map(m=>m.trim()).filter(Boolean):void 0;break;case"discord":e.listenMode=l.listenMode,e.guildId=l.guildId||void 0,e.channelId=l.channelId||void 0;break;case"imessage":e.allowedNumbers=l.allowedNumbers?l.allowedNumbers.split(",").map(m=>m.trim()).filter(Boolean):void 0,e.blueBubblesUrl=l.blueBubblesUrl||void 0;break;case"google":e.enabledServices=l.enabledServices,e.account=l.account||void 0;break;case"email":e.imapHost=l.imapHost||void 0,e.imapPort=l.imapPort?Number(l.imapPort):void 0,e.smtpHost=l.smtpHost||void 0,e.smtpPort=l.smtpPort?Number(l.smtpPort):void 0,e.emailAddress=l.emailAddress||void 0;break}H.value=!0;try{await $fetch(`/api/bridges/${u.value.id}`,{method:"PUT",body:{name:l.name,config:e}}),v.add({title:"Integration updated",color:"success"}),V.value=!1,await S()}catch(m){const I=m;v.add({title:"Failed to update integration",description:I.data?.message,color:"error"})}H.value=!1}function Z(){c.platform="telegram",c.name="",_.value=!0}async function Q(){if(!c.name){v.add({title:"Name is required",color:"error"});return}const d=D(c.platform);if(d.length){v.add({title:"Missing required secrets",description:`Add ${d.join(", ")} in the Secrets tab first.`,color:"error"});return}A.value=!0;try{await $fetch("/api/bridges",{method:"POST",body:{platform:c.platform,name:c.name}}),v.add({title:"Integration created",color:"success"}),_.value=!1,await S()}catch(e){const m=e;v.add({title:"Failed to create integration",description:m.data?.message,color:"error"})}A.value=!1}async function X(d){try{await $fetch(`/api/bridges/${d.id}`,{method:"PUT",body:{enabled:!d.enabled}}),await S()}catch{v.add({title:"Failed to update integration",color:"error"})}}function Y(d){C.value=d,U.value=!0}async function ee(){if(C.value)try{await $fetch(`/api/bridges/${C.value.id}`,{method:"DELETE"}),v.add({title:"Integration deleted",color:"success"}),U.value=!1,C.value=null,await S()}catch{v.add({title:"Failed to delete integration",color:"error"})}}return se(()=>{S(),z()}),(d,e)=>{const m=ne,I=re,k=de,le=me,O=ue,p=pe,f=ce,E=fe;return r(),i("div",ge,[s("div",be,[e[24]||(e[24]=s("div",null,[s("h3",{class:"text-lg font-semibold"}," Integrations "),s("p",{class:"text-sm text-dimmed"}," Connect external platforms to the message bridge. ")],-1)),o(m,{icon:"i-lucide-plus",onClick:Z},{default:n(()=>[...e[23]||(e[23]=[g(" Add Integration ",-1)])]),_:1})]),a($)?(r(),i("div",ve,[(r(),i(b,null,B(3,t=>o(I,{key:t,class:"h-16 w-full"})),64))])):a(N).length===0?(r(),i("div",he,[o(k,{name:"i-lucide-plug",class:"size-12 mx-auto mb-4 text-dimmed"}),e[25]||(e[25]=s("p",{class:"text-dimmed"}," No integrations configured. ",-1)),e[26]||(e[26]=s("p",{class:"text-sm text-dimmed mt-1"}," Connect Telegram, Discord, iMessage, or Google Suite. ",-1))])):(r(),i("div",xe,[(r(!0),i(b,null,B(a(N),t=>(r(),i("div",{key:t.id,class:"border border-default rounded-lg px-4 py-3 cursor-pointer hover:bg-elevated/50 transition-colors",onClick:y=>W(t)},[s("div",we,[s("div",_e,[o(k,{name:P.find(y=>y.value===t.platform)?.icon||"i-lucide-plug",class:"size-5 text-dimmed"},null,8,["name"]),s("div",null,[s("span",Ue,w(t.name),1),s("span",Ve,w(P.find(y=>y.value===t.platform)?.label),1)])]),s("div",ke,[s("span",{class:ie(["text-xs capitalize",K[t.healthStatus]||"text-dimmed"])},w(t.healthStatus),3),o(le,{"model-value":t.enabled,onClick:e[0]||(e[0]=j(()=>{},["stop"])),"onUpdate:modelValue":y=>X(t)},null,8,["model-value","onUpdate:modelValue"]),o(m,{variant:"ghost",color:"error",icon:"i-lucide-trash-2",size:"xs",onClick:j(y=>Y(t),["stop"])},null,8,["onClick"])])]),t.healthMessage?(r(),i("p",Ce,w(t.healthMessage),1)):x("",!0)],8,ye))),128))])),o(E,{open:a(_),"onUpdate:open":e[4]||(e[4]=t=>L(_)?_.value=t:null)},{header:n(()=>[...e[27]||(e[27]=[s("h3",{class:"text-lg font-semibold"}," Add Integration ",-1)])]),body:n(()=>[s("div",Se,[o(p,{label:"Platform",name:"platform"},{default:n(()=>[o(O,{modelValue:a(c).platform,"onUpdate:modelValue":e[1]||(e[1]=t=>a(c).platform=t),items:P,"value-key":"value",class:"w-full"},null,8,["modelValue"])]),_:1}),D(a(c).platform).length?(r(),i("div",Ie,[o(k,{name:"i-lucide-alert-triangle",class:"size-4 mt-0.5 text-error shrink-0"}),s("div",null,[e[28]||(e[28]=s("p",{class:"font-medium text-error"}," Missing required secrets ",-1)),e[29]||(e[29]=s("p",{class:"text-dimmed mt-1"}," Add the following in Settings → Secrets before creating: ",-1)),s("ul",Be,[(r(!0),i(b,null,B(D(a(c).platform),t=>(r(),i("li",{key:t},[s("code",Me,w(t),1)]))),128))])])])):x("",!0),o(p,{label:"Name",name:"name"},{default:n(()=>[o(f,{modelValue:a(c).name,"onUpdate:modelValue":e[2]||(e[2]=t=>a(c).name=t),placeholder:G[a(c).platform],class:"w-full"},null,8,["modelValue","placeholder"])]),_:1}),s("div",Pe,[o(m,{variant:"ghost",onClick:e[3]||(e[3]=t=>_.value=!1)},{default:n(()=>[...e[30]||(e[30]=[g(" Cancel ",-1)])]),_:1}),o(m,{loading:a(A),disabled:D(a(c).platform).length>0,onClick:Q},{default:n(()=>[...e[31]||(e[31]=[g(" Create ",-1)])]),_:1},8,["loading","disabled"])])])]),_:1},8,["open"]),o(E,{open:a(U),"onUpdate:open":e[6]||(e[6]=t=>L(U)?U.value=t:null)},{header:n(()=>[...e[32]||(e[32]=[s("h3",{class:"text-lg font-semibold"}," Delete Integration ",-1)])]),body:n(()=>[s("p",De,[e[33]||(e[33]=g(" Are you sure you want to delete ",-1)),s("strong",null,w(a(C)?.name),1),e[34]||(e[34]=g("? ",-1))]),e[37]||(e[37]=s("p",{class:"text-sm text-dimmed"}," This will remove the integration and all associated message history. ",-1)),s("div",Ne,[o(m,{variant:"ghost",onClick:e[5]||(e[5]=t=>U.value=!1)},{default:n(()=>[...e[35]||(e[35]=[g(" Cancel ",-1)])]),_:1}),o(m,{color:"error",onClick:ee},{default:n(()=>[...e[36]||(e[36]=[g(" Delete ",-1)])]),_:1})])]),_:1},8,["open"]),o(E,{open:a(V),"onUpdate:open":e[22]||(e[22]=t=>L(V)?V.value=t:null)},{header:n(()=>[s("div",$e,[o(k,{name:P.find(t=>t.value===a(u)?.platform)?.icon||"i-lucide-plug",class:"size-5"},null,8,["name"]),s("h3",Ae," Configure "+w(a(u)?.name),1)])]),body:n(()=>[s("div",He,[a(u)&&M[a(u).platform].length?(r(),i("div",Te,[o(k,{name:"i-lucide-info",class:"size-4 mt-0.5 text-dimmed shrink-0"}),s("span",Ee,[e[38]||(e[38]=g(" Requires ",-1)),(r(!0),i(b,null,B(M[a(u).platform],(t,y)=>(r(),i(b,{key:t},[s("code",Le,w(t),1),y<M[a(u).platform].length-1?(r(),i(b,{key:0},[g(", ")],64)):x("",!0)],64))),128)),e[39]||(e[39]=g(" in the Secrets tab. ",-1))])])):x("",!0),o(p,{label:"Name",name:"name"},{default:n(()=>[o(f,{modelValue:a(l).name,"onUpdate:modelValue":e[7]||(e[7]=t=>a(l).name=t),placeholder:"Integration name",class:"w-full"},null,8,["modelValue"])]),_:1}),a(u)?.platform==="telegram"?(r(),i(b,{key:1},[o(p,{label:"Bot Username",name:"botUsername",hint:"Without the @ prefix"},{default:n(()=>[o(f,{modelValue:a(l).botUsername,"onUpdate:modelValue":e[8]||(e[8]=t=>a(l).botUsername=t),placeholder:"my_bot",class:"w-full"},null,8,["modelValue"])]),_:1}),o(p,{label:"Allowed Chat IDs",name:"allowedChatIds",hint:"Comma-separated. Leave empty for all."},{default:n(()=>[o(f,{modelValue:a(l).allowedChatIds,"onUpdate:modelValue":e[9]||(e[9]=t=>a(l).allowedChatIds=t),placeholder:"123456, -100789",class:"w-full"},null,8,["modelValue"])]),_:1})],64)):x("",!0),a(u)?.platform==="discord"?(r(),i(b,{key:2},[o(p,{label:"Listen Mode",name:"listenMode"},{default:n(()=>[o(O,{modelValue:a(l).listenMode,"onUpdate:modelValue":e[10]||(e[10]=t=>a(l).listenMode=t),items:R,"value-key":"value",class:"w-full"},null,8,["modelValue"])]),_:1}),o(p,{label:"Server ID",name:"guildId",hint:"Optional. Limit to one server."},{default:n(()=>[o(f,{modelValue:a(l).guildId,"onUpdate:modelValue":e[11]||(e[11]=t=>a(l).guildId=t),placeholder:"Discord server ID",class:"w-full"},null,8,["modelValue"])]),_:1}),o(p,{label:"Channel ID",name:"channelId",hint:"Optional. Limit to one channel (for 'all' mode)."},{default:n(()=>[o(f,{modelValue:a(l).channelId,"onUpdate:modelValue":e[12]||(e[12]=t=>a(l).channelId=t),placeholder:"Discord channel ID",class:"w-full"},null,8,["modelValue"])]),_:1})],64)):x("",!0),a(u)?.platform==="imessage"?(r(),i(b,{key:3},[a(T).includes("BLUEBUBBLES_PASSWORD")?x("",!0):(r(),i("div",Oe,[o(k,{name:"i-lucide-alert-triangle",class:"size-4 mt-0.5 text-error shrink-0"}),e[40]||(e[40]=s("span",{class:"text-dimmed"},[g(" BlueBubbles requires secret "),s("code",{class:"text-xs bg-elevated px-1.5 py-0.5 rounded"},"BLUEBUBBLES_PASSWORD"),g(" in the Secrets tab. ")],-1))])),o(p,{label:"BlueBubbles URL",name:"blueBubblesUrl"},{default:n(()=>[o(f,{modelValue:a(l).blueBubblesUrl,"onUpdate:modelValue":e[13]||(e[13]=t=>a(l).blueBubblesUrl=t),placeholder:"http://192.168.1.100:1234",class:"w-full"},null,8,["modelValue"])]),_:1}),o(p,{label:"Allowed Numbers",name:"allowedNumbers",hint:"Comma-separated. Leave empty for all."},{default:n(()=>[o(f,{modelValue:a(l).allowedNumbers,"onUpdate:modelValue":e[14]||(e[14]=t=>a(l).allowedNumbers=t),placeholder:"+15551234567, +15559876543",class:"w-full"},null,8,["modelValue"])]),_:1})],64)):x("",!0),a(u)?.platform==="google"?(r(),i(b,{key:4},[o(p,{label:"Enabled Services",name:"enabledServices"},{default:n(()=>[s("div",Fe,[(r(),i(b,null,B(q,t=>s("label",{key:t.value,class:"flex items-center gap-2 cursor-pointer"},[s("input",{type:"checkbox",checked:a(l).enabledServices.includes(t.value),class:"rounded",onChange:y=>a(l).enabledServices.includes(t.value)?a(l).enabledServices=a(l).enabledServices.filter(te=>te!==t.value):a(l).enabledServices.push(t.value)},null,40,je),s("span",ze,w(t.label),1)])),64))])]),_:1}),o(p,{label:"Google Account",name:"account",hint:"Email used with gogcli"},{default:n(()=>[o(f,{modelValue:a(l).account,"onUpdate:modelValue":e[15]||(e[15]=t=>a(l).account=t),placeholder:"user@gmail.com",class:"w-full"},null,8,["modelValue"])]),_:1})],64)):x("",!0),a(u)?.platform==="email"?(r(),i(b,{key:5},[o(p,{label:"Email Address",name:"emailAddress"},{default:n(()=>[o(f,{modelValue:a(l).emailAddress,"onUpdate:modelValue":e[16]||(e[16]=t=>a(l).emailAddress=t),placeholder:"user@example.com",class:"w-full"},null,8,["modelValue"])]),_:1}),s("div",Re,[o(p,{label:"IMAP Host",name:"imapHost"},{default:n(()=>[o(f,{modelValue:a(l).imapHost,"onUpdate:modelValue":e[17]||(e[17]=t=>a(l).imapHost=t),placeholder:"imap.example.com",class:"w-full"},null,8,["modelValue"])]),_:1}),o(p,{label:"IMAP Port",name:"imapPort"},{default:n(()=>[o(f,{modelValue:a(l).imapPort,"onUpdate:modelValue":e[18]||(e[18]=t=>a(l).imapPort=t),placeholder:"993",class:"w-full"},null,8,["modelValue"])]),_:1})]),s("div",qe,[o(p,{label:"SMTP Host",name:"smtpHost"},{default:n(()=>[o(f,{modelValue:a(l).smtpHost,"onUpdate:modelValue":e[19]||(e[19]=t=>a(l).smtpHost=t),placeholder:"smtp.example.com",class:"w-full"},null,8,["modelValue"])]),_:1}),o(p,{label:"SMTP Port",name:"smtpPort"},{default:n(()=>[o(f,{modelValue:a(l).smtpPort,"onUpdate:modelValue":e[20]||(e[20]=t=>a(l).smtpPort=t),placeholder:"587",class:"w-full"},null,8,["modelValue"])]),_:1})])],64)):x("",!0),s("div",Ge,[o(m,{variant:"ghost",onClick:e[21]||(e[21]=t=>V.value=!1)},{default:n(()=>[...e[41]||(e[41]=[g(" Cancel ",-1)])]),_:1}),o(m,{loading:a(H),onClick:J},{default:n(()=>[...e[42]||(e[42]=[g(" Save ",-1)])]),_:1},8,["loading"])])])]),_:1},8,["open"])])}}});export{fl as default};
@@ -1 +1 @@
1
- import{r as p}from"./Bh0yGTzr.js";import{ax as m,W as f,i as y,c as x,o as r,w as q,ac as v,M as i,aa as l,af as n,$ as s,a as g,P as k,ap as o,ab as w}from"./BOCn_SGf.js";import"./iik6CYzq.js";const S={slots:{root:"my-5",container:"flex items-center gap-3 font-mono text-sm",name:"font-semibold text-primary",wrapper:"flex-1 flex items-center gap-1.5 text-xs",required:"rounded-sm bg-error/10 text-error px-1.5 py-0.5",type:"rounded-sm bg-elevated text-toned px-1.5 py-0.5",description:"mt-3 text-muted text-sm [&_code]:text-xs/4"}},N={__name:"ProseField",props:{as:{type:null,required:!1},name:{type:String,required:!1},type:{type:String,required:!1},description:{type:String,required:!1},required:{type:Boolean,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1}},setup(e){const t=e,u=m(),c=f(),a=y(()=>o({extend:o(S),...c.ui?.prose?.field||{}})());return(d,B)=>(r(),x(g(k),{as:e.as,class:s(a.value.root({class:[t.ui?.root,t.class]}))},{default:q(()=>[v("div",{class:s(a.value.container({class:t.ui?.container}))},[e.name?(r(),i("span",{key:0,class:s(a.value.name({class:t.ui?.name}))},n(e.name),3)):l("",!0),e.type||e.required?(r(),i("div",{key:1,class:s(a.value.wrapper({class:t.ui?.wrapper}))},[e.type?(r(),i("span",{key:0,class:s(a.value.type({class:t.ui?.type}))},n(e.type),3)):l("",!0),e.required?(r(),i("span",{key:1,class:s(a.value.required({class:t.ui?.required}))}," required ",2)):l("",!0)],2)):l("",!0)],2),u.default||e.description?(r(),i("div",{key:0,class:s(a.value.description({class:t.ui?.description}))},[p(d.$slots,"default",{mdcUnwrap:"p"},()=>[w(n(e.description),1)])],2)):l("",!0)]),_:3},8,["as","class"]))}};export{N as default};
1
+ import{r as p}from"./Zj8SE5Ja.js";import{ax as m,W as f,i as y,c as x,o as r,w as q,ac as v,M as i,aa as l,af as n,$ as s,a as g,P as k,ap as o,ab as w}from"./CBqC92gC.js";import"./iik6CYzq.js";const S={slots:{root:"my-5",container:"flex items-center gap-3 font-mono text-sm",name:"font-semibold text-primary",wrapper:"flex-1 flex items-center gap-1.5 text-xs",required:"rounded-sm bg-error/10 text-error px-1.5 py-0.5",type:"rounded-sm bg-elevated text-toned px-1.5 py-0.5",description:"mt-3 text-muted text-sm [&_code]:text-xs/4"}},N={__name:"ProseField",props:{as:{type:null,required:!1},name:{type:String,required:!1},type:{type:String,required:!1},description:{type:String,required:!1},required:{type:Boolean,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1}},setup(e){const t=e,u=m(),c=f(),a=y(()=>o({extend:o(S),...c.ui?.prose?.field||{}})());return(d,B)=>(r(),x(g(k),{as:e.as,class:s(a.value.root({class:[t.ui?.root,t.class]}))},{default:q(()=>[v("div",{class:s(a.value.container({class:t.ui?.container}))},[e.name?(r(),i("span",{key:0,class:s(a.value.name({class:t.ui?.name}))},n(e.name),3)):l("",!0),e.type||e.required?(r(),i("div",{key:1,class:s(a.value.wrapper({class:t.ui?.wrapper}))},[e.type?(r(),i("span",{key:0,class:s(a.value.type({class:t.ui?.type}))},n(e.type),3)):l("",!0),e.required?(r(),i("span",{key:1,class:s(a.value.required({class:t.ui?.required}))}," required ",2)):l("",!0)],2)):l("",!0)],2),u.default||e.description?(r(),i("div",{key:0,class:s(a.value.description({class:t.ui?.description}))},[p(d.$slots,"default",{mdcUnwrap:"p"},()=>[w(n(e.description),1)])],2)):l("",!0)]),_:3},8,["as","class"]))}};export{N as default};
@@ -1,4 +1,4 @@
1
- import{d as O,u as re,c as L,o as y,w as x,r as G,ab as U,m as ie,a as u,P as ue,aQ as ut,aR as We,aS as dt,i as F,aL as ct,aM as ft,af as S,an as gt,e as W,M as z,F as mt,h as ee,a5 as Ve,R as Le,J as ze,as as pt,C as Ie,B as vt,aa as J,al as Q,am as ce,ac as v,Z as w,_ as Ke,aO as ht,b9 as Re,a0 as le,a$ as yt,$ as oe,ax as bt,U as _t,W as xt,aG as kt,aH as $t,ap as De,ak as we,b0 as Ct}from"./BOCn_SGf.js";import{x as At,y as wt,B as Me,s as Se,E as Pt,k as Ye,F as Rt,c as _e,i as St,G as Tt,H as Lt,g as Oe,e as zt,p as Mt,I as Nt,r as Xe,q as Je,J as Ut,K as Ft,t as It,_ as Qe,S as qt,C as Dt,A as Ot,z as Et,f as $e}from"./CxSijT71.js";import{_ as Bt,a as jt}from"./CHnVFnBW.js";import{_ as Ze}from"./MYeLvJGV.js";import{a as et}from"./BXxZokD_.js";import{_ as Te}from"./BTGeP1bA.js";import{e as Gt}from"./hCeWb_38.js";import{p as Ee,c as de,s as Z,a as j,h as Be,b as Ht,e as H,t as Pe,d as be,m as Ne,f as je,g as D,i as Ge,j as Wt,k as Vt,P as Kt,S as Yt}from"./BVYYP4eQ.js";import{_ as Xt}from"./DlAUqK2U.js";import{_ as tt}from"./BhhMUror.js";import{_ as Jt}from"./D_k1YwXm.js";import{_ as Qt}from"./DqR9SdeU.js";import{_ as Zt}from"./DHRexj9X.js";import{f as ea}from"./CWePHsZr.js";import{u as ta}from"./C-78dDNd.js";import"./C8ut0f5H.js";import"./CqkleIqs.js";import"./BZm9w7en.js";import"./8WMJQbWG.js";import"./BWqJInD3.js";import"./B9o6sFST.js";import"./jTT1R-Vz.js";import"./C6Eoiclo.js";import"./CxMuZEwX.js";import"./hrPTRWjM.js";import"./DZikIgHK.js";import"./DTR31rjp.js";import"./88opOQSr.js";import"./CVVtVzXC.js";var aa=O({__name:"PaginationEllipsis",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const n=t;return re(),(e,o)=>(y(),L(u(ue),ie(n,{"data-type":"ellipsis"}),{default:x(()=>[G(e.$slots,"default",{},()=>[o[0]||(o[0]=U("…"))])]),_:3},16))}}),na=aa;const[xe,sa]=ut("PaginationRoot");var oa=O({__name:"PaginationRoot",props:{page:{type:Number,required:!1},defaultPage:{type:Number,required:!1,default:1},itemsPerPage:{type:Number,required:!0},total:{type:Number,required:!1,default:0},siblingCount:{type:Number,required:!1,default:2},disabled:{type:Boolean,required:!1},showEdges:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"nav"}},emits:["update:page"],setup(t,{emit:n}){const e=t,o=n,{siblingCount:l,disabled:r,showEdges:s}=We(e);re();const a=dt(e,"page",o,{defaultValue:e.defaultPage,passive:e.page===void 0}),g=F(()=>Math.max(1,Math.ceil(e.total/(e.itemsPerPage||1))));return sa({page:a,onPageChange(i){a.value=i},pageCount:g,siblingCount:l,disabled:r,showEdges:s}),(i,b)=>(y(),L(u(ue),{as:i.as,"as-child":i.asChild},{default:x(()=>[G(i.$slots,"default",{page:u(a),pageCount:g.value})]),_:3},8,["as","as-child"]))}}),la=oa,ia=O({__name:"PaginationFirst",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(t){const n=t,e=xe();re();const o=F(()=>e.page.value===1||e.disabled.value);return(l,r)=>(y(),L(u(ue),ie(n,{"aria-label":"First Page",type:l.as==="button"?"button":void 0,disabled:o.value,onClick:r[0]||(r[0]=s=>!o.value&&u(e).onPageChange(1))}),{default:x(()=>[G(l.$slots,"default",{},()=>[r[1]||(r[1]=U("First page"))])]),_:3},16,["type","disabled"]))}}),ra=ia,ua=O({__name:"PaginationLast",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(t){const n=t,e=xe();re();const o=F(()=>e.page.value===e.pageCount.value||e.disabled.value);return(l,r)=>(y(),L(u(ue),ie(n,{"aria-label":"Last Page",type:l.as==="button"?"button":void 0,disabled:o.value,onClick:r[0]||(r[0]=s=>!o.value&&u(e).onPageChange(u(e).pageCount.value))}),{default:x(()=>[G(l.$slots,"default",{},()=>[r[1]||(r[1]=U("Last page"))])]),_:3},16,["type","disabled"]))}}),da=ua;function se(t,n){const e=n-t+1;return Array.from({length:e},(o,l)=>l+t)}function ca(t){return t.map(n=>typeof n=="number"?{type:"page",value:n}:{type:"ellipsis"})}const Ce="ellipsis";function fa(t,n,e,o){const r=n,s=Math.max(t-e,1),a=Math.min(t+e,r);if(o){const i=Math.min(2*e+5,n)-2,b=s>3&&Math.abs(r-i-1+1)>2&&Math.abs(s-1)>2,m=a<r-2&&Math.abs(r-i)>2&&Math.abs(r-a)>2;if(!b&&m)return[...se(1,i),Ce,r];if(b&&!m){const f=se(r-i+1,r);return[1,Ce,...f]}if(b&&m){const f=se(s,a);return[1,Ce,...f,Ce,r]}return se(1,r)}else{const g=e*2+1;return n<g?se(1,r):t<=e+1?se(1,g):n-t<=e?se(n-g+1,r):se(s,a)}}var ga=O({__name:"PaginationList",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const n=t;re();const e=xe(),o=F(()=>ca(fa(e.page.value,e.pageCount.value,e.siblingCount.value,e.showEdges.value)));return(l,r)=>(y(),L(u(ue),ct(ft(n)),{default:x(()=>[G(l.$slots,"default",{items:o.value})]),_:3},16))}}),ma=ga,pa=O({__name:"PaginationListItem",props:{value:{type:Number,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(t){const n=t;re();const e=xe(),o=F(()=>e.page.value===n.value),l=F(()=>e.disabled.value);return(r,s)=>(y(),L(u(ue),ie(n,{"data-type":"page","aria-label":`Page ${r.value}`,"aria-current":o.value?"page":void 0,"data-selected":o.value?"true":void 0,disabled:l.value,type:r.as==="button"?"button":void 0,onClick:s[0]||(s[0]=a=>!l.value&&u(e).onPageChange(r.value))}),{default:x(()=>[G(r.$slots,"default",{},()=>[U(S(r.value),1)])]),_:3},16,["aria-label","aria-current","data-selected","disabled","type"]))}}),va=pa,ha=O({__name:"PaginationNext",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(t){const n=t;re();const e=xe(),o=F(()=>e.page.value===e.pageCount.value||e.disabled.value);return(l,r)=>(y(),L(u(ue),ie(n,{"aria-label":"Next Page",type:l.as==="button"?"button":void 0,disabled:o.value,onClick:r[0]||(r[0]=s=>!o.value&&u(e).onPageChange(u(e).page.value+1))}),{default:x(()=>[G(l.$slots,"default",{},()=>[r[1]||(r[1]=U("Next page"))])]),_:3},16,["type","disabled"]))}}),ya=ha,ba=O({__name:"PaginationPrev",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(t){const n=t;re();const e=xe(),o=F(()=>e.page.value===1||e.disabled.value);return(l,r)=>(y(),L(u(ue),ie(n,{"aria-label":"Previous Page",type:l.as==="button"?"button":void 0,disabled:o.value,onClick:r[0]||(r[0]=s=>!o.value&&u(e).onPageChange(u(e).page.value-1))}),{default:x(()=>[G(l.$slots,"default",{},()=>[r[1]||(r[1]=U("Prev page"))])]),_:3},16,["type","disabled"]))}}),_a=ba;const xa=Object.assign(Object.assign({},At),{tooltip:void 0,annotations:void 0});class ka extends wt{constructor(n,e,o){var l;super(n),this._defaultConfig=xa,this.config=this._defaultConfig,e&&(this.updateContainer(e,!0),this.component=e.component),o&&this.setData(o,!0),!((l=this.component)===null||l===void 0)&&l.datamodel.data&&this.render()}setData(n,e){var o;const{config:l}=this;this.component&&this.component.setData(n),e||this.render(),(o=l.tooltip)===null||o===void 0||o.hide()}updateContainer(n,e){super.updateContainer(n),this._removeAllChildren(),this.component=n.component,n.sizing&&(this.component.sizing=n.sizing),this.element.appendChild(this.component.element);const o=n.tooltip;o&&(o.hasContainer()||o.setContainer(this._container),o.setComponents([this.component]));const l=n.annotations;l&&this.element.appendChild(l.element),this.element.appendChild(this._svgDefs.node()),this.element.appendChild(this._svgDefsExternal.node()),e||this.render()}updateComponent(n,e){this.component.setConfig(n),e||this.render()}update(n,e,o){n&&this.updateContainer(n,!0),e&&this.updateComponent(e,!0),o&&this.setData(o,!0),this.render()}getFitWidthScale(){const{config:n,component:e}=this,o=e;if(!o.getWidth)return 1;const l=o.getWidth()+n.margin.left+n.margin.right;return this.width/l}_preRender(){var n,e;super._preRender(),this.component.setSize(this.width,this.height,this.containerWidth,this.containerHeight),this.component.setContainerMargin(this.config.margin),(n=this.config.annotations)===null||n===void 0||n.setSize(this.width,this.height,this.containerWidth,this.containerHeight),(e=this.config.annotations)===null||e===void 0||e.setContainerMargin(this.config.margin)}_render(n){var e;const{config:o,component:l}=this;super._render(n),l.g.attr("transform",`translate(${o.margin.left},${o.margin.top})`),l.render(n),(e=o.annotations)===null||e===void 0||e.render(n),o.tooltip&&o.tooltip.update()}render(n=this.config.duration){const{config:e,component:o}=this;if(e.sizing===Me.Extend||e.sizing===Me.FitWidth){const l=e.sizing===Me.FitWidth,r=o,s=r.getWidth()+e.margin.left+e.margin.right,a=r.getHeight()+e.margin.top+e.margin.bottom,g=l?this.getFitWidthScale():1,i=this.svg.attr("width"),b=this.svg.attr("height"),m=s*g,c=a*g,f=i||b;Se(this.svg,f?n:0).attr("width",m).attr("height",c).attr("viewBox",`0 0 ${s} ${l?c:a}`).attr("preserveAspectRatio","xMinYMin")}else this.svg.attr("width",this.config.width||this.containerWidth).attr("height",this.config.height||this.containerHeight);this._resizeObserver||this._setUpResizeObserver(),cancelAnimationFrame(this._renderAnimationFrameId),this._renderAnimationFrameId=requestAnimationFrame(()=>{this._preRender(),this._render(n)})}_onResize(){var n;const{config:e}=this;super._onResize(),(n=e.tooltip)===null||n===void 0||n.hide()}destroy(){var n,e;const{component:o,config:l}=this;super.destroy(),o?.destroy(),(n=l.tooltip)===null||n===void 0||n.destroy(),(e=l.annotations)===null||e===void 0||e.destroy()}}function $a(t){return t.innerRadius}function Ca(t){return t.outerRadius}function Aa(t){return t.startAngle}function wa(t){return t.endAngle}function Pa(t){return t&&t.padAngle}function Ra(t,n,e,o,l,r,s,a){var g=e-t,i=o-n,b=s-l,m=a-r,c=m*g-b*i;if(!(c*c<H))return c=(b*(n-r)-m*(t-l))/c,[t+c*g,n+c*i]}function Ae(t,n,e,o,l,r,s){var a=t-e,g=n-o,i=(s?r:-r)/be(a*a+g*g),b=i*g,m=-i*a,c=t+b,f=n+m,h=e+b,$=o+m,d=(c+h)/2,T=(f+$)/2,P=h-c,_=$-f,C=P*P+_*_,N=l-r,M=c*$-h*f,R=(_<0?-1:1)*be(Wt(0,N*N*C-M*M)),q=(M*_-P*R)/C,I=(-M*P-_*R)/C,E=(M*_+P*R)/C,B=(-M*P+_*R)/C,p=q-d,A=I-T,K=E-d,Y=B-T;return p*p+A*A>K*K+Y*Y&&(q=E,I=B),{cx:q,cy:I,x01:-b,y01:-m,x11:q*(l/N-1),y11:I*(l/N-1)}}function Sa(){var t=$a,n=Ca,e=j(0),o=null,l=Aa,r=wa,s=Pa,a=null;function g(){var i,b,m=+t.apply(this,arguments),c=+n.apply(this,arguments),f=l.apply(this,arguments)-Be,h=r.apply(this,arguments)-Be,$=je(h-f),d=h>f;if(a||(a=i=Ht()),c<m&&(b=c,c=m,m=b),!(c>H))a.moveTo(0,0);else if($>Pe-H)a.moveTo(c*de(f),c*Z(f)),a.arc(0,0,c,f,h,!d),m>H&&(a.moveTo(m*de(h),m*Z(h)),a.arc(0,0,m,h,f,d));else{var T=f,P=h,_=f,C=h,N=$,M=$,R=s.apply(this,arguments)/2,q=R>H&&(o?+o.apply(this,arguments):be(m*m+c*c)),I=Ne(je(c-m)/2,+e.apply(this,arguments)),E=I,B=I,p,A;if(q>H){var K=Ge(q/m*Z(R)),Y=Ge(q/c*Z(R));(N-=K*2)>H?(K*=d?1:-1,_+=K,C-=K):(N=0,_=C=(f+h)/2),(M-=Y*2)>H?(Y*=d?1:-1,T+=Y,P-=Y):(M=0,T=P=(f+h)/2)}var te=c*de(T),ae=c*Z(T),ke=m*de(C),fe=m*Z(C);if(I>H){var ne=c*de(P),ge=c*Z(P),me=m*de(_),pe=m*Z(_),X;if($<Ee&&(X=Ra(te,ae,me,pe,ne,ge,ke,fe))){var ve=te-X[0],he=ae-X[1],k=ne-X[0],V=ge-X[1],ye=1/Z(Vt((ve*k+he*V)/(be(ve*ve+he*he)*be(k*k+V*V)))/2),qe=be(X[0]*X[0]+X[1]*X[1]);E=Ne(I,(m-qe)/(ye-1)),B=Ne(I,(c-qe)/(ye+1))}}M>H?B>H?(p=Ae(me,pe,te,ae,c,B,d),A=Ae(ne,ge,ke,fe,c,B,d),a.moveTo(p.cx+p.x01,p.cy+p.y01),B<I?a.arc(p.cx,p.cy,B,D(p.y01,p.x01),D(A.y01,A.x01),!d):(a.arc(p.cx,p.cy,B,D(p.y01,p.x01),D(p.y11,p.x11),!d),a.arc(0,0,c,D(p.cy+p.y11,p.cx+p.x11),D(A.cy+A.y11,A.cx+A.x11),!d),a.arc(A.cx,A.cy,B,D(A.y11,A.x11),D(A.y01,A.x01),!d))):(a.moveTo(te,ae),a.arc(0,0,c,T,P,!d)):a.moveTo(te,ae),!(m>H)||!(N>H)?a.lineTo(ke,fe):E>H?(p=Ae(ke,fe,ne,ge,m,-E,d),A=Ae(te,ae,me,pe,m,-E,d),a.lineTo(p.cx+p.x01,p.cy+p.y01),E<I?a.arc(p.cx,p.cy,E,D(p.y01,p.x01),D(A.y01,A.x01),!d):(a.arc(p.cx,p.cy,E,D(p.y01,p.x01),D(p.y11,p.x11),!d),a.arc(0,0,m,D(p.cy+p.y11,p.cx+p.x11),D(A.cy+A.y11,A.cx+A.x11),d),a.arc(A.cx,A.cy,E,D(A.y11,A.x11),D(A.y01,A.x01),!d))):a.arc(0,0,m,C,_,d)}if(a.closePath(),i)return a=null,i+""||null}return g.centroid=function(){var i=(+t.apply(this,arguments)+ +n.apply(this,arguments))/2,b=(+l.apply(this,arguments)+ +r.apply(this,arguments))/2-Ee/2;return[de(b)*i,Z(b)*i]},g.innerRadius=function(i){return arguments.length?(t=typeof i=="function"?i:j(+i),g):t},g.outerRadius=function(i){return arguments.length?(n=typeof i=="function"?i:j(+i),g):n},g.cornerRadius=function(i){return arguments.length?(e=typeof i=="function"?i:j(+i),g):e},g.padRadius=function(i){return arguments.length?(o=i==null?null:typeof i=="function"?i:j(+i),g):o},g.startAngle=function(i){return arguments.length?(l=typeof i=="function"?i:j(+i),g):l},g.endAngle=function(i){return arguments.length?(r=typeof i=="function"?i:j(+i),g):r},g.padAngle=function(i){return arguments.length?(s=typeof i=="function"?i:j(+i),g):s},g.context=function(i){return arguments.length?(a=i??null,g):a},g}function Ta(t,n){return n<t?-1:n>t?1:n>=t?0:NaN}function La(t){return t}function za(){var t=La,n=Ta,e=null,o=j(0),l=j(Pe),r=j(0);function s(a){var g,i=a.length,b,m,c=0,f=new Array(i),h=new Array(i),$=+o.apply(this,arguments),d=Math.min(Pe,Math.max(-Pe,l.apply(this,arguments)-$)),T,P=Math.min(Math.abs(d)/i,r.apply(this,arguments)),_=P*(d<0?-1:1),C;for(g=0;g<i;++g)(C=h[f[g]=g]=+t(a[g],g,a))>0&&(c+=C);for(n!=null?f.sort(function(N,M){return n(h[N],h[M])}):e!=null&&f.sort(function(N,M){return e(a[N],a[M])}),g=0,m=c?(d-i*_)/c:0;g<i;++g,$=T)b=f[g],C=h[b],T=$+(C>0?C*m:0)+_,h[b]={data:a[b],index:g,value:C,startAngle:$,endAngle:T,padAngle:P};return h}return s.value=function(a){return arguments.length?(t=typeof a=="function"?a:j(+a),s):t},s.sortValues=function(a){return arguments.length?(n=a,e=null,s):n},s.sort=function(a){return arguments.length?(e=a,n=null,s):e},s.startAngle=function(a){return arguments.length?(o=typeof a=="function"?a:j(+a),s):o},s.endAngle=function(a){return arguments.length?(l=typeof a=="function"?a:j(+a),s):l},s.padAngle=function(a){return arguments.length?(r=typeof a=="function"?a:j(+a),s):r},s}const Ma=Object.assign(Object.assign({},Pt),{id:(t,n)=>{var e;return(e=t.id)!==null&&e!==void 0?e:n},value:void 0,angleRange:[0,2*Math.PI],padAngle:0,sortFunction:void 0,cornerRadius:0,color:void 0,radius:void 0,arcWidth:20,centralLabel:void 0,centralSubLabel:void 0,centralSubLabelWrap:!0,showEmptySegments:!1,emptySegmentAngle:.5*Math.PI/180,showBackground:!0,backgroundAngleRange:void 0,centralLabelOffsetX:void 0,centralLabelOffsetY:void 0});function Na(t,n){t.style("fill",e=>Ye(e.data,n.color,e.index)).style("opacity",0).each((e,o,l)=>{const r=l[o],s=(e.startAngle+e.endAngle)/2,a=(e.endAngle-e.startAngle)/2;r._animState={startAngle:s-a,endAngle:s+a,innerRadius:e.innerRadius,outerRadius:e.outerRadius,padAngle:e.padAngle}})}function Ua(t,n,e,o){t.style("transition",`fill ${o}ms`).style("fill",r=>Ye(r.data,n.color,r.index));const l=r=>n.showEmptySegments||r.value?1:0;o?Se(t,o).style("opacity",l).attrTween("d",(s,a,g)=>{const i=g[a],b={startAngle:s.startAngle,endAngle:s.endAngle,innerRadius:s.innerRadius,outerRadius:s.outerRadius,padAngle:s.padAngle},m=Rt(i._animState,b);return c=>(i._animState=m(c),e(i._animState))}):t.attr("d",e).style("opacity",l)}function Fa(t,n){Se(t,n).style("opacity",0).remove()}const at=Array.from({length:4},(t,n)=>{const e=-Math.PI/2+n*Math.PI/2;return[e,e+Math.PI]}),[Us,Fs,Is,qs]=at,nt=_e`
1
+ import{d as O,u as re,c as L,o as y,w as x,r as G,ab as U,m as ie,a as u,P as ue,aQ as ut,aR as We,aS as dt,i as F,aL as ct,aM as ft,af as S,an as gt,e as W,M as z,F as mt,h as ee,a5 as Ve,R as Le,J as ze,as as pt,C as Ie,B as vt,aa as J,al as Q,am as ce,ac as v,Z as w,_ as Ke,aO as ht,b9 as Re,a0 as le,a$ as yt,$ as oe,ax as bt,U as _t,W as xt,aG as kt,aH as $t,ap as De,ak as we,b0 as Ct}from"./CBqC92gC.js";import{x as At,y as wt,B as Me,s as Se,E as Pt,k as Ye,F as Rt,c as _e,i as St,G as Tt,H as Lt,g as Oe,e as zt,p as Mt,I as Nt,r as Xe,q as Je,J as Ut,K as Ft,t as It,_ as Qe,S as qt,C as Dt,A as Ot,z as Et,f as $e}from"./cq8AG_FV.js";import{_ as Bt,a as jt}from"./CZV2u8Xx.js";import{_ as Ze}from"./DhvuBruY.js";import{a as et}from"./-Q9J9PRu.js";import{_ as Te}from"./EPFrlLUV.js";import{e as Gt}from"./DUf0f355.js";import{p as Ee,c as de,s as Z,a as j,h as Be,b as Ht,e as H,t as Pe,d as be,m as Ne,f as je,g as D,i as Ge,j as Wt,k as Vt,P as Kt,S as Yt}from"./CFjVdIUR.js";import{_ as Xt}from"./DlAUqK2U.js";import{_ as tt}from"./BPfVf7kt.js";import{_ as Jt}from"./tak9pMy9.js";import{_ as Qt}from"./4Vi9hKJC.js";import{_ as Zt}from"./ZjXNlFkb.js";import{f as ea}from"./CWePHsZr.js";import{u as ta}from"./BZFf3mr_.js";import"./C8ut0f5H.js";import"./CqkleIqs.js";import"./C35LJkds.js";import"./DrQVjmDX.js";import"./B9OPrqTh.js";import"./CltqyXO5.js";import"./DWnLv2oh.js";import"./Cyo4VJ6S.js";import"./Dfzca1IN.js";import"./JsQhjNzl.js";import"./CN_jZBEh.js";import"./BoqEl-F1.js";import"./88opOQSr.js";import"./CM5aLXsq.js";var aa=O({__name:"PaginationEllipsis",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const n=t;return re(),(e,o)=>(y(),L(u(ue),ie(n,{"data-type":"ellipsis"}),{default:x(()=>[G(e.$slots,"default",{},()=>[o[0]||(o[0]=U("…"))])]),_:3},16))}}),na=aa;const[xe,sa]=ut("PaginationRoot");var oa=O({__name:"PaginationRoot",props:{page:{type:Number,required:!1},defaultPage:{type:Number,required:!1,default:1},itemsPerPage:{type:Number,required:!0},total:{type:Number,required:!1,default:0},siblingCount:{type:Number,required:!1,default:2},disabled:{type:Boolean,required:!1},showEdges:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"nav"}},emits:["update:page"],setup(t,{emit:n}){const e=t,o=n,{siblingCount:l,disabled:r,showEdges:s}=We(e);re();const a=dt(e,"page",o,{defaultValue:e.defaultPage,passive:e.page===void 0}),g=F(()=>Math.max(1,Math.ceil(e.total/(e.itemsPerPage||1))));return sa({page:a,onPageChange(i){a.value=i},pageCount:g,siblingCount:l,disabled:r,showEdges:s}),(i,b)=>(y(),L(u(ue),{as:i.as,"as-child":i.asChild},{default:x(()=>[G(i.$slots,"default",{page:u(a),pageCount:g.value})]),_:3},8,["as","as-child"]))}}),la=oa,ia=O({__name:"PaginationFirst",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(t){const n=t,e=xe();re();const o=F(()=>e.page.value===1||e.disabled.value);return(l,r)=>(y(),L(u(ue),ie(n,{"aria-label":"First Page",type:l.as==="button"?"button":void 0,disabled:o.value,onClick:r[0]||(r[0]=s=>!o.value&&u(e).onPageChange(1))}),{default:x(()=>[G(l.$slots,"default",{},()=>[r[1]||(r[1]=U("First page"))])]),_:3},16,["type","disabled"]))}}),ra=ia,ua=O({__name:"PaginationLast",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(t){const n=t,e=xe();re();const o=F(()=>e.page.value===e.pageCount.value||e.disabled.value);return(l,r)=>(y(),L(u(ue),ie(n,{"aria-label":"Last Page",type:l.as==="button"?"button":void 0,disabled:o.value,onClick:r[0]||(r[0]=s=>!o.value&&u(e).onPageChange(u(e).pageCount.value))}),{default:x(()=>[G(l.$slots,"default",{},()=>[r[1]||(r[1]=U("Last page"))])]),_:3},16,["type","disabled"]))}}),da=ua;function se(t,n){const e=n-t+1;return Array.from({length:e},(o,l)=>l+t)}function ca(t){return t.map(n=>typeof n=="number"?{type:"page",value:n}:{type:"ellipsis"})}const Ce="ellipsis";function fa(t,n,e,o){const r=n,s=Math.max(t-e,1),a=Math.min(t+e,r);if(o){const i=Math.min(2*e+5,n)-2,b=s>3&&Math.abs(r-i-1+1)>2&&Math.abs(s-1)>2,m=a<r-2&&Math.abs(r-i)>2&&Math.abs(r-a)>2;if(!b&&m)return[...se(1,i),Ce,r];if(b&&!m){const f=se(r-i+1,r);return[1,Ce,...f]}if(b&&m){const f=se(s,a);return[1,Ce,...f,Ce,r]}return se(1,r)}else{const g=e*2+1;return n<g?se(1,r):t<=e+1?se(1,g):n-t<=e?se(n-g+1,r):se(s,a)}}var ga=O({__name:"PaginationList",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const n=t;re();const e=xe(),o=F(()=>ca(fa(e.page.value,e.pageCount.value,e.siblingCount.value,e.showEdges.value)));return(l,r)=>(y(),L(u(ue),ct(ft(n)),{default:x(()=>[G(l.$slots,"default",{items:o.value})]),_:3},16))}}),ma=ga,pa=O({__name:"PaginationListItem",props:{value:{type:Number,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(t){const n=t;re();const e=xe(),o=F(()=>e.page.value===n.value),l=F(()=>e.disabled.value);return(r,s)=>(y(),L(u(ue),ie(n,{"data-type":"page","aria-label":`Page ${r.value}`,"aria-current":o.value?"page":void 0,"data-selected":o.value?"true":void 0,disabled:l.value,type:r.as==="button"?"button":void 0,onClick:s[0]||(s[0]=a=>!l.value&&u(e).onPageChange(r.value))}),{default:x(()=>[G(r.$slots,"default",{},()=>[U(S(r.value),1)])]),_:3},16,["aria-label","aria-current","data-selected","disabled","type"]))}}),va=pa,ha=O({__name:"PaginationNext",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(t){const n=t;re();const e=xe(),o=F(()=>e.page.value===e.pageCount.value||e.disabled.value);return(l,r)=>(y(),L(u(ue),ie(n,{"aria-label":"Next Page",type:l.as==="button"?"button":void 0,disabled:o.value,onClick:r[0]||(r[0]=s=>!o.value&&u(e).onPageChange(u(e).page.value+1))}),{default:x(()=>[G(l.$slots,"default",{},()=>[r[1]||(r[1]=U("Next page"))])]),_:3},16,["type","disabled"]))}}),ya=ha,ba=O({__name:"PaginationPrev",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(t){const n=t;re();const e=xe(),o=F(()=>e.page.value===1||e.disabled.value);return(l,r)=>(y(),L(u(ue),ie(n,{"aria-label":"Previous Page",type:l.as==="button"?"button":void 0,disabled:o.value,onClick:r[0]||(r[0]=s=>!o.value&&u(e).onPageChange(u(e).page.value-1))}),{default:x(()=>[G(l.$slots,"default",{},()=>[r[1]||(r[1]=U("Prev page"))])]),_:3},16,["type","disabled"]))}}),_a=ba;const xa=Object.assign(Object.assign({},At),{tooltip:void 0,annotations:void 0});class ka extends wt{constructor(n,e,o){var l;super(n),this._defaultConfig=xa,this.config=this._defaultConfig,e&&(this.updateContainer(e,!0),this.component=e.component),o&&this.setData(o,!0),!((l=this.component)===null||l===void 0)&&l.datamodel.data&&this.render()}setData(n,e){var o;const{config:l}=this;this.component&&this.component.setData(n),e||this.render(),(o=l.tooltip)===null||o===void 0||o.hide()}updateContainer(n,e){super.updateContainer(n),this._removeAllChildren(),this.component=n.component,n.sizing&&(this.component.sizing=n.sizing),this.element.appendChild(this.component.element);const o=n.tooltip;o&&(o.hasContainer()||o.setContainer(this._container),o.setComponents([this.component]));const l=n.annotations;l&&this.element.appendChild(l.element),this.element.appendChild(this._svgDefs.node()),this.element.appendChild(this._svgDefsExternal.node()),e||this.render()}updateComponent(n,e){this.component.setConfig(n),e||this.render()}update(n,e,o){n&&this.updateContainer(n,!0),e&&this.updateComponent(e,!0),o&&this.setData(o,!0),this.render()}getFitWidthScale(){const{config:n,component:e}=this,o=e;if(!o.getWidth)return 1;const l=o.getWidth()+n.margin.left+n.margin.right;return this.width/l}_preRender(){var n,e;super._preRender(),this.component.setSize(this.width,this.height,this.containerWidth,this.containerHeight),this.component.setContainerMargin(this.config.margin),(n=this.config.annotations)===null||n===void 0||n.setSize(this.width,this.height,this.containerWidth,this.containerHeight),(e=this.config.annotations)===null||e===void 0||e.setContainerMargin(this.config.margin)}_render(n){var e;const{config:o,component:l}=this;super._render(n),l.g.attr("transform",`translate(${o.margin.left},${o.margin.top})`),l.render(n),(e=o.annotations)===null||e===void 0||e.render(n),o.tooltip&&o.tooltip.update()}render(n=this.config.duration){const{config:e,component:o}=this;if(e.sizing===Me.Extend||e.sizing===Me.FitWidth){const l=e.sizing===Me.FitWidth,r=o,s=r.getWidth()+e.margin.left+e.margin.right,a=r.getHeight()+e.margin.top+e.margin.bottom,g=l?this.getFitWidthScale():1,i=this.svg.attr("width"),b=this.svg.attr("height"),m=s*g,c=a*g,f=i||b;Se(this.svg,f?n:0).attr("width",m).attr("height",c).attr("viewBox",`0 0 ${s} ${l?c:a}`).attr("preserveAspectRatio","xMinYMin")}else this.svg.attr("width",this.config.width||this.containerWidth).attr("height",this.config.height||this.containerHeight);this._resizeObserver||this._setUpResizeObserver(),cancelAnimationFrame(this._renderAnimationFrameId),this._renderAnimationFrameId=requestAnimationFrame(()=>{this._preRender(),this._render(n)})}_onResize(){var n;const{config:e}=this;super._onResize(),(n=e.tooltip)===null||n===void 0||n.hide()}destroy(){var n,e;const{component:o,config:l}=this;super.destroy(),o?.destroy(),(n=l.tooltip)===null||n===void 0||n.destroy(),(e=l.annotations)===null||e===void 0||e.destroy()}}function $a(t){return t.innerRadius}function Ca(t){return t.outerRadius}function Aa(t){return t.startAngle}function wa(t){return t.endAngle}function Pa(t){return t&&t.padAngle}function Ra(t,n,e,o,l,r,s,a){var g=e-t,i=o-n,b=s-l,m=a-r,c=m*g-b*i;if(!(c*c<H))return c=(b*(n-r)-m*(t-l))/c,[t+c*g,n+c*i]}function Ae(t,n,e,o,l,r,s){var a=t-e,g=n-o,i=(s?r:-r)/be(a*a+g*g),b=i*g,m=-i*a,c=t+b,f=n+m,h=e+b,$=o+m,d=(c+h)/2,T=(f+$)/2,P=h-c,_=$-f,C=P*P+_*_,N=l-r,M=c*$-h*f,R=(_<0?-1:1)*be(Wt(0,N*N*C-M*M)),q=(M*_-P*R)/C,I=(-M*P-_*R)/C,E=(M*_+P*R)/C,B=(-M*P+_*R)/C,p=q-d,A=I-T,K=E-d,Y=B-T;return p*p+A*A>K*K+Y*Y&&(q=E,I=B),{cx:q,cy:I,x01:-b,y01:-m,x11:q*(l/N-1),y11:I*(l/N-1)}}function Sa(){var t=$a,n=Ca,e=j(0),o=null,l=Aa,r=wa,s=Pa,a=null;function g(){var i,b,m=+t.apply(this,arguments),c=+n.apply(this,arguments),f=l.apply(this,arguments)-Be,h=r.apply(this,arguments)-Be,$=je(h-f),d=h>f;if(a||(a=i=Ht()),c<m&&(b=c,c=m,m=b),!(c>H))a.moveTo(0,0);else if($>Pe-H)a.moveTo(c*de(f),c*Z(f)),a.arc(0,0,c,f,h,!d),m>H&&(a.moveTo(m*de(h),m*Z(h)),a.arc(0,0,m,h,f,d));else{var T=f,P=h,_=f,C=h,N=$,M=$,R=s.apply(this,arguments)/2,q=R>H&&(o?+o.apply(this,arguments):be(m*m+c*c)),I=Ne(je(c-m)/2,+e.apply(this,arguments)),E=I,B=I,p,A;if(q>H){var K=Ge(q/m*Z(R)),Y=Ge(q/c*Z(R));(N-=K*2)>H?(K*=d?1:-1,_+=K,C-=K):(N=0,_=C=(f+h)/2),(M-=Y*2)>H?(Y*=d?1:-1,T+=Y,P-=Y):(M=0,T=P=(f+h)/2)}var te=c*de(T),ae=c*Z(T),ke=m*de(C),fe=m*Z(C);if(I>H){var ne=c*de(P),ge=c*Z(P),me=m*de(_),pe=m*Z(_),X;if($<Ee&&(X=Ra(te,ae,me,pe,ne,ge,ke,fe))){var ve=te-X[0],he=ae-X[1],k=ne-X[0],V=ge-X[1],ye=1/Z(Vt((ve*k+he*V)/(be(ve*ve+he*he)*be(k*k+V*V)))/2),qe=be(X[0]*X[0]+X[1]*X[1]);E=Ne(I,(m-qe)/(ye-1)),B=Ne(I,(c-qe)/(ye+1))}}M>H?B>H?(p=Ae(me,pe,te,ae,c,B,d),A=Ae(ne,ge,ke,fe,c,B,d),a.moveTo(p.cx+p.x01,p.cy+p.y01),B<I?a.arc(p.cx,p.cy,B,D(p.y01,p.x01),D(A.y01,A.x01),!d):(a.arc(p.cx,p.cy,B,D(p.y01,p.x01),D(p.y11,p.x11),!d),a.arc(0,0,c,D(p.cy+p.y11,p.cx+p.x11),D(A.cy+A.y11,A.cx+A.x11),!d),a.arc(A.cx,A.cy,B,D(A.y11,A.x11),D(A.y01,A.x01),!d))):(a.moveTo(te,ae),a.arc(0,0,c,T,P,!d)):a.moveTo(te,ae),!(m>H)||!(N>H)?a.lineTo(ke,fe):E>H?(p=Ae(ke,fe,ne,ge,m,-E,d),A=Ae(te,ae,me,pe,m,-E,d),a.lineTo(p.cx+p.x01,p.cy+p.y01),E<I?a.arc(p.cx,p.cy,E,D(p.y01,p.x01),D(A.y01,A.x01),!d):(a.arc(p.cx,p.cy,E,D(p.y01,p.x01),D(p.y11,p.x11),!d),a.arc(0,0,m,D(p.cy+p.y11,p.cx+p.x11),D(A.cy+A.y11,A.cx+A.x11),d),a.arc(A.cx,A.cy,E,D(A.y11,A.x11),D(A.y01,A.x01),!d))):a.arc(0,0,m,C,_,d)}if(a.closePath(),i)return a=null,i+""||null}return g.centroid=function(){var i=(+t.apply(this,arguments)+ +n.apply(this,arguments))/2,b=(+l.apply(this,arguments)+ +r.apply(this,arguments))/2-Ee/2;return[de(b)*i,Z(b)*i]},g.innerRadius=function(i){return arguments.length?(t=typeof i=="function"?i:j(+i),g):t},g.outerRadius=function(i){return arguments.length?(n=typeof i=="function"?i:j(+i),g):n},g.cornerRadius=function(i){return arguments.length?(e=typeof i=="function"?i:j(+i),g):e},g.padRadius=function(i){return arguments.length?(o=i==null?null:typeof i=="function"?i:j(+i),g):o},g.startAngle=function(i){return arguments.length?(l=typeof i=="function"?i:j(+i),g):l},g.endAngle=function(i){return arguments.length?(r=typeof i=="function"?i:j(+i),g):r},g.padAngle=function(i){return arguments.length?(s=typeof i=="function"?i:j(+i),g):s},g.context=function(i){return arguments.length?(a=i??null,g):a},g}function Ta(t,n){return n<t?-1:n>t?1:n>=t?0:NaN}function La(t){return t}function za(){var t=La,n=Ta,e=null,o=j(0),l=j(Pe),r=j(0);function s(a){var g,i=a.length,b,m,c=0,f=new Array(i),h=new Array(i),$=+o.apply(this,arguments),d=Math.min(Pe,Math.max(-Pe,l.apply(this,arguments)-$)),T,P=Math.min(Math.abs(d)/i,r.apply(this,arguments)),_=P*(d<0?-1:1),C;for(g=0;g<i;++g)(C=h[f[g]=g]=+t(a[g],g,a))>0&&(c+=C);for(n!=null?f.sort(function(N,M){return n(h[N],h[M])}):e!=null&&f.sort(function(N,M){return e(a[N],a[M])}),g=0,m=c?(d-i*_)/c:0;g<i;++g,$=T)b=f[g],C=h[b],T=$+(C>0?C*m:0)+_,h[b]={data:a[b],index:g,value:C,startAngle:$,endAngle:T,padAngle:P};return h}return s.value=function(a){return arguments.length?(t=typeof a=="function"?a:j(+a),s):t},s.sortValues=function(a){return arguments.length?(n=a,e=null,s):n},s.sort=function(a){return arguments.length?(e=a,n=null,s):e},s.startAngle=function(a){return arguments.length?(o=typeof a=="function"?a:j(+a),s):o},s.endAngle=function(a){return arguments.length?(l=typeof a=="function"?a:j(+a),s):l},s.padAngle=function(a){return arguments.length?(r=typeof a=="function"?a:j(+a),s):r},s}const Ma=Object.assign(Object.assign({},Pt),{id:(t,n)=>{var e;return(e=t.id)!==null&&e!==void 0?e:n},value:void 0,angleRange:[0,2*Math.PI],padAngle:0,sortFunction:void 0,cornerRadius:0,color:void 0,radius:void 0,arcWidth:20,centralLabel:void 0,centralSubLabel:void 0,centralSubLabelWrap:!0,showEmptySegments:!1,emptySegmentAngle:.5*Math.PI/180,showBackground:!0,backgroundAngleRange:void 0,centralLabelOffsetX:void 0,centralLabelOffsetY:void 0});function Na(t,n){t.style("fill",e=>Ye(e.data,n.color,e.index)).style("opacity",0).each((e,o,l)=>{const r=l[o],s=(e.startAngle+e.endAngle)/2,a=(e.endAngle-e.startAngle)/2;r._animState={startAngle:s-a,endAngle:s+a,innerRadius:e.innerRadius,outerRadius:e.outerRadius,padAngle:e.padAngle}})}function Ua(t,n,e,o){t.style("transition",`fill ${o}ms`).style("fill",r=>Ye(r.data,n.color,r.index));const l=r=>n.showEmptySegments||r.value?1:0;o?Se(t,o).style("opacity",l).attrTween("d",(s,a,g)=>{const i=g[a],b={startAngle:s.startAngle,endAngle:s.endAngle,innerRadius:s.innerRadius,outerRadius:s.outerRadius,padAngle:s.padAngle},m=Rt(i._animState,b);return c=>(i._animState=m(c),e(i._animState))}):t.attr("d",e).style("opacity",l)}function Fa(t,n){Se(t,n).style("opacity",0).remove()}const at=Array.from({length:4},(t,n)=>{const e=-Math.PI/2+n*Math.PI/2;return[e,e+Math.PI]}),[Us,Fs,Is,qs]=at,nt=_e`
2
2
  label: donut-component;
3
3
  `,Ia=St`
4
4
  :root {
@@ -1 +1 @@
1
- import{r as t}from"./Bh0yGTzr.js";import a from"./subdxgSQ.js";import{W as e,c as n,o as s,w as c,a as i}from"./BOCn_SGf.js";import"./iik6CYzq.js";const d={__name:"ProseNote",setup(p){const o=e();return(r,f)=>(s(),n(a,{color:"info",icon:i(o).ui.icons.info},{default:c(()=>[t(r.$slots,"default",{mdcUnwrap:"p"})]),_:3},8,["icon"]))}};export{d as default};
1
+ import{r as t}from"./Zj8SE5Ja.js";import a from"./f35n4CdE.js";import{W as e,c as n,o as s,w as c,a as i}from"./CBqC92gC.js";import"./iik6CYzq.js";const d={__name:"ProseNote",setup(p){const o=e();return(r,f)=>(s(),n(a,{color:"info",icon:i(o).ui.icons.info},{default:c(()=>[t(r.$slots,"default",{mdcUnwrap:"p"})]),_:3},8,["icon"]))}};export{d as default};
@@ -1 +1 @@
1
- import{W as l,i as c,c as r,o as n,$ as u,ap as s}from"./BOCn_SGf.js";import{_ as p}from"./C1oaoi1p.js";const i={base:"align-text-top"},v={__name:"ProseKbd",props:{value:{type:String,required:!0},class:{type:null,required:!1}},setup(e){const a=e,t=l(),o=c(()=>s({extend:s(i),...t.ui?.prose?.kbd||{}}));return(m,f)=>(n(),r(p,{value:e.value,class:u(o.value({class:a.class}))},null,8,["value","class"]))}};export{v as default};
1
+ import{W as l,i as c,c as r,o as n,$ as u,ap as s}from"./CBqC92gC.js";import{_ as p}from"./DAQeLqQw.js";const i={base:"align-text-top"},v={__name:"ProseKbd",props:{value:{type:String,required:!0},class:{type:null,required:!1}},setup(e){const a=e,t=l(),o=c(()=>s({extend:s(i),...t.ui?.prose?.kbd||{}}));return(m,f)=>(n(),r(p,{value:e.value,class:u(o.value({class:a.class}))},null,8,["value","class"]))}};export{v as default};
@@ -1 +1 @@
1
- import{_ as E}from"./DqR9SdeU.js";import{d as V,M as i,o as l,ac as u,aa as b,Z as r,_ as B,af as v,c as p,w as c,ab as _,al as w,am as $,a0 as j,ah as Z,bl as A,aj as G,e as h,i as T,C as H,a as o,ak as J,ag as K}from"./BOCn_SGf.js";import{_ as Q,a as W}from"./CHnVFnBW.js";import{_ as X}from"./MYeLvJGV.js";import{_ as Y}from"./BhhMUror.js";import"./hCeWb_38.js";import"./BZm9w7en.js";import"./8WMJQbWG.js";const ee={class:"p-4 rounded-lg border border-default bg-elevated/50 hover:bg-elevated transition-colors"},te={class:"flex items-start justify-between gap-2 mb-2"},le={class:"flex items-center gap-2 min-w-0"},se={class:"font-medium truncate"},ae={class:"flex items-center gap-1.5 shrink-0"},ie={class:"text-sm text-muted line-clamp-2 mb-3"},ne={key:0,class:"flex flex-wrap gap-1 mb-3"},oe={key:1,class:"flex items-center gap-1 mb-3 text-xs text-dimmed"},re={class:"flex items-center justify-between"},ce={key:0,class:"text-xs text-dimmed"},de={key:1},ue={class:"flex items-center gap-1.5"},me=V({__name:"LibraryCard",props:{skill:{}},emits:["install","update"],setup(a,{emit:U}){const x=U;return(k,s)=>{const g=B,y=Y,m=j;return l(),i("div",ee,[u("div",te,[u("div",le,[r(g,{name:"i-lucide-puzzle",class:"size-4 shrink-0 text-primary"}),u("span",se,v(a.skill.name),1)]),u("div",ae,[a.skill.installed&&!a.skill.hasUpdate?(l(),p(y,{key:0,variant:"subtle",color:"success",size:"xs"},{default:c(()=>[...s[2]||(s[2]=[_(" Installed ",-1)])]),_:1})):b("",!0),a.skill.hasUpdate?(l(),p(y,{key:1,variant:"subtle",color:"warning",size:"xs"},{default:c(()=>[...s[3]||(s[3]=[_(" Update available ",-1)])]),_:1})):b("",!0),r(y,{variant:"subtle",color:"neutral",size:"xs"},{default:c(()=>[_(" v"+v(a.skill.version),1)]),_:1})])]),u("p",ie,v(a.skill.description),1),a.skill.tags.length>0?(l(),i("div",ne,[(l(!0),i(w,null,$(a.skill.tags,n=>(l(),p(y,{key:n,variant:"subtle",color:n==="official"?"primary":"neutral",size:"xs"},{default:c(()=>[_(v(n),1)]),_:2},1032,["color"]))),128))])):b("",!0),a.skill.requiresSecrets.length>0?(l(),i("div",oe,[r(g,{name:"i-lucide-key-round",class:"size-3 shrink-0"}),u("span",null,"Requires: "+v(a.skill.requiresSecrets.join(", ")),1)])):b("",!0),u("div",re,[a.skill.author?(l(),i("span",ce," by "+v(a.skill.author),1)):(l(),i("span",de)),u("div",ue,[r(m,{size:"xs",variant:"ghost",color:"neutral",icon:"i-lucide-external-link",to:`https://github.com/Patrity/cognova-skills/tree/main/${a.skill.name}`,target:"_blank"},{default:c(()=>[...s[4]||(s[4]=[_(" View ",-1)])]),_:1},8,["to"]),a.skill.installed?a.skill.hasUpdate?(l(),p(m,{key:1,size:"xs",color:"warning",variant:"soft",icon:"i-lucide-refresh-cw",onClick:s[1]||(s[1]=n=>x("update",a.skill.name))},{default:c(()=>[...s[6]||(s[6]=[_(" Update ",-1)])]),_:1})):b("",!0):(l(),p(m,{key:0,size:"xs",icon:"i-lucide-download",onClick:s[0]||(s[0]=n=>x("install",a.skill.name))},{default:c(()=>[...s[5]||(s[5]=[_(" Install ",-1)])]),_:1}))])])])}}}),fe=Object.assign(me,{__name:"SkillsLibraryCard"}),ke={class:"flex flex-1 min-w-0"},ye={class:"p-4"},_e={key:0,class:"flex flex-wrap gap-1.5 mb-4"},ve={key:1,class:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3"},ge={key:2,class:"flex flex-col items-center justify-center py-16 text-dimmed"},pe={key:3,class:"text-center py-12 text-muted text-sm"},be={key:4,class:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3"},Ie=V({__name:"library",setup(a){const U=Z(),x=A(),k=G(),s=h([]),g=h(!0),y=h(null),m=h(""),n=h(null),C=T(()=>{const e=new Set;for(const t of s.value)for(const f of t.tags)e.add(f);return[...e].sort()}),L=T(()=>{let e=s.value;if(n.value&&(e=e.filter(t=>t.tags.includes(n.value))),m.value.trim()){const t=m.value.toLowerCase();e=e.filter(f=>f.name.toLowerCase().includes(t)||f.description.toLowerCase().includes(t)||f.author.toLowerCase().includes(t))}return e});function q(e){n.value=n.value===e?null:e}async function S(){g.value=!0;try{const e=await $fetch("/api/skills/library");s.value=e.data}catch{k.add({title:"Failed to load skills library",color:"error"})}finally{g.value=!1}}async function I(e){y.value=e;try{await $fetch("/api/skills/library/install",{method:"POST",body:{name:e}}),k.add({title:`Installed ${e}`,color:"success"}),await S()}catch(t){const f=t instanceof Error?t.message:"Failed to install skill";k.add({title:f,color:"error"})}finally{y.value=null}}async function P(e){y.value=e;try{await $fetch(`/api/skills/${e}/files/delete`,{method:"POST",body:{path:"."}}).catch(()=>{}),await $fetch("/api/skills/library/install",{method:"POST",body:{name:e}}),k.add({title:`Updated ${e}`,color:"success"}),await S()}catch{k.add({title:`Failed to update ${e}`,color:"error"})}finally{y.value=null}}return H(async()=>{await S();const e=U.query.install;if(e){x.replace({query:{}});const t=s.value.find(f=>f.name===e);t&&!t.installed?(k.add({title:`Installing ${e} from docs...`,color:"info"}),await I(e)):t?.installed?k.add({title:`${e} is already installed`,color:"neutral"}):k.add({title:`Skill "${e}" not found in library`,color:"warning"})}}),(e,t)=>{const f=E,N=j,F=K,O=W,z=X,R=B,D=fe,M=Q;return l(),i("div",ke,[r(M,{id:"skills-library",grow:""},{header:c(()=>[r(O,{title:"Skills Library"},{right:c(()=>[r(f,{modelValue:o(m),"onUpdate:modelValue":t[0]||(t[0]=d=>J(m)?m.value=d:null),icon:"i-lucide-search",placeholder:"Search library...",size:"sm",class:"w-48"},null,8,["modelValue"]),r(F,{to:"/skills"},{default:c(()=>[r(N,{icon:"i-lucide-arrow-left",variant:"ghost",color:"neutral",size:"sm"},{default:c(()=>[...t[1]||(t[1]=[_(" My Skills ",-1)])]),_:1})]),_:1})]),_:1})]),body:c(()=>[u("div",ye,[o(C).length>0&&!o(g)?(l(),i("div",_e,[(l(!0),i(w,null,$(o(C),d=>(l(),p(N,{key:d,size:"xs",variant:o(n)===d?"solid":"outline",color:d==="official"?"primary":"neutral",onClick:he=>q(d)},{default:c(()=>[_(v(d),1)]),_:2},1032,["variant","color","onClick"]))),128))])):b("",!0),o(g)?(l(),i("div",ve,[(l(),i(w,null,$(6,d=>u("div",{key:d,class:"p-4 rounded-lg border border-default bg-elevated/50"},[r(z,{class:"h-4 w-24 mb-2"}),r(z,{class:"h-3 w-full mb-1"}),r(z,{class:"h-3 w-2/3"})])),64))])):o(s).length===0?(l(),i("div",ge,[r(R,{name:"i-lucide-library",class:"size-12 mb-4"}),t[2]||(t[2]=u("p",{class:"text-lg font-medium"}," No community skills available ",-1)),t[3]||(t[3]=u("p",{class:"text-sm mt-1"}," The skills registry is empty or hasn't synced yet. ",-1))])):o(L).length===0?(l(),i("div",pe," No skills matching "+v(o(n)?`"${o(n)}"`:"")+" "+v(o(m)?`"${o(m)}"`:""),1)):(l(),i("div",be,[(l(!0),i(w,null,$(o(L),d=>(l(),p(D,{key:d.name,skill:d,onInstall:I,onUpdate:P},null,8,["skill"]))),128))]))])]),_:1})])}}});export{Ie as default};
1
+ import{_ as E}from"./4Vi9hKJC.js";import{d as V,M as i,o as l,ac as u,aa as b,Z as r,_ as B,af as v,c as p,w as c,ab as _,al as w,am as $,a0 as j,ah as Z,bl as A,aj as G,e as h,i as T,C as H,a as o,ak as J,ag as K}from"./CBqC92gC.js";import{_ as Q,a as W}from"./CZV2u8Xx.js";import{_ as X}from"./DhvuBruY.js";import{_ as Y}from"./BPfVf7kt.js";import"./DUf0f355.js";import"./C35LJkds.js";import"./DrQVjmDX.js";const ee={class:"p-4 rounded-lg border border-default bg-elevated/50 hover:bg-elevated transition-colors"},te={class:"flex items-start justify-between gap-2 mb-2"},le={class:"flex items-center gap-2 min-w-0"},se={class:"font-medium truncate"},ae={class:"flex items-center gap-1.5 shrink-0"},ie={class:"text-sm text-muted line-clamp-2 mb-3"},ne={key:0,class:"flex flex-wrap gap-1 mb-3"},oe={key:1,class:"flex items-center gap-1 mb-3 text-xs text-dimmed"},re={class:"flex items-center justify-between"},ce={key:0,class:"text-xs text-dimmed"},de={key:1},ue={class:"flex items-center gap-1.5"},me=V({__name:"LibraryCard",props:{skill:{}},emits:["install","update"],setup(a,{emit:U}){const x=U;return(k,s)=>{const g=B,y=Y,m=j;return l(),i("div",ee,[u("div",te,[u("div",le,[r(g,{name:"i-lucide-puzzle",class:"size-4 shrink-0 text-primary"}),u("span",se,v(a.skill.name),1)]),u("div",ae,[a.skill.installed&&!a.skill.hasUpdate?(l(),p(y,{key:0,variant:"subtle",color:"success",size:"xs"},{default:c(()=>[...s[2]||(s[2]=[_(" Installed ",-1)])]),_:1})):b("",!0),a.skill.hasUpdate?(l(),p(y,{key:1,variant:"subtle",color:"warning",size:"xs"},{default:c(()=>[...s[3]||(s[3]=[_(" Update available ",-1)])]),_:1})):b("",!0),r(y,{variant:"subtle",color:"neutral",size:"xs"},{default:c(()=>[_(" v"+v(a.skill.version),1)]),_:1})])]),u("p",ie,v(a.skill.description),1),a.skill.tags.length>0?(l(),i("div",ne,[(l(!0),i(w,null,$(a.skill.tags,n=>(l(),p(y,{key:n,variant:"subtle",color:n==="official"?"primary":"neutral",size:"xs"},{default:c(()=>[_(v(n),1)]),_:2},1032,["color"]))),128))])):b("",!0),a.skill.requiresSecrets.length>0?(l(),i("div",oe,[r(g,{name:"i-lucide-key-round",class:"size-3 shrink-0"}),u("span",null,"Requires: "+v(a.skill.requiresSecrets.join(", ")),1)])):b("",!0),u("div",re,[a.skill.author?(l(),i("span",ce," by "+v(a.skill.author),1)):(l(),i("span",de)),u("div",ue,[r(m,{size:"xs",variant:"ghost",color:"neutral",icon:"i-lucide-external-link",to:`https://github.com/Patrity/cognova-skills/tree/main/${a.skill.name}`,target:"_blank"},{default:c(()=>[...s[4]||(s[4]=[_(" View ",-1)])]),_:1},8,["to"]),a.skill.installed?a.skill.hasUpdate?(l(),p(m,{key:1,size:"xs",color:"warning",variant:"soft",icon:"i-lucide-refresh-cw",onClick:s[1]||(s[1]=n=>x("update",a.skill.name))},{default:c(()=>[...s[6]||(s[6]=[_(" Update ",-1)])]),_:1})):b("",!0):(l(),p(m,{key:0,size:"xs",icon:"i-lucide-download",onClick:s[0]||(s[0]=n=>x("install",a.skill.name))},{default:c(()=>[...s[5]||(s[5]=[_(" Install ",-1)])]),_:1}))])])])}}}),fe=Object.assign(me,{__name:"SkillsLibraryCard"}),ke={class:"flex flex-1 min-w-0"},ye={class:"p-4"},_e={key:0,class:"flex flex-wrap gap-1.5 mb-4"},ve={key:1,class:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3"},ge={key:2,class:"flex flex-col items-center justify-center py-16 text-dimmed"},pe={key:3,class:"text-center py-12 text-muted text-sm"},be={key:4,class:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3"},Ie=V({__name:"library",setup(a){const U=Z(),x=A(),k=G(),s=h([]),g=h(!0),y=h(null),m=h(""),n=h(null),C=T(()=>{const e=new Set;for(const t of s.value)for(const f of t.tags)e.add(f);return[...e].sort()}),L=T(()=>{let e=s.value;if(n.value&&(e=e.filter(t=>t.tags.includes(n.value))),m.value.trim()){const t=m.value.toLowerCase();e=e.filter(f=>f.name.toLowerCase().includes(t)||f.description.toLowerCase().includes(t)||f.author.toLowerCase().includes(t))}return e});function q(e){n.value=n.value===e?null:e}async function S(){g.value=!0;try{const e=await $fetch("/api/skills/library");s.value=e.data}catch{k.add({title:"Failed to load skills library",color:"error"})}finally{g.value=!1}}async function I(e){y.value=e;try{await $fetch("/api/skills/library/install",{method:"POST",body:{name:e}}),k.add({title:`Installed ${e}`,color:"success"}),await S()}catch(t){const f=t instanceof Error?t.message:"Failed to install skill";k.add({title:f,color:"error"})}finally{y.value=null}}async function P(e){y.value=e;try{await $fetch(`/api/skills/${e}/files/delete`,{method:"POST",body:{path:"."}}).catch(()=>{}),await $fetch("/api/skills/library/install",{method:"POST",body:{name:e}}),k.add({title:`Updated ${e}`,color:"success"}),await S()}catch{k.add({title:`Failed to update ${e}`,color:"error"})}finally{y.value=null}}return H(async()=>{await S();const e=U.query.install;if(e){x.replace({query:{}});const t=s.value.find(f=>f.name===e);t&&!t.installed?(k.add({title:`Installing ${e} from docs...`,color:"info"}),await I(e)):t?.installed?k.add({title:`${e} is already installed`,color:"neutral"}):k.add({title:`Skill "${e}" not found in library`,color:"warning"})}}),(e,t)=>{const f=E,N=j,F=K,O=W,z=X,R=B,D=fe,M=Q;return l(),i("div",ke,[r(M,{id:"skills-library",grow:""},{header:c(()=>[r(O,{title:"Skills Library"},{right:c(()=>[r(f,{modelValue:o(m),"onUpdate:modelValue":t[0]||(t[0]=d=>J(m)?m.value=d:null),icon:"i-lucide-search",placeholder:"Search library...",size:"sm",class:"w-48"},null,8,["modelValue"]),r(F,{to:"/skills"},{default:c(()=>[r(N,{icon:"i-lucide-arrow-left",variant:"ghost",color:"neutral",size:"sm"},{default:c(()=>[...t[1]||(t[1]=[_(" My Skills ",-1)])]),_:1})]),_:1})]),_:1})]),body:c(()=>[u("div",ye,[o(C).length>0&&!o(g)?(l(),i("div",_e,[(l(!0),i(w,null,$(o(C),d=>(l(),p(N,{key:d,size:"xs",variant:o(n)===d?"solid":"outline",color:d==="official"?"primary":"neutral",onClick:he=>q(d)},{default:c(()=>[_(v(d),1)]),_:2},1032,["variant","color","onClick"]))),128))])):b("",!0),o(g)?(l(),i("div",ve,[(l(),i(w,null,$(6,d=>u("div",{key:d,class:"p-4 rounded-lg border border-default bg-elevated/50"},[r(z,{class:"h-4 w-24 mb-2"}),r(z,{class:"h-3 w-full mb-1"}),r(z,{class:"h-3 w-2/3"})])),64))])):o(s).length===0?(l(),i("div",ge,[r(R,{name:"i-lucide-library",class:"size-12 mb-4"}),t[2]||(t[2]=u("p",{class:"text-lg font-medium"}," No community skills available ",-1)),t[3]||(t[3]=u("p",{class:"text-sm mt-1"}," The skills registry is empty or hasn't synced yet. ",-1))])):o(L).length===0?(l(),i("div",pe," No skills matching "+v(o(n)?`"${o(n)}"`:"")+" "+v(o(m)?`"${o(m)}"`:""),1)):(l(),i("div",be,[(l(!0),i(w,null,$(o(L),d=>(l(),p(D,{key:d.name,skill:d,onInstall:I,onUpdate:P},null,8,["skill"]))),128))]))])]),_:1})])}}});export{Ie as default};