@contractspec/example.agent-console 1.56.1 → 1.58.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (386) hide show
  1. package/.turbo/turbo-build.log +211 -277
  2. package/.turbo/turbo-prebuild.log +1 -0
  3. package/CHANGELOG.md +36 -0
  4. package/dist/agent/agent.entity.d.ts +35 -40
  5. package/dist/agent/agent.entity.d.ts.map +1 -1
  6. package/dist/agent/agent.entity.js +124 -132
  7. package/dist/agent/agent.enum.d.ts +3 -8
  8. package/dist/agent/agent.enum.d.ts.map +1 -1
  9. package/dist/agent/agent.enum.js +22 -30
  10. package/dist/agent/agent.event.d.ts +105 -111
  11. package/dist/agent/agent.event.d.ts.map +1 -1
  12. package/dist/agent/agent.event.js +107 -200
  13. package/dist/agent/agent.handler.d.ts +74 -77
  14. package/dist/agent/agent.handler.d.ts.map +1 -1
  15. package/dist/agent/agent.handler.js +293 -75
  16. package/dist/agent/agent.operation.d.ts +424 -430
  17. package/dist/agent/agent.operation.d.ts.map +1 -1
  18. package/dist/agent/agent.operation.js +728 -478
  19. package/dist/agent/agent.presentation.d.ts +3 -8
  20. package/dist/agent/agent.presentation.d.ts.map +1 -1
  21. package/dist/agent/agent.presentation.js +275 -84
  22. package/dist/agent/agent.schema.d.ts +371 -376
  23. package/dist/agent/agent.schema.d.ts.map +1 -1
  24. package/dist/agent/agent.schema.js +209 -399
  25. package/dist/agent/agent.test-spec.d.ts +2 -7
  26. package/dist/agent/agent.test-spec.d.ts.map +1 -1
  27. package/dist/agent/agent.test-spec.js +56 -62
  28. package/dist/agent/index.d.ts +11 -8
  29. package/dist/agent/index.d.ts.map +1 -0
  30. package/dist/agent/index.js +1245 -9
  31. package/dist/agent.capability.d.ts +1 -6
  32. package/dist/agent.capability.d.ts.map +1 -1
  33. package/dist/agent.capability.js +17 -20
  34. package/dist/agent.feature.d.ts +7 -7
  35. package/dist/agent.feature.d.ts.map +1 -1
  36. package/dist/agent.feature.js +117 -303
  37. package/dist/browser/agent/agent.entity.js +127 -0
  38. package/dist/browser/agent/agent.enum.js +25 -0
  39. package/dist/browser/agent/agent.event.js +116 -0
  40. package/dist/browser/agent/agent.handler.js +301 -0
  41. package/dist/browser/agent/agent.operation.js +735 -0
  42. package/dist/browser/agent/agent.presentation.js +279 -0
  43. package/dist/browser/agent/agent.schema.js +215 -0
  44. package/dist/browser/agent/agent.test-spec.js +58 -0
  45. package/dist/browser/agent/index.js +1244 -0
  46. package/dist/browser/agent.capability.js +16 -0
  47. package/dist/browser/agent.feature.js +118 -0
  48. package/dist/browser/docs/agent-console.docblock.js +93 -0
  49. package/dist/browser/docs/index.js +93 -0
  50. package/dist/browser/example.js +42 -0
  51. package/dist/browser/handlers/agent.handlers.js +252 -0
  52. package/dist/browser/handlers/index.js +799 -0
  53. package/dist/browser/index.js +5895 -0
  54. package/dist/browser/presentations/index.js +684 -0
  55. package/dist/browser/run/index.js +1350 -0
  56. package/dist/browser/run/run.entity.js +160 -0
  57. package/dist/browser/run/run.enum.js +34 -0
  58. package/dist/browser/run/run.event.js +213 -0
  59. package/dist/browser/run/run.handler.js +254 -0
  60. package/dist/browser/run/run.operation.js +667 -0
  61. package/dist/browser/run/run.presentation.js +220 -0
  62. package/dist/browser/run/run.schema.js +179 -0
  63. package/dist/browser/run/run.test-spec.js +58 -0
  64. package/dist/browser/seeders/index.js +21 -0
  65. package/dist/browser/shared/index.js +334 -0
  66. package/dist/browser/shared/mock-agents.js +82 -0
  67. package/dist/browser/shared/mock-runs.js +108 -0
  68. package/dist/browser/shared/mock-tools.js +146 -0
  69. package/dist/browser/shared/overlay-types.js +0 -0
  70. package/dist/browser/tool/index.js +946 -0
  71. package/dist/browser/tool/tool.entity.js +90 -0
  72. package/dist/browser/tool/tool.enum.js +26 -0
  73. package/dist/browser/tool/tool.event.js +99 -0
  74. package/dist/browser/tool/tool.handler.js +223 -0
  75. package/dist/browser/tool/tool.operation.js +482 -0
  76. package/dist/browser/tool/tool.presentation.js +185 -0
  77. package/dist/browser/tool/tool.schema.js +141 -0
  78. package/dist/browser/tool/tool.test-spec.js +58 -0
  79. package/dist/browser/ui/AgentDashboard.js +1607 -0
  80. package/dist/browser/ui/AgentRunList.js +250 -0
  81. package/dist/browser/ui/AgentToolRegistry.js +212 -0
  82. package/dist/browser/ui/hooks/index.js +271 -0
  83. package/dist/browser/ui/hooks/useAgentList.js +55 -0
  84. package/dist/browser/ui/hooks/useAgentMutations.js +76 -0
  85. package/dist/browser/ui/hooks/useRunList.js +55 -0
  86. package/dist/browser/ui/hooks/useToolList.js +85 -0
  87. package/dist/browser/ui/index.js +2080 -0
  88. package/dist/browser/ui/modals/AgentActionsModal.js +304 -0
  89. package/dist/browser/ui/modals/CreateAgentModal.js +229 -0
  90. package/dist/browser/ui/modals/index.js +532 -0
  91. package/dist/browser/ui/overlays/demo-overlays.js +64 -0
  92. package/dist/browser/ui/overlays/index.js +64 -0
  93. package/dist/browser/ui/renderers/agent-list.markdown.js +55 -0
  94. package/dist/browser/ui/renderers/agent-list.renderer.js +180 -0
  95. package/dist/browser/ui/renderers/dashboard.markdown.js +117 -0
  96. package/dist/browser/ui/renderers/index.js +446 -0
  97. package/dist/browser/ui/renderers/run-list.markdown.js +45 -0
  98. package/dist/browser/ui/renderers/tool-registry.markdown.js +53 -0
  99. package/dist/browser/ui/views/AgentListView.js +165 -0
  100. package/dist/browser/ui/views/RunListView.js +247 -0
  101. package/dist/browser/ui/views/ToolRegistryView.js +209 -0
  102. package/dist/browser/ui/views/index.js +619 -0
  103. package/dist/docs/agent-console.docblock.d.ts +2 -1
  104. package/dist/docs/agent-console.docblock.d.ts.map +1 -0
  105. package/dist/docs/agent-console.docblock.js +45 -64
  106. package/dist/docs/index.d.ts +2 -1
  107. package/dist/docs/index.d.ts.map +1 -0
  108. package/dist/docs/index.js +94 -1
  109. package/dist/example.d.ts +2 -6
  110. package/dist/example.d.ts.map +1 -1
  111. package/dist/example.js +40 -55
  112. package/dist/handlers/agent.handlers.d.ts +121 -121
  113. package/dist/handlers/agent.handlers.d.ts.map +1 -1
  114. package/dist/handlers/agent.handlers.js +235 -245
  115. package/dist/handlers/index.d.ts +8 -5
  116. package/dist/handlers/index.d.ts.map +1 -0
  117. package/dist/handlers/index.js +799 -5
  118. package/dist/index.d.ts +26 -48
  119. package/dist/index.d.ts.map +1 -0
  120. package/dist/index.js +5896 -50
  121. package/dist/node/agent/agent.entity.js +127 -0
  122. package/dist/node/agent/agent.enum.js +25 -0
  123. package/dist/node/agent/agent.event.js +116 -0
  124. package/dist/node/agent/agent.handler.js +301 -0
  125. package/dist/node/agent/agent.operation.js +735 -0
  126. package/dist/node/agent/agent.presentation.js +279 -0
  127. package/dist/node/agent/agent.schema.js +215 -0
  128. package/dist/node/agent/agent.test-spec.js +58 -0
  129. package/dist/node/agent/index.js +1244 -0
  130. package/dist/node/agent.capability.js +16 -0
  131. package/dist/node/agent.feature.js +118 -0
  132. package/dist/node/docs/agent-console.docblock.js +93 -0
  133. package/dist/node/docs/index.js +93 -0
  134. package/dist/node/example.js +42 -0
  135. package/dist/node/handlers/agent.handlers.js +252 -0
  136. package/dist/node/handlers/index.js +799 -0
  137. package/dist/node/index.js +5895 -0
  138. package/dist/node/presentations/index.js +684 -0
  139. package/dist/node/run/index.js +1350 -0
  140. package/dist/node/run/run.entity.js +160 -0
  141. package/dist/node/run/run.enum.js +34 -0
  142. package/dist/node/run/run.event.js +213 -0
  143. package/dist/node/run/run.handler.js +254 -0
  144. package/dist/node/run/run.operation.js +667 -0
  145. package/dist/node/run/run.presentation.js +220 -0
  146. package/dist/node/run/run.schema.js +179 -0
  147. package/dist/node/run/run.test-spec.js +58 -0
  148. package/dist/node/seeders/index.js +21 -0
  149. package/dist/node/shared/index.js +334 -0
  150. package/dist/node/shared/mock-agents.js +82 -0
  151. package/dist/node/shared/mock-runs.js +108 -0
  152. package/dist/node/shared/mock-tools.js +146 -0
  153. package/dist/node/shared/overlay-types.js +0 -0
  154. package/dist/node/tool/index.js +946 -0
  155. package/dist/node/tool/tool.entity.js +90 -0
  156. package/dist/node/tool/tool.enum.js +26 -0
  157. package/dist/node/tool/tool.event.js +99 -0
  158. package/dist/node/tool/tool.handler.js +223 -0
  159. package/dist/node/tool/tool.operation.js +482 -0
  160. package/dist/node/tool/tool.presentation.js +185 -0
  161. package/dist/node/tool/tool.schema.js +141 -0
  162. package/dist/node/tool/tool.test-spec.js +58 -0
  163. package/dist/node/ui/AgentDashboard.js +1607 -0
  164. package/dist/node/ui/AgentRunList.js +250 -0
  165. package/dist/node/ui/AgentToolRegistry.js +212 -0
  166. package/dist/node/ui/hooks/index.js +271 -0
  167. package/dist/node/ui/hooks/useAgentList.js +55 -0
  168. package/dist/node/ui/hooks/useAgentMutations.js +76 -0
  169. package/dist/node/ui/hooks/useRunList.js +55 -0
  170. package/dist/node/ui/hooks/useToolList.js +85 -0
  171. package/dist/node/ui/index.js +2080 -0
  172. package/dist/node/ui/modals/AgentActionsModal.js +304 -0
  173. package/dist/node/ui/modals/CreateAgentModal.js +229 -0
  174. package/dist/node/ui/modals/index.js +532 -0
  175. package/dist/node/ui/overlays/demo-overlays.js +64 -0
  176. package/dist/node/ui/overlays/index.js +64 -0
  177. package/dist/node/ui/renderers/agent-list.markdown.js +55 -0
  178. package/dist/node/ui/renderers/agent-list.renderer.js +180 -0
  179. package/dist/node/ui/renderers/dashboard.markdown.js +117 -0
  180. package/dist/node/ui/renderers/index.js +446 -0
  181. package/dist/node/ui/renderers/run-list.markdown.js +45 -0
  182. package/dist/node/ui/renderers/tool-registry.markdown.js +53 -0
  183. package/dist/node/ui/views/AgentListView.js +165 -0
  184. package/dist/node/ui/views/RunListView.js +247 -0
  185. package/dist/node/ui/views/ToolRegistryView.js +209 -0
  186. package/dist/node/ui/views/index.js +619 -0
  187. package/dist/presentations/index.d.ts +9 -4
  188. package/dist/presentations/index.d.ts.map +1 -0
  189. package/dist/presentations/index.js +684 -4
  190. package/dist/run/index.d.ts +11 -8
  191. package/dist/run/index.d.ts.map +1 -0
  192. package/dist/run/index.js +1351 -9
  193. package/dist/run/run.entity.d.ts +55 -60
  194. package/dist/run/run.entity.d.ts.map +1 -1
  195. package/dist/run/run.entity.js +155 -199
  196. package/dist/run/run.enum.d.ts +4 -9
  197. package/dist/run/run.enum.d.ts.map +1 -1
  198. package/dist/run/run.enum.js +30 -40
  199. package/dist/run/run.event.d.ts +255 -261
  200. package/dist/run/run.event.d.ts.map +1 -1
  201. package/dist/run/run.event.js +198 -418
  202. package/dist/run/run.handler.d.ts +169 -172
  203. package/dist/run/run.handler.d.ts.map +1 -1
  204. package/dist/run/run.handler.js +246 -74
  205. package/dist/run/run.operation.d.ts +658 -664
  206. package/dist/run/run.operation.d.ts.map +1 -1
  207. package/dist/run/run.operation.js +659 -617
  208. package/dist/run/run.presentation.d.ts +2 -7
  209. package/dist/run/run.presentation.d.ts.map +1 -1
  210. package/dist/run/run.presentation.js +217 -61
  211. package/dist/run/run.schema.d.ts +367 -372
  212. package/dist/run/run.schema.d.ts.map +1 -1
  213. package/dist/run/run.schema.js +172 -330
  214. package/dist/run/run.test-spec.d.ts +2 -7
  215. package/dist/run/run.test-spec.d.ts.map +1 -1
  216. package/dist/run/run.test-spec.js +56 -62
  217. package/dist/seeders/index.d.ts +4 -8
  218. package/dist/seeders/index.d.ts.map +1 -1
  219. package/dist/seeders/index.js +19 -17
  220. package/dist/shared/index.d.ts +7 -4
  221. package/dist/shared/index.d.ts.map +1 -0
  222. package/dist/shared/index.js +334 -4
  223. package/dist/shared/mock-agents.d.ts +77 -80
  224. package/dist/shared/mock-agents.d.ts.map +1 -1
  225. package/dist/shared/mock-agents.js +82 -93
  226. package/dist/shared/mock-runs.d.ts +107 -110
  227. package/dist/shared/mock-runs.d.ts.map +1 -1
  228. package/dist/shared/mock-runs.js +108 -117
  229. package/dist/shared/mock-tools.d.ts +217 -220
  230. package/dist/shared/mock-tools.d.ts.map +1 -1
  231. package/dist/shared/mock-tools.js +146 -180
  232. package/dist/shared/overlay-types.d.ts +25 -28
  233. package/dist/shared/overlay-types.d.ts.map +1 -1
  234. package/dist/shared/overlay-types.js +1 -0
  235. package/dist/tool/index.d.ts +11 -8
  236. package/dist/tool/index.d.ts.map +1 -0
  237. package/dist/tool/index.js +947 -9
  238. package/dist/tool/tool.entity.d.ts +23 -28
  239. package/dist/tool/tool.entity.d.ts.map +1 -1
  240. package/dist/tool/tool.entity.js +87 -101
  241. package/dist/tool/tool.enum.d.ts +3 -8
  242. package/dist/tool/tool.enum.d.ts.map +1 -1
  243. package/dist/tool/tool.enum.js +23 -31
  244. package/dist/tool/tool.event.d.ts +84 -90
  245. package/dist/tool/tool.event.d.ts.map +1 -1
  246. package/dist/tool/tool.event.js +92 -151
  247. package/dist/tool/tool.handler.d.ts +266 -269
  248. package/dist/tool/tool.handler.d.ts.map +1 -1
  249. package/dist/tool/tool.handler.js +213 -76
  250. package/dist/tool/tool.operation.d.ts +359 -365
  251. package/dist/tool/tool.operation.d.ts.map +1 -1
  252. package/dist/tool/tool.operation.js +477 -400
  253. package/dist/tool/tool.presentation.d.ts +2 -7
  254. package/dist/tool/tool.presentation.d.ts.map +1 -1
  255. package/dist/tool/tool.presentation.js +182 -61
  256. package/dist/tool/tool.schema.d.ts +196 -201
  257. package/dist/tool/tool.schema.d.ts.map +1 -1
  258. package/dist/tool/tool.schema.js +137 -231
  259. package/dist/tool/tool.test-spec.d.ts +2 -7
  260. package/dist/tool/tool.test-spec.d.ts.map +1 -1
  261. package/dist/tool/tool.test-spec.js +56 -62
  262. package/dist/ui/AgentDashboard.d.ts +1 -6
  263. package/dist/ui/AgentDashboard.d.ts.map +1 -1
  264. package/dist/ui/AgentDashboard.js +1598 -410
  265. package/dist/ui/AgentRunList.d.ts +7 -2
  266. package/dist/ui/AgentRunList.d.ts.map +1 -0
  267. package/dist/ui/AgentRunList.js +249 -3
  268. package/dist/ui/AgentToolRegistry.d.ts +7 -2
  269. package/dist/ui/AgentToolRegistry.d.ts.map +1 -0
  270. package/dist/ui/AgentToolRegistry.js +211 -3
  271. package/dist/ui/hooks/index.d.ts +8 -6
  272. package/dist/ui/hooks/index.d.ts.map +1 -0
  273. package/dist/ui/hooks/index.js +270 -6
  274. package/dist/ui/hooks/useAgentList.d.ts +21 -25
  275. package/dist/ui/hooks/useAgentList.d.ts.map +1 -1
  276. package/dist/ui/hooks/useAgentList.js +52 -62
  277. package/dist/ui/hooks/useAgentMutations.d.ts +22 -25
  278. package/dist/ui/hooks/useAgentMutations.d.ts.map +1 -1
  279. package/dist/ui/hooks/useAgentMutations.js +73 -120
  280. package/dist/ui/hooks/useRunList.d.ts +17 -21
  281. package/dist/ui/hooks/useRunList.d.ts.map +1 -1
  282. package/dist/ui/hooks/useRunList.js +52 -62
  283. package/dist/ui/hooks/useToolList.d.ts +32 -36
  284. package/dist/ui/hooks/useToolList.d.ts.map +1 -1
  285. package/dist/ui/hooks/useToolList.js +82 -92
  286. package/dist/ui/index.d.ts +9 -24
  287. package/dist/ui/index.d.ts.map +1 -0
  288. package/dist/ui/index.js +2081 -24
  289. package/dist/ui/modals/AgentActionsModal.d.ts +11 -24
  290. package/dist/ui/modals/AgentActionsModal.d.ts.map +1 -1
  291. package/dist/ui/modals/AgentActionsModal.js +300 -257
  292. package/dist/ui/modals/CreateAgentModal.d.ts +12 -21
  293. package/dist/ui/modals/CreateAgentModal.d.ts.map +1 -1
  294. package/dist/ui/modals/CreateAgentModal.js +226 -210
  295. package/dist/ui/modals/index.d.ts +3 -3
  296. package/dist/ui/modals/index.d.ts.map +1 -0
  297. package/dist/ui/modals/index.js +532 -3
  298. package/dist/ui/overlays/demo-overlays.d.ts +10 -9
  299. package/dist/ui/overlays/demo-overlays.d.ts.map +1 -1
  300. package/dist/ui/overlays/demo-overlays.js +63 -71
  301. package/dist/ui/overlays/index.d.ts +2 -2
  302. package/dist/ui/overlays/index.d.ts.map +1 -0
  303. package/dist/ui/overlays/index.js +65 -3
  304. package/dist/ui/renderers/agent-list.markdown.d.ts +9 -9
  305. package/dist/ui/renderers/agent-list.markdown.d.ts.map +1 -1
  306. package/dist/ui/renderers/agent-list.markdown.js +55 -50
  307. package/dist/ui/renderers/agent-list.renderer.d.ts +5 -7
  308. package/dist/ui/renderers/agent-list.renderer.d.ts.map +1 -1
  309. package/dist/ui/renderers/agent-list.renderer.js +179 -17
  310. package/dist/ui/renderers/dashboard.markdown.d.ts +9 -9
  311. package/dist/ui/renderers/dashboard.markdown.d.ts.map +1 -1
  312. package/dist/ui/renderers/dashboard.markdown.js +115 -97
  313. package/dist/ui/renderers/index.d.ts +9 -6
  314. package/dist/ui/renderers/index.d.ts.map +1 -0
  315. package/dist/ui/renderers/index.js +446 -6
  316. package/dist/ui/renderers/run-list.markdown.d.ts +9 -9
  317. package/dist/ui/renderers/run-list.markdown.d.ts.map +1 -1
  318. package/dist/ui/renderers/run-list.markdown.js +42 -40
  319. package/dist/ui/renderers/tool-registry.markdown.d.ts +9 -9
  320. package/dist/ui/renderers/tool-registry.markdown.d.ts.map +1 -1
  321. package/dist/ui/renderers/tool-registry.markdown.js +52 -53
  322. package/dist/ui/views/AgentListView.d.ts +1 -6
  323. package/dist/ui/views/AgentListView.d.ts.map +1 -1
  324. package/dist/ui/views/AgentListView.js +161 -88
  325. package/dist/ui/views/RunListView.d.ts +4 -11
  326. package/dist/ui/views/RunListView.d.ts.map +1 -1
  327. package/dist/ui/views/RunListView.js +237 -154
  328. package/dist/ui/views/ToolRegistryView.d.ts +4 -11
  329. package/dist/ui/views/ToolRegistryView.d.ts.map +1 -1
  330. package/dist/ui/views/ToolRegistryView.js +205 -92
  331. package/dist/ui/views/index.d.ts +7 -4
  332. package/dist/ui/views/index.d.ts.map +1 -0
  333. package/dist/ui/views/index.js +619 -4
  334. package/package.json +657 -119
  335. package/tsdown.config.js +1 -2
  336. package/.turbo/turbo-build$colon$bundle.log +0 -280
  337. package/dist/agent/agent.entity.js.map +0 -1
  338. package/dist/agent/agent.enum.js.map +0 -1
  339. package/dist/agent/agent.event.js.map +0 -1
  340. package/dist/agent/agent.handler.js.map +0 -1
  341. package/dist/agent/agent.operation.js.map +0 -1
  342. package/dist/agent/agent.presentation.js.map +0 -1
  343. package/dist/agent/agent.schema.js.map +0 -1
  344. package/dist/agent/agent.test-spec.js.map +0 -1
  345. package/dist/agent.capability.js.map +0 -1
  346. package/dist/agent.feature.js.map +0 -1
  347. package/dist/docs/agent-console.docblock.js.map +0 -1
  348. package/dist/example.js.map +0 -1
  349. package/dist/handlers/agent.handlers.js.map +0 -1
  350. package/dist/run/run.entity.js.map +0 -1
  351. package/dist/run/run.enum.js.map +0 -1
  352. package/dist/run/run.event.js.map +0 -1
  353. package/dist/run/run.handler.js.map +0 -1
  354. package/dist/run/run.operation.js.map +0 -1
  355. package/dist/run/run.presentation.js.map +0 -1
  356. package/dist/run/run.schema.js.map +0 -1
  357. package/dist/run/run.test-spec.js.map +0 -1
  358. package/dist/seeders/index.js.map +0 -1
  359. package/dist/shared/mock-agents.js.map +0 -1
  360. package/dist/shared/mock-runs.js.map +0 -1
  361. package/dist/shared/mock-tools.js.map +0 -1
  362. package/dist/tool/tool.entity.js.map +0 -1
  363. package/dist/tool/tool.enum.js.map +0 -1
  364. package/dist/tool/tool.event.js.map +0 -1
  365. package/dist/tool/tool.handler.js.map +0 -1
  366. package/dist/tool/tool.operation.js.map +0 -1
  367. package/dist/tool/tool.presentation.js.map +0 -1
  368. package/dist/tool/tool.schema.js.map +0 -1
  369. package/dist/tool/tool.test-spec.js.map +0 -1
  370. package/dist/ui/AgentDashboard.js.map +0 -1
  371. package/dist/ui/hooks/useAgentList.js.map +0 -1
  372. package/dist/ui/hooks/useAgentMutations.js.map +0 -1
  373. package/dist/ui/hooks/useRunList.js.map +0 -1
  374. package/dist/ui/hooks/useToolList.js.map +0 -1
  375. package/dist/ui/modals/AgentActionsModal.js.map +0 -1
  376. package/dist/ui/modals/CreateAgentModal.js.map +0 -1
  377. package/dist/ui/overlays/demo-overlays.js.map +0 -1
  378. package/dist/ui/renderers/agent-list.markdown.js.map +0 -1
  379. package/dist/ui/renderers/agent-list.renderer.js.map +0 -1
  380. package/dist/ui/renderers/dashboard.markdown.js.map +0 -1
  381. package/dist/ui/renderers/run-list.markdown.js.map +0 -1
  382. package/dist/ui/renderers/tool-registry.markdown.js.map +0 -1
  383. package/dist/ui/views/AgentListView.js.map +0 -1
  384. package/dist/ui/views/RunListView.js.map +0 -1
  385. package/dist/ui/views/ToolRegistryView.js.map +0 -1
  386. package/tsconfig.tsbuildinfo +0 -1
