@tdesign-react/chat 1.0.2-alpha.8 → 1.1.0-alpha.1

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 (446) hide show
  1. package/es/_chunks/dep-f2051ebd.js +839 -0
  2. package/es/_chunks/dep-f2051ebd.js.map +1 -0
  3. package/es/_util/reactify.d.ts +1 -2
  4. package/es/_util/reactify.js +81 -231
  5. package/es/_util/reactify.js.map +1 -1
  6. package/es/_util/useDynamicStyle.js +1 -1
  7. package/es/attachments/index.js +4 -6
  8. package/es/attachments/index.js.map +1 -1
  9. package/es/chat-actionbar/_example-js/base.d.ts +2 -0
  10. package/es/chat-actionbar/_example-js/custom.d.ts +2 -0
  11. package/es/chat-actionbar/_example-js/style.d.ts +2 -0
  12. package/es/chat-actionbar/index.js +4 -6
  13. package/es/chat-actionbar/index.js.map +1 -1
  14. package/es/chat-attachments/_example-js/base.d.ts +2 -0
  15. package/es/chat-attachments/_example-js/scroll-x.d.ts +2 -0
  16. package/es/chat-attachments/_example-js/scroll-y.d.ts +2 -0
  17. package/es/chat-attachments/index.js +3 -1
  18. package/es/chat-attachments/index.js.map +1 -1
  19. package/es/chat-engine/_example-js/agui-basic.d.ts +10 -0
  20. package/es/chat-engine/_example-js/agui-comprehensive.d.ts +2 -0
  21. package/es/chat-engine/_example-js/agui-test.d.ts +11 -0
  22. package/es/chat-engine/_example-js/agui-toolcall.d.ts +5 -0
  23. package/es/chat-engine/_example-js/agui-videoclip.d.ts +8 -0
  24. package/es/chat-engine/_example-js/agui.d.ts +1 -0
  25. package/es/chat-engine/_example-js/basic.d.ts +9 -0
  26. package/es/chat-engine/_example-js/components/HotelCard.d.ts +3 -0
  27. package/es/chat-engine/_example-js/components/HumanInputForm.d.ts +6 -0
  28. package/es/chat-engine/_example-js/components/HumanInputResult.d.ts +3 -0
  29. package/es/chat-engine/_example-js/components/ItineraryCard.d.ts +3 -0
  30. package/es/chat-engine/_example-js/components/PlanningStatePanel.d.ts +4 -0
  31. package/es/chat-engine/_example-js/components/Toolcall.d.ts +4 -0
  32. package/es/chat-engine/_example-js/components/WeatherCard.d.ts +3 -0
  33. package/es/chat-engine/_example-js/components/login.d.ts +1 -0
  34. package/es/chat-engine/_example-js/comprehensive.d.ts +12 -0
  35. package/es/chat-engine/_example-js/custom-content.d.ts +1 -0
  36. package/es/chat-engine/_example-js/hookComponent.d.ts +1 -0
  37. package/es/chat-engine/_example-js/initial-messages.d.ts +9 -0
  38. package/es/chat-engine/_example-js/instance-methods.d.ts +13 -0
  39. package/es/chat-engine/_example-js/travel-actions.d.ts +91 -0
  40. package/es/chat-engine/_example-js/travelToolcall.d.ts +1 -0
  41. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.d.ts +196 -0
  42. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js +301 -0
  43. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js.map +1 -0
  44. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.d.ts +37 -0
  45. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js +116 -0
  46. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js.map +1 -0
  47. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.d.ts +42 -0
  48. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js +113 -0
  49. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js.map +1 -0
  50. package/es/chat-engine/components/a2ui/A2UISkeleton.d.ts +60 -0
  51. package/es/chat-engine/components/a2ui/A2UISkeleton.js +197 -0
  52. package/es/chat-engine/components/a2ui/A2UISkeleton.js.map +1 -0
  53. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.d.ts +44 -0
  54. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js +139 -0
  55. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js.map +1 -0
  56. package/es/chat-engine/components/a2ui/containers/A2UICard.d.ts +22 -0
  57. package/es/chat-engine/components/a2ui/containers/A2UICard.js +82 -0
  58. package/es/chat-engine/components/a2ui/containers/A2UICard.js.map +1 -0
  59. package/es/chat-engine/components/a2ui/containers/A2UIColumn.d.ts +18 -0
  60. package/es/chat-engine/components/a2ui/containers/A2UIColumn.js +81 -0
  61. package/es/chat-engine/components/a2ui/containers/A2UIColumn.js.map +1 -0
  62. package/es/chat-engine/components/a2ui/containers/A2UIList.d.ts +14 -0
  63. package/es/chat-engine/components/a2ui/containers/A2UIList.js +62 -0
  64. package/es/chat-engine/components/a2ui/containers/A2UIList.js.map +1 -0
  65. package/es/chat-engine/components/a2ui/containers/A2UIRow.d.ts +20 -0
  66. package/es/chat-engine/components/a2ui/containers/A2UIRow.js +84 -0
  67. package/es/chat-engine/components/a2ui/containers/A2UIRow.js.map +1 -0
  68. package/es/chat-engine/components/a2ui/containers/A2UITabs.d.ts +14 -0
  69. package/es/chat-engine/components/a2ui/containers/A2UITabs.js +69 -0
  70. package/es/chat-engine/components/a2ui/containers/A2UITabs.js.map +1 -0
  71. package/es/chat-engine/components/a2ui/containers/index.d.ts +8 -0
  72. package/es/chat-engine/components/a2ui/containers/index.js +30 -0
  73. package/es/chat-engine/components/a2ui/containers/index.js.map +1 -0
  74. package/es/chat-engine/components/a2ui/index.d.ts +11 -0
  75. package/es/chat-engine/components/a2ui/index.js +62 -0
  76. package/es/chat-engine/components/a2ui/index.js.map +1 -0
  77. package/es/chat-engine/components/a2ui/primitives/A2UIButton.d.ts +33 -0
  78. package/es/chat-engine/components/a2ui/primitives/A2UIButton.js +80 -0
  79. package/es/chat-engine/components/a2ui/primitives/A2UIButton.js.map +1 -0
  80. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.d.ts +12 -0
  81. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js +43 -0
  82. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js.map +1 -0
  83. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.d.ts +50 -0
  84. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js +54 -0
  85. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js.map +1 -0
  86. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.d.ts +13 -0
  87. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js +89 -0
  88. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js.map +1 -0
  89. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.d.ts +12 -0
  90. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js +25 -0
  91. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js.map +1 -0
  92. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.d.ts +13 -0
  93. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js +138942 -0
  94. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js.map +1 -0
  95. package/es/chat-engine/components/a2ui/primitives/A2UIImage.d.ts +12 -0
  96. package/es/chat-engine/components/a2ui/primitives/A2UIImage.js +75 -0
  97. package/es/chat-engine/components/a2ui/primitives/A2UIImage.js.map +1 -0
  98. package/es/chat-engine/components/a2ui/primitives/A2UIInput.d.ts +20 -0
  99. package/es/chat-engine/components/a2ui/primitives/A2UIInput.js +63 -0
  100. package/es/chat-engine/components/a2ui/primitives/A2UIInput.js.map +1 -0
  101. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.d.ts +56 -0
  102. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js +64 -0
  103. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js.map +1 -0
  104. package/es/chat-engine/components/a2ui/primitives/A2UISlider.d.ts +12 -0
  105. package/es/chat-engine/components/a2ui/primitives/A2UISlider.js +55 -0
  106. package/es/chat-engine/components/a2ui/primitives/A2UISlider.js.map +1 -0
  107. package/es/chat-engine/components/a2ui/primitives/A2UIText.d.ts +12 -0
  108. package/es/chat-engine/components/a2ui/primitives/A2UIText.js +104 -0
  109. package/es/chat-engine/components/a2ui/primitives/A2UIText.js.map +1 -0
  110. package/es/chat-engine/components/a2ui/primitives/A2UITextField.d.ts +12 -0
  111. package/es/chat-engine/components/a2ui/primitives/A2UITextField.js +80 -0
  112. package/es/chat-engine/components/a2ui/primitives/A2UITextField.js.map +1 -0
  113. package/es/chat-engine/components/a2ui/primitives/index.d.ts +15 -0
  114. package/es/chat-engine/components/a2ui/primitives/index.js +39 -0
  115. package/es/chat-engine/components/a2ui/primitives/index.js.map +1 -0
  116. package/es/chat-engine/components/a2ui/registry.d.ts +35 -0
  117. package/es/chat-engine/components/a2ui/registry.js +74 -0
  118. package/es/chat-engine/components/a2ui/registry.js.map +1 -0
  119. package/es/{chatbot/components/toolcall → chat-engine/components/activity}/index.d.ts +1 -0
  120. package/es/chat-engine/components/activity/index.js +18 -0
  121. package/es/chat-engine/components/activity/index.js.map +1 -0
  122. package/es/chat-engine/components/activity/registry.d.ts +44 -0
  123. package/es/{chatbot/components/toolcall → chat-engine/components/activity}/registry.js +32 -22
  124. package/es/chat-engine/components/activity/registry.js.map +1 -0
  125. package/es/chat-engine/components/activity/render.d.ts +11 -0
  126. package/es/chat-engine/components/activity/render.js +107 -0
  127. package/es/chat-engine/components/activity/render.js.map +1 -0
  128. package/es/chat-engine/components/activity/types.d.ts +32 -0
  129. package/es/chat-engine/components/activity/types.js +7 -0
  130. package/es/chat-engine/components/activity/types.js.map +1 -0
  131. package/es/chat-engine/components/index.d.ts +4 -0
  132. package/es/chat-engine/components/index.js +76 -0
  133. package/es/chat-engine/components/index.js.map +1 -0
  134. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.d.ts +36 -0
  135. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js +36 -0
  136. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js.map +1 -0
  137. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.d.ts +46 -0
  138. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js +36 -0
  139. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js.map +1 -0
  140. package/es/chat-engine/components/json-render/SurfaceStateManager.d.ts +113 -0
  141. package/es/chat-engine/components/json-render/SurfaceStateManager.js +195 -0
  142. package/es/chat-engine/components/json-render/SurfaceStateManager.js.map +1 -0
  143. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.d.ts +49 -0
  144. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js +307 -0
  145. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js.map +1 -0
  146. package/es/chat-engine/components/json-render/adapters/a2ui-types.d.ts +96 -0
  147. package/es/chat-engine/components/json-render/adapters/a2ui-types.js +7 -0
  148. package/es/chat-engine/components/json-render/adapters/a2ui-types.js.map +1 -0
  149. package/es/chat-engine/components/json-render/adapters/index.d.ts +7 -0
  150. package/es/chat-engine/components/json-render/adapters/index.js +11 -0
  151. package/es/chat-engine/components/json-render/adapters/index.js.map +1 -0
  152. package/es/chat-engine/components/json-render/catalog/a2ui-binding.d.ts +64 -0
  153. package/es/chat-engine/components/json-render/catalog/a2ui-binding.js +36 -0
  154. package/es/chat-engine/components/json-render/catalog/a2ui-binding.js.map +1 -0
  155. package/es/chat-engine/components/json-render/catalog/a2ui-registry.d.ts +78 -0
  156. package/es/chat-engine/components/json-render/catalog/a2ui-registry.js +36 -0
  157. package/es/chat-engine/components/json-render/catalog/a2ui-registry.js.map +1 -0
  158. package/es/chat-engine/components/json-render/catalog/button.d.ts +14 -0
  159. package/es/chat-engine/components/json-render/catalog/button.js +71 -0
  160. package/es/chat-engine/components/json-render/catalog/button.js.map +1 -0
  161. package/es/chat-engine/components/json-render/catalog/card.d.ts +11 -0
  162. package/es/chat-engine/components/json-render/catalog/card.js +57 -0
  163. package/es/chat-engine/components/json-render/catalog/card.js.map +1 -0
  164. package/es/chat-engine/components/json-render/catalog/index.d.ts +127 -0
  165. package/es/chat-engine/components/json-render/catalog/index.js +36 -0
  166. package/es/chat-engine/components/json-render/catalog/index.js.map +1 -0
  167. package/es/chat-engine/components/json-render/catalog/input.d.ts +20 -0
  168. package/es/chat-engine/components/json-render/catalog/input.js +36 -0
  169. package/es/chat-engine/components/json-render/catalog/input.js.map +1 -0
  170. package/es/chat-engine/components/json-render/catalog/layout.d.ts +44 -0
  171. package/es/chat-engine/components/json-render/catalog/layout.js +129 -0
  172. package/es/chat-engine/components/json-render/catalog/layout.js.map +1 -0
  173. package/es/chat-engine/components/json-render/catalog/text.d.ts +11 -0
  174. package/es/chat-engine/components/json-render/catalog/text.js +31 -0
  175. package/es/chat-engine/components/json-render/catalog/text.js.map +1 -0
  176. package/es/chat-engine/components/json-render/catalog.d.ts +549 -0
  177. package/es/chat-engine/components/json-render/catalog.js +147 -0
  178. package/es/chat-engine/components/json-render/catalog.js.map +1 -0
  179. package/es/chat-engine/components/json-render/config.d.ts +154 -0
  180. package/es/chat-engine/components/json-render/config.js +36 -0
  181. package/es/chat-engine/components/json-render/config.js.map +1 -0
  182. package/es/chat-engine/components/json-render/contexts/actions.d.ts +74 -0
  183. package/es/chat-engine/components/json-render/contexts/actions.js +290 -0
  184. package/es/chat-engine/components/json-render/contexts/actions.js.map +1 -0
  185. package/es/chat-engine/components/json-render/contexts/data.d.ts +45 -0
  186. package/es/chat-engine/components/json-render/contexts/data.js +104 -0
  187. package/es/chat-engine/components/json-render/contexts/data.js.map +1 -0
  188. package/es/chat-engine/components/json-render/contexts/validation.d.ts +59 -0
  189. package/es/chat-engine/components/json-render/contexts/validation.js +151 -0
  190. package/es/chat-engine/components/json-render/contexts/validation.js.map +1 -0
  191. package/es/chat-engine/components/json-render/contexts/visibility.d.ts +29 -0
  192. package/es/chat-engine/components/json-render/contexts/visibility.js +56 -0
  193. package/es/chat-engine/components/json-render/contexts/visibility.js.map +1 -0
  194. package/es/chat-engine/components/json-render/engine.d.ts +58 -0
  195. package/es/chat-engine/components/json-render/engine.js +88 -0
  196. package/es/chat-engine/components/json-render/engine.js.map +1 -0
  197. package/es/chat-engine/components/json-render/index.d.ts +34 -0
  198. package/es/chat-engine/components/json-render/index.js +36 -0
  199. package/es/chat-engine/components/json-render/index.js.map +1 -0
  200. package/es/chat-engine/components/json-render/performance.d.ts +91 -0
  201. package/es/chat-engine/components/json-render/performance.js +135 -0
  202. package/es/chat-engine/components/json-render/performance.js.map +1 -0
  203. package/es/chat-engine/components/json-render/renderer.d.ts +71 -0
  204. package/es/chat-engine/components/json-render/renderer.js +124 -0
  205. package/es/chat-engine/components/json-render/renderer.js.map +1 -0
  206. package/es/chat-engine/components/json-render/types.d.ts +69 -0
  207. package/es/chat-engine/components/json-render/types.js +7 -0
  208. package/es/chat-engine/components/json-render/types.js.map +1 -0
  209. package/es/chat-engine/components/provider/agent-state.js +39 -2
  210. package/es/chat-engine/components/provider/agent-state.js.map +1 -1
  211. package/es/chat-engine/components/toolcall/index.js +35 -2
  212. package/es/chat-engine/components/toolcall/index.js.map +1 -1
  213. package/es/chat-engine/components/toolcall/registry.js +1 -1
  214. package/es/chat-engine/components/toolcall/render.d.ts +1 -1
  215. package/es/chat-engine/components/toolcall/render.js +102 -26
  216. package/es/chat-engine/components/toolcall/render.js.map +1 -1
  217. package/es/chat-engine/components/toolcall/types.js +1 -1
  218. package/es/chat-engine/core/a2ui/index.d.ts +10 -0
  219. package/es/chat-engine/core/a2ui/index.js +24 -0
  220. package/es/chat-engine/core/a2ui/index.js.map +1 -0
  221. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.d.ts +197 -0
  222. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js +438 -0
  223. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js.map +1 -0
  224. package/es/chat-engine/core/a2ui/processor/ComponentTree.d.ts +53 -0
  225. package/es/chat-engine/core/a2ui/processor/ComponentTree.js +158 -0
  226. package/es/chat-engine/core/a2ui/processor/ComponentTree.js.map +1 -0
  227. package/es/chat-engine/core/a2ui/processor/DataStore.d.ts +63 -0
  228. package/es/chat-engine/core/a2ui/processor/DataStore.js +172 -0
  229. package/es/chat-engine/core/a2ui/processor/DataStore.js.map +1 -0
  230. package/es/chat-engine/core/a2ui/processor/PathResolver.d.ts +47 -0
  231. package/es/chat-engine/core/a2ui/processor/PathResolver.js +99 -0
  232. package/es/chat-engine/core/a2ui/processor/PathResolver.js.map +1 -0
  233. package/es/chat-engine/core/a2ui/types/index.d.ts +4 -0
  234. package/es/chat-engine/core/a2ui/types/index.js +9 -0
  235. package/es/chat-engine/core/a2ui/types/index.js.map +1 -0
  236. package/es/chat-engine/core/a2ui/types/types.d.ts +770 -0
  237. package/es/chat-engine/core/a2ui/types/types.js +104 -0
  238. package/es/chat-engine/core/a2ui/types/types.js.map +1 -0
  239. package/es/chat-engine/core/a2ui/utils/binding.d.ts +34 -0
  240. package/es/chat-engine/core/a2ui/utils/binding.js +1784 -0
  241. package/es/chat-engine/core/a2ui/utils/binding.js.map +1 -0
  242. package/es/chat-engine/core/a2ui/utils/index.d.ts +5 -0
  243. package/es/chat-engine/core/a2ui/utils/index.js +13 -0
  244. package/es/chat-engine/core/a2ui/utils/index.js.map +1 -0
  245. package/es/chat-engine/core/a2ui/utils/validation.d.ts +70 -0
  246. package/es/chat-engine/core/a2ui/utils/validation.js +333 -0
  247. package/es/chat-engine/core/a2ui/utils/validation.js.map +1 -0
  248. package/es/chat-engine/core/adapters/agui/activity-manager.d.ts +102 -0
  249. package/es/chat-engine/core/adapters/agui/activity-manager.js +144 -0
  250. package/es/chat-engine/core/adapters/agui/activity-manager.js.map +1 -0
  251. package/es/chat-engine/core/adapters/agui/event-mapper.d.ts +149 -0
  252. package/es/chat-engine/core/adapters/agui/event-mapper.js +415 -0
  253. package/es/chat-engine/core/adapters/agui/event-mapper.js.map +1 -0
  254. package/es/chat-engine/core/adapters/agui/events.d.ts +1550 -0
  255. package/es/chat-engine/core/adapters/agui/events.js +199 -0
  256. package/es/chat-engine/core/adapters/agui/events.js.map +1 -0
  257. package/es/chat-engine/core/adapters/agui/index.d.ts +95 -0
  258. package/es/chat-engine/core/adapters/agui/index.js +195 -0
  259. package/es/chat-engine/core/adapters/agui/index.js.map +1 -0
  260. package/es/chat-engine/core/adapters/agui/state-manager.d.ts +99 -0
  261. package/es/chat-engine/core/adapters/agui/state-manager.js +168 -0
  262. package/es/chat-engine/core/adapters/agui/state-manager.js.map +1 -0
  263. package/es/chat-engine/core/adapters/agui/types.d.ts +818 -0
  264. package/es/chat-engine/core/adapters/agui/types.js +95 -0
  265. package/es/chat-engine/core/adapters/agui/types.js.map +1 -0
  266. package/es/chat-engine/core/adapters/agui/utils.d.ts +203 -0
  267. package/es/chat-engine/core/adapters/agui/utils.js +330 -0
  268. package/es/chat-engine/core/adapters/agui/utils.js.map +1 -0
  269. package/es/chat-engine/core/event-bus/ChatEventBus.d.ts +88 -0
  270. package/es/chat-engine/core/event-bus/ChatEventBus.js +295 -0
  271. package/es/chat-engine/core/event-bus/ChatEventBus.js.map +1 -0
  272. package/es/chat-engine/core/event-bus/index.d.ts +5 -0
  273. package/es/chat-engine/core/event-bus/index.js +13 -0
  274. package/es/chat-engine/core/event-bus/index.js.map +1 -0
  275. package/es/chat-engine/core/event-bus/types.d.ts +230 -0
  276. package/es/chat-engine/core/event-bus/types.js +32 -0
  277. package/es/chat-engine/core/event-bus/types.js.map +1 -0
  278. package/es/chat-engine/core/index.d.ts +147 -0
  279. package/es/chat-engine/core/index.js +754 -0
  280. package/es/chat-engine/core/index.js.map +1 -0
  281. package/es/chat-engine/core/processor/index.d.ts +20 -0
  282. package/es/chat-engine/core/processor/index.js +146 -0
  283. package/es/chat-engine/core/processor/index.js.map +1 -0
  284. package/es/chat-engine/core/server/batch-client.d.ts +20 -0
  285. package/es/chat-engine/core/server/batch-client.js +114 -0
  286. package/es/chat-engine/core/server/batch-client.js.map +1 -0
  287. package/es/chat-engine/core/server/connection-manager.d.ts +39 -0
  288. package/es/chat-engine/core/server/connection-manager.js +84 -0
  289. package/es/chat-engine/core/server/connection-manager.js.map +1 -0
  290. package/es/chat-engine/core/server/errors.d.ts +22 -0
  291. package/es/chat-engine/core/server/errors.js +80 -0
  292. package/es/chat-engine/core/server/errors.js.map +1 -0
  293. package/es/chat-engine/core/server/index.d.ts +11 -0
  294. package/es/chat-engine/core/server/index.js +26 -0
  295. package/es/chat-engine/core/server/index.js.map +1 -0
  296. package/es/chat-engine/core/server/llm-service.d.ts +44 -0
  297. package/es/chat-engine/core/server/llm-service.js +200 -0
  298. package/es/chat-engine/core/server/llm-service.js.map +1 -0
  299. package/es/chat-engine/core/server/sse-client.d.ts +77 -0
  300. package/es/chat-engine/core/server/sse-client.js +362 -0
  301. package/es/chat-engine/core/server/sse-client.js.map +1 -0
  302. package/es/chat-engine/core/server/sse-parser.d.ts +49 -0
  303. package/es/chat-engine/core/server/sse-parser.js +116 -0
  304. package/es/chat-engine/core/server/sse-parser.js.map +1 -0
  305. package/es/chat-engine/core/server/types.d.ts +54 -0
  306. package/es/chat-engine/core/server/types.js +28 -0
  307. package/es/chat-engine/core/server/types.js.map +1 -0
  308. package/es/chat-engine/core/store/message.d.ts +27 -0
  309. package/es/chat-engine/core/store/message.js +263 -0
  310. package/es/chat-engine/core/store/message.js.map +1 -0
  311. package/es/chat-engine/core/store/model.d.ts +8 -0
  312. package/es/chat-engine/core/store/model.js +65 -0
  313. package/es/chat-engine/core/store/model.js.map +1 -0
  314. package/es/chat-engine/core/store/reactiveState.d.ts +52 -0
  315. package/es/chat-engine/core/store/reactiveState.js +1359 -0
  316. package/es/chat-engine/core/store/reactiveState.js.map +1 -0
  317. package/es/chat-engine/core/type.d.ts +271 -0
  318. package/es/chat-engine/core/type.js +7 -0
  319. package/es/chat-engine/core/type.js.map +1 -0
  320. package/es/chat-engine/core/utils/eventEmitter.d.ts +10 -0
  321. package/es/chat-engine/core/utils/eventEmitter.js +67 -0
  322. package/es/chat-engine/core/utils/eventEmitter.js.map +1 -0
  323. package/es/chat-engine/core/utils/index.d.ts +33 -0
  324. package/es/chat-engine/core/utils/index.js +999 -0
  325. package/es/chat-engine/core/utils/index.js.map +1 -0
  326. package/es/chat-engine/core/utils/logger.d.ts +30 -0
  327. package/es/chat-engine/core/utils/logger.js +87 -0
  328. package/es/chat-engine/core/utils/logger.js.map +1 -0
  329. package/es/chat-engine/hooks/a2ui/A2UIContext.d.ts +90 -0
  330. package/es/chat-engine/hooks/a2ui/A2UIContext.js +97 -0
  331. package/es/chat-engine/hooks/a2ui/A2UIContext.js.map +1 -0
  332. package/es/chat-engine/hooks/a2ui/index.d.ts +12 -0
  333. package/es/chat-engine/hooks/a2ui/index.js +19 -0
  334. package/es/chat-engine/hooks/a2ui/useA2UIAction.d.ts +40 -0
  335. package/es/chat-engine/hooks/a2ui/useA2UIAction.js +74 -0
  336. package/es/chat-engine/hooks/a2ui/useA2UIAction.js.map +1 -0
  337. package/es/chat-engine/hooks/a2ui/useA2UISurface.d.ts +36 -0
  338. package/es/chat-engine/hooks/a2ui/useA2UISurface.js +39 -0
  339. package/es/chat-engine/hooks/a2ui/useA2UISurface.js.map +1 -0
  340. package/es/chat-engine/hooks/a2ui/useDataBinding.d.ts +53 -0
  341. package/es/chat-engine/hooks/a2ui/useDataBinding.js +111 -0
  342. package/es/chat-engine/hooks/a2ui/useDataBinding.js.map +1 -0
  343. package/es/chat-engine/hooks/index.d.ts +4 -0
  344. package/es/chat-engine/hooks/index.js +54 -0
  345. package/es/chat-engine/hooks/index.js.map +1 -0
  346. package/es/chat-engine/hooks/useAgentActivity.d.ts +15 -0
  347. package/es/chat-engine/hooks/useAgentActivity.js +73 -0
  348. package/es/chat-engine/hooks/useAgentActivity.js.map +1 -0
  349. package/es/chat-engine/hooks/useAgentState.js +39 -2
  350. package/es/chat-engine/hooks/useAgentState.js.map +1 -1
  351. package/es/chat-engine/hooks/useAgentToolcall.js +1 -1
  352. package/es/chat-engine/hooks/useChat.d.ts +3 -3
  353. package/es/chat-engine/hooks/useChat.js +41 -3
  354. package/es/chat-engine/hooks/useChat.js.map +1 -1
  355. package/es/chat-engine/hooks/useJsonRenderActivity.d.ts +56 -0
  356. package/es/chat-engine/hooks/useJsonRenderActivity.js +63 -0
  357. package/es/chat-engine/hooks/useJsonRenderActivity.js.map +1 -0
  358. package/es/chat-engine/index.d.ts +3 -3
  359. package/es/chat-engine/index.js +61 -5
  360. package/es/chat-engine/index.js.map +1 -1
  361. package/es/chat-filecard/_example-js/base.d.ts +1 -0
  362. package/es/chat-filecard/index.js +4 -6
  363. package/es/chat-filecard/index.js.map +1 -1
  364. package/es/chat-loading/_example-js/base.d.ts +2 -0
  365. package/es/chat-loading/_example-js/text.d.ts +2 -0
  366. package/es/chat-loading/index.js +4 -6
  367. package/es/chat-loading/index.js.map +1 -1
  368. package/es/chat-markdown/_example-js/base.d.ts +1 -0
  369. package/es/chat-markdown/_example-js/custom.d.ts +2 -0
  370. package/es/chat-markdown/_example-js/event.d.ts +1 -0
  371. package/es/chat-markdown/_example-js/footnote.d.ts +2 -0
  372. package/es/chat-markdown/_example-js/plugin.d.ts +2 -0
  373. package/es/chat-markdown/_example-js/theme.d.ts +2 -0
  374. package/es/chat-markdown/index.js +4 -6
  375. package/es/chat-markdown/index.js.map +1 -1
  376. package/es/chat-message/_example-js/action.d.ts +1 -0
  377. package/es/chat-message/_example-js/base.d.ts +1 -0
  378. package/es/chat-message/_example-js/configure.d.ts +1 -0
  379. package/es/chat-message/_example-js/content.d.ts +1 -0
  380. package/es/chat-message/_example-js/custom.d.ts +1 -0
  381. package/es/chat-message/_example-js/handle-actions.d.ts +7 -0
  382. package/es/chat-message/_example-js/status.d.ts +1 -0
  383. package/es/chat-message/_example-js/think.d.ts +1 -0
  384. package/es/chat-message/index.js +4 -6
  385. package/es/chat-message/index.js.map +1 -1
  386. package/es/chat-sender/_example-js/attachment.d.ts +2 -0
  387. package/es/chat-sender/_example-js/base.d.ts +2 -0
  388. package/es/chat-sender/_example-js/custom.d.ts +2 -0
  389. package/es/chat-sender/index.js +4 -6
  390. package/es/chat-sender/index.js.map +1 -1
  391. package/es/chat-thinking/_example-js/base.d.ts +1 -0
  392. package/es/chat-thinking/_example-js/style.d.ts +1 -0
  393. package/es/chat-thinking/index.js +4 -6
  394. package/es/chat-thinking/index.js.map +1 -1
  395. package/es/chatbot/_example-js/agent.d.ts +1 -0
  396. package/es/chatbot/_example-js/agui.d.ts +13 -0
  397. package/es/chatbot/_example-js/backup/travel.d.ts +1 -0
  398. package/es/chatbot/_example-js/basic.d.ts +1 -0
  399. package/es/chatbot/_example-js/code.d.ts +1 -0
  400. package/es/chatbot/_example-js/components/ItineraryCard.d.ts +3 -0
  401. package/es/chatbot/_example-js/components/login.d.ts +1 -0
  402. package/es/chatbot/_example-js/comprehensive.d.ts +1 -0
  403. package/es/chatbot/_example-js/custom-content.d.ts +1 -0
  404. package/es/chatbot/_example-js/custom-merge.d.ts +1 -0
  405. package/es/chatbot/_example-js/custom.d.ts +1 -0
  406. package/es/chatbot/_example-js/docs.d.ts +1 -0
  407. package/es/chatbot/_example-js/image.d.ts +1 -0
  408. package/es/chatbot/_example-js/initial-messages.d.ts +9 -0
  409. package/es/chatbot/_example-js/instance-methods.d.ts +14 -0
  410. package/es/chatbot/_example-js/nostream.d.ts +1 -0
  411. package/es/chatbot/_example-js/quick-start.d.ts +9 -0
  412. package/es/chatbot/_example-js/research.d.ts +1 -0
  413. package/es/chatbot/_example-js/role-message-config.d.ts +22 -0
  414. package/es/chatbot/_example-js/sender-config.d.ts +20 -0
  415. package/es/chatbot/_example-js/service-config.d.ts +17 -0
  416. package/es/chatbot/_example-js/simple.d.ts +1 -0
  417. package/es/chatbot/_example-js/utils/messageRenderer.d.ts +5 -0
  418. package/es/chatbot/docs/react-best-practice.d.ts +13 -0
  419. package/es/chatbot/index.js +4 -6
  420. package/es/chatbot/index.js.map +1 -1
  421. package/es/index.js +59 -9
  422. package/es/index.js.map +1 -1
  423. package/es/style/index.js +1 -1
  424. package/package.json +6 -3
  425. package/es/chatbot/components/provider/agent-state.d.ts +0 -5
  426. package/es/chatbot/components/provider/agent-state.js +0 -28
  427. package/es/chatbot/components/provider/agent-state.js.map +0 -1
  428. package/es/chatbot/components/toolcall/index.js +0 -19
  429. package/es/chatbot/components/toolcall/registry.d.ts +0 -35
  430. package/es/chatbot/components/toolcall/registry.js.map +0 -1
  431. package/es/chatbot/components/toolcall/render.d.ts +0 -13
  432. package/es/chatbot/components/toolcall/render.js +0 -207
  433. package/es/chatbot/components/toolcall/render.js.map +0 -1
  434. package/es/chatbot/components/toolcall/types.d.ts +0 -57
  435. package/es/chatbot/components/toolcall/types.js +0 -15
  436. package/es/chatbot/components/toolcall/types.js.map +0 -1
  437. package/es/chatbot/hooks/useAgentState.d.ts +0 -40
  438. package/es/chatbot/hooks/useAgentState.js +0 -76
  439. package/es/chatbot/hooks/useAgentState.js.map +0 -1
  440. package/es/chatbot/hooks/useAgentToolcall.d.ts +0 -28
  441. package/es/chatbot/hooks/useAgentToolcall.js +0 -78
  442. package/es/chatbot/hooks/useAgentToolcall.js.map +0 -1
  443. package/es/chatbot/hooks/useChat.d.ts +0 -11
  444. package/es/chatbot/hooks/useChat.js +0 -66
  445. package/es/chatbot/hooks/useChat.js.map +0 -1
  446. /package/es/{chatbot/components/toolcall → chat-engine/hooks/a2ui}/index.js.map +0 -0
