cognova 0.2.13 → 0.2.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (386) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/-mGU8_Hv.js +1 -0
  3. package/.output/public/_nuxt/0GqCtQ9S.js +1 -0
  4. package/.output/public/_nuxt/{DFpmIy6J.js → 1wCoXZ14.js} +1 -1
  5. package/.output/public/_nuxt/2J1KxdHv.js +1 -0
  6. package/.output/public/_nuxt/6VDUZECX.js +1 -0
  7. package/.output/public/_nuxt/{C7m9zGMG.js → 8WMJQbWG.js} +1 -1
  8. package/.output/public/_nuxt/9Rw88G6h.js +1 -0
  9. package/.output/public/_nuxt/{BjsKx597.js → B-yW4SD3.js} +1 -1
  10. package/.output/public/_nuxt/B20jNAhm.js +1 -0
  11. package/.output/public/_nuxt/B3OpTH_e.js +1 -0
  12. package/.output/public/_nuxt/B9Y3_B5G.js +1 -0
  13. package/.output/public/_nuxt/B9_vmatf.js +1 -0
  14. package/.output/public/_nuxt/B9o6sFST.js +1 -0
  15. package/.output/public/_nuxt/{CseYuM6E.js → BAY3_Hrq.js} +1 -1
  16. package/.output/public/_nuxt/{B_9zJTqe.js → BD5rPkc2.js} +3 -3
  17. package/.output/public/_nuxt/BGYoW3kO.js +1 -0
  18. package/.output/public/_nuxt/BHUy5EAj.js +1 -0
  19. package/.output/public/_nuxt/BLdMRpJD.js +1 -0
  20. package/.output/public/_nuxt/{D6tVZcRs.js → BOCn_SGf.js} +12 -12
  21. package/.output/public/_nuxt/BQi8LIrn.js +1 -0
  22. package/.output/public/_nuxt/BS1t375R.js +1 -0
  23. package/.output/public/_nuxt/BTGeP1bA.js +1 -0
  24. package/.output/public/_nuxt/{pdYvpiud.js → BVYYP4eQ.js} +5 -5
  25. package/.output/public/_nuxt/BWQ7zE01.js +1 -0
  26. package/.output/public/_nuxt/BWqJInD3.js +1 -0
  27. package/.output/public/_nuxt/BXdQ9ASJ.js +1 -0
  28. package/.output/public/_nuxt/{DQhm-UPG.js → BXxZokD_.js} +2 -2
  29. package/.output/public/_nuxt/BZ7DAtPi.js +1 -0
  30. package/.output/public/_nuxt/BZm9w7en.js +1 -0
  31. package/.output/public/_nuxt/B_hNqC64.js +1 -0
  32. package/.output/public/_nuxt/Be47YE2L.js +1 -0
  33. package/.output/public/_nuxt/BgIS9_ti.js +39 -0
  34. package/.output/public/_nuxt/BgavRUl_.js +1 -0
  35. package/.output/public/_nuxt/Bh0yGTzr.js +1 -0
  36. package/.output/public/_nuxt/BhhMUror.js +1 -0
  37. package/.output/public/_nuxt/Bj5e7QPz.js +1 -0
  38. package/.output/public/_nuxt/{9kAKMaPC.js → Bnn59-FS.js} +1 -1
  39. package/.output/public/_nuxt/BoCU3mWu.js +1 -0
  40. package/.output/public/_nuxt/Br6epbzY.js +1 -0
  41. package/.output/public/_nuxt/Br81Sr2R.js +1 -0
  42. package/.output/public/_nuxt/BrkEOLHu.js +9 -0
  43. package/.output/public/_nuxt/BtrNCc2S.js +1 -0
  44. package/.output/public/_nuxt/BxsQlbgl.js +1 -0
  45. package/.output/public/_nuxt/BzrhNhdT.js +1 -0
  46. package/.output/public/_nuxt/{B-DMcEU9.js → C-78dDNd.js} +1 -1
  47. package/.output/public/_nuxt/C1oaoi1p.js +1 -0
  48. package/.output/public/_nuxt/C2-_hcwB.js +1 -0
  49. package/.output/public/_nuxt/{TxMdabnL.js → C2Gh3qqr.js} +1 -1
  50. package/.output/public/_nuxt/C2OHaW6l.js +1 -0
  51. package/.output/public/_nuxt/C3szZmvA.js +1 -0
  52. package/.output/public/_nuxt/C3xzleKP.js +1 -0
  53. package/.output/public/_nuxt/C4sG6rdW.js +1 -0
  54. package/.output/public/_nuxt/C5Cu9Fx6.js +1 -0
  55. package/.output/public/_nuxt/{LRO7YHoH.js → C5gfF7J1.js} +1 -1
  56. package/.output/public/_nuxt/C6Eoiclo.js +1 -0
  57. package/.output/public/_nuxt/C7hFztZL.js +1 -0
  58. package/.output/public/_nuxt/CAVUAxNU.js +2 -0
  59. package/.output/public/_nuxt/{CiNxIhaq.js → CCeM5lW2.js} +1 -1
  60. package/.output/public/_nuxt/CDcQ31Eh.js +1 -0
  61. package/.output/public/_nuxt/CHbHVtCy.js +1 -0
  62. package/.output/public/_nuxt/CHnVFnBW.js +1 -0
  63. package/.output/public/_nuxt/CLNcmNQS.js +1 -0
  64. package/.output/public/_nuxt/{D7N3EZ-I.js → CPwCTHun.js} +1 -1
  65. package/.output/public/_nuxt/{CFmvNggn.js → CS8SdmH2.js} +1 -1
  66. package/.output/public/_nuxt/CTGm_mc8.js +1 -0
  67. package/.output/public/_nuxt/{DNcOC5zj.js → CTQFGHjS.js} +1 -1
  68. package/.output/public/_nuxt/{B0nzD8Sk.js → CVVtVzXC.js} +1 -1
  69. package/.output/public/_nuxt/CZNOaqeX.js +1 -0
  70. package/.output/public/_nuxt/C_A_NkeC.js +2 -0
  71. package/.output/public/_nuxt/{CGplHfmR.js → C_doutX-.js} +1 -1
  72. package/.output/public/_nuxt/{BrX-PnSK.js → CbDLhrNA.js} +2 -2
  73. package/.output/public/_nuxt/CePKCqSb.js +1 -0
  74. package/.output/public/_nuxt/Cet4T_yO.js +1 -0
  75. package/.output/public/_nuxt/{C6OSRpRd.js → CjJPkhbc.js} +1 -1
  76. package/.output/public/_nuxt/CkZT4LGq.js +1 -0
  77. package/.output/public/_nuxt/CkrW8sGL.js +1 -0
  78. package/.output/public/_nuxt/Co0UxVsx.js +1 -0
  79. package/.output/public/_nuxt/CqS0zXYQ.js +1 -0
  80. package/.output/public/_nuxt/CskGv_Km.js +1 -0
  81. package/.output/public/_nuxt/{DuzpliIL.js → CuvkTsqs.js} +1 -1
  82. package/.output/public/_nuxt/{B2wI_pYg.js → CxMuZEwX.js} +1 -1
  83. package/.output/public/_nuxt/{9O1MXkck.js → CxSijT71.js} +8 -8
  84. package/.output/public/_nuxt/Cywo6tZI.js +1 -0
  85. package/.output/public/_nuxt/D1reIfpX.js +1 -0
  86. package/.output/public/_nuxt/D1uV2uir.js +1 -0
  87. package/.output/public/_nuxt/{BWuL2CzO.js → D2edadpd.js} +1 -1
  88. package/.output/public/_nuxt/D3cEeQh7.js +1 -0
  89. package/.output/public/_nuxt/D41A2mE2.js +1 -0
  90. package/.output/public/_nuxt/D49P2RhG.js +1 -0
  91. package/.output/public/_nuxt/D867g6Ds.js +1 -0
  92. package/.output/public/_nuxt/DEFWIjWl.js +1 -0
  93. package/.output/public/_nuxt/DFTEBTzZ.js +1 -0
  94. package/.output/public/_nuxt/{-HePz7lp.js → DHRexj9X.js} +2 -2
  95. package/.output/public/_nuxt/DL4EpgqQ.js +1 -0
  96. package/.output/public/_nuxt/DLHnP6tw.js +1 -0
  97. package/.output/public/_nuxt/DM20WaLq.js +1 -0
  98. package/.output/public/_nuxt/{B8DFEjxA.js → DNAMjHbb.js} +1 -1
  99. package/.output/public/_nuxt/{CLkkdThv.js → DP8t9VWs.js} +24 -24
  100. package/.output/public/_nuxt/DTR31rjp.js +1 -0
  101. package/.output/public/_nuxt/{Bc8bTnkd.js → DTlSLSo1.js} +3 -3
  102. package/.output/public/_nuxt/{DowkFZ2V.js → DVdnhfXT.js} +1 -1
  103. package/.output/public/_nuxt/{DvHS7_h2.js → DZikIgHK.js} +1 -1
  104. package/.output/public/_nuxt/D_YGqvw_.js +1 -0
  105. package/.output/public/_nuxt/D_k1YwXm.js +1 -0
  106. package/.output/public/_nuxt/Daf2MbWG.js +7 -0
  107. package/.output/public/_nuxt/DcJ0GstJ.js +1 -0
  108. package/.output/public/_nuxt/DcYKh6QA.js +1 -0
  109. package/.output/public/_nuxt/DhN3_DYH.js +1 -0
  110. package/.output/public/_nuxt/DhSvBSt3.js +1 -0
  111. package/.output/public/_nuxt/DhlIWT8K.js +1 -0
  112. package/.output/public/_nuxt/DjsqyRqt.js +1 -0
  113. package/.output/public/_nuxt/DpSM97eH.js +1 -0
  114. package/.output/public/_nuxt/DqR9SdeU.js +1 -0
  115. package/.output/public/_nuxt/DqmQtg6Y.js +1 -0
  116. package/.output/public/_nuxt/Dsuag_iW.js +1 -0
  117. package/.output/public/_nuxt/Dtr_0IbE.js +1 -0
  118. package/.output/public/_nuxt/DwrmFEZN.js +1 -0
  119. package/.output/public/_nuxt/DxE8r3r4.js +1 -0
  120. package/.output/public/_nuxt/G_CsVlOR.js +1 -0
  121. package/.output/public/_nuxt/Gyw_2f6x.js +1 -0
  122. package/.output/public/_nuxt/HStC1ZyE.js +1 -0
  123. package/.output/public/_nuxt/Hh9mv0Ek.js +1 -0
  124. package/.output/public/_nuxt/LR0kCjbe.js +1 -0
  125. package/.output/public/_nuxt/MYeLvJGV.js +1 -0
  126. package/.output/public/_nuxt/NKs0EGrh.js +1 -0
  127. package/.output/public/_nuxt/PY5EGujn.js +1 -0
  128. package/.output/public/_nuxt/PamJNol9.js +1 -0
  129. package/.output/public/_nuxt/RlvwEbHv.js +1 -0
  130. package/.output/public/_nuxt/{BghuwIGa.js → TNpdJOlc.js} +1 -1
  131. package/.output/public/_nuxt/TSYrPbLR.js +1 -0
  132. package/.output/public/_nuxt/U-eBrbR4.js +1 -0
  133. package/.output/public/_nuxt/UuqXScSw.js +1 -0
  134. package/.output/public/_nuxt/V04-MrLN.js +1 -0
  135. package/.output/public/_nuxt/X0o5GcBb.js +1 -0
  136. package/.output/public/_nuxt/XQNzmQy9.js +1 -0
  137. package/.output/public/_nuxt/Y59XKprr.js +1 -0
  138. package/.output/public/_nuxt/YZQjZgsH.js +1 -0
  139. package/.output/public/_nuxt/_-TGPiLQ.js +1 -0
  140. package/.output/public/_nuxt/builds/latest.json +1 -1
  141. package/.output/public/_nuxt/builds/meta/d7188f50-b42c-4d2c-afab-066d318f0af8.json +1 -0
  142. package/.output/public/_nuxt/dashboard.ByJQ-Wzh.css +1 -0
  143. package/.output/public/_nuxt/entry.ZJxWCrU6.css +1 -0
  144. package/.output/public/_nuxt/{D12qPplu.js → hCeWb_38.js} +1 -1
  145. package/.output/public/_nuxt/{sBzyvWMJ.js → hrPTRWjM.js} +1 -1
  146. package/.output/public/_nuxt/jC4pIK1p.js +1 -0
  147. package/.output/public/_nuxt/jTT1R-Vz.js +1 -0
  148. package/.output/public/_nuxt/{CRRw0Thu.js → kkAMoB43.js} +1 -1
  149. package/.output/public/_nuxt/{h_bXa-f2.js → mzM4BGtv.js} +1 -1
  150. package/.output/public/_nuxt/o-s8JBm2.js +1 -0
  151. package/.output/public/_nuxt/pwJTkIQ4.js +1 -0
  152. package/.output/public/_nuxt/{BL1mkqgd.js → rIgg2Arf.js} +3 -3
  153. package/.output/public/_nuxt/subdxgSQ.js +1 -0
  154. package/.output/public/_nuxt/t8B72leH.js +1 -0
  155. package/.output/public/_nuxt/vCFAHwdt.js +1 -0
  156. package/.output/public/_nuxt/z-MP0bB7.js +1 -0
  157. package/.output/server/chunks/build/CodeIcon-CWD5HcV7.mjs +1 -1
  158. package/.output/server/chunks/build/DropdownMenu-BBrV9nXz.mjs +1 -1
  159. package/.output/server/chunks/build/{EditorToolbar-DIfb5arC.mjs → EditorToolbar-B9OwSI5e.mjs} +3 -3
  160. package/.output/server/chunks/build/{EditorToolbar-DIfb5arC.mjs.map → EditorToolbar-B9OwSI5e.mjs.map} +1 -1
  161. package/.output/server/chunks/build/Img-CWLmvN1t.mjs +1 -1
  162. package/.output/server/chunks/build/MDC-Dx0YPDhe.mjs +1 -1
  163. package/.output/server/chunks/build/Select-BB1oLrCD.mjs +1 -1
  164. package/.output/server/chunks/build/SelectMenu-DPssg6zD.mjs +1 -1
  165. package/.output/server/chunks/build/Table-DCwTlhCj.mjs +1 -1
  166. package/.output/server/chunks/build/Tooltip-TRyl6dje.mjs +1 -1
  167. package/.output/server/chunks/build/Tree-DUhXKd8y.mjs +1 -1
  168. package/.output/server/chunks/build/{_id_-DN00UDdO.mjs → _id_-CwBeklIM.mjs} +296 -430
  169. package/.output/server/chunks/build/_id_-CwBeklIM.mjs.map +1 -0
  170. package/.output/server/chunks/build/{_name_-BnS_KEfX.mjs → _name_-D7MtW4Vu.mjs} +2 -2
  171. package/.output/server/chunks/build/{_name_-BnS_KEfX.mjs.map → _name_-D7MtW4Vu.mjs.map} +1 -1
  172. package/.output/server/chunks/build/{_uuid_-DfJaumTE.mjs → _uuid_-lvG92ein.mjs} +4 -4
  173. package/.output/server/chunks/build/{_uuid_-DfJaumTE.mjs.map → _uuid_-lvG92ein.mjs.map} +1 -1
  174. package/.output/server/chunks/build/account-LDZ4TL6x.mjs +513 -0
  175. package/.output/server/chunks/build/account-LDZ4TL6x.mjs.map +1 -0
  176. package/.output/server/chunks/build/app-CGhRZPNT.mjs +252 -0
  177. package/.output/server/chunks/build/app-CGhRZPNT.mjs.map +1 -0
  178. package/.output/server/chunks/build/{chat-m4-n9vC6.mjs → chat-BphuYhvA.mjs} +18 -27
  179. package/.output/server/chunks/build/chat-BphuYhvA.mjs.map +1 -0
  180. package/.output/server/chunks/build/client.precomputed.mjs +1 -1
  181. package/.output/server/chunks/build/cookie-C_iulBi6.mjs +1 -1
  182. package/.output/server/chunks/build/{dashboard-CiVTAZuF.mjs → dashboard-nDujDyOg.mjs} +55 -16
  183. package/.output/server/chunks/build/{dashboard-CiVTAZuF.mjs.map → dashboard-nDujDyOg.mjs.map} +1 -1
  184. package/.output/server/chunks/build/{docs-ChGwOPg5.mjs → docs-Bwucwp0r.mjs} +664 -592
  185. package/.output/server/chunks/build/docs-Bwucwp0r.mjs.map +1 -0
  186. package/.output/server/chunks/build/fetch-BB7Qzkwe.mjs +1 -1
  187. package/.output/server/chunks/build/{hooks-D328DcO6.mjs → hooks-D6PmTth8.mjs} +19 -29
  188. package/.output/server/chunks/build/hooks-D6PmTth8.mjs.map +1 -0
  189. package/.output/server/chunks/build/{index-CAnGTRlu.mjs → index-CJkn2jiM.mjs} +2 -2
  190. package/.output/server/chunks/build/{index-CAnGTRlu.mjs.map → index-CJkn2jiM.mjs.map} +1 -1
  191. package/.output/server/chunks/build/index-CxDxc9fm.mjs +1 -1
  192. package/.output/server/chunks/build/index-Cz9Y6NwN.mjs +723 -0
  193. package/.output/server/chunks/build/index-Cz9Y6NwN.mjs.map +1 -0
  194. package/.output/server/chunks/build/index-hwhuKhuZ.mjs +76 -0
  195. package/.output/server/chunks/build/index-hwhuKhuZ.mjs.map +1 -0
  196. package/.output/server/chunks/build/integrations-D5JWURiJ.mjs +1499 -0
  197. package/.output/server/chunks/build/integrations-D5JWURiJ.mjs.map +1 -0
  198. package/.output/server/chunks/build/{library-Aeg7_Lsb.mjs → library-DxRdgP6X.mjs} +2 -2
  199. package/.output/server/chunks/build/{library-Aeg7_Lsb.mjs.map → library-DxRdgP6X.mjs.map} +1 -1
  200. package/.output/server/chunks/build/{login-DnnElTl2.mjs → login-BmER_VoU.mjs} +2 -2
  201. package/.output/server/chunks/build/{login-DnnElTl2.mjs.map → login-BmER_VoU.mjs.map} +1 -1
  202. package/.output/server/chunks/build/manage-secrets-BWzqc_-f.mjs +669 -0
  203. package/.output/server/chunks/build/manage-secrets-BWzqc_-f.mjs.map +1 -0
  204. package/.output/server/chunks/build/server.mjs +65 -34
  205. package/.output/server/chunks/build/server.mjs.map +1 -1
  206. package/.output/server/chunks/build/settings-neokAVE5.mjs +154 -0
  207. package/.output/server/chunks/build/settings-neokAVE5.mjs.map +1 -0
  208. package/.output/server/chunks/build/styles.mjs +2 -2
  209. package/.output/server/chunks/build/{tasks-DnAFqbtt.mjs → tasks-CnpIQNpS.mjs} +27 -37
  210. package/.output/server/chunks/build/tasks-CnpIQNpS.mjs.map +1 -0
  211. package/.output/server/chunks/build/{useAgents-DHEXiFSc.mjs → useAgents-nmbkB9-_.mjs} +5 -26
  212. package/.output/server/chunks/build/useAgents-nmbkB9-_.mjs.map +1 -0
  213. package/.output/server/chunks/build/{view-n2sYa4Zh.mjs → view-mb0ISqfM.mjs} +3 -3
  214. package/.output/server/chunks/build/{view-n2sYa4Zh.mjs.map → view-mb0ISqfM.mjs.map} +1 -1
  215. package/.output/server/chunks/nitro/nitro.mjs +1000 -858
  216. package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
  217. package/.output/server/chunks/routes/api/index.get.mjs +17 -2
  218. package/.output/server/chunks/routes/api/index.get.mjs.map +1 -1
  219. package/.output/server/chunks/routes/api/index.get3.mjs +21 -3
  220. package/.output/server/chunks/routes/api/index.get3.mjs.map +1 -1
  221. package/.output/server/chunks/routes/api/index.get4.mjs +10 -9
  222. package/.output/server/chunks/routes/api/index.get4.mjs.map +1 -1
  223. package/.output/server/chunks/routes/api/index.get9.mjs +10 -8
  224. package/.output/server/chunks/routes/api/index.get9.mjs.map +1 -1
  225. package/.output/server/chunks/routes/api/memory/search.get.mjs +10 -5
  226. package/.output/server/chunks/routes/api/memory/search.get.mjs.map +1 -1
  227. package/.output/server/chunks/routes/renderer.mjs +1 -1
  228. package/.output/server/index.mjs +1 -1
  229. package/.output/server/package.json +1 -1
  230. package/app/components/AssistantPanel.client.vue +16 -314
  231. package/app/components/agents/AgentCard.vue +111 -0
  232. package/app/components/agents/AgentInfoCard.vue +54 -0
  233. package/app/components/agents/AgentRunHistory.vue +103 -0
  234. package/app/components/agents/AgentRunModal.vue +1 -24
  235. package/app/components/agents/AgentStatsCards.vue +1 -26
  236. package/app/components/assistant/AssistantChat.vue +156 -0
  237. package/app/components/assistant/AssistantTerminal.client.vue +178 -0
  238. package/app/components/chat/ConversationList.vue +2 -12
  239. package/app/components/files/FileTree.vue +23 -202
  240. package/app/components/files/FileTreeModals.vue +226 -0
  241. package/app/components/hooks/HookStatsCards.vue +1 -6
  242. package/app/components/hooks/ToolBreakdownTable.vue +1 -6
  243. package/app/components/search/DashboardSearch.vue +38 -1
  244. package/app/components/tasks/TaskCard.vue +2 -7
  245. package/app/components/tasks/TaskDetail.vue +4 -9
  246. package/app/composables/useSearch.ts +21 -11
  247. package/app/layouts/dashboard.vue +1 -1
  248. package/app/pages/agents/[id].vue +6 -197
  249. package/app/pages/agents/index.vue +9 -142
  250. package/app/pages/settings/account.vue +243 -0
  251. package/app/pages/settings/app.vue +230 -0
  252. package/app/pages/settings/index.vue +12 -0
  253. package/app/pages/settings/integrations.vue +794 -0
  254. package/app/pages/settings/manage-secrets.vue +295 -0
  255. package/app/pages/settings.vue +20 -1581
  256. package/dist/cli/index.js +26 -2
  257. package/package.json +1 -1
  258. package/server/api/agents/index.get.ts +20 -1
  259. package/server/api/conversations/index.get.ts +23 -5
  260. package/server/api/documents/index.get.ts +11 -9
  261. package/server/api/memory/search.get.ts +11 -6
  262. package/server/api/tasks/index.get.ts +11 -9
  263. package/server/drizzle/migrations/0016_full_text_search.sql +127 -0
  264. package/server/drizzle/migrations/meta/_journal.json +7 -0
  265. package/shared/types/index.ts +7 -1
  266. package/shared/utils/formatting.ts +105 -0
  267. package/.output/public/_nuxt/4ALIM-zZ.js +0 -1
  268. package/.output/public/_nuxt/5sUbkh_6.js +0 -16
  269. package/.output/public/_nuxt/6bB8Ev7a.js +0 -1
  270. package/.output/public/_nuxt/7rT1DCe2.js +0 -1
  271. package/.output/public/_nuxt/B2PqR2Vu.js +0 -1
  272. package/.output/public/_nuxt/B5FuOh7E.js +0 -1
  273. package/.output/public/_nuxt/B6om4MW2.js +0 -1
  274. package/.output/public/_nuxt/B7ikW4eF.js +0 -1
  275. package/.output/public/_nuxt/B9kWNcU7.js +0 -1
  276. package/.output/public/_nuxt/BAZ8sewA.js +0 -1
  277. package/.output/public/_nuxt/BCPwL4ma.js +0 -1
  278. package/.output/public/_nuxt/BCrlmHh_.js +0 -1
  279. package/.output/public/_nuxt/BD-AFJWW.js +0 -1
  280. package/.output/public/_nuxt/BGcQMReV.js +0 -1
  281. package/.output/public/_nuxt/BNJJSRKh.js +0 -1
  282. package/.output/public/_nuxt/BNeeERBt.js +0 -1
  283. package/.output/public/_nuxt/BSJb5amZ.js +0 -1
  284. package/.output/public/_nuxt/BSsaE9Db.js +0 -1
  285. package/.output/public/_nuxt/BVO3XpHT.js +0 -1
  286. package/.output/public/_nuxt/B_Lr1vlV.js +0 -1
  287. package/.output/public/_nuxt/Bl0qBhCG.js +0 -1
  288. package/.output/public/_nuxt/Bl43dkDq.js +0 -1
  289. package/.output/public/_nuxt/BnMTFF5R.js +0 -1
  290. package/.output/public/_nuxt/BtV7oNn3.js +0 -1
  291. package/.output/public/_nuxt/BvFYnRMR.js +0 -1
  292. package/.output/public/_nuxt/BvTUBUNN.js +0 -1
  293. package/.output/public/_nuxt/ByLsRRoQ.js +0 -1
  294. package/.output/public/_nuxt/C1LcEMwB.js +0 -1
  295. package/.output/public/_nuxt/C2IiXp9N.js +0 -2
  296. package/.output/public/_nuxt/C796kFT9.js +0 -1
  297. package/.output/public/_nuxt/C8AtdrMH.js +0 -1
  298. package/.output/public/_nuxt/CAWbHTgy.js +0 -1
  299. package/.output/public/_nuxt/CJPrV25_.js +0 -1
  300. package/.output/public/_nuxt/CKKEWapF.js +0 -1
  301. package/.output/public/_nuxt/CNjv28J2.js +0 -1
  302. package/.output/public/_nuxt/CT8s4rqa.js +0 -1
  303. package/.output/public/_nuxt/CZSOrxUy.js +0 -1
  304. package/.output/public/_nuxt/CaNEL9JC.js +0 -39
  305. package/.output/public/_nuxt/CbTLg9oX.js +0 -1
  306. package/.output/public/_nuxt/CfCXpVn5.js +0 -1
  307. package/.output/public/_nuxt/ChmNlvWR.js +0 -1
  308. package/.output/public/_nuxt/Ck0QYdxe.js +0 -1
  309. package/.output/public/_nuxt/Ckb0pu4-.js +0 -1
  310. package/.output/public/_nuxt/CkwPRs1D.js +0 -1
  311. package/.output/public/_nuxt/CmEJg8C6.js +0 -2
  312. package/.output/public/_nuxt/CmL_vMJD.js +0 -1
  313. package/.output/public/_nuxt/Cq8zPxkT.js +0 -1
  314. package/.output/public/_nuxt/CxRnB4NC.js +0 -1
  315. package/.output/public/_nuxt/D0zMyG8n.js +0 -1
  316. package/.output/public/_nuxt/D1XYB283.js +0 -1
  317. package/.output/public/_nuxt/D2NxqyzW.js +0 -1
  318. package/.output/public/_nuxt/D5xyrvFu.js +0 -1
  319. package/.output/public/_nuxt/D8iBB0Py.js +0 -1
  320. package/.output/public/_nuxt/D8oIH8m1.js +0 -1
  321. package/.output/public/_nuxt/DB2zZev7.js +0 -1
  322. package/.output/public/_nuxt/DBrOAqkm.js +0 -1
  323. package/.output/public/_nuxt/DDXDFweK.js +0 -1
  324. package/.output/public/_nuxt/DFZkCmLQ.js +0 -1
  325. package/.output/public/_nuxt/DKZmgHNU.js +0 -1
  326. package/.output/public/_nuxt/DR8tGJhL.js +0 -1
  327. package/.output/public/_nuxt/DVAEVTjy.js +0 -1
  328. package/.output/public/_nuxt/DVqrPkCJ.js +0 -1
  329. package/.output/public/_nuxt/DWZ9ieYa.js +0 -1
  330. package/.output/public/_nuxt/DWj6VsZv.js +0 -1
  331. package/.output/public/_nuxt/DXJ9PxCv.js +0 -1
  332. package/.output/public/_nuxt/D_ziPROx.js +0 -1
  333. package/.output/public/_nuxt/Da2vwoYG.js +0 -1
  334. package/.output/public/_nuxt/Ddz3HcBB.js +0 -1
  335. package/.output/public/_nuxt/DgYei0bK.js +0 -1
  336. package/.output/public/_nuxt/Di_3GV_R.js +0 -1
  337. package/.output/public/_nuxt/Djog1f_e.js +0 -1
  338. package/.output/public/_nuxt/Dkap2-Pj.js +0 -7
  339. package/.output/public/_nuxt/DlJe_sHk.js +0 -1
  340. package/.output/public/_nuxt/DlPOQpH_.js +0 -1
  341. package/.output/public/_nuxt/DmYWMtVA.js +0 -1
  342. package/.output/public/_nuxt/DmxKU7sH.js +0 -1
  343. package/.output/public/_nuxt/DsodHRrQ.js +0 -1
  344. package/.output/public/_nuxt/DwSY6_2U.js +0 -1
  345. package/.output/public/_nuxt/DypJaSm-.js +0 -1
  346. package/.output/public/_nuxt/DzKaXH6P.js +0 -1
  347. package/.output/public/_nuxt/FK-jSuOT.js +0 -1
  348. package/.output/public/_nuxt/Fc2JsQt4.js +0 -1
  349. package/.output/public/_nuxt/IYCBGuRS.js +0 -1
  350. package/.output/public/_nuxt/NrRzUJNY.js +0 -1
  351. package/.output/public/_nuxt/OeVS0Rsb.js +0 -1
  352. package/.output/public/_nuxt/OlF0QnKF.js +0 -1
  353. package/.output/public/_nuxt/QuAoqY7t.js +0 -1
  354. package/.output/public/_nuxt/RlXHkmOd.js +0 -9
  355. package/.output/public/_nuxt/WZnvL9Dh.js +0 -1
  356. package/.output/public/_nuxt/ZvG7a1W3.js +0 -1
  357. package/.output/public/_nuxt/aPNZBVrG.js +0 -1
  358. package/.output/public/_nuxt/builds/meta/495aca73-bfa5-456e-b96a-f02e009c72d3.json +0 -1
  359. package/.output/public/_nuxt/dashboard.BxCOkJwt.css +0 -1
  360. package/.output/public/_nuxt/entry.C_udkZt9.css +0 -1
  361. package/.output/public/_nuxt/evY81hM3.js +0 -1
  362. package/.output/public/_nuxt/i6QBzaEi.js +0 -1
  363. package/.output/public/_nuxt/iTVKJ1kw.js +0 -1
  364. package/.output/public/_nuxt/j92uR3uR.js +0 -1
  365. package/.output/public/_nuxt/jdUkeAj_.js +0 -1
  366. package/.output/public/_nuxt/jeRvcMHU.js +0 -1
  367. package/.output/public/_nuxt/kuv0zpKq.js +0 -1
  368. package/.output/public/_nuxt/l3lKQs7b.js +0 -1
  369. package/.output/public/_nuxt/qIgZ7OXa.js +0 -1
  370. package/.output/public/_nuxt/qcVwZv8e.js +0 -1
  371. package/.output/public/_nuxt/ru8fqqWs.js +0 -1
  372. package/.output/public/_nuxt/sgmhgpCS.js +0 -1
  373. package/.output/public/_nuxt/y2jv0da-.js +0 -1
  374. package/.output/public/_nuxt/yyS4-kAX.js +0 -1
  375. package/.output/public/_nuxt/zIoBLBHF.js +0 -1
  376. package/.output/public/_nuxt/zpazwPgx.js +0 -1
  377. package/.output/server/chunks/build/_id_-DN00UDdO.mjs.map +0 -1
  378. package/.output/server/chunks/build/chat-m4-n9vC6.mjs.map +0 -1
  379. package/.output/server/chunks/build/docs-ChGwOPg5.mjs.map +0 -1
  380. package/.output/server/chunks/build/hooks-D328DcO6.mjs.map +0 -1
  381. package/.output/server/chunks/build/index-C9PuieXh.mjs +0 -820
  382. package/.output/server/chunks/build/index-C9PuieXh.mjs.map +0 -1
  383. package/.output/server/chunks/build/settings-B2KXoGcz.mjs +0 -3232
  384. package/.output/server/chunks/build/settings-B2KXoGcz.mjs.map +0 -1
  385. package/.output/server/chunks/build/tasks-DnAFqbtt.mjs.map +0 -1
  386. package/.output/server/chunks/build/useAgents-DHEXiFSc.mjs.map +0 -1
