@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history-converter.js","sources":["../../../../../../pro-components/chat/chat-engine/core/adapters/openclaw/history-converter.ts"],"sourcesContent":["/**\n * OpenClaw 历史消息转换器\n *\n * 将 OpenClaw `sessions.history` RPC 返回的消息格式转换为 ChatEngine 的 ChatMessagesData 格式。\n *\n * OpenClaw 历史消息格式(来自实际 Gateway 返回):\n *\n * 1. user 消息:\n * {\n * role: 'user',\n * content: [{ type: 'text', text: '...' }],\n * timestamp: number,\n * senderLabel: string,\n * }\n *\n * 2. assistant 消息:\n * {\n * role: 'assistant',\n * content: [\n * { type: 'text', text: '...' }, // 文本内容\n * { type: 'toolCall', id: '...', name: '...', arguments: {...} }, // 工具调用\n * ],\n * api: string, provider: string, model: string,\n * stopReason: 'stop' | 'toolUse' | 'aborted',\n * timestamp: number,\n * errorMessage?: string,\n * openclawAbort?: { aborted: boolean, origin: string, runId: string },\n * }\n *\n * 3. toolResult 消息:\n * {\n * role: 'toolResult',\n * toolCallId: string,\n * toolName: string,\n * content: [{ type: 'text', text: '...' }],\n * isError: boolean,\n * timestamp: number,\n * }\n */\nimport type {\n ChatMessagesData,\n AIMessageContent,\n TextContent,\n UserMessage,\n AIMessage,\n} from '../../type';\nimport { createToolCallContent } from '../shared';\nimport { generateUUID } from './utils';\n\n// ==================== OpenClaw 历史消息类型 ====================\n\n/**\n * OpenClaw 历史消息内容项\n */\nexport interface OpenClawHistoryContentItem {\n type: string;\n text?: string;\n // toolCall 类型\n id?: string;\n name?: string;\n arguments?: Record<string, unknown>;\n [key: string]: unknown;\n}\n\n/**\n * OpenClaw 历史消息\n */\nexport interface OpenClawHistoryMessage {\n role: 'user' | 'assistant' | 'toolResult' | 'system';\n content?: OpenClawHistoryContentItem[] | string;\n timestamp?: number;\n senderLabel?: string;\n // assistant 专有\n api?: string;\n provider?: string;\n model?: string;\n stopReason?: string;\n errorMessage?: string;\n openclawAbort?: {\n aborted: boolean;\n origin: string;\n runId: string;\n };\n // toolResult 专有\n toolCallId?: string;\n toolName?: string;\n isError?: boolean;\n}\n\n/**\n * OpenClaw sessions.history 响应\n */\nexport interface OpenClawHistoryResponse {\n sessionKey: string;\n sessionId: string;\n messages: OpenClawHistoryMessage[];\n thinkingLevel?: string;\n}\n\n// ==================== 转换器 ====================\n\n/**\n * 将 OpenClaw 历史消息数组转换为 ChatEngine 的 ChatMessagesData 数组\n *\n * 转换策略:\n * 1. user → UserMessage(直接映射文本内容)\n * 2. assistant → AIMessage(文本内容 + toolCall 转为 toolcall content)\n * 3. toolResult → 合并到前一个 assistant 消息的对应 toolcall 中作为 result\n * 4. 跳过空内容和被中止的消息\n * 5. 连续的 assistant 消息(stopReason: 'toolUse' 后跟 toolResult 再跟 assistant)\n * 会被合并为一条完整的 AIMessage\n *\n * @param messages OpenClaw 格式的历史消息数组\n * @param options 转换选项\n * @returns ChatEngine 格式的消息数组\n */\nexport function convertOpenClawHistory(\n messages: OpenClawHistoryMessage[],\n options?: ConvertHistoryOptions,\n): ChatMessagesData[] {\n const result: ChatMessagesData[] = [];\n const toolResultMap = new Map<string, { content: string; isError: boolean }>();\n\n // 第一遍:收集所有 toolResult,建立 toolCallId → result 映射\n for (const msg of messages) {\n if (msg.role === 'toolResult' && msg.toolCallId) {\n const text = extractTextFromContent(msg.content);\n toolResultMap.set(msg.toolCallId, {\n content: text,\n isError: msg.isError ?? false,\n });\n }\n }\n\n // 第二遍:转换消息\n // 用于追踪当前可合并的 assistant 消息\n let pendingAIMessage: AIMessage | null = null;\n\n for (let i = 0; i < messages.length; i++) {\n const msg = messages[i];\n\n switch (msg.role) {\n case 'user': {\n // 先 flush 之前的 pending AI 消息\n if (pendingAIMessage) {\n result.push(pendingAIMessage);\n pendingAIMessage = null;\n }\n const userMsg = convertUserMessage(msg);\n if (userMsg) {\n result.push(userMsg);\n }\n break;\n }\n\n case 'assistant': {\n // 跳过被中止且无内容的消息\n if (isAbortedEmpty(msg)) {\n break;\n }\n\n const aiContents = convertAssistantContent(msg, toolResultMap, options);\n\n if (aiContents.length === 0) {\n break;\n }\n\n if (pendingAIMessage) {\n // 合并到前一个 pending AI 消息中(多轮 tool loop 场景)\n pendingAIMessage.content = [...(pendingAIMessage.content || []), ...aiContents];\n // 更新 status\n if (msg.stopReason === 'stop') {\n pendingAIMessage.status = 'complete';\n }\n } else {\n pendingAIMessage = {\n id: generateUUID(),\n role: 'assistant',\n content: aiContents,\n status: msg.stopReason === 'stop' ? 'complete' : 'complete',\n datetime: msg.timestamp ? new Date(msg.timestamp).toISOString() : undefined,\n ext: {\n model: msg.model,\n provider: msg.provider,\n },\n };\n }\n\n // 如果 stopReason 是 'stop',flush 这个 AI 消息\n // 如果是 'toolUse',保持 pending 等待后续 toolResult + assistant 合并\n if (msg.stopReason === 'stop' || msg.stopReason === 'aborted') {\n if (pendingAIMessage) {\n result.push(pendingAIMessage);\n pendingAIMessage = null;\n }\n }\n break;\n }\n\n case 'toolResult': {\n // toolResult 已经在第一遍收集到 toolResultMap 中\n // 它们会在 convertAssistantContent 时自动关联到对应的 toolCall\n // 这里不需要额外处理\n break;\n }\n\n case 'system': {\n // flush pending\n if (pendingAIMessage) {\n result.push(pendingAIMessage);\n pendingAIMessage = null;\n }\n const text = extractTextFromContent(msg.content);\n if (text) {\n result.push({\n id: generateUUID(),\n role: 'system',\n content: [{ type: 'text', data: text, status: 'complete' }],\n datetime: msg.timestamp ? new Date(msg.timestamp).toISOString() : undefined,\n });\n }\n break;\n }\n\n default:\n break;\n }\n }\n\n // flush 最后一个 pending AI 消息\n if (pendingAIMessage) {\n result.push(pendingAIMessage);\n }\n\n return result;\n}\n\n/**\n * 从 OpenClaw sessions.history 响应体中提取并转换消息\n * 这是一个便捷方法,直接接受 RPC 响应的 payload\n */\nexport function convertOpenClawHistoryResponse(\n response: OpenClawHistoryResponse,\n options?: ConvertHistoryOptions,\n): ChatMessagesData[] {\n return convertOpenClawHistory(response.messages || [], options);\n}\n\n// ==================== 转换选项 ====================\n\nexport interface ConvertHistoryOptions {\n /**\n * 是否将 toolCall 的详细参数和结果展示在 toolcall 组件中\n * 默认 true\n */\n showToolCallDetails?: boolean;\n\n /**\n * 是否跳过被中止的消息\n * 默认 true\n */\n skipAborted?: boolean;\n\n /**\n * 自定义 toolCall 渲染名映射\n * 例如 { 'read': 'file_reader', 'exec': 'command_runner' }\n */\n toolCallNameMap?: Record<string, string>;\n}\n\n// ==================== 内部转换方法 ====================\n\n/**\n * 转换 user 消息\n */\nfunction convertUserMessage(msg: OpenClawHistoryMessage): UserMessage | null {\n const text = extractTextFromContent(msg.content);\n if (!text) return null;\n\n return {\n id: generateUUID(),\n role: 'user',\n content: [{ type: 'text', data: text }],\n datetime: msg.timestamp ? new Date(msg.timestamp).toISOString() : undefined,\n };\n}\n\n/**\n * 转换 assistant 消息的 content 数组为 AIMessageContent 数组\n */\nfunction convertAssistantContent(\n msg: OpenClawHistoryMessage,\n toolResultMap: Map<string, { content: string; isError: boolean }>,\n options?: ConvertHistoryOptions,\n): AIMessageContent[] {\n const contents: AIMessageContent[] = [];\n const contentArr = normalizeContent(msg.content);\n\n for (const item of contentArr) {\n switch (item.type) {\n case 'text': {\n if (item.text) {\n contents.push({\n type: 'text',\n data: item.text,\n status: 'complete',\n } as TextContent);\n }\n break;\n }\n\n case 'toolCall': {\n // 将 OpenClaw 历史中的 toolCall 转换为 ChatEngine 的 toolcall content\n const toolCallId = (item.id || '') as string;\n const toolCallName = getToolCallName(item.name as string, options);\n const rawArgs = item.arguments;\n const argsStr = rawArgs ? (typeof rawArgs === 'string' ? rawArgs : JSON.stringify(rawArgs)) : '';\n\n // 查找对应的 toolResult\n const toolResult = toolResultMap.get(toolCallId);\n const resultStr = toolResult?.content || '';\n\n const toolCall = {\n toolCallId,\n toolCallName,\n eventType: toolResult ? 'TOOL_CALL_RESULT' : 'TOOL_CALL_START',\n parentMessageId: '',\n args: argsStr,\n result: resultStr,\n };\n\n const status = toolResult ? 'complete' : 'complete';\n contents.push(createToolCallContent(toolCall, status, 'append'));\n break;\n }\n\n default:\n // 其他未知类型,尝试作为文本处理\n if (item.text) {\n contents.push({\n type: 'text',\n data: item.text,\n status: 'complete',\n } as TextContent);\n }\n break;\n }\n }\n\n return contents;\n}\n\n/**\n * 从 content 中提取文本\n */\nfunction extractTextFromContent(content: OpenClawHistoryMessage['content']): string {\n if (!content) return '';\n if (typeof content === 'string') return content;\n if (!Array.isArray(content)) return '';\n\n return content\n .filter((c) => c?.type === 'text' && c?.text)\n .map((c) => c.text!)\n .join('');\n}\n\n/**\n * 标准化 content 为数组\n */\nfunction normalizeContent(content: OpenClawHistoryMessage['content']): OpenClawHistoryContentItem[] {\n if (!content) return [];\n if (typeof content === 'string') {\n return [{ type: 'text', text: content }];\n }\n if (Array.isArray(content)) return content;\n return [];\n}\n\n/**\n * 获取映射后的工具名\n */\nfunction getToolCallName(name: string, options?: ConvertHistoryOptions): string {\n if (options?.toolCallNameMap && name in options.toolCallNameMap) {\n return options.toolCallNameMap[name];\n }\n return name || 'unknown';\n}\n\n/**\n * 判断消息是否为被中止的空消息\n */\nfunction isAbortedEmpty(msg: OpenClawHistoryMessage): boolean {\n if (msg.stopReason === 'aborted' || msg.openclawAbort?.aborted) {\n const contentArr = normalizeContent(msg.content);\n // 如果内容为空或只有空文本\n if (contentArr.length === 0) return true;\n const hasContent = contentArr.some((c) => {\n if (c.type === 'text' && c.text) return true;\n if (c.type === 'toolCall') return true;\n return false;\n });\n return !hasContent;\n }\n return false;\n}\n"],"names":["convertOpenClawHistory","messages","options","result","toolResultMap","Map","_iterator","_createForOfIteratorHelper","_step","s","n","done","msg","role","toolCallId","_msg$isError","text","extractTextFromContent","content","set","isError","err","e","f","pendingAIMessage","i","length","push","userMsg","convertUserMessage","isAbortedEmpty","aiContents","convertAssistantContent","concat","_toConsumableArray","stopReason","status","id","generateUUID","datetime","timestamp","Date","toISOString","ext","model","provider","type","data","convertOpenClawHistoryResponse","response","contents","contentArr","normalizeContent","_iterator2","_step2","item","toolCallName","getToolCallName","name","rawArgs","arguments","argsStr","JSON","stringify","toolResult","get","resultStr","toolCall","eventType","parentMessageId","args","createToolCallContent","Array","isArray","filter","c","map","join","toolCallNameMap","_msg$openclawAbort","openclawAbort","aborted","hasContent","some"],"mappings":"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"}
@@ -11,9 +11,12 @@ import EventEmitter from '../../utils/eventEmitter';
11
11
  import type { AIMessageContent, ChatRequestParams, SSEChunkData } from '../../type';
