cognova 0.2.26 → 0.2.27

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 (170) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{C4Ii8cYC.js → 2Eo3qwxj.js} +1 -1
  3. package/.output/public/_nuxt/{lfg-J79K.js → 2ixlK8td.js} +1 -1
  4. package/.output/public/_nuxt/{D57E8FC4.js → 2nDmPuey.js} +1 -1
  5. package/.output/public/_nuxt/{rVZcJ6Pz.js → 6f0CtDWh.js} +1 -1
  6. package/.output/public/_nuxt/{46eRQaVv.js → 7VIfpS3K.js} +1 -1
  7. package/.output/public/_nuxt/{BD07a6OS.js → 8T7bItPs.js} +3 -3
  8. package/.output/public/_nuxt/{Dc_VwXJs.js → B2ejvp4F.js} +1 -1
  9. package/.output/public/_nuxt/{bHsFNLQP.js → B3EVQLy0.js} +1 -1
  10. package/.output/public/_nuxt/{D_1GDAlv.js → B3WWnSJo.js} +1 -1
  11. package/.output/public/_nuxt/{CtNN2F57.js → B6kGLfxE.js} +1 -1
  12. package/.output/public/_nuxt/{BHAaeL5L.js → B8E4nRtc.js} +1 -1
  13. package/.output/public/_nuxt/{CIDjuJ7I.js → BF1GoXYw.js} +1 -1
  14. package/.output/public/_nuxt/{DEmzTuCa.js → BFhzL-L6.js} +1 -1
  15. package/.output/public/_nuxt/{CruI_TS3.js → BH_Lonko.js} +1 -1
  16. package/.output/public/_nuxt/{DEBOaUgW.js → BIRrab0B.js} +1 -1
  17. package/.output/public/_nuxt/{swgNRlWy.js → BIRvCR2S.js} +1 -1
  18. package/.output/public/_nuxt/{B8fLdQfp.js → BISpLSKY.js} +1 -1
  19. package/.output/public/_nuxt/{qI8JV5dU.js → BIhmDjJ8.js} +1 -1
  20. package/.output/public/_nuxt/BMsNdiuj.js +1 -0
  21. package/.output/public/_nuxt/{Bxs6RCfp.js → BP60VAOa.js} +1 -1
  22. package/.output/public/_nuxt/{D4wS6gzr.js → BRHBOpyl.js} +1 -1
  23. package/.output/public/_nuxt/{FGRiZ9J1.js → BSHWLnRg.js} +1 -1
  24. package/.output/public/_nuxt/BUa1DKMp.js +1 -0
  25. package/.output/public/_nuxt/{CIMG8oEU.js → BWgA6Icb.js} +1 -1
  26. package/.output/public/_nuxt/{Cwdn7ZtG.js → BY7b-3vi.js} +1 -1
  27. package/.output/public/_nuxt/{VRRYjCaC.js → BYRCVlFB.js} +1 -1
  28. package/.output/public/_nuxt/{C1wI_STa.js → B_IIr5Dj.js} +2 -2
  29. package/.output/public/_nuxt/{DFPu4h4a.js → BcGMY6mI.js} +1 -1
  30. package/.output/public/_nuxt/{CZvTOsiz.js → Bes0SO2V.js} +1 -1
  31. package/.output/public/_nuxt/{DmGbOc_e.js → Bf_52ujb.js} +1 -1
  32. package/.output/public/_nuxt/BgQoNHMg.js +1 -0
  33. package/.output/public/_nuxt/{BVkPh7-9.js → BiDXeTfW.js} +1 -1
  34. package/.output/public/_nuxt/{iTZxBLAr.js → BiIuqBpS.js} +3 -3
  35. package/.output/public/_nuxt/{9vdFTPZC.js → BiQQLbjx.js} +1 -1
  36. package/.output/public/_nuxt/{FmfogFAR.js → BivpMuR_.js} +1 -1
  37. package/.output/public/_nuxt/{CZQeFnOf.js → Bl7M4LXt.js} +1 -1
  38. package/.output/public/_nuxt/{zvDhkxQS.js → Bo6WXrLP.js} +1 -1
  39. package/.output/public/_nuxt/{rY0W1r76.js → BpN402qF.js} +2 -2
  40. package/.output/public/_nuxt/{DM9s28TO.js → BpyMs36w.js} +1 -1
  41. package/.output/public/_nuxt/{Brmj91Ns.js → Bq9rkJSd.js} +1 -1
  42. package/.output/public/_nuxt/{C3dJrgZH.js → BqSmw12h.js} +1 -1
  43. package/.output/public/_nuxt/{Dkpxacka.js → BrN_ntKk.js} +1 -1
  44. package/.output/public/_nuxt/{ChIzYvpz.js → Bx3A9QLd.js} +1 -1
  45. package/.output/public/_nuxt/{D5AjrkGO.js → Bzkzi9GX.js} +1 -1
  46. package/.output/public/_nuxt/{CCmSsj4q.js → C1pt3HyX.js} +1 -1
  47. package/.output/public/_nuxt/{B0_Iu2zi.js → C4XDZQVz.js} +1 -1
  48. package/.output/public/_nuxt/{BZjMzGZM.js → C4zN4OGX.js} +1 -1
  49. package/.output/public/_nuxt/{w3RSHXA6.js → C5IBUVPW.js} +1 -1
  50. package/.output/public/_nuxt/{wSCSxjgr.js → C6IV65Gy.js} +1 -1
  51. package/.output/public/_nuxt/{3AgfIirx.js → C6M-e7pT.js} +1 -1
  52. package/.output/public/_nuxt/{B1ea1Zc2.js → CAANELnI.js} +1 -1
  53. package/.output/public/_nuxt/{C7Wu2u5C.js → CAaAX5yO.js} +1 -1
  54. package/.output/public/_nuxt/{BGV4_re9.js → CAdrgifl.js} +1 -1
  55. package/.output/public/_nuxt/{BTImkTzA.js → CDX3o-x3.js} +1 -1
  56. package/.output/public/_nuxt/{CD6r4z4e.js → CJAiAVnY.js} +1 -1
  57. package/.output/public/_nuxt/{CjkXqgrT.js → CJa5E6Hb.js} +1 -1
  58. package/.output/public/_nuxt/{BHcVB9Fo.js → CKcctj3r.js} +1 -1
  59. package/.output/public/_nuxt/{Co86ycpI.js → CLk-ZoD9.js} +1 -1
  60. package/.output/public/_nuxt/{P3qGksT8.js → CSQciH0m.js} +1 -1
  61. package/.output/public/_nuxt/{BqyI8nU4.js → CSZw5eEq.js} +1 -1
  62. package/.output/public/_nuxt/{CrHLmWKE.js → CSu09NYz.js} +1 -1
  63. package/.output/public/_nuxt/{CZ5B974o.js → CSwU6kaw.js} +1 -1
  64. package/.output/public/_nuxt/{v-LIF5tR.js → CU58Jr3-.js} +1 -1
  65. package/.output/public/_nuxt/{DIMnGgEU.js → CXWZZrP6.js} +1 -1
  66. package/.output/public/_nuxt/{CGgHmnnS.js → CZT64TBr.js} +3 -3
  67. package/.output/public/_nuxt/{CLmiWiqr.js → CZZl10o-.js} +1 -1
  68. package/.output/public/_nuxt/{BwLYFg9w.js → CbLDrSEX.js} +1 -1
  69. package/.output/public/_nuxt/{DfAWgXhg.js → CfTBjUgE.js} +1 -1
  70. package/.output/public/_nuxt/{6k0gxaWW.js → CfiM4f33.js} +1 -1
  71. package/.output/public/_nuxt/{3hFj0Mf_.js → Cj2M_iYP.js} +1 -1
  72. package/.output/public/_nuxt/{BigIAhcT.js → CjPpmwck.js} +1 -1
  73. package/.output/public/_nuxt/{n5X4vNX9.js → CjhuD2Kg.js} +2 -2
  74. package/.output/public/_nuxt/{UQIfAAmf.js → CnLzT6v5.js} +1 -1
  75. package/.output/public/_nuxt/{DwEfItxe.js → CnViW7-O.js} +1 -1
  76. package/.output/public/_nuxt/{NNQizITf.js → Ctt1B8Lg.js} +1 -1
  77. package/.output/public/_nuxt/{m9zGH_2s.js → CuzrMna6.js} +1 -1
  78. package/.output/public/_nuxt/{B02JOKtW.js → Cv0TenvS.js} +1 -1
  79. package/.output/public/_nuxt/{BhtKu4xV.js → CzSXUP4q.js} +1 -1
  80. package/.output/public/_nuxt/{Dfi2mj_-.js → CzYLEcMN.js} +1 -1
  81. package/.output/public/_nuxt/{Cj3gDP-y.js → D-ysM-Cd.js} +1 -1
  82. package/.output/public/_nuxt/{CD_jDSWh.js → D2A5WweU.js} +1 -1
  83. package/.output/public/_nuxt/{Ehiy7Wkv.js → D5dMt776.js} +1 -1
  84. package/.output/public/_nuxt/{lA6pb86B.js → D5ut0FcJ.js} +1 -1
  85. package/.output/public/_nuxt/{CPb6IrVT.js → D7PJ9LEZ.js} +1 -1
  86. package/.output/public/_nuxt/{DmHn_Ae8.js → DA0qOQ-H.js} +1 -1
  87. package/.output/public/_nuxt/{BW0bq0Nu.js → DCKH9QC5.js} +1 -1
  88. package/.output/public/_nuxt/{DMCE1Up6.js → DCj0VKbE.js} +1 -1
  89. package/.output/public/_nuxt/{pFPRVtL-.js → DD864DXc.js} +1 -1
  90. package/.output/public/_nuxt/{CjVBL0o-.js → DEZB2UVM.js} +1 -1
  91. package/.output/public/_nuxt/{B27NM422.js → DGMjiZpH.js} +1 -1
  92. package/.output/public/_nuxt/{BMTKvzsm.js → DH9moCuc.js} +1 -1
  93. package/.output/public/_nuxt/{DuH9QzIG.js → DHmoYAOF.js} +1 -1
  94. package/.output/public/_nuxt/{QmdcFt0E.js → DKFnR3f3.js} +1 -1
  95. package/.output/public/_nuxt/{81-iumfM.js → DM2gKi5N.js} +1 -1
  96. package/.output/public/_nuxt/{d85YwuyC.js → DMar0qcv.js} +1 -1
  97. package/.output/public/_nuxt/{7msxmF5v.js → DNNOQPuJ.js} +1 -1
  98. package/.output/public/_nuxt/{CbLvLXmb.js → DSNEk90K.js} +1 -1
  99. package/.output/public/_nuxt/{B38X0n2w.js → DTb_yOmO.js} +1 -1
  100. package/.output/public/_nuxt/{QNqSZCYh.js → DWJ2tQkX.js} +1 -1
  101. package/.output/public/_nuxt/{uCsI7fpg.js → DbARsMbj.js} +1 -1
  102. package/.output/public/_nuxt/{Irw5CrIe.js → DbpzXcer.js} +1 -1
  103. package/.output/public/_nuxt/{6DKJrPTD.js → DcC8s2L0.js} +1 -1
  104. package/.output/public/_nuxt/{CxNJcty6.js → DcU1vVta.js} +1 -1
  105. package/.output/public/_nuxt/{BTs0cu3F.js → De4iE8YV.js} +1 -1
  106. package/.output/public/_nuxt/{B3TXSB_R.js → De94RhMH.js} +1 -1
  107. package/.output/public/_nuxt/{B8na0pik.js → DfIQdSBL.js} +1 -1
  108. package/.output/public/_nuxt/{pJF5jz72.js → DfLpZE5I.js} +1 -1
  109. package/.output/public/_nuxt/{DOs_ozN6.js → DhGDBmGP.js} +1 -1
  110. package/.output/public/_nuxt/{mLs_Q7_U.js → Dhf7T8TT.js} +1 -1
  111. package/.output/public/_nuxt/{CVTUqEcr.js → DjY2CmhB.js} +1 -1
  112. package/.output/public/_nuxt/{DfP6jcEM.js → Dj__3Bye.js} +1 -1
  113. package/.output/public/_nuxt/{iVfmia7K.js → DlOqPmYc.js} +1 -1
  114. package/.output/public/_nuxt/{Dbv2gAYq.js → Dm4dqn9Q.js} +1 -1
  115. package/.output/public/_nuxt/{BW-7wimi.js → Dn0NJtvh.js} +1 -1
  116. package/.output/public/_nuxt/{CDKJK4wW.js → DuDOxoNd.js} +1 -1
  117. package/.output/public/_nuxt/{CcJ0pNID.js → DwIL_HsX.js} +1 -1
  118. package/.output/public/_nuxt/DwbYPACo.js +1 -0
  119. package/.output/public/_nuxt/{Cfce_cVw.js → Dzjd35Uu.js} +1 -1
  120. package/.output/public/_nuxt/{BGa5KqPj.js → FOQllft2.js} +1 -1
  121. package/.output/public/_nuxt/{DoGLYOlq.js → FZ4DGVUC.js} +1 -1
  122. package/.output/public/_nuxt/{ByXbV9Xa.js → IwZpKn7a.js} +1 -1
  123. package/.output/public/_nuxt/{By5L5Smf.js → J00SROjJ.js} +1 -1
  124. package/.output/public/_nuxt/{1_nO5SO6.js → KEgU3jLl.js} +1 -1
  125. package/.output/public/_nuxt/{eB60bVen.js → KtLDewau.js} +1 -1
  126. package/.output/public/_nuxt/{IIvTjJqa.js → LFbgE4QY.js} +1 -1
  127. package/.output/public/_nuxt/{BtVAOj3K.js → MwLHW_S3.js} +1 -1
  128. package/.output/public/_nuxt/{Bn175bDC.js → SbeB_1mT.js} +1 -1
  129. package/.output/public/_nuxt/{Bk_mzzQ3.js → T9m6PG7Q.js} +1 -1
  130. package/.output/public/_nuxt/{DLfV22bF.js → UPUPLBes.js} +1 -1
  131. package/.output/public/_nuxt/{BaHB7JKe.js → UmRz2svG.js} +1 -1
  132. package/.output/public/_nuxt/{DB0uzc_1.js → UvHHDzTl.js} +1 -1
  133. package/.output/public/_nuxt/{C-tfM08H.js → YJeqx4Ll.js} +1 -1
  134. package/.output/public/_nuxt/{CSyssKl8.js → _fMejg0f.js} +1 -1
  135. package/.output/public/_nuxt/{DOTIy97K.js → aIIZqPga.js} +1 -1
  136. package/.output/public/_nuxt/{DXAD_aZW.js → awkGRsuS.js} +1 -1
  137. package/.output/public/_nuxt/builds/latest.json +1 -1
  138. package/.output/public/_nuxt/builds/meta/61420747-850d-4496-817a-d86f57e0fb7d.json +1 -0
  139. package/.output/public/_nuxt/{AMPsjNHJ.js → dGa7RyJ8.js} +1 -1
  140. package/.output/public/_nuxt/{gTGPvkTX.js → eTB2hbQs.js} +1 -1
  141. package/.output/public/_nuxt/{n_Arasow.js → iGKcFJAp.js} +1 -1
  142. package/.output/public/_nuxt/{D45gWhSU.js → k5H4Okf8.js} +1 -1
  143. package/.output/public/_nuxt/{DN5cHXGS.js → kbSxj5Sa.js} +1 -1
  144. package/.output/public/_nuxt/{CBJQYyqD.js → l0zNTVMN.js} +1 -1
  145. package/.output/public/_nuxt/{C_hl3kCw.js → lheR7PB2.js} +1 -1
  146. package/.output/public/_nuxt/{BVcLiEDk.js → p1xXbtMk.js} +1 -1
  147. package/.output/public/_nuxt/{B5oEzB-M.js → qBDqAV_3.js} +1 -1
  148. package/.output/public/_nuxt/{CJLlvuDm.js → qEwYRBS3.js} +1 -1
  149. package/.output/public/_nuxt/{RIAd5Wd1.js → tHI-osWJ.js} +1 -1
  150. package/.output/public/_nuxt/{DoSrePUc.js → tIRQIyWk.js} +1 -1
  151. package/.output/public/_nuxt/{D5IKvGig.js → uP6kBJyw.js} +1 -1
  152. package/.output/public/_nuxt/{By6urPVf.js → yyeTZy_R.js} +1 -1
  153. package/.output/server/chunks/build/client.precomputed.mjs +1 -1
  154. package/.output/server/chunks/build/styles.mjs +2 -2
  155. package/.output/server/chunks/nitro/nitro.mjs +900 -891
  156. package/.output/server/chunks/routes/{terminal.mjs → _ws/terminal.mjs} +39 -28
  157. package/.output/server/chunks/routes/_ws/terminal.mjs.map +1 -0
  158. package/.output/server/chunks/routes/notifications.mjs +1 -1
  159. package/.output/server/package.json +1 -1
  160. package/app/composables/useTerminal.ts +1 -1
  161. package/package.json +1 -1
  162. package/server/routes/_ws/terminal.ts +111 -0
  163. package/server/utils/pty-manager.ts +12 -3
  164. package/.output/public/_nuxt/CNB4wNeh.js +0 -1
  165. package/.output/public/_nuxt/CnB-ybCZ.js +0 -1
  166. package/.output/public/_nuxt/DAjV9Cip.js +0 -1
  167. package/.output/public/_nuxt/Suor9Vto.js +0 -1
  168. package/.output/public/_nuxt/builds/meta/d37c41da-8cec-4479-a3ac-3097aa4fb2e0.json +0 -1
  169. package/.output/server/chunks/routes/terminal.mjs.map +0 -1
  170. package/server/routes/terminal.ts +0 -98
