@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
@@ -1,6 +1,6 @@
1
1
  import {
2
- definePresentation,
3
- StabilityEnum,
2
+ definePresentation,
3
+ StabilityEnum,
4
4
  } from '@contractspec/lib.contracts-spec';
5
5
  import { AgentSummaryModel } from './agent.schema';
6
6
 
@@ -8,76 +8,76 @@ import { AgentSummaryModel } from './agent.schema';
8
8
  * Presentation for displaying a list of AI agents.
9
9
  */
10
10
  export const AgentListPresentation = definePresentation({
11
- meta: {
12
- key: 'agent-console.agent.viewList',
13
- version: '1.0.0',
14
- title: 'Agent List',
15
- description:
16
- 'List view of AI agents with status, model provider, and version info',
17
- goal: 'Provide an overview of all agents in an organization.',
18
- context: 'Main landing page for agent management.',
19
- domain: 'agent-console',
20
- owners: ['@agent-console-team'],
21
- tags: ['agent', 'list', 'dashboard'],
22
- stability: StabilityEnum.Experimental,
23
- },
24
- source: {
25
- type: 'component',
26
- framework: 'react',
27
- componentKey: 'AgentListView',
28
- props: AgentSummaryModel,
29
- },
30
- targets: ['react', 'markdown', 'application/json'],
31
- policy: { flags: ['agent-console.enabled'] },
11
+ meta: {
12
+ key: 'agent-console.agent.viewList',
13
+ version: '1.0.0',
14
+ title: 'Agent List',
15
+ description:
16
+ 'List view of AI agents with status, model provider, and version info',
17
+ goal: 'Provide an overview of all agents in an organization.',
18
+ context: 'Main landing page for agent management.',
19
+ domain: 'agent-console',
20
+ owners: ['@agent-console-team'],
21
+ tags: ['agent', 'list', 'dashboard'],
22
+ stability: StabilityEnum.Experimental,
23
+ },
24
+ source: {
25
+ type: 'component',
26
+ framework: 'react',
27
+ componentKey: 'AgentListView',
28
+ props: AgentSummaryModel,
29
+ },
30
+ targets: ['react', 'markdown', 'application/json'],
31
+ policy: { flags: ['agent-console.enabled'] },
32
32
  });
33
33
 
34
34
  /**
35
35
  * Presentation for agent detail view.
36
36
  */
37
37
  export const AgentDetailPresentation = definePresentation({
38
- meta: {
39
- key: 'agent-console.agent.detail',
40
- version: '1.0.0',
41
- title: 'Agent Details',
42
- description:
43
- 'Detailed view of an AI agent with configuration, tools, and recent runs',
44
- goal: 'Allow users to inspect and configure a specific agent.',
45
- context: 'Detailed view of an agent.',
46
- domain: 'agent-console',
47
- owners: ['@agent-console-team'],
48
- tags: ['agent', 'detail'],
49
- stability: StabilityEnum.Experimental,
50
- },
51
- source: {
52
- type: 'component',
53
- framework: 'react',
54
- componentKey: 'AgentDetailView',
55
- },
56
- targets: ['react', 'markdown'],
57
- policy: { flags: ['agent-console.enabled'] },
38
+ meta: {
39
+ key: 'agent-console.agent.detail',
40
+ version: '1.0.0',
41
+ title: 'Agent Details',
42
+ description:
43
+ 'Detailed view of an AI agent with configuration, tools, and recent runs',
44
+ goal: 'Allow users to inspect and configure a specific agent.',
45
+ context: 'Detailed view of an agent.',
46
+ domain: 'agent-console',
47
+ owners: ['@agent-console-team'],
48
+ tags: ['agent', 'detail'],
49
+ stability: StabilityEnum.Experimental,
50
+ },
51
+ source: {
52
+ type: 'component',
53
+ framework: 'react',
54
+ componentKey: 'AgentDetailView',
55
+ },
56
+ targets: ['react', 'markdown'],
57
+ policy: { flags: ['agent-console.enabled'] },
58
58
  });
59
59
 
60
60
  /**
61
61
  * Dashboard presentation for Agent Console - overview of agents, runs, and tools.
62
62
  */
