@contractspec/example.agent-console 3.7.6 → 3.8.2

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 (288) hide show
  1. package/.turbo/turbo-build.log +126 -105
  2. package/AGENTS.md +52 -31
  3. package/CHANGELOG.md +29 -0
  4. package/README.md +112 -83
  5. package/dist/agent/agent.event.js +1 -1
  6. package/dist/agent/agent.handler.d.ts +3 -0
  7. package/dist/agent/agent.handler.js +730 -1
  8. package/dist/agent/agent.operation.js +1 -1
  9. package/dist/agent/index.d.ts +5 -5
  10. package/dist/agent/index.js +74 -73
  11. package/dist/agent.feature.js +179 -0
  12. package/dist/browser/agent/agent.event.js +1 -1
  13. package/dist/browser/agent/agent.handler.js +730 -1
  14. package/dist/browser/agent/agent.operation.js +1 -1
  15. package/dist/browser/agent/index.js +74 -73
  16. package/dist/browser/agent.feature.js +179 -0
  17. package/dist/browser/docs/agent-console.docblock.js +11 -8
  18. package/dist/browser/docs/index.js +11 -8
  19. package/dist/browser/example.js +2 -3
  20. package/dist/browser/handlers/agent.handlers.js +1883 -2
  21. package/dist/browser/handlers/index.js +2142 -8
  22. package/dist/browser/index.js +4075 -3161
  23. package/dist/browser/presentations/index.js +51 -51
  24. package/dist/browser/run/index.js +380 -374
  25. package/dist/browser/run/run.event.js +2 -2
  26. package/dist/browser/run/run.handler.js +666 -1
  27. package/dist/browser/run/run.presentation.js +2 -2
  28. package/dist/browser/shared/index.js +293 -1
  29. package/dist/browser/shared/mock-runs.js +5 -0
  30. package/dist/browser/tool/index.js +161 -161
  31. package/dist/browser/tool/tool.event.js +1 -1
  32. package/dist/browser/tool/tool.handler.js +479 -3
  33. package/dist/browser/tool/tool.presentation.js +2 -2
  34. package/dist/browser/ui/AgentDashboard.js +1816 -931
  35. package/dist/browser/ui/AgentDashboard.visualizations.js +217 -0
  36. package/dist/browser/ui/AgentRunList.js +360 -128
  37. package/dist/browser/ui/AgentToolRegistry.js +9 -9
  38. package/dist/browser/ui/hooks/index.js +611 -161
  39. package/dist/browser/ui/hooks/useAgentList.js +1 -1
  40. package/dist/browser/ui/hooks/useAgentMutations.js +444 -9
  41. package/dist/browser/ui/hooks/useRunList.js +26 -11
  42. package/dist/browser/ui/hooks/useToolList.js +1 -1
  43. package/dist/browser/ui/index.js +2161 -1258
  44. package/dist/browser/ui/modals/AgentActionsModal.js +13 -13
  45. package/dist/browser/ui/modals/CreateAgentModal.js +15 -15
  46. package/dist/browser/ui/modals/index.js +297 -297
  47. package/dist/browser/ui/renderers/agent-list.markdown.js +14 -5
  48. package/dist/browser/ui/renderers/agent-list.renderer.js +7 -7
  49. package/dist/browser/ui/renderers/dashboard.markdown.js +207 -36
  50. package/dist/browser/ui/renderers/index.js +359 -163
  51. package/dist/browser/ui/renderers/run-list.markdown.js +9 -4
  52. package/dist/browser/ui/renderers/tool-registry.markdown.js +15 -4
  53. package/dist/browser/ui/views/AgentListView.js +7 -7
  54. package/dist/browser/ui/views/RunDataTable.js +326 -0
  55. package/dist/browser/ui/views/RunListView.js +360 -128
  56. package/dist/browser/ui/views/ToolRegistryView.js +9 -9
  57. package/dist/browser/ui/views/index.js +478 -246
  58. package/dist/browser/ui/views/run-data-table.columns.js +271 -0
  59. package/dist/browser/ui/views/run-list.shared.js +177 -0
  60. package/dist/browser/visualizations/catalog.js +134 -0
  61. package/dist/browser/visualizations/index.js +187 -0
  62. package/dist/browser/visualizations/selectors.js +181 -0
  63. package/dist/docs/agent-console.docblock.js +11 -8
  64. package/dist/docs/index.js +11 -8
  65. package/dist/example.js +2 -3
  66. package/dist/example.test.d.ts +1 -0
  67. package/dist/handlers/agent.handlers.d.ts +2 -0
  68. package/dist/handlers/agent.handlers.js +1883 -2
  69. package/dist/handlers/index.d.ts +2 -4
  70. package/dist/handlers/index.js +2142 -8
  71. package/dist/handlers/mock-handlers.test.d.ts +1 -0
  72. package/dist/index.d.ts +6 -4
  73. package/dist/index.js +4075 -3161
  74. package/dist/node/agent/agent.event.js +1 -1
  75. package/dist/node/agent/agent.handler.js +730 -1
  76. package/dist/node/agent/agent.operation.js +1 -1
  77. package/dist/node/agent/index.js +74 -73
  78. package/dist/node/agent.feature.js +179 -0
  79. package/dist/node/docs/agent-console.docblock.js +11 -8
  80. package/dist/node/docs/index.js +11 -8
  81. package/dist/node/example.js +2 -3
  82. package/dist/node/handlers/agent.handlers.js +1883 -2
  83. package/dist/node/handlers/index.js +2142 -8
  84. package/dist/node/index.js +4075 -3161
  85. package/dist/node/presentations/index.js +51 -51
  86. package/dist/node/run/index.js +380 -374
  87. package/dist/node/run/run.event.js +2 -2
  88. package/dist/node/run/run.handler.js +666 -1
  89. package/dist/node/run/run.presentation.js +2 -2
  90. package/dist/node/shared/index.js +293 -1
  91. package/dist/node/shared/mock-runs.js +5 -0
  92. package/dist/node/tool/index.js +161 -161
  93. package/dist/node/tool/tool.event.js +1 -1
  94. package/dist/node/tool/tool.handler.js +479 -3
  95. package/dist/node/tool/tool.presentation.js +2 -2
  96. package/dist/node/ui/AgentDashboard.js +1816 -931
  97. package/dist/node/ui/AgentDashboard.visualizations.js +217 -0
  98. package/dist/node/ui/AgentRunList.js +360 -128
  99. package/dist/node/ui/AgentToolRegistry.js +9 -9
  100. package/dist/node/ui/hooks/index.js +611 -161
  101. package/dist/node/ui/hooks/useAgentList.js +1 -1
  102. package/dist/node/ui/hooks/useAgentMutations.js +444 -9
  103. package/dist/node/ui/hooks/useRunList.js +26 -11
  104. package/dist/node/ui/hooks/useToolList.js +1 -1
  105. package/dist/node/ui/index.js +2161 -1258
  106. package/dist/node/ui/modals/AgentActionsModal.js +13 -13
  107. package/dist/node/ui/modals/CreateAgentModal.js +15 -15
  108. package/dist/node/ui/modals/index.js +297 -297
  109. package/dist/node/ui/renderers/agent-list.markdown.js +14 -5
  110. package/dist/node/ui/renderers/agent-list.renderer.js +7 -7
  111. package/dist/node/ui/renderers/dashboard.markdown.js +207 -36
  112. package/dist/node/ui/renderers/index.js +359 -163
  113. package/dist/node/ui/renderers/run-list.markdown.js +9 -4
  114. package/dist/node/ui/renderers/tool-registry.markdown.js +15 -4
  115. package/dist/node/ui/views/AgentListView.js +7 -7
  116. package/dist/node/ui/views/RunDataTable.js +326 -0
  117. package/dist/node/ui/views/RunListView.js +360 -128
  118. package/dist/node/ui/views/ToolRegistryView.js +9 -9
  119. package/dist/node/ui/views/index.js +478 -246
  120. package/dist/node/ui/views/run-data-table.columns.js +271 -0
  121. package/dist/node/ui/views/run-list.shared.js +177 -0
  122. package/dist/node/visualizations/catalog.js +134 -0
  123. package/dist/node/visualizations/index.js +187 -0
  124. package/dist/node/visualizations/selectors.js +181 -0
  125. package/dist/presentations/index.d.ts +3 -5
  126. package/dist/presentations/index.js +51 -51
  127. package/dist/proof/index.d.ts +2 -0
  128. package/dist/proof/meetup-proof.d.ts +10 -0
  129. package/dist/proof/meetup-proof.runtime.d.ts +22 -0
  130. package/dist/proof/meetup-proof.scenario.d.ts +2 -0
  131. package/dist/proof/meetup-proof.suite.d.ts +1 -0
  132. package/dist/proof/meetup-proof.test.d.ts +1 -0
  133. package/dist/run/index.d.ts +7 -7
  134. package/dist/run/index.js +380 -374
  135. package/dist/run/run.event.js +2 -2
  136. package/dist/run/run.handler.d.ts +7 -0
  137. package/dist/run/run.handler.js +666 -1
  138. package/dist/run/run.presentation.js +2 -2
  139. package/dist/shared/demo-dashboard-data.d.ts +16 -0
  140. package/dist/shared/demo-runtime-seed.d.ts +17 -0
  141. package/dist/shared/demo-runtime.d.ts +8 -0
  142. package/dist/shared/demo-runtime.test.d.ts +1 -0
  143. package/dist/shared/index.d.ts +4 -1
  144. package/dist/shared/index.js +293 -1
  145. package/dist/shared/mock-runs.d.ts +4 -0
  146. package/dist/shared/mock-runs.js +5 -0
  147. package/dist/tool/index.d.ts +7 -7
  148. package/dist/tool/index.js +161 -161
  149. package/dist/tool/tool.event.js +1 -1
  150. package/dist/tool/tool.handler.d.ts +3 -0
  151. package/dist/tool/tool.handler.js +479 -3
  152. package/dist/tool/tool.presentation.js +2 -2
  153. package/dist/ui/AgentDashboard.js +1816 -931
  154. package/dist/ui/AgentDashboard.sandbox.test.d.ts +1 -0
  155. package/dist/ui/AgentDashboard.visualizations.d.ts +4 -0
  156. package/dist/ui/AgentDashboard.visualizations.js +218 -0
  157. package/dist/ui/AgentRunList.js +360 -128
  158. package/dist/ui/AgentToolRegistry.js +9 -9
  159. package/dist/ui/hooks/index.d.ts +4 -4
  160. package/dist/ui/hooks/index.js +611 -161
  161. package/dist/ui/hooks/useAgentList.d.ts +5 -0
  162. package/dist/ui/hooks/useAgentList.js +1 -1
  163. package/dist/ui/hooks/useAgentMutations.d.ts +9 -2
  164. package/dist/ui/hooks/useAgentMutations.js +444 -9
  165. package/dist/ui/hooks/useRunList.d.ts +13 -2
  166. package/dist/ui/hooks/useRunList.js +26 -11
  167. package/dist/ui/hooks/useToolList.d.ts +5 -0
  168. package/dist/ui/hooks/useToolList.js +1 -1
  169. package/dist/ui/index.d.ts +3 -3
  170. package/dist/ui/index.js +2161 -1258
  171. package/dist/ui/modals/AgentActionsModal.js +13 -13
  172. package/dist/ui/modals/CreateAgentModal.js +15 -15
  173. package/dist/ui/modals/index.d.ts +1 -1
  174. package/dist/ui/modals/index.js +297 -297
  175. package/dist/ui/renderers/agent-list.markdown.d.ts +5 -0
  176. package/dist/ui/renderers/agent-list.markdown.js +14 -5
  177. package/dist/ui/renderers/agent-list.renderer.js +7 -7
  178. package/dist/ui/renderers/dashboard.markdown.d.ts +5 -0
  179. package/dist/ui/renderers/dashboard.markdown.js +207 -36
  180. package/dist/ui/renderers/index.d.ts +2 -2
  181. package/dist/ui/renderers/index.js +359 -163
  182. package/dist/ui/renderers/run-list.markdown.d.ts +5 -0
  183. package/dist/ui/renderers/run-list.markdown.js +9 -4
  184. package/dist/ui/renderers/tool-registry.markdown.d.ts +6 -1
  185. package/dist/ui/renderers/tool-registry.markdown.js +15 -4
  186. package/dist/ui/views/AgentListView.js +7 -7
  187. package/dist/ui/views/RunDataTable.d.ts +18 -0
  188. package/dist/ui/views/RunDataTable.js +327 -0
  189. package/dist/ui/views/RunListView.js +360 -128
  190. package/dist/ui/views/ToolRegistryView.js +9 -9
  191. package/dist/ui/views/index.js +478 -246
  192. package/dist/ui/views/run-data-table.columns.d.ts +3 -0
  193. package/dist/ui/views/run-data-table.columns.js +272 -0
  194. package/dist/ui/views/run-list.shared.d.ts +14 -0
  195. package/dist/ui/views/run-list.shared.js +178 -0
  196. package/dist/visualizations/catalog.d.ts +10 -0
  197. package/dist/visualizations/catalog.js +135 -0
  198. package/dist/visualizations/index.d.ts +2 -0
  199. package/dist/visualizations/index.js +188 -0
  200. package/dist/visualizations/selectors.d.ts +3 -0
  201. package/dist/visualizations/selectors.js +182 -0
  202. package/dist/visualizations/selectors.test.d.ts +1 -0
  203. package/package.json +114 -12
  204. package/proofs/agent-console-meetup.replay.json +220 -0
  205. package/src/agent/agent.entity.ts +111 -111
  206. package/src/agent/agent.enum.ts +12 -12
  207. package/src/agent/agent.event.ts +91 -91
  208. package/src/agent/agent.handler.ts +144 -127
  209. package/src/agent/agent.operation.ts +400 -400
  210. package/src/agent/agent.presentation.ts +62 -62
  211. package/src/agent/agent.schema.ts +175 -175
  212. package/src/agent/agent.test-spec.ts +48 -48
  213. package/src/agent/index.ts +46 -51
  214. package/src/agent.capability.ts +11 -11
  215. package/src/agent.feature.ts +134 -131
  216. package/src/docs/agent-console.docblock.ts +52 -49
  217. package/src/example.test.ts +75 -0
  218. package/src/example.ts +34 -35
  219. package/src/handlers/agent.handlers.ts +576 -522
  220. package/src/handlers/index.ts +30 -14
  221. package/src/handlers/mock-handlers.test.ts +77 -0
  222. package/src/index.ts +10 -9
  223. package/src/presentations/index.ts +11 -13
  224. package/src/proof/index.ts +2 -0
  225. package/src/proof/meetup-proof.runtime.ts +196 -0
  226. package/src/proof/meetup-proof.scenario.ts +99 -0
  227. package/src/proof/meetup-proof.suite.ts +29 -0
  228. package/src/proof/meetup-proof.test.ts +28 -0
  229. package/src/proof/meetup-proof.ts +130 -0
  230. package/src/run/index.ts +49 -54
  231. package/src/run/run.entity.ts +137 -137
  232. package/src/run/run.enum.ts +18 -18
  233. package/src/run/run.event.ts +174 -174
  234. package/src/run/run.handler.ts +113 -96
  235. package/src/run/run.operation.ts +474 -474
  236. package/src/run/run.presentation.ts +42 -42
  237. package/src/run/run.schema.ts +126 -126
  238. package/src/run/run.test-spec.ts +48 -48
  239. package/src/seeders/index.ts +21 -21
  240. package/src/shared/demo-dashboard-data.ts +58 -0
  241. package/src/shared/demo-runtime-seed.ts +139 -0
  242. package/src/shared/demo-runtime.test.ts +169 -0
  243. package/src/shared/demo-runtime.ts +260 -0
  244. package/src/shared/index.ts +12 -1
  245. package/src/shared/mock-agents.ts +76 -76
  246. package/src/shared/mock-runs.ts +107 -102
  247. package/src/shared/mock-tools.ts +140 -140
  248. package/src/shared/overlay-types.ts +23 -23
  249. package/src/tool/index.ts +39 -44
  250. package/src/tool/tool.entity.ts +73 -73
  251. package/src/tool/tool.enum.ts +13 -13
  252. package/src/tool/tool.event.ts +80 -80
  253. package/src/tool/tool.handler.ts +124 -107
  254. package/src/tool/tool.operation.ts +328 -328
  255. package/src/tool/tool.presentation.ts +43 -43
  256. package/src/tool/tool.schema.ts +106 -106
  257. package/src/tool/tool.test-spec.ts +48 -48
  258. package/src/ui/AgentDashboard.sandbox.test.tsx +312 -0
  259. package/src/ui/AgentDashboard.tsx +351 -348
  260. package/src/ui/AgentDashboard.visualizations.tsx +35 -0
  261. package/src/ui/hooks/index.ts +7 -7
  262. package/src/ui/hooks/useAgentList.ts +57 -56
  263. package/src/ui/hooks/useAgentMutations.ts +168 -159
  264. package/src/ui/hooks/useRunList.ts +90 -57
  265. package/src/ui/hooks/useToolList.ts +102 -101
  266. package/src/ui/index.ts +6 -9
  267. package/src/ui/modals/AgentActionsModal.tsx +262 -262
  268. package/src/ui/modals/CreateAgentModal.tsx +232 -232
  269. package/src/ui/modals/index.ts +1 -1
  270. package/src/ui/overlays/demo-overlays.ts +52 -52
  271. package/src/ui/renderers/agent-list.markdown.ts +81 -61
  272. package/src/ui/renderers/agent-list.renderer.tsx +14 -14
  273. package/src/ui/renderers/dashboard.markdown.ts +135 -139
  274. package/src/ui/renderers/index.ts +3 -4
  275. package/src/ui/renderers/run-list.markdown.ts +56 -47
  276. package/src/ui/renderers/tool-registry.markdown.ts +79 -66
  277. package/src/ui/views/AgentListView.tsx +90 -90
  278. package/src/ui/views/RunDataTable.tsx +74 -0
  279. package/src/ui/views/RunListView.tsx +84 -158
  280. package/src/ui/views/ToolRegistryView.tsx +113 -113
  281. package/src/ui/views/run-data-table.columns.tsx +102 -0
  282. package/src/ui/views/run-list.shared.tsx +139 -0
  283. package/src/visualizations/catalog.ts +132 -0
  284. package/src/visualizations/index.ts +2 -0
  285. package/src/visualizations/selectors.test.ts +12 -0
  286. package/src/visualizations/selectors.ts +70 -0
  287. package/tsconfig.json +7 -8
  288. package/tsdown.config.js +24 -3