12
12
  import type { OpenClawConfig } from './types';
13
13
  import { OpenClawConnectionState } from './types/events';
14
+ import { type ConvertHistoryOptions } from './history-converter';
14
15
  export * from './types';
15
16
  export { OpenClawEventMapper, type EventMapResult } from './event-mapper';
16
17
  export { OpenClawRPCHandler, RPCError } from './rpc-handler';
18
+ export { DeviceKeyManager, type DeviceKeyPair, type DeviceIdentity } from './device-key-manager';
19
+ export { convertOpenClawHistory, convertOpenClawHistoryResponse, type OpenClawHistoryMessage, type OpenClawHistoryResponse, type ConvertHistoryOptions, } from './history-converter';
17
20
  /**
18
21
  * OpenClaw 适配器回调接口
19
22
  */
@@ -30,6 +33,14 @@ export interface OpenClawAdapterCallbacks {
30
33
  onError?: (error: Error) => void;
31
34
  /** 消息内容更新 */
32
35
  onMessage?: (content: AIMessageContent | AIMessageContent[]) => void;
36
+ /**
37
+ * 历史消息加载完成
38
+ *
39
+ * OpenClaw Gateway 在 connect 响应中可能附带历史消息(messages 字段),
40
+ * 当检测到历史消息时,适配器会自动将其转换为 ChatEngine 格式并触发此回调。
41
+ * 上层可以通过 chatEngine.setMessages(messages, 'replace') 回填到对话界面。
42
+ */
43
+ onHistoryLoaded?: (messages: import('../../type').ChatMessagesData[]) => void;
33
44
  }