63
63
  export const AgentConsoleDashboardPresentation = definePresentation({
64
- meta: {
65
- key: 'agent-console.dashboard',
66
- version: '1.0.0',
67
- title: 'Agent Console Dashboard',
68
- description: 'Dashboard overview of AI agents, runs, and tools',
69
- goal: 'Provide a high-level overview of the AI platform health and usage.',
70
- context: 'Root dashboard of the Agent Console.',
71
- domain: 'agent-console',
72
- owners: ['@agent-console-team'],
73
- tags: ['dashboard', 'overview'],
74
- stability: StabilityEnum.Experimental,
75
- },
76
- source: {
77
- type: 'component',
78
- framework: 'react',
79
- componentKey: 'AgentConsoleDashboard',
80
- },
81
- targets: ['react', 'markdown'],
82
- policy: { flags: ['agent-console.enabled'] },
64
+ meta: {
65
+ key: 'agent-console.dashboard',
66
+ version: '1.0.0',
67
+ title: 'Agent Console Dashboard',
68
+ description: 'Dashboard overview of AI agents, runs, and tools',
69
+ goal: 'Provide a high-level overview of the AI platform health and usage.',
70
+ context: 'Root dashboard of the Agent Console.',
71
+ domain: 'agent-console',
72
+ owners: ['@agent-console-team'],
73
+ tags: ['dashboard', 'overview'],
74
+ stability: StabilityEnum.Experimental,
75
+ },
76
+ source: {
77
+ type: 'component',
78
+ framework: 'react',
79
+ componentKey: 'AgentConsoleDashboard',
80
+ },
81
+ targets: ['react', 'markdown'],
82
+ policy: { flags: ['agent-console.enabled'] },
83
83
  });
@@ -1,214 +1,214 @@
1
1
  import { defineSchemaModel, ScalarTypeEnum } from '@contractspec/lib.schema';
2
2
  import {
3
- AgentStatusEnum,
4
- ModelProviderEnum,
5
- ToolChoiceEnum,
3
+ AgentStatusEnum,
4
+ ModelProviderEnum,
5
+ ToolChoiceEnum,
6
6
  } from './agent.enum';
7
7
 
8
8
  /**
9
9
  * AI agent configuration schema.
10
10
  */
11
11
  export const AgentModel = defineSchemaModel({
12
- name: 'Agent',
13
- description: 'AI agent configuration',
14
- fields: {
15
- id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
16
- organizationId: {
17
- type: ScalarTypeEnum.String_unsecure(),
18
- isOptional: false,
19
- },
20
- name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
21
- slug: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
22
- description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
23
- status: { type: AgentStatusEnum, isOptional: false },
24
- modelProvider: { type: ModelProviderEnum, isOptional: false },
25
- modelName: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
26
- modelConfig: { type: ScalarTypeEnum.JSONObject(), isOptional: true },
27
- systemPrompt: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
28
- userPromptTemplate: {
29
- type: ScalarTypeEnum.String_unsecure(),
30
- isOptional: true,
31
- },
32
- toolIds: {
33
- type: ScalarTypeEnum.String_unsecure(),
34
- isArray: true,
35
- isOptional: true,
36
- },
37
- toolChoice: {
38
- type: ToolChoiceEnum,
39
- isOptional: false,
40
- defaultValue: 'auto',
41
- },
42
- maxIterations: {
43
- type: ScalarTypeEnum.Int_unsecure(),
44
- isOptional: false,
45
- defaultValue: 10,
46
- },
47
- maxTokensPerRun: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
48
- timeoutMs: {
49
- type: ScalarTypeEnum.Int_unsecure(),
50
- isOptional: false,
51
- defaultValue: 120000,
52
- },
53
- version: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
54
- tags: {
55
- type: ScalarTypeEnum.String_unsecure(),
56
- isArray: true,
57
- isOptional: true,
58
- },
59
- createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },
60
- updatedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },
61
- },
12
+ name: 'Agent',
13
+ description: 'AI agent configuration',
14
+ fields: {
15
+ id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
16
+ organizationId: {
17
+ type: ScalarTypeEnum.String_unsecure(),
18
+ isOptional: false,
19
+ },
20
+ name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
21
+ slug: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
22
+ description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
23
+ status: { type: AgentStatusEnum, isOptional: false },
24
+ modelProvider: { type: ModelProviderEnum, isOptional: false },
25
+ modelName: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
26
+ modelConfig: { type: ScalarTypeEnum.JSONObject(), isOptional: true },
27
+ systemPrompt: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
28
+ userPromptTemplate: {
29
+ type: ScalarTypeEnum.String_unsecure(),
30
+ isOptional: true,
31
+ },
32
+ toolIds: {
33
+ type: ScalarTypeEnum.String_unsecure(),
34
+ isArray: true,
35
+ isOptional: true,
36
+ },
37
+ toolChoice: {
38
+ type: ToolChoiceEnum,
39
+ isOptional: false,
40
+ defaultValue: 'auto',
41
+ },
42
+ maxIterations: {
43
+ type: ScalarTypeEnum.Int_unsecure(),
44
+ isOptional: false,
45
+ defaultValue: 10,
46
+ },
47
+ maxTokensPerRun: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
48
+ timeoutMs: {
49
+ type: ScalarTypeEnum.Int_unsecure(),
50
+ isOptional: false,
51
+ defaultValue: 120000,
52
+ },
53
+ version: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
54
+ tags: {
55
+ type: ScalarTypeEnum.String_unsecure(),
56
+ isArray: true,
57
+ isOptional: true,
58
+ },
59
+ createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },
60
+ updatedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },
61
+ },
62
62
  });
