@contractspec/example.agent-console 0.0.0-canary-20260113170453

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 (306) hide show
  1. package/.turbo/turbo-build$colon$bundle.log +280 -0
  2. package/.turbo/turbo-build.log +281 -0
  3. package/CHANGELOG.md +368 -0
  4. package/LICENSE +21 -0
  5. package/README.md +86 -0
  6. package/dist/agent/agent.entity.d.ts +55 -0
  7. package/dist/agent/agent.entity.d.ts.map +1 -0
  8. package/dist/agent/agent.entity.js +136 -0
  9. package/dist/agent/agent.entity.js.map +1 -0
  10. package/dist/agent/agent.enum.d.ts +18 -0
  11. package/dist/agent/agent.enum.d.ts.map +1 -0
  12. package/dist/agent/agent.enum.js +34 -0
  13. package/dist/agent/agent.enum.js.map +1 -0
  14. package/dist/agent/agent.event.d.ts +128 -0
  15. package/dist/agent/agent.event.d.ts.map +1 -0
  16. package/dist/agent/agent.event.js +210 -0
  17. package/dist/agent/agent.event.js.map +1 -0
  18. package/dist/agent/agent.handler.d.ts +100 -0
  19. package/dist/agent/agent.handler.d.ts.map +1 -0
  20. package/dist/agent/agent.handler.js +84 -0
  21. package/dist/agent/agent.handler.js.map +1 -0
  22. package/dist/agent/agent.operation.d.ts +471 -0
  23. package/dist/agent/agent.operation.d.ts.map +1 -0
  24. package/dist/agent/agent.operation.js +486 -0
  25. package/dist/agent/agent.operation.js.map +1 -0
  26. package/dist/agent/agent.presentation.d.ts +18 -0
  27. package/dist/agent/agent.presentation.d.ts.map +1 -0
  28. package/dist/agent/agent.presentation.js +89 -0
  29. package/dist/agent/agent.presentation.js.map +1 -0
  30. package/dist/agent/agent.schema.d.ts +401 -0
  31. package/dist/agent/agent.schema.d.ts.map +1 -0
  32. package/dist/agent/agent.schema.js +406 -0
  33. package/dist/agent/agent.schema.js.map +1 -0
  34. package/dist/agent/agent.test-spec.d.ts +8 -0
  35. package/dist/agent/agent.test-spec.d.ts.map +1 -0
  36. package/dist/agent/agent.test-spec.js +65 -0
  37. package/dist/agent/agent.test-spec.js.map +1 -0
  38. package/dist/agent/index.d.ts +8 -0
  39. package/dist/agent/index.js +9 -0
  40. package/dist/agent.capability.d.ts +7 -0
  41. package/dist/agent.capability.d.ts.map +1 -0
  42. package/dist/agent.capability.js +20 -0
  43. package/dist/agent.capability.js.map +1 -0
  44. package/dist/agent.feature.d.ts +12 -0
  45. package/dist/agent.feature.d.ts.map +1 -0
  46. package/dist/agent.feature.js +305 -0
  47. package/dist/agent.feature.js.map +1 -0
  48. package/dist/docs/agent-console.docblock.d.ts +1 -0
  49. package/dist/docs/agent-console.docblock.js +113 -0
  50. package/dist/docs/agent-console.docblock.js.map +1 -0
  51. package/dist/docs/index.d.ts +1 -0
  52. package/dist/docs/index.js +1 -0
  53. package/dist/example.d.ts +7 -0
  54. package/dist/example.d.ts.map +1 -0
  55. package/dist/example.js +58 -0
  56. package/dist/example.js.map +1 -0
  57. package/dist/handlers/agent.handlers.d.ts +135 -0
  58. package/dist/handlers/agent.handlers.d.ts.map +1 -0
  59. package/dist/handlers/agent.handlers.js +263 -0
  60. package/dist/handlers/agent.handlers.js.map +1 -0
  61. package/dist/handlers/index.d.ts +5 -0
  62. package/dist/handlers/index.js +6 -0
  63. package/dist/index.d.ts +48 -0
  64. package/dist/index.js +50 -0
  65. package/dist/presentations/index.d.ts +4 -0
  66. package/dist/presentations/index.js +5 -0
  67. package/dist/run/index.d.ts +8 -0
  68. package/dist/run/index.js +9 -0
  69. package/dist/run/run.entity.d.ts +82 -0
  70. package/dist/run/run.entity.d.ts.map +1 -0
  71. package/dist/run/run.entity.js +205 -0
  72. package/dist/run/run.entity.js.map +1 -0
  73. package/dist/run/run.enum.d.ts +22 -0
  74. package/dist/run/run.enum.d.ts.map +1 -0
  75. package/dist/run/run.enum.js +45 -0
  76. package/dist/run/run.enum.js.map +1 -0
  77. package/dist/run/run.event.d.ts +290 -0
  78. package/dist/run/run.event.d.ts.map +1 -0
  79. package/dist/run/run.event.js +434 -0
  80. package/dist/run/run.event.js.map +1 -0
  81. package/dist/run/run.handler.d.ts +203 -0
  82. package/dist/run/run.handler.d.ts.map +1 -0
  83. package/dist/run/run.handler.js +83 -0
  84. package/dist/run/run.handler.js.map +1 -0
  85. package/dist/run/run.operation.d.ts +720 -0
  86. package/dist/run/run.operation.d.ts.map +1 -0
  87. package/dist/run/run.operation.js +626 -0
  88. package/dist/run/run.operation.js.map +1 -0
  89. package/dist/run/run.presentation.d.ts +14 -0
  90. package/dist/run/run.presentation.d.ts.map +1 -0
  91. package/dist/run/run.presentation.js +65 -0
  92. package/dist/run/run.presentation.js.map +1 -0
  93. package/dist/run/run.schema.d.ts +416 -0
  94. package/dist/run/run.schema.d.ts.map +1 -0
  95. package/dist/run/run.schema.js +338 -0
  96. package/dist/run/run.schema.js.map +1 -0
  97. package/dist/run/run.test-spec.d.ts +8 -0
  98. package/dist/run/run.test-spec.d.ts.map +1 -0
  99. package/dist/run/run.test-spec.js +65 -0
  100. package/dist/run/run.test-spec.js.map +1 -0
  101. package/dist/seeders/index.d.ts +10 -0
  102. package/dist/seeders/index.d.ts.map +1 -0
  103. package/dist/seeders/index.js +20 -0
  104. package/dist/seeders/index.js.map +1 -0
  105. package/dist/shared/index.d.ts +4 -0
  106. package/dist/shared/index.js +5 -0
  107. package/dist/shared/mock-agents.d.ts +88 -0
  108. package/dist/shared/mock-agents.d.ts.map +1 -0
  109. package/dist/shared/mock-agents.js +94 -0
  110. package/dist/shared/mock-agents.js.map +1 -0
  111. package/dist/shared/mock-runs.d.ts +120 -0
  112. package/dist/shared/mock-runs.d.ts.map +1 -0
  113. package/dist/shared/mock-runs.js +118 -0
  114. package/dist/shared/mock-runs.js.map +1 -0
  115. package/dist/shared/mock-tools.d.ts +244 -0
  116. package/dist/shared/mock-tools.d.ts.map +1 -0
  117. package/dist/shared/mock-tools.js +181 -0
  118. package/dist/shared/mock-tools.js.map +1 -0
  119. package/dist/shared/overlay-types.d.ts +34 -0
  120. package/dist/shared/overlay-types.d.ts.map +1 -0
  121. package/dist/shared/overlay-types.js +0 -0
  122. package/dist/tool/index.d.ts +8 -0
  123. package/dist/tool/index.js +9 -0
  124. package/dist/tool/tool.entity.d.ts +42 -0
  125. package/dist/tool/tool.entity.d.ts.map +1 -0
  126. package/dist/tool/tool.entity.js +105 -0
  127. package/dist/tool/tool.entity.js.map +1 -0
  128. package/dist/tool/tool.enum.d.ts +18 -0
  129. package/dist/tool/tool.enum.d.ts.map +1 -0
  130. package/dist/tool/tool.enum.js +35 -0
  131. package/dist/tool/tool.enum.js.map +1 -0
  132. package/dist/tool/tool.event.d.ts +103 -0
  133. package/dist/tool/tool.event.d.ts.map +1 -0
  134. package/dist/tool/tool.event.js +159 -0
  135. package/dist/tool/tool.event.js.map +1 -0
  136. package/dist/tool/tool.handler.d.ts +315 -0
  137. package/dist/tool/tool.handler.d.ts.map +1 -0
  138. package/dist/tool/tool.handler.js +87 -0
  139. package/dist/tool/tool.handler.js.map +1 -0
  140. package/dist/tool/tool.operation.d.ts +411 -0
  141. package/dist/tool/tool.operation.d.ts.map +1 -0
  142. package/dist/tool/tool.operation.js +406 -0
  143. package/dist/tool/tool.operation.js.map +1 -0
  144. package/dist/tool/tool.presentation.d.ts +14 -0
  145. package/dist/tool/tool.presentation.d.ts.map +1 -0
  146. package/dist/tool/tool.presentation.js +65 -0
  147. package/dist/tool/tool.presentation.js.map +1 -0
  148. package/dist/tool/tool.schema.d.ts +218 -0
  149. package/dist/tool/tool.schema.d.ts.map +1 -0
  150. package/dist/tool/tool.schema.js +236 -0
  151. package/dist/tool/tool.schema.js.map +1 -0
  152. package/dist/tool/tool.test-spec.d.ts +8 -0
  153. package/dist/tool/tool.test-spec.d.ts.map +1 -0
  154. package/dist/tool/tool.test-spec.js +65 -0
  155. package/dist/tool/tool.test-spec.js.map +1 -0
  156. package/dist/ui/AgentDashboard.d.ts +7 -0
  157. package/dist/ui/AgentDashboard.d.ts.map +1 -0
  158. package/dist/ui/AgentDashboard.js +420 -0
  159. package/dist/ui/AgentDashboard.js.map +1 -0
  160. package/dist/ui/AgentRunList.d.ts +2 -0
  161. package/dist/ui/AgentRunList.js +5 -0
  162. package/dist/ui/AgentToolRegistry.d.ts +2 -0
  163. package/dist/ui/AgentToolRegistry.js +5 -0
  164. package/dist/ui/hooks/index.d.ts +6 -0
  165. package/dist/ui/hooks/index.js +8 -0
  166. package/dist/ui/hooks/useAgentList.d.ts +28 -0
  167. package/dist/ui/hooks/useAgentList.d.ts.map +1 -0
  168. package/dist/ui/hooks/useAgentList.js +66 -0
  169. package/dist/ui/hooks/useAgentList.js.map +1 -0
  170. package/dist/ui/hooks/useAgentMutations.d.ts +29 -0
  171. package/dist/ui/hooks/useAgentMutations.d.ts.map +1 -0
  172. package/dist/ui/hooks/useAgentMutations.js +124 -0
  173. package/dist/ui/hooks/useAgentMutations.js.map +1 -0
  174. package/dist/ui/hooks/useRunList.d.ts +24 -0
  175. package/dist/ui/hooks/useRunList.d.ts.map +1 -0
  176. package/dist/ui/hooks/useRunList.js +66 -0
  177. package/dist/ui/hooks/useRunList.js.map +1 -0
  178. package/dist/ui/hooks/useToolList.d.ts +40 -0
  179. package/dist/ui/hooks/useToolList.d.ts.map +1 -0
  180. package/dist/ui/hooks/useToolList.js +96 -0
  181. package/dist/ui/hooks/useToolList.js.map +1 -0
  182. package/dist/ui/index.d.ts +24 -0
  183. package/dist/ui/index.js +24 -0
  184. package/dist/ui/modals/AgentActionsModal.d.ts +27 -0
  185. package/dist/ui/modals/AgentActionsModal.d.ts.map +1 -0
  186. package/dist/ui/modals/AgentActionsModal.js +262 -0
  187. package/dist/ui/modals/AgentActionsModal.js.map +1 -0
  188. package/dist/ui/modals/CreateAgentModal.d.ts +25 -0
  189. package/dist/ui/modals/CreateAgentModal.d.ts.map +1 -0
  190. package/dist/ui/modals/CreateAgentModal.js +214 -0
  191. package/dist/ui/modals/CreateAgentModal.js.map +1 -0
  192. package/dist/ui/modals/index.d.ts +3 -0
  193. package/dist/ui/modals/index.js +4 -0
  194. package/dist/ui/overlays/demo-overlays.d.ts +19 -0
  195. package/dist/ui/overlays/demo-overlays.d.ts.map +1 -0
  196. package/dist/ui/overlays/demo-overlays.js +73 -0
  197. package/dist/ui/overlays/demo-overlays.js.map +1 -0
  198. package/dist/ui/overlays/index.d.ts +2 -0
  199. package/dist/ui/overlays/index.js +3 -0
  200. package/dist/ui/renderers/agent-list.markdown.d.ts +15 -0
  201. package/dist/ui/renderers/agent-list.markdown.d.ts.map +1 -0
  202. package/dist/ui/renderers/agent-list.markdown.js +51 -0
  203. package/dist/ui/renderers/agent-list.markdown.js.map +1 -0
  204. package/dist/ui/renderers/agent-list.renderer.d.ts +11 -0
  205. package/dist/ui/renderers/agent-list.renderer.d.ts.map +1 -0
  206. package/dist/ui/renderers/agent-list.renderer.js +19 -0
  207. package/dist/ui/renderers/agent-list.renderer.js.map +1 -0
  208. package/dist/ui/renderers/dashboard.markdown.d.ts +15 -0
  209. package/dist/ui/renderers/dashboard.markdown.d.ts.map +1 -0
  210. package/dist/ui/renderers/dashboard.markdown.js +100 -0
  211. package/dist/ui/renderers/dashboard.markdown.js.map +1 -0
  212. package/dist/ui/renderers/index.d.ts +6 -0
  213. package/dist/ui/renderers/index.js +7 -0
  214. package/dist/ui/renderers/run-list.markdown.d.ts +15 -0
  215. package/dist/ui/renderers/run-list.markdown.d.ts.map +1 -0
  216. package/dist/ui/renderers/run-list.markdown.js +44 -0
  217. package/dist/ui/renderers/run-list.markdown.js.map +1 -0
  218. package/dist/ui/renderers/tool-registry.markdown.d.ts +15 -0
  219. package/dist/ui/renderers/tool-registry.markdown.d.ts.map +1 -0
  220. package/dist/ui/renderers/tool-registry.markdown.js +55 -0
  221. package/dist/ui/renderers/tool-registry.markdown.js.map +1 -0
  222. package/dist/ui/views/AgentListView.d.ts +7 -0
  223. package/dist/ui/views/AgentListView.d.ts.map +1 -0
  224. package/dist/ui/views/AgentListView.js +93 -0
  225. package/dist/ui/views/AgentListView.js.map +1 -0
  226. package/dist/ui/views/RunListView.d.ts +14 -0
  227. package/dist/ui/views/RunListView.d.ts.map +1 -0
  228. package/dist/ui/views/RunListView.js +165 -0
  229. package/dist/ui/views/RunListView.js.map +1 -0
  230. package/dist/ui/views/ToolRegistryView.d.ts +14 -0
  231. package/dist/ui/views/ToolRegistryView.d.ts.map +1 -0
  232. package/dist/ui/views/ToolRegistryView.js +97 -0
  233. package/dist/ui/views/ToolRegistryView.js.map +1 -0
  234. package/dist/ui/views/index.d.ts +4 -0
  235. package/dist/ui/views/index.js +5 -0
  236. package/example.ts +1 -0
  237. package/package.json +155 -0
  238. package/src/agent/agent.entity.ts +137 -0
  239. package/src/agent/agent.enum.ts +31 -0
  240. package/src/agent/agent.event.ts +142 -0
  241. package/src/agent/agent.handler.ts +178 -0
  242. package/src/agent/agent.operation.ts +444 -0
  243. package/src/agent/agent.presentation.ts +80 -0
  244. package/src/agent/agent.schema.ts +214 -0
  245. package/src/agent/agent.test-spec.ts +55 -0
  246. package/src/agent/index.ts +67 -0
  247. package/src/agent.capability.ts +13 -0
  248. package/src/agent.feature.ts +147 -0
  249. package/src/docs/agent-console.docblock.ts +97 -0
  250. package/src/docs/index.ts +1 -0
  251. package/src/example.ts +41 -0
  252. package/src/handlers/agent.handlers.ts +572 -0
  253. package/src/handlers/index.ts +30 -0
  254. package/src/index.ts +32 -0
  255. package/src/presentations/index.ts +26 -0
  256. package/src/run/index.ts +68 -0
  257. package/src/run/run.entity.ts +175 -0
  258. package/src/run/run.enum.ts +43 -0
  259. package/src/run/run.event.ts +264 -0
  260. package/src/run/run.handler.ts +138 -0
  261. package/src/run/run.operation.ts +524 -0
  262. package/src/run/run.presentation.ts +54 -0
  263. package/src/run/run.schema.ts +169 -0
  264. package/src/run/run.test-spec.ts +55 -0
  265. package/src/seeders/index.ts +29 -0
  266. package/src/shared/index.ts +6 -0
  267. package/src/shared/mock-agents.ts +81 -0
  268. package/src/shared/mock-runs.ts +107 -0
  269. package/src/shared/mock-tools.ts +145 -0
  270. package/src/shared/overlay-types.ts +39 -0
  271. package/src/tool/index.ts +60 -0
  272. package/src/tool/tool.entity.ts +99 -0
  273. package/src/tool/tool.enum.ts +32 -0
  274. package/src/tool/tool.event.ts +119 -0
  275. package/src/tool/tool.handler.ts +154 -0
  276. package/src/tool/tool.operation.ts +366 -0
  277. package/src/tool/tool.presentation.ts +55 -0
  278. package/src/tool/tool.schema.ts +133 -0
  279. package/src/tool/tool.test-spec.ts +55 -0
  280. package/src/ui/AgentDashboard.tsx +416 -0
  281. package/src/ui/AgentRunList.tsx +8 -0
  282. package/src/ui/AgentToolRegistry.tsx +8 -0
  283. package/src/ui/hooks/index.ts +14 -0
  284. package/src/ui/hooks/useAgentList.ts +80 -0
  285. package/src/ui/hooks/useAgentMutations.ts +156 -0
  286. package/src/ui/hooks/useRunList.ts +81 -0
  287. package/src/ui/hooks/useToolList.ts +122 -0
  288. package/src/ui/index.ts +21 -0
  289. package/src/ui/modals/AgentActionsModal.tsx +306 -0
  290. package/src/ui/modals/CreateAgentModal.tsx +257 -0
  291. package/src/ui/modals/index.ts +2 -0
  292. package/src/ui/overlays/demo-overlays.ts +77 -0
  293. package/src/ui/overlays/index.ts +1 -0
  294. package/src/ui/renderers/agent-list.markdown.ts +84 -0
  295. package/src/ui/renderers/agent-list.renderer.tsx +27 -0
  296. package/src/ui/renderers/dashboard.markdown.ts +169 -0
  297. package/src/ui/renderers/index.ts +12 -0
  298. package/src/ui/renderers/run-list.markdown.ts +75 -0
  299. package/src/ui/renderers/tool-registry.markdown.ts +91 -0
  300. package/src/ui/views/AgentListView.tsx +113 -0
  301. package/src/ui/views/RunListView.tsx +173 -0
  302. package/src/ui/views/ToolRegistryView.tsx +140 -0
  303. package/src/ui/views/index.ts +6 -0
  304. package/tsconfig.json +10 -0
  305. package/tsconfig.tsbuildinfo +1 -0
  306. package/tsdown.config.js +7 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,368 @@
