cognova 0.2.12 → 0.2.14

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 (398) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/-mGU8_Hv.js +1 -0
  3. package/.output/public/_nuxt/0GqCtQ9S.js +1 -0
  4. package/.output/public/_nuxt/{CLfF6dSn.js → 1wCoXZ14.js} +1 -1
  5. package/.output/public/_nuxt/2J1KxdHv.js +1 -0
  6. package/.output/public/_nuxt/6VDUZECX.js +1 -0
  7. package/.output/public/_nuxt/{DEd2xVbS.js → 8WMJQbWG.js} +1 -1
  8. package/.output/public/_nuxt/9Rw88G6h.js +1 -0
  9. package/.output/public/_nuxt/{PP_4ebzl.js → B-yW4SD3.js} +1 -1
  10. package/.output/public/_nuxt/B20jNAhm.js +1 -0
  11. package/.output/public/_nuxt/B3OpTH_e.js +1 -0
  12. package/.output/public/_nuxt/B9Y3_B5G.js +1 -0
  13. package/.output/public/_nuxt/B9_vmatf.js +1 -0
  14. package/.output/public/_nuxt/B9o6sFST.js +1 -0
  15. package/.output/public/_nuxt/{D8M722pn.js → BAY3_Hrq.js} +1 -1
  16. package/.output/public/_nuxt/{0yk-pS3R.js → BD5rPkc2.js} +3 -3
  17. package/.output/public/_nuxt/BGYoW3kO.js +1 -0
  18. package/.output/public/_nuxt/BHUy5EAj.js +1 -0
  19. package/.output/public/_nuxt/BLdMRpJD.js +1 -0
  20. package/.output/public/_nuxt/{2dNDtTiv.js → BOCn_SGf.js} +12 -12
  21. package/.output/public/_nuxt/BQi8LIrn.js +1 -0
  22. package/.output/public/_nuxt/BS1t375R.js +1 -0
  23. package/.output/public/_nuxt/BTGeP1bA.js +1 -0
  24. package/.output/public/_nuxt/{4K03TkGA.js → BVYYP4eQ.js} +5 -5
  25. package/.output/public/_nuxt/BWQ7zE01.js +1 -0
  26. package/.output/public/_nuxt/BWqJInD3.js +1 -0
  27. package/.output/public/_nuxt/BXdQ9ASJ.js +1 -0
  28. package/.output/public/_nuxt/{BHtY0l0l.js → BXxZokD_.js} +2 -2
  29. package/.output/public/_nuxt/BZ7DAtPi.js +1 -0
  30. package/.output/public/_nuxt/BZm9w7en.js +1 -0
  31. package/.output/public/_nuxt/B_hNqC64.js +1 -0
  32. package/.output/public/_nuxt/Be47YE2L.js +1 -0
  33. package/.output/public/_nuxt/BgIS9_ti.js +39 -0
  34. package/.output/public/_nuxt/BgavRUl_.js +1 -0
  35. package/.output/public/_nuxt/Bh0yGTzr.js +1 -0
  36. package/.output/public/_nuxt/BhhMUror.js +1 -0
  37. package/.output/public/_nuxt/Bj5e7QPz.js +1 -0
  38. package/.output/public/_nuxt/{7oCGSglN.js → Bnn59-FS.js} +1 -1
  39. package/.output/public/_nuxt/BoCU3mWu.js +1 -0
  40. package/.output/public/_nuxt/Br6epbzY.js +1 -0
  41. package/.output/public/_nuxt/Br81Sr2R.js +1 -0
  42. package/.output/public/_nuxt/BrkEOLHu.js +9 -0
  43. package/.output/public/_nuxt/BtrNCc2S.js +1 -0
  44. package/.output/public/_nuxt/BxsQlbgl.js +1 -0
  45. package/.output/public/_nuxt/BzrhNhdT.js +1 -0
  46. package/.output/public/_nuxt/{CVqlefTY.js → C-78dDNd.js} +1 -1
  47. package/.output/public/_nuxt/C1oaoi1p.js +1 -0
  48. package/.output/public/_nuxt/C2-_hcwB.js +1 -0
  49. package/.output/public/_nuxt/{rfGRTJJW.js → C2Gh3qqr.js} +1 -1
  50. package/.output/public/_nuxt/C2OHaW6l.js +1 -0
  51. package/.output/public/_nuxt/C3szZmvA.js +1 -0
  52. package/.output/public/_nuxt/C3xzleKP.js +1 -0
  53. package/.output/public/_nuxt/C4sG6rdW.js +1 -0
  54. package/.output/public/_nuxt/C5Cu9Fx6.js +1 -0
  55. package/.output/public/_nuxt/{JX1oqJI9.js → C5gfF7J1.js} +1 -1
  56. package/.output/public/_nuxt/C6Eoiclo.js +1 -0
  57. package/.output/public/_nuxt/C7hFztZL.js +1 -0
  58. package/.output/public/_nuxt/CAVUAxNU.js +2 -0
  59. package/.output/public/_nuxt/{t8aDAkZ5.js → CCeM5lW2.js} +1 -1
  60. package/.output/public/_nuxt/CDcQ31Eh.js +1 -0
  61. package/.output/public/_nuxt/CHbHVtCy.js +1 -0
  62. package/.output/public/_nuxt/CHnVFnBW.js +1 -0
  63. package/.output/public/_nuxt/CLNcmNQS.js +1 -0
  64. package/.output/public/_nuxt/{EgKnQnf-.js → CPwCTHun.js} +1 -1
  65. package/.output/public/_nuxt/{ixlNW2So.js → CS8SdmH2.js} +1 -1
  66. package/.output/public/_nuxt/CTGm_mc8.js +1 -0
  67. package/.output/public/_nuxt/{CPutXj8l.js → CTQFGHjS.js} +1 -1
  68. package/.output/public/_nuxt/{BS2ZNXI1.js → CVVtVzXC.js} +1 -1
  69. package/.output/public/_nuxt/CZNOaqeX.js +1 -0
  70. package/.output/public/_nuxt/C_A_NkeC.js +2 -0
  71. package/.output/public/_nuxt/{gTrVszwd.js → C_doutX-.js} +1 -1
  72. package/.output/public/_nuxt/{CY-QVcA5.js → CbDLhrNA.js} +2 -2
  73. package/.output/public/_nuxt/CePKCqSb.js +1 -0
  74. package/.output/public/_nuxt/Cet4T_yO.js +1 -0
  75. package/.output/public/_nuxt/{fbyIeNkc.js → CjJPkhbc.js} +1 -1
  76. package/.output/public/_nuxt/CkZT4LGq.js +1 -0
  77. package/.output/public/_nuxt/CkrW8sGL.js +1 -0
  78. package/.output/public/_nuxt/Co0UxVsx.js +1 -0
  79. package/.output/public/_nuxt/CqS0zXYQ.js +1 -0
  80. package/.output/public/_nuxt/CskGv_Km.js +1 -0
  81. package/.output/public/_nuxt/{Bk6JUtIo.js → CuvkTsqs.js} +1 -1
  82. package/.output/public/_nuxt/{Db4KMnt8.js → CxMuZEwX.js} +1 -1
  83. package/.output/public/_nuxt/{vIOxcXKR.js → CxSijT71.js} +8 -8
  84. package/.output/public/_nuxt/Cywo6tZI.js +1 -0
  85. package/.output/public/_nuxt/D1reIfpX.js +1 -0
  86. package/.output/public/_nuxt/D1uV2uir.js +1 -0
  87. package/.output/public/_nuxt/{CuxrHsu-.js → D2edadpd.js} +1 -1
  88. package/.output/public/_nuxt/D3cEeQh7.js +1 -0
  89. package/.output/public/_nuxt/D41A2mE2.js +1 -0
  90. package/.output/public/_nuxt/D49P2RhG.js +1 -0
  91. package/.output/public/_nuxt/D867g6Ds.js +1 -0
  92. package/.output/public/_nuxt/DEFWIjWl.js +1 -0
  93. package/.output/public/_nuxt/DFTEBTzZ.js +1 -0
  94. package/.output/public/_nuxt/{DwY7rCd_.js → DHRexj9X.js} +2 -2
  95. package/.output/public/_nuxt/DL4EpgqQ.js +1 -0
  96. package/.output/public/_nuxt/DLHnP6tw.js +1 -0
  97. package/.output/public/_nuxt/DM20WaLq.js +1 -0
  98. package/.output/public/_nuxt/{BYHCP8x7.js → DNAMjHbb.js} +1 -1
  99. package/.output/public/_nuxt/{C6qKcgOY.js → DP8t9VWs.js} +26 -26
  100. package/.output/public/_nuxt/DTR31rjp.js +1 -0
  101. package/.output/public/_nuxt/{CZoEPC_Q.js → DTlSLSo1.js} +3 -3
  102. package/.output/public/_nuxt/{DtjjnHnt.js → DVdnhfXT.js} +1 -1
  103. package/.output/public/_nuxt/DZikIgHK.js +1 -0
  104. package/.output/public/_nuxt/D_YGqvw_.js +1 -0
  105. package/.output/public/_nuxt/D_k1YwXm.js +1 -0
  106. package/.output/public/_nuxt/Daf2MbWG.js +7 -0
  107. package/.output/public/_nuxt/DcJ0GstJ.js +1 -0
  108. package/.output/public/_nuxt/DcYKh6QA.js +1 -0
  109. package/.output/public/_nuxt/DhN3_DYH.js +1 -0
  110. package/.output/public/_nuxt/DhSvBSt3.js +1 -0
  111. package/.output/public/_nuxt/DhlIWT8K.js +1 -0
  112. package/.output/public/_nuxt/DjsqyRqt.js +1 -0
  113. package/.output/public/_nuxt/DpSM97eH.js +1 -0
  114. package/.output/public/_nuxt/DqR9SdeU.js +1 -0
  115. package/.output/public/_nuxt/DqmQtg6Y.js +1 -0
  116. package/.output/public/_nuxt/Dsuag_iW.js +1 -0
  117. package/.output/public/_nuxt/Dtr_0IbE.js +1 -0
  118. package/.output/public/_nuxt/DwrmFEZN.js +1 -0
  119. package/.output/public/_nuxt/DxE8r3r4.js +1 -0
  120. package/.output/public/_nuxt/G_CsVlOR.js +1 -0
  121. package/.output/public/_nuxt/Gyw_2f6x.js +1 -0
  122. package/.output/public/_nuxt/HStC1ZyE.js +1 -0
  123. package/.output/public/_nuxt/Hh9mv0Ek.js +1 -0
  124. package/.output/public/_nuxt/LR0kCjbe.js +1 -0
  125. package/.output/public/_nuxt/MYeLvJGV.js +1 -0
  126. package/.output/public/_nuxt/NKs0EGrh.js +1 -0
  127. package/.output/public/_nuxt/PY5EGujn.js +1 -0
  128. package/.output/public/_nuxt/PamJNol9.js +1 -0
  129. package/.output/public/_nuxt/RlvwEbHv.js +1 -0
  130. package/.output/public/_nuxt/{BKXg-alD.js → TNpdJOlc.js} +1 -1
  131. package/.output/public/_nuxt/TSYrPbLR.js +1 -0
  132. package/.output/public/_nuxt/U-eBrbR4.js +1 -0
  133. package/.output/public/_nuxt/UuqXScSw.js +1 -0
  134. package/.output/public/_nuxt/V04-MrLN.js +1 -0
  135. package/.output/public/_nuxt/X0o5GcBb.js +1 -0
  136. package/.output/public/_nuxt/XQNzmQy9.js +1 -0
  137. package/.output/public/_nuxt/Y59XKprr.js +1 -0
  138. package/.output/public/_nuxt/YZQjZgsH.js +1 -0
  139. package/.output/public/_nuxt/_-TGPiLQ.js +1 -0
  140. package/.output/public/_nuxt/builds/latest.json +1 -1
  141. package/.output/public/_nuxt/builds/meta/d7188f50-b42c-4d2c-afab-066d318f0af8.json +1 -0
  142. package/.output/public/_nuxt/dashboard.ByJQ-Wzh.css +1 -0
  143. package/.output/public/_nuxt/entry.ZJxWCrU6.css +1 -0
  144. package/.output/public/_nuxt/{DhI5cA_n.js → hCeWb_38.js} +1 -1
  145. package/.output/public/_nuxt/{CQqCBrXj.js → hrPTRWjM.js} +1 -1
  146. package/.output/public/_nuxt/jC4pIK1p.js +1 -0
  147. package/.output/public/_nuxt/jTT1R-Vz.js +1 -0
  148. package/.output/public/_nuxt/{BLnYhy_t.js → kkAMoB43.js} +1 -1
  149. package/.output/public/_nuxt/{DzGy77Vr.js → mzM4BGtv.js} +1 -1
  150. package/.output/public/_nuxt/o-s8JBm2.js +1 -0
  151. package/.output/public/_nuxt/pwJTkIQ4.js +1 -0
  152. package/.output/public/_nuxt/{BDyn4ApB.js → rIgg2Arf.js} +3 -3
  153. package/.output/public/_nuxt/subdxgSQ.js +1 -0
  154. package/.output/public/_nuxt/t8B72leH.js +1 -0
  155. package/.output/public/_nuxt/vCFAHwdt.js +1 -0
  156. package/.output/public/_nuxt/z-MP0bB7.js +1 -0
  157. package/.output/server/chunks/build/CodeIcon-CWD5HcV7.mjs +1 -1
  158. package/.output/server/chunks/build/DropdownMenu-BBrV9nXz.mjs +1 -1
  159. package/.output/server/chunks/build/{EditorToolbar-DIfb5arC.mjs → EditorToolbar-B9OwSI5e.mjs} +3 -3
  160. package/.output/server/chunks/build/{EditorToolbar-DIfb5arC.mjs.map → EditorToolbar-B9OwSI5e.mjs.map} +1 -1
  161. package/.output/server/chunks/build/Img-CWLmvN1t.mjs +1 -1
  162. package/.output/server/chunks/build/MDC-Dx0YPDhe.mjs +1 -1
  163. package/.output/server/chunks/build/Select-BB1oLrCD.mjs +1 -1
  164. package/.output/server/chunks/build/SelectMenu-DPssg6zD.mjs +1 -1
  165. package/.output/server/chunks/build/Table-DCwTlhCj.mjs +1 -1
  166. package/.output/server/chunks/build/Tooltip-TRyl6dje.mjs +1 -1
  167. package/.output/server/chunks/build/Tree-DUhXKd8y.mjs +1 -1
  168. package/.output/server/chunks/build/{_id_-DN00UDdO.mjs → _id_-CwBeklIM.mjs} +296 -430
  169. package/.output/server/chunks/build/_id_-CwBeklIM.mjs.map +1 -0
  170. package/.output/server/chunks/build/{_name_-BnS_KEfX.mjs → _name_-D7MtW4Vu.mjs} +2 -2
  171. package/.output/server/chunks/build/{_name_-BnS_KEfX.mjs.map → _name_-D7MtW4Vu.mjs.map} +1 -1
  172. package/.output/server/chunks/build/{_uuid_-DfJaumTE.mjs → _uuid_-lvG92ein.mjs} +4 -4
  173. package/.output/server/chunks/build/{_uuid_-DfJaumTE.mjs.map → _uuid_-lvG92ein.mjs.map} +1 -1
  174. package/.output/server/chunks/build/account-LDZ4TL6x.mjs +513 -0
  175. package/.output/server/chunks/build/account-LDZ4TL6x.mjs.map +1 -0
  176. package/.output/server/chunks/build/app-CGhRZPNT.mjs +252 -0
  177. package/.output/server/chunks/build/app-CGhRZPNT.mjs.map +1 -0
  178. package/.output/server/chunks/build/{chat-CR3JIVEq.mjs → chat-BphuYhvA.mjs} +532 -39
  179. package/.output/server/chunks/build/chat-BphuYhvA.mjs.map +1 -0
  180. package/.output/server/chunks/build/client.precomputed.mjs +1 -1
  181. package/.output/server/chunks/build/cookie-C_iulBi6.mjs +1 -1
  182. package/.output/server/chunks/build/{dashboard-CiVTAZuF.mjs → dashboard-nDujDyOg.mjs} +55 -16
  183. package/.output/server/chunks/build/{dashboard-CiVTAZuF.mjs.map → dashboard-nDujDyOg.mjs.map} +1 -1
  184. package/.output/server/chunks/build/{docs-ChGwOPg5.mjs → docs-Bwucwp0r.mjs} +664 -592
  185. package/.output/server/chunks/build/docs-Bwucwp0r.mjs.map +1 -0
  186. package/.output/server/chunks/build/fetch-BB7Qzkwe.mjs +1 -1
  187. package/.output/server/chunks/build/{hooks-D328DcO6.mjs → hooks-D6PmTth8.mjs} +19 -29
  188. package/.output/server/chunks/build/hooks-D6PmTth8.mjs.map +1 -0
  189. package/.output/server/chunks/build/{index-CAnGTRlu.mjs → index-CJkn2jiM.mjs} +2 -2
  190. package/.output/server/chunks/build/{index-CAnGTRlu.mjs.map → index-CJkn2jiM.mjs.map} +1 -1
  191. package/.output/server/chunks/build/index-CxDxc9fm.mjs +1 -1
  192. package/.output/server/chunks/build/index-Cz9Y6NwN.mjs +723 -0
  193. package/.output/server/chunks/build/index-Cz9Y6NwN.mjs.map +1 -0
  194. package/.output/server/chunks/build/index-hwhuKhuZ.mjs +76 -0
  195. package/.output/server/chunks/build/index-hwhuKhuZ.mjs.map +1 -0
  196. package/.output/server/chunks/build/integrations-D5JWURiJ.mjs +1499 -0
  197. package/.output/server/chunks/build/integrations-D5JWURiJ.mjs.map +1 -0
  198. package/.output/server/chunks/build/{library-Aeg7_Lsb.mjs → library-DxRdgP6X.mjs} +2 -2
  199. package/.output/server/chunks/build/{library-Aeg7_Lsb.mjs.map → library-DxRdgP6X.mjs.map} +1 -1
  200. package/.output/server/chunks/build/{login-DnnElTl2.mjs → login-BmER_VoU.mjs} +2 -2
  201. package/.output/server/chunks/build/{login-DnnElTl2.mjs.map → login-BmER_VoU.mjs.map} +1 -1
  202. package/.output/server/chunks/build/manage-secrets-BWzqc_-f.mjs +669 -0
  203. package/.output/server/chunks/build/manage-secrets-BWzqc_-f.mjs.map +1 -0
  204. package/.output/server/chunks/build/server.mjs +65 -34
  205. package/.output/server/chunks/build/server.mjs.map +1 -1
  206. package/.output/server/chunks/build/settings-neokAVE5.mjs +154 -0
  207. package/.output/server/chunks/build/settings-neokAVE5.mjs.map +1 -0
  208. package/.output/server/chunks/build/styles.mjs +2 -2
  209. package/.output/server/chunks/build/{tasks-DnAFqbtt.mjs → tasks-CnpIQNpS.mjs} +27 -37
  210. package/.output/server/chunks/build/tasks-CnpIQNpS.mjs.map +1 -0
  211. package/.output/server/chunks/build/{useAgents-DHEXiFSc.mjs → useAgents-nmbkB9-_.mjs} +5 -26
  212. package/.output/server/chunks/build/useAgents-nmbkB9-_.mjs.map +1 -0
  213. package/.output/server/chunks/build/{view-n2sYa4Zh.mjs → view-mb0ISqfM.mjs} +3 -3
  214. package/.output/server/chunks/build/{view-n2sYa4Zh.mjs.map → view-mb0ISqfM.mjs.map} +1 -1
  215. package/.output/server/chunks/nitro/nitro.mjs +1021 -867
  216. package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
  217. package/.output/server/chunks/routes/_ws/chat.mjs +39 -5
  218. package/.output/server/chunks/routes/_ws/chat.mjs.map +1 -1
  219. package/.output/server/chunks/routes/api/index.get.mjs +17 -2
  220. package/.output/server/chunks/routes/api/index.get.mjs.map +1 -1
  221. package/.output/server/chunks/routes/api/index.get3.mjs +21 -3
  222. package/.output/server/chunks/routes/api/index.get3.mjs.map +1 -1
  223. package/.output/server/chunks/routes/api/index.get4.mjs +10 -9
  224. package/.output/server/chunks/routes/api/index.get4.mjs.map +1 -1
  225. package/.output/server/chunks/routes/api/index.get9.mjs +10 -8
  226. package/.output/server/chunks/routes/api/index.get9.mjs.map +1 -1
  227. package/.output/server/chunks/routes/api/memory/search.get.mjs +10 -5
  228. package/.output/server/chunks/routes/api/memory/search.get.mjs.map +1 -1
  229. package/.output/server/chunks/routes/renderer.mjs +1 -1
  230. package/.output/server/index.mjs +1 -1
  231. package/.output/server/package.json +1 -1
  232. package/Claude/skills/_lib/api.py +3 -2
  233. package/app/components/AssistantPanel.client.vue +16 -314
  234. package/app/components/agents/AgentCard.vue +111 -0
  235. package/app/components/agents/AgentInfoCard.vue +54 -0
  236. package/app/components/agents/AgentRunHistory.vue +103 -0
  237. package/app/components/agents/AgentRunModal.vue +1 -24
  238. package/app/components/agents/AgentStatsCards.vue +1 -26
  239. package/app/components/assistant/AssistantChat.vue +156 -0
  240. package/app/components/assistant/AssistantTerminal.client.vue +178 -0
  241. package/app/components/chat/ChatInput.vue +133 -5
  242. package/app/components/chat/ConversationList.vue +2 -12
  243. package/app/components/chat/MessageBubble.vue +188 -6
  244. package/app/components/files/FileTree.vue +23 -202
  245. package/app/components/files/FileTreeModals.vue +226 -0
  246. package/app/components/hooks/HookStatsCards.vue +1 -6
  247. package/app/components/hooks/ToolBreakdownTable.vue +1 -6
  248. package/app/components/search/DashboardSearch.vue +38 -1
  249. package/app/components/tasks/TaskCard.vue +2 -7
  250. package/app/components/tasks/TaskDetail.vue +4 -9
  251. package/app/composables/useAttachments.ts +196 -0
  252. package/app/composables/useChat.ts +14 -2
  253. package/app/composables/useSearch.ts +21 -11
  254. package/app/layouts/dashboard.vue +1 -1
  255. package/app/pages/agents/[id].vue +6 -197
  256. package/app/pages/agents/index.vue +9 -142
  257. package/app/pages/chat.vue +4 -2
  258. package/app/pages/settings/account.vue +243 -0
  259. package/app/pages/settings/app.vue +230 -0
  260. package/app/pages/settings/index.vue +12 -0
  261. package/app/pages/settings/integrations.vue +794 -0
  262. package/app/pages/settings/manage-secrets.vue +295 -0
  263. package/app/pages/settings.vue +20 -1581
  264. package/dist/cli/index.js +26 -2
  265. package/package.json +1 -1
  266. package/server/api/agents/index.get.ts +20 -1
  267. package/server/api/conversations/index.get.ts +23 -5
  268. package/server/api/documents/index.get.ts +11 -9
  269. package/server/api/memory/search.get.ts +11 -6
  270. package/server/api/tasks/index.get.ts +11 -9
  271. package/server/bridge/adapters/imessage.ts +9 -2
  272. package/server/drizzle/migrations/0016_full_text_search.sql +127 -0
  273. package/server/drizzle/migrations/meta/_journal.json +7 -0
  274. package/server/routes/_ws/chat.ts +61 -7
  275. package/server/utils/chat-session-manager.ts +20 -2
  276. package/shared/types/index.ts +34 -2
  277. package/shared/utils/formatting.ts +105 -0
  278. package/.output/public/_nuxt/0NJ3PaRM.js +0 -1
  279. package/.output/public/_nuxt/10_wwHSz.js +0 -1
  280. package/.output/public/_nuxt/1zUTf4AP.js +0 -1
  281. package/.output/public/_nuxt/2nOqGUPr.js +0 -1
  282. package/.output/public/_nuxt/3jQMk_5H.js +0 -1
  283. package/.output/public/_nuxt/6boMs_nF.js +0 -1
  284. package/.output/public/_nuxt/8q5NepGW.js +0 -9
  285. package/.output/public/_nuxt/B93pdGAW.js +0 -1
  286. package/.output/public/_nuxt/BA_pRWwX.js +0 -1
  287. package/.output/public/_nuxt/BGgwYWjH.js +0 -1
  288. package/.output/public/_nuxt/BH0QDWEm.js +0 -1
  289. package/.output/public/_nuxt/BIXrSYwR.js +0 -1
  290. package/.output/public/_nuxt/BK8S2ony.js +0 -1
  291. package/.output/public/_nuxt/BR8bKz8h.js +0 -1
  292. package/.output/public/_nuxt/BUghTae1.js +0 -1
  293. package/.output/public/_nuxt/BXuWCWsJ.js +0 -1
  294. package/.output/public/_nuxt/BZrSPX0S.js +0 -1
  295. package/.output/public/_nuxt/B_wilgcd.js +0 -1
  296. package/.output/public/_nuxt/BaZwjF8o.js +0 -1
  297. package/.output/public/_nuxt/Bciqk4dX.js +0 -1
  298. package/.output/public/_nuxt/Beom-INj.js +0 -1
  299. package/.output/public/_nuxt/BfcLZ_fC.js +0 -1
  300. package/.output/public/_nuxt/BkfI94R8.js +0 -1
  301. package/.output/public/_nuxt/BmOtR1wX.js +0 -1
  302. package/.output/public/_nuxt/BmVLxnDU.js +0 -1
  303. package/.output/public/_nuxt/BtHQ1T0f.js +0 -1
  304. package/.output/public/_nuxt/ByYh0uRg.js +0 -1
  305. package/.output/public/_nuxt/C27WoGNZ.js +0 -1
  306. package/.output/public/_nuxt/C2FxZbO_.js +0 -1
  307. package/.output/public/_nuxt/C2vq6Te8.js +0 -1
  308. package/.output/public/_nuxt/C39dQ88F.js +0 -1
  309. package/.output/public/_nuxt/C3NST0BU.js +0 -1
  310. package/.output/public/_nuxt/C4mwL7SE.js +0 -7
  311. package/.output/public/_nuxt/C5R5QaCA.js +0 -1
  312. package/.output/public/_nuxt/C71_a1IX.js +0 -1
  313. package/.output/public/_nuxt/C9WIgRRL.js +0 -1
  314. package/.output/public/_nuxt/CBTkrk2M.js +0 -1
  315. package/.output/public/_nuxt/CEnSeCqn.js +0 -1
  316. package/.output/public/_nuxt/CKxSHyww.js +0 -1
  317. package/.output/public/_nuxt/CSKJ-Ahh.js +0 -1
  318. package/.output/public/_nuxt/CTCcEJU3.js +0 -1
  319. package/.output/public/_nuxt/CVFwOzbl.js +0 -1
  320. package/.output/public/_nuxt/CVdCqaby.js +0 -1
  321. package/.output/public/_nuxt/CWyMCJQH.js +0 -1
  322. package/.output/public/_nuxt/CY-cjAwJ.js +0 -1
  323. package/.output/public/_nuxt/CYPO5o_C.js +0 -1
  324. package/.output/public/_nuxt/CZRnNmU8.js +0 -1
  325. package/.output/public/_nuxt/CZVzFlpI.js +0 -1
  326. package/.output/public/_nuxt/Cc-2ziaZ.js +0 -1
  327. package/.output/public/_nuxt/ChcO9s3o.js +0 -1
  328. package/.output/public/_nuxt/Cl-LOSDV.js +0 -1
  329. package/.output/public/_nuxt/CobqYwkp.js +0 -1
  330. package/.output/public/_nuxt/CqNwHCpo.js +0 -1
  331. package/.output/public/_nuxt/CwPdIZ9J.js +0 -1
  332. package/.output/public/_nuxt/D0ifH682.js +0 -1
  333. package/.output/public/_nuxt/D3AZaldL.js +0 -1
  334. package/.output/public/_nuxt/D4UJwDQJ.js +0 -1
  335. package/.output/public/_nuxt/D5jZq8b3.js +0 -1
  336. package/.output/public/_nuxt/D5q8SnqE.js +0 -1
  337. package/.output/public/_nuxt/D8lwrAYS.js +0 -1
  338. package/.output/public/_nuxt/D9nmzBAw.js +0 -1
  339. package/.output/public/_nuxt/DC4idAGt.js +0 -1
  340. package/.output/public/_nuxt/DH4YkDAi.js +0 -1
  341. package/.output/public/_nuxt/DJTCT0bl.js +0 -1
  342. package/.output/public/_nuxt/DNP5E1bC.js +0 -39
  343. package/.output/public/_nuxt/DO9SFIh1.js +0 -1
  344. package/.output/public/_nuxt/DPklr_tJ.js +0 -2
  345. package/.output/public/_nuxt/DQM4eBdt.js +0 -1
  346. package/.output/public/_nuxt/DQh6I9z9.js +0 -1
  347. package/.output/public/_nuxt/DS2wStH1.js +0 -1
  348. package/.output/public/_nuxt/DTAStixR.js +0 -1
  349. package/.output/public/_nuxt/DTGenhcA.js +0 -1
  350. package/.output/public/_nuxt/DUAAXJ6Q.js +0 -1
  351. package/.output/public/_nuxt/DUVzIl3o.js +0 -1
  352. package/.output/public/_nuxt/DXdwpJ-I.js +0 -16
  353. package/.output/public/_nuxt/DY3uK7wM.js +0 -1
  354. package/.output/public/_nuxt/DYbZBZet.js +0 -1
  355. package/.output/public/_nuxt/D_4LPm1U.js +0 -1
  356. package/.output/public/_nuxt/DcJbYLTp.js +0 -1
  357. package/.output/public/_nuxt/DfF81NlA.js +0 -1
  358. package/.output/public/_nuxt/DhuOKJda.js +0 -1
  359. package/.output/public/_nuxt/Di-Nc75e.js +0 -1
  360. package/.output/public/_nuxt/Djs0Tlpa.js +0 -1
  361. package/.output/public/_nuxt/DmmdPt_5.js +0 -1
  362. package/.output/public/_nuxt/Dn5a-guE.js +0 -1
  363. package/.output/public/_nuxt/DuvzM-P1.js +0 -1
  364. package/.output/public/_nuxt/Dya5oK8u.js +0 -1
  365. package/.output/public/_nuxt/DzA58_Lm.js +0 -1
  366. package/.output/public/_nuxt/E3rXPwU8.js +0 -1
  367. package/.output/public/_nuxt/GtEM7xVU.js +0 -1
  368. package/.output/public/_nuxt/H6JbrRBU.js +0 -1
  369. package/.output/public/_nuxt/ILEvizzp.js +0 -1
  370. package/.output/public/_nuxt/JbHa4oXq.js +0 -1
  371. package/.output/public/_nuxt/Kw0zy3FG.js +0 -1
  372. package/.output/public/_nuxt/N5XtbYVD.js +0 -1
  373. package/.output/public/_nuxt/SrncdpaW.js +0 -1
  374. package/.output/public/_nuxt/U1MWjQMi.js +0 -1
  375. package/.output/public/_nuxt/Um1vPiAz.js +0 -1
  376. package/.output/public/_nuxt/XCjS70z4.js +0 -1
  377. package/.output/public/_nuxt/YX8avsvq.js +0 -2
  378. package/.output/public/_nuxt/_cy8R3nk.js +0 -1
  379. package/.output/public/_nuxt/apYB9dr5.js +0 -1
  380. package/.output/public/_nuxt/builds/meta/a892969f-e07d-4f44-8d7e-57a4b7f33d94.json +0 -1
  381. package/.output/public/_nuxt/dashboard.BxCOkJwt.css +0 -1
  382. package/.output/public/_nuxt/entry.NKPfH2kE.css +0 -1
  383. package/.output/public/_nuxt/g5MjDvm5.js +0 -1
  384. package/.output/public/_nuxt/nnQqD5pb.js +0 -1
  385. package/.output/public/_nuxt/vScW1Zgm.js +0 -1
  386. package/.output/public/_nuxt/wO6z2ugJ.js +0 -1
  387. package/.output/public/_nuxt/x6FRJ5ac.js +0 -1
  388. package/.output/public/_nuxt/zq-a1TeT.js +0 -1
  389. package/.output/server/chunks/build/_id_-DN00UDdO.mjs.map +0 -1
  390. package/.output/server/chunks/build/chat-CR3JIVEq.mjs.map +0 -1
  391. package/.output/server/chunks/build/docs-ChGwOPg5.mjs.map +0 -1
  392. package/.output/server/chunks/build/hooks-D328DcO6.mjs.map +0 -1
  393. package/.output/server/chunks/build/index-C9PuieXh.mjs +0 -820
  394. package/.output/server/chunks/build/index-C9PuieXh.mjs.map +0 -1
  395. package/.output/server/chunks/build/settings-B2KXoGcz.mjs +0 -3232
  396. package/.output/server/chunks/build/settings-B2KXoGcz.mjs.map +0 -1
  397. package/.output/server/chunks/build/tasks-DnAFqbtt.mjs.map +0 -1
  398. package/.output/server/chunks/build/useAgents-DHEXiFSc.mjs.map +0 -1