@@ -1,22 +1,36 @@
1
1
  import { _ as _sfc_main$1$1, a as _sfc_main$4 } from './DashboardNavbar-Cpq8yKA0.mjs';
2
- import { Q as useRoute, A as useRouter, i as useToast, R as createError, g as _sfc_main$d, _ as _sfc_main$8 } from './server.mjs';
3
- import { _ as _sfc_main$3 } from './Badge-C1RKkIgG.mjs';
4
- import { _ as _sfc_main$6 } from './Skeleton-DZqsQzFi.mjs';
2
+ import { z as useRoute, Q as useRouter, i as useToast, S as createError, g as _sfc_main$d, _ as _sfc_main$8 } from './server.mjs';
3
+ import { _ as _sfc_main$6 } from './Badge-C1RKkIgG.mjs';
4
+ import { _ as _sfc_main$7 } from './Skeleton-DZqsQzFi.mjs';
5
5
  import { _ as _sfc_main$5 } from './Switch-GWdksmY6.mjs';
6
- import { _ as _sfc_main$7 } from './DashboardToolbar-66a616OO.mjs';
7
- import { _ as _sfc_main$9 } from './FieldGroup-KzsWn_XG.mjs';
8
- import { _ as _sfc_main$2 } from './Card-G40WAFiH.mjs';
9
- import { u as useAgents, _ as __nuxt_component_4, a as __nuxt_component_5, b as __nuxt_component_11 } from './useAgents-DHEXiFSc.mjs';
10
- import { _ as _sfc_main$a } from './Slideover-DJNgcnZ2.mjs';
11
- import { _ as _sfc_main$b } from './Modal-Z_SoWhh-.mjs';
12
- import { defineComponent, computed, withAsyncContext, ref, watch, mergeProps, withCtx, unref, createVNode, createBlock, createCommentVNode, openBlock, toDisplayString, createTextVNode, Fragment, renderList, isRef, mergeModels, useModel, useSSRContext } from 'vue';
6
+ import { _ as _sfc_main$9 } from './DashboardToolbar-66a616OO.mjs';
7
+ import { _ as _sfc_main$a } from './FieldGroup-KzsWn_XG.mjs';
8
+ import { _ as _sfc_main$e } from './Card-G40WAFiH.mjs';
9
+ import { defineComponent, computed, withAsyncContext, ref, watch, mergeProps, withCtx, unref, createBlock, createCommentVNode, openBlock, createVNode, Fragment, createTextVNode, toDisplayString, renderList, isRef, mergeModels, useModel, useSSRContext } from 'vue';
13
10
  import { ssrRenderAttrs, ssrRenderComponent, ssrInterpolate, ssrRenderList } from 'vue/server-renderer';