@@ -0,0 +1,482 @@
1
+ // src/tool/tool.enum.ts
2
+ import { defineEnum } from "@contractspec/lib.schema";
3
+ var ToolCategoryEnum = defineEnum("ToolCategory", [
4
+ "RETRIEVAL",
5
+ "COMPUTATION",
6
+ "COMMUNICATION",
7
+ "INTEGRATION",
8
+ "UTILITY",
9
+ "CUSTOM"
10
+ ]);
11
+ var ToolStatusEnum = defineEnum("ToolStatus", [
12
+ "DRAFT",
13
+ "ACTIVE",
14
+ "DEPRECATED",
15
+ "DISABLED"
16
+ ]);
17
+ var ImplementationTypeEnum = defineEnum("ImplementationType", [
18
+ "http",
19
+ "function",
20
+ "workflow"
21
+ ]);
22
+
23
+ // src/tool/tool.schema.ts
24
+ import { defineSchemaModel, ScalarTypeEnum } from "@contractspec/lib.schema";
25
+ var ToolModel = defineSchemaModel({
26
+ name: "Tool",
27
+ description: "AI tool definition",
28
+ fields: {
29
+ id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
30
+ organizationId: {
31
+ type: ScalarTypeEnum.String_unsecure(),
32
+ isOptional: false
33
+ },
34
+ name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
35
+ slug: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
36
+ description: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
37
+ category: { type: ToolCategoryEnum, isOptional: false },
38
+ status: { type: ToolStatusEnum, isOptional: false },
39
+ parametersSchema: { type: ScalarTypeEnum.JSONObject(), isOptional: false },
40
+ outputSchema: { type: ScalarTypeEnum.JSONObject(), isOptional: true },
41
+ implementationType: { type: ImplementationTypeEnum, isOptional: false },
42
+ implementationConfig: {
43
+ type: ScalarTypeEnum.JSONObject(),
44
+ isOptional: false
45
+ },
46
+ maxInvocationsPerMinute: {
47
+ type: ScalarTypeEnum.Int_unsecure(),
48
+ isOptional: true
49
+ },
50
+ timeoutMs: {
51
+ type: ScalarTypeEnum.Int_unsecure(),
52
+ isOptional: false,
53
+ defaultValue: 30000
54
+ },
55
+ version: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
56
+ tags: {
57
+ type: ScalarTypeEnum.String_unsecure(),
58
+ isArray: true,
59
+ isOptional: true
60
+ },
61
+ createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },
62
+ updatedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false }
63
+ }
64
+ });
65
+ var ToolSummaryModel = defineSchemaModel({
66
+ name: "ToolSummary",
67
+ description: "Summary of a tool for list views",
68
+ fields: {
69
+ id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
70
+ name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
71
+ slug: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
72
+ description: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
73
+ category: { type: ToolCategoryEnum, isOptional: false },
74
+ status: { type: ToolStatusEnum, isOptional: false },
75
+ version: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
76
+ createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false }
77
+ }
78
+ });
79
+ var CreateToolInputModel = defineSchemaModel({
80
+ name: "CreateToolInput",
81
+ description: "Input for creating a tool",
82
+ fields: {
83
+ organizationId: {
84
+ type: ScalarTypeEnum.String_unsecure(),
85
+ isOptional: false
86
+ },
87
+ name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
88
+ slug: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
89
+ description: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
90
+ category: { type: ToolCategoryEnum, isOptional: true },
91
+ parametersSchema: { type: ScalarTypeEnum.JSONObject(), isOptional: false },
92
+ outputSchema: { type: ScalarTypeEnum.JSONObject(), isOptional: true },
93
+ implementationType: { type: ImplementationTypeEnum, isOptional: false },
94
+ implementationConfig: {
95
+ type: ScalarTypeEnum.JSONObject(),
96
+ isOptional: false
97
+ },
98
+ maxInvocationsPerMinute: {
99
+ type: ScalarTypeEnum.Int_unsecure(),
100
+ isOptional: true
101
+ },
102
+ timeoutMs: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
103
+ tags: {
104
+ type: ScalarTypeEnum.String_unsecure(),
105
+ isArray: true,
106
+ isOptional: true
107
+ }
108
+ }
109
+ });
110
+ var UpdateToolInputModel = defineSchemaModel({
111
+ name: "UpdateToolInput",
112
+ description: "Input for updating a tool",
113
+ fields: {
114
+ toolId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
115
+ name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: true },
116
+ description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
117
+ status: { type: ToolStatusEnum, isOptional: true },
118
+ parametersSchema: { type: ScalarTypeEnum.JSONObject(), isOptional: true },
119
+ outputSchema: { type: ScalarTypeEnum.JSONObject(), isOptional: true },
120
+ implementationConfig: {
121
+ type: ScalarTypeEnum.JSONObject(),
122
+ isOptional: true
123
+ },
124
+ maxInvocationsPerMinute: {
125
+ type: ScalarTypeEnum.Int_unsecure(),
126
+ isOptional: true
127
+ },
128
+ timeoutMs: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
129
+ tags: {
130
+ type: ScalarTypeEnum.String_unsecure(),
131
+ isArray: true,
132
+ isOptional: true
133
+ }
134
+ }
135
+ });
136
+
137
+ // src/tool/tool.operation.ts
138
+ import {
139
+ defineCommand,
140
+ defineQuery
141
+ } from "@contractspec/lib.contracts/operations";
142
+ import { defineSchemaModel as defineSchemaModel2, ScalarTypeEnum as ScalarTypeEnum2 } from "@contractspec/lib.schema";
143
+ var OWNERS = ["@agent-console-team"];
144
+ var CreateToolCommand = defineCommand({
145
+ meta: {
146
+ key: "agent.tool.create",
147
+ version: "1.0.0",
148
+ stability: "stable",
149
+ owners: [...OWNERS],
150
+ tags: ["tool", "create"],
151
+ description: "Creates a new AI tool definition.",
152
+ goal: "Allow users to define new tools that agents can use.",
153
+ context: "Called from the tool builder UI when creating a new tool."
154
+ },
155
+ io: {
156
+ input: CreateToolInputModel,
157
+ output: defineSchemaModel2({
158
+ name: "CreateToolOutput",
159
+ fields: {
160
+ id: { type: ScalarTypeEnum2.String_unsecure(), isOptional: false },
161
+ name: { type: ScalarTypeEnum2.NonEmptyString(), isOptional: false },
162
+ slug: { type: ScalarTypeEnum2.String_unsecure(), isOptional: false },
163
+ status: { type: ToolStatusEnum, isOptional: false }
164
+ }
165
+ }),
166
+ errors: {
167
+ SLUG_EXISTS: {
168
+ description: "A tool with this slug already exists in the organization",
169
+ http: 409,
170
+ gqlCode: "SLUG_EXISTS",
171
+ when: "Slug is already taken"
172
+ }
173
+ }
174
+ },
175
+ policy: { auth: "user" },
176
+ sideEffects: {
177
+ emits: [
178
+ {
179
+ key: "tool.created",
180
+ version: "1.0.0",
181
+ stability: "stable",
182
+ owners: [...OWNERS],
183
+ tags: ["tool", "created"],
184
+ when: "Tool is successfully created",
185
+ payload: ToolSummaryModel
186
+ }
187
+ ],
188
+ audit: ["tool.created"]
189
+ },
190
+ acceptance: {
191
+ scenarios: [
192
+ {
193
+ key: "create-tool-happy-path",
194
+ given: ["User is authenticated", "Organization exists"],
195
+ when: ["User submits valid tool configuration"],
196
+ then: ["New tool is created", "ToolCreated event is emitted"]
197
+ },
198
+ {
199
+ key: "create-tool-slug-conflict",
200
+ given: ["Tool with same slug exists"],
201
+ when: ["User submits tool with duplicate slug"],
202
+ then: ["SLUG_EXISTS error is returned"]
203
+ }
204
+ ],
205
+ examples: [
206
+ {
207
+ key: "create-api-tool",
208
+ input: {
209
+ name: "Weather API",
210
+ slug: "weather-api",
211
+ category: "api",
212
+ description: "Fetches weather data"
213
+ },
214
+ output: {
215
+ id: "tool-123",
216
+ name: "Weather API",
217
+ slug: "weather-api",
218
+ status: "draft"
219
+ }
220
+ }
221
+ ]
222
+ }
223
+ });
224
+ var UpdateToolCommand = defineCommand({
225
+ meta: {
226
+ key: "agent.tool.update",
227
+ version: "1.0.0",
228
+ stability: "stable",
229
+ owners: [...OWNERS],
230
+ tags: ["tool", "update"],
231
+ description: "Updates an existing AI tool definition.",
232
+ goal: "Allow users to modify tool settings and configuration.",
233
+ context: "Called from the tool settings UI."
234
+ },
235
+ io: {
236
+ input: UpdateToolInputModel,
237
+ output: defineSchemaModel2({
238
+ name: "UpdateToolOutput",
239
+ fields: {
240
+ id: { type: ScalarTypeEnum2.String_unsecure(), isOptional: false },
241
+ name: { type: ScalarTypeEnum2.NonEmptyString(), isOptional: false },
242
+ status: { type: ToolStatusEnum, isOptional: false },
243
+ updatedAt: { type: ScalarTypeEnum2.DateTime(), isOptional: false }
244
+ }
245
+ }),
246
+ errors: {
247
+ TOOL_NOT_FOUND: {
248
+ description: "The specified tool does not exist",
249
+ http: 404,
250
+ gqlCode: "TOOL_NOT_FOUND",
251
+ when: "Tool ID is invalid"
252
+ }
253
+ }
254
+ },
255
+ policy: { auth: "user" },
256
+ sideEffects: {
257
+ emits: [
258
+ {
259
+ key: "tool.updated",
260
+ version: "1.0.0",
261
+ stability: "stable",
262
+ owners: [...OWNERS],
263
+ tags: ["tool", "updated"],
264
+ when: "Tool is updated",
265
+ payload: ToolSummaryModel
266
+ }
267
+ ],
268
+ audit: ["tool.updated"]
269
+ },
270
+ acceptance: {
271
+ scenarios: [
272
+ {
273
+ key: "update-tool-happy-path",
274
+ given: ["Tool exists", "User owns the tool"],
275
+ when: ["User submits updated configuration"],
276
+ then: ["Tool is updated", "ToolUpdated event is emitted"]
277
+ }
278
+ ],
279
+ examples: [
280
+ {
281
+ key: "update-description",
282
+ input: { toolId: "tool-123", description: "Updated weather API tool" },
283
+ output: {
284
+ id: "tool-123",
285
+ name: "Weather API",
286
+ status: "draft",
287
+ updatedAt: "2025-01-01T00:00:00Z"
288
+ }
289
+ }
290
+ ]
291
+ }
292
+ });
293
+ var GetToolQuery = defineQuery({
294
+ meta: {
295
+ key: "agent.tool.get",
296
+ version: "1.0.0",
297
+ stability: "stable",
298
+ owners: [...OWNERS],
299
+ tags: ["tool", "get"],
300
+ description: "Retrieves a tool by its ID.",
301
+ goal: "View detailed tool configuration.",
302
+ context: "Called when viewing tool details or editing."
303
+ },
304
+ io: {
305
+ input: defineSchemaModel2({
306
+ name: "GetToolInput",
307
+ fields: {
308
+ toolId: { type: ScalarTypeEnum2.String_unsecure(), isOptional: false }
309
+ }
310
+ }),
311
+ output: ToolModel,
312
+ errors: {
313
+ TOOL_NOT_FOUND: {
314
+ description: "The specified tool does not exist",
315
+ http: 404,
316
+ gqlCode: "TOOL_NOT_FOUND",
317
+ when: "Tool ID is invalid"
318
+ }
319
+ }
320
+ },
321
+ policy: { auth: "user" },
322
+ acceptance: {
323
+ scenarios: [
324
+ {
325
+ key: "get-tool-happy-path",
326
+ given: ["Tool exists"],
327
+ when: ["User requests tool by ID"],
328
+ then: ["Tool details are returned"]
329
+ }
330
+ ],
331
+ examples: [
332
+ {
333
+ key: "get-basic",
334
+ input: { toolId: "tool-123" },
335
+ output: {
336
+ id: "tool-123",
337
+ name: "Weather API",
338
+ status: "active",
339
+ category: "api"
340
+ }
341
+ }
342
+ ]
343
+ }
344
+ });
345
+ var ListToolsQuery = defineQuery({
346
+ meta: {
347
+ key: "agent.tool.list",
348
+ version: "1.0.0",
349
+ stability: "stable",
350
+ owners: [...OWNERS],
351
+ tags: ["tool", "list"],
352
+ description: "Lists tools for an organization with optional filtering.",
353
+ goal: "Browse and search available tools.",
354
+ context: "Tool list/dashboard view."
355
+ },
356
+ io: {
357
+ input: defineSchemaModel2({
358
+ name: "ListToolsInput",
359
+ fields: {
360
+ organizationId: {
361
+ type: ScalarTypeEnum2.String_unsecure(),
362
+ isOptional: false
363
+ },
364
+ category: { type: ToolCategoryEnum, isOptional: true },
365
+ status: { type: ToolStatusEnum, isOptional: true },
366
+ search: { type: ScalarTypeEnum2.String_unsecure(), isOptional: true },
367
+ limit: {
368
+ type: ScalarTypeEnum2.Int_unsecure(),
369
+ isOptional: true,
370
+ defaultValue: 20
371
+ },
372
+ offset: {
373
+ type: ScalarTypeEnum2.Int_unsecure(),
374
+ isOptional: true,
375
+ defaultValue: 0
376
+ }
377
+ }
378
+ }),
379
+ output: defineSchemaModel2({
380
+ name: "ListToolsOutput",
381
+ fields: {
382
+ items: { type: ToolSummaryModel, isArray: true, isOptional: false },
383
+ total: { type: ScalarTypeEnum2.Int_unsecure(), isOptional: false },
384
+ hasMore: { type: ScalarTypeEnum2.Boolean(), isOptional: false }
385
+ }
386
+ })
387
+ },
388
+ policy: { auth: "user" },
389
+ acceptance: {
390
+ scenarios: [
391
+ {
392
+ key: "list-tools-happy-path",
393
+ given: ["Organization has tools"],
394
+ when: ["User lists tools"],
395
+ then: ["Paginated list of tools is returned"]
396
+ }
397
+ ],
398
+ examples: [
399
+ {
400
+ key: "list-by-category",
401
+ input: { organizationId: "org-123", category: "api", limit: 10 },
402
+ output: { items: [], total: 0, hasMore: false }
403
+ }
404
+ ]
405
+ }
406
+ });
407
+ var TestToolCommand = defineCommand({
408
+ meta: {
409
+ key: "agent.tool.test",
410
+ version: "1.0.0",
411
+ stability: "stable",
412
+ owners: [...OWNERS],
413
+ tags: ["tool", "test"],
414
+ description: "Tests a tool with sample input to verify it works correctly.",
415
+ goal: "Validate tool configuration before deployment.",
416
+ context: "Tool builder UI - test panel."
417
+ },
418
+ io: {
419
+ input: defineSchemaModel2({
420
+ name: "TestToolInput",
421
+ fields: {
422
+ toolId: { type: ScalarTypeEnum2.String_unsecure(), isOptional: false },
423
+ testInput: { type: ScalarTypeEnum2.JSONObject(), isOptional: false }
424
+ }
425
+ }),
426
+ output: defineSchemaModel2({
427
+ name: "TestToolOutput",
428
+ fields: {
429
+ success: { type: ScalarTypeEnum2.Boolean(), isOptional: false },
430
+ output: { type: ScalarTypeEnum2.JSONObject(), isOptional: true },
431
+ error: { type: ScalarTypeEnum2.String_unsecure(), isOptional: true },
432
+ durationMs: { type: ScalarTypeEnum2.Int_unsecure(), isOptional: false }
433
+ }
434
+ }),
435
+ errors: {
436
+ TOOL_NOT_FOUND: {
437
+ description: "The specified tool does not exist",
438
+ http: 404,
439
+ gqlCode: "TOOL_NOT_FOUND",
440
+ when: "Tool ID is invalid"
441
+ },
442
+ TOOL_EXECUTION_ERROR: {
443
+ description: "Tool execution failed",
444
+ http: 500,
445
+ gqlCode: "TOOL_EXECUTION_ERROR",
446
+ when: "Tool returns an error"
447
+ }
448
+ }
449
+ },
450
+ policy: { auth: "user" },
451
+ sideEffects: { audit: ["tool.tested"] },
452
+ acceptance: {
453
+ scenarios: [
454
+ {
455
+ key: "test-tool-success",
456
+ given: ["Tool exists", "Tool is configured correctly"],
457
+ when: ["User runs test with valid input"],
458
+ then: ["Tool executes successfully", "Output is returned"]
459
+ },
460
+ {
461
+ key: "test-tool-failure",
462
+ given: ["Tool exists", "Tool has configuration error"],
463
+ when: ["User runs test"],
464
+ then: ["TOOL_EXECUTION_ERROR is returned"]
465
+ }
466
+ ],
467
+ examples: [
468
+ {
469
+ key: "test-weather-api",
470
+ input: { toolId: "tool-123", testInput: { city: "Paris" } },
471
+ output: { success: true, output: { temperature: 22 }, durationMs: 150 }
472
+ }
473
+ ]
474
+ }
475
+ });
476
+ export {
477
+ UpdateToolCommand,
478
+ TestToolCommand,
479
+ ListToolsQuery,
480
+ GetToolQuery,
481
+ CreateToolCommand
482
+ };
@@ -0,0 +1,185 @@
1
+ // src/tool/tool.enum.ts
2
+ import { defineEnum } from "@contractspec/lib.schema";
3
+ var ToolCategoryEnum = defineEnum("ToolCategory", [
4
+ "RETRIEVAL",
5
+ "COMPUTATION",
6
+ "COMMUNICATION",
7
+ "INTEGRATION",
8
+ "UTILITY",
9
+ "CUSTOM"
10
+ ]);
11
+ var ToolStatusEnum = defineEnum("ToolStatus", [
12
+ "DRAFT",
13
+ "ACTIVE",
14
+ "DEPRECATED",
15
+ "DISABLED"
16
+ ]);
17
+ var ImplementationTypeEnum = defineEnum("ImplementationType", [
18
+ "http",
19
+ "function",
20
+ "workflow"
21
+ ]);
22
+
23
+ // src/tool/tool.schema.ts
24
+ import { defineSchemaModel, ScalarTypeEnum } from "@contractspec/lib.schema";
25
+ var ToolModel = defineSchemaModel({
26
+ name: "Tool",
27
+ description: "AI tool definition",
28
+ fields: {
29
+ id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
30
+ organizationId: {
31
+ type: ScalarTypeEnum.String_unsecure(),
32
+ isOptional: false
33
+ },
34
+ name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
35
+ slug: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
36
+ description: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
37
+ category: { type: ToolCategoryEnum, isOptional: false },
38
+ status: { type: ToolStatusEnum, isOptional: false },
39
+ parametersSchema: { type: ScalarTypeEnum.JSONObject(), isOptional: false },
40
+ outputSchema: { type: ScalarTypeEnum.JSONObject(), isOptional: true },
41
+ implementationType: { type: ImplementationTypeEnum, isOptional: false },
42
+ implementationConfig: {
43
+ type: ScalarTypeEnum.JSONObject(),
44
+ isOptional: false
45
+ },
46
+ maxInvocationsPerMinute: {
47
+ type: ScalarTypeEnum.Int_unsecure(),
48
+ isOptional: true
49
+ },
50
+ timeoutMs: {
51
+ type: ScalarTypeEnum.Int_unsecure(),
52
+ isOptional: false,
53
+ defaultValue: 30000
54
+ },
55
+ version: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
56
+ tags: {
57
+ type: ScalarTypeEnum.String_unsecure(),
58
+ isArray: true,
59
+ isOptional: true
60
+ },
61
+ createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },
62
+ updatedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false }
63
+ }
64
+ });
65
+ var ToolSummaryModel = defineSchemaModel({
66
+ name: "ToolSummary",
67
+ description: "Summary of a tool for list views",
68
+ fields: {
69
+ id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
70
+ name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
71
+ slug: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
72
+ description: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
73
+ category: { type: ToolCategoryEnum, isOptional: false },
74
+ status: { type: ToolStatusEnum, isOptional: false },
75
+ version: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
76
+ createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false }
77
+ }
78
+ });
79
+ var CreateToolInputModel = defineSchemaModel({
80
+ name: "CreateToolInput",
81
+ description: "Input for creating a tool",
82
+ fields: {
83
+ organizationId: {
84
+ type: ScalarTypeEnum.String_unsecure(),
85
+ isOptional: false
86
+ },
87
+ name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
88
+ slug: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
89
+ description: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
90
+ category: { type: ToolCategoryEnum, isOptional: true },
91
+ parametersSchema: { type: ScalarTypeEnum.JSONObject(), isOptional: false },
92
+ outputSchema: { type: ScalarTypeEnum.JSONObject(), isOptional: true },
93
+ implementationType: { type: ImplementationTypeEnum, isOptional: false },
94
+ implementationConfig: {
95
+ type: ScalarTypeEnum.JSONObject(),
96
+ isOptional: false
97
+ },
98
+ maxInvocationsPerMinute: {
99
+ type: ScalarTypeEnum.Int_unsecure(),
100
+ isOptional: true
101
+ },
102
+ timeoutMs: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
103
+ tags: {
104
+ type: ScalarTypeEnum.String_unsecure(),
105
+ isArray: true,
106
+ isOptional: true
107
+ }
108
+ }
109
+ });
110
+ var UpdateToolInputModel = defineSchemaModel({
111
+ name: "UpdateToolInput",
112
+ description: "Input for updating a tool",
113
+ fields: {
114
+ toolId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
115
+ name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: true },
116
+ description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
117
+ status: { type: ToolStatusEnum, isOptional: true },
118
+ parametersSchema: { type: ScalarTypeEnum.JSONObject(), isOptional: true },
119
+ outputSchema: { type: ScalarTypeEnum.JSONObject(), isOptional: true },
120
+ implementationConfig: {
121
+ type: ScalarTypeEnum.JSONObject(),
122
+ isOptional: true
123
+ },
124
+ maxInvocationsPerMinute: {
125
+ type: ScalarTypeEnum.Int_unsecure(),
126
+ isOptional: true
127
+ },
128
+ timeoutMs: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },
129
+ tags: {
130
+ type: ScalarTypeEnum.String_unsecure(),
131
+ isArray: true,
132
+ isOptional: true
133
+ }
134
+ }
135
+ });
136
+
137
+ // src/tool/tool.presentation.ts
138
+ import { StabilityEnum, definePresentation } from "@contractspec/lib.contracts";
139
+ var ToolListPresentation = definePresentation({
140
+ meta: {
141
+ key: "agent-console.tool.list",
142
+ version: "1.0.0",
143
+ title: "Tool List",
144
+ description: "List view of AI tools with category, status, and version info",
145
+ goal: "Provide an overview of all available tools for agents.",
146
+ context: "Tool management dashboard.",
147
+ domain: "agent-console",
148
+ owners: ["@agent-console-team"],
149
+ tags: ["tool", "list", "dashboard"],
150
+ stability: StabilityEnum.Experimental
151
+ },
152
+ source: {
153
+ type: "component",
154
+ framework: "react",
155
+ componentKey: "ToolListView",
156
+ props: ToolSummaryModel
157
+ },
158
+ targets: ["react", "markdown", "application/json"],
159
+ policy: { flags: ["agent-console.enabled"] }
160
+ });
161
+ var ToolDetailPresentation = definePresentation({
162
+ meta: {
163
+ key: "agent-console.tool.detail",
164
+ version: "1.0.0",
165
+ title: "Tool Details",
166
+ description: "Detailed view of an AI tool with configuration and test panel",
167
+ goal: "Allow users to inspect and test a specific tool.",
168
+ context: "Detailed view of a tool.",
169
+ domain: "agent-console",
170
+ owners: ["@agent-console-team"],
171
+ tags: ["tool", "detail"],
172
+ stability: StabilityEnum.Experimental
173
+ },
174
+ source: {
175
+ type: "component",
176
+ framework: "react",
177
+ componentKey: "ToolDetailView"
178
+ },
179
+ targets: ["react", "markdown"],
180
+ policy: { flags: ["agent-console.enabled"] }
181
+ });
182
+ export {
183
+ ToolListPresentation,
184
+ ToolDetailPresentation
185
+ };