@@ -0,0 +1,230 @@
1
+ /**
2
+ * ChatEngine 事件总线类型定义
3
+ */
4
+ import type { AIMessageContent, ChatMessagesData, ChatRequestParams, ChatStatus, ToolCall } from '../type';
5
+ /**
6
+ * 事件类型枚举
7
+ */
8
+ export declare enum ChatEngineEventType {
9
+ ENGINE_INIT = "engine:init",
10
+ ENGINE_DESTROY = "engine:destroy",
11
+ MESSAGE_CREATE = "message:create",
12
+ MESSAGE_UPDATE = "message:update",
13
+ MESSAGE_DELETE = "message:delete",
14
+ MESSAGE_CLEAR = "message:clear",
15
+ MESSAGE_STATUS_CHANGE = "message:status",
16
+ MESSAGE_CONTENT_APPEND = "message:content:append",
17
+ REQUEST_START = "request:start",
18
+ REQUEST_STREAM = "request:stream",
19
+ REQUEST_COMPLETE = "request:complete",
20
+ REQUEST_ERROR = "request:error",
21
+ REQUEST_ABORT = "request:abort",
22
+ AGUI_RUN_START = "agui:run:start",
23
+ AGUI_RUN_COMPLETE = "agui:run:complete",
24
+ AGUI_RUN_ERROR = "agui:run:error",
25
+ AGUI_STATE_UPDATE = "agui:state:update",
26
+ AGUI_TOOLCALL = "agui:toolcall",
27
+ AGUI_ACTIVITY = "agui:activity",
28
+ CUSTOM = "custom"
29
+ }
30
+ /**
31
+ * 事件载荷类型映射
32
+ */
33
+ export interface ChatEngineEventPayloadMap {
34
+ [ChatEngineEventType.ENGINE_INIT]: {
35
+ timestamp: number;
36
+ };
37
+ [ChatEngineEventType.ENGINE_DESTROY]: {
38
+ timestamp: number;
39
+ };
40
+ [ChatEngineEventType.MESSAGE_CREATE]: {
41
+ message: ChatMessagesData;
42
+ messages: ChatMessagesData[];
43
+ };
44
+ [ChatEngineEventType.MESSAGE_UPDATE]: {
45
+ messageId: string;
46
+ content: AIMessageContent | AIMessageContent[];
47
+ message: ChatMessagesData;
48
+ };
49
+ [ChatEngineEventType.MESSAGE_DELETE]: {
50
+ messageId: string;
51
+ messages: ChatMessagesData[];
52
+ };
53
+ [ChatEngineEventType.MESSAGE_CLEAR]: {
54
+ timestamp: number;
55
+ };
56
+ [ChatEngineEventType.MESSAGE_STATUS_CHANGE]: {
57
+ messageId: string;
58
+ status: ChatStatus;
59
+ previousStatus?: ChatStatus;
60
+ };
61
+ [ChatEngineEventType.MESSAGE_CONTENT_APPEND]: {
62
+ messageId: string;
63
+ content: AIMessageContent;
64
+ contentIndex: number;
65
+ };
66
+ [ChatEngineEventType.REQUEST_START]: {
67
+ params: ChatRequestParams;
68
+ messageId?: string;
69
+ };
70
+ [ChatEngineEventType.REQUEST_STREAM]: {
71
+ messageId: string;
72
+ chunk: unknown;
73
+ content?: AIMessageContent | AIMessageContent[] | null;
74
+ };
75
+ [ChatEngineEventType.REQUEST_COMPLETE]: {
76
+ messageId: string;
77
+ params: ChatRequestParams;
78
+ message: ChatMessagesData;
79
+ };
80
+ [ChatEngineEventType.REQUEST_ERROR]: {
81
+ messageId: string;
82
+ error: Error | unknown;
83
+ params?: ChatRequestParams;
84
+ };
85
+ [ChatEngineEventType.REQUEST_ABORT]: {
86
+ messageId: string;
87
+ params: ChatRequestParams;
88
+ };
89
+ [ChatEngineEventType.AGUI_RUN_START]: {
90
+ runId: string;
91
+ threadId?: string;
92
+ timestamp: number;
93
+ };
94
+ [ChatEngineEventType.AGUI_RUN_COMPLETE]: {
95
+ runId: string;
96
+ threadId?: string;
97
+ timestamp: number;
98
+ };
99
+ [ChatEngineEventType.AGUI_RUN_ERROR]: {
100
+ error: Error | unknown;
101
+ runId?: string;
102
+ };
103
+ [ChatEngineEventType.AGUI_STATE_UPDATE]: {
104
+ stateKey: string;
105
+ state: unknown;
106
+ previousState?: unknown;
107
+ };
108
+ [ChatEngineEventType.AGUI_TOOLCALL]: {
109
+ toolCall: ToolCall;
110
+ eventType: string;
111
+ };
112
+ [ChatEngineEventType.AGUI_ACTIVITY]: {
113
+ activityType: string;
114
+ messageId?: string;
115
+ content: unknown;
116
+ };
117
+ [ChatEngineEventType.CUSTOM]: {
118
+ eventName: string;
119
+ data: unknown;
120
+ };
121
+ }
122
+ /**
123
+ * 事件回调函数类型
124
+ */
125
+ export type EventCallback<T = unknown> = (payload: T) => void;
126
+ /**
127
+ * 取消订阅函数类型
128
+ */
129
+ export type UnsubscribeFn = () => void;
130
+ /**
131
+ * 事件过滤器类型
132
+ */
133
+ export type EventFilter<T = unknown> = (payload: T) => boolean;
134
+ /**
135
+ * 事件总线配置
136
+ */
137
+ export interface ChatEventBusOptions {
138
+ /**
139
+ * 是否启用调试模式
140
+ * @default false
141
+ */
142
+ debug?: boolean;
143
+ /**
144
+ * 最大监听器数量(每个事件)
145
+ * @default 100
146
+ */
147
+ maxListeners?: number;
148
+ /**
149
+ * 事件历史记录长度(用于调试)
150
+ * @default 0
151
+ */
152
+ historySize?: number;
153
+ }
154
+ /**
155
+ * 事件历史记录
156
+ */
157
+ export interface EventHistoryItem {
158
+ event: ChatEngineEventType | string;
159
+ payload: unknown;
160
+ timestamp: number;
161
+ }
162
+ /**
163
+ * 事件总线接口
164
+ */
165
+ export interface IChatEventBus {
166
+ /**
167
+ * 订阅事件
168
+ * @param event 事件类型
169
+ * @param callback 回调函数
170
+ * @returns 取消订阅函数
171
+ */
172
+ on<E extends ChatEngineEventType>(event: E, callback: EventCallback<ChatEngineEventPayloadMap[E]>): UnsubscribeFn;
173
+ /**
174
+ * 一次性订阅
175
+ * @param event 事件类型
176
+ * @param callback 回调函数
177
+ * @returns 取消订阅函数
178
+ */
179
+ once<E extends ChatEngineEventType>(event: E, callback: EventCallback<ChatEngineEventPayloadMap[E]>): UnsubscribeFn;
180
+ /**
181
+ * 取消订阅
182
+ * @param event 事件类型
183
+ * @param callback 可选的回调函数,不传则取消该事件所有订阅
184
+ */
185
+ off<E extends ChatEngineEventType>(event: E, callback?: EventCallback<ChatEngineEventPayloadMap[E]>): void;
186
+ /**
187
+ * 发布事件
188
+ * @param event 事件类型
189
+ * @param payload 事件载荷
190
+ */
191
+ emit<E extends ChatEngineEventType>(event: E, payload: ChatEngineEventPayloadMap[E]): void;
192
+ /**
193
+ * 等待事件(Promise 方式)
194
+ * @param event 事件类型
195
+ * @param timeout 超时时间(毫秒)
196
+ * @returns Promise
197
+ */
198
+ waitFor<E extends ChatEngineEventType>(event: E, timeout?: number): Promise<ChatEngineEventPayloadMap[E]>;
199
+ /**
200
+ * 带过滤条件的等待
201
+ * @param event 事件类型
202
+ * @param filter 过滤函数
203
+ * @param timeout 超时时间
204
+ */
205
+ waitForMatch<E extends ChatEngineEventType>(event: E, filter: EventFilter<ChatEngineEventPayloadMap[E]>, timeout?: number): Promise<ChatEngineEventPayloadMap[E]>;
206
+ /**
207
+ * 订阅自定义事件
208
+ * @param eventName 自定义事件名
209
+ * @param callback 回调函数
210
+ */
211
+ onCustom<T = unknown>(eventName: string, callback: EventCallback<T>): UnsubscribeFn;
212
+ /**
213
+ * 发布自定义事件
214
+ * @param eventName 自定义事件名
215
+ * @param data 数据
216
+ */
217
+ emitCustom<T = unknown>(eventName: string, data: T): void;
218
+ /**
219
+ * 获取事件历史记录
220
+ */
221
+ getHistory(): EventHistoryItem[];
222
+ /**
223
+ * 清理所有订阅
224
+ */
225
+ clear(): void;
226
+ /**
227
+ * 销毁事件总线
228
+ */
229
+ destroy(): void;
230
+ }
@@ -0,0 +1,32 @@
1
+ /**
2
+ * tdesign v1.0.2-alpha.15
3
+ * (c) 2026 tdesign
4
+ * @license MIT
5
+ */
6
+
7
+ var ChatEngineEventType = /* @__PURE__ */function (ChatEngineEventType2) {
8
+ ChatEngineEventType2["ENGINE_INIT"] = "engine:init";
9
+ ChatEngineEventType2["ENGINE_DESTROY"] = "engine:destroy";
10
+ ChatEngineEventType2["MESSAGE_CREATE"] = "message:create";
11
+ ChatEngineEventType2["MESSAGE_UPDATE"] = "message:update";
12
+ ChatEngineEventType2["MESSAGE_DELETE"] = "message:delete";
13
+ ChatEngineEventType2["MESSAGE_CLEAR"] = "message:clear";
14
+ ChatEngineEventType2["MESSAGE_STATUS_CHANGE"] = "message:status";
15
+ ChatEngineEventType2["MESSAGE_CONTENT_APPEND"] = "message:content:append";
16
+ ChatEngineEventType2["REQUEST_START"] = "request:start";
17
+ ChatEngineEventType2["REQUEST_STREAM"] = "request:stream";
18
+ ChatEngineEventType2["REQUEST_COMPLETE"] = "request:complete";
19
+ ChatEngineEventType2["REQUEST_ERROR"] = "request:error";
20
+ ChatEngineEventType2["REQUEST_ABORT"] = "request:abort";
21
+ ChatEngineEventType2["AGUI_RUN_START"] = "agui:run:start";
22
+ ChatEngineEventType2["AGUI_RUN_COMPLETE"] = "agui:run:complete";
23
+ ChatEngineEventType2["AGUI_RUN_ERROR"] = "agui:run:error";
24
+ ChatEngineEventType2["AGUI_STATE_UPDATE"] = "agui:state:update";
25
+ ChatEngineEventType2["AGUI_TOOLCALL"] = "agui:toolcall";
26
+ ChatEngineEventType2["AGUI_ACTIVITY"] = "agui:activity";
27
+ ChatEngineEventType2["CUSTOM"] = "custom";
28
+ return ChatEngineEventType2;
29
+ }(ChatEngineEventType || {});
30
+
31
+ export { ChatEngineEventType };
32
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sources":["../../../../../pro-components/chat/chat-engine/core/event-bus/types.ts"],"sourcesContent":["/**\n * ChatEngine 事件总线类型定义\n */\nimport type { AIMessageContent, ChatMessagesData, ChatRequestParams, ChatStatus, ToolCall } from '../type';\n\n/**\n * 事件类型枚举\n */\nexport enum ChatEngineEventType {\n // 生命周期事件\n ENGINE_INIT = 'engine:init',\n ENGINE_DESTROY = 'engine:destroy',\n\n // 消息事件\n MESSAGE_CREATE = 'message:create',\n MESSAGE_UPDATE = 'message:update',\n MESSAGE_DELETE = 'message:delete',\n MESSAGE_CLEAR = 'message:clear',\n MESSAGE_STATUS_CHANGE = 'message:status',\n MESSAGE_CONTENT_APPEND = 'message:content:append',\n\n // 请求事件\n REQUEST_START = 'request:start',\n REQUEST_STREAM = 'request:stream',\n REQUEST_COMPLETE = 'request:complete',\n REQUEST_ERROR = 'request:error',\n REQUEST_ABORT = 'request:abort',\n\n // AG-UI 协议事件\n AGUI_RUN_START = 'agui:run:start',\n AGUI_RUN_COMPLETE = 'agui:run:complete',\n AGUI_RUN_ERROR = 'agui:run:error',\n AGUI_STATE_UPDATE = 'agui:state:update',\n AGUI_TOOLCALL = 'agui:toolcall',\n AGUI_ACTIVITY = 'agui:activity',\n\n // 自定义事件\n CUSTOM = 'custom',\n}\n\n/**\n * 事件载荷类型映射\n */\nexport interface ChatEngineEventPayloadMap {\n // 生命周期事件\n [ChatEngineEventType.ENGINE_INIT]: {\n timestamp: number;\n };\n [ChatEngineEventType.ENGINE_DESTROY]: {\n timestamp: number;\n };\n\n // 消息事件\n [ChatEngineEventType.MESSAGE_CREATE]: {\n message: ChatMessagesData;\n messages: ChatMessagesData[];\n };\n [ChatEngineEventType.MESSAGE_UPDATE]: {\n messageId: string;\n content: AIMessageContent | AIMessageContent[];\n message: ChatMessagesData;\n };\n [ChatEngineEventType.MESSAGE_DELETE]: {\n messageId: string;\n messages: ChatMessagesData[];\n };\n [ChatEngineEventType.MESSAGE_CLEAR]: {\n timestamp: number;\n };\n [ChatEngineEventType.MESSAGE_STATUS_CHANGE]: {\n messageId: string;\n status: ChatStatus;\n previousStatus?: ChatStatus;\n };\n [ChatEngineEventType.MESSAGE_CONTENT_APPEND]: {\n messageId: string;\n content: AIMessageContent;\n contentIndex: number;\n };\n\n // 请求事件\n [ChatEngineEventType.REQUEST_START]: {\n params: ChatRequestParams;\n messageId?: string;\n };\n [ChatEngineEventType.REQUEST_STREAM]: {\n messageId: string;\n chunk: unknown;\n content?: AIMessageContent | AIMessageContent[] | null;\n };\n [ChatEngineEventType.REQUEST_COMPLETE]: {\n messageId: string;\n params: ChatRequestParams;\n message: ChatMessagesData;\n };\n [ChatEngineEventType.REQUEST_ERROR]: {\n messageId: string;\n error: Error | unknown;\n params?: ChatRequestParams;\n };\n [ChatEngineEventType.REQUEST_ABORT]: {\n messageId: string;\n params: ChatRequestParams;\n };\n\n // AG-UI 协议事件\n [ChatEngineEventType.AGUI_RUN_START]: {\n runId: string;\n threadId?: string;\n timestamp: number;\n };\n [ChatEngineEventType.AGUI_RUN_COMPLETE]: {\n runId: string;\n threadId?: string;\n timestamp: number;\n };\n [ChatEngineEventType.AGUI_RUN_ERROR]: {\n error: Error | unknown;\n runId?: string;\n };\n [ChatEngineEventType.AGUI_STATE_UPDATE]: {\n stateKey: string;\n state: unknown;\n previousState?: unknown;\n };\n [ChatEngineEventType.AGUI_TOOLCALL]: {\n toolCall: ToolCall;\n eventType: string;\n };\n [ChatEngineEventType.AGUI_ACTIVITY]: {\n activityType: string;\n messageId?: string;\n content: unknown;\n };\n\n // 自定义事件\n [ChatEngineEventType.CUSTOM]: {\n eventName: string;\n data: unknown;\n };\n}\n\n/**\n * 事件回调函数类型\n */\nexport type EventCallback<T = unknown> = (payload: T) => void;\n\n/**\n * 取消订阅函数类型\n */\nexport type UnsubscribeFn = () => void;\n\n/**\n * 事件过滤器类型\n */\nexport type EventFilter<T = unknown> = (payload: T) => boolean;\n\n/**\n * 事件总线配置\n */\nexport interface ChatEventBusOptions {\n /**\n * 是否启用调试模式\n * @default false\n */\n debug?: boolean;\n /**\n * 最大监听器数量(每个事件)\n * @default 100\n */\n maxListeners?: number;\n /**\n * 事件历史记录长度(用于调试)\n * @default 0\n */\n historySize?: number;\n}\n\n/**\n * 事件历史记录\n */\nexport interface EventHistoryItem {\n event: ChatEngineEventType | string;\n payload: unknown;\n timestamp: number;\n}\n\n/**\n * 事件总线接口\n */\nexport interface IChatEventBus {\n /**\n * 订阅事件\n * @param event 事件类型\n * @param callback 回调函数\n * @returns 取消订阅函数\n */\n on<E extends ChatEngineEventType>(event: E, callback: EventCallback<ChatEngineEventPayloadMap[E]>): UnsubscribeFn;\n\n /**\n * 一次性订阅\n * @param event 事件类型\n * @param callback 回调函数\n * @returns 取消订阅函数\n */\n once<E extends ChatEngineEventType>(event: E, callback: EventCallback<ChatEngineEventPayloadMap[E]>): UnsubscribeFn;\n\n /**\n * 取消订阅\n * @param event 事件类型\n * @param callback 可选的回调函数,不传则取消该事件所有订阅\n */\n off<E extends ChatEngineEventType>(event: E, callback?: EventCallback<ChatEngineEventPayloadMap[E]>): void;\n\n /**\n * 发布事件\n * @param event 事件类型\n * @param payload 事件载荷\n */\n emit<E extends ChatEngineEventType>(event: E, payload: ChatEngineEventPayloadMap[E]): void;\n\n /**\n * 等待事件(Promise 方式)\n * @param event 事件类型\n * @param timeout 超时时间(毫秒)\n * @returns Promise\n */\n waitFor<E extends ChatEngineEventType>(event: E, timeout?: number): Promise<ChatEngineEventPayloadMap[E]>;\n\n /**\n * 带过滤条件的等待\n * @param event 事件类型\n * @param filter 过滤函数\n * @param timeout 超时时间\n */\n waitForMatch<E extends ChatEngineEventType>(\n event: E,\n filter: EventFilter<ChatEngineEventPayloadMap[E]>,\n timeout?: number,\n ): Promise<ChatEngineEventPayloadMap[E]>;\n\n /**\n * 订阅自定义事件\n * @param eventName 自定义事件名\n * @param callback 回调函数\n */\n onCustom<T = unknown>(eventName: string, callback: EventCallback<T>): UnsubscribeFn;\n\n /**\n * 发布自定义事件\n * @param eventName 自定义事件名\n * @param data 数据\n */\n emitCustom<T = unknown>(eventName: string, data: T): void;\n\n /**\n * 获取事件历史记录\n */\n getHistory(): EventHistoryItem[];\n\n /**\n * 清理所有订阅\n */\n clear(): void;\n\n /**\n * 销毁事件总线\n */\n destroy(): void;\n}\n"],"names":["ChatEngineEventType"],"mappings":";;;;;;IAQYA,mBAAA,4BAAAA,oBAAL,EAAA;AAELA,EAAAA,qBAAA,aAAc,CAAA,GAAA,aAAA,CAAA;AACdA,EAAAA,qBAAA,gBAAiB,CAAA,GAAA,gBAAA,CAAA;AAGjBA,EAAAA,qBAAA,gBAAiB,CAAA,GAAA,gBAAA,CAAA;AACjBA,EAAAA,qBAAA,gBAAiB,CAAA,GAAA,gBAAA,CAAA;AACjBA,EAAAA,qBAAA,gBAAiB,CAAA,GAAA,gBAAA,CAAA;AACjBA,EAAAA,qBAAA,eAAgB,CAAA,GAAA,eAAA,CAAA;AAChBA,EAAAA,qBAAA,uBAAwB,CAAA,GAAA,gBAAA,CAAA;AACxBA,EAAAA,qBAAA,wBAAyB,CAAA,GAAA,wBAAA,CAAA;AAGzBA,EAAAA,qBAAA,eAAgB,CAAA,GAAA,eAAA,CAAA;AAChBA,EAAAA,qBAAA,gBAAiB,CAAA,GAAA,gBAAA,CAAA;AACjBA,EAAAA,qBAAA,kBAAmB,CAAA,GAAA,kBAAA,CAAA;AACnBA,EAAAA,qBAAA,eAAgB,CAAA,GAAA,eAAA,CAAA;AAChBA,EAAAA,qBAAA,eAAgB,CAAA,GAAA,eAAA,CAAA;AAGhBA,EAAAA,qBAAA,gBAAiB,CAAA,GAAA,gBAAA,CAAA;AACjBA,EAAAA,qBAAA,mBAAoB,CAAA,GAAA,mBAAA,CAAA;AACpBA,EAAAA,qBAAA,gBAAiB,CAAA,GAAA,gBAAA,CAAA;AACjBA,EAAAA,qBAAA,mBAAoB,CAAA,GAAA,mBAAA,CAAA;AACpBA,EAAAA,qBAAA,eAAgB,CAAA,GAAA,eAAA,CAAA;AAChBA,EAAAA,qBAAA,eAAgB,CAAA,GAAA,eAAA,CAAA;AAGhBA,EAAAA,qBAAA,QAAS,CAAA,GAAA,QAAA,CAAA;AA7BCA,EAAAA,OAAAA,oBAAAA,CAAAA;AAAA,CAAA,CAAAA,mBAAA,IAAA,EAAA;;;;"}
@@ -0,0 +1,147 @@
1
+ import type { ChatEventBusOptions, IChatEventBus } from './event-bus';
2
+ import { MessageStore } from './store/message';
3
+ import type { AIMessageContent, ChatMessagesData, ChatMessageSetterMode, ChatRequestParams, ChatServiceConfigSetter, ChatStatus, IChatEngine, ToolCall } from './type';
4
+ export default class ChatEngine implements IChatEngine {
5
+ messageStore: MessageStore;
6
+ /**
7
+ * 事件总线实例
8
+ * @description 用于发布/订阅引擎事件,支持无 UI 场景下的事件分发
9
+ */
10
+ readonly eventBus: IChatEventBus;
11
+ private messageProcessor;
12
+ private llmService;
13
+ private config;
14
+ private lastRequestParams;
15
+ private stopReceive;
16
+ private aguiAdapter;
17
+ constructor(eventBusOptions?: ChatEventBusOptions);
18
+ /**
19
+ * 获取当前所有消息
20
+ * @returns 消息数组
21
+ * @description 返回消息存储中的所有消息
22
+ */
23
+ get messages(): ChatMessagesData[];
24
+ /**
25
+ * 获取当前聊天状态
26
+ * @returns 聊天状态:'idle'、'pending'、'streaming'、'complete'、'stop'或'error'
27
+ * @description 返回最后一条消息的状态,如果没有消息则返回'idle'
28
+ */
29
+ get status(): ChatStatus;
30
+ /**
31
+ * 销毁聊天引擎实例
32
+ * @description 中止请求,清理消息存储和适配器,释放资源
33
+ */
34
+ destroy(): void;
35
+ /**
36
+ * 初始化聊天引擎
37
+ * @param configSetter 聊天服务配置或配置生成函数
38
+ * @param initialMessages 初始消息列表,用于恢复历史对话
39
+ * @description 设置初始消息、配置服务参数,并根据协议类型初始化适配器
40
+ */
41
+ init(configSetter: ChatServiceConfigSetter, initialMessages?: ChatMessagesData[]): void;
42
+ /**
43
+ * 发送用户消息并获取AI回复
44
+ * @param requestParams 请求参数,包含用户输入的文本和附件
45
+ * @param sendRequest 是否立即发送
46
+ * @description 创建用户消息和AI消息,并发送请求获取AI回复
47
+ */
48
+ sendUserMessage(requestParams: ChatRequestParams, sendRequest?: boolean): Promise<void>;
49
+ /**
50
+ * 发送系统消息
51
+ * @param msg 系统消息文本内容
52
+ * @description 创建并存储一条系统消息,通常用于设置上下文或控制对话流程
53
+ */
54
+ sendSystemMessage(msg: string): Promise<void>;
55
+ /**
56
+ * 手动发送AI消息
57
+ * @param options 包含请求参数params、发送消息内容content和是否发送请求的标志sendRequest
58
+ * @description 创建并存储一条AI消息,可选择是否同时发送请求
59
+ */
60
+ sendAIMessage(options?: {
61
+ params?: ChatRequestParams;
62
+ content?: AIMessageContent[];
63
+ sendRequest?: boolean;
64
+ }): Promise<void>;
65
+ /**
66
+ * 中止当前进行中的聊天请求
67
+ * @description 停止接收流式响应,关闭连接,并调用配置的onAbort回调
68
+ */
69
+ abortChat(): Promise<void>;
70
+ /**
71
+ * 注册内容块合并策略
72
+ * @param type 内容类型,如'text'、'markdown'等
73
+ * @param handler 合并处理函数,接收新块和现有块,返回合并后的内容块
74
+ * @description 用于自定义不同类型内容的增量更新逻辑
75
+ */
76
+ registerMergeStrategy<T extends AIMessageContent>(type: T['type'], // 使用类型中定义的type字段作为参数类型
77
+ handler: (chunk: T, existing?: T) => T): void;
78
+ /**
79
+ * 设置消息列表
80
+ * @param messages 要设置的消息数组
81
+ * @param mode 设置模式:'replace'(替换)、'prepend'(前置)、'append'(追加),默认为'replace'
82
+ * @description 用于批量更新消息,如加载历史消息或重置对话
83
+ */
84
+ setMessages(messages: ChatMessagesData[], mode?: ChatMessageSetterMode): void;
85
+ /**
86
+ * 清空所有消息
87
+ * @description 清除消息存储中的所有历史记录
88
+ */
89
+ clearMessages(): void;
90
+ /**
91
+ * 重新生成AI回复
92
+ * @param keepVersion 是否保留历史版本,默认为false
93
+ * @description
94
+ * - 当keepVersion=false时:删除最后一条AI消息,创建新消息并重新请求
95
+ * - 当keepVersion=true时:保留旧消息,创建分支消息并重新请求
96
+ */
97
+ regenerateAIMessage(keepVersion?: boolean): Promise<void>;
98
+ /**
99
+ * 发送请求获取AI回复
100
+ * @param params 请求参数
101
+ * @description 根据配置选择流式或批量请求模式,处理响应并更新消息状态
102
+ */
103
+ sendRequest(params: ChatRequestParams): Promise<void>;
104
+ /**
105
+ * 根据名称获取工具调用
106
+ * @param name 工具调用名称
107
+ * @returns 匹配的工具调用对象,如果未找到则返回undefined
108
+ * @description 用于获取特定名称的工具调用信息,仅在AGUI协议下可用
109
+ */
110
+ getToolcallByName(name: string): ToolCall | undefined;
111
+ private handleBatchRequest;
112
+ private handleError;
113
+ private handleComplete;
114
+ /**
115
+ * 处理流式请求
116
+ * 根据协议类型选择不同的处理策略
117
+ */
118
+ private handleStreamRequest;
119
+ /**
120
+ * 处理AGUI协议的流式请求
121
+ */
122
+ private handleAGUIStreamRequest;
123
+ /**
124
+ * 处理默认协议的流式请求
125
+ */
126
+ private handleDefaultStreamRequest;
127
+ /**
128
+ * 统一处理消息结果
129
+ * 支持单个内容块、多个内容块和增量更新
130
+ */
131
+ private processMessageResult;
132
+ /**
133
+ * 发布 AG-UI 细粒度事件
134
+ * 根据内容类型分发到对应的事件通道
135
+ * todo: 这里的类型 any问题
136
+ */
137
+ private emitAGUIDetailEvents;
138
+ private convertMessages;
139
+ private setMessageStatus;
140
+ private processContentUpdate;
141
+ }
142
+ export * from './utils';
143
+ export * from './adapters/agui';
144
+ export * from './event-bus';
145
+ export { stateManager } from './adapters/agui/state-manager';
146
+ export { activityManager } from './adapters/agui/activity-manager';
147
+ export type * from './type';