34
45
  /**
35
46
  * OpenClaw 适配器配置
@@ -59,11 +70,21 @@ export declare class OpenClawAdapter extends EventEmitter {
59
70
  private callbacks;
60
71
  private isStreaming;
61
72
  private currentRequestParams;
73
+ private deviceKeyManager;
74
+ /** 动态传入的认证信息,用于 connect 握手(一次性使用) */
75
+ private pendingAuth;
62
76
  constructor(config: OpenClawAdapterConfig);
63
77
  /**
64
78
  * 设置回调
65
79
  */
66
80
  setCallbacks(callbacks: OpenClawAdapterCallbacks): void;
81
+ /**
82
+ * 设置连接认证信息(在 connect 之前调用)
83
+ *
84
+ * 传入的 auth 会在下一次 connect 握手时使用(一次性),
85
+ * 用于从 onRequest 动态获取 token 等认证信息。
86
+ */
87
+ setConnectAuth(auth: Record<string, unknown>): void;
67
88
  /**
68
89
  * 连接到 OpenClaw Gateway
69
90
  * 等待 WebSocket 连接建立并完成认证握手后才返回
@@ -115,6 +136,23 @@ export declare class OpenClawAdapter extends EventEmitter {
115
136
  action: string;
116
137
  payload: unknown;
117
138
  }): Promise<unknown>;
139
+ /**
140
+ * 获取会话历史消息
141
+ *
142
+ * 通过 OpenClaw 的 sessions.history RPC 方法获取指定会话的历史消息,
143
+ * 并自动转换为 ChatEngine 的 ChatMessagesData 格式。
144
+ *
145
+ * @param sessionKey - 会话标识
146
+ * @param options - 转换选项
147
+ * @returns ChatEngine 格式的消息数组,可直接传给 chatEngine.setMessages() 或 useChat 的 defaultMessages
148
+ *
149
+ * @example
150
+ * ```tsx
151
+ * const messages = await adapter.fetchHistory('agent:main:main');
152
+ * chatEngine.setMessages(messages, 'replace');
153
+ * ```
154
+ */
155
+ fetchHistory(sessionKey: string, options?: ConvertHistoryOptions): Promise<import('../../type').ChatMessagesData[]>;
118
156
  /**
119
157
  * 断开连接
120
158
  */