63
63
 
64
64
  /**
65
65
  * Summary of an agent for list views.
66
66
  */
67
67
  export const AgentSummaryModel = defineSchemaModel({
68
- name: 'AgentSummary',
69
- description: 'Summary of an agent for list views',
70
- fields: {
71
- id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
72
- name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
73
- slug: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
74
- description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
75
- status: { type: AgentStatusEnum, isOptional: false },
76
- modelProvider: { type: ModelProviderEnum, isOptional: false },
77
- modelName: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
78
- version: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
79
- createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },
80
- },
68
+ name: 'AgentSummary',
69
+ description: 'Summary of an agent for list views',
70
+ fields: {
71
+ id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
72
+ name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
73
+ slug: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
74
+ description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
75
+ status: { type: AgentStatusEnum, isOptional: false },
76
+ modelProvider: { type: ModelProviderEnum, isOptional: false },
77
+ modelName: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
78
+ version: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
79
+ createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },
80
+ },
81
81
  });
82
82
 
83
83
  /**
84
84
  * Tool reference in agent context.
85
85
  */
86
86
  export const AgentToolRefModel = defineSchemaModel({
87
- name: 'AgentToolRef',
88
- description: 'Tool reference in agent context',
89
- fields: {
90
- id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
91
- name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
92
- slug: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
93
- description: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
94
- category: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
95
- },
87
+ name: 'AgentToolRef',
88
+ description: 'Tool reference in agent context',
89
+ fields: {
90
+ id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
91
+ name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
92
+ slug: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
93
+ description: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
94
+ category: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
95
+ },
96
96
  });
97
97
 
98
98
  /**
99
99
  * Agent with associated tools.
100
100
  */
101
101
  export const AgentWithToolsModel = defineSchemaModel({
102
- name: 'AgentWithTools',
103
- description: 'Agent with associated tools',
104
- fields: {
105
- id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
106
- organizationId: {
107
- type: ScalarTypeEnum.String_unsecure(),
108
- isOptional: false,
109
- },
110
- name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
111
- slug: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
112
- description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
113
- status: { type: AgentStatusEnum, isOptional: false },
114
- modelProvider: { type: ModelProviderEnum, isOptional: false },
115
- modelName: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
116
- modelConfig: { type: ScalarTypeEnum.JSONObject(), isOptional: true },
117
- systemPrompt: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
118
- userPromptTemplate: {
119
- type: ScalarTypeEnum.String_unsecure(),
120
- isOptional: true,
121
- },
122
- toolIds: {
123
- type: ScalarTypeEnum.String_unsecure(),
124
- isArray: true,
125
- isOptional: true,
126
- },
127
- toolChoice: { type: ToolChoiceEnum, isOptional: false },
128
- maxIterations: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },
129
- maxTokensPerRun: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
130
- timeoutMs: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },
131
- version: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
132
- tags: {
133
- type: ScalarTypeEnum.String_unsecure(),
134
- isArray: true,
135
- isOptional: true,
136
- },
137
- createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },
138
- updatedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },
139
- tools: { type: AgentToolRefModel, isArray: true, isOptional: true },
140
- },
102
+ name: 'AgentWithTools',
103
+ description: 'Agent with associated tools',
104
+ fields: {
105
+ id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
106
+ organizationId: {
107
+ type: ScalarTypeEnum.String_unsecure(),
108
+ isOptional: false,
109
+ },
110
+ name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
111
+ slug: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
112
+ description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
113
+ status: { type: AgentStatusEnum, isOptional: false },
114
+ modelProvider: { type: ModelProviderEnum, isOptional: false },
115
+ modelName: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
116
+ modelConfig: { type: ScalarTypeEnum.JSONObject(), isOptional: true },
117
+ systemPrompt: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
118
+ userPromptTemplate: {
119
+ type: ScalarTypeEnum.String_unsecure(),
120
+ isOptional: true,
121
+ },
122
+ toolIds: {
123
+ type: ScalarTypeEnum.String_unsecure(),
124
+ isArray: true,
125
+ isOptional: true,
126
+ },
127
+ toolChoice: { type: ToolChoiceEnum, isOptional: false },
128
+ maxIterations: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },
129
+ maxTokensPerRun: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
130
+ timeoutMs: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },
131
+ version: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
132
+ tags: {
133
+ type: ScalarTypeEnum.String_unsecure(),
134
+ isArray: true,
135
+ isOptional: true,
136
+ },
137
+ createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },
138
+ updatedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },
139
+ tools: { type: AgentToolRefModel, isArray: true, isOptional: true },
140
+ },
141
141
  });
