@contractspec/example.agent-console 1.57.0 → 1.58.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 (386) hide show
  1. package/.turbo/turbo-build.log +210 -278
  2. package/.turbo/turbo-prebuild.log +1 -0
  3. package/CHANGELOG.md +16 -0
  4. package/dist/agent/agent.entity.d.ts +35 -40
  5. package/dist/agent/agent.entity.d.ts.map +1 -1
  6. package/dist/agent/agent.entity.js +124 -132
  7. package/dist/agent/agent.enum.d.ts +3 -8
  8. package/dist/agent/agent.enum.d.ts.map +1 -1
  9. package/dist/agent/agent.enum.js +22 -30
  10. package/dist/agent/agent.event.d.ts +105 -111
  11. package/dist/agent/agent.event.d.ts.map +1 -1
  12. package/dist/agent/agent.event.js +107 -200
  13. package/dist/agent/agent.handler.d.ts +74 -77
  14. package/dist/agent/agent.handler.d.ts.map +1 -1
  15. package/dist/agent/agent.handler.js +293 -75
  16. package/dist/agent/agent.operation.d.ts +424 -430
  17. package/dist/agent/agent.operation.d.ts.map +1 -1
  18. package/dist/agent/agent.operation.js +728 -478
  19. package/dist/agent/agent.presentation.d.ts +3 -8
  20. package/dist/agent/agent.presentation.d.ts.map +1 -1
  21. package/dist/agent/agent.presentation.js +275 -84
  22. package/dist/agent/agent.schema.d.ts +371 -376
  23. package/dist/agent/agent.schema.d.ts.map +1 -1
  24. package/dist/agent/agent.schema.js +209 -399
  25. package/dist/agent/agent.test-spec.d.ts +2 -7
  26. package/dist/agent/agent.test-spec.d.ts.map +1 -1
  27. package/dist/agent/agent.test-spec.js +56 -62
  28. package/dist/agent/index.d.ts +11 -8
  29. package/dist/agent/index.d.ts.map +1 -0
  30. package/dist/agent/index.js +1245 -9
  31. package/dist/agent.capability.d.ts +1 -6
  32. package/dist/agent.capability.d.ts.map +1 -1
  33. package/dist/agent.capability.js +17 -20
  34. package/dist/agent.feature.d.ts +7 -6
  35. package/dist/agent.feature.d.ts.map +1 -1
  36. package/dist/agent.feature.js +117 -303
  37. package/dist/browser/agent/agent.entity.js +127 -0
  38. package/dist/browser/agent/agent.enum.js +25 -0
  39. package/dist/browser/agent/agent.event.js +116 -0
  40. package/dist/browser/agent/agent.handler.js +301 -0
  41. package/dist/browser/agent/agent.operation.js +735 -0
  42. package/dist/browser/agent/agent.presentation.js +279 -0
  43. package/dist/browser/agent/agent.schema.js +215 -0
  44. package/dist/browser/agent/agent.test-spec.js +58 -0
  45. package/dist/browser/agent/index.js +1244 -0
  46. package/dist/browser/agent.capability.js +16 -0
  47. package/dist/browser/agent.feature.js +118 -0
  48. package/dist/browser/docs/agent-console.docblock.js +93 -0
  49. package/dist/browser/docs/index.js +93 -0
  50. package/dist/browser/example.js +42 -0
  51. package/dist/browser/handlers/agent.handlers.js +252 -0
  52. package/dist/browser/handlers/index.js +799 -0
  53. package/dist/browser/index.js +5895 -0
  54. package/dist/browser/presentations/index.js +684 -0
  55. package/dist/browser/run/index.js +1350 -0
  56. package/dist/browser/run/run.entity.js +160 -0
  57. package/dist/browser/run/run.enum.js +34 -0
  58. package/dist/browser/run/run.event.js +213 -0
  59. package/dist/browser/run/run.handler.js +254 -0
  60. package/dist/browser/run/run.operation.js +667 -0
  61. package/dist/browser/run/run.presentation.js +220 -0
  62. package/dist/browser/run/run.schema.js +179 -0
  63. package/dist/browser/run/run.test-spec.js +58 -0
  64. package/dist/browser/seeders/index.js +21 -0
  65. package/dist/browser/shared/index.js +334 -0
  66. package/dist/browser/shared/mock-agents.js +82 -0
  67. package/dist/browser/shared/mock-runs.js +108 -0
  68. package/dist/browser/shared/mock-tools.js +146 -0
  69. package/dist/browser/shared/overlay-types.js +0 -0
  70. package/dist/browser/tool/index.js +946 -0
  71. package/dist/browser/tool/tool.entity.js +90 -0
  72. package/dist/browser/tool/tool.enum.js +26 -0
  73. package/dist/browser/tool/tool.event.js +99 -0
  74. package/dist/browser/tool/tool.handler.js +223 -0
  75. package/dist/browser/tool/tool.operation.js +482 -0
  76. package/dist/browser/tool/tool.presentation.js +185 -0
  77. package/dist/browser/tool/tool.schema.js +141 -0
  78. package/dist/browser/tool/tool.test-spec.js +58 -0
  79. package/dist/browser/ui/AgentDashboard.js +1607 -0
  80. package/dist/browser/ui/AgentRunList.js +250 -0
  81. package/dist/browser/ui/AgentToolRegistry.js +212 -0
  82. package/dist/browser/ui/hooks/index.js +271 -0
  83. package/dist/browser/ui/hooks/useAgentList.js +55 -0
  84. package/dist/browser/ui/hooks/useAgentMutations.js +76 -0
  85. package/dist/browser/ui/hooks/useRunList.js +55 -0
  86. package/dist/browser/ui/hooks/useToolList.js +85 -0
  87. package/dist/browser/ui/index.js +2080 -0
  88. package/dist/browser/ui/modals/AgentActionsModal.js +304 -0
  89. package/dist/browser/ui/modals/CreateAgentModal.js +229 -0
  90. package/dist/browser/ui/modals/index.js +532 -0
  91. package/dist/browser/ui/overlays/demo-overlays.js +64 -0
  92. package/dist/browser/ui/overlays/index.js +64 -0
  93. package/dist/browser/ui/renderers/agent-list.markdown.js +55 -0
  94. package/dist/browser/ui/renderers/agent-list.renderer.js +180 -0
  95. package/dist/browser/ui/renderers/dashboard.markdown.js +117 -0
  96. package/dist/browser/ui/renderers/index.js +446 -0
  97. package/dist/browser/ui/renderers/run-list.markdown.js +45 -0
  98. package/dist/browser/ui/renderers/tool-registry.markdown.js +53 -0
  99. package/dist/browser/ui/views/AgentListView.js +165 -0
  100. package/dist/browser/ui/views/RunListView.js +247 -0
  101. package/dist/browser/ui/views/ToolRegistryView.js +209 -0
  102. package/dist/browser/ui/views/index.js +619 -0
  103. package/dist/docs/agent-console.docblock.d.ts +2 -1
  104. package/dist/docs/agent-console.docblock.d.ts.map +1 -0
  105. package/dist/docs/agent-console.docblock.js +45 -64
  106. package/dist/docs/index.d.ts +2 -1
  107. package/dist/docs/index.d.ts.map +1 -0
  108. package/dist/docs/index.js +94 -1
  109. package/dist/example.d.ts +2 -6
  110. package/dist/example.d.ts.map +1 -1
  111. package/dist/example.js +41 -55
  112. package/dist/handlers/agent.handlers.d.ts +121 -120
  113. package/dist/handlers/agent.handlers.d.ts.map +1 -1
  114. package/dist/handlers/agent.handlers.js +235 -245
  115. package/dist/handlers/index.d.ts +8 -5
  116. package/dist/handlers/index.d.ts.map +1 -0
  117. package/dist/handlers/index.js +799 -5
  118. package/dist/index.d.ts +26 -48
  119. package/dist/index.d.ts.map +1 -0
  120. package/dist/index.js +5896 -50
  121. package/dist/node/agent/agent.entity.js +127 -0
  122. package/dist/node/agent/agent.enum.js +25 -0
  123. package/dist/node/agent/agent.event.js +116 -0
  124. package/dist/node/agent/agent.handler.js +301 -0
  125. package/dist/node/agent/agent.operation.js +735 -0
  126. package/dist/node/agent/agent.presentation.js +279 -0
  127. package/dist/node/agent/agent.schema.js +215 -0
  128. package/dist/node/agent/agent.test-spec.js +58 -0
  129. package/dist/node/agent/index.js +1244 -0
  130. package/dist/node/agent.capability.js +16 -0
  131. package/dist/node/agent.feature.js +118 -0
  132. package/dist/node/docs/agent-console.docblock.js +93 -0
  133. package/dist/node/docs/index.js +93 -0
  134. package/dist/node/example.js +42 -0
  135. package/dist/node/handlers/agent.handlers.js +252 -0
  136. package/dist/node/handlers/index.js +799 -0
  137. package/dist/node/index.js +5895 -0
  138. package/dist/node/presentations/index.js +684 -0
  139. package/dist/node/run/index.js +1350 -0
  140. package/dist/node/run/run.entity.js +160 -0
  141. package/dist/node/run/run.enum.js +34 -0
  142. package/dist/node/run/run.event.js +213 -0
  143. package/dist/node/run/run.handler.js +254 -0
  144. package/dist/node/run/run.operation.js +667 -0
  145. package/dist/node/run/run.presentation.js +220 -0
  146. package/dist/node/run/run.schema.js +179 -0
  147. package/dist/node/run/run.test-spec.js +58 -0
  148. package/dist/node/seeders/index.js +21 -0
  149. package/dist/node/shared/index.js +334 -0
  150. package/dist/node/shared/mock-agents.js +82 -0
  151. package/dist/node/shared/mock-runs.js +108 -0
  152. package/dist/node/shared/mock-tools.js +146 -0
  153. package/dist/node/shared/overlay-types.js +0 -0
  154. package/dist/node/tool/index.js +946 -0
  155. package/dist/node/tool/tool.entity.js +90 -0
  156. package/dist/node/tool/tool.enum.js +26 -0
  157. package/dist/node/tool/tool.event.js +99 -0
  158. package/dist/node/tool/tool.handler.js +223 -0
  159. package/dist/node/tool/tool.operation.js +482 -0
  160. package/dist/node/tool/tool.presentation.js +185 -0
  161. package/dist/node/tool/tool.schema.js +141 -0
  162. package/dist/node/tool/tool.test-spec.js +58 -0
  163. package/dist/node/ui/AgentDashboard.js +1607 -0
  164. package/dist/node/ui/AgentRunList.js +250 -0
  165. package/dist/node/ui/AgentToolRegistry.js +212 -0
  166. package/dist/node/ui/hooks/index.js +271 -0
  167. package/dist/node/ui/hooks/useAgentList.js +55 -0
  168. package/dist/node/ui/hooks/useAgentMutations.js +76 -0
  169. package/dist/node/ui/hooks/useRunList.js +55 -0
  170. package/dist/node/ui/hooks/useToolList.js +85 -0
  171. package/dist/node/ui/index.js +2080 -0
  172. package/dist/node/ui/modals/AgentActionsModal.js +304 -0
  173. package/dist/node/ui/modals/CreateAgentModal.js +229 -0
  174. package/dist/node/ui/modals/index.js +532 -0
  175. package/dist/node/ui/overlays/demo-overlays.js +64 -0
  176. package/dist/node/ui/overlays/index.js +64 -0
  177. package/dist/node/ui/renderers/agent-list.markdown.js +55 -0
  178. package/dist/node/ui/renderers/agent-list.renderer.js +180 -0
  179. package/dist/node/ui/renderers/dashboard.markdown.js +117 -0
  180. package/dist/node/ui/renderers/index.js +446 -0
  181. package/dist/node/ui/renderers/run-list.markdown.js +45 -0
  182. package/dist/node/ui/renderers/tool-registry.markdown.js +53 -0
  183. package/dist/node/ui/views/AgentListView.js +165 -0
  184. package/dist/node/ui/views/RunListView.js +247 -0
  185. package/dist/node/ui/views/ToolRegistryView.js +209 -0
  186. package/dist/node/ui/views/index.js +619 -0
  187. package/dist/presentations/index.d.ts +9 -4
  188. package/dist/presentations/index.d.ts.map +1 -0
  189. package/dist/presentations/index.js +684 -4
  190. package/dist/run/index.d.ts +11 -8
  191. package/dist/run/index.d.ts.map +1 -0
  192. package/dist/run/index.js +1351 -9
  193. package/dist/run/run.entity.d.ts +55 -60
  194. package/dist/run/run.entity.d.ts.map +1 -1
  195. package/dist/run/run.entity.js +155 -199
  196. package/dist/run/run.enum.d.ts +4 -9
  197. package/dist/run/run.enum.d.ts.map +1 -1
  198. package/dist/run/run.enum.js +30 -40
  199. package/dist/run/run.event.d.ts +255 -261
  200. package/dist/run/run.event.d.ts.map +1 -1
  201. package/dist/run/run.event.js +198 -418
  202. package/dist/run/run.handler.d.ts +169 -172
  203. package/dist/run/run.handler.d.ts.map +1 -1
  204. package/dist/run/run.handler.js +246 -74
  205. package/dist/run/run.operation.d.ts +658 -664
  206. package/dist/run/run.operation.d.ts.map +1 -1
  207. package/dist/run/run.operation.js +659 -617
  208. package/dist/run/run.presentation.d.ts +2 -7
  209. package/dist/run/run.presentation.d.ts.map +1 -1
  210. package/dist/run/run.presentation.js +217 -61
  211. package/dist/run/run.schema.d.ts +367 -372
  212. package/dist/run/run.schema.d.ts.map +1 -1
  213. package/dist/run/run.schema.js +172 -330
  214. package/dist/run/run.test-spec.d.ts +2 -7
  215. package/dist/run/run.test-spec.d.ts.map +1 -1
  216. package/dist/run/run.test-spec.js +56 -62
  217. package/dist/seeders/index.d.ts +4 -8
  218. package/dist/seeders/index.d.ts.map +1 -1
  219. package/dist/seeders/index.js +19 -17
  220. package/dist/shared/index.d.ts +7 -4
  221. package/dist/shared/index.d.ts.map +1 -0
  222. package/dist/shared/index.js +334 -4
  223. package/dist/shared/mock-agents.d.ts +77 -80
  224. package/dist/shared/mock-agents.d.ts.map +1 -1
  225. package/dist/shared/mock-agents.js +82 -93
  226. package/dist/shared/mock-runs.d.ts +107 -110
  227. package/dist/shared/mock-runs.d.ts.map +1 -1
  228. package/dist/shared/mock-runs.js +108 -117
  229. package/dist/shared/mock-tools.d.ts +217 -220
  230. package/dist/shared/mock-tools.d.ts.map +1 -1
  231. package/dist/shared/mock-tools.js +146 -180
  232. package/dist/shared/overlay-types.d.ts +25 -28
  233. package/dist/shared/overlay-types.d.ts.map +1 -1
  234. package/dist/shared/overlay-types.js +1 -0
  235. package/dist/tool/index.d.ts +11 -8
  236. package/dist/tool/index.d.ts.map +1 -0
  237. package/dist/tool/index.js +947 -9
  238. package/dist/tool/tool.entity.d.ts +23 -28
  239. package/dist/tool/tool.entity.d.ts.map +1 -1
  240. package/dist/tool/tool.entity.js +87 -101
  241. package/dist/tool/tool.enum.d.ts +3 -8
  242. package/dist/tool/tool.enum.d.ts.map +1 -1
  243. package/dist/tool/tool.enum.js +23 -31
  244. package/dist/tool/tool.event.d.ts +84 -90
  245. package/dist/tool/tool.event.d.ts.map +1 -1
  246. package/dist/tool/tool.event.js +92 -151
  247. package/dist/tool/tool.handler.d.ts +266 -269
  248. package/dist/tool/tool.handler.d.ts.map +1 -1
  249. package/dist/tool/tool.handler.js +213 -76
  250. package/dist/tool/tool.operation.d.ts +359 -365
  251. package/dist/tool/tool.operation.d.ts.map +1 -1
  252. package/dist/tool/tool.operation.js +477 -400
  253. package/dist/tool/tool.presentation.d.ts +2 -7
  254. package/dist/tool/tool.presentation.d.ts.map +1 -1
  255. package/dist/tool/tool.presentation.js +182 -61
  256. package/dist/tool/tool.schema.d.ts +196 -201
  257. package/dist/tool/tool.schema.d.ts.map +1 -1
  258. package/dist/tool/tool.schema.js +137 -231
  259. package/dist/tool/tool.test-spec.d.ts +2 -7
  260. package/dist/tool/tool.test-spec.d.ts.map +1 -1
  261. package/dist/tool/tool.test-spec.js +56 -62
  262. package/dist/ui/AgentDashboard.d.ts +1 -6
  263. package/dist/ui/AgentDashboard.d.ts.map +1 -1
  264. package/dist/ui/AgentDashboard.js +1598 -410
  265. package/dist/ui/AgentRunList.d.ts +7 -2
  266. package/dist/ui/AgentRunList.d.ts.map +1 -0
  267. package/dist/ui/AgentRunList.js +249 -3
  268. package/dist/ui/AgentToolRegistry.d.ts +7 -2
  269. package/dist/ui/AgentToolRegistry.d.ts.map +1 -0
  270. package/dist/ui/AgentToolRegistry.js +211 -3
  271. package/dist/ui/hooks/index.d.ts +8 -6
  272. package/dist/ui/hooks/index.d.ts.map +1 -0
  273. package/dist/ui/hooks/index.js +270 -6
  274. package/dist/ui/hooks/useAgentList.d.ts +21 -25
  275. package/dist/ui/hooks/useAgentList.d.ts.map +1 -1
  276. package/dist/ui/hooks/useAgentList.js +52 -62
  277. package/dist/ui/hooks/useAgentMutations.d.ts +22 -25
  278. package/dist/ui/hooks/useAgentMutations.d.ts.map +1 -1
  279. package/dist/ui/hooks/useAgentMutations.js +73 -120
  280. package/dist/ui/hooks/useRunList.d.ts +17 -21
  281. package/dist/ui/hooks/useRunList.d.ts.map +1 -1
  282. package/dist/ui/hooks/useRunList.js +52 -62
  283. package/dist/ui/hooks/useToolList.d.ts +32 -36
  284. package/dist/ui/hooks/useToolList.d.ts.map +1 -1
  285. package/dist/ui/hooks/useToolList.js +82 -92
  286. package/dist/ui/index.d.ts +9 -24
  287. package/dist/ui/index.d.ts.map +1 -0
  288. package/dist/ui/index.js +2081 -24
  289. package/dist/ui/modals/AgentActionsModal.d.ts +11 -24
  290. package/dist/ui/modals/AgentActionsModal.d.ts.map +1 -1
  291. package/dist/ui/modals/AgentActionsModal.js +300 -257
  292. package/dist/ui/modals/CreateAgentModal.d.ts +12 -21
  293. package/dist/ui/modals/CreateAgentModal.d.ts.map +1 -1
  294. package/dist/ui/modals/CreateAgentModal.js +226 -210
  295. package/dist/ui/modals/index.d.ts +3 -3
  296. package/dist/ui/modals/index.d.ts.map +1 -0
  297. package/dist/ui/modals/index.js +532 -3
  298. package/dist/ui/overlays/demo-overlays.d.ts +10 -8
  299. package/dist/ui/overlays/demo-overlays.d.ts.map +1 -1
  300. package/dist/ui/overlays/demo-overlays.js +63 -71
  301. package/dist/ui/overlays/index.d.ts +2 -2
  302. package/dist/ui/overlays/index.d.ts.map +1 -0
  303. package/dist/ui/overlays/index.js +65 -3
  304. package/dist/ui/renderers/agent-list.markdown.d.ts +9 -8
  305. package/dist/ui/renderers/agent-list.markdown.d.ts.map +1 -1
  306. package/dist/ui/renderers/agent-list.markdown.js +55 -50
  307. package/dist/ui/renderers/agent-list.renderer.d.ts +5 -6
  308. package/dist/ui/renderers/agent-list.renderer.d.ts.map +1 -1
  309. package/dist/ui/renderers/agent-list.renderer.js +179 -17
  310. package/dist/ui/renderers/dashboard.markdown.d.ts +9 -8
  311. package/dist/ui/renderers/dashboard.markdown.d.ts.map +1 -1
  312. package/dist/ui/renderers/dashboard.markdown.js +115 -97
  313. package/dist/ui/renderers/index.d.ts +9 -6
  314. package/dist/ui/renderers/index.d.ts.map +1 -0
  315. package/dist/ui/renderers/index.js +446 -6
  316. package/dist/ui/renderers/run-list.markdown.d.ts +9 -8
  317. package/dist/ui/renderers/run-list.markdown.d.ts.map +1 -1
  318. package/dist/ui/renderers/run-list.markdown.js +42 -40
  319. package/dist/ui/renderers/tool-registry.markdown.d.ts +9 -8
  320. package/dist/ui/renderers/tool-registry.markdown.d.ts.map +1 -1
  321. package/dist/ui/renderers/tool-registry.markdown.js +52 -53
  322. package/dist/ui/views/AgentListView.d.ts +1 -6
  323. package/dist/ui/views/AgentListView.d.ts.map +1 -1
  324. package/dist/ui/views/AgentListView.js +161 -88
  325. package/dist/ui/views/RunListView.d.ts +4 -11
  326. package/dist/ui/views/RunListView.d.ts.map +1 -1
  327. package/dist/ui/views/RunListView.js +237 -154
  328. package/dist/ui/views/ToolRegistryView.d.ts +4 -11
  329. package/dist/ui/views/ToolRegistryView.d.ts.map +1 -1
  330. package/dist/ui/views/ToolRegistryView.js +205 -92
  331. package/dist/ui/views/index.d.ts +7 -4
  332. package/dist/ui/views/index.d.ts.map +1 -0
  333. package/dist/ui/views/index.js +619 -4
  334. package/package.json +656 -118
  335. package/tsdown.config.js +1 -2
  336. package/.turbo/turbo-build$colon$bundle.log +0 -285
  337. package/dist/agent/agent.entity.js.map +0 -1
  338. package/dist/agent/agent.enum.js.map +0 -1
  339. package/dist/agent/agent.event.js.map +0 -1
  340. package/dist/agent/agent.handler.js.map +0 -1
  341. package/dist/agent/agent.operation.js.map +0 -1
  342. package/dist/agent/agent.presentation.js.map +0 -1
  343. package/dist/agent/agent.schema.js.map +0 -1
  344. package/dist/agent/agent.test-spec.js.map +0 -1
  345. package/dist/agent.capability.js.map +0 -1
  346. package/dist/agent.feature.js.map +0 -1
  347. package/dist/docs/agent-console.docblock.js.map +0 -1
  348. package/dist/example.js.map +0 -1
  349. package/dist/handlers/agent.handlers.js.map +0 -1
  350. package/dist/run/run.entity.js.map +0 -1
  351. package/dist/run/run.enum.js.map +0 -1
  352. package/dist/run/run.event.js.map +0 -1
  353. package/dist/run/run.handler.js.map +0 -1
  354. package/dist/run/run.operation.js.map +0 -1
  355. package/dist/run/run.presentation.js.map +0 -1
  356. package/dist/run/run.schema.js.map +0 -1
  357. package/dist/run/run.test-spec.js.map +0 -1
  358. package/dist/seeders/index.js.map +0 -1
  359. package/dist/shared/mock-agents.js.map +0 -1
  360. package/dist/shared/mock-runs.js.map +0 -1
  361. package/dist/shared/mock-tools.js.map +0 -1
  362. package/dist/tool/tool.entity.js.map +0 -1
  363. package/dist/tool/tool.enum.js.map +0 -1
  364. package/dist/tool/tool.event.js.map +0 -1
  365. package/dist/tool/tool.handler.js.map +0 -1
  366. package/dist/tool/tool.operation.js.map +0 -1
  367. package/dist/tool/tool.presentation.js.map +0 -1
  368. package/dist/tool/tool.schema.js.map +0 -1
  369. package/dist/tool/tool.test-spec.js.map +0 -1
  370. package/dist/ui/AgentDashboard.js.map +0 -1
  371. package/dist/ui/hooks/useAgentList.js.map +0 -1
  372. package/dist/ui/hooks/useAgentMutations.js.map +0 -1
  373. package/dist/ui/hooks/useRunList.js.map +0 -1
  374. package/dist/ui/hooks/useToolList.js.map +0 -1
  375. package/dist/ui/modals/AgentActionsModal.js.map +0 -1
  376. package/dist/ui/modals/CreateAgentModal.js.map +0 -1
  377. package/dist/ui/overlays/demo-overlays.js.map +0 -1
  378. package/dist/ui/renderers/agent-list.markdown.js.map +0 -1
  379. package/dist/ui/renderers/agent-list.renderer.js.map +0 -1
  380. package/dist/ui/renderers/dashboard.markdown.js.map +0 -1
  381. package/dist/ui/renderers/run-list.markdown.js.map +0 -1
  382. package/dist/ui/renderers/tool-registry.markdown.js.map +0 -1
  383. package/dist/ui/views/AgentListView.js.map +0 -1
  384. package/dist/ui/views/RunListView.js.map +0 -1
  385. package/dist/ui/views/ToolRegistryView.js.map +0 -1
  386. package/tsconfig.tsbuildinfo +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-list.renderer.js","names":[],"sources":["../../../src/ui/renderers/agent-list.renderer.tsx"],"sourcesContent":["/**\n * React Renderer for Agent List Presentation\n */\nimport type {\n PresentationRenderer,\n PresentationSpec,\n} from '@contractspec/lib.contracts';\nimport { AgentListView } from '../views/AgentListView';\n\n/**\n * React renderer for agent-console.agent.list presentation\n */\nexport const agentListReactRenderer: PresentationRenderer<React.ReactElement> =\n {\n target: 'react',\n render: async (desc: PresentationSpec) => {\n if (desc.source.type !== 'component') {\n throw new Error('AgentListRenderer: expected component source');\n }\n if (desc.source.componentKey !== 'AgentListView') {\n throw new Error(\n `AgentListRenderer: unknown component ${desc.source.componentKey}`\n );\n }\n return <AgentListView />;\n },\n };\n"],"mappings":";;;;;;;AAYA,MAAa,yBACX;CACE,QAAQ;CACR,QAAQ,OAAO,SAA2B;AACxC,MAAI,KAAK,OAAO,SAAS,YACvB,OAAM,IAAI,MAAM,+CAA+C;AAEjE,MAAI,KAAK,OAAO,iBAAiB,gBAC/B,OAAM,IAAI,MACR,wCAAwC,KAAK,OAAO,eACrD;AAEH,SAAO,oBAAC,kBAAgB;;CAE3B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"dashboard.markdown.js","names":[],"sources":["../../../src/ui/renderers/dashboard.markdown.ts"],"sourcesContent":["/**\n * Markdown Renderer for Agent Console Dashboard\n *\n * Provides a comprehensive overview of agents, runs, and tools.\n */\nimport type {\n PresentationSpec,\n PresentationRenderer,\n} from '@contractspec/lib.contracts';\nimport {\n mockListAgentsHandler,\n mockListRunsHandler,\n mockListToolsHandler,\n} from '@contractspec/example.agent-console/handlers';\n\nfunction formatDuration(ms: number): string {\n if (ms < 1000) return `${ms}ms`;\n if (ms < 60000) return `${(ms / 1000).toFixed(1)}s`;\n return `${(ms / 60000).toFixed(1)}m`;\n}\n\n/**\n * Markdown renderer for agent-console.dashboard presentation\n * Only handles AgentConsoleDashboard component\n */\nexport const agentDashboardMarkdownRenderer: PresentationRenderer<{\n mimeType: string;\n body: string;\n}> = {\n target: 'markdown',\n render: async (desc: PresentationSpec) => {\n // Only handle AgentConsoleDashboard\n if (\n desc.source.type !== 'component' ||\n desc.source.componentKey !== 'AgentConsoleDashboard'\n ) {\n throw new Error(\n 'agentDashboardMarkdownRenderer: not AgentConsoleDashboard'\n );\n }\n\n // Fetch all data in parallel\n const [agentsData, runsData, toolsData] = await Promise.all([\n mockListAgentsHandler({\n organizationId: 'demo-org',\n limit: 100,\n }),\n mockListRunsHandler({\n limit: 100,\n }),\n mockListToolsHandler({\n organizationId: 'demo-org',\n limit: 100,\n }),\n ]);\n\n // Calculate stats\n const activeAgents = agentsData.items.filter(\n (a) => a.status === 'ACTIVE'\n ).length;\n const completedRuns = runsData.items.filter(\n (r) => r.status === 'COMPLETED'\n ).length;\n const failedRuns = runsData.items.filter(\n (r) => r.status === 'FAILED'\n ).length;\n const totalTokens = runsData.items.reduce(\n (sum, r) => sum + (r.totalTokens ?? 0),\n 0\n );\n const totalCost = runsData.items.reduce(\n (sum, r) => sum + (r.estimatedCostUsd ?? 0),\n 0\n );\n const activeTools = toolsData.items.filter(\n (t) => t.status === 'ACTIVE'\n ).length;\n\n // Build dashboard markdown\n const lines: string[] = [\n '# Agent Console Dashboard',\n '',\n '> AI agent operations overview',\n '',\n '## Summary',\n '',\n '| Metric | Value |',\n '|--------|-------|',\n `| Total Agents | ${agentsData.total} |`,\n `| Active Agents | ${activeAgents} |`,\n `| Total Runs | ${runsData.total} |`,\n `| Completed Runs | ${completedRuns} |`,\n `| Failed Runs | ${failedRuns} |`,\n `| Total Tokens | ${totalTokens.toLocaleString()} |`,\n `| Total Cost | $${totalCost.toFixed(4)} |`,\n `| Total Tools | ${toolsData.total} |`,\n `| Active Tools | ${activeTools} |`,\n '',\n '## Agents',\n '',\n ];\n\n // Agent list\n if (agentsData.items.length === 0) {\n lines.push('_No agents configured._');\n } else {\n lines.push('| Agent | Model | Status | Description |');\n lines.push('|-------|-------|--------|-------------|');\n for (const agent of agentsData.items.slice(0, 5)) {\n lines.push(\n `| ${agent.name} | ${agent.modelProvider}/${agent.modelName} | ${agent.status} | ${agent.description ?? '-'} |`\n );\n }\n if (agentsData.items.length > 5) {\n lines.push(`| ... | ... | ... | _${agentsData.total - 5} more_ |`);\n }\n }\n\n lines.push('');\n lines.push('## Recent Runs');\n lines.push('');\n\n // Recent runs\n if (runsData.items.length === 0) {\n lines.push('_No runs yet._');\n } else {\n lines.push('| Run ID | Agent | Status | Duration | Tokens | Cost |');\n lines.push('|--------|-------|--------|----------|--------|------|');\n for (const run of runsData.items.slice(0, 5)) {\n lines.push(\n `| ${run.id.slice(-8)} | ${run.agentName} | ${run.status} | ${run.durationMs ? formatDuration(run.durationMs) : '-'} | ${run.totalTokens ?? 0} | $${(run.estimatedCostUsd ?? 0).toFixed(4)} |`\n );\n }\n if (runsData.items.length > 5) {\n lines.push(\n `| ... | ... | ... | ... | ... | _${runsData.total - 5} more_ |`\n );\n }\n }\n\n lines.push('');\n lines.push('## Tools');\n lines.push('');\n\n // Tool categories\n const toolsByCategory: Record<string, typeof toolsData.items> = {};\n for (const tool of toolsData.items) {\n const cat = tool.category;\n if (!toolsByCategory[cat]) toolsByCategory[cat] = [];\n toolsByCategory[cat].push(tool);\n }\n\n if (Object.keys(toolsByCategory).length === 0) {\n lines.push('_No tools registered._');\n } else {\n lines.push('| Category | Tools | Active |');\n lines.push('|----------|-------|--------|');\n for (const [category, tools] of Object.entries(toolsByCategory).sort()) {\n const active = tools.filter((t) => t.status === 'ACTIVE').length;\n lines.push(`| ${category} | ${tools.length} | ${active} |`);\n }\n }\n\n return {\n mimeType: 'text/markdown',\n body: lines.join('\\n'),\n };\n },\n};\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"run-list.markdown.js","names":[],"sources":["../../../src/ui/renderers/run-list.markdown.ts"],"sourcesContent":["/**\n * Markdown Renderer for Run List Presentation\n *\n * Uses dynamic import for handlers to ensure correct build order.\n */\nimport type {\n PresentationRenderer,\n PresentationSpec,\n} from '@contractspec/lib.contracts';\nimport type { Run } from '../hooks/useRunList';\nimport { mockListRunsHandler } from '@contractspec/example.agent-console/handlers';\n\ninterface RunListOutput {\n items: Run[];\n total: number;\n hasMore: boolean;\n}\n\nfunction formatDuration(ms: number): string {\n if (ms < 1000) return `${ms}ms`;\n if (ms < 60000) return `${(ms / 1000).toFixed(1)}s`;\n return `${(ms / 60000).toFixed(1)}m`;\n}\n\n/**\n * Markdown renderer for agent-console.run.list presentation\n * Only handles RunListView component\n */\nexport const runListMarkdownRenderer: PresentationRenderer<{\n mimeType: string;\n body: string;\n}> = {\n target: 'markdown',\n render: async (desc: PresentationSpec) => {\n // Only handle RunListView\n if (\n desc.source.type !== 'component' ||\n desc.source.componentKey !== 'RunListView'\n ) {\n throw new Error('runListMarkdownRenderer: not RunListView');\n }\n\n // Fetch data using mock handler\n const data = (await mockListRunsHandler({\n organizationId: 'demo-org',\n limit: 20,\n offset: 0,\n })) as RunListOutput;\n\n // Generate markdown\n const lines: string[] = [\n `# ${desc.meta.description ?? 'Agent Runs'}`,\n '',\n `> ${desc.meta.key} v${desc.meta.version}`,\n '',\n `**Total Runs:** ${data.total}`,\n '',\n '## Recent Runs',\n '',\n '| ID | Agent | Status | Duration | Tokens | Cost |',\n '| --- | --- | --- | --- | --- | --- |',\n ];\n\n for (const run of data.items.slice(0, 10)) {\n lines.push(\n `| ${run.id.slice(-8)} | ${run.agentName} | ${run.status} | ${run.durationMs ? formatDuration(run.durationMs) : '-'} | ${run.totalTokens} | $${run.estimatedCostUsd?.toFixed(4) ?? '-'} |`\n );\n }\n\n return {\n mimeType: 'text/markdown',\n body: lines.join('\\n'),\n };\n },\n};\n"],"mappings":";;;AAkBA,SAAS,eAAe,IAAoB;AAC1C,KAAI,KAAK,IAAM,QAAO,GAAG,GAAG;AAC5B,KAAI,KAAK,IAAO,QAAO,IAAI,KAAK,KAAM,QAAQ,EAAE,CAAC;AACjD,QAAO,IAAI,KAAK,KAAO,QAAQ,EAAE,CAAC;;;;;;AAOpC,MAAa,0BAGR;CACH,QAAQ;CACR,QAAQ,OAAO,SAA2B;AAExC,MACE,KAAK,OAAO,SAAS,eACrB,KAAK,OAAO,iBAAiB,cAE7B,OAAM,IAAI,MAAM,2CAA2C;EAI7D,MAAM,OAAQ,MAAM,oBAAoB;GACtC,gBAAgB;GAChB,OAAO;GACP,QAAQ;GACT,CAAC;EAGF,MAAM,QAAkB;GACtB,KAAK,KAAK,KAAK,eAAe;GAC9B;GACA,KAAK,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK;GACjC;GACA,mBAAmB,KAAK;GACxB;GACA;GACA;GACA;GACA;GACD;AAED,OAAK,MAAM,OAAO,KAAK,MAAM,MAAM,GAAG,GAAG,CACvC,OAAM,KACJ,KAAK,IAAI,GAAG,MAAM,GAAG,CAAC,KAAK,IAAI,UAAU,KAAK,IAAI,OAAO,KAAK,IAAI,aAAa,eAAe,IAAI,WAAW,GAAG,IAAI,KAAK,IAAI,YAAY,MAAM,IAAI,kBAAkB,QAAQ,EAAE,IAAI,IAAI,IACxL;AAGH,SAAO;GACL,UAAU;GACV,MAAM,MAAM,KAAK,KAAK;GACvB;;CAEJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool-registry.markdown.js","names":[],"sources":["../../../src/ui/renderers/tool-registry.markdown.ts"],"sourcesContent":["/**\n * Markdown Renderer for Tool Registry Presentation\n *\n * Uses dynamic import for handlers to ensure correct build order.\n */\nimport type {\n PresentationRenderer,\n PresentationSpec,\n} from '@contractspec/lib.contracts';\nimport { mockListToolsHandler } from '@contractspec/example.agent-console/handlers';\n\ninterface ToolItem {\n id: string;\n name: string;\n description?: string;\n version: string;\n category: string;\n status: string;\n}\n\n/**\n * Markdown renderer for agent-console.tool.registry presentation\n * Only handles ToolRegistryView component\n */\nexport const toolRegistryMarkdownRenderer: PresentationRenderer<{\n mimeType: string;\n body: string;\n}> = {\n target: 'markdown',\n render: async (desc: PresentationSpec) => {\n // Only handle ToolRegistryView\n if (\n desc.source.type !== 'component' ||\n desc.source.componentKey !== 'ToolRegistryView'\n ) {\n throw new Error('toolRegistryMarkdownRenderer: not ToolRegistryView');\n }\n\n // Fetch data using mock handler\n const data = await mockListToolsHandler({\n organizationId: 'demo-org',\n limit: 50,\n offset: 0,\n });\n\n // Generate markdown\n const lines: string[] = [\n `# ${desc.meta.description ?? 'Tool Registry'}`,\n '',\n `> ${desc.meta.key} v${desc.meta.version}`,\n '',\n `**Total Tools:** ${data.total}`,\n '',\n ];\n\n // Group by category\n const byCategory: Record<string, ToolItem[]> = {};\n for (const tool of data.items as ToolItem[]) {\n const cat = tool.category;\n if (!byCategory[cat]) byCategory[cat] = [];\n byCategory[cat].push(tool);\n }\n\n for (const [category, tools] of Object.entries(byCategory).sort()) {\n lines.push(`## ${category} (${tools.length})`);\n lines.push('');\n\n for (const tool of tools) {\n const statusIcon =\n tool.status === 'ACTIVE'\n ? '✅'\n : tool.status === 'DEPRECATED'\n ? '⚠️'\n : '❌';\n lines.push(`### ${statusIcon} ${tool.name} v${tool.version}`);\n lines.push('');\n lines.push(`> \\`${tool.id}\\``);\n lines.push('');\n if (tool.description) {\n lines.push(tool.description);\n lines.push('');\n }\n }\n }\n\n return {\n mimeType: 'text/markdown',\n body: lines.join('\\n'),\n };\n },\n};\n"],"mappings":";;;;;;;AAwBA,MAAa,+BAGR;CACH,QAAQ;CACR,QAAQ,OAAO,SAA2B;AAExC,MACE,KAAK,OAAO,SAAS,eACrB,KAAK,OAAO,iBAAiB,mBAE7B,OAAM,IAAI,MAAM,qDAAqD;EAIvE,MAAM,OAAO,MAAM,qBAAqB;GACtC,gBAAgB;GAChB,OAAO;GACP,QAAQ;GACT,CAAC;EAGF,MAAM,QAAkB;GACtB,KAAK,KAAK,KAAK,eAAe;GAC9B;GACA,KAAK,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK;GACjC;GACA,oBAAoB,KAAK;GACzB;GACD;EAGD,MAAM,aAAyC,EAAE;AACjD,OAAK,MAAM,QAAQ,KAAK,OAAqB;GAC3C,MAAM,MAAM,KAAK;AACjB,OAAI,CAAC,WAAW,KAAM,YAAW,OAAO,EAAE;AAC1C,cAAW,KAAK,KAAK,KAAK;;AAG5B,OAAK,MAAM,CAAC,UAAU,UAAU,OAAO,QAAQ,WAAW,CAAC,MAAM,EAAE;AACjE,SAAM,KAAK,MAAM,SAAS,IAAI,MAAM,OAAO,GAAG;AAC9C,SAAM,KAAK,GAAG;AAEd,QAAK,MAAM,QAAQ,OAAO;IACxB,MAAM,aACJ,KAAK,WAAW,WACZ,MACA,KAAK,WAAW,eACd,OACA;AACR,UAAM,KAAK,OAAO,WAAW,GAAG,KAAK,KAAK,IAAI,KAAK,UAAU;AAC7D,UAAM,KAAK,GAAG;AACd,UAAM,KAAK,OAAO,KAAK,GAAG,IAAI;AAC9B,UAAM,KAAK,GAAG;AACd,QAAI,KAAK,aAAa;AACpB,WAAM,KAAK,KAAK,YAAY;AAC5B,WAAM,KAAK,GAAG;;;;AAKpB,SAAO;GACL,UAAU;GACV,MAAM,MAAM,KAAK,KAAK;GACvB;;CAEJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AgentListView.js","names":[],"sources":["../../../src/ui/views/AgentListView.tsx"],"sourcesContent":["'use client';\n\n/**\n * Agent List View\n *\n * Displays a list of AI agents with their status and basic info.\n * Uses design-system components with correct props.\n */\nimport {\n Button,\n StatCard,\n StatCardGroup,\n EntityCard,\n StatusChip,\n LoaderBlock,\n ErrorState,\n EmptyState,\n} from '@contractspec/lib.design-system';\nimport { useAgentList, type Agent } from '../hooks/useAgentList';\n\nfunction getStatusTone(\n status: Agent['status']\n): 'success' | 'warning' | 'neutral' {\n switch (status) {\n case 'ACTIVE':\n return 'success';\n case 'PAUSED':\n case 'DRAFT':\n return 'warning';\n case 'ARCHIVED':\n return 'neutral';\n default:\n return 'neutral';\n }\n}\n\nexport function AgentListView() {\n const { data, loading, error, stats, refetch } = useAgentList();\n\n if (loading && !data) {\n return <LoaderBlock label=\"Loading agents...\" />;\n }\n\n if (error) {\n return (\n <ErrorState\n title=\"Failed to load agents\"\n description={error.message}\n onRetry={refetch}\n retryLabel=\"Retry\"\n />\n );\n }\n\n if (!data?.items.length) {\n return (\n <EmptyState\n title=\"No agents yet\"\n description=\"Create your first AI agent to get started.\"\n />\n );\n }\n\n return (\n <div className=\"space-y-6\">\n {/* Stats */}\n {stats && (\n <StatCardGroup>\n <StatCard label=\"Total Agents\" value={stats.total} />\n <StatCard label=\"Active\" value={stats.active} />\n <StatCard label=\"Paused\" value={stats.paused} />\n <StatCard label=\"Draft\" value={stats.draft} />\n </StatCardGroup>\n )}\n\n {/* Actions */}\n <div className=\"flex items-center justify-between\">\n <h3 className=\"text-lg font-semibold\">Agents</h3>\n <Button onPress={() => alert('Create Agent clicked!')}>\n Create Agent\n </Button>\n </div>\n\n {/* Agent List */}\n <div className=\"grid gap-4 sm:grid-cols-2 lg:grid-cols-3\">\n {data.items.map((agent) => (\n <EntityCard\n key={agent.id}\n cardTitle={agent.name}\n cardSubtitle={agent.modelName}\n meta={\n <p className=\"text-muted-foreground text-sm\">\n {agent.description}\n </p>\n }\n chips={\n <StatusChip\n tone={getStatusTone(agent.status)}\n label={agent.status}\n />\n }\n footer={\n <span className=\"text-muted-foreground text-xs\">\n Created {agent.createdAt.toLocaleDateString()}\n </span>\n }\n onClick={() => alert(`View agent: ${agent.name}`)}\n />\n ))}\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;AAoBA,SAAS,cACP,QACmC;AACnC,SAAQ,QAAR;EACE,KAAK,SACH,QAAO;EACT,KAAK;EACL,KAAK,QACH,QAAO;EACT,KAAK,WACH,QAAO;EACT,QACE,QAAO;;;AAIb,SAAgB,gBAAgB;CAC9B,MAAM,EAAE,MAAM,SAAS,OAAO,OAAO,YAAY,cAAc;AAE/D,KAAI,WAAW,CAAC,KACd,QAAO,oBAAC,eAAY,OAAM,sBAAsB;AAGlD,KAAI,MACF,QACE,oBAAC;EACC,OAAM;EACN,aAAa,MAAM;EACnB,SAAS;EACT,YAAW;GACX;AAIN,KAAI,CAAC,MAAM,MAAM,OACf,QACE,oBAAC;EACC,OAAM;EACN,aAAY;GACZ;AAIN,QACE,qBAAC;EAAI,WAAU;;GAEZ,SACC,qBAAC;IACC,oBAAC;KAAS,OAAM;KAAe,OAAO,MAAM;MAAS;IACrD,oBAAC;KAAS,OAAM;KAAS,OAAO,MAAM;MAAU;IAChD,oBAAC;KAAS,OAAM;KAAS,OAAO,MAAM;MAAU;IAChD,oBAAC;KAAS,OAAM;KAAQ,OAAO,MAAM;MAAS;OAChC;GAIlB,qBAAC;IAAI,WAAU;eACb,oBAAC;KAAG,WAAU;eAAwB;MAAW,EACjD,oBAAC;KAAO,eAAe,MAAM,wBAAwB;eAAE;MAE9C;KACL;GAGN,oBAAC;IAAI,WAAU;cACZ,KAAK,MAAM,KAAK,UACf,oBAAC;KAEC,WAAW,MAAM;KACjB,cAAc,MAAM;KACpB,MACE,oBAAC;MAAE,WAAU;gBACV,MAAM;OACL;KAEN,OACE,oBAAC;MACC,MAAM,cAAc,MAAM,OAAO;MACjC,OAAO,MAAM;OACb;KAEJ,QACE,qBAAC;MAAK,WAAU;iBAAgC,YACrC,MAAM,UAAU,oBAAoB;OACxC;KAET,eAAe,MAAM,eAAe,MAAM,OAAO;OAnB5C,MAAM,GAoBX,CACF;KACE;;GACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"RunListView.js","names":[],"sources":["../../../src/ui/views/RunListView.tsx"],"sourcesContent":["'use client';\n\n/**\n * Run List View - Shows agent execution runs with stats\n */\nimport {\n StatCard,\n StatCardGroup,\n StatusChip,\n EmptyState,\n LoaderBlock,\n ErrorState,\n} from '@contractspec/lib.design-system';\nimport { useRunList, type Run } from '../hooks/useRunList';\n\ninterface RunListViewProps {\n agentId?: string;\n onRunClick?: (runId: string) => void;\n}\n\nfunction getStatusTone(\n status: Run['status']\n): 'success' | 'warning' | 'neutral' | 'danger' {\n switch (status) {\n case 'COMPLETED':\n return 'success';\n case 'RUNNING':\n return 'warning';\n case 'QUEUED':\n return 'neutral';\n case 'FAILED':\n case 'CANCELLED':\n return 'danger';\n default:\n return 'neutral';\n }\n}\n\nfunction formatDuration(ms?: number): string {\n if (!ms) return '-';\n if (ms < 1000) return `${ms}ms`;\n if (ms < 60000) return `${(ms / 1000).toFixed(1)}s`;\n return `${(ms / 60000).toFixed(1)}m`;\n}\n\nfunction formatTokens(tokens: number): string {\n if (tokens < 1000) return tokens.toString();\n if (tokens < 1000000) return `${(tokens / 1000).toFixed(1)}K`;\n return `${(tokens / 1000000).toFixed(2)}M`;\n}\n\nfunction formatCost(cost?: number): string {\n if (!cost) return '-';\n return `$${cost.toFixed(4)}`;\n}\n\nexport function RunListView({ agentId, onRunClick }: RunListViewProps) {\n const { data, metrics, loading, error, refetch } = useRunList({ agentId });\n\n if (loading && !data) {\n return <LoaderBlock label=\"Loading runs...\" />;\n }\n\n if (error) {\n return (\n <ErrorState\n title=\"Failed to load runs\"\n description={error.message}\n onRetry={refetch}\n retryLabel=\"Retry\"\n />\n );\n }\n\n if (!data?.items.length) {\n return (\n <EmptyState\n title=\"No runs yet\"\n description=\"Execute an agent to see run history here.\"\n />\n );\n }\n\n return (\n <div className=\"space-y-6\">\n {/* Metrics Stats */}\n {metrics && (\n <StatCardGroup>\n <StatCard label=\"Total Runs\" value={metrics.totalRuns} />\n <StatCard\n label=\"Success Rate\"\n value={`${(metrics.successRate * 100).toFixed(1)}%`}\n />\n <StatCard\n label=\"Total Tokens\"\n value={formatTokens(metrics.totalTokens)}\n />\n <StatCard\n label=\"Total Cost\"\n value={`$${metrics.totalCostUsd.toFixed(2)}`}\n />\n </StatCardGroup>\n )}\n\n {/* Run List */}\n <div className=\"border-border rounded-lg border\">\n <table className=\"w-full\">\n <thead className=\"border-border bg-muted/30 border-b\">\n <tr>\n <th className=\"text-muted-foreground px-4 py-3 text-left text-sm font-medium\">\n Run\n </th>\n <th className=\"text-muted-foreground px-4 py-3 text-left text-sm font-medium\">\n Agent\n </th>\n <th className=\"text-muted-foreground px-4 py-3 text-left text-sm font-medium\">\n Status\n </th>\n <th className=\"text-muted-foreground px-4 py-3 text-right text-sm font-medium\">\n Tokens\n </th>\n <th className=\"text-muted-foreground px-4 py-3 text-right text-sm font-medium\">\n Duration\n </th>\n <th className=\"text-muted-foreground px-4 py-3 text-right text-sm font-medium\">\n Cost\n </th>\n </tr>\n </thead>\n <tbody className=\"divide-border divide-y\">\n {data.items.map((run: Run) => (\n <tr\n key={run.id}\n className=\"hover:bg-muted/50 cursor-pointer transition-colors\"\n onClick={() => onRunClick?.(run.id)}\n >\n <td className=\"px-4 py-3\">\n <div className=\"font-mono text-sm\">{run.id.slice(-8)}</div>\n <div className=\"text-muted-foreground text-xs\">\n {run.queuedAt.toLocaleString()}\n </div>\n </td>\n <td className=\"px-4 py-3\">\n <span className=\"font-medium\">{run.agentName}</span>\n </td>\n <td className=\"px-4 py-3\">\n <StatusChip\n tone={getStatusTone(run.status)}\n label={run.status}\n />\n </td>\n <td className=\"px-4 py-3 text-right font-mono text-sm\">\n {formatTokens(run.totalTokens)}\n </td>\n <td className=\"px-4 py-3 text-right font-mono text-sm\">\n {formatDuration(run.durationMs)}\n </td>\n <td className=\"px-4 py-3 text-right font-mono text-sm\">\n {formatCost(run.estimatedCostUsd)}\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n\n {/* Pagination */}\n <div className=\"text-muted-foreground text-center text-sm\">\n Showing {data.items.length} of {data.total} runs\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToolRegistryView.js","names":[],"sources":["../../../src/ui/views/ToolRegistryView.tsx"],"sourcesContent":["'use client';\n\n/**\n * Tool Registry View - Shows available tools organized by category\n */\nimport {\n StatCard,\n StatCardGroup,\n StatusChip,\n EntityCard,\n EmptyState,\n LoaderBlock,\n ErrorState,\n Button,\n} from '@contractspec/lib.design-system';\nimport { useToolList, type Tool } from '../hooks/useToolList';\n\ninterface ToolRegistryViewProps {\n onToolClick?: (toolId: string) => void;\n onCreateTool?: () => void;\n}\n\nconst categoryIcons: Record<string, string> = {\n RETRIEVAL: '🔍',\n COMPUTATION: '🧮',\n COMMUNICATION: '📧',\n INTEGRATION: '🔗',\n UTILITY: '🛠️',\n CUSTOM: '⚙️',\n};\n\nfunction getStatusTone(\n status: Tool['status']\n): 'success' | 'warning' | 'neutral' | 'danger' {\n switch (status) {\n case 'ACTIVE':\n return 'success';\n case 'DRAFT':\n return 'neutral';\n case 'DEPRECATED':\n return 'warning';\n case 'DISABLED':\n return 'danger';\n default:\n return 'neutral';\n }\n}\n\nexport function ToolRegistryView({\n onToolClick,\n onCreateTool,\n}: ToolRegistryViewProps) {\n const { data, loading, error, groupedByCategory, categoryStats, refetch } =\n useToolList();\n\n if (loading && !data) {\n return <LoaderBlock label=\"Loading tools...\" />;\n }\n\n if (error) {\n return (\n <ErrorState\n title=\"Failed to load tools\"\n description={error.message}\n onRetry={refetch}\n retryLabel=\"Retry\"\n />\n );\n }\n\n if (!data?.items.length) {\n return (\n <EmptyState\n title=\"No tools registered\"\n description=\"Create your first tool to extend agent capabilities.\"\n primaryAction={\n onCreateTool ? (\n <Button onPress={onCreateTool}>Create Tool</Button>\n ) : undefined\n }\n />\n );\n }\n\n return (\n <div className=\"space-y-8\">\n {/* Category Stats */}\n <StatCardGroup>\n <StatCard label=\"Total Tools\" value={data.total} />\n {categoryStats.slice(0, 3).map(({ category, count }) => (\n <StatCard\n key={category}\n label={`${categoryIcons[category] ?? ''} ${category}`}\n value={count}\n />\n ))}\n </StatCardGroup>\n\n {/* Tools by Category */}\n {Object.entries(groupedByCategory).map(([category, tools]) => (\n <section key={category} className=\"space-y-4\">\n <div className=\"flex items-center gap-2\">\n <span className=\"text-2xl\">{categoryIcons[category]}</span>\n <h3 className=\"text-lg font-semibold\">{category}</h3>\n <span className=\"bg-muted text-muted-foreground rounded-full px-2 py-0.5 text-xs\">\n {(tools as Tool[]).length}\n </span>\n </div>\n\n <div className=\"grid gap-4 md:grid-cols-2 lg:grid-cols-3\">\n {(tools as Tool[]).map((tool) => (\n <EntityCard\n key={tool.id}\n cardTitle={tool.name}\n cardSubtitle={`v${tool.version}`}\n meta={\n <p className=\"text-muted-foreground text-sm\">\n {tool.description}\n </p>\n }\n chips={\n <StatusChip\n tone={getStatusTone(tool.status)}\n label={tool.status}\n />\n }\n footer={\n <code className=\"text-muted-foreground text-xs\">\n {tool.name}\n </code>\n }\n onClick={onToolClick ? () => onToolClick(tool.id) : undefined}\n />\n ))}\n </div>\n </section>\n ))}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;AAsBA,MAAM,gBAAwC;CAC5C,WAAW;CACX,aAAa;CACb,eAAe;CACf,aAAa;CACb,SAAS;CACT,QAAQ;CACT;AAED,SAAS,cACP,QAC8C;AAC9C,SAAQ,QAAR;EACE,KAAK,SACH,QAAO;EACT,KAAK,QACH,QAAO;EACT,KAAK,aACH,QAAO;EACT,KAAK,WACH,QAAO;EACT,QACE,QAAO;;;AAIb,SAAgB,iBAAiB,EAC/B,aACA,gBACwB;CACxB,MAAM,EAAE,MAAM,SAAS,OAAO,mBAAmB,eAAe,YAC9D,aAAa;AAEf,KAAI,WAAW,CAAC,KACd,QAAO,oBAAC,eAAY,OAAM,qBAAqB;AAGjD,KAAI,MACF,QACE,oBAAC;EACC,OAAM;EACN,aAAa,MAAM;EACnB,SAAS;EACT,YAAW;GACX;AAIN,KAAI,CAAC,MAAM,MAAM,OACf,QACE,oBAAC;EACC,OAAM;EACN,aAAY;EACZ,eACE,eACE,oBAAC;GAAO,SAAS;aAAc;IAAoB,GACjD;GAEN;AAIN,QACE,qBAAC;EAAI,WAAU;aAEb,qBAAC,4BACC,oBAAC;GAAS,OAAM;GAAc,OAAO,KAAK;IAAS,EAClD,cAAc,MAAM,GAAG,EAAE,CAAC,KAAK,EAAE,UAAU,YAC1C,oBAAC;GAEC,OAAO,GAAG,cAAc,aAAa,GAAG,GAAG;GAC3C,OAAO;KAFF,SAGL,CACF,IACY,EAGf,OAAO,QAAQ,kBAAkB,CAAC,KAAK,CAAC,UAAU,WACjD,qBAAC;GAAuB,WAAU;cAChC,qBAAC;IAAI,WAAU;;KACb,oBAAC;MAAK,WAAU;gBAAY,cAAc;OAAiB;KAC3D,oBAAC;MAAG,WAAU;gBAAyB;OAAc;KACrD,oBAAC;MAAK,WAAU;gBACZ,MAAiB;OACd;;KACH,EAEN,oBAAC;IAAI,WAAU;cACX,MAAiB,KAAK,SACtB,oBAAC;KAEC,WAAW,KAAK;KAChB,cAAc,IAAI,KAAK;KACvB,MACE,oBAAC;MAAE,WAAU;gBACV,KAAK;OACJ;KAEN,OACE,oBAAC;MACC,MAAM,cAAc,KAAK,OAAO;MAChC,OAAO,KAAK;OACZ;KAEJ,QACE,oBAAC;MAAK,WAAU;gBACb,KAAK;OACD;KAET,SAAS,oBAAoB,YAAY,KAAK,GAAG,GAAG;OAnB/C,KAAK,GAoBV,CACF;KACE;KAlCM,SAmCJ,CACV;GACE"}