@tdesign-react/chat 1.1.0-alpha.16 → 1.1.0-alpha.18

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 (526) hide show
  1. package/es/_chunks/{dep-3e40d789.js → dep-5d7a98b7.js} +2 -2
  2. package/es/_chunks/{dep-3e40d789.js.map → dep-5d7a98b7.js.map} +1 -1
  3. package/es/_chunks/{dep-1ca64fef.js → dep-907337f3.js} +2 -2
  4. package/es/_chunks/{dep-93283bbd.js.map → dep-907337f3.js.map} +1 -1
  5. package/es/_chunks/{dep-dfe91b1f.js → dep-e1e84ed7.js} +1 -1
  6. package/es/_chunks/{dep-13fe70ea.js.map → dep-e1e84ed7.js.map} +1 -1
  7. package/es/_chunks/{dep-076af7c3.js → dep-ee7a509c.js} +3 -3
  8. package/es/_chunks/{dep-076af7c3.js.map → dep-ee7a509c.js.map} +1 -1
  9. package/es/_util/reactify.js +1 -1
  10. package/es/_util/useDynamicStyle.js +1 -1
  11. package/es/attachments/index.js +1 -1
  12. package/es/chat-actionbar/index.js +1 -1
  13. package/es/chat-engine/components/activity/index.js +2 -2
  14. package/es/chat-engine/components/activity/registry.js +1 -1
  15. package/es/chat-engine/components/activity/render.js +2 -2
  16. package/es/chat-engine/components/activity/types.js +1 -1
  17. package/es/chat-engine/components/index.js +12 -6
  18. package/es/chat-engine/components/index.js.map +1 -1
  19. package/es/chat-engine/components/json-render/catalog/atomic/button.js +1 -1
  20. package/es/chat-engine/components/json-render/catalog/atomic/card.js +1 -1
  21. package/es/chat-engine/components/json-render/catalog/atomic/input.js +12 -6
  22. package/es/chat-engine/components/json-render/catalog/atomic/input.js.map +1 -1
  23. package/es/chat-engine/components/json-render/catalog/atomic/layout.js +1 -1
  24. package/es/chat-engine/components/json-render/catalog/atomic/text.js +1 -1
  25. package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.js +1 -1
  26. package/es/chat-engine/components/json-render/contexts/actions.js +2 -2
  27. package/es/chat-engine/components/json-render/contexts/data.js +2 -2
  28. package/es/chat-engine/components/json-render/contexts/index.js +2 -2
  29. package/es/chat-engine/components/json-render/contexts/store.js +1 -1
  30. package/es/chat-engine/components/json-render/contexts/tree.js +1 -1
  31. package/es/chat-engine/components/json-render/contexts/validation.js +2 -2
  32. package/es/chat-engine/components/json-render/contexts/visibility.js +2 -2
  33. package/es/chat-engine/components/json-render/index.js +12 -6
  34. package/es/chat-engine/components/json-render/index.js.map +1 -1
  35. package/es/chat-engine/components/json-render/registry/a2ui-binding.js +12 -6
  36. package/es/chat-engine/components/json-render/registry/a2ui-binding.js.map +1 -1
  37. package/es/chat-engine/components/json-render/registry/a2ui-registry.js +12 -6
  38. package/es/chat-engine/components/json-render/registry/a2ui-registry.js.map +1 -1
  39. package/es/chat-engine/components/json-render/registry/config.js +12 -6
  40. package/es/chat-engine/components/json-render/registry/config.js.map +1 -1
  41. package/es/chat-engine/components/json-render/registry/index.js +12 -6
  42. package/es/chat-engine/components/json-render/registry/index.js.map +1 -1
  43. package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.js +11 -5
  44. package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.js.map +1 -1
  45. package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.js +3 -3
  46. package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.js +2 -2
  47. package/es/chat-engine/components/json-render/renderer/_index.js +2 -2
  48. package/es/chat-engine/components/json-render/types.js +1 -1
  49. package/es/chat-engine/components/provider/agent-state.js +10 -4
  50. package/es/chat-engine/components/provider/agent-state.js.map +1 -1
  51. package/es/chat-engine/components/shared/ComponentErrorBoundary.js +1 -1
  52. package/es/chat-engine/components/shared/createRegistry.js +1 -1
  53. package/es/chat-engine/components/shared/index.js +1 -1
  54. package/es/chat-engine/components/shared/useRegistrationListener.js +1 -1
  55. package/es/chat-engine/components/toolcall/index.js +10 -4
  56. package/es/chat-engine/components/toolcall/index.js.map +1 -1
  57. package/es/chat-engine/components/toolcall/registry.js +1 -1
  58. package/es/chat-engine/components/toolcall/render.js +9 -3
  59. package/es/chat-engine/components/toolcall/render.js.map +1 -1
  60. package/es/chat-engine/components/toolcall/types.js +1 -1
  61. package/es/chat-engine/core/adapters/a2ui/index.js +1 -1
  62. package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.js +1 -1
  63. package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.js +1 -1
  64. package/es/chat-engine/core/adapters/a2ui/processor/DataStore.js +1 -1
  65. package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.js +1 -1
  66. package/es/chat-engine/core/adapters/a2ui/types/index.js +1 -1
  67. package/es/chat-engine/core/adapters/a2ui/types/types.js +1 -1
  68. package/es/chat-engine/core/adapters/a2ui/utils/binding.js +1 -1
  69. package/es/chat-engine/core/adapters/a2ui/utils/index.js +1 -1
  70. package/es/chat-engine/core/adapters/a2ui/utils/validation.js +1 -1
  71. package/es/chat-engine/core/adapters/agui/ActivityManager.js +1 -1
  72. package/es/chat-engine/core/adapters/agui/StateManager.js +1 -1
  73. package/es/chat-engine/core/adapters/agui/event-mapper.js +1 -1
  74. package/es/chat-engine/core/adapters/agui/index.js +21 -52
  75. package/es/chat-engine/core/adapters/agui/index.js.map +1 -1
  76. package/es/chat-engine/core/adapters/agui/types/events.js +1 -1
  77. package/es/chat-engine/core/adapters/agui/types/index.js +1 -1
  78. package/es/chat-engine/core/adapters/agui/utils.d.ts +25 -2
  79. package/es/chat-engine/core/adapters/agui/utils.js +52 -12
  80. package/es/chat-engine/core/adapters/agui/utils.js.map +1 -1
  81. package/es/chat-engine/core/adapters/index.js +3 -1
  82. package/es/chat-engine/core/adapters/index.js.map +1 -1
  83. package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.js +1 -1
  84. package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.js +1 -1
  85. package/es/chat-engine/core/adapters/json-render/engine.js +1 -1
  86. package/es/chat-engine/core/adapters/json-render/index.js +1 -1
  87. package/es/chat-engine/core/adapters/json-render/types/a2ui.js +1 -1
  88. package/es/chat-engine/core/adapters/json-render/types/core.js +1 -1
  89. package/es/chat-engine/core/adapters/json-render/types/index.js +1 -1
  90. package/es/chat-engine/core/adapters/openclaw/device-key-manager.d.ts +65 -0
  91. package/es/chat-engine/core/adapters/openclaw/device-key-manager.js +375 -0
  92. package/es/chat-engine/core/adapters/openclaw/device-key-manager.js.map +1 -0
  93. package/es/chat-engine/core/adapters/openclaw/event-mapper.d.ts +36 -14
  94. package/es/chat-engine/core/adapters/openclaw/event-mapper.js +37 -21
  95. package/es/chat-engine/core/adapters/openclaw/event-mapper.js.map +1 -1
  96. package/es/chat-engine/core/adapters/openclaw/history-converter.d.ts +120 -0
  97. package/es/chat-engine/core/adapters/openclaw/history-converter.js +251 -0
  98. package/es/chat-engine/core/adapters/openclaw/history-converter.js.map +1 -0
  99. package/es/chat-engine/core/adapters/openclaw/index.d.ts +41 -0
  100. package/es/chat-engine/core/adapters/openclaw/index.js +146 -46
  101. package/es/chat-engine/core/adapters/openclaw/index.js.map +1 -1
  102. package/es/chat-engine/core/adapters/openclaw/rpc-handler.d.ts +13 -0
  103. package/es/chat-engine/core/adapters/openclaw/rpc-handler.js +20 -1
  104. package/es/chat-engine/core/adapters/openclaw/rpc-handler.js.map +1 -1
  105. package/es/chat-engine/core/adapters/openclaw/types/config.d.ts +17 -18
  106. package/es/chat-engine/core/adapters/openclaw/types/config.js +4 -2
  107. package/es/chat-engine/core/adapters/openclaw/types/config.js.map +1 -1
  108. package/es/chat-engine/core/adapters/openclaw/types/events.d.ts +5 -1
  109. package/es/chat-engine/core/adapters/openclaw/types/events.js +3 -1
  110. package/es/chat-engine/core/adapters/openclaw/types/events.js.map +1 -1
  111. package/es/chat-engine/core/adapters/openclaw/types/index.js +1 -1
  112. package/es/chat-engine/core/adapters/openclaw/types/messages.d.ts +22 -0
  113. package/es/chat-engine/core/adapters/openclaw/types/messages.js +1 -1
  114. package/es/chat-engine/core/adapters/openclaw/types/messages.js.map +1 -1
  115. package/es/chat-engine/core/adapters/openclaw/utils.js +1 -1
  116. package/es/chat-engine/core/adapters/openclaw/utils.js.map +1 -1
  117. package/es/chat-engine/core/adapters/shared/activity-manager.js +1 -1
  118. package/es/chat-engine/core/adapters/shared/content-factory.js +1 -1
  119. package/es/chat-engine/core/adapters/shared/index.js +1 -1
  120. package/es/chat-engine/core/adapters/shared/merge-utils.js +1 -1
  121. package/es/chat-engine/core/event-bus/ChatEventBus.js +1 -1
  122. package/es/chat-engine/core/event-bus/index.js +1 -1
  123. package/es/chat-engine/core/event-bus/types.js +1 -1
  124. package/es/chat-engine/core/index.d.ts +27 -25
  125. package/es/chat-engine/core/index.js +231 -359
  126. package/es/chat-engine/core/index.js.map +1 -1
  127. package/es/chat-engine/core/processor/index.d.ts +32 -0
  128. package/es/chat-engine/core/processor/index.js +76 -1
  129. package/es/chat-engine/core/processor/index.js.map +1 -1
  130. package/es/chat-engine/core/server/batch-client.js +1 -1
  131. package/es/chat-engine/core/server/connection-manager.js +1 -1
  132. package/es/chat-engine/core/server/errors.js +1 -1
  133. package/es/chat-engine/core/server/index.js +1 -21
  134. package/es/chat-engine/core/server/index.js.map +1 -1
  135. package/es/chat-engine/core/server/llm-service.d.ts +7 -7
  136. package/es/chat-engine/core/server/llm-service.js +13 -140
  137. package/es/chat-engine/core/server/llm-service.js.map +1 -1
  138. package/es/chat-engine/core/server/sse-client.js +1 -1
  139. package/es/chat-engine/core/server/sse-parser.js +1 -1
  140. package/es/chat-engine/core/server/types.js +1 -1
  141. package/es/chat-engine/core/server/websocket-client.d.ts +2 -0
  142. package/es/chat-engine/core/server/websocket-client.js +19 -3
  143. package/es/chat-engine/core/server/websocket-client.js.map +1 -1
  144. package/es/chat-engine/core/store/message.js +2 -2
  145. package/es/chat-engine/core/store/model.js +2 -2
  146. package/es/chat-engine/core/store/reactiveState.js +2 -2
  147. package/es/chat-engine/core/stream-handlers/agui-stream-handler.d.ts +24 -0
  148. package/es/chat-engine/core/stream-handlers/agui-stream-handler.js +140 -0
  149. package/es/chat-engine/core/stream-handlers/agui-stream-handler.js.map +1 -0
  150. package/es/chat-engine/core/stream-handlers/default-stream-handler.d.ts +7 -0
  151. package/es/chat-engine/core/stream-handlers/default-stream-handler.js +77 -0
  152. package/es/chat-engine/core/stream-handlers/default-stream-handler.js.map +1 -0
  153. package/es/chat-engine/core/stream-handlers/index.d.ts +21 -0
  154. package/es/chat-engine/core/stream-handlers/index.js +72 -0
  155. package/es/chat-engine/core/stream-handlers/index.js.map +1 -0
  156. package/es/chat-engine/core/stream-handlers/openclaw-stream-handler.d.ts +64 -0
  157. package/es/chat-engine/core/stream-handlers/openclaw-stream-handler.js +320 -0
  158. package/es/chat-engine/core/stream-handlers/openclaw-stream-handler.js.map +1 -0
  159. package/es/chat-engine/core/stream-handlers/types.d.ts +47 -0
  160. package/es/chat-engine/core/stream-handlers/types.js +7 -0
  161. package/es/chat-engine/core/stream-handlers/types.js.map +1 -0
  162. package/es/chat-engine/core/type.d.ts +18 -0
  163. package/es/chat-engine/core/type.js +1 -1
  164. package/es/chat-engine/core/utils/eventEmitter.js +1 -1
  165. package/es/chat-engine/core/utils/immutable-patch.js +1 -1
  166. package/es/chat-engine/core/utils/index.js +1 -1
  167. package/es/chat-engine/core/utils/json-patch/helpers.js +1 -1
  168. package/es/chat-engine/core/utils/json-patch/index.js +1 -1
  169. package/es/chat-engine/core/utils/logger.js +1 -1
  170. package/es/chat-engine/core/utils/performance.js +1 -1
  171. package/es/chat-engine/hooks/index.js +10 -4
  172. package/es/chat-engine/hooks/index.js.map +1 -1
  173. package/es/chat-engine/hooks/useAgentActivity.js +1 -1
  174. package/es/chat-engine/hooks/useAgentState.js +10 -4
  175. package/es/chat-engine/hooks/useAgentState.js.map +1 -1
  176. package/es/chat-engine/hooks/useAgentToolcall.js +1 -1
  177. package/es/chat-engine/hooks/useChat.js +45 -15
  178. package/es/chat-engine/hooks/useChat.js.map +1 -1
  179. package/es/chat-engine/index.js +12 -6
  180. package/es/chat-engine/index.js.map +1 -1
  181. package/es/chat-filecard/index.js +1 -1
  182. package/es/chat-loading/index.js +1 -1
  183. package/es/chat-markdown/index.js +1 -1
  184. package/es/chat-message/index.js +1 -1
  185. package/es/chat-sender/index.js +1 -1
  186. package/es/chat-thinking/index.js +1 -1
  187. package/es/chatbot/index.js +1 -1
  188. package/es/index.js +10 -4
  189. package/es/index.js.map +1 -1
  190. package/es/style/index.js +1 -1
  191. package/package.json +1 -1
  192. package/es/_chunks/dep-1007ac80.js +0 -205
  193. package/es/_chunks/dep-1007ac80.js.map +0 -1
  194. package/es/_chunks/dep-13fe70ea.js +0 -438
  195. package/es/_chunks/dep-16520c2b.js +0 -1247
  196. package/es/_chunks/dep-16520c2b.js.map +0 -1
  197. package/es/_chunks/dep-1743bd61.js +0 -438
  198. package/es/_chunks/dep-1743bd61.js.map +0 -1
  199. package/es/_chunks/dep-1ca64fef.js.map +0 -1
  200. package/es/_chunks/dep-24472232.js +0 -839
  201. package/es/_chunks/dep-24472232.js.map +0 -1
  202. package/es/_chunks/dep-2bfe72cb.js +0 -438
  203. package/es/_chunks/dep-2bfe72cb.js.map +0 -1
  204. package/es/_chunks/dep-3864b369.js +0 -839
  205. package/es/_chunks/dep-3864b369.js.map +0 -1
  206. package/es/_chunks/dep-4dedfbef.js +0 -438
  207. package/es/_chunks/dep-4dedfbef.js.map +0 -1
  208. package/es/_chunks/dep-56f5e08e.js +0 -448
  209. package/es/_chunks/dep-56f5e08e.js.map +0 -1
  210. package/es/_chunks/dep-58d90dfe.js +0 -438
  211. package/es/_chunks/dep-58d90dfe.js.map +0 -1
  212. package/es/_chunks/dep-5b6b17d0.js +0 -169
  213. package/es/_chunks/dep-5b6b17d0.js.map +0 -1
  214. package/es/_chunks/dep-5e2400d2.js +0 -438
  215. package/es/_chunks/dep-5e2400d2.js.map +0 -1
  216. package/es/_chunks/dep-60f2a734.js +0 -169
  217. package/es/_chunks/dep-60f2a734.js.map +0 -1
  218. package/es/_chunks/dep-688e4aaa.js +0 -438
  219. package/es/_chunks/dep-688e4aaa.js.map +0 -1
  220. package/es/_chunks/dep-771678df.js +0 -438
  221. package/es/_chunks/dep-771678df.js.map +0 -1
  222. package/es/_chunks/dep-870f0d35.js +0 -839
  223. package/es/_chunks/dep-870f0d35.js.map +0 -1
  224. package/es/_chunks/dep-93283bbd.js +0 -1247
  225. package/es/_chunks/dep-96eca06f.js +0 -169
  226. package/es/_chunks/dep-96eca06f.js.map +0 -1
  227. package/es/_chunks/dep-98d23dfa.js +0 -169
  228. package/es/_chunks/dep-98d23dfa.js.map +0 -1
  229. package/es/_chunks/dep-991f7c12.js +0 -1247
  230. package/es/_chunks/dep-991f7c12.js.map +0 -1
  231. package/es/_chunks/dep-b4eec30f.js +0 -1247
  232. package/es/_chunks/dep-b4eec30f.js.map +0 -1
  233. package/es/_chunks/dep-ba3bd553.js +0 -169
  234. package/es/_chunks/dep-ba3bd553.js.map +0 -1
  235. package/es/_chunks/dep-bcb234a1.js +0 -839
  236. package/es/_chunks/dep-bcb234a1.js.map +0 -1
  237. package/es/_chunks/dep-dbdfe7d6.js +0 -169
  238. package/es/_chunks/dep-dbdfe7d6.js.map +0 -1
  239. package/es/_chunks/dep-de8ac730.js +0 -1247
  240. package/es/_chunks/dep-de8ac730.js.map +0 -1
  241. package/es/_chunks/dep-dfe91b1f.js.map +0 -1
  242. package/es/_chunks/dep-e9dbff09.js +0 -1247
  243. package/es/_chunks/dep-e9dbff09.js.map +0 -1
  244. package/es/_chunks/dep-ebc4cf30.js +0 -1247
  245. package/es/_chunks/dep-ebc4cf30.js.map +0 -1
  246. package/es/_chunks/dep-f2051ebd.js +0 -839
  247. package/es/_chunks/dep-f2051ebd.js.map +0 -1
  248. package/es/_chunks/dep-f691a67e.js +0 -438
  249. package/es/_chunks/dep-f691a67e.js.map +0 -1
  250. package/es/_chunks/dep-f8016301.js +0 -169
  251. package/es/_chunks/dep-f8016301.js.map +0 -1
  252. package/es/chat-actionbar/_example-js/base.d.ts +0 -2
  253. package/es/chat-actionbar/_example-js/custom.d.ts +0 -2
  254. package/es/chat-actionbar/_example-js/style.d.ts +0 -2
  255. package/es/chat-attachments/_example-js/base.d.ts +0 -2
  256. package/es/chat-attachments/_example-js/scroll-x.d.ts +0 -2
  257. package/es/chat-attachments/_example-js/scroll-y.d.ts +0 -2
  258. package/es/chat-attachments/index.d.ts +0 -5
  259. package/es/chat-attachments/index.js +0 -26
  260. package/es/chat-attachments/index.js.map +0 -1
  261. package/es/chat-engine/_example-js/agui-basic.d.ts +0 -10
  262. package/es/chat-engine/_example-js/agui-comprehensive.d.ts +0 -2
  263. package/es/chat-engine/_example-js/agui-test.d.ts +0 -11
  264. package/es/chat-engine/_example-js/agui-toolcall.d.ts +0 -5
  265. package/es/chat-engine/_example-js/agui-videoclip.d.ts +0 -8
  266. package/es/chat-engine/_example-js/agui.d.ts +0 -1
  267. package/es/chat-engine/_example-js/basic.d.ts +0 -9
  268. package/es/chat-engine/_example-js/components/HotelCard.d.ts +0 -3
  269. package/es/chat-engine/_example-js/components/HumanInputForm.d.ts +0 -6
  270. package/es/chat-engine/_example-js/components/HumanInputResult.d.ts +0 -3
  271. package/es/chat-engine/_example-js/components/ItineraryCard.d.ts +0 -3
  272. package/es/chat-engine/_example-js/components/PlanningStatePanel.d.ts +0 -4
  273. package/es/chat-engine/_example-js/components/Toolcall.d.ts +0 -4
  274. package/es/chat-engine/_example-js/components/WeatherCard.d.ts +0 -3
  275. package/es/chat-engine/_example-js/components/login.d.ts +0 -1
  276. package/es/chat-engine/_example-js/comprehensive.d.ts +0 -12
  277. package/es/chat-engine/_example-js/custom-content.d.ts +0 -1
  278. package/es/chat-engine/_example-js/hookComponent.d.ts +0 -1
  279. package/es/chat-engine/_example-js/initial-messages.d.ts +0 -9
  280. package/es/chat-engine/_example-js/instance-methods.d.ts +0 -13
  281. package/es/chat-engine/_example-js/travel-actions.d.ts +0 -91
  282. package/es/chat-engine/_example-js/travelToolcall.d.ts +0 -1
  283. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.d.ts +0 -196
  284. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js +0 -301
  285. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js.map +0 -1
  286. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.d.ts +0 -37
  287. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js +0 -116
  288. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js.map +0 -1
  289. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.d.ts +0 -42
  290. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js +0 -113
  291. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js.map +0 -1
  292. package/es/chat-engine/components/a2ui/A2UISkeleton.d.ts +0 -60
  293. package/es/chat-engine/components/a2ui/A2UISkeleton.js +0 -197
  294. package/es/chat-engine/components/a2ui/A2UISkeleton.js.map +0 -1
  295. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.d.ts +0 -44
  296. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js +0 -139
  297. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js.map +0 -1
  298. package/es/chat-engine/components/a2ui/containers/A2UICard.d.ts +0 -22
  299. package/es/chat-engine/components/a2ui/containers/A2UICard.js +0 -82
  300. package/es/chat-engine/components/a2ui/containers/A2UICard.js.map +0 -1
  301. package/es/chat-engine/components/a2ui/containers/A2UIColumn.d.ts +0 -18
  302. package/es/chat-engine/components/a2ui/containers/A2UIColumn.js +0 -81
  303. package/es/chat-engine/components/a2ui/containers/A2UIColumn.js.map +0 -1
  304. package/es/chat-engine/components/a2ui/containers/A2UIList.d.ts +0 -14
  305. package/es/chat-engine/components/a2ui/containers/A2UIList.js +0 -62
  306. package/es/chat-engine/components/a2ui/containers/A2UIList.js.map +0 -1
  307. package/es/chat-engine/components/a2ui/containers/A2UIRow.d.ts +0 -20
  308. package/es/chat-engine/components/a2ui/containers/A2UIRow.js +0 -84
  309. package/es/chat-engine/components/a2ui/containers/A2UIRow.js.map +0 -1
  310. package/es/chat-engine/components/a2ui/containers/A2UITabs.d.ts +0 -14
  311. package/es/chat-engine/components/a2ui/containers/A2UITabs.js +0 -69
  312. package/es/chat-engine/components/a2ui/containers/A2UITabs.js.map +0 -1
  313. package/es/chat-engine/components/a2ui/containers/index.d.ts +0 -8
  314. package/es/chat-engine/components/a2ui/containers/index.js +0 -30
  315. package/es/chat-engine/components/a2ui/containers/index.js.map +0 -1
  316. package/es/chat-engine/components/a2ui/index.d.ts +0 -11
  317. package/es/chat-engine/components/a2ui/index.js +0 -62
  318. package/es/chat-engine/components/a2ui/index.js.map +0 -1
  319. package/es/chat-engine/components/a2ui/primitives/A2UIButton.d.ts +0 -33
  320. package/es/chat-engine/components/a2ui/primitives/A2UIButton.js +0 -80
  321. package/es/chat-engine/components/a2ui/primitives/A2UIButton.js.map +0 -1
  322. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.d.ts +0 -12
  323. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js +0 -43
  324. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js.map +0 -1
  325. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.d.ts +0 -50
  326. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js +0 -54
  327. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js.map +0 -1
  328. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.d.ts +0 -13
  329. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js +0 -89
  330. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js.map +0 -1
  331. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.d.ts +0 -12
  332. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js +0 -25
  333. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js.map +0 -1
  334. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.d.ts +0 -13
  335. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js +0 -138942
  336. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js.map +0 -1
  337. package/es/chat-engine/components/a2ui/primitives/A2UIImage.d.ts +0 -12
  338. package/es/chat-engine/components/a2ui/primitives/A2UIImage.js +0 -75
  339. package/es/chat-engine/components/a2ui/primitives/A2UIImage.js.map +0 -1
  340. package/es/chat-engine/components/a2ui/primitives/A2UIInput.d.ts +0 -20
  341. package/es/chat-engine/components/a2ui/primitives/A2UIInput.js +0 -63
  342. package/es/chat-engine/components/a2ui/primitives/A2UIInput.js.map +0 -1
  343. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.d.ts +0 -56
  344. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js +0 -64
  345. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js.map +0 -1
  346. package/es/chat-engine/components/a2ui/primitives/A2UISlider.d.ts +0 -12
  347. package/es/chat-engine/components/a2ui/primitives/A2UISlider.js +0 -55
  348. package/es/chat-engine/components/a2ui/primitives/A2UISlider.js.map +0 -1
  349. package/es/chat-engine/components/a2ui/primitives/A2UIText.d.ts +0 -12
  350. package/es/chat-engine/components/a2ui/primitives/A2UIText.js +0 -104
  351. package/es/chat-engine/components/a2ui/primitives/A2UIText.js.map +0 -1
  352. package/es/chat-engine/components/a2ui/primitives/A2UITextField.d.ts +0 -12
  353. package/es/chat-engine/components/a2ui/primitives/A2UITextField.js +0 -80
  354. package/es/chat-engine/components/a2ui/primitives/A2UITextField.js.map +0 -1
  355. package/es/chat-engine/components/a2ui/primitives/index.d.ts +0 -15
  356. package/es/chat-engine/components/a2ui/primitives/index.js +0 -39
  357. package/es/chat-engine/components/a2ui/primitives/index.js.map +0 -1
  358. package/es/chat-engine/components/a2ui/registry.d.ts +0 -35
  359. package/es/chat-engine/components/a2ui/registry.js +0 -74
  360. package/es/chat-engine/components/a2ui/registry.js.map +0 -1
  361. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.d.ts +0 -36
  362. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js +0 -36
  363. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js.map +0 -1
  364. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.d.ts +0 -46
  365. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js +0 -36
  366. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js.map +0 -1
  367. package/es/chat-engine/components/json-render/SurfaceStateManager.d.ts +0 -113
  368. package/es/chat-engine/components/json-render/SurfaceStateManager.js +0 -195
  369. package/es/chat-engine/components/json-render/SurfaceStateManager.js.map +0 -1
  370. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.d.ts +0 -49
  371. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js +0 -307
  372. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js.map +0 -1
  373. package/es/chat-engine/components/json-render/adapters/a2ui-types.d.ts +0 -96
  374. package/es/chat-engine/components/json-render/adapters/a2ui-types.js +0 -7
  375. package/es/chat-engine/components/json-render/adapters/a2ui-types.js.map +0 -1
  376. package/es/chat-engine/components/json-render/adapters/index.d.ts +0 -7
  377. package/es/chat-engine/components/json-render/adapters/index.js +0 -11
  378. package/es/chat-engine/components/json-render/adapters/index.js.map +0 -1
  379. package/es/chat-engine/components/json-render/catalog/a2ui-binding.d.ts +0 -64
  380. package/es/chat-engine/components/json-render/catalog/a2ui-binding.js +0 -36
  381. package/es/chat-engine/components/json-render/catalog/a2ui-binding.js.map +0 -1
  382. package/es/chat-engine/components/json-render/catalog/a2ui-registry.d.ts +0 -78
  383. package/es/chat-engine/components/json-render/catalog/a2ui-registry.js +0 -36
  384. package/es/chat-engine/components/json-render/catalog/a2ui-registry.js.map +0 -1
  385. package/es/chat-engine/components/json-render/catalog/button.d.ts +0 -14
  386. package/es/chat-engine/components/json-render/catalog/button.js +0 -71
  387. package/es/chat-engine/components/json-render/catalog/button.js.map +0 -1
  388. package/es/chat-engine/components/json-render/catalog/card.d.ts +0 -11
  389. package/es/chat-engine/components/json-render/catalog/card.js +0 -57
  390. package/es/chat-engine/components/json-render/catalog/card.js.map +0 -1
  391. package/es/chat-engine/components/json-render/catalog/index.d.ts +0 -128
  392. package/es/chat-engine/components/json-render/catalog/index.js +0 -36
  393. package/es/chat-engine/components/json-render/catalog/index.js.map +0 -1
  394. package/es/chat-engine/components/json-render/catalog/input.d.ts +0 -20
  395. package/es/chat-engine/components/json-render/catalog/input.js +0 -36
  396. package/es/chat-engine/components/json-render/catalog/input.js.map +0 -1
  397. package/es/chat-engine/components/json-render/catalog/layout.d.ts +0 -44
  398. package/es/chat-engine/components/json-render/catalog/layout.js +0 -129
  399. package/es/chat-engine/components/json-render/catalog/layout.js.map +0 -1
  400. package/es/chat-engine/components/json-render/catalog/text.d.ts +0 -11
  401. package/es/chat-engine/components/json-render/catalog/text.js +0 -31
  402. package/es/chat-engine/components/json-render/catalog/text.js.map +0 -1
  403. package/es/chat-engine/components/json-render/catalog.d.ts +0 -614
  404. package/es/chat-engine/components/json-render/catalog.js +0 -779
  405. package/es/chat-engine/components/json-render/catalog.js.map +0 -1
  406. package/es/chat-engine/components/json-render/config.d.ts +0 -154
  407. package/es/chat-engine/components/json-render/config.js +0 -36
  408. package/es/chat-engine/components/json-render/config.js.map +0 -1
  409. package/es/chat-engine/components/json-render/engine.d.ts +0 -58
  410. package/es/chat-engine/components/json-render/engine.js +0 -88
  411. package/es/chat-engine/components/json-render/engine.js.map +0 -1
  412. package/es/chat-engine/components/json-render/performance.d.ts +0 -91
  413. package/es/chat-engine/components/json-render/performance.js +0 -135
  414. package/es/chat-engine/components/json-render/performance.js.map +0 -1
  415. package/es/chat-engine/components/json-render/renderer/index.d.ts +0 -71
  416. package/es/chat-engine/components/json-render/renderer/index.js +0 -125
  417. package/es/chat-engine/components/json-render/renderer/index.js.map +0 -1
  418. package/es/chat-engine/components/json-render/renderer.d.ts +0 -71
  419. package/es/chat-engine/components/json-render/renderer.js +0 -124
  420. package/es/chat-engine/components/json-render/renderer.js.map +0 -1
  421. package/es/chat-engine/core/a2ui/index.d.ts +0 -10
  422. package/es/chat-engine/core/a2ui/index.js +0 -24
  423. package/es/chat-engine/core/a2ui/index.js.map +0 -1
  424. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.d.ts +0 -197
  425. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js +0 -438
  426. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js.map +0 -1
  427. package/es/chat-engine/core/a2ui/processor/ComponentTree.d.ts +0 -53
  428. package/es/chat-engine/core/a2ui/processor/ComponentTree.js +0 -158
  429. package/es/chat-engine/core/a2ui/processor/ComponentTree.js.map +0 -1
  430. package/es/chat-engine/core/a2ui/processor/DataStore.d.ts +0 -63
  431. package/es/chat-engine/core/a2ui/processor/DataStore.js +0 -172
  432. package/es/chat-engine/core/a2ui/processor/DataStore.js.map +0 -1
  433. package/es/chat-engine/core/a2ui/processor/PathResolver.d.ts +0 -47
  434. package/es/chat-engine/core/a2ui/processor/PathResolver.js +0 -99
  435. package/es/chat-engine/core/a2ui/processor/PathResolver.js.map +0 -1
  436. package/es/chat-engine/core/a2ui/types/index.d.ts +0 -4
  437. package/es/chat-engine/core/a2ui/types/index.js +0 -9
  438. package/es/chat-engine/core/a2ui/types/index.js.map +0 -1
  439. package/es/chat-engine/core/a2ui/types/types.d.ts +0 -770
  440. package/es/chat-engine/core/a2ui/types/types.js +0 -104
  441. package/es/chat-engine/core/a2ui/types/types.js.map +0 -1
  442. package/es/chat-engine/core/a2ui/utils/binding.d.ts +0 -34
  443. package/es/chat-engine/core/a2ui/utils/binding.js +0 -1784
  444. package/es/chat-engine/core/a2ui/utils/binding.js.map +0 -1
  445. package/es/chat-engine/core/a2ui/utils/index.d.ts +0 -5
  446. package/es/chat-engine/core/a2ui/utils/index.js +0 -13
  447. package/es/chat-engine/core/a2ui/utils/index.js.map +0 -1
  448. package/es/chat-engine/core/a2ui/utils/validation.d.ts +0 -70
  449. package/es/chat-engine/core/a2ui/utils/validation.js +0 -333
  450. package/es/chat-engine/core/a2ui/utils/validation.js.map +0 -1
  451. package/es/chat-engine/core/adapters/agui/activity-manager.d.ts +0 -102
  452. package/es/chat-engine/core/adapters/agui/activity-manager.js +0 -150
  453. package/es/chat-engine/core/adapters/agui/activity-manager.js.map +0 -1
  454. package/es/chat-engine/core/adapters/agui/events.d.ts +0 -1550
  455. package/es/chat-engine/core/adapters/agui/events.js +0 -199
  456. package/es/chat-engine/core/adapters/agui/events.js.map +0 -1
  457. package/es/chat-engine/core/adapters/agui/state-manager.d.ts +0 -99
  458. package/es/chat-engine/core/adapters/agui/state-manager.js +0 -174
  459. package/es/chat-engine/core/adapters/agui/state-manager.js.map +0 -1
  460. package/es/chat-engine/core/adapters/agui/types.d.ts +0 -818
  461. package/es/chat-engine/core/adapters/agui/types.js +0 -95
  462. package/es/chat-engine/core/adapters/agui/types.js.map +0 -1
  463. package/es/chat-engine/hooks/a2ui/A2UIContext.d.ts +0 -90
  464. package/es/chat-engine/hooks/a2ui/A2UIContext.js +0 -97
  465. package/es/chat-engine/hooks/a2ui/A2UIContext.js.map +0 -1
  466. package/es/chat-engine/hooks/a2ui/index.d.ts +0 -12
  467. package/es/chat-engine/hooks/a2ui/index.js +0 -19
  468. package/es/chat-engine/hooks/a2ui/index.js.map +0 -1
  469. package/es/chat-engine/hooks/a2ui/useA2UIAction.d.ts +0 -40
  470. package/es/chat-engine/hooks/a2ui/useA2UIAction.js +0 -74
  471. package/es/chat-engine/hooks/a2ui/useA2UIAction.js.map +0 -1
  472. package/es/chat-engine/hooks/a2ui/useA2UISurface.d.ts +0 -36
  473. package/es/chat-engine/hooks/a2ui/useA2UISurface.js +0 -39
  474. package/es/chat-engine/hooks/a2ui/useA2UISurface.js.map +0 -1
  475. package/es/chat-engine/hooks/a2ui/useDataBinding.d.ts +0 -53
  476. package/es/chat-engine/hooks/a2ui/useDataBinding.js +0 -111
  477. package/es/chat-engine/hooks/a2ui/useDataBinding.js.map +0 -1
  478. package/es/chat-engine/hooks/useJsonRenderActivity.d.ts +0 -56
  479. package/es/chat-engine/hooks/useJsonRenderActivity.js +0 -63
  480. package/es/chat-engine/hooks/useJsonRenderActivity.js.map +0 -1
  481. package/es/chat-filecard/_example-js/base.d.ts +0 -1
  482. package/es/chat-loading/_example-js/base.d.ts +0 -2
  483. package/es/chat-loading/_example-js/text.d.ts +0 -2
  484. package/es/chat-markdown/_example-js/base.d.ts +0 -1
  485. package/es/chat-markdown/_example-js/custom.d.ts +0 -2
  486. package/es/chat-markdown/_example-js/event.d.ts +0 -1
  487. package/es/chat-markdown/_example-js/footnote.d.ts +0 -2
  488. package/es/chat-markdown/_example-js/plugin.d.ts +0 -2
  489. package/es/chat-markdown/_example-js/theme.d.ts +0 -2
  490. package/es/chat-message/_example-js/action.d.ts +0 -1
  491. package/es/chat-message/_example-js/base.d.ts +0 -1
  492. package/es/chat-message/_example-js/configure.d.ts +0 -1
  493. package/es/chat-message/_example-js/content.d.ts +0 -1
  494. package/es/chat-message/_example-js/custom.d.ts +0 -1
  495. package/es/chat-message/_example-js/handle-actions.d.ts +0 -7
  496. package/es/chat-message/_example-js/status.d.ts +0 -1
  497. package/es/chat-message/_example-js/think.d.ts +0 -1
  498. package/es/chat-sender/_example-js/attachment.d.ts +0 -2
  499. package/es/chat-sender/_example-js/base.d.ts +0 -2
  500. package/es/chat-sender/_example-js/custom.d.ts +0 -2
  501. package/es/chat-thinking/_example-js/base.d.ts +0 -1
  502. package/es/chat-thinking/_example-js/style.d.ts +0 -1
  503. package/es/chatbot/_example-js/agent.d.ts +0 -1
  504. package/es/chatbot/_example-js/agui.d.ts +0 -13
  505. package/es/chatbot/_example-js/backup/travel.d.ts +0 -1
  506. package/es/chatbot/_example-js/basic.d.ts +0 -1
  507. package/es/chatbot/_example-js/code.d.ts +0 -1
  508. package/es/chatbot/_example-js/components/ItineraryCard.d.ts +0 -3
  509. package/es/chatbot/_example-js/components/login.d.ts +0 -1
  510. package/es/chatbot/_example-js/comprehensive.d.ts +0 -1
  511. package/es/chatbot/_example-js/custom-content.d.ts +0 -1
  512. package/es/chatbot/_example-js/custom-merge.d.ts +0 -1
  513. package/es/chatbot/_example-js/custom.d.ts +0 -1
  514. package/es/chatbot/_example-js/docs.d.ts +0 -1
  515. package/es/chatbot/_example-js/image.d.ts +0 -1
  516. package/es/chatbot/_example-js/initial-messages.d.ts +0 -9
  517. package/es/chatbot/_example-js/instance-methods.d.ts +0 -14
  518. package/es/chatbot/_example-js/nostream.d.ts +0 -1
  519. package/es/chatbot/_example-js/quick-start.d.ts +0 -9
  520. package/es/chatbot/_example-js/research.d.ts +0 -1
  521. package/es/chatbot/_example-js/role-message-config.d.ts +0 -22
  522. package/es/chatbot/_example-js/sender-config.d.ts +0 -20
  523. package/es/chatbot/_example-js/service-config.d.ts +0 -17
  524. package/es/chatbot/_example-js/simple.d.ts +0 -1
  525. package/es/chatbot/_example-js/utils/messageRenderer.d.ts +0 -5
  526. package/es/chatbot/docs/react-best-practice.d.ts +0 -13
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sources":["../../../../../../../pro-components/chat/chat-engine/core/adapters/openclaw/types/messages.ts"],"sourcesContent":["/**\n * OpenClaw 消息格式类型定义\n *\n * OpenClaw 采用 RPC 风格的消息通信,有三种消息类型:\n * - req: 客户端向 Gateway 发起的请求\n * - res: Gateway 返回的响应\n * - event: 服务端主动推送的事件\n */\n\n/**\n * OpenClaw 消息类型\n */\nexport type OpenClawMessageType = 'req' | 'res' | 'event';\n\n/**\n * OpenClaw 请求帧\n */\nexport interface OpenClawRequestFrame<TParams = Record<string, unknown>> {\n type: 'req';\n /** 请求唯一标识,用于匹配响应 */\n id: string;\n /** RPC 方法名 */\n method: string;\n /** 请求参数 */\n params: TParams;\n}\n\n/**\n * OpenClaw 响应帧\n */\nexport interface OpenClawResponseFrame<TPayload = unknown> {\n type: 'res';\n /** 请求唯一标识,与请求帧的 id 对应 */\n id: string;\n /** 是否成功 */\n ok: boolean;\n /** 成功时的响应数据 */\n payload?: TPayload;\n /** 失败时的错误信息 */\n error?: OpenClawError;\n}\n\n/**\n * OpenClaw 事件帧\n */\nexport interface OpenClawEventFrame<TPayload = unknown> {\n type: 'event';\n /** 事件名称 */\n event: string;\n /** 事件序号 */\n seq?: number;\n /** 事件数据 */\n payload?: TPayload;\n}\n\n/**\n * OpenClaw 错误信息\n */\nexport interface OpenClawError {\n /** 错误码 */\n code: string;\n /** 错误消息 */\n message: string;\n /** 详细信息 */\n details?: unknown;\n}\n\n/**\n * OpenClaw 消息帧(联合类型)\n */\nexport type OpenClawFrame<T = unknown> =\n | OpenClawRequestFrame<T extends Record<string, unknown> ? T : Record<string, unknown>>\n | OpenClawResponseFrame<T>\n | OpenClawEventFrame<T>;\n\n// ============= RPC 方法参数类型 =============\n\n/**\n * connect 方法参数\n */\nexport interface ConnectParams {\n /** 最小协议版本 */\n minProtocol: number;\n /** 最大协议版本 */\n maxProtocol: number;\n /** 客户端信息 */\n client: {\n id: string;\n version: string;\n platform: string;\n mode: string;\n instanceId: string;\n };\n /** 角色 */\n role?: string;\n /** 权限范围 */\n scopes?: string[];\n /** 能力列表 */\n caps?: string[];\n /** 认证信息(可选,由 onRequest 传入) */\n auth?: {\n token?: string;\n [key: string]: unknown;\n };\n /** User Agent */\n userAgent?: string;\n /** 语言环境 */\n locale?: string;\n}\n\n/**\n * connect 方法响应\n */\nexport interface ConnectResponse {\n /** 协商后的协议版本 */\n protocol: number;\n /** 会话 ID */\n sessionId: string;\n /** 服务端版本 */\n serverVersion?: string;\n /** 支持的能力列表 */\n capabilities?: string[];\n}\n\n/**\n * chat.send 方法参数(基础结构,具体字段由 onRequest 传入)\n */\nexport interface ChatSendParams {\n /** 消息内容 */\n message: string;\n /** 会话标识 */\n sessionKey?: string;\n /** 幂等键 */\n idempotencyKey?: string;\n /** 其他自定义参数 */\n [key: string]: unknown;\n}\n\n/**\n * chat.send 方法响应\n */\nexport interface ChatSendResponse {\n /** 运行 ID */\n runId: string;\n /** 状态 */\n status: string;\n}\n\n// ============= 事件类型 =============\n\n/**\n * connect.challenge 事件数据\n */\nexport interface ConnectChallengePayload {\n /** 随机数 */\n nonce: string;\n /** 协议版本 */\n protocolVersion?: number;\n}\n\n/**\n * chat 事件数据\n */\nexport interface ChatEventPayload {\n /** 运行 ID */\n runId?: string;\n /** 会话标识 */\n sessionKey?: string;\n /** 消息状态: delta(增量) | final(完成) | error(错误) | aborted(中止) */\n state: 'delta' | 'final' | 'error' | 'aborted';\n /** 消息内容 */\n message?: {\n role: 'assistant' | 'user' | 'system';\n content: Array<{\n type: string;\n text?: string;\n [key: string]: unknown;\n }>;\n };\n /** 错误消息 */\n errorMessage?: string;\n}\n\n/**\n * agent 事件数据\n *\n * 实际 OpenClaw agent 事件示例:\n * {\n * \"type\": \"event\",\n * \"event\": \"agent\",\n * \"payload\": {\n * \"runId\": \"b7dfa37d-...\",\n * \"stream\": \"assistant\",\n * \"data\": { \"text\": \"全量快照文本\", \"delta\": \"本次增量\" },\n * \"sessionKey\": \"agent:main:main\",\n * \"seq\": 12,\n * \"ts\": 1772612049089\n * },\n * \"seq\": 16278\n * }\n */\nexport interface AgentEventPayload {\n /** 运行 ID */\n runId?: string;\n /** 流类型: assistant | tool | system */\n stream?: string;\n /** 事件子类型(可选,实际 agent 流式事件中通常不存在) */\n type?: string;\n /** 数据内容 */\n data?: {\n /** 全量文本快照(包含到当前为止的所有文本) */\n text?: string;\n /** 本次增量文本 */\n delta?: string;\n [key: string]: unknown;\n };\n /** payload 内序号(agent 事件流内的顺序) */\n seq?: number;\n /** 时间戳 */\n ts?: number;\n /** 会话标识 */\n sessionKey?: string;\n}\n\n/**\n * 类型守卫:判断是否为请求帧\n */\nexport function isRequestFrame(frame: OpenClawFrame): frame is OpenClawRequestFrame {\n return frame.type === 'req';\n}\n\n/**\n * 类型守卫:判断是否为响应帧\n */\nexport function isResponseFrame(frame: OpenClawFrame): frame is OpenClawResponseFrame {\n return frame.type === 'res';\n}\n\n/**\n * 类型守卫:判断是否为事件帧\n */\nexport function isEventFrame(frame: OpenClawFrame): frame is OpenClawEventFrame {\n return frame.type === 'event';\n}\n"],"names":["isRequestFrame","frame","type","isResponseFrame","isEventFrame"],"mappings":";;;;;;AAmOO,SAASA,eAAeC,KAAqD,EAAA;AAClF,EAAA,OAAOA,MAAMC,IAAS,KAAA,KAAA,CAAA;AACxB,CAAA;AAKO,SAASC,gBAAgBF,KAAsD,EAAA;AACpF,EAAA,OAAOA,MAAMC,IAAS,KAAA,KAAA,CAAA;AACxB,CAAA;AAKO,SAASE,aAAaH,KAAmD,EAAA;AAC9E,EAAA,OAAOA,MAAMC,IAAS,KAAA,OAAA,CAAA;AACxB;;;;"}
1
+ {"version":3,"file":"messages.js","sources":["../../../../../../../pro-components/chat/chat-engine/core/adapters/openclaw/types/messages.ts"],"sourcesContent":["/**\n * OpenClaw 消息格式类型定义\n *\n * OpenClaw 采用 RPC 风格的消息通信,有三种消息类型:\n * - req: 客户端向 Gateway 发起的请求\n * - res: Gateway 返回的响应\n * - event: 服务端主动推送的事件\n */\n\n/**\n * OpenClaw 消息类型\n */\nexport type OpenClawMessageType = 'req' | 'res' | 'event';\n\n/**\n * OpenClaw 请求帧\n */\nexport interface OpenClawRequestFrame<TParams = Record<string, unknown>> {\n type: 'req';\n /** 请求唯一标识,用于匹配响应 */\n id: string;\n /** RPC 方法名 */\n method: string;\n /** 请求参数 */\n params: TParams;\n}\n\n/**\n * OpenClaw 响应帧\n */\nexport interface OpenClawResponseFrame<TPayload = unknown> {\n type: 'res';\n /** 请求唯一标识,与请求帧的 id 对应 */\n id: string;\n /** 是否成功 */\n ok: boolean;\n /** 成功时的响应数据 */\n payload?: TPayload;\n /** 失败时的错误信息 */\n error?: OpenClawError;\n}\n\n/**\n * OpenClaw 事件帧\n */\nexport interface OpenClawEventFrame<TPayload = unknown> {\n type: 'event';\n /** 事件名称 */\n event: string;\n /** 事件序号 */\n seq?: number;\n /** 事件数据 */\n payload?: TPayload;\n}\n\n/**\n * OpenClaw 错误信息\n */\nexport interface OpenClawError {\n /** 错误码 */\n code: string;\n /** 错误消息 */\n message: string;\n /** 详细信息 */\n details?: unknown;\n}\n\n/**\n * OpenClaw 消息帧(联合类型)\n */\nexport type OpenClawFrame<T = unknown> =\n | OpenClawRequestFrame<T extends Record<string, unknown> ? T : Record<string, unknown>>\n | OpenClawResponseFrame<T>\n | OpenClawEventFrame<T>;\n\n// ============= RPC 方法参数类型 =============\n\n/**\n * connect 方法参数\n */\nexport interface ConnectParams {\n /** 最小协议版本 */\n minProtocol: number;\n /** 最大协议版本 */\n maxProtocol: number;\n /** 客户端信息 */\n client: {\n id: string;\n version: string;\n platform: string;\n mode: string;\n instanceId: string;\n };\n /** 角色 */\n role?: string;\n /** 权限范围 */\n scopes?: string[];\n /** 能力列表 */\n caps?: string[];\n /** 认证信息(可选,由 onRequest 传入) */\n auth?: {\n token?: string;\n [key: string]: unknown;\n };\n /** 设备身份信息(由 DeviceKeyManager 自动生成) */\n device?: {\n /** 设备 ID */\n id: string;\n /** 公钥(hex 编码) */\n publicKey: string;\n /** nonce 签名(hex 编码) */\n signature: string;\n /** 签名时间戳(Unix 秒级时间戳) */\n signedAt: number;\n /** 回传的 challenge nonce */\n nonce: string;\n };\n /** User Agent */\n userAgent?: string;\n /** 语言环境 */\n locale?: string;\n}\n\n/**\n * connect 方法响应\n *\n * OpenClaw Gateway 在 connect 响应中可能附带历史消息(messages 字段),\n * 用于页面刷新后自动回填历史对话记录。\n */\nexport interface ConnectResponse {\n /** 协商后的协议版本 */\n protocol: number;\n /** 会话 ID */\n sessionId: string;\n /** 服务端版本 */\n serverVersion?: string;\n /** 支持的能力列表 */\n capabilities?: string[];\n /** 会话标识(Gateway 推送历史消息时附带) */\n sessionKey?: string;\n /** 历史消息(Gateway 在 connect 响应中主动推送,用于页面刷新后回填) */\n messages?: Array<Record<string, unknown>>;\n /** 思考级别(Gateway 附带) */\n thinkingLevel?: string;\n}\n\n/**\n * chat.send 方法参数(基础结构,具体字段由 onRequest 传入)\n */\nexport interface ChatSendParams {\n /** 消息内容 */\n message: string;\n /** 会话标识 */\n sessionKey?: string;\n /** 幂等键 */\n idempotencyKey?: string;\n /** 其他自定义参数 */\n [key: string]: unknown;\n}\n\n/**\n * chat.send 方法响应\n */\nexport interface ChatSendResponse {\n /** 运行 ID */\n runId: string;\n /** 状态 */\n status: string;\n}\n\n// ============= 事件类型 =============\n\n/**\n * connect.challenge 事件数据\n */\nexport interface ConnectChallengePayload {\n /** 随机数 */\n nonce: string;\n /** 协议版本 */\n protocolVersion?: number;\n}\n\n/**\n * chat 事件数据\n */\nexport interface ChatEventPayload {\n /** 运行 ID */\n runId?: string;\n /** 会话标识 */\n sessionKey?: string;\n /** 消息状态: delta(增量) | final(完成) | error(错误) | aborted(中止) */\n state: 'delta' | 'final' | 'error' | 'aborted';\n /** 消息内容 */\n message?: {\n role: 'assistant' | 'user' | 'system';\n content: Array<{\n type: string;\n text?: string;\n [key: string]: unknown;\n }>;\n };\n /** 错误消息 */\n errorMessage?: string;\n}\n\n/**\n * agent 事件数据\n *\n * 实际 OpenClaw agent 事件示例:\n * {\n * \"type\": \"event\",\n * \"event\": \"agent\",\n * \"payload\": {\n * \"runId\": \"b7dfa37d-...\",\n * \"stream\": \"assistant\",\n * \"data\": { \"text\": \"全量快照文本\", \"delta\": \"本次增量\" },\n * \"sessionKey\": \"agent:main:main\",\n * \"seq\": 12,\n * \"ts\": 1772612049089\n * },\n * \"seq\": 16278\n * }\n */\nexport interface AgentEventPayload {\n /** 运行 ID */\n runId?: string;\n /** 流类型: assistant | tool | system */\n stream?: string;\n /** 事件子类型(可选,实际 agent 流式事件中通常不存在) */\n type?: string;\n /** 数据内容 */\n data?: {\n /** 全量文本快照(包含到当前为止的所有文本) */\n text?: string;\n /** 本次增量文本 */\n delta?: string;\n [key: string]: unknown;\n };\n /** payload 内序号(agent 事件流内的顺序) */\n seq?: number;\n /** 时间戳 */\n ts?: number;\n /** 会话标识 */\n sessionKey?: string;\n}\n\n/**\n * 类型守卫:判断是否为请求帧\n */\nexport function isRequestFrame(frame: OpenClawFrame): frame is OpenClawRequestFrame {\n return frame.type === 'req';\n}\n\n/**\n * 类型守卫:判断是否为响应帧\n */\nexport function isResponseFrame(frame: OpenClawFrame): frame is OpenClawResponseFrame {\n return frame.type === 'res';\n}\n\n/**\n * 类型守卫:判断是否为事件帧\n */\nexport function isEventFrame(frame: OpenClawFrame): frame is OpenClawEventFrame {\n return frame.type === 'event';\n}\n"],"names":["isRequestFrame","frame","type","isResponseFrame","isEventFrame"],"mappings":";;;;;;AAyPO,SAASA,eAAeC,KAAqD,EAAA;AAClF,EAAA,OAAOA,MAAMC,IAAS,KAAA,KAAA,CAAA;AACxB,CAAA;AAKO,SAASC,gBAAgBF,KAAsD,EAAA;AACpF,EAAA,OAAOA,MAAMC,IAAS,KAAA,KAAA,CAAA;AACxB,CAAA;AAKO,SAASE,aAAaH,KAAmD,EAAA;AAC9E,EAAA,OAAOA,MAAMC,IAAS,KAAA,OAAA,CAAA;AACxB;;;;"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * tdesign v1.1.0-alpha.16
2
+ * tdesign v1.1.0-alpha.17
3
3
  * (c) 2026 tdesign
4
4
  * @license MIT
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../../../pro-components/chat/chat-engine/core/adapters/openclaw/utils.ts"],"sourcesContent":["/**\n * OpenClaw 工具函数\n */\nimport type { OpenClawFrame, OpenClawRequestFrame, OpenClawResponseFrame, OpenClawEventFrame } from './types';\n\n/**\n * 生成 UUID\n */\nexport function generateUUID(): string {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = (Math.random() * 16) | 0;\n const v = c === 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n\n/**\n * 解析 OpenClaw 消息帧\n */\nexport function parseFrame(data: string | object): OpenClawFrame | null {\n try {\n const frame = typeof data === 'string' ? JSON.parse(data) : data;\n if (!frame || typeof frame !== 'object') {\n return null;\n }\n if (!['req', 'res', 'event'].includes(frame.type)) {\n return null;\n }\n return frame as OpenClawFrame;\n } catch {\n return null;\n }\n}\n\n/**\n * 创建请求帧\n */\nexport function createRequestFrame<T extends Record<string, unknown>>(\n method: string,\n params: T,\n id?: string,\n): OpenClawRequestFrame<T> {\n return {\n type: 'req',\n id: id || generateUUID(),\n method,\n params,\n };\n}\n\n/**\n * 获取平台信息\n */\nexport function getPlatform(): string {\n if (typeof navigator !== 'undefined') {\n return navigator.platform || 'web';\n }\n return 'web';\n}\n\n/**\n * 获取 User Agent\n */\nexport function getUserAgent(): string {\n if (typeof navigator !== 'undefined') {\n return navigator.userAgent;\n }\n return 'TDesign-ChatEngine/1.0';\n}\n\n/**\n * 获取语言环境\n */\nexport function getLocale(): string {\n if (typeof navigator !== 'undefined') {\n return navigator.language || 'en-US';\n }\n return 'en-US';\n}\n\n/**\n * 检查 WebSocket 是否可用\n */\nexport function isWebSocketSupported(): boolean {\n return typeof WebSocket !== 'undefined';\n}\n\n/**\n * 格式化 WebSocket URL\n * 确保 URL 使用正确的协议\n */\nexport function formatWebSocketUrl(url: string): string {\n if (url.startsWith('ws://') || url.startsWith('wss://')) {\n return url;\n }\n // 如果是 http/https,转换为 ws/wss\n if (url.startsWith('https://')) {\n return url.replace('https://', 'wss://');\n }\n if (url.startsWith('http://')) {\n return url.replace('http://', 'ws://');\n }\n // 默认添加 ws://\n return `ws://${url}`;\n}\n\n/**\n * 计算指数退避延迟\n */\nexport function calculateBackoffDelay(\n attempt: number,\n baseDelay: number,\n maxDelay = 30000,\n jitter = true,\n): number {\n let delay = baseDelay * Math.pow(1.5, attempt - 1);\n delay = Math.min(delay, maxDelay);\n \n if (jitter) {\n // 添加 ±10% 的抖动\n const jitterRange = delay * 0.1;\n delay += (Math.random() - 0.5) * 2 * jitterRange;\n }\n \n return Math.floor(delay);\n}\n\n/**\n * 安全的 JSON 解析\n */\nexport function safeJsonParse<T>(data: string, fallback: T): T {\n try {\n return JSON.parse(data) as T;\n } catch {\n return fallback;\n }\n}\n\n/**\n * 深度合并对象\n */\nexport function deepMerge<T extends Record<string, unknown>>(target: T, source: Partial<T>): T {\n const result = { ...target };\n \n for (const key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n const targetValue = result[key];\n const sourceValue = source[key];\n \n if (\n typeof targetValue === 'object' &&\n targetValue !== null &&\n typeof sourceValue === 'object' &&\n sourceValue !== null &&\n !Array.isArray(targetValue) &&\n !Array.isArray(sourceValue)\n ) {\n result[key] = deepMerge(\n targetValue as Record<string, unknown>,\n sourceValue as Record<string, unknown>,\n ) as T[typeof key];\n } else if (sourceValue !== undefined) {\n result[key] = sourceValue as T[typeof key];\n }\n }\n }\n \n return result;\n}\n\n"],"names":["generateUUID","replace","c","r","Math","random","v","toString","parseFrame","data","frame","JSON","parse","_typeof","includes","type","_unused","createRequestFrame","method","params","id","getPlatform","navigator","platform","getUserAgent","userAgent","getLocale","language","isWebSocketSupported","WebSocket","formatWebSocketUrl","url","startsWith","concat","calculateBackoffDelay","attempt","baseDelay","maxDelay","arguments","length","undefined","jitter","delay","pow","min","jitterRange","floor","safeJsonParse","fallback","_unused2","deepMerge","target","source","result","_objectSpread","key","Object","prototype","hasOwnProperty","call","targetValue","sourceValue","Array","isArray"],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../../../pro-components/chat/chat-engine/core/adapters/openclaw/utils.ts"],"sourcesContent":["/**\n * OpenClaw 工具函数\n */\nimport type { OpenClawFrame, OpenClawRequestFrame, OpenClawResponseFrame, OpenClawEventFrame } from './types';\n\n/**\n * 生成 UUID\n */\nexport function generateUUID(): string {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = (Math.random() * 16) | 0;\n const v = c === 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n\n/**\n * 解析 OpenClaw 消息帧\n */\nexport function parseFrame(data: string | object): OpenClawFrame | null {\n try {\n const frame = typeof data === 'string' ? JSON.parse(data) : data;\n if (!frame || typeof frame !== 'object') {\n return null;\n }\n if (!['req', 'res', 'event'].includes(frame.type)) {\n return null;\n }\n return frame as OpenClawFrame;\n } catch {\n return null;\n }\n}\n\n/**\n * 创建请求帧\n */\nexport function createRequestFrame<T extends Record<string, unknown>>(\n method: string,\n params: T,\n id?: string,\n): OpenClawRequestFrame<T> {\n return {\n type: 'req',\n id: id || generateUUID(),\n method,\n params,\n };\n}\n\n/**\n * 获取平台信息\n */\nexport function getPlatform(): string {\n if (typeof navigator !== 'undefined') {\n return navigator.platform || 'web';\n }\n return 'web';\n}\n\n/**\n * 获取 User Agent\n */\nexport function getUserAgent(): string {\n if (typeof navigator !== 'undefined') {\n return navigator.userAgent;\n }\n return 'TDesign-ChatEngine/1.0';\n}\n\n/**\n * 获取语言环境\n */\nexport function getLocale(): string {\n if (typeof navigator !== 'undefined') {\n return navigator.language || 'en-US';\n }\n return 'en-US';\n}\n\n/**\n * 检查 WebSocket 是否可用\n */\nexport function isWebSocketSupported(): boolean {\n return typeof WebSocket !== 'undefined';\n}\n\n/**\n * 格式化 WebSocket URL\n * 确保 URL 使用正确的协议\n */\nexport function formatWebSocketUrl(url: string): string {\n if (url.startsWith('ws://') || url.startsWith('wss://')) {\n return url;\n }\n // 如果是 http/https,转换为 ws/wss\n if (url.startsWith('https://')) {\n return url.replace('https://', 'wss://');\n }\n if (url.startsWith('http://')) {\n return url.replace('http://', 'ws://');\n }\n // 默认添加 ws://\n return `ws://${url}`;\n}\n\n/**\n * 计算指数退避延迟\n */\nexport function calculateBackoffDelay(\n attempt: number,\n baseDelay: number,\n maxDelay = 30000,\n jitter = true,\n): number {\n let delay = baseDelay * Math.pow(1.5, attempt - 1);\n delay = Math.min(delay, maxDelay);\n \n if (jitter) {\n // 添加 ±10% 的抖动\n const jitterRange = delay * 0.1;\n delay += (Math.random() - 0.5) * 2 * jitterRange;\n }\n \n return Math.floor(delay);\n}\n\n/**\n * 安全的 JSON 解析\n */\nexport function safeJsonParse<T>(data: string, fallback: T): T {\n try {\n return JSON.parse(data) as T;\n } catch {\n return fallback;\n }\n}\n\n/**\n * 深度合并对象\n */\nexport function deepMerge<T extends Record<string, unknown>>(target: T, source: Partial<T>): T {\n const result = { ...target };\n \n for (const key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n const targetValue = result[key];\n const sourceValue = source[key];\n \n if (\n typeof targetValue === 'object' &&\n targetValue !== null &&\n typeof sourceValue === 'object' &&\n sourceValue !== null &&\n !Array.isArray(targetValue) &&\n !Array.isArray(sourceValue)\n ) {\n result[key] = deepMerge(\n targetValue as Record<string, unknown>,\n sourceValue as Record<string, unknown>,\n ) as T[typeof key];\n } else if (sourceValue !== undefined) {\n result[key] = sourceValue as T[typeof key];\n }\n }\n }\n \n return result;\n}\n"],"names":["generateUUID","replace","c","r","Math","random","v","toString","parseFrame","data","frame","JSON","parse","_typeof","includes","type","_unused","createRequestFrame","method","params","id","getPlatform","navigator","platform","getUserAgent","userAgent","getLocale","language","isWebSocketSupported","WebSocket","formatWebSocketUrl","url","startsWith","concat","calculateBackoffDelay","attempt","baseDelay","maxDelay","arguments","length","undefined","jitter","delay","pow","min","jitterRange","floor","safeJsonParse","fallback","_unused2","deepMerge","target","source","result","_objectSpread","key","Object","prototype","hasOwnProperty","call","targetValue","sourceValue","Array","isArray"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * tdesign v1.1.0-alpha.16
2
+ * tdesign v1.1.0-alpha.17
3
3
  * (c) 2026 tdesign
4
4
  * @license MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * tdesign v1.1.0-alpha.16
2
+ * tdesign v1.1.0-alpha.17
3
3
  * (c) 2026 tdesign
4
4
  * @license MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * tdesign v1.1.0-alpha.16
2
+ * tdesign v1.1.0-alpha.17
3
3
  * (c) 2026 tdesign
4
4
  * @license MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * tdesign v1.1.0-alpha.16
2
+ * tdesign v1.1.0-alpha.17
3
3
  * (c) 2026 tdesign
4
4
  * @license MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * tdesign v1.1.0-alpha.16
2
+ * tdesign v1.1.0-alpha.17
3
3
  * (c) 2026 tdesign
4
4
  * @license MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * tdesign v1.1.0-alpha.16
2
+ * tdesign v1.1.0-alpha.17
3
3
  * (c) 2026 tdesign
4
4
  * @license MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * tdesign v1.1.0-alpha.16
2
+ * tdesign v1.1.0-alpha.17
3
3
  * (c) 2026 tdesign
4
4
  * @license MIT
5
5
  */
@@ -14,6 +14,10 @@ export default class ChatEngine implements IChatEngine {
14
14
  private lastRequestParams;
15
15
  private stopReceive;
16
16
  private aguiAdapter;
17
+ /** 流式处理策略(由协议类型决定) */
18
+ private streamHandler;
19
+ /** 是否已完成初始化(防止 React StrictMode 等场景下重复调用 init) */
20
+ private initialized;
17
21
  constructor(eventBusOptions?: ChatEventBusOptions);
18
22
  /**
19
23
  * 获取当前所有消息
@@ -36,9 +40,9 @@ export default class ChatEngine implements IChatEngine {
36
40
  * 初始化聊天引擎
37
41
  * @param configSetter 聊天服务配置或配置生成函数
38
42
  * @param initialMessages 初始消息列表,用于恢复历史对话
39
- * @description 设置初始消息、配置服务参数,并根据协议类型初始化适配器
43
+ * @description 设置初始消息、配置服务参数,并根据协议类型初始化适配器和 StreamHandler
40
44
  */
41
- init(configSetter: ChatServiceConfigSetter, initialMessages?: ChatMessagesData[]): void;
45
+ init(configSetter: ChatServiceConfigSetter, initialMessages?: ChatMessagesData[]): Promise<void>;
42
46
  /**
43
47
  * 发送用户消息并获取AI回复
44
48
  * @param requestParams 请求参数,包含用户输入的文本和附件
@@ -62,6 +66,22 @@ export default class ChatEngine implements IChatEngine {
62
66
  content?: AIMessageContent[];
63
67
  sendRequest?: boolean;
64
68
  }): Promise<void>;
69
+ /**
70
+ * 恢复未完成的 Agent 运行(断点续传)
71
+ *
72
+ * 适用场景:用户离开页面后重新进入,后端 Agent 仍在运行。
73
+ *
74
+ * 流程:
75
+ * 1. 创建一条空的 AI 消息(用于承载后续推送的内容)
76
+ * 2. 调用 sendRequest 发起 SSE 连接
77
+ * 3. 后端推 MESSAGES_SNAPSHOT 恢复已产生的中间内容(replaceContent)
78
+ * 4. 后端继续推增量事件(TEXT_MESSAGE_CONTENT 等),Processor 正常 append
79
+ * 5. 后端推 RUN_FINISHED 结束
80
+ *
81
+ * @param params 请求参数,应包含 threadId / runId 等后端识别续传所需的信息
82
+ * @returns 新创建的 AI 消息 ID
83
+ */
84
+ resumeRun(params?: ChatRequestParams): Promise<string>;
65
85
  /**
66
86
  * 中止当前进行中的聊天请求
67
87
  * @description 停止接收流式响应,关闭连接,并调用配置的onAbort回调
@@ -113,42 +133,24 @@ export default class ChatEngine implements IChatEngine {
113
133
  private handleComplete;
114
134
  /**
115
135
  * 处理流式请求
116
- * 根据协议类型选择不同的处理策略
117
- * SSE 原始数据 → isValidChunk验证 → onMessage解析 → processMessageResult
136
+ * 委托给 StreamHandler 策略处理(Default/AGUI/OpenClaw)
118
137
  */
119
138
  private handleStreamRequest;
120
139
  /**
121
- * 处理AGUI协议的流式请求
122
- */
123
- private handleAGUIStreamRequest;
124
- /**
125
- * 处理默认协议的流式请求
140
+ * 构建 StreamHandler 所需的上下文
126
141
  */
127
- private handleDefaultStreamRequest;
128
- /**
129
- * 处理 OpenClaw 协议的流式请求
130
- *
131
- * OpenClaw 使用 WebSocket 连接,消息流由 LLMService 内部的 OpenClawAdapter 处理。
132
- * Adapter 将 OpenClaw 事件转换为 AIMessageContent 后,通过 onMessage 回调传递给 ChatEngine。
133
- */
134
- private handleOpenClawStreamRequest;
142
+ private buildStreamContext;
135
143
  /**
136
144
  * 统一处理消息结果
137
145
  * 支持单个内容块、多个内容块和增量更新
146
+ * 支持 MESSAGES_SNAPSHOT 的 replaceContent 语义(_isSnapshot 标记)
138
147
  */
139
148
  private processMessageResult;
140
- /**
141
- * 发布 AG-UI 细粒度事件
142
- * 根据内容类型分发到对应的事件通道
143
- * todo: 这里的类型 any问题
144
- */
145
- private emitAGUIDetailEvents;
146
149
  private convertMessages;
147
150
  private setMessageStatus;
148
- private processContentUpdate;
149
151
  }
150
152
  export * from './utils';
151
153
  export * from './adapters';
152
154
  export * from './event-bus';
153
- export * from './adapters';
155
+ export * from './stream-handlers';
154
156
  export type * from './type';