package/src/run/index.ts CHANGED
@@ -2,67 +2,62 @@
2
2
  * Run domain - Agent execution and monitoring.
3
3
  */
4
4
 
5
+ // Entities
6
+ export {
7
+ LogLevelEntityEnum,
8
+ RunEntity,
9
+ RunLogEntity,
10
+ RunStatusEntityEnum,
11
+ RunStepEntity,
12
+ RunStepTypeEntityEnum,
13
+ } from './run.entity';
5
14
  // Enums
6
15
  export {
7
- RunStatusEnum,
8
- RunStepTypeEnum,
9
- LogLevelEnum,
10
- GranularityEnum,
16
+ GranularityEnum,
17
+ LogLevelEnum,
18
+ RunStatusEnum,
19
+ RunStepTypeEnum,
11
20
  } from './run.enum';
12
-
13
- // Schema models
14
- export {
15
- RunInputModel,
16
- RunStepModel,
17
- RunLogModel,
18
- RunAgentRefModel,
19
- RunModel,
20
- RunSummaryModel,
21
- TimelineDataPointModel,
22
- } from './run.schema';
23
-
24
- // Contracts
25
- export {
26
- ExecuteAgentCommand,
27
- CancelRunCommand,
28
- GetRunQuery,
29
- ListRunsQuery,
30
- GetRunStepsQuery,
31
- GetRunLogsQuery,
32
- GetRunMetricsQuery,
33
- } from './run.operation';
34
-
35
21
  // Events
