cognova 0.1.9 → 0.2.0

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 (299) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{B4LjQa2N.js → 4MiwzAAt.js} +2 -2
  3. package/.output/public/_nuxt/{BZZeOWzQ.js → 5ZXA0Ckq.js} +1 -1
  4. package/.output/public/_nuxt/{B194okoV.js → 9IQmsEjr.js} +1 -1
  5. package/.output/public/_nuxt/{DQ_ZoW_9.js → 9QnH0xQM.js} +1 -1
  6. package/.output/public/_nuxt/{CF0HGIV6.js → B1X4Bzcy.js} +1 -1
  7. package/.output/public/_nuxt/{D9lowtoI.js → B3y_Qqox.js} +1 -1
  8. package/.output/public/_nuxt/{BB1R_SaV.js → B6S_ob86.js} +1 -1
  9. package/.output/public/_nuxt/{DVf1IpSh.js → BAIz-dEB.js} +1 -1
  10. package/.output/public/_nuxt/{CNFNMRY1.js → BCtfQCzC.js} +1 -1
  11. package/.output/public/_nuxt/BIIJhjQO.js +1 -0
  12. package/.output/public/_nuxt/BIckl6wA.js +1 -0
  13. package/.output/public/_nuxt/{Biy6boRV.js → BJ3o57WW.js} +1 -1
  14. package/.output/public/_nuxt/{B5rIsDOv.js → BNetzZzF.js} +1 -1
  15. package/.output/public/_nuxt/{DFXLcgxL.js → BOj6t-oo.js} +1 -1
  16. package/.output/public/_nuxt/{BDUpLPg_.js → BS0ofHJK.js} +1 -1
  17. package/.output/public/_nuxt/{DIdcflWi.js → BWhMnjID.js} +1 -1
  18. package/.output/public/_nuxt/{CExLOuIW.js → BYjadNrw.js} +1 -1
  19. package/.output/public/_nuxt/{C8ytOrRD.js → BZXMQuYP.js} +1 -1
  20. package/.output/public/_nuxt/{Ddih3UKd.js → B_3_hrpn.js} +1 -1
  21. package/.output/public/_nuxt/{CxSyRXlk.js → BaBZjmMC.js} +1 -1
  22. package/.output/public/_nuxt/BaMqDm5u.js +1 -0
  23. package/.output/public/_nuxt/BasgsT_S.js +1 -0
  24. package/.output/public/_nuxt/{Cehzuz52.js → BffWCM73.js} +1 -1
  25. package/.output/public/_nuxt/{Dh0BcDEI.js → BhzMoffi.js} +1 -1
  26. package/.output/public/_nuxt/{DmV68Eyp.js → BjjCvHLT.js} +1 -1
  27. package/.output/public/_nuxt/{nzAH3Wk0.js → BlAZO7nq.js} +1 -1
  28. package/.output/public/_nuxt/{BRPJdy3u.js → BlhFigLL.js} +1 -1
  29. package/.output/public/_nuxt/{CfTFjEuh.js → Bm9LyG4F.js} +1 -1
  30. package/.output/public/_nuxt/BoIxv-gM.js +1 -0
  31. package/.output/public/_nuxt/{BslL2E8V.js → BqKFIuRj.js} +1 -1
  32. package/.output/public/_nuxt/Br19oYkq.js +1 -0
  33. package/.output/public/_nuxt/{PtGESE-F.js → BrNqhp1a.js} +3 -3
  34. package/.output/public/_nuxt/{FvV9sv7q.js → BsEZoHd1.js} +1 -1
  35. package/.output/public/_nuxt/{BaPPQtFe.js → BxXOsXrM.js} +10 -10
  36. package/.output/public/_nuxt/BzOqrmGa.js +7 -0
  37. package/.output/public/_nuxt/{BNAsyazX.js → C0JKNMDO.js} +1 -1
  38. package/.output/public/_nuxt/C0kh_F7v.js +1 -0
  39. package/.output/public/_nuxt/{4Ew5YctE.js → C3FxIITy.js} +1 -1
  40. package/.output/public/_nuxt/{DnToOWVx.js → C4pxqdgg.js} +1 -1
  41. package/.output/public/_nuxt/{C5Ue4WbD.js → C61KgSco.js} +1 -1
  42. package/.output/public/_nuxt/{DcMvYcFq.js → C69W7k2j.js} +1 -1
  43. package/.output/public/_nuxt/{BnnFvWzv.js → C6RC3lA1.js} +1 -1
  44. package/.output/public/_nuxt/{DBENYi9d.js → C6aqGHu1.js} +1 -1
  45. package/.output/public/_nuxt/{YldWqMAh.js → CJUdYEdO.js} +1 -1
  46. package/.output/public/_nuxt/{BPAM-iC7.js → CKkC3Ptm.js} +1 -1
  47. package/.output/public/_nuxt/{CTXhFIUN.js → CNnJrDvu.js} +1 -1
  48. package/.output/public/_nuxt/{BwH2E0-a.js → CVJQGP1Q.js} +1 -1
  49. package/.output/public/_nuxt/{q0vhMpUB.js → CVgTJeSq.js} +1 -1
  50. package/.output/public/_nuxt/CWMUi89H.js +1 -0
  51. package/.output/public/_nuxt/{BU9VyOEC.js → CYP_MLH8.js} +1 -1
  52. package/.output/public/_nuxt/{76CHU1js.js → C_BdYLzz.js} +1 -1
  53. package/.output/public/_nuxt/{BQbnVFXA.js → Cdt3I3Go.js} +1 -1
  54. package/.output/public/_nuxt/Cdu2qGgq.js +1 -0
  55. package/.output/public/_nuxt/{ChMIRIq6.js → CeIVm4A3.js} +1 -1
  56. package/.output/public/_nuxt/CeIu7z4p.js +1 -0
  57. package/.output/public/_nuxt/{CZZw0T2a.js → Ci7UEZQh.js} +1 -1
  58. package/.output/public/_nuxt/{BP_jQhKs.js → CihWZmJe.js} +2 -2
  59. package/.output/public/_nuxt/{Bluqlt6l.js → CitkKxhw.js} +1 -1
  60. package/.output/public/_nuxt/{DIM73BjE.js → CmzH6R-N.js} +2 -2
  61. package/.output/public/_nuxt/{CD5hHJBM.js → Cp2MA0cm.js} +1 -1
  62. package/.output/public/_nuxt/{DflBkWfa.js → CqU2XbzO.js} +1 -1
  63. package/.output/public/_nuxt/{Ccc8OoR8.js → Cqy_L_ip.js} +1 -1
  64. package/.output/public/_nuxt/Cr8ixbr1.js +1 -0
  65. package/.output/public/_nuxt/{DdLGO0wP.js → CsJ9KhQ4.js} +1 -1
  66. package/.output/public/_nuxt/{mHNfVoS0.js → CtYFj7k1.js} +1 -1
  67. package/.output/public/_nuxt/{DIBimEIe.js → CtchsY6e.js} +1 -1
  68. package/.output/public/_nuxt/{BboG47Wz.js → Cvp7FI3T.js} +1 -1
  69. package/.output/public/_nuxt/CxuZBC8n.js +70 -0
  70. package/.output/public/_nuxt/D2689qk4.js +1 -0
  71. package/.output/public/_nuxt/{CWWmC6Y7.js → D31L7Ks6.js} +1 -1
  72. package/.output/public/_nuxt/{JxSV3wOO.js → D3RiUGdz.js} +1 -1
  73. package/.output/public/_nuxt/{C1tYtAeV.js → D3e44mCL.js} +1 -1
  74. package/.output/public/_nuxt/{BTWyDDBM.js → D6t3dcTl.js} +1 -1
  75. package/.output/public/_nuxt/{DpLjEbYb.js → DAQhmSv4.js} +1 -1
  76. package/.output/public/_nuxt/{BnwR3LQL.js → DB359q8R.js} +1 -1
  77. package/.output/public/_nuxt/{jCKYMNtT.js → DCzfkCGa.js} +1 -1
  78. package/.output/public/_nuxt/{BXWm1qrj.js → DG-T44jj.js} +1 -1
  79. package/.output/public/_nuxt/{BBygTbuF.js → DGX0tzL8.js} +1 -1
  80. package/.output/public/_nuxt/DHG66LPS.js +1 -0
  81. package/.output/public/_nuxt/{jBqB49XU.js → DHKLCQRG.js} +1 -1
  82. package/.output/public/_nuxt/{BDw-JoCx.js → DIoI0uJm.js} +1 -1
  83. package/.output/public/_nuxt/{DOQA5CEF.js → DJ5V-y_x.js} +1 -1
  84. package/.output/public/_nuxt/{BGaNWD0s.js → DJMS2og1.js} +1 -1
  85. package/.output/public/_nuxt/{UmgHYYVi.js → DJjDvbZE.js} +1 -1
  86. package/.output/public/_nuxt/{DdtX5kio.js → DK9jxJ0g.js} +1 -1
  87. package/.output/public/_nuxt/{Cc6GlQCO.js → DKZxeXDQ.js} +1 -1
  88. package/.output/public/_nuxt/{Tp-9mt9j.js → DLETdGFL.js} +1 -1
  89. package/.output/public/_nuxt/DOICd-Ld.js +1 -0
  90. package/.output/public/_nuxt/DPEcH-gi.js +65 -0
  91. package/.output/public/_nuxt/{CVNY6Bll.js → DSRrg8JT.js} +1 -1
  92. package/.output/public/_nuxt/{Sm7TJN7_.js → DTDgHTuh.js} +2 -2
  93. package/.output/public/_nuxt/{DeGKAWfY.js → D_3Rq1BS.js} +1 -1
  94. package/.output/public/_nuxt/{BvnL4Jyv.js → Daz4MeL6.js} +1 -1
  95. package/.output/public/_nuxt/{Dyd3g9po.js → Db2v8O7O.js} +1 -1
  96. package/.output/public/_nuxt/{D0FBwEzN.js → Db8-_gO7.js} +1 -1
  97. package/.output/public/_nuxt/{Cv4Qjbqk.js → DfQu3kEw.js} +1 -1
  98. package/.output/public/_nuxt/{c-RGQpsW.js → DgV-EDJ9.js} +1 -1
  99. package/.output/public/_nuxt/{CSF2cTe9.js → DnjGH3SQ.js} +1 -1
  100. package/.output/public/_nuxt/Dp2X5R2m.js +1 -0
  101. package/.output/public/_nuxt/DqB723Z0.js +1 -0
  102. package/.output/public/_nuxt/{DhRePYUI.js → DyRelyfs.js} +1 -1
  103. package/.output/public/_nuxt/{DZiAD6YN.js → Dy_Cq5LQ.js} +1 -1
  104. package/.output/public/_nuxt/{DWQMV4k2.js → DznawRFW.js} +1 -1
  105. package/.output/public/_nuxt/EuOqK1A6.js +1 -0
  106. package/.output/public/_nuxt/{BVZHIuu-.js → FNC8XZTk.js} +1 -1
  107. package/.output/public/_nuxt/{Dsk8JtTw.js → Fukkqjkf.js} +1 -1
  108. package/.output/public/_nuxt/{DNpdNXnv.js → FvlxxmNk.js} +2 -2
  109. package/.output/public/_nuxt/{zt0Txq93.js → IRSbVPIu.js} +1 -1
  110. package/.output/public/_nuxt/{T_w6A2Zo.js → JJ3634gV.js} +9 -9
  111. package/.output/public/_nuxt/{6Tt_Iaya.js → Jez9DHn7.js} +1 -1
  112. package/.output/public/_nuxt/{Cr7nQmYw.js → KKK6HVeG.js} +1 -1
  113. package/.output/public/_nuxt/{BJPw54Qz.js → Lwdv_RKd.js} +1 -1
  114. package/.output/public/_nuxt/{WqUIRM3G.js → Nb2jBtYT.js} +1 -1
  115. package/.output/public/_nuxt/Q8Ps7oN5.js +1 -0
  116. package/.output/public/_nuxt/SXTDhzp6.js +1 -0
  117. package/.output/public/_nuxt/{rfcePMfo.js → Sg2Lwc46.js} +1 -1
  118. package/.output/public/_nuxt/{gEpwc5gO.js → YuTZB7sD.js} +1 -1
  119. package/.output/public/_nuxt/{B2OKrc4G.js → _CYZi8HN.js} +1 -1
  120. package/.output/public/_nuxt/_J_7XIn-.js +1 -0
  121. package/.output/public/_nuxt/builds/latest.json +1 -1
  122. package/.output/public/_nuxt/builds/meta/a1e9100c-1a4f-4f7e-bb53-9dbe0d07effb.json +1 -0
  123. package/.output/public/_nuxt/{Bwx_Kl-4.js → cABRLVee.js} +1 -1
  124. package/.output/public/_nuxt/{DPuJYSUH.js → eko-0FUm.js} +1 -1
  125. package/.output/public/_nuxt/entry.CGxIBGAf.css +1 -0
  126. package/.output/public/_nuxt/{TQOIXkvr.js → g20UHUCv.js} +1 -1
  127. package/.output/public/_nuxt/{zOs8gUGl.js → gBC9k4Qj.js} +1 -1
  128. package/.output/public/_nuxt/{CJ3DQEW9.js → ghuJ76mD.js} +1 -1
  129. package/.output/public/_nuxt/{S6GTaxiQ.js → iBGCpHdw.js} +1 -1
  130. package/.output/public/_nuxt/{VGlRzjk3.js → inmzPrjz.js} +1 -1
  131. package/.output/public/_nuxt/{CCkumwhk.js → m5kGCDpI.js} +4 -4
  132. package/.output/public/_nuxt/{CXkbkhUa.js → nIU2F7ia.js} +3 -3
  133. package/.output/public/_nuxt/oIX-ZDN6.js +1 -0
  134. package/.output/public/_nuxt/{TsIha0iy.js → pcUI-zuY.js} +1 -1
  135. package/.output/public/_nuxt/{BN_2zhBR.js → sf57orEk.js} +1 -1
  136. package/.output/public/_nuxt/usage.vakN1lvi.css +1 -0
  137. package/.output/public/_nuxt/{DHYn0MnY.js → wCGVE8_e.js} +1 -1
  138. package/.output/public/_nuxt/{DMkXE4gH.js → xuzLdW-o.js} +1 -1
  139. package/.output/public/_nuxt/{DdoFnl6e.js → yNrp2XvX.js} +1 -1
  140. package/.output/public/_nuxt/{4hIPJQLp.js → yuf23kh9.js} +1 -1
  141. package/.output/server/chunks/build/CodeIcon-CWD5HcV7.mjs +1 -1
  142. package/.output/server/chunks/build/DropdownMenu-BBrV9nXz.mjs +1 -1
  143. package/.output/server/chunks/build/EditorToolbar-DIfb5arC.mjs +1 -1
  144. package/.output/server/chunks/build/Img-CWLmvN1t.mjs +1 -1
  145. package/.output/server/chunks/build/MDC-Dx0YPDhe.mjs +1 -1
  146. package/.output/server/chunks/build/Select-BB1oLrCD.mjs +1 -1
  147. package/.output/server/chunks/build/SelectMenu-DPssg6zD.mjs +1 -1
  148. package/.output/server/chunks/build/Table-DCwTlhCj.mjs +1 -1
  149. package/.output/server/chunks/build/Tooltip-TRyl6dje.mjs +1 -1
  150. package/.output/server/chunks/build/{_uuid_-CQEMsF1D.mjs → _uuid_-0UgdUhfY.mjs} +8 -7
  151. package/.output/server/chunks/build/{_uuid_-CQEMsF1D.mjs.map → _uuid_-0UgdUhfY.mjs.map} +1 -1
  152. package/.output/server/chunks/build/chat-CZMiB68R.mjs.map +1 -1
  153. package/.output/server/chunks/build/client.precomputed.mjs +1 -1
  154. package/.output/server/chunks/build/cookie-C_iulBi6.mjs +1 -1
  155. package/.output/server/chunks/build/{dashboard-24rCroiO.mjs → dashboard-CpMVYnDV.mjs} +13 -6
  156. package/.output/server/chunks/build/{dashboard-24rCroiO.mjs.map → dashboard-CpMVYnDV.mjs.map} +1 -1
  157. package/.output/server/chunks/build/dashboard-YEscLBQN.mjs +1109 -0
  158. package/.output/server/chunks/build/dashboard-YEscLBQN.mjs.map +1 -0
  159. package/.output/server/chunks/build/{docs-DOGZUctm.mjs → docs-Dk2JnYq3.mjs} +8 -7
  160. package/.output/server/chunks/build/{docs-DOGZUctm.mjs.map → docs-Dk2JnYq3.mjs.map} +1 -1
  161. package/.output/server/chunks/build/fetch-BB7Qzkwe.mjs +1 -1
  162. package/.output/server/chunks/build/{hooks-CuyNIRFI.mjs → hooks-DP8WoUPS.mjs} +2 -2
  163. package/.output/server/chunks/build/{hooks-CuyNIRFI.mjs.map → hooks-DP8WoUPS.mjs.map} +1 -1
  164. package/.output/server/chunks/build/{index-BZI-Mj1-.mjs → index-Ba_bPJgk.mjs} +2 -2
  165. package/.output/server/chunks/build/{index-BZI-Mj1-.mjs.map → index-Ba_bPJgk.mjs.map} +1 -1
  166. package/.output/server/chunks/build/index-CxDxc9fm.mjs +1 -1
  167. package/.output/server/chunks/build/server.mjs +26 -17
  168. package/.output/server/chunks/build/server.mjs.map +1 -1
  169. package/.output/server/chunks/build/settings-DdkKCJ00.mjs +1 -1
  170. package/.output/server/chunks/build/styles.mjs +2 -2
  171. package/.output/server/chunks/build/{tasks-DR55Wjpi.mjs → tasks-DiOi1HG_.mjs} +2 -2
  172. package/.output/server/chunks/build/{tasks-DR55Wjpi.mjs.map → tasks-DiOi1HG_.mjs.map} +1 -1
  173. package/.output/server/chunks/build/usage-H_mcd_fz.mjs +1578 -0
  174. package/.output/server/chunks/build/usage-H_mcd_fz.mjs.map +1 -0
  175. package/.output/server/chunks/build/{CodeEditorFallback-DfYly7f5.mjs → useCopyToClipboard-vi6FYyyZ.mjs} +29 -2
  176. package/.output/server/chunks/build/useCopyToClipboard-vi6FYyyZ.mjs.map +1 -0
  177. package/.output/server/chunks/build/useNotificationBus-BG5JNQf1.mjs +1 -1
  178. package/.output/server/chunks/build/{usePreferences-CUvZsOq5.mjs → usePreferences-CzC8fRzd.mjs} +7 -1
  179. package/.output/server/chunks/build/usePreferences-CzC8fRzd.mjs.map +1 -0
  180. package/.output/server/chunks/build/view-Dc8mvzCB.mjs +1 -1
  181. package/.output/server/chunks/nitro/nitro.mjs +884 -818
  182. package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
  183. package/.output/server/chunks/routes/_ws/chat.mjs +18 -4
  184. package/.output/server/chunks/routes/_ws/chat.mjs.map +1 -1
  185. package/.output/server/chunks/routes/api/dashboard/overview.get.mjs +149 -0
  186. package/.output/server/chunks/routes/api/dashboard/overview.get.mjs.map +1 -0
  187. package/.output/server/chunks/routes/api/documents/_id/public.get.mjs +1 -1
  188. package/.output/server/chunks/routes/api/documents/_id/restore.post.mjs +1 -1
  189. package/.output/server/chunks/routes/api/documents/by-path.post.mjs +1 -1
  190. package/.output/server/chunks/routes/api/documents/index.delete.mjs +1 -1
  191. package/.output/server/chunks/routes/api/documents/index.put.mjs +1 -1
  192. package/.output/server/chunks/routes/api/fs/delete.post.mjs +1 -1
  193. package/.output/server/chunks/routes/api/fs/list.get.mjs +1 -1
  194. package/.output/server/chunks/routes/api/fs/mkdir.post.mjs +1 -1
  195. package/.output/server/chunks/routes/api/fs/move.post.mjs +1 -1
  196. package/.output/server/chunks/routes/api/fs/read.post.mjs +1 -1
  197. package/.output/server/chunks/routes/api/fs/rename.post.mjs +1 -1
  198. package/.output/server/chunks/routes/api/fs/write.post.mjs +1 -1
  199. package/.output/server/chunks/routes/api/health.get.mjs +1 -1
  200. package/.output/server/chunks/routes/api/home.get.mjs +1 -1
  201. package/.output/server/chunks/routes/api/hooks/index.get.mjs +1 -1
  202. package/.output/server/chunks/routes/api/hooks/index.post.mjs +1 -1
  203. package/.output/server/chunks/routes/api/hooks/stats.get.mjs +1 -1
  204. package/.output/server/chunks/routes/api/index.get3.mjs +1 -1
  205. package/.output/server/chunks/routes/api/index.get4.mjs +1 -1
  206. package/.output/server/chunks/routes/api/index.get5.mjs +1 -1
  207. package/.output/server/chunks/routes/api/index.get6.mjs +1 -1
  208. package/.output/server/chunks/routes/api/index.get7.mjs +1 -1
  209. package/.output/server/chunks/routes/api/index.get8.mjs +82 -0
  210. package/.output/server/chunks/routes/api/index.get8.mjs.map +1 -0
  211. package/.output/server/chunks/routes/api/index.post2.mjs +1 -1
  212. package/.output/server/chunks/routes/api/index.post3.mjs +1 -1
  213. package/.output/server/chunks/routes/api/index.post4.mjs +1 -1
  214. package/.output/server/chunks/routes/api/index.put.mjs +1 -1
  215. package/.output/server/chunks/routes/api/memory/_id_.delete.mjs +1 -1
  216. package/.output/server/chunks/routes/api/memory/context.get.mjs +1 -1
  217. package/.output/server/chunks/routes/api/memory/extract.post.mjs +20 -1
  218. package/.output/server/chunks/routes/api/memory/extract.post.mjs.map +1 -1
  219. package/.output/server/chunks/routes/api/memory/search.get.mjs +1 -1
  220. package/.output/server/chunks/routes/api/memory/store.post.mjs +1 -1
  221. package/.output/server/chunks/routes/api/projects/index.delete.mjs +1 -1
  222. package/.output/server/chunks/routes/api/projects/index.get.mjs +1 -1
  223. package/.output/server/chunks/routes/api/projects/index.put.mjs +1 -1
  224. package/.output/server/chunks/routes/api/secrets/_key_.delete.mjs +1 -1
  225. package/.output/server/chunks/routes/api/secrets/_key_.get.mjs +1 -1
  226. package/.output/server/chunks/routes/api/secrets/_key_.put.mjs +1 -1
  227. package/.output/server/chunks/routes/api/tasks/_id/restore.post.mjs +1 -1
  228. package/.output/server/chunks/routes/api/tasks/index.delete.mjs +1 -1
  229. package/.output/server/chunks/routes/api/tasks/index.put.mjs +1 -1
  230. package/.output/server/chunks/routes/api/tasks/tags.get.mjs +1 -1
  231. package/.output/server/chunks/routes/api/usage/stats.get.mjs +130 -0
  232. package/.output/server/chunks/routes/api/usage/stats.get.mjs.map +1 -0
  233. package/.output/server/chunks/routes/api/user/email.patch.mjs +1 -1
  234. package/.output/server/chunks/routes/notifications.mjs +1 -1
  235. package/.output/server/chunks/routes/renderer.mjs +1 -1
  236. package/.output/server/chunks/routes/terminal.mjs +1 -1
  237. package/.output/server/index.mjs +1 -1
  238. package/.output/server/package.json +1 -1
  239. package/app/components/dashboard/RecentChats.vue +93 -0
  240. package/app/components/dashboard/RecentDocs.vue +108 -0
  241. package/app/components/dashboard/StatCards.vue +82 -0
  242. package/app/components/dashboard/UpcomingTasks.vue +119 -0
  243. package/app/components/dashboard/UsageSummary.vue +94 -0
  244. package/app/components/editor/DocumentEditor.vue +5 -3
  245. package/app/components/usage/UsageCostChart.client.vue +174 -0
  246. package/app/components/usage/UsageCostChart.server.vue +22 -0
  247. package/app/components/usage/UsageRecordsTable.vue +249 -0
  248. package/app/components/usage/UsageSourceDonut.client.vue +93 -0
  249. package/app/components/usage/UsageSourceDonut.server.vue +21 -0
  250. package/app/components/usage/UsageStatsCards.vue +101 -0
  251. package/app/components/usage/UsageTopConsumers.vue +89 -0
  252. package/app/composables/useCopyToClipboard.ts +37 -0
  253. package/app/composables/usePreferences.ts +10 -0
  254. package/app/layouts/dashboard.vue +8 -1
  255. package/app/pages/chat.vue +11 -1
  256. package/app/pages/dashboard.vue +65 -64
  257. package/app/pages/usage.vue +130 -0
  258. package/app/pages/view/[uuid].vue +4 -3
  259. package/package.json +1 -1
  260. package/server/api/dashboard/overview.get.ts +133 -0
  261. package/server/api/usage/index.get.ts +69 -0
  262. package/server/api/usage/stats.get.ts +127 -0
  263. package/server/db/schema.ts +17 -0
  264. package/server/drizzle/migrations/0011_tearful_johnny_storm.sql +12 -0
  265. package/server/drizzle/migrations/meta/0011_snapshot.json +1634 -0
  266. package/server/drizzle/migrations/meta/_journal.json +7 -0
  267. package/server/routes/_ws/chat.ts +29 -2
  268. package/server/services/agent-executor.ts +13 -0
  269. package/server/services/memory-extractor.ts +25 -0
  270. package/server/utils/log-token-usage.ts +22 -0
  271. package/shared/types/index.ts +81 -0
  272. package/.output/public/_nuxt/B34UfOg4.js +0 -1
  273. package/.output/public/_nuxt/B3DmiwBX.js +0 -1
  274. package/.output/public/_nuxt/BESViHC6.js +0 -1
  275. package/.output/public/_nuxt/BIm_buQF.js +0 -1
  276. package/.output/public/_nuxt/BMh-dHBK.js +0 -1
  277. package/.output/public/_nuxt/Bkv1Ouue.js +0 -1
  278. package/.output/public/_nuxt/C4i10ReQ.js +0 -1
  279. package/.output/public/_nuxt/C5euqjeX.js +0 -1
  280. package/.output/public/_nuxt/C9hy_rtV.js +0 -1
  281. package/.output/public/_nuxt/CWJhKIyp.js +0 -1
  282. package/.output/public/_nuxt/Ck24Z-8o.js +0 -1
  283. package/.output/public/_nuxt/D1JmZKz7.js +0 -1
  284. package/.output/public/_nuxt/D6xvQUYG.js +0 -1
  285. package/.output/public/_nuxt/DGTbw5AQ.js +0 -1
  286. package/.output/public/_nuxt/Da8Xd1w6.js +0 -1
  287. package/.output/public/_nuxt/DamUHI17.js +0 -1
  288. package/.output/public/_nuxt/DoIiMqKa.js +0 -76
  289. package/.output/public/_nuxt/builds/meta/75ff59f2-0860-4bfc-a288-c670397cae5c.json +0 -1
  290. package/.output/public/_nuxt/entry.tLLAvqs1.css +0 -1
  291. package/.output/public/_nuxt/iJ4KRInq.js +0 -1
  292. package/.output/public/_nuxt/mSr5c6cB.js +0 -1
  293. package/.output/public/_nuxt/r8g_V5AH.js +0 -1
  294. package/.output/public/_nuxt/rZmMQHiC.js +0 -1
  295. package/.output/server/chunks/build/CodeEditorFallback-DfYly7f5.mjs.map +0 -1
  296. package/.output/server/chunks/build/dashboard-DtbGchTa.mjs +0 -277
  297. package/.output/server/chunks/build/dashboard-DtbGchTa.mjs.map +0 -1
  298. package/.output/server/chunks/build/usePreferences-CUvZsOq5.mjs.map +0 -1
  299. /package/.output/public/_nuxt/{language-detection.Be_IvFWy.css → useCopyToClipboard.Be_IvFWy.css} +0 -0
