@adonis-agora/agent 0.61.0 → 0.62.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 (610) hide show
  1. package/CHANGELOG.md +62 -0
  2. package/README.md +12 -7
  3. package/dist/configure.d.ts +7 -5
  4. package/dist/configure.d.ts.map +1 -1
  5. package/dist/configure.js +7 -5
  6. package/dist/configure.js.map +1 -1
  7. package/dist/providers/a2a_provider.d.ts +14 -0
  8. package/dist/providers/a2a_provider.d.ts.map +1 -0
  9. package/dist/providers/a2a_provider.js +136 -0
  10. package/dist/providers/a2a_provider.js.map +1 -0
  11. package/dist/providers/agent_provider.d.ts.map +1 -1
  12. package/dist/providers/agent_provider.js +80 -13
  13. package/dist/providers/agent_provider.js.map +1 -1
  14. package/dist/providers/mcp_provider.d.ts +3 -0
  15. package/dist/providers/mcp_provider.d.ts.map +1 -1
  16. package/dist/providers/mcp_provider.js +147 -62
  17. package/dist/providers/mcp_provider.js.map +1 -1
  18. package/dist/src/a2a/auth.d.ts +67 -0
  19. package/dist/src/a2a/auth.d.ts.map +1 -0
  20. package/dist/src/a2a/auth.js +47 -0
  21. package/dist/src/a2a/auth.js.map +1 -0
  22. package/dist/src/a2a/define_config.d.ts +74 -0
  23. package/dist/src/a2a/define_config.d.ts.map +1 -0
  24. package/dist/src/a2a/define_config.js +5 -0
  25. package/dist/src/a2a/define_config.js.map +1 -0
  26. package/dist/src/a2a/gate.d.ts +23 -0
  27. package/dist/src/a2a/gate.d.ts.map +1 -0
  28. package/dist/src/a2a/gate.js +56 -0
  29. package/dist/src/a2a/gate.js.map +1 -0
  30. package/dist/src/a2a/handler.d.ts +65 -0
  31. package/dist/src/a2a/handler.d.ts.map +1 -0
  32. package/dist/src/a2a/handler.js +322 -0
  33. package/dist/src/a2a/handler.js.map +1 -0
  34. package/dist/src/a2a/index.d.ts +15 -0
  35. package/dist/src/a2a/index.d.ts.map +1 -0
  36. package/dist/src/a2a/index.js +9 -0
  37. package/dist/src/a2a/index.js.map +1 -0
  38. package/dist/src/a2a/permission-tool.d.ts +17 -0
  39. package/dist/src/a2a/permission-tool.d.ts.map +1 -0
  40. package/dist/src/a2a/permission-tool.js +70 -0
  41. package/dist/src/a2a/permission-tool.js.map +1 -0
  42. package/dist/src/a2a/protocol.d.ts +100 -0
  43. package/dist/src/a2a/protocol.d.ts.map +1 -0
  44. package/dist/src/a2a/protocol.js +106 -0
  45. package/dist/src/a2a/protocol.js.map +1 -0
  46. package/dist/src/a2a/runtime.d.ts +6 -0
  47. package/dist/src/a2a/runtime.d.ts.map +1 -0
  48. package/dist/src/a2a/runtime.js +13 -0
  49. package/dist/src/a2a/runtime.js.map +1 -0
  50. package/dist/src/a2a/server_middleware.d.ts +13 -0
  51. package/dist/src/a2a/server_middleware.d.ts.map +1 -0
  52. package/dist/src/a2a/server_middleware.js +18 -0
  53. package/dist/src/a2a/server_middleware.js.map +1 -0
  54. package/dist/src/a2a/store.d.ts +79 -0
  55. package/dist/src/a2a/store.d.ts.map +1 -0
  56. package/dist/src/a2a/store.js +151 -0
  57. package/dist/src/a2a/store.js.map +1 -0
  58. package/dist/src/a2a/turn.d.ts +80 -0
  59. package/dist/src/a2a/turn.d.ts.map +1 -0
  60. package/dist/src/a2a/turn.js +211 -0
  61. package/dist/src/a2a/turn.js.map +1 -0
  62. package/dist/src/action-proposal-executor.d.ts +3 -0
  63. package/dist/src/action-proposal-executor.d.ts.map +1 -1
  64. package/dist/src/action-proposal-executor.js +10 -0
  65. package/dist/src/action-proposal-executor.js.map +1 -1
  66. package/dist/src/action-proposal-service.d.ts +6 -2
  67. package/dist/src/action-proposal-service.d.ts.map +1 -1
  68. package/dist/src/action-proposal-service.js +20 -16
  69. package/dist/src/action-proposal-service.js.map +1 -1
  70. package/dist/src/action-proposal-text.d.ts +42 -3
  71. package/dist/src/action-proposal-text.d.ts.map +1 -1
  72. package/dist/src/action-proposal-text.js +80 -12
  73. package/dist/src/action-proposal-text.js.map +1 -1
  74. package/dist/src/action-proposal-worker.d.ts +2 -1
  75. package/dist/src/action-proposal-worker.d.ts.map +1 -1
  76. package/dist/src/action-proposal-worker.js +9 -2
  77. package/dist/src/action-proposal-worker.js.map +1 -1
  78. package/dist/src/ag-ui/adapter.d.ts.map +1 -1
  79. package/dist/src/ag-ui/adapter.js +83 -11
  80. package/dist/src/ag-ui/adapter.js.map +1 -1
  81. package/dist/src/ag-ui/core/encoder.d.ts +105 -0
  82. package/dist/src/ag-ui/core/encoder.d.ts.map +1 -0
  83. package/dist/src/ag-ui/core/encoder.js +523 -0
  84. package/dist/src/ag-ui/core/encoder.js.map +1 -0
  85. package/dist/src/ag-ui/core/index.d.ts +12 -0
  86. package/dist/src/ag-ui/core/index.d.ts.map +1 -0
  87. package/dist/src/ag-ui/core/index.js +12 -0
  88. package/dist/src/ag-ui/core/index.js.map +1 -0
  89. package/dist/src/ag-ui/core/input.d.ts +74 -0
  90. package/dist/src/ag-ui/core/input.d.ts.map +1 -0
  91. package/dist/src/ag-ui/core/input.js +228 -0
  92. package/dist/src/ag-ui/core/input.js.map +1 -0
  93. package/dist/src/ag-ui/core/interrupt-id.d.ts +31 -0
  94. package/dist/src/ag-ui/core/interrupt-id.d.ts.map +1 -0
  95. package/dist/src/ag-ui/core/interrupt-id.js +48 -0
  96. package/dist/src/ag-ui/core/interrupt-id.js.map +1 -0
  97. package/dist/src/ag-ui/{proposal-decision.d.ts → core/proposal-decision.d.ts} +1 -1
  98. package/dist/src/ag-ui/core/proposal-decision.d.ts.map +1 -0
  99. package/dist/src/ag-ui/{proposal-decision.js → core/proposal-decision.js} +3 -6
  100. package/dist/src/ag-ui/core/proposal-decision.js.map +1 -0
  101. package/dist/src/ag-ui/core/stream.d.ts +27 -0
  102. package/dist/src/ag-ui/core/stream.d.ts.map +1 -0
  103. package/dist/src/ag-ui/core/stream.js +68 -0
  104. package/dist/src/ag-ui/core/stream.js.map +1 -0
  105. package/dist/src/ag-ui/core/types.d.ts +249 -0
  106. package/dist/src/ag-ui/core/types.d.ts.map +1 -0
  107. package/dist/src/ag-ui/core/types.js +35 -0
  108. package/dist/src/ag-ui/core/types.js.map +1 -0
  109. package/dist/src/ag-ui/encoder.d.ts +3 -4
  110. package/dist/src/ag-ui/encoder.d.ts.map +1 -1
  111. package/dist/src/ag-ui/encoder.js +10 -11
  112. package/dist/src/ag-ui/encoder.js.map +1 -1
  113. package/dist/src/ag-ui/frames.d.ts +4 -5
  114. package/dist/src/ag-ui/frames.d.ts.map +1 -1
  115. package/dist/src/ag-ui/frames.js +8 -4
  116. package/dist/src/ag-ui/frames.js.map +1 -1
  117. package/dist/src/ag-ui/index.d.ts +3 -5
  118. package/dist/src/ag-ui/index.d.ts.map +1 -1
  119. package/dist/src/ag-ui/index.js +3 -5
  120. package/dist/src/ag-ui/index.js.map +1 -1
  121. package/dist/src/ag-ui/stream.d.ts +3 -4
  122. package/dist/src/ag-ui/stream.d.ts.map +1 -1
  123. package/dist/src/ag-ui/stream.js +4 -5
  124. package/dist/src/ag-ui/stream.js.map +1 -1
  125. package/dist/src/agent-deps-factory.d.ts +3 -0
  126. package/dist/src/agent-deps-factory.d.ts.map +1 -1
  127. package/dist/src/agent-deps-factory.js +3 -0
  128. package/dist/src/agent-deps-factory.js.map +1 -1
  129. package/dist/src/agent-deps.d.ts +3 -0
  130. package/dist/src/agent-deps.d.ts.map +1 -1
  131. package/dist/src/agent-deps.js.map +1 -1
  132. package/dist/src/agent-loop.d.ts +4 -3
  133. package/dist/src/agent-loop.d.ts.map +1 -1
  134. package/dist/src/agent-loop.js +50 -25
  135. package/dist/src/agent-loop.js.map +1 -1
  136. package/dist/src/agent-service.d.ts +11 -2
  137. package/dist/src/agent-service.d.ts.map +1 -1
  138. package/dist/src/agent-service.js +23 -11
  139. package/dist/src/agent-service.js.map +1 -1
  140. package/dist/src/ai-sdk/ai-sdk-model.js +4 -1
  141. package/dist/src/ai-sdk/ai-sdk-model.js.map +1 -1
  142. package/dist/src/ai-tool-ref.d.ts +4 -0
  143. package/dist/src/ai-tool-ref.d.ts.map +1 -1
  144. package/dist/src/ai-tool-ref.js +10 -14
  145. package/dist/src/ai-tool-ref.js.map +1 -1
  146. package/dist/src/chat-queue-service.d.ts.map +1 -1
  147. package/dist/src/chat-queue-service.js +2 -0
  148. package/dist/src/chat-queue-service.js.map +1 -1
  149. package/dist/src/define_config.d.ts +61 -12
  150. package/dist/src/define_config.d.ts.map +1 -1
  151. package/dist/src/define_config.js.map +1 -1
  152. package/dist/src/engine.d.ts +77 -0
  153. package/dist/src/engine.d.ts.map +1 -0
  154. package/dist/src/engine.js +27 -0
  155. package/dist/src/engine.js.map +1 -0
  156. package/dist/src/genui/builtins.d.ts +73 -3
  157. package/dist/src/genui/builtins.d.ts.map +1 -1
  158. package/dist/src/genui/builtins.js +298 -3
  159. package/dist/src/genui/builtins.js.map +1 -1
  160. package/dist/src/genui/capabilities.d.ts +24 -0
  161. package/dist/src/genui/capabilities.d.ts.map +1 -0
  162. package/dist/src/genui/capabilities.js +81 -0
  163. package/dist/src/genui/capabilities.js.map +1 -0
  164. package/dist/src/genui/catalog.d.ts +77 -0
  165. package/dist/src/genui/catalog.d.ts.map +1 -0
  166. package/dist/src/genui/catalog.js +88 -0
  167. package/dist/src/genui/catalog.js.map +1 -0
  168. package/dist/src/genui/factory.d.ts +7 -14
  169. package/dist/src/genui/factory.d.ts.map +1 -1
  170. package/dist/src/genui/factory.js.map +1 -1
  171. package/dist/src/genui/index.d.ts +4 -12
  172. package/dist/src/genui/index.d.ts.map +1 -1
  173. package/dist/src/genui/index.js +5 -18
  174. package/dist/src/genui/index.js.map +1 -1
  175. package/dist/src/genui/public.d.ts +9 -0
  176. package/dist/src/genui/public.d.ts.map +1 -0
  177. package/dist/src/genui/public.js +9 -0
  178. package/dist/src/genui/public.js.map +1 -0
  179. package/dist/src/genui/registry.d.ts +65 -0
  180. package/dist/src/genui/registry.d.ts.map +1 -0
  181. package/dist/src/genui/registry.js +151 -0
  182. package/dist/src/genui/registry.js.map +1 -0
  183. package/dist/src/genui/schema.d.ts +71 -0
  184. package/dist/src/genui/schema.d.ts.map +1 -0
  185. package/dist/src/genui/schema.js +304 -0
  186. package/dist/src/genui/schema.js.map +1 -0
  187. package/dist/src/genui/text.d.ts +35 -0
  188. package/dist/src/genui/text.d.ts.map +1 -0
  189. package/dist/src/genui/text.js +156 -0
  190. package/dist/src/genui/text.js.map +1 -0
  191. package/dist/src/genui/tools.d.ts +91 -0
  192. package/dist/src/genui/tools.d.ts.map +1 -0
  193. package/dist/src/genui/tools.js +292 -0
  194. package/dist/src/genui/tools.js.map +1 -0
  195. package/dist/src/genui/tree.d.ts +56 -0
  196. package/dist/src/genui/tree.d.ts.map +1 -0
  197. package/dist/src/genui/tree.js +188 -0
  198. package/dist/src/genui/tree.js.map +1 -0
  199. package/dist/src/index.d.ts +4 -2
  200. package/dist/src/index.d.ts.map +1 -1
  201. package/dist/src/index.js +2 -1
  202. package/dist/src/index.js.map +1 -1
  203. package/dist/src/mcp/auth.d.ts +17 -1
  204. package/dist/src/mcp/auth.d.ts.map +1 -1
  205. package/dist/src/mcp/auth.js +14 -3
  206. package/dist/src/mcp/auth.js.map +1 -1
  207. package/dist/src/mcp/define_config.d.ts +81 -2
  208. package/dist/src/mcp/define_config.d.ts.map +1 -1
  209. package/dist/src/mcp/define_config.js.map +1 -1
  210. package/dist/src/mcp/index.d.ts +1 -1
  211. package/dist/src/mcp/index.d.ts.map +1 -1
  212. package/dist/src/mcp/index.js.map +1 -1
  213. package/dist/src/mcp/oauth-resource.d.ts +9 -0
  214. package/dist/src/mcp/oauth-resource.d.ts.map +1 -0
  215. package/dist/src/mcp/oauth-resource.js +16 -0
  216. package/dist/src/mcp/oauth-resource.js.map +1 -0
  217. package/dist/src/mcp/server.d.ts +5 -0
  218. package/dist/src/mcp/server.d.ts.map +1 -1
  219. package/dist/src/mcp/server.js +48 -16
  220. package/dist/src/mcp/server.js.map +1 -1
  221. package/dist/src/negotiated-tool-ui.d.ts.map +1 -1
  222. package/dist/src/negotiated-tool-ui.js +12 -8
  223. package/dist/src/negotiated-tool-ui.js.map +1 -1
  224. package/dist/src/opencode/client.d.ts +202 -0
  225. package/dist/src/opencode/client.d.ts.map +1 -0
  226. package/dist/src/opencode/client.js +2 -0
  227. package/dist/src/opencode/client.js.map +1 -0
  228. package/dist/src/opencode/durable/index.d.ts +33 -0
  229. package/dist/src/opencode/durable/index.d.ts.map +1 -0
  230. package/dist/src/opencode/durable/index.js +38 -0
  231. package/dist/src/opencode/durable/index.js.map +1 -0
  232. package/dist/src/opencode/durable/runner.d.ts +36 -0
  233. package/dist/src/opencode/durable/runner.d.ts.map +1 -0
  234. package/dist/src/opencode/durable/runner.js +88 -0
  235. package/dist/src/opencode/durable/runner.js.map +1 -0
  236. package/dist/src/opencode/durable/workflow.d.ts +40 -0
  237. package/dist/src/opencode/durable/workflow.d.ts.map +1 -0
  238. package/dist/src/opencode/durable/workflow.js +106 -0
  239. package/dist/src/opencode/durable/workflow.js.map +1 -0
  240. package/dist/src/opencode/engine.d.ts +48 -0
  241. package/dist/src/opencode/engine.d.ts.map +1 -0
  242. package/dist/src/opencode/engine.js +98 -0
  243. package/dist/src/opencode/engine.js.map +1 -0
  244. package/dist/src/opencode/event-hub.d.ts +23 -0
  245. package/dist/src/opencode/event-hub.d.ts.map +1 -0
  246. package/dist/src/opencode/event-hub.js +99 -0
  247. package/dist/src/opencode/event-hub.js.map +1 -0
  248. package/dist/src/opencode/forms.d.ts +19 -0
  249. package/dist/src/opencode/forms.d.ts.map +1 -0
  250. package/dist/src/opencode/forms.js +82 -0
  251. package/dist/src/opencode/forms.js.map +1 -0
  252. package/dist/src/opencode/host.d.ts +179 -0
  253. package/dist/src/opencode/host.d.ts.map +1 -0
  254. package/dist/src/opencode/host.js +34 -0
  255. package/dist/src/opencode/host.js.map +1 -0
  256. package/dist/src/opencode/index.d.ts +15 -0
  257. package/dist/src/opencode/index.d.ts.map +1 -0
  258. package/dist/src/opencode/index.js +9 -0
  259. package/dist/src/opencode/index.js.map +1 -0
  260. package/dist/src/opencode/log.d.ts +9 -0
  261. package/dist/src/opencode/log.d.ts.map +1 -0
  262. package/dist/src/opencode/log.js +15 -0
  263. package/dist/src/opencode/log.js.map +1 -0
  264. package/dist/src/opencode/mcp.d.ts +60 -0
  265. package/dist/src/opencode/mcp.d.ts.map +1 -0
  266. package/dist/src/opencode/mcp.js +258 -0
  267. package/dist/src/opencode/mcp.js.map +1 -0
  268. package/dist/src/opencode/runner.d.ts +40 -0
  269. package/dist/src/opencode/runner.d.ts.map +1 -0
  270. package/dist/src/opencode/runner.js +125 -0
  271. package/dist/src/opencode/runner.js.map +1 -0
  272. package/dist/src/opencode/turn.d.ts +167 -0
  273. package/dist/src/opencode/turn.d.ts.map +1 -0
  274. package/dist/src/opencode/turn.js +761 -0
  275. package/dist/src/opencode/turn.js.map +1 -0
  276. package/dist/src/opencode/turns.d.ts +245 -0
  277. package/dist/src/opencode/turns.d.ts.map +1 -0
  278. package/dist/src/opencode/turns.js +867 -0
  279. package/dist/src/opencode/turns.js.map +1 -0
  280. package/dist/src/personas.d.ts.map +1 -1
  281. package/dist/src/personas.js +4 -1
  282. package/dist/src/personas.js.map +1 -1
  283. package/dist/src/react/ag-ui.d.ts +4 -2
  284. package/dist/src/react/ag-ui.d.ts.map +1 -1
  285. package/dist/src/react/ag-ui.js +2 -2
  286. package/dist/src/react/ag-ui.js.map +1 -1
  287. package/dist/src/react/client.d.ts +1 -1
  288. package/dist/src/react/client.d.ts.map +1 -1
  289. package/dist/src/react/client.js +1 -1
  290. package/dist/src/react/client.js.map +1 -1
  291. package/dist/src/react/core/ag-ui-backend.d.ts +85 -0
  292. package/dist/src/react/core/ag-ui-backend.d.ts.map +1 -0
  293. package/dist/src/react/core/ag-ui-backend.js +409 -0
  294. package/dist/src/react/core/ag-ui-backend.js.map +1 -0
  295. package/dist/src/react/core/agent-chat-transport.d.ts +187 -0
  296. package/dist/src/react/core/agent-chat-transport.d.ts.map +1 -0
  297. package/dist/src/react/core/agent-chat-transport.js +796 -0
  298. package/dist/src/react/core/agent-chat-transport.js.map +1 -0
  299. package/dist/src/react/core/approvals/countdown.d.ts +22 -0
  300. package/dist/src/react/core/approvals/countdown.d.ts.map +1 -0
  301. package/dist/src/react/core/approvals/countdown.js +39 -0
  302. package/dist/src/react/core/approvals/countdown.js.map +1 -0
  303. package/dist/src/react/core/approvals/proposals.d.ts +15 -0
  304. package/dist/src/react/core/approvals/proposals.d.ts.map +1 -0
  305. package/dist/src/react/core/approvals/proposals.js +82 -0
  306. package/dist/src/react/core/approvals/proposals.js.map +1 -0
  307. package/dist/src/react/core/approvals/use-action-proposals.d.ts +10 -0
  308. package/dist/src/react/core/approvals/use-action-proposals.d.ts.map +1 -0
  309. package/dist/src/react/core/approvals/use-action-proposals.js +86 -0
  310. package/dist/src/react/core/approvals/use-action-proposals.js.map +1 -0
  311. package/dist/src/react/core/attachments/files.d.ts +39 -0
  312. package/dist/src/react/core/attachments/files.d.ts.map +1 -0
  313. package/dist/src/react/core/attachments/files.js +89 -0
  314. package/dist/src/react/core/attachments/files.js.map +1 -0
  315. package/dist/src/react/core/attachments/use-attachments.d.ts +106 -0
  316. package/dist/src/react/core/attachments/use-attachments.d.ts.map +1 -0
  317. package/dist/src/react/core/attachments/use-attachments.js +217 -0
  318. package/dist/src/react/core/attachments/use-attachments.js.map +1 -0
  319. package/dist/src/react/core/backend.d.ts +234 -0
  320. package/dist/src/react/core/backend.d.ts.map +1 -0
  321. package/dist/src/react/core/backend.js +21 -0
  322. package/dist/src/react/core/backend.js.map +1 -0
  323. package/dist/src/react/core/background-runs.d.ts +32 -0
  324. package/dist/src/react/core/background-runs.d.ts.map +1 -0
  325. package/dist/src/react/core/background-runs.js +47 -0
  326. package/dist/src/react/core/background-runs.js.map +1 -0
  327. package/dist/src/react/core/catalog/use-agents.d.ts +31 -0
  328. package/dist/src/react/core/catalog/use-agents.d.ts.map +1 -0
  329. package/dist/src/react/core/catalog/use-agents.js +28 -0
  330. package/dist/src/react/core/catalog/use-agents.js.map +1 -0
  331. package/dist/src/react/core/catalog/use-models.d.ts +41 -0
  332. package/dist/src/react/core/catalog/use-models.d.ts.map +1 -0
  333. package/dist/src/react/core/catalog/use-models.js +35 -0
  334. package/dist/src/react/core/catalog/use-models.js.map +1 -0
  335. package/dist/src/react/core/catalog/use-resource.d.ts +12 -0
  336. package/dist/src/react/core/catalog/use-resource.d.ts.map +1 -0
  337. package/dist/src/react/core/catalog/use-resource.js +41 -0
  338. package/dist/src/react/core/catalog/use-resource.js.map +1 -0
  339. package/dist/src/react/core/client-wire.d.ts +14 -0
  340. package/dist/src/react/core/client-wire.d.ts.map +1 -0
  341. package/dist/src/react/core/client-wire.js +2 -0
  342. package/dist/src/react/core/client-wire.js.map +1 -0
  343. package/dist/src/react/core/client.d.ts +222 -0
  344. package/dist/src/react/core/client.d.ts.map +1 -0
  345. package/dist/src/react/core/client.js +435 -0
  346. package/dist/src/react/core/client.js.map +1 -0
  347. package/dist/src/react/core/components/ambient-ui.d.ts +22 -0
  348. package/dist/src/react/core/components/ambient-ui.d.ts.map +1 -0
  349. package/dist/src/react/core/components/ambient-ui.js +30 -0
  350. package/dist/src/react/core/components/ambient-ui.js.map +1 -0
  351. package/dist/src/react/core/components/chat-input.d.ts +44 -0
  352. package/dist/src/react/core/components/chat-input.d.ts.map +1 -0
  353. package/dist/src/react/core/components/chat-input.js +69 -0
  354. package/dist/src/react/core/components/chat-input.js.map +1 -0
  355. package/dist/src/react/core/components/index.d.ts +7 -0
  356. package/dist/src/react/core/components/index.d.ts.map +1 -0
  357. package/dist/src/react/core/components/index.js +7 -0
  358. package/dist/src/react/core/components/index.js.map +1 -0
  359. package/dist/src/react/core/components/message-item.d.ts +101 -0
  360. package/dist/src/react/core/components/message-item.d.ts.map +1 -0
  361. package/dist/src/react/core/components/message-item.js +118 -0
  362. package/dist/src/react/core/components/message-item.js.map +1 -0
  363. package/dist/src/react/core/components/message-list.d.ts +85 -0
  364. package/dist/src/react/core/components/message-list.d.ts.map +1 -0
  365. package/dist/src/react/core/components/message-list.js +45 -0
  366. package/dist/src/react/core/components/message-list.js.map +1 -0
  367. package/dist/src/react/core/components/speech-languages.d.ts +22 -0
  368. package/dist/src/react/core/components/speech-languages.d.ts.map +1 -0
  369. package/dist/src/react/core/components/speech-languages.js +38 -0
  370. package/dist/src/react/core/components/speech-languages.js.map +1 -0
  371. package/dist/src/react/core/components/use-speech-recognition.d.ts +19 -0
  372. package/dist/src/react/core/components/use-speech-recognition.d.ts.map +1 -0
  373. package/dist/src/react/core/components/use-speech-recognition.js +92 -0
  374. package/dist/src/react/core/components/use-speech-recognition.js.map +1 -0
  375. package/dist/src/react/core/composer/index.d.ts +4 -0
  376. package/dist/src/react/core/composer/index.d.ts.map +1 -0
  377. package/dist/src/react/core/composer/index.js +4 -0
  378. package/dist/src/react/core/composer/index.js.map +1 -0
  379. package/dist/src/react/core/composer/model.d.ts +83 -0
  380. package/dist/src/react/core/composer/model.d.ts.map +1 -0
  381. package/dist/src/react/core/composer/model.js +53 -0
  382. package/dist/src/react/core/composer/model.js.map +1 -0
  383. package/dist/src/react/core/composer/skills-source.d.ts +29 -0
  384. package/dist/src/react/core/composer/skills-source.d.ts.map +1 -0
  385. package/dist/src/react/core/composer/skills-source.js +61 -0
  386. package/dist/src/react/core/composer/skills-source.js.map +1 -0
  387. package/dist/src/react/core/composer/use-composer-autocomplete.d.ts +78 -0
  388. package/dist/src/react/core/composer/use-composer-autocomplete.d.ts.map +1 -0
  389. package/dist/src/react/core/composer/use-composer-autocomplete.js +244 -0
  390. package/dist/src/react/core/composer/use-composer-autocomplete.js.map +1 -0
  391. package/dist/src/react/core/config/use-agent-config.d.ts +21 -0
  392. package/dist/src/react/core/config/use-agent-config.d.ts.map +1 -0
  393. package/dist/src/react/core/config/use-agent-config.js +57 -0
  394. package/dist/src/react/core/config/use-agent-config.js.map +1 -0
  395. package/dist/src/react/core/elicitation/answers.d.ts +22 -0
  396. package/dist/src/react/core/elicitation/answers.d.ts.map +1 -0
  397. package/dist/src/react/core/elicitation/answers.js +65 -0
  398. package/dist/src/react/core/elicitation/answers.js.map +1 -0
  399. package/dist/src/react/core/feedback/use-message-feedback.d.ts +32 -0
  400. package/dist/src/react/core/feedback/use-message-feedback.d.ts.map +1 -0
  401. package/dist/src/react/core/feedback/use-message-feedback.js +106 -0
  402. package/dist/src/react/core/feedback/use-message-feedback.js.map +1 -0
  403. package/dist/src/react/core/genui/generative-ui.d.ts +76 -0
  404. package/dist/src/react/core/genui/generative-ui.d.ts.map +1 -0
  405. package/dist/src/react/core/genui/generative-ui.js +210 -0
  406. package/dist/src/react/core/genui/generative-ui.js.map +1 -0
  407. package/dist/src/react/core/genui/index.d.ts +5 -0
  408. package/dist/src/react/core/genui/index.d.ts.map +1 -0
  409. package/dist/src/react/core/genui/index.js +5 -0
  410. package/dist/src/react/core/genui/index.js.map +1 -0
  411. package/dist/src/react/core/genui/json-render.d.ts +54 -0
  412. package/dist/src/react/core/genui/json-render.d.ts.map +1 -0
  413. package/dist/src/react/core/genui/json-render.js +64 -0
  414. package/dist/src/react/core/genui/json-render.js.map +1 -0
  415. package/dist/src/react/core/genui/playwright.d.ts +12 -0
  416. package/dist/src/react/core/genui/playwright.d.ts.map +1 -0
  417. package/dist/src/react/core/genui/playwright.js +141 -0
  418. package/dist/src/react/core/genui/playwright.js.map +1 -0
  419. package/dist/src/react/core/genui/react-registry.d.ts +22 -0
  420. package/dist/src/react/core/genui/react-registry.d.ts.map +1 -0
  421. package/dist/src/react/core/genui/react-registry.js +72 -0
  422. package/dist/src/react/core/genui/react-registry.js.map +1 -0
  423. package/dist/src/react/core/genui/server.d.ts +32 -0
  424. package/dist/src/react/core/genui/server.d.ts.map +1 -0
  425. package/dist/src/react/core/genui/server.js +66 -0
  426. package/dist/src/react/core/genui/server.js.map +1 -0
  427. package/dist/src/react/core/genui/types.d.ts +98 -0
  428. package/dist/src/react/core/genui/types.d.ts.map +1 -0
  429. package/dist/src/react/core/genui/types.js +3 -0
  430. package/dist/src/react/core/genui/types.js.map +1 -0
  431. package/dist/src/react/core/genui/use-generative-ui.d.ts +42 -0
  432. package/dist/src/react/core/genui/use-generative-ui.d.ts.map +1 -0
  433. package/dist/src/react/core/genui/use-generative-ui.js +186 -0
  434. package/dist/src/react/core/genui/use-generative-ui.js.map +1 -0
  435. package/dist/src/react/core/http-error.d.ts +33 -0
  436. package/dist/src/react/core/http-error.d.ts.map +1 -0
  437. package/dist/src/react/core/http-error.js +47 -0
  438. package/dist/src/react/core/http-error.js.map +1 -0
  439. package/dist/src/react/core/index.d.ts +35 -0
  440. package/dist/src/react/core/index.d.ts.map +1 -0
  441. package/dist/src/react/core/index.js +34 -0
  442. package/dist/src/react/core/index.js.map +1 -0
  443. package/dist/src/react/core/markdown/agent-markdown.d.ts +39 -0
  444. package/dist/src/react/core/markdown/agent-markdown.d.ts.map +1 -0
  445. package/dist/src/react/core/markdown/agent-markdown.js +22 -0
  446. package/dist/src/react/core/markdown/agent-markdown.js.map +1 -0
  447. package/dist/src/react/core/markdown/index.d.ts +2 -0
  448. package/dist/src/react/core/markdown/index.d.ts.map +1 -0
  449. package/dist/src/react/core/markdown/index.js +2 -0
  450. package/dist/src/react/core/markdown/index.js.map +1 -0
  451. package/dist/src/react/core/media/index.d.ts +64 -0
  452. package/dist/src/react/core/media/index.d.ts.map +1 -0
  453. package/dist/src/react/core/media/index.js +135 -0
  454. package/dist/src/react/core/media/index.js.map +1 -0
  455. package/dist/src/react/core/media/tus.d.ts +13 -0
  456. package/dist/src/react/core/media/tus.d.ts.map +1 -0
  457. package/dist/src/react/core/media/tus.js +59 -0
  458. package/dist/src/react/core/media/tus.js.map +1 -0
  459. package/dist/src/react/core/presentation/phrasing.d.ts +25 -0
  460. package/dist/src/react/core/presentation/phrasing.d.ts.map +1 -0
  461. package/dist/src/react/core/presentation/phrasing.js +58 -0
  462. package/dist/src/react/core/presentation/phrasing.js.map +1 -0
  463. package/dist/src/react/core/presentation/result-view.d.ts +43 -0
  464. package/dist/src/react/core/presentation/result-view.d.ts.map +1 -0
  465. package/dist/src/react/core/presentation/result-view.js +90 -0
  466. package/dist/src/react/core/presentation/result-view.js.map +1 -0
  467. package/dist/src/react/core/presentation/tool-activity.d.ts +106 -0
  468. package/dist/src/react/core/presentation/tool-activity.d.ts.map +1 -0
  469. package/dist/src/react/core/presentation/tool-activity.js +165 -0
  470. package/dist/src/react/core/presentation/tool-activity.js.map +1 -0
  471. package/dist/src/react/core/presentation/use-tool-catalog.d.ts +39 -0
  472. package/dist/src/react/core/presentation/use-tool-catalog.d.ts.map +1 -0
  473. package/dist/src/react/core/presentation/use-tool-catalog.js +77 -0
  474. package/dist/src/react/core/presentation/use-tool-catalog.js.map +1 -0
  475. package/dist/src/react/core/provider.d.ts +68 -0
  476. package/dist/src/react/core/provider.d.ts.map +1 -0
  477. package/dist/src/react/core/provider.js +61 -0
  478. package/dist/src/react/core/provider.js.map +1 -0
  479. package/dist/src/react/core/queue/model.d.ts +73 -0
  480. package/dist/src/react/core/queue/model.d.ts.map +1 -0
  481. package/dist/src/react/core/queue/model.js +2 -0
  482. package/dist/src/react/core/queue/model.js.map +1 -0
  483. package/dist/src/react/core/quota/use-quota.d.ts +35 -0
  484. package/dist/src/react/core/quota/use-quota.d.ts.map +1 -0
  485. package/dist/src/react/core/quota/use-quota.js +47 -0
  486. package/dist/src/react/core/quota/use-quota.js.map +1 -0
  487. package/dist/src/react/core/reasoning/timing.d.ts +38 -0
  488. package/dist/src/react/core/reasoning/timing.d.ts.map +1 -0
  489. package/dist/src/react/core/reasoning/timing.js +73 -0
  490. package/dist/src/react/core/reasoning/timing.js.map +1 -0
  491. package/dist/src/react/core/run-errors.d.ts +37 -0
  492. package/dist/src/react/core/run-errors.d.ts.map +1 -0
  493. package/dist/src/react/core/run-errors.js +37 -0
  494. package/dist/src/react/core/run-errors.js.map +1 -0
  495. package/dist/src/react/core/stored-message-to-ui-message.d.ts +4 -0
  496. package/dist/src/react/core/stored-message-to-ui-message.d.ts.map +1 -0
  497. package/dist/src/react/core/stored-message-to-ui-message.js +216 -0
  498. package/dist/src/react/core/stored-message-to-ui-message.js.map +1 -0
  499. package/dist/src/react/core/stored-thread-to-ui-messages.d.ts +82 -0
  500. package/dist/src/react/core/stored-thread-to-ui-messages.d.ts.map +1 -0
  501. package/dist/src/react/core/stored-thread-to-ui-messages.js +116 -0
  502. package/dist/src/react/core/stored-thread-to-ui-messages.js.map +1 -0
  503. package/dist/src/react/core/threads/threads-events.d.ts +22 -0
  504. package/dist/src/react/core/threads/threads-events.d.ts.map +1 -0
  505. package/dist/src/react/core/threads/threads-events.js +21 -0
  506. package/dist/src/react/core/threads/threads-events.js.map +1 -0
  507. package/dist/src/react/core/threads/use-threads.d.ts +31 -0
  508. package/dist/src/react/core/threads/use-threads.d.ts.map +1 -0
  509. package/dist/src/react/core/threads/use-threads.js +81 -0
  510. package/dist/src/react/core/threads/use-threads.js.map +1 -0
  511. package/dist/src/react/core/transcript/index.d.ts +4 -0
  512. package/dist/src/react/core/transcript/index.d.ts.map +1 -0
  513. package/dist/src/react/core/transcript/index.js +4 -0
  514. package/dist/src/react/core/transcript/index.js.map +1 -0
  515. package/dist/src/react/core/transcript/model.d.ts +399 -0
  516. package/dist/src/react/core/transcript/model.d.ts.map +1 -0
  517. package/dist/src/react/core/transcript/model.js +725 -0
  518. package/dist/src/react/core/transcript/model.js.map +1 -0
  519. package/dist/src/react/core/transcript/use-chat-transcript.d.ts +254 -0
  520. package/dist/src/react/core/transcript/use-chat-transcript.d.ts.map +1 -0
  521. package/dist/src/react/core/transcript/use-chat-transcript.js +572 -0
  522. package/dist/src/react/core/transcript/use-chat-transcript.js.map +1 -0
  523. package/dist/src/react/core/transcript/use-stick-to-bottom.d.ts +33 -0
  524. package/dist/src/react/core/transcript/use-stick-to-bottom.d.ts.map +1 -0
  525. package/dist/src/react/core/transcript/use-stick-to-bottom.js +48 -0
  526. package/dist/src/react/core/transcript/use-stick-to-bottom.js.map +1 -0
  527. package/dist/src/react/core/use-agent-chat.d.ts +341 -0
  528. package/dist/src/react/core/use-agent-chat.d.ts.map +1 -0
  529. package/dist/src/react/core/use-agent-chat.js +1118 -0
  530. package/dist/src/react/core/use-agent-chat.js.map +1 -0
  531. package/dist/src/react/genui/index.d.ts +1 -7
  532. package/dist/src/react/genui/index.d.ts.map +1 -1
  533. package/dist/src/react/genui/index.js +1 -7
  534. package/dist/src/react/genui/index.js.map +1 -1
  535. package/dist/src/react/genui/json-render.d.ts +1 -5
  536. package/dist/src/react/genui/json-render.d.ts.map +1 -1
  537. package/dist/src/react/genui/json-render.js +1 -5
  538. package/dist/src/react/genui/json-render.js.map +1 -1
  539. package/dist/src/react/genui/server.d.ts +2 -0
  540. package/dist/src/react/genui/server.d.ts.map +1 -0
  541. package/dist/src/react/genui/server.js +2 -0
  542. package/dist/src/react/genui/server.js.map +1 -0
  543. package/dist/src/react/genui/server_playwright.d.ts +2 -0
  544. package/dist/src/react/genui/server_playwright.d.ts.map +1 -0
  545. package/dist/src/react/genui/server_playwright.js +2 -0
  546. package/dist/src/react/genui/server_playwright.js.map +1 -0
  547. package/dist/src/react/index.d.ts +5 -7
  548. package/dist/src/react/index.d.ts.map +1 -1
  549. package/dist/src/react/index.js +5 -7
  550. package/dist/src/react/index.js.map +1 -1
  551. package/dist/src/react/markdown.d.ts +1 -6
  552. package/dist/src/react/markdown.d.ts.map +1 -1
  553. package/dist/src/react/markdown.js +1 -6
  554. package/dist/src/react/markdown.js.map +1 -1
  555. package/dist/src/react/media.d.ts +1 -17
  556. package/dist/src/react/media.d.ts.map +1 -1
  557. package/dist/src/react/media.js +1 -17
  558. package/dist/src/react/media.js.map +1 -1
  559. package/dist/src/refusal.d.ts +3 -0
  560. package/dist/src/refusal.d.ts.map +1 -0
  561. package/dist/src/refusal.js +3 -0
  562. package/dist/src/refusal.js.map +1 -0
  563. package/dist/src/spi/agent-runner.d.ts +6 -0
  564. package/dist/src/spi/agent-runner.d.ts.map +1 -1
  565. package/dist/src/spi/chat-queue.d.ts +4 -1
  566. package/dist/src/spi/chat-queue.d.ts.map +1 -1
  567. package/dist/src/spi/chat-queue.js.map +1 -1
  568. package/dist/src/spi/protocol-adapter.d.ts +3 -3
  569. package/dist/src/spi/roles-policy.d.ts +7 -0
  570. package/dist/src/spi/roles-policy.d.ts.map +1 -1
  571. package/dist/src/spi/tool.d.ts +18 -3
  572. package/dist/src/spi/tool.d.ts.map +1 -1
  573. package/dist/src/stores/lucid-schema.d.ts.map +1 -1
  574. package/dist/src/stores/lucid-schema.js +2 -0
  575. package/dist/src/stores/lucid-schema.js.map +1 -1
  576. package/dist/src/stores/lucid.d.ts.map +1 -1
  577. package/dist/src/stores/lucid.js +3 -0
  578. package/dist/src/stores/lucid.js.map +1 -1
  579. package/dist/src/testing/chat-queue-store-contract.d.ts.map +1 -1
  580. package/dist/src/testing/chat-queue-store-contract.js +4 -0
  581. package/dist/src/testing/chat-queue-store-contract.js.map +1 -1
  582. package/dist/src/testing/in-memory-store.d.ts.map +1 -1
  583. package/dist/src/testing/in-memory-store.js +1 -0
  584. package/dist/src/testing/in-memory-store.js.map +1 -1
  585. package/dist/src/tool-discovery.d.ts +1 -1
  586. package/dist/src/tool-discovery.d.ts.map +1 -1
  587. package/dist/src/tool-discovery.js +5 -1
  588. package/dist/src/tool-discovery.js.map +1 -1
  589. package/dist/src/tool-registry.d.ts +3 -0
  590. package/dist/src/tool-registry.d.ts.map +1 -1
  591. package/dist/src/tool-registry.js +15 -3
  592. package/dist/src/tool-registry.js.map +1 -1
  593. package/dist/src/tool-result-presentation.d.ts +12 -0
  594. package/dist/src/tool-result-presentation.d.ts.map +1 -0
  595. package/dist/src/tool-result-presentation.js +44 -0
  596. package/dist/src/tool-result-presentation.js.map +1 -0
  597. package/dist/src/types.d.ts +20 -0
  598. package/dist/src/types.d.ts.map +1 -1
  599. package/dist/src/ui-capabilities.d.ts +1 -8
  600. package/dist/src/ui-capabilities.d.ts.map +1 -1
  601. package/dist/src/ui-capabilities.js +3 -24
  602. package/dist/src/ui-capabilities.js.map +1 -1
  603. package/package.json +123 -22
  604. package/skills/agent-governance/SKILL.md +12 -4
  605. package/skills/agent-personas-agents/SKILL.md +2 -1
  606. package/skills/agent-setup/SKILL.md +36 -13
  607. package/skills/agent-testing/SKILL.md +22 -0
  608. package/skills/agent-tools/SKILL.md +54 -9
  609. package/dist/src/ag-ui/proposal-decision.d.ts.map +0 -1
  610. package/dist/src/ag-ui/proposal-decision.js.map +0 -1