36
22
  export {
37
- RunStartedEvent,
38
- RunCompletedEvent,
39
- RunFailedEvent,
40
- RunCancelledEvent,
41
- ToolInvokedEvent,
42
- ToolCompletedEvent,
43
- MessageGeneratedEvent,
23
+ MessageGeneratedEvent,
24
+ RunCancelledEvent,
25
+ RunCompletedEvent,
26
+ RunFailedEvent,
27
+ RunStartedEvent,
28
+ ToolCompletedEvent,
29
+ ToolInvokedEvent,
44
30
  } from './run.event';
45
-
46
- // Entities
31
+ // Handlers
47
32
  export {
48
- RunStatusEntityEnum,
49
- RunStepTypeEntityEnum,
50
- LogLevelEntityEnum,
51
- RunEntity,
52
- RunStepEntity,
53
- RunLogEntity,
54
- } from './run.entity';
33
+ type ListRunsInput,
34
+ type ListRunsOutput,
35
+ mockCancelRunHandler,
36
+ mockExecuteAgentHandler,
37
+ mockGetRunHandler,
38
+ mockListRunsHandler,
39
+ type RunSummary,
40
+ } from './run.handler';
41
+ // Contracts
42
+ export {
43
+ CancelRunCommand,
44
+ ExecuteAgentCommand,
45
+ GetRunLogsQuery,
46
+ GetRunMetricsQuery,
47
+ GetRunQuery,
48
+ GetRunStepsQuery,
49
+ ListRunsQuery,
50
+ } from './run.operation';
55
51
 
