@contractspec/example.agent-console 1.56.1 → 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 +211 -277
  2. package/.turbo/turbo-prebuild.log +1 -0
  3. package/CHANGELOG.md +36 -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 -7
  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 +40 -55
  112. package/dist/handlers/agent.handlers.d.ts +121 -121
  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 -9
  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 -9
  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 -7
  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 -9
  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 -9
  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 -9
  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 +657 -119
  335. package/tsdown.config.js +1 -2
  336. package/.turbo/turbo-build$colon$bundle.log +0 -280
  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,6 +1,800 @@
1
- import { mockCreateAgentHandler, mockGetAgentHandler, mockListAgentsHandler } from "../agent/agent.handler.js";
2
- import { mockExecuteAgentHandler, mockGetRunHandler, mockListRunsHandler } from "../run/run.handler.js";
3
- import { mockCreateToolHandler, mockGetToolHandler, mockListToolsHandler } from "../tool/tool.handler.js";
4
- import { createAgentHandlers } from "./agent.handlers.js";
1
+ // @bun
2
+ // src/shared/mock-agents.ts
3
+ var MOCK_AGENTS = [
4
+ {
5
+ id: "agent-1",
6
+ organizationId: "demo-org",
7
+ name: "Customer Support Bot",
8
+ slug: "customer-support-bot",
9
+ description: "Handles tier-1 customer inquiries and routes complex issues.",
10
+ status: "ACTIVE",
11
+ modelProvider: "OPENAI",
12
+ modelName: "gpt-4o-mini",
13
+ modelConfig: { temperature: 0.7 },
14
+ systemPrompt: "You are a helpful customer support assistant.",
15
+ toolChoice: "auto",
16
+ maxIterations: 10,
17
+ timeoutMs: 120000,
18
+ version: "1.0.0",
19
+ tags: ["support", "tier-1"],
20
+ createdAt: new Date("2024-01-15T10:00:00Z"),
21
+ updatedAt: new Date("2024-03-20T14:30:00Z")
22
+ },
23
+ {
24
+ id: "agent-2",
25
+ organizationId: "demo-org",
26
+ name: "Code Review Assistant",
27
+ slug: "code-review-assistant",
28
+ description: "Reviews pull requests and provides actionable feedback.",
29
+ status: "ACTIVE",
30
+ modelProvider: "ANTHROPIC",
31
+ modelName: "claude-sonnet-4-20250514",
32
+ modelConfig: { temperature: 0.3 },
33
+ systemPrompt: "You are a code review expert.",
34
+ toolChoice: "auto",
35
+ maxIterations: 15,
36
+ timeoutMs: 180000,
37
+ version: "2.1.0",
38
+ tags: ["code", "review", "dev"],
39
+ createdAt: new Date("2024-02-10T09:00:00Z"),
40
+ updatedAt: new Date("2024-04-05T11:15:00Z")
41
+ },
42
+ {
43
+ id: "agent-3",
44
+ organizationId: "demo-org",
45
+ name: "Data Analyst",
46
+ slug: "data-analyst",
47
+ description: "Queries databases and generates insights from data.",
48
+ status: "PAUSED",
49
+ modelProvider: "OPENAI",
50
+ modelName: "gpt-4o",
51
+ modelConfig: { temperature: 0.5 },
52
+ systemPrompt: "You are a data analyst expert in SQL and analytics.",
53
+ toolChoice: "required",
54
+ maxIterations: 20,
55
+ timeoutMs: 300000,
56
+ version: "1.2.0",
57
+ tags: ["data", "analytics", "sql"],
58
+ createdAt: new Date("2024-03-01T08:00:00Z"),
59
+ updatedAt: new Date("2024-04-10T16:45:00Z")
60
+ },
61
+ {
62
+ id: "agent-4",
63
+ organizationId: "demo-org",
64
+ name: "Meeting Scheduler",
65
+ slug: "meeting-scheduler",
66
+ description: "Schedules meetings and manages calendar conflicts.",
67
+ status: "DRAFT",
68
+ modelProvider: "GOOGLE",
69
+ modelName: "gemini-2.0-flash",
70
+ modelConfig: { temperature: 0.2 },
71
+ systemPrompt: "You help schedule and organize meetings efficiently.",
72
+ toolChoice: "auto",
73
+ maxIterations: 5,
74
+ timeoutMs: 60000,
75
+ version: "0.1.0",
76
+ tags: ["calendar", "scheduling"],
77
+ createdAt: new Date("2024-04-01T12:00:00Z"),
78
+ updatedAt: new Date("2024-04-01T12:00:00Z")
79
+ }
80
+ ];
5
81
 