@@ -1 +0,0 @@
1
- import{a as j,e as S,q as it,a2 as dt,G as c,R as s,ab as a,aj as U,ak as A,a9 as h,ae as k,U as p,C as o,ao as G,N as q,c as x,am as T,Q as b,S as l,a4 as w,a3 as D,bI as H,bg as ct,bl as rt,f as M,bJ as ut,ag as mt,T as n,_ as pt,W as ft,aa as g}from"./2dNDtTiv.js";import{_ as _t,c as vt}from"./BHtY0l0l.js";import{_ as gt}from"./rfGRTJJW.js";import{d as yt,_ as xt,u as ht}from"./BLnYhy_t.js";import{_ as bt}from"./JbHa4oXq.js";import{_ as kt}from"./YX8avsvq.js";import{_ as wt}from"./BmVLxnDU.js";import{p as Ct}from"./BDyn4ApB.js";import{u as $t}from"./DzGy77Vr.js";import{u as Ut}from"./BKXg-alD.js";import{u as Tt}from"./CVqlefTY.js";import"./Vcq4gwWv.js";import"./88opOQSr.js";import"./iik6CYzq.js";import"./t8aDAkZ5.js";import"./CqkleIqs.js";import"./DEd2xVbS.js";const zt={key:0,class:"space-y-1"},Bt=["onClick"],Ft=["onClick"],St={key:1,class:"text-sm text-dimmed italic"},At=j({__name:"ViewToc",props:{links:{}},setup(f){const i=S(null);function u(_){const d=document.getElementById(_);d&&d.scrollIntoView({behavior:"smooth",block:"start"})}return it(()=>{const _=document.querySelectorAll("h1[id], h2[id], h3[id], h4[id], h5[id], h6[id]"),d=new IntersectionObserver(t=>{for(const m of t)if(m.isIntersecting){i.value=m.target.id;break}},{rootMargin:"-80px 0px -80% 0px"});_.forEach(t=>d.observe(t)),dt(()=>d.disconnect())}),(_,d)=>f.links.length?(s(),c("nav",zt,[d[0]||(d[0]=a("p",{class:"text-sm font-semibold text-muted mb-3"}," On this page ",-1)),(s(!0),c(U,null,A(f.links,t=>(s(),c(U,{key:t.id},[a("button",{type:"button",class:p(["block w-full text-left text-sm py-1 hover:text-primary transition-colors",[o(i)===t.id?"text-primary font-medium":"text-dimmed",t.depth===2&&"pl-0",t.depth===3&&"pl-4",t.depth>=4&&"pl-8"]]),onClick:m=>u(t.id)},k(t.text),11,Bt),t.children?.length?(s(!0),c(U,{key:0},A(t.children,m=>(s(),c("button",{key:m.id,type:"button",class:p(["block w-full text-left text-sm py-1 hover:text-primary transition-colors pl-4",o(i)===m.id?"text-primary font-medium":"text-dimmed"]),onClick:E=>u(m.id)},k(m.text),11,Ft))),128)):h("",!0)],64))),128))])):(s(),c("div",St," No headings found "))}}),qt=Object.assign(At,{__name:"ViewToc"}),Dt={slots:{root:"hidden overflow-y-auto lg:block lg:max-h-[calc(100vh-var(--ui-header-height))] lg:sticky lg:top-(--ui-header-height) py-8 lg:ps-4 lg:-ms-4 lg:pe-6.5",container:"relative",top:"sticky -top-8 -mt-8 pointer-events-none z-[1]",topHeader:"h-8 bg-default -mx-4 px-4",topBody:"bg-default relative pointer-events-auto flex flex-col -mx-4 px-4",topFooter:"h-8 bg-gradient-to-b from-default -mx-4 px-4"}},Et={__name:"UPageAside",props:{as:{type:null,required:!1,default:"aside"},class:{type:null,required:!1},ui:{type:null,required:!1}},setup(f){const i=f,u=G(),_=q(),d=x(()=>T({extend:T(Dt),..._.ui?.pageAside||{}})());return(t,m)=>(s(),b(o(D),{as:f.as,"data-slot":"root",class:p(d.value.root({class:[i.ui?.root,i.class]}))},{default:l(()=>[a("div",{"data-slot":"container",class:p(d.value.container({class:i.ui?.container}))},[u.top?(s(),c("div",{key:0,"data-slot":"top",class:p(d.value.top({class:i.ui?.top}))},[a("div",{"data-slot":"topHeader",class:p(d.value.topHeader({class:i.ui?.topHeader}))},null,2),a("div",{"data-slot":"topBody",class:p(d.value.topBody({class:i.ui?.topBody}))},[w(t.$slots,"top")],2),a("div",{"data-slot":"topFooter",class:p(d.value.topFooter({class:i.ui?.topFooter}))},null,2)],2)):h("",!0),w(t.$slots,"default"),w(t.$slots,"bottom")],2)]),_:3},8,["as","class"]))}},It={base:"mt-8 pb-24 space-y-12"},Pt={__name:"UPageBody",props:{as:{type:null,required:!1},class:{type:null,required:!1}},setup(f){const i=f,u=q(),_=x(()=>T({extend:T(It),...u.ui?.pageBody||{}}));return(d,t)=>(s(),b(o(D),{as:f.as,class:p(_.value({class:i.class}))},{default:l(()=>[w(d.$slots,"default")]),_:3},8,["as","class"]))}},Lt={slots:{root:"flex flex-col lg:grid lg:grid-cols-10 lg:gap-10",left:"lg:col-span-2",center:"lg:col-span-8",right:"lg:col-span-2 order-first lg:order-last"},variants:{left:{true:""},right:{true:""}},compoundVariants:[{left:!0,right:!0,class:{center:"lg:col-span-6"}},{left:!1,right:!1,class:{center:"lg:col-span-10"}}]},Nt={__name:"UPage",props:{as:{type:null,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1}},setup(f){const i=f,u=G(),_=q(),d=x(()=>T({extend:T(Lt),..._.ui?.page||{}})({left:!!u.left,right:!!u.right}));return(t,m)=>(s(),b(o(D),{as:f.as,"data-slot":"root",class:p(d.value.root({class:[i.ui?.root,i.class]}))},{default:l(()=>[u.left?(s(),b(o(H),{key:0,"data-slot":"left",class:p(d.value.left({class:i.ui?.left}))},{default:l(()=>[w(t.$slots,"left")]),_:3},8,["class"])):h("",!0),a("div",{"data-slot":"center",class:p(d.value.center({class:i.ui?.center}))},[w(t.$slots,"default")],2),u.right?(s(),b(o(H),{key:1,"data-slot":"right",class:p(d.value.right({class:i.ui?.right}))},{default:l(()=>[w(t.$slots,"right")]),_:3},8,["class"])):h("",!0)]),_:3},8,["as","class"]))}},Vt=vt(gt),Ot={key:0,class:"py-24 text-center"},Rt={key:1,class:"py-24 text-center"},Ht={key:2,class:"py-24 text-center"},Mt={key:3,class:"py-24 text-center"},jt={class:"flex items-center justify-between mb-4"},Gt={class:"text-2xl font-bold"},Jt={class:"flex items-center gap-2"},Qt={class:"border border-default rounded-lg overflow-hidden"},Wt={class:"flex items-center justify-between mb-4"},Kt={class:"text-2xl font-bold"},Xt={class:"flex items-center gap-2"},Yt={class:"flex flex-wrap items-center gap-4 text-sm text-dimmed mb-6"},Zt={key:0,class:"flex items-center gap-1.5"},te={class:"flex items-center gap-1.5"},ee={key:1,class:"flex items-center gap-1.5"},oe={key:2,class:"flex items-center gap-1.5"},se={class:"flex gap-1"},ae={key:0,class:"border border-default rounded-lg overflow-hidden"},ne={class:"prose prose-primary dark:prose-invert max-w-none"},we=j({__name:"[uuid]",async setup(f){let i,u;const _=ct(),d=x(()=>_.params.uuid),{data:t,error:m,status:E}=([i,u]=rt(()=>$t(`/api/documents/${d.value}/public`,"$x-U1b672rk")),i=await i,u(),i),B=S([]);M(()=>t.value?.data?.content,async r=>{if(r)try{const e=await Ct(r);B.value=e.toc?.links||[]}catch(e){console.error("Failed to parse markdown for TOC:",e),B.value=[]}},{immediate:!0});const J=x(()=>m.value?.statusCode===404),Q=x(()=>m.value?.statusCode===403),W=x(()=>t.value?.data?.document?.fileType==="markdown"),K=x(()=>t.value?.data?.document?.fileType==="text"),X=x(()=>t.value?.data?.document?.fileType==="binary"),Y=x(()=>yt(t.value?.data?.document?.path||""));ut({title:()=>t.value?.data?.document?.title||"Document",description:"Shared document from Cognova",robots:()=>t.value?.data?.document?.shareType==="public"?"index, follow":"noindex, nofollow"});const{isAuthenticated:I}=Ut(),{viewSourceMode:P}=Tt(),C=S(P.value);M(C,r=>P.value=r);const L=mt(),{copy:Z}=ht();async function N(){const r=t.value?.data?.content;if(!r)return;await Z(r)?L.add({title:"Copied to clipboard",icon:"i-lucide-check",color:"success"}):L.add({title:"Failed to copy",icon:"i-lucide-x",color:"error"})}function V(){const r=t.value?.data?.content,e=t.value?.data?.document?.path;if(!r||!e)return;const y=e.split("/").pop()||"document.txt",v=new Blob([r],{type:"text/plain;charset=utf-8"}),z=URL.createObjectURL(v),$=document.createElement("a");$.href=z,$.download=y,$.click(),URL.revokeObjectURL(z)}function O(r){return r?new Date(r).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"}):""}return(r,e)=>{const y=pt,v=ft,z=Vt,$=xt,R=_t,tt=bt,et=qt,ot=Et,st=kt,at=Pt,nt=Nt,lt=wt;return s(),b(lt,{class:"py-8"},{default:l(()=>[o(J)?(s(),c("div",Ot,[n(y,{name:"i-lucide-file-x",class:"size-16 mx-auto mb-4 text-dimmed"}),e[2]||(e[2]=a("h1",{class:"text-2xl font-bold mb-2"}," Document Not Found ",-1)),e[3]||(e[3]=a("p",{class:"text-dimmed mb-6"}," This document doesn't exist or has been deleted. ",-1)),n(v,{to:"/",variant:"soft"},{default:l(()=>[...e[1]||(e[1]=[g(" Go Home ",-1)])]),_:1})])):o(Q)?(s(),c("div",Rt,[n(y,{name:"i-lucide-lock",class:"size-16 mx-auto mb-4 text-dimmed"}),e[5]||(e[5]=a("h1",{class:"text-2xl font-bold mb-2"}," Access Denied ",-1)),e[6]||(e[6]=a("p",{class:"text-dimmed mb-6"}," This document is not publicly shared. ",-1)),n(v,{to:"/login",variant:"soft"},{default:l(()=>[...e[4]||(e[4]=[g(" Sign In ",-1)])]),_:1})])):o(X)&&o(t)?.data?(s(),c("div",Ht,[n(y,{name:"i-lucide-file-warning",class:"size-16 mx-auto mb-4 text-dimmed"}),e[8]||(e[8]=a("h1",{class:"text-2xl font-bold mb-2"}," Cannot Preview This File ",-1)),e[9]||(e[9]=a("p",{class:"text-dimmed mb-6"}," Binary files cannot be previewed. ",-1)),n(v,{to:"/",variant:"soft"},{default:l(()=>[...e[7]||(e[7]=[g(" Go Home ",-1)])]),_:1})])):o(E)==="pending"?(s(),c("div",Mt,[n(y,{name:"i-lucide-loader-2",class:"size-8 mx-auto animate-spin text-dimmed"})])):o(K)&&o(t)?.data?.content?(s(),c(U,{key:4},[a("div",jt,[a("h1",Gt,k(o(t).data.document.title),1),a("div",Jt,[n(v,{icon:"i-lucide-copy",variant:"ghost",size:"sm",onClick:N},{default:l(()=>[...e[10]||(e[10]=[g(" Copy ",-1)])]),_:1}),n(v,{icon:"i-lucide-download",variant:"ghost",size:"sm",onClick:V},{default:l(()=>[...e[11]||(e[11]=[g(" Download ",-1)])]),_:1}),o(I)?(s(),b(v,{key:0,icon:"i-lucide-pencil",variant:"soft",size:"sm",to:`/docs?path=${encodeURIComponent(o(t).data.document.path)}`},{default:l(()=>[...e[12]||(e[12]=[g(" Edit ",-1)])]),_:1},8,["to"])):h("",!0)])]),a("div",Qt,[n(R,null,{fallback:l(()=>[n($,{class:"h-96"})]),default:l(()=>[n(z,{"model-value":o(t).data.content,language:o(Y),"read-only":!0,class:"max-h-[80vh]"},null,8,["model-value","language"])]),_:1})])],64)):o(W)&&o(t)?.data?.content?(s(),c(U,{key:5},[a("div",Wt,[a("h1",Kt,k(o(t).data.document.title),1),a("div",Xt,[n(v,{icon:o(C)?"i-lucide-eye":"i-lucide-code",variant:"ghost",size:"sm",onClick:e[0]||(e[0]=F=>C.value=!o(C))},{default:l(()=>[g(k(o(C)?"Preview":"Source"),1)]),_:1},8,["icon"]),n(v,{icon:"i-lucide-copy",variant:"ghost",size:"sm",onClick:N},{default:l(()=>[...e[13]||(e[13]=[g(" Copy ",-1)])]),_:1}),n(v,{icon:"i-lucide-download",variant:"ghost",size:"sm",onClick:V},{default:l(()=>[...e[14]||(e[14]=[g(" Download ",-1)])]),_:1}),o(I)?(s(),b(v,{key:0,icon:"i-lucide-pencil",variant:"soft",size:"sm",to:`/docs?path=${encodeURIComponent(o(t).data.document.path)}`},{default:l(()=>[...e[15]||(e[15]=[g(" Edit ",-1)])]),_:1},8,["to"])):h("",!0)])]),a("div",Yt,[o(t).data.document.creatorName?(s(),c("div",Zt,[n(y,{name:"i-lucide-user",class:"size-4"}),a("span",null,k(o(t).data.document.creatorName),1)])):h("",!0),a("div",te,[n(y,{name:"i-lucide-calendar",class:"size-4"}),a("span",null,k(O(o(t).data.document.createdAt)),1)]),o(t).data.document.modifiedAt?(s(),c("div",ee,[n(y,{name:"i-lucide-pencil",class:"size-4"}),a("span",null,"Updated "+k(O(o(t).data.document.modifiedAt)),1)])):h("",!0),o(t).data.document.tags?.length?(s(),c("div",oe,[n(y,{name:"i-lucide-tags",class:"size-4"}),a("div",se,[(s(!0),c(U,null,A(o(t).data.document.tags,F=>(s(),b(tt,{key:F,color:"neutral",variant:"subtle",size:"sm"},{default:l(()=>[g(k(F),1)]),_:2},1024))),128))])])):h("",!0)]),o(C)?(s(),c("div",ae,[n(R,null,{fallback:l(()=>[n($,{class:"h-96"})]),default:l(()=>[n(z,{"model-value":o(t).data.content,language:"markdown","read-only":!0,class:"max-h-[80vh]"},null,8,["model-value"])]),_:1})])):(s(),b(nt,{key:1},{left:l(()=>[n(ot,null,{default:l(()=>[n(et,{links:o(B)},null,8,["links"])]),_:1})]),default:l(()=>[n(at,null,{default:l(()=>[a("div",ne,[n(st,{value:o(t).data.content},null,8,["value"])])]),_:1})]),_:1}))],64)):h("",!0)]),_:1})}}});export{we as default};
@@ -1 +0,0 @@
1
- import{N as t,c as o,Q as r,R as l,U as i,_ as u,am as e}from"./2dNDtTiv.js";const p={base:"size-4 shrink-0 align-sub"},d={__name:"ProseIcon",props:{name:{type:String,required:!0},class:{type:null,required:!1}},setup(s){const a=s,n=t(),c=o(()=>e({extend:e(p),...n.ui?.prose?.icon||{}}));return(m,f)=>(l(),r(u,{name:s.name,class:i(c.value({class:a.class}))},null,8,["name","class"]))}};export{d as default};
@@ -1 +0,0 @@
1
- import{_ as fe}from"./wO6z2ugJ.js";import{_ as ve}from"./BR8bKz8h.js";import{e as h,c as j,a as te,q as re,G as L,R as k,ab as n,T as l,ai as N,C as t,S as i,Q as A,_ as ae,U as Z,ae as X,bm as de,W as le,aa as O,a9 as J,O as ye,P as he,L as _e,N as be,am as ue,V as ge,bl as xe,a2 as we,ag as ke,aW as ce,bg as $e}from"./2dNDtTiv.js";import{_ as Ce,a as De}from"./7oCGSglN.js";import{_ as Se}from"./C2vq6Te8.js";import{_ as me}from"./B93pdGAW.js";import{_ as Ue,a as Te}from"./CqNwHCpo.js";import{u as Fe}from"./D5jZq8b3.js";import{_ as je}from"./BUghTae1.js";import{_ as Ve}from"./BfcLZ_fC.js";import{_ as qe}from"./1zUTf4AP.js";import{_ as Ie}from"./DuvzM-P1.js";import{_ as Pe}from"./DJTCT0bl.js";import{_ as ze}from"./DYbZBZet.js";import{_ as Me,a as Ee}from"./C6qKcgOY.js";import{c as Be,_ as Oe}from"./BHtY0l0l.js";import{_ as Ne}from"./rfGRTJJW.js";import{i as Le,d as Re,_ as Ae,u as Ke}from"./BLnYhy_t.js";import{u as He}from"./DzGy77Vr.js";import{u as pe}from"./CVqlefTY.js";import"./DhI5cA_n.js";import"./zq-a1TeT.js";import"./CKxSHyww.js";import"./DH4YkDAi.js";import"./CWyMCJQH.js";import"./CYPO5o_C.js";import"./BIXrSYwR.js";import"./DtjjnHnt.js";import"./CQqCBrXj.js";import"./BS2ZNXI1.js";import"./DY3uK7wM.js";import"./DS2wStH1.js";import"./apYB9dr5.js";import"./DUAAXJ6Q.js";import"./C6Y-ieo6.js";import"./H6JbrRBU.js";import"./Db4KMnt8.js";import"./D8lwrAYS.js";import"./BA_pRWwX.js";import"./BZrSPX0S.js";import"./DEd2xVbS.js";import"./DmmdPt_5.js";import"./Bk6JUtIo.js";import"./CuxrHsu-.js";import"./vScW1Zgm.js";import"./Vcq4gwWv.js";import"./t8aDAkZ5.js";function Qe(){const d=h([]),m=h(null),c=h(!1),_=h(null),r=h("");function p(o,a=!1){const s=o.type==="directory"?void 0:b(o.name);return{id:o.path,label:o.name,icon:s,path:o.path,type:o.type,defaultExpanded:a,children:o.children?.map(U=>p(U))}}function b(o){switch(o.split(".").pop()?.toLowerCase()){case"md":return"i-lucide-file-text";case"ts":case"tsx":return"i-lucide-file-code";case"js":case"jsx":return"i-lucide-file-code";case"vue":return"i-lucide-file-code";case"json":return"i-lucide-file-json";case"css":case"scss":return"i-lucide-file-code";case"png":case"jpg":case"jpeg":case"gif":case"svg":return"i-lucide-file-image";default:return"i-lucide-file"}}async function v(o="/"){c.value=!0,_.value=null;try{const a=await $fetch("/api/fs/list",{query:{path:o,recursive:"true"}});d.value=a.data.map(s=>p(s,!0))}catch(a){_.value="Failed to load file tree",console.error("Failed to load file tree:",a)}finally{c.value=!1}}async function T(o){try{return(await $fetch("/api/fs/read",{method:"POST",body:{path:o}})).data}catch(a){throw console.error("Failed to read file:",a),a}}async function F(o,a){try{return(await $fetch("/api/fs/write",{method:"POST",body:{path:o,content:a}})).data}catch(s){throw console.error("Failed to write file:",s),s}}async function C(o,a){const s=o==="/"?`/${a}`:`${o}/${a}`;return await F(s,""),await v(),s}async function g(o,a){const s=o==="/"?`/${a}`:`${o}/${a}`;try{return await $fetch("/api/fs/mkdir",{method:"POST",body:{path:s}}),await v(),s}catch(U){throw console.error("Failed to create folder:",U),U}}async function M(o,a){const s=o.split("/");s.pop();const U=[...s,a].join("/");try{return await $fetch("/api/fs/rename",{method:"POST",body:{oldPath:o,newPath:U}}),await v(),U}catch(f){throw console.error("Failed to rename:",f),f}}async function w(o){try{await $fetch("/api/fs/delete",{method:"POST",body:{path:o}}),m.value===o&&(m.value=null),await v()}catch(a){throw console.error("Failed to delete:",a),a}}async function $(o,a){try{const s=await $fetch("/api/fs/move",{method:"POST",body:{sourcePath:o,destinationPath:a}});return await v(),s.data.newPath}catch(s){throw console.error("Failed to move:",s),s}}const q=j(()=>{if(!r.value)return d.value;const o=r.value.toLowerCase();function a(s){return s.reduce((U,f)=>{const I=f.label.toLowerCase().includes(o),V=f.children?a(f.children):[];return(I||V.length>0)&&U.push({...f,children:V.length>0?V:f.children,defaultExpanded:V.length>0||I}),U},[])}return a(d.value)});return{items:d,filteredItems:q,selectedFile:m,loading:c,error:_,searchQuery:r,loadTree:v,readFile:T,writeFile:F,createFile:C,createFolder:g,renameItem:M,deleteItem:w,moveItem:$}}const We={class:"h-full flex flex-col"},Ge={class:"-mt-1 pb-2"},Je={key:0,class:"flex items-center justify-center py-8"},Xe={key:1,class:"h-full min-h-32 flex flex-col items-center justify-center text-dimmed text-sm"},Ye=["onContextmenu","onDragstart","onDragover","onDrop"],Ze={class:"truncate"},et={class:"flex items-center gap-2"},tt={class:"flex justify-end gap-2"},at={class:"flex items-center gap-2"},lt={class:"flex justify-end gap-2"},ot={class:"flex items-center gap-2"},nt={class:"flex justify-end gap-2"},it={class:"flex items-center gap-2 text-error"},st={key:0,class:"text-sm text-dimmed mt-1"},dt={class:"flex justify-end gap-2"},rt=te({__name:"FileTree",emits:["select"],setup(d,{emit:m}){const c=m,{filteredItems:_,selectedFile:r,loading:p,searchQuery:b,loadTree:v,createFile:T,createFolder:F,renameItem:C,deleteItem:g,moveItem:M}=Qe(),w=h(null),$=h(null);function q(S,e){w.value=e,S.dataTransfer&&(S.dataTransfer.effectAllowed="move",S.dataTransfer.setData("text/plain",e.path))}function o(S,e){w.value&&e.type==="directory"&&w.value.path!==e.path&&(e.path.startsWith(w.value.path+"/")||(S.preventDefault(),$.value=e))}function a(){$.value=null}function s(){w.value=null,$.value=null}async function U(S,e){if(S.preventDefault(),!(!w.value||e.type!=="directory")){try{await M(w.value.path,e.path)}catch{}w.value=null,$.value=null}}const f=h(null),I=h(!1),V=h(!1),E=h(!1),P=h(!1),y=h(""),Y=j(()=>[[{label:"New File",icon:"i-lucide-file-plus",onSelect:()=>{y.value="",I.value=!0}},{label:"New Folder",icon:"i-lucide-folder-plus",onSelect:()=>{y.value="",V.value=!0}}],[{label:"Rename",icon:"i-lucide-pencil",onSelect:()=>{f.value&&(y.value=f.value.label,E.value=!0)}},{label:"Delete",icon:"i-lucide-trash-2",color:"error",onSelect:()=>{P.value=!0}}]]);function ee(S){S.type==="file"&&(r.value=S.path,c("select",S.path))}async function Q(){if(!y.value.trim())return;const S=f.value?.type==="directory"?f.value.path:"/";let e=y.value.trim();e.includes(".")||(e+=".md");try{const K=await T(S,e);r.value=K,c("select",K)}catch{}I.value=!1,y.value=""}async function D(){if(!y.value.trim())return;const S=f.value?.type==="directory"?f.value.path:"/";try{await F(S,y.value.trim())}catch{}V.value=!1,y.value=""}async function x(){if(!(!f.value||!y.value.trim())){try{await C(f.value.path,y.value.trim())}catch{}E.value=!1,y.value=""}}async function H(){if(f.value){try{await g(f.value.path)}catch{}P.value=!1}}return re(()=>{v()}),(S,e)=>{const K=fe,oe=ve,B=ae,ne=Ce,ie=De,R=le,W=Se,z=me;return k(),L("div",We,[n("div",Ge,[l(K,{modelValue:t(b),"onUpdate:modelValue":e[0]||(e[0]=u=>N(b)?b.value=u:null),placeholder:"Search files...",icon:"i-lucide-search",size:"sm",class:"w-full"},null,8,["modelValue"])]),l(oe,{class:"mt-2"}),l(ie,{items:t(Y),class:"flex-1 h-full overflow-auto p-2",onContextmenu:e[2]||(e[2]=u=>f.value=null)},{default:i(()=>[t(p)?(k(),L("div",Je,[l(B,{name:"i-lucide-loader-2",class:"size-6 animate-spin text-dimmed"})])):t(_).length===0?(k(),L("div",Xe,[l(B,{name:"i-lucide-folder-open",class:"size-8 mx-auto mb-2 opacity-50"}),e[14]||(e[14]=n("p",null,"No files found",-1)),e[15]||(e[15]=n("p",{class:"text-xs mt-1"}," Right-click to create a file ",-1))])):(k(),A(ne,{key:2,items:t(_),"get-key":u=>u.id,color:"primary","expanded-icon":"i-lucide-folder-open","collapsed-icon":"i-lucide-folder",onSelect:e[1]||(e[1]=(u,se)=>ee(se))},{item:i(({item:u,expanded:se})=>[n("div",{class:Z(["flex items-center gap-2 w-full",{"bg-primary/10 rounded":t($)?.path===u.path}]),draggable:"true",onContextmenu:G=>f.value=u,onDragstart:G=>q(G,u),onDragover:G=>o(G,u),onDragleave:a,onDragend:s,onDrop:G=>U(G,u)},[u.children?.length?(k(),A(B,{key:0,name:se?"i-lucide-folder-open":"i-lucide-folder",class:"size-4 shrink-0 text-dimmed"},null,8,["name"])):u.icon?(k(),A(B,{key:1,name:u.icon,class:"size-4 shrink-0 text-dimmed"},null,8,["name"])):(k(),A(B,{key:2,name:"i-lucide-file",class:"size-4 shrink-0 text-dimmed"})),n("span",Ze,X(u.label),1)],42,Ye)]),_:1},8,["items","get-key"]))]),_:1},8,["items"]),l(z,{open:t(I),"onUpdate:open":e[5]||(e[5]=u=>N(I)?I.value=u:null)},{content:i(()=>[l(W,null,{header:i(()=>[n("div",et,[l(B,{name:"i-lucide-file-plus",class:"size-5"}),e[16]||(e[16]=n("span",{class:"font-semibold"},"New File",-1))])]),footer:i(()=>[n("div",tt,[l(R,{color:"neutral",variant:"ghost",onClick:e[4]||(e[4]=u=>I.value=!1)},{default:i(()=>[...e[17]||(e[17]=[O(" Cancel ",-1)])]),_:1}),l(R,{onClick:Q},{default:i(()=>[...e[18]||(e[18]=[O(" Create ",-1)])]),_:1})])]),default:i(()=>[l(K,{modelValue:t(y),"onUpdate:modelValue":e[3]||(e[3]=u=>N(y)?y.value=u:null),placeholder:"filename.md",autofocus:"",onKeyup:de(Q,["enter"])},null,8,["modelValue"])]),_:1})]),_:1},8,["open"]),l(z,{open:t(V),"onUpdate:open":e[8]||(e[8]=u=>N(V)?V.value=u:null)},{content:i(()=>[l(W,null,{header:i(()=>[n("div",at,[l(B,{name:"i-lucide-folder-plus",class:"size-5"}),e[19]||(e[19]=n("span",{class:"font-semibold"},"New Folder",-1))])]),footer:i(()=>[n("div",lt,[l(R,{color:"neutral",variant:"ghost",onClick:e[7]||(e[7]=u=>V.value=!1)},{default:i(()=>[...e[20]||(e[20]=[O(" Cancel ",-1)])]),_:1}),l(R,{onClick:D},{default:i(()=>[...e[21]||(e[21]=[O(" Create ",-1)])]),_:1})])]),default:i(()=>[l(K,{modelValue:t(y),"onUpdate:modelValue":e[6]||(e[6]=u=>N(y)?y.value=u:null),placeholder:"folder-name",autofocus:"",onKeyup:de(D,["enter"])},null,8,["modelValue"])]),_:1})]),_:1},8,["open"]),l(z,{open:t(E),"onUpdate:open":e[11]||(e[11]=u=>N(E)?E.value=u:null)},{content:i(()=>[l(W,null,{header:i(()=>[n("div",ot,[l(B,{name:"i-lucide-pencil",class:"size-5"}),e[22]||(e[22]=n("span",{class:"font-semibold"},"Rename",-1))])]),footer:i(()=>[n("div",nt,[l(R,{color:"neutral",variant:"ghost",onClick:e[10]||(e[10]=u=>E.value=!1)},{default:i(()=>[...e[23]||(e[23]=[O(" Cancel ",-1)])]),_:1}),l(R,{onClick:x},{default:i(()=>[...e[24]||(e[24]=[O(" Rename ",-1)])]),_:1})])]),default:i(()=>[l(K,{modelValue:t(y),"onUpdate:modelValue":e[9]||(e[9]=u=>N(y)?y.value=u:null),placeholder:"new-name",autofocus:"",onKeyup:de(x,["enter"])},null,8,["modelValue"])]),_:1})]),_:1},8,["open"]),l(z,{open:t(P),"onUpdate:open":e[13]||(e[13]=u=>N(P)?P.value=u:null)},{content:i(()=>[l(W,null,{header:i(()=>[n("div",it,[l(B,{name:"i-lucide-trash-2",class:"size-5"}),e[25]||(e[25]=n("span",{class:"font-semibold"},"Delete",-1))])]),footer:i(()=>[n("div",dt,[l(R,{color:"neutral",variant:"ghost",onClick:e[12]||(e[12]=u=>P.value=!1)},{default:i(()=>[...e[28]||(e[28]=[O(" Cancel ",-1)])]),_:1}),l(R,{color:"error",onClick:H},{default:i(()=>[...e[29]||(e[29]=[O(" Delete ",-1)])]),_:1})])]),default:i(()=>[n("p",null,[e[26]||(e[26]=O(" Are you sure you want to delete ",-1)),n("strong",null,X(t(f)?.label),1),e[27]||(e[27]=O("? ",-1))]),t(f)?.type==="directory"?(k(),L("p",st," This will delete all files and folders inside. ")):J("",!0)]),_:1})]),_:1},8,["open"])])}}}),ut=Object.assign(rt,{__name:"FilesFileTree"}),ct={base:"hidden lg:flex",variants:{side:{left:"",right:""}}},mt={__name:"UDashboardSidebarCollapse",props:{color:{type:null,required:!1,default:"neutral"},variant:{type:null,required:!1,default:"ghost"},side:{type:String,required:!1,default:"left"},label:{type:String,required:!1},activeColor:{type:null,required:!1},activeVariant:{type:null,required:!1},size:{type:null,required:!1},square:{type:Boolean,required:!1},block:{type:Boolean,required:!1},loadingAuto:{type:Boolean,required:!1},onClick:{type:[Function,Array],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},as:{type:null,required:!1},type:{type:null,required:!1},disabled:{type:Boolean,required:!1},exactActiveClass:{type:String,required:!1},viewTransition:{type:Boolean,required:!1}},setup(d){const m=d,c=ye(he(m,"icon","side","class")),{t:_}=_e(),r=be(),{sidebarCollapsed:p,collapseSidebar:b}=Fe({sidebarCollapsed:h(!1),collapseSidebar:()=>{}}),v=j(()=>ue({extend:ue(ct),...r.ui?.dashboardSidebarCollapse||{}}));return(T,F)=>(k(),A(le,ge({...t(c),icon:m.icon||(t(p)?t(r).ui.icons.panelOpen:t(r).ui.icons.panelClose),"aria-label":t(p)?t(_)("dashboardSidebarCollapse.expand"):t(_)("dashboardSidebarCollapse.collapse"),...T.$attrs},{class:v.value({class:m.class,side:m.side}),onClick:F[0]||(F[0]=C=>t(b)?.(!t(p)))}),null,16,["class"]))}},pt={class:"border-b border-default px-4 py-3 bg-elevated/50"},ft={class:"flex flex-wrap items-start gap-3"},vt={class:"flex items-start gap-2 py-0.5"},yt={class:"min-w-0"},ht={class:"font-medium"},_t={class:"text-xs text-dimmed truncate"},bt=te({__name:"DocumentMetadata",props:{metadata:{},projects:{}},emits:["update:metadata"],setup(d,{emit:m}){const c=d,_=m,r=[{label:"Hidden",value:"hidden",icon:"i-lucide-lock",description:"Hidden behind authentication and never viewable by the public"},{label:"Private",value:"private",icon:"i-lucide-eye-off",description:"Viewable by anyone with the link, but will not be indexed by search engines"},{label:"Public",value:"public",icon:"i-lucide-eye",description:"Viewable to the public and indexed by search engines"}],p=j(()=>c.metadata.shared?c.metadata.shareType||"private":"hidden"),b=j(()=>r.find(g=>g.value===p.value)),v=j({get:()=>c.metadata.tags||[],set:g=>_("update:metadata",{tags:g})});function T(g){_("update:metadata",{projectId:g||void 0})}function F(g){g==="hidden"?_("update:metadata",{shared:!1,shareType:void 0}):_("update:metadata",{shared:!0,shareType:g})}const C=j(()=>[{label:"None",value:void 0},...c.projects.map(g=>({label:g.name,value:g.id}))]);return(g,M)=>{const w=Ie,$=Pe,q=ae,o=ze;return k(),L("div",pt,[n("div",ft,[l($,{label:"Project",class:"w-40"},{default:i(()=>[l(w,{"model-value":d.metadata.projectId,items:t(C),"value-key":"value",placeholder:"None",class:"w-full","search-input":!1,"onUpdate:modelValue":T},null,8,["model-value","items"])]),_:1}),l($,{label:"Visibility",class:"w-44"},{default:i(()=>[l(w,{"model-value":t(p),items:r,"value-key":"value",class:"w-full","search-input":!1,"onUpdate:modelValue":F},{leading:i(()=>[t(b)?(k(),A(q,{key:0,name:t(b).icon,class:"size-4 text-dimmed"},null,8,["name"])):J("",!0)]),item:i(({item:a})=>[n("div",vt,[l(q,{name:a.icon,class:"size-4 mt-0.5 shrink-0"},null,8,["name"]),n("div",yt,[n("div",ht,X(a.label),1),n("div",_t,X(a.description),1)])])]),_:1},8,["model-value"])]),_:1}),l($,{label:"Tags",class:"flex-1 min-w-48"},{default:i(()=>[l(o,{modelValue:t(v),"onUpdate:modelValue":M[0]||(M[0]=a=>N(v)?v.value=a:null),placeholder:"Add tags...",class:"w-full"},null,8,["modelValue"])]),_:1})])])}}}),gt=Object.assign(bt,{__name:"EditorDocumentMetadata"}),xt=Be(Ne),wt={class:"h-full flex flex-col"},kt={class:"border-b border-default py-2 flex items-center justify-between"},$t={class:"flex items-center gap-2 text-sm text-dimmed min-w-0"},Ct={class:"truncate"},Dt={key:0,class:"w-40"},St={class:"flex items-center gap-3"},Ut={key:0,class:"flex items-center gap-1 text-sm text-dimmed"},Tt={class:"space-y-4"},Ft={class:"flex items-center gap-3"},jt={class:"flex items-center gap-3"},Vt={class:"flex items-center gap-3"},qt=te({__name:"DocumentEditor",props:{document:{},body:{},metadata:{},filePath:{},saveStatus:{},isDirty:{type:Boolean},metadataDirty:{type:Boolean}},emits:["update:body","update:metadata","save"],async setup(d,{emit:m}){let c,_;const r=d,p=m,{data:b}=([c,_]=xe(()=>He("/api/projects","$c96-63t_ij")),c=await c,_(),c),v=j(()=>b.value?.data||[]),T=h(!0),{editorMode:F}=pe(),C=j({get:()=>F.value==="editor",set:D=>F.value=D?"editor":"code"}),g=j(()=>r.document.fileType==="markdown"||Le(r.filePath)),M=j(()=>Re(r.filePath)),w=j(()=>g.value),$=[[{kind:"heading",level:1,icon:"i-lucide-heading-1"},{kind:"heading",level:2,icon:"i-lucide-heading-2"},{kind:"heading",level:3,icon:"i-lucide-heading-3"}],[{kind:"mark",mark:"bold",icon:"i-lucide-bold"},{kind:"mark",mark:"italic",icon:"i-lucide-italic"},{kind:"mark",mark:"code",icon:"i-lucide-code"}],[{kind:"bulletList",icon:"i-lucide-list"},{kind:"orderedList",icon:"i-lucide-list-ordered"},{kind:"blockquote",icon:"i-lucide-quote"}],[{kind:"link",icon:"i-lucide-link"},{kind:"codeBlock",icon:"i-lucide-file-code"},{kind:"horizontalRule",icon:"i-lucide-minus"}],[{kind:"undo",icon:"i-lucide-undo"},{kind:"redo",icon:"i-lucide-redo"}]],q=j(()=>{switch(r.saveStatus){case"saving":return"i-lucide-loader-2";case"saved":return"i-lucide-check";case"error":return"i-lucide-alert-circle";default:return r.isDirty||r.metadataDirty?"i-lucide-circle-dot":null}}),o=j(()=>{switch(r.saveStatus){case"saving":return"Saving...";case"saved":return"Saved";case"error":return"Error saving";default:return r.isDirty||r.metadataDirty?"Unsaved changes":""}}),a=j(()=>r.body||void 0);function s(D){p("update:body",D)}function U(D){p("update:metadata",D)}function f(D){(D.metaKey||D.ctrlKey)&&D.key==="s"&&(D.preventDefault(),p("save"))}re(()=>window.addEventListener("keydown",f)),we(()=>window.removeEventListener("keydown",f));const I=ke(),V=j(()=>r.document?.id?`${window.location.origin}/view/${r.document.id}`:""),E=h(!1),P=h(!1);function y(){r.metadata.shared?ee():P.value=!0}const{copy:Y}=Ke();async function ee(){await Y(V.value)?(E.value=!0,I.add({title:"Link copied!",icon:"i-lucide-check",color:"success"}),setTimeout(()=>{E.value=!1},2e3)):I.add({title:"Failed to copy link",icon:"i-lucide-x",color:"error"})}function Q(D,x){p("update:metadata",{shared:D,shareType:x??void 0}),P.value=!1,D&&setTimeout(()=>ee(),100)}return(D,x)=>{const H=ae,S=qe,e=le,K=gt,oe=Me,B=Ee,ne=xt,ie=Ae,R=Oe,W=me;return k(),L("div",wt,[n("div",kt,[n("div",$t,[l(H,{name:"i-lucide-file-text",class:"size-4 shrink-0"}),n("span",Ct,X(d.filePath),1)]),t(w)?(k(),L("div",Dt,[l(S,{modelValue:t(C),"onUpdate:modelValue":x[0]||(x[0]=z=>N(C)?C.value=z:null),"unchecked-icon":"i-lucide-code","checked-icon":"i-lucide-pencil",label:t(C)?"Editor Mode":"Code Mode",ui:{base:"data-[state=unchecked]:bg-info",icon:"group-data-[state=unchecked]:text-info"}},null,8,["modelValue","label"])])):J("",!0),n("div",St,[l(e,{icon:t(E)?"i-lucide-check":"i-lucide-share",size:"xs",variant:"ghost",class:"rounded-full",onClick:y},null,8,["icon"]),l(e,{icon:t(T)?"i-lucide-panel-top-close":"i-lucide-panel-top-open",size:"xs",variant:"ghost",class:"rounded-full",onClick:x[1]||(x[1]=z=>T.value=!t(T))},null,8,["icon"]),t(q)?(k(),L("div",Ut,[l(H,{name:t(q),class:Z(["size-4",d.saveStatus==="saving"&&"animate-spin",d.saveStatus==="error"&&"text-error"])},null,8,["name","class"]),n("span",null,X(t(o)),1)])):J("",!0)])]),t(T)?(k(),A(K,{key:0,metadata:d.metadata,projects:t(v),"onUpdate:metadata":U},null,8,["metadata","projects"])):J("",!0),t(g)&&t(C)?(k(),A(B,{key:1,"model-value":t(a),"content-type":"markdown",placeholder:"Start writing...",class:"markdown-editor w-full min-h-64 flex-1","onUpdate:modelValue":s},{default:i(({editor:z})=>[l(oe,{editor:z,items:$,class:"border-b border-default"},null,8,["editor"])]),_:1},8,["model-value"])):(k(),A(R,{key:2},{fallback:i(()=>[l(ie,{class:"flex-1"})]),default:i(()=>[l(ne,{"model-value":d.body,language:t(M),class:"flex-1","onUpdate:modelValue":s},null,8,["model-value","language"])]),_:1})),l(W,{open:t(P),"onUpdate:open":x[5]||(x[5]=z=>N(P)?P.value=z:null),title:"Share Document",description:"Choose how you want to share this document"},{body:i(()=>[n("div",Tt,[n("div",{class:Z(["p-4 border border-default rounded-lg cursor-pointer hover:bg-elevated transition-colors",{"border-primary bg-elevated":!d.metadata.shared}]),onClick:x[2]||(x[2]=z=>Q(!1,null))},[n("div",Ft,[l(H,{name:"i-lucide-eye-off",class:"size-5 text-dimmed"}),x[6]||(x[6]=n("div",null,[n("div",{class:"font-medium"}," Hidden "),n("div",{class:"text-sm text-dimmed"}," Only you can view this document. Not accessible via link. ")],-1))])],2),n("div",{class:Z(["p-4 border border-default rounded-lg cursor-pointer hover:bg-elevated transition-colors",{"border-primary bg-elevated":d.metadata.shared&&d.metadata.shareType==="private"}]),onClick:x[3]||(x[3]=z=>Q(!0,"private"))},[n("div",jt,[l(H,{name:"i-lucide-link",class:"size-5 text-dimmed"}),x[7]||(x[7]=n("div",null,[n("div",{class:"font-medium"}," Private (Link Only) "),n("div",{class:"text-sm text-dimmed"}," Anyone with the link can view. Not indexed by search engines. ")],-1))])],2),n("div",{class:Z(["p-4 border border-default rounded-lg cursor-pointer hover:bg-elevated transition-colors",{"border-primary bg-elevated":d.metadata.shared&&d.metadata.shareType==="public"}]),onClick:x[4]||(x[4]=z=>Q(!0,"public"))},[n("div",Vt,[l(H,{name:"i-lucide-globe",class:"size-5 text-dimmed"}),x[8]||(x[8]=n("div",null,[n("div",{class:"font-medium"}," Public "),n("div",{class:"text-sm text-dimmed"}," Visible to everyone. Indexed by search engines. ")],-1))])],2)])]),_:1},8,["open"])])}}}),It=Object.assign(qt,{__name:"EditorDocumentEditor"});function Pt(){const d=h(null),m=h(null),c=h(""),_=h(null),r=h(!1),p=h("idle"),b=h(!1),v=h(!1),T=ce(async()=>{!d.value||!b.value||await w({body:c.value})},2e3),F=ce(async()=>{!d.value||!v.value||await w()},500);async function C(o){r.value=!0,_.value=o,b.value=!1,v.value=!1,p.value="idle";try{const a=await $fetch("/api/documents/by-path",{method:"POST",body:{path:o}});d.value=a.data.document,m.value=a.data.metadata,c.value=a.data.body||""}catch(a){console.error("Failed to load document:",a),d.value=null,m.value=null,c.value=""}finally{r.value=!1}}function g(o){c.value!==o&&(c.value=o,b.value=!0,T())}function M(o){m.value&&(m.value={...m.value,...o},v.value=!0,F())}async function w(o={}){if(d.value){p.value="saving";try{const a={...o};v.value&&m.value&&(a.title=m.value.title,a.tags=m.value.tags,a.projectId=m.value.projectId,a.shared=m.value.shared,a.shareType=m.value.shareType),b.value&&o.body===void 0&&(a.body=c.value);const s=await $fetch(`/api/documents/${d.value.id}`,{method:"PUT",body:a});d.value=s.data.document,m.value=s.data.metadata,c.value=s.data.body||"",b.value=!1,v.value=!1,p.value="saved",setTimeout(()=>{p.value==="saved"&&(p.value="idle")},2e3)}catch(a){console.error("Failed to save document:",a),p.value="error"}}}async function $(){!b.value&&!v.value||await w({body:c.value})}function q(){d.value=null,m.value=null,c.value="",_.value=null,b.value=!1,v.value=!1,p.value="idle"}return{document:d,metadata:m,body:c,filePath:_,loading:r,saveStatus:p,isDirty:b,metadataDirty:v,loadDocument:C,updateBody:g,updateMetadata:M,saveDocument:w,saveNow:$,closeDocument:q}}const zt={class:"flex flex-1 min-w-0"},Mt={key:0,class:"flex-1 flex items-center justify-center h-full"},Et={key:1,class:"flex-1 flex items-center justify-center h-full text-dimmed"},Bt={class:"text-center"},qa=te({__name:"docs",setup(d){const m=$e(),{document:c,metadata:_,body:r,filePath:p,loading:b,saveStatus:v,isDirty:T,metadataDirty:F,loadDocument:C,updateBody:g,updateMetadata:M,saveNow:w}=Pt(),{lastDocumentPath:$}=pe();async function q(o){await C(o),$.value=o}return re(async()=>{const o=m.query.path;o?(await C(o),$.value=o):$.value&&await C($.value)}),(o,a)=>{const s=ut,U=Ue,f=mt,I=je,V=le,E=Ve,P=Te,y=ae,Y=It;return k(),L("div",zt,[l(U,{id:"docs-filetree",collapsible:"",resizable:"","min-size":12,"default-size":16,"max-size":24,class:"hidden lg:flex"},{body:i(()=>[l(s,{class:"h-full",onSelect:q})]),_:1}),l(U,{id:"docs-editor",grow:"",ui:{body:"sm:py-0"}},{header:i(()=>[l(P,null,{title:i(()=>[l(f),a[0]||(a[0]=O(" Editor ",-1))]),right:i(()=>[l(I),l(E,null,{content:i(()=>[l(s,{class:"h-full",onSelect:q})]),default:i(()=>[l(V,{icon:"i-lucide-folder-tree",class:"block lg:hidden"})]),_:1})]),_:1})]),body:i(()=>[t(b)?(k(),L("div",Mt,[l(y,{name:"i-lucide-loader-2",class:"size-6 animate-spin text-dimmed"})])):t(p)?t(_)&&t(c)?(k(),A(Y,{key:t(p),document:t(c),body:t(r),metadata:t(_),"file-path":t(p),"save-status":t(v),"is-dirty":t(T),"metadata-dirty":t(F),class:"h-full","onUpdate:body":t(g),"onUpdate:metadata":t(M),onSave:t(w)},null,8,["document","body","metadata","file-path","save-status","is-dirty","metadata-dirty","onUpdate:body","onUpdate:metadata","onSave"])):J("",!0):(k(),L("div",Et,[n("div",Bt,[l(y,{name:"i-lucide-file-text",class:"size-32 mx-auto mb-4 opacity-50"}),a[1]||(a[1]=n("p",null,"Select a file to edit",-1))])]))]),_:1})])}}});export{qa as default};
@@ -1 +0,0 @@
1
- import{c as s,aQ as R,a6 as I,a as m,aR as x,aP as w,a_ as A,Q as g,R as _,S as y,a4 as b,C as o,a3 as k,bm as O}from"./2dNDtTiv.js";import{b as E,a as M,C as D}from"./ByYh0uRg.js";import{u as T}from"./CWyMCJQH.js";import{u as H}from"./BIXrSYwR.js";import{i as K}from"./fbyIeNkc.js";import{u as P}from"./C6Y-ieo6.js";function $({type:t,defaultValue:l,modelValue:a}){const e=a||l;return a!==void 0||l!==void 0?Array.isArray(e)?"multiple":"single":t??"single"}function j({type:t,defaultValue:l,modelValue:a}){return t||$({type:t,defaultValue:l,modelValue:a})}function F({type:t,defaultValue:l}){return l!==void 0?l:t==="single"?void 0:[]}function Q(t,l){const a=s(()=>j(t)),e=R(t,"modelValue",l,{defaultValue:F(t),passive:t.modelValue===void 0,deep:!0});function n(i){if(a.value==="single")e.value=I(i,e.value)?void 0:i;else{const d=Array.isArray(e.value)?[...e.value||[]]:[e.value].filter(Boolean);if(K(d,i)){const u=d.findIndex(p=>I(p,i));d.splice(u,1)}else d.push(i);e.value=d}}const r=s(()=>a.value==="single");return{modelValue:e,changeModelValue:n,isSingle:r}}const[q,N]=x("AccordionRoot");var z=m({__name:"AccordionRoot",props:{collapsible:{type:Boolean,required:!1,default:!1},disabled:{type:Boolean,required:!1,default:!1},dir:{type:String,required:!1},orientation:{type:String,required:!1,default:"vertical"},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},type:{type:String,required:!1},modelValue:{type:null,required:!1},defaultValue:{type:null,required:!1}},emits:["update:modelValue"],setup(t,{emit:l}){const a=t,e=l,{dir:n,disabled:r,unmountOnHide:i}=w(a),d=H(n),{modelValue:u,changeModelValue:p,isSingle:h}=Q(a,e),{forwardRef:c,currentElement:f}=A();return N({disabled:r,direction:d,orientation:a.orientation,parentElement:f,isSingle:h,collapsible:a.collapsible,modelValue:u,changeModelValue:p,unmountOnHide:i}),(v,B)=>(_(),g(o(k),{ref:o(c),"as-child":v.asChild,as:v.as},{default:y(()=>[b(v.$slots,"default",{modelValue:o(u)})]),_:3},8,["as-child","as"]))}}),te=z,C=(function(t){return t.Open="open",t.Closed="closed",t})(C||{});const[V,G]=x("AccordionItem");var J=m({__name:"AccordionItem",props:{disabled:{type:Boolean,required:!1},value:{type:String,required:!0},unmountOnHide:{type:Boolean,required:!1,default:void 0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t,{expose:l}){const a=t,e=q(),n=s(()=>e.isSingle.value?a.value===e.modelValue.value:Array.isArray(e.modelValue.value)&&e.modelValue.value.includes(a.value)),r=s(()=>e.disabled.value||a.disabled),i=s(()=>r.value?"":void 0),d=s(()=>n.value?C.Open:C.Closed);l({open:n,dataDisabled:i});const{currentRef:u,currentElement:p}=A();G({open:n,dataState:d,disabled:r,dataDisabled:i,triggerId:"",currentRef:u,currentElement:p,value:s(()=>a.value)});function h(c){const f=c.target;if(Array.from(e.parentElement.value?.querySelectorAll("[data-reka-collection-item]")??[]).findIndex(S=>S===f)===-1)return null;P(c,f,e.parentElement.value,{arrowKeyOptions:e.orientation,dir:e.direction.value,focus:!0})}return(c,f)=>(_(),g(o(E),{"data-orientation":o(e).orientation,"data-disabled":i.value,"data-state":d.value,disabled:r.value,open:n.value,as:a.as,"as-child":a.asChild,"unmount-on-hide":a.unmountOnHide??o(e).unmountOnHide.value,onKeydown:O(h,["up","down","left","right","home","end"])},{default:y(()=>[b(c.$slots,"default",{open:n.value})]),_:3},8,["data-orientation","data-disabled","data-state","disabled","open","as","as-child","unmount-on-hide"]))}}),oe=J,L=m({__name:"AccordionContent",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const l=t,a=q(),e=V();return A(),(n,r)=>(_(),g(o(M),{role:"region","as-child":l.asChild,as:n.as,"force-mount":l.forceMount,"aria-labelledby":o(e).triggerId,"data-state":o(e).dataState.value,"data-disabled":o(e).dataDisabled.value,"data-orientation":o(a).orientation,style:{"--reka-accordion-content-width":"var(--reka-collapsible-content-width)","--reka-accordion-content-height":"var(--reka-collapsible-content-height)"},onContentFound:r[0]||(r[0]=i=>o(a).changeModelValue(o(e).value.value))},{default:y(()=>[b(n.$slots,"default")]),_:3},8,["as-child","as","force-mount","aria-labelledby","data-state","data-disabled","data-orientation"]))}}),le=L,U=m({__name:"AccordionTrigger",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const l=t,a=q(),e=V();e.triggerId||=T(void 0,"reka-accordion-trigger");function n(){const r=a.isSingle.value&&e.open.value&&!a.collapsible;e.disabled.value||r||a.changeModelValue(e.value.value)}return(r,i)=>(_(),g(o(D),{id:o(e).triggerId,ref:o(e).currentRef,"data-reka-collection-item":"",as:l.as,"as-child":l.asChild,"aria-disabled":o(e).disabled.value||void 0,"aria-expanded":o(e).open.value||!1,"data-disabled":o(e).dataDisabled.value,"data-orientation":o(a).orientation,"data-state":o(e).dataState.value,disabled:o(e).disabled.value,onClick:n},{default:y(()=>[b(r.$slots,"default")]),_:3},8,["id","as","as-child","aria-disabled","aria-expanded","data-disabled","data-orientation","data-state","disabled"]))}}),ne=U;export{oe as A,V as a,ne as b,le as c,te as d,q as i};
@@ -1 +0,0 @@
1
- import{X as e}from"./2dNDtTiv.js";function a(r,u="reka"){return r||`${u}-${e?.()}`}export{a as u};
@@ -1 +0,0 @@
1
- import{N as r,c,G as n,R as p,a4 as u,U as i,am as s}from"./2dNDtTiv.js";const m={base:"list-disc ps-6 my-5 marker:text-(--ui-border-accented)"},_={__name:"ProseUl",props:{class:{type:null,required:!1}},setup(e){const a=e,t=r(),o=c(()=>s({extend:s(m),...t.ui?.prose?.ul||{}}));return(l,d)=>(p(),n("ul",{class:i(o.value({class:a.class}))},[u(l.$slots,"default")],2))}};export{_ as default};
@@ -1 +0,0 @@
1
- import{a0 as S,a as O,aP as P,aQ as q,e as v,a1 as x,aR as B,Q as U,R as D,S as w,T as G,C as d,a3 as M,a4 as N}from"./2dNDtTiv.js";import{u as L}from"./BIXrSYwR.js";const V="rovingFocusGroup.onEntryFocus",k={bubbles:!1,cancelable:!0},K={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function Y(e,o){return o!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function J(e,o,a){const t=Y(e.key,a);if(!(o==="vertical"&&["ArrowLeft","ArrowRight"].includes(t))&&!(o==="horizontal"&&["ArrowUp","ArrowDown"].includes(t)))return K[t]}function $(e,o=!1){const a=S();for(const t of e)if(t===a||(t.focus({preventScroll:o}),S()!==a))return}function W(e,o){return e.map((a,t)=>e[(o+t)%e.length])}const[X,Q]=B("RovingFocusGroup");var j=O({__name:"RovingFocusGroup",props:{orientation:{type:String,required:!1,default:void 0},dir:{type:String,required:!1},loop:{type:Boolean,required:!1,default:!1},currentTabStopId:{type:[String,null],required:!1},defaultCurrentTabStopId:{type:String,required:!1},preventScrollOnEntryFocus:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["entryFocus","update:currentTabStopId"],setup(e,{expose:o,emit:a}){const t=e,g=a,{loop:I,orientation:m,dir:T}=P(t),F=L(T),f=q(t,"currentTabStopId",g,{defaultValue:t.defaultCurrentTabStopId,passive:t.currentTabStopId===void 0}),i=v(!1),l=v(!1),p=v(0),{getItems:b,CollectionSlot:A}=x({isProvider:!0});function h(r){const s=!l.value;if(r.currentTarget&&r.target===r.currentTarget&&s&&!i.value){const u=new CustomEvent(V,k);if(r.currentTarget.dispatchEvent(u),g("entryFocus",u),!u.defaultPrevented){const c=b().map(n=>n.ref).filter(n=>n.dataset.disabled!==""),E=c.find(n=>n.getAttribute("data-active")===""),R=c.find(n=>n.getAttribute("data-highlighted")===""),_=c.find(n=>n.id===f.value),y=[E,R,_,...c].filter(Boolean);$(y,t.preventScrollOnEntryFocus)}}l.value=!1}function C(){setTimeout(()=>{l.value=!1},1)}return o({getItems:b}),Q({loop:I,dir:F,orientation:m,currentTabStopId:f,onItemFocus:r=>{f.value=r},onItemShiftTab:()=>{i.value=!0},onFocusableItemAdd:()=>{p.value++},onFocusableItemRemove:()=>{p.value--}}),(r,s)=>(D(),U(d(A),null,{default:w(()=>[G(d(M),{tabindex:i.value||p.value===0?-1:0,"data-orientation":d(m),as:r.as,"as-child":r.asChild,dir:d(F),style:{outline:"none"},onMousedown:s[0]||(s[0]=u=>l.value=!0),onMouseup:C,onFocus:h,onBlur:s[1]||(s[1]=u=>i.value=!1)},{default:w(()=>[N(r.$slots,"default")]),_:3},8,["tabindex","data-orientation","as","as-child","dir"])]),_:3}))}}),Z=j;export{K as M,Z as R,$ as f,J as g,X as i,W as w};
@@ -1 +0,0 @@
1
- import{N as l,c as n,G as c,R as p,a4 as d,U as u,am as e}from"./2dNDtTiv.js";const m={base:"py-3 px-4 font-semibold text-sm text-left border-e border-b first:border-s border-t border-muted"},b={__name:"ProseTh",props:{class:{type:null,required:!1}},setup(s){const t=s,o=l(),r=n(()=>e({extend:e(m),...o.ui?.prose?.th||{}}));return(a,f)=>(p(),c("th",{class:u(r.value({class:t.class}))},[d(a.$slots,"default")],2))}};export{b as default};
@@ -1 +0,0 @@
1
- import{N as n,c,G as r,R as p,a4 as u,U as i,am as s}from"./2dNDtTiv.js";const m={base:"my-1.5 ps-1.5 leading-7 [&>ul]:my-0"},_={__name:"ProseLi",props:{class:{type:null,required:!1}},setup(e){const a=e,l=n(),o=c(()=>s({extend:s(m),...l.ui?.prose?.li||{}}));return(t,d)=>(p(),r("li",{class:i(o.value({class:a.class}))},[u(t.$slots,"default")],2))}};export{_ as default};
@@ -1 +0,0 @@
1
- import{N as c,c as u,G as n,R as p,ab as i,a4 as d,U as a,am as o}from"./2dNDtTiv.js";const m={slots:{root:"relative my-5 overflow-x-auto",base:"w-full border-separate border-spacing-0 rounded-md"}},v={__name:"ProseTable",props:{class:{type:null,required:!1},ui:{type:null,required:!1}},setup(t){const e=t,l=c(),s=u(()=>o({extend:o(m),...l.ui?.prose?.table||{}})());return(r,f)=>(p(),n("div",{class:a(s.value.root({class:[e.ui?.root,e.class]}))},[i("table",{class:a(s.value.base({class:e.ui?.base}))},[d(r.$slots,"default")],2)],2))}};export{v as default};
@@ -1 +0,0 @@
1
- import{N as n,c as p,G as r,R as c,a4 as u,U as m,am as s}from"./2dNDtTiv.js";const i={base:"my-5 leading-7 text-pretty"},_={__name:"ProseP",props:{class:{type:null,required:!1}},setup(e){const a=e,t=n(),o=p(()=>s({extend:s(i),...t.ui?.prose?.p||{}}));return(l,d)=>(c(),r("p",{class:m(o.value({class:a.class}))},[u(l.$slots,"default")],2))}};export{_ as default};
@@ -1 +0,0 @@
1
- import{N as t,c,G as l,R as n,U as p,am as s}from"./2dNDtTiv.js";const u={base:"border-t border-default my-12"},f={__name:"ProseHr",props:{class:{type:null,required:!1}},setup(e){const a=e,r=t(),o=c(()=>s({extend:s(u),...r.ui?.prose?.hr||{}}));return(m,i)=>(n(),l("hr",{class:p(o.value({class:a.class}))},null,2))}};export{f as default};
@@ -1 +0,0 @@
1
- import{aq as g,ao as S,ar as V,N as q,c as u,e as C,q as b,as as M,f as i,at as U,Q as m,R as c,S as _,au as B,C as I,aU as $,U as k,am as p}from"./2dNDtTiv.js";import{_ as w}from"./CPutXj8l.js";import"./D0ifH682.js";import"./CYPO5o_C.js";import"./BIXrSYwR.js";import"./DH4YkDAi.js";import"./CWyMCJQH.js";import"./JbHa4oXq.js";const x={slots:{root:"my-5 gap-4"}},R={__name:"ProseTabs",props:g({defaultValue:{type:String,required:!1,default:"0"},sync:{type:String,required:!1},hash:{type:String,required:!1},class:{type:null,required:!1},ui:{type:void 0,required:!1}},{modelValue:{type:String},modelModifiers:{}}),emits:["update:modelValue"],setup(r){const t=r,d=S(),s=V(r,"modelValue"),f=q(),y=u(()=>p({extend:p(x),...f.ui?.prose?.tabs||{}})),n=C(1),h=u(()=>(n.value,d.default?.()?.flatMap(l).filter(Boolean)||[]));function l(e,a){return typeof e.type=="symbol"?e.children?.map(l):{index:a,label:e.props?.label||`${a}`,description:e.props?.description,icon:e.props?.icon,component:e}}b(()=>{if(t.sync){const e=`tabs-${t.sync}`,a=M(e,()=>localStorage.getItem(e));i(a,()=>{a.value&&(s.value=a.value)},{immediate:!0}),i(s,()=>{s.value&&(a.value=s.value,localStorage.setItem(e,s.value))})}});async function v(){if(t.hash){const e=t.hash.startsWith("#")?t.hash:`#${t.hash}`;setTimeout(()=>{document.querySelector(e)?.scrollIntoView()},200)}}return U(()=>n.value++),(e,a)=>(c(),m(w,{modelValue:s.value,"onUpdate:modelValue":[a[0]||(a[0]=o=>s.value=o),v],color:"primary",variant:"link",items:h.value,class:k(t.class),"unmount-on-hide":!1,ui:I($)(y.value(),t.ui)},{content:_(({item:o})=>[(c(),m(B(o.component)))]),_:1},8,["modelValue","items","class","ui"]))}};export{R as default};
@@ -1 +0,0 @@
1
- import{u as D,a as j,_ as B,b as P}from"./D5jZq8b3.js";import{N,X as R,aC as V,c as T,G as k,R as r,ab as b,a4 as l,V as q,C as e,aj as x,am as y,U as n,Q as m,a9 as f,ao as M,T as z,S as C,aN as c,aO as g,_ as O,aa as A,ae as U,a3 as K}from"./2dNDtTiv.js";import{c as E}from"./DhI5cA_n.js";const F={slots:{root:"relative flex flex-col min-w-0 min-h-svh lg:not-last:border-e lg:not-last:border-default shrink-0",body:"flex flex-col gap-4 sm:gap-6 flex-1 overflow-y-auto p-4 sm:p-6",handle:""},variants:{size:{true:{root:"w-full lg:w-(--width)"},false:{root:"flex-1"}}}},G=["data-dragging"],L=Object.assign({inheritAttrs:!1},{__name:"UDashboardPanel",props:{class:{type:null,required:!1},ui:{type:null,required:!1},id:{type:String,required:!1},minSize:{type:Number,required:!1,default:15},maxSize:{type:Number,required:!1},defaultSize:{type:Number,required:!1},resizable:{type:Boolean,required:!1,default:!1}},setup(a){const t=a,p=N(),h=D({storageKey:"dashboard",unit:"%"}),i=`${h.storageKey}-panel-${t.id||R()}`,{el:v,size:u,isDragging:s,onMouseDown:o,onTouchStart:$,onDoubleClick:w}=j(i,V(()=>({...h,...t}))),S=T(()=>y({extend:y(F),...p.ui?.dashboardPanel||{}})({size:!!u.value}));return(d,Q)=>(r(),k(x,null,[b("div",q({id:i,ref_key:"el",ref:v},d.$attrs,{"data-dragging":e(s),"data-slot":"root",class:S.value.root({class:[t.ui?.root,t.class]}),style:[e(u)?{"--width":`${e(u)}${e(h).unit}`}:void 0]}),[l(d.$slots,"default",{},()=>[l(d.$slots,"header"),b("div",{"data-slot":"body",class:n(S.value.body({class:t.ui?.body}))},[l(d.$slots,"body")],2),l(d.$slots,"footer")])],16,G),l(d.$slots,"resize-handle",{onMouseDown:e(o),onTouchStart:e($),onDoubleClick:e(w)},()=>[a.resizable?(r(),m(B,{key:0,"aria-controls":i,"data-slot":"handle",class:n(S.value.handle({class:t.ui?.handle})),onMousedown:e(o),onTouchstart:e($),onDblclick:e(w)},null,8,["class","onMousedown","onTouchstart","onDblclick"])):f("",!0)])],64))}}),I={slots:{root:"h-(--ui-header-height) shrink-0 flex items-center justify-between border-b border-default px-4 sm:px-6 gap-1.5",left:"flex items-center gap-1.5 min-w-0",icon:"shrink-0 size-5 self-center me-1.5",title:"flex items-center gap-1.5 font-semibold text-highlighted truncate",center:"hidden lg:flex",right:"flex items-center shrink-0 gap-1.5",toggle:""},variants:{toggleSide:{left:{toggle:""},right:{toggle:""}}}},W=Object.assign({inheritAttrs:!1},{__name:"UDashboardNavbar",props:{as:{type:null,required:!1},icon:{type:null,required:!1},title:{type:String,required:!1},toggle:{type:[Boolean,Object],required:!1,default:!0},toggleSide:{type:String,required:!1,default:"left"},class:{type:null,required:!1},ui:{type:null,required:!1}},setup(a){const t=a,p=M(),h=N(),i=D({}),[v,u]=E(),s=T(()=>y({extend:y(I),...h.ui?.dashboardNavbar||{}})());return(o,$)=>(r(),k(x,null,[z(e(v),null,{default:C(()=>[l(o.$slots,"toggle",c(g({...e(i),ui:s.value})),()=>[a.toggle?(r(),m(P,q({key:0},typeof a.toggle=="object"?a.toggle:{},{side:a.toggleSide,"data-slot":"toggle",class:s.value.toggle({class:t.ui?.toggle,toggleSide:a.toggleSide})}),null,16,["side","class"])):f("",!0)])]),_:3}),z(e(K),q({as:a.as},o.$attrs,{"data-slot":"root",class:s.value.root({class:[t.ui?.root,t.class]})}),{default:C(()=>[b("div",{"data-slot":"left",class:n(s.value.left({class:t.ui?.left}))},[a.toggleSide==="left"?(r(),m(e(u),{key:0})):f("",!0),l(o.$slots,"left",c(g(e(i))),()=>[l(o.$slots,"leading",c(g({...e(i),ui:s.value})),()=>[a.icon?(r(),m(O,{key:0,name:a.icon,"data-slot":"icon",class:n(s.value.icon({class:t.ui?.icon}))},null,8,["name","class"])):f("",!0)]),b("h1",{"data-slot":"title",class:n(s.value.title({class:t.ui?.title}))},[l(o.$slots,"title",{},()=>[A(U(a.title),1)])],2),l(o.$slots,"trailing",c(g({...e(i),ui:s.value})))])],2),p.default?(r(),k("div",{key:0,"data-slot":"center",class:n(s.value.center({class:t.ui?.center}))},[l(o.$slots,"default",c(g(e(i))))],2)):f("",!0),b("div",{"data-slot":"right",class:n(s.value.right({class:t.ui?.right}))},[l(o.$slots,"right",c(g(e(i)))),a.toggleSide==="right"?(r(),m(e(u),{key:0})):f("",!0)],2)]),_:3},16,["as","class"])],64))}});export{L as _,W as a};
@@ -1 +0,0 @@
1
- import{_ as oe}from"./JbHa4oXq.js";import{a as Q,c as U,G as F,R as v,ab as k,T as l,U as Z,C as s,_ as se,al as $e,Q as B,a9 as E,ae as j,S as m,aa as S,aV as ue,aj as ae,ak as le,W as J,ai as z,e as b,f as q,ah as De,bg as Ce,ag as Ue,q as Ve,n as ce}from"./2dNDtTiv.js";import{_ as Fe}from"./BUghTae1.js";import{_ as Se,a as Ie}from"./CqNwHCpo.js";import{_ as ne}from"./C3NST0BU.js";import{_ as de}from"./wO6z2ugJ.js";import{_ as Pe}from"./XCjS70z4.js";import{_ as me}from"./C2vq6Te8.js";import{_ as Ee}from"./CuxrHsu-.js";import{_ as Ae}from"./DJTCT0bl.js";import{_ as ze,a as Be}from"./C6qKcgOY.js";import{_ as Le}from"./DYbZBZet.js";import{_ as Oe}from"./DzA58_Lm.js";import{_ as Me}from"./YX8avsvq.js";import{_ as Ne}from"./B93pdGAW.js";import{_ as qe}from"./D_4LPm1U.js";import{u as He}from"./CVqlefTY.js";import"./D5jZq8b3.js";import"./DhI5cA_n.js";import"./DEd2xVbS.js";import"./BIXrSYwR.js";import"./DmmdPt_5.js";import"./apYB9dr5.js";import"./H6JbrRBU.js";import"./Db4KMnt8.js";import"./CQqCBrXj.js";import"./DUAAXJ6Q.js";import"./CWyMCJQH.js";import"./DS2wStH1.js";import"./C6Y-ieo6.js";import"./CYPO5o_C.js";import"./D8lwrAYS.js";import"./zq-a1TeT.js";import"./vScW1Zgm.js";import"./Vcq4gwWv.js";import"./Bk6JUtIo.js";import"./BA_pRWwX.js";import"./BZrSPX0S.js";import"./88opOQSr.js";import"./iik6CYzq.js";import"./t8aDAkZ5.js";import"./BHtY0l0l.js";const Re={class:"flex items-center gap-2"},Qe={class:"flex items-center flex-wrap gap-2 mt-2"},Ge={key:4,class:"text-xs text-dimmed"},We=Q({__name:"TaskCard",props:{task:{}},emits:["toggle","edit","delete","view"],setup(e,{emit:w}){const r=e,h=w,i={1:{label:"Low",color:"neutral",icon:"i-lucide-arrow-down"},2:{label:"Medium",color:"warning",icon:"i-lucide-minus"},3:{label:"High",color:"error",icon:"i-lucide-arrow-up"}},C={todo:{label:"Todo",color:"neutral",icon:"i-lucide-circle"},in_progress:{label:"In Progress",color:"info",icon:"i-lucide-clock"},done:{label:"Done",color:"success",icon:"i-lucide-check-circle"},blocked:{label:"Blocked",color:"error",icon:"i-lucide-alert-circle"}},u=U(()=>i[r.task.priority]||i[2]),g=U(()=>C[r.task.status]),_=U(()=>r.task.status==="done"),c=U(()=>!!r.task.description?.trim()),a=U(()=>!r.task.dueDate||_.value?!1:new Date(r.task.dueDate)<new Date);function p(I){return I?new Date(I).toLocaleDateString("en-US",{month:"short",day:"numeric"}):null}const $=U(()=>[[{label:"Edit",icon:"i-lucide-pencil",onSelect:()=>h("edit",r.task)},{label:"Delete",icon:"i-lucide-trash-2",color:"error",onSelect:()=>h("delete",r.task.id)}]]);return(I,A)=>{const o=se,t=oe,n=J,T=Ee;return v(),F("div",{class:Z(["group flex items-start gap-3 p-3 rounded-lg border border-default hover:bg-elevated transition-colors",{"opacity-60":s(_)}])},[k("button",{class:"mt-0.5 shrink-0",onClick:A[0]||(A[0]=$e(V=>h("toggle",e.task.id),["stop"]))},[l(o,{name:s(_)?"i-lucide-check-circle-2":"i-lucide-circle",class:Z(["size-5",s(_)?"text-success":"text-dimmed hover:text-default"])},null,8,["name","class"])]),k("button",{class:"flex-1 min-w-0 text-left",onClick:A[1]||(A[1]=V=>h("view",e.task))},[k("div",Re,[k("span",{class:Z(["font-medium",{"line-through text-dimmed":s(_)}])},j(e.task.title),3),s(c)?(v(),B(o,{key:0,name:"i-lucide-file-text",class:"size-3.5 text-dimmed shrink-0"})):E("",!0)]),k("div",Qe,[e.task.project?(v(),B(t,{key:0,variant:"subtle",color:"neutral",size:"xs"},{default:m(()=>[k("span",{class:"size-2 rounded-full mr-1",style:ue({backgroundColor:e.task.project.color})},null,4),S(" "+j(e.task.project.name),1)]),_:1})):E("",!0),e.task.priority!==2?(v(),B(t,{key:1,color:s(u).color,variant:"subtle",size:"xs"},{default:m(()=>[l(o,{name:s(u).icon,class:"size-3 mr-1"},null,8,["name"]),S(" "+j(s(u).label),1)]),_:1},8,["color"])):E("",!0),e.task.status==="in_progress"||e.task.status==="blocked"?(v(),B(t,{key:2,color:s(g).color,variant:"subtle",size:"xs"},{default:m(()=>[l(o,{name:s(g).icon,class:"size-3 mr-1"},null,8,["name"]),S(" "+j(s(g).label),1)]),_:1},8,["color"])):E("",!0),e.task.dueDate?(v(),F("span",{key:3,class:Z(["text-xs flex items-center gap-1",s(a)?"text-error":"text-dimmed"])},[l(o,{name:"i-lucide-calendar",class:"size-3"}),S(" "+j(p(e.task.dueDate)),1)],2)):E("",!0),(v(!0),F(ae,null,le(e.task.tags?.slice(0,3),V=>(v(),B(t,{key:V,variant:"subtle",color:"neutral",size:"xs"},{default:m(()=>[S(j(V),1)]),_:2},1024))),128)),e.task.tags&&e.task.tags.length>3?(v(),F("span",Ge," +"+j(e.task.tags.length-3),1)):E("",!0)])]),l(T,{items:s($)},{default:m(()=>[l(n,{icon:"i-lucide-more-vertical",color:"neutral",variant:"ghost",size:"xs",class:"opacity-0 group-hover:opacity-100 transition-opacity"})]),_:1},8,["items"])],2)}}}),Je=Object.assign(We,{__name:"TasksTaskCard"}),Ke={key:0,class:"flex items-center justify-center py-12"},Xe={class:"text-center py-8 text-dimmed"},Ye={key:2,class:"space-y-2"},Ze=Q({__name:"TaskList",props:{tasks:{},loading:{type:Boolean}},emits:["toggle","edit","delete","create","view"],setup(e,{emit:w}){const r=w;return(h,i)=>{const C=se,u=J,g=me,_=Je;return v(),F("div",null,[e.loading?(v(),F("div",Ke,[l(C,{name:"i-lucide-loader-2",class:"size-8 animate-spin text-dimmed"})])):e.tasks.length===0?(v(),B(g,{key:1},{default:m(()=>[k("div",Xe,[l(C,{name:"i-lucide-check-square",class:"size-12 mx-auto mb-2 opacity-50"}),i[5]||(i[5]=k("p",{class:"font-medium"}," No tasks yet ",-1)),i[6]||(i[6]=k("p",{class:"text-sm mt-1"}," Create your first task to get started. ",-1)),l(u,{class:"mt-4",icon:"i-lucide-plus",label:"Add Task",onClick:i[0]||(i[0]=c=>r("create"))})])]),_:1})):(v(),F("div",Ye,[(v(!0),F(ae,null,le(e.tasks,c=>(v(),B(_,{key:c.id,task:c,onToggle:i[1]||(i[1]=a=>r("toggle",a)),onEdit:i[2]||(i[2]=a=>r("edit",a)),onDelete:i[3]||(i[3]=a=>r("delete",a)),onView:i[4]||(i[4]=a=>r("view",a))},null,8,["task"]))),128))]))])}}}),et=Object.assign(Ze,{__name:"TasksTaskList"}),te="__none__",tt=Q({__name:"ProjectSelect",props:{modelValue:{},projects:{}},emits:["update:modelValue"],setup(e,{emit:w}){const r=e,h=w,i=U({get:()=>r.modelValue||te,set:u=>h("update:modelValue",u===te?null:u)}),C=U(()=>[{value:te,label:"No Project"},...r.projects.filter(u=>!u.deletedAt).map(u=>({value:u.id,label:u.name}))]);return(u,g)=>{const _=ne;return v(),B(_,{modelValue:s(i),"onUpdate:modelValue":g[0]||(g[0]=c=>z(i)?i.value=c:null),items:s(C),"value-key":"value",class:"w-full"},null,8,["modelValue","items"])}}}),ot=Object.assign(tt,{__name:"TasksProjectSelect"}),st={class:"task-form-body"},at={class:"task-form-description"},lt={class:"task-form-fields"},nt={class:"grid grid-cols-2 gap-4"},it={class:"flex justify-end gap-2 w-full"},rt=Q({__name:"TaskForm",props:{open:{type:Boolean},task:{},projects:{}},emits:["update:open","submit"],setup(e,{emit:w}){const r=e,h=w,i=U(()=>!!r.task?.id),C=U(()=>i.value?"Edit Task":"Create Task"),u=b(""),g=b(""),_=b("todo"),c=b(2),a=b(null),p=b(""),$=b([]),I=[{value:"todo",label:"Todo"},{value:"in_progress",label:"In Progress"},{value:"done",label:"Done"},{value:"blocked",label:"Blocked"}],A=[{value:1,label:"Low"},{value:2,label:"Medium"},{value:3,label:"High"}],o=[[{kind:"mark",mark:"bold",icon:"i-lucide-bold"},{kind:"mark",mark:"italic",icon:"i-lucide-italic"},{kind:"mark",mark:"code",icon:"i-lucide-code"}],[{kind:"bulletList",icon:"i-lucide-list"},{kind:"orderedList",icon:"i-lucide-list-ordered"}],[{kind:"link",icon:"i-lucide-link"}]],t=U(()=>g.value||void 0);q(()=>r.task,x=>{x?(u.value=x.title,g.value=x.description||"",_.value=x.status,c.value=x.priority,a.value=x.projectId||null,p.value=x.dueDate&&new Date(x.dueDate).toISOString().split("T")[0]||"",$.value=x.tags||[]):n()},{immediate:!0}),q(()=>r.open,x=>{x||n()});function n(){u.value="",g.value="",_.value="todo",c.value=2,a.value=null,p.value="",$.value=[]}function T(){h("update:open",!1)}function V(){if(!u.value.trim())return;const x={title:u.value.trim(),description:g.value.trim()||void 0,status:_.value,priority:c.value,projectId:a.value,dueDate:p.value||void 0,tags:$.value};h("submit",x),T()}return(x,y)=>{const K=de,M=Ae,G=ze,X=Be,O=ne,N=ot,H=Le,R=J,Y=Oe;return v(),B(Y,{open:e.open,title:s(C),"onUpdate:open":y[7]||(y[7]=D=>h("update:open",D))},{body:m(()=>[k("div",st,[l(M,{label:"Title",required:""},{default:m(()=>[l(K,{modelValue:s(u),"onUpdate:modelValue":y[0]||(y[0]=D=>z(u)?u.value=D:null),placeholder:"Task title...",autofocus:"",class:"w-full"},null,8,["modelValue"])]),_:1}),k("div",at,[y[8]||(y[8]=k("label",{class:"block text-sm font-medium text-default mb-1.5"},"Description",-1)),l(X,{"model-value":s(t),"content-type":"markdown",placeholder:"Add a description...",class:"task-editor","onUpdate:modelValue":y[1]||(y[1]=D=>g.value=D)},{default:m(({editor:D})=>[l(G,{editor:D,items:o,class:"border-b border-default"},null,8,["editor"])]),_:1},8,["model-value"])]),k("div",lt,[k("div",nt,[l(M,{label:"Status"},{default:m(()=>[l(O,{modelValue:s(_),"onUpdate:modelValue":y[2]||(y[2]=D=>z(_)?_.value=D:null),items:I,"value-key":"value",class:"w-full"},null,8,["modelValue"])]),_:1}),l(M,{label:"Priority"},{default:m(()=>[l(O,{modelValue:s(c),"onUpdate:modelValue":y[3]||(y[3]=D=>z(c)?c.value=D:null),items:A,"value-key":"value",class:"w-full"},null,8,["modelValue"])]),_:1})]),l(M,{label:"Project"},{default:m(()=>[l(N,{modelValue:s(a),"onUpdate:modelValue":y[4]||(y[4]=D=>z(a)?a.value=D:null),projects:e.projects,class:"w-full"},null,8,["modelValue","projects"])]),_:1}),l(M,{label:"Due Date"},{default:m(()=>[l(K,{modelValue:s(p),"onUpdate:modelValue":y[5]||(y[5]=D=>z(p)?p.value=D:null),type:"date",class:"w-full"},null,8,["modelValue"])]),_:1}),l(M,{label:"Tags"},{default:m(()=>[l(H,{modelValue:s($),"onUpdate:modelValue":y[6]||(y[6]=D=>z($)?$.value=D:null),placeholder:"Add tags...",class:"w-full"},null,8,["modelValue"])]),_:1})])])]),footer:m(()=>[k("div",it,[l(R,{color:"neutral",variant:"ghost",onClick:T},{default:m(()=>[...y[9]||(y[9]=[S(" Cancel ",-1)])]),_:1}),l(R,{disabled:!s(u).trim(),onClick:V},{default:m(()=>[S(j(s(i)?"Save Changes":"Create Task"),1)]),_:1},8,["disabled"])])]),_:1},8,["open","title"])}}}),ct=Object.assign(rt,{__name:"TasksTaskForm"}),ut={class:"flex items-start justify-between gap-4"},dt={class:"text-lg font-semibold"},mt={class:"space-y-4"},pt={class:"flex flex-wrap items-center gap-3 text-sm"},ft={key:0,class:"flex items-center gap-1.5"},kt={class:"text-dimmed"},vt={class:"flex items-center gap-1.5"},_t={key:1,class:"flex items-center gap-1.5"},gt={class:"text-dimmed"},yt={key:0,class:"flex flex-wrap gap-1.5"},bt={key:1,class:"pt-2 border-t border-default"},ht={class:"prose prose-sm dark:prose-invert max-w-none"},wt={class:"pt-2 border-t border-default text-xs text-dimmed space-y-1"},Tt={key:0},xt={key:0},jt={class:"flex justify-between"},$t={class:"flex gap-2"},Dt=Q({__name:"TaskDetail",props:{task:{}},emits:["edit","close","toggle"],setup(e,{emit:w}){const r=e,h=w,i={1:{label:"Low",color:"neutral"},2:{label:"Medium",color:"warning"},3:{label:"High",color:"error"}},C={todo:{label:"Todo",color:"neutral"},in_progress:{label:"In Progress",color:"info"},done:{label:"Done",color:"success"},blocked:{label:"Blocked",color:"error"}},u=U(()=>i[r.task.priority]||i[2]),g=U(()=>C[r.task.status]),_=U(()=>r.task.status==="done");function c(a){return a?new Date(a).toLocaleDateString("en-US",{weekday:"short",month:"short",day:"numeric",year:"numeric"}):null}return(a,p)=>{const $=oe,I=se,A=Me,o=J,t=me;return v(),B(t,null,{header:m(()=>[k("div",ut,[k("h3",dt,j(e.task.title),1),l($,{color:s(g).color,variant:"subtle"},{default:m(()=>[S(j(s(g).label),1)]),_:1},8,["color"])])]),footer:m(()=>[k("div",jt,[l(o,{icon:s(_)?"i-lucide-rotate-ccw":"i-lucide-check",color:s(_)?"neutral":"success",variant:s(_)?"ghost":"soft",onClick:p[0]||(p[0]=n=>h("toggle"))},{default:m(()=>[S(j(s(_)?"Mark Incomplete":"Mark Complete"),1)]),_:1},8,["icon","color","variant"]),k("div",$t,[l(o,{color:"neutral",variant:"ghost",onClick:p[1]||(p[1]=n=>h("close"))},{default:m(()=>[...p[3]||(p[3]=[S(" Close ",-1)])]),_:1}),l(o,{icon:"i-lucide-pencil",onClick:p[2]||(p[2]=n=>h("edit"))},{default:m(()=>[...p[4]||(p[4]=[S(" Edit ",-1)])]),_:1})])])]),default:m(()=>[k("div",mt,[k("div",pt,[e.task.project?(v(),F("div",ft,[k("span",{class:"size-2.5 rounded-full",style:ue({backgroundColor:e.task.project.color})},null,4),k("span",kt,j(e.task.project.name),1)])):E("",!0),k("div",vt,[l(I,{name:"i-lucide-flag",class:"size-4 text-dimmed"}),l($,{color:s(u).color,variant:"subtle",size:"xs"},{default:m(()=>[S(j(s(u).label),1)]),_:1},8,["color"])]),e.task.dueDate?(v(),F("div",_t,[l(I,{name:"i-lucide-calendar",class:"size-4 text-dimmed"}),k("span",gt,j(c(e.task.dueDate)),1)])):E("",!0)]),e.task.tags&&e.task.tags.length>0?(v(),F("div",yt,[(v(!0),F(ae,null,le(e.task.tags,n=>(v(),B($,{key:n,variant:"subtle",color:"neutral",size:"sm"},{default:m(()=>[S(j(n),1)]),_:2},1024))),128))])):E("",!0),e.task.description?(v(),F("div",bt,[k("div",ht,[l(A,{value:e.task.description},null,8,["value"])])])):E("",!0),k("div",wt,[k("p",null,[S(" Created: "+j(c(e.task.createdAt))+" ",1),e.task.creator?(v(),F("span",Tt," by "+j(e.task.creator.name),1)):E("",!0)]),e.task.completedAt?(v(),F("p",xt," Completed: "+j(c(e.task.completedAt)),1)):E("",!0)])])]),_:1})}}}),Ct=Object.assign(Dt,{__name:"TasksTaskDetail"});function Ut(){const e=b([]),w=b(!1),r=b(null),h=b([]),i=De({status:void 0,projectId:void 0,search:void 0,includeDeleted:!1});async function C(o){w.value=!0,r.value=null;const t=o||i;try{const n={};t.status&&(Array.isArray(t.status)?t.status.forEach(V=>n.status=V):n.status=t.status),t.projectId&&(n.projectId=t.projectId),t.search&&(n.search=t.search),t.includeDeleted&&(n.includeDeleted="true");const T=await $fetch("/api/tasks",{query:n});return e.value=T.data,T.data}catch(n){throw r.value="Failed to load tasks",console.error("Failed to load tasks:",n),n}finally{w.value=!1}}async function u(){try{const o=await $fetch("/api/tasks/tags");return h.value=o.data,o.data}catch(o){throw console.error("Failed to fetch tags:",o),o}}async function g(o){try{return(await $fetch(`/api/tasks/${o}`)).data}catch(t){throw console.error("Failed to get task:",t),t}}async function _(o){try{const t=await $fetch("/api/tasks",{method:"POST",body:o});return e.value=[t.data,...e.value],t.data}catch(t){throw console.error("Failed to create task:",t),t}}async function c(o,t){try{const n=await $fetch(`/api/tasks/${o}`,{method:"PUT",body:t}),T=e.value.findIndex(V=>V.id===o);return T!==-1&&(e.value[T]=n.data),n.data}catch(n){throw console.error("Failed to update task:",n),n}}async function a(o){try{const t=await $fetch(`/api/tasks/${o}`,{method:"DELETE"});return e.value=e.value.filter(n=>n.id!==o),t.data}catch(t){throw console.error("Failed to delete task:",t),t}}async function p(o){try{const t=await $fetch(`/api/tasks/${o}/restore`,{method:"POST"});return await C(),t.data}catch(t){throw console.error("Failed to restore task:",t),t}}async function $(o){const t=e.value.find(T=>T.id===o);if(!t)return;const n=t.status==="done"?"todo":"done";return c(o,{status:n})}const I=U(()=>{let o=[...e.value];if(i.status){const t=Array.isArray(i.status)?i.status:[i.status];o=o.filter(n=>t.includes(n.status))}if(i.projectId&&(o=o.filter(t=>t.projectId===i.projectId)),i.search){const t=i.search.toLowerCase();o=o.filter(n=>n.title.toLowerCase().includes(t)||n.description?.toLowerCase().includes(t))}return i.includeDeleted||(o=o.filter(t=>!t.deletedAt)),o}),A=U(()=>{const o={todo:0,in_progress:0,done:0,blocked:0,total:0};return e.value.forEach(t=>{t.deletedAt||(o[t.status]++,o.total++)}),o});return{tasks:e,filteredTasks:I,loading:w,error:r,tags:h,filters:i,taskCounts:A,fetchTasks:C,fetchTags:u,getTask:g,createTask:_,updateTask:c,deleteTask:a,restoreTask:p,toggleComplete:$}}function Vt(){const e=b([]),w=b(!1),r=b(null);async function h(c=!1){w.value=!0,r.value=null;try{const a=await $fetch("/api/projects",{query:{includeDeleted:c.toString()}});return e.value=a.data,a.data}catch(a){throw r.value="Failed to load projects",console.error("Failed to load projects:",a),a}finally{w.value=!1}}async function i(c){try{return(await $fetch(`/api/projects/${c}`)).data}catch(a){throw console.error("Failed to get project:",a),a}}async function C(c){try{const a=await $fetch("/api/projects",{method:"POST",body:c});return e.value=[...e.value,a.data],a.data}catch(a){throw console.error("Failed to create project:",a),a}}async function u(c,a){try{const p=await $fetch(`/api/projects/${c}`,{method:"PUT",body:a}),$=e.value.findIndex(I=>I.id===c);return $!==-1&&(e.value[$]=p.data),p.data}catch(p){throw console.error("Failed to update project:",p),p}}async function g(c){try{const a=await $fetch(`/api/projects/${c}`,{method:"DELETE"});return e.value=e.value.filter(p=>p.id!==c),a.data}catch(a){throw console.error("Failed to delete project:",a),a}}function _(c){if(c)return e.value.find(a=>a.id===c)}return{projects:e,loading:w,error:r,fetchProjects:h,getProject:i,createProject:C,updateProject:u,deleteProject:g,getProjectById:_}}const Ft={class:"contents"},St={class:"flex items-center gap-2 text-sm"},L="__all__",wo=Q({__name:"tasks",setup(e){const w=Ce(),r=Ue(),{filteredTasks:h,tasks:i,loading:C,filters:u,taskCounts:g,fetchTasks:_,createTask:c,updateTask:a,deleteTask:p,toggleComplete:$}=Ut(),{projects:I,fetchProjects:A}=Vt(),o=b(!1),t=b(null),n=b(!1),T=b(null),V=b(!1),x=b(null),y=b(!1),K=[{value:L,label:"All Status"},{value:"todo",label:"Todo"},{value:"in_progress",label:"In Progress"},{value:"done",label:"Done"},{value:"blocked",label:"Blocked"}],M=U(()=>[{value:L,label:"All Projects"},...I.value.filter(d=>!d.deletedAt).map(d=>({value:d.id,label:d.name}))]),{taskStatusFilter:G,taskProjectFilter:X}=He(),O=b(G.value==="all"?L:G.value),N=b(X.value||L),H=b("");q(O,d=>{u.status=d===L?void 0:d,G.value=d===L?"all":d}),q(N,d=>{u.projectId=d===L?void 0:d,X.value=d===L?null:d}),q(H,d=>{u.search=d||void 0}),O.value!==L&&(u.status=O.value),N.value!==L&&(u.projectId=N.value);function R(){t.value=null,o.value=!0}function Y(d){t.value=d,o.value=!0}function D(d){T.value=d,n.value=!0}async function pe(d){try{t.value?(await a(t.value.id,d),r.add({title:"Task updated",color:"success",icon:"i-lucide-check"})):(await c(d),r.add({title:"Task created",color:"success",icon:"i-lucide-check"})),t.value=null}catch(f){r.add({title:"Failed to save task",description:f instanceof Error?f.message:"An unexpected error occurred",color:"error",icon:"i-lucide-alert-circle"})}}function fe(d){x.value=d,V.value=!0}async function ke(){if(x.value){y.value=!0;try{await p(x.value),r.add({title:"Task deleted",color:"success",icon:"i-lucide-trash"}),V.value=!1,x.value=null}catch(d){r.add({title:"Failed to delete task",description:d instanceof Error?d.message:"An unexpected error occurred",color:"error",icon:"i-lucide-alert-circle"})}finally{y.value=!1}}}async function ie(d){try{await $(d)}catch(f){r.add({title:"Failed to update task",description:f instanceof Error?f.message:"An unexpected error occurred",color:"error",icon:"i-lucide-alert-circle"})}}return q([()=>w.query.selected,i],([d,f])=>{if(d&&f.length>0){const W=f.find(ee=>ee.id===d);W&&(T.value=W,n.value=!0,ce("/tasks",{replace:!0}))}},{immediate:!0}),q(()=>w.query.action,d=>{d==="new"&&(R(),ce("/tasks",{replace:!0}))},{immediate:!0}),Ve(async()=>{await Promise.all([_(),A()])}),(d,f)=>{const W=oe,ee=J,ve=Fe,_e=Ie,re=ne,ge=de,ye=Pe,be=et,he=Se,we=ct,Te=Ct,xe=Ne,je=qe;return v(),F("div",Ft,[l(he,{id:"tasks",grow:""},{header:m(()=>[l(_e,{title:"Tasks"},{left:m(()=>[k("div",St,[l(W,{color:"neutral",variant:"subtle"},{default:m(()=>[S(j(s(g).total)+" total ",1)]),_:1}),s(g).done>0?(v(),B(W,{key:0,color:"success",variant:"subtle"},{default:m(()=>[S(j(s(g).done)+" done ",1)]),_:1})):E("",!0)])]),right:m(()=>[l(ee,{icon:"i-lucide-plus",label:"Add Task",onClick:R}),l(ve)]),_:1}),l(ye,null,{left:m(()=>[l(re,{modelValue:s(O),"onUpdate:modelValue":f[0]||(f[0]=P=>z(O)?O.value=P:null),items:K,"value-key":"value",class:"w-36"},null,8,["modelValue"]),l(re,{modelValue:s(N),"onUpdate:modelValue":f[1]||(f[1]=P=>z(N)?N.value=P:null),items:s(M),"value-key":"value",class:"w-40"},null,8,["modelValue","items"])]),right:m(()=>[l(ge,{modelValue:s(H),"onUpdate:modelValue":f[2]||(f[2]=P=>z(H)?H.value=P:null),placeholder:"Search tasks...",icon:"i-lucide-search",class:"w-64"},null,8,["modelValue"])]),_:1})]),body:m(()=>[l(be,{tasks:s(h),loading:s(C),onToggle:ie,onEdit:Y,onDelete:fe,onCreate:R,onView:D},null,8,["tasks","loading"])]),_:1}),l(we,{open:s(o),"onUpdate:open":f[3]||(f[3]=P=>z(o)?o.value=P:null),task:s(t),projects:s(I),onSubmit:pe},null,8,["open","task","projects"]),l(xe,{open:s(n),"onUpdate:open":f[7]||(f[7]=P=>z(n)?n.value=P:null),title:s(T)?.title},{content:m(()=>[s(T)?(v(),B(Te,{key:0,task:s(T),onEdit:f[4]||(f[4]=P=>{Y(s(T)),n.value=!1}),onClose:f[5]||(f[5]=P=>n.value=!1),onToggle:f[6]||(f[6]=P=>{ie(s(T).id),n.value=!1})},null,8,["task"])):E("",!0)]),_:1},8,["open","title"]),l(je,{open:s(V),"onUpdate:open":f[8]||(f[8]=P=>z(V)?V.value=P:null),title:"Delete Task",description:"Are you sure you want to delete this task? This action cannot be undone.","confirm-label":"Delete","confirm-color":"error",icon:"i-lucide-trash-2",loading:s(y),onConfirm:ke,onCancel:f[9]||(f[9]=P=>x.value=null)},null,8,["open","loading"])])}}});export{wo as default};
@@ -1 +0,0 @@
1
- import{a as c,aR as M,aP as C,a_ as b,aQ as S,e as h,Q as m,R as _,S as p,a4 as y,C as a,a3 as g,c as v,q as B,T as q,aV as $,a9 as V,bf as k,f as w,bB as z,V as L,k as F,bm as P,al as A}from"./2dNDtTiv.js";import{R as D}from"./CYPO5o_C.js";import{R as H}from"./DH4YkDAi.js";import{u as N}from"./BIXrSYwR.js";import{u as O}from"./CWyMCJQH.js";const[T,K]=M("TabsRoot");var E=c({__name:"TabsRoot",props:{defaultValue:{type:null,required:!1},orientation:{type:String,required:!1,default:"horizontal"},dir:{type:String,required:!1},activationMode:{type:String,required:!1,default:"automatic"},modelValue:{type:null,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["update:modelValue"],setup(u,{emit:o}){const s=u,e=o,{orientation:r,unmountOnHide:n,dir:l}=C(s),t=N(l);b();const i=S(s,"modelValue",e,{defaultValue:s.defaultValue,passive:s.modelValue===void 0}),d=h();return K({modelValue:i,changeModelValue:f=>{i.value=f},orientation:r,dir:t,unmountOnHide:n,activationMode:s.activationMode,baseId:O(void 0,"reka-tabs"),tabsList:d}),(f,J)=>(_(),m(a(g),{dir:a(t),"data-orientation":a(r),"as-child":f.asChild,as:f.as},{default:p(()=>[y(f.$slots,"default",{modelValue:a(i)})]),_:3},8,["dir","data-orientation","as-child","as"]))}}),ee=E;function R(u,o){return`${u}-trigger-${o}`}function I(u,o){return`${u}-content-${o}`}var Q=c({__name:"TabsContent",props:{value:{type:[String,Number],required:!0},forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(u){const o=u,{forwardRef:s}=b(),e=T(),r=v(()=>R(e.baseId,o.value)),n=v(()=>I(e.baseId,o.value)),l=v(()=>o.value===e.modelValue.value),t=h(l.value);return B(()=>{requestAnimationFrame(()=>{t.value=!1})}),(i,d)=>(_(),m(a(k),{present:i.forceMount||l.value,"force-mount":""},{default:p(({present:f})=>[q(a(g),{id:n.value,ref:a(s),"as-child":i.asChild,as:i.as,role:"tabpanel","data-state":l.value?"active":"inactive","data-orientation":a(e).orientation.value,"aria-labelledby":r.value,hidden:!f,tabindex:"0",style:$({animationDuration:t.value?"0s":void 0})},{default:p(()=>[!a(e).unmountOnHide.value||f?y(i.$slots,"default",{key:0}):V("v-if",!0)]),_:2},1032,["id","as-child","as","data-state","data-orientation","aria-labelledby","hidden","style"])]),_:3},8,["present"]))}}),ae=Q,j=c({__name:"TabsIndicator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(u){const o=u,s=T();b();const e=h(),r=h({size:null,position:null});w(()=>[s.modelValue.value,s?.dir.value],async()=>{await F(),n()},{immediate:!0}),z([s.tabsList,e],n);function n(){e.value=s.tabsList.value?.querySelector('[role="tab"][data-state="active"]'),e.value&&(s.orientation.value==="horizontal"?r.value={size:e.value.offsetWidth,position:e.value.offsetLeft}:r.value={size:e.value.offsetHeight,position:e.value.offsetTop})}return(l,t)=>typeof r.value.size=="number"?(_(),m(a(g),L({key:0},o,{style:{"--reka-tabs-indicator-size":`${r.value.size}px`,"--reka-tabs-indicator-position":`${r.value.position}px`}}),{default:p(()=>[y(l.$slots,"default")]),_:3},16,["style"])):V("v-if",!0)}}),te=j,G=c({__name:"TabsList",props:{loop:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(u){const o=u,{loop:s}=C(o),{forwardRef:e,currentElement:r}=b(),n=T();return n.tabsList=r,(l,t)=>(_(),m(a(D),{"as-child":"",orientation:a(n).orientation.value,dir:a(n).dir.value,loop:a(s)},{default:p(()=>[q(a(g),{ref:a(e),role:"tablist","as-child":l.asChild,as:l.as,"aria-orientation":a(n).orientation.value},{default:p(()=>[y(l.$slots,"default")]),_:3},8,["as-child","as","aria-orientation"])]),_:3},8,["orientation","dir","loop"]))}}),oe=G,W=c({__name:"TabsTrigger",props:{value:{type:[String,Number],required:!0},disabled:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(u){const o=u,{forwardRef:s}=b(),e=T(),r=v(()=>R(e.baseId,o.value)),n=v(()=>I(e.baseId,o.value)),l=v(()=>o.value===e.modelValue.value);return(t,i)=>(_(),m(a(H),{"as-child":"",focusable:!t.disabled,active:l.value},{default:p(()=>[q(a(g),{id:r.value,ref:a(s),role:"tab",type:t.as==="button"?"button":void 0,as:t.as,"as-child":t.asChild,"aria-selected":l.value?"true":"false","aria-controls":n.value,"data-state":l.value?"active":"inactive",disabled:t.disabled,"data-disabled":t.disabled?"":void 0,"data-orientation":a(e).orientation.value,onMousedown:i[0]||(i[0]=A(d=>{!t.disabled&&d.ctrlKey===!1?a(e).changeModelValue(t.value):d.preventDefault()},["left"])),onKeydown:i[1]||(i[1]=P(d=>a(e).changeModelValue(t.value),["enter","space"])),onFocus:i[2]||(i[2]=()=>{const d=a(e).activationMode!=="manual";!l.value&&!t.disabled&&d&&a(e).changeModelValue(t.value)})},{default:p(()=>[y(t.$slots,"default")]),_:3},8,["id","type","as","as-child","aria-selected","aria-controls","data-state","disabled","data-disabled","data-orientation"])]),_:3},8,["focusable","active"]))}}),se=W;export{te as T,oe as a,ee as b,se as c,ae as d};
@@ -1 +0,0 @@
1
- import{N as n,c,G as d,R as l,a4 as i,U as u,am as e}from"./2dNDtTiv.js";const p={base:"px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block",variants:{color:{primary:"border border-primary/25 bg-primary/10 text-primary",secondary:"border border-secondary/25 bg-secondary/10 text-secondary",success:"border border-success/25 bg-success/10 text-success",info:"border border-info/25 bg-info/10 text-info",warning:"border border-warning/25 bg-warning/10 text-warning",error:"border border-error/25 bg-error/10 text-error",neutral:"border border-muted text-highlighted bg-muted"}},defaultVariants:{color:"neutral"}},g={__name:"ProseCode",props:{lang:{type:String,required:!1},color:{type:null,required:!1},class:{type:null,required:!1}},setup(o){const r=o,s=n(),t=c(()=>e({extend:e(p),...s.ui?.prose?.code||{}}));return(a,b)=>(l(),d("code",{class:u(t.value({class:(r.class||"").split(",").join(" "),color:r.color}))},[i(a.$slots,"default")],2))}};export{g as default};
@@ -1 +0,0 @@
1
- import{ac as i,c as d,G as t,R as n,a4 as a,C as p}from"./2dNDtTiv.js";const u=["id"],f=["href"],k={__name:"ProseH5",props:{id:{type:String,required:!1}},setup(r){const e=r,{headings:o}=i().public.mdc,c=d(()=>e.id&&(typeof o?.anchorLinks=="boolean"&&o?.anchorLinks===!0||typeof o?.anchorLinks=="object"&&o?.anchorLinks?.h5));return(s,h)=>(n(),t("h5",{id:e.id},[e.id&&p(c)?(n(),t("a",{key:0,href:`#${e.id}`},[a(s.$slots,"default")],8,f)):a(s.$slots,"default",{key:1})],8,u))}};export{k as default};
@@ -1 +0,0 @@
1
- import{d as F}from"./DhI5cA_n.js";import{e as z,c as S,ai as C,L as B,C as d,f as O,aR as A,N as D,am as E,Q as L,R as M,S as V,a4 as $,U,a3 as I,O as N,P as j,V as H,W as P}from"./2dNDtTiv.js";import{u as G}from"./DEd2xVbS.js";const ae=(f,r={},{collapsed:o=z(!1)}={})=>{const t=z(null),e=S(()=>({side:"left",minSize:0,maxSize:100,defaultSize:0,storage:"cookie",persistent:!0,collapsible:!1,collapsedSize:0,resizable:!0,unit:"%",...C(r)?r.value:r})),{dir:h}=B(),y={size:e.value.defaultSize,collapsed:d(o)??!1},c=e.value.persistent&&(e.value.resizable||e.value.collapsible)?e.value.storage==="cookie"?G(f,{default:()=>y}):F(f,y):z(y),n=S({get:()=>c.value.collapsed,set:a=>{e.value.collapsible&&(C(o)&&(o.value=a),c.value.collapsed=a)}}),x=z(e.value.defaultSize),b=S({get:()=>c.value.size,set:a=>{c.value.size=a}}),X=S(()=>n.value?e.value.collapsedSize:b.value),q=z(!1),_=(a,l,p)=>{if(!t.value||!e.value.resizable)return;const m=t.value.parentElement?.offsetWidth||1,v=h.value==="rtl";let s;v?s=e.value.side==="left"?l-a.clientX:a.clientX-l:s=e.value.side==="left"?a.clientX-l:l-a.clientX;const u=p+s;let i;if(e.value.unit==="rem"){const w=Number.parseFloat(getComputedStyle(document.documentElement).fontSize);i=u/w}else e.value.unit==="px"?i=u:i=u/m*100;if(e.value.collapsible&&i<e.value.collapsedSize+4){g(!0);return}else n.value&&g(!1);b.value=Math.min(e.value.maxSize,Math.max(e.value.minSize,i))},k=a=>{if(!t.value||!e.value.resizable)return;a.preventDefault(),a.stopPropagation();const l=t.value.getBoundingClientRect().width;if(!l)return;const p=a.clientX,m=l;q.value=!0;const v=u=>{_(u,p,m)},s=()=>{q.value=!1,document.removeEventListener("mousemove",v),document.removeEventListener("mouseup",s)};document.addEventListener("mousemove",v),document.addEventListener("mouseup",s)},R=(a,l,p)=>{if(!t.value||!e.value.resizable||!a.touches[0])return;const m=t.value.parentElement?.offsetWidth||1,v=h.value==="rtl";let s;v?s=e.value.side==="left"?l-a.touches[0].clientX:a.touches[0].clientX-l:s=e.value.side==="left"?a.touches[0].clientX-l:l-a.touches[0].clientX;const u=p+s;let i;if(e.value.unit==="rem"){const w=Number.parseFloat(getComputedStyle(document.documentElement).fontSize);i=u/w}else e.value.unit==="px"?i=u:i=u/m*100;if(e.value.collapsible&&i<e.value.collapsedSize+4){g(!0);return}else n.value&&g(!1);b.value=Math.min(e.value.maxSize,Math.max(e.value.minSize,i))},T=a=>{if(!t.value||!e.value.resizable||!a.touches[0])return;a.preventDefault(),a.stopPropagation();const l=t.value.getBoundingClientRect().width;if(!l)return;const p=a.touches[0].clientX,m=l;q.value=!0;const v=u=>{R(u,p,m)},s=()=>{q.value=!1,document.removeEventListener("touchmove",v),document.removeEventListener("touchend",s),document.removeEventListener("touchcancel",s)};document.addEventListener("touchmove",v,{passive:!1}),document.addEventListener("touchend",s),document.addEventListener("touchcancel",s)},W=a=>{!t.value||!e.value.resizable||(a.preventDefault(),a.stopPropagation(),n.value&&g(!1),b.value=e.value.defaultSize)},g=a=>{if(!e.value.collapsible)return;const l=a??!n.value;l&&!n.value?x.value=b.value:!l&&n.value&&(b.value=x.value),n.value=l};return C(o)&&c.value.collapsed&&(o.value=c.value.collapsed),C(o)&&O(o,a=>{e.value.collapsible&&c.value.collapsed!==a&&(c.value.collapsed=a)}),{el:t,size:X,isDragging:q,isCollapsed:n,onMouseDown:k,onTouchStart:T,onDoubleClick:W,collapse:g}},[Q,le]=A("DashboardGroup"),J={base:"hidden lg:block touch-none select-none cursor-ew-resize relative before:absolute before:inset-y-0 before:-left-1.5 before:-right-1.5 before:z-1"},te={__name:"UDashboardResizeHandle",props:{as:{type:null,required:!1},class:{type:null,required:!1}},setup(f){const r=f,o=D(),t=S(()=>E({extend:E(J),...o.ui?.dashboardResizeHandle||{}}));return(e,h)=>(M(),L(d(I),{as:f.as,role:"separator",class:U(t.value({class:r.class}))},{default:V(()=>[$(e.$slots,"default")]),_:3},8,["as","class"]))}},K={base:"lg:hidden",variants:{side:{left:"",right:""}}},se=Object.assign({inheritAttrs:!1},{__name:"UDashboardSidebarToggle",props:{color:{type:null,required:!1,default:"neutral"},variant:{type:null,required:!1,default:"ghost"},side:{type:String,required:!1,default:"left"},label:{type:String,required:!1},activeColor:{type:null,required:!1},activeVariant:{type:null,required:!1},size:{type:null,required:!1},square:{type:Boolean,required:!1},block:{type:Boolean,required:!1},loadingAuto:{type:Boolean,required:!1},onClick:{type:[Function,Array],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},as:{type:null,required:!1},type:{type:null,required:!1},disabled:{type:Boolean,required:!1},exactActiveClass:{type:String,required:!1},viewTransition:{type:Boolean,required:!1}},setup(f){const r=f,o=N(j(r,"icon","side","class")),{t}=B(),e=D(),{sidebarOpen:h,toggleSidebar:y}=Q({sidebarOpen:z(!1),toggleSidebar:()=>{}}),c=S(()=>E({extend:E(K),...e.ui?.dashboardSidebarToggle||{}}));return(n,x)=>(M(),L(P,H({...d(o),icon:r.icon||(d(h)?d(e).ui.icons.close:d(e).ui.icons.menu),"aria-label":d(h)?d(t)("dashboardSidebarToggle.close"):d(t)("dashboardSidebarToggle.open"),...n.$attrs},{class:c.value({class:r.class,side:r.side}),onClick:d(y)}),null,16,["class","onClick"]))}});export{te as _,ae as a,se as b,le as p,Q as u};
@@ -1 +0,0 @@
1
- import{N as p,ac as m,c as n,G as c,R as r,a4 as d,U as o,ab as g,T as f,C as v,_ as b,am as u}from"./2dNDtTiv.js";const x={slots:{base:["relative text-2xl text-highlighted font-bold mt-12 mb-6 scroll-mt-[calc(48px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(48px+var(--ui-header-height))] [&>a]:focus-visible:outline-primary [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-xl/7 [&>a>code]:font-bold","[&>a>code]:transition-colors"],leading:["absolute -ms-8 top-1 opacity-0 group-hover:opacity-100 group-focus:opacity-100 p-1 bg-elevated hover:text-primary rounded-md hidden lg:flex text-muted","transition"],leadingIcon:"size-4 shrink-0",link:"group lg:ps-2 lg:-ms-2"}},y=["id"],k=["href"],$={__name:"ProseH2",props:{id:{type:String,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1}},setup(a){const e=a,t=p(),{headings:l}=m().public?.mdc||{},s=n(()=>u({extend:u(x),...t.ui?.prose?.h2||{}})()),h=n(()=>e.id&&typeof l?.anchorLinks=="object"&&l.anchorLinks.h2);return(i,C)=>(r(),c("h2",{id:a.id,class:o(s.value.base({class:e.class}))},[a.id&&h.value?(r(),c("a",{key:0,href:`#${a.id}`,class:o(s.value.link({class:e.ui?.link}))},[g("span",{class:o(s.value.leading({class:e.ui?.leading}))},[f(b,{name:v(t).ui.icons.hash,class:o(s.value.leadingIcon({class:e.ui?.leadingIcon}))},null,8,["name","class"])],2),d(i.$slots,"default")],10,k)):d(i.$slots,"default",{key:1})],10,y))}};export{$ as default};
@@ -1 +0,0 @@
1
- import{bd as g,c as o,ah as u,q as d,N as p,am as s,Q as v,R as f,S as m,a4 as b,aa as x,ae as y,C as i,U as w,a3 as h}from"./2dNDtTiv.js";const a={meta:"",ctrl:"",alt:"",win:"⊞",command:"⌘",shift:"⇧",control:"⌃",option:"⌥",enter:"↵",delete:"⌦",backspace:"⌫",escape:"Esc",tab:"⇥",capslock:"⇪",arrowup:"↑",arrowright:"→",arrowdown:"↓",arrowleft:"←",pageup:"⇞",pagedown:"⇟",home:"↖",end:"↘"},K=()=>{const e=o(()=>navigator&&navigator.userAgent&&navigator.userAgent.match(/Macintosh;/)),r=u({meta:" ",alt:" ",ctrl:" "});d(()=>{r.meta=e.value?a.command:"Ctrl",r.ctrl=e.value?a.control:"Ctrl",r.alt=e.value?a.option:"Alt"});function n(t){if(t)return["meta","alt","ctrl"].includes(t)?r[t]:a[t]||t}return{macOS:e,getKbdKey:n}},k=g(K),C={base:"inline-flex items-center justify-center px-1 rounded-sm font-medium font-sans uppercase",variants:{color:{primary:"",secondary:"",success:"",info:"",warning:"",error:"",neutral:""},variant:{solid:"",outline:"",soft:"",subtle:""},size:{sm:"h-4 min-w-[16px] text-[10px]",md:"h-5 min-w-[20px] text-[11px]",lg:"h-6 min-w-[24px] text-[12px]"}},compoundVariants:[{color:"primary",variant:"solid",class:"text-inverted bg-primary"},{color:"secondary",variant:"solid",class:"text-inverted bg-secondary"},{color:"success",variant:"solid",class:"text-inverted bg-success"},{color:"info",variant:"solid",class:"text-inverted bg-info"},{color:"warning",variant:"solid",class:"text-inverted bg-warning"},{color:"error",variant:"solid",class:"text-inverted bg-error"},{color:"primary",variant:"outline",class:"ring ring-inset ring-primary/50 text-primary"},{color:"secondary",variant:"outline",class:"ring ring-inset ring-secondary/50 text-secondary"},{color:"success",variant:"outline",class:"ring ring-inset ring-success/50 text-success"},{color:"info",variant:"outline",class:"ring ring-inset ring-info/50 text-info"},{color:"warning",variant:"outline",class:"ring ring-inset ring-warning/50 text-warning"},{color:"error",variant:"outline",class:"ring ring-inset ring-error/50 text-error"},{color:"primary",variant:"soft",class:"text-primary bg-primary/10"},{color:"secondary",variant:"soft",class:"text-secondary bg-secondary/10"},{color:"success",variant:"soft",class:"text-success bg-success/10"},{color:"info",variant:"soft",class:"text-info bg-info/10"},{color:"warning",variant:"soft",class:"text-warning bg-warning/10"},{color:"error",variant:"soft",class:"text-error bg-error/10"},{color:"primary",variant:"subtle",class:"text-primary ring ring-inset ring-primary/25 bg-primary/10"},{color:"secondary",variant:"subtle",class:"text-secondary ring ring-inset ring-secondary/25 bg-secondary/10"},{color:"success",variant:"subtle",class:"text-success ring ring-inset ring-success/25 bg-success/10"},{color:"info",variant:"subtle",class:"text-info ring ring-inset ring-info/25 bg-info/10"},{color:"warning",variant:"subtle",class:"text-warning ring ring-inset ring-warning/25 bg-warning/10"},{color:"error",variant:"subtle",class:"text-error ring ring-inset ring-error/25 bg-error/10"},{color:"neutral",variant:"solid",class:"text-inverted bg-inverted"},{color:"neutral",variant:"outline",class:"ring ring-inset ring-accented text-default bg-default"},{color:"neutral",variant:"soft",class:"text-default bg-elevated"},{color:"neutral",variant:"subtle",class:"ring ring-inset ring-accented text-default bg-elevated"}],defaultVariants:{variant:"outline",color:"neutral",size:"md"}},S={__name:"UKbd",props:{as:{type:null,required:!1,default:"kbd"},value:{type:null,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},class:{type:null,required:!1}},setup(e){const r=e,{getKbdKey:n}=k(),t=p(),c=o(()=>s({extend:s(C),...t.ui?.kbd||{}}));return(l,q)=>(f(),v(i(h),{as:e.as,class:w(c.value({class:r.class,color:r.color,variant:r.variant,size:r.size}))},{default:m(()=>[b(l.$slots,"default",{},()=>[x(y(i(n)(e.value)),1)])]),_:3},8,["as","class"]))}};export{S as _,k as u};
@@ -1 +0,0 @@
1
- import{N as f,c as b,G as l,R as h,a4 as a,U as i,am as r}from"./2dNDtTiv.js";const u={base:"ms-4 border-s border-default ps-8 [counter-reset:step]",variants:{level:{2:"[&>h2]:[counter-increment:step] [&>h2]:relative [&>h2]:before:absolute [&>h2]:before:size-8 [&>h2]:before:bg-elevated [&>h2]:before:rounded-full [&>h2]:before:font-semibold [&>h2]:before:text-sm [&>h2]:before:tabular-nums [&>h2]:before:inline-flex [&>h2]:before:items-center [&>h2]:before:justify-center [&>h2]:before:ring-4 [&>h2]:before:ring-bg [&>h2]:before:-ms-[48.5px] [&>h2]:before:-mt-0 [&>h2]:before:content-[counter(step)] [&>h2>a>span.absolute]:hidden",3:"[&>h3]:[counter-increment:step] [&>h3]:relative [&>h3]:before:absolute [&>h3]:before:size-7 [&>h3]:before:inset-x-0.5 [&>h3]:before:bg-elevated [&>h3]:before:rounded-full [&>h3]:before:font-semibold [&>h3]:before:text-sm [&>h3]:before:tabular-nums [&>h3]:before:inline-flex [&>h3]:before:items-center [&>h3]:before:justify-center [&>h3]:before:ring-4 [&>h3]:before:ring-bg [&>h3]:before:-ms-[48.5px] [&>h3]:before:content-[counter(step)] [&>h3>a>span.absolute]:hidden",4:"[&>h4]:[counter-increment:step] [&>h4]:relative [&>h4]:before:absolute [&>h4]:before:size-7 [&>h4]:before:inset-x-0.5 [&>h4]:before:bg-elevated [&>h4]:before:rounded-full [&>h4]:before:font-semibold [&>h4]:before:text-sm [&>h4]:before:tabular-nums [&>h4]:before:inline-flex [&>h4]:before:items-center [&>h4]:before:justify-center [&>h4]:before:ring-4 [&>h4]:before:ring-bg [&>h4]:before:-ms-[48.5px] [&>h4]:before:content-[counter(step)] [&>h4>a>span.absolute]:hidden"}},defaultVariants:{level:"3"}},d={__name:"ProseSteps",props:{level:{type:null,required:!1},class:{type:null,required:!1}},setup(o){const e=o,t=f(),s=b(()=>r({extend:r(u),...t.ui?.prose?.steps||{}}));return(n,c)=>(h(),l("div",{class:i(s.value({class:e.class,level:e.level}))},[a(n.$slots,"default")],2))}};export{d as default};
@@ -1 +0,0 @@
1
- import{r as x}from"./Kw0zy3FG.js";import{ao as y,N as k,c as l,G as n,R as t,Q as c,a9 as s,S as w,ab as I,V as q,ap as C,U as a,_ as v,C as S,a4 as V,am as g,aa as m,ae as h}from"./2dNDtTiv.js";import"./iik6CYzq.js";const $={slots:{base:["group relative block my-5 p-4 sm:p-6 border border-default rounded-md bg-default","transition-colors"],icon:"size-6 mb-2 block",title:"text-highlighted font-semibold",description:"text-[15px] text-muted *:first:mt-0 *:last:mb-0 *:my-1",externalIcon:["size-4 align-top absolute right-2 top-2 text-dimmed pointer-events-none","transition-colors"]},variants:{color:{primary:{icon:"text-primary"},secondary:{icon:"text-secondary"},success:{icon:"text-success"},info:{icon:"text-info"},warning:{icon:"text-warning"},error:{icon:"text-error"},neutral:{icon:"text-highlighted"}},to:{true:""},title:{true:{description:"mt-1"}}},compoundVariants:[{color:"primary",to:!0,class:{base:"hover:bg-primary/10 hover:border-primary has-focus-visible:border-primary",externalIcon:"group-hover:text-primary"}},{color:"secondary",to:!0,class:{base:"hover:bg-secondary/10 hover:border-secondary has-focus-visible:border-secondary",externalIcon:"group-hover:text-secondary"}},{color:"success",to:!0,class:{base:"hover:bg-success/10 hover:border-success has-focus-visible:border-success",externalIcon:"group-hover:text-success"}},{color:"info",to:!0,class:{base:"hover:bg-info/10 hover:border-info has-focus-visible:border-info",externalIcon:"group-hover:text-info"}},{color:"warning",to:!0,class:{base:"hover:bg-warning/10 hover:border-warning has-focus-visible:border-warning",externalIcon:"group-hover:text-warning"}},{color:"error",to:!0,class:{base:"hover:bg-error/10 hover:border-error has-focus-visible:border-error",externalIcon:"group-hover:text-error"}},{color:"neutral",to:!0,class:{base:"hover:bg-elevated/50 hover:border-inverted has-focus-visible:border-inverted",externalIcon:"group-hover:text-highlighted"}}],defaultVariants:{color:"primary"}},j=Object.assign({inheritAttrs:!1},{__name:"ProseCard",props:{to:{type:null,required:!1},target:{type:[String,Object,null],required:!1},icon:{type:null,required:!1},title:{type:String,required:!1},description:{type:String,required:!1},color:{type:null,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1}},setup(r){const e=r,u=y(),d=k(),o=l(()=>g({extend:g($),...d.ui?.prose?.card||{}})({color:e.color,to:!!e.to,title:!!e.title})),b=l(()=>e.target||(e.to&&typeof e.to=="string"&&e.to.startsWith("http")?"_blank":void 0)),f=l(()=>(e.title||"Card link").trim());return(i,p)=>(t(),n("div",{class:a(o.value.base({class:e.class}))},[r.to?(t(),c(C,q({key:0,"aria-label":f.value},{to:r.to,target:b.value,...i.$attrs},{class:"focus:outline-none",raw:""}),{default:w(()=>[...p[0]||(p[0]=[I("span",{class:"absolute inset-0","aria-hidden":"true"},null,-1)])]),_:1},16,["aria-label"])):s("",!0),r.icon?(t(),c(v,{key:1,name:r.icon,class:a(o.value.icon({class:e.ui?.icon}))},null,8,["name","class"])):s("",!0),r.to&&b.value==="_blank"?(t(),c(v,{key:2,name:S(d).ui.icons.external,class:a(o.value.externalIcon({class:e.ui?.externalIcon}))},null,8,["name","class"])):s("",!0),r.title||u.title?(t(),n("p",{key:3,class:a(o.value.title({class:e.ui?.title}))},[x(i.$slots,"title",{mdcUnwrap:"p"},()=>[m(h(r.title),1)])],2)):s("",!0),u.default?(t(),n("div",{key:4,class:a(o.value.description({class:e.ui?.description}))},[V(i.$slots,"default",{},()=>[m(h(r.description),1)])],2)):s("",!0)],2))}});export{j as default};
@@ -1 +0,0 @@
1
- import{u as b}from"./CWyMCJQH.js";import{a as y,c as l,a1 as I,q as g,a2 as F,Q as S,R as C,S as u,T as K,C as r,a3 as h,a4 as w,k as T}from"./2dNDtTiv.js";import{i as q,g as R,w as B,f as k}from"./CYPO5o_C.js";var x=y({__name:"RovingFocusItem",props:{tabStopId:{type:String,required:!1},focusable:{type:Boolean,required:!1,default:!0},active:{type:Boolean,required:!1},allowShiftKey:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(d){const n=d,a=q(),f=b(),i=l(()=>n.tabStopId||f),c=l(()=>a.currentTabStopId.value===i.value),{getItems:p,CollectionItem:m}=I();g(()=>{n.focusable&&a.onFocusableItemAdd()}),F(()=>{n.focusable&&a.onFocusableItemRemove()});function v(e){if(e.key==="Tab"&&e.shiftKey){a.onItemShiftTab();return}if(e.target!==e.currentTarget)return;const t=R(e,a.orientation.value,a.dir.value);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||!n.allowShiftKey&&e.shiftKey)return;e.preventDefault();let o=[...p().map(s=>s.ref).filter(s=>s.dataset.disabled!=="")];if(t==="last")o.reverse();else if(t==="prev"||t==="next"){t==="prev"&&o.reverse();const s=o.indexOf(e.currentTarget);o=a.loop.value?B(o,s+1):o.slice(s+1)}T(()=>k(o))}}return(e,t)=>(C(),S(r(m),null,{default:u(()=>[K(r(h),{tabindex:c.value?0:-1,"data-orientation":r(a).orientation.value,"data-active":e.active?"":void 0,"data-disabled":e.focusable?void 0:"",as:e.as,"as-child":e.asChild,onMousedown:t[0]||(t[0]=o=>{e.focusable?r(a).onItemFocus(i.value):o.preventDefault()}),onFocus:t[1]||(t[1]=o=>r(a).onItemFocus(i.value)),onKeydown:v},{default:u(()=>[w(e.$slots,"default")]),_:3},8,["tabindex","data-orientation","data-active","data-disabled","as","as-child"])]),_:3}))}}),M=x;export{M as R};
@@ -1 +0,0 @@
1
- import{a as z,a_ as P,Q as S,R as i,S as b,a4 as o,V,C as n,a3 as w,ao as B,N as C,c as y,am as g,aA as x,e as j,X as N,f as D,K as I,a$ as F,ab as $,U as s,G as p,a9 as h,T as K,aa as f,ae as m,b0 as E,b1 as L,b2 as W}from"./2dNDtTiv.js";var O=z({__name:"Label",props:{for:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"label"}},setup(t){const e=t;return P(),(r,v)=>(i(),S(n(w),V(e,{onMousedown:v[0]||(v[0]=a=>{!a.defaultPrevented&&a.detail>1&&a.preventDefault()})}),{default:b(()=>[o(r.$slots,"default")]),_:3},16))}}),A=O;const T={slots:{root:"",wrapper:"",labelWrapper:"flex content-center items-center justify-between gap-1",label:"block font-medium text-default",container:"relative",description:"text-muted",error:"mt-2 text-error",hint:"text-muted",help:"mt-2 text-muted"},variants:{size:{xs:{root:"text-xs"},sm:{root:"text-xs"},md:{root:"text-sm"},lg:{root:"text-sm"},xl:{root:"text-base"}},required:{true:{label:"after:content-['*'] after:ms-0.5 after:text-error"}},orientation:{vertical:{container:"mt-1"},horizontal:{root:"flex justify-between place-items-baseline gap-2"}}},defaultVariants:{size:"md",orientation:"vertical"}},U=["id"],G=["id"],M=["id"],Q=["id"],H={__name:"UFormField",props:{as:{type:null,required:!1},name:{type:String,required:!1},errorPattern:{type:null,required:!1},label:{type:String,required:!1},description:{type:String,required:!1},help:{type:String,required:!1},error:{type:[Boolean,String],required:!1,default:void 0},hint:{type:String,required:!1},size:{type:null,required:!1},required:{type:Boolean,required:!1},eagerValidation:{type:Boolean,required:!1},validateOnInputDelay:{type:Number,required:!1},orientation:{type:null,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1}},setup(t){const e=t,r=B(),v=C(),a=y(()=>g({extend:g(T),...v.ui?.formField||{}})({size:e.size,required:e.required,orientation:e.orientation})),k=x(E,null),d=y(()=>e.error||k?.value?.find(l=>l.name===e.name||e.errorPattern&&l.name?.match(e.errorPattern))?.message),u=j(N()),c=u.value,q=x(L,void 0);return D(u,()=>{q&&e.name&&(q.value[e.name]={id:u.value,pattern:e.errorPattern})},{immediate:!0}),I(W,u),I(F,y(()=>({error:d.value,name:e.name,size:e.size,eagerValidation:e.eagerValidation,validateOnInputDelay:e.validateOnInputDelay,errorPattern:e.errorPattern,hint:e.hint,description:e.description,help:e.help,ariaId:c}))),(l,R)=>(i(),S(n(w),{as:t.as,"data-orientation":t.orientation,"data-slot":"root",class:s(a.value.root({class:[e.ui?.root,e.class]}))},{default:b(()=>[$("div",{"data-slot":"wrapper",class:s(a.value.wrapper({class:e.ui?.wrapper}))},[t.label||r.label?(i(),p("div",{key:0,"data-slot":"labelWrapper",class:s(a.value.labelWrapper({class:e.ui?.labelWrapper}))},[K(n(A),{for:u.value,"data-slot":"label",class:s(a.value.label({class:e.ui?.label}))},{default:b(()=>[o(l.$slots,"label",{label:t.label},()=>[f(m(t.label),1)])]),_:3},8,["for","class"]),t.hint||r.hint?(i(),p("span",{key:0,id:`${n(c)}-hint`,"data-slot":"hint",class:s(a.value.hint({class:e.ui?.hint}))},[o(l.$slots,"hint",{hint:t.hint},()=>[f(m(t.hint),1)])],10,U)):h("",!0)],2)):h("",!0),t.description||r.description?(i(),p("p",{key:1,id:`${n(c)}-description`,"data-slot":"description",class:s(a.value.description({class:e.ui?.description}))},[o(l.$slots,"description",{description:t.description},()=>[f(m(t.description),1)])],10,G)):h("",!0)],2),$("div",{class:s([(t.label||!!r.label||t.description||!!r.description)&&a.value.container({class:e.ui?.container})])},[o(l.$slots,"default",{error:d.value}),e.error!==!1&&(typeof d.value=="string"&&d.value||r.error)?(i(),p("div",{key:0,id:`${n(c)}-error`,"data-slot":"error",class:s(a.value.error({class:e.ui?.error}))},[o(l.$slots,"error",{error:d.value},()=>[f(m(d.value),1)])],10,M)):t.help||r.help?(i(),p("div",{key:1,id:`${n(c)}-help`,"data-slot":"help",class:s(a.value.help({class:e.ui?.help}))},[o(l.$slots,"help",{help:t.help},()=>[f(m(t.help),1)])],10,Q)):h("",!0)],2)]),_:3},8,["as","data-orientation","class"]))}};export{A as L,H as _};
@@ -1,39 +0,0 @@
1
- import{a as E,c as Y,G as g,R as u,a9 as N,aj as C,ak as B,ab as p,T as y,_ as Z,ae as x,U as G,C as _,aA as lt,e as D,q as I,k as ct,a2 as dt,f as W,aG as ut,Q as w,b8 as ht,S as v,aa as V,W as mt}from"./2dNDtTiv.js";import{X as vt,O as Q,c as P,i as _t,a as ft,b as gt,g as M,m as R,d as pt,e as K,h as yt,j as q,s as A,k as X,l as bt,n as kt,o as xt,p as $t,q as St,r as wt,t as Dt,S as Vt,C as Tt,A as Ct,z as Bt,f as L,_ as Et}from"./vIOxcXKR.js";import{_ as Mt,a as At}from"./CqNwHCpo.js";import{_ as z}from"./BmOtR1wX.js";import{c as Nt}from"./BHtY0l0l.js";import{_ as U}from"./C2vq6Te8.js";import{e as Ht}from"./DhI5cA_n.js";import{_ as Pt}from"./DlAUqK2U.js";import{_ as J}from"./DwY7rCd_.js";import{_ as tt}from"./JbHa4oXq.js";import{f as Ut}from"./CWePHsZr.js";import{u as jt}from"./CVqlefTY.js";import"./C8ut0f5H.js";import"./CqkleIqs.js";import"./D5jZq8b3.js";import"./DEd2xVbS.js";import"./88opOQSr.js";import"./BS2ZNXI1.js";const Ft={class:"grid gap-4 grid-cols-2 sm:grid-cols-3 lg:grid-cols-5"},Rt={class:"flex items-center gap-2 text-muted text-sm mb-1"},Wt=E({__name:"HookStatsCards",props:{stats:{},loading:{type:Boolean}},setup(h){const n=h;function r(a){return a<1e3?`${a}ms`:a<6e4?`${(a/1e3).toFixed(1)}s`:`${(a/6e4).toFixed(1)}m`}const o=Y(()=>{if(!n.stats)return[];const a=n.stats;return[{title:"Total Events",icon:"i-lucide-activity",value:a.totalEvents},{title:"Blocked",icon:"i-lucide-shield-alert",value:a.blockedEvents,color:"text-error"},{title:"Block Rate",icon:"i-lucide-percent",value:`${a.blockRate}%`},{title:"Avg Duration",icon:"i-lucide-clock",value:r(a.avgDurationMs)},{title:"Sessions",icon:"i-lucide-users",value:a.recentSessions.length}]});return(a,c)=>{const l=z,s=Z;return u(),g("div",Ft,[h.loading?(u(),g(C,{key:0},B(5,t=>p("div",{key:t,class:"p-4 rounded-lg bg-elevated border border-default"},[y(l,{class:"h-4 w-16 mb-2"}),y(l,{class:"h-8 w-12"})])),64)):h.stats?(u(!0),g(C,{key:1},B(_(o),t=>(u(),g("div",{key:t.title,class:"p-4 rounded-lg bg-elevated border border-default"},[p("div",Rt,[y(s,{name:t.icon,class:"size-4"},null,8,["name"]),p("span",null,x(t.title),1)]),p("p",{class:G(["text-2xl font-semibold",t.color])},x(t.value),3)]))),128)):N("",!0)])}}}),Ot=Object.assign(Wt,{__name:"HooksHookStatsCards"});function Gt({x:h,y:n,w:r,h:o,tl:a=!1,tr:c=!1,bl:l=!1,br:s=!1,r:t=0}){let e;e=`M${h+t},${n}h${r-2*t}`;let i=c?t:0,d=c?0:t;return e+=`a${i},${i} 0 0 1 ${i},${i}`,e+=`h${d}v${d}`,e+=`v${o-2*t}`,i=s?t:0,d=s?0:t,e+=`a${i},${i} 0 0 1 ${-i},${i}`,e+=`v${d}h${-d}`,e+=`h${2*t-r}`,i=l?t:0,d=l?0:t,e+=`a${i},${i} 0 0 1 ${-i},${-i}`,e+=`h${-d}v${-d}`,e+=`v${2*t-o}`,i=a?t:0,d=a?0:t,e+=`a${i},${i} 0 0 1 ${i},${-i}`,e+=`v${-d}h${d}`,e+="z",e}const zt=Object.assign(Object.assign({},vt),{color:void 0,barMaxWidth:void 0,barWidth:void 0,dataStep:void 0,barPadding:0,roundedCorners:2,cursor:null,barMinHeight1Px:!1,barMinHeightZeroValue:null,orientation:Q.Vertical}),et=P`
2
- label: stacked-bar-component;
3
- `,Kt=_t`
4
- :root {
5
- --vis-stacked-bar-cursor: default;
6
- --vis-stacked-bar-fill-color: var(--vis-color-main);
7
- --vis-stacked-bar-stroke-color: none;
8
- --vis-stacked-bar-stroke-width: 0px;
9
- --vis-stacked-bar-hover-stroke-width: none;
10
- --vis-stacked-bar-hover-stroke-color: none;
11
-
12
- /* Dark Theme */
13
- --vis-dark-stacked-bar-stroke-color: none;
14
- }
15
-
16
- body.theme-dark ${`.${et}`} {
17
- --vis-stacked-bar-stroke-color: var(--vis-dark-stacked-bar-stroke-color);
18
- }
19
- `,H=P`
20
- label: bar;
21
- fill: var(--vis-stacked-bar-fill-color);
22
- stroke: var(--vis-stacked-bar-stroke-color);
23
- stroke-width: var(--vis-stacked-bar-stroke-width);
24
- cursor: var(--vis-stacked-bar-cursor);
25
-
26
- &:hover {
27
- stroke-width: var(--vis-stacked-bar-hover-stroke-width);
28
- stroke: var(--vis-stacked-bar-hover-stroke-color);
29
- }
30
- `,O=P`
31
- label: barGroup;
32
- `,at=P`
33
- label: barGroupExit;
34
- `,qt=Object.freeze(Object.defineProperty({__proto__:null,bar:H,barGroup:O,barGroupExit:at,globalStyles:Kt,root:et},Symbol.toStringTag,{value:"Module"}));class st extends ft{constructor(n){super(),this._defaultConfig=zt,this.config=this._defaultConfig,this.getAccessors=()=>gt(this.config.y)?this.config.y:[this.config.y],this.stacked=!0,this.events={},this._barData=[],n&&this.setConfig(n)}get bleed(){if(this._barData=this._getVisibleData(),this._barData.length===0)return{top:0,bottom:0,left:0,right:0};const n=!this.isVertical()&&this.dataScale.range()[0]>this.dataScale.range()[1],r=this.dataScale.domain(),o=this._getBarWidth()/2,a=this._barData.map((S,m)=>M(S,this.config.x,m)),c=R(a),l=pt(a),s=this.dataScale(c),t=this.dataScale(l),e=this.dataScale.invert(s+(n?o:-o)),i=this.dataScale.invert(t+(n?-o:o)),d=e<=r[0]?this.dataScale(r[0])-this.dataScale(e):0,$=i>r[1]?this.dataScale(i)-this.dataScale(r[1]):0;return{top:this.isVertical()?0:n?-$:d,bottom:this.isVertical()?0:n?-d:$,left:this.isVertical()?d:0,right:this.isVertical()?$:0}}get dataScale(){return this.isVertical()?this.xScale:this.yScale}get valueScale(){return this.isVertical()?this.yScale:this.xScale}isVertical(){return this.config.orientation===Q.Vertical}_render(n){const{config:r}=this,o=K(n)?n:r.duration,a=this.getAccessors(),c=yt(this._barData,0,a,this._prevNegative);this._prevNegative=c.map(m=>!!m.isMostlyNegative);const l=this.g.selectAll(`.${O}`).data(this._barData,(m,f)=>{var k;return`${(k=q(m,r.id,f))!==null&&k!==void 0?k:f}`}),s=(m,f)=>{const k=this.dataScale(M(m,r.x,f)),b=this.isVertical()?k:0,j=this.isVertical()?0:k;return`translate(${b},${j})`},e=l.enter().append("g").attr("class",O).attr("transform",s).style("opacity",1).merge(l);A(e,o).attr("transform",s).style("opacity",1);const i=l.exit().attr("class",at);A(i,o).style("opacity",0).remove(),A(i.selectAll(`.${H}`),o).attr("transform",this.isVertical()?`translate(0,${this._height/3})`:`translate(${this._width/6},0)`);const d=e.selectAll(`.${H}`).data((m,f)=>c.map((k,b)=>Object.assign(Object.assign({},m),{_index:f,_stacked:k[f],_ending:b===c.length-1||b<=c.length-1&&c[b+1][f][0]!==k[f][1]}))),S=d.enter().append("path").attr("class",H).attr("d",(m,f)=>this._getBarPath(m,f,!0)).style("fill",(m,f)=>X(m,r.color,f)).merge(d);A(S,o).attr("d",(m,f)=>this._getBarPath(m,f)).style("fill",(m,f)=>X(m,r.color,f)).style("cursor",(m,f)=>q(m,r.cursor,f)),A(d.exit(),o).style("opacity",0).remove()}_getBarWidth(){const{config:n,datamodel:{data:r}}=this;if(bt(r))return 0;if(n.barWidth)return R([n.barWidth,n.barMaxWidth]);const o=this.dataScale.bandwidth,a=this.dataScale.domain?this.dataScale.domain():[];let l=1+(o?a.length:a[1]-a[0])/n.dataStep||!o&&r.filter((e,i)=>{const d=M(e,n.x,i);return d>=a[0]&&d<=a[1]}).length||r.length;!o&&l>=2&&(l+=1);const t=(l<2?1:1-n.barPadding)*(this.isVertical()?this._width:this._height)/l;return R([t,n.barMaxWidth])}_getVisibleData(){const{config:n,datamodel:{data:r}}=this,o=this._getBarWidth(),a=r.length<2?0:o/2,c=this.dataScale,l=Math.abs(c.invert(a)-c.invert(0));return r?.filter((t,e)=>{const i=M(t,n.x,e),d=c.domain(),$=+d[0],S=+d[1];return i>=$-l&&i<=S+l})}_getBarPath(n,r,o=!1){const{config:a}=this,c=this.getAccessors(),l=this._getBarWidth(),s=n._stacked[1]<0,t=n._ending,e=M(n,c[r],n._index),i=o?0:Math.abs(this.valueScale(n._stacked[0])-this.valueScale(n._stacked[1])),d=!o&&a.barMinHeight1Px&&i<1&&isFinite(e)&&e!==a.barMinHeightZeroValue?1:i,$=o?this.valueScale(0):this.valueScale(s?n._stacked[0]:n._stacked[1])-(i<1&&a.barMinHeight1Px?1:0),S=-l/2,m=l,f=a.roundedCorners?K(a.roundedCorners)?+a.roundedCorners:m/2:0,k=$t(f,0,Math.min(i,m)/2),b=this.yScale.range()[0]>this.yScale.range()[1];return Gt({x:this.isVertical()?S:$-d,y:this.isVertical()?$+(b?0:-d):S,w:this.isVertical()?m:d,h:this.isVertical()?d:m,tl:t&&(this.isVertical()?!s&&b||s&&!b:s),tr:t&&(this.isVertical()?!s&&b||s&&!b:!s),br:t&&(this.isVertical()?s&&b||!s&&!b:!s),bl:t&&(this.isVertical()?s&&b||!s&&!b:s),r:k})}getValueScaleExtent(n){const{datamodel:r}=this,o=this.getAccessors(),a=n?this._getVisibleData():r.data;return kt(a,...o)}getDataScaleExtent(){const{config:n,datamodel:r}=this;return xt(r.data,n.x)}getYDataExtent(n){return this.isVertical()?this.getValueScaleExtent(n):this.getDataScaleExtent()}getXDataExtent(){return this.isVertical()?this.getDataScaleExtent():this.getValueScaleExtent(!1)}}st.selectors=qt;const Xt={"data-vis-component":""},Lt=E({__name:"index",props:{color:{},barWidth:{},barMaxWidth:{},dataStep:{},barPadding:{},roundedCorners:{type:[Number,Boolean]},cursor:{},barMinHeight1Px:{type:Boolean},barMinHeightZeroValue:{},orientation:{},x:{},y:{},id:{type:Function},xScale:{type:[Object,Function]},yScale:{type:[Object,Function]},excludeFromDomainCalculation:{type:Boolean},duration:{},events:{},attributes:{},data:{}},setup(h,{expose:n}){const r=lt(St),o=h,a=Y(()=>r.data.value??o.data),c=wt(o),l=D();return I(()=>{ct(()=>{var s;l.value=new st(c.value),(s=l.value)==null||s.setData(a.value),r.update(l.value)})}),dt(()=>{var s;(s=l.value)==null||s.destroy(),r.destroy()}),W(c,(s,t)=>{var e;Dt(s,t)||(e=l.value)==null||e.setConfig(c.value)}),W(a,()=>{var s;(s=l.value)==null||s.setData(a.value)}),n({component:l}),(s,t)=>(u(),g("div",Xt))}}),Yt={class:"flex items-center justify-between"},Zt={class:"text-sm font-medium"},It={key:0,class:"flex items-center justify-center h-48 text-muted"},Qt=E({__name:"HookActivityChart.client",props:{data:{},title:{},height:{}},setup(h){const n=h,r=ut("cardRef"),{width:o}=Ht(r),a=(e,i)=>i,c=[e=>e.allowed,e=>e.blocked],l=["var(--ui-success)","var(--ui-error)"],s=e=>{const i=n.data[e];return i?L(new Date(i.date),"d MMM"):""},t=e=>`<div class="p-2 text-sm">
35
- <div class="font-medium">${L(new Date(e.date),"MMM d, yyyy")}</div>
36
- <div class="text-success">Allowed: ${e.allowed}</div>
37
- <div class="text-error">Blocked: ${e.blocked}</div>
38
- <div class="text-muted">Total: ${e.total}</div>
39
- </div>`;return(e,i)=>{const d=U;return u(),w(d,{ref_key:"cardRef",ref:r,ui:{root:"overflow-visible",body:"!px-0 !pt-0 !pb-3"}},ht({default:v(()=>[h.data.length===0?(u(),g("div",It," No activity data ")):(u(),w(_(Vt),{key:1,data:h.data,padding:{top:10,left:10,right:10,bottom:10},class:G(h.height||"h-48"),width:_(o)},{default:v(()=>[y(_(Lt),{x:a,y:c,color:l,"bar-padding":.2}),y(_(Tt),{type:"x",x:a,"tick-format":s}),y(_(Ct),{color:"var(--ui-primary)",template:t}),y(_(Bt))]),_:1},8,["data","class","width"]))]),_:2},[h.title?{name:"header",fn:v(()=>[p("div",Yt,[p("p",Zt,x(h.title),1),i[0]||(i[0]=p("div",{class:"flex items-center gap-4 text-xs"},[p("span",{class:"flex items-center gap-1"},[p("span",{class:"w-3 h-3 rounded bg-success"}),V(" Allowed ")]),p("span",{class:"flex items-center gap-1"},[p("span",{class:"w-3 h-3 rounded bg-error"}),V(" Blocked ")])],-1))])]),key:"0"}:void 0]),1536)}}}),Jt=Object.assign(Pt(Qt,[["__scopeId","data-v-78e2a979"]]),{__name:"HooksHookActivityChart"}),te={key:0,class:"space-y-3"},ee={key:1,class:"text-center text-muted py-8"},ae={class:"font-mono text-sm"},se=E({__name:"ToolBreakdownTable",props:{data:{},loading:{type:Boolean}},setup(h){function n(o){return o<1e3?`${o}ms`:o<6e4?`${(o/1e3).toFixed(1)}s`:`${(o/6e4).toFixed(1)}m`}function r(o,a){const c=a>0?o/a*100:0;return c>50?"text-error":c>25?"text-warning":"text-success"}return(o,a)=>{const c=z,l=J,s=U;return u(),w(s,null,{header:v(()=>[...a[0]||(a[0]=[p("p",{class:"text-sm font-medium"}," Tool Usage Breakdown ",-1)])]),default:v(()=>[h.loading?(u(),g("div",te,[(u(),g(C,null,B(5,t=>y(c,{key:t,class:"h-10 w-full"})),64))])):h.data.length===0?(u(),g("div",ee," No tool usage data yet ")):(u(),w(l,{key:2,data:h.data,columns:[{accessorKey:"toolName",header:"Tool"},{accessorKey:"total",header:"Total"},{accessorKey:"blocked",header:"Blocked"},{accessorKey:"avgDurationMs",header:"Avg Duration"}]},{"toolName-cell":v(({row:t})=>[p("span",ae,x(t.original.toolName),1)]),"blocked-cell":v(({row:t})=>[p("span",{class:G(r(t.original.blocked,t.original.total))},x(t.original.blocked),3)]),"avgDurationMs-cell":v(({row:t})=>[V(x(n(t.original.avgDurationMs)),1)]),_:1},8,["data"]))]),_:1})}}}),oe=Object.assign(se,{__name:"HooksToolBreakdownTable"}),ne={key:0,class:"space-y-3"},re={key:1,class:"text-center text-muted py-8"},ie={key:0,class:"font-mono text-sm"},le={key:1,class:"text-muted"},ce={key:0},de={key:1,class:"text-muted"},ue={class:"text-muted text-sm"},he=E({__name:"RecentEventsTable",props:{events:{},loading:{type:Boolean}},setup(h){function n(o){switch(o){case"SessionStart":return"success";case"SessionEnd":return"neutral";case"PreToolUse":return"info";case"PostToolUse":return"success";case"PostToolUseFailure":return"error";case"UserPromptSubmit":return"info";default:return"neutral"}}function r(o){return Ut(new Date(o),{addSuffix:!0})}return(o,a)=>{const c=z,l=tt,s=J,t=U;return u(),w(t,null,{header:v(()=>[...a[0]||(a[0]=[p("p",{class:"text-sm font-medium"}," Recent Events ",-1)])]),default:v(()=>[h.loading?(u(),g("div",ne,[(u(),g(C,null,B(10,e=>y(c,{key:e,class:"h-10 w-full"})),64))])):h.events.length===0?(u(),g("div",re," No events recorded yet ")):(u(),w(s,{key:2,data:h.events,columns:[{accessorKey:"eventType",header:"Event"},{accessorKey:"toolName",header:"Tool"},{accessorKey:"blocked",header:"Status"},{accessorKey:"durationMs",header:"Duration"},{accessorKey:"createdAt",header:"Time"}]},{"eventType-cell":v(({row:e})=>[y(l,{color:n(e.original.eventType),variant:"subtle",size:"sm"},{default:v(()=>[V(x(e.original.eventType),1)]),_:2},1032,["color"])]),"toolName-cell":v(({row:e})=>[e.original.toolName?(u(),g("span",ie,x(e.original.toolName),1)):(u(),g("span",le," - "))]),"blocked-cell":v(({row:e})=>[e.original.blocked?(u(),w(l,{key:0,color:"error",variant:"subtle",size:"sm"},{default:v(()=>[...a[1]||(a[1]=[V(" Blocked ",-1)])]),_:1})):(u(),w(l,{key:1,color:"success",variant:"subtle",size:"sm"},{default:v(()=>[...a[2]||(a[2]=[V(" Allowed ",-1)])]),_:1}))]),"durationMs-cell":v(({row:e})=>[e.original.durationMs?(u(),g("span",ce,x(e.original.durationMs)+"ms ",1)):(u(),g("span",de," - "))]),"createdAt-cell":v(({row:e})=>[p("span",ue,x(r(e.original.createdAt)),1)]),_:1},8,["data"]))]),_:1})}}}),me=Object.assign(he,{__name:"HooksRecentEventsTable"});function ve(){const h=D([]),n=D(null),r=D(!1),o=D(null);async function a(s){r.value=!0,o.value=null;try{const t=await $fetch("/api/hooks/events",{query:s});return h.value=t.data,t.data}catch(t){throw o.value="Failed to load hook events",console.error("Failed to load hook events:",t),t}finally{r.value=!1}}async function c(s="7d"){r.value=!0,o.value=null;try{const t=await $fetch("/api/hooks/stats",{query:{period:s}});return n.value=t.data,t.data}catch(t){throw o.value="Failed to load hook stats",console.error("Failed to load hook stats:",t),t}finally{r.value=!1}}async function l(s,t=100){try{return(await $fetch("/api/hooks/events",{query:{sessionId:s,limit:t}})).data}catch(e){throw console.error("Failed to fetch session events:",e),e}}return{events:h,stats:n,loading:r,error:o,fetchEvents:a,fetchStats:c,fetchEventsBySession:l}}const _e=Nt(Jt),fe={class:"contents"},ge={class:"p-4 space-y-6"},pe={class:"grid lg:grid-cols-2 gap-6"},ye={key:0,class:"text-center text-muted py-8"},be={key:1,class:"space-y-3"},ke={class:"text-sm"},xe={key:1,class:"flex flex-col items-center justify-center h-64 text-neutral-500"},We=E({__name:"hooks",setup(h){const{fetchEvents:n,fetchStats:r}=ve(),{agentStatsPeriod:o}=jt(),a=D([]),c=D(null),l=D(!1),s=D(o.value),t=[{label:"24h",value:"24h"},{label:"7d",value:"7d"},{label:"30d",value:"30d"}];async function e(){l.value=!0;try{const[i,d]=await Promise.all([r(s.value),n({limit:50})]);c.value=i,a.value=d}catch(i){console.error("Failed to load hook data:",i)}finally{l.value=!1}}return W(s,()=>{o.value=s.value,e()}),I(e),(i,d)=>{const $=mt,S=Et,m=At,f=Ot,k=_e,b=oe,j=tt,ot=U,nt=me,rt=Z,it=Mt;return u(),g("div",fe,[y(it,{id:"hooks",grow:""},{header:v(()=>[y(m,{title:"Hook Analytics"},{right:v(()=>[y(S,null,{default:v(()=>[(u(),g(C,null,B(t,T=>y($,{key:T.value,color:_(s)===T.value?"primary":"neutral",variant:_(s)===T.value?"solid":"ghost",size:"sm",onClick:F=>s.value=T.value},{default:v(()=>[V(x(T.label),1)]),_:2},1032,["color","variant","onClick"])),64))]),_:1})]),_:1})]),body:v(()=>[p("div",ge,[y(f,{stats:_(c),loading:_(l)},null,8,["stats","loading"]),_(c)&&_(c).dailyActivity.length>0?(u(),w(k,{key:0,data:_(c).dailyActivity,title:"Daily Activity"},null,8,["data"])):N("",!0),p("div",pe,[y(b,{data:_(c)?.toolBreakdown??[],loading:_(l)},null,8,["data","loading"]),_(c)?(u(),w(ot,{key:0},{header:v(()=>[...d[0]||(d[0]=[p("p",{class:"text-sm font-medium"}," Events by Type ",-1)])]),default:v(()=>[!_(c).eventsByType||Object.keys(_(c).eventsByType).length===0?(u(),g("div",ye," No events by type data ")):(u(),g("div",be,[(u(!0),g(C,null,B(_(c).eventsByType,(T,F)=>(u(),g("div",{key:F,class:"flex items-center justify-between"},[p("span",ke,x(F),1),y(j,{color:"neutral",variant:"subtle"},{default:v(()=>[V(x(T),1)]),_:2},1024)]))),128))]))]),_:1})):N("",!0)]),y(nt,{events:_(a),loading:_(l)},null,8,["events","loading"]),!_(l)&&_(a).length===0&&!_(c)?.totalEvents?(u(),g("div",xe,[y(rt,{name:"i-lucide-webhook",class:"w-12 h-12 mb-4"}),d[1]||(d[1]=p("p",{class:"text-lg font-medium"}," No hook events yet ",-1)),d[2]||(d[2]=p("p",{class:"text-sm text-center max-w-md"}," Hook events will appear here once Claude Code hooks are triggered. Make sure your hooks are configured in ~/.claude/settings.json ",-1))])):N("",!0)])]),_:1})])}}});export{We as default};
@@ -1 +0,0 @@
1
- import{N as f,ac as m,c as i,G as n,R as o,a4 as c,U as r,am as u}from"./2dNDtTiv.js";const p={slots:{base:"text-4xl text-highlighted font-bold mb-8 scroll-mt-[calc(45px+var(--ui-header-height))] lg:scroll-mt-(--ui-header-height)",link:"inline-flex items-center gap-2"}},g=["id"],k=["href"],y={__name:"ProseH1",props:{id:{type:String,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1}},setup(e){const s=e,d=f(),{headings:t}=m().public?.mdc||{},a=i(()=>u({extend:u(p),...d.ui?.prose?.h1||{}})()),h=i(()=>s.id&&typeof t?.anchorLinks=="object"&&t.anchorLinks.h1);return(l,b)=>(o(),n("h1",{id:e.id,class:r(a.value.base({class:s.class}))},[e.id&&h.value?(o(),n("a",{key:0,href:`#${e.id}`,class:r(a.value.link({class:s.ui?.link}))},[c(l.$slots,"default")],10,k)):c(l.$slots,"default",{key:1})],10,g))}};export{y as default};
@@ -1,2 +0,0 @@
1
- import{a as O,e as g,c as N,G as u,R as s,ab as b,a9 as w,Q as S,T as P,C as y,ae as T,S as V,aa as J,_ as K,U as j,aj as W,ak as L,bE as Q,bF as X,ai as Y,k as Z,W as ee,r as I}from"./2dNDtTiv.js";import{_ as H}from"./YX8avsvq.js";import{_ as te}from"./JbHa4oXq.js";import{s as ne}from"./BaZwjF8o.js";const se={class:"border border-default rounded-lg my-2 overflow-hidden"},ae={class:"font-mono text-xs"},oe=O({__name:"ToolCallBlock",props:{toolName:{},result:{},isError:{type:Boolean},pending:{type:Boolean}},setup(t){const r=t,c=g(!1),_={Read:"i-lucide-file-text",Edit:"i-lucide-pencil",Write:"i-lucide-file-plus",Bash:"i-lucide-terminal",Glob:"i-lucide-search",Grep:"i-lucide-text-search",Task:"i-lucide-git-branch",WebFetch:"i-lucide-globe",WebSearch:"i-lucide-search"},d=N(()=>_[r.toolName]||"i-lucide-wrench"),m=N(()=>r.result?r.result.length>500?r.result.slice(0,500)+"...":r.result:"");return(o,a)=>{const i=K,v=te;return s(),u("div",se,[b("button",{class:"flex items-center gap-2 w-full px-3 py-2 text-sm text-muted hover:bg-elevated/50 transition-colors",onClick:a[0]||(a[0]=f=>c.value=!y(c))},[t.pending?(s(),S(i,{key:0,name:"i-lucide-loader-2",class:"size-4 animate-spin text-primary"})):(s(),S(i,{key:1,name:y(d),class:"size-4"},null,8,["name"])),b("span",ae,T(t.toolName),1),t.isError?(s(),S(v,{key:2,color:"error",variant:"subtle",size:"xs"},{default:V(()=>[...a[1]||(a[1]=[J(" error ",-1)])]),_:1})):t.pending?(s(),S(v,{key:3,color:"warning",variant:"subtle",size:"xs"},{default:V(()=>[...a[2]||(a[2]=[J(" running ",-1)])]),_:1})):w("",!0),P(i,{name:y(c)?"i-lucide-chevron-up":"i-lucide-chevron-down",class:"size-4 ms-auto"},null,8,["name"])]),y(c)&&t.result?(s(),u("div",{key:0,class:j(["border-t border-default px-3 py-2 text-xs font-mono bg-elevated/25 max-h-64 overflow-auto whitespace-pre-wrap",{"text-error":t.isError}])},T(y(m)),3)):w("",!0)])}}}),q=Object.assign(oe,{__name:"ChatToolCallBlock"}),re={key:0,class:"text-sm whitespace-pre-wrap"},ie={key:0,class:"chat-prose prose prose-sm dark:prose-invert max-w-none"},le={key:1,class:"flex items-center gap-3 mt-2 text-xs text-dimmed"},ce={key:0},ue={key:1},de=O({__name:"MessageBubble",props:{message:{}},setup(t){function r(o){return o.filter(a=>a.type==="text").map(a=>a.text).join(`
2
- `)}function c(o){const a=[];for(const i of o)if(i.type==="tool_use")a.push({name:i.name,id:i.id});else if(i.type==="tool_result"){const v=a.find(f=>f.id===i.tool_use_id);v&&(v.result=i.content,v.isError=i.is_error)}return a}const _={telegram:"i-simple-icons-telegram",discord:"i-simple-icons-discord",imessage:"i-lucide-message-circle",email:"i-lucide-mail",google:"i-simple-icons-google"};function d(o){return!o||o==="web"?null:_[o]||null}function m(o){if(!o)return"";const a=o instanceof Date?o:new Date(o),v=new Date().getTime()-a.getTime(),f=Math.floor(v/6e4),h=Math.floor(v/36e5);return f<1?"just now":f<60?`${f}m ago`:h<24?`${h}h ago`:a.toLocaleDateString(void 0,{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"})}return(o,a)=>{const i=K,v=H,f=q;return s(),u("div",{class:j(["flex",t.message.role==="user"?"justify-end":"justify-start"])},[t.message.role==="user"&&d(t.message.source)?(s(),S(i,{key:0,name:d(t.message.source),class:"size-4 text-dimmed self-end mb-1 mr-1.5 shrink-0"},null,8,["name"])):w("",!0),b("div",{class:j(["max-w-[85%] rounded-xl px-4 py-3",t.message.role==="user"?"bg-primary/5 text-highlighted":"bg-muted"])},[t.message.role==="user"?(s(),u("div",re,T(r(t.message.content)),1)):(s(),u(W,{key:1},[r(t.message.content)?(s(),u("div",ie,[P(v,{value:r(t.message.content)},null,8,["value"])])):w("",!0),(s(!0),u(W,null,L(c(t.message.content),h=>(s(),S(f,{key:h.id,"tool-name":h.name,result:h.result,"is-error":h.isError},null,8,["tool-name","result","is-error"]))),128)),t.message.costUsd||t.message.durationMs?(s(),u("div",le,[t.message.costUsd?(s(),u("span",ce,"$"+T(t.message.costUsd.toFixed(4)),1)):w("",!0),t.message.durationMs?(s(),u("span",ue,T((t.message.durationMs/1e3).toFixed(1))+"s",1)):w("",!0)])):w("",!0)],64)),t.message.createdAt?(s(),u("div",{key:2,class:j(["mt-1 text-xs text-dimmed",t.message.role==="user"?"text-right":""])},T(m(t.message.createdAt)),3)):w("",!0)],2)],2)}}}),$e=Object.assign(de,{__name:"ChatMessageBubble"}),me={class:"flex justify-start"},ve={class:"max-w-[85%] rounded-xl px-4 py-3 bg-elevated/50"},fe={key:0,class:"chat-prose prose prose-sm dark:prose-invert max-w-none"},ge=O({__name:"StreamingMessage",props:{text:{},toolCalls:{}},setup(t){return(r,c)=>{const _=H,d=q;return s(),u("div",me,[b("div",ve,[t.text?(s(),u("div",fe,[P(_,{value:t.text},null,8,["value"])])):w("",!0),(s(!0),u(W,null,L(t.toolCalls,(m,o)=>(s(),S(d,{key:o,"tool-name":m.name,result:m.result,"is-error":m.isError,pending:!m.result},null,8,["tool-name","result","is-error","pending"]))),128)),c[0]||(c[0]=b("div",{class:"flex items-center gap-1.5 mt-2"},[b("span",{class:"size-2 rounded-full bg-primary animate-pulse"}),b("span",{class:"text-xs text-dimmed"},"Thinking...")],-1))])])}}}),Ie=Object.assign(ge,{__name:"ChatStreamingMessage"}),pe={class:"border-t border-default p-4"},he={key:0,class:"flex items-center gap-2 mb-2 text-xs text-dimmed"},xe={class:"flex items-start gap-2"},ye=["disabled"],be=O({__name:"ChatInput",props:{sessionStatus:{},connectionStatus:{}},emits:["send","interrupt"],setup(t,{emit:r}){const c=t,_=r,d=g(""),m=g(null),o=N(()=>c.sessionStatus==="streaming"),a=N(()=>c.connectionStatus==="connected"),i=N(()=>a.value&&!o.value&&d.value.trim().length>0);function v(e){e.key==="Enter"&&!e.shiftKey&&(e.preventDefault(),f())}function f(){i.value&&(_("send",d.value.trim()),d.value="",Z(()=>{m.value&&(m.value.style.height="auto")}))}function h(e){const n=e.target;n.style.height="auto",n.style.height=Math.min(n.scrollHeight,200)+"px"}return(e,n)=>{const l=ee;return s(),u("div",pe,[y(a)?w("",!0):(s(),u("div",he,[n[2]||(n[2]=b("span",{class:"size-2 rounded-full bg-warning"},null,-1)),b("span",null,T(t.connectionStatus==="connecting"?"Connecting...":"Disconnected"),1)])),b("div",xe,[Q(b("textarea",{ref_key:"textareaRef",ref:m,"onUpdate:modelValue":n[0]||(n[0]=$=>Y(d)?d.value=$:null),disabled:!y(a)||y(o),placeholder:"Send a message...",rows:"1",class:"flex-1 resize-none bg-elevated/50 border border-default rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-primary/50 disabled:opacity-50",onKeydown:v,onInput:h},null,40,ye),[[X,y(d)]]),y(o)?(s(),S(l,{key:0,icon:"i-lucide-square",color:"error",variant:"soft",size:"md",onClick:n[1]||(n[1]=$=>_("interrupt"))})):(s(),S(l,{key:1,icon:"i-lucide-send",color:"primary",disabled:!y(i),size:"md",onClick:f},null,8,["disabled"]))])])}}}),Ue=Object.assign(be,{__name:"ChatInput"});function A(){if(typeof crypto<"u"&&crypto.randomUUID)return crypto.randomUUID();const t=new Uint8Array(16);crypto.getRandomValues(t),t[6]=t[6]&15|64,t[8]=t[8]&63|128;const r=Array.from(t,c=>c.toString(16).padStart(2,"0")).join("");return`${r.slice(0,8)}-${r.slice(8,12)}-${r.slice(12,16)}-${r.slice(16,20)}-${r.slice(20)}`}const U=g("disconnected"),M=g("idle"),C=g(null),E=g([]),B=g([]),k=g(""),x=g({}),G=g(0),F=g(!1),p=g(null),z=g(0),_e=5;let R=!1,D=null;function Me(){function t(){return`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}/_ws/chat`}function r(e){switch(e.type){case"chat:session_created":C.value=e.conversationId,f();break;case"chat:stream_start":M.value="streaming",k.value="",x.value={};break;case"chat:text_delta":k.value+=e.delta;break;case"chat:tool_start":x.value={...x.value,[e.toolUseId]:{name:e.toolName}};break;case"chat:tool_end":{const n=x.value[e.toolUseId];n&&(x.value={...x.value,[e.toolUseId]:{...n,result:e.result,isError:e.isError}});break}case"chat:stream_end":{M.value="idle",G.value=e.costUsd;const n=[];k.value&&n.push({type:"text",text:k.value});for(const[l,$]of Object.entries(x.value))n.push({type:"tool_use",id:l,name:$.name,input:{}}),$.result!==void 0&&n.push({type:"tool_result",tool_use_id:l,content:$.result,is_error:$.isError});n.length>0&&E.value.push({id:A(),conversationId:e.conversationId,role:"assistant",content:n,costUsd:e.costUsd,durationMs:e.durationMs,createdAt:new Date}),k.value="",x.value={},f();break}case"chat:error":M.value="error",console.error("[chat] Server error:",e.message);break;case"chat:interrupted":M.value="interrupted",k.value&&(E.value.push({id:A(),conversationId:e.conversationId,role:"assistant",content:[{type:"text",text:k.value}],createdAt:new Date}),k.value="",x.value={});break}}function c(){if(p.value?.readyState===WebSocket.OPEN||R&&U.value==="connecting")return;R=!0,U.value="connecting";const e=new WebSocket(t());p.value=e,e.onopen=()=>{U.value="connected",z.value=0,d()},e.onmessage=n=>{try{const l=JSON.parse(n.data);if(l.type==="chat:connected"||l.type==="pong")return;r(l)}catch(l){console.error("[chat] Failed to parse message:",l)}},e.onclose=()=>{U.value="disconnected",m(),z.value<_e&&(z.value++,setTimeout(c,2e3*z.value))},e.onerror=()=>{U.value="error"}}function _(){m(),p.value&&(p.value.close(),p.value=null),U.value="disconnected",R=!1}function d(){D&&clearInterval(D),D=ne(()=>{p.value?.readyState===WebSocket.OPEN&&p.value.send(JSON.stringify({type:"ping"}))},3e4)}function m(){D&&(clearInterval(D),D=null)}function o(e){!p.value||p.value.readyState!==WebSocket.OPEN||(E.value.push({id:A(),conversationId:C.value||"",role:"user",content:[{type:"text",text:e}],createdAt:new Date}),p.value.send(JSON.stringify({type:"chat:send",message:e,conversationId:C.value})))}function a(){!p.value||!C.value||p.value.send(JSON.stringify({type:"chat:interrupt",conversationId:C.value}))}function i(){C.value=null,E.value=[],M.value="idle",k.value="",x.value={}}async function v(e){F.value=!0;try{const n=await $fetch(`/api/conversations/${e}`);C.value=e,E.value=(n.data.messages||[]).map(l=>({...l,createdAt:new Date(l.createdAt)})),M.value="idle"}catch(n){console.error("[chat] Failed to load conversation:",n)}finally{F.value=!1}}async function f(){try{const e=await $fetch("/api/conversations");B.value=e.data}catch(e){console.error("[chat] Failed to load conversations:",e)}}async function h(e){if(!B.value.find(l=>l.id===e)?.isMain)try{await $fetch(`/api/conversations/${e}`,{method:"DELETE"}),B.value=B.value.filter(l=>l.id!==e),C.value===e&&i()}catch(l){console.error("[chat] Failed to delete conversation:",l)}}return{connectionStatus:I(U),sessionStatus:I(M),activeConversationId:I(C),messages:E,conversations:B,streamingText:I(k),streamingToolCalls:I(x),lastCostUsd:I(G),loading:I(F),connect:c,disconnect:_,sendMessage:o,interrupt:a,startNewConversation:i,loadConversation:v,loadConversations:f,deleteConversation:h}}export{$e as _,Ie as a,Ue as b,Me as u};
@@ -1 +0,0 @@
1
- import{aR as _,a as T,a_ as ee,aQ as de,c as F,a8 as te,Q as g,R as u,S as q,a4 as y,a9 as z,C as t,V as I,bm as K,al as qe,au as ce,a3 as U,a6 as ke,T as M,bf as xe,aP as Ve,e as j,f as pe,aS as we,q as me,a2 as $e,a0 as Ce,k as Ie,aq as le,ao as fe,ar as Se,N as ae,O as Be,aI as ve,aF as be,X as ze,am as N,ab as O,G as E,U as V,_ as G,aa as H,ae as Q,aJ as Fe,aj as Y,ak as Z,aH as Re,ah as Pe,L as Ee,aG as se,W,b8 as Ae,bR as re,b9 as X,ag as Me,y as Ne,n as ie}from"./2dNDtTiv.js";import{_ as Ue}from"./BR8bKz8h.js";import{_ as De}from"./x6FRJ5ac.js";import{L as oe,_ as Oe}from"./DJTCT0bl.js";import{i as ne}from"./fbyIeNkc.js";import{u as je}from"./DmmdPt_5.js";import{R as Te}from"./DH4YkDAi.js";import{V as ge}from"./Bk6JUtIo.js";import{_ as Le}from"./DuvzM-P1.js";import{_ as ue}from"./wO6z2ugJ.js";import{u as Ke}from"./BIXrSYwR.js";import{u as Ge}from"./C6Y-ieo6.js";import{u as He}from"./BKXg-alD.js";import"./zq-a1TeT.js";import"./DhI5cA_n.js";import"./CWyMCJQH.js";import"./CYPO5o_C.js";import"./H6JbrRBU.js";import"./apYB9dr5.js";import"./DtjjnHnt.js";import"./CQqCBrXj.js";import"./BS2ZNXI1.js";import"./DY3uK7wM.js";const[Qe]=_("CheckboxGroupRoot");function J(a){return a==="indeterminate"}function he(a){return J(a)?"indeterminate":a?"checked":"unchecked"}const[Je,We]=_("CheckboxRoot");var Xe=T({inheritAttrs:!1,__name:"CheckboxRoot",props:{defaultValue:{type:[Boolean,String],required:!1},modelValue:{type:[Boolean,String,null],required:!1,default:void 0},disabled:{type:Boolean,required:!1},value:{type:null,required:!1,default:"on"},id:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:modelValue"],setup(a,{emit:v}){const e=a,s=v,{forwardRef:n,currentElement:k}=ee(),p=Qe(null),o=de(e,"modelValue",s,{defaultValue:e.defaultValue,passive:e.modelValue===void 0}),f=F(()=>p?.disabled.value||e.disabled),m=F(()=>te(p?.modelValue.value)?o.value==="indeterminate"?"indeterminate":o.value:ne(p.modelValue.value,e.value));function S(){if(te(p?.modelValue.value))o.value=J(o.value)?!0:!o.value;else{const l=[...p.modelValue.value||[]];if(ne(l,e.value)){const c=l.findIndex(r=>ke(r,e.value));l.splice(c,1)}else l.push(e.value);p.modelValue.value=l}}const R=je(k),h=F(()=>e.id&&k.value?document.querySelector(`[for="${e.id}"]`)?.innerText:void 0);return We({disabled:f,state:m}),(l,c)=>(u(),g(ce(t(p)?.rovingFocus.value?t(Te):t(U)),I(l.$attrs,{id:l.id,ref:t(n),role:"checkbox","as-child":l.asChild,as:l.as,type:l.as==="button"?"button":void 0,"aria-checked":t(J)(m.value)?"mixed":m.value,"aria-required":l.required,"aria-label":l.$attrs["aria-label"]||h.value,"data-state":t(he)(m.value),"data-disabled":f.value?"":void 0,disabled:f.value,focusable:t(p)?.rovingFocus.value?!f.value:void 0,onKeydown:K(qe(()=>{},["prevent"]),["enter"]),onClick:S}),{default:q(()=>[y(l.$slots,"default",{modelValue:t(o),state:m.value}),t(R)&&l.name&&!t(p)?(u(),g(t(ge),{key:0,type:"checkbox",checked:!!m.value,name:l.name,value:l.value,disabled:f.value,required:l.required},null,8,["checked","name","value","disabled","required"])):z("v-if",!0)]),_:3},16,["id","as-child","as","type","aria-checked","aria-required","aria-label","data-state","data-disabled","disabled","focusable","onKeydown"]))}}),Ye=Xe,Ze=T({__name:"CheckboxIndicator",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(a){const{forwardRef:v}=ee(),e=Je();return(s,n)=>(u(),g(t(xe),{present:s.forceMount||t(J)(t(e).state.value)||t(e).state.value===!0},{default:q(()=>[M(t(U),I({ref:t(v),"data-state":t(he)(t(e).state.value),"data-disabled":t(e).disabled.value?"":void 0,style:{pointerEvents:"none"},"as-child":s.asChild,as:s.as},s.$attrs),{default:q(()=>[y(s.$slots,"default")]),_:3},16,["data-state","data-disabled","as-child","as"])]),_:3},8,["present"]))}}),_e=Ze;const[ea,aa]=_("PinInputRoot");var ta=T({inheritAttrs:!1,__name:"PinInputRoot",props:{modelValue:{type:null,required:!1},defaultValue:{type:null,required:!1},placeholder:{type:String,required:!1,default:""},mask:{type:Boolean,required:!1},otp:{type:Boolean,required:!1},type:{type:null,required:!1,default:"text"},dir:{type:String,required:!1},disabled:{type:Boolean,required:!1},id:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:modelValue","complete"],setup(a,{emit:v}){const e=a,s=v,{mask:n,otp:k,placeholder:p,type:o,disabled:f,dir:m}=Ve(e),{forwardRef:S}=ee(),R=Ke(m),h=de(e,"modelValue",s,{defaultValue:e.defaultValue??[],passive:!0,deep:!0}),l=F(()=>Array.isArray(h.value)?[...h.value]:[]),c=j(new Set);function r(C){c.value.add(C)}const b=F(()=>e.type==="number"),w=F(()=>l.value.filter($=>!!$||b.value&&$===0).length===c.value.size);return pe(h,()=>{w.value&&s("complete",h.value)},{deep:!0}),aa({modelValue:h,currentModelValue:l,mask:n,otp:k,placeholder:p,type:o,dir:R,disabled:f,isCompleted:w,inputElements:c,onInputElementChange:r,isNumericMode:b}),(C,$)=>(u(),g(t(U),I(C.$attrs,{ref:t(S),dir:t(R),"data-complete":w.value?"":void 0,"data-disabled":t(f)?"":void 0}),{default:q(()=>[y(C.$slots,"default",{modelValue:t(h)}),M(ge,{id:C.id,as:"input",feature:"focusable",tabindex:"-1",value:l.value.join(""),name:C.name??"",disabled:t(f),required:C.required,onFocus:$[0]||($[0]=P=>Array.from(c.value)?.[0]?.focus())},null,8,["id","value","name","disabled","required"])]),_:3},16,["dir","data-complete","data-disabled"]))}}),la=ta,sa=T({__name:"PinInputInput",props:{index:{type:Number,required:!0},disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"input"}},setup(a){const v=a,e=ea(),s=F(()=>Array.from(e.inputElements.value)),n=F(()=>e.currentModelValue.value[v.index]),k=F(()=>v.disabled||e.disabled.value),p=F(()=>e.otp.value),o=F(()=>e.mask.value),{primitiveElement:f,currentElement:m}=we();function S(i){const d=i.target;if((i.data?.length??0)>1){C(d.value);return}if(e.isNumericMode.value&&!/^\d*$/.test(d.value)){d.value=d.value.replace(/\D/g,"");return}d.value=i.data||d.value.slice(-1),P(v.index,d.value);const x=s.value[v.index+1];x&&x.focus()}function R(){const i=m.value;Ie(()=>{i&&!i.value&&(i.placeholder=e.placeholder.value)})}function h(i){Ge(i,Ce(),void 0,{itemsArray:s.value,focus:!0,loop:!1,arrowKeyOptions:"horizontal",dir:e.dir.value})}function l(i){if(i.preventDefault(),i.target.value)P(v.index,"");else{const B=s.value[v.index-1];B&&(B.focus(),P(v.index-1,""))}}function c(i){i.key==="Delete"&&(i.preventDefault(),P(v.index,""))}function r(i){const d=i.target;d.setSelectionRange(1,1),d.value||(d.placeholder=""),setTimeout(()=>{d.value||(d.placeholder="")})}function b(i){R()}function w(i){i.preventDefault();const d=i.clipboardData;if(!d)return;const x=d.getData("text");C(x)}function C(i){const d=[...e.currentModelValue.value],x=i.length>=s.value.length?0:v.index,B=Math.min(x+i.length,s.value.length);for(let A=x;A<B;A++){const L=s.value[A],D=i[A-x];e.isNumericMode.value&&!/^\d*$/.test(D)||(d[A]=D,L.focus())}e.modelValue.value=d,s.value[B]?.focus()}function $(i){let d=i.length-1;for(;d>=0&&i[d]==="";)i.pop(),d--;return i}function P(i,d){const x=[...e.currentModelValue.value];if(e.isNumericMode.value){const B=+d;d===""||isNaN(B)?delete x[i]:x[i]=B}else x[i]=d;e.modelValue.value=$(x)}return pe(n,()=>{n.value||R()}),me(()=>{e.onInputElementChange(m.value)}),$e(()=>{e.inputElements?.value.delete(m.value)}),(i,d)=>(u(),g(t(U),{ref_key:"primitiveElement",ref:f,autocapitalize:"none",as:i.as,"as-child":i.asChild,autocomplete:p.value?"one-time-code":"false",type:o.value?"password":"text",inputmode:t(e).isNumericMode.value?"numeric":"text",pattern:t(e).isNumericMode.value?"[0-9]*":void 0,placeholder:t(e).placeholder.value,value:n.value,disabled:k.value,"data-disabled":k.value?"":void 0,"data-complete":t(e).isCompleted.value?"":void 0,"aria-label":`pin input ${i.index+1} of ${s.value.length}`,onInput:d[0]||(d[0]=x=>S(x)),onKeydown:[K(h,["left","right","up","down","home","end"]),K(l,["backspace"]),K(c,["delete"])],onFocus:r,onBlur:b,onPaste:w},{default:q(()=>[y(i.$slots,"default")]),_:3},8,["as","as-child","autocomplete","type","inputmode","pattern","placeholder","value","disabled","data-disabled","data-complete","aria-label"]))}}),ra=sa;const ia={slots:{root:"relative flex items-start",container:"flex items-center",base:"rounded-sm ring ring-inset ring-accented overflow-hidden focus-visible:outline-2 focus-visible:outline-offset-2",indicator:"flex items-center justify-center size-full text-inverted",icon:"shrink-0 size-full",wrapper:"w-full",label:"block font-medium text-default",description:"text-muted"},variants:{color:{primary:{base:"focus-visible:outline-primary",indicator:"bg-primary"},secondary:{base:"focus-visible:outline-secondary",indicator:"bg-secondary"},success:{base:"focus-visible:outline-success",indicator:"bg-success"},info:{base:"focus-visible:outline-info",indicator:"bg-info"},warning:{base:"focus-visible:outline-warning",indicator:"bg-warning"},error:{base:"focus-visible:outline-error",indicator:"bg-error"},neutral:{base:"focus-visible:outline-inverted",indicator:"bg-inverted"}},variant:{list:{root:""},card:{root:"border border-muted rounded-lg"}},indicator:{start:{root:"flex-row",wrapper:"ms-2"},end:{root:"flex-row-reverse",wrapper:"me-2"},hidden:{base:"sr-only",wrapper:"text-center"}},size:{xs:{base:"size-3",container:"h-4",wrapper:"text-xs"},sm:{base:"size-3.5",container:"h-4",wrapper:"text-xs"},md:{base:"size-4",container:"h-5",wrapper:"text-sm"},lg:{base:"size-4.5",container:"h-5",wrapper:"text-sm"},xl:{base:"size-5",container:"h-6",wrapper:"text-base"}},required:{true:{label:"after:content-['*'] after:ms-0.5 after:text-error"}},disabled:{true:{root:"opacity-75",base:"cursor-not-allowed",label:"cursor-not-allowed",description:"cursor-not-allowed"}},checked:{true:""}},compoundVariants:[{size:"xs",variant:"card",class:{root:"p-2.5"}},{size:"sm",variant:"card",class:{root:"p-3"}},{size:"md",variant:"card",class:{root:"p-3.5"}},{size:"lg",variant:"card",class:{root:"p-4"}},{size:"xl",variant:"card",class:{root:"p-4.5"}},{color:"primary",variant:"card",class:{root:"has-data-[state=checked]:border-primary"}},{color:"secondary",variant:"card",class:{root:"has-data-[state=checked]:border-secondary"}},{color:"success",variant:"card",class:{root:"has-data-[state=checked]:border-success"}},{color:"info",variant:"card",class:{root:"has-data-[state=checked]:border-info"}},{color:"warning",variant:"card",class:{root:"has-data-[state=checked]:border-warning"}},{color:"error",variant:"card",class:{root:"has-data-[state=checked]:border-error"}},{color:"neutral",variant:"card",class:{root:"has-data-[state=checked]:border-inverted"}},{variant:"card",disabled:!0,class:{root:"cursor-not-allowed"}}],defaultVariants:{size:"md",color:"primary",variant:"list",indicator:"start"}},oa=Object.assign({inheritAttrs:!1},{__name:"UCheckbox",props:le({as:{type:null,required:!1},label:{type:String,required:!1},description:{type:String,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},indicator:{type:null,required:!1},icon:{type:null,required:!1},indeterminateIcon:{type:null,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1},disabled:{type:Boolean,required:!1},required:{type:Boolean,required:!1},name:{type:String,required:!1},value:{type:null,required:!1},id:{type:String,required:!1},defaultValue:{type:[Boolean,String],required:!1}},{modelValue:{type:[Boolean,String],default:void 0},modelModifiers:{}}),emits:le(["change"],["update:modelValue"]),setup(a,{emit:v}){const e=a,s=fe(),n=v,k=Se(a,"modelValue",{type:[Boolean,String],default:void 0}),p=ae(),o=Be(ve(e,"required","value","defaultValue")),{id:f,emitFormChange:m,emitFormInput:S,size:R,color:h,name:l,disabled:c,ariaAttrs:r}=be(e),b=f.value??ze(),w=F(()=>N({extend:N(ia),...p.ui?.checkbox||{}})({size:R.value,color:h.value,variant:e.variant,indicator:e.indicator,required:e.required,disabled:c.value}));function C($){const P=new Event("change",{target:{value:$}});n("change",P),m(),S()}return($,P)=>(u(),g(t(U),{as:!a.variant||a.variant==="list"?a.as:t(oe),"data-slot":"root",class:V(w.value.root({class:[e.ui?.root,e.class]}))},{default:q(()=>[O("div",{"data-slot":"container",class:V(w.value.container({class:e.ui?.container}))},[M(t(Ye),I({id:t(b)},{...t(o),...$.$attrs,...t(r)},{modelValue:k.value,"onUpdate:modelValue":[P[0]||(P[0]=i=>k.value=i),C],name:t(l),disabled:t(c),"data-slot":"base",class:w.value.base({class:e.ui?.base})}),{default:q(({modelValue:i})=>[M(t(_e),{"data-slot":"indicator",class:V(w.value.indicator({class:e.ui?.indicator}))},{default:q(()=>[i==="indeterminate"?(u(),g(G,{key:0,name:a.indeterminateIcon||t(p).ui.icons.minus,"data-slot":"icon",class:V(w.value.icon({class:e.ui?.icon}))},null,8,["name","class"])):(u(),g(G,{key:1,name:a.icon||t(p).ui.icons.check,"data-slot":"icon",class:V(w.value.icon({class:e.ui?.icon}))},null,8,["name","class"]))]),_:2},1032,["class"])]),_:1},16,["id","modelValue","name","disabled","class"])],2),a.label||s.label||a.description||s.description?(u(),E("div",{key:0,"data-slot":"wrapper",class:V(w.value.wrapper({class:e.ui?.wrapper}))},[a.label||s.label?(u(),g(ce(!a.variant||a.variant==="list"?t(oe):"p"),{key:0,for:t(b),"data-slot":"label",class:V(w.value.label({class:e.ui?.label}))},{default:q(()=>[y($.$slots,"label",{label:a.label},()=>[H(Q(a.label),1)])]),_:3},8,["for","class"])):z("",!0),a.description||s.description?(u(),E("p",{key:1,"data-slot":"description",class:V(w.value.description({class:e.ui?.description}))},[y($.$slots,"description",{description:a.description},()=>[H(Q(a.description),1)])],2)):z("",!0)],2)):z("",!0)]),_:3},8,["as","class"]))}}),na={slots:{root:"relative inline-flex items-center gap-1.5",base:["rounded-md border-0 placeholder:text-dimmed text-center focus:outline-none disabled:cursor-not-allowed disabled:opacity-75","transition-colors"]},variants:{size:{xs:{base:"size-6 text-xs"},sm:{base:"size-7 text-xs"},md:{base:"size-8 text-sm"},lg:{base:"size-9 text-sm"},xl:{base:"size-10 text-base"}},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:""},highlight:{true:""}},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"}],defaultVariants:{size:"md",color:"primary",variant:"outline"}},ua={__name:"UPinInput",props:{as:{type:null,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},length:{type:[Number,String],required:!1,default:5},autofocus:{type:Boolean,required:!1},autofocusDelay:{type:Number,required:!1,default:0},highlight:{type:Boolean,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1},defaultValue:{type:null,required:!1},disabled:{type:Boolean,required:!1},id:{type:String,required:!1},mask:{type:Boolean,required:!1},modelValue:{type:null,required:!1},name:{type:String,required:!1},otp:{type:Boolean,required:!1},placeholder:{type:String,required:!1},required:{type:Boolean,required:!1},type:{type:null,required:!1,default:"text"}},emits:["update:modelValue","complete","change","blur"],setup(a,{expose:v,emit:e}){const s=a,n=e,k=ae(),p=Fe(ve(s,"disabled","id","mask","name","otp","required","type"),n),{emitFormInput:o,emitFormFocus:f,emitFormChange:m,emitFormBlur:S,size:R,color:h,id:l,name:c,highlight:r,disabled:b,ariaAttrs:w}=be(s),C=F(()=>N({extend:N(na),...k.ui?.pinInput||{}})({color:h.value,variant:s.variant,size:R.value,highlight:r.value})),$=j([]),P=j(!1);function i(B){const A=new Event("change",{target:{value:B}});n("change",A),m()}function d(B){(!B.relatedTarget||P.value)&&(n("blur",B),S())}function x(){s.autofocus&&$.value[0]?.$el?.focus()}return me(()=>{setTimeout(()=>{x()},s.autofocusDelay)}),v({inputsRef:$}),(B,A)=>(u(),g(t(la),I({...t(p),...t(w)},{id:t(l),name:t(c),placeholder:a.placeholder,"model-value":a.modelValue,"default-value":a.defaultValue,"data-slot":"root",class:C.value.root({class:[s.ui?.root,s.class]}),"onUpdate:modelValue":A[0]||(A[0]=L=>t(o)()),onComplete:i}),{default:q(()=>[(u(!0),E(Y,null,Z(t(Re)(s.length),(L,D)=>(u(),g(t(ra),{key:L,ref_for:!0,ref:ye=>$.value[D]=ye,index:D,"data-slot":"base",class:V(C.value.base({class:s.ui?.base})),disabled:t(b),onBlur:d,onFocus:t(f)},null,8,["index","class","disabled","onFocus"]))),128))]),_:1},16,["id","name","placeholder","model-value","default-value","class"]))}},da={slots:{root:"w-full space-y-6",header:"flex flex-col text-center",leading:"mb-2",leadingIcon:"size-8 shrink-0 inline-block",title:"text-xl text-pretty font-semibold text-highlighted",description:"mt-1 text-base text-pretty text-muted",body:"gap-y-6 flex flex-col",providers:"space-y-3",checkbox:"",select:"w-full",password:"w-full",otp:"w-full",input:"w-full",separator:"",form:"space-y-5",footer:"text-sm text-center text-muted mt-2"}},ca=Object.assign({inheritAttrs:!1},{__name:"UAuthForm",props:{as:{type:null,required:!1},icon:{type:null,required:!1},title:{type:String,required:!1},description:{type:String,required:!1},fields:{type:Array,required:!1},providers:{type:Array,required:!1},separator:{type:[String,Object],required:!1,default:"or"},submit:{type:Object,required:!1},schema:{type:null,required:!1},validate:{type:Function,required:!1},validateOn:{type:Array,required:!1},validateOnInputDelay:{type:Number,required:!1},disabled:{type:Boolean,required:!1},loading:{type:Boolean,required:!1},loadingAuto:{type:Boolean,required:!1},class:{type:null,required:!1},onSubmit:{type:Function,required:!1},ui:{type:null,required:!1}},emits:["submit"],setup(a,{expose:v}){const e=a,s=Pe((e.fields||[]).reduce((l,c)=>(c.name&&(l[c.name]=c.defaultValue),l),{})),n=fe(),{t:k}=Ee(),p=ae(),o=F(()=>N({extend:N(da),...p.ui?.authForm||{}})()),f=se("formRef"),m=j(!1),S=se("passwordRef");function R(l){const c=["name","errorPattern","help","error","hint","size","required","eagerValidation","validateOnInputDelay"];return l.type==="checkbox"?re(l,c):re(l,[...c,"label","description"])}function h(l){const c=["errorPattern","help","error","hint","size","required","eagerValidation","validateOnInputDelay"];return l.type==="checkbox"||l.type==="select"||l.type==="otp"?l.type==="checkbox"?X(l,[...c,"type"]):X(l,[...c,"type","label","description"]):X(l,[...c,"label","description"])}return v({formRef:f,state:s}),(l,c)=>(u(),g(t(U),{as:a.as,"data-slot":"root",class:V(o.value.root({class:[e.ui?.root,e.class]}))},{default:q(()=>[a.icon||n.leading||a.title||n.title||a.description||n.description||n.header?(u(),E("div",{key:0,"data-slot":"header",class:V(o.value.header({class:e.ui?.header}))},[y(l.$slots,"header",{},()=>[a.icon||n.leading?(u(),E("div",{key:0,"data-slot":"leading",class:V(o.value.leading({class:e.ui?.leading}))},[y(l.$slots,"leading",{ui:o.value},()=>[a.icon?(u(),g(G,{key:0,name:a.icon,"data-slot":"leadingIcon",class:V(o.value.leadingIcon({class:e.ui?.leadingIcon}))},null,8,["name","class"])):z("",!0)])],2)):z("",!0),a.title||n.title?(u(),E("div",{key:1,"data-slot":"title",class:V(o.value.title({class:e.ui?.title}))},[y(l.$slots,"title",{},()=>[H(Q(a.title),1)])],2)):z("",!0),a.description||n.description?(u(),E("div",{key:2,"data-slot":"description",class:V(o.value.description({class:e.ui?.description}))},[y(l.$slots,"description",{},()=>[H(Q(a.description),1)])],2)):z("",!0)])],2)):z("",!0),O("div",{"data-slot":"body",class:V(o.value.body({class:e.ui?.body}))},[a.providers?.length||n.providers?(u(),E("div",{key:0,"data-slot":"providers",class:V(o.value.providers({class:e.ui?.providers}))},[y(l.$slots,"providers",{},()=>[(u(!0),E(Y,null,Z(a.providers,(r,b)=>(u(),g(W,I({key:b,block:"",color:"neutral",variant:"subtle"},{ref_for:!0},r),null,16))),128))])],2)):z("",!0),a.providers?.length&&a.fields?.length?(u(),g(Ue,I({key:1},typeof a.separator=="object"?a.separator:{label:a.separator},{"data-slot":"separator",class:o.value.separator({class:e.ui?.separator})}),null,16,["class"])):z("",!0),a.fields?.length?(u(),g(De,I({key:2,ref_key:"formRef",ref:f,state:s,schema:a.schema,validate:a.validate,"validate-on":a.validateOn,disabled:a.disabled,"loading-auto":a.loadingAuto,"data-slot":"form",class:o.value.form({class:e.ui?.form})},l.$attrs,{onSubmit:a.onSubmit}),{default:q(()=>[(u(!0),E(Y,null,Z(a.fields,r=>(u(),g(Oe,I({key:r.name},{ref_for:!0},R(r)),Ae({default:q(()=>[y(l.$slots,`${r.name}-field`,I({ref_for:!0},{state:s,field:r}),()=>[r.type==="checkbox"?(u(),g(oa,I({key:0,modelValue:s[r.name],"onUpdate:modelValue":b=>s[r.name]=b,"data-slot":"checkbox",class:o.value.checkbox({class:e.ui?.checkbox})},{ref_for:!0},h(r)),null,16,["modelValue","onUpdate:modelValue","class"])):r.type==="select"?(u(),g(Le,I({key:1,modelValue:s[r.name],"onUpdate:modelValue":b=>s[r.name]=b,"data-slot":"select",class:o.value.select({class:e.ui?.select})},{ref_for:!0},h(r)),null,16,["modelValue","onUpdate:modelValue","class"])):r.type==="otp"?(u(),g(ua,I({key:2,id:r.name,modelValue:s[r.name],"onUpdate:modelValue":b=>s[r.name]=b,"data-slot":"otp",class:o.value.otp({class:e.ui?.otp})},{ref_for:!0},Object.assign({},h(r),typeof r.otp=="object"?r.otp:{}),{otp:""}),null,16,["id","modelValue","onUpdate:modelValue","class"])):r.type==="password"?(u(),g(ue,I({key:3,ref_for:!0,ref_key:"passwordRef",ref:S,modelValue:s[r.name],"onUpdate:modelValue":b=>s[r.name]=b,"data-slot":"password",class:o.value.password({class:e.ui?.password})},{ref_for:!0},h(r),{type:m.value?"text":"password"}),{trailing:q(()=>[M(W,{color:"neutral",variant:"link",size:"sm",icon:m.value?t(p).ui.icons.eyeOff:t(p).ui.icons.eye,"aria-label":m.value?t(k)("authForm.hidePassword"):t(k)("authForm.showPassword"),"aria-pressed":m.value,"aria-controls":S.value?.[0]?.inputRef?.id,onClick:c[0]||(c[0]=b=>m.value=!m.value)},null,8,["icon","aria-label","aria-pressed","aria-controls"])]),_:1},16,["modelValue","onUpdate:modelValue","class","type"])):(u(),g(ue,I({key:4,modelValue:s[r.name],"onUpdate:modelValue":b=>s[r.name]=b,"data-slot":"input",class:o.value.input({class:e.ui?.input})},{ref_for:!0},h(r)),null,16,["modelValue","onUpdate:modelValue","class"]))])]),_:2},[n[`${r.name}-label`]?{name:"label",fn:q(()=>[y(l.$slots,`${r.name}-label`)]),key:"0"}:void 0,n[`${r.name}-description`]?{name:"description",fn:q(()=>[y(l.$slots,`${r.name}-description`)]),key:"1"}:void 0,n[`${r.name}-hint`]?{name:"hint",fn:q(()=>[y(l.$slots,`${r.name}-hint`)]),key:"2"}:void 0,n[`${r.name}-help`]?{name:"help",fn:q(()=>[y(l.$slots,`${r.name}-help`)]),key:"3"}:void 0,n[`${r.name}-error`]?{name:"error",fn:q(()=>[y(l.$slots,`${r.name}-error`)]),key:"4"}:void 0]),1040))),128)),n.validation?y(l.$slots,"validation",{key:0}):z("",!0),y(l.$slots,"submit",{loading:a.loading},()=>[M(W,I({type:"submit",label:t(k)("authForm.submit"),block:"",loading:a.loading,"loading-auto":a.loadingAuto},a.submit),null,16,["label","loading","loading-auto"])])]),_:3},16,["state","schema","validate","validate-on","disabled","loading-auto","class","onSubmit"])):z("",!0)],2),n.footer?(u(),E("div",{key:1,"data-slot":"footer",class:V(o.value.footer({class:e.ui?.footer}))},[y(l.$slots,"footer")],2)):z("",!0)]),_:3},8,["as","class"]))}}),pa={class:"flex flex-col items-center gap-6 mb-8"},ma={class:"flex items-center gap-3"},Na=T({__name:"login",setup(a){const{login:v,isAuthenticated:e}=He(),s=Me(),n=j(!1),k=[{name:"email",type:"email",label:"Email",placeholder:"admin@example.com",required:!0},{name:"password",type:"password",label:"Password",placeholder:"Enter your password",required:!0}];Ne(()=>{e.value&&ie("/")});async function p(o){n.value=!0;const f=await v(o.data.email,o.data.password);f.error?s.add({title:"Login failed",description:f.error.message||"Invalid email or password",color:"error",icon:"i-lucide-alert-circle"}):ie("/"),n.value=!1}return(o,f)=>{const m=G,S=ca;return u(),E("div",null,[O("div",pa,[O("div",ma,[M(m,{name:"i-lucide-brain",class:"size-10 text-primary"}),f[0]||(f[0]=O("span",{class:"font-bold text-2xl"},"Cognova",-1))])]),M(S,{title:"Sign In",description:"Enter your credentials to access your account",fields:k,submit:{label:"Sign In",loading:t(n)},onSubmit:p},null,8,["submit"])])}}});export{Na as default};
@@ -1 +0,0 @@
1
- import{N as p,ac as m,c as n,G as c,R as r,a4 as d,U as o,ab as g,T as f,C as v,_ as b,am as u}from"./2dNDtTiv.js";const y={slots:{base:["relative text-xl text-highlighted font-bold mt-8 mb-3 scroll-mt-[calc(32px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(32px+var(--ui-header-height))] [&>a]:focus-visible:outline-primary [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-lg/6 [&>a>code]:font-bold","[&>a>code]:transition-colors"],leading:["absolute -ms-8 top-0.5 opacity-0 group-hover:opacity-100 group-focus:opacity-100 p-1 bg-elevated hover:text-primary rounded-md hidden lg:flex text-muted","transition"],leadingIcon:"size-4 shrink-0",link:"group lg:ps-2 lg:-ms-2"}},x=["id"],k=["href"],$={__name:"ProseH3",props:{id:{type:String,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1}},setup(a){const e=a,t=p(),{headings:l}=m().public?.mdc||{},s=n(()=>u({extend:u(y),...t.ui?.prose?.h3||{}})()),h=n(()=>e.id&&typeof l?.anchorLinks=="object"&&l.anchorLinks.h3);return(i,C)=>(r(),c("h3",{id:a.id,class:o(s.value.base({class:e.class}))},[a.id&&h.value?(r(),c("a",{key:0,href:`#${a.id}`,class:o(s.value.link({class:e.ui?.link}))},[g("span",{class:o(s.value.leading({class:e.ui?.leading}))},[f(b,{name:v(t).ui.icons.hash,class:o(s.value.leadingIcon({class:e.ui?.leadingIcon}))},null,8,["name","class"])],2),d(i.$slots,"default")],10,k)):d(i.$slots,"default",{key:1})],10,x))}};export{$ as default};