56
52
  // Presentations
57
- export { RunListPresentation, RunDetailPresentation } from './run.presentation';
58
-
59
- // Handlers
53
+ export { RunDetailPresentation, RunListPresentation } from './run.presentation';
54
+ // Schema models
60
55
  export {
61
- mockListRunsHandler,
62
- mockGetRunHandler,
63
- mockExecuteAgentHandler,
64
- mockCancelRunHandler,
65
- type ListRunsInput,
66
- type RunSummary,
67
- type ListRunsOutput,
68
- } from './run.handler';
56
+ RunAgentRefModel,
57
+ RunInputModel,
58
+ RunLogModel,
59
+ RunModel,
60
+ RunStepModel,
61
+ RunSummaryModel,
62
+ TimelineDataPointModel,
63
+ } from './run.schema';
@@ -1,175 +1,175 @@
1
1
  import {
2
- defineEntity,
3
- defineEntityEnum,
4
- field,
5
- index,
2
+ defineEntity,
3
+ defineEntityEnum,
4
+ field,
5
+ index,
6
6
  } from '@contractspec/lib.schema';
7
7
 
8
8
  /**
9
9
  * Run status enum for entities.
10
10
  */
11
11
  export const RunStatusEntityEnum = defineEntityEnum({
12
- name: 'RunStatus',
13
- values: [
14
- 'QUEUED',
15
- 'IN_PROGRESS',
16
- 'COMPLETED',
17
- 'FAILED',
18
- 'CANCELLED',
19
- 'EXPIRED',
20
- ],
21
- description: 'Status of an agent run',
12
+ name: 'RunStatus',
13
+ values: [
14
+ 'QUEUED',
15
+ 'IN_PROGRESS',
16
+ 'COMPLETED',
17
+ 'FAILED',
18
+ 'CANCELLED',
19
+ 'EXPIRED',
20
+ ],
21
+ description: 'Status of an agent run',
22
22
  });