@@ -1 +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"./CGgHmnnS.js";import{_ as re}from"./B8fLdQfp.js";import{_ as me}from"./D5AjrkGO.js";import{_ as ue}from"./C7Wu2u5C.js";import{_ as pe}from"./BGV4_re9.js";import{_ as ce}from"./Ehiy7Wkv.js";import{_ as fe}from"./CCmSsj4q.js";import"./CPb6IrVT.js";import"./CNB4wNeh.js";import"./P3qGksT8.js";import"./Cj3gDP-y.js";import"./DIMnGgEU.js";import"./B02JOKtW.js";import"./DEmzTuCa.js";import"./6k0gxaWW.js";import"./CZQeFnOf.js";import"./Suor9Vto.js";import"./pFPRVtL-.js";import"./D57E8FC4.js";import"./rVZcJ6Pz.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
+ 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"./CZT64TBr.js";import{_ as re}from"./BISpLSKY.js";import{_ as me}from"./Bzkzi9GX.js";import{_ as ue}from"./CAaAX5yO.js";import{_ as pe}from"./CAdrgifl.js";import{_ as ce}from"./D5dMt776.js";import{_ as fe}from"./C1pt3HyX.js";import"./D7PJ9LEZ.js";import"./BUa1DKMp.js";import"./CSQciH0m.js";import"./D-ysM-Cd.js";import"./CXWZZrP6.js";import"./Cv0TenvS.js";import"./BFhzL-L6.js";import"./CfiM4f33.js";import"./Bl7M4LXt.js";import"./DwbYPACo.js";import"./DD864DXc.js";import"./2nDmPuey.js";import"./6f0CtDWh.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{W as l,h as n,M as c,o as p,r as u,$ as d,ap as s}from"./CGgHmnnS.js";const i={base:""},_={__name:"ProseTbody",props:{class:{type:null,required:!1}},setup(e){const a=e,o=l(),t=n(()=>s({extend:s(i),...o.ui?.prose?.tbody||{}}));return(r,m)=>(p(),c("tbody",{class:d(t.value({class:a.class}))},[u(r.$slots,"default")],2))}};export{_ as default};
1
+ import{W as l,h as n,M as c,o as p,r as u,$ as d,ap as s}from"./CZT64TBr.js";const i={base:""},_={__name:"ProseTbody",props:{class:{type:null,required:!1}},setup(e){const a=e,o=l(),t=n(()=>s({extend:s(i),...o.ui?.prose?.tbody||{}}));return(r,m)=>(p(),c("tbody",{class:d(t.value({class:a.class}))},[u(r.$slots,"default")],2))}};export{_ as default};
@@ -1 +1 @@
1
- import{W as ne,h as I,S as se,ar as z,e as j,C as L,B as ie,p as O,a5 as oe,an as R,R as b,bi as ue,bj as le,c as ce,o as fe,w as de,r as me,ao as pe,$ as ye,a as P,aY as ve,bk as Y,ap as G,bl as H,at as he,au as Ee}from"./CGgHmnnS.js";import{b as be}from"./pFPRVtL-.js";function ge(n){return"schema"in n&&typeof n.coercer=="function"&&typeof n.validator=="function"&&typeof n.refiner=="function"}function we(n){return"~standard"in n}async function Se(n,i){const l=await i["~standard"].validate(n);return l.issues?{errors:l.issues?.map(a=>({name:a.path?.map(o=>typeof o=="object"?o.key:o).join(".")||"",message:a.message}))||[],result:null}:{errors:null,result:l.value}}async function Fe(n,i){const[l,a]=i.validate(n);return l?{errors:l.failures().map(h=>({message:h.message,name:h.path.join(".")})),result:null}:{errors:null,result:a}}function Ie(n,i){if(we(i))return Se(n,i);if(ge(i))return Fe(n,i);throw new Error("Form validation failed: Unsupported form schema")}function je(n,i){return i?i.split(".").reduce((a,o)=>a?.[o],n):n}function qe(n,i,l){if(!i)return Object.assign(n,l);if(!n)return n;const a=i.split(".");let o=n;for(let y=0;y<a.length-1;y++){const c=a[y];(o[c]===void 0||o[c]===null)&&(y+1<a.length&&!Number.isNaN(Number(a[y+1]))?o[c]=[]:o[c]={}),o=o[c]}const h=a[a.length-1];return o[h]=l,n}class q extends Error{formId;errors;constructor(i,l){super("Form validation exception"),this.formId=i,this.errors=l,Object.setPrototypeOf(this,q.prototype)}}const xe={base:""},Oe={__name:"UForm",props:{id:{type:[String,Number],required:!1},schema:{type:null,required:!1},state:{type:null,required:!1},validate:{type:Function,required:!1},validateOn:{type:Array,required:!1,default(){return["input","blur","change"]}},disabled:{type:Boolean,required:!1},name:{type:null,required:!1},validateOnInputDelay:{type:Number,required:!1,default:300},transform:{type:null,required:!1,default:()=>!0},nested:{type:Boolean,required:!1},loadingAuto:{type:Boolean,required:!1,default:!0},class:{type:null,required:!1},onSubmit:{type:Function,required:!1}},emits:["submit","error"],setup(n,{expose:i,emit:l}){const a=n,o=l,h=ne(),y=I(()=>G({extend:G(xe),...h.ui?.form||{}})),c=a.id??se(),k=be(`form-${c}`),g=a.nested===!0&&z(Y,void 0),A=a.nested===!0?z(H,void 0):void 0,w=I(()=>A?.value?a.name?je(A.value,a.name):A.value:a.state);b(Y,k),b(H,w);const S=j(new Map);L(async()=>{g&&(await ie(),g.emit({type:"attach",validate:F,formId:c,name:a.name,api:$}))}),oe(()=>{k.reset(),g&&g.emit({type:"detach",formId:c})}),L(async()=>{k.on(async e=>{e.type==="attach"?S.value.set(e.formId,{validate:e.validate,name:e.name,api:e.api}):e.type==="detach"?S.value.delete(e.formId):a.validateOn?.includes(e.type)&&!v.value&&(e.type!=="input"?await F({name:e.name,silent:!0,nested:!1}):(e.eager||K.has(e.name))&&await F({name:e.name,silent:!0,nested:!1})),e.type==="blur"&&K.add(e.name),(e.type==="change"||e.type==="input"||e.type==="blur"||e.type==="focus")&&_.add(e.name),(e.type==="change"||e.type==="input")&&B.add(e.name)})});const u=j([]);b(he,u);const x=j({});b(Ee,x);const B=R(new Set),_=R(new Set),K=R(new Set);function C(e){return e.map(t=>({...t,id:t?.name?x.value[t.name]?.id:void 0}))}const N=j(null);async function J(){let e=a.validate?await a.validate(w.value)??[]:[];if(a.schema){const{errors:t,result:r}=await Ie(w.value,a.schema);t?e=e.concat(t):N.value=r}return C(e)}async function F(e={silent:!1,nested:!1,transform:!1}){const t=e.name&&!Array.isArray(e.name)?[e.name]:e.name;let r=[],s=[];if(!t&&e.nested){const p=Array.from(S.value.values()).map(m=>Q(m,e)),d=await Promise.all(p);s=d.filter(m=>m.error).flatMap(m=>m.error.errors.map(ae=>V(ae,m.name))),r=d.filter(m=>m.output!==void 0)}const E=[...await J(),...s];if(t?u.value=te(E,t):u.value=E,u.value?.length){if(e.silent)return!1;throw new q(c,u.value)}return e.transform?(r.forEach(p=>{p.name?qe(N.value,p.name,p.output):Object.assign(N.value,p.output)}),N.value??w.value):w.value}const v=j(!1);b(ue,O(v));async function W(e){v.value=a.loadingAuto&&!0;const t=e;try{t.data=await F({nested:!0,transform:a.transform}),await a.onSubmit?.(t),B.clear()}catch(r){if(!(r instanceof q))throw r;const s={...t,errors:r.errors};o("error",s)}finally{v.value=!1}}const D=I(()=>a.disabled||v.value);b(le,I(()=>({disabled:D.value,validateOnInputDelay:a.validateOnInputDelay})));async function Q(e,t){try{const r=await e.validate({...t,silent:!1});return{name:e.name,output:r}}catch(r){if(!(r instanceof q))throw r;return{name:e.name,error:r}}}function V(e,t){return!t||!e.name?e:{...e,name:t+"."+e.name}}function X(e,t){const r=t+".",s=e?.name?.startsWith(r)?e.name.substring(r.length):e.name;return{...e,name:s}}function Z(e,t){return t?e.filter(r=>r?.name?.startsWith(t+".")).map(r=>X(r,t)):e}function M(e){return e.api.getErrors().map(t=>e.name?{...t,name:e.name+"."+t.name}:t)}function T(e,t){return!e||!t?!0:e instanceof RegExp?e.test(t):t===e||typeof e=="string"&&e.startsWith(t+".")}function ee(e,t){if(!e||e instanceof RegExp)return e;if(t!==e)return typeof e=="string"&&e.startsWith(t+".")?e.substring(t.length+1):e}function te(e,t){const r=new Set(t),s=t.map(d=>x.value?.[d]?.pattern).filter(Boolean),f=d=>d.name?r.has(d.name)?!0:s.some(m=>m.test(d.name)):!1,E=u.value.filter(d=>!f(d)),p=e.filter(f);return[...E,...p]}function re(e,t){return e.filter(r=>t instanceof RegExp?!(r.name&&t.test(r.name)):!r.name||r.name!==t)}function U(e){return!e.name||!!x.value[e.name]}const $={validate:F,errors:u,setErrors(e,t){const r=C(e.filter(U)),s=[];for(const f of S.value.values())if(T(t,f.name)){const E=Z(e,f.name);f.api.setErrors(E,ee(t,f.name||"")),s.push(...M(f))}if(t){const f=re(u.value,t);u.value=[...f,...r,...s]}else u.value=[...r,...s]},async submit(){await W(new Event("submit"))},getErrors(e){return e?u.value.filter(t=>e instanceof RegExp?t.name&&e.test(t.name):t.name===e):u.value},clear(e){const t=e?u.value.filter(s=>U(s)&&(e instanceof RegExp?!(s.name&&e.test(s.name)):s.name!==e)):[],r=[];for(const s of S.value.values())T(e,s.name)&&s.api.clear(),r.push(...M(s));u.value=[...t,...r]},disabled:D,loading:v,dirty:I(()=>!!B.size),dirtyFields:O(B),blurredFields:O(K),touchedFields:O(_)};return i($),(e,t)=>(fe(),ce(ve(P(g)?"div":"form"),{id:P(c),class:ye(y.value({class:a.class})),onSubmit:pe(W,["prevent"])},{default:de(()=>[me(e.$slots,"default",{errors:u.value,loading:v.value})]),_:3},40,["id","class"]))}};export{Oe as _};
1
+ import{W as ne,h as I,S as se,ar as z,e as j,C as L,B as ie,p as O,a5 as oe,an as R,R as b,bi as ue,bj as le,c as ce,o as fe,w as de,r as me,ao as pe,$ as ye,a as P,aY as ve,bk as Y,ap as G,bl as H,at as he,au as Ee}from"./CZT64TBr.js";import{b as be}from"./DD864DXc.js";function ge(n){return"schema"in n&&typeof n.coercer=="function"&&typeof n.validator=="function"&&typeof n.refiner=="function"}function we(n){return"~standard"in n}async function Se(n,i){const l=await i["~standard"].validate(n);return l.issues?{errors:l.issues?.map(a=>({name:a.path?.map(o=>typeof o=="object"?o.key:o).join(".")||"",message:a.message}))||[],result:null}:{errors:null,result:l.value}}async function Fe(n,i){const[l,a]=i.validate(n);return l?{errors:l.failures().map(h=>({message:h.message,name:h.path.join(".")})),result:null}:{errors:null,result:a}}function Ie(n,i){if(we(i))return Se(n,i);if(ge(i))return Fe(n,i);throw new Error("Form validation failed: Unsupported form schema")}function je(n,i){return i?i.split(".").reduce((a,o)=>a?.[o],n):n}function qe(n,i,l){if(!i)return Object.assign(n,l);if(!n)return n;const a=i.split(".");let o=n;for(let y=0;y<a.length-1;y++){const c=a[y];(o[c]===void 0||o[c]===null)&&(y+1<a.length&&!Number.isNaN(Number(a[y+1]))?o[c]=[]:o[c]={}),o=o[c]}const h=a[a.length-1];return o[h]=l,n}class q extends Error{formId;errors;constructor(i,l){super("Form validation exception"),this.formId=i,this.errors=l,Object.setPrototypeOf(this,q.prototype)}}const xe={base:""},Oe={__name:"UForm",props:{id:{type:[String,Number],required:!1},schema:{type:null,required:!1},state:{type:null,required:!1},validate:{type:Function,required:!1},validateOn:{type:Array,required:!1,default(){return["input","blur","change"]}},disabled:{type:Boolean,required:!1},name:{type:null,required:!1},validateOnInputDelay:{type:Number,required:!1,default:300},transform:{type:null,required:!1,default:()=>!0},nested:{type:Boolean,required:!1},loadingAuto:{type:Boolean,required:!1,default:!0},class:{type:null,required:!1},onSubmit:{type:Function,required:!1}},emits:["submit","error"],setup(n,{expose:i,emit:l}){const a=n,o=l,h=ne(),y=I(()=>G({extend:G(xe),...h.ui?.form||{}})),c=a.id??se(),k=be(`form-${c}`),g=a.nested===!0&&z(Y,void 0),A=a.nested===!0?z(H,void 0):void 0,w=I(()=>A?.value?a.name?je(A.value,a.name):A.value:a.state);b(Y,k),b(H,w);const S=j(new Map);L(async()=>{g&&(await ie(),g.emit({type:"attach",validate:F,formId:c,name:a.name,api:$}))}),oe(()=>{k.reset(),g&&g.emit({type:"detach",formId:c})}),L(async()=>{k.on(async e=>{e.type==="attach"?S.value.set(e.formId,{validate:e.validate,name:e.name,api:e.api}):e.type==="detach"?S.value.delete(e.formId):a.validateOn?.includes(e.type)&&!v.value&&(e.type!=="input"?await F({name:e.name,silent:!0,nested:!1}):(e.eager||K.has(e.name))&&await F({name:e.name,silent:!0,nested:!1})),e.type==="blur"&&K.add(e.name),(e.type==="change"||e.type==="input"||e.type==="blur"||e.type==="focus")&&_.add(e.name),(e.type==="change"||e.type==="input")&&B.add(e.name)})});const u=j([]);b(he,u);const x=j({});b(Ee,x);const B=R(new Set),_=R(new Set),K=R(new Set);function C(e){return e.map(t=>({...t,id:t?.name?x.value[t.name]?.id:void 0}))}const N=j(null);async function J(){let e=a.validate?await a.validate(w.value)??[]:[];if(a.schema){const{errors:t,result:r}=await Ie(w.value,a.schema);t?e=e.concat(t):N.value=r}return C(e)}async function F(e={silent:!1,nested:!1,transform:!1}){const t=e.name&&!Array.isArray(e.name)?[e.name]:e.name;let r=[],s=[];if(!t&&e.nested){const p=Array.from(S.value.values()).map(m=>Q(m,e)),d=await Promise.all(p);s=d.filter(m=>m.error).flatMap(m=>m.error.errors.map(ae=>V(ae,m.name))),r=d.filter(m=>m.output!==void 0)}const E=[...await J(),...s];if(t?u.value=te(E,t):u.value=E,u.value?.length){if(e.silent)return!1;throw new q(c,u.value)}return e.transform?(r.forEach(p=>{p.name?qe(N.value,p.name,p.output):Object.assign(N.value,p.output)}),N.value??w.value):w.value}const v=j(!1);b(ue,O(v));async function W(e){v.value=a.loadingAuto&&!0;const t=e;try{t.data=await F({nested:!0,transform:a.transform}),await a.onSubmit?.(t),B.clear()}catch(r){if(!(r instanceof q))throw r;const s={...t,errors:r.errors};o("error",s)}finally{v.value=!1}}const D=I(()=>a.disabled||v.value);b(le,I(()=>({disabled:D.value,validateOnInputDelay:a.validateOnInputDelay})));async function Q(e,t){try{const r=await e.validate({...t,silent:!1});return{name:e.name,output:r}}catch(r){if(!(r instanceof q))throw r;return{name:e.name,error:r}}}function V(e,t){return!t||!e.name?e:{...e,name:t+"."+e.name}}function X(e,t){const r=t+".",s=e?.name?.startsWith(r)?e.name.substring(r.length):e.name;return{...e,name:s}}function Z(e,t){return t?e.filter(r=>r?.name?.startsWith(t+".")).map(r=>X(r,t)):e}function M(e){return e.api.getErrors().map(t=>e.name?{...t,name:e.name+"."+t.name}:t)}function T(e,t){return!e||!t?!0:e instanceof RegExp?e.test(t):t===e||typeof e=="string"&&e.startsWith(t+".")}function ee(e,t){if(!e||e instanceof RegExp)return e;if(t!==e)return typeof e=="string"&&e.startsWith(t+".")?e.substring(t.length+1):e}function te(e,t){const r=new Set(t),s=t.map(d=>x.value?.[d]?.pattern).filter(Boolean),f=d=>d.name?r.has(d.name)?!0:s.some(m=>m.test(d.name)):!1,E=u.value.filter(d=>!f(d)),p=e.filter(f);return[...E,...p]}function re(e,t){return e.filter(r=>t instanceof RegExp?!(r.name&&t.test(r.name)):!r.name||r.name!==t)}function U(e){return!e.name||!!x.value[e.name]}const $={validate:F,errors:u,setErrors(e,t){const r=C(e.filter(U)),s=[];for(const f of S.value.values())if(T(t,f.name)){const E=Z(e,f.name);f.api.setErrors(E,ee(t,f.name||"")),s.push(...M(f))}if(t){const f=re(u.value,t);u.value=[...f,...r,...s]}else u.value=[...r,...s]},async submit(){await W(new Event("submit"))},getErrors(e){return e?u.value.filter(t=>e instanceof RegExp?t.name&&e.test(t.name):t.name===e):u.value},clear(e){const t=e?u.value.filter(s=>U(s)&&(e instanceof RegExp?!(s.name&&e.test(s.name)):s.name!==e)):[],r=[];for(const s of S.value.values())T(e,s.name)&&s.api.clear(),r.push(...M(s));u.value=[...t,...r]},disabled:D,loading:v,dirty:I(()=>!!B.size),dirtyFields:O(B),blurredFields:O(K),touchedFields:O(_)};return i($),(e,t)=>(fe(),ce(ve(P(g)?"div":"form"),{id:P(c),class:ye(y.value({class:a.class})),onSubmit:pe(W,["prevent"])},{default:de(()=>[me(e.$slots,"default",{errors:u.value,loading:v.value})]),_:3},40,["id","class"]))}};export{Oe as _};
@@ -0,0 +1 @@
1
+ import{b as a,n as i}from"./CZT64TBr.js";import{u}from"./qBDqAV_3.js";const r=a(()=>{const{isAuthenticated:e,isPending:t}=u();if(!t.value&&!e.value)return i("/login")});export{r as default};
@@ -1 +1 @@
1
- import{_ as ae}from"./Ehiy7Wkv.js";import{d as Q,e as $,c as w,o as c,w as a,ac as d,aa as S,af as B,ab as p,ao as W,a as t,a0 as X,ag as ie,aq as fe,W as me,aN as pe,ay as ve,h as se,ap as Y,aO as be,f as ye,C as ne,r as Z,M as V,m as ee,$ as O,_ as J,az as ke,P as xe,aP as he,B as ze,bh as $e,aj as oe,Z as r,ak as K,al as te,am as le,n as we}from"./CGgHmnnS.js";import{_ as _e,a as Ce}from"./81-iumfM.js";import{_ as Ie}from"./B8fLdQfp.js";import{_ as Se}from"./NNQizITf.js";import{_ as qe}from"./D5AjrkGO.js";import{_ as Ue}from"./BGV4_re9.js";import{u as Te}from"./pFPRVtL-.js";import{_ as re}from"./CCmSsj4q.js";import"./CZ5B974o.js";import"./CD6r4z4e.js";import"./CPb6IrVT.js";import"./CNB4wNeh.js";import"./P3qGksT8.js";import"./D57E8FC4.js";import"./Suor9Vto.js";import"./rVZcJ6Pz.js";import"./B02JOKtW.js";import"./CZQeFnOf.js";const Ve={class:"flex items-start justify-between gap-3"},Be={class:"flex-1 min-w-0"},Ne={class:"flex items-center gap-2 mb-1"},Fe={class:"font-medium text-sm truncate"},Ae={class:"text-xs text-muted line-clamp-2"},De={class:"flex items-center gap-2 mt-3"},Me={class:"text-xs text-dimmed ml-auto"},Oe=Q({__name:"Card",props:{skill:{}},emits:["toggle","delete","update"],setup(i,{emit:x}){const _=i,l=x,k=$(!1);async function h(){k.value=!0,l("toggle",_.skill.name),k.value=!1}return(m,s)=>{const n=Se,g=qe,q=X,I=ie;return c(),w(I,{to:`/skills/${i.skill.name}`,class:"block p-4 rounded-lg border border-default bg-elevated/50 hover:bg-elevated transition-colors"},{default:a(()=>[d("div",Ve,[d("div",Be,[d("div",Ne,[d("span",Fe,B(i.skill.name),1),i.skill.core?(c(),w(n,{key:0,variant:"subtle",color:"primary",size:"xs"},{default:a(()=>[...s[3]||(s[3]=[p(" Core ",-1)])]),_:1})):S("",!0),i.skill.active?S("",!0):(c(),w(n,{key:1,variant:"subtle",color:"neutral",size:"xs"},{default:a(()=>[...s[4]||(s[4]=[p(" Disabled ",-1)])]),_:1}))]),d("p",Ae,B(i.skill.description),1)]),i.skill.core?S("",!0):(c(),w(g,{key:0,"model-value":i.skill.active,size:"sm",loading:t(k),"onUpdate:modelValue":h,onClick:s[0]||(s[0]=W(()=>{},["prevent","stop"]))},null,8,["model-value","loading"]))]),d("div",De,[i.skill.version?(c(),w(n,{key:0,variant:"soft",color:"neutral",size:"xs"},{default:a(()=>[p(" v"+B(i.skill.version),1)]),_:1})):S("",!0),i.skill.author?(c(),w(n,{key:1,variant:"soft",color:"neutral",size:"xs"},{default:a(()=>[p(B(i.skill.author),1)]),_:1})):S("",!0),d("span",Me,B(i.skill.fileCount)+" file"+B(i.skill.fileCount!==1?"s":""),1),i.skill.hasUpdate?(c(),w(q,{key:2,icon:"i-lucide-refresh-cw",color:"primary",variant:"soft",size:"xs",onClick:s[1]||(s[1]=W(F=>l("update",i.skill.name),["prevent","stop"]))})):S("",!0),i.skill.core?S("",!0):(c(),w(q,{key:3,icon:"i-lucide-trash",color:"error",variant:"soft",size:"xs",onClick:s[2]||(s[2]=W(F=>l("delete",i.skill.name),["prevent","stop"]))}))])]),_:1},8,["to"])}}}),je=Object.assign(Oe,{__name:"SkillsCard"}),Pe={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 start-0 flex items-start",leadingIcon:"shrink-0 text-dimmed",leadingAvatar:"shrink-0",leadingAvatarSize:"",trailing:"absolute end-0 flex items-start",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 inset-y-1",trailing:"pe-2 inset-y-1",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 inset-y-1.5",trailing:"pe-2.5 inset-y-1.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 inset-y-1.5",trailing:"pe-2.5 inset-y-1.5",leadingIcon:"size-5",leadingAvatarSize:"2xs",trailingIcon:"size-5"},lg:{base:"px-3 py-2 text-sm gap-2",leading:"ps-3 inset-y-2",trailing:"pe-3 inset-y-2",leadingIcon:"size-5",leadingAvatarSize:"2xs",trailingIcon:"size-5"},xl:{base:"px-3 py-2 text-base gap-2",leading:"ps-3 inset-y-2",trailing:"pe-3 inset-y-2",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"},autoresize:{true:{base:"resize-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"}},Le=["id","value","name","rows","placeholder","disabled","required"],Re=Object.assign({inheritAttrs:!1},{__name:"UTextarea",props:{as:{type:null,required:!1},id:{type:String,required:!1},name:{type:String,required:!1},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},autofocus:{type:Boolean,required:!1},autofocusDelay:{type:Number,required:!1,default:0},autoresize:{type:Boolean,required:!1},autoresizeDelay:{type:Number,required:!1,default:0},disabled:{type:Boolean,required:!1},rows:{type:Number,required:!1,default:3},maxrows:{type:Number,required:!1,default:0},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(i,{expose:x,emit:_}){const l=i,k=_,h=fe(),m=Te(l,"modelValue",k,{defaultValue:l.defaultValue}),s=me(),{emitFormFocus:n,emitFormBlur:g,emitFormInput:q,emitFormChange:I,size:F,color:U,id:u,name:A,highlight:M,disabled:D,ariaAttrs:v}=pe(l,{deferInputValidation:!0}),{isLeading:e,isTrailing:b,leadingIconName:y,trailingIconName:T}=ve(l),C=se(()=>Y({extend:Y(Pe),...s.ui?.textarea||{}})({color:U.value,variant:l.variant,size:F?.value,loading:l.loading,highlight:M.value,autoresize:l.autoresize,leading:e.value||!!l.avatar||!!h.leading,trailing:b.value||!!h.trailing})),z=be("textareaRef");function j(o){l.modelModifiers?.trim&&(o=o?.trim()??null),l.modelModifiers?.number&&(o=he(o)),l.modelModifiers?.nullable&&(o||=null),l.modelModifiers?.optional&&(o||=void 0),m.value=o,q()}function L(o){f(),l.modelModifiers?.lazy||j(o.target.value)}function R(o){const N=o.target.value;l.modelModifiers?.lazy&&j(N),l.modelModifiers?.trim&&(o.target.value=N.trim()),I(),k("change",o)}function E(o){g(),k("blur",o)}function P(){l.autofocus&&z.value?.focus()}function f(){if(l.autoresize&&z.value){z.value.rows=l.rows;const o=z.value.style.overflow;z.value.style.overflow="hidden";const N=window.getComputedStyle(z.value),G=Number.parseInt(N.paddingTop),de=Number.parseInt(N.paddingBottom),ue=G+de,ce=Number.parseInt(N.lineHeight),{scrollHeight:ge}=z.value,H=(ge-ue)/ce;H>l.rows&&(z.value.rows=l.maxrows?Math.min(H,l.maxrows):H),z.value.style.overflow=o}}return ye(m,()=>{ze(f)}),ne(()=>{setTimeout(()=>{P()},l.autofocusDelay),setTimeout(()=>{f()},l.autoresizeDelay)}),x({textareaRef:z}),(o,N)=>(c(),w(t(xe),{as:i.as,"data-slot":"root",class:O(C.value.root({class:[l.ui?.root,l.class]}))},{default:a(()=>[d("textarea",ee({id:t(u),ref_key:"textareaRef",ref:z,value:t(m),name:t(A),rows:i.rows,placeholder:i.placeholder,"data-slot":"base",class:C.value.base({class:l.ui?.base}),disabled:t(D),required:i.required},{...o.$attrs,...t(v)},{onInput:L,onBlur:E,onChange:R,onFocus:N[0]||(N[0]=(...G)=>t(n)&&t(n)(...G))}),null,16,Le),Z(o.$slots,"default",{ui:C.value}),t(e)||i.avatar||h.leading?(c(),V("span",{key:0,"data-slot":"leading",class:O(C.value.leading({class:l.ui?.leading}))},[Z(o.$slots,"leading",{ui:C.value},()=>[t(e)&&t(y)?(c(),w(J,{key:0,name:t(y),"data-slot":"leadingIcon",class:O(C.value.leadingIcon({class:l.ui?.leadingIcon}))},null,8,["name","class"])):i.avatar?(c(),w(ke,ee({key:1,size:l.ui?.leadingAvatarSize||C.value.leadingAvatarSize()},i.avatar,{"data-slot":"leadingAvatar",class:C.value.leadingAvatar({class:l.ui?.leadingAvatar})}),null,16,["size","class"])):S("",!0)])],2)):S("",!0),t(b)||h.trailing?(c(),V("span",{key:1,"data-slot":"trailing",class:O(C.value.trailing({class:l.ui?.trailing}))},[Z(o.$slots,"trailing",{ui:C.value},()=>[t(T)?(c(),w(J,{key:0,name:t(T),"data-slot":"trailingIcon",class:O(C.value.trailingIcon({class:l.ui?.trailingIcon}))},null,8,["name","class"])):S("",!0)])],2)):S("",!0)]),_:3},8,["as","class"]))}}),Ee={class:"space-y-4"},Ge={class:"flex gap-2"},He={key:0,class:"text-xs text-muted"},We={class:"flex justify-end gap-2"},Ze=Q({__name:"CreateModal",props:{open:{type:Boolean}},emits:["update:open","created"],setup(i,{emit:x}){const _=i,l=x,k=$e(),h=oe(),m=$("blank"),s=$(""),n=$(""),g=$(!1);function q(){m.value="blank",s.value="",n.value="",g.value=!1}function I(){l("update:open",!1),q()}async function F(){if(s.value.trim()){g.value=!0;try{if(m.value==="blank")await $fetch("/api/skills/create",{method:"POST",body:{name:s.value.trim(),description:n.value.trim()||void 0}}),h.add({title:`Skill '${s.value}' created`,color:"success"}),l("created",s.value.trim()),I(),k.push(`/skills/${s.value.trim()}`);else{if(!n.value.trim()){h.add({title:"Description is required for AI generation",color:"warning"}),g.value=!1;return}const U=await $fetch("/api/skills/generate",{method:"POST",body:{name:s.value.trim(),description:n.value.trim()}});h.add({title:`Skill '${s.value}' generated`,description:`Cost: $${U.data.costUsd.toFixed(4)} — created in inactive state for review`,color:"success"}),l("created",s.value.trim()),I(),k.push(`/skills/${s.value.trim()}`)}}catch(U){const u=U instanceof Error?U.message:"Failed to create skill";h.add({title:u,color:"error"})}finally{g.value=!1}}}return(U,u)=>{const A=X,M=ae,D=Ue,v=Re,e=re;return c(),w(e,{open:_.open,"onUpdate:open":u[4]||(u[4]=b=>l("update:open",b))},{header:a(()=>[...u[5]||(u[5]=[d("span",{class:"font-semibold"},"Create Skill",-1)])]),body:a(()=>[d("div",Ee,[d("div",Ge,[r(A,{variant:t(m)==="blank"?"solid":"outline",color:"neutral",size:"sm",icon:"i-lucide-file-plus",onClick:u[0]||(u[0]=b=>m.value="blank")},{default:a(()=>[...u[6]||(u[6]=[p(" Blank Skill ",-1)])]),_:1},8,["variant"]),r(A,{variant:t(m)==="generate"?"solid":"outline",color:"neutral",size:"sm",icon:"i-lucide-sparkles",onClick:u[1]||(u[1]=b=>m.value="generate")},{default:a(()=>[...u[7]||(u[7]=[p(" AI Generate ",-1)])]),_:1},8,["variant"])]),r(D,{label:"Name"},{default:a(()=>[r(M,{modelValue:t(s),"onUpdate:modelValue":u[2]||(u[2]=b=>K(s)?s.value=b:null),placeholder:"my-skill",disabled:t(g),class:"w-full"},null,8,["modelValue","disabled"])]),_:1}),r(D,{label:"Description",required:t(m)==="generate"},{default:a(()=>[r(v,{modelValue:t(n),"onUpdate:modelValue":u[3]||(u[3]=b=>K(n)?n.value=b:null),placeholder:t(m)==="generate"?"Describe what this skill should do...":"Optional description",rows:3,disabled:t(g),class:"w-full"},null,8,["modelValue","placeholder","disabled"])]),_:1},8,["required"]),t(m)==="generate"?(c(),V("p",He," AI-generated skills are created in an inactive state so you can review them before enabling. ")):S("",!0)])]),footer:a(()=>[d("div",We,[r(A,{variant:"ghost",color:"neutral",disabled:t(g),onClick:I},{default:a(()=>[...u[8]||(u[8]=[p(" Cancel ",-1)])]),_:1},8,["disabled"]),r(A,{loading:t(g),disabled:!t(s).trim(),onClick:F},{default:a(()=>[p(B(t(m)==="generate"?"Generate":"Create"),1)]),_:1},8,["loading","disabled"])])]),_:1},8,["open"])}}}),Je=Object.assign(Ze,{__name:"SkillsCreateModal"}),Ke={class:"flex flex-1 min-w-0"},Qe={class:"p-4"},Xe={key:0,class:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3"},Ye={key:1,class:"flex flex-col items-center justify-center py-16 text-dimmed"},et={key:2,class:"text-center py-12 text-muted text-sm"},tt={key:3,class:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3"},lt={class:"text-sm text-muted"},at={class:"text-default"},it={class:"flex justify-end gap-2"},st={class:"text-sm text-muted"},nt={class:"text-default"},ot={class:"flex justify-end gap-2"},It=Q({__name:"index",setup(i){const x=oe(),_=$([]),l=$(!0),k=$(""),h=$(!1),m=$(!1),s=$(null),n=$(""),g=$(""),q=$(!1),I=$(!1),F=se(()=>{if(!k.value.trim())return _.value;const v=k.value.toLowerCase();return _.value.filter(e=>e.name.toLowerCase().includes(v)||e.description.toLowerCase().includes(v))});async function U(){l.value=!0;try{const v=await $fetch("/api/skills");_.value=v.data}catch{x.add({title:"Failed to load skills",color:"error"})}finally{l.value=!1}}async function u(v){const e=v.target,b=e.files?.[0];if(b){m.value=!0;try{const y=new FormData;y.append("file",b);const T=await $fetch("/api/skills/import",{method:"POST",body:y});x.add({title:`Imported ${T.data.name}`,description:`${T.data.fileCount} file${T.data.fileCount===1?"":"s"}`,color:"success"}),we(`/skills/${T.data.name}`)}catch(y){const T=y instanceof Error?y.message:"Import failed";x.add({title:"Import failed",description:T,color:"error"})}finally{m.value=!1,e.value=""}}}async function A(v){try{const e=await $fetch(`/api/skills/${v}/toggle`,{method:"POST"}),b=_.value.find(y=>y.name===v);b&&(b.active=e.data.active),x.add({title:`${v} ${e.data.active?"enabled":"disabled"}`,color:"success"})}catch{x.add({title:`Failed to toggle ${v}`,color:"error"})}}async function M(){if(n.value){q.value=!0;try{await $fetch(`/api/skills/${n.value}/delete`,{method:"POST"}),_.value=_.value.filter(v=>v.name!==n.value),x.add({title:`Deleted ${n.value}`,color:"success"}),n.value=""}catch{x.add({title:`Failed to delete ${n.value}`,color:"error"})}finally{q.value=!1}}}async function D(){if(g.value){I.value=!0;try{await $fetch("/api/skills/library/install",{method:"POST",body:{name:g.value,force:!0}}),x.add({title:`Updated ${g.value}`,color:"success"}),g.value="",await U()}catch{x.add({title:`Failed to update ${g.value}`,color:"error"})}finally{I.value=!1}}}return ne(()=>U()),(v,e)=>{const b=ae,y=X,T=ie,C=Ce,z=Ie,j=J,L=je,R=_e,E=Je,P=re;return c(),V("div",Ke,[r(R,{id:"skills-main",grow:""},{header:a(()=>[r(C,{title:"Skills"},{right:a(()=>[r(b,{modelValue:t(k),"onUpdate:modelValue":e[0]||(e[0]=f=>K(k)?k.value=f:null),icon:"i-lucide-search",placeholder:"Search skills...",size:"sm",class:"w-48"},null,8,["modelValue"]),r(T,{to:"/skills/library"},{default:a(()=>[r(y,{icon:"i-lucide-library",variant:"ghost",color:"neutral",size:"sm"},{default:a(()=>[...e[10]||(e[10]=[p(" Library ",-1)])]),_:1})]),_:1}),r(y,{icon:"i-lucide-upload",variant:"ghost",color:"neutral",size:"sm",loading:t(m),onClick:e[1]||(e[1]=f=>t(s)?.click())},{default:a(()=>[...e[11]||(e[11]=[p(" Import ",-1)])]),_:1},8,["loading"]),d("input",{ref_key:"fileInput",ref:s,type:"file",accept:".zip",class:"hidden",onChange:u},null,544),r(y,{icon:"i-lucide-plus",size:"sm",onClick:e[2]||(e[2]=f=>h.value=!0)},{default:a(()=>[...e[12]||(e[12]=[p(" Create Skill ",-1)])]),_:1})]),_:1})]),body:a(()=>[d("div",Qe,[t(l)?(c(),V("div",Xe,[(c(),V(te,null,le(6,f=>d("div",{key:f,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))])):t(_).length===0?(c(),V("div",Ye,[r(j,{name:"i-lucide-puzzle",class:"size-12 mb-4"}),e[13]||(e[13]=d("p",{class:"text-lg font-medium"}," No skills found ",-1)),e[14]||(e[14]=d("p",{class:"text-sm mt-1"}," Skills are loaded from ~/.claude/skills/ ",-1))])):t(F).length===0?(c(),V("div",et,' No skills matching "'+B(t(k))+'" ',1)):(c(),V("div",tt,[(c(!0),V(te,null,le(t(F),f=>(c(),w(L,{key:f.name,skill:f,onToggle:A,onDelete:e[3]||(e[3]=o=>n.value=o),onUpdate:e[4]||(e[4]=o=>g.value=o)},null,8,["skill"]))),128))]))])]),_:1}),r(E,{open:t(h),"onUpdate:open":e[5]||(e[5]=f=>h.value=f),onCreated:U},null,8,["open"]),r(P,{open:!!t(n),"onUpdate:open":e[7]||(e[7]=f=>!f&&(n.value=""))},{header:a(()=>[...e[15]||(e[15]=[d("span",{class:"font-semibold"},"Delete Skill",-1)])]),body:a(()=>[d("p",lt,[e[16]||(e[16]=p(" This will permanently delete ",-1)),d("strong",at,B(t(n)),1),e[17]||(e[17]=p(" and all its files. Any modifications you've made will be lost. This cannot be undone. ",-1))])]),footer:a(()=>[d("div",it,[r(y,{variant:"ghost",color:"neutral",disabled:t(q),onClick:e[6]||(e[6]=f=>n.value="")},{default:a(()=>[...e[18]||(e[18]=[p(" Cancel ",-1)])]),_:1},8,["disabled"]),r(y,{color:"error",loading:t(q),onClick:M},{default:a(()=>[...e[19]||(e[19]=[p(" Delete ",-1)])]),_:1},8,["loading"])])]),_:1},8,["open"]),r(P,{open:!!t(g),"onUpdate:open":e[9]||(e[9]=f=>!f&&(g.value=""))},{header:a(()=>[...e[20]||(e[20]=[d("span",{class:"font-semibold"},"Update Skill",-1)])]),body:a(()=>[d("p",st,[e[21]||(e[21]=p(" This will re-download ",-1)),d("strong",nt,B(t(g)),1),e[22]||(e[22]=p(" from the community library, overwriting any local changes you've made to its files. ",-1))])]),footer:a(()=>[d("div",ot,[r(y,{variant:"ghost",color:"neutral",disabled:t(I),onClick:e[8]||(e[8]=f=>g.value="")},{default:a(()=>[...e[23]||(e[23]=[p(" Cancel ",-1)])]),_:1},8,["disabled"]),r(y,{loading:t(I),onClick:D},{default:a(()=>[...e[24]||(e[24]=[p(" Update ",-1)])]),_:1},8,["loading"])])]),_:1},8,["open"])])}}});export{It as default};
1
+ import{_ as ae}from"./D5dMt776.js";import{d as Q,e as $,c as w,o as c,w as a,ac as d,aa as S,af as B,ab as p,ao as W,a as t,a0 as X,ag as ie,aq as fe,W as me,aN as pe,ay as ve,h as se,ap as Y,aO as be,f as ye,C as ne,r as Z,M as V,m as ee,$ as O,_ as J,az as ke,P as xe,aP as he,B as ze,bh as $e,aj as oe,Z as r,ak as K,al as te,am as le,n as we}from"./CZT64TBr.js";import{_ as _e,a as Ce}from"./DM2gKi5N.js";import{_ as Ie}from"./BISpLSKY.js";import{_ as Se}from"./Ctt1B8Lg.js";import{_ as qe}from"./Bzkzi9GX.js";import{_ as Ue}from"./CAdrgifl.js";import{u as Te}from"./DD864DXc.js";import{_ as re}from"./C1pt3HyX.js";import"./CSwU6kaw.js";import"./CJAiAVnY.js";import"./D7PJ9LEZ.js";import"./BUa1DKMp.js";import"./CSQciH0m.js";import"./2nDmPuey.js";import"./DwbYPACo.js";import"./6f0CtDWh.js";import"./Cv0TenvS.js";import"./Bl7M4LXt.js";const Ve={class:"flex items-start justify-between gap-3"},Be={class:"flex-1 min-w-0"},Ne={class:"flex items-center gap-2 mb-1"},Fe={class:"font-medium text-sm truncate"},Ae={class:"text-xs text-muted line-clamp-2"},De={class:"flex items-center gap-2 mt-3"},Me={class:"text-xs text-dimmed ml-auto"},Oe=Q({__name:"Card",props:{skill:{}},emits:["toggle","delete","update"],setup(i,{emit:x}){const _=i,l=x,k=$(!1);async function h(){k.value=!0,l("toggle",_.skill.name),k.value=!1}return(m,s)=>{const n=Se,g=qe,q=X,I=ie;return c(),w(I,{to:`/skills/${i.skill.name}`,class:"block p-4 rounded-lg border border-default bg-elevated/50 hover:bg-elevated transition-colors"},{default:a(()=>[d("div",Ve,[d("div",Be,[d("div",Ne,[d("span",Fe,B(i.skill.name),1),i.skill.core?(c(),w(n,{key:0,variant:"subtle",color:"primary",size:"xs"},{default:a(()=>[...s[3]||(s[3]=[p(" Core ",-1)])]),_:1})):S("",!0),i.skill.active?S("",!0):(c(),w(n,{key:1,variant:"subtle",color:"neutral",size:"xs"},{default:a(()=>[...s[4]||(s[4]=[p(" Disabled ",-1)])]),_:1}))]),d("p",Ae,B(i.skill.description),1)]),i.skill.core?S("",!0):(c(),w(g,{key:0,"model-value":i.skill.active,size:"sm",loading:t(k),"onUpdate:modelValue":h,onClick:s[0]||(s[0]=W(()=>{},["prevent","stop"]))},null,8,["model-value","loading"]))]),d("div",De,[i.skill.version?(c(),w(n,{key:0,variant:"soft",color:"neutral",size:"xs"},{default:a(()=>[p(" v"+B(i.skill.version),1)]),_:1})):S("",!0),i.skill.author?(c(),w(n,{key:1,variant:"soft",color:"neutral",size:"xs"},{default:a(()=>[p(B(i.skill.author),1)]),_:1})):S("",!0),d("span",Me,B(i.skill.fileCount)+" file"+B(i.skill.fileCount!==1?"s":""),1),i.skill.hasUpdate?(c(),w(q,{key:2,icon:"i-lucide-refresh-cw",color:"primary",variant:"soft",size:"xs",onClick:s[1]||(s[1]=W(F=>l("update",i.skill.name),["prevent","stop"]))})):S("",!0),i.skill.core?S("",!0):(c(),w(q,{key:3,icon:"i-lucide-trash",color:"error",variant:"soft",size:"xs",onClick:s[2]||(s[2]=W(F=>l("delete",i.skill.name),["prevent","stop"]))}))])]),_:1},8,["to"])}}}),je=Object.assign(Oe,{__name:"SkillsCard"}),Pe={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 start-0 flex items-start",leadingIcon:"shrink-0 text-dimmed",leadingAvatar:"shrink-0",leadingAvatarSize:"",trailing:"absolute end-0 flex items-start",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 inset-y-1",trailing:"pe-2 inset-y-1",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 inset-y-1.5",trailing:"pe-2.5 inset-y-1.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 inset-y-1.5",trailing:"pe-2.5 inset-y-1.5",leadingIcon:"size-5",leadingAvatarSize:"2xs",trailingIcon:"size-5"},lg:{base:"px-3 py-2 text-sm gap-2",leading:"ps-3 inset-y-2",trailing:"pe-3 inset-y-2",leadingIcon:"size-5",leadingAvatarSize:"2xs",trailingIcon:"size-5"},xl:{base:"px-3 py-2 text-base gap-2",leading:"ps-3 inset-y-2",trailing:"pe-3 inset-y-2",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"},autoresize:{true:{base:"resize-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"}},Le=["id","value","name","rows","placeholder","disabled","required"],Re=Object.assign({inheritAttrs:!1},{__name:"UTextarea",props:{as:{type:null,required:!1},id:{type:String,required:!1},name:{type:String,required:!1},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},autofocus:{type:Boolean,required:!1},autofocusDelay:{type:Number,required:!1,default:0},autoresize:{type:Boolean,required:!1},autoresizeDelay:{type:Number,required:!1,default:0},disabled:{type:Boolean,required:!1},rows:{type:Number,required:!1,default:3},maxrows:{type:Number,required:!1,default:0},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(i,{expose:x,emit:_}){const l=i,k=_,h=fe(),m=Te(l,"modelValue",k,{defaultValue:l.defaultValue}),s=me(),{emitFormFocus:n,emitFormBlur:g,emitFormInput:q,emitFormChange:I,size:F,color:U,id:u,name:A,highlight:M,disabled:D,ariaAttrs:v}=pe(l,{deferInputValidation:!0}),{isLeading:e,isTrailing:b,leadingIconName:y,trailingIconName:T}=ve(l),C=se(()=>Y({extend:Y(Pe),...s.ui?.textarea||{}})({color:U.value,variant:l.variant,size:F?.value,loading:l.loading,highlight:M.value,autoresize:l.autoresize,leading:e.value||!!l.avatar||!!h.leading,trailing:b.value||!!h.trailing})),z=be("textareaRef");function j(o){l.modelModifiers?.trim&&(o=o?.trim()??null),l.modelModifiers?.number&&(o=he(o)),l.modelModifiers?.nullable&&(o||=null),l.modelModifiers?.optional&&(o||=void 0),m.value=o,q()}function L(o){f(),l.modelModifiers?.lazy||j(o.target.value)}function R(o){const N=o.target.value;l.modelModifiers?.lazy&&j(N),l.modelModifiers?.trim&&(o.target.value=N.trim()),I(),k("change",o)}function E(o){g(),k("blur",o)}function P(){l.autofocus&&z.value?.focus()}function f(){if(l.autoresize&&z.value){z.value.rows=l.rows;const o=z.value.style.overflow;z.value.style.overflow="hidden";const N=window.getComputedStyle(z.value),G=Number.parseInt(N.paddingTop),de=Number.parseInt(N.paddingBottom),ue=G+de,ce=Number.parseInt(N.lineHeight),{scrollHeight:ge}=z.value,H=(ge-ue)/ce;H>l.rows&&(z.value.rows=l.maxrows?Math.min(H,l.maxrows):H),z.value.style.overflow=o}}return ye(m,()=>{ze(f)}),ne(()=>{setTimeout(()=>{P()},l.autofocusDelay),setTimeout(()=>{f()},l.autoresizeDelay)}),x({textareaRef:z}),(o,N)=>(c(),w(t(xe),{as:i.as,"data-slot":"root",class:O(C.value.root({class:[l.ui?.root,l.class]}))},{default:a(()=>[d("textarea",ee({id:t(u),ref_key:"textareaRef",ref:z,value:t(m),name:t(A),rows:i.rows,placeholder:i.placeholder,"data-slot":"base",class:C.value.base({class:l.ui?.base}),disabled:t(D),required:i.required},{...o.$attrs,...t(v)},{onInput:L,onBlur:E,onChange:R,onFocus:N[0]||(N[0]=(...G)=>t(n)&&t(n)(...G))}),null,16,Le),Z(o.$slots,"default",{ui:C.value}),t(e)||i.avatar||h.leading?(c(),V("span",{key:0,"data-slot":"leading",class:O(C.value.leading({class:l.ui?.leading}))},[Z(o.$slots,"leading",{ui:C.value},()=>[t(e)&&t(y)?(c(),w(J,{key:0,name:t(y),"data-slot":"leadingIcon",class:O(C.value.leadingIcon({class:l.ui?.leadingIcon}))},null,8,["name","class"])):i.avatar?(c(),w(ke,ee({key:1,size:l.ui?.leadingAvatarSize||C.value.leadingAvatarSize()},i.avatar,{"data-slot":"leadingAvatar",class:C.value.leadingAvatar({class:l.ui?.leadingAvatar})}),null,16,["size","class"])):S("",!0)])],2)):S("",!0),t(b)||h.trailing?(c(),V("span",{key:1,"data-slot":"trailing",class:O(C.value.trailing({class:l.ui?.trailing}))},[Z(o.$slots,"trailing",{ui:C.value},()=>[t(T)?(c(),w(J,{key:0,name:t(T),"data-slot":"trailingIcon",class:O(C.value.trailingIcon({class:l.ui?.trailingIcon}))},null,8,["name","class"])):S("",!0)])],2)):S("",!0)]),_:3},8,["as","class"]))}}),Ee={class:"space-y-4"},Ge={class:"flex gap-2"},He={key:0,class:"text-xs text-muted"},We={class:"flex justify-end gap-2"},Ze=Q({__name:"CreateModal",props:{open:{type:Boolean}},emits:["update:open","created"],setup(i,{emit:x}){const _=i,l=x,k=$e(),h=oe(),m=$("blank"),s=$(""),n=$(""),g=$(!1);function q(){m.value="blank",s.value="",n.value="",g.value=!1}function I(){l("update:open",!1),q()}async function F(){if(s.value.trim()){g.value=!0;try{if(m.value==="blank")await $fetch("/api/skills/create",{method:"POST",body:{name:s.value.trim(),description:n.value.trim()||void 0}}),h.add({title:`Skill '${s.value}' created`,color:"success"}),l("created",s.value.trim()),I(),k.push(`/skills/${s.value.trim()}`);else{if(!n.value.trim()){h.add({title:"Description is required for AI generation",color:"warning"}),g.value=!1;return}const U=await $fetch("/api/skills/generate",{method:"POST",body:{name:s.value.trim(),description:n.value.trim()}});h.add({title:`Skill '${s.value}' generated`,description:`Cost: $${U.data.costUsd.toFixed(4)} — created in inactive state for review`,color:"success"}),l("created",s.value.trim()),I(),k.push(`/skills/${s.value.trim()}`)}}catch(U){const u=U instanceof Error?U.message:"Failed to create skill";h.add({title:u,color:"error"})}finally{g.value=!1}}}return(U,u)=>{const A=X,M=ae,D=Ue,v=Re,e=re;return c(),w(e,{open:_.open,"onUpdate:open":u[4]||(u[4]=b=>l("update:open",b))},{header:a(()=>[...u[5]||(u[5]=[d("span",{class:"font-semibold"},"Create Skill",-1)])]),body:a(()=>[d("div",Ee,[d("div",Ge,[r(A,{variant:t(m)==="blank"?"solid":"outline",color:"neutral",size:"sm",icon:"i-lucide-file-plus",onClick:u[0]||(u[0]=b=>m.value="blank")},{default:a(()=>[...u[6]||(u[6]=[p(" Blank Skill ",-1)])]),_:1},8,["variant"]),r(A,{variant:t(m)==="generate"?"solid":"outline",color:"neutral",size:"sm",icon:"i-lucide-sparkles",onClick:u[1]||(u[1]=b=>m.value="generate")},{default:a(()=>[...u[7]||(u[7]=[p(" AI Generate ",-1)])]),_:1},8,["variant"])]),r(D,{label:"Name"},{default:a(()=>[r(M,{modelValue:t(s),"onUpdate:modelValue":u[2]||(u[2]=b=>K(s)?s.value=b:null),placeholder:"my-skill",disabled:t(g),class:"w-full"},null,8,["modelValue","disabled"])]),_:1}),r(D,{label:"Description",required:t(m)==="generate"},{default:a(()=>[r(v,{modelValue:t(n),"onUpdate:modelValue":u[3]||(u[3]=b=>K(n)?n.value=b:null),placeholder:t(m)==="generate"?"Describe what this skill should do...":"Optional description",rows:3,disabled:t(g),class:"w-full"},null,8,["modelValue","placeholder","disabled"])]),_:1},8,["required"]),t(m)==="generate"?(c(),V("p",He," AI-generated skills are created in an inactive state so you can review them before enabling. ")):S("",!0)])]),footer:a(()=>[d("div",We,[r(A,{variant:"ghost",color:"neutral",disabled:t(g),onClick:I},{default:a(()=>[...u[8]||(u[8]=[p(" Cancel ",-1)])]),_:1},8,["disabled"]),r(A,{loading:t(g),disabled:!t(s).trim(),onClick:F},{default:a(()=>[p(B(t(m)==="generate"?"Generate":"Create"),1)]),_:1},8,["loading","disabled"])])]),_:1},8,["open"])}}}),Je=Object.assign(Ze,{__name:"SkillsCreateModal"}),Ke={class:"flex flex-1 min-w-0"},Qe={class:"p-4"},Xe={key:0,class:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3"},Ye={key:1,class:"flex flex-col items-center justify-center py-16 text-dimmed"},et={key:2,class:"text-center py-12 text-muted text-sm"},tt={key:3,class:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3"},lt={class:"text-sm text-muted"},at={class:"text-default"},it={class:"flex justify-end gap-2"},st={class:"text-sm text-muted"},nt={class:"text-default"},ot={class:"flex justify-end gap-2"},It=Q({__name:"index",setup(i){const x=oe(),_=$([]),l=$(!0),k=$(""),h=$(!1),m=$(!1),s=$(null),n=$(""),g=$(""),q=$(!1),I=$(!1),F=se(()=>{if(!k.value.trim())return _.value;const v=k.value.toLowerCase();return _.value.filter(e=>e.name.toLowerCase().includes(v)||e.description.toLowerCase().includes(v))});async function U(){l.value=!0;try{const v=await $fetch("/api/skills");_.value=v.data}catch{x.add({title:"Failed to load skills",color:"error"})}finally{l.value=!1}}async function u(v){const e=v.target,b=e.files?.[0];if(b){m.value=!0;try{const y=new FormData;y.append("file",b);const T=await $fetch("/api/skills/import",{method:"POST",body:y});x.add({title:`Imported ${T.data.name}`,description:`${T.data.fileCount} file${T.data.fileCount===1?"":"s"}`,color:"success"}),we(`/skills/${T.data.name}`)}catch(y){const T=y instanceof Error?y.message:"Import failed";x.add({title:"Import failed",description:T,color:"error"})}finally{m.value=!1,e.value=""}}}async function A(v){try{const e=await $fetch(`/api/skills/${v}/toggle`,{method:"POST"}),b=_.value.find(y=>y.name===v);b&&(b.active=e.data.active),x.add({title:`${v} ${e.data.active?"enabled":"disabled"}`,color:"success"})}catch{x.add({title:`Failed to toggle ${v}`,color:"error"})}}async function M(){if(n.value){q.value=!0;try{await $fetch(`/api/skills/${n.value}/delete`,{method:"POST"}),_.value=_.value.filter(v=>v.name!==n.value),x.add({title:`Deleted ${n.value}`,color:"success"}),n.value=""}catch{x.add({title:`Failed to delete ${n.value}`,color:"error"})}finally{q.value=!1}}}async function D(){if(g.value){I.value=!0;try{await $fetch("/api/skills/library/install",{method:"POST",body:{name:g.value,force:!0}}),x.add({title:`Updated ${g.value}`,color:"success"}),g.value="",await U()}catch{x.add({title:`Failed to update ${g.value}`,color:"error"})}finally{I.value=!1}}}return ne(()=>U()),(v,e)=>{const b=ae,y=X,T=ie,C=Ce,z=Ie,j=J,L=je,R=_e,E=Je,P=re;return c(),V("div",Ke,[r(R,{id:"skills-main",grow:""},{header:a(()=>[r(C,{title:"Skills"},{right:a(()=>[r(b,{modelValue:t(k),"onUpdate:modelValue":e[0]||(e[0]=f=>K(k)?k.value=f:null),icon:"i-lucide-search",placeholder:"Search skills...",size:"sm",class:"w-48"},null,8,["modelValue"]),r(T,{to:"/skills/library"},{default:a(()=>[r(y,{icon:"i-lucide-library",variant:"ghost",color:"neutral",size:"sm"},{default:a(()=>[...e[10]||(e[10]=[p(" Library ",-1)])]),_:1})]),_:1}),r(y,{icon:"i-lucide-upload",variant:"ghost",color:"neutral",size:"sm",loading:t(m),onClick:e[1]||(e[1]=f=>t(s)?.click())},{default:a(()=>[...e[11]||(e[11]=[p(" Import ",-1)])]),_:1},8,["loading"]),d("input",{ref_key:"fileInput",ref:s,type:"file",accept:".zip",class:"hidden",onChange:u},null,544),r(y,{icon:"i-lucide-plus",size:"sm",onClick:e[2]||(e[2]=f=>h.value=!0)},{default:a(()=>[...e[12]||(e[12]=[p(" Create Skill ",-1)])]),_:1})]),_:1})]),body:a(()=>[d("div",Qe,[t(l)?(c(),V("div",Xe,[(c(),V(te,null,le(6,f=>d("div",{key:f,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))])):t(_).length===0?(c(),V("div",Ye,[r(j,{name:"i-lucide-puzzle",class:"size-12 mb-4"}),e[13]||(e[13]=d("p",{class:"text-lg font-medium"}," No skills found ",-1)),e[14]||(e[14]=d("p",{class:"text-sm mt-1"}," Skills are loaded from ~/.claude/skills/ ",-1))])):t(F).length===0?(c(),V("div",et,' No skills matching "'+B(t(k))+'" ',1)):(c(),V("div",tt,[(c(!0),V(te,null,le(t(F),f=>(c(),w(L,{key:f.name,skill:f,onToggle:A,onDelete:e[3]||(e[3]=o=>n.value=o),onUpdate:e[4]||(e[4]=o=>g.value=o)},null,8,["skill"]))),128))]))])]),_:1}),r(E,{open:t(h),"onUpdate:open":e[5]||(e[5]=f=>h.value=f),onCreated:U},null,8,["open"]),r(P,{open:!!t(n),"onUpdate:open":e[7]||(e[7]=f=>!f&&(n.value=""))},{header:a(()=>[...e[15]||(e[15]=[d("span",{class:"font-semibold"},"Delete Skill",-1)])]),body:a(()=>[d("p",lt,[e[16]||(e[16]=p(" This will permanently delete ",-1)),d("strong",at,B(t(n)),1),e[17]||(e[17]=p(" and all its files. Any modifications you've made will be lost. This cannot be undone. ",-1))])]),footer:a(()=>[d("div",it,[r(y,{variant:"ghost",color:"neutral",disabled:t(q),onClick:e[6]||(e[6]=f=>n.value="")},{default:a(()=>[...e[18]||(e[18]=[p(" Cancel ",-1)])]),_:1},8,["disabled"]),r(y,{color:"error",loading:t(q),onClick:M},{default:a(()=>[...e[19]||(e[19]=[p(" Delete ",-1)])]),_:1},8,["loading"])])]),_:1},8,["open"]),r(P,{open:!!t(g),"onUpdate:open":e[9]||(e[9]=f=>!f&&(g.value=""))},{header:a(()=>[...e[20]||(e[20]=[d("span",{class:"font-semibold"},"Update Skill",-1)])]),body:a(()=>[d("p",st,[e[21]||(e[21]=p(" This will re-download ",-1)),d("strong",nt,B(t(g)),1),e[22]||(e[22]=p(" from the community library, overwriting any local changes you've made to its files. ",-1))])]),footer:a(()=>[d("div",ot,[r(y,{variant:"ghost",color:"neutral",disabled:t(I),onClick:e[8]||(e[8]=f=>g.value="")},{default:a(()=>[...e[23]||(e[23]=[p(" Cancel ",-1)])]),_:1},8,["disabled"]),r(y,{loading:t(I),onClick:D},{default:a(()=>[...e[24]||(e[24]=[p(" Update ",-1)])]),_:1},8,["loading"])])]),_:1},8,["open"])])}}});export{It as default};
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./CDKJK4wW.js","./BD07a6OS.js","./CGgHmnnS.js","./entry.ZJxWCrU6.css","./88opOQSr.js","./iik6CYzq.js","./n5X4vNX9.js","./AMPsjNHJ.js","./B8na0pik.js","./CqkleIqs.js","./BCNkgdIP.js","./DPfMkruS.js","./wDzz0qaB.js","./BPQ3VLAy.js","./Cp-IABpG.js","./CnnebwVN.js","./2EtD6e53.js","./BGJmEYvX.js","./CylS5w8V.js","./D3fng9L2.js","./Ck_RvX-X.js","./BIGW1oBm.js","./BLtJtn59.js"])))=>i.map(i=>d[i]);
2
- import{bT as g}from"./CGgHmnnS.js";import{getMdcConfigs as Ot}from"./bNaE6FFb.js";function te(e){if([...e].length!==1)throw new Error(`Expected "${e}" to be a single code point`);return e.codePointAt(0)}function Mt(e,t,r){return e.has(t)||e.set(t,r),e.get(t)}const Me=new Set(["alnum","alpha","ascii","blank","cntrl","digit","graph","lower","print","punct","space","upper","word","xdigit"]),S=String.raw;function re(e,t){if(e==null)throw new Error(t??"Value expected");return e}const at=S`\[\^?`,ut=`c.? | C(?:-.?)?|${S`[pP]\{(?:\^?[-\x20_]*[A-Za-z][-\x20\w]*\})?`}|${S`x[89A-Fa-f]\p{AHex}(?:\\x[89A-Fa-f]\p{AHex})*`}|${S`u(?:\p{AHex}{4})? | x\{[^\}]*\}? | x\p{AHex}{0,2}`}|${S`o\{[^\}]*\}?`}|${S`\d{1,3}`}`,Re=/[?*+][?+]?|\{(?:\d+(?:,\d*)?|,\d+)\}\??/,ue=new RegExp(S`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DuDOxoNd.js","./8T7bItPs.js","./CZT64TBr.js","./entry.ZJxWCrU6.css","./88opOQSr.js","./iik6CYzq.js","./CjhuD2Kg.js","./dGa7RyJ8.js","./DfIQdSBL.js","./CqkleIqs.js","./BCNkgdIP.js","./DPfMkruS.js","./wDzz0qaB.js","./BPQ3VLAy.js","./Cp-IABpG.js","./CnnebwVN.js","./2EtD6e53.js","./BGJmEYvX.js","./CylS5w8V.js","./D3fng9L2.js","./Ck_RvX-X.js","./BIGW1oBm.js","./BLtJtn59.js"])))=>i.map(i=>d[i]);
2
+ import{bT as g}from"./CZT64TBr.js";import{getMdcConfigs as Ot}from"./bNaE6FFb.js";function te(e){if([...e].length!==1)throw new Error(`Expected "${e}" to be a single code point`);return e.codePointAt(0)}function Mt(e,t,r){return e.has(t)||e.set(t,r),e.get(t)}const Me=new Set(["alnum","alpha","ascii","blank","cntrl","digit","graph","lower","print","punct","space","upper","word","xdigit"]),S=String.raw;function re(e,t){if(e==null)throw new Error(t??"Value expected");return e}const at=S`\[\^?`,ut=`c.? | C(?:-.?)?|${S`[pP]\{(?:\^?[-\x20_]*[A-Za-z][-\x20\w]*\})?`}|${S`x[89A-Fa-f]\p{AHex}(?:\\x[89A-Fa-f]\p{AHex})*`}|${S`u(?:\p{AHex}{4})? | x\{[^\}]*\}? | x\p{AHex}{0,2}`}|${S`o\{[^\}]*\}?`}|${S`\d{1,3}`}`,Re=/[?*+][?+]?|\{(?:\d+(?:,\d*)?|,\d+)\}\??/,ue=new RegExp(S`
3
3
  \\ (?:
4
4
  ${ut}
5
5
  | [gk]<[^>]*>?
@@ -139,7 +139,7 @@ XID_Continue XIDC
139
139
  XID_Start XIDS`.split(/\s/).map(e=>[ge(e),e])),Dr=new Map([["s",v(383)],[v(383),"s"]]),Fr=new Map([[v(223),v(7838)],[v(107),v(8490)],[v(229),v(8491)],[v(969),v(8486)]]),Gr=new Map([W(453),W(456),W(459),W(498),...Ae(8072,8079),...Ae(8088,8095),...Ae(8104,8111),W(8124),W(8140),W(8188)]),Vr=new Map([["alnum",w`[\p{Alpha}\p{Nd}]`],["alpha",w`\p{Alpha}`],["ascii",w`\p{ASCII}`],["blank",w`[\p{Zs}\t]`],["cntrl",w`\p{Cc}`],["digit",w`\p{Nd}`],["graph",w`[\P{space}&&\P{Cc}&&\P{Cn}&&\P{Cs}]`],["lower",w`\p{Lower}`],["print",w`[[\P{space}&&\P{Cc}&&\P{Cn}&&\P{Cs}]\p{Zs}]`],["punct",w`[\p{P}\p{S}]`],["space",w`\p{space}`],["upper",w`\p{Upper}`],["word",w`[\p{Alpha}\p{M}\p{Nd}\p{Pc}]`],["xdigit",w`\p{AHex}`]]);function Br(e,t){const r=[];for(let n=e;n<=t;n++)r.push(n);return r}function W(e){const t=v(e);return[t.toLowerCase(),t]}function Ae(e,t){return Br(e,t).map(r=>W(r))}var At=new Set(["Lower","Lowercase","Upper","Uppercase","Ll","Lowercase_Letter","Lt","Titlecase_Letter","Lu","Uppercase_Letter"]);function Hr(e,t){const r={accuracy:"default",asciiWordBoundaries:!1,avoidSubclass:!1,bestEffortTarget:"ES2025",...t};kt(e);const n={accuracy:r.accuracy,asciiWordBoundaries:r.asciiWordBoundaries,avoidSubclass:r.avoidSubclass,flagDirectivesByAlt:new Map,jsGroupNameMap:new Map,minTargetEs2024:Te(r.bestEffortTarget,"ES2024"),passedLookbehind:!1,strategy:null,subroutineRefMap:new Map,supportedGNodes:new Set,digitIsAscii:e.flags.digitIsAscii,spaceIsAscii:e.flags.spaceIsAscii,wordIsAscii:e.flags.wordIsAscii};se(e,Wr,n);const i={dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},s={currentFlags:i,prevFlags:null,globalFlags:i,groupOriginByCopy:new Map,groupsByName:new Map,multiplexCapturesToLeftByRef:new Map,openRefs:new Map,reffedNodesByReferencer:new Map,subroutineRefMap:n.subroutineRefMap};se(e,zr,s);const o={groupsByName:s.groupsByName,highestOrphanBackref:0,numCapturesToLeft:0,reffedNodesByReferencer:s.reffedNodesByReferencer};return se(e,jr,o),e._originMap=s.groupOriginByCopy,e._strategy=n.strategy,e}var Wr={AbsenceFunction({node:e,parent:t,replaceWith:r}){const{body:n,kind:i}=e;if(i==="repeater"){const s=U();s.body[0].body.push(X({negate:!0,body:n}),ee("Any"));const o=U();o.body[0].body.push(gt("greedy",0,1/0,s)),r(k(o,t),{traverse:!0})}else throw new Error('Unsupported absence function "(?~|"')},Alternative:{enter({node:e,parent:t,key:r},{flagDirectivesByAlt:n}){const i=e.body.filter(s=>s.kind==="flags");for(let s=r+1;s<t.body.length;s++){const o=t.body[s];ie(n,o,[]).push(...i)}},exit({node:e},{flagDirectivesByAlt:t}){if(t.get(e)?.length){const r=vt(t.get(e));if(r){const n=U({flags:r});n.body[0].body=e.body,e.body=[k(n,e)]}}}},Assertion({node:e,parent:t,key:r,container:n,root:i,remove:s,replaceWith:o},a){const{kind:u,negate:c}=e,{asciiWordBoundaries:f,avoidSubclass:l,supportedGNodes:h,wordIsAscii:d}=a;if(u==="text_segment_boundary")throw new Error(`Unsupported text segment boundary "\\${c?"Y":"y"}"`);if(u==="line_end")o(k(X({body:[Q({body:[Ie("string_end")]}),Q({body:[he(10)]})]}),t));else if(u==="line_start")o(k(G(w`(?<=\A|\n(?!\z))`,{skipLookbehindValidation:!0}),t));else if(u==="search_start")if(h.has(e))i.flags.sticky=!0,s();else{const p=n[r-1];if(p&&Kr(p))o(k(X({negate:!0}),t));else{if(l)throw new Error(w`Uses "\G" in a way that requires a subclass`);o(z(Ie("string_start"),t)),a.strategy="clip_search"}}else if(!(u==="string_end"||u==="string_start"))if(u==="string_end_newline")o(k(G(w`(?=\n?\z)`),t));else if(u==="word_boundary"){if(!d&&!f){const p=`(?:(?<=${F})(?!${F})|(?<!${F})(?=${F}))`,m=`(?:(?<=${F})(?=${F})|(?<!${F})(?!${F}))`;o(k(G(c?m:p),t))}}else throw new Error(`Unexpected assertion kind "${u}"`)},Backreference({node:e},{jsGroupNameMap:t}){let{ref:r}=e;typeof r=="string"&&!xe(r)&&(r=ke(r,t),e.ref=r)},CapturingGroup({node:e},{jsGroupNameMap:t,subroutineRefMap:r}){let{name:n}=e;n&&!xe(n)&&(n=ke(n,t),e.name=n),r.set(e.number,e),n&&r.set(n,e)},CharacterClassRange({node:e,parent:t,replaceWith:r}){if(t.kind==="intersection"){const n=pe({body:[e]});r(k(n,t),{traverse:!0})}},CharacterSet({node:e,parent:t,replaceWith:r},{accuracy:n,minTargetEs2024:i,digitIsAscii:s,spaceIsAscii:o,wordIsAscii:a}){const{kind:u,negate:c,value:f}=e;if(s&&(u==="digit"||f==="digit")){r(z(Le("digit",{negate:c}),t));return}if(o&&(u==="space"||f==="space")){r(k(ve(G(Nr),c),t));return}if(a&&(u==="word"||f==="word")){r(z(Le("word",{negate:c}),t));return}if(u==="any")r(z(ee("Any"),t));else if(u==="digit")r(z(ee("Nd",{negate:c}),t));else if(u!=="dot")if(u==="text_segment"){if(n==="strict")throw new Error(w`Use of "\X" requires non-strict accuracy`);const l="\\p{Emoji}(?:\\p{EMod}|\\uFE0F\\u20E3?|[\\x{E0020}-\\x{E007E}]+\\x{E007F})?",h=w`\p{RI}{2}|${l}(?:\u200D${l})*`;r(k(G(w`(?>\r\n|${i?w`\p{RGI_Emoji}`:h}|\P{M}\p{M}*)`,{skipPropertyNameValidation:!0}),t))}else if(u==="hex")r(z(ee("AHex",{negate:c}),t));else if(u==="newline")r(k(G(c?`[^
140
140
  ]`:`(?>\r
141
141
  ?|[
142
- \v\f…\u2028\u2029])`),t));else if(u==="posix")if(!i&&(f==="graph"||f==="print")){if(n==="strict")throw new Error(`POSIX class "${f}" requires min target ES2024 or non-strict accuracy`);let l={graph:"!-~",print:" -~"}[f];c&&(l=`\0-${v(l.codePointAt(0)-1)}${v(l.codePointAt(2)+1)}-􏿿`),r(k(G(`[${l}]`),t))}else r(k(ve(G(Vr.get(f)),c),t));else if(u==="property")Ue.has(ge(f))||(e.key="sc");else if(u==="space")r(z(ee("space",{negate:c}),t));else if(u==="word")r(k(ve(G(F),c),t));else throw new Error(`Unexpected character set kind "${u}"`)},Directive({node:e,parent:t,root:r,remove:n,replaceWith:i,removeAllPrevSiblings:s,removeAllNextSiblings:o}){const{kind:a,flags:u}=e;if(a==="flags")if(!u.enable&&!u.disable)n();else{const c=U({flags:u});c.body[0].body=o(),i(k(c,t),{traverse:!0})}else if(a==="keep"){const c=r.body[0],l=r.body.length===1&&pt(c,{type:"Group"})&&c.body[0].body.length===1?c.body[0]:r;if(t.parent!==l||l.body.length>1)throw new Error(w`Uses "\K" in a way that's unsupported`);const h=X({behind:!0});h.body[0].body=s(),i(k(h,t))}else throw new Error(`Unexpected directive kind "${a}"`)},Flags({node:e,parent:t}){if(e.posixIsAscii)throw new Error('Unsupported flag "P"');if(e.textSegmentMode==="word")throw new Error('Unsupported flag "y{w}"');["digitIsAscii","extended","posixIsAscii","spaceIsAscii","wordIsAscii","textSegmentMode"].forEach(r=>delete e[r]),Object.assign(e,{global:!1,hasIndices:!1,multiline:!1,sticky:e.sticky??!1}),t.options={disable:{x:!0,n:!0},force:{v:!0}}},Group({node:e}){if(!e.flags)return;const{enable:t,disable:r}=e.flags;t?.extended&&delete t.extended,r?.extended&&delete r.extended,t?.dotAll&&r?.dotAll&&delete t.dotAll,t?.ignoreCase&&r?.ignoreCase&&delete t.ignoreCase,t&&!Object.keys(t).length&&delete e.flags.enable,r&&!Object.keys(r).length&&delete e.flags.disable,!e.flags.enable&&!e.flags.disable&&delete e.flags},LookaroundAssertion({node:e},t){const{kind:r}=e;r==="lookbehind"&&(t.passedLookbehind=!0)},NamedCallout({node:e,parent:t,replaceWith:r}){const{kind:n}=e;if(n==="fail")r(k(X({negate:!0}),t));else throw new Error(`Unsupported named callout "(*${n.toUpperCase()}"`)},Quantifier({node:e}){if(e.body.type==="Quantifier"){const t=U();t.body[0].body.push(e.body),e.body=k(t,e)}},Regex:{enter({node:e},{supportedGNodes:t}){const r=[];let n=!1,i=!1;for(const s of e.body)if(s.body.length===1&&s.body[0].kind==="search_start")s.body.pop();else{const o=It(s.body);o?(n=!0,Array.isArray(o)?r.push(...o):r.push(o)):i=!0}n&&!i&&r.forEach(s=>t.add(s))},exit(e,{accuracy:t,passedLookbehind:r,strategy:n}){if(t==="strict"&&r&&n)throw new Error(w`Uses "\G" in a way that requires non-strict accuracy`)}},Subroutine({node:e},{jsGroupNameMap:t}){let{ref:r}=e;typeof r=="string"&&!xe(r)&&(r=ke(r,t),e.ref=r)}},zr={Backreference({node:e},{multiplexCapturesToLeftByRef:t,reffedNodesByReferencer:r}){const{orphan:n,ref:i}=e;n||r.set(e,[...t.get(i).map(({node:s})=>s)])},CapturingGroup:{enter({node:e,parent:t,replaceWith:r,skip:n},{groupOriginByCopy:i,groupsByName:s,multiplexCapturesToLeftByRef:o,openRefs:a,reffedNodesByReferencer:u}){const c=i.get(e);if(c&&a.has(e.number)){const l=z(rt(e.number),t);u.set(l,a.get(e.number)),r(l);return}a.set(e.number,e),o.set(e.number,[]),e.name&&ie(o,e.name,[]);const f=o.get(e.name??e.number);for(let l=0;l<f.length;l++){const h=f[l];if(c===h.node||c&&c===h.origin||e===h.origin){f.splice(l,1);break}}if(o.get(e.number).push({node:e,origin:c}),e.name&&o.get(e.name).push({node:e,origin:c}),e.name){const l=ie(s,e.name,new Map);let h=!1;if(c)h=!0;else for(const d of l.values())if(!d.hasDuplicateNameToRemove){h=!0;break}s.get(e.name).set(e,{node:e,hasDuplicateNameToRemove:h})}},exit({node:e},{openRefs:t}){t.delete(e.number)}},Group:{enter({node:e},t){t.prevFlags=t.currentFlags,e.flags&&(t.currentFlags=de(t.currentFlags,e.flags))},exit(e,t){t.currentFlags=t.prevFlags}},Subroutine({node:e,parent:t,replaceWith:r},n){const{isRecursive:i,ref:s}=e;if(i){let f=t;for(;(f=f.parent)&&!(f.type==="CapturingGroup"&&(f.name===s||f.number===s)););n.reffedNodesByReferencer.set(e,f);return}const o=n.subroutineRefMap.get(s),a=s===0,u=a?rt(0):xt(o,n.groupOriginByCopy,null);let c=u;if(!a){const f=vt(Qr(o,h=>h.type==="Group"&&!!h.flags)),l=f?de(n.globalFlags,f):n.globalFlags;Xr(l,n.currentFlags)||(c=U({flags:qr(l)}),c.body[0].body.push(u))}r(k(c,t),{traverse:!a})}},jr={Backreference({node:e,parent:t,replaceWith:r},n){if(e.orphan){n.highestOrphanBackref=Math.max(n.highestOrphanBackref,e.ref);return}const s=n.reffedNodesByReferencer.get(e).filter(o=>Zr(o,e));if(!s.length)r(k(X({negate:!0}),t));else if(s.length>1){const o=U({atomic:!0,body:s.reverse().map(a=>Q({body:[Se(a.number)]}))});r(k(o,t))}else e.ref=s[0].number},CapturingGroup({node:e},t){e.number=++t.numCapturesToLeft,e.name&&t.groupsByName.get(e.name).get(e).hasDuplicateNameToRemove&&delete e.name},Regex:{exit({node:e},t){const r=Math.max(t.highestOrphanBackref-t.numCapturesToLeft,0);for(let n=0;n<r;n++){const i=ht();e.body.at(-1).body.push(i)}}},Subroutine({node:e},t){!e.isRecursive||e.ref===0||(e.ref=t.reffedNodesByReferencer.get(e).number)}};function kt(e){se(e,{"*"({node:t,parent:r}){t.parent=r}})}function Xr(e,t){return e.dotAll===t.dotAll&&e.ignoreCase===t.ignoreCase}function Zr(e,t){let r=t;do{if(r.type==="Regex")return!1;if(r.type==="Alternative")continue;if(r===e)return!1;const n=$t(r.parent);for(const i of n){if(i===r)break;if(i===e||St(i,e))return!0}}while(r=r.parent);throw new Error("Unexpected path")}function xt(e,t,r,n){const i=Array.isArray(e)?[]:{};for(const[s,o]of Object.entries(e))s==="parent"?i.parent=Array.isArray(r)?n:r:o&&typeof o=="object"?i[s]=xt(o,t,i,r):(s==="type"&&o==="CapturingGroup"&&t.set(i,t.get(e)??e),i[s]=o);return i}function rt(e){const t=mt(e);return t.isRecursive=!0,t}function Qr(e,t){const r=[];for(;e=e.parent;)(!t||t(e))&&r.push(e);return r}function ke(e,t){if(t.has(e))return t.get(e);const r=`$${t.size}_${e.replace(/^[^$_\p{IDS}]|[^$\u200C\u200D\p{IDC}]/ug,"_")}`;return t.set(e,r),r}function vt(e){const t=["dotAll","ignoreCase"],r={enable:{},disable:{}};return e.forEach(({flags:n})=>{t.forEach(i=>{n.enable?.[i]&&(delete r.disable[i],r.enable[i]=!0),n.disable?.[i]&&(r.disable[i]=!0)})}),Object.keys(r.enable).length||delete r.enable,Object.keys(r.disable).length||delete r.disable,r.enable||r.disable?r:null}function qr({dotAll:e,ignoreCase:t}){const r={};return(e||t)&&(r.enable={},e&&(r.enable.dotAll=!0),t&&(r.enable.ignoreCase=!0)),(!e||!t)&&(r.disable={},!e&&(r.disable.dotAll=!0),!t&&(r.disable.ignoreCase=!0)),r}function $t(e){if(!e)throw new Error("Node expected");const{body:t}=e;return Array.isArray(t)?t:t?[t]:null}function It(e){const t=e.find(r=>r.kind==="search_start"||Yr(r,{negate:!1})||!Jr(r));if(!t)return null;if(t.kind==="search_start")return t;if(t.type==="LookaroundAssertion")return t.body[0].body[0];if(t.type==="CapturingGroup"||t.type==="Group"){const r=[];for(const n of t.body){const i=It(n.body);if(!i)return null;Array.isArray(i)?r.push(...i):r.push(i)}return r}return null}function St(e,t){const r=$t(e)??[];for(const n of r)if(n===t||St(n,t))return!0;return!1}function Jr({type:e}){return e==="Assertion"||e==="Directive"||e==="LookaroundAssertion"}function Kr(e){const t=["Character","CharacterClass","CharacterSet"];return t.includes(e.type)||e.type==="Quantifier"&&e.min&&t.includes(e.body.type)}function Yr(e,t){const r={negate:null,...t};return e.type==="LookaroundAssertion"&&(r.negate===null||e.negate===r.negate)&&e.body.length===1&&pt(e.body[0],{type:"Assertion",kind:"search_start"})}function xe(e){return/^[$_\p{IDS}][$\u200C\u200D\p{IDC}]*$/u.test(e)}function G(e,t){const n=dt(e,{...t,unicodePropertyMap:Ue}).body;return n.length>1||n[0].body.length>1?U({body:n}):n[0].body[0]}function ve(e,t){return e.negate=t,e}function z(e,t){return e.parent=t,e}function k(e,t){return kt(e),e.parent=t,e}function en(e,t){const r=Ct(t),n=Te(r.target,"ES2024"),i=Te(r.target,"ES2025"),s=r.rules.recursionLimit;if(!Number.isInteger(s)||s<2||s>20)throw new Error("Invalid recursionLimit; use 2-20");let o=null,a=null;if(!i){const d=[e.flags.ignoreCase];se(e,tn,{getCurrentModI:()=>d.at(-1),popModI(){d.pop()},pushModI(p){d.push(p)},setHasCasedChar(){d.at(-1)?o=!0:a=!0}})}const u={dotAll:e.flags.dotAll,ignoreCase:!!((e.flags.ignoreCase||o)&&!a)};let c=e;const f={accuracy:r.accuracy,appliedGlobalFlags:u,captureMap:new Map,currentFlags:{dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},inCharClass:!1,lastNode:c,originMap:e._originMap,recursionLimit:s,useAppliedIgnoreCase:!!(!i&&o&&a),useFlagMods:i,useFlagV:n,verbose:r.verbose};function l(d){return f.lastNode=c,c=d,Mr(rn[d.type],`Unexpected node type "${d.type}"`)(d,f,l)}const h={pattern:e.body.map(l).join("|"),flags:l(e.flags),options:{...e.options}};return n||(delete h.options.force.v,h.options.disable.v=!0,h.options.unicodeSetsPlugin=null),h._captureTransfers=new Map,h._hiddenCaptures=[],f.captureMap.forEach((d,p)=>{d.hidden&&h._hiddenCaptures.push(p),d.transferTo&&ie(h._captureTransfers,d.transferTo,[]).push(p)}),h}var tn={"*":{enter({node:e},t){if(st(e)){const r=t.getCurrentModI();t.pushModI(e.flags?de({ignoreCase:r},e.flags).ignoreCase:r)}},exit({node:e},t){st(e)&&t.popModI()}},Backreference(e,t){t.setHasCasedChar()},Character({node:e},t){De(v(e.value))&&t.setHasCasedChar()},CharacterClassRange({node:e,skip:t},r){t(),Lt(e,{firstOnly:!0}).length&&r.setHasCasedChar()},CharacterSet({node:e},t){e.kind==="property"&&At.has(e.value)&&t.setHasCasedChar()}},rn={Alternative({body:e},t,r){return e.map(r).join("")},Assertion({kind:e,negate:t}){if(e==="string_end")return"$";if(e==="string_start")return"^";if(e==="word_boundary")return t?w`\B`:w`\b`;throw new Error(`Unexpected assertion kind "${e}"`)},Backreference({ref:e},t){if(typeof e!="number")throw new Error("Unexpected named backref in transformed AST");if(!t.useFlagMods&&t.accuracy==="strict"&&t.currentFlags.ignoreCase&&!t.captureMap.get(e).ignoreCase)throw new Error("Use of case-insensitive backref to case-sensitive group requires target ES2025 or non-strict accuracy");return"\\"+e},CapturingGroup(e,t,r){const{body:n,name:i,number:s}=e,o={ignoreCase:t.currentFlags.ignoreCase},a=t.originMap.get(e);return a&&(o.hidden=!0,s>a.number&&(o.transferTo=a.number)),t.captureMap.set(s,o),`(${i?`?<${i}>`:""}${n.map(r).join("|")})`},Character({value:e},t){const r=v(e),n=K(e,{escDigit:t.lastNode.type==="Backreference",inCharClass:t.inCharClass,useFlagV:t.useFlagV});if(n!==r)return n;if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase&&De(r)){const i=Et(r);return t.inCharClass?i.join(""):i.length>1?`[${i.join("")}]`:i[0]}return r},CharacterClass(e,t,r){const{kind:n,negate:i,parent:s}=e;let{body:o}=e;if(n==="intersection"&&!t.useFlagV)throw new Error("Use of character class intersection requires min target ES2024");B.bugFlagVLiteralHyphenIsRange&&t.useFlagV&&o.some(it)&&(o=[he(45),...o.filter(c=>!it(c))]);const a=()=>`[${i?"^":""}${o.map(r).join(n==="intersection"?"&&":"")}]`;if(!t.inCharClass){if((!t.useFlagV||B.bugNestedClassIgnoresNegation)&&!i){const f=o.filter(l=>l.type==="CharacterClass"&&l.kind==="union"&&l.negate);if(f.length){const l=U(),h=l.body[0];return l.parent=s,h.parent=l,o=o.filter(d=>!f.includes(d)),e.body=o,o.length?(e.parent=h,h.body.push(e)):l.body.pop(),f.forEach(d=>{const p=Q({body:[d]});d.parent=p,p.parent=l,l.body.push(p)}),r(l)}}t.inCharClass=!0;const c=a();return t.inCharClass=!1,c}const u=o[0];if(n==="union"&&!i&&u&&((!t.useFlagV||!t.verbose)&&s.kind==="union"&&!(B.bugFlagVLiteralHyphenIsRange&&t.useFlagV)||!t.verbose&&s.kind==="intersection"&&o.length===1&&u.type!=="CharacterClassRange"))return o.map(r).join("");if(!t.useFlagV&&s.type==="CharacterClass")throw new Error("Uses nested character class in a way that requires min target ES2024");return a()},CharacterClassRange(e,t){const r=e.min.value,n=e.max.value,i={escDigit:!1,inCharClass:!0,useFlagV:t.useFlagV},s=K(r,i),o=K(n,i),a=new Set;if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase){const u=Lt(e);un(u).forEach(f=>{a.add(Array.isArray(f)?`${K(f[0],i)}-${K(f[1],i)}`:K(f,i))})}return`${s}-${o}${[...a].join("")}`},CharacterSet({kind:e,negate:t,value:r,key:n},i){if(e==="dot")return i.currentFlags.dotAll?i.appliedGlobalFlags.dotAll||i.useFlagMods?".":"[^]":w`[^\n]`;if(e==="digit")return t?w`\D`:w`\d`;if(e==="property"){if(i.useAppliedIgnoreCase&&i.currentFlags.ignoreCase&&At.has(r))throw new Error(`Unicode property "${r}" can't be case-insensitive when other chars have specific case`);return`${t?w`\P`:w`\p`}{${n?`${n}=`:""}${r}}`}if(e==="word")return t?w`\W`:w`\w`;throw new Error(`Unexpected character set kind "${e}"`)},Flags(e,t){return(t.appliedGlobalFlags.ignoreCase?"i":"")+(e.dotAll?"s":"")+(e.sticky?"y":"")},Group({atomic:e,body:t,flags:r,parent:n},i,s){const o=i.currentFlags;r&&(i.currentFlags=de(o,r));const a=t.map(s).join("|"),u=!i.verbose&&t.length===1&&n.type!=="Quantifier"&&!e&&(!i.useFlagMods||!r)?a:`(?${cn(e,r,i.useFlagMods)}${a})`;return i.currentFlags=o,u},LookaroundAssertion({body:e,kind:t,negate:r},n,i){return`(?${`${t==="lookahead"?"":"<"}${r?"!":"="}`}${e.map(i).join("|")})`},Quantifier(e,t,r){return r(e.body)+ln(e)},Subroutine({isRecursive:e,ref:t},r){if(!e)throw new Error("Unexpected non-recursive subroutine in transformed AST");const n=r.recursionLimit;return t===0?`(?R=${n})`:w`\g<${t}&R=${n}>`}},nn=new Set(["$","(",")","*","+",".","?","[","\\","]","^","{","|","}"]),sn=new Set(["-","\\","]","^","["]),on=new Set(["(",")","-","/","[","\\","]","^","{","|","}","!","#","$","%","&","*","+",",",".",":",";","<","=",">","?","@","`","~"]),nt=new Map([[9,w`\t`],[10,w`\n`],[11,w`\v`],[12,w`\f`],[13,w`\r`],[8232,w`\u2028`],[8233,w`\u2029`],[65279,w`\uFEFF`]]),an=new RegExp("^\\p{Cased}$","u");function De(e){return an.test(e)}function Lt(e,t){const r=!!t?.firstOnly,n=e.min.value,i=e.max.value,s=[];if(n<65&&(i===65535||i>=131071)||n===65536&&i>=131071)return s;for(let o=n;o<=i;o++){const a=v(o);if(!De(a))continue;const u=Et(a).filter(c=>{const f=c.codePointAt(0);return f<n||f>i});if(u.length&&(s.push(...u),r))break}return s}function K(e,{escDigit:t,inCharClass:r,useFlagV:n}){if(nt.has(e))return nt.get(e);if(e<32||e>126&&e<160||e>262143||t&&fn(e))return e>255?`\\u{${e.toString(16).toUpperCase()}}`:`\\x${e.toString(16).toUpperCase().padStart(2,"0")}`;const i=r?n?on:sn:nn,s=v(e);return(i.has(s)?"\\":"")+s}function un(e){const t=e.map(i=>i.codePointAt(0)).sort((i,s)=>i-s),r=[];let n=null;for(let i=0;i<t.length;i++)t[i+1]===t[i]+1?n??=t[i]:n===null?r.push(t[i]):(r.push([n,t[i]]),n=null);return r}function cn(e,t,r){if(e)return">";let n="";if(t&&r){const{enable:i,disable:s}=t;n=(i?.ignoreCase?"i":"")+(i?.dotAll?"s":"")+(s?"-":"")+(s?.ignoreCase?"i":"")+(s?.dotAll?"s":"")}return`${n}:`}function ln({kind:e,max:t,min:r}){let n;return!r&&t===1?n="?":!r&&t===1/0?n="*":r===1&&t===1/0?n="+":r===t?n=`{${r}}`:n=`{${r},${t===1/0?"":t}}`,n+{greedy:"",lazy:"?",possessive:"+"}[e]}function st({type:e}){return e==="CapturingGroup"||e==="Group"||e==="LookaroundAssertion"}function fn(e){return e>47&&e<58}function it({type:e,value:t}){return e==="Character"&&t===45}var pn=class Oe extends RegExp{#t=new Map;#e=null;#n;#r=null;#s=null;rawOptions={};get source(){return this.#n||"(?:)"}constructor(t,r,n){const i=!!n?.lazyCompile;if(t instanceof RegExp){if(n)throw new Error("Cannot provide options when copying a regexp");const s=t;super(s,r),this.#n=s.source,s instanceof Oe&&(this.#t=s.#t,this.#r=s.#r,this.#s=s.#s,this.rawOptions=s.rawOptions)}else{const s={hiddenCaptures:[],strategy:null,transfers:[],...n};super(i?"":t,r),this.#n=t,this.#t=hn(s.hiddenCaptures,s.transfers),this.#s=s.strategy,this.rawOptions=n??{}}i||(this.#e=this)}exec(t){if(!this.#e){const{lazyCompile:i,...s}=this.rawOptions;this.#e=new Oe(this.#n,this.flags,s)}const r=this.global||this.sticky,n=this.lastIndex;if(this.#s==="clip_search"&&r&&n){this.lastIndex=0;const i=this.#i(t.slice(n));return i&&(dn(i,n,t,this.hasIndices),this.lastIndex+=n),i}return this.#i(t)}#i(t){this.#e.lastIndex=this.lastIndex;const r=super.exec.call(this.#e,t);if(this.lastIndex=this.#e.lastIndex,!r||!this.#t.size)return r;const n=[...r];r.length=1;let i;this.hasIndices&&(i=[...r.indices],r.indices.length=1);const s=[0];for(let o=1;o<n.length;o++){const{hidden:a,transferTo:u}=this.#t.get(o)??{};if(a?s.push(null):(s.push(r.length),r.push(n[o]),this.hasIndices&&r.indices.push(i[o])),u&&n[o]!==void 0){const c=s[u];if(!c)throw new Error(`Invalid capture transfer to "${c}"`);if(r[c]=n[o],this.hasIndices&&(r.indices[c]=i[o]),r.groups){this.#r||(this.#r=gn(this.source));const f=this.#r.get(u);f&&(r.groups[f]=n[o],this.hasIndices&&(r.indices.groups[f]=i[o]))}}}return r}};function dn(e,t,r,n){if(e.index+=t,e.input=r,n){const i=e.indices;for(let o=0;o<i.length;o++){const a=i[o];a&&(i[o]=[a[0]+t,a[1]+t])}const s=i.groups;s&&Object.keys(s).forEach(o=>{const a=s[o];a&&(s[o]=[a[0]+t,a[1]+t])})}}function hn(e,t){const r=new Map;for(const n of e)r.set(n,{hidden:!0});for(const[n,i]of t)for(const s of i)ie(r,s,{}).transferTo=n;return r}function gn(e){const t=/(?<capture>\((?:\?<(?![=!])(?<name>[^>]+)>|(?!\?)))|\\?./gsu,r=new Map;let n=0,i=0,s;for(;s=t.exec(e);){const{0:o,groups:{capture:a,name:u}}=s;o==="["?n++:n?o==="]"&&n--:a&&(i++,u&&r.set(i,u))}return r}function mn(e,t){const r=wn(e,t);return r.options?new pn(r.pattern,r.flags,r.options):new RegExp(r.pattern,r.flags)}function wn(e,t){const r=Ct(t),n=dt(e,{flags:r.flags,normalizeUnknownPropertyNames:!0,rules:{captureGroup:r.rules.captureGroup,singleline:r.rules.singleline},skipBackrefValidation:r.rules.allowOrphanBackrefs,unicodePropertyMap:Ue}),i=Hr(n,{accuracy:r.accuracy,asciiWordBoundaries:r.rules.asciiWordBoundaries,avoidSubclass:r.avoidSubclass,bestEffortTarget:r.target}),s=en(i,r),o=Tr(s.pattern,{captureTransfers:s._captureTransfers,hiddenCaptures:s._hiddenCaptures,mode:"external"}),a=Lr(o.pattern),u=Sr(a.pattern,{captureTransfers:o.captureTransfers,hiddenCaptures:o.hiddenCaptures}),c={pattern:u.pattern,flags:`${r.hasIndices?"d":""}${r.global?"g":""}${s.flags}${s.options.disable.v?"u":"v"}`};if(r.avoidSubclass){if(r.lazyCompileLength!==1/0)throw new Error("Lazy compilation requires subclass")}else{const f=u.hiddenCaptures.sort((p,m)=>p-m),l=Array.from(u.captureTransfers),h=i._strategy,d=c.pattern.length>=r.lazyCompileLength;(f.length||l.length||h||d)&&(c.options={...f.length&&{hiddenCaptures:f},...l.length&&{transfers:l},...h&&{strategy:h},...d&&{lazyCompile:d}})}return c}const ot=4294967295;class yn{constructor(t,r={}){this.patterns=t,this.options=r;const{forgiving:n=!1,cache:i,regexConstructor:s}=r;if(!s)throw new Error("Option `regexConstructor` is not provided");this.regexps=t.map(o=>{if(typeof o!="string")return o;const a=i?.get(o);if(a){if(a instanceof RegExp)return a;if(n)return null;throw a}try{const u=s(o);return i?.set(o,u),u}catch(u){if(i?.set(o,u),n)return null;throw u}})}regexps;findNextMatchSync(t,r,n){const i=typeof t=="string"?t:t.content,s=[];function o(a,u,c=0){return{index:a,captureIndices:u.indices.map(f=>f==null?{start:ot,end:ot,length:0}:{start:f[0]+c,end:f[1]+c,length:f[1]-f[0]})}}for(let a=0;a<this.regexps.length;a++){const u=this.regexps[a];if(u)try{u.lastIndex=r;const c=u.exec(i);if(!c)continue;if(c.index===r)return o(a,c,0);s.push([a,c,0])}catch(c){if(this.options.forgiving)continue;throw c}}if(s.length){const a=Math.min(...s.map(u=>u[1].index));for(const[u,c,f]of s)if(c.index===a)return o(u,c,f)}return null}}function _n(e,t){return mn(e,{global:!0,hasIndices:!0,lazyCompileLength:3e3,rules:{allowOrphanBackrefs:!0,asciiWordBoundaries:!0,captureGroup:!0,recursionLimit:5,singleline:!0},...t})}function bn(e={}){const t=Object.assign({target:"auto",cache:new Map},e);return t.regexConstructor||=r=>_n(r,{target:t.target}),{createScanner(r){return new yn(r,t)},createString(r){return{content:r}}}}class Fe extends Error{constructor(t){super(t),this.name="ShikiError"}}function Cn(){return 2147483648}function En(){return typeof performance<"u"?performance.now():Date.now()}const An=(e,t)=>e+(t-e%t)%t;async function kn(e){let t,r;const n={};function i(d){r=d,n.HEAPU8=new Uint8Array(d),n.HEAPU32=new Uint32Array(d)}function s(d,p,m){n.HEAPU8.copyWithin(d,p,p+m)}function o(d){try{return t.grow(d-r.byteLength+65535>>>16),i(t.buffer),1}catch{}}function a(d){const p=n.HEAPU8.length;d=d>>>0;const m=Cn();if(d>m)return!1;for(let _=1;_<=4;_*=2){let y=p*(1+.2/_);y=Math.min(y,d+100663296);const E=Math.min(m,An(Math.max(d,y),65536));if(o(E))return!0}return!1}const u=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function c(d,p,m=1024){const _=p+m;let y=p;for(;d[y]&&!(y>=_);)++y;if(y-p>16&&d.buffer&&u)return u.decode(d.subarray(p,y));let E="";for(;p<y;){let C=d[p++];if(!(C&128)){E+=String.fromCharCode(C);continue}const A=d[p++]&63;if((C&224)===192){E+=String.fromCharCode((C&31)<<6|A);continue}const x=d[p++]&63;if((C&240)===224?C=(C&15)<<12|A<<6|x:C=(C&7)<<18|A<<12|x<<6|d[p++]&63,C<65536)E+=String.fromCharCode(C);else{const L=C-65536;E+=String.fromCharCode(55296|L>>10,56320|L&1023)}}return E}function f(d,p){return d?c(n.HEAPU8,d,p):""}const l={emscripten_get_now:En,emscripten_memcpy_big:s,emscripten_resize_heap:a,fd_write:()=>0};async function h(){const p=await e({env:l,wasi_snapshot_preview1:l});t=p.memory,i(t.buffer),Object.assign(n,p),n.UTF8ToString=f}return await h(),n}var xn=Object.defineProperty,vn=(e,t,r)=>t in e?xn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,$=(e,t,r)=>vn(e,typeof t!="symbol"?t+"":t,r);let I=null;function $n(e){throw new Fe(e.UTF8ToString(e.getLastOnigError()))}class we{constructor(t){$(this,"utf16Length"),$(this,"utf8Length"),$(this,"utf16Value"),$(this,"utf8Value"),$(this,"utf16OffsetToUtf8"),$(this,"utf8OffsetToUtf16");const r=t.length,n=we._utf8ByteLength(t),i=n!==r,s=i?new Uint32Array(r+1):null;i&&(s[r]=n);const o=i?new Uint32Array(n+1):null;i&&(o[n]=r);const a=new Uint8Array(n);let u=0;for(let c=0;c<r;c++){const f=t.charCodeAt(c);let l=f,h=!1;if(f>=55296&&f<=56319&&c+1<r){const d=t.charCodeAt(c+1);d>=56320&&d<=57343&&(l=(f-55296<<10)+65536|d-56320,h=!0)}i&&(s[c]=u,h&&(s[c+1]=u),l<=127?o[u+0]=c:l<=2047?(o[u+0]=c,o[u+1]=c):l<=65535?(o[u+0]=c,o[u+1]=c,o[u+2]=c):(o[u+0]=c,o[u+1]=c,o[u+2]=c,o[u+3]=c)),l<=127?a[u++]=l:l<=2047?(a[u++]=192|(l&1984)>>>6,a[u++]=128|(l&63)>>>0):l<=65535?(a[u++]=224|(l&61440)>>>12,a[u++]=128|(l&4032)>>>6,a[u++]=128|(l&63)>>>0):(a[u++]=240|(l&1835008)>>>18,a[u++]=128|(l&258048)>>>12,a[u++]=128|(l&4032)>>>6,a[u++]=128|(l&63)>>>0),h&&c++}this.utf16Length=r,this.utf8Length=n,this.utf16Value=t,this.utf8Value=a,this.utf16OffsetToUtf8=s,this.utf8OffsetToUtf16=o}static _utf8ByteLength(t){let r=0;for(let n=0,i=t.length;n<i;n++){const s=t.charCodeAt(n);let o=s,a=!1;if(s>=55296&&s<=56319&&n+1<i){const u=t.charCodeAt(n+1);u>=56320&&u<=57343&&(o=(s-55296<<10)+65536|u-56320,a=!0)}o<=127?r+=1:o<=2047?r+=2:o<=65535?r+=3:r+=4,a&&n++}return r}createString(t){const r=t.omalloc(this.utf8Length);return t.HEAPU8.set(this.utf8Value,r),r}}const ye=class D{constructor(t){if($(this,"id",++D.LAST_ID),$(this,"_onigBinding"),$(this,"content"),$(this,"utf16Length"),$(this,"utf8Length"),$(this,"utf16OffsetToUtf8"),$(this,"utf8OffsetToUtf16"),$(this,"ptr"),!I)throw new Fe("Must invoke loadWasm first.");this._onigBinding=I,this.content=t;const r=new we(t);this.utf16Length=r.utf16Length,this.utf8Length=r.utf8Length,this.utf16OffsetToUtf8=r.utf16OffsetToUtf8,this.utf8OffsetToUtf16=r.utf8OffsetToUtf16,this.utf8Length<1e4&&!D._sharedPtrInUse?(D._sharedPtr||(D._sharedPtr=I.omalloc(1e4)),D._sharedPtrInUse=!0,I.HEAPU8.set(r.utf8Value,D._sharedPtr),this.ptr=D._sharedPtr):this.ptr=r.createString(I)}convertUtf8OffsetToUtf16(t){return this.utf8OffsetToUtf16?t<0?0:t>this.utf8Length?this.utf16Length:this.utf8OffsetToUtf16[t]:t}convertUtf16OffsetToUtf8(t){return this.utf16OffsetToUtf8?t<0?0:t>this.utf16Length?this.utf8Length:this.utf16OffsetToUtf8[t]:t}dispose(){this.ptr===D._sharedPtr?D._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};$(ye,"LAST_ID",0);$(ye,"_sharedPtr",0);$(ye,"_sharedPtrInUse",!1);let Pt=ye;class In{constructor(t){if($(this,"_onigBinding"),$(this,"_ptr"),!I)throw new Fe("Must invoke loadWasm first.");const r=[],n=[];for(let a=0,u=t.length;a<u;a++){const c=new we(t[a]);r[a]=c.createString(I),n[a]=c.utf8Length}const i=I.omalloc(4*t.length);I.HEAPU32.set(r,i/4);const s=I.omalloc(4*t.length);I.HEAPU32.set(n,s/4);const o=I.createOnigScanner(i,s,t.length);for(let a=0,u=t.length;a<u;a++)I.ofree(r[a]);I.ofree(s),I.ofree(i),o===0&&$n(I),this._onigBinding=I,this._ptr=o}dispose(){this._onigBinding.freeOnigScanner(this._ptr)}findNextMatchSync(t,r,n){let i=0;if(typeof n=="number"&&(i=n),typeof t=="string"){t=new Pt(t);const s=this._findNextMatchSync(t,r,!1,i);return t.dispose(),s}return this._findNextMatchSync(t,r,!1,i)}_findNextMatchSync(t,r,n,i){const s=this._onigBinding,o=s.findNextOnigScannerMatch(this._ptr,t.id,t.ptr,t.utf8Length,t.convertUtf16OffsetToUtf8(r),i);if(o===0)return null;const a=s.HEAPU32;let u=o/4;const c=a[u++],f=a[u++],l=[];for(let h=0;h<f;h++){const d=t.convertUtf8OffsetToUtf16(a[u++]),p=t.convertUtf8OffsetToUtf16(a[u++]);l[h]={start:d,end:p,length:p-d}}return{index:c,captureIndices:l}}}function Sn(e){return typeof e.instantiator=="function"}function Ln(e){return typeof e.default=="function"}function Pn(e){return typeof e.data<"u"}function Tn(e){return typeof Response<"u"&&e instanceof Response}function On(e){return typeof ArrayBuffer<"u"&&(e instanceof ArrayBuffer||ArrayBuffer.isView(e))||typeof Buffer<"u"&&Buffer.isBuffer?.(e)||typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer||typeof Uint32Array<"u"&&e instanceof Uint32Array}let fe;function Mn(e){if(fe)return fe;async function t(){I=await kn(async r=>{let n=e;return n=await n,typeof n=="function"&&(n=await n(r)),typeof n=="function"&&(n=await n(r)),Sn(n)?n=await n.instantiator(r):Ln(n)?n=await n.default(r):(Pn(n)&&(n=n.data),Tn(n)?typeof WebAssembly.instantiateStreaming=="function"?n=await Rn(n)(r):n=await Nn(n)(r):On(n)?n=await $e(n)(r):n instanceof WebAssembly.Module?n=await $e(n)(r):"default"in n&&n.default instanceof WebAssembly.Module&&(n=await $e(n.default)(r))),"instance"in n&&(n=n.instance),"exports"in n&&(n=n.exports),n})}return fe=t(),fe}function $e(e){return t=>WebAssembly.instantiate(e,t)}function Rn(e){return t=>WebAssembly.instantiateStreaming(e,t)}function Nn(e){return async t=>{const r=await e.arrayBuffer();return WebAssembly.instantiate(r,t)}}async function Un(e){return e&&await Mn(e),{createScanner(t){return new In(t.map(r=>typeof r=="string"?r:r.source))},createString(t){return new Pt(t)}}}function Dn({langs:e=[],themes:t=[],bundledLangs:r={},bundledThemes:n={},getMdcConfigs:i,options:s,engine:o}={}){let a,u;async function c(){const{createHighlighterCore:d,addClassToHast:p,isSpecialLang:m,isSpecialTheme:_}=await g(async()=>{const{createHighlighterCore:L,addClassToHast:T,isSpecialLang:M,isSpecialTheme:H}=await import("./CDKJK4wW.js");return{createHighlighterCore:L,addClassToHast:T,isSpecialLang:M,isSpecialTheme:H}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]),import.meta.url),{transformerNotationDiff:y,transformerNotationErrorLevel:E,transformerNotationFocus:C,transformerNotationHighlight:A}=await g(async()=>{const{transformerNotationDiff:L,transformerNotationErrorLevel:T,transformerNotationFocus:M,transformerNotationHighlight:H}=await import("./B5xTLW1Q.js");return{transformerNotationDiff:L,transformerNotationErrorLevel:T,transformerNotationFocus:M,transformerNotationHighlight:H}},[],import.meta.url),x=await d({langs:e,themes:t,engine:o||bn()});for await(const L of await l())await L.shiki?.setup?.(x);return{shiki:x,addClassToHast:p,isSpecialLang:m,isSpecialTheme:_,transformers:[y(),E(),C(),A()]}}async function f(){return a||(a=c()),a}async function l(){return u||(u=Promise.resolve(i?.()||[])),u}return async(d,p,m,_={})=>{const{shiki:y,addClassToHast:E,isSpecialLang:C,isSpecialTheme:A,transformers:x}=await f(),L={defaultColor:!1,meta:{__raw:_.meta}};p==="ts-type"||p==="typescript-type"?(p="typescript",L.grammarContextCode="let a:"):(p==="vue-html"||p==="vue-template")&&(p="vue",L.grammarContextCode="<template>");const T={...typeof m=="string"?{default:m}:m||{}},M=y.getLoadedThemes(),H=y.getLoadedLanguages();typeof p=="string"&&!H.includes(p)&&!C(p)&&(r[p]?await y.loadLanguage(r[p]):p="text");for(const[b,P]of Object.entries(T))typeof P=="string"&&!M.includes(P)&&!A(P)&&(n[P]?await y.loadTheme(n[P]):T[b]="none");const ne=new Map;for(const b of x)ne.set(b.name||`transformer:${Math.random()}-${b.constructor.name}`,b);for(const b of await l()){const P=typeof b.shiki?.transformers=="function"?await b.shiki?.transformers(d,p,m,_):b.shiki?.transformers||[];for(const q of P)ne.set(q.name||`transformer:${Math.random()}-${q.constructor.name}`,q)}const O=y.codeToHast(d.trimEnd(),{lang:p,...L,themes:T,transformers:[...ne.values(),{name:"mdc:highlight",line(b,P){_.highlights?.includes(P)&&E(b,"highlight"),b.properties.line=P}},{name:"mdc:newline",line(b){if(d?.includes(`
142
+ \v\f…\u2028\u2029])`),t));else if(u==="posix")if(!i&&(f==="graph"||f==="print")){if(n==="strict")throw new Error(`POSIX class "${f}" requires min target ES2024 or non-strict accuracy`);let l={graph:"!-~",print:" -~"}[f];c&&(l=`\0-${v(l.codePointAt(0)-1)}${v(l.codePointAt(2)+1)}-􏿿`),r(k(G(`[${l}]`),t))}else r(k(ve(G(Vr.get(f)),c),t));else if(u==="property")Ue.has(ge(f))||(e.key="sc");else if(u==="space")r(z(ee("space",{negate:c}),t));else if(u==="word")r(k(ve(G(F),c),t));else throw new Error(`Unexpected character set kind "${u}"`)},Directive({node:e,parent:t,root:r,remove:n,replaceWith:i,removeAllPrevSiblings:s,removeAllNextSiblings:o}){const{kind:a,flags:u}=e;if(a==="flags")if(!u.enable&&!u.disable)n();else{const c=U({flags:u});c.body[0].body=o(),i(k(c,t),{traverse:!0})}else if(a==="keep"){const c=r.body[0],l=r.body.length===1&&pt(c,{type:"Group"})&&c.body[0].body.length===1?c.body[0]:r;if(t.parent!==l||l.body.length>1)throw new Error(w`Uses "\K" in a way that's unsupported`);const h=X({behind:!0});h.body[0].body=s(),i(k(h,t))}else throw new Error(`Unexpected directive kind "${a}"`)},Flags({node:e,parent:t}){if(e.posixIsAscii)throw new Error('Unsupported flag "P"');if(e.textSegmentMode==="word")throw new Error('Unsupported flag "y{w}"');["digitIsAscii","extended","posixIsAscii","spaceIsAscii","wordIsAscii","textSegmentMode"].forEach(r=>delete e[r]),Object.assign(e,{global:!1,hasIndices:!1,multiline:!1,sticky:e.sticky??!1}),t.options={disable:{x:!0,n:!0},force:{v:!0}}},Group({node:e}){if(!e.flags)return;const{enable:t,disable:r}=e.flags;t?.extended&&delete t.extended,r?.extended&&delete r.extended,t?.dotAll&&r?.dotAll&&delete t.dotAll,t?.ignoreCase&&r?.ignoreCase&&delete t.ignoreCase,t&&!Object.keys(t).length&&delete e.flags.enable,r&&!Object.keys(r).length&&delete e.flags.disable,!e.flags.enable&&!e.flags.disable&&delete e.flags},LookaroundAssertion({node:e},t){const{kind:r}=e;r==="lookbehind"&&(t.passedLookbehind=!0)},NamedCallout({node:e,parent:t,replaceWith:r}){const{kind:n}=e;if(n==="fail")r(k(X({negate:!0}),t));else throw new Error(`Unsupported named callout "(*${n.toUpperCase()}"`)},Quantifier({node:e}){if(e.body.type==="Quantifier"){const t=U();t.body[0].body.push(e.body),e.body=k(t,e)}},Regex:{enter({node:e},{supportedGNodes:t}){const r=[];let n=!1,i=!1;for(const s of e.body)if(s.body.length===1&&s.body[0].kind==="search_start")s.body.pop();else{const o=It(s.body);o?(n=!0,Array.isArray(o)?r.push(...o):r.push(o)):i=!0}n&&!i&&r.forEach(s=>t.add(s))},exit(e,{accuracy:t,passedLookbehind:r,strategy:n}){if(t==="strict"&&r&&n)throw new Error(w`Uses "\G" in a way that requires non-strict accuracy`)}},Subroutine({node:e},{jsGroupNameMap:t}){let{ref:r}=e;typeof r=="string"&&!xe(r)&&(r=ke(r,t),e.ref=r)}},zr={Backreference({node:e},{multiplexCapturesToLeftByRef:t,reffedNodesByReferencer:r}){const{orphan:n,ref:i}=e;n||r.set(e,[...t.get(i).map(({node:s})=>s)])},CapturingGroup:{enter({node:e,parent:t,replaceWith:r,skip:n},{groupOriginByCopy:i,groupsByName:s,multiplexCapturesToLeftByRef:o,openRefs:a,reffedNodesByReferencer:u}){const c=i.get(e);if(c&&a.has(e.number)){const l=z(rt(e.number),t);u.set(l,a.get(e.number)),r(l);return}a.set(e.number,e),o.set(e.number,[]),e.name&&ie(o,e.name,[]);const f=o.get(e.name??e.number);for(let l=0;l<f.length;l++){const h=f[l];if(c===h.node||c&&c===h.origin||e===h.origin){f.splice(l,1);break}}if(o.get(e.number).push({node:e,origin:c}),e.name&&o.get(e.name).push({node:e,origin:c}),e.name){const l=ie(s,e.name,new Map);let h=!1;if(c)h=!0;else for(const d of l.values())if(!d.hasDuplicateNameToRemove){h=!0;break}s.get(e.name).set(e,{node:e,hasDuplicateNameToRemove:h})}},exit({node:e},{openRefs:t}){t.delete(e.number)}},Group:{enter({node:e},t){t.prevFlags=t.currentFlags,e.flags&&(t.currentFlags=de(t.currentFlags,e.flags))},exit(e,t){t.currentFlags=t.prevFlags}},Subroutine({node:e,parent:t,replaceWith:r},n){const{isRecursive:i,ref:s}=e;if(i){let f=t;for(;(f=f.parent)&&!(f.type==="CapturingGroup"&&(f.name===s||f.number===s)););n.reffedNodesByReferencer.set(e,f);return}const o=n.subroutineRefMap.get(s),a=s===0,u=a?rt(0):xt(o,n.groupOriginByCopy,null);let c=u;if(!a){const f=vt(Qr(o,h=>h.type==="Group"&&!!h.flags)),l=f?de(n.globalFlags,f):n.globalFlags;Xr(l,n.currentFlags)||(c=U({flags:qr(l)}),c.body[0].body.push(u))}r(k(c,t),{traverse:!a})}},jr={Backreference({node:e,parent:t,replaceWith:r},n){if(e.orphan){n.highestOrphanBackref=Math.max(n.highestOrphanBackref,e.ref);return}const s=n.reffedNodesByReferencer.get(e).filter(o=>Zr(o,e));if(!s.length)r(k(X({negate:!0}),t));else if(s.length>1){const o=U({atomic:!0,body:s.reverse().map(a=>Q({body:[Se(a.number)]}))});r(k(o,t))}else e.ref=s[0].number},CapturingGroup({node:e},t){e.number=++t.numCapturesToLeft,e.name&&t.groupsByName.get(e.name).get(e).hasDuplicateNameToRemove&&delete e.name},Regex:{exit({node:e},t){const r=Math.max(t.highestOrphanBackref-t.numCapturesToLeft,0);for(let n=0;n<r;n++){const i=ht();e.body.at(-1).body.push(i)}}},Subroutine({node:e},t){!e.isRecursive||e.ref===0||(e.ref=t.reffedNodesByReferencer.get(e).number)}};function kt(e){se(e,{"*"({node:t,parent:r}){t.parent=r}})}function Xr(e,t){return e.dotAll===t.dotAll&&e.ignoreCase===t.ignoreCase}function Zr(e,t){let r=t;do{if(r.type==="Regex")return!1;if(r.type==="Alternative")continue;if(r===e)return!1;const n=$t(r.parent);for(const i of n){if(i===r)break;if(i===e||St(i,e))return!0}}while(r=r.parent);throw new Error("Unexpected path")}function xt(e,t,r,n){const i=Array.isArray(e)?[]:{};for(const[s,o]of Object.entries(e))s==="parent"?i.parent=Array.isArray(r)?n:r:o&&typeof o=="object"?i[s]=xt(o,t,i,r):(s==="type"&&o==="CapturingGroup"&&t.set(i,t.get(e)??e),i[s]=o);return i}function rt(e){const t=mt(e);return t.isRecursive=!0,t}function Qr(e,t){const r=[];for(;e=e.parent;)(!t||t(e))&&r.push(e);return r}function ke(e,t){if(t.has(e))return t.get(e);const r=`$${t.size}_${e.replace(/^[^$_\p{IDS}]|[^$\u200C\u200D\p{IDC}]/ug,"_")}`;return t.set(e,r),r}function vt(e){const t=["dotAll","ignoreCase"],r={enable:{},disable:{}};return e.forEach(({flags:n})=>{t.forEach(i=>{n.enable?.[i]&&(delete r.disable[i],r.enable[i]=!0),n.disable?.[i]&&(r.disable[i]=!0)})}),Object.keys(r.enable).length||delete r.enable,Object.keys(r.disable).length||delete r.disable,r.enable||r.disable?r:null}function qr({dotAll:e,ignoreCase:t}){const r={};return(e||t)&&(r.enable={},e&&(r.enable.dotAll=!0),t&&(r.enable.ignoreCase=!0)),(!e||!t)&&(r.disable={},!e&&(r.disable.dotAll=!0),!t&&(r.disable.ignoreCase=!0)),r}function $t(e){if(!e)throw new Error("Node expected");const{body:t}=e;return Array.isArray(t)?t:t?[t]:null}function It(e){const t=e.find(r=>r.kind==="search_start"||Yr(r,{negate:!1})||!Jr(r));if(!t)return null;if(t.kind==="search_start")return t;if(t.type==="LookaroundAssertion")return t.body[0].body[0];if(t.type==="CapturingGroup"||t.type==="Group"){const r=[];for(const n of t.body){const i=It(n.body);if(!i)return null;Array.isArray(i)?r.push(...i):r.push(i)}return r}return null}function St(e,t){const r=$t(e)??[];for(const n of r)if(n===t||St(n,t))return!0;return!1}function Jr({type:e}){return e==="Assertion"||e==="Directive"||e==="LookaroundAssertion"}function Kr(e){const t=["Character","CharacterClass","CharacterSet"];return t.includes(e.type)||e.type==="Quantifier"&&e.min&&t.includes(e.body.type)}function Yr(e,t){const r={negate:null,...t};return e.type==="LookaroundAssertion"&&(r.negate===null||e.negate===r.negate)&&e.body.length===1&&pt(e.body[0],{type:"Assertion",kind:"search_start"})}function xe(e){return/^[$_\p{IDS}][$\u200C\u200D\p{IDC}]*$/u.test(e)}function G(e,t){const n=dt(e,{...t,unicodePropertyMap:Ue}).body;return n.length>1||n[0].body.length>1?U({body:n}):n[0].body[0]}function ve(e,t){return e.negate=t,e}function z(e,t){return e.parent=t,e}function k(e,t){return kt(e),e.parent=t,e}function en(e,t){const r=Ct(t),n=Te(r.target,"ES2024"),i=Te(r.target,"ES2025"),s=r.rules.recursionLimit;if(!Number.isInteger(s)||s<2||s>20)throw new Error("Invalid recursionLimit; use 2-20");let o=null,a=null;if(!i){const d=[e.flags.ignoreCase];se(e,tn,{getCurrentModI:()=>d.at(-1),popModI(){d.pop()},pushModI(p){d.push(p)},setHasCasedChar(){d.at(-1)?o=!0:a=!0}})}const u={dotAll:e.flags.dotAll,ignoreCase:!!((e.flags.ignoreCase||o)&&!a)};let c=e;const f={accuracy:r.accuracy,appliedGlobalFlags:u,captureMap:new Map,currentFlags:{dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},inCharClass:!1,lastNode:c,originMap:e._originMap,recursionLimit:s,useAppliedIgnoreCase:!!(!i&&o&&a),useFlagMods:i,useFlagV:n,verbose:r.verbose};function l(d){return f.lastNode=c,c=d,Mr(rn[d.type],`Unexpected node type "${d.type}"`)(d,f,l)}const h={pattern:e.body.map(l).join("|"),flags:l(e.flags),options:{...e.options}};return n||(delete h.options.force.v,h.options.disable.v=!0,h.options.unicodeSetsPlugin=null),h._captureTransfers=new Map,h._hiddenCaptures=[],f.captureMap.forEach((d,p)=>{d.hidden&&h._hiddenCaptures.push(p),d.transferTo&&ie(h._captureTransfers,d.transferTo,[]).push(p)}),h}var tn={"*":{enter({node:e},t){if(st(e)){const r=t.getCurrentModI();t.pushModI(e.flags?de({ignoreCase:r},e.flags).ignoreCase:r)}},exit({node:e},t){st(e)&&t.popModI()}},Backreference(e,t){t.setHasCasedChar()},Character({node:e},t){De(v(e.value))&&t.setHasCasedChar()},CharacterClassRange({node:e,skip:t},r){t(),Lt(e,{firstOnly:!0}).length&&r.setHasCasedChar()},CharacterSet({node:e},t){e.kind==="property"&&At.has(e.value)&&t.setHasCasedChar()}},rn={Alternative({body:e},t,r){return e.map(r).join("")},Assertion({kind:e,negate:t}){if(e==="string_end")return"$";if(e==="string_start")return"^";if(e==="word_boundary")return t?w`\B`:w`\b`;throw new Error(`Unexpected assertion kind "${e}"`)},Backreference({ref:e},t){if(typeof e!="number")throw new Error("Unexpected named backref in transformed AST");if(!t.useFlagMods&&t.accuracy==="strict"&&t.currentFlags.ignoreCase&&!t.captureMap.get(e).ignoreCase)throw new Error("Use of case-insensitive backref to case-sensitive group requires target ES2025 or non-strict accuracy");return"\\"+e},CapturingGroup(e,t,r){const{body:n,name:i,number:s}=e,o={ignoreCase:t.currentFlags.ignoreCase},a=t.originMap.get(e);return a&&(o.hidden=!0,s>a.number&&(o.transferTo=a.number)),t.captureMap.set(s,o),`(${i?`?<${i}>`:""}${n.map(r).join("|")})`},Character({value:e},t){const r=v(e),n=K(e,{escDigit:t.lastNode.type==="Backreference",inCharClass:t.inCharClass,useFlagV:t.useFlagV});if(n!==r)return n;if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase&&De(r)){const i=Et(r);return t.inCharClass?i.join(""):i.length>1?`[${i.join("")}]`:i[0]}return r},CharacterClass(e,t,r){const{kind:n,negate:i,parent:s}=e;let{body:o}=e;if(n==="intersection"&&!t.useFlagV)throw new Error("Use of character class intersection requires min target ES2024");B.bugFlagVLiteralHyphenIsRange&&t.useFlagV&&o.some(it)&&(o=[he(45),...o.filter(c=>!it(c))]);const a=()=>`[${i?"^":""}${o.map(r).join(n==="intersection"?"&&":"")}]`;if(!t.inCharClass){if((!t.useFlagV||B.bugNestedClassIgnoresNegation)&&!i){const f=o.filter(l=>l.type==="CharacterClass"&&l.kind==="union"&&l.negate);if(f.length){const l=U(),h=l.body[0];return l.parent=s,h.parent=l,o=o.filter(d=>!f.includes(d)),e.body=o,o.length?(e.parent=h,h.body.push(e)):l.body.pop(),f.forEach(d=>{const p=Q({body:[d]});d.parent=p,p.parent=l,l.body.push(p)}),r(l)}}t.inCharClass=!0;const c=a();return t.inCharClass=!1,c}const u=o[0];if(n==="union"&&!i&&u&&((!t.useFlagV||!t.verbose)&&s.kind==="union"&&!(B.bugFlagVLiteralHyphenIsRange&&t.useFlagV)||!t.verbose&&s.kind==="intersection"&&o.length===1&&u.type!=="CharacterClassRange"))return o.map(r).join("");if(!t.useFlagV&&s.type==="CharacterClass")throw new Error("Uses nested character class in a way that requires min target ES2024");return a()},CharacterClassRange(e,t){const r=e.min.value,n=e.max.value,i={escDigit:!1,inCharClass:!0,useFlagV:t.useFlagV},s=K(r,i),o=K(n,i),a=new Set;if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase){const u=Lt(e);un(u).forEach(f=>{a.add(Array.isArray(f)?`${K(f[0],i)}-${K(f[1],i)}`:K(f,i))})}return`${s}-${o}${[...a].join("")}`},CharacterSet({kind:e,negate:t,value:r,key:n},i){if(e==="dot")return i.currentFlags.dotAll?i.appliedGlobalFlags.dotAll||i.useFlagMods?".":"[^]":w`[^\n]`;if(e==="digit")return t?w`\D`:w`\d`;if(e==="property"){if(i.useAppliedIgnoreCase&&i.currentFlags.ignoreCase&&At.has(r))throw new Error(`Unicode property "${r}" can't be case-insensitive when other chars have specific case`);return`${t?w`\P`:w`\p`}{${n?`${n}=`:""}${r}}`}if(e==="word")return t?w`\W`:w`\w`;throw new Error(`Unexpected character set kind "${e}"`)},Flags(e,t){return(t.appliedGlobalFlags.ignoreCase?"i":"")+(e.dotAll?"s":"")+(e.sticky?"y":"")},Group({atomic:e,body:t,flags:r,parent:n},i,s){const o=i.currentFlags;r&&(i.currentFlags=de(o,r));const a=t.map(s).join("|"),u=!i.verbose&&t.length===1&&n.type!=="Quantifier"&&!e&&(!i.useFlagMods||!r)?a:`(?${cn(e,r,i.useFlagMods)}${a})`;return i.currentFlags=o,u},LookaroundAssertion({body:e,kind:t,negate:r},n,i){return`(?${`${t==="lookahead"?"":"<"}${r?"!":"="}`}${e.map(i).join("|")})`},Quantifier(e,t,r){return r(e.body)+ln(e)},Subroutine({isRecursive:e,ref:t},r){if(!e)throw new Error("Unexpected non-recursive subroutine in transformed AST");const n=r.recursionLimit;return t===0?`(?R=${n})`:w`\g<${t}&R=${n}>`}},nn=new Set(["$","(",")","*","+",".","?","[","\\","]","^","{","|","}"]),sn=new Set(["-","\\","]","^","["]),on=new Set(["(",")","-","/","[","\\","]","^","{","|","}","!","#","$","%","&","*","+",",",".",":",";","<","=",">","?","@","`","~"]),nt=new Map([[9,w`\t`],[10,w`\n`],[11,w`\v`],[12,w`\f`],[13,w`\r`],[8232,w`\u2028`],[8233,w`\u2029`],[65279,w`\uFEFF`]]),an=new RegExp("^\\p{Cased}$","u");function De(e){return an.test(e)}function Lt(e,t){const r=!!t?.firstOnly,n=e.min.value,i=e.max.value,s=[];if(n<65&&(i===65535||i>=131071)||n===65536&&i>=131071)return s;for(let o=n;o<=i;o++){const a=v(o);if(!De(a))continue;const u=Et(a).filter(c=>{const f=c.codePointAt(0);return f<n||f>i});if(u.length&&(s.push(...u),r))break}return s}function K(e,{escDigit:t,inCharClass:r,useFlagV:n}){if(nt.has(e))return nt.get(e);if(e<32||e>126&&e<160||e>262143||t&&fn(e))return e>255?`\\u{${e.toString(16).toUpperCase()}}`:`\\x${e.toString(16).toUpperCase().padStart(2,"0")}`;const i=r?n?on:sn:nn,s=v(e);return(i.has(s)?"\\":"")+s}function un(e){const t=e.map(i=>i.codePointAt(0)).sort((i,s)=>i-s),r=[];let n=null;for(let i=0;i<t.length;i++)t[i+1]===t[i]+1?n??=t[i]:n===null?r.push(t[i]):(r.push([n,t[i]]),n=null);return r}function cn(e,t,r){if(e)return">";let n="";if(t&&r){const{enable:i,disable:s}=t;n=(i?.ignoreCase?"i":"")+(i?.dotAll?"s":"")+(s?"-":"")+(s?.ignoreCase?"i":"")+(s?.dotAll?"s":"")}return`${n}:`}function ln({kind:e,max:t,min:r}){let n;return!r&&t===1?n="?":!r&&t===1/0?n="*":r===1&&t===1/0?n="+":r===t?n=`{${r}}`:n=`{${r},${t===1/0?"":t}}`,n+{greedy:"",lazy:"?",possessive:"+"}[e]}function st({type:e}){return e==="CapturingGroup"||e==="Group"||e==="LookaroundAssertion"}function fn(e){return e>47&&e<58}function it({type:e,value:t}){return e==="Character"&&t===45}var pn=class Oe extends RegExp{#t=new Map;#e=null;#n;#r=null;#s=null;rawOptions={};get source(){return this.#n||"(?:)"}constructor(t,r,n){const i=!!n?.lazyCompile;if(t instanceof RegExp){if(n)throw new Error("Cannot provide options when copying a regexp");const s=t;super(s,r),this.#n=s.source,s instanceof Oe&&(this.#t=s.#t,this.#r=s.#r,this.#s=s.#s,this.rawOptions=s.rawOptions)}else{const s={hiddenCaptures:[],strategy:null,transfers:[],...n};super(i?"":t,r),this.#n=t,this.#t=hn(s.hiddenCaptures,s.transfers),this.#s=s.strategy,this.rawOptions=n??{}}i||(this.#e=this)}exec(t){if(!this.#e){const{lazyCompile:i,...s}=this.rawOptions;this.#e=new Oe(this.#n,this.flags,s)}const r=this.global||this.sticky,n=this.lastIndex;if(this.#s==="clip_search"&&r&&n){this.lastIndex=0;const i=this.#i(t.slice(n));return i&&(dn(i,n,t,this.hasIndices),this.lastIndex+=n),i}return this.#i(t)}#i(t){this.#e.lastIndex=this.lastIndex;const r=super.exec.call(this.#e,t);if(this.lastIndex=this.#e.lastIndex,!r||!this.#t.size)return r;const n=[...r];r.length=1;let i;this.hasIndices&&(i=[...r.indices],r.indices.length=1);const s=[0];for(let o=1;o<n.length;o++){const{hidden:a,transferTo:u}=this.#t.get(o)??{};if(a?s.push(null):(s.push(r.length),r.push(n[o]),this.hasIndices&&r.indices.push(i[o])),u&&n[o]!==void 0){const c=s[u];if(!c)throw new Error(`Invalid capture transfer to "${c}"`);if(r[c]=n[o],this.hasIndices&&(r.indices[c]=i[o]),r.groups){this.#r||(this.#r=gn(this.source));const f=this.#r.get(u);f&&(r.groups[f]=n[o],this.hasIndices&&(r.indices.groups[f]=i[o]))}}}return r}};function dn(e,t,r,n){if(e.index+=t,e.input=r,n){const i=e.indices;for(let o=0;o<i.length;o++){const a=i[o];a&&(i[o]=[a[0]+t,a[1]+t])}const s=i.groups;s&&Object.keys(s).forEach(o=>{const a=s[o];a&&(s[o]=[a[0]+t,a[1]+t])})}}function hn(e,t){const r=new Map;for(const n of e)r.set(n,{hidden:!0});for(const[n,i]of t)for(const s of i)ie(r,s,{}).transferTo=n;return r}function gn(e){const t=/(?<capture>\((?:\?<(?![=!])(?<name>[^>]+)>|(?!\?)))|\\?./gsu,r=new Map;let n=0,i=0,s;for(;s=t.exec(e);){const{0:o,groups:{capture:a,name:u}}=s;o==="["?n++:n?o==="]"&&n--:a&&(i++,u&&r.set(i,u))}return r}function mn(e,t){const r=wn(e,t);return r.options?new pn(r.pattern,r.flags,r.options):new RegExp(r.pattern,r.flags)}function wn(e,t){const r=Ct(t),n=dt(e,{flags:r.flags,normalizeUnknownPropertyNames:!0,rules:{captureGroup:r.rules.captureGroup,singleline:r.rules.singleline},skipBackrefValidation:r.rules.allowOrphanBackrefs,unicodePropertyMap:Ue}),i=Hr(n,{accuracy:r.accuracy,asciiWordBoundaries:r.rules.asciiWordBoundaries,avoidSubclass:r.avoidSubclass,bestEffortTarget:r.target}),s=en(i,r),o=Tr(s.pattern,{captureTransfers:s._captureTransfers,hiddenCaptures:s._hiddenCaptures,mode:"external"}),a=Lr(o.pattern),u=Sr(a.pattern,{captureTransfers:o.captureTransfers,hiddenCaptures:o.hiddenCaptures}),c={pattern:u.pattern,flags:`${r.hasIndices?"d":""}${r.global?"g":""}${s.flags}${s.options.disable.v?"u":"v"}`};if(r.avoidSubclass){if(r.lazyCompileLength!==1/0)throw new Error("Lazy compilation requires subclass")}else{const f=u.hiddenCaptures.sort((p,m)=>p-m),l=Array.from(u.captureTransfers),h=i._strategy,d=c.pattern.length>=r.lazyCompileLength;(f.length||l.length||h||d)&&(c.options={...f.length&&{hiddenCaptures:f},...l.length&&{transfers:l},...h&&{strategy:h},...d&&{lazyCompile:d}})}return c}const ot=4294967295;class yn{constructor(t,r={}){this.patterns=t,this.options=r;const{forgiving:n=!1,cache:i,regexConstructor:s}=r;if(!s)throw new Error("Option `regexConstructor` is not provided");this.regexps=t.map(o=>{if(typeof o!="string")return o;const a=i?.get(o);if(a){if(a instanceof RegExp)return a;if(n)return null;throw a}try{const u=s(o);return i?.set(o,u),u}catch(u){if(i?.set(o,u),n)return null;throw u}})}regexps;findNextMatchSync(t,r,n){const i=typeof t=="string"?t:t.content,s=[];function o(a,u,c=0){return{index:a,captureIndices:u.indices.map(f=>f==null?{start:ot,end:ot,length:0}:{start:f[0]+c,end:f[1]+c,length:f[1]-f[0]})}}for(let a=0;a<this.regexps.length;a++){const u=this.regexps[a];if(u)try{u.lastIndex=r;const c=u.exec(i);if(!c)continue;if(c.index===r)return o(a,c,0);s.push([a,c,0])}catch(c){if(this.options.forgiving)continue;throw c}}if(s.length){const a=Math.min(...s.map(u=>u[1].index));for(const[u,c,f]of s)if(c.index===a)return o(u,c,f)}return null}}function _n(e,t){return mn(e,{global:!0,hasIndices:!0,lazyCompileLength:3e3,rules:{allowOrphanBackrefs:!0,asciiWordBoundaries:!0,captureGroup:!0,recursionLimit:5,singleline:!0},...t})}function bn(e={}){const t=Object.assign({target:"auto",cache:new Map},e);return t.regexConstructor||=r=>_n(r,{target:t.target}),{createScanner(r){return new yn(r,t)},createString(r){return{content:r}}}}class Fe extends Error{constructor(t){super(t),this.name="ShikiError"}}function Cn(){return 2147483648}function En(){return typeof performance<"u"?performance.now():Date.now()}const An=(e,t)=>e+(t-e%t)%t;async function kn(e){let t,r;const n={};function i(d){r=d,n.HEAPU8=new Uint8Array(d),n.HEAPU32=new Uint32Array(d)}function s(d,p,m){n.HEAPU8.copyWithin(d,p,p+m)}function o(d){try{return t.grow(d-r.byteLength+65535>>>16),i(t.buffer),1}catch{}}function a(d){const p=n.HEAPU8.length;d=d>>>0;const m=Cn();if(d>m)return!1;for(let _=1;_<=4;_*=2){let y=p*(1+.2/_);y=Math.min(y,d+100663296);const E=Math.min(m,An(Math.max(d,y),65536));if(o(E))return!0}return!1}const u=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function c(d,p,m=1024){const _=p+m;let y=p;for(;d[y]&&!(y>=_);)++y;if(y-p>16&&d.buffer&&u)return u.decode(d.subarray(p,y));let E="";for(;p<y;){let C=d[p++];if(!(C&128)){E+=String.fromCharCode(C);continue}const A=d[p++]&63;if((C&224)===192){E+=String.fromCharCode((C&31)<<6|A);continue}const x=d[p++]&63;if((C&240)===224?C=(C&15)<<12|A<<6|x:C=(C&7)<<18|A<<12|x<<6|d[p++]&63,C<65536)E+=String.fromCharCode(C);else{const L=C-65536;E+=String.fromCharCode(55296|L>>10,56320|L&1023)}}return E}function f(d,p){return d?c(n.HEAPU8,d,p):""}const l={emscripten_get_now:En,emscripten_memcpy_big:s,emscripten_resize_heap:a,fd_write:()=>0};async function h(){const p=await e({env:l,wasi_snapshot_preview1:l});t=p.memory,i(t.buffer),Object.assign(n,p),n.UTF8ToString=f}return await h(),n}var xn=Object.defineProperty,vn=(e,t,r)=>t in e?xn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,$=(e,t,r)=>vn(e,typeof t!="symbol"?t+"":t,r);let I=null;function $n(e){throw new Fe(e.UTF8ToString(e.getLastOnigError()))}class we{constructor(t){$(this,"utf16Length"),$(this,"utf8Length"),$(this,"utf16Value"),$(this,"utf8Value"),$(this,"utf16OffsetToUtf8"),$(this,"utf8OffsetToUtf16");const r=t.length,n=we._utf8ByteLength(t),i=n!==r,s=i?new Uint32Array(r+1):null;i&&(s[r]=n);const o=i?new Uint32Array(n+1):null;i&&(o[n]=r);const a=new Uint8Array(n);let u=0;for(let c=0;c<r;c++){const f=t.charCodeAt(c);let l=f,h=!1;if(f>=55296&&f<=56319&&c+1<r){const d=t.charCodeAt(c+1);d>=56320&&d<=57343&&(l=(f-55296<<10)+65536|d-56320,h=!0)}i&&(s[c]=u,h&&(s[c+1]=u),l<=127?o[u+0]=c:l<=2047?(o[u+0]=c,o[u+1]=c):l<=65535?(o[u+0]=c,o[u+1]=c,o[u+2]=c):(o[u+0]=c,o[u+1]=c,o[u+2]=c,o[u+3]=c)),l<=127?a[u++]=l:l<=2047?(a[u++]=192|(l&1984)>>>6,a[u++]=128|(l&63)>>>0):l<=65535?(a[u++]=224|(l&61440)>>>12,a[u++]=128|(l&4032)>>>6,a[u++]=128|(l&63)>>>0):(a[u++]=240|(l&1835008)>>>18,a[u++]=128|(l&258048)>>>12,a[u++]=128|(l&4032)>>>6,a[u++]=128|(l&63)>>>0),h&&c++}this.utf16Length=r,this.utf8Length=n,this.utf16Value=t,this.utf8Value=a,this.utf16OffsetToUtf8=s,this.utf8OffsetToUtf16=o}static _utf8ByteLength(t){let r=0;for(let n=0,i=t.length;n<i;n++){const s=t.charCodeAt(n);let o=s,a=!1;if(s>=55296&&s<=56319&&n+1<i){const u=t.charCodeAt(n+1);u>=56320&&u<=57343&&(o=(s-55296<<10)+65536|u-56320,a=!0)}o<=127?r+=1:o<=2047?r+=2:o<=65535?r+=3:r+=4,a&&n++}return r}createString(t){const r=t.omalloc(this.utf8Length);return t.HEAPU8.set(this.utf8Value,r),r}}const ye=class D{constructor(t){if($(this,"id",++D.LAST_ID),$(this,"_onigBinding"),$(this,"content"),$(this,"utf16Length"),$(this,"utf8Length"),$(this,"utf16OffsetToUtf8"),$(this,"utf8OffsetToUtf16"),$(this,"ptr"),!I)throw new Fe("Must invoke loadWasm first.");this._onigBinding=I,this.content=t;const r=new we(t);this.utf16Length=r.utf16Length,this.utf8Length=r.utf8Length,this.utf16OffsetToUtf8=r.utf16OffsetToUtf8,this.utf8OffsetToUtf16=r.utf8OffsetToUtf16,this.utf8Length<1e4&&!D._sharedPtrInUse?(D._sharedPtr||(D._sharedPtr=I.omalloc(1e4)),D._sharedPtrInUse=!0,I.HEAPU8.set(r.utf8Value,D._sharedPtr),this.ptr=D._sharedPtr):this.ptr=r.createString(I)}convertUtf8OffsetToUtf16(t){return this.utf8OffsetToUtf16?t<0?0:t>this.utf8Length?this.utf16Length:this.utf8OffsetToUtf16[t]:t}convertUtf16OffsetToUtf8(t){return this.utf16OffsetToUtf8?t<0?0:t>this.utf16Length?this.utf8Length:this.utf16OffsetToUtf8[t]:t}dispose(){this.ptr===D._sharedPtr?D._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};$(ye,"LAST_ID",0);$(ye,"_sharedPtr",0);$(ye,"_sharedPtrInUse",!1);let Pt=ye;class In{constructor(t){if($(this,"_onigBinding"),$(this,"_ptr"),!I)throw new Fe("Must invoke loadWasm first.");const r=[],n=[];for(let a=0,u=t.length;a<u;a++){const c=new we(t[a]);r[a]=c.createString(I),n[a]=c.utf8Length}const i=I.omalloc(4*t.length);I.HEAPU32.set(r,i/4);const s=I.omalloc(4*t.length);I.HEAPU32.set(n,s/4);const o=I.createOnigScanner(i,s,t.length);for(let a=0,u=t.length;a<u;a++)I.ofree(r[a]);I.ofree(s),I.ofree(i),o===0&&$n(I),this._onigBinding=I,this._ptr=o}dispose(){this._onigBinding.freeOnigScanner(this._ptr)}findNextMatchSync(t,r,n){let i=0;if(typeof n=="number"&&(i=n),typeof t=="string"){t=new Pt(t);const s=this._findNextMatchSync(t,r,!1,i);return t.dispose(),s}return this._findNextMatchSync(t,r,!1,i)}_findNextMatchSync(t,r,n,i){const s=this._onigBinding,o=s.findNextOnigScannerMatch(this._ptr,t.id,t.ptr,t.utf8Length,t.convertUtf16OffsetToUtf8(r),i);if(o===0)return null;const a=s.HEAPU32;let u=o/4;const c=a[u++],f=a[u++],l=[];for(let h=0;h<f;h++){const d=t.convertUtf8OffsetToUtf16(a[u++]),p=t.convertUtf8OffsetToUtf16(a[u++]);l[h]={start:d,end:p,length:p-d}}return{index:c,captureIndices:l}}}function Sn(e){return typeof e.instantiator=="function"}function Ln(e){return typeof e.default=="function"}function Pn(e){return typeof e.data<"u"}function Tn(e){return typeof Response<"u"&&e instanceof Response}function On(e){return typeof ArrayBuffer<"u"&&(e instanceof ArrayBuffer||ArrayBuffer.isView(e))||typeof Buffer<"u"&&Buffer.isBuffer?.(e)||typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer||typeof Uint32Array<"u"&&e instanceof Uint32Array}let fe;function Mn(e){if(fe)return fe;async function t(){I=await kn(async r=>{let n=e;return n=await n,typeof n=="function"&&(n=await n(r)),typeof n=="function"&&(n=await n(r)),Sn(n)?n=await n.instantiator(r):Ln(n)?n=await n.default(r):(Pn(n)&&(n=n.data),Tn(n)?typeof WebAssembly.instantiateStreaming=="function"?n=await Rn(n)(r):n=await Nn(n)(r):On(n)?n=await $e(n)(r):n instanceof WebAssembly.Module?n=await $e(n)(r):"default"in n&&n.default instanceof WebAssembly.Module&&(n=await $e(n.default)(r))),"instance"in n&&(n=n.instance),"exports"in n&&(n=n.exports),n})}return fe=t(),fe}function $e(e){return t=>WebAssembly.instantiate(e,t)}function Rn(e){return t=>WebAssembly.instantiateStreaming(e,t)}function Nn(e){return async t=>{const r=await e.arrayBuffer();return WebAssembly.instantiate(r,t)}}async function Un(e){return e&&await Mn(e),{createScanner(t){return new In(t.map(r=>typeof r=="string"?r:r.source))},createString(t){return new Pt(t)}}}function Dn({langs:e=[],themes:t=[],bundledLangs:r={},bundledThemes:n={},getMdcConfigs:i,options:s,engine:o}={}){let a,u;async function c(){const{createHighlighterCore:d,addClassToHast:p,isSpecialLang:m,isSpecialTheme:_}=await g(async()=>{const{createHighlighterCore:L,addClassToHast:T,isSpecialLang:M,isSpecialTheme:H}=await import("./DuDOxoNd.js");return{createHighlighterCore:L,addClassToHast:T,isSpecialLang:M,isSpecialTheme:H}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]),import.meta.url),{transformerNotationDiff:y,transformerNotationErrorLevel:E,transformerNotationFocus:C,transformerNotationHighlight:A}=await g(async()=>{const{transformerNotationDiff:L,transformerNotationErrorLevel:T,transformerNotationFocus:M,transformerNotationHighlight:H}=await import("./B5xTLW1Q.js");return{transformerNotationDiff:L,transformerNotationErrorLevel:T,transformerNotationFocus:M,transformerNotationHighlight:H}},[],import.meta.url),x=await d({langs:e,themes:t,engine:o||bn()});for await(const L of await l())await L.shiki?.setup?.(x);return{shiki:x,addClassToHast:p,isSpecialLang:m,isSpecialTheme:_,transformers:[y(),E(),C(),A()]}}async function f(){return a||(a=c()),a}async function l(){return u||(u=Promise.resolve(i?.()||[])),u}return async(d,p,m,_={})=>{const{shiki:y,addClassToHast:E,isSpecialLang:C,isSpecialTheme:A,transformers:x}=await f(),L={defaultColor:!1,meta:{__raw:_.meta}};p==="ts-type"||p==="typescript-type"?(p="typescript",L.grammarContextCode="let a:"):(p==="vue-html"||p==="vue-template")&&(p="vue",L.grammarContextCode="<template>");const T={...typeof m=="string"?{default:m}:m||{}},M=y.getLoadedThemes(),H=y.getLoadedLanguages();typeof p=="string"&&!H.includes(p)&&!C(p)&&(r[p]?await y.loadLanguage(r[p]):p="text");for(const[b,P]of Object.entries(T))typeof P=="string"&&!M.includes(P)&&!A(P)&&(n[P]?await y.loadTheme(n[P]):T[b]="none");const ne=new Map;for(const b of x)ne.set(b.name||`transformer:${Math.random()}-${b.constructor.name}`,b);for(const b of await l()){const P=typeof b.shiki?.transformers=="function"?await b.shiki?.transformers(d,p,m,_):b.shiki?.transformers||[];for(const q of P)ne.set(q.name||`transformer:${Math.random()}-${q.constructor.name}`,q)}const O=y.codeToHast(d.trimEnd(),{lang:p,...L,themes:T,transformers:[...ne.values(),{name:"mdc:highlight",line(b,P){_.highlights?.includes(P)&&E(b,"highlight"),b.properties.line=P}},{name:"mdc:newline",line(b){if(d?.includes(`
143
143
  `)){if(b.children.length===0||b.children.length===1&&b.children[0].type==="element"&&b.children[0].children.length===1&&b.children[0].children[0].type==="text"&&b.children[0].children[0].value===""){b.children=[{type:"element",tagName:"span",properties:{emptyLinePlaceholder:!0},children:[{type:"text",value:`
144
144
  `}]}];return}const P=b.children.at(-1);if(P?.type==="element"&&P.tagName==="span"){const q=P.children.at(-1);q?.type==="text"&&(q.value+=`
145
145
  `)}}}}]}).children[0],Tt=O.children[0],ae=s?.wrapperStyle;O.properties.style=ae?typeof ae=="string"?ae:O.properties.style:"";const _e=[];return Object.keys(T).forEach(b=>{const P=b!=="default"?`.${b}`:"";_e.push(ae?`${P} .shiki,`:"",`html .${b} .shiki span {`,`color: var(--shiki-${b});`,`background: var(--shiki-${b}-bg);`,`font-style: var(--shiki-${b}-font-style);`,`font-weight: var(--shiki-${b}-font-weight);`,`text-decoration: var(--shiki-${b}-text-decoration);`,"}"),_e.push(`html${P} .shiki span {`,`color: var(--shiki-${b});`,`background: var(--shiki-${b}-bg);`,`font-style: var(--shiki-${b}-font-style);`,`font-weight: var(--shiki-${b}-font-weight);`,`text-decoration: var(--shiki-${b}-text-decoration);`,"}")}),{tree:Tt.children,className:Array.isArray(O.properties.class)?O.properties.class.join(" "):O.properties.class,inlineStyle:O.properties.style,style:_e.join("")}}}const Fn={typescript:()=>g(()=>import("./BPQ3VLAy.js"),[],import.meta.url).then(e=>e.default||e),ts:()=>g(()=>import("./BPQ3VLAy.js"),[],import.meta.url).then(e=>e.default||e),cts:()=>g(()=>import("./BPQ3VLAy.js"),[],import.meta.url).then(e=>e.default||e),mts:()=>g(()=>import("./BPQ3VLAy.js"),[],import.meta.url).then(e=>e.default||e),javascript:()=>g(()=>import("./wDzz0qaB.js"),[],import.meta.url).then(e=>e.default||e),js:()=>g(()=>import("./wDzz0qaB.js"),[],import.meta.url).then(e=>e.default||e),cjs:()=>g(()=>import("./wDzz0qaB.js"),[],import.meta.url).then(e=>e.default||e),mjs:()=>g(()=>import("./wDzz0qaB.js"),[],import.meta.url).then(e=>e.default||e),shellscript:()=>g(()=>import("./Yzrsuije.js"),[],import.meta.url).then(e=>e.default||e),bash:()=>g(()=>import("./Yzrsuije.js"),[],import.meta.url).then(e=>e.default||e),sh:()=>g(()=>import("./Yzrsuije.js"),[],import.meta.url).then(e=>e.default||e),shell:()=>g(()=>import("./Yzrsuije.js"),[],import.meta.url).then(e=>e.default||e),zsh:()=>g(()=>import("./Yzrsuije.js"),[],import.meta.url).then(e=>e.default||e),vue:()=>g(()=>import("./BCNkgdIP.js"),__vite__mapDeps([10,11,12,13,14,15]),import.meta.url).then(e=>e.default||e),html:()=>g(()=>import("./CnnebwVN.js"),__vite__mapDeps([15,12,11]),import.meta.url).then(e=>e.default||e),css:()=>g(()=>import("./DPfMkruS.js"),[],import.meta.url).then(e=>e.default||e),scss:()=>g(()=>import("./2EtD6e53.js"),__vite__mapDeps([16,11]),import.meta.url).then(e=>e.default||e),json:()=>g(()=>import("./Cp-IABpG.js"),[],import.meta.url).then(e=>e.default||e),yaml:()=>g(()=>import("./Buea-lGh.js"),[],import.meta.url).then(e=>e.default||e),yml:()=>g(()=>import("./Buea-lGh.js"),[],import.meta.url).then(e=>e.default||e),toml:()=>g(()=>import("./vGWfd6FD.js"),[],import.meta.url).then(e=>e.default||e),xml:()=>g(()=>import("./BGJmEYvX.js"),__vite__mapDeps([17,18]),import.meta.url).then(e=>e.default||e),markdown:()=>g(()=>import("./Cvjx9yec.js"),[],import.meta.url).then(e=>e.default||e),md:()=>g(()=>import("./Cvjx9yec.js"),[],import.meta.url).then(e=>e.default||e),sql:()=>g(()=>import("./BLtJtn59.js"),[],import.meta.url).then(e=>e.default||e),graphql:()=>g(()=>import("./D3fng9L2.js"),__vite__mapDeps([19,12,13]),import.meta.url).then(e=>e.default||e),gql:()=>g(()=>import("./D3fng9L2.js"),__vite__mapDeps([19,12,13]),import.meta.url).then(e=>e.default||e),python:()=>g(()=>import("./B6aJPvgy.js"),[],import.meta.url).then(e=>e.default||e),py:()=>g(()=>import("./B6aJPvgy.js"),[],import.meta.url).then(e=>e.default||e),go:()=>g(()=>import("./Dn2_MT6a.js"),[],import.meta.url).then(e=>e.default||e),rust:()=>g(()=>import("./B1yitclQ.js"),[],import.meta.url).then(e=>e.default||e),rs:()=>g(()=>import("./B1yitclQ.js"),[],import.meta.url).then(e=>e.default||e),c:()=>g(()=>import("./BIGW1oBm.js"),[],import.meta.url).then(e=>e.default||e),cpp:()=>g(()=>import("./Ck_RvX-X.js"),__vite__mapDeps([20,21,22]),import.meta.url).then(e=>e.default||e),"c++":()=>g(()=>import("./Ck_RvX-X.js"),__vite__mapDeps([20,21,22]),import.meta.url).then(e=>e.default||e),csharp:()=>g(()=>import("./K5feNrxe.js"),[],import.meta.url).then(e=>e.default||e),"c#":()=>g(()=>import("./K5feNrxe.js"),[],import.meta.url).then(e=>e.default||e),cs:()=>g(()=>import("./K5feNrxe.js"),[],import.meta.url).then(e=>e.default||e),java:()=>g(()=>import("./CylS5w8V.js"),[],import.meta.url).then(e=>e.default||e),docker:()=>g(()=>import("./BcOcwvcX.js"),[],import.meta.url).then(e=>e.default||e),dockerfile:()=>g(()=>import("./BcOcwvcX.js"),[],import.meta.url).then(e=>e.default||e),diff:()=>g(()=>import("./D97Zzqfu.js"),[],import.meta.url).then(e=>e.default||e),kotlin:()=>g(()=>import("./BdnUsdx6.js"),[],import.meta.url).then(e=>e.default||e),kt:()=>g(()=>import("./BdnUsdx6.js"),[],import.meta.url).then(e=>e.default||e),kts:()=>g(()=>import("./BdnUsdx6.js"),[],import.meta.url).then(e=>e.default||e)},Gn={"material-theme-lighter":()=>g(()=>import("./B0m2ddpp.js"),[],import.meta.url).then(e=>e.default||e),"github-light":()=>g(()=>import("./DAi9KRSo.js"),[],import.meta.url).then(e=>e.default||e),"github-dark":()=>g(()=>import("./DHJKELXO.js"),[],import.meta.url).then(e=>e.default||e)},Vn={},Bn=Un(()=>g(()=>import("./CG6Dc4jp.js"),[],import.meta.url)),zn=Dn({bundledLangs:Fn,bundledThemes:Gn,options:Vn,getMdcConfigs:Ot,engine:Bn});export{Dn as createShikiHighlighter,zn as default};
@@ -1 +1 @@
1
- import{W as r,h as l,M as n,o as c,r as u,$ as i,ap as s}from"./CGgHmnnS.js";const m={base:"my-5 leading-7 text-pretty"},_={__name:"ProseP",props:{class:{type:null,required:!1}},setup(e){const a=e,t=r(),o=l(()=>s({extend:s(m),...t.ui?.prose?.p||{}}));return(p,d)=>(c(),n("p",{class:i(o.value({class:a.class}))},[u(p.$slots,"default")],2))}};export{_ as default};
1
+ import{W as r,h as l,M as n,o as c,r as u,$ as i,ap as s}from"./CZT64TBr.js";const m={base:"my-5 leading-7 text-pretty"},_={__name:"ProseP",props:{class:{type:null,required:!1}},setup(e){const a=e,t=r(),o=l(()=>s({extend:s(m),...t.ui?.prose?.p||{}}));return(p,d)=>(c(),n("p",{class:i(o.value({class:a.class}))},[u(p.$slots,"default")],2))}};export{_ as default};