6
- export { createAgentHandlers, mockCreateAgentHandler, mockCreateToolHandler, mockExecuteAgentHandler, mockGetAgentHandler, mockGetRunHandler, mockGetToolHandler, mockListAgentsHandler, mockListRunsHandler, mockListToolsHandler };
82
+ // src/shared/mock-tools.ts
83
+ var MOCK_TOOLS = [
84
+ {
85
+ id: "tool-1",
86
+ organizationId: "demo-org",
87
+ name: "Web Search",
88
+ slug: "web-search",
89
+ description: "Search the web for real-time information using Brave API.",
90
+ category: "RETRIEVAL",
91
+ status: "ACTIVE",
92
+ parametersSchema: {
93
+ type: "object",
94
+ properties: {
95
+ query: { type: "string", description: "Search query" },
96
+ numResults: { type: "number", default: 10 }
97
+ },
98
+ required: ["query"]
99
+ },
100
+ outputSchema: { type: "array", items: { type: "object" } },
101
+ implementationType: "http",
102
+ implementationConfig: {
103
+ url: "https://api.brave.com/search",
104
+ method: "GET"
105
+ },
106
+ maxInvocationsPerMinute: 60,
107
+ timeoutMs: 30000,
108
+ version: "1.0.0",
109
+ tags: ["search", "web"],
110
+ createdAt: new Date("2024-01-01T00:00:00Z"),
111
+ updatedAt: new Date("2024-02-15T10:00:00Z")
112
+ },
113
+ {
114
+ id: "tool-2",
115
+ organizationId: "demo-org",
116
+ name: "SQL Query",
117
+ slug: "sql-query",
118
+ description: "Execute read-only SQL queries against the data warehouse.",
119
+ category: "RETRIEVAL",
120
+ status: "ACTIVE",
121
+ parametersSchema: {
122
+ type: "object",
123
+ properties: {
124
+ query: { type: "string", description: "SQL query" },
125
+ maxRows: { type: "number", default: 100 }
126
+ },
127
+ required: ["query"]
128
+ },
129
+ outputSchema: { type: "object" },
130
+ implementationType: "function",
131
+ implementationConfig: { handler: "executeSqlQuery" },
132
+ maxInvocationsPerMinute: 30,
133
+ timeoutMs: 60000,
134
+ version: "1.1.0",
135
+ tags: ["sql", "database"],
136
+ createdAt: new Date("2024-01-05T00:00:00Z"),
137
+ updatedAt: new Date("2024-03-10T14:00:00Z")
138
+ },
139
+ {
140
+ id: "tool-3",
141
+ organizationId: "demo-org",
142
+ name: "Email Sender",
143
+ slug: "email-sender",
144
+ description: "Send emails via SMTP or API.",
145
+ category: "COMMUNICATION",
146
+ status: "ACTIVE",
147
+ parametersSchema: {
148
+ type: "object",
149
+ properties: {
150
+ to: { type: "string" },
151
+ subject: { type: "string" },
152
+ body: { type: "string" }
153
+ },
154
+ required: ["to", "subject", "body"]
155
+ },
156
+ implementationType: "http",
157
+ implementationConfig: { url: "/api/send-email", method: "POST" },
158
+ maxInvocationsPerMinute: 10,
159
+ timeoutMs: 30000,
160
+ version: "1.0.0",
161
+ tags: ["email", "communication"],
162
+ createdAt: new Date("2024-02-01T00:00:00Z"),
163
+ updatedAt: new Date("2024-02-01T00:00:00Z")
164
+ },
165
+ {
166
+ id: "tool-4",
167
+ organizationId: "demo-org",
168
+ name: "GitHub Integration",
169
+ slug: "github-integration",
170
+ description: "Interact with GitHub repositories, PRs, and issues.",
171
+ category: "INTEGRATION",
172
+ status: "ACTIVE",
173
+ parametersSchema: {
174
+ type: "object",
175
+ properties: {
176
+ action: {
177
+ type: "string",
178
+ enum: ["list_prs", "get_pr", "create_comment"]
179
+ },
180
+ repo: { type: "string" },
181
+ params: { type: "object" }
182
+ },
183
+ required: ["action", "repo"]
184
+ },
185
+ implementationType: "http",
186
+ implementationConfig: { url: "https://api.github.com", auth: "token" },
187
+ maxInvocationsPerMinute: 100,
188
+ timeoutMs: 15000,
189
+ version: "2.0.0",
190
+ tags: ["github", "integration", "code"],
191
+ createdAt: new Date("2024-02-20T00:00:00Z"),
192
+ updatedAt: new Date("2024-04-01T09:00:00Z")
193
+ },
194
+ {
195
+ id: "tool-5",
196
+ organizationId: "demo-org",
197
+ name: "Calculator",
198
+ slug: "calculator",
199
+ description: "Perform mathematical calculations.",
200
+ category: "COMPUTATION",
201
+ status: "ACTIVE",
202
+ parametersSchema: {
203
+ type: "object",
204
+ properties: {
205
+ expression: {
206
+ type: "string",
207
+ description: "Math expression to evaluate"
208
+ }
209
+ },
210
+ required: ["expression"]
211
+ },
212
+ outputSchema: {
213
+ type: "object",
214
+ properties: { result: { type: "number" } }
215
+ },
216
+ implementationType: "function",
217
+ implementationConfig: { handler: "evaluateMath" },
218
+ timeoutMs: 5000,
219
+ version: "1.0.0",
220
+ tags: ["math", "utility"],
221
+ createdAt: new Date("2024-01-10T00:00:00Z"),
222
+ updatedAt: new Date("2024-01-10T00:00:00Z")
223
+ }
224
+ ];
225
+
226
+ // src/agent/agent.handler.ts
227
+ async function mockListAgentsHandler(input) {
228
+ const {
229
+ organizationId,
230
+ status,
231
+ modelProvider,
232
+ search,
233
+ limit = 20,
234
+ offset = 0
235
+ } = input;
236
+ let filtered = MOCK_AGENTS.filter((a) => a.organizationId === organizationId);
237
+ if (status)
238
+ filtered = filtered.filter((a) => a.status === status);
239
+ if (modelProvider)
240
+ filtered = filtered.filter((a) => a.modelProvider === modelProvider);
241
+ if (search) {
242
+ const q = search.toLowerCase();
243
+ filtered = filtered.filter((a) => a.name.toLowerCase().includes(q) || a.description?.toLowerCase().includes(q) || a.tags?.some((t) => t.toLowerCase().includes(q)));
244
+ }
245
+ const total = filtered.length;
246
+ const items = filtered.slice(offset, offset + limit).map((a) => ({
247
+ id: a.id,
248
+ name: a.name,
249
+ slug: a.slug,
250
+ description: a.description,
251
+ status: a.status,
252
+ modelProvider: a.modelProvider,
253
+ modelName: a.modelName,
254
+ version: a.version,
255
+ createdAt: a.createdAt
256
+ }));
257
+ return { items, total, hasMore: offset + limit < total };
258
+ }
259
+ async function mockGetAgentHandler(input) {
260
+ const agent = MOCK_AGENTS.find((a) => a.id === input.agentId);
261
+ if (!agent)
262
+ throw new Error("AGENT_NOT_FOUND");
263
+ const result = { ...agent, toolIds: ["tool-1", "tool-2"] };
264
+ if (input.includeTools) {
265
+ result.tools = MOCK_TOOLS.slice(0, 2).map((t) => ({
266
+ id: t.id,
267
+ name: t.name,
268
+ slug: t.slug,
269
+ description: t.description,
270
+ category: t.category
271
+ }));
272
+ }
273
+ return result;
274
+ }
275
+ async function mockCreateAgentHandler(input) {
276
+ const exists = MOCK_AGENTS.some((a) => a.organizationId === input.organizationId && a.slug === input.slug);
277
+ if (exists)
278
+ throw new Error("SLUG_EXISTS");
279
+ return {
280
+ id: `agent-${Date.now()}`,
281
+ name: input.name,
282
+ slug: input.slug,
283
+ status: "DRAFT"
284
+ };
285
+ }
286
+ async function mockUpdateAgentHandler(input) {
287
+ const agent = MOCK_AGENTS.find((a) => a.id === input.agentId);
288
+ if (!agent)
289
+ throw new Error("AGENT_NOT_FOUND");
290
+ return {
291
+ id: agent.id,
292
+ name: input.name ?? agent.name,
293
+ status: input.status ?? agent.status,
294
+ updatedAt: new Date
295
+ };
296
+ }
297
+
298
+ // src/handlers/agent.handlers.ts
299
+ import { web } from "@contractspec/lib.runtime-sandbox";
300
+ var { generateId } = web;
301
+ function rowToAgent(row) {
302
+ return {
303
+ id: row.id,
304
+ projectId: row.projectId,
305
+ organizationId: row.organizationId,
306
+ name: row.name,
307
+ description: row.description ?? undefined,
308
+ modelProvider: row.modelProvider,
309
+ modelName: row.modelName,
310
+ systemPrompt: row.systemPrompt ?? undefined,
311
+ temperature: row.temperature,
312
+ maxTokens: row.maxTokens,
313
+ status: row.status,
314
+ createdAt: new Date(row.createdAt),
315
+ updatedAt: new Date(row.updatedAt)
316
+ };
317
+ }
318
+ function rowToTool(row) {
319
+ return {
320
+ id: row.id,
321
+ projectId: row.projectId,
322
+ organizationId: row.organizationId,
323
+ name: row.name,
324
+ description: row.description ?? undefined,
325
+ version: row.version,
326
+ category: row.category,
327
+ status: row.status,
328
+ inputSchema: row.inputSchema ?? undefined,
329
+ outputSchema: row.outputSchema ?? undefined,
330
+ endpoint: row.endpoint ?? undefined,
331
+ createdAt: new Date(row.createdAt),
332
+ updatedAt: new Date(row.updatedAt)
333
+ };
334
+ }
335
+ function rowToRun(row, agentName) {
336
+ return {
337
+ id: row.id,
338
+ projectId: row.projectId,
339
+ agentId: row.agentId,
340
+ agentName,
341
+ status: row.status,
342
+ input: row.input ?? undefined,
343
+ output: row.output ?? undefined,
344
+ totalTokens: row.totalTokens,
345
+ promptTokens: row.promptTokens,
346
+ completionTokens: row.completionTokens,
347
+ estimatedCostUsd: row.estimatedCostUsd,
348
+ durationMs: row.durationMs ?? undefined,
349
+ errorMessage: row.errorMessage ?? undefined,
350
+ queuedAt: new Date(row.queuedAt),
351
+ startedAt: row.startedAt ? new Date(row.startedAt) : undefined,
352
+ completedAt: row.completedAt ? new Date(row.completedAt) : undefined
353
+ };
354
+ }
355
+ function createAgentHandlers(db) {
356
+ async function listAgents(input) {
357
+ const {
358
+ projectId,
359
+ organizationId,
360
+ status,
361
+ search,
362
+ limit = 20,
363
+ offset = 0
364
+ } = input;
365
+ let whereClause = "WHERE projectId = ?";
366
+ const params = [projectId];
367
+ if (organizationId) {
368
+ whereClause += " AND organizationId = ?";
369
+ params.push(organizationId);
370
+ }
371
+ if (status && status !== "all") {
372
+ whereClause += " AND status = ?";
373
+ params.push(status);
374
+ }
375
+ if (search) {
376
+ whereClause += " AND (name LIKE ? OR description LIKE ?)";
377
+ params.push(`%${search}%`, `%${search}%`);
378
+ }
379
+ const countResult = (await db.query(`SELECT COUNT(*) as count FROM agent_definition ${whereClause}`, params)).rows;
380
+ const total = countResult[0]?.count ?? 0;
381
+ const rows = (await db.query(`SELECT * FROM agent_definition ${whereClause} ORDER BY createdAt DESC LIMIT ? OFFSET ?`, [...params, limit, offset])).rows;
382
+ return {
383
+ items: rows.map(rowToAgent),
384
+ total,
385
+ hasMore: offset + rows.length < total
386
+ };
387
+ }
388
+ async function getAgent(id) {
389
+ const rows = (await db.query(`SELECT * FROM agent_definition WHERE id = ?`, [id])).rows;
390
+ return rows[0] ? rowToAgent(rows[0]) : null;
391
+ }
392
+ async function createAgent(input, context) {
393
+ const id = generateId("agent");
394
+ const now = new Date().toISOString();
395
+ await db.execute(`INSERT INTO agent_definition (id, projectId, organizationId, name, description, modelProvider, modelName, systemPrompt, temperature, maxTokens, status, createdAt, updatedAt)
396
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, [
397
+ id,
398
+ context.projectId,
399
+ context.organizationId,
400
+ input.name,
401
+ input.description ?? null,
402
+ input.modelProvider ?? "openai",
403
+ input.modelName ?? "gpt-4",
404
+ input.systemPrompt ?? null,
405
+ input.temperature ?? 0.7,
406
+ input.maxTokens ?? 4096,
407
+ "DRAFT",
408
+ now,
409
+ now
410
+ ]);
411
+ const rows = (await db.query(`SELECT * FROM agent_definition WHERE id = ?`, [id])).rows;
412
+ const row = rows[0];
413
+ if (!row) {
414
+ throw new Error("Failed to retrieve created agent");
415
+ }
416
+ return rowToAgent(row);
417
+ }
418
+ async function updateAgent(input) {
419
+ const now = new Date().toISOString();
420
+ const updates = ["updatedAt = ?"];
421
+ const params = [now];
422
+ if (input.name !== undefined) {
423
+ updates.push("name = ?");
424
+ params.push(input.name);
425
+ }
426
+ if (input.description !== undefined) {
427
+ updates.push("description = ?");
428
+ params.push(input.description);
429
+ }
430
+ if (input.status !== undefined) {
431
+ updates.push("status = ?");
432
+ params.push(input.status);
433
+ }
434
+ params.push(input.id);
435
+ await db.execute(`UPDATE agent_definition SET ${updates.join(", ")} WHERE id = ?`, params);
436
+ const rows = (await db.query(`SELECT * FROM agent_definition WHERE id = ?`, [input.id])).rows;
437
+ if (!rows[0]) {
438
+ throw new Error("NOT_FOUND");
439
+ }
440
+ return rowToAgent(rows[0]);
441
+ }
442
+ async function listTools(input) {
443
+ const {
444
+ projectId,
445
+ organizationId,
446
+ category,
447
+ status,
448
+ search,
449
+ limit = 50,
450
+ offset = 0
451
+ } = input;
452
+ let whereClause = "WHERE projectId = ?";
453
+ const params = [projectId];
454
+ if (organizationId) {
455
+ whereClause += " AND organizationId = ?";
456
+ params.push(organizationId);
457
+ }
458
+ if (category && category !== "all") {
459
+ whereClause += " AND category = ?";
460
+ params.push(category);
461
+ }
462
+ if (status && status !== "all") {
463
+ whereClause += " AND status = ?";
464
+ params.push(status);
465
+ }
466
+ if (search) {
467
+ whereClause += " AND (name LIKE ? OR description LIKE ?)";
468
+ params.push(`%${search}%`, `%${search}%`);
469
+ }
470
+ const countResult = (await db.query(`SELECT COUNT(*) as count FROM agent_tool ${whereClause}`, params)).rows;
471
+ const total = countResult[0]?.count ?? 0;
472
+ const rows = (await db.query(`SELECT * FROM agent_tool ${whereClause} ORDER BY name ASC LIMIT ? OFFSET ?`, [...params, limit, offset])).rows;
473
+ return {
474
+ items: rows.map(rowToTool),
475
+ total,
476
+ hasMore: offset + rows.length < total
477
+ };
478
+ }
479
+ async function listRuns(input) {
480
+ const { projectId, agentId, status, limit = 20, offset = 0 } = input;
481
+ let whereClause = "WHERE r.projectId = ?";
482
+ const params = [projectId];
483
+ if (agentId) {
484
+ whereClause += " AND r.agentId = ?";
485
+ params.push(agentId);
486
+ }
487
+ if (status && status !== "all") {
488
+ whereClause += " AND r.status = ?";
489
+ params.push(status);
490
+ }
491
+ const countResult = (await db.query(`SELECT COUNT(*) as count FROM agent_run r ${whereClause}`, params)).rows;
492
+ const total = countResult[0]?.count ?? 0;
493
+ const rows = (await db.query(`SELECT r.*, a.name as agentName
494
+ FROM agent_run r
495
+ LEFT JOIN agent_definition a ON r.agentId = a.id
496
+ ${whereClause}
497
+ ORDER BY r.queuedAt DESC LIMIT ? OFFSET ?`, [...params, limit, offset])).rows;
498
+ return {
499
+ items: rows.map((r) => rowToRun(r, r.agentName)),
500
+ total,
501
+ hasMore: offset + rows.length < total
502
+ };
503
+ }
504
+ async function getRunMetrics(input) {
505
+ let whereClause = "WHERE projectId = ?";
506
+ const params = [input.projectId];
507
+ if (input.agentId) {
508
+ whereClause += " AND agentId = ?";
509
+ params.push(input.agentId);
510
+ }
511
+ if (input.startDate) {
512
+ whereClause += " AND queuedAt >= ?";
513
+ params.push(input.startDate.toISOString());
514
+ }
515
+ if (input.endDate) {
516
+ whereClause += " AND queuedAt <= ?";
517
+ params.push(input.endDate.toISOString());
518
+ }
519
+ const result = (await db.query(`SELECT
520
+ COUNT(*) as totalRuns,
521
+ SUM(CASE WHEN status = 'COMPLETED' THEN 1 ELSE 0 END) as completedRuns,
522
+ AVG(CASE WHEN status = 'COMPLETED' THEN durationMs ELSE NULL END) as avgDuration,
523
+ COALESCE(SUM(totalTokens), 0) as totalTokens,
524
+ COALESCE(SUM(estimatedCostUsd), 0) as totalCost
525
+ FROM agent_run ${whereClause}`, params)).rows;
526
+ const data = result[0];
527
+ const totalRuns = data?.totalRuns ?? 0;
528
+ const completedRuns = data?.completedRuns ?? 0;
529
+ return {
530
+ totalRuns,
531
+ successRate: totalRuns > 0 ? completedRuns / totalRuns : 0,
532
+ averageDurationMs: data?.avgDuration ?? 0,
533
+ totalTokens: data?.totalTokens ?? 0,
534
+ totalCostUsd: data?.totalCost ?? 0
535
+ };
536
+ }
537
+ return {
538
+ listAgents,
539
+ getAgent,
540
+ createAgent,
541
+ updateAgent,
542
+ listTools,
543
+ listRuns,
544
+ getRunMetrics
545
+ };
546
+ }
547
+
548
+ // src/shared/mock-runs.ts
549
+ var MOCK_RUNS = [
550
+ {
551
+ id: "run-1",
552
+ organizationId: "demo-org",
553
+ agentId: "agent-1",
554
+ agentName: "Customer Support Bot",
555
+ userId: "user-1",
556
+ sessionId: "session-1",
557
+ input: { message: "How do I reset my password?", context: {} },
558
+ output: { response: "You can reset your password by clicking..." },
559
+ status: "COMPLETED",
560
+ totalTokens: 1250,
561
+ promptTokens: 800,
562
+ completionTokens: 450,
563
+ totalIterations: 3,
564
+ durationMs: 4500,
565
+ estimatedCostUsd: 0.0025,
566
+ queuedAt: new Date("2024-04-15T10:00:00Z"),
567
+ startedAt: new Date("2024-04-15T10:00:01Z"),
568
+ completedAt: new Date("2024-04-15T10:00:05Z"),
569
+ steps: [],
570
+ logs: []
571
+ },
572
+ {
573
+ id: "run-2",
574
+ organizationId: "demo-org",
575
+ agentId: "agent-2",
576
+ agentName: "Code Review Assistant",
577
+ userId: "user-2",
578
+ input: { message: "Review PR #123", context: { prNumber: 123 } },
579
+ status: "IN_PROGRESS",
580
+ totalTokens: 3500,
581
+ promptTokens: 3000,
582
+ completionTokens: 500,
583
+ totalIterations: 5,
584
+ queuedAt: new Date("2024-04-15T10:30:00Z"),
585
+ startedAt: new Date("2024-04-15T10:30:02Z"),
586
+ steps: [],
587
+ logs: []
588
+ },
589
+ {
590
+ id: "run-3",
591
+ organizationId: "demo-org",
592
+ agentId: "agent-1",
593
+ agentName: "Customer Support Bot",
594
+ userId: "user-1",
595
+ input: { message: "What are your business hours?" },
596
+ output: { response: "Our business hours are 9 AM to 5 PM EST..." },
597
+ status: "COMPLETED",
598
+ totalTokens: 800,
599
+ promptTokens: 500,
600
+ completionTokens: 300,
601
+ totalIterations: 2,
602
+ durationMs: 2100,
603
+ estimatedCostUsd: 0.0012,
604
+ queuedAt: new Date("2024-04-15T09:00:00Z"),
605
+ startedAt: new Date("2024-04-15T09:00:01Z"),
606
+ completedAt: new Date("2024-04-15T09:00:03Z"),
607
+ steps: [],
608
+ logs: []
609
+ },
610
+ {
611
+ id: "run-4",
612
+ organizationId: "demo-org",
613
+ agentId: "agent-3",
614
+ agentName: "Data Analyst",
615
+ userId: "user-3",
616
+ input: { message: "Generate sales report for Q1" },
617
+ status: "FAILED",
618
+ errorMessage: "Database connection timeout",
619
+ errorCode: "DB_TIMEOUT",
620
+ totalTokens: 2000,
621
+ promptTokens: 1500,
622
+ completionTokens: 500,
623
+ totalIterations: 8,
624
+ durationMs: 45000,
625
+ queuedAt: new Date("2024-04-14T15:00:00Z"),
626
+ startedAt: new Date("2024-04-14T15:00:05Z"),
627
+ completedAt: new Date("2024-04-14T15:00:50Z"),
628
+ steps: [],
629
+ logs: []
630
+ },
631
+ {
632
+ id: "run-5",
633
+ organizationId: "demo-org",
634
+ agentId: "agent-2",
635
+ agentName: "Code Review Assistant",
636
+ userId: "user-2",
637
+ input: { message: "Review PR #120" },
638
+ output: { response: "Code review complete. 3 suggestions..." },
639
+ status: "COMPLETED",
640
+ totalTokens: 5200,
641
+ promptTokens: 4000,
642
+ completionTokens: 1200,
643
+ totalIterations: 7,
644
+ durationMs: 15000,
645
+ estimatedCostUsd: 0.0156,
646
+ queuedAt: new Date("2024-04-14T11:00:00Z"),
647
+ startedAt: new Date("2024-04-14T11:00:03Z"),
648
+ completedAt: new Date("2024-04-14T11:00:18Z"),
649
+ steps: [],
650
+ logs: []
651
+ }
652
+ ];
653
+
654
+ // src/run/run.handler.ts
655
+ async function mockListRunsHandler(input) {
656
+ const { agentId, status, limit = 20, offset = 0 } = input;
657
+ let filtered = [...MOCK_RUNS];
658
+ if (agentId)
659
+ filtered = filtered.filter((r) => r.agentId === agentId);
660
+ if (status)
661
+ filtered = filtered.filter((r) => r.status === status);
662
+ const total = filtered.length;
663
+ const items = filtered.slice(offset, offset + limit).map((r) => {
664
+ const agent = MOCK_AGENTS.find((a) => a.id === r.agentId);
665
+ return {
666
+ id: r.id,
667
+ agentId: r.agentId,
668
+ agentName: agent?.name ?? "Unknown",
669
+ status: r.status,
670
+ totalTokens: r.totalTokens,
671
+ durationMs: r.durationMs,
672
+ estimatedCostUsd: r.estimatedCostUsd,
673
+ queuedAt: r.queuedAt,
674
+ completedAt: r.completedAt
675
+ };
676
+ });
677
+ return { items, total, hasMore: offset + limit < total };
678
+ }
679
+ async function mockGetRunHandler(input) {
680
+ const run = MOCK_RUNS.find((r) => r.id === input.runId);
681
+ if (!run)
682
+ throw new Error("RUN_NOT_FOUND");
683
+ const agent = MOCK_AGENTS.find((a) => a.id === run.agentId);
684
+ return {
685
+ ...run,
686
+ agent: agent ? {
687
+ id: agent.id,
688
+ name: agent.name,
689
+ modelProvider: agent.modelProvider,
690
+ modelName: agent.modelName
691
+ } : undefined,
692
+ steps: input.includeSteps ? run.steps : undefined,
693
+ logs: input.includeLogs ? run.logs : undefined
694
+ };
695
+ }
696
+ async function mockExecuteAgentHandler(input) {
697
+ const agent = MOCK_AGENTS.find((a) => a.id === input.agentId);
698
+ if (!agent)
699
+ throw new Error("AGENT_NOT_FOUND");
700
+ if (agent.status !== "ACTIVE")
701
+ throw new Error("AGENT_NOT_ACTIVE");
702
+ return {
703
+ runId: `run-${Date.now()}`,
704
+ status: "QUEUED",
705
+ estimatedWaitMs: 500
706
+ };
707
+ }
708
+ async function mockCancelRunHandler(input) {
709
+ const run = MOCK_RUNS.find((r) => r.id === input.runId);
710
+ if (!run)
711
+ throw new Error("RUN_NOT_FOUND");
712
+ if (!["QUEUED", "IN_PROGRESS"].includes(run.status))
713
+ throw new Error("RUN_NOT_CANCELLABLE");
714
+ return { success: true, status: "CANCELLED" };
715
+ }
716
+
717
+ // src/tool/tool.handler.ts
718
+ async function mockListToolsHandler(input) {
719
+ const {
720
+ organizationId,
721
+ category,
722
+ status,
723
+ search,
724
+ limit = 20,
725
+ offset = 0
726
+ } = input;
727
+ let filtered = MOCK_TOOLS.filter((t) => t.organizationId === organizationId);
728
+ if (category)
729
+ filtered = filtered.filter((t) => t.category === category);
730
+ if (status)
731
+ filtered = filtered.filter((t) => t.status === status);
732
+ if (search) {
733
+ const q = search.toLowerCase();
734
+ filtered = filtered.filter((t) => t.name.toLowerCase().includes(q) || t.description.toLowerCase().includes(q));
735
+ }
736
+ const total = filtered.length;
737
+ const items = filtered.slice(offset, offset + limit).map((t) => ({
738
+ id: t.id,
739
+ name: t.name,
740
+ slug: t.slug,
741
+ description: t.description,
742
+ category: t.category,
743
+ status: t.status,
744
+ version: t.version,
745
+ createdAt: t.createdAt
746
+ }));
747
+ return { items, total, hasMore: offset + limit < total };
748
+ }
749
+ async function mockGetToolHandler(input) {
750
+ const tool = MOCK_TOOLS.find((t) => t.id === input.toolId);
751
+ if (!tool)
752
+ throw new Error("TOOL_NOT_FOUND");
753
+ return tool;
754
+ }
755
+ async function mockCreateToolHandler(input) {
756
+ const exists = MOCK_TOOLS.some((t) => t.organizationId === input.organizationId && t.slug === input.slug);
757
+ if (exists)
758
+ throw new Error("SLUG_EXISTS");
759
+ return {
760
+ id: `tool-${Date.now()}`,
761
+ name: input.name,
762
+ slug: input.slug,
763
+ status: "DRAFT"
764
+ };
765
+ }
766
+ async function mockUpdateToolHandler(input) {
767
+ const tool = MOCK_TOOLS.find((t) => t.id === input.toolId);
768
+ if (!tool)
769
+ throw new Error("TOOL_NOT_FOUND");
770
+ return {
771
+ id: tool.id,
772
+ name: input.name ?? tool.name,
773
+ status: input.status ?? tool.status,
774
+ updatedAt: new Date
775
+ };
776
+ }
777
+ async function mockTestToolHandler(input) {
778
+ const tool = MOCK_TOOLS.find((t) => t.id === input.toolId);
779
+ if (!tool)
780
+ throw new Error("TOOL_NOT_FOUND");
781
+ const startTime = Date.now();
782
+ await new Promise((resolve) => setTimeout(resolve, 100));
783
+ return {
784
+ success: true,
785
+ output: { result: "Test successful", input: input.testInput },
786
+ durationMs: Date.now() - startTime
787
+ };
788
+ }
789
+ export {
790
+ mockListToolsHandler,
791
+ mockListRunsHandler,
792
+ mockListAgentsHandler,
793
+ mockGetToolHandler,
794
+ mockGetRunHandler,
795
+ mockGetAgentHandler,
796
+ mockExecuteAgentHandler,
797
+ mockCreateToolHandler,
798
+ mockCreateAgentHandler,
799
+ createAgentHandlers
800
+ };