@@ -153,6 +191,9 @@ export declare class OpenClawAdapter extends EventEmitter {
153
191
  private handleEventFrame;
154
192
  /**
155
193
  * 处理连接挑战(握手)
194
+ *
195
+ * 认证成功后,如果 connect 响应中包含 messages 字段(历史消息),
196
+ * 会自动转换为 ChatEngine 格式并触发 onHistoryLoaded 回调。
156
197
  */
157
198
  private handleConnectChallenge;
158
199
  }
@@ -1,9 +1,10 @@
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
  */
6
6
 
7
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
7
8
  import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
8
9
  import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
9
10
  import _createClass from '@babel/runtime/helpers/createClass';
@@ -24,6 +25,10 @@ export { DEFAULT_OPENCLAW_CONFIG, mergeOpenClawConfig } from './types/config.js'
24
25
  import { OpenClawConnectionState, OpenClawEventType } from './types/events.js';
25
26
  export { AgentDataType, AgentStreamType, ChatEventState, OpenClawConnectionState, OpenClawEventType, OpenClawMethod } from './types/events.js';
26
27
  import { generateUUID, formatWebSocketUrl, parseFrame, getPlatform, getUserAgent, getLocale } from './utils.js';
28
+ import { convertOpenClawHistoryResponse, convertOpenClawHistory } from './history-converter.js';
29
+ export { convertOpenClawHistory, convertOpenClawHistoryResponse } from './history-converter.js';
30
+ import { DeviceKeyManager } from './device-key-manager.js';
31
+ export { DeviceKeyManager } from './device-key-manager.js';
27
32
  import './types/index.js';
28
33
  export { isEventFrame, isRequestFrame, isResponseFrame } from './types/messages.js';
29
34
  import '../../server/errors.js';
@@ -38,9 +43,9 @@ import '../shared/activity-manager.js';
38
43
  import '../agui/ActivityManager.js';