@@ -0,0 +1,116 @@
1
+ import { storedMessageToUiMessage } from './stored-message-to-ui-message.js';
2
+ /**
3
+ * Convert a thread's full `StoredMessage[]` history into `UIMessage[]`, merging consecutive
4
+ * assistant rows (no user message between them) into ONE `UIMessage` per turn.
5
+ *
6
+ * Why: the agent loop persists one row per model iteration (see `agent-loop.ts`'s per-step
7
+ * `persist:assistant:${i}`) — a turn with tool calls appends "I'll check that..." + tool calls,
8
+ * then a separate final-answer row. `storedMessageToUiMessage` maps 1:1, so a reloaded thread
9
+ * renders 2-3 assistant bubbles (each with its own cost/tokens footer) for what the LIVE stream
10
+ * renders as one continuous response (one `UIMessage`, stepped internally — see
11
+ * `AgentChatTransport.toChunkStream`'s `start-step`/`finish-step` bracketing). This closes that gap
12
+ * for replayed history.
13
+ *
14
+ * Merge shape: each row is mapped via `storedMessageToUiMessage` (unchanged — same text-then-tool
15
+ * part ordering per row) and the parts are concatenated in row order, so the grouped message's parts
16
+ * read as `[row1 text?, row1 tools?, row2 text?, row2 tools?, ...]` — exactly the sequence the live
17
+ * transport streams for the same turn. The group's `id` is the LAST row's id (the final-answer row —
18
+ * it's the one carrying `followUps`, and what a host keys turn-level actions like "fork" or
19
+ * "regenerate" on). Non-assistant rows (user/system) pass through `storedMessageToUiMessage`
20
+ * unchanged, one row → one message, same as today.
21
+ *
22
+ * A lone assistant row between two user rows (the common case: no tool calls, or already a single
23
+ * iteration) has nothing to merge with, so it comes back byte-for-byte identical to calling
24
+ * `storedMessageToUiMessage` directly — no `metadata` is added for that case either, preserving
25
+ * exact backward compatibility for hosts that read stored usage some other way.
26
+ *
27
+ * Only an ACTUAL merge (2+ rows) attaches `metadata.usage` — the {@link AggregatedTurnUsage} summed
28
+ * across the merged rows' `usage` (rows without a `usage` at all, e.g. an older/test fixture, are
29
+ * skipped rather than treated as zero-and-priced).
30
+ *
31
+ * Deliberately NOT reproduced: the live transport's `{type: 'step-start'}` UI parts (one per model
32
+ * call, emitted by the AI SDK for every `start-step` chunk — see `repro-real-frames.spec.ts` for a
33
+ * captured wire dump). Those are structural brackets `MessageItem`'s `renderBlocks` never renders
34
+ * (it draws only text, reasoning, files and tool blocks), and `storedMessageToUiMessage` has never
35
+ * emitted them for a single row either — inventing them here would make a merged turn diverge from
36
+ * a same-shaped unmerged one instead of converging on it. "Indistinguishable from the live stream"
37
+ * is scoped to what actually renders: the text/tool-call content in step order, not the step
38
+ * brackets around it.
39
+ */
40
+ export function storedThreadToUiMessages(messages) {
41
+ const turns = [];
42
+ for (const message of messages) {
43
+ const currentTurn = turns.at(-1);
44
+ const previousRow = currentTurn?.at(-1);
45
+ if (message.role === 'assistant' &&
46
+ previousRow?.role === 'assistant' &&
47
+ currentTurn &&
48
+ sameRun(previousRow, message)) {
49
+ currentTurn.push(message);
50
+ }
51
+ else {
52
+ turns.push([message]);
53
+ }
54
+ }
55
+ return turns.map(mergeTurn);
56
+ }
57
+ /**
58
+ * Two assistant rows belong to the same TURN, not merely to the same side of the conversation.
59
+ * Consecutive is the right test only while one run at a time writes to a thread: a detached
60
+ * sub-agent posts its answer whenever it lands, so a thread whose last row is an assistant reply can
61
+ * gain another from a different run entirely — merged, that reads as the assistant having said both.
62
+ *
63
+ * Rows that carry no `runId` (written before it was recorded, or by a host outside a run) merge as
64
+ * they always did: there is nothing to tell them apart with, and splitting on absence would
65
+ * un-merge every old thread.
66
+ */
67
+ function sameRun(previous, next) {
68
+ if (previous.actionProposalOutcome !== undefined || next.actionProposalOutcome !== undefined)
69
+ return false;
70
+ return previous.runId === undefined || next.runId === undefined || previous.runId === next.runId;
71
+ }
72
+ function mergeTurn(rows) {
73
+ const lastRow = rows.at(-1);
74
+ if (lastRow === undefined) {
75
+ // Unreachable: `storedThreadToUiMessages` never pushes an empty turn.
76
+ throw new Error('storedThreadToUiMessages: encountered an empty turn');
77
+ }
78
+ if (rows.length === 1) {
79
+ return storedMessageToUiMessage(lastRow);
80
+ }
81
+ const parts = rows.flatMap((row) => storedMessageToUiMessage(row).parts);
82
+ const usage = sumUsage(rows);
83
+ // A turn is rated through its last row — the id this message carries.
84
+ const feedback = lastRow.feedback;
85
+ const createdAt = rows[0]?.createdAt;
86
+ const metadata = {
87
+ // Host facts of every row, a later row's winning (the turn's final state), under the library's.
88
+ ...Object.assign({}, ...rows.map((row) => row.metadata ?? {})),
89
+ ...(usage !== undefined ? { usage } : {}),
90
+ ...(feedback !== undefined ? { feedback } : {}),
91
+ ...(createdAt ? { createdAt } : {}),
92
+ ...(lastRow.agentName !== undefined ? { agentName: lastRow.agentName } : {}),
93
+ ...(lastRow.persona !== undefined ? { persona: lastRow.persona } : {}),
94
+ };
95
+ return {
96
+ id: lastRow.id,
97
+ role: lastRow.role,
98
+ parts,
99
+ ...(Object.keys(metadata).length > 0 ? { metadata } : {}),
100
+ };
101
+ }
102
+ function sumUsage(rows) {
103
+ const usages = rows
104
+ .map((row) => row.usage)
105
+ .filter((usage) => usage !== undefined);
106
+ if (usages.length === 0) {
107
+ return undefined;
108
+ }
109
+ const allCostsUnknown = usages.every((usage) => usage.costUsd === null || usage.costUsd === undefined);
110
+ return {
111
+ inputTokens: usages.reduce((sum, usage) => sum + usage.inputTokens, 0),
112
+ outputTokens: usages.reduce((sum, usage) => sum + usage.outputTokens, 0),
113
+ costUsd: allCostsUnknown ? null : usages.reduce((sum, usage) => sum + (usage.costUsd ?? 0), 0),
114
+ };
115
+ }
116
+ //# sourceMappingURL=stored-thread-to-ui-messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stored-thread-to-ui-messages.js","sourceRoot":"","sources":["../../../../src/react/core/stored-thread-to-ui-messages.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type { AgentBackend } from '../backend.js';
2
+ /**
3
+ * What changed about a backend's thread list. `changed` → refetch (a thread was created, or a run
4
+ * settled and the server wrote its title); `title` → the stream announced a title, patch in place.
5
+ */
6
+ export type ThreadsEvent = {
7
+ type: 'changed';
8
+ } | {
9
+ type: 'title';
10
+ threadId: string;
11
+ title: string;
12
+ } | {
13
+ type: 'removed';
14
+ threadId: string;
15
+ };
16
+ type Listener = (event: ThreadsEvent) => void;
17
+ /** Tell every {@link useThreads} on `backend` that its list moved. */
18
+ export declare function notifyThreads(backend: AgentBackend, event: ThreadsEvent): void;
19
+ /** Subscribe to {@link notifyThreads} for `backend`; returns the unsubscribe. */
20
+ export declare function onThreadsEvent(backend: AgentBackend, listener: Listener): () => void;
21
+ export {};
22
+ //# sourceMappingURL=threads-events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"threads-events.d.ts","sourceRoot":"","sources":["../../../../../src/react/core/threads/threads-events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD;;;GAGG;AACH,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1C,KAAK,QAAQ,GAAG,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;AAK9C,sEAAsE;AACtE,wBAAgB,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,CAI9E;AAED,iFAAiF;AACjF,wBAAgB,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,IAAI,CAUpF"}
@@ -0,0 +1,21 @@
1
+ // Keyed by backend so two chats on two servers never refresh each other's sidebars.
2
+ const listeners = new WeakMap();
3
+ /** Tell every {@link useThreads} on `backend` that its list moved. */
4
+ export function notifyThreads(backend, event) {
5
+ for (const listener of listeners.get(backend) ?? []) {
6
+ listener(event);
7
+ }
8
+ }
9
+ /** Subscribe to {@link notifyThreads} for `backend`; returns the unsubscribe. */
10
+ export function onThreadsEvent(backend, listener) {
11
+ let set = listeners.get(backend);
12
+ if (set === undefined) {
13
+ set = new Set();
14
+ listeners.set(backend, set);
15
+ }
16
+ set.add(listener);
17
+ return () => {
18
+ set.delete(listener);
19
+ };
20
+ }
21
+ //# sourceMappingURL=threads-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"threads-events.js","sourceRoot":"","sources":["../../../../../src/react/core/threads/threads-events.ts"],"names":[],"mappings":"AAaA,oFAAoF;AACpF,MAAM,SAAS,GAAG,IAAI,OAAO,EAA+B,CAAC;AAE7D,sEAAsE;AACtE,MAAM,UAAU,aAAa,CAAC,OAAqB,EAAE,KAAmB;IACtE,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACpD,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,cAAc,CAAC,OAAqB,EAAE,QAAkB;IACtE,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACjC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;QAChB,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC9B,CAAC;IACD,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClB,OAAO,GAAG,EAAE;QACV,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,31 @@
1
+ import type { ThreadSummary } from '../../../index.js';
2
+ import type { AgentBackend } from '../backend.js';
3
+ export interface UseThreadsOptions {
4
+ /**
5
+ * The backend to list. Default: the enclosing `<AgentProvider>`'s. Must be STABLE across renders:
6
+ * the list refreshes itself when a chat on the SAME backend creates a thread, settles a run or
7
+ * streams a title.
8
+ */
9
+ backend?: AgentBackend;
10
+ /** `false` holds the first request (e.g. until the user is signed in). Default `true`. */
11
+ enabled?: boolean;
12
+ }
13
+ export interface ThreadsState {
14
+ /** Newest first, as the server orders them. `[]` until loaded. */
15
+ threads: ThreadSummary[];
16
+ isLoading: boolean;
17
+ error: Error | null;
18
+ /** Ask the server again. */
19
+ refresh: () => Promise<void>;
20
+ /** Rename on the server; the list shows the new title at once and rolls back on failure. */
21
+ rename: (id: string, title: string) => Promise<void>;
22
+ /** Delete on the server; the thread leaves the list at once and comes back on failure. */
23
+ remove: (id: string) => Promise<void>;
24
+ }
25
+ /**
26
+ * The actor's conversations, kept current without the host wiring refetches: a chat on the same
27
+ * backend reports thread creation and settled runs (refetch) and streamed titles (patched in
28
+ * place). Headless — it renders nothing.
29
+ */
30
+ export declare function useThreads(options?: UseThreadsOptions): ThreadsState;
31
+ //# sourceMappingURL=use-threads.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-threads.d.ts","sourceRoot":"","sources":["../../../../../src/react/core/threads/use-threads.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAIlD,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,0FAA0F;IAC1F,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,kEAAkE;IAClE,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,4BAA4B;IAC5B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,4FAA4F;IAC5F,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,0FAA0F;IAC1F,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,YAAY,CA8ExE"}
@@ -0,0 +1,81 @@
1
+ import { useCallback, useEffect, useRef, useState } from 'react';
2
+ import { useAgentBackend } from '../provider.js';
3
+ import { notifyThreads, onThreadsEvent } from './threads-events.js';
4
+ /**
5
+ * The actor's conversations, kept current without the host wiring refetches: a chat on the same
6
+ * backend reports thread creation and settled runs (refetch) and streamed titles (patched in
7
+ * place). Headless — it renders nothing.
8
+ */
9
+ export function useThreads(options = {}) {
10
+ const { enabled = true } = options;
11
+ const backend = useAgentBackend(options.backend);
12
+ const [threads, setThreads] = useState([]);
13
+ const [isLoading, setIsLoading] = useState(enabled);
14
+ const [error, setError] = useState(null);
15
+ const threadsRef = useRef(threads);
16
+ threadsRef.current = threads;
17
+ // Only the newest request may write: a slow response must not overwrite a newer one.
18
+ const generation = useRef(0);
19
+ const refresh = useCallback(async () => {
20
+ const mine = ++generation.current;
21
+ setIsLoading(true);
22
+ try {
23
+ const list = await backend.listThreads();
24
+ if (mine !== generation.current)
25
+ return;
26
+ setThreads(list);
27
+ setError(null);
28
+ }
29
+ catch (caught) {
30
+ if (mine !== generation.current)
31
+ return;
32
+ setError(caught instanceof Error ? caught : new Error(String(caught)));
33
+ }
34
+ finally {
35
+ if (mine === generation.current)
36
+ setIsLoading(false);
37
+ }
38
+ }, [backend]);
39
+ useEffect(() => {
40
+ if (!enabled)
41
+ return;
42
+ void refresh();
43
+ return onThreadsEvent(backend, (event) => {
44
+ if (event.type === 'title') {
45
+ setThreads((current) => current.map((thread) => thread.id === event.threadId ? { ...thread, title: event.title } : thread));
46
+ }
47
+ else if (event.type === 'removed') {
48
+ setThreads((current) => current.filter((thread) => thread.id !== event.threadId));
49
+ }
50
+ else {
51
+ void refresh();
52
+ }
53
+ });
54
+ }, [backend, enabled, refresh]);
55
+ const rename = useCallback(async (id, title) => {
56
+ const before = threadsRef.current;
57
+ setThreads((current) => current.map((thread) => (thread.id === id ? { ...thread, title } : thread)));
58
+ try {
59
+ await backend.updateThread(id, { title });
60
+ notifyThreads(backend, { type: 'title', threadId: id, title });
61
+ }
62
+ catch (caught) {
63
+ setThreads(before);
64
+ throw caught;
65
+ }
66
+ }, [backend]);
67
+ const remove = useCallback(async (id) => {
68
+ const before = threadsRef.current;
69
+ setThreads((current) => current.filter((thread) => thread.id !== id));
70
+ try {
71
+ await backend.deleteThread(id);
72
+ notifyThreads(backend, { type: 'removed', threadId: id });
73
+ }
74
+ catch (caught) {
75
+ setThreads(before);
76
+ throw caught;
77
+ }
78
+ }, [backend]);
79
+ return { threads, isLoading, error, refresh, rename, remove };
80
+ }
81
+ //# sourceMappingURL=use-threads.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-threads.js","sourceRoot":"","sources":["../../../../../src/react/core/threads/use-threads.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { type AnyToolUIPart, type ApprovalBlockOptions, type ApproveOptions, type BuildBlocksOptions, buildTranscriptBlocks, type ChatStatus, describeTimestamp, describeUsage, type ElicitationBlockOptions, extractMessageText, formatRelativeTime, type MessageUsageInfo, type RetrievedPassage, type SettleAction, type TimestampInfo, type TranscriptApproval, type TranscriptApprovalStatus, type TranscriptBlock, type TranscriptElicitationBlock, type TranscriptElicitationOutcome, type TranscriptFile, type TranscriptFilesBlock, type TranscriptQuestion, type TranscriptQuestionOption, type TranscriptReasoningBlock, type TranscriptSettleState, type TranscriptSource, type TranscriptSourcesBlock, type TranscriptTextBlock, type TranscriptToolBlock, type TranscriptToolCall, type TranscriptUiBlock, type UsageSummary, } from './model.js';
2
+ export { type AnswerInput, type ApproveInput, type ChatTranscript, type EditSubmitInput, type MessageActionInput, type RejectInput, type SkipInput, type TranscriptActionState, type TranscriptCopyState, type TranscriptEditState, type TranscriptItem, type TranscriptItemOptions, type TranscriptQueuedFile, type TranscriptQueuedItem, type TranscriptStopState, type TranscriptWindow, type UseChatTranscriptOptions, type UseTranscriptItemOptions, useChatTranscript, useTranscriptItem, } from './use-chat-transcript.js';
3
+ export { type StickToBottom, type StickToBottomOptions, useStickToBottom, } from './use-stick-to-bottom.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/react/core/transcript/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,qBAAqB,EACrB,KAAK,UAAU,EACf,iBAAiB,EACjB,aAAa,EACb,KAAK,uBAAuB,EAC5B,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,eAAe,EACpB,KAAK,0BAA0B,EAC/B,KAAK,4BAA4B,EACjC,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,YAAY,GAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,gBAAgB,GACjB,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { buildTranscriptBlocks, describeTimestamp, describeUsage, extractMessageText, formatRelativeTime, } from './model.js';
2
+ export { useChatTranscript, useTranscriptItem, } from './use-chat-transcript.js';
3
+ export { useStickToBottom, } from './use-stick-to-bottom.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/react/core/transcript/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,qBAAqB,EAErB,iBAAiB,EACjB,aAAa,EAEb,kBAAkB,EAClB,kBAAkB,GAuBnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAmBL,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAGL,gBAAgB,GACjB,MAAM,0BAA0B,CAAC"}