11
+ import { aA as formatSchedule, ag as formatRelativeTime, aB as getStatusColor, aC as formatDateTime, av as formatDuration } from '../nitro/nitro.mjs';
12
+ import { u as useAgents, _ as __nuxt_component_4, a as __nuxt_component_5, b as __nuxt_component_9$1 } from './useAgents-nmbkB9-_.mjs';
13
+ import { _ as _sfc_main$b } from './Slideover-DJNgcnZ2.mjs';
14
+ import { _ as _sfc_main$c } from './Modal-Z_SoWhh-.mjs';
14
15
  import { u as useNotificationBus } from './useNotificationBus-BG5JNQf1.mjs';
15
16
  import { u as useFetch } from './fetch-BB7Qzkwe.mjs';
16
17
  import './DashboardSidebarToggle-Chnqv04k.mjs';
17
18
  import '@vueuse/core';
18
19
  import './cookie-C_iulBi6.mjs';
19
- import '../nitro/nitro.mjs';
20
+ import './ssr-Bqnw2a-w.mjs';
21
+ import 'reka-ui';
22
+ import 'vue-router';
23
+ import 'tailwindcss/colors';
24
+ import '@iconify/vue';
25
+ import 'tailwind-variants';
26
+ import '@iconify/utils/lib/css/icon';
27
+ import 'perfect-debounce';
28
+ import '../routes/renderer.mjs';
29
+ import 'vue-bundle-renderer/runtime';
30
+ import 'unhead/server';
31
+ import 'devalue';
32
+ import 'unhead/plugins';
33
+ import 'unhead/utils';
20
34
  import '@anthropic-ai/claude-agent-sdk';