142
142
 
143
143
  /**
144
144
  * Input for creating an agent.
145
145
  */
146
146
  export const CreateAgentInputModel = defineSchemaModel({
147
- name: 'CreateAgentInput',
148
- description: 'Input for creating an agent',
149
- fields: {
150
- organizationId: {
151
- type: ScalarTypeEnum.String_unsecure(),
152
- isOptional: false,
153
- },
154
- name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
155
- slug: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
156
- description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
157
- modelProvider: { type: ModelProviderEnum, isOptional: false },
158
- modelName: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
159
- modelConfig: { type: ScalarTypeEnum.JSONObject(), isOptional: true },
160
- systemPrompt: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
161
- userPromptTemplate: {
162
- type: ScalarTypeEnum.String_unsecure(),
163
- isOptional: true,
164
- },
165
- toolIds: {
166
- type: ScalarTypeEnum.String_unsecure(),
167
- isArray: true,
168
- isOptional: true,
169
- },
170
- toolChoice: { type: ToolChoiceEnum, isOptional: true },
171
- maxIterations: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
172
- maxTokensPerRun: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
173
- timeoutMs: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
174
- tags: {
175
- type: ScalarTypeEnum.String_unsecure(),
176
- isArray: true,
177
- isOptional: true,
178
- },
179
- },
147
+ name: 'CreateAgentInput',
148
+ description: 'Input for creating an agent',
149
+ fields: {
150
+ organizationId: {
151
+ type: ScalarTypeEnum.String_unsecure(),
152
+ isOptional: false,
153
+ },
154
+ name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
155
+ slug: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
156
+ description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
157
+ modelProvider: { type: ModelProviderEnum, isOptional: false },
158
+ modelName: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
159
+ modelConfig: { type: ScalarTypeEnum.JSONObject(), isOptional: true },
160
+ systemPrompt: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
161
+ userPromptTemplate: {
162
+ type: ScalarTypeEnum.String_unsecure(),
163
+ isOptional: true,
164
+ },
165
+ toolIds: {
166
+ type: ScalarTypeEnum.String_unsecure(),
167
+ isArray: true,
168
+ isOptional: true,
169
+ },
170
+ toolChoice: { type: ToolChoiceEnum, isOptional: true },
171
+ maxIterations: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
172
+ maxTokensPerRun: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
173
+ timeoutMs: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
174
+ tags: {
175
+ type: ScalarTypeEnum.String_unsecure(),
176
+ isArray: true,
177
+ isOptional: true,
178
+ },
179
+ },
180
180
  });
181
181
 
182
182
  /**
183
183
  * Input for updating an agent.
184
184
  */
185
185
  export const UpdateAgentInputModel = defineSchemaModel({
186
- name: 'UpdateAgentInput',
187
- description: 'Input for updating an agent',
188
- fields: {
189
- agentId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
190
- name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: true },
191
- description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
192
- status: { type: AgentStatusEnum, isOptional: true },
193
- modelConfig: { type: ScalarTypeEnum.JSONObject(), isOptional: true },
194
- systemPrompt: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
195
- userPromptTemplate: {
196
- type: ScalarTypeEnum.String_unsecure(),
197
- isOptional: true,
198
- },
199
- toolIds: {
200
- type: ScalarTypeEnum.String_unsecure(),
201
- isArray: true,
202
- isOptional: true,
203
- },
204
- toolChoice: { type: ToolChoiceEnum, isOptional: true },
205
- maxIterations: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
206
- maxTokensPerRun: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
207
- timeoutMs: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
208
- tags: {
209
- type: ScalarTypeEnum.String_unsecure(),
210
- isArray: true,
211
- isOptional: true,
212
- },
213
- },
186
+ name: 'UpdateAgentInput',
187
+ description: 'Input for updating an agent',
188
+ fields: {
189
+ agentId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
190
+ name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: true },
191
+ description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
192
+ status: { type: AgentStatusEnum, isOptional: true },
193
+ modelConfig: { type: ScalarTypeEnum.JSONObject(), isOptional: true },
194
+ systemPrompt: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
195
+ userPromptTemplate: {
196
+ type: ScalarTypeEnum.String_unsecure(),
197
+ isOptional: true,
198
+ },
199
+ toolIds: {
200
+ type: ScalarTypeEnum.String_unsecure(),
201
+ isArray: true,
202
+ isOptional: true,
203
+ },
204
+ toolChoice: { type: ToolChoiceEnum, isOptional: true },
205
+ maxIterations: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
206
+ maxTokensPerRun: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
207
+ timeoutMs: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
208
+ tags: {
209
+ type: ScalarTypeEnum.String_unsecure(),
210
+ isArray: true,
211
+ isOptional: true,
212
+ },
213
+ },
214
214
  });