39
44
  import '../../utils/index.js';
40
45
  import '../../utils/immutable-patch.js';
41
- import '@babel/runtime/helpers/objectWithoutProperties';
42
46
  import '@babel/runtime/helpers/toArray';
43
47
 
48
+ var _excluded = ["auth"];
44
49
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
45
50
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
46
51
  function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
@@ -56,6 +61,8 @@ var OpenClawAdapter = /*#__PURE__*/function (_EventEmitter) {
56
61
  _defineProperty(_this, "callbacks", {});
57
62
  _defineProperty(_this, "isStreaming", false);
58
63
  _defineProperty(_this, "currentRequestParams", null);
64
+ _defineProperty(_this, "deviceKeyManager", null);
65
+ _defineProperty(_this, "pendingAuth", null);
59
66
  _this.adapterConfig = config;
60
67
  _this.config = mergeOpenClawConfig(config);
61
68
  _this.instanceId = generateUUID();
@@ -63,6 +70,9 @@ var OpenClawAdapter = /*#__PURE__*/function (_EventEmitter) {
63
70
  timeout: config.timeout
64
71
  });
65
72
  _this.eventMapper = new OpenClawEventMapper();
73
+ if (_this.config.deviceAuth) {
74
+ _this.deviceKeyManager = new DeviceKeyManager(_this.config.client.id);
75
+ }
66
76
  return _this;
67
77
  }
68
78
  _inherits(OpenClawAdapter, _EventEmitter);