23
23
 
24
24
  /**
25
25
  * Run step type enum for entities.
26
26
  */
27
27
  export const RunStepTypeEntityEnum = defineEntityEnum({
28
- name: 'RunStepType',
29
- values: ['MESSAGE_CREATION', 'TOOL_CALL', 'TOOL_RESULT', 'ERROR'],
30
- description: 'Type of run step',
28
+ name: 'RunStepType',
29
+ values: ['MESSAGE_CREATION', 'TOOL_CALL', 'TOOL_RESULT', 'ERROR'],
30
+ description: 'Type of run step',
31
31
  });
32
32
 
33
33
  /**
34
34
  * Log level enum for entities.
35
35
  */
36
36
  export const LogLevelEntityEnum = defineEntityEnum({
37
- name: 'LogLevel',
38
- values: ['DEBUG', 'INFO', 'WARN', 'ERROR'],
39
- description: 'Log level',
37
+ name: 'LogLevel',
38
+ values: ['DEBUG', 'INFO', 'WARN', 'ERROR'],
39
+ description: 'Log level',
40
40
  });
41
41
 
42
42
  /**
43
43
  * Run entity - Represents an agent execution.
44
44
  */
45
45
  export const RunEntity = defineEntity({
46
- name: 'Run',
47
- schema: 'agent_console',
48
- description: 'An execution of an agent with input/output and metrics.',
49
- fields: {
50
- id: field.id(),
51
- organizationId: field.string({ description: 'Organization ID' }),
52
- agentId: field.foreignKey({ description: 'Agent being executed' }),
53
- userId: field.string({
54
- isOptional: true,
55
- description: 'User who initiated the run',
56
- }),
57
- sessionId: field.string({
58
- isOptional: true,
59
- description: 'Conversation session ID',
60
- }),
61
- input: field.json({ description: 'Input data for the run' }),
62
- output: field.json({
63
- isOptional: true,
64
- description: 'Output result from the run',
65
- }),
66
- status: field.enum('RunStatus', { default: 'QUEUED' }),
67
- errorMessage: field.string({
68
- isOptional: true,
69
- description: 'Error message if failed',
70
- }),
71
- errorCode: field.string({
72
- isOptional: true,
73
- description: 'Error code if failed',
74
- }),
75
- totalTokens: field.int({ default: 0, description: 'Total tokens used' }),
76
- promptTokens: field.int({ default: 0, description: 'Prompt tokens used' }),
77
- completionTokens: field.int({
78
- default: 0,
79
- description: 'Completion tokens used',
80
- }),
81
- totalIterations: field.int({
82
- default: 0,
83
- description: 'Number of iterations',
84
- }),
85
- durationMs: field.int({
86
- isOptional: true,
87
- description: 'Execution duration in ms',
88
- }),
89
- estimatedCostUsd: field.float({
90
- isOptional: true,
91
- description: 'Estimated cost in USD',
92
- }),
93
- queuedAt: field.dateTime({ description: 'When run was queued' }),
94
- startedAt: field.dateTime({
95
- isOptional: true,
96
- description: 'When run started executing',
97
- }),
98
- completedAt: field.dateTime({
99
- isOptional: true,
100
- description: 'When run completed',
101
- }),
102
- metadata: field.json({
103
- isOptional: true,
104
- description: 'Additional metadata',
105
- }),
106
- agent: field.belongsTo('Agent', ['agentId'], ['id']),
107
- steps: field.hasMany('RunStep', { description: 'Execution steps' }),
108
- logs: field.hasMany('RunLog', { description: 'Execution logs' }),
109
- },
110
- indexes: [
111
- index.on(['organizationId', 'agentId', 'queuedAt']),
112
- index.on(['organizationId', 'status']),
113
- index.on(['agentId', 'status']),
114
- index.on(['sessionId']),
115
- ],
116
- enums: [RunStatusEntityEnum],
46
+ name: 'Run',
47
+ schema: 'agent_console',
48
+ description: 'An execution of an agent with input/output and metrics.',
49
+ fields: {
50
+ id: field.id(),
51
+ organizationId: field.string({ description: 'Organization ID' }),
52
+ agentId: field.foreignKey({ description: 'Agent being executed' }),
53
+ userId: field.string({
54
+ isOptional: true,
55
+ description: 'User who initiated the run',
56
+ }),
57
+ sessionId: field.string({
58
+ isOptional: true,
59
+ description: 'Conversation session ID',
60
+ }),
61
+ input: field.json({ description: 'Input data for the run' }),
62
+ output: field.json({
63
+ isOptional: true,
64
+ description: 'Output result from the run',
65
+ }),
66
+ status: field.enum('RunStatus', { default: 'QUEUED' }),
67
+ errorMessage: field.string({
68
+ isOptional: true,
69
+ description: 'Error message if failed',
70
+ }),
71
+ errorCode: field.string({
72
+ isOptional: true,
73
+ description: 'Error code if failed',
74
+ }),
75
+ totalTokens: field.int({ default: 0, description: 'Total tokens used' }),
76
+ promptTokens: field.int({ default: 0, description: 'Prompt tokens used' }),
77
+ completionTokens: field.int({
78
+ default: 0,
79
+ description: 'Completion tokens used',
80
+ }),
81
+ totalIterations: field.int({
82
+ default: 0,
83
+ description: 'Number of iterations',
84
+ }),
85
+ durationMs: field.int({
86
+ isOptional: true,
87
+ description: 'Execution duration in ms',
88
+ }),
89
+ estimatedCostUsd: field.float({
90
+ isOptional: true,
91
+ description: 'Estimated cost in USD',
92
+ }),
93
+ queuedAt: field.dateTime({ description: 'When run was queued' }),
94
+ startedAt: field.dateTime({
95
+ isOptional: true,
96
+ description: 'When run started executing',
97
+ }),
98
+ completedAt: field.dateTime({
99
+ isOptional: true,
100
+ description: 'When run completed',
101
+ }),
102
+ metadata: field.json({
103
+ isOptional: true,
104
+ description: 'Additional metadata',
105
+ }),
106
+ agent: field.belongsTo('Agent', ['agentId'], ['id']),
107
+ steps: field.hasMany('RunStep', { description: 'Execution steps' }),
108
+ logs: field.hasMany('RunLog', { description: 'Execution logs' }),
109
+ },
110
+ indexes: [
111
+ index.on(['organizationId', 'agentId', 'queuedAt']),
112
+ index.on(['organizationId', 'status']),
113
+ index.on(['agentId', 'status']),
114
+ index.on(['sessionId']),
115
+ ],
116
+ enums: [RunStatusEntityEnum],
117
117
  });