1
+ # @contractspec/example.agent-console
2
+
3
+ ## 0.0.0-canary-20260113170453
4
+
5
+ ### Minor Changes
6
+
7
+ - caf8701: feat: add cli vibe command to run workflow
8
+ - c69b849: feat: add api web services (mcp & website)
9
+ - 42b8d78: feat: add cli `contractspec vibe` workflow to simplify usage
10
+ - fd38e85: feat: auto-fix contractspec issues
11
+
12
+ ### Patch Changes
13
+
14
+ - e7ded36: feat: improve stability (adding ts-morph)
15
+ - c231a8b: test: improve workspace stability
16
+ - Updated dependencies [e7ded36]
17
+ - Updated dependencies [caf8701]
18
+ - Updated dependencies [c69b849]
19
+ - Updated dependencies [c231a8b]
20
+ - Updated dependencies [42b8d78]
21
+ - Updated dependencies [fd38e85]
22
+ - @contractspec/lib.example-shared-ui@0.0.0-canary-20260113170453
23
+ - @contractspec/lib.runtime-sandbox@0.0.0-canary-20260113170453
24
+ - @contractspec/lib.design-system@0.0.0-canary-20260113170453
25
+ - @contractspec/lib.contracts@0.0.0-canary-20260113170453
26
+ - @contractspec/lib.schema@0.0.0-canary-20260113170453
27
+
28
+ ## 1.46.2
29
+
30
+ ### Patch Changes
31
+
32
+ - 7e21625: feat: library services (landing page & api)
33
+ - Updated dependencies [7e21625]
34
+ - @contractspec/lib.example-shared-ui@1.0.1
35
+ - @contractspec/lib.runtime-sandbox@0.1.1
36
+ - @contractspec/lib.design-system@1.46.2
37
+ - @contractspec/lib.contracts@1.46.2
38
+ - @contractspec/lib.schema@1.46.2
39
+
40
+ ## 1.46.1
41
+
42
+ ### Patch Changes
43
+
44
+ - 2d8a72b: fix: mcp for presentation
45
+ - Updated dependencies [2d8a72b]
46
+ - @contractspec/lib.contracts@1.46.1
47
+ - @contractspec/lib.schema@1.46.1
48
+
49
+ ## 1.46.0
50
+
51
+ ### Minor Changes
52
+
53
+ - 07cb19b: feat: feat: cleaude code & opencode integrations
54
+
55
+ ### Patch Changes
56
+
57
+ - Updated dependencies [07cb19b]
58
+ - @contractspec/lib.contracts@1.46.0
59
+ - @contractspec/lib.schema@1.46.0
60
+
61
+ ## 1.45.6
62
+
63
+ ### Patch Changes
64
+
65
+ - a913074: feat: improve ai agents rules management"
66
+ - Updated dependencies [a913074]
67
+ - @contractspec/lib.contracts@1.45.6
68
+ - @contractspec/lib.schema@1.45.6
69
+
70
+ ## 1.45.5
71
+
72
+ ### Patch Changes
73
+
74
+ - 9ddd7fa: feat: improve versioning
75
+ - Updated dependencies [9ddd7fa]
76
+ - @contractspec/lib.contracts@1.45.5
77
+ - @contractspec/lib.schema@1.45.5
78
+
79
+ ## 1.45.4
80
+
81
+ ### Patch Changes
82
+
83
+ - fix: github action
84
+ - Updated dependencies
85
+ - @contractspec/lib.contracts@1.45.4
86
+ - @contractspec/lib.schema@1.45.4
87
+
88
+ ## 1.45.3
89
+
90
+ ### Patch Changes
91
+
92
+ - e74ea9e: feat: version management
93
+ - Updated dependencies [e74ea9e]
94
+ - @contractspec/lib.contracts@1.45.3
95
+ - @contractspec/lib.schema@1.45.3
96
+
97
+ ## 1.45.2
98
+
99
+ ### Patch Changes
100
+
101
+ - 39ca241: code cleaning
102
+ - Updated dependencies [39ca241]
103
+ - @contractspec/lib.contracts@1.45.2
104
+ - @contractspec/lib.schema@1.45.2
105
+
106
+ ## 1.45.1
107
+
108
+ ### Patch Changes
109
+
110
+ - feat: improve app config and examples contracts
111
+ - Updated dependencies
112
+ - @contractspec/module.audit-trail@1.45.1
113
+ - @contractspec/lib.identity-rbac@1.45.1
114
+ - @contractspec/lib.contracts@1.45.1
115
+ - @contractspec/lib.schema@1.45.1
116
+ - @contractspec/lib.jobs@1.45.1
117
+
118
+ ## 1.45.0
119
+
120
+ ### Minor Changes
121
+
122
+ - e73ca1d: feat: improve app config and examples contracts
123
+ feat: Contract layers support (features, examples, app-configs)
124
+
125
+ ### New CLI Commands
126
+ - `contractspec list layers` - List all contract layers with filtering
127
+
128
+ ### Enhanced Commands
129
+ - `contractspec ci` - New `layers` check category validates features/examples/config
130
+ - `contractspec doctor` - New `layers` health checks
131
+ - `contractspec integrity` - Now shows layer statistics
132
+
133
+ ### New APIs
134
+ - `discoverLayers()` - Scan workspace for all layer files
135
+ - `scanExampleSource()` - Parse ExampleSpec from source code
136
+ - `isExampleFile()` - Check if file is an example spec
137
+
138
+ ### Patch Changes
139
+
140
+ - Updated dependencies [e73ca1d]
141
+ - @contractspec/module.audit-trail@1.45.0
142
+ - @contractspec/lib.identity-rbac@1.45.0
143
+ - @contractspec/lib.contracts@1.45.0
144
+ - @contractspec/lib.schema@1.45.0
145
+ - @contractspec/lib.jobs@1.45.0
146
+
147
+ ## 1.44.1
148
+
149
+ ### Patch Changes
150
+
151
+ - 3c594fb: fix
152
+ - Updated dependencies [3c594fb]
153
+ - @contractspec/module.audit-trail@1.44.1
154
+ - @contractspec/lib.identity-rbac@1.44.1
155
+ - @contractspec/lib.contracts@1.44.1
156
+ - @contractspec/lib.schema@1.44.1
157
+ - @contractspec/lib.jobs@1.44.1
158
+
159
+ ## 1.44.0
160
+
161
+ ### Minor Changes
162
+
163
+ - 5f3a868: chore: isolate branding to contractspec.io
164
+
165
+ ### Patch Changes
166
+
167
+ - Updated dependencies [5f3a868]
168
+ - @contractspec/module.audit-trail@1.44.0
169
+ - @contractspec/lib.identity-rbac@1.44.0
170
+ - @contractspec/lib.contracts@1.44.0
171
+ - @contractspec/lib.schema@1.44.0
172
+ - @contractspec/lib.jobs@1.44.0
173
+
174
+ ## 1.43.4
175
+
176
+ ### Patch Changes
177
+
178
+ - 9216062: fix: cross-platform compatibility
179
+ - Updated dependencies [9216062]
180
+ - @contractspec/module.audit-trail@1.43.4
181
+ - @contractspec/lib.identity-rbac@1.43.4
182
+ - @contractspec/lib.contracts@1.43.4
183
+ - @contractspec/lib.schema@1.43.3
184
+ - @contractspec/lib.jobs@1.43.4
185
+
186
+ ## 1.43.3
187
+
188
+ ### Patch Changes
189
+
190
+ - 24d9759: improve documentation
191
+ - Updated dependencies [24d9759]
192
+ - @contractspec/module.audit-trail@1.43.3
193
+ - @contractspec/lib.identity-rbac@1.43.3
194
+ - @contractspec/lib.contracts@1.43.3
195
+ - @contractspec/lib.schema@1.43.2
196
+ - @contractspec/lib.jobs@1.43.3
197
+
198
+ ## 1.43.2
199
+
200
+ ### Patch Changes
201
+
202
+ - e147271: fix: improve stability
203
+ - Updated dependencies [e147271]
204
+ - @contractspec/module.audit-trail@1.43.2
205
+ - @contractspec/lib.identity-rbac@1.43.2
206
+ - @contractspec/lib.contracts@1.43.2
207
+ - @contractspec/lib.jobs@1.43.2
208
+ - @contractspec/lib.schema@1.43.1
209
+
210
+ ## 1.43.1
211
+
212
+ ### Patch Changes
213
+
214
+ - Updated dependencies [f28fdad]
215
+ - @contractspec/lib.contracts@1.43.1
216
+ - @contractspec/lib.identity-rbac@1.43.1
217
+ - @contractspec/lib.jobs@1.43.1
218
+ - @contractspec/module.audit-trail@1.43.1
219
+
220
+ ## 1.43.0
221
+
222
+ ### Minor Changes
223
+
224
+ - 042d072: feat: schema declaration using json schema, including zod
225
+
226
+ ### Patch Changes
227
+
228
+ - Updated dependencies [042d072]
229
+ - @contractspec/module.audit-trail@1.43.0
230
+ - @contractspec/lib.identity-rbac@1.43.0
231
+ - @contractspec/lib.contracts@1.43.0
232
+ - @contractspec/lib.schema@1.43.0
233
+ - @contractspec/lib.jobs@1.43.0
234
+
235
+ ## 1.42.10
236
+
237
+ ### Patch Changes
238
+
239
+ - 1e6a0f1: fix: mcp server
240
+ - Updated dependencies [1e6a0f1]
241
+ - @contractspec/module.audit-trail@1.42.10
242
+ - @contractspec/lib.identity-rbac@1.42.10
243
+ - @contractspec/lib.contracts@1.42.10
244
+ - @contractspec/lib.schema@1.42.10
245
+ - @contractspec/lib.jobs@1.42.10
246
+
247
+ ## 1.42.9
248
+
249
+ ### Patch Changes
250
+
251
+ - 9281db7: fix ModelRegistry
252
+ - Updated dependencies [9281db7]
253
+ - @contractspec/module.audit-trail@1.42.9
254
+ - @contractspec/lib.identity-rbac@1.42.9
255
+ - @contractspec/lib.contracts@1.42.9
256
+ - @contractspec/lib.schema@1.42.9
257
+ - @contractspec/lib.jobs@1.42.9
258
+
259
+ ## 1.42.8
260
+
261
+ ### Patch Changes
262
+
263
+ - e07b5ac: fix
264
+ - Updated dependencies [e07b5ac]
265
+ - @contractspec/module.audit-trail@1.42.8
266
+ - @contractspec/lib.identity-rbac@1.42.8
267
+ - @contractspec/lib.contracts@1.42.8
268
+ - @contractspec/lib.schema@1.42.8
269
+ - @contractspec/lib.jobs@1.42.8
270
+
271
+ ## 1.42.7
272
+
273
+ ### Patch Changes
274
+
275
+ - e9b575d: fix release
276
+ - Updated dependencies [e9b575d]
277
+ - @contractspec/module.audit-trail@1.42.7
278
+ - @contractspec/lib.identity-rbac@1.42.7
279
+ - @contractspec/lib.contracts@1.42.7
280
+ - @contractspec/lib.schema@1.42.7
281
+ - @contractspec/lib.jobs@1.42.7
282
+
283
+ ## 1.42.6
284
+
285
+ ### Patch Changes
286
+
287
+ - 1500242: fix tooling
288
+ - Updated dependencies [1500242]
289
+ - @contractspec/module.audit-trail@1.42.6
290
+ - @contractspec/lib.identity-rbac@1.42.6
291
+ - @contractspec/lib.contracts@1.42.6
292
+ - @contractspec/lib.schema@1.42.6
293
+ - @contractspec/lib.jobs@1.42.6
294
+
295
+ ## 1.42.5
296
+
297
+ ### Patch Changes
298
+
299
+ - 1299719: fix vscode
300
+ - Updated dependencies [1299719]
301
+ - @contractspec/module.audit-trail@1.42.5
302
+ - @contractspec/lib.identity-rbac@1.42.5
303
+ - @contractspec/lib.contracts@1.42.5
304
+ - @contractspec/lib.schema@1.42.5
305
+ - @contractspec/lib.jobs@1.42.5
306
+
307
+ ## 1.42.4
308
+
309
+ ### Patch Changes
310
+
311
+ - ac28b99: fix: generate from openapi
312
+ - Updated dependencies [ac28b99]
313
+ - @contractspec/module.audit-trail@1.42.4
314
+ - @contractspec/lib.identity-rbac@1.42.4
315
+ - @contractspec/lib.contracts@1.42.4
316
+ - @contractspec/lib.schema@1.42.4
317
+ - @contractspec/lib.jobs@1.42.4
318
+
319
+ ## 1.42.3
320
+
321
+ ### Patch Changes
322
+
323
+ - 3f5d015: fix(tooling): cicd
324
+ - Updated dependencies [3f5d015]
325
+ - @contractspec/lib.contracts@1.42.3
326
+ - @contractspec/lib.identity-rbac@1.42.3
327
+ - @contractspec/lib.jobs@1.42.3
328
+ - @contractspec/lib.schema@1.42.3
329
+ - @contractspec/module.audit-trail@1.42.3
330
+
331
+ ## 1.42.2
332
+
333
+ ### Patch Changes
334
+
335
+ - 1f9ac4c: fix
336
+ - Updated dependencies [1f9ac4c]
337
+ - @contractspec/lib.contracts@1.42.2
338
+ - @contractspec/lib.identity-rbac@1.42.2
339
+ - @contractspec/lib.jobs@1.42.2
340
+ - @contractspec/lib.schema@1.42.2
341
+ - @contractspec/module.audit-trail@1.42.2
342
+
343
+ ## 1.42.1
344
+
345
+ ### Patch Changes
346
+
347
+ - f043995: Fix release
348
+ - Updated dependencies [f043995]
349
+ - @contractspec/module.audit-trail@1.42.1
350
+ - @contractspec/lib.identity-rbac@1.42.1
351
+ - @contractspec/lib.contracts@1.42.1
352
+ - @contractspec/lib.schema@1.42.1
353
+ - @contractspec/lib.jobs@1.42.1
354
+
355
+ ## 1.42.0
356
+
357
+ ### Minor Changes
358
+
359
+ - 8eefd9c: initial release
360
+
361
+ ### Patch Changes
362
+
363
+ - Updated dependencies [8eefd9c]
364
+ - @contractspec/lib.contracts@1.42.0
365
+ - @contractspec/lib.identity-rbac@1.42.0
366
+ - @contractspec/lib.jobs@1.42.0
367
+ - @contractspec/lib.schema@1.42.0
368
+ - @contractspec/module.audit-trail@1.42.0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Chaman Ventures, SASU
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,86 @@
1
+ # Agent Console Example
2
+
3
+ Website: https://contractspec.io/
4
+
5
+
6
+ A ContractSpec example demonstrating AI agent orchestration with tools, runs, and execution logs.
7
+
8
+ ## Overview
9
+
10
+ This example showcases how to build an AI agent management system using ContractSpec's spec-first approach. It includes:
11
+
12
+ - **Tools**: Reusable AI functions/capabilities that agents can invoke
13
+ - **Agents**: AI agent configurations with assigned tools and parameters
14
+ - **Runs**: Execution instances of agents processing user requests
15
+ - **Logs**: Detailed execution logs for debugging and auditing
16
+
17
+ ## Features
18
+
19
+ - Multi-tenant agent management
20
+ - Tool registry with typed parameters
21
+ - Agent composition with multiple tools
22
+ - Run execution with step-by-step logging
23
+ - Token usage tracking for billing
24
+ - Event-driven architecture for real-time updates
25
+
26
+ ## Usage
27
+
28
+ ```typescript
29
+ import {
30
+ ToolEntity,
31
+ AgentEntity,
32
+ RunEntity,
33
+ CreateToolCommand,
34
+ ExecuteAgentCommand
35
+ } from '@contractspec/example.agent-console';
36
+
37
+ // Define a tool
38
+ const searchTool = {
39
+ name: 'web-search',
40
+ description: 'Search the web for information',
41
+ parameters: {
42
+ type: 'object',
43
+ properties: {
44
+ query: { type: 'string' }
45
+ }
46
+ }
47
+ };
48
+
49
+ // Create an agent with tools
50
+ const agent = {
51
+ name: 'Research Assistant',
52
+ model: 'gpt-4',
53
+ systemPrompt: 'You are a helpful research assistant.',
54
+ toolIds: ['tool-web-search', 'tool-summarize']
55
+ };
56
+
57
+ // Execute the agent
58
+ const run = await executeAgent({
59
+ agentId: agent.id,
60
+ input: { message: 'What are the latest AI developments?' }
61
+ });
62
+ ```
63
+
64
+ ## Entities
65
+
66
+ - `Tool` - AI tool/function definitions
67
+ - `Agent` - Agent configurations
68
+ - `Run` - Agent execution instances
69
+ - `RunStep` - Individual steps within a run
70
+ - `RunLog` - Detailed execution logs
71
+
72
+ ## Events
73
+
74
+ - `AgentCreated` - When a new agent is configured
75
+ - `RunStarted` - When an agent run begins
76
+ - `RunCompleted` - When an agent run finishes
77
+ - `RunFailed` - When an agent run encounters an error
78
+ - `ToolInvoked` - When a tool is called during execution
79
+
80
+ ## Dependencies
81
+
82
+ This example builds on the following cross-cutting modules:
83
+
84
+ - `@contractspec/lib.identity-rbac` - User and organization management
85
+ - `@contractspec/lib.jobs` - Async job processing for long-running agents
86
+ - `@contractspec/module.audit-trail` - Audit logging for compliance
@@ -0,0 +1,55 @@
1
+ import * as _contractspec_lib_schema54 from "@contractspec/lib.schema";
2
+
3
+ //#region src/agent/agent.entity.d.ts
4
+ /**
5
+ * Agent status for lifecycle management.
6
+ */
7
+ declare const AgentStatusEntityEnum: _contractspec_lib_schema54.EntityEnumDef;
8
+ /**
9
+ * Agent model provider.
10
+ */
11
+ declare const ModelProviderEntityEnum: _contractspec_lib_schema54.EntityEnumDef;
12
+ /**
13
+ * Agent entity - Represents an AI agent configuration.
14
+ */
15
+ declare const AgentEntity: _contractspec_lib_schema54.EntitySpec<{
16
+ id: _contractspec_lib_schema54.EntityScalarField;
17
+ organizationId: _contractspec_lib_schema54.EntityScalarField;
18
+ name: _contractspec_lib_schema54.EntityScalarField;
19
+ slug: _contractspec_lib_schema54.EntityScalarField;
20
+ description: _contractspec_lib_schema54.EntityScalarField;
21
+ status: _contractspec_lib_schema54.EntityEnumField;
22
+ modelProvider: _contractspec_lib_schema54.EntityEnumField;
23
+ modelName: _contractspec_lib_schema54.EntityScalarField;
24
+ modelConfig: _contractspec_lib_schema54.EntityScalarField;
25
+ systemPrompt: _contractspec_lib_schema54.EntityScalarField;
26
+ userPromptTemplate: _contractspec_lib_schema54.EntityScalarField;
27
+ toolIds: _contractspec_lib_schema54.EntityScalarField;
28
+ toolChoice: _contractspec_lib_schema54.EntityScalarField;
29
+ maxIterations: _contractspec_lib_schema54.EntityScalarField;
30
+ maxTokensPerRun: _contractspec_lib_schema54.EntityScalarField;
31
+ timeoutMs: _contractspec_lib_schema54.EntityScalarField;
32
+ version: _contractspec_lib_schema54.EntityScalarField;
33
+ tags: _contractspec_lib_schema54.EntityScalarField;
34
+ createdAt: _contractspec_lib_schema54.EntityScalarField;
35
+ updatedAt: _contractspec_lib_schema54.EntityScalarField;
36
+ createdById: _contractspec_lib_schema54.EntityScalarField;
37
+ tools: _contractspec_lib_schema54.EntityRelationField;
38
+ }>;
39
+ /**
40
+ * AgentTool join entity - Links agents to their assigned tools.
41
+ */
42
+ declare const AgentToolEntity: _contractspec_lib_schema54.EntitySpec<{
43
+ id: _contractspec_lib_schema54.EntityScalarField;
44
+ agentId: _contractspec_lib_schema54.EntityScalarField;
45
+ toolId: _contractspec_lib_schema54.EntityScalarField;
46
+ config: _contractspec_lib_schema54.EntityScalarField;
47
+ order: _contractspec_lib_schema54.EntityScalarField;
48
+ isEnabled: _contractspec_lib_schema54.EntityScalarField;
49
+ createdAt: _contractspec_lib_schema54.EntityScalarField;
50
+ agent: _contractspec_lib_schema54.EntityRelationField;
51
+ tool: _contractspec_lib_schema54.EntityRelationField;
52
+ }>;
53
+ //#endregion
54
+ export { AgentEntity, AgentStatusEntityEnum, AgentToolEntity, ModelProviderEntityEnum };
55
+ //# sourceMappingURL=agent.entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.entity.d.ts","names":[],"sources":["../../src/agent/agent.entity.ts"],"sourcesContent":[],"mappings":";;;;;;AAUa,cAAA,qBAIX,EAAA,0BAAA,CAJgC,aAIhC;AAKF;AASA;;cATa,yBAIX,0BAAA,CAJkC;;;;cASvB,wCAAW;MA2EtB,0BAAA,CAAA;;;;;;;;;;;;;;;;uDA3EsB;EAAA,IAAA,8CAAA;EAgFX,SAAA,8CA4BX;EAAA,SAAA,8CAAA;;;;;;;cA5BW,4CAAe;MA4B1B,0BAAA,CAAA;uDA5B0B;EAAA,MAAA,8CAAA"}
@@ -0,0 +1,136 @@
1
+ import { defineEntity, defineEntityEnum, field, index } from "@contractspec/lib.schema";
2
+
3
+ //#region src/agent/agent.entity.ts
4
+ /**
5
+ * Agent status for lifecycle management.
6
+ */
7
+ const AgentStatusEntityEnum = defineEntityEnum({
8
+ name: "AgentStatus",
9
+ values: [
10
+ "DRAFT",
11
+ "ACTIVE",
12
+ "PAUSED",
13
+ "ARCHIVED"
14
+ ],
15
+ description: "Lifecycle status of the agent"
16
+ });
17
+ /**
18
+ * Agent model provider.
19
+ */
20
+ const ModelProviderEntityEnum = defineEntityEnum({
21
+ name: "ModelProvider",
22
+ values: [
23
+ "OPENAI",
24
+ "ANTHROPIC",
25
+ "GOOGLE",
26
+ "MISTRAL",
27
+ "CUSTOM"
28
+ ],
29
+ description: "AI model provider"
30
+ });
31
+ /**
32
+ * Agent entity - Represents an AI agent configuration.
33
+ */
34
+ const AgentEntity = defineEntity({
35
+ name: "Agent",
36
+ schema: "agent_console",
37
+ description: "Represents an AI agent configuration with assigned tools and parameters.",
38
+ fields: {
39
+ id: field.id(),
40
+ organizationId: field.string({ description: "Organization that owns this agent" }),
41
+ name: field.string({ description: "Agent name (1-100 chars)" }),
42
+ slug: field.string({ description: "URL-safe identifier (lowercase, numbers, hyphens)" }),
43
+ description: field.string({
44
+ isOptional: true,
45
+ description: "Agent description (max 1000 chars)"
46
+ }),
47
+ status: field.enum("AgentStatus", { default: "DRAFT" }),
48
+ modelProvider: field.enum("ModelProvider", { default: "OPENAI" }),
49
+ modelName: field.string({ description: "Model identifier: 'gpt-4', 'claude-3-opus', etc." }),
50
+ modelConfig: field.json({
51
+ isOptional: true,
52
+ description: "Model parameters: temperature, max_tokens, etc."
53
+ }),
54
+ systemPrompt: field.string({ description: "System prompt for the agent" }),
55
+ userPromptTemplate: field.string({
56
+ isOptional: true,
57
+ description: "Template for user prompts"
58
+ }),
59
+ toolIds: field.string({
60
+ isArray: true,
61
+ isOptional: true,
62
+ description: "IDs of assigned tools"
63
+ }),
64
+ toolChoice: field.string({
65
+ default: "auto",
66
+ description: "Tool selection mode: 'auto', 'required', 'none'"
67
+ }),
68
+ maxIterations: field.int({
69
+ default: 10,
70
+ description: "Maximum iterations per run"
71
+ }),
72
+ maxTokensPerRun: field.int({
73
+ isOptional: true,
74
+ description: "Maximum tokens per run"
75
+ }),
76
+ timeoutMs: field.int({
77
+ default: 12e4,
78
+ description: "Execution timeout in milliseconds"
79
+ }),
80
+ version: field.string({
81
+ default: "1.0.0",
82
+ description: "Agent version"
83
+ }),
84
+ tags: field.string({
85
+ isArray: true,
86
+ isOptional: true,
87
+ description: "Tags for categorization"
88
+ }),
89
+ createdAt: field.createdAt(),
90
+ updatedAt: field.updatedAt(),
91
+ createdById: field.string({
92
+ isOptional: true,
93
+ description: "User who created this agent"
94
+ }),
95
+ tools: field.hasMany("Tool", { description: "Tools assigned to this agent" })
96
+ },
97
+ indexes: [
98
+ index.unique(["organizationId", "slug"]),
99
+ index.on(["organizationId", "status"]),
100
+ index.on(["modelProvider", "modelName"])
101
+ ],
102
+ enums: [AgentStatusEntityEnum, ModelProviderEntityEnum]
103
+ });
104
+ /**
105
+ * AgentTool join entity - Links agents to their assigned tools.
106
+ */
107
+ const AgentToolEntity = defineEntity({
108
+ name: "AgentTool",
109
+ schema: "agent_console",
110
+ description: "Links an agent to its assigned tools with configuration.",
111
+ fields: {
112
+ id: field.id(),
113
+ agentId: field.foreignKey({ description: "Agent ID" }),
114
+ toolId: field.foreignKey({ description: "Tool ID" }),
115
+ config: field.json({
116
+ isOptional: true,
117
+ description: "Tool-specific configuration for this agent"
118
+ }),
119
+ order: field.int({
120
+ default: 0,
121
+ description: "Order of tool in agent tool list"
122
+ }),
123
+ isEnabled: field.boolean({
124
+ default: true,
125
+ description: "Whether tool is enabled for this agent"
126
+ }),
127
+ createdAt: field.createdAt(),
128
+ agent: field.belongsTo("Agent", ["agentId"], ["id"]),
129
+ tool: field.belongsTo("Tool", ["toolId"], ["id"])
130
+ },
131
+ indexes: [index.unique(["agentId", "toolId"]), index.on(["agentId", "order"])]
132
+ });
133
+
134
+ //#endregion
135
+ export { AgentEntity, AgentStatusEntityEnum, AgentToolEntity, ModelProviderEntityEnum };
136
+ //# sourceMappingURL=agent.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.entity.js","names":[],"sources":["../../src/agent/agent.entity.ts"],"sourcesContent":["import {\n defineEntity,\n defineEntityEnum,\n field,\n index,\n} from '@contractspec/lib.schema';\n\n/**\n * Agent status for lifecycle management.\n */\nexport const AgentStatusEntityEnum = defineEntityEnum({\n name: 'AgentStatus',\n values: ['DRAFT', 'ACTIVE', 'PAUSED', 'ARCHIVED'],\n description: 'Lifecycle status of the agent',\n});\n\n/**\n * Agent model provider.\n */\nexport const ModelProviderEntityEnum = defineEntityEnum({\n name: 'ModelProvider',\n values: ['OPENAI', 'ANTHROPIC', 'GOOGLE', 'MISTRAL', 'CUSTOM'],\n description: 'AI model provider',\n});\n\n/**\n * Agent entity - Represents an AI agent configuration.\n */\nexport const AgentEntity = defineEntity({\n name: 'Agent',\n schema: 'agent_console',\n description:\n 'Represents an AI agent configuration with assigned tools and parameters.',\n fields: {\n id: field.id(),\n organizationId: field.string({\n description: 'Organization that owns this agent',\n }),\n name: field.string({ description: 'Agent name (1-100 chars)' }),\n slug: field.string({\n description: 'URL-safe identifier (lowercase, numbers, hyphens)',\n }),\n description: field.string({\n isOptional: true,\n description: 'Agent description (max 1000 chars)',\n }),\n status: field.enum('AgentStatus', { default: 'DRAFT' }),\n modelProvider: field.enum('ModelProvider', { default: 'OPENAI' }),\n modelName: field.string({\n description: \"Model identifier: 'gpt-4', 'claude-3-opus', etc.\",\n }),\n modelConfig: field.json({\n isOptional: true,\n description: 'Model parameters: temperature, max_tokens, etc.',\n }),\n systemPrompt: field.string({ description: 'System prompt for the agent' }),\n userPromptTemplate: field.string({\n isOptional: true,\n description: 'Template for user prompts',\n }),\n toolIds: field.string({\n isArray: true,\n isOptional: true,\n description: 'IDs of assigned tools',\n }),\n toolChoice: field.string({\n default: 'auto',\n description: \"Tool selection mode: 'auto', 'required', 'none'\",\n }),\n maxIterations: field.int({\n default: 10,\n description: 'Maximum iterations per run',\n }),\n maxTokensPerRun: field.int({\n isOptional: true,\n description: 'Maximum tokens per run',\n }),\n timeoutMs: field.int({\n default: 120000,\n description: 'Execution timeout in milliseconds',\n }),\n version: field.string({ default: '1.0.0', description: 'Agent version' }),\n tags: field.string({\n isArray: true,\n isOptional: true,\n description: 'Tags for categorization',\n }),\n createdAt: field.createdAt(),\n updatedAt: field.updatedAt(),\n createdById: field.string({\n isOptional: true,\n description: 'User who created this agent',\n }),\n tools: field.hasMany('Tool', {\n description: 'Tools assigned to this agent',\n }),\n },\n indexes: [\n index.unique(['organizationId', 'slug']),\n index.on(['organizationId', 'status']),\n index.on(['modelProvider', 'modelName']),\n ],\n enums: [AgentStatusEntityEnum, ModelProviderEntityEnum],\n});\n\n/**\n * AgentTool join entity - Links agents to their assigned tools.\n */\nexport const AgentToolEntity = defineEntity({\n name: 'AgentTool',\n schema: 'agent_console',\n description: 'Links an agent to its assigned tools with configuration.',\n fields: {\n id: field.id(),\n agentId: field.foreignKey({ description: 'Agent ID' }),\n toolId: field.foreignKey({ description: 'Tool ID' }),\n config: field.json({\n isOptional: true,\n description: 'Tool-specific configuration for this agent',\n }),\n order: field.int({\n default: 0,\n description: 'Order of tool in agent tool list',\n }),\n isEnabled: field.boolean({\n default: true,\n description: 'Whether tool is enabled for this agent',\n }),\n createdAt: field.createdAt(),\n agent: field.belongsTo('Agent', ['agentId'], ['id']),\n tool: field.belongsTo('Tool', ['toolId'], ['id']),\n },\n indexes: [\n index.unique(['agentId', 'toolId']),\n index.on(['agentId', 'order']),\n ],\n});\n"],"mappings":";;;;;;AAUA,MAAa,wBAAwB,iBAAiB;CACpD,MAAM;CACN,QAAQ;EAAC;EAAS;EAAU;EAAU;EAAW;CACjD,aAAa;CACd,CAAC;;;;AAKF,MAAa,0BAA0B,iBAAiB;CACtD,MAAM;CACN,QAAQ;EAAC;EAAU;EAAa;EAAU;EAAW;EAAS;CAC9D,aAAa;CACd,CAAC;;;;AAKF,MAAa,cAAc,aAAa;CACtC,MAAM;CACN,QAAQ;CACR,aACE;CACF,QAAQ;EACN,IAAI,MAAM,IAAI;EACd,gBAAgB,MAAM,OAAO,EAC3B,aAAa,qCACd,CAAC;EACF,MAAM,MAAM,OAAO,EAAE,aAAa,4BAA4B,CAAC;EAC/D,MAAM,MAAM,OAAO,EACjB,aAAa,qDACd,CAAC;EACF,aAAa,MAAM,OAAO;GACxB,YAAY;GACZ,aAAa;GACd,CAAC;EACF,QAAQ,MAAM,KAAK,eAAe,EAAE,SAAS,SAAS,CAAC;EACvD,eAAe,MAAM,KAAK,iBAAiB,EAAE,SAAS,UAAU,CAAC;EACjE,WAAW,MAAM,OAAO,EACtB,aAAa,oDACd,CAAC;EACF,aAAa,MAAM,KAAK;GACtB,YAAY;GACZ,aAAa;GACd,CAAC;EACF,cAAc,MAAM,OAAO,EAAE,aAAa,+BAA+B,CAAC;EAC1E,oBAAoB,MAAM,OAAO;GAC/B,YAAY;GACZ,aAAa;GACd,CAAC;EACF,SAAS,MAAM,OAAO;GACpB,SAAS;GACT,YAAY;GACZ,aAAa;GACd,CAAC;EACF,YAAY,MAAM,OAAO;GACvB,SAAS;GACT,aAAa;GACd,CAAC;EACF,eAAe,MAAM,IAAI;GACvB,SAAS;GACT,aAAa;GACd,CAAC;EACF,iBAAiB,MAAM,IAAI;GACzB,YAAY;GACZ,aAAa;GACd,CAAC;EACF,WAAW,MAAM,IAAI;GACnB,SAAS;GACT,aAAa;GACd,CAAC;EACF,SAAS,MAAM,OAAO;GAAE,SAAS;GAAS,aAAa;GAAiB,CAAC;EACzE,MAAM,MAAM,OAAO;GACjB,SAAS;GACT,YAAY;GACZ,aAAa;GACd,CAAC;EACF,WAAW,MAAM,WAAW;EAC5B,WAAW,MAAM,WAAW;EAC5B,aAAa,MAAM,OAAO;GACxB,YAAY;GACZ,aAAa;GACd,CAAC;EACF,OAAO,MAAM,QAAQ,QAAQ,EAC3B,aAAa,gCACd,CAAC;EACH;CACD,SAAS;EACP,MAAM,OAAO,CAAC,kBAAkB,OAAO,CAAC;EACxC,MAAM,GAAG,CAAC,kBAAkB,SAAS,CAAC;EACtC,MAAM,GAAG,CAAC,iBAAiB,YAAY,CAAC;EACzC;CACD,OAAO,CAAC,uBAAuB,wBAAwB;CACxD,CAAC;;;;AAKF,MAAa,kBAAkB,aAAa;CAC1C,MAAM;CACN,QAAQ;CACR,aAAa;CACb,QAAQ;EACN,IAAI,MAAM,IAAI;EACd,SAAS,MAAM,WAAW,EAAE,aAAa,YAAY,CAAC;EACtD,QAAQ,MAAM,WAAW,EAAE,aAAa,WAAW,CAAC;EACpD,QAAQ,MAAM,KAAK;GACjB,YAAY;GACZ,aAAa;GACd,CAAC;EACF,OAAO,MAAM,IAAI;GACf,SAAS;GACT,aAAa;GACd,CAAC;EACF,WAAW,MAAM,QAAQ;GACvB,SAAS;GACT,aAAa;GACd,CAAC;EACF,WAAW,MAAM,WAAW;EAC5B,OAAO,MAAM,UAAU,SAAS,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC;EACpD,MAAM,MAAM,UAAU,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC;EAClD;CACD,SAAS,CACP,MAAM,OAAO,CAAC,WAAW,SAAS,CAAC,EACnC,MAAM,GAAG,CAAC,WAAW,QAAQ,CAAC,CAC/B;CACF,CAAC"}