@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
@@ -1,73 +1,65 @@
1
- //#region src/ui/overlays/demo-overlays.ts
2
- /**
3
- * Demo user overlay - hides advanced configuration options
4
- */
5
- const agentConsoleDemoOverlay = {
6
- overlayId: "agent-console.demo-user",
7
- version: "1.0.0",
8
- description: "Simplifies agent console for demo users",
9
- appliesTo: {
10
- feature: "agent-console",
11
- role: "demo"
12
- },
13
- modifications: [
14
- {
15
- type: "hideField",
16
- field: "modelConfig",
17
- reason: "Advanced config not relevant for demo"
18
- },
19
- {
20
- type: "hideField",
21
- field: "webhookConfig",
22
- reason: "Integration not available in demo"
23
- },
24
- {
25
- type: "renameLabel",
26
- field: "systemPrompt",
27
- newLabel: "Agent Instructions"
28
- },
29
- {
30
- type: "addBadge",
31
- position: "header",
32
- label: "Demo Mode",
33
- variant: "warning"
34
- }
35
- ]
1
+ // @bun
2
+ // src/ui/overlays/demo-overlays.ts
3
+ var agentConsoleDemoOverlay = {
4
+ overlayId: "agent-console.demo-user",
5
+ version: "1.0.0",
6
+ description: "Simplifies agent console for demo users",
7
+ appliesTo: {
8
+ feature: "agent-console",
9
+ role: "demo"
10
+ },
11
+ modifications: [
12
+ {
13
+ type: "hideField",
14
+ field: "modelConfig",
15
+ reason: "Advanced config not relevant for demo"
16
+ },
17
+ {
18
+ type: "hideField",
19
+ field: "webhookConfig",
20
+ reason: "Integration not available in demo"
21
+ },
22
+ {
23
+ type: "renameLabel",
24
+ field: "systemPrompt",
25
+ newLabel: "Agent Instructions"
26
+ },
27
+ {
28
+ type: "addBadge",
29
+ position: "header",
30
+ label: "Demo Mode",
31
+ variant: "warning"
32
+ }
33
+ ]
36
34
  };
37
- /**
38
- * Read-only overlay - for viewing without edit permissions
39
- */
40
- const agentConsoleReadOnlyOverlay = {
41
- overlayId: "agent-console.read-only",
42
- version: "1.0.0",
43
- description: "Read-only view for non-admin users",
44
- appliesTo: {
45
- feature: "agent-console",
46
- role: "viewer"
47
- },
48
- modifications: [
49
- {
50
- type: "hideField",
51
- field: "deleteButton",
52
- reason: "No delete permission"
53
- },
54
- {
55
- type: "hideField",
56
- field: "editButton",
57
- reason: "No edit permission"
58
- },
59
- {
60
- type: "hideField",
61
- field: "createButton",
62
- reason: "No create permission"
63
- }
64
- ]
35
+ var agentConsoleReadOnlyOverlay = {
36
+ overlayId: "agent-console.read-only",
37
+ version: "1.0.0",
38
+ description: "Read-only view for non-admin users",
39
+ appliesTo: {
40
+ feature: "agent-console",
41
+ role: "viewer"
42
+ },
43
+ modifications: [
44
+ {
45
+ type: "hideField",
46
+ field: "deleteButton",
47
+ reason: "No delete permission"
48
+ },
49
+ { type: "hideField", field: "editButton", reason: "No edit permission" },
50
+ {
51
+ type: "hideField",
52
+ field: "createButton",
53
+ reason: "No create permission"
54
+ }
55
+ ]
56
+ };
57
+ var agentConsoleOverlays = [
58
+ agentConsoleDemoOverlay,
59
+ agentConsoleReadOnlyOverlay
60
+ ];
61
+ export {
62
+ agentConsoleReadOnlyOverlay,
63
+ agentConsoleOverlays,
64
+ agentConsoleDemoOverlay
65
65
  };
66
- /**
67
- * All overlays for agent-console
68
- */
69
- const agentConsoleOverlays = [agentConsoleDemoOverlay, agentConsoleReadOnlyOverlay];
70
-
71
- //#endregion
72
- export { agentConsoleDemoOverlay, agentConsoleOverlays, agentConsoleReadOnlyOverlay };
73
- //# sourceMappingURL=demo-overlays.js.map
@@ -1,2 +1,2 @@
1
- import { agentConsoleDemoOverlay, agentConsoleOverlays, agentConsoleReadOnlyOverlay } from "./demo-overlays.js";
2
- export { agentConsoleDemoOverlay, agentConsoleOverlays, agentConsoleReadOnlyOverlay };
1
+ export * from './demo-overlays';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/overlays/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
@@ -1,3 +1,65 @@
1
- import { agentConsoleDemoOverlay, agentConsoleOverlays, agentConsoleReadOnlyOverlay } from "./demo-overlays.js";
2
-
3
- export { agentConsoleDemoOverlay, agentConsoleOverlays, agentConsoleReadOnlyOverlay };
1
+ // @bun
2
+ // src/ui/overlays/demo-overlays.ts
3
+ var agentConsoleDemoOverlay = {
4
+ overlayId: "agent-console.demo-user",
5
+ version: "1.0.0",
6
+ description: "Simplifies agent console for demo users",
7
+ appliesTo: {
8
+ feature: "agent-console",
9
+ role: "demo"
10
+ },
11
+ modifications: [
12
+ {
13
+ type: "hideField",
14
+ field: "modelConfig",
15
+ reason: "Advanced config not relevant for demo"
16
+ },
17
+ {
18
+ type: "hideField",
19
+ field: "webhookConfig",
20
+ reason: "Integration not available in demo"
21
+ },
22
+ {
23
+ type: "renameLabel",
24
+ field: "systemPrompt",
25
+ newLabel: "Agent Instructions"
26
+ },
27
+ {
28
+ type: "addBadge",
29
+ position: "header",
30
+ label: "Demo Mode",
31
+ variant: "warning"
32
+ }
33
+ ]
34
+ };
35
+ var agentConsoleReadOnlyOverlay = {
36
+ overlayId: "agent-console.read-only",
37
+ version: "1.0.0",
38
+ description: "Read-only view for non-admin users",
39
+ appliesTo: {
40
+ feature: "agent-console",
41
+ role: "viewer"
42
+ },
43
+ modifications: [
44
+ {
45
+ type: "hideField",
46
+ field: "deleteButton",
47
+ reason: "No delete permission"
48
+ },
49
+ { type: "hideField", field: "editButton", reason: "No edit permission" },
50
+ {
51
+ type: "hideField",
52
+ field: "createButton",
53
+ reason: "No create permission"
54
+ }
55
+ ]
56
+ };
57
+ var agentConsoleOverlays = [
58
+ agentConsoleDemoOverlay,
59
+ agentConsoleReadOnlyOverlay
60
+ ];
61
+ export {
62
+ agentConsoleReadOnlyOverlay,
63
+ agentConsoleOverlays,
64
+ agentConsoleDemoOverlay
65
+ };
@@ -1,15 +1,15 @@
1
- import { PresentationRenderer } from "@contractspec/lib.contracts";
2
-
3
- //#region src/ui/renderers/agent-list.markdown.d.ts
4
-
1
+ /**
2
+ * Markdown Renderer for Agent List Presentation
3
+ *
4
+ * Uses handlers from the agent-console example package.
5
+ */
6
+ import type { PresentationRenderer } from '@contractspec/lib.contracts';
5
7
  /**
6
8
  * Markdown renderer for agent-console.agent.list presentation
7
9
  * Only handles AgentListView component
8
10
  */
9
- declare const agentListMarkdownRenderer: PresentationRenderer<{
10
- mimeType: string;
11
- body: string;
11
+ export declare const agentListMarkdownRenderer: PresentationRenderer<{
12
+ mimeType: string;
13
+ body: string;
12
14
  }>;
13
- //#endregion
14
- export { agentListMarkdownRenderer };
15
15
  //# sourceMappingURL=agent-list.markdown.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-list.markdown.d.ts","names":[],"sources":["../../../src/ui/renderers/agent-list.markdown.ts"],"sourcesContent":[],"mappings":";;;;;;;;cAoBa,2BAA2B"}
1
+ {"version":3,"file":"agent-list.markdown.d.ts","sourceRoot":"","sources":["../../../src/ui/renderers/agent-list.markdown.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EACV,oBAAoB,EAErB,MAAM,6BAA6B,CAAC;AAQrC;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,oBAAoB,CAAC;IAC3D,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CA4DA,CAAC"}
@@ -1,51 +1,56 @@
1
- import { mockListAgentsHandler } from "@contractspec/example.agent-console/handlers";
2
-
3
- //#region src/ui/renderers/agent-list.markdown.ts
4
- /**
5
- * Markdown renderer for agent-console.agent.list presentation
6
- * Only handles AgentListView component
7
- */
8
- const agentListMarkdownRenderer = {
9
- target: "markdown",
10
- render: async (desc) => {
11
- if (desc.source.type !== "component" || desc.source.componentKey !== "AgentListView") throw new Error("agentListMarkdownRenderer: not AgentListView");
12
- const data = await mockListAgentsHandler({
13
- organizationId: "demo-org",
14
- limit: 50,
15
- offset: 0
16
- });
17
- const lines = [
18
- `# ${desc.meta.description ?? "Agent List"}`,
19
- "",
20
- `> ${desc.meta.key} v${desc.meta.version}`,
21
- "",
22
- `**Total Agents:** ${data.total}`,
23
- "",
24
- "## Agents",
25
- ""
26
- ];
27
- const byStatus = {};
28
- for (const agent of data.items) {
29
- const status = agent.status;
30
- if (byStatus[status]) byStatus[status].push(agent);
31
- else byStatus[status] = [agent];
32
- }
33
- for (const [status, agents] of Object.entries(byStatus)) {
34
- lines.push(`### ${status} (${agents.length})`);
35
- lines.push("");
36
- for (const agent of agents) {
37
- lines.push(`- **${agent.name}** (${agent.modelProvider}/${agent.modelName})`);
38
- if (agent.description) lines.push(` > ${agent.description}`);
39
- }
40
- lines.push("");
41
- }
42
- return {
43
- mimeType: "text/markdown",
44
- body: lines.join("\n")
45
- };
46
- }
1
+ // @bun
2
+ // src/ui/renderers/agent-list.markdown.ts
3
+ import {
4
+ mockListAgentsHandler
5
+ } from "@contractspec/example.agent-console/handlers";
6
+ var agentListMarkdownRenderer = {
7
+ target: "markdown",
8
+ render: async (desc) => {
9
+ if (desc.source.type !== "component" || desc.source.componentKey !== "AgentListView") {
10
+ throw new Error("agentListMarkdownRenderer: not AgentListView");
11
+ }
12
+ const data = await mockListAgentsHandler({
13
+ organizationId: "demo-org",
14
+ limit: 50,
15
+ offset: 0
16
+ });
17
+ const lines = [
18
+ `# ${desc.meta.description ?? "Agent List"}`,
19
+ "",
20
+ `> ${desc.meta.key} v${desc.meta.version}`,
21
+ "",
22
+ `**Total Agents:** ${data.total}`,
23
+ "",
24
+ "## Agents",
25
+ ""
26
+ ];
27
+ const byStatus = {};
28
+ for (const agent of data.items) {
29
+ const status = agent.status;
30
+ if (byStatus[status]) {
31
+ byStatus[status].push(agent);
32
+ } else {
33
+ byStatus[status] = [agent];
34
+ }
35
+ }
36
+ for (const [status, agents] of Object.entries(byStatus)) {
37
+ lines.push(`### ${status} (${agents.length})`);
38
+ lines.push("");
39
+ for (const agent of agents) {
40
+ lines.push(`- **${agent.name}** (${agent.modelProvider}/${agent.modelName})`);
41
+ if (agent.description) {
42
+ lines.push(` > ${agent.description}`);
43
+ }
44
+ }
45
+ lines.push("");
46
+ }
47
+ return {
48
+ mimeType: "text/markdown",
49
+ body: lines.join(`
50
+ `)
51
+ };
52
+ }
53
+ };
54
+ export {
55
+ agentListMarkdownRenderer
47
56
  };
48
-
49
- //#endregion
50
- export { agentListMarkdownRenderer };
51
- //# sourceMappingURL=agent-list.markdown.js.map
@@ -1,11 +1,9 @@
1
- import { PresentationRenderer } from "@contractspec/lib.contracts";
2
-
3
- //#region src/ui/renderers/agent-list.renderer.d.ts
4
-
1
+ /**
2
+ * React Renderer for Agent List Presentation
3
+ */
4
+ import type { PresentationRenderer } from '@contractspec/lib.contracts';
5
5
  /**
6
6
  * React renderer for agent-console.agent.list presentation
7
7
  */
8
- declare const agentListReactRenderer: PresentationRenderer<React.ReactElement>;
9
- //#endregion
10
- export { agentListReactRenderer };
8
+ export declare const agentListReactRenderer: PresentationRenderer<React.ReactElement>;
11
9
  //# sourceMappingURL=agent-list.renderer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-list.renderer.d.ts","names":[],"sources":["../../../src/ui/renderers/agent-list.renderer.tsx"],"sourcesContent":[],"mappings":";;;;;;;cAYa,wBAAwB,qBAAqB,KAAA,CAAM"}
1
+ {"version":3,"file":"agent-list.renderer.d.ts","sourceRoot":"","sources":["../../../src/ui/renderers/agent-list.renderer.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EACV,oBAAoB,EAErB,MAAM,6BAA6B,CAAC;AAGrC;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,oBAAoB,CAAC,KAAK,CAAC,YAAY,CAczE,CAAC"}
@@ -1,19 +1,181 @@
1
- import { AgentListView } from "../views/AgentListView.js";
2
- import { jsx } from "react/jsx-runtime";
1
+ // @bun
2
+ // src/ui/hooks/useAgentList.ts
3
+ import { useCallback, useEffect, useMemo, useState } from "react";
4
+ import { useTemplateRuntime } from "@contractspec/lib.example-shared-ui";
5
+ function useAgentList(options = {}) {
6
+ const { handlers, projectId } = useTemplateRuntime();
7
+ const { agent } = handlers;
8
+ const [data, setData] = useState(null);
9
+ const [loading, setLoading] = useState(true);
10
+ const [error, setError] = useState(null);
11
+ const [page, setPage] = useState(1);
12
+ const fetchData = useCallback(async () => {
13
+ setLoading(true);
14
+ setError(null);
15
+ try {
16
+ const result = await agent.listAgents({
17
+ projectId,
18
+ search: options.search,
19
+ status: options.status === "all" ? undefined : options.status,
20
+ limit: options.limit ?? 20,
21
+ offset: (page - 1) * (options.limit ?? 20)
22
+ });
23
+ setData(result);
24
+ } catch (err) {
25
+ setError(err instanceof Error ? err : new Error("Unknown error"));
26
+ } finally {
27
+ setLoading(false);
28
+ }
29
+ }, [agent, projectId, options.search, options.status, options.limit, page]);
30
+ useEffect(() => {
31
+ fetchData();
32
+ }, [fetchData]);
33
+ const stats = useMemo(() => {
34
+ if (!data)
35
+ return null;
36
+ return {
37
+ total: data.total,
38
+ active: data.items.filter((a) => a.status === "ACTIVE").length,
39
+ paused: data.items.filter((a) => a.status === "PAUSED").length,
40
+ draft: data.items.filter((a) => a.status === "DRAFT").length
41
+ };
42
+ }, [data]);
43
+ return {
44
+ data,
45
+ loading,
46
+ error,
47
+ stats,
48
+ page,
49
+ refetch: fetchData,
50
+ nextPage: () => setPage((p) => p + 1),
51
+ prevPage: () => page > 1 && setPage((p) => p - 1)
52
+ };
53
+ }
3
54
 
4
- //#region src/ui/renderers/agent-list.renderer.tsx
5
- /**
6
- * React renderer for agent-console.agent.list presentation
7
- */
8
- const agentListReactRenderer = {
9
- target: "react",
10
- render: async (desc) => {
11
- if (desc.source.type !== "component") throw new Error("AgentListRenderer: expected component source");
12
- if (desc.source.componentKey !== "AgentListView") throw new Error(`AgentListRenderer: unknown component ${desc.source.componentKey}`);
13
- return /* @__PURE__ */ jsx(AgentListView, {});
14
- }
15
- };
55
+ // src/ui/views/AgentListView.tsx
56
+ import {
57
+ Button,
58
+ StatCard,
59
+ StatCardGroup,
60
+ EntityCard,
61
+ StatusChip,
62
+ LoaderBlock,
63
+ ErrorState,
64
+ EmptyState
65
+ } from "@contractspec/lib.design-system";
66
+ import { jsxDEV } from "react/jsx-dev-runtime";
67
+ "use client";
68
+ function getStatusTone(status) {
69
+ switch (status) {
70
+ case "ACTIVE":
71
+ return "success";
72
+ case "PAUSED":
73
+ case "DRAFT":
74
+ return "warning";
75
+ case "ARCHIVED":
76
+ return "neutral";
77
+ default:
78
+ return "neutral";
79
+ }
80
+ }
81
+ function AgentListView() {
82
+ const { data, loading, error, stats, refetch } = useAgentList();
83
+ if (loading && !data) {
84
+ return /* @__PURE__ */ jsxDEV(LoaderBlock, {
85
+ label: "Loading agents..."
86
+ }, undefined, false, undefined, this);
87
+ }
88
+ if (error) {
89
+ return /* @__PURE__ */ jsxDEV(ErrorState, {
90
+ title: "Failed to load agents",
91
+ description: error.message,
92
+ onRetry: refetch,
93
+ retryLabel: "Retry"
94
+ }, undefined, false, undefined, this);
95
+ }
96
+ if (!data?.items.length) {
97
+ return /* @__PURE__ */ jsxDEV(EmptyState, {
98
+ title: "No agents yet",
99
+ description: "Create your first AI agent to get started."
100
+ }, undefined, false, undefined, this);
101
+ }
102
+ return /* @__PURE__ */ jsxDEV("div", {
103
+ className: "space-y-6",
104
+ children: [
105
+ stats && /* @__PURE__ */ jsxDEV(StatCardGroup, {
106
+ children: [
107
+ /* @__PURE__ */ jsxDEV(StatCard, {
108
+ label: "Total Agents",
109
+ value: stats.total
110
+ }, undefined, false, undefined, this),
111
+ /* @__PURE__ */ jsxDEV(StatCard, {
112
+ label: "Active",
113
+ value: stats.active
114
+ }, undefined, false, undefined, this),
115
+ /* @__PURE__ */ jsxDEV(StatCard, {
116
+ label: "Paused",
117
+ value: stats.paused
118
+ }, undefined, false, undefined, this),
119
+ /* @__PURE__ */ jsxDEV(StatCard, {
120
+ label: "Draft",
121
+ value: stats.draft
122
+ }, undefined, false, undefined, this)
123
+ ]
124
+ }, undefined, true, undefined, this),
125
+ /* @__PURE__ */ jsxDEV("div", {
126
+ className: "flex items-center justify-between",
127
+ children: [
128
+ /* @__PURE__ */ jsxDEV("h3", {
129
+ className: "text-lg font-semibold",
130
+ children: "Agents"
131
+ }, undefined, false, undefined, this),
132
+ /* @__PURE__ */ jsxDEV(Button, {
133
+ onPress: () => alert("Create Agent clicked!"),
134
+ children: "Create Agent"
135
+ }, undefined, false, undefined, this)
136
+ ]
137
+ }, undefined, true, undefined, this),
138
+ /* @__PURE__ */ jsxDEV("div", {
139
+ className: "grid gap-4 sm:grid-cols-2 lg:grid-cols-3",
140
+ children: data.items.map((agent) => /* @__PURE__ */ jsxDEV(EntityCard, {
141
+ cardTitle: agent.name,
142
+ cardSubtitle: agent.modelName,
143
+ meta: /* @__PURE__ */ jsxDEV("p", {
144
+ className: "text-muted-foreground text-sm",
145
+ children: agent.description
146
+ }, undefined, false, undefined, this),
147
+ chips: /* @__PURE__ */ jsxDEV(StatusChip, {
148
+ tone: getStatusTone(agent.status),
149
+ label: agent.status
150
+ }, undefined, false, undefined, this),
151
+ footer: /* @__PURE__ */ jsxDEV("span", {
152
+ className: "text-muted-foreground text-xs",
153
+ children: [
154
+ "Created ",
155
+ agent.createdAt.toLocaleDateString()
156
+ ]
157
+ }, undefined, true, undefined, this),
158
+ onClick: () => alert(`View agent: ${agent.name}`)
159
+ }, agent.id, false, undefined, this))
160
+ }, undefined, false, undefined, this)
161
+ ]
162
+ }, undefined, true, undefined, this);
163
+ }
16
164
 
17
- //#endregion
18
- export { agentListReactRenderer };
19
- //# sourceMappingURL=agent-list.renderer.js.map
165
+ // src/ui/renderers/agent-list.renderer.tsx
166
+ import { jsxDEV as jsxDEV2 } from "react/jsx-dev-runtime";
167
+ var agentListReactRenderer = {
168
+ target: "react",
169
+ render: async (desc) => {
170
+ if (desc.source.type !== "component") {
171
+ throw new Error("AgentListRenderer: expected component source");
172
+ }
173
+ if (desc.source.componentKey !== "AgentListView") {
174
+ throw new Error(`AgentListRenderer: unknown component ${desc.source.componentKey}`);
175
+ }
176
+ return /* @__PURE__ */ jsxDEV2(AgentListView, {}, undefined, false, undefined, this);
177
+ }
178
+ };
179
+ export {
180
+ agentListReactRenderer
181
+ };
@@ -1,15 +1,15 @@
1
- import { PresentationRenderer } from "@contractspec/lib.contracts";
2
-
3
- //#region src/ui/renderers/dashboard.markdown.d.ts
4
-
1
+ /**
2
+ * Markdown Renderer for Agent Console Dashboard
3
+ *
4
+ * Provides a comprehensive overview of agents, runs, and tools.
5
+ */
6
+ import type { PresentationRenderer } from '@contractspec/lib.contracts';
5
7
  /**
6
8
  * Markdown renderer for agent-console.dashboard presentation
7
9
  * Only handles AgentConsoleDashboard component
8
10
  */
9
- declare const agentDashboardMarkdownRenderer: PresentationRenderer<{
10
- mimeType: string;
11
- body: string;
11
+ export declare const agentDashboardMarkdownRenderer: PresentationRenderer<{
12
+ mimeType: string;
13
+ body: string;
12
14
  }>;
13
- //#endregion
14
- export { agentDashboardMarkdownRenderer };
15
15
  //# sourceMappingURL=dashboard.markdown.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.markdown.d.ts","names":[],"sources":["../../../src/ui/renderers/dashboard.markdown.ts"],"sourcesContent":[],"mappings":";;;;;;;;cAyBa,gCAAgC"}
1
+ {"version":3,"file":"dashboard.markdown.d.ts","sourceRoot":"","sources":["../../../src/ui/renderers/dashboard.markdown.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAEV,oBAAoB,EACrB,MAAM,6BAA6B,CAAC;AAarC;;;GAGG;AACH,eAAO,MAAM,8BAA8B,EAAE,oBAAoB,CAAC;IAChE,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CA4IA,CAAC"}