118
118
 
119
119
  /**
120
120
  * RunStep entity - Individual step in a run.
121
121
  */
122
122
  export const RunStepEntity = defineEntity({
123
- name: 'RunStep',
124
- schema: 'agent_console',
125
- description: 'An individual step in an agent run.',
126
- fields: {
127
- id: field.id(),
128
- runId: field.foreignKey({ description: 'Parent run' }),
129
- stepNumber: field.int({ description: 'Step sequence number' }),
130
- type: field.enum('RunStepType'),
131
- toolId: field.string({
132
- isOptional: true,
133
- description: 'Tool used in this step',
134
- }),
135
- toolName: field.string({ isOptional: true, description: 'Tool name' }),
136
- input: field.json({ isOptional: true, description: 'Step input' }),
137
- output: field.json({ isOptional: true, description: 'Step output' }),
138
- status: field.enum('RunStatus'),
139
- errorMessage: field.string({ isOptional: true }),
140
- tokensUsed: field.int({ default: 0 }),
141
- durationMs: field.int({ isOptional: true }),
142
- startedAt: field.dateTime(),
143
- completedAt: field.dateTime({ isOptional: true }),
144
- run: field.belongsTo('Run', ['runId'], ['id']),
145
- },
146
- indexes: [index.on(['runId', 'stepNumber'])],
147
- enums: [RunStepTypeEntityEnum],
123
+ name: 'RunStep',
124
+ schema: 'agent_console',
125
+ description: 'An individual step in an agent run.',
126
+ fields: {
127
+ id: field.id(),
128
+ runId: field.foreignKey({ description: 'Parent run' }),
129
+ stepNumber: field.int({ description: 'Step sequence number' }),
130
+ type: field.enum('RunStepType'),
131
+ toolId: field.string({
132
+ isOptional: true,
133
+ description: 'Tool used in this step',
134
+ }),
135
+ toolName: field.string({ isOptional: true, description: 'Tool name' }),
136
+ input: field.json({ isOptional: true, description: 'Step input' }),
137
+ output: field.json({ isOptional: true, description: 'Step output' }),
138
+ status: field.enum('RunStatus'),
139
+ errorMessage: field.string({ isOptional: true }),
140
+ tokensUsed: field.int({ default: 0 }),
141
+ durationMs: field.int({ isOptional: true }),
142
+ startedAt: field.dateTime(),
143
+ completedAt: field.dateTime({ isOptional: true }),
144
+ run: field.belongsTo('Run', ['runId'], ['id']),
145
+ },
146
+ indexes: [index.on(['runId', 'stepNumber'])],
147
+ enums: [RunStepTypeEntityEnum],
148
148
  });