21
35
  import 'module';
22
36
  import 'path';
@@ -55,24 +69,10 @@ import 'util';
55
69
  import 'node:url';
56
70
  import '@iconify/utils';
57
71
  import 'consola';
58
- import './ssr-Bqnw2a-w.mjs';
59
- import 'reka-ui';
60
- import 'vue-router';
61
- import 'tailwindcss/colors';
62
- import '@iconify/vue';
63
- import 'tailwind-variants';
64
- import '@iconify/utils/lib/css/icon';
65
- import 'perfect-debounce';
66
- import '../routes/renderer.mjs';
67
- import 'vue-bundle-renderer/runtime';
68
- import 'unhead/server';
69
- import 'devalue';
70
- import 'unhead/plugins';
71
- import 'unhead/utils';
72
72
  import './FormField-Caux_FCv.mjs';
73
73
  import './Input-CV2hlBHo.mjs';
74
74
  import './Select-BB1oLrCD.mjs';
75
- import './EditorToolbar-DIfb5arC.mjs';
75
+ import './EditorToolbar-B9OwSI5e.mjs';
76
76
  import '@tiptap/core';
77
77
  import '@tiptap/extension-horizontal-rule';
78
78
  import '@tiptap/extension-image';
@@ -88,6 +88,241 @@ import './Kbd-Daq7k0fm.mjs';
88
88
  import './Tooltip-TRyl6dje.mjs';
89
89
  import '@vue/shared';
90
90
 