@@ -1 +1 @@
1
- import{r as n}from"./DMkXE4gH.js";import a from"./BnnFvWzv.js";import{N as s,Q as t,R as e,S as i,C as p}from"./BaPPQtFe.js";import"./iik6CYzq.js";const d={__name:"ProseWarning",setup(c){const o=s();return(r,f)=>(e(),t(a,{color:"warning",icon:p(o).ui.icons.warning},{default:i(()=>[n(r.$slots,"default",{mdcUnwrap:"p"})]),_:3},8,["icon"]))}};export{d as default};
1
+ import{r as n}from"./xuzLdW-o.js";import a from"./C6RC3lA1.js";import{N as s,Q as t,R as e,S as i,C as p}from"./BxXOsXrM.js";import"./iik6CYzq.js";const d={__name:"ProseWarning",setup(c){const o=s();return(r,f)=>(e(),t(a,{color:"warning",icon:p(o).ui.icons.warning},{default:i(()=>[n(r.$slots,"default",{mdcUnwrap:"p"})]),_:3},8,["icon"]))}};export{d as default};
@@ -1 +1 @@
1
- import{a as P,aP as ae,aN as te,aO as ue,aZ as N,bw as oe,a0 as le,e as W,c as C,Q as I,R as f,S as x,T as F,C as e,a2 as $,a3 as T,a7 as R,q as ie,bg as J,k as X,V as O,a5 as de,a8 as ce,ac as pe,am as ge,N as fe,aH as ve,aG as me,aD as he,at as ye,au as be,aj as ee,aE as Ie,aA as xe,G as M,ag as qe,ah as Ve,U as A,_ as Q,av as Te,D as _e}from"./BaPPQtFe.js";import{u as ze}from"./C6Y-ieo6.js";import{u as Ae}from"./BboG47Wz.js";import{u as we}from"./BMh-dHBK.js";import{V as Be}from"./BGaNWD0s.js";import{u as De}from"./D1JmZKz7.js";const[Y,Ce]=ae("TagsInputRoot");var ke=P({__name:"TagsInputRoot",props:{modelValue:{type:[Array,null],required:!1},defaultValue:{type:Array,required:!1,default:()=>[]},addOnPaste:{type:Boolean,required:!1},addOnTab:{type:Boolean,required:!1},addOnBlur:{type:Boolean,required:!1},duplicate:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},delimiter:{type:null,required:!1,default:","},dir:{type:String,required:!1},max:{type:Number,required:!1,default:0},id:{type:String,required:!1},convertValue:{type:Function,required:!1},displayValue:{type:Function,required:!1,default:n=>n.toString()},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:modelValue","invalid","addTag","removeTag"],setup(n,{emit:y}){const t=n,a=y,{addOnPaste:c,disabled:g,delimiter:v,max:p,id:z,dir:w,addOnBlur:q,addOnTab:k}=te(t),_=Ae(w),l=ue(t,"modelValue",a,{defaultValue:t.defaultValue,passive:!0,deep:!0}),{forwardRef:r,currentElement:V}=N(),{focused:b}=oe(V),B=we(V),{getItems:j,CollectionSlot:K}=le({isProvider:!0}),o=W(),D=W(!1),L=C(()=>Array.isArray(l.value)?[...l.value]:[]);function E(s){if(s!==-1){const d=j().filter(i=>i.ref.dataset.disabled!=="");l.value=l.value.filter((i,m)=>m!==s),a("removeTag",d[s].value)}}return Ce({modelValue:l,onAddValue:s=>{const d=[...L.value],i=d.length>0&&typeof d[0]=="object",m=d.length>0&&typeof t.defaultValue[0]=="object";if((i||m)&&typeof t.convertValue!="function")throw new Error("You must provide a `convertValue` function when using objects as values.");const u=t.convertValue?t.convertValue(s):s;if(d.length>=p.value&&p.value)return a("invalid",u),!1;if(t.duplicate)return l.value=[...d,u],a("addTag",u),!0;if(d.includes(u))D.value=!0;else return l.value=[...d,u],a("addTag",u),!0;return a("invalid",u),!1},onRemoveValue:E,onInputKeydown:s=>{const d=s.target,i=j().map(u=>u.ref).filter(u=>u.dataset.disabled!=="");if(!i.length)return;const m=i.at(-1);switch(s.key){case"Delete":case"Backspace":{if(d.selectionStart!==0||d.selectionEnd!==0)break;if(o.value){const u=i.findIndex(S=>S===o.value);E(u),o.value=o.value===m?i.at(u-1):i.at(u+1),s.preventDefault()}else s.key==="Backspace"&&(o.value=m,s.preventDefault());break}case"Home":case"End":case"ArrowRight":case"ArrowLeft":{const u=s.key==="ArrowRight"&&_.value==="ltr"||s.key==="ArrowLeft"&&_.value==="rtl",S=!u;if(d.selectionStart!==0||d.selectionEnd!==0)break;if(S&&!o.value)o.value=m,s.preventDefault();else if(u&&m&&o.value===m)o.value=void 0,s.preventDefault();else if(o.value){const G=ze(s,o.value,void 0,{itemsArray:i,loop:!1,dir:_.value});G&&(o.value=G),s.preventDefault()}break}case"ArrowUp":case"ArrowDown":{o.value&&s.preventDefault();break}default:o.value=void 0}},selectedElement:o,isInvalidInput:D,addOnPaste:c,addOnBlur:q,addOnTab:k,dir:_,disabled:g,delimiter:v,max:p,id:z,displayValue:t.displayValue}),(s,d)=>(f(),I(e(K),null,{default:x(()=>[F(e($),{ref:e(r),dir:e(_),as:s.as,"as-child":s.asChild,"data-invalid":D.value?"":void 0,"data-disabled":e(g)?"":void 0,"data-focused":e(b)?"":void 0},{default:x(()=>[T(s.$slots,"default",{modelValue:e(l)}),e(B)&&s.name?(f(),I(e(Be),{key:0,name:s.name,value:e(l),required:s.required,disabled:e(g)},null,8,["name","value","required","disabled"])):R("v-if",!0)]),_:3},8,["dir","as","as-child","data-invalid","data-disabled","data-focused"])]),_:3}))}}),Se=ke,Re=P({__name:"TagsInputInput",props:{placeholder:{type:String,required:!1},autoFocus:{type:Boolean,required:!1},maxLength:{type:Number,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"input"}},setup(n){const y=n,t=Y(),{forwardRef:a,currentElement:c}=N();function g(l){if(t.selectedElement.value=void 0,!t.addOnBlur.value)return;const r=l.target;if(!r.value)return;t.onAddValue(r.value)&&(r.value="")}function v(l){t.addOnTab.value&&q(l)}const p=W(!1);function z(){p.value=!0}function w(){X(()=>{p.value=!1})}async function q(l){if(p.value||(await X(),l.defaultPrevented))return;const r=l.target;if(!r.value)return;t.onAddValue(r.value)&&(r.value=""),l.preventDefault()}function k(l){if(t.isInvalidInput.value=!1,l.data===null)return;const r=t.delimiter.value;if(r===l.data||r instanceof RegExp&&r.test(l.data)){const b=l.target;if(b.value=b.value.replace(r,""),b.value.trim()===""){b.value="";return}t.onAddValue(b.value)&&(b.value="")}}function _(l){if(t.addOnPaste.value){l.preventDefault();const r=l.clipboardData;if(!r)return;const V=r.getData("text");t.delimiter.value?V.split(t.delimiter.value).forEach(B=>{t.onAddValue(B)}):t.onAddValue(V)}}return ie(()=>{const l=c.value.nodeName==="INPUT"?c.value:c.value.querySelector("input");l&&setTimeout(()=>{y.autoFocus&&l?.focus()},1)}),(l,r)=>(f(),I(e($),{id:e(t).id?.value,ref:e(a),type:"text",autocomplete:"off",autocorrect:"off",autocapitalize:"off",as:l.as,"as-child":l.asChild,maxlength:l.maxLength,placeholder:l.placeholder,disabled:e(t).disabled.value,"data-invalid":e(t).isInvalidInput.value?"":void 0,onInput:k,onKeydown:[J(q,["enter"]),J(v,["tab"]),e(t).onInputKeydown],onBlur:g,onCompositionstart:z,onCompositionend:w,onPaste:_},{default:x(()=>[T(l.$slots,"default")]),_:3},8,["id","as","as-child","maxlength","placeholder","disabled","data-invalid","onKeydown"]))}}),Fe=Re;const[se,Ee]=ae("TagsInputItem");var Oe=P({__name:"TagsInputItem",props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(n){const y=n,{value:t}=te(y),a=Y(),{forwardRef:c,currentElement:g}=N(),{CollectionItem:v}=le(),p=C(()=>a.selectedElement.value===g.value),z=C(()=>y.disabled||a.disabled.value),w=Ee({value:t,isSelected:p,disabled:z,textId:"",displayValue:C(()=>a.displayValue(t.value))});return(q,k)=>(f(),I(e(v),{value:e(t)},{default:x(()=>[F(e($),{ref:e(c),as:q.as,"as-child":q.asChild,"aria-labelledby":e(w).textId,"aria-current":p.value,"data-disabled":z.value?"":void 0,"data-state":p.value?"active":"inactive"},{default:x(()=>[T(q.$slots,"default")]),_:3},8,["as","as-child","aria-labelledby","aria-current","data-disabled","data-state"])]),_:3},8,["value"]))}}),Pe=Oe,Ne=P({__name:"TagsInputItemDelete",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(n){const y=n;N();const t=Y(),a=se(),c=C(()=>a.disabled?.value||t.disabled.value);function g(){if(c.value)return;const v=t.modelValue.value.findIndex(p=>de(p,a.value.value));t.onRemoveValue(v)}return(v,p)=>(f(),I(e($),O({tabindex:"-1"},y,{"aria-labelledby":e(a).textId,"aria-current":e(a).isSelected.value,"data-state":e(a).isSelected.value?"active":"inactive","data-disabled":c.value?"":void 0,type:v.as==="button"?"button":void 0,onClick:g}),{default:x(()=>[T(v.$slots,"default")]),_:3},16,["aria-labelledby","aria-current","data-state","data-disabled","type"]))}}),$e=Ne,je=P({__name:"TagsInputItemText",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(n){const y=n,t=se();return N(),t.textId||=De(void 0,"reka-tags-input-item-text"),(a,c)=>(f(),I(e($),O(y,{id:e(t).textId}),{default:x(()=>[T(a.$slots,"default",{},()=>[ce(pe(e(t).displayValue.value),1)])]),_:3},16,["id"]))}}),Le=je;const Ge={slots:{root:["relative inline-flex items-center","flex-wrap"],base:["rounded-md","transition-colors"],leading:"absolute inset-y-0 start-0 flex items-center",leadingIcon:"shrink-0 text-dimmed",leadingAvatar:"shrink-0",leadingAvatarSize:"",trailing:"absolute inset-y-0 end-0 flex items-center",trailingIcon:"shrink-0 text-dimmed",item:'px-1.5 py-0.5 rounded-sm font-medium inline-flex items-center gap-0.5 ring ring-inset ring-accented bg-elevated text-default data-disabled:cursor-not-allowed data-disabled:opacity-75 wrap-anywhere data-[state="active"]:bg-accented',itemText:"",itemDelete:["inline-flex items-center rounded-xs text-dimmed hover:text-default hover:bg-accented/75 disabled:pointer-events-none","transition-colors"],itemDeleteIcon:"shrink-0",input:"flex-1 border-0 bg-transparent placeholder:text-dimmed focus:outline-none disabled:cursor-not-allowed disabled:opacity-75"},variants:{fieldGroup:{horizontal:{root:"group has-focus-visible:z-[1]",base:"group-not-only:group-first:rounded-e-none group-not-only:group-last:rounded-s-none group-not-last:group-not-first:rounded-none"},vertical:{root:"group has-focus-visible:z-[1]",base:"group-not-only:group-first:rounded-b-none group-not-only:group-last:rounded-t-none group-not-last:group-not-first:rounded-none"}},size:{xs:{base:"px-2 py-1 text-xs gap-1",leading:"ps-2",trailing:"pe-2",leadingIcon:"size-4",leadingAvatarSize:"3xs",trailingIcon:"size-4",item:"text-[10px]/3",itemDeleteIcon:"size-3"},sm:{base:"px-2.5 py-1.5 text-xs gap-1.5",leading:"ps-2.5",trailing:"pe-2.5",leadingIcon:"size-4",leadingAvatarSize:"3xs",trailingIcon:"size-4",item:"text-[10px]/3",itemDeleteIcon:"size-3"},md:{base:"px-2.5 py-1.5 text-sm gap-1.5",leading:"ps-2.5",trailing:"pe-2.5",leadingIcon:"size-5",leadingAvatarSize:"2xs",trailingIcon:"size-5",item:"text-xs",itemDeleteIcon:"size-3.5"},lg:{base:"px-3 py-2 text-sm gap-2",leading:"ps-3",trailing:"pe-3",leadingIcon:"size-5",leadingAvatarSize:"2xs",trailingIcon:"size-5",item:"text-xs",itemDeleteIcon:"size-3.5"},xl:{base:"px-3 py-2 text-base gap-2",leading:"ps-3",trailing:"pe-3",leadingIcon:"size-6",leadingAvatarSize:"xs",trailingIcon:"size-6",item:"text-sm",itemDeleteIcon:"size-4"}},variant:{outline:"text-highlighted bg-default ring ring-inset ring-accented",soft:"text-highlighted bg-elevated/50 hover:bg-elevated has-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 has-focus:bg-elevated disabled:bg-transparent dark:disabled:bg-transparent",none:"text-highlighted bg-transparent"},color:{primary:"",secondary:"",success:"",info:"",warning:"",error:"",neutral:""},leading:{true:""},trailing:{true:""},loading:{true:""},highlight:{true:""},type:{file:"file:me-1.5 file:font-medium file:text-muted file:outline-none"}},compoundVariants:[{color:"primary",variant:["outline","subtle"],class:"has-focus-visible:ring-2 has-focus-visible:ring-inset has-focus-visible:ring-primary"},{color:"secondary",variant:["outline","subtle"],class:"has-focus-visible:ring-2 has-focus-visible:ring-inset has-focus-visible:ring-secondary"},{color:"success",variant:["outline","subtle"],class:"has-focus-visible:ring-2 has-focus-visible:ring-inset has-focus-visible:ring-success"},{color:"info",variant:["outline","subtle"],class:"has-focus-visible:ring-2 has-focus-visible:ring-inset has-focus-visible:ring-info"},{color:"warning",variant:["outline","subtle"],class:"has-focus-visible:ring-2 has-focus-visible:ring-inset has-focus-visible:ring-warning"},{color:"error",variant:["outline","subtle"],class:"has-focus-visible:ring-2 has-focus-visible:ring-inset has-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:"has-focus-visible:ring-2 has-focus-visible:ring-inset has-focus-visible:ring-inverted"},{color:"neutral",highlight:!0,class:"ring ring-inset ring-inverted"},{leading:!0,size:"xs",class:"ps-7"},{leading:!0,size:"sm",class:"ps-8"},{leading:!0,size:"md",class:"ps-9"},{leading:!0,size:"lg",class:"ps-10"},{leading:!0,size:"xl",class:"ps-11"},{trailing:!0,size:"xs",class:"pe-7"},{trailing:!0,size:"sm",class:"pe-8"},{trailing:!0,size:"md",class:"pe-9"},{trailing:!0,size:"lg",class:"pe-10"},{trailing:!0,size:"xl",class:"pe-11"},{loading:!0,leading:!0,class:{leadingIcon:"animate-spin"}},{loading:!0,leading:!1,trailing:!0,class:{trailingIcon:"animate-spin"}}],defaultVariants:{size:"md",color:"primary",variant:"outline"}},Ye=Object.assign({inheritAttrs:!1},{__name:"UInputTags",props:{as:{type:null,required:!1},placeholder:{type:String,required:!1},maxLength:{type:Number,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},autofocus:{type:Boolean,required:!1},autofocusDelay:{type:Number,required:!1,default:0},deleteIcon:{type:null,required:!1},highlight:{type:Boolean,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1},modelValue:{type:[Array,null],required:!1},defaultValue:{type:Array,required:!1},addOnPaste:{type:Boolean,required:!1},addOnTab:{type:Boolean,required:!1},addOnBlur:{type:Boolean,required:!1},duplicate:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},delimiter:{type:null,required:!1},max:{type:Number,required:!1},id:{type:String,required:!1},convertValue:{type:Function,required:!1},displayValue:{type:Function,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},leading:{type:Boolean,required:!1},leadingIcon:{type:null,required:!1},trailing:{type:Boolean,required:!1},trailingIcon:{type:null,required:!1},loading:{type:Boolean,required:!1},loadingIcon:{type:null,required:!1}},emits:["change","blur","focus","update:modelValue","invalid","addTag","removeTag"],setup(n,{expose:y,emit:t}){const a=n,c=t,g=ge(),v=fe(),p=ve(me(a,"as","addOnPaste","addOnTab","addOnBlur","duplicate","delimiter","max","convertValue","displayValue","required"),c),{emitFormBlur:z,emitFormFocus:w,emitFormChange:q,emitFormInput:k,size:_,color:l,id:r,name:V,highlight:b,disabled:B,ariaAttrs:j}=he(a),{orientation:K,size:o}=ye(a),{isLeading:D,isTrailing:L,leadingIconName:E,trailingIconName:s}=be(a),d=C(()=>o.value||_.value),i=C(()=>ee({extend:ee(Ge),...v.ui?.inputTags||{}})({color:l.value,variant:a.variant,size:d?.value,loading:a.loading,highlight:b.value,leading:D.value||!!a.avatar||!!g.leading,trailing:L.value||!!g.trailing,fieldGroup:K.value})),m=Ie("inputRef");function u(){a.autofocus&&m.value?.$el?.focus()}ie(()=>{setTimeout(()=>{u()},a.autofocusDelay)});function S(h){if(_e(a.modelValue)===h)return;const Z=new Event("change",{target:{value:h}});c("change",Z),q(),k()}function G(h){c("blur",h),z()}function ne(h){c("focus",h),w()}return y({inputRef:xe(()=>m.value?.$el)}),(h,Z)=>(f(),I(e(Se),O({id:e(r),"model-value":n.modelValue,"default-value":n.defaultValue,"data-slot":"root",class:i.value.root({class:[i.value.base({class:a.ui?.base}),a.ui?.root,a.class]})},e(p),{name:e(V),disabled:e(B),"onUpdate:modelValue":S}),{default:x(({modelValue:re})=>[(f(!0),M(qe,null,Ve(re,(U,H)=>(f(),I(e(Pe),{key:H,value:U,"data-slot":"item",class:A(i.value.item({class:[a.ui?.item]}))},{default:x(()=>[F(e(Le),{"data-slot":"itemText",class:A(i.value.itemText({class:[a.ui?.itemText]}))},{default:x(()=>[g["item-text"]?T(h.$slots,"item-text",{key:0,item:U,index:H,ui:i.value}):R("",!0)]),_:2},1032,["class"]),F(e($e),{"data-slot":"itemDelete",class:A(i.value.itemDelete({class:[a.ui?.itemDelete]})),disabled:e(B)},{default:x(()=>[T(h.$slots,"item-delete",{item:U,index:H,ui:i.value},()=>[F(Q,{name:n.deleteIcon||e(v).ui.icons.close,"data-slot":"itemDeleteIcon",class:A(i.value.itemDeleteIcon({class:[a.ui?.itemDeleteIcon]}))},null,8,["name","class"])])]),_:2},1032,["class","disabled"])]),_:2},1032,["value","class"]))),128)),F(e(Fe),O({ref_key:"inputRef",ref:m},{...h.$attrs,...e(j)},{placeholder:n.placeholder,"max-length":n.maxLength,"data-slot":"input",class:i.value.input({class:a.ui?.input}),onBlur:G,onFocus:ne}),null,16,["placeholder","max-length","class"]),T(h.$slots,"default",{ui:i.value}),e(D)||n.avatar||g.leading?(f(),M("span",{key:0,"data-slot":"leading",class:A(i.value.leading({class:a.ui?.leading}))},[T(h.$slots,"leading",{ui:i.value},()=>[e(D)&&e(E)?(f(),I(Q,{key:0,name:e(E),"data-slot":"leadingIcon",class:A(i.value.leadingIcon({class:a.ui?.leadingIcon}))},null,8,["name","class"])):n.avatar?(f(),I(Te,O({key:1,size:a.ui?.leadingAvatarSize||i.value.leadingAvatarSize()},n.avatar,{"data-slot":"leadingAvatar",class:i.value.leadingAvatar({class:a.ui?.leadingAvatar})}),null,16,["size","class"])):R("",!0)])],2)):R("",!0),e(L)||g.trailing?(f(),M("span",{key:1,"data-slot":"trailing",class:A(i.value.trailing({class:a.ui?.trailing}))},[T(h.$slots,"trailing",{ui:i.value},()=>[e(s)?(f(),I(Q,{key:0,name:e(s),"data-slot":"trailingIcon",class:A(i.value.trailingIcon({class:a.ui?.trailingIcon}))},null,8,["name","class"])):R("",!0)])],2)):R("",!0)]),_:3},16,["id","model-value","default-value","class","name","disabled"]))}});export{Ye as _};
1
+ import{a as P,aM as ae,aK as te,aL as ue,aW as $,bw as oe,a0 as le,e as Q,c as C,Q as I,R as f,S as x,T as F,C as e,a2 as N,a3 as T,a7 as R,q as ie,bh as X,k as Z,V as O,a4 as de,a8 as ce,ac as pe,am as ge,N as fe,aE as ve,aD as me,b4 as he,at as ye,au as be,aj as ee,b5 as Ie,aA as xe,G as H,ag as qe,ah as Ve,U as A,_ as W,av as Te,D as _e}from"./BxXOsXrM.js";import{u as ze}from"./C6Y-ieo6.js";import{u as Ae}from"./Cvp7FI3T.js";import{u as we}from"./CeIu7z4p.js";import{V as Be}from"./DJMS2og1.js";import{u as De}from"./DqB723Z0.js";const[Y,Ce]=ae("TagsInputRoot");var ke=P({__name:"TagsInputRoot",props:{modelValue:{type:[Array,null],required:!1},defaultValue:{type:Array,required:!1,default:()=>[]},addOnPaste:{type:Boolean,required:!1},addOnTab:{type:Boolean,required:!1},addOnBlur:{type:Boolean,required:!1},duplicate:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},delimiter:{type:null,required:!1,default:","},dir:{type:String,required:!1},max:{type:Number,required:!1,default:0},id:{type:String,required:!1},convertValue:{type:Function,required:!1},displayValue:{type:Function,required:!1,default:n=>n.toString()},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:modelValue","invalid","addTag","removeTag"],setup(n,{emit:y}){const t=n,a=y,{addOnPaste:c,disabled:g,delimiter:v,max:p,id:z,dir:w,addOnBlur:q,addOnTab:k}=te(t),_=Ae(w),l=ue(t,"modelValue",a,{defaultValue:t.defaultValue,passive:!0,deep:!0}),{forwardRef:r,currentElement:V}=$(),{focused:b}=oe(V),B=we(V),{getItems:j,CollectionSlot:G}=le({isProvider:!0}),o=Q(),D=Q(!1),L=C(()=>Array.isArray(l.value)?[...l.value]:[]);function E(s){if(s!==-1){const d=j().filter(i=>i.ref.dataset.disabled!=="");l.value=l.value.filter((i,m)=>m!==s),a("removeTag",d[s].value)}}return Ce({modelValue:l,onAddValue:s=>{const d=[...L.value],i=d.length>0&&typeof d[0]=="object",m=d.length>0&&typeof t.defaultValue[0]=="object";if((i||m)&&typeof t.convertValue!="function")throw new Error("You must provide a `convertValue` function when using objects as values.");const u=t.convertValue?t.convertValue(s):s;if(d.length>=p.value&&p.value)return a("invalid",u),!1;if(t.duplicate)return l.value=[...d,u],a("addTag",u),!0;if(d.includes(u))D.value=!0;else return l.value=[...d,u],a("addTag",u),!0;return a("invalid",u),!1},onRemoveValue:E,onInputKeydown:s=>{const d=s.target,i=j().map(u=>u.ref).filter(u=>u.dataset.disabled!=="");if(!i.length)return;const m=i.at(-1);switch(s.key){case"Delete":case"Backspace":{if(d.selectionStart!==0||d.selectionEnd!==0)break;if(o.value){const u=i.findIndex(S=>S===o.value);E(u),o.value=o.value===m?i.at(u-1):i.at(u+1),s.preventDefault()}else s.key==="Backspace"&&(o.value=m,s.preventDefault());break}case"Home":case"End":case"ArrowRight":case"ArrowLeft":{const u=s.key==="ArrowRight"&&_.value==="ltr"||s.key==="ArrowLeft"&&_.value==="rtl",S=!u;if(d.selectionStart!==0||d.selectionEnd!==0)break;if(S&&!o.value)o.value=m,s.preventDefault();else if(u&&m&&o.value===m)o.value=void 0,s.preventDefault();else if(o.value){const K=ze(s,o.value,void 0,{itemsArray:i,loop:!1,dir:_.value});K&&(o.value=K),s.preventDefault()}break}case"ArrowUp":case"ArrowDown":{o.value&&s.preventDefault();break}default:o.value=void 0}},selectedElement:o,isInvalidInput:D,addOnPaste:c,addOnBlur:q,addOnTab:k,dir:_,disabled:g,delimiter:v,max:p,id:z,displayValue:t.displayValue}),(s,d)=>(f(),I(e(G),null,{default:x(()=>[F(e(N),{ref:e(r),dir:e(_),as:s.as,"as-child":s.asChild,"data-invalid":D.value?"":void 0,"data-disabled":e(g)?"":void 0,"data-focused":e(b)?"":void 0},{default:x(()=>[T(s.$slots,"default",{modelValue:e(l)}),e(B)&&s.name?(f(),I(e(Be),{key:0,name:s.name,value:e(l),required:s.required,disabled:e(g)},null,8,["name","value","required","disabled"])):R("v-if",!0)]),_:3},8,["dir","as","as-child","data-invalid","data-disabled","data-focused"])]),_:3}))}}),Se=ke,Re=P({__name:"TagsInputInput",props:{placeholder:{type:String,required:!1},autoFocus:{type:Boolean,required:!1},maxLength:{type:Number,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"input"}},setup(n){const y=n,t=Y(),{forwardRef:a,currentElement:c}=$();function g(l){if(t.selectedElement.value=void 0,!t.addOnBlur.value)return;const r=l.target;if(!r.value)return;t.onAddValue(r.value)&&(r.value="")}function v(l){t.addOnTab.value&&q(l)}const p=Q(!1);function z(){p.value=!0}function w(){Z(()=>{p.value=!1})}async function q(l){if(p.value||(await Z(),l.defaultPrevented))return;const r=l.target;if(!r.value)return;t.onAddValue(r.value)&&(r.value=""),l.preventDefault()}function k(l){if(t.isInvalidInput.value=!1,l.data===null)return;const r=t.delimiter.value;if(r===l.data||r instanceof RegExp&&r.test(l.data)){const b=l.target;if(b.value=b.value.replace(r,""),b.value.trim()===""){b.value="";return}t.onAddValue(b.value)&&(b.value="")}}function _(l){if(t.addOnPaste.value){l.preventDefault();const r=l.clipboardData;if(!r)return;const V=r.getData("text");t.delimiter.value?V.split(t.delimiter.value).forEach(B=>{t.onAddValue(B)}):t.onAddValue(V)}}return ie(()=>{const l=c.value.nodeName==="INPUT"?c.value:c.value.querySelector("input");l&&setTimeout(()=>{y.autoFocus&&l?.focus()},1)}),(l,r)=>(f(),I(e(N),{id:e(t).id?.value,ref:e(a),type:"text",autocomplete:"off",autocorrect:"off",autocapitalize:"off",as:l.as,"as-child":l.asChild,maxlength:l.maxLength,placeholder:l.placeholder,disabled:e(t).disabled.value,"data-invalid":e(t).isInvalidInput.value?"":void 0,onInput:k,onKeydown:[X(q,["enter"]),X(v,["tab"]),e(t).onInputKeydown],onBlur:g,onCompositionstart:z,onCompositionend:w,onPaste:_},{default:x(()=>[T(l.$slots,"default")]),_:3},8,["id","as","as-child","maxlength","placeholder","disabled","data-invalid","onKeydown"]))}}),Fe=Re;const[se,Ee]=ae("TagsInputItem");var Oe=P({__name:"TagsInputItem",props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(n){const y=n,{value:t}=te(y),a=Y(),{forwardRef:c,currentElement:g}=$(),{CollectionItem:v}=le(),p=C(()=>a.selectedElement.value===g.value),z=C(()=>y.disabled||a.disabled.value),w=Ee({value:t,isSelected:p,disabled:z,textId:"",displayValue:C(()=>a.displayValue(t.value))});return(q,k)=>(f(),I(e(v),{value:e(t)},{default:x(()=>[F(e(N),{ref:e(c),as:q.as,"as-child":q.asChild,"aria-labelledby":e(w).textId,"aria-current":p.value,"data-disabled":z.value?"":void 0,"data-state":p.value?"active":"inactive"},{default:x(()=>[T(q.$slots,"default")]),_:3},8,["as","as-child","aria-labelledby","aria-current","data-disabled","data-state"])]),_:3},8,["value"]))}}),Pe=Oe,$e=P({__name:"TagsInputItemDelete",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(n){const y=n;$();const t=Y(),a=se(),c=C(()=>a.disabled?.value||t.disabled.value);function g(){if(c.value)return;const v=t.modelValue.value.findIndex(p=>de(p,a.value.value));t.onRemoveValue(v)}return(v,p)=>(f(),I(e(N),O({tabindex:"-1"},y,{"aria-labelledby":e(a).textId,"aria-current":e(a).isSelected.value,"data-state":e(a).isSelected.value?"active":"inactive","data-disabled":c.value?"":void 0,type:v.as==="button"?"button":void 0,onClick:g}),{default:x(()=>[T(v.$slots,"default")]),_:3},16,["aria-labelledby","aria-current","data-state","data-disabled","type"]))}}),Ne=$e,je=P({__name:"TagsInputItemText",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(n){const y=n,t=se();return $(),t.textId||=De(void 0,"reka-tags-input-item-text"),(a,c)=>(f(),I(e(N),O(y,{id:e(t).textId}),{default:x(()=>[T(a.$slots,"default",{},()=>[ce(pe(e(t).displayValue.value),1)])]),_:3},16,["id"]))}}),Le=je;const Ke={slots:{root:["relative inline-flex items-center","flex-wrap"],base:["rounded-md","transition-colors"],leading:"absolute inset-y-0 start-0 flex items-center",leadingIcon:"shrink-0 text-dimmed",leadingAvatar:"shrink-0",leadingAvatarSize:"",trailing:"absolute inset-y-0 end-0 flex items-center",trailingIcon:"shrink-0 text-dimmed",item:'px-1.5 py-0.5 rounded-sm font-medium inline-flex items-center gap-0.5 ring ring-inset ring-accented bg-elevated text-default data-disabled:cursor-not-allowed data-disabled:opacity-75 wrap-anywhere data-[state="active"]:bg-accented',itemText:"",itemDelete:["inline-flex items-center rounded-xs text-dimmed hover:text-default hover:bg-accented/75 disabled:pointer-events-none","transition-colors"],itemDeleteIcon:"shrink-0",input:"flex-1 border-0 bg-transparent placeholder:text-dimmed focus:outline-none disabled:cursor-not-allowed disabled:opacity-75"},variants:{fieldGroup:{horizontal:{root:"group has-focus-visible:z-[1]",base:"group-not-only:group-first:rounded-e-none group-not-only:group-last:rounded-s-none group-not-last:group-not-first:rounded-none"},vertical:{root:"group has-focus-visible:z-[1]",base:"group-not-only:group-first:rounded-b-none group-not-only:group-last:rounded-t-none group-not-last:group-not-first:rounded-none"}},size:{xs:{base:"px-2 py-1 text-xs gap-1",leading:"ps-2",trailing:"pe-2",leadingIcon:"size-4",leadingAvatarSize:"3xs",trailingIcon:"size-4",item:"text-[10px]/3",itemDeleteIcon:"size-3"},sm:{base:"px-2.5 py-1.5 text-xs gap-1.5",leading:"ps-2.5",trailing:"pe-2.5",leadingIcon:"size-4",leadingAvatarSize:"3xs",trailingIcon:"size-4",item:"text-[10px]/3",itemDeleteIcon:"size-3"},md:{base:"px-2.5 py-1.5 text-sm gap-1.5",leading:"ps-2.5",trailing:"pe-2.5",leadingIcon:"size-5",leadingAvatarSize:"2xs",trailingIcon:"size-5",item:"text-xs",itemDeleteIcon:"size-3.5"},lg:{base:"px-3 py-2 text-sm gap-2",leading:"ps-3",trailing:"pe-3",leadingIcon:"size-5",leadingAvatarSize:"2xs",trailingIcon:"size-5",item:"text-xs",itemDeleteIcon:"size-3.5"},xl:{base:"px-3 py-2 text-base gap-2",leading:"ps-3",trailing:"pe-3",leadingIcon:"size-6",leadingAvatarSize:"xs",trailingIcon:"size-6",item:"text-sm",itemDeleteIcon:"size-4"}},variant:{outline:"text-highlighted bg-default ring ring-inset ring-accented",soft:"text-highlighted bg-elevated/50 hover:bg-elevated has-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 has-focus:bg-elevated disabled:bg-transparent dark:disabled:bg-transparent",none:"text-highlighted bg-transparent"},color:{primary:"",secondary:"",success:"",info:"",warning:"",error:"",neutral:""},leading:{true:""},trailing:{true:""},loading:{true:""},highlight:{true:""},type:{file:"file:me-1.5 file:font-medium file:text-muted file:outline-none"}},compoundVariants:[{color:"primary",variant:["outline","subtle"],class:"has-focus-visible:ring-2 has-focus-visible:ring-inset has-focus-visible:ring-primary"},{color:"secondary",variant:["outline","subtle"],class:"has-focus-visible:ring-2 has-focus-visible:ring-inset has-focus-visible:ring-secondary"},{color:"success",variant:["outline","subtle"],class:"has-focus-visible:ring-2 has-focus-visible:ring-inset has-focus-visible:ring-success"},{color:"info",variant:["outline","subtle"],class:"has-focus-visible:ring-2 has-focus-visible:ring-inset has-focus-visible:ring-info"},{color:"warning",variant:["outline","subtle"],class:"has-focus-visible:ring-2 has-focus-visible:ring-inset has-focus-visible:ring-warning"},{color:"error",variant:["outline","subtle"],class:"has-focus-visible:ring-2 has-focus-visible:ring-inset has-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:"has-focus-visible:ring-2 has-focus-visible:ring-inset has-focus-visible:ring-inverted"},{color:"neutral",highlight:!0,class:"ring ring-inset ring-inverted"},{leading:!0,size:"xs",class:"ps-7"},{leading:!0,size:"sm",class:"ps-8"},{leading:!0,size:"md",class:"ps-9"},{leading:!0,size:"lg",class:"ps-10"},{leading:!0,size:"xl",class:"ps-11"},{trailing:!0,size:"xs",class:"pe-7"},{trailing:!0,size:"sm",class:"pe-8"},{trailing:!0,size:"md",class:"pe-9"},{trailing:!0,size:"lg",class:"pe-10"},{trailing:!0,size:"xl",class:"pe-11"},{loading:!0,leading:!0,class:{leadingIcon:"animate-spin"}},{loading:!0,leading:!1,trailing:!0,class:{trailingIcon:"animate-spin"}}],defaultVariants:{size:"md",color:"primary",variant:"outline"}},Ye=Object.assign({inheritAttrs:!1},{__name:"UInputTags",props:{as:{type:null,required:!1},placeholder:{type:String,required:!1},maxLength:{type:Number,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},autofocus:{type:Boolean,required:!1},autofocusDelay:{type:Number,required:!1,default:0},deleteIcon:{type:null,required:!1},highlight:{type:Boolean,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1},modelValue:{type:[Array,null],required:!1},defaultValue:{type:Array,required:!1},addOnPaste:{type:Boolean,required:!1},addOnTab:{type:Boolean,required:!1},addOnBlur:{type:Boolean,required:!1},duplicate:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},delimiter:{type:null,required:!1},max:{type:Number,required:!1},id:{type:String,required:!1},convertValue:{type:Function,required:!1},displayValue:{type:Function,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},leading:{type:Boolean,required:!1},leadingIcon:{type:null,required:!1},trailing:{type:Boolean,required:!1},trailingIcon:{type:null,required:!1},loading:{type:Boolean,required:!1},loadingIcon:{type:null,required:!1}},emits:["change","blur","focus","update:modelValue","invalid","addTag","removeTag"],setup(n,{expose:y,emit:t}){const a=n,c=t,g=ge(),v=fe(),p=ve(me(a,"as","addOnPaste","addOnTab","addOnBlur","duplicate","delimiter","max","convertValue","displayValue","required"),c),{emitFormBlur:z,emitFormFocus:w,emitFormChange:q,emitFormInput:k,size:_,color:l,id:r,name:V,highlight:b,disabled:B,ariaAttrs:j}=he(a),{orientation:G,size:o}=ye(a),{isLeading:D,isTrailing:L,leadingIconName:E,trailingIconName:s}=be(a),d=C(()=>o.value||_.value),i=C(()=>ee({extend:ee(Ke),...v.ui?.inputTags||{}})({color:l.value,variant:a.variant,size:d?.value,loading:a.loading,highlight:b.value,leading:D.value||!!a.avatar||!!g.leading,trailing:L.value||!!g.trailing,fieldGroup:G.value})),m=Ie("inputRef");function u(){a.autofocus&&m.value?.$el?.focus()}ie(()=>{setTimeout(()=>{u()},a.autofocusDelay)});function S(h){if(_e(a.modelValue)===h)return;const J=new Event("change",{target:{value:h}});c("change",J),q(),k()}function K(h){c("blur",h),z()}function ne(h){c("focus",h),w()}return y({inputRef:xe(()=>m.value?.$el)}),(h,J)=>(f(),I(e(Se),O({id:e(r),"model-value":n.modelValue,"default-value":n.defaultValue,"data-slot":"root",class:i.value.root({class:[i.value.base({class:a.ui?.base}),a.ui?.root,a.class]})},e(p),{name:e(V),disabled:e(B),"onUpdate:modelValue":S}),{default:x(({modelValue:re})=>[(f(!0),H(qe,null,Ve(re,(U,M)=>(f(),I(e(Pe),{key:M,value:U,"data-slot":"item",class:A(i.value.item({class:[a.ui?.item]}))},{default:x(()=>[F(e(Le),{"data-slot":"itemText",class:A(i.value.itemText({class:[a.ui?.itemText]}))},{default:x(()=>[g["item-text"]?T(h.$slots,"item-text",{key:0,item:U,index:M,ui:i.value}):R("",!0)]),_:2},1032,["class"]),F(e(Ne),{"data-slot":"itemDelete",class:A(i.value.itemDelete({class:[a.ui?.itemDelete]})),disabled:e(B)},{default:x(()=>[T(h.$slots,"item-delete",{item:U,index:M,ui:i.value},()=>[F(W,{name:n.deleteIcon||e(v).ui.icons.close,"data-slot":"itemDeleteIcon",class:A(i.value.itemDeleteIcon({class:[a.ui?.itemDeleteIcon]}))},null,8,["name","class"])])]),_:2},1032,["class","disabled"])]),_:2},1032,["value","class"]))),128)),F(e(Fe),O({ref_key:"inputRef",ref:m},{...h.$attrs,...e(j)},{placeholder:n.placeholder,"max-length":n.maxLength,"data-slot":"input",class:i.value.input({class:a.ui?.input}),onBlur:K,onFocus:ne}),null,16,["placeholder","max-length","class"]),T(h.$slots,"default",{ui:i.value}),e(D)||n.avatar||g.leading?(f(),H("span",{key:0,"data-slot":"leading",class:A(i.value.leading({class:a.ui?.leading}))},[T(h.$slots,"leading",{ui:i.value},()=>[e(D)&&e(E)?(f(),I(W,{key:0,name:e(E),"data-slot":"leadingIcon",class:A(i.value.leadingIcon({class:a.ui?.leadingIcon}))},null,8,["name","class"])):n.avatar?(f(),I(Te,O({key:1,size:a.ui?.leadingAvatarSize||i.value.leadingAvatarSize()},n.avatar,{"data-slot":"leadingAvatar",class:i.value.leadingAvatar({class:a.ui?.leadingAvatar})}),null,16,["size","class"])):R("",!0)])],2)):R("",!0),e(L)||g.trailing?(f(),H("span",{key:1,"data-slot":"trailing",class:A(i.value.trailing({class:a.ui?.trailing}))},[T(h.$slots,"trailing",{ui:i.value},()=>[e(s)?(f(),I(W,{key:0,name:e(s),"data-slot":"trailingIcon",class:A(i.value.trailingIcon({class:a.ui?.trailingIcon}))},null,8,["name","class"])):R("",!0)])],2)):R("",!0)]),_:3},16,["id","model-value","default-value","class","name","disabled"]))}});export{Ye as _};
@@ -1 +1 @@
1
- import{N as l,c as n,G as r,R as p,a3 as u,U as d,aj as e}from"./BaPPQtFe.js";const m={base:"bg-muted"},h={__name:"ProseThead",props:{class:{type:null,required:!1}},setup(s){const a=s,t=l(),o=n(()=>e({extend:e(m),...t.ui?.prose?.thead||{}}));return(c,i)=>(p(),r("thead",{class:d(o.value({class:a.class}))},[u(c.$slots,"default")],2))}};export{h as default};
1
+ import{N as l,c as n,G as r,R as p,a3 as u,U as d,aj as e}from"./BxXOsXrM.js";const m={base:"bg-muted"},h={__name:"ProseThead",props:{class:{type:null,required:!1}},setup(s){const a=s,t=l(),o=n(()=>e({extend:e(m),...t.ui?.prose?.thead||{}}));return(c,i)=>(p(),r("thead",{class:d(o.value({class:a.class}))},[u(c.$slots,"default")],2))}};export{h as default};
@@ -1 +1 @@
1
- import{a as m,aQ as h,c as p,f as g,Q as o,R as n,V as d,aK as E,G as f,a7 as B,ag as c,ah as V}from"./BaPPQtFe.js";var k=m({inheritAttrs:!1,__name:"VisuallyHiddenInputBubble",props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:"fully-hidden"}},setup(i){const e=i,{primitiveElement:s,currentElement:l}=h(),t=p(()=>e.checked??e.value);return g(t,(a,r)=>{if(!l.value)return;const u=l.value,_=window.HTMLInputElement.prototype,v=Object.getOwnPropertyDescriptor(_,"value").set;if(v&&a!==r){const b=new Event("input",{bubbles:!0}),q=new Event("change",{bubbles:!0});v.call(u,a),u.dispatchEvent(b),u.dispatchEvent(q)}}),(a,r)=>(n(),o(E,d({ref_key:"primitiveElement",ref:s},{...e,...a.$attrs},{as:"input"}),null,16))}}),y=k,A=m({inheritAttrs:!1,__name:"VisuallyHiddenInput",props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:"fully-hidden"}},setup(i){const e=i,s=p(()=>typeof e.value=="object"&&Array.isArray(e.value)&&e.value.length===0&&e.required),l=p(()=>typeof e.value=="string"||typeof e.value=="number"||typeof e.value=="boolean"||e.value===null||e.value===void 0?[{name:e.name,value:e.value}]:typeof e.value=="object"&&Array.isArray(e.value)?e.value.flatMap((t,a)=>typeof t=="object"?Object.entries(t).map(([r,u])=>({name:`${e.name}[${a}][${r}]`,value:u})):{name:`${e.name}[${a}]`,value:t}):e.value!==null&&typeof e.value=="object"&&!Array.isArray(e.value)?Object.entries(e.value).map(([t,a])=>({name:`${e.name}[${t}]`,value:a})):[]);return(t,a)=>(n(),f(c,null,[B(" We render single input if it's required "),s.value?(n(),o(y,d({key:t.name},{...e,...t.$attrs},{name:t.name,value:t.value}),null,16,["name","value"])):(n(!0),f(c,{key:1},V(l.value,r=>(n(),o(y,d({key:r.name},{ref_for:!0},{...e,...t.$attrs},{name:r.name,value:r.value}),null,16,["name","value"]))),128))],2112))}}),I=A;export{I as V};
1
+ import{a as m,aN as h,c as p,f as g,Q as o,R as n,V as d,aH as E,G as f,a7 as B,ag as c,ah as V}from"./BxXOsXrM.js";var k=m({inheritAttrs:!1,__name:"VisuallyHiddenInputBubble",props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:"fully-hidden"}},setup(i){const e=i,{primitiveElement:s,currentElement:l}=h(),t=p(()=>e.checked??e.value);return g(t,(a,r)=>{if(!l.value)return;const u=l.value,_=window.HTMLInputElement.prototype,v=Object.getOwnPropertyDescriptor(_,"value").set;if(v&&a!==r){const b=new Event("input",{bubbles:!0}),q=new Event("change",{bubbles:!0});v.call(u,a),u.dispatchEvent(b),u.dispatchEvent(q)}}),(a,r)=>(n(),o(E,d({ref_key:"primitiveElement",ref:s},{...e,...a.$attrs},{as:"input"}),null,16))}}),y=k,A=m({inheritAttrs:!1,__name:"VisuallyHiddenInput",props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:"fully-hidden"}},setup(i){const e=i,s=p(()=>typeof e.value=="object"&&Array.isArray(e.value)&&e.value.length===0&&e.required),l=p(()=>typeof e.value=="string"||typeof e.value=="number"||typeof e.value=="boolean"||e.value===null||e.value===void 0?[{name:e.name,value:e.value}]:typeof e.value=="object"&&Array.isArray(e.value)?e.value.flatMap((t,a)=>typeof t=="object"?Object.entries(t).map(([r,u])=>({name:`${e.name}[${a}][${r}]`,value:u})):{name:`${e.name}[${a}]`,value:t}):e.value!==null&&typeof e.value=="object"&&!Array.isArray(e.value)?Object.entries(e.value).map(([t,a])=>({name:`${e.name}[${t}]`,value:a})):[]);return(t,a)=>(n(),f(c,null,[B(" We render single input if it's required "),s.value?(n(),o(y,d({key:t.name},{...e,...t.$attrs},{name:t.name,value:t.value}),null,16,["name","value"])):(n(!0),f(c,{key:1},V(l.value,r=>(n(),o(y,d({key:r.name},{ref_for:!0},{...e,...t.$attrs},{name:r.name,value:r.value}),null,16,["name","value"]))),128))],2112))}}),I=A;export{I as V};
@@ -1 +1 @@
1
- import{a as b,aP as x,aO as N,aN as T,aZ as C,Q as h,R as y,S as f,a3 as g,C as e,a2 as q,e as u,c as B,f as $,q as A,b8 as D,T as F,V as I,a7 as M,b9 as P,k as V}from"./BaPPQtFe.js";import{u as H}from"./D1JmZKz7.js";const[O,E]=x("CollapsibleRoot");var S=b({__name:"CollapsibleRoot",props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},disabled:{type:Boolean,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["update:open"],setup(l,{expose:i,emit:n}){const o=l,s=N(o,"open",n,{defaultValue:o.defaultOpen,passive:o.open===void 0}),{disabled:r,unmountOnHide:p}=T(o);return E({contentId:"",disabled:r,open:s,unmountOnHide:p,onOpenToggle:()=>{r.value||(s.value=!s.value)}}),i({open:s}),C(),(d,v)=>(y(),h(e(q),{as:d.as,"as-child":o.asChild,"data-state":e(s)?"open":"closed","data-disabled":e(r)?"":void 0},{default:f(()=>[g(d.$slots,"default",{open:e(s)})]),_:3},8,["as","as-child","data-state","data-disabled"]))}}),z=S,j=b({inheritAttrs:!1,__name:"CollapsibleContent",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["contentFound"],setup(l,{emit:i}){const n=l,o=i,t=O();t.contentId||=H(void 0,"reka-collapsible-content");const s=u(),{forwardRef:r,currentElement:p}=C(),d=u(0),v=u(0),k=B(()=>t.open.value),m=u(k.value),c=u();$(()=>[k.value,s.value?.present],async()=>{await V();const a=p.value;if(!a)return;c.value=c.value||{transitionDuration:a.style.transitionDuration,animationName:a.style.animationName},a.style.transitionDuration="0s",a.style.animationName="none";const _=a.getBoundingClientRect();v.value=_.height,d.value=_.width,m.value||(a.style.transitionDuration=c.value.transitionDuration,a.style.animationName=c.value.animationName)},{immediate:!0});const w=B(()=>m.value&&t.open.value);return A(()=>{requestAnimationFrame(()=>{m.value=!1})}),D(p,"beforematch",a=>{requestAnimationFrame(()=>{t.onOpenToggle(),o("contentFound")})}),(a,_)=>(y(),h(e(P),{ref_key:"presentRef",ref:s,present:a.forceMount||e(t).open.value,"force-mount":!0},{default:f(({present:R})=>[F(e(q),I(a.$attrs,{id:e(t).contentId,ref:e(r),"as-child":n.asChild,as:a.as,hidden:R?void 0:e(t).unmountOnHide.value?"":"until-found","data-state":w.value?void 0:e(t).open.value?"open":"closed","data-disabled":e(t).disabled?.value?"":void 0,style:{"--reka-collapsible-content-height":`${v.value}px`,"--reka-collapsible-content-width":`${d.value}px`}}),{default:f(()=>[!e(t).unmountOnHide.value||R?g(a.$slots,"default",{key:0}):M("v-if",!0)]),_:2},1040,["id","as-child","as","hidden","data-state","data-disabled","style"])]),_:3},8,["present"]))}}),G=j,L=b({__name:"CollapsibleTrigger",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(l){const i=l;C();const n=O();return(o,t)=>(y(),h(e(q),{type:o.as==="button"?"button":void 0,as:o.as,"as-child":i.asChild,"aria-controls":e(n).contentId,"aria-expanded":e(n).open.value,"data-state":e(n).open.value?"open":"closed","data-disabled":e(n).disabled?.value?"":void 0,disabled:e(n).disabled?.value,onClick:e(n).onOpenToggle},{default:f(()=>[g(o.$slots,"default")]),_:3},8,["type","as","as-child","aria-controls","aria-expanded","data-state","data-disabled","disabled","onClick"]))}}),J=L;export{J as C,G as a,z as b};
1
+ import{a as b,aM as x,aL as T,aK as N,aW as C,Q as h,R as y,S as f,a3 as g,C as e,a2 as q,e as u,c as B,f as M,q as $,b9 as A,T as D,V as F,a7 as I,ba as V,k as H}from"./BxXOsXrM.js";import{u as P}from"./DqB723Z0.js";const[O,E]=x("CollapsibleRoot");var S=b({__name:"CollapsibleRoot",props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},disabled:{type:Boolean,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["update:open"],setup(l,{expose:i,emit:n}){const o=l,s=T(o,"open",n,{defaultValue:o.defaultOpen,passive:o.open===void 0}),{disabled:r,unmountOnHide:p}=N(o);return E({contentId:"",disabled:r,open:s,unmountOnHide:p,onOpenToggle:()=>{r.value||(s.value=!s.value)}}),i({open:s}),C(),(d,v)=>(y(),h(e(q),{as:d.as,"as-child":o.asChild,"data-state":e(s)?"open":"closed","data-disabled":e(r)?"":void 0},{default:f(()=>[g(d.$slots,"default",{open:e(s)})]),_:3},8,["as","as-child","data-state","data-disabled"]))}}),W=S,L=b({inheritAttrs:!1,__name:"CollapsibleContent",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["contentFound"],setup(l,{emit:i}){const n=l,o=i,t=O();t.contentId||=P(void 0,"reka-collapsible-content");const s=u(),{forwardRef:r,currentElement:p}=C(),d=u(0),v=u(0),k=B(()=>t.open.value),m=u(k.value),c=u();M(()=>[k.value,s.value?.present],async()=>{await H();const a=p.value;if(!a)return;c.value=c.value||{transitionDuration:a.style.transitionDuration,animationName:a.style.animationName},a.style.transitionDuration="0s",a.style.animationName="none";const _=a.getBoundingClientRect();v.value=_.height,d.value=_.width,m.value||(a.style.transitionDuration=c.value.transitionDuration,a.style.animationName=c.value.animationName)},{immediate:!0});const w=B(()=>m.value&&t.open.value);return $(()=>{requestAnimationFrame(()=>{m.value=!1})}),A(p,"beforematch",a=>{requestAnimationFrame(()=>{t.onOpenToggle(),o("contentFound")})}),(a,_)=>(y(),h(e(V),{ref_key:"presentRef",ref:s,present:a.forceMount||e(t).open.value,"force-mount":!0},{default:f(({present:R})=>[D(e(q),F(a.$attrs,{id:e(t).contentId,ref:e(r),"as-child":n.asChild,as:a.as,hidden:R?void 0:e(t).unmountOnHide.value?"":"until-found","data-state":w.value?void 0:e(t).open.value?"open":"closed","data-disabled":e(t).disabled?.value?"":void 0,style:{"--reka-collapsible-content-height":`${v.value}px`,"--reka-collapsible-content-width":`${d.value}px`}}),{default:f(()=>[!e(t).unmountOnHide.value||R?g(a.$slots,"default",{key:0}):I("v-if",!0)]),_:2},1040,["id","as-child","as","hidden","data-state","data-disabled","style"])]),_:3},8,["present"]))}}),z=L,j=b({__name:"CollapsibleTrigger",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(l){const i=l;C();const n=O();return(o,t)=>(y(),h(e(q),{type:o.as==="button"?"button":void 0,as:o.as,"as-child":i.asChild,"aria-controls":e(n).contentId,"aria-expanded":e(n).open.value,"data-state":e(n).open.value?"open":"closed","data-disabled":e(n).disabled?.value?"":void 0,disabled:e(n).disabled?.value,onClick:e(n).onOpenToggle},{default:f(()=>[g(o.$slots,"default")]),_:3},8,["type","as","as-child","aria-controls","aria-expanded","data-state","data-disabled","disabled","onClick"]))}}),G=j;export{G as C,z as a,W as b};
@@ -1 +1 @@
1
- import{r as l}from"./DMkXE4gH.js";import{N as c,c as p,Q as n,R as u,S as i,U as m,aj as s}from"./BaPPQtFe.js";import{_ as d}from"./BXWm1qrj.js";import"./iik6CYzq.js";const f={base:"rounded-full"},v={__name:"ProseBadge",props:{class:{type:null,required:!1}},setup(a){const e=a,o=c(),r=p(()=>s({extend:s(f),...o.ui?.prose?.badge||{}}));return(t,_)=>(u(),n(d,{color:"primary",variant:"subtle",class:m(r.value({class:e.class}))},{default:i(()=>[l(t.$slots,"default",{mdcUnwrap:"p"})]),_:3},8,["class"]))}};export{v as default};
1
+ import{r as l}from"./xuzLdW-o.js";import{N as c,c as p,Q as n,R as u,S as i,U as m,aj as s}from"./BxXOsXrM.js";import{_ as d}from"./DG-T44jj.js";import"./iik6CYzq.js";const f={base:"rounded-full"},v={__name:"ProseBadge",props:{class:{type:null,required:!1}},setup(a){const e=a,o=c(),r=p(()=>s({extend:s(f),...o.ui?.prose?.badge||{}}));return(t,_)=>(u(),n(d,{color:"primary",variant:"subtle",class:m(r.value({class:e.class}))},{default:i(()=>[l(t.$slots,"default",{mdcUnwrap:"p"})]),_:3},8,["class"]))}};export{v as default};
@@ -1 +1 @@
1
- import{N as c,c as n,G as i,R as l,a3 as p,U as u,aj as s,a8 as d,ac as m}from"./BaPPQtFe.js";const f={base:"pb-4 text-muted *:first:mt-0 *:last:mb-0 *:my-1.5"},b={__name:"ProseAccordionItem",props:{label:{type:String,required:!0},description:{type:String,required:!1},class:{type:null,required:!1}},setup(e){const t=e,a=c(),r=n(()=>s({extend:s(f),...a.ui?.prose?.accordionItem||{}}));return(o,g)=>(l(),i("div",{class:u(r.value({class:t.class}))},[p(o.$slots,"default",{},()=>[d(m(e.description),1)])],2))}};export{b as default};
1
+ import{N as c,c as n,G as i,R as l,a3 as p,U as u,aj as s,a8 as d,ac as m}from"./BxXOsXrM.js";const f={base:"pb-4 text-muted *:first:mt-0 *:last:mb-0 *:my-1.5"},b={__name:"ProseAccordionItem",props:{label:{type:String,required:!0},description:{type:String,required:!1},class:{type:null,required:!1}},setup(e){const t=e,a=c(),r=n(()=>s({extend:s(f),...a.ui?.prose?.accordionItem||{}}));return(o,g)=>(l(),i("div",{class:u(r.value({class:t.class}))},[p(o.$slots,"default",{},()=>[d(m(e.description),1)])],2))}};export{b as default};
@@ -1 +1 @@
1
- import{N as l,c as n,G as c,R as i,a3 as p,U as u,aj as s,a8 as m,ac as d}from"./BaPPQtFe.js";const f={base:"*:first:mt-0 *:last:mb-0 *:my-1.5"},y={__name:"ProseTabsItem",props:{label:{type:String,required:!0},description:{type:String,required:!1},class:{type:null,required:!1}},setup(e){const t=e,a=l(),r=n(()=>s({extend:s(f),...a.ui?.prose?.tabsItem||{}}));return(o,b)=>(i(),c("div",{class:u(r.value({class:t.class}))},[p(o.$slots,"default",{},()=>[m(d(e.description),1)])],2))}};export{y as default};
1
+ import{N as l,c as n,G as c,R as i,a3 as p,U as u,aj as s,a8 as m,ac as d}from"./BxXOsXrM.js";const f={base:"*:first:mt-0 *:last:mb-0 *:my-1.5"},y={__name:"ProseTabsItem",props:{label:{type:String,required:!0},description:{type:String,required:!1},class:{type:null,required:!1}},setup(e){const t=e,a=l(),r=n(()=>s({extend:s(f),...a.ui?.prose?.tabsItem||{}}));return(o,b)=>(i(),c("div",{class:u(r.value({class:t.class}))},[p(o.$slots,"default",{},()=>[m(d(e.description),1)])],2))}};export{y as default};
@@ -0,0 +1 @@
1
+ import{a as rt,ae as lt,ak as ct,e as b,f as ut,q as dt,G as m,T as o,S as u,ai as mt,C as s,R as a,a9 as l,Q as A,a7 as C,_ as pt,W as _t,ag as E,ah as z,ac as f,a8 as y,al as $}from"./BxXOsXrM.js";import{_ as ft}from"./JJ3634gV.js";import{_ as gt,a as vt}from"./B_3_hrpn.js";import{u as ht,_ as yt,a as kt,b as xt}from"./BzOqrmGa.js";import{c as At}from"./yNrp2XvX.js";import{_ as wt}from"./DG-T44jj.js";import{_ as bt}from"./C4pxqdgg.js";import{_ as Ct}from"./CeIVm4A3.js";import{_ as $t}from"./ghuJ76mD.js";import{u as St}from"./sf57orEk.js";import{u as Ut}from"./BIckl6wA.js";import"./C8ut0f5H.js";import"./CqkleIqs.js";import"./C3FxIITy.js";import"./DGX0tzL8.js";import"./BlAZO7nq.js";import"./eko-0FUm.js";import"./CxuZBC8n.js";import"./DlAUqK2U.js";import"./CeIu7z4p.js";import"./BS0ofHJK.js";import"./BYjadNrw.js";import"./Cvp7FI3T.js";import"./Nb2jBtYT.js";import"./5ZXA0Ckq.js";import"./Cr8ixbr1.js";import"./BJ3o57WW.js";import"./oIX-ZDN6.js";import"./DqB723Z0.js";import"./CKkC3Ptm.js";import"./Cdt3I3Go.js";import"./C0kh_F7v.js";import"./C6Y-ieo6.js";import"./DB359q8R.js";import"./CVgTJeSq.js";import"./DznawRFW.js";import"./Vcq4gwWv.js";import"./DJMS2og1.js";import"./Fukkqjkf.js";import"./Cdu2qGgq.js";import"./Q8Ps7oN5.js";const Rt=At(xt),Nt={class:"contents"},Ft={class:"p-4 space-y-6"},Bt={key:1,class:"flex items-center justify-center h-64"},Tt={key:2,class:"flex flex-col items-center justify-center h-64 text-neutral-500"},Et={key:3,class:"space-y-4"},zt={class:"flex items-start justify-between gap-4"},Dt={class:"flex-1 min-w-0"},Mt={class:"flex items-center gap-2"},Pt={class:"font-medium truncate"},Vt={key:0,class:"text-sm text-muted truncate mt-1"},Ot={class:"flex items-center gap-4 mt-2 text-sm text-muted"},jt={class:"flex items-center gap-1"},Gt={key:0,class:"flex items-center gap-1"},Wt={key:1,class:"flex items-center gap-1"},qt={class:"flex items-center gap-2"},Te=rt({__name:"index",setup(Lt){const g=lt(),D=ct(),{agents:R,loading:M,fetchAgents:P,createAgent:V,updateAgent:O,toggleEnabled:j,runAgent:G,cancelAgent:W,fetchGlobalStats:q}=ht(),{isAgentRunning:L}=St(),{agentStatsPeriod:N}=Ut(),w=b(N.value),k=b(null),S=b(!1);function F(n){return L(n)?!0:k.value?.runningAgentIds?.includes(n)??!1}const v=b(!1),h=b(null),I=[{label:"24h",value:"24h"},{label:"7d",value:"7d"},{label:"30d",value:"30d"}];function J(n){const t=n.split(" ");if(t.length!==5)return n;const i=t[0],r=t[1],c=t[2],d=t[3],p=t[4];return i==="0"&&r==="*"&&c==="*"&&d==="*"&&p==="*"?"Every hour":i==="*/5"&&r==="*"&&c==="*"&&d==="*"&&p==="*"?"Every 5 minutes":c==="*"&&d==="*"&&p==="*"&&r!=="*"?`Daily at ${r}:${i.padStart(2,"0")}`:p==="0"&&c==="*"&&d==="*"?`Weekly on Sunday at ${r}:${i.padStart(2,"0")}`:n}function Q(n){if(!n)return"Never";const t=new Date(n),r=new Date().getTime()-t.getTime(),c=Math.floor(r/6e4),d=Math.floor(r/36e5),p=Math.floor(r/864e5);return c<1?"Just now":c<60?`${c}m ago`:d<24?`${d}h ago`:`${p}d ago`}function B(){h.value=null,v.value=!0}function H(n,t){t.stopPropagation(),h.value=n,v.value=!0}function K(n){D.push(`/agents/${n.id}`)}async function X(n){try{h.value?(await O(h.value.id,n),g.add({title:"Agent updated",color:"success",icon:"i-lucide-check"})):(await V(n),g.add({title:"Agent created",color:"success",icon:"i-lucide-check"}),U()),v.value=!1,h.value=null}catch(t){g.add({title:"Failed to save agent",description:t instanceof Error?t.message:"An unexpected error occurred",color:"error",icon:"i-lucide-alert-circle"})}}async function Y(n){try{await j(n)}catch{g.add({title:"Failed to toggle agent",color:"error",icon:"i-lucide-alert-circle"})}}async function Z(n,t){t.stopPropagation();try{await G(n)}catch{g.add({title:"Failed to run agent",color:"error",icon:"i-lucide-alert-circle"})}}async function tt(n,t){t.stopPropagation();try{await W(n),g.add({title:"Agent cancelled",color:"warning",icon:"i-lucide-x-circle"})}catch{g.add({title:"Failed to cancel agent",color:"error",icon:"i-lucide-alert-circle"})}}function et(n){switch(n){case"success":return"success";case"error":return"error";case"budget_exceeded":return"warning";case"running":return"info";case"cancelled":return"neutral";default:return"neutral"}}async function U(){S.value=!0;try{k.value=await q(w.value)}catch{}finally{S.value=!1}}return ut(w,n=>{N.value=n,U()}),dt(async()=>{await P(),U()}),(n,t)=>{const i=_t,r=ft,c=vt,d=yt,p=Rt,x=pt,T=wt,nt=bt,ot=Ct,at=gt,st=kt,it=$t;return a(),m("div",Nt,[o(at,{id:"agents",grow:""},{header:u(()=>[o(c,{title:"Scheduled Agents"},{right:u(()=>[o(r,null,{default:u(()=>[(a(),m(E,null,z(I,e=>o(i,{key:e.value,color:s(w)===e.value?"primary":"neutral",variant:s(w)===e.value?"solid":"ghost",size:"sm",onClick:_=>w.value=e.value},{default:u(()=>[y(f(e.label),1)]),_:2},1032,["color","variant","onClick"])),64))]),_:1}),o(i,{icon:"i-lucide-plus",label:"New Agent",onClick:B})]),_:1})]),body:u(()=>[l("div",Ft,[o(d,{stats:s(k),loading:s(S),variant:"global"},null,8,["stats","loading"]),s(k)&&s(k).dailyRuns.length>0?(a(),A(p,{key:0,data:s(k).dailyRuns,title:"Run Activity"},null,8,["data"])):C("",!0),s(M)?(a(),m("div",Bt,[o(x,{name:"i-lucide-loader-2",class:"w-8 h-8 animate-spin text-neutral-400"})])):s(R).length===0?(a(),m("div",Tt,[o(x,{name:"i-lucide-bot",class:"w-12 h-12 mb-4"}),t[3]||(t[3]=l("p",{class:"text-lg font-medium"}," No agents yet ",-1)),t[4]||(t[4]=l("p",{class:"text-sm"}," Create your first scheduled agent to automate tasks ",-1)),o(i,{class:"mt-4",icon:"i-lucide-plus",label:"Create Agent",onClick:B})])):(a(),m("div",Et,[t[6]||(t[6]=l("h2",{class:"text-lg font-semibold"}," Agents ",-1)),(a(!0),m(E,null,z(s(R),e=>(a(),A(ot,{key:e.id,class:"cursor-pointer transition-all hover:ring-2 hover:ring-primary/50",onClick:_=>K(e)},{default:u(()=>[l("div",zt,[l("div",Dt,[l("div",Mt,[l("h3",Pt,f(e.name),1),F(e.id)?(a(),A(T,{key:0,color:"info",variant:"subtle",size:"sm"},{default:u(()=>[o(x,{name:"i-lucide-loader-2",class:"w-3 h-3 animate-spin mr-1"}),t[5]||(t[5]=y(" Running ",-1))]),_:1})):e.lastStatus?(a(),A(T,{key:1,color:et(e.lastStatus),size:"sm"},{default:u(()=>[y(f(e.lastStatus),1)]),_:2},1032,["color"])):C("",!0)]),e.description?(a(),m("p",Vt,f(e.description),1)):C("",!0),l("div",Ot,[l("span",jt,[o(x,{name:"i-lucide-clock"}),y(" "+f(J(e.schedule)),1)]),e.lastRunAt?(a(),m("span",Gt,[o(x,{name:"i-lucide-activity"}),y(" "+f(Q(e.lastRunAt)),1)])):C("",!0),e.maxBudgetUsd?(a(),m("span",Wt,[o(x,{name:"i-lucide-dollar-sign"}),y(" $"+f(e.maxBudgetUsd)+" limit ",1)])):C("",!0)])]),l("div",qt,[o(nt,{"model-value":e.enabled,onClick:t[0]||(t[0]=$(()=>{},["stop"])),"onUpdate:modelValue":_=>Y(e.id)},null,8,["model-value","onUpdate:modelValue"]),F(e.id)?(a(),A(i,{key:0,icon:"i-lucide-square",variant:"ghost",size:"sm",color:"error",onClick:$(_=>tt(e.id,_),["stop"])},null,8,["onClick"])):(a(),A(i,{key:1,icon:"i-lucide-play",variant:"ghost",size:"sm",disabled:!e.enabled,onClick:$(_=>Z(e.id,_),["stop"])},null,8,["disabled","onClick"])),o(i,{icon:"i-lucide-pencil",variant:"ghost",size:"sm",onClick:$(_=>H(e,_),["stop"])},null,8,["onClick"])])])]),_:2},1032,["onClick"]))),128))]))])]),_:1}),o(it,{open:s(v),"onUpdate:open":t[2]||(t[2]=e=>mt(v)?v.value=e:null)},{title:u(()=>[y(f(s(h)?"Edit Agent":"New Agent"),1)]),body:u(()=>[o(st,{agent:s(h),onSubmit:X,onCancel:t[1]||(t[1]=e=>v.value=!1)},null,8,["agent"])]),_:1},8,["open"])])}}});export{Te as default};
@@ -0,0 +1,65 @@
1
+ import{a as q,aW as re,Q as S,R as y,S as x,a3 as E,a8 as O,V as le,C as f,a2 as ue,aM as ut,aK as He,aL as dt,c as B,aI as ct,aJ as ft,ac as R,af as gt,e as V,G as L,y as mt,f as te,a1 as Ve,K as ze,D as Te,ay as pt,q as Ie,k as vt,a7 as J,ag as ie,ah as _e,a9 as p,T as w,_ as Ke,b5 as ht,by as Re,W as oe,aR as yt,U as se,am as _t,L as bt,N as xt,aE as Ct,aD as $t,aj as Fe,ai as we,aS as kt}from"./BxXOsXrM.js";import{x as At,y as wt,B as Ne,s as Se,E as Pt,k as Ye,F as Rt,c as be,i as St,G as Lt,H as zt,g as Ee,e as Tt,p as Nt,I as Ut,r as Xe,q as Je,J as Mt,K as qt,t as It,_ as Qe,S as Dt,C as Ft,A as Et,z as Ot,f as $e}from"./JJ3634gV.js";import{_ as Bt,a as jt}from"./B_3_hrpn.js";import{_ as Ze}from"./eko-0FUm.js";import{c as et}from"./yNrp2XvX.js";import{_ as Le}from"./CeIVm4A3.js";import{e as Gt}from"./DGX0tzL8.js";import{p as Oe,c as de,s as Q,a as F,h as Be,b as Wt,e as W,t as Pe,d as ye,m as Ue,f as je,g as M,i as Ge,j as Ht,k as Vt,P as Kt,S as Yt}from"./CxuZBC8n.js";import{_ as Xt}from"./DlAUqK2U.js";import{_ as tt}from"./DG-T44jj.js";import{_ as Jt}from"./BYjadNrw.js";import{_ as Qt}from"./CeIu7z4p.js";import{_ as Zt}from"./DTDgHTuh.js";import{f as ea}from"./CWePHsZr.js";import{u as ta}from"./BIckl6wA.js";import"./C8ut0f5H.js";import"./CqkleIqs.js";import"./C3FxIITy.js";import"./BlAZO7nq.js";import"./Cvp7FI3T.js";import"./Nb2jBtYT.js";import"./5ZXA0Ckq.js";import"./Cr8ixbr1.js";import"./BJ3o57WW.js";import"./oIX-ZDN6.js";import"./DqB723Z0.js";import"./88opOQSr.js";import"./iBGCpHdw.js";var aa=q({__name:"PaginationEllipsis",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const a=t;return re(),(e,o)=>(y(),S(f(ue),le(a,{"data-type":"ellipsis"}),{default:x(()=>[E(e.$slots,"default",{},()=>[o[0]||(o[0]=O("…"))])]),_:3},16))}}),na=aa;const[xe,sa]=ut("PaginationRoot");var oa=q({__name:"PaginationRoot",props:{page:{type:Number,required:!1},defaultPage:{type:Number,required:!1,default:1},itemsPerPage:{type:Number,required:!0},total:{type:Number,required:!1,default:0},siblingCount:{type:Number,required:!1,default:2},disabled:{type:Boolean,required:!1},showEdges:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"nav"}},emits:["update:page"],setup(t,{emit:a}){const e=t,o=a,{siblingCount:s,disabled:l,showEdges:i}=He(e);re();const n=dt(e,"page",o,{defaultValue:e.defaultPage,passive:e.page===void 0}),u=B(()=>Math.max(1,Math.ceil(e.total/(e.itemsPerPage||1))));return sa({page:n,onPageChange(r){n.value=r},pageCount:u,siblingCount:s,disabled:l,showEdges:i}),(r,h)=>(y(),S(f(ue),{as:r.as,"as-child":r.asChild},{default:x(()=>[E(r.$slots,"default",{page:f(n),pageCount:u.value})]),_:3},8,["as","as-child"]))}}),la=oa,ia=q({__name:"PaginationFirst",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(t){const a=t,e=xe();re();const o=B(()=>e.page.value===1||e.disabled.value);return(s,l)=>(y(),S(f(ue),le(a,{"aria-label":"First Page",type:s.as==="button"?"button":void 0,disabled:o.value,onClick:l[0]||(l[0]=i=>!o.value&&f(e).onPageChange(1))}),{default:x(()=>[E(s.$slots,"default",{},()=>[l[1]||(l[1]=O("First page"))])]),_:3},16,["type","disabled"]))}}),ra=ia,ua=q({__name:"PaginationLast",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(t){const a=t,e=xe();re();const o=B(()=>e.page.value===e.pageCount.value||e.disabled.value);return(s,l)=>(y(),S(f(ue),le(a,{"aria-label":"Last Page",type:s.as==="button"?"button":void 0,disabled:o.value,onClick:l[0]||(l[0]=i=>!o.value&&f(e).onPageChange(f(e).pageCount.value))}),{default:x(()=>[E(s.$slots,"default",{},()=>[l[1]||(l[1]=O("Last page"))])]),_:3},16,["type","disabled"]))}}),da=ua;function ne(t,a){const e=a-t+1;return Array.from({length:e},(o,s)=>s+t)}function ca(t){return t.map(a=>typeof a=="number"?{type:"page",value:a}:{type:"ellipsis"})}const ke="ellipsis";function fa(t,a,e,o){const l=a,i=Math.max(t-e,1),n=Math.min(t+e,l);if(o){const r=Math.min(2*e+5,a)-2,h=i>3&&Math.abs(l-r-1+1)>2&&Math.abs(i-1)>2,g=n<l-2&&Math.abs(l-r)>2&&Math.abs(l-n)>2;if(!h&&g)return[...ne(1,r),ke,l];if(h&&!g){const v=ne(l-r+1,l);return[1,ke,...v]}if(h&&g){const v=ne(i,n);return[1,ke,...v,ke,l]}return ne(1,l)}else{const u=e*2+1;return a<u?ne(1,l):t<=e+1?ne(1,u):a-t<=e?ne(a-u+1,l):ne(i,n)}}var ga=q({__name:"PaginationList",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const a=t;re();const e=xe(),o=B(()=>ca(fa(e.page.value,e.pageCount.value,e.siblingCount.value,e.showEdges.value)));return(s,l)=>(y(),S(f(ue),ct(ft(a)),{default:x(()=>[E(s.$slots,"default",{items:o.value})]),_:3},16))}}),ma=ga,pa=q({__name:"PaginationListItem",props:{value:{type:Number,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(t){const a=t;re();const e=xe(),o=B(()=>e.page.value===a.value),s=B(()=>e.disabled.value);return(l,i)=>(y(),S(f(ue),le(a,{"data-type":"page","aria-label":`Page ${l.value}`,"aria-current":o.value?"page":void 0,"data-selected":o.value?"true":void 0,disabled:s.value,type:l.as==="button"?"button":void 0,onClick:i[0]||(i[0]=n=>!s.value&&f(e).onPageChange(l.value))}),{default:x(()=>[E(l.$slots,"default",{},()=>[O(R(l.value),1)])]),_:3},16,["aria-label","aria-current","data-selected","disabled","type"]))}}),va=pa,ha=q({__name:"PaginationNext",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(t){const a=t;re();const e=xe(),o=B(()=>e.page.value===e.pageCount.value||e.disabled.value);return(s,l)=>(y(),S(f(ue),le(a,{"aria-label":"Next Page",type:s.as==="button"?"button":void 0,disabled:o.value,onClick:l[0]||(l[0]=i=>!o.value&&f(e).onPageChange(f(e).page.value+1))}),{default:x(()=>[E(s.$slots,"default",{},()=>[l[1]||(l[1]=O("Next page"))])]),_:3},16,["type","disabled"]))}}),ya=ha,_a=q({__name:"PaginationPrev",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(t){const a=t;re();const e=xe(),o=B(()=>e.page.value===1||e.disabled.value);return(s,l)=>(y(),S(f(ue),le(a,{"aria-label":"Previous Page",type:s.as==="button"?"button":void 0,disabled:o.value,onClick:l[0]||(l[0]=i=>!o.value&&f(e).onPageChange(f(e).page.value-1))}),{default:x(()=>[E(s.$slots,"default",{},()=>[l[1]||(l[1]=O("Prev page"))])]),_:3},16,["type","disabled"]))}}),ba=_a;const xa=Object.assign(Object.assign({},At),{tooltip:void 0,annotations:void 0});class Ca extends wt{constructor(a,e,o){var s;super(a),this._defaultConfig=xa,this.config=this._defaultConfig,e&&(this.updateContainer(e,!0),this.component=e.component),o&&this.setData(o,!0),!((s=this.component)===null||s===void 0)&&s.datamodel.data&&this.render()}setData(a,e){var o;const{config:s}=this;this.component&&this.component.setData(a),e||this.render(),(o=s.tooltip)===null||o===void 0||o.hide()}updateContainer(a,e){super.updateContainer(a),this._removeAllChildren(),this.component=a.component,a.sizing&&(this.component.sizing=a.sizing),this.element.appendChild(this.component.element);const o=a.tooltip;o&&(o.hasContainer()||o.setContainer(this._container),o.setComponents([this.component]));const s=a.annotations;s&&this.element.appendChild(s.element),this.element.appendChild(this._svgDefs.node()),this.element.appendChild(this._svgDefsExternal.node()),e||this.render()}updateComponent(a,e){this.component.setConfig(a),e||this.render()}update(a,e,o){a&&this.updateContainer(a,!0),e&&this.updateComponent(e,!0),o&&this.setData(o,!0),this.render()}getFitWidthScale(){const{config:a,component:e}=this,o=e;if(!o.getWidth)return 1;const s=o.getWidth()+a.margin.left+a.margin.right;return this.width/s}_preRender(){var a,e;super._preRender(),this.component.setSize(this.width,this.height,this.containerWidth,this.containerHeight),this.component.setContainerMargin(this.config.margin),(a=this.config.annotations)===null||a===void 0||a.setSize(this.width,this.height,this.containerWidth,this.containerHeight),(e=this.config.annotations)===null||e===void 0||e.setContainerMargin(this.config.margin)}_render(a){var e;const{config:o,component:s}=this;super._render(a),s.g.attr("transform",`translate(${o.margin.left},${o.margin.top})`),s.render(a),(e=o.annotations)===null||e===void 0||e.render(a),o.tooltip&&o.tooltip.update()}render(a=this.config.duration){const{config:e,component:o}=this;if(e.sizing===Ne.Extend||e.sizing===Ne.FitWidth){const s=e.sizing===Ne.FitWidth,l=o,i=l.getWidth()+e.margin.left+e.margin.right,n=l.getHeight()+e.margin.top+e.margin.bottom,u=s?this.getFitWidthScale():1,r=this.svg.attr("width"),h=this.svg.attr("height"),g=i*u,d=n*u,v=r||h;Se(this.svg,v?a:0).attr("width",g).attr("height",d).attr("viewBox",`0 0 ${i} ${s?d:n}`).attr("preserveAspectRatio","xMinYMin")}else this.svg.attr("width",this.config.width||this.containerWidth).attr("height",this.config.height||this.containerHeight);this._resizeObserver||this._setUpResizeObserver(),cancelAnimationFrame(this._renderAnimationFrameId),this._renderAnimationFrameId=requestAnimationFrame(()=>{this._preRender(),this._render(a)})}_onResize(){var a;const{config:e}=this;super._onResize(),(a=e.tooltip)===null||a===void 0||a.hide()}destroy(){var a,e;const{component:o,config:s}=this;super.destroy(),o?.destroy(),(a=s.tooltip)===null||a===void 0||a.destroy(),(e=s.annotations)===null||e===void 0||e.destroy()}}function $a(t){return t.innerRadius}function ka(t){return t.outerRadius}function Aa(t){return t.startAngle}function wa(t){return t.endAngle}function Pa(t){return t&&t.padAngle}function Ra(t,a,e,o,s,l,i,n){var u=e-t,r=o-a,h=i-s,g=n-l,d=g*u-h*r;if(!(d*d<W))return d=(h*(a-l)-g*(t-s))/d,[t+d*u,a+d*r]}function Ae(t,a,e,o,s,l,i){var n=t-e,u=a-o,r=(i?l:-l)/ye(n*n+u*u),h=r*u,g=-r*n,d=t+h,v=a+g,$=e+h,A=o+g,c=(d+$)/2,z=(v+A)/2,P=$-d,_=A-v,b=P*P+_*_,T=s-l,N=d*A-$*v,j=(_<0?-1:1)*ye(Ht(0,T*T*b-N*N)),G=(N*_-P*j)/b,U=(-N*P-_*j)/b,I=(N*_+P*j)/b,D=(-N*P+_*j)/b,m=G-c,k=U-z,K=I-c,Y=D-z;return m*m+k*k>K*K+Y*Y&&(G=I,U=D),{cx:G,cy:U,x01:-h,y01:-g,x11:G*(s/T-1),y11:U*(s/T-1)}}function Sa(){var t=$a,a=ka,e=F(0),o=null,s=Aa,l=wa,i=Pa,n=null;function u(){var r,h,g=+t.apply(this,arguments),d=+a.apply(this,arguments),v=s.apply(this,arguments)-Be,$=l.apply(this,arguments)-Be,A=je($-v),c=$>v;if(n||(n=r=Wt()),d<g&&(h=d,d=g,g=h),!(d>W))n.moveTo(0,0);else if(A>Pe-W)n.moveTo(d*de(v),d*Q(v)),n.arc(0,0,d,v,$,!c),g>W&&(n.moveTo(g*de($),g*Q($)),n.arc(0,0,g,$,v,c));else{var z=v,P=$,_=v,b=$,T=A,N=A,j=i.apply(this,arguments)/2,G=j>W&&(o?+o.apply(this,arguments):ye(g*g+d*d)),U=Ue(je(d-g)/2,+e.apply(this,arguments)),I=U,D=U,m,k;if(G>W){var K=Ge(G/g*Q(j)),Y=Ge(G/d*Q(j));(T-=K*2)>W?(K*=c?1:-1,_+=K,b-=K):(T=0,_=b=(v+$)/2),(N-=Y*2)>W?(Y*=c?1:-1,z+=Y,P-=Y):(N=0,z=P=(v+$)/2)}var Z=d*de(z),ee=d*Q(z),Ce=g*de(b),ce=g*Q(b);if(U>W){var ae=d*de(P),fe=d*Q(P),ge=g*de(_),me=g*Q(_),X;if(A<Oe&&(X=Ra(Z,ee,ge,me,ae,fe,Ce,ce))){var pe=Z-X[0],ve=ee-X[1],C=ae-X[0],H=fe-X[1],he=1/Q(Vt((pe*C+ve*H)/(ye(pe*pe+ve*ve)*ye(C*C+H*H)))/2),De=ye(X[0]*X[0]+X[1]*X[1]);I=Ue(U,(g-De)/(he-1)),D=Ue(U,(d-De)/(he+1))}}N>W?D>W?(m=Ae(ge,me,Z,ee,d,D,c),k=Ae(ae,fe,Ce,ce,d,D,c),n.moveTo(m.cx+m.x01,m.cy+m.y01),D<U?n.arc(m.cx,m.cy,D,M(m.y01,m.x01),M(k.y01,k.x01),!c):(n.arc(m.cx,m.cy,D,M(m.y01,m.x01),M(m.y11,m.x11),!c),n.arc(0,0,d,M(m.cy+m.y11,m.cx+m.x11),M(k.cy+k.y11,k.cx+k.x11),!c),n.arc(k.cx,k.cy,D,M(k.y11,k.x11),M(k.y01,k.x01),!c))):(n.moveTo(Z,ee),n.arc(0,0,d,z,P,!c)):n.moveTo(Z,ee),!(g>W)||!(T>W)?n.lineTo(Ce,ce):I>W?(m=Ae(Ce,ce,ae,fe,g,-I,c),k=Ae(Z,ee,ge,me,g,-I,c),n.lineTo(m.cx+m.x01,m.cy+m.y01),I<U?n.arc(m.cx,m.cy,I,M(m.y01,m.x01),M(k.y01,k.x01),!c):(n.arc(m.cx,m.cy,I,M(m.y01,m.x01),M(m.y11,m.x11),!c),n.arc(0,0,g,M(m.cy+m.y11,m.cx+m.x11),M(k.cy+k.y11,k.cx+k.x11),c),n.arc(k.cx,k.cy,I,M(k.y11,k.x11),M(k.y01,k.x01),!c))):n.arc(0,0,g,b,_,c)}if(n.closePath(),r)return n=null,r+""||null}return u.centroid=function(){var r=(+t.apply(this,arguments)+ +a.apply(this,arguments))/2,h=(+s.apply(this,arguments)+ +l.apply(this,arguments))/2-Oe/2;return[de(h)*r,Q(h)*r]},u.innerRadius=function(r){return arguments.length?(t=typeof r=="function"?r:F(+r),u):t},u.outerRadius=function(r){return arguments.length?(a=typeof r=="function"?r:F(+r),u):a},u.cornerRadius=function(r){return arguments.length?(e=typeof r=="function"?r:F(+r),u):e},u.padRadius=function(r){return arguments.length?(o=r==null?null:typeof r=="function"?r:F(+r),u):o},u.startAngle=function(r){return arguments.length?(s=typeof r=="function"?r:F(+r),u):s},u.endAngle=function(r){return arguments.length?(l=typeof r=="function"?r:F(+r),u):l},u.padAngle=function(r){return arguments.length?(i=typeof r=="function"?r:F(+r),u):i},u.context=function(r){return arguments.length?(n=r??null,u):n},u}function La(t,a){return a<t?-1:a>t?1:a>=t?0:NaN}function za(t){return t}function Ta(){var t=za,a=La,e=null,o=F(0),s=F(Pe),l=F(0);function i(n){var u,r=n.length,h,g,d=0,v=new Array(r),$=new Array(r),A=+o.apply(this,arguments),c=Math.min(Pe,Math.max(-Pe,s.apply(this,arguments)-A)),z,P=Math.min(Math.abs(c)/r,l.apply(this,arguments)),_=P*(c<0?-1:1),b;for(u=0;u<r;++u)(b=$[v[u]=u]=+t(n[u],u,n))>0&&(d+=b);for(a!=null?v.sort(function(T,N){return a($[T],$[N])}):e!=null&&v.sort(function(T,N){return e(n[T],n[N])}),u=0,g=d?(c-r*_)/d:0;u<r;++u,A=z)h=v[u],b=$[h],z=A+(b>0?b*g:0)+_,$[h]={data:n[h],index:u,value:b,startAngle:A,endAngle:z,padAngle:P};return $}return i.value=function(n){return arguments.length?(t=typeof n=="function"?n:F(+n),i):t},i.sortValues=function(n){return arguments.length?(a=n,e=null,i):a},i.sort=function(n){return arguments.length?(e=n,a=null,i):e},i.startAngle=function(n){return arguments.length?(o=typeof n=="function"?n:F(+n),i):o},i.endAngle=function(n){return arguments.length?(s=typeof n=="function"?n:F(+n),i):s},i.padAngle=function(n){return arguments.length?(l=typeof n=="function"?n:F(+n),i):l},i}const Na=Object.assign(Object.assign({},Pt),{id:(t,a)=>{var e;return(e=t.id)!==null&&e!==void 0?e:a},value:void 0,angleRange:[0,2*Math.PI],padAngle:0,sortFunction:void 0,cornerRadius:0,color:void 0,radius:void 0,arcWidth:20,centralLabel:void 0,centralSubLabel:void 0,centralSubLabelWrap:!0,showEmptySegments:!1,emptySegmentAngle:.5*Math.PI/180,showBackground:!0,backgroundAngleRange:void 0,centralLabelOffsetX:void 0,centralLabelOffsetY:void 0});function Ua(t,a){t.style("fill",e=>Ye(e.data,a.color,e.index)).style("opacity",0).each((e,o,s)=>{const l=s[o],i=(e.startAngle+e.endAngle)/2,n=(e.endAngle-e.startAngle)/2;l._animState={startAngle:i-n,endAngle:i+n,innerRadius:e.innerRadius,outerRadius:e.outerRadius,padAngle:e.padAngle}})}function Ma(t,a,e,o){t.style("transition",`fill ${o}ms`).style("fill",l=>Ye(l.data,a.color,l.index));const s=l=>a.showEmptySegments||l.value?1:0;o?Se(t,o).style("opacity",s).attrTween("d",(i,n,u)=>{const r=u[n],h={startAngle:i.startAngle,endAngle:i.endAngle,innerRadius:i.innerRadius,outerRadius:i.outerRadius,padAngle:i.padAngle},g=Rt(r._animState,h);return d=>(r._animState=g(d),e(r._animState))}):t.attr("d",e).style("opacity",s)}function qa(t,a){Se(t,a).style("opacity",0).remove()}const at=Array.from({length:4},(t,a)=>{const e=-Math.PI/2+a*Math.PI/2;return[e,e+Math.PI]}),[Ts,Ns,Us,Ms]=at,nt=be`
2
+ label: donut-component;
3
+ `,Ia=St`
4
+ :root {
5
+ --vis-donut-central-label-font-size: 16px;
6
+ --vis-donut-central-label-text-color: #5b5f6d;
7
+ // Undefined by default to allow proper fallback to var(--vis-font-family)
8
+ /* --vis-donut-central-label-font-family: */
9
+ --vis-donut-central-label-font-weight: 600;
10
+
11
+ --vis-donut-central-sub-label-font-size: 12px;
12
+ --vis-donut-central-sub-label-text-color: #5b5f6d;
13
+ // Undefined by default to allow proper fallback to var(--vis-font-family)
14
+ /* --vis-donut-central-sub-label-font-family: */
15
+ --vis-donut-central-sub-label-font-weight: 500;
16
+
17
+ --vis-donut-background-color: #E7E9F3;
18
+ --vis-donut-segment-stroke-width: 0;
19
+ // The line segment color variable is not defined by default
20
+ // to allow it to fallback to the donut background color
21
+ /* --vis-donut-segment-stroke-color: none; */
22
+
23
+ --vis-dark-donut-central-label-text-color: #C2BECE;
24
+ --vis-dark-donut-central-sub-label-text-color: #C2BECE;
25
+ --vis-dark-donut-background-color: #18160C;
26
+ }
27
+
28
+ body.theme-dark ${`.${nt}`} {
29
+ --vis-donut-central-label-text-color: var(--vis-dark-donut-central-label-text-color);
30
+ --vis-donut-central-sub-label-text-color: var(--vis-dark-donut-central-sub-label-text-color);
31
+ --vis-donut-background-color: var(--vis-dark-donut-background-color);
32
+ }
33
+ `,st=be`
34
+ label: background;
35
+ fill: var(--vis-donut-background-color);
36
+ `,qe=be`
37
+ label: segment;
38
+ stroke-width: var(--vis-donut-segment-stroke-width);
39
+ stroke: var(--vis-donut-segment-stroke-color, var(--vis-donut-background-color));
40
+ `,ot=be`
41
+ label: segment-exit;
42
+ `,lt=be`
43
+ label: central-label;
44
+ text-anchor: middle;
45
+ dominant-baseline: middle;
46
+ font-size: var(--vis-donut-central-label-font-size);
47
+ font-family: var(--vis-donut-central-label-font-family, var(--vis-font-family));
48
+ font-weight: var(--vis-donut-central-label-font-weight);
49
+ fill: var(--vis-donut-central-label-text-color);
50
+ `,it=be`
51
+ label: central-label;
52
+ text-anchor: middle;
53
+ dominant-baseline: middle;
54
+ font-size: var(--vis-donut-central-sub-label-font-size);
55
+ font-family: var(--vis-donut-central-sub-label-font-family, var(--vis-font-family));
56
+ font-weight: var(--vis-donut-central-sub-label-font-weight);
57
+ fill: var(--vis-donut-central-sub-label-text-color);
58
+ `,Da=Object.freeze(Object.defineProperty({__proto__:null,background:st,centralLabel:lt,centralSubLabel:it,root:nt,segment:qe,segmentExit:ot,variables:Ia},Symbol.toStringTag,{value:"Module"}));class rt extends Lt{constructor(a){super(),this._defaultConfig=Na,this.config=this._defaultConfig,this.datamodel=new zt,this.arcGen=Sa(),this.events={},a&&this.setConfig(a),this.arcBackground=this.g.append("path"),this.arcGroup=this.g.append("g"),this.centralLabel=this.g.append("text").attr("class",lt),this.centralSubLabel=this.g.append("text").attr("class",it)}get bleed(){return{top:0,bottom:0,left:0,right:0}}_render(a){var e,o,s,l,i,n,u,r,h,g,d,v,$,A;const{config:c,datamodel:z,bleed:P}=this,_=z.data.map((C,H)=>({index:H,datum:C})).filter(C=>c.showEmptySegments||Ee(C.datum,c.value,C.index)),b=Tt(a)?a:c.duration,[T,N,j,G]=at.map(C=>c.angleRange&&c.angleRange[0]===C[0]&&c.angleRange[1]===C[1]),U=T||j,I=N||G,D=this._width*(I?2:1),m=this._height*(U?2:1),k=c.radius||Math.min(D-P.left-P.right,m-P.top-P.bottom)/2,K=c.arcWidth===0?0:Nt(k-c.arcWidth,0,k-1),Y=this._height/2+(T?k/2:j?-k/2:0),Z=this._width/2+(G?k/2:N?-k/2:0),ee=`translate(${Z},${Y})`;this.arcGroup.attr("transform",ee),this.arcGen.startAngle(C=>C.startAngle).endAngle(C=>C.endAngle).innerRadius(C=>C.innerRadius).outerRadius(C=>C.outerRadius).padAngle(C=>C.padAngle).cornerRadius(c.cornerRadius);const ce=Ta().startAngle((o=(e=c.angleRange)===null||e===void 0?void 0:e[0])!==null&&o!==void 0?o:0).endAngle((l=(s=c.angleRange)===null||s===void 0?void 0:s[1])!==null&&l!==void 0?l:2*Math.PI).padAngle(c.padAngle).value(C=>Ee(C.datum,c.value,C.index)||0).sort((C,H)=>{var he;return(he=c.sortFunction)===null||he===void 0?void 0:he.call(c,C.datum,H.datum)})(_).map(C=>{const H=Object.assign(Object.assign({},C),{data:C.data.datum,index:C.data.index,innerRadius:K,outerRadius:k});return c.showEmptySegments&&C.endAngle-C.startAngle-C.padAngle<=Number.EPSILON&&(H.endAngle=C.startAngle+Math.max(c.emptySegmentAngle,c.padAngle),H.padAngle=C.padAngle/2),H}),ae=this.arcGroup.selectAll(`.${qe}`).data(ce,C=>c.id(C.data,C.index)),fe=ae.enter().append("path").attr("class",qe).call(Ua,c),ge=ae.merge(fe);ge.call(Ma,c,this.arcGen,b),ge.sort((C,H)=>H.value-C.value),ae.exit().attr("class",ot).call(qa,b);const me=N?"start":G?"end":"middle";this.centralLabel.attr("dy",c.centralSubLabel?"-0.55em":null).style("text-anchor",me).text((i=c.centralLabel)!==null&&i!==void 0?i:null),this.centralSubLabel.attr("dy",c.centralLabel?"0.55em":null).style("text-anchor",me).text((n=c.centralSubLabel)!==null&&n!==void 0?n:null),c.centralSubLabelWrap&&Ut(this.centralSubLabel,K*1.9);const X=(c.centralLabelOffsetX||0)+Z;let pe=(c.centralLabelOffsetY||0)+Y;U&&c.centralLabelOffsetX===void 0&&c.centralLabelOffsetY===void 0&&(pe=(T?-this.centralSubLabel.node().getBoundingClientRect().height:j?this.centralLabel.node().getBoundingClientRect().height:0)+Y);const ve=`translate(${X},${pe})`;this.centralLabel.attr("transform",ve),this.centralSubLabel.attr("transform",ve),this.arcBackground.attr("class",st).attr("visibility",c.showBackground?null:"hidden").attr("transform",ee),Se(this.arcBackground,b).attr("d",this.arcGen({startAngle:(g=(r=(u=c.backgroundAngleRange)===null||u===void 0?void 0:u[0])!==null&&r!==void 0?r:(h=c.angleRange)===null||h===void 0?void 0:h[0])!==null&&g!==void 0?g:0,endAngle:(A=(v=(d=c.backgroundAngleRange)===null||d===void 0?void 0:d[1])!==null&&v!==void 0?v:($=c.angleRange)===null||$===void 0?void 0:$[1])!==null&&A!==void 0?A:2*Math.PI,innerRadius:K,outerRadius:k}))}}rt.selectors=Da;const Fa=q({__name:"index",props:{component:{},tooltip:{},annotations:{},duration:{},margin:{},padding:{},sizing:{},width:{},height:{},svgDefs:{},ariaLabel:{},data:{}},setup(t,{expose:a}){const e=t,{data:o}=He(e),s=Xe(e);let l;const i=gt({component:void 0,tooltip:void 0,annotations:void 0}),n=V(),u=()=>{l||n.value&&i.component&&(l=new Ca(n.value,{...Te(i)},o.value))};return mt(()=>{var r;u(),(r=i.component)==null||r.config,l?.updateContainer({...Te(s.value),...Te(i)})}),te(o,()=>{l?l.setData(o.value,!0):u()}),Ve(()=>l?.destroy()),ze(Je,{data:o,update:r=>i.component=r,destroy:()=>i.component=void 0}),ze(Mt,{data:o,update:r=>i.tooltip=r,destroy:()=>{i.tooltip=void 0}}),ze(qt,{data:o,update:r=>i.annotations=r,destroy:()=>{i.annotations=void 0}}),a({component:l}),(r,h)=>(y(),L("div",{"data-vis-single-container":"",ref_key:"elRef",ref:n,class:"unovis-single-container"},[E(r.$slots,"default")],512))}}),Ea={"data-vis-component":""},Oa=q({__name:"index",props:{id:{type:Function},value:{},angleRange:{},padAngle:{},sortFunction:{type:Function},cornerRadius:{},color:{},radius:{},arcWidth:{},centralLabel:{},centralSubLabel:{},centralSubLabelWrap:{type:Boolean},showEmptySegments:{type:Boolean},emptySegmentAngle:{},showBackground:{type:Boolean},backgroundAngleRange:{},centralLabelOffsetX:{},centralLabelOffsetY:{},duration:{},events:{},attributes:{},data:{}},setup(t,{expose:a}){const e=pt(Je),o=t,s=B(()=>e.data.value??o.data),l=Xe(o),i=V();return Ie(()=>{vt(()=>{var n;i.value=new rt(l.value),(n=i.value)==null||n.setData(s.value),e.update(i.value)})}),Ve(()=>{var n;(n=i.value)==null||n.destroy(),e.destroy()}),te(l,(n,u)=>{var r;It(n,u)||(r=i.value)==null||r.setConfig(l.value)}),te(s,()=>{var n;(n=i.value)==null||n.setData(s.value)}),a({component:i}),(n,u)=>(y(),L("div",Ea))}}),Ba={class:"grid gap-4 grid-cols-2 sm:grid-cols-3 lg:grid-cols-5"},ja={class:"p-4 rounded-lg bg-elevated border border-default"},Ga={class:"flex items-center gap-2 text-muted text-sm mb-1"},Wa={class:"text-2xl font-semibold"},Ha={class:"p-4 rounded-lg bg-elevated border border-default"},Va={class:"flex items-center gap-2 text-muted text-sm mb-1"},Ka={class:"text-2xl font-semibold"},Ya={class:"p-4 rounded-lg bg-elevated border border-default"},Xa={class:"flex items-center gap-2 text-muted text-sm mb-1"},Ja={class:"text-2xl font-semibold"},Qa={class:"p-4 rounded-lg bg-elevated border border-default"},Za={class:"flex items-center gap-2 text-muted text-sm mb-1"},en={class:"text-2xl font-semibold"},tn={class:"p-4 rounded-lg bg-elevated border border-default"},an={class:"flex items-center gap-2 text-muted text-sm mb-1"},nn={class:"text-2xl font-semibold"},sn=q({__name:"UsageStatsCards",props:{stats:{},loading:{type:Boolean}},setup(t){function a(o){return o<.01&&o>0?"<$0.01":`$${o.toFixed(2)}`}function e(o){return o>=1e6?`${(o/1e6).toFixed(1)}M`:o>=1e3?`${(o/1e3).toFixed(1)}K`:String(o)}return(o,s)=>{const l=Ze,i=Ke;return y(),L("div",Ba,[t.loading?(y(),L(ie,{key:0},_e(5,n=>p("div",{key:n,class:"p-4 rounded-lg bg-elevated border border-default"},[w(l,{class:"h-4 w-16 mb-2"}),w(l,{class:"h-8 w-12"})])),64)):t.stats?(y(),L(ie,{key:1},[p("div",ja,[p("div",Ga,[w(i,{name:"i-lucide-dollar-sign",class:"size-4"}),s[0]||(s[0]=p("span",null,"Total Cost",-1))]),p("p",Wa,R(a(t.stats.totalCostUsd)),1)]),p("div",Ha,[p("div",Va,[w(i,{name:"i-lucide-arrow-down",class:"size-4"}),s[1]||(s[1]=p("span",null,"Input Tokens",-1))]),p("p",Ka,R(e(t.stats.totalInputTokens)),1)]),p("div",Ya,[p("div",Xa,[w(i,{name:"i-lucide-arrow-up",class:"size-4"}),s[2]||(s[2]=p("span",null,"Output Tokens",-1))]),p("p",Ja,R(e(t.stats.totalOutputTokens)),1)]),p("div",Qa,[p("div",Za,[w(i,{name:"i-lucide-zap",class:"size-4"}),s[3]||(s[3]=p("span",null,"API Calls",-1))]),p("p",en,R(t.stats.totalCalls),1)]),p("div",tn,[p("div",an,[w(i,{name:"i-lucide-calculator",class:"size-4"}),s[4]||(s[4]=p("span",null,"Avg / Call",-1))]),p("p",nn,R(a(t.stats.avgCostPerCall)),1)])],64)):J("",!0)])}}}),on=Object.assign(sn,{__name:"UsageStatsCards"}),ln={class:"flex items-center justify-between"},rn={class:"flex items-center gap-3"},un={class:"text-sm font-medium"},dn={key:0,class:"flex items-center justify-center h-64 text-muted"},cn=q({__name:"UsageCostChart.client",props:{data:{},title:{},granularity:{}},emits:["update:granularity"],setup(t,{emit:a}){const e=t,o=a,s=ht("cardRef"),{width:l}=Gt(s),i=(g,d)=>d,n=g=>g.totalCost;function u(g){const[d,v,$]=g.slice(0,10).split("-").map(Number);return new Date(d,v-1,$)}const r=g=>{const d=e.data[g];if(!d)return"";if(e.granularity==="hourly"){const v=Number(d.date.slice(11,13)),$=v>=12?"pm":"am",A=v%12||12;return g===0||d.date.slice(0,10)!==e.data[g-1]?.date.slice(0,10)?`${$e(u(d.date),"MMM d")} ${A}${$}`:`${A}${$}`}return $e(u(d.date),"d MMM")},h=g=>{let d;if(e.granularity==="hourly"){const v=Number(g.date.slice(11,13)),$=v>=12?"pm":"am",A=v%12||12;d=`${$e(u(g.date),"MMM d, yyyy")} ${A}:00${$}`}else d=$e(u(g.date),"MMM d, yyyy");return`<div class="p-2 text-sm">
59
+ <div class="font-medium">${d}</div>
60
+ <div style="color: var(--ui-primary)">Chat: $${g.chat.toFixed(4)}</div>
61
+ <div style="color: var(--ui-warning)">Agents: $${g.agent.toFixed(4)}</div>
62
+ <div style="color: var(--ui-info)">Memory: $${g.memory.toFixed(4)}</div>
63
+ <div class="text-muted mt-1">Total: $${g.totalCost.toFixed(4)}</div>
64
+ <div class="text-muted">${g.calls} calls</div>
65
+ </div>`};return(g,d)=>{const v=oe,$=Qe,A=Le;return y(),S(A,{ref_key:"cardRef",ref:s,ui:{root:"overflow-visible",body:"!px-0 !pt-0 !pb-3"}},Re({default:x(()=>[t.data.length===0?(y(),L("div",dn," No usage data ")):(y(),S(f(Dt),{key:1,data:t.data,padding:{top:10,left:10,right:10,bottom:10},class:"h-64",width:f(l)},{default:x(()=>[w(f(Kt),{x:i,y:n,color:"var(--ui-primary)",opacity:.1}),w(f(Yt),{x:i,y:n,color:"var(--ui-primary)"}),w(f(Ft),{type:"x",x:i,"tick-format":r}),w(f(Et),{color:"var(--ui-primary)",template:h}),w(f(Ot))]),_:1},8,["data","width"]))]),_:2},[t.title?{name:"header",fn:x(()=>[p("div",ln,[p("div",rn,[p("p",un,R(t.title),1),w($,null,{default:x(()=>[w(v,{color:t.granularity==="daily"?"primary":"neutral",variant:t.granularity==="daily"?"solid":"ghost",size:"xs",onClick:d[0]||(d[0]=c=>o("update:granularity","daily"))},{default:x(()=>[...d[2]||(d[2]=[O(" Daily ",-1)])]),_:1},8,["color","variant"]),w(v,{color:t.granularity==="hourly"?"primary":"neutral",variant:t.granularity==="hourly"?"solid":"ghost",size:"xs",onClick:d[1]||(d[1]=c=>o("update:granularity","hourly"))},{default:x(()=>[...d[3]||(d[3]=[O(" Hourly ",-1)])]),_:1},8,["color","variant"])]),_:1})]),d[4]||(d[4]=p("div",{class:"flex items-center gap-3 text-xs text-muted"},[p("span",{class:"flex items-center gap-1"},[p("span",{class:"inline-block size-2.5 rounded-full",style:{background:"var(--ui-primary)"}}),O(" Chat ")]),p("span",{class:"flex items-center gap-1"},[p("span",{class:"inline-block size-2.5 rounded-full",style:{background:"var(--ui-warning)"}}),O(" Agents ")]),p("span",{class:"flex items-center gap-1"},[p("span",{class:"inline-block size-2.5 rounded-full",style:{background:"var(--ui-info)"}}),O(" Memory ")])],-1))])]),key:"0"}:void 0]),1536)}}}),fn=Object.assign(Xt(cn,[["__scopeId","data-v-7a7c5d4b"]]),{__name:"UsageCostChart"}),gn={class:"text-sm font-medium"},mn={key:0,class:"flex items-center justify-center h-64 text-muted"},pn={key:1,class:"flex items-center gap-6"},vn={class:"flex-1 space-y-3"},hn={class:"flex items-center gap-2"},yn={class:"text-sm font-medium"},_n={class:"text-right"},bn={class:"text-sm font-semibold"},xn={class:"text-xs text-muted ml-2"},Cn=q({__name:"UsageSourceDonut.client",props:{data:{},title:{}},setup(t){const a=t,e={chat:"Chat",agent:"Agents",memory_extraction:"Memory"},o={chat:"var(--ui-primary)",agent:"var(--ui-warning)",memory_extraction:"var(--ui-info)"},s=n=>n.cost,l=n=>o[n.source]||"var(--ui-neutral)",i=B(()=>a.data.reduce((n,u)=>n+u.cost,0));return(n,u)=>{const r=Le;return y(),S(r,null,Re({default:x(()=>[t.data.length===0?(y(),L("div",mn," No usage data ")):(y(),L("div",pn,[w(f(Fa),{data:t.data,class:"h-48 w-48 shrink-0"},{default:x(()=>[w(f(Oa),{value:s,color:l,"arc-width":30,"pad-angle":.02,"corner-radius":3})]),_:1},8,["data"]),p("div",vn,[(y(!0),L(ie,null,_e(t.data,h=>(y(),L("div",{key:h.source,class:"flex items-center justify-between"},[p("div",hn,[p("span",{class:"inline-block size-3 rounded-full",style:yt({background:o[h.source]})},null,4),p("span",yn,R(e[h.source]),1)]),p("div",_n,[p("span",bn,"$"+R(h.cost.toFixed(2)),1),p("span",xn,R(f(i)>0?Math.round(h.cost/f(i)*100):0)+"% ",1)])]))),128))])]))]),_:2},[t.title?{name:"header",fn:x(()=>[p("p",gn,R(t.title),1)]),key:"0"}:void 0]),1024)}}}),$n=Object.assign(Cn,{__name:"UsageSourceDonut"}),kn={class:"text-sm font-medium"},An={key:0,class:"flex items-center justify-center h-32 text-muted"},wn={key:1,class:"divide-y divide-default"},Pn={class:"flex items-center gap-3 min-w-0"},Rn={class:"text-sm text-muted w-5 text-right shrink-0"},Sn={class:"min-w-0"},Ln={class:"text-sm font-medium truncate"},zn={class:"text-right shrink-0 ml-4"},Tn={class:"text-sm font-semibold"},Nn={class:"text-xs text-muted"},Un=q({__name:"UsageTopConsumers",props:{data:{},title:{}},setup(t){const a={chat:"Chat",agent:"Agent",memory_extraction:"Memory"},e={chat:"primary",agent:"warning",memory_extraction:"info"};function o(s){return s<.01&&s>0?"<$0.01":`$${s.toFixed(4)}`}return(s,l)=>{const i=tt,n=Le;return y(),S(n,null,Re({default:x(()=>[t.data.length===0?(y(),L("div",An," No usage data ")):(y(),L("div",wn,[(y(!0),L(ie,null,_e(t.data,(u,r)=>(y(),L("div",{key:`${u.source}-${u.name}`,class:se(["flex items-center justify-between py-2.5",{"pt-0":r===0}])},[p("div",Pn,[p("span",Rn,R(r+1),1),p("div",Sn,[p("p",Ln,R(u.name),1),w(i,{color:e[u.source],variant:"subtle",size:"xs"},{default:x(()=>[O(R(a[u.source]),1)]),_:2},1032,["color"])])]),p("div",zn,[p("p",Tn,R(o(u.cost)),1),p("p",Nn,R(u.calls)+" "+R(u.calls===1?"call":"calls"),1)])],2))),128))]))]),_:2},[t.title?{name:"header",fn:x(()=>[p("p",kn,R(t.title),1)]),key:"0"}:void 0]),1024)}}}),Mn=Object.assign(Un,{__name:"UsageTopConsumers"}),qn={slots:{root:"",list:"flex items-center gap-1",ellipsis:"pointer-events-none",label:"min-w-5 text-center",first:"",prev:"",item:"",next:"",last:""}},In={__name:"UPagination",props:{as:{type:null,required:!1},firstIcon:{type:null,required:!1},prevIcon:{type:null,required:!1},nextIcon:{type:null,required:!1},lastIcon:{type:null,required:!1},ellipsisIcon:{type:null,required:!1},color:{type:null,required:!1,default:"neutral"},variant:{type:null,required:!1,default:"outline"},activeColor:{type:null,required:!1,default:"primary"},activeVariant:{type:null,required:!1,default:"solid"},showControls:{type:Boolean,required:!1,default:!0},size:{type:null,required:!1},to:{type:Function,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1},defaultPage:{type:Number,required:!1},disabled:{type:Boolean,required:!1},itemsPerPage:{type:Number,required:!1,default:10},page:{type:Number,required:!1},showEdges:{type:Boolean,required:!1,default:!1},siblingCount:{type:Number,required:!1,default:2},total:{type:Number,required:!1,default:0}},emits:["update:page"],setup(t,{emit:a}){const e=t,o=a,s=_t(),{dir:l}=bt(),i=xt(),n=Ct($t(e,"as","defaultPage","disabled","itemsPerPage","page","showEdges","siblingCount","total"),o),u=B(()=>e.firstIcon||(l.value==="rtl"?i.ui.icons.chevronDoubleRight:i.ui.icons.chevronDoubleLeft)),r=B(()=>e.prevIcon||(l.value==="rtl"?i.ui.icons.chevronRight:i.ui.icons.chevronLeft)),h=B(()=>e.nextIcon||(l.value==="rtl"?i.ui.icons.chevronLeft:i.ui.icons.chevronRight)),g=B(()=>e.lastIcon||(l.value==="rtl"?i.ui.icons.chevronDoubleLeft:i.ui.icons.chevronDoubleRight)),d=B(()=>Fe({extend:Fe(qn),...i.ui?.pagination||{}})());return(v,$)=>(y(),S(f(la),le(f(n),{"data-slot":"root",class:d.value.root({class:[e.ui?.root,e.class]})}),{default:x(({page:A,pageCount:c})=>[w(f(ma),{"data-slot":"list",class:se(d.value.list({class:e.ui?.list}))},{default:x(({items:z})=>[t.showControls||s.first?(y(),S(f(ra),{key:0,"as-child":"","data-slot":"first",class:se(d.value.first({class:e.ui?.first}))},{default:x(()=>[E(v.$slots,"first",{},()=>[w(oe,{color:t.color,variant:t.variant,size:t.size,icon:u.value,to:t.to?.(1)},null,8,["color","variant","size","icon","to"])])]),_:3},8,["class"])):J("",!0),t.showControls||s.prev?(y(),S(f(ba),{key:1,"as-child":"","data-slot":"prev",class:se(d.value.prev({class:e.ui?.prev}))},{default:x(()=>[E(v.$slots,"prev",{},()=>[w(oe,{color:t.color,variant:t.variant,size:t.size,icon:r.value,to:A>1?t.to?.(A-1):void 0},null,8,["color","variant","size","icon","to"])])]),_:2},1032,["class"])):J("",!0),(y(!0),L(ie,null,_e(z,(P,_)=>(y(),L(ie,{key:_},[P.type==="page"?(y(),S(f(va),{key:0,"as-child":"",value:P.value,"data-slot":"item",class:se(d.value.item({class:e.ui?.item}))},{default:x(()=>[E(v.$slots,"item",le({ref_for:!0},{item:P,index:_,page:A,pageCount:c}),()=>[w(oe,{color:A===P.value?t.activeColor:t.color,variant:A===P.value?t.activeVariant:t.variant,size:t.size,label:String(P.value),ui:{label:d.value.label()},to:t.to?.(P.value),square:""},null,8,["color","variant","size","label","ui","to"])])]),_:2},1032,["value","class"])):(y(),S(f(na),{key:1,"as-child":"","data-slot":"ellipsis",class:se(d.value.ellipsis({class:e.ui?.ellipsis}))},{default:x(()=>[E(v.$slots,"ellipsis",{ui:d.value},()=>[w(oe,{as:"div",color:t.color,variant:t.variant,size:t.size,icon:t.ellipsisIcon||f(i).ui.icons.ellipsis},null,8,["color","variant","size","icon"])])]),_:3},8,["class"]))],64))),128)),t.showControls||s.next?(y(),S(f(ya),{key:2,"as-child":"","data-slot":"next",class:se(d.value.next({class:e.ui?.next}))},{default:x(()=>[E(v.$slots,"next",{},()=>[w(oe,{color:t.color,variant:t.variant,size:t.size,icon:h.value,to:A<c?t.to?.(A+1):void 0},null,8,["color","variant","size","icon","to"])])]),_:2},1032,["class"])):J("",!0),t.showControls||s.last?(y(),S(f(da),{key:3,"as-child":"","data-slot":"last",class:se(d.value.last({class:e.ui?.last}))},{default:x(()=>[E(v.$slots,"last",{},()=>[w(oe,{color:t.color,variant:t.variant,size:t.size,icon:g.value,to:t.to?.(c)},null,8,["color","variant","size","icon","to"])])]),_:2},1032,["class"])):J("",!0)]),_:2},1032,["class"])]),_:3},16,["class"]))}},Dn={class:"flex items-center justify-between flex-wrap gap-3"},Fn={class:"flex items-center gap-2"},En={class:"flex items-center gap-2"},On={key:0},Bn={key:1,class:"flex flex-col items-center justify-center h-32 text-muted"},jn=["title"],Gn={class:"text-sm text-muted"},Wn={class:"text-sm text-muted"},Hn={class:"text-sm font-medium"},Vn={class:"text-sm text-muted"},Kn={class:"text-sm text-muted"},Yn={class:"flex justify-center"},Me="__all__",We=20,Xn=q({__name:"UsageRecordsTable",props:{period:{}},setup(t){const a=t,e={chat:"Chat",agent:"Agent",memory_extraction:"Memory"},o={chat:"primary",agent:"warning",memory_extraction:"info"},s=V(Me),l=V(""),i=V(1),n=V([]),u=V(0),r=V(0),h=V(!1),g=[{value:Me,label:"All Sources"},{value:"chat",label:"Chat"},{value:"agent",label:"Agents"},{value:"memory_extraction",label:"Memory"}],d=[{accessorKey:"source",header:"Source"},{accessorKey:"sourceName",header:"Name"},{accessorKey:"inputTokens",header:"Input"},{accessorKey:"outputTokens",header:"Output"},{accessorKey:"costUsd",header:"Cost"},{accessorKey:"durationMs",header:"Duration"},{accessorKey:"createdAt",header:"Time"}];async function v(){h.value=!0;try{const _={period:a.period,page:i.value,limit:We};s.value!==Me&&(_.source=s.value),l.value.trim()&&(_.search=l.value.trim());const b=await $fetch("/api/usage",{query:_});n.value=b.data,u.value=b.pagination.total,r.value=b.pagination.totalPages}catch{}finally{h.value=!1}}const $=kt(()=>{i.value=1,v()},300);te(s,()=>{i.value=1,v()}),te(l,$),te(i,v),te(()=>a.period,()=>{i.value=1,v()});function A(_){return _<1e-4&&_>0?"<$0.0001":`$${_.toFixed(4)}`}function c(_){return _>=1e6?`${(_/1e6).toFixed(1)}M`:_>=1e3?`${(_/1e3).toFixed(1)}K`:String(_)}function z(_){return _?_<1e3?`${_}ms`:_<6e4?`${(_/1e3).toFixed(1)}s`:`${(_/6e4).toFixed(1)}m`:"-"}function P(_){return ea(new Date(_),{addSuffix:!0})}return Ie(v),(_,b)=>{const T=tt,N=Jt,j=Qt,G=Ze,U=Zt,I=In,D=Le;return y(),S(D,null,Re({header:x(()=>[p("div",Dn,[p("div",Fn,[b[3]||(b[3]=p("p",{class:"text-sm font-medium"}," Usage Records ",-1)),f(u)>0?(y(),S(T,{key:0,color:"neutral",variant:"subtle"},{default:x(()=>[O(R(f(u)),1)]),_:1})):J("",!0)]),p("div",En,[w(N,{modelValue:f(s),"onUpdate:modelValue":b[0]||(b[0]=m=>we(s)?s.value=m:null),items:g,"value-key":"value",class:"w-36",size:"sm"},null,8,["modelValue"]),w(j,{modelValue:f(l),"onUpdate:modelValue":b[1]||(b[1]=m=>we(l)?l.value=m:null),placeholder:"Search name...",icon:"i-lucide-search",class:"w-48",size:"sm"},null,8,["modelValue"])])])]),default:x(()=>[f(h)&&f(n).length===0?(y(),L("div",On,[(y(),L(ie,null,_e(5,m=>w(G,{key:m,class:"h-10 w-full mb-2"})),64))])):f(n).length===0?(y(),L("div",Bn,[...b[4]||(b[4]=[p("p",{class:"text-sm"}," No records found ",-1)])])):(y(),S(U,{key:2,data:f(n),columns:d,loading:f(h)},{"source-cell":x(({row:m})=>[w(T,{color:o[m.original.source],variant:"subtle",size:"sm"},{default:x(()=>[O(R(e[m.original.source]||m.original.source),1)]),_:2},1032,["color"])]),"sourceName-cell":x(({row:m})=>[p("span",{class:"text-sm truncate max-w-48 inline-block",title:m.original.sourceName},R(m.original.sourceName||"-"),9,jn)]),"inputTokens-cell":x(({row:m})=>[p("span",Gn,R(c(m.original.inputTokens)),1)]),"outputTokens-cell":x(({row:m})=>[p("span",Wn,R(c(m.original.outputTokens)),1)]),"costUsd-cell":x(({row:m})=>[p("span",Hn,R(A(m.original.costUsd)),1)]),"durationMs-cell":x(({row:m})=>[p("span",Vn,R(z(m.original.durationMs)),1)]),"createdAt-cell":x(({row:m})=>[p("span",Kn,R(P(m.original.createdAt)),1)]),_:1},8,["data","loading"]))]),_:2},[f(r)>1?{name:"footer",fn:x(()=>[p("div",Yn,[w(I,{page:f(i),"onUpdate:page":b[2]||(b[2]=m=>we(i)?i.value=m:null),total:f(u),"items-per-page":We,"sibling-count":1,"show-edges":""},null,8,["page","total"])])]),key:"0"}:void 0]),1024)}}}),Jn=Object.assign(Xn,{__name:"UsageRecordsTable"}),Qn=et(fn),Zn=et($n),es={class:"contents"},ts={class:"p-4 space-y-6"},as={class:"grid gap-6 lg:grid-cols-2"},ns={key:2,class:"flex flex-col items-center justify-center h-64 text-muted"},qs=q({__name:"usage",setup(t){const{usageStatsPeriod:a}=ta(),e=V(a.value),o=V("daily"),s=V(null),l=V(!1),i=[{label:"24h",value:"24h"},{label:"7d",value:"7d"},{label:"30d",value:"30d"}];async function n(){l.value=!0;try{const u=await $fetch("/api/usage/stats",{query:{period:e.value,granularity:o.value,tzOffset:new Date().getTimezoneOffset()}});s.value=u.data}catch{}finally{l.value=!1}}return te(e,u=>{a.value=u,n()}),te(o,()=>{n()}),Ie(()=>{n()}),(u,r)=>{const h=oe,g=Qe,d=jt,v=on,$=Qn,A=Zn,c=Mn,z=Jn,P=Ke,_=Bt;return y(),L("div",es,[w(_,{id:"usage",grow:""},{header:x(()=>[w(d,{title:"Token Usage"},{right:x(()=>[w(g,null,{default:x(()=>[(y(),L(ie,null,_e(i,b=>w(h,{key:b.value,color:f(e)===b.value?"primary":"neutral",variant:f(e)===b.value?"solid":"ghost",size:"sm",onClick:T=>e.value=b.value},{default:x(()=>[O(R(b.label),1)]),_:2},1032,["color","variant","onClick"])),64))]),_:1})]),_:1})]),body:x(()=>[p("div",ts,[w(v,{stats:f(s),loading:f(l)},null,8,["stats","loading"]),f(s)&&f(s).dailyUsage.length>0?(y(),S($,{key:0,granularity:f(o),"onUpdate:granularity":r[0]||(r[0]=b=>we(o)?o.value=b:null),data:f(s).dailyUsage,title:"Cost Over Time"},null,8,["granularity","data"])):J("",!0),p("div",as,[f(s)&&f(s).bySource.length>0?(y(),S(A,{key:0,data:f(s).bySource,title:"Cost by Source"},null,8,["data"])):J("",!0),f(s)&&f(s).topConsumers.length>0?(y(),S(c,{key:1,data:f(s).topConsumers,title:"Top Consumers"},null,8,["data"])):J("",!0)]),f(s)&&f(s).totalCalls>0?(y(),S(z,{key:1,period:f(e)},null,8,["period"])):J("",!0),!f(l)&&f(s)&&f(s).totalCalls===0?(y(),L("div",ns,[w(P,{name:"i-lucide-bar-chart-3",class:"size-12 mb-4"}),r[1]||(r[1]=p("p",{class:"text-lg font-medium"}," No usage data yet ",-1)),r[2]||(r[2]=p("p",{class:"text-sm mt-1"}," Token usage will appear here once you start using chat or agents ",-1))])):J("",!0)])]),_:1})])}}});export{qs as default};
@@ -1 +1 @@
1
- import{N as f,c as b,G as l,R as h,a3 as a,U as i,aj as r}from"./BaPPQtFe.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
+ import{N as f,c as b,G as l,R as h,a3 as a,U as i,aj as r}from"./BxXOsXrM.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};