149
149
 
150
150
  /**
151
151
  * RunLog entity - Log entry for a run.
152
152
  */
153
153
  export const RunLogEntity = defineEntity({
154
- name: 'RunLog',
155
- schema: 'agent_console',
156
- description: 'A log entry for an agent run.',
157
- fields: {
158
- id: field.id(),
159
- runId: field.foreignKey({ description: 'Parent run' }),
160
- stepId: field.string({ isOptional: true, description: 'Related step' }),
161
- level: field.enum('LogLevel'),
162
- message: field.string({ description: 'Log message' }),
163
- data: field.json({ isOptional: true, description: 'Additional log data' }),
164
- source: field.string({
165
- isOptional: true,
166
- description: 'Log source component',
167
- }),
168
- traceId: field.string({ isOptional: true }),
169
- spanId: field.string({ isOptional: true }),
170
- timestamp: field.dateTime(),
171
- run: field.belongsTo('Run', ['runId'], ['id']),
172
- },
173
- indexes: [index.on(['runId', 'timestamp']), index.on(['runId', 'level'])],
174
- enums: [LogLevelEntityEnum],
154
+ name: 'RunLog',
155
+ schema: 'agent_console',
156
+ description: 'A log entry for an agent run.',
157
+ fields: {
158
+ id: field.id(),
159
+ runId: field.foreignKey({ description: 'Parent run' }),
160
+ stepId: field.string({ isOptional: true, description: 'Related step' }),
161
+ level: field.enum('LogLevel'),
162
+ message: field.string({ description: 'Log message' }),
163
+ data: field.json({ isOptional: true, description: 'Additional log data' }),
164
+ source: field.string({
165
+ isOptional: true,
166
+ description: 'Log source component',
167
+ }),
168
+ traceId: field.string({ isOptional: true }),
169
+ spanId: field.string({ isOptional: true }),
170
+ timestamp: field.dateTime(),
171
+ run: field.belongsTo('Run', ['runId'], ['id']),
172
+ },
173
+ indexes: [index.on(['runId', 'timestamp']), index.on(['runId', 'level'])],
174
+ enums: [LogLevelEntityEnum],
175
175
  });