@@ -71,6 +81,11 @@ var OpenClawAdapter = /*#__PURE__*/function (_EventEmitter) {
71
81
  value: function setCallbacks(callbacks) {
72
82
  this.callbacks = callbacks;
73
83
  }
84
+ }, {
85
+ key: "setConnectAuth",
86
+ value: function setConnectAuth(auth) {
87
+ this.pendingAuth = auth;
88
+ }
74
89
  }, {
75
90
  key: "connect",
76
91
  value: function () {
@@ -154,7 +169,7 @@ var OpenClawAdapter = /*#__PURE__*/function (_EventEmitter) {
154
169
  key: "sendMessage",
155
170
  value: function () {
156
171
  var _sendMessage = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(params, requestParams) {
157
- var chatParams, _this$callbacks$onSta, _this$callbacks, _this$callbacks$onErr, _this$callbacks2, _t;
172
+ var _ref, _auth, sendParams, chatParams, _this$callbacks$onSta, _this$callbacks, _this$callbacks$onErr, _this$callbacks2, _t;
158
173
  return _regeneratorRuntime.wrap(function (_context2) {
159
174
  while (1) switch (_context2.prev = _context2.next) {
160
175
  case 0:
@@ -167,10 +182,11 @@ var OpenClawAdapter = /*#__PURE__*/function (_EventEmitter) {
167
182
  this.currentRequestParams = params;
168
183
  this.isStreaming = true;
169
184
  this.eventMapper.reset();
185
+ _ref = requestParams || {}, _auth = _ref.auth, sendParams = _objectWithoutProperties(_ref, _excluded);
170
186
  chatParams = _objectSpread({
171
187
  message: params.prompt || "",
172
188
  idempotencyKey: generateUUID()
173
- }, requestParams);
189
+ }, sendParams);
174
190
  _context2.prev = 2;
175
191
  (_this$callbacks$onSta = (_this$callbacks = this.callbacks).onStart) === null || _this$callbacks$onSta === void 0 || _this$callbacks$onSta.call(_this$callbacks);
176
192
  _context2.next = 3;
@@ -242,20 +258,52 @@ var OpenClawAdapter = /*#__PURE__*/function (_EventEmitter) {
242
258
  return invokeAction;
243
259
  }()
244
260
  }, {
245
- key: "disconnect",
261
+ key: "fetchHistory",
246
262
  value: function () {
247
- var _disconnect = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
248
- var _this$callbacks$onDis, _this$callbacks5;
263
+ var _fetchHistory = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4(sessionKey, options) {
264
+ var response;
249
265
  return _regeneratorRuntime.wrap(function (_context4) {
250
266
  while (1) switch (_context4.prev = _context4.next) {
267
+ case 0:
268
+ if (!(this.connectionState !== OpenClawConnectionState.AUTHENTICATED)) {
269
+ _context4.next = 1;
270
+ break;
271
+ }
272
+ throw new Error("Not authenticated. Please connect first.");
273
+ case 1:
274
+ _context4.next = 2;
275
+ return this.rpcHandler.sessionsHistory({
276
+ sessionKey: sessionKey
277
+ });
278
+ case 2:
279
+ response = _context4.sent;
280
+ return _context4.abrupt("return", convertOpenClawHistoryResponse(response, options));
281
+ case 3:
282
+ case "end":
283
+ return _context4.stop();
284
+ }
285
+ }, _callee4, this);
286
+ }));
287
+ function fetchHistory(_x4, _x5) {
288
+ return _fetchHistory.apply(this, arguments);
289
+ }
290
+ return fetchHistory;
291
+ }()
292
+ }, {
293
+ key: "disconnect",
294
+ value: function () {
295
+ var _disconnect = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee5() {
296
+ var _this$callbacks$onDis, _this$callbacks5;
297
+ return _regeneratorRuntime.wrap(function (_context5) {
298
+ while (1) switch (_context5.prev = _context5.next) {
251
299
  case 0:
252
300
  this.connectionState = OpenClawConnectionState.CLOSING;
253
301
  this.rpcHandler.cancelAll("Disconnecting");
254
302
  if (!this.wsClient) {
255
- _context4.next = 2;
303
+ _context5.next = 2;
256
304
  break;
257
305
  }
258
- _context4.next = 1;
306
+ _context5.next = 1;
259
307
  return this.wsClient.close();
260
308
  case 1:
261
309
  this.wsClient = null;
@@ -264,9 +312,9 @@ var OpenClawAdapter = /*#__PURE__*/function (_EventEmitter) {
264
312
  (_this$callbacks$onDis = (_this$callbacks5 = this.callbacks).onDisconnected) === null || _this$callbacks$onDis === void 0 || _this$callbacks$onDis.call(_this$callbacks5);
265
313
  case 3:
266
314
  case "end":
267
- return _context4.stop();
315
+ return _context5.stop();
268
316
  }
269
- }, _callee4, this);
317
+ }, _callee5, this);
270
318
  }));
271
319
  function disconnect() {
272
320
  return _disconnect.apply(this, arguments);
@@ -303,20 +351,20 @@ var OpenClawAdapter = /*#__PURE__*/function (_EventEmitter) {
303
351
  }, {
304
352
  key: "destroy",
305
353
  value: function () {
306
- var _destroy = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee5() {
307
- return _regeneratorRuntime.wrap(function (_context5) {
308
- while (1) switch (_context5.prev = _context5.next) {
354
+ var _destroy = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee6() {
355
+ return _regeneratorRuntime.wrap(function (_context6) {
356
+ while (1) switch (_context6.prev = _context6.next) {
309
357
  case 0:
310
- _context5.next = 1;
358
+ _context6.next = 1;
311
359
  return this.disconnect();
312
360
  case 1:
313
361
  this.rpcHandler.destroy();
314
362
  this.removeAllListeners();
315
363
  case 2:
316
364
  case "end":
317
- return _context5.stop();
365
+ return _context6.stop();
318
366
  }
319
- }, _callee5, this);
367
+ }, _callee6, this);
320
368
  }));
321
369
  function destroy() {
322
370
  return _destroy.apply(this, arguments);
@@ -333,13 +381,15 @@ var OpenClawAdapter = /*#__PURE__*/function (_EventEmitter) {
333
381
  });
334
382
  this.wsClient.on("error", function (error) {
335
383
  var _this4$callbacks$onEr, _this4$callbacks;
336
- _this4.logger.error("OpenClaw WebSocket error:", error);
384
+ _this4.logger.error("[OpenClaw] WebSocket error:", (error === null || error === void 0 ? void 0 : error.message) || error);
337
385
  (_this4$callbacks$onEr = (_this4$callbacks = _this4.callbacks).onError) === null || _this4$callbacks$onEr === void 0 || _this4$callbacks$onEr.call(_this4$callbacks, error);
338
386
  });
339
387
  this.wsClient.on("complete", function (isAborted) {
340
388
  var _this4$callbacks$onDi, _this4$callbacks3;
389
+ console.warn("[OpenClaw] WebSocket complete event! isAborted=".concat(isAborted, ", isStreaming=").concat(_this4.isStreaming));
341
390
  if (_this4.isStreaming) {
342
391
  var _this4$callbacks$onCo, _this4$callbacks2;
392
+ console.warn("[OpenClaw] \u26A0\uFE0F WebSocket closed while still streaming! This caused onComplete to fire prematurely.");
343
393
  _this4.isStreaming = false;
344
394
  (_this4$callbacks$onCo = (_this4$callbacks2 = _this4.callbacks).onComplete) === null || _this4$callbacks$onCo === void 0 || _this4$callbacks$onCo.call(_this4$callbacks2, isAborted, _this4.currentRequestParams || void 0);
345
395
  }
@@ -355,11 +405,14 @@ var OpenClawAdapter = /*#__PURE__*/function (_EventEmitter) {
355
405
  }, {
356
406
  key: "handleWebSocketMessage",
357
407
  value: function handleWebSocketMessage(data) {
408
+ var rawStr = typeof data === "string" ? data : JSON.stringify(data);
409
+ console.log("[OpenClaw RAW] ".concat(rawStr.slice(0, 800)));
358
410
  var frame = parseFrame(data);
359
411
  if (!frame) {
360
- this.logger.warn("Failed to parse OpenClaw frame:", data);
412
+ console.warn("[OpenClaw] Failed to parse frame, raw data:", rawStr.slice(0, 500));
361
413
  return;
362
414
  }
415
+ console.log("[OpenClaw Frame] type=\"".concat(frame.type, "\", event=").concat(frame.event, ", isStreaming=").concat(this.isStreaming));
363
416
  if (frame.type === "res") {
364
417
  this.rpcHandler.handleResponse(frame);
365
418
  return;
@@ -377,8 +430,14 @@ var OpenClawAdapter = /*#__PURE__*/function (_EventEmitter) {
377
430
  this.handleConnectChallenge(payload);
378
431
  return;
379
432
  }
433
+ if (event === OpenClawEventType.HEALTH || event === OpenClawEventType.HEARTBEAT || event === "tick") {
434
+ console.log("[OpenClaw] Skipping non-business event: \"".concat(event, "\""));
435
+ return;
436
+ }
437
+ console.log("[OpenClaw Event] event=\"".concat(event, "\", isStreaming=").concat(this.isStreaming, ", payload="), JSON.stringify(payload).slice(0, 500));
380
438
  if (this.isStreaming) {
381
439
  var result = this.eventMapper.mapEvent(frame);
440
+ console.log("[OpenClaw mapResult] content=".concat(result.content ? JSON.stringify(result.content).slice(0, 200) : "null", ", isFinal=").concat(result.isFinal, ", hasError=").concat(result.hasError));
382
441
  if (result.content) {
383
442
  var _this$callbacks$onMes, _this$callbacks7;
384
443
  (_this$callbacks$onMes = (_this$callbacks7 = this.callbacks).onMessage) === null || _this$callbacks$onMes === void 0 || _this$callbacks$onMes.call(_this$callbacks7, result.content);
@@ -393,19 +452,20 @@ var OpenClawAdapter = /*#__PURE__*/function (_EventEmitter) {
393
452
  var _this$callbacks$onErr3, _this$callbacks9;
394
453
  (_this$callbacks$onErr3 = (_this$callbacks9 = this.callbacks).onError) === null || _this$callbacks$onErr3 === void 0 || _this$callbacks$onErr3.call(_this$callbacks9, new Error(result.errorMessage));
395
454
  }
455
+ } else {
456
+ console.warn("[OpenClaw] Received event \"".concat(event, "\" but isStreaming=false, event may be lost. Payload:"), JSON.stringify(payload).slice(0, 300));
396
457
  }
397
458
  }
398
459
  }, {
399
460
  key: "handleConnectChallenge",
400
461
  value: function () {
401
- var _handleConnectChallenge = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee6(_payload) {
402
- var _this$config$auth;
403
- var connectParams, _this$callbacks$onCon, _this$callbacks0, response, _this$callbacks$onErr4, _this$callbacks1, _t2;
404
- return _regeneratorRuntime.wrap(function (_context6) {
405
- while (1) switch (_context6.prev = _context6.next) {
462
+ var _handleConnectChallenge = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee7(payload) {
463
+ var connectParams, auth, deviceIdentity, _this$callbacks$onCon, _this$callbacks0, response, connectPayload, _this$callbacks$onHis, _this$callbacks1, historyResponse, convertedMessages, _this$callbacks$onErr4, _this$callbacks10, _t2, _t3;
464
+ return _regeneratorRuntime.wrap(function (_context7) {
465
+ while (1) switch (_context7.prev = _context7.next) {
406
466
  case 0:
407
467
  this.logger.debug("Received connect.challenge, sending connect request");
408
- connectParams = _objectSpread(_objectSpread({
468
+ connectParams = {
409
469
  minProtocol: this.config.protocolVersion.min,
410
470
  maxProtocol: this.config.protocolVersion.max,
411
471
  client: {
@@ -416,39 +476,79 @@ var OpenClawAdapter = /*#__PURE__*/function (_EventEmitter) {
416
476
  instanceId: this.instanceId
417
477
  },
418
478
  role: "operator",
419
- scopes: ["operator.admin", "operator.approvals", "operator.pairing"],
420
- caps: []
421
- }, (_this$config$auth = this.config.auth) !== null && _this$config$auth !== void 0 && _this$config$auth.token ? {
422
- auth: this.config.auth
423
- } : {}), {}, {
479
+ scopes: ["operator.admin"],
480
+ caps: [],
424
481
  userAgent: getUserAgent(),
425
482
  locale: getLocale()
426
- });
427
- _context6.prev = 1;
428
- _context6.next = 2;
429
- return this.rpcHandler.connect(connectParams);
483
+ };
484
+ auth = this.pendingAuth || (Object.keys(this.config.auth).length > 0 ? this.config.auth : void 0);
485
+ if (auth) {
486
+ connectParams.auth = auth;
487
+ }
488
+ this.pendingAuth = null;
489
+ if (!(this.deviceKeyManager && payload.nonce)) {
490
+ _context7.next = 5;
491
+ break;
492
+ }
493
+ _context7.prev = 1;
494
+ _context7.next = 2;
495
+ return this.deviceKeyManager.initialize();
430
496
  case 2:
431
- response = _context6.sent;
497
+ _context7.next = 3;
498
+ return this.deviceKeyManager.signChallenge(payload.nonce);
499
+ case 3:
500
+ deviceIdentity = _context7.sent;
501
+ connectParams.device = deviceIdentity;
502
+ this.logger.debug("Device auth: signed nonce, deviceId=".concat(deviceIdentity.id));
503
+ _context7.next = 5;
504
+ break;
505
+ case 4:
506
+ _context7.prev = 4;
507
+ _t2 = _context7["catch"](1);
508
+ this.logger.warn("Device auth: failed to sign challenge, connecting without device identity:", _t2);
509
+ case 5:
510
+ _context7.prev = 5;
511
+ _context7.next = 6;
512
+ return this.rpcHandler.connect(connectParams);
513
+ case 6:
514
+ response = _context7.sent;
432
515
  this.connectionState = OpenClawConnectionState.AUTHENTICATED;
433
516
  this.logger.info("OpenClaw authenticated successfully:", response);
434
517
  (_this$callbacks$onCon = (_this$callbacks0 = this.callbacks).onConnected) === null || _this$callbacks$onCon === void 0 || _this$callbacks$onCon.call(_this$callbacks0);
435
518
  this.emit("connected", response);
436
- _context6.next = 4;
519
+ connectPayload = response;
520
+ if (Array.isArray(connectPayload === null || connectPayload === void 0 ? void 0 : connectPayload.messages) && connectPayload.messages.length > 0) {
521
+ this.logger.info("OpenClaw connect response contains ".concat(connectPayload.messages.length, " history messages, converting..."));
522
+ try {
523
+ historyResponse = {
524
+ sessionKey: connectPayload.sessionKey || "",
525
+ sessionId: connectPayload.sessionId || "",
526
+ messages: connectPayload.messages
527
+ };
528
+ convertedMessages = convertOpenClawHistory(historyResponse.messages);
529
+ this.logger.info("Converted ".concat(convertedMessages.length, " history messages"));
530
+ (_this$callbacks$onHis = (_this$callbacks1 = this.callbacks).onHistoryLoaded) === null || _this$callbacks$onHis === void 0 || _this$callbacks$onHis.call(_this$callbacks1, convertedMessages);
531
+ this.emit("historyLoaded", convertedMessages);
532
+ } catch (historyError) {
533
+ this.logger.warn("Failed to convert history messages from connect response:", historyError);
534
+ }
535
+ }
536
+ _context7.next = 8;
437
537
  break;
438
- case 3:
439
- _context6.prev = 3;
440
- _t2 = _context6["catch"](1);
538
+ case 7:
539
+ _context7.prev = 7;
540
+ _t3 = _context7["catch"](5);
441
541
  this.connectionState = OpenClawConnectionState.ERROR;
442
- this.logger.error("OpenClaw authentication failed:", _t2);
443
- (_this$callbacks$onErr4 = (_this$callbacks1 = this.callbacks).onError) === null || _this$callbacks$onErr4 === void 0 || _this$callbacks$onErr4.call(_this$callbacks1, _t2);
444
- this.emit("error", _t2);
445
- case 4:
542
+ this.logger.error("OpenClaw authentication failed:", _t3);
543
+ (_this$callbacks$onErr4 = (_this$callbacks10 = this.callbacks).onError) === null || _this$callbacks$onErr4 === void 0 || _this$callbacks$onErr4.call(_this$callbacks10, _t3);
544
+ this.emit("error", _t3);
545
+ case 8:
446
546
  case "end":
447
- return _context6.stop();
547
+ return _context7.stop();
448
548
  }
449
- }, _callee6, this, [[1, 3]]);
549
+ }, _callee7, this, [[1, 4], [5, 7]]);
450
550
  }));
451
- function handleConnectChallenge(_x4) {
551
+ function handleConnectChallenge(_x6) {
452
552
  return _handleConnectChallenge.apply(this, arguments);
453
553
  }
454
554
  return handleConnectChallenge;