@@ -1,55 +1,55 @@
1
1
  import { defineTestSpec } from '@contractspec/lib.contracts-spec/tests';
2
2
 
3
3
  export const agentListTest = defineTestSpec({
4
- meta: {
5
- key: 'test.agent-console.agent.list',
6
- version: '1.0.0',
7
- owners: ['@agent-console-team'],
8
- description: 'Test for listing agents',
9
- stability: 'stable',
10
- tags: ['test'],
11
- },
12
- target: {
13
- type: 'operation',
14
- operation: { key: 'agent-console.agent.list', version: '1.0.0' },
15
- },
16
- scenarios: [
17
- {
18
- key: 'success',
19
- when: { operation: { key: 'agent-console.agent.list' } },
20
- then: [{ type: 'expectOutput', match: {} }],
21
- },
22
- {
23
- key: 'error',
24
- when: { operation: { key: 'agent-console.agent.list' } },
25
- then: [{ type: 'expectError' }],
26
- },
27
- ],
4
+ meta: {
5
+ key: 'test.agent-console.agent.list',
6
+ version: '1.0.0',
7
+ owners: ['@agent-console-team'],
8
+ description: 'Test for listing agents',
9
+ stability: 'stable',
10
+ tags: ['test'],
11
+ },
12
+ target: {
13
+ type: 'operation',
14
+ operation: { key: 'agent-console.agent.list', version: '1.0.0' },
15
+ },
16
+ scenarios: [
17
+ {
18
+ key: 'success',
19
+ when: { operation: { key: 'agent-console.agent.list' } },
20
+ then: [{ type: 'expectOutput', match: {} }],
21
+ },
22
+ {
23
+ key: 'error',
24
+ when: { operation: { key: 'agent-console.agent.list' } },
25
+ then: [{ type: 'expectError' }],
26
+ },
27
+ ],
28
28
  });
29
29
 
30
30
  export const agentGetTest = defineTestSpec({
31
- meta: {
32
- key: 'test.agent-console.agent.get',
33
- version: '1.0.0',
34
- owners: ['@agent-console-team'],
35
- description: 'Test for getting agent',
36
- stability: 'stable',
37
- tags: ['test'],
38
- },
39
- target: {
40
- type: 'operation',
41
- operation: { key: 'agent-console.agent.get', version: '1.0.0' },
42
- },
43
- scenarios: [
44
- {
45
- key: 'success',
46
- when: { operation: { key: 'agent-console.agent.get' } },
47
- then: [{ type: 'expectOutput', match: {} }],
48
- },
49
- {
50
- key: 'error',
51
- when: { operation: { key: 'agent-console.agent.get' } },
52
- then: [{ type: 'expectError' }],
53
- },
54
- ],
31
+ meta: {
32
+ key: 'test.agent-console.agent.get',
33
+ version: '1.0.0',
34
+ owners: ['@agent-console-team'],
35
+ description: 'Test for getting agent',
36
+ stability: 'stable',
37
+ tags: ['test'],
38
+ },
39
+ target: {
40
+ type: 'operation',
41
+ operation: { key: 'agent-console.agent.get', version: '1.0.0' },
42
+ },
43
+ scenarios: [
44
+ {
45
+ key: 'success',
46
+ when: { operation: { key: 'agent-console.agent.get' } },
47
+ then: [{ type: 'expectOutput', match: {} }],
48
+ },
49
+ {
50
+ key: 'error',
51
+ when: { operation: { key: 'agent-console.agent.get' } },
52
+ then: [{ type: 'expectError' }],
53
+ },
54
+ ],
55
55
  });