@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
@@ -0,0 +1,667 @@
1
+ // src/run/run.enum.ts
2
+ import { defineEnum } from "@contractspec/lib.schema";
3
+ var RunStatusEnum = defineEnum("RunStatus", [
4
+ "QUEUED",
5
+ "IN_PROGRESS",
6
+ "COMPLETED",
7
+ "FAILED",
8
+ "CANCELLED",
9
+ "EXPIRED"
10
+ ]);
11
+ var RunStepTypeEnum = defineEnum("RunStepType", [
12
+ "MESSAGE_CREATION",
13
+ "TOOL_CALL",
14
+ "TOOL_RESULT",
15
+ "ERROR"
16
+ ]);
17
+ var LogLevelEnum = defineEnum("LogLevel", [
18
+ "DEBUG",
19
+ "INFO",
20
+ "WARN",
21
+ "ERROR"
22
+ ]);
23
+ var GranularityEnum = defineEnum("Granularity", [
24
+ "hour",
25
+ "day",
26
+ "week",
27
+ "month"
28
+ ]);
29
+
30
+ // src/run/run.schema.ts
31
+ import { defineSchemaModel, ScalarTypeEnum } from "@contractspec/lib.schema";
32
+ var RunInputModel = defineSchemaModel({
33
+ name: "RunInput",
34
+ description: "Input data for agent execution",
35
+ fields: {
36
+ message: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
37
+ context: { type: ScalarTypeEnum.JSONObject(), isOptional: true }
38
+ }
39
+ });
40
+ var RunStepModel = defineSchemaModel({
41
+ name: "RunStep",
42
+ description: "Individual step within a run",
43
+ fields: {
44
+ id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
45
+ stepNumber: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },
46
+ type: { type: RunStepTypeEnum, isOptional: false },
47
+ toolId: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
48
+ toolName: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
49
+ input: { type: ScalarTypeEnum.JSONObject(), isOptional: true },
50
+ output: { type: ScalarTypeEnum.JSONObject(), isOptional: true },
51
+ status: { type: RunStatusEnum, isOptional: false },
52
+ errorMessage: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
53
+ tokensUsed: {
54
+ type: ScalarTypeEnum.Int_unsecure(),
55
+ isOptional: false,
56
+ defaultValue: 0
57
+ },
58
+ durationMs: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
59
+ startedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },
60
+ completedAt: { type: ScalarTypeEnum.DateTime(), isOptional: true }
61
+ }
62
+ });
63
+ var RunLogModel = defineSchemaModel({
64
+ name: "RunLog",
65
+ description: "Execution log entry",
66
+ fields: {
67
+ id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
68
+ stepId: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
69
+ level: { type: LogLevelEnum, isOptional: false },
70
+ message: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
71
+ data: { type: ScalarTypeEnum.JSONObject(), isOptional: true },
72
+ source: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
73
+ traceId: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
74
+ spanId: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
75
+ timestamp: { type: ScalarTypeEnum.DateTime(), isOptional: false }
76
+ }
77
+ });
78
+ var RunAgentRefModel = defineSchemaModel({
79
+ name: "RunAgentRef",
80
+ description: "Agent reference in a run",
81
+ fields: {
82
+ id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
83
+ name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
84
+ modelProvider: {
85
+ type: ScalarTypeEnum.String_unsecure(),
86
+ isOptional: false
87
+ },
88
+ modelName: { type: ScalarTypeEnum.String_unsecure(), isOptional: false }
89
+ }
90
+ });
91
+ var RunModel = defineSchemaModel({
92
+ name: "Run",
93
+ description: "Agent execution instance",
94
+ fields: {
95
+ id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
96
+ organizationId: {
97
+ type: ScalarTypeEnum.String_unsecure(),
98
+ isOptional: false
99
+ },
100
+ agentId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
101
+ userId: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
102
+ sessionId: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
103
+ input: { type: ScalarTypeEnum.JSONObject(), isOptional: false },
104
+ output: { type: ScalarTypeEnum.JSONObject(), isOptional: true },
105
+ status: { type: RunStatusEnum, isOptional: false },
106
+ errorMessage: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
107
+ errorCode: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
108
+ totalTokens: {
109
+ type: ScalarTypeEnum.Int_unsecure(),
110
+ isOptional: false,
111
+ defaultValue: 0
112
+ },
113
+ promptTokens: {
114
+ type: ScalarTypeEnum.Int_unsecure(),
115
+ isOptional: false,
116
+ defaultValue: 0
117
+ },
118
+ completionTokens: {
119
+ type: ScalarTypeEnum.Int_unsecure(),
120
+ isOptional: false,
121
+ defaultValue: 0
122
+ },
123
+ totalIterations: {
124
+ type: ScalarTypeEnum.Int_unsecure(),
125
+ isOptional: false,
126
+ defaultValue: 0
127
+ },
128
+ durationMs: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
129
+ estimatedCostUsd: {
130
+ type: ScalarTypeEnum.Float_unsecure(),
131
+ isOptional: true
132
+ },
133
+ queuedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },
134
+ startedAt: { type: ScalarTypeEnum.DateTime(), isOptional: true },
135
+ completedAt: { type: ScalarTypeEnum.DateTime(), isOptional: true },
136
+ metadata: { type: ScalarTypeEnum.JSONObject(), isOptional: true },
137
+ steps: { type: RunStepModel, isArray: true, isOptional: true },
138
+ logs: { type: RunLogModel, isArray: true, isOptional: true },
139
+ agent: { type: RunAgentRefModel, isOptional: true }
140
+ }
141
+ });
142
+ var RunSummaryModel = defineSchemaModel({
143
+ name: "RunSummary",
144
+ description: "Summary of a run for list views",
145
+ fields: {
146
+ id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
147
+ agentId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
148
+ agentName: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
149
+ status: { type: RunStatusEnum, isOptional: false },
150
+ totalTokens: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },
151
+ durationMs: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
152
+ estimatedCostUsd: {
153
+ type: ScalarTypeEnum.Float_unsecure(),
154
+ isOptional: true
155
+ },
156
+ queuedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },
157
+ completedAt: { type: ScalarTypeEnum.DateTime(), isOptional: true }
158
+ }
159
+ });
160
+ var TimelineDataPointModel = defineSchemaModel({
161
+ name: "TimelineDataPoint",
162
+ description: "Timeline data point for metrics",
163
+ fields: {
164
+ period: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
165
+ runs: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },
166
+ tokens: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },
167
+ costUsd: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false },
168
+ avgDurationMs: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false }
169
+ }
170
+ });
171
+
172
+ // src/run/run.operation.ts
173
+ import {
174
+ defineCommand,
175
+ defineQuery
176
+ } from "@contractspec/lib.contracts/operations";
177
+ import { defineSchemaModel as defineSchemaModel2, ScalarTypeEnum as ScalarTypeEnum2 } from "@contractspec/lib.schema";
178
+ var OWNERS = ["@agent-console-team"];
179
+ var ExecuteAgentCommand = defineCommand({
180
+ meta: {
181
+ key: "agent.run.execute",
182
+ version: "1.0.0",
183
+ stability: "stable",
184
+ owners: [...OWNERS],
185
+ tags: ["run", "execute"],
186
+ description: "Starts a new agent run with the given input.",
187
+ goal: "Execute an AI agent with user input.",
188
+ context: "Called from chat interface or API."
189
+ },
190
+ io: {
191
+ input: defineSchemaModel2({
192
+ name: "ExecuteAgentInput",
193
+ fields: {
194
+ agentId: { type: ScalarTypeEnum2.String_unsecure(), isOptional: false },
195
+ input: { type: RunInputModel, isOptional: false },
196
+ sessionId: { type: ScalarTypeEnum2.String_unsecure(), isOptional: true },
197
+ metadata: { type: ScalarTypeEnum2.JSONObject(), isOptional: true },
198
+ stream: { type: ScalarTypeEnum2.Boolean(), isOptional: true },
199
+ maxIterations: {
200
+ type: ScalarTypeEnum2.Int_unsecure(),
201
+ isOptional: true
202
+ },
203
+ timeoutMs: { type: ScalarTypeEnum2.Int_unsecure(), isOptional: true }
204
+ }
205
+ }),
206
+ output: defineSchemaModel2({
207
+ name: "ExecuteAgentOutput",
208
+ fields: {
209
+ runId: { type: ScalarTypeEnum2.String_unsecure(), isOptional: false },
210
+ status: { type: RunStatusEnum, isOptional: false },
211
+ estimatedWaitMs: {
212
+ type: ScalarTypeEnum2.Int_unsecure(),
213
+ isOptional: true
214
+ }
215
+ }
216
+ }),
217
+ errors: {
218
+ AGENT_NOT_FOUND: {
219
+ description: "The specified agent does not exist",
220
+ http: 404,
221
+ gqlCode: "AGENT_NOT_FOUND",
222
+ when: "Agent ID is invalid"
223
+ },
224
+ AGENT_NOT_ACTIVE: {
225
+ description: "The specified agent is not active",
226
+ http: 400,
227
+ gqlCode: "AGENT_NOT_ACTIVE",
228
+ when: "Agent is in draft/paused/archived state"
229
+ }
230
+ }
231
+ },
232
+ policy: { auth: "user" },
233
+ sideEffects: {
234
+ emits: [
235
+ {
236
+ key: "run.started",
237
+ version: "1.0.0",
238
+ stability: "stable",
239
+ owners: [...OWNERS],
240
+ tags: ["run", "started"],
241
+ when: "Run is queued",
242
+ payload: RunSummaryModel
243
+ }
244
+ ],
245
+ audit: ["run.started"]
246
+ },
247
+ acceptance: {
248
+ scenarios: [
249
+ {
250
+ key: "execute-agent-happy-path",
251
+ given: ["Agent exists", "Agent is active"],
252
+ when: ["User submits execution request"],
253
+ then: ["Run is created", "RunStarted event is emitted"]
254
+ },
255
+ {
256
+ key: "execute-agent-not-active",
257
+ given: ["Agent exists but is not active"],
258
+ when: ["User attempts to execute"],
259
+ then: ["AGENT_NOT_ACTIVE error is returned"]
260
+ }
261
+ ],
262
+ examples: [
263
+ {
264
+ key: "basic-execute",
265
+ input: { agentId: "agent-123", input: { message: "Hello" } },
266
+ output: { runId: "run-456", status: "pending", estimatedWaitMs: 5000 }
267
+ }
268
+ ]
269
+ }
270
+ });
271
+ var CancelRunCommand = defineCommand({
272
+ meta: {
273
+ key: "agent.run.cancel",
274
+ version: "1.0.0",
275
+ stability: "stable",
276
+ owners: [...OWNERS],
277
+ tags: ["run", "cancel"],
278
+ description: "Cancels an in-progress agent run.",
279
+ goal: "Stop a running agent execution.",
280
+ context: "Called when user wants to abort a long-running task."
281
+ },
282
+ io: {
283
+ input: defineSchemaModel2({
284
+ name: "CancelRunInput",
285
+ fields: {
286
+ runId: { type: ScalarTypeEnum2.String_unsecure(), isOptional: false },
287
+ reason: { type: ScalarTypeEnum2.String_unsecure(), isOptional: true }
288
+ }
289
+ }),
290
+ output: defineSchemaModel2({
291
+ name: "CancelRunOutput",
292
+ fields: {
293
+ success: { type: ScalarTypeEnum2.Boolean(), isOptional: false },
294
+ status: { type: RunStatusEnum, isOptional: false }
295
+ }
296
+ }),
297
+ errors: {
298
+ RUN_NOT_FOUND: {
299
+ description: "The specified run does not exist",
300
+ http: 404,
301
+ gqlCode: "RUN_NOT_FOUND",
302
+ when: "Run ID is invalid"
303
+ },
304
+ RUN_NOT_CANCELLABLE: {
305
+ description: "The run cannot be cancelled",
306
+ http: 400,
307
+ gqlCode: "RUN_NOT_CANCELLABLE",
308
+ when: "Run is already completed/failed/cancelled"
309
+ }
310
+ }
311
+ },
312
+ policy: { auth: "user" },
313
+ sideEffects: {
314
+ emits: [
315
+ {
316
+ key: "run.cancelled",
317
+ version: "1.0.0",
318
+ stability: "stable",
319
+ owners: [...OWNERS],
320
+ tags: ["run", "cancelled"],
321
+ when: "Run is cancelled",
322
+ payload: RunSummaryModel
323
+ }
324
+ ],
325
+ audit: ["run.cancelled"]
326
+ },
327
+ acceptance: {
328
+ scenarios: [
329
+ {
330
+ key: "cancel-run-happy-path",
331
+ given: ["Run exists", "Run is in progress"],
332
+ when: ["User cancels run"],
333
+ then: ["Run is cancelled", "RunCancelled event is emitted"]
334
+ },
335
+ {
336
+ key: "cancel-run-already-completed",
337
+ given: ["Run exists but is already completed"],
338
+ when: ["User attempts to cancel"],
339
+ then: ["RUN_NOT_CANCELLABLE error is returned"]
340
+ }
341
+ ],
342
+ examples: [
343
+ {
344
+ key: "cancel-basic",
345
+ input: { runId: "run-456", reason: "User requested" },
346
+ output: { success: true, status: "cancelled" }
347
+ }
348
+ ]
349
+ }
350
+ });
351
+ var GetRunQuery = defineQuery({
352
+ meta: {
353
+ key: "agent.run.get",
354
+ version: "1.0.0",
355
+ stability: "stable",
356
+ owners: [...OWNERS],
357
+ tags: ["run", "get"],
358
+ description: "Retrieves a run by its ID with optional details.",
359
+ goal: "View detailed run information.",
360
+ context: "Run details page or monitoring."
361
+ },
362
+ io: {
363
+ input: defineSchemaModel2({
364
+ name: "GetRunInput",
365
+ fields: {
366
+ runId: { type: ScalarTypeEnum2.String_unsecure(), isOptional: false },
367
+ includeSteps: { type: ScalarTypeEnum2.Boolean(), isOptional: true },
368
+ includeLogs: { type: ScalarTypeEnum2.Boolean(), isOptional: true }
369
+ }
370
+ }),
371
+ output: RunModel,
372
+ errors: {
373
+ RUN_NOT_FOUND: {
374
+ description: "The specified run does not exist",
375
+ http: 404,
376
+ gqlCode: "RUN_NOT_FOUND",
377
+ when: "Run ID is invalid"
378
+ }
379
+ }
380
+ },
381
+ policy: { auth: "user" },
382
+ acceptance: {
383
+ scenarios: [
384
+ {
385
+ key: "get-run-happy-path",
386
+ given: ["Run exists"],
387
+ when: ["User requests run by ID"],
388
+ then: ["Run details are returned"]
389
+ }
390
+ ],
391
+ examples: [
392
+ {
393
+ key: "get-with-steps",
394
+ input: { runId: "run-456", includeSteps: true, includeLogs: false },
395
+ output: { id: "run-456", status: "completed", steps: [] }
396
+ }
397
+ ]
398
+ }
399
+ });
400
+ var ListRunsQuery = defineQuery({
401
+ meta: {
402
+ key: "agent.run.list",
403
+ version: "1.0.0",
404
+ stability: "stable",
405
+ owners: [...OWNERS],
406
+ tags: ["run", "list"],
407
+ description: "Lists runs with optional filtering.",
408
+ goal: "Browse and search run history.",
409
+ context: "Run history/dashboard view."
410
+ },
411
+ io: {
412
+ input: defineSchemaModel2({
413
+ name: "ListRunsInput",
414
+ fields: {
415
+ organizationId: {
416
+ type: ScalarTypeEnum2.String_unsecure(),
417
+ isOptional: true
418
+ },
419
+ agentId: { type: ScalarTypeEnum2.String_unsecure(), isOptional: true },
420
+ userId: { type: ScalarTypeEnum2.String_unsecure(), isOptional: true },
421
+ sessionId: { type: ScalarTypeEnum2.String_unsecure(), isOptional: true },
422
+ status: { type: RunStatusEnum, isOptional: true },
423
+ startDate: { type: ScalarTypeEnum2.DateTime(), isOptional: true },
424
+ endDate: { type: ScalarTypeEnum2.DateTime(), isOptional: true },
425
+ limit: {
426
+ type: ScalarTypeEnum2.Int_unsecure(),
427
+ isOptional: true,
428
+ defaultValue: 20
429
+ },
430
+ offset: {
431
+ type: ScalarTypeEnum2.Int_unsecure(),
432
+ isOptional: true,
433
+ defaultValue: 0
434
+ }
435
+ }
436
+ }),
437
+ output: defineSchemaModel2({
438
+ name: "ListRunsOutput",
439
+ fields: {
440
+ items: { type: RunSummaryModel, isArray: true, isOptional: false },
441
+ total: { type: ScalarTypeEnum2.Int_unsecure(), isOptional: false },
442
+ hasMore: { type: ScalarTypeEnum2.Boolean(), isOptional: false }
443
+ }
444
+ })
445
+ },
446
+ policy: { auth: "user" },
447
+ acceptance: {
448
+ scenarios: [
449
+ {
450
+ key: "list-runs-happy-path",
451
+ given: ["Organization has runs"],
452
+ when: ["User lists runs"],
453
+ then: ["Paginated list of runs is returned"]
454
+ }
455
+ ],
456
+ examples: [
457
+ {
458
+ key: "list-by-agent",
459
+ input: { agentId: "agent-123", limit: 20, offset: 0 },
460
+ output: { items: [], total: 0, hasMore: false }
461
+ }
462
+ ]
463
+ }
464
+ });
465
+ var GetRunStepsQuery = defineQuery({
466
+ meta: {
467
+ key: "agent.run.getSteps",
468
+ version: "1.0.0",
469
+ stability: "stable",
470
+ owners: [...OWNERS],
471
+ tags: ["run", "steps"],
472
+ description: "Retrieves all steps for a specific run.",
473
+ goal: "View step-by-step execution details.",
474
+ context: "Run details page - steps tab."
475
+ },
476
+ io: {
477
+ input: defineSchemaModel2({
478
+ name: "GetRunStepsInput",
479
+ fields: {
480
+ runId: { type: ScalarTypeEnum2.String_unsecure(), isOptional: false }
481
+ }
482
+ }),
483
+ output: defineSchemaModel2({
484
+ name: "GetRunStepsOutput",
485
+ fields: {
486
+ steps: { type: RunStepModel, isArray: true, isOptional: false }
487
+ }
488
+ })
489
+ },
490
+ policy: { auth: "user" },
491
+ acceptance: {
492
+ scenarios: [
493
+ {
494
+ key: "get-run-steps-happy-path",
495
+ given: ["Run exists with steps"],
496
+ when: ["User requests steps"],
497
+ then: ["Steps list is returned"]
498
+ }
499
+ ],
500
+ examples: [
501
+ {
502
+ key: "get-steps-basic",
503
+ input: { runId: "run-456" },
504
+ output: { steps: [] }
505
+ }
506
+ ]
507
+ }
508
+ });
509
+ var GetRunLogsQuery = defineQuery({
510
+ meta: {
511
+ key: "agent.run.getLogs",
512
+ version: "1.0.0",
513
+ stability: "stable",
514
+ owners: [...OWNERS],
515
+ tags: ["run", "logs"],
516
+ description: "Retrieves all logs for a specific run.",
517
+ goal: "Debug and audit run execution.",
518
+ context: "Run details page - logs tab."
519
+ },
520
+ io: {
521
+ input: defineSchemaModel2({
522
+ name: "GetRunLogsInput",
523
+ fields: {
524
+ runId: { type: ScalarTypeEnum2.String_unsecure(), isOptional: false },
525
+ level: { type: LogLevelEnum, isOptional: true },
526
+ stepId: { type: ScalarTypeEnum2.String_unsecure(), isOptional: true },
527
+ limit: {
528
+ type: ScalarTypeEnum2.Int_unsecure(),
529
+ isOptional: true,
530
+ defaultValue: 100
531
+ },
532
+ offset: {
533
+ type: ScalarTypeEnum2.Int_unsecure(),
534
+ isOptional: true,
535
+ defaultValue: 0
536
+ }
537
+ }
538
+ }),
539
+ output: defineSchemaModel2({
540
+ name: "GetRunLogsOutput",
541
+ fields: {
542
+ items: { type: RunLogModel, isArray: true, isOptional: false },
543
+ total: { type: ScalarTypeEnum2.Int_unsecure(), isOptional: false },
544
+ hasMore: { type: ScalarTypeEnum2.Boolean(), isOptional: false }
545
+ }
546
+ })
547
+ },
548
+ policy: { auth: "user" },
549
+ acceptance: {
550
+ scenarios: [
551
+ {
552
+ key: "get-run-logs-happy-path",
553
+ given: ["Run exists with logs"],
554
+ when: ["User requests logs"],
555
+ then: ["Paginated logs list is returned"]
556
+ }
557
+ ],
558
+ examples: [
559
+ {
560
+ key: "get-logs-filtered",
561
+ input: { runId: "run-456", level: "error", limit: 50 },
562
+ output: { items: [], total: 0, hasMore: false }
563
+ }
564
+ ]
565
+ }
566
+ });
567
+ var GetRunMetricsQuery = defineQuery({
568
+ meta: {
569
+ key: "agent.run.getMetrics",
570
+ version: "1.0.0",
571
+ stability: "stable",
572
+ owners: [...OWNERS],
573
+ tags: ["run", "metrics"],
574
+ description: "Retrieves aggregated metrics for runs within a time period.",
575
+ goal: "Monitor and analyze agent usage.",
576
+ context: "Analytics dashboard."
577
+ },
578
+ io: {
579
+ input: defineSchemaModel2({
580
+ name: "GetRunMetricsInput",
581
+ fields: {
582
+ organizationId: {
583
+ type: ScalarTypeEnum2.String_unsecure(),
584
+ isOptional: false
585
+ },
586
+ agentId: { type: ScalarTypeEnum2.String_unsecure(), isOptional: true },
587
+ startDate: { type: ScalarTypeEnum2.DateTime(), isOptional: false },
588
+ endDate: { type: ScalarTypeEnum2.DateTime(), isOptional: false },
589
+ granularity: {
590
+ type: GranularityEnum,
591
+ isOptional: true,
592
+ defaultValue: "day"
593
+ }
594
+ }
595
+ }),
596
+ output: defineSchemaModel2({
597
+ name: "GetRunMetricsOutput",
598
+ fields: {
599
+ totalRuns: { type: ScalarTypeEnum2.Int_unsecure(), isOptional: false },
600
+ completedRuns: {
601
+ type: ScalarTypeEnum2.Int_unsecure(),
602
+ isOptional: false
603
+ },
604
+ failedRuns: { type: ScalarTypeEnum2.Int_unsecure(), isOptional: false },
605
+ totalTokens: { type: ScalarTypeEnum2.Int_unsecure(), isOptional: false },
606
+ totalCostUsd: {
607
+ type: ScalarTypeEnum2.Float_unsecure(),
608
+ isOptional: false
609
+ },
610
+ averageDurationMs: {
611
+ type: ScalarTypeEnum2.Float_unsecure(),
612
+ isOptional: false
613
+ },
614
+ successRate: {
615
+ type: ScalarTypeEnum2.Float_unsecure(),
616
+ isOptional: false
617
+ },
618
+ timeline: {
619
+ type: TimelineDataPointModel,
620
+ isArray: true,
621
+ isOptional: false
622
+ }
623
+ }
624
+ })
625
+ },
626
+ policy: { auth: "user" },
627
+ acceptance: {
628
+ scenarios: [
629
+ {
630
+ key: "get-run-metrics-happy-path",
631
+ given: ["Organization has run history"],
632
+ when: ["User requests metrics for date range"],
633
+ then: ["Aggregated metrics are returned"]
634
+ }
635
+ ],
636
+ examples: [
637
+ {
638
+ key: "get-daily-metrics",
639
+ input: {
640
+ organizationId: "org-123",
641
+ startDate: "2025-01-01",
642
+ endDate: "2025-01-31",
643
+ granularity: "day"
644
+ },
645
+ output: {
646
+ totalRuns: 100,
647
+ completedRuns: 90,
648
+ failedRuns: 10,
649
+ totalTokens: 50000,
650
+ totalCostUsd: 5,
651
+ averageDurationMs: 2500,
652
+ successRate: 0.9,
653
+ timeline: []
654
+ }
655
+ }
656
+ ]
657
+ }
658
+ });
659
+ export {
660
+ ListRunsQuery,
661
+ GetRunStepsQuery,
662
+ GetRunQuery,
663
+ GetRunMetricsQuery,
664
+ GetRunLogsQuery,
665
+ ExecuteAgentCommand,
666
+ CancelRunCommand
667
+ };