91
+ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
92
+ __name: "AgentInfoCard",
93
+ __ssrInlineRender: true,
94
+ props: {
95
+ agent: {}
96
+ },
97
+ setup(__props) {
98
+ return (_ctx, _push, _parent, _attrs) => {
99
+ const _component_UCard = _sfc_main$e;
100
+ const _component_UIcon = _sfc_main$d;
101
+ _push(ssrRenderComponent(_component_UCard, _attrs, {
102
+ default: withCtx((_, _push2, _parent2, _scopeId) => {
103
+ if (_push2) {
104
+ _push2(`<div class="space-y-3"${_scopeId}>`);
105
+ if (__props.agent.description) {
106
+ _push2(`<div${_scopeId}><p class="text-sm text-muted uppercase mb-1"${_scopeId}> Description </p><p${_scopeId}>${ssrInterpolate(__props.agent.description)}</p></div>`);
107
+ } else {
108
+ _push2(`<!---->`);
109
+ }
110
+ _push2(`<div class="flex flex-wrap gap-6"${_scopeId}><div${_scopeId}><p class="text-sm text-muted uppercase mb-1"${_scopeId}> Schedule </p><p class="flex items-center gap-2"${_scopeId}>`);
111
+ _push2(ssrRenderComponent(_component_UIcon, { name: "i-lucide-clock" }, null, _parent2, _scopeId));
112
+ _push2(` ${ssrInterpolate(unref(formatSchedule)(__props.agent.schedule))} <span class="text-sm text-muted"${_scopeId}>(${ssrInterpolate(__props.agent.schedule)})</span></p></div>`);
113
+ if (__props.agent.maxBudgetUsd) {
114
+ _push2(`<div${_scopeId}><p class="text-sm text-muted uppercase mb-1"${_scopeId}> Budget Limit </p><p class="flex items-center gap-2"${_scopeId}>`);
115
+ _push2(ssrRenderComponent(_component_UIcon, { name: "i-lucide-dollar-sign" }, null, _parent2, _scopeId));
116
+ _push2(` $${ssrInterpolate(__props.agent.maxBudgetUsd)} per run </p></div>`);
117
+ } else {
118
+ _push2(`<!---->`);
119
+ }
120
+ if (__props.agent.lastRunAt) {
121
+ _push2(`<div${_scopeId}><p class="text-sm text-muted uppercase mb-1"${_scopeId}> Last Run </p><p class="flex items-center gap-2"${_scopeId}>`);
122
+ _push2(ssrRenderComponent(_component_UIcon, { name: "i-lucide-activity" }, null, _parent2, _scopeId));
123
+ _push2(` ${ssrInterpolate(unref(formatRelativeTime)(__props.agent.lastRunAt))}</p></div>`);
124
+ } else {
125
+ _push2(`<!---->`);
126
+ }
127
+ _push2(`</div></div>`);
128
+ } else {
129
+ return [
130
+ createVNode("div", { class: "space-y-3" }, [
131
+ __props.agent.description ? (openBlock(), createBlock("div", { key: 0 }, [
132
+ createVNode("p", { class: "text-sm text-muted uppercase mb-1" }, " Description "),
133
+ createVNode("p", null, toDisplayString(__props.agent.description), 1)
134
+ ])) : createCommentVNode("", true),
135
+ createVNode("div", { class: "flex flex-wrap gap-6" }, [
136
+ createVNode("div", null, [
137
+ createVNode("p", { class: "text-sm text-muted uppercase mb-1" }, " Schedule "),
138
+ createVNode("p", { class: "flex items-center gap-2" }, [
139
+ createVNode(_component_UIcon, { name: "i-lucide-clock" }),
140
+ createTextVNode(" " + toDisplayString(unref(formatSchedule)(__props.agent.schedule)) + " ", 1),
141
+ createVNode("span", { class: "text-sm text-muted" }, "(" + toDisplayString(__props.agent.schedule) + ")", 1)
142
+ ])
143
+ ]),
144
+ __props.agent.maxBudgetUsd ? (openBlock(), createBlock("div", { key: 0 }, [
145
+ createVNode("p", { class: "text-sm text-muted uppercase mb-1" }, " Budget Limit "),
146
+ createVNode("p", { class: "flex items-center gap-2" }, [
147
+ createVNode(_component_UIcon, { name: "i-lucide-dollar-sign" }),
148
+ createTextVNode(" $" + toDisplayString(__props.agent.maxBudgetUsd) + " per run ", 1)
149
+ ])
150
+ ])) : createCommentVNode("", true),
151
+ __props.agent.lastRunAt ? (openBlock(), createBlock("div", { key: 1 }, [
152
+ createVNode("p", { class: "text-sm text-muted uppercase mb-1" }, " Last Run "),
153
+ createVNode("p", { class: "flex items-center gap-2" }, [
154
+ createVNode(_component_UIcon, { name: "i-lucide-activity" }),
155
+ createTextVNode(" " + toDisplayString(unref(formatRelativeTime)(__props.agent.lastRunAt)), 1)
156
+ ])
157
+ ])) : createCommentVNode("", true)
158
+ ])
159
+ ])
160
+ ];
161
+ }
162
+ }),
163
+ _: 1
164
+ }, _parent));
165
+ };
166
+ }
167
+ });
168
+ const _sfc_setup$3 = _sfc_main$3.setup;
169
+ _sfc_main$3.setup = (props, ctx) => {
170
+ const ssrContext = useSSRContext();
171
+ (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/agents/AgentInfoCard.vue");
172
+ return _sfc_setup$3 ? _sfc_setup$3(props, ctx) : void 0;
173
+ };
174
+ const __nuxt_component_9 = Object.assign(_sfc_main$3, { __name: "AgentsAgentInfoCard" });
175
+ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
176
+ __name: "AgentRunHistory",
177
+ __ssrInlineRender: true,
178
+ props: {
179
+ runs: {},
180
+ loading: { type: Boolean }
181
+ },
182
+ emits: ["select"],
183
+ setup(__props, { emit: __emit }) {
184
+ const emit = __emit;
185
+ function truncateOutput(output, maxLength = 100) {
186
+ if (!output) return "-";
187
+ if (output.length <= maxLength) return output;
188
+ return output.substring(0, maxLength) + "...";
189
+ }
190
+ return (_ctx, _push, _parent, _attrs) => {
191
+ const _component_UIcon = _sfc_main$d;
192
+ const _component_UCard = _sfc_main$e;
193
+ const _component_UBadge = _sfc_main$6;
194
+ _push(`<div${ssrRenderAttrs(mergeProps({ class: "space-y-4" }, _attrs))}><h2 class="text-lg font-semibold"> Run History </h2>`);
195
+ if (__props.loading) {
196
+ _push(`<div class="flex items-center justify-center h-32">`);
197
+ _push(ssrRenderComponent(_component_UIcon, {
198
+ name: "i-lucide-loader-2",
199
+ class: "w-6 h-6 animate-spin text-neutral-400"
200
+ }, null, _parent));
201
+ _push(`</div>`);
202
+ } else if (__props.runs.length === 0) {
203
+ _push(`<div class="flex flex-col items-center justify-center h-32 text-neutral-500">`);
204
+ _push(ssrRenderComponent(_component_UIcon, {
205
+ name: "i-lucide-history",
206
+ class: "w-8 h-8 mb-2"
207
+ }, null, _parent));
208
+ _push(`<p>No runs yet</p></div>`);
209
+ } else {
210
+ _push(`<div class="space-y-2"><!--[-->`);
211
+ ssrRenderList(__props.runs, (run) => {
212
+ _push(ssrRenderComponent(_component_UCard, {
213
+ key: run.id,
214
+ class: "cursor-pointer transition-all hover:ring-2 hover:ring-primary/50",
215
+ onClick: ($event) => emit("select", run)
216
+ }, {
217
+ default: withCtx((_, _push2, _parent2, _scopeId) => {
218
+ if (_push2) {
219
+ _push2(`<div class="flex items-start justify-between gap-4"${_scopeId}><div class="flex-1 min-w-0"${_scopeId}><div class="flex items-center gap-2 mb-1"${_scopeId}>`);
220
+ if (run.status === "running") {
221
+ _push2(ssrRenderComponent(_component_UBadge, {
222
+ color: "info",
223
+ variant: "subtle",
224
+ size: "sm"
225
+ }, {
226
+ default: withCtx((_2, _push3, _parent3, _scopeId2) => {
227
+ if (_push3) {
228
+ _push3(ssrRenderComponent(_component_UIcon, {
229
+ name: "i-lucide-loader-2",
230
+ class: "w-3 h-3 animate-spin mr-1"
231
+ }, null, _parent3, _scopeId2));
232
+ _push3(` Running `);
233
+ } else {
234
+ return [
235
+ createVNode(_component_UIcon, {
236
+ name: "i-lucide-loader-2",
237
+ class: "w-3 h-3 animate-spin mr-1"
238
+ }),
239
+ createTextVNode(" Running ")
240
+ ];
241
+ }
242
+ }),
243
+ _: 2
244
+ }, _parent2, _scopeId));
245
+ } else {
246
+ _push2(ssrRenderComponent(_component_UBadge, {
247
+ color: unref(getStatusColor)(run.status),
248
+ size: "sm"
249
+ }, {
250
+ default: withCtx((_2, _push3, _parent3, _scopeId2) => {
251
+ if (_push3) {
252
+ _push3(`${ssrInterpolate(run.status)}`);
253
+ } else {
254
+ return [
255
+ createTextVNode(toDisplayString(run.status), 1)
256
+ ];
257
+ }
258
+ }),
259
+ _: 2
260
+ }, _parent2, _scopeId));
261
+ }
262
+ _push2(`<span class="text-sm text-muted"${_scopeId}>${ssrInterpolate(unref(formatDateTime)(run.startedAt))}</span></div><p class="text-sm text-muted truncate"${_scopeId}>${ssrInterpolate(run.error ? truncateOutput(run.error) : truncateOutput(run.output))}</p></div><div class="text-right text-sm text-muted shrink-0"${_scopeId}><p${_scopeId}>${ssrInterpolate(unref(formatDuration)(run.durationMs))}</p>`);
263
+ if (run.costUsd) {
264
+ _push2(`<p${_scopeId}> $${ssrInterpolate(run.costUsd.toFixed(4))}</p>`);
265
+ } else {
266
+ _push2(`<!---->`);
267
+ }
268
+ _push2(`</div></div>`);
269
+ } else {
270
+ return [
271
+ createVNode("div", { class: "flex items-start justify-between gap-4" }, [
272
+ createVNode("div", { class: "flex-1 min-w-0" }, [
273
+ createVNode("div", { class: "flex items-center gap-2 mb-1" }, [
274
+ run.status === "running" ? (openBlock(), createBlock(_component_UBadge, {
275
+ key: 0,
276
+ color: "info",
277
+ variant: "subtle",
278
+ size: "sm"
279
+ }, {
280
+ default: withCtx(() => [
281
+ createVNode(_component_UIcon, {
282
+ name: "i-lucide-loader-2",
283
+ class: "w-3 h-3 animate-spin mr-1"
284
+ }),
285
+ createTextVNode(" Running ")
286
+ ]),
287
+ _: 1
288
+ })) : (openBlock(), createBlock(_component_UBadge, {
289
+ key: 1,
290
+ color: unref(getStatusColor)(run.status),
291
+ size: "sm"
292
+ }, {
293
+ default: withCtx(() => [
294
+ createTextVNode(toDisplayString(run.status), 1)
295
+ ]),
296
+ _: 2
297
+ }, 1032, ["color"])),
298
+ createVNode("span", { class: "text-sm text-muted" }, toDisplayString(unref(formatDateTime)(run.startedAt)), 1)
299
+ ]),
300
+ createVNode("p", { class: "text-sm text-muted truncate" }, toDisplayString(run.error ? truncateOutput(run.error) : truncateOutput(run.output)), 1)
301
+ ]),
302
+ createVNode("div", { class: "text-right text-sm text-muted shrink-0" }, [
303
+ createVNode("p", null, toDisplayString(unref(formatDuration)(run.durationMs)), 1),
304
+ run.costUsd ? (openBlock(), createBlock("p", { key: 0 }, " $" + toDisplayString(run.costUsd.toFixed(4)), 1)) : createCommentVNode("", true)
305
+ ])
306
+ ])
307
+ ];
308
+ }
309
+ }),
310
+ _: 2
311
+ }, _parent));
312
+ });
313
+ _push(`<!--]--></div>`);
314
+ }
315
+ _push(`</div>`);
316
+ };
317
+ }
318
+ });
319
+ const _sfc_setup$2 = _sfc_main$2.setup;
320
+ _sfc_main$2.setup = (props, ctx) => {
321
+ const ssrContext = useSSRContext();
322
+ (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/agents/AgentRunHistory.vue");
323
+ return _sfc_setup$2 ? _sfc_setup$2(props, ctx) : void 0;
324
+ };
325
+ const __nuxt_component_12 = Object.assign(_sfc_main$2, { __name: "AgentsAgentRunHistory" });
91
326
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
92
327
  __name: "AgentRunModal",
93
328
  __ssrInlineRender: true,
@@ -100,36 +335,9 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
100
335
  emits: ["update:open"],
101
336
  setup(__props) {
102
337
  const open = useModel(__props, "open");
103
- function formatDuration(ms) {
104
- if (!ms) return "-";
105
- if (ms < 1e3) return `${ms}ms`;
106
- if (ms < 6e4) return `${(ms / 1e3).toFixed(1)}s`;
107
- return `${(ms / 6e4).toFixed(1)}m`;
108
- }
109
- function formatDateTime(date) {
110
- if (!date) return "-";
111
- const d = new Date(date);
112
- return d.toLocaleString();
113
- }
114
- function getStatusColor(status) {
115
- switch (status) {
116
- case "success":
117
- return "success";
118
- case "error":
119
- return "error";
120
- case "budget_exceeded":
121
- return "warning";
122
- case "running":
123
- return "info";
124
- case "cancelled":
125
- return "neutral";
126
- default:
127
- return "neutral";
128
- }
129
- }
130
338
  return (_ctx, _push, _parent, _attrs) => {
131
- const _component_UModal = _sfc_main$b;
132
- const _component_UBadge = _sfc_main$3;
339
+ const _component_UModal = _sfc_main$c;
340
+ const _component_UBadge = _sfc_main$6;
133
341
  const _component_UIcon = _sfc_main$d;
134
342
  const _component_UButton = _sfc_main$8;
135
343
  _push(ssrRenderComponent(_component_UModal, mergeProps({
@@ -143,7 +351,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
143
351
  if (__props.run) {
144
352
  _push2(`<div class="p-4 space-y-4"${_scopeId}><div class="flex flex-wrap items-center gap-4"${_scopeId}>`);
145
353
  _push2(ssrRenderComponent(_component_UBadge, {
146
- color: getStatusColor(__props.run.status),
354
+ color: unref(getStatusColor)(__props.run.status),
147
355
  size: "lg"
148
356
  }, {
149
357
  default: withCtx((_2, _push3, _parent3, _scopeId2) => {
@@ -157,13 +365,13 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
157
365
  }),
158
366
  _: 1
159
367
  }, _parent2, _scopeId));
160
- _push2(`<span class="text-sm text-muted"${_scopeId}> Started: ${ssrInterpolate(formatDateTime(__props.run.startedAt))}</span>`);
368
+ _push2(`<span class="text-sm text-muted"${_scopeId}> Started: ${ssrInterpolate(unref(formatDateTime)(__props.run.startedAt))}</span>`);
161
369
  if (__props.run.completedAt) {
162
- _push2(`<span class="text-sm text-muted"${_scopeId}> Completed: ${ssrInterpolate(formatDateTime(__props.run.completedAt))}</span>`);
370
+ _push2(`<span class="text-sm text-muted"${_scopeId}> Completed: ${ssrInterpolate(unref(formatDateTime)(__props.run.completedAt))}</span>`);
163
371
  } else {
164
372
  _push2(`<!---->`);
165
373
  }
166
- _push2(`</div><div class="grid grid-cols-2 sm:grid-cols-4 gap-4 p-4 rounded-lg bg-muted/5"${_scopeId}><div${_scopeId}><p class="text-xs text-muted uppercase"${_scopeId}> Duration </p><p class="font-medium"${_scopeId}>${ssrInterpolate(formatDuration(__props.run.durationMs))}</p></div><div${_scopeId}><p class="text-xs text-muted uppercase"${_scopeId}> Cost </p><p class="font-medium"${_scopeId}>${ssrInterpolate(__props.run.costUsd ? `$${__props.run.costUsd.toFixed(4)}` : "-")}</p></div><div${_scopeId}><p class="text-xs text-muted uppercase"${_scopeId}> Input Tokens </p><p class="font-medium"${_scopeId}>${ssrInterpolate(__props.run.inputTokens?.toLocaleString() || "-")}</p></div><div${_scopeId}><p class="text-xs text-muted uppercase"${_scopeId}> Output Tokens </p><p class="font-medium"${_scopeId}>${ssrInterpolate(__props.run.outputTokens?.toLocaleString() || "-")}</p></div></div>`);
374
+ _push2(`</div><div class="grid grid-cols-2 sm:grid-cols-4 gap-4 p-4 rounded-lg bg-muted/5"${_scopeId}><div${_scopeId}><p class="text-xs text-muted uppercase"${_scopeId}> Duration </p><p class="font-medium"${_scopeId}>${ssrInterpolate(unref(formatDuration)(__props.run.durationMs))}</p></div><div${_scopeId}><p class="text-xs text-muted uppercase"${_scopeId}> Cost </p><p class="font-medium"${_scopeId}>${ssrInterpolate(__props.run.costUsd ? `$${__props.run.costUsd.toFixed(4)}` : "-")}</p></div><div${_scopeId}><p class="text-xs text-muted uppercase"${_scopeId}> Input Tokens </p><p class="font-medium"${_scopeId}>${ssrInterpolate(__props.run.inputTokens?.toLocaleString() || "-")}</p></div><div${_scopeId}><p class="text-xs text-muted uppercase"${_scopeId}> Output Tokens </p><p class="font-medium"${_scopeId}>${ssrInterpolate(__props.run.outputTokens?.toLocaleString() || "-")}</p></div></div>`);
167
375
  if (__props.run.error) {
168
376
  _push2(`<div class="p-4 rounded-lg bg-error-500/10 border border-error-500/20"${_scopeId}><p class="text-sm font-medium text-error-500 mb-2"${_scopeId}> Error </p><pre class="text-sm text-error-400 whitespace-pre-wrap font-mono overflow-x-auto"${_scopeId}>${ssrInterpolate(__props.run.error)}</pre></div>`);
169
377
  } else {
@@ -196,7 +404,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
196
404
  }, [
197
405
  createVNode("div", { class: "flex flex-wrap items-center gap-4" }, [
198
406
  createVNode(_component_UBadge, {
199
- color: getStatusColor(__props.run.status),
407
+ color: unref(getStatusColor)(__props.run.status),
200
408
  size: "lg"
201
409
  }, {
202
410
  default: withCtx(() => [
@@ -204,16 +412,16 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
204
412
  ]),
205
413
  _: 1
206
414
  }, 8, ["color"]),
207
- createVNode("span", { class: "text-sm text-muted" }, " Started: " + toDisplayString(formatDateTime(__props.run.startedAt)), 1),
415
+ createVNode("span", { class: "text-sm text-muted" }, " Started: " + toDisplayString(unref(formatDateTime)(__props.run.startedAt)), 1),
208
416
  __props.run.completedAt ? (openBlock(), createBlock("span", {
209
417
  key: 0,
210
418
  class: "text-sm text-muted"
211
- }, " Completed: " + toDisplayString(formatDateTime(__props.run.completedAt)), 1)) : createCommentVNode("", true)
419
+ }, " Completed: " + toDisplayString(unref(formatDateTime)(__props.run.completedAt)), 1)) : createCommentVNode("", true)
212
420
  ]),
213
421
  createVNode("div", { class: "grid grid-cols-2 sm:grid-cols-4 gap-4 p-4 rounded-lg bg-muted/5" }, [
214
422
  createVNode("div", null, [
215
423
  createVNode("p", { class: "text-xs text-muted uppercase" }, " Duration "),
216
- createVNode("p", { class: "font-medium" }, toDisplayString(formatDuration(__props.run.durationMs)), 1)
424
+ createVNode("p", { class: "font-medium" }, toDisplayString(unref(formatDuration)(__props.run.durationMs)), 1)
217
425
  ]),
218
426
  createVNode("div", null, [
219
427
  createVNode("p", { class: "text-xs text-muted uppercase" }, " Cost "),
@@ -306,7 +514,7 @@ _sfc_main$1.setup = (props, ctx) => {
306
514
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/agents/AgentRunModal.vue");
307
515
  return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0;
308
516
  };
309
- const __nuxt_component_15 = Object.assign(_sfc_main$1, { __name: "AgentsAgentRunModal" });
517
+ const __nuxt_component_16 = Object.assign(_sfc_main$1, { __name: "AgentsAgentRunModal" });
310
518
  const _sfc_main = /* @__PURE__ */ defineComponent({
311
519
  __name: "[id]",
312
520
  __ssrInlineRender: true,
@@ -350,64 +558,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
350
558
  const showDeleteConfirm = ref(false);
351
559
  const selectedRun = ref(null);
352
560
  const showRunModal = ref(false);
353
- function formatSchedule(schedule) {
354
- const parts = schedule.split(" ");
355
- if (parts.length !== 5) return schedule;
356
- const min = parts[0];
357
- const hour = parts[1];
358
- const dayOfMonth = parts[2];
359
- const month = parts[3];
360
- const dayOfWeek = parts[4];
361
- if (min === "0" && hour === "*" && dayOfMonth === "*" && month === "*" && dayOfWeek === "*")
362
- return "Every hour";
363
- if (min === "*/5" && hour === "*" && dayOfMonth === "*" && month === "*" && dayOfWeek === "*")
364
- return "Every 5 minutes";
365
- if (dayOfMonth === "*" && month === "*" && dayOfWeek === "*" && hour !== "*")
366
- return `Daily at ${hour}:${min.padStart(2, "0")}`;
367
- if (dayOfWeek === "0" && dayOfMonth === "*" && month === "*")
368
- return `Weekly on Sunday at ${hour}:${min.padStart(2, "0")}`;
369
- return schedule;
370
- }
371
- function formatRelativeTime(date) {
372
- if (!date) return "Never";
373
- const d = new Date(date);
374
- const now = /* @__PURE__ */ new Date();
375
- const diff = now.getTime() - d.getTime();
376
- const minutes = Math.floor(diff / 6e4);
377
- const hours = Math.floor(diff / 36e5);
378
- const days = Math.floor(diff / 864e5);
379
- if (minutes < 1) return "Just now";
380
- if (minutes < 60) return `${minutes}m ago`;
381
- if (hours < 24) return `${hours}h ago`;
382
- return `${days}d ago`;
383
- }
384
- function formatDuration(ms) {
385
- if (!ms) return "-";
386
- if (ms < 1e3) return `${ms}ms`;
387
- if (ms < 6e4) return `${(ms / 1e3).toFixed(1)}s`;
388
- return `${(ms / 6e4).toFixed(1)}m`;
389
- }
390
- function formatDateTime(date) {
391
- if (!date) return "-";
392
- const d = new Date(date);
393
- return d.toLocaleString();
394
- }
395
- function getStatusColor(status) {
396
- switch (status) {
397
- case "success":
398
- return "success";
399
- case "error":
400
- return "error";
401
- case "budget_exceeded":
402
- return "warning";
403
- case "running":
404
- return "info";
405
- case "cancelled":
406
- return "neutral";
407
- default:
408
- return "neutral";
409
- }
410
- }
411
561
  async function loadStats() {
412
562
  statsLoading.value = true;
413
563
  try {
@@ -517,11 +667,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
517
667
  selectedRun.value = run;
518
668
  showRunModal.value = true;
519
669
  }
520
- function truncateOutput(output, maxLength = 100) {
521
- if (!output) return "-";
522
- if (output.length <= maxLength) return output;
523
- return output.substring(0, maxLength) + "...";
524
- }
525
670
  watch(period, () => {
526
671
  loadStats();
527
672
  loadRuns();
@@ -530,19 +675,20 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
530
675
  const _component_UDashboardPanel = _sfc_main$1$1;
531
676
  const _component_UDashboardNavbar = _sfc_main$4;
532
677
  const _component_UButton = _sfc_main$8;
533
- const _component_UBadge = _sfc_main$3;
678
+ const _component_UBadge = _sfc_main$6;
534
679
  const _component_UIcon = _sfc_main$d;
535
- const _component_USkeleton = _sfc_main$6;
680
+ const _component_USkeleton = _sfc_main$7;
536
681
  const _component_USwitch = _sfc_main$5;
537
- const _component_UDashboardToolbar = _sfc_main$7;
538
- const _component_UFieldGroup = _sfc_main$9;
539
- const _component_UCard = _sfc_main$2;
682
+ const _component_UDashboardToolbar = _sfc_main$9;
683
+ const _component_UFieldGroup = _sfc_main$a;
684
+ const _component_AgentsAgentInfoCard = __nuxt_component_9;
540
685
  const _component_AgentsAgentStatsCards = __nuxt_component_4;
541
686
  const _component_AgentsAgentActivityChart = __nuxt_component_5;
542
- const _component_USlideover = _sfc_main$a;
543
- const _component_AgentsAgentForm = __nuxt_component_11;
544
- const _component_UModal = _sfc_main$b;
545
- const _component_AgentsAgentRunModal = __nuxt_component_15;
687
+ const _component_AgentsAgentRunHistory = __nuxt_component_12;
688
+ const _component_USlideover = _sfc_main$b;
689
+ const _component_AgentsAgentForm = __nuxt_component_9$1;
690
+ const _component_UModal = _sfc_main$c;
691
+ const _component_AgentsAgentRunModal = __nuxt_component_16;
546
692
  _push(`<div${ssrRenderAttrs(mergeProps({ class: "contents" }, _attrs))}>`);
547
693
  _push(ssrRenderComponent(_component_UDashboardPanel, {
548
694
  id: "agent-detail",
@@ -916,70 +1062,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
916
1062
  _push2(`</div>`);
917
1063
  } else if (unref(agent)) {
918
1064
  _push2(`<div class="p-4 space-y-6"${_scopeId}>`);
919
- _push2(ssrRenderComponent(_component_UCard, null, {
920
- default: withCtx((_2, _push3, _parent3, _scopeId2) => {
921
- if (_push3) {
922
- _push3(`<div class="space-y-3"${_scopeId2}>`);
923
- if (unref(agent).description) {
924
- _push3(`<div${_scopeId2}><p class="text-sm text-muted uppercase mb-1"${_scopeId2}> Description </p><p${_scopeId2}>${ssrInterpolate(unref(agent).description)}</p></div>`);
925
- } else {
926
- _push3(`<!---->`);
927
- }
928
- _push3(`<div class="flex flex-wrap gap-6"${_scopeId2}><div${_scopeId2}><p class="text-sm text-muted uppercase mb-1"${_scopeId2}> Schedule </p><p class="flex items-center gap-2"${_scopeId2}>`);
929
- _push3(ssrRenderComponent(_component_UIcon, { name: "i-lucide-clock" }, null, _parent3, _scopeId2));
930
- _push3(` ${ssrInterpolate(formatSchedule(unref(agent).schedule))} <span class="text-sm text-muted"${_scopeId2}>(${ssrInterpolate(unref(agent).schedule)})</span></p></div>`);
931
- if (unref(agent).maxBudgetUsd) {
932
- _push3(`<div${_scopeId2}><p class="text-sm text-muted uppercase mb-1"${_scopeId2}> Budget Limit </p><p class="flex items-center gap-2"${_scopeId2}>`);
933
- _push3(ssrRenderComponent(_component_UIcon, { name: "i-lucide-dollar-sign" }, null, _parent3, _scopeId2));
934
- _push3(` $${ssrInterpolate(unref(agent).maxBudgetUsd)} per run </p></div>`);
935
- } else {
936
- _push3(`<!---->`);
937
- }
938
- if (unref(agent).lastRunAt) {
939
- _push3(`<div${_scopeId2}><p class="text-sm text-muted uppercase mb-1"${_scopeId2}> Last Run </p><p class="flex items-center gap-2"${_scopeId2}>`);
940
- _push3(ssrRenderComponent(_component_UIcon, { name: "i-lucide-activity" }, null, _parent3, _scopeId2));
941
- _push3(` ${ssrInterpolate(formatRelativeTime(unref(agent).lastRunAt))}</p></div>`);
942
- } else {
943
- _push3(`<!---->`);
944
- }
945
- _push3(`</div></div>`);
946
- } else {
947
- return [
948
- createVNode("div", { class: "space-y-3" }, [
949
- unref(agent).description ? (openBlock(), createBlock("div", { key: 0 }, [
950
- createVNode("p", { class: "text-sm text-muted uppercase mb-1" }, " Description "),
951
- createVNode("p", null, toDisplayString(unref(agent).description), 1)
952
- ])) : createCommentVNode("", true),
953
- createVNode("div", { class: "flex flex-wrap gap-6" }, [
954
- createVNode("div", null, [
955
- createVNode("p", { class: "text-sm text-muted uppercase mb-1" }, " Schedule "),
956
- createVNode("p", { class: "flex items-center gap-2" }, [
957
- createVNode(_component_UIcon, { name: "i-lucide-clock" }),
958
- createTextVNode(" " + toDisplayString(formatSchedule(unref(agent).schedule)) + " ", 1),
959
- createVNode("span", { class: "text-sm text-muted" }, "(" + toDisplayString(unref(agent).schedule) + ")", 1)
960
- ])
961
- ]),
962
- unref(agent).maxBudgetUsd ? (openBlock(), createBlock("div", { key: 0 }, [
963
- createVNode("p", { class: "text-sm text-muted uppercase mb-1" }, " Budget Limit "),
964
- createVNode("p", { class: "flex items-center gap-2" }, [
965
- createVNode(_component_UIcon, { name: "i-lucide-dollar-sign" }),
966
- createTextVNode(" $" + toDisplayString(unref(agent).maxBudgetUsd) + " per run ", 1)
967
- ])
968
- ])) : createCommentVNode("", true),
969
- unref(agent).lastRunAt ? (openBlock(), createBlock("div", { key: 1 }, [
970
- createVNode("p", { class: "text-sm text-muted uppercase mb-1" }, " Last Run "),
971
- createVNode("p", { class: "flex items-center gap-2" }, [
972
- createVNode(_component_UIcon, { name: "i-lucide-activity" }),
973
- createTextVNode(" " + toDisplayString(formatRelativeTime(unref(agent).lastRunAt)), 1)
974
- ])
975
- ])) : createCommentVNode("", true)
976
- ])
977
- ])
978
- ];
979
- }
980
- }),
981
- _: 1
982
- }, _parent2, _scopeId));
1065
+ _push2(ssrRenderComponent(_component_AgentsAgentInfoCard, { agent: unref(agent) }, null, _parent2, _scopeId));
983
1066
  _push2(ssrRenderComponent(_component_AgentsAgentStatsCards, {
984
1067
  stats: unref(stats),
985
1068
  loading: unref(statsLoading),
@@ -993,128 +1076,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
993
1076
  } else {
994
1077
  _push2(`<!---->`);
995
1078
  }
996
- _push2(`<div class="space-y-4"${_scopeId}><h2 class="text-lg font-semibold"${_scopeId}> Run History </h2>`);
997
- if (unref(runsLoading)) {
998
- _push2(`<div class="flex items-center justify-center h-32"${_scopeId}>`);
999
- _push2(ssrRenderComponent(_component_UIcon, {
1000
- name: "i-lucide-loader-2",
1001
- class: "w-6 h-6 animate-spin text-neutral-400"
1002
- }, null, _parent2, _scopeId));
1003
- _push2(`</div>`);
1004
- } else if (unref(runs).length === 0) {
1005
- _push2(`<div class="flex flex-col items-center justify-center h-32 text-neutral-500"${_scopeId}>`);
1006
- _push2(ssrRenderComponent(_component_UIcon, {
1007
- name: "i-lucide-history",
1008
- class: "w-8 h-8 mb-2"
1009
- }, null, _parent2, _scopeId));
1010
- _push2(`<p${_scopeId}>No runs yet</p></div>`);
1011
- } else {
1012
- _push2(`<div class="space-y-2"${_scopeId}><!--[-->`);
1013
- ssrRenderList(unref(runs), (run) => {
1014
- _push2(ssrRenderComponent(_component_UCard, {
1015
- key: run.id,
1016
- class: "cursor-pointer transition-all hover:ring-2 hover:ring-primary/50",
1017
- onClick: ($event) => openRunModal(run)
1018
- }, {
1019
- default: withCtx((_2, _push3, _parent3, _scopeId2) => {
1020
- if (_push3) {
1021
- _push3(`<div class="flex items-start justify-between gap-4"${_scopeId2}><div class="flex-1 min-w-0"${_scopeId2}><div class="flex items-center gap-2 mb-1"${_scopeId2}>`);
1022
- if (run.status === "running") {
1023
- _push3(ssrRenderComponent(_component_UBadge, {
1024
- color: "info",
1025
- variant: "subtle",
1026
- size: "sm"
1027
- }, {
1028
- default: withCtx((_3, _push4, _parent4, _scopeId3) => {
1029
- if (_push4) {
1030
- _push4(ssrRenderComponent(_component_UIcon, {
1031
- name: "i-lucide-loader-2",
1032
- class: "w-3 h-3 animate-spin mr-1"
1033
- }, null, _parent4, _scopeId3));
1034
- _push4(` Running `);
1035
- } else {
1036
- return [
1037
- createVNode(_component_UIcon, {
1038
- name: "i-lucide-loader-2",
1039
- class: "w-3 h-3 animate-spin mr-1"
1040
- }),
1041
- createTextVNode(" Running ")
1042
- ];
1043
- }
1044
- }),
1045
- _: 2
1046
- }, _parent3, _scopeId2));
1047
- } else {
1048
- _push3(ssrRenderComponent(_component_UBadge, {
1049
- color: getStatusColor(run.status),
1050
- size: "sm"
1051
- }, {
1052
- default: withCtx((_3, _push4, _parent4, _scopeId3) => {
1053
- if (_push4) {
1054
- _push4(`${ssrInterpolate(run.status)}`);
1055
- } else {
1056
- return [
1057
- createTextVNode(toDisplayString(run.status), 1)
1058
- ];
1059
- }
1060
- }),
1061
- _: 2
1062
- }, _parent3, _scopeId2));
1063
- }
1064
- _push3(`<span class="text-sm text-muted"${_scopeId2}>${ssrInterpolate(formatDateTime(run.startedAt))}</span></div><p class="text-sm text-muted truncate"${_scopeId2}>${ssrInterpolate(run.error ? truncateOutput(run.error) : truncateOutput(run.output))}</p></div><div class="text-right text-sm text-muted shrink-0"${_scopeId2}><p${_scopeId2}>${ssrInterpolate(formatDuration(run.durationMs))}</p>`);
1065
- if (run.costUsd) {
1066
- _push3(`<p${_scopeId2}> $${ssrInterpolate(run.costUsd.toFixed(4))}</p>`);
1067
- } else {
1068
- _push3(`<!---->`);
1069
- }
1070
- _push3(`</div></div>`);
1071
- } else {
1072
- return [
1073
- createVNode("div", { class: "flex items-start justify-between gap-4" }, [
1074
- createVNode("div", { class: "flex-1 min-w-0" }, [
1075
- createVNode("div", { class: "flex items-center gap-2 mb-1" }, [
1076
- run.status === "running" ? (openBlock(), createBlock(_component_UBadge, {
1077
- key: 0,
1078
- color: "info",
1079
- variant: "subtle",
1080
- size: "sm"
1081
- }, {
1082
- default: withCtx(() => [
1083
- createVNode(_component_UIcon, {
1084
- name: "i-lucide-loader-2",
1085
- class: "w-3 h-3 animate-spin mr-1"
1086
- }),
1087
- createTextVNode(" Running ")
1088
- ]),
1089
- _: 1
1090
- })) : (openBlock(), createBlock(_component_UBadge, {
1091
- key: 1,
1092
- color: getStatusColor(run.status),
1093
- size: "sm"
1094
- }, {
1095
- default: withCtx(() => [
1096
- createTextVNode(toDisplayString(run.status), 1)
1097
- ]),
1098
- _: 2
1099
- }, 1032, ["color"])),
1100
- createVNode("span", { class: "text-sm text-muted" }, toDisplayString(formatDateTime(run.startedAt)), 1)
1101
- ]),
1102
- createVNode("p", { class: "text-sm text-muted truncate" }, toDisplayString(run.error ? truncateOutput(run.error) : truncateOutput(run.output)), 1)
1103
- ]),
1104
- createVNode("div", { class: "text-right text-sm text-muted shrink-0" }, [
1105
- createVNode("p", null, toDisplayString(formatDuration(run.durationMs)), 1),
1106
- run.costUsd ? (openBlock(), createBlock("p", { key: 0 }, " $" + toDisplayString(run.costUsd.toFixed(4)), 1)) : createCommentVNode("", true)
1107
- ])
1108
- ])
1109
- ];
1110
- }
1111
- }),
1112
- _: 2
1113
- }, _parent2, _scopeId));
1114
- });
1115
- _push2(`<!--]--></div>`);
1116
- }
1117
- _push2(`</div></div>`);
1079
+ _push2(ssrRenderComponent(_component_AgentsAgentRunHistory, {
1080
+ runs: unref(runs),
1081
+ loading: unref(runsLoading),
1082
+ onSelect: openRunModal
1083
+ }, null, _parent2, _scopeId));
1084
+ _push2(`</div>`);
1118
1085
  } else {
1119
1086
  _push2(`<!---->`);
1120
1087
  }
@@ -1132,41 +1099,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1132
1099
  key: 1,
1133
1100
  class: "p-4 space-y-6"
1134
1101
  }, [
1135
- createVNode(_component_UCard, null, {
1136
- default: withCtx(() => [
1137
- createVNode("div", { class: "space-y-3" }, [
1138
- unref(agent).description ? (openBlock(), createBlock("div", { key: 0 }, [
1139
- createVNode("p", { class: "text-sm text-muted uppercase mb-1" }, " Description "),
1140
- createVNode("p", null, toDisplayString(unref(agent).description), 1)
1141
- ])) : createCommentVNode("", true),
1142
- createVNode("div", { class: "flex flex-wrap gap-6" }, [
1143
- createVNode("div", null, [
1144
- createVNode("p", { class: "text-sm text-muted uppercase mb-1" }, " Schedule "),
1145
- createVNode("p", { class: "flex items-center gap-2" }, [
1146
- createVNode(_component_UIcon, { name: "i-lucide-clock" }),
1147
- createTextVNode(" " + toDisplayString(formatSchedule(unref(agent).schedule)) + " ", 1),
1148
- createVNode("span", { class: "text-sm text-muted" }, "(" + toDisplayString(unref(agent).schedule) + ")", 1)
1149
- ])
1150
- ]),
1151
- unref(agent).maxBudgetUsd ? (openBlock(), createBlock("div", { key: 0 }, [
1152
- createVNode("p", { class: "text-sm text-muted uppercase mb-1" }, " Budget Limit "),
1153
- createVNode("p", { class: "flex items-center gap-2" }, [
1154
- createVNode(_component_UIcon, { name: "i-lucide-dollar-sign" }),
1155
- createTextVNode(" $" + toDisplayString(unref(agent).maxBudgetUsd) + " per run ", 1)
1156
- ])
1157
- ])) : createCommentVNode("", true),
1158
- unref(agent).lastRunAt ? (openBlock(), createBlock("div", { key: 1 }, [
1159
- createVNode("p", { class: "text-sm text-muted uppercase mb-1" }, " Last Run "),
1160
- createVNode("p", { class: "flex items-center gap-2" }, [
1161
- createVNode(_component_UIcon, { name: "i-lucide-activity" }),
1162
- createTextVNode(" " + toDisplayString(formatRelativeTime(unref(agent).lastRunAt)), 1)
1163
- ])
1164
- ])) : createCommentVNode("", true)
1165
- ])
1166
- ])
1167
- ]),
1168
- _: 1
1169
- }),
1102
+ createVNode(_component_AgentsAgentInfoCard, { agent: unref(agent) }, null, 8, ["agent"]),
1170
1103
  createVNode(_component_AgentsAgentStatsCards, {
1171
1104
  stats: unref(stats),
1172
1105
  loading: unref(statsLoading),
@@ -1177,78 +1110,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1177
1110
  data: unref(stats).dailyRuns,
1178
1111
  title: "Run Activity"
1179
1112
  }, null, 8, ["data"])) : createCommentVNode("", true),
1180
- createVNode("div", { class: "space-y-4" }, [
1181
- createVNode("h2", { class: "text-lg font-semibold" }, " Run History "),
1182
- unref(runsLoading) ? (openBlock(), createBlock("div", {
1183
- key: 0,
1184
- class: "flex items-center justify-center h-32"
1185
- }, [
1186
- createVNode(_component_UIcon, {
1187
- name: "i-lucide-loader-2",
1188
- class: "w-6 h-6 animate-spin text-neutral-400"
1189
- })
1190
- ])) : unref(runs).length === 0 ? (openBlock(), createBlock("div", {
1191
- key: 1,
1192
- class: "flex flex-col items-center justify-center h-32 text-neutral-500"
1193
- }, [
1194
- createVNode(_component_UIcon, {
1195
- name: "i-lucide-history",
1196
- class: "w-8 h-8 mb-2"
1197
- }),
1198
- createVNode("p", null, "No runs yet")
1199
- ])) : (openBlock(), createBlock("div", {
1200
- key: 2,
1201
- class: "space-y-2"
1202
- }, [
1203
- (openBlock(true), createBlock(Fragment, null, renderList(unref(runs), (run) => {
1204
- return openBlock(), createBlock(_component_UCard, {
1205
- key: run.id,
1206
- class: "cursor-pointer transition-all hover:ring-2 hover:ring-primary/50",
1207
- onClick: ($event) => openRunModal(run)
1208
- }, {
1209
- default: withCtx(() => [
1210
- createVNode("div", { class: "flex items-start justify-between gap-4" }, [
1211
- createVNode("div", { class: "flex-1 min-w-0" }, [
1212
- createVNode("div", { class: "flex items-center gap-2 mb-1" }, [
1213
- run.status === "running" ? (openBlock(), createBlock(_component_UBadge, {
1214
- key: 0,
1215
- color: "info",
1216
- variant: "subtle",
1217
- size: "sm"
1218
- }, {
1219
- default: withCtx(() => [
1220
- createVNode(_component_UIcon, {
1221
- name: "i-lucide-loader-2",
1222
- class: "w-3 h-3 animate-spin mr-1"
1223
- }),
1224
- createTextVNode(" Running ")
1225
- ]),
1226
- _: 1
1227
- })) : (openBlock(), createBlock(_component_UBadge, {
1228
- key: 1,
1229
- color: getStatusColor(run.status),
1230
- size: "sm"
1231
- }, {
1232
- default: withCtx(() => [
1233
- createTextVNode(toDisplayString(run.status), 1)
1234
- ]),
1235
- _: 2
1236
- }, 1032, ["color"])),
1237
- createVNode("span", { class: "text-sm text-muted" }, toDisplayString(formatDateTime(run.startedAt)), 1)
1238
- ]),
1239
- createVNode("p", { class: "text-sm text-muted truncate" }, toDisplayString(run.error ? truncateOutput(run.error) : truncateOutput(run.output)), 1)
1240
- ]),
1241
- createVNode("div", { class: "text-right text-sm text-muted shrink-0" }, [
1242
- createVNode("p", null, toDisplayString(formatDuration(run.durationMs)), 1),
1243
- run.costUsd ? (openBlock(), createBlock("p", { key: 0 }, " $" + toDisplayString(run.costUsd.toFixed(4)), 1)) : createCommentVNode("", true)
1244
- ])
1245
- ])
1246
- ]),
1247
- _: 2
1248
- }, 1032, ["onClick"]);
1249
- }), 128))
1250
- ]))
1251
- ])
1113
+ createVNode(_component_AgentsAgentRunHistory, {
1114
+ runs: unref(runs),
1115
+ loading: unref(runsLoading),
1116
+ onSelect: openRunModal
1117
+ }, null, 8, ["runs", "loading"])
1252
1118
  ])) : createCommentVNode("", true)
1253
1119
  ];
1254
1120
  }
@@ -1398,4 +1264,4 @@ _sfc_main.setup = (props, ctx) => {
1398
1264
  };
1399
1265
 
1400
1266
  export { _sfc_main as default };
1401
- //# sourceMappingURL=_id_-DN00UDdO.mjs.map
1267
+ //# sourceMappingURL=_id_-CwBeklIM.mjs.map