@@ -4,40 +4,40 @@ import { defineEnum } from '@contractspec/lib.schema';
4
4
  * Run status enum.
5
5
  */
6
6
  export const RunStatusEnum = defineEnum('RunStatus', [
7
- 'QUEUED',
8
- 'IN_PROGRESS',
9
- 'COMPLETED',
10
- 'FAILED',
11
- 'CANCELLED',
12
- 'EXPIRED',
7
+ 'QUEUED',
8
+ 'IN_PROGRESS',
9
+ 'COMPLETED',
10
+ 'FAILED',
11
+ 'CANCELLED',
12
+ 'EXPIRED',
13
13
  ]);
14
14
 
15
15
  /**
16
16
  * Run step type enum.
17
17
  */
18
18
  export const RunStepTypeEnum = defineEnum('RunStepType', [
19
- 'MESSAGE_CREATION',
20
- 'TOOL_CALL',
21
- 'TOOL_RESULT',
22
- 'ERROR',
19
+ 'MESSAGE_CREATION',
20
+ 'TOOL_CALL',
21
+ 'TOOL_RESULT',
22
+ 'ERROR',
23
23
  ]);
24
24
 
25
25
  /**
26
26
  * Log level enum.
27
27
  */
28
28
  export const LogLevelEnum = defineEnum('LogLevel', [
29
- 'DEBUG',
30
- 'INFO',
31
- 'WARN',
32
- 'ERROR',
29
+ 'DEBUG',
30
+ 'INFO',
31
+ 'WARN',
32
+ 'ERROR',
33
33
  ]);
34
34
 
35
35
  /**
36
36
  * Granularity enum for metrics.
37
37
  */
38
38
  export const GranularityEnum = defineEnum('Granularity', [
39
- 'hour',
40
- 'day',
41
- 'week',
42
- 'month',
39
+ 'hour',
40
+ 'day',
41
+ 'week',
42
+ 'month',
43
43
  ]);