@tdesign-react/chat 1.0.2 → 1.0.3-alpha.2

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 (524) hide show
  1. package/CHANGELOG.md +0 -4
  2. package/README.md +76 -22
  3. package/es/_chunks/dep-076af7c3.js +438 -0
  4. package/es/_chunks/dep-076af7c3.js.map +1 -0
  5. package/es/_chunks/dep-1007ac80.js +205 -0
  6. package/es/_chunks/dep-1007ac80.js.map +1 -0
  7. package/es/_chunks/dep-16520c2b.js +1247 -0
  8. package/es/_chunks/dep-16520c2b.js.map +1 -0
  9. package/es/_chunks/dep-1743bd61.js +438 -0
  10. package/es/_chunks/dep-1743bd61.js.map +1 -0
  11. package/es/_chunks/dep-1ca64fef.js +1247 -0
  12. package/es/_chunks/dep-1ca64fef.js.map +1 -0
  13. package/es/_chunks/dep-24472232.js +839 -0
  14. package/es/_chunks/dep-24472232.js.map +1 -0
  15. package/es/_chunks/dep-3864b369.js +839 -0
  16. package/es/_chunks/dep-3864b369.js.map +1 -0
  17. package/es/_chunks/dep-3e40d789.js +169 -0
  18. package/es/_chunks/dep-3e40d789.js.map +1 -0
  19. package/es/_chunks/dep-4dedfbef.js +438 -0
  20. package/es/_chunks/dep-4dedfbef.js.map +1 -0
  21. package/es/_chunks/dep-56f5e08e.js +448 -0
  22. package/es/_chunks/dep-56f5e08e.js.map +1 -0
  23. package/es/_chunks/dep-5b6b17d0.js +169 -0
  24. package/es/_chunks/dep-5b6b17d0.js.map +1 -0
  25. package/es/_chunks/dep-688e4aaa.js +438 -0
  26. package/es/_chunks/dep-688e4aaa.js.map +1 -0
  27. package/es/_chunks/dep-870f0d35.js +839 -0
  28. package/es/_chunks/dep-870f0d35.js.map +1 -0
  29. package/es/_chunks/dep-96eca06f.js +169 -0
  30. package/es/_chunks/dep-96eca06f.js.map +1 -0
  31. package/es/_chunks/dep-ba3bd553.js +169 -0
  32. package/es/_chunks/dep-ba3bd553.js.map +1 -0
  33. package/es/_chunks/dep-bcb234a1.js +839 -0
  34. package/es/_chunks/dep-bcb234a1.js.map +1 -0
  35. package/es/_chunks/dep-de8ac730.js +1247 -0
  36. package/es/_chunks/dep-de8ac730.js.map +1 -0
  37. package/es/_chunks/dep-e9dbff09.js +1247 -0
  38. package/es/_chunks/dep-e9dbff09.js.map +1 -0
  39. package/es/_chunks/dep-ebc4cf30.js +1247 -0
  40. package/es/_chunks/dep-ebc4cf30.js.map +1 -0
  41. package/es/_chunks/dep-f2051ebd.js +839 -0
  42. package/es/_chunks/dep-f2051ebd.js.map +1 -0
  43. package/es/_chunks/dep-f691a67e.js +438 -0
  44. package/es/_chunks/dep-f691a67e.js.map +1 -0
  45. package/es/_chunks/dep-f8016301.js +169 -0
  46. package/es/_chunks/dep-f8016301.js.map +1 -0
  47. package/es/_util/reactify.d.ts +1 -2
  48. package/es/_util/reactify.js +102 -232
  49. package/es/_util/reactify.js.map +1 -1
  50. package/es/attachments/index.js +3 -5
  51. package/es/attachments/index.js.map +1 -1
  52. package/es/chat-actionbar/index.js +3 -5
  53. package/es/chat-actionbar/index.js.map +1 -1
  54. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.d.ts +196 -0
  55. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js +301 -0
  56. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js.map +1 -0
  57. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.d.ts +37 -0
  58. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js +116 -0
  59. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js.map +1 -0
  60. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.d.ts +42 -0
  61. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js +113 -0
  62. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js.map +1 -0
  63. package/es/chat-engine/components/a2ui/A2UISkeleton.d.ts +60 -0
  64. package/es/chat-engine/components/a2ui/A2UISkeleton.js +197 -0
  65. package/es/chat-engine/components/a2ui/A2UISkeleton.js.map +1 -0
  66. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.d.ts +44 -0
  67. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js +139 -0
  68. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js.map +1 -0
  69. package/es/chat-engine/components/a2ui/containers/A2UICard.d.ts +22 -0
  70. package/es/chat-engine/components/a2ui/containers/A2UICard.js +82 -0
  71. package/es/chat-engine/components/a2ui/containers/A2UICard.js.map +1 -0
  72. package/es/chat-engine/components/a2ui/containers/A2UIColumn.d.ts +18 -0
  73. package/es/chat-engine/components/a2ui/containers/A2UIColumn.js +81 -0
  74. package/es/chat-engine/components/a2ui/containers/A2UIColumn.js.map +1 -0
  75. package/es/chat-engine/components/a2ui/containers/A2UIList.d.ts +14 -0
  76. package/es/chat-engine/components/a2ui/containers/A2UIList.js +62 -0
  77. package/es/chat-engine/components/a2ui/containers/A2UIList.js.map +1 -0
  78. package/es/chat-engine/components/a2ui/containers/A2UIRow.d.ts +20 -0
  79. package/es/chat-engine/components/a2ui/containers/A2UIRow.js +84 -0
  80. package/es/chat-engine/components/a2ui/containers/A2UIRow.js.map +1 -0
  81. package/es/chat-engine/components/a2ui/containers/A2UITabs.d.ts +14 -0
  82. package/es/chat-engine/components/a2ui/containers/A2UITabs.js +69 -0
  83. package/es/chat-engine/components/a2ui/containers/A2UITabs.js.map +1 -0
  84. package/es/chat-engine/components/a2ui/containers/index.d.ts +8 -0
  85. package/es/chat-engine/components/a2ui/containers/index.js +30 -0
  86. package/es/chat-engine/components/a2ui/containers/index.js.map +1 -0
  87. package/es/chat-engine/components/a2ui/index.d.ts +11 -0
  88. package/es/chat-engine/components/a2ui/index.js +62 -0
  89. package/es/chat-engine/components/a2ui/index.js.map +1 -0
  90. package/es/chat-engine/components/a2ui/primitives/A2UIButton.d.ts +33 -0
  91. package/es/chat-engine/components/a2ui/primitives/A2UIButton.js +80 -0
  92. package/es/chat-engine/components/a2ui/primitives/A2UIButton.js.map +1 -0
  93. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.d.ts +12 -0
  94. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js +43 -0
  95. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js.map +1 -0
  96. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.d.ts +50 -0
  97. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js +54 -0
  98. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js.map +1 -0
  99. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.d.ts +13 -0
  100. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js +89 -0
  101. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js.map +1 -0
  102. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.d.ts +12 -0
  103. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js +25 -0
  104. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js.map +1 -0
  105. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.d.ts +13 -0
  106. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js +138942 -0
  107. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js.map +1 -0
  108. package/es/chat-engine/components/a2ui/primitives/A2UIImage.d.ts +12 -0
  109. package/es/chat-engine/components/a2ui/primitives/A2UIImage.js +75 -0
  110. package/es/chat-engine/components/a2ui/primitives/A2UIImage.js.map +1 -0
  111. package/es/chat-engine/components/a2ui/primitives/A2UIInput.d.ts +20 -0
  112. package/es/chat-engine/components/a2ui/primitives/A2UIInput.js +63 -0
  113. package/es/chat-engine/components/a2ui/primitives/A2UIInput.js.map +1 -0
  114. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.d.ts +56 -0
  115. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js +64 -0
  116. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js.map +1 -0
  117. package/es/chat-engine/components/a2ui/primitives/A2UISlider.d.ts +12 -0
  118. package/es/chat-engine/components/a2ui/primitives/A2UISlider.js +55 -0
  119. package/es/chat-engine/components/a2ui/primitives/A2UISlider.js.map +1 -0
  120. package/es/chat-engine/components/a2ui/primitives/A2UIText.d.ts +12 -0
  121. package/es/chat-engine/components/a2ui/primitives/A2UIText.js +104 -0
  122. package/es/chat-engine/components/a2ui/primitives/A2UIText.js.map +1 -0
  123. package/es/chat-engine/components/a2ui/primitives/A2UITextField.d.ts +12 -0
  124. package/es/chat-engine/components/a2ui/primitives/A2UITextField.js +80 -0
  125. package/es/chat-engine/components/a2ui/primitives/A2UITextField.js.map +1 -0
  126. package/es/chat-engine/components/a2ui/primitives/index.d.ts +15 -0
  127. package/es/chat-engine/components/a2ui/primitives/index.js +39 -0
  128. package/es/chat-engine/components/a2ui/primitives/index.js.map +1 -0
  129. package/es/chat-engine/components/a2ui/registry.d.ts +35 -0
  130. package/es/chat-engine/components/a2ui/registry.js +74 -0
  131. package/es/chat-engine/components/a2ui/registry.js.map +1 -0
  132. package/es/chat-engine/components/activity/index.js +8 -4
  133. package/es/chat-engine/components/activity/index.js.map +1 -1
  134. package/es/chat-engine/components/activity/registry.d.ts +6 -40
  135. package/es/chat-engine/components/activity/registry.js +22 -76
  136. package/es/chat-engine/components/activity/registry.js.map +1 -1
  137. package/es/chat-engine/components/activity/render.d.ts +1 -1
  138. package/es/chat-engine/components/activity/render.js +21 -69
  139. package/es/chat-engine/components/activity/render.js.map +1 -1
  140. package/es/chat-engine/components/index.js +8 -4
  141. package/es/chat-engine/components/index.js.map +1 -1
  142. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.d.ts +36 -0
  143. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js +36 -0
  144. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js.map +1 -0
  145. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.d.ts +46 -0
  146. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js +36 -0
  147. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js.map +1 -0
  148. package/es/chat-engine/components/json-render/SurfaceStateManager.d.ts +113 -0
  149. package/es/chat-engine/components/json-render/SurfaceStateManager.js +195 -0
  150. package/es/chat-engine/components/json-render/SurfaceStateManager.js.map +1 -0
  151. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.d.ts +49 -0
  152. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js +307 -0
  153. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js.map +1 -0
  154. package/es/chat-engine/components/json-render/adapters/a2ui-types.d.ts +96 -0
  155. package/es/chat-engine/components/json-render/adapters/a2ui-types.js +7 -0
  156. package/es/chat-engine/components/json-render/adapters/a2ui-types.js.map +1 -0
  157. package/es/chat-engine/components/json-render/adapters/index.d.ts +7 -0
  158. package/es/chat-engine/components/json-render/adapters/index.js +11 -0
  159. package/es/chat-engine/components/json-render/adapters/index.js.map +1 -0
  160. package/es/chat-engine/components/json-render/catalog/a2ui-binding.d.ts +64 -0
  161. package/es/chat-engine/components/json-render/catalog/a2ui-binding.js +36 -0
  162. package/es/chat-engine/components/json-render/catalog/a2ui-binding.js.map +1 -0
  163. package/es/chat-engine/components/json-render/catalog/a2ui-registry.d.ts +78 -0
  164. package/es/chat-engine/components/json-render/catalog/a2ui-registry.js +36 -0
  165. package/es/chat-engine/components/json-render/catalog/a2ui-registry.js.map +1 -0
  166. package/es/chat-engine/components/json-render/catalog/atomic/button.d.ts +14 -0
  167. package/es/chat-engine/components/json-render/catalog/atomic/button.js +71 -0
  168. package/es/chat-engine/components/json-render/catalog/atomic/button.js.map +1 -0
  169. package/es/chat-engine/components/json-render/catalog/atomic/card.d.ts +11 -0
  170. package/es/chat-engine/components/json-render/catalog/atomic/card.js +57 -0
  171. package/es/chat-engine/components/json-render/catalog/atomic/card.js.map +1 -0
  172. package/es/chat-engine/components/json-render/catalog/atomic/input.d.ts +20 -0
  173. package/es/chat-engine/components/json-render/catalog/atomic/input.js +76 -0
  174. package/es/chat-engine/components/json-render/catalog/atomic/input.js.map +1 -0
  175. package/es/chat-engine/components/json-render/catalog/atomic/layout.d.ts +44 -0
  176. package/es/chat-engine/components/json-render/catalog/atomic/layout.js +129 -0
  177. package/es/chat-engine/components/json-render/catalog/atomic/layout.js.map +1 -0
  178. package/es/chat-engine/components/json-render/catalog/atomic/text.d.ts +11 -0
  179. package/es/chat-engine/components/json-render/catalog/atomic/text.js +31 -0
  180. package/es/chat-engine/components/json-render/catalog/atomic/text.js.map +1 -0
  181. package/es/chat-engine/components/json-render/catalog/button.d.ts +14 -0
  182. package/es/chat-engine/components/json-render/catalog/button.js +71 -0
  183. package/es/chat-engine/components/json-render/catalog/button.js.map +1 -0
  184. package/es/chat-engine/components/json-render/catalog/card.d.ts +11 -0
  185. package/es/chat-engine/components/json-render/catalog/card.js +57 -0
  186. package/es/chat-engine/components/json-render/catalog/card.js.map +1 -0
  187. package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.d.ts +614 -0
  188. package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.js +779 -0
  189. package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.js.map +1 -0
  190. package/es/chat-engine/components/json-render/catalog/index.d.ts +128 -0
  191. package/es/chat-engine/components/json-render/catalog/index.js +36 -0
  192. package/es/chat-engine/components/json-render/catalog/index.js.map +1 -0
  193. package/es/chat-engine/components/json-render/catalog/input.d.ts +20 -0
  194. package/es/chat-engine/components/json-render/catalog/input.js +36 -0
  195. package/es/chat-engine/components/json-render/catalog/input.js.map +1 -0
  196. package/es/chat-engine/components/json-render/catalog/layout.d.ts +44 -0
  197. package/es/chat-engine/components/json-render/catalog/layout.js +129 -0
  198. package/es/chat-engine/components/json-render/catalog/layout.js.map +1 -0
  199. package/es/chat-engine/components/json-render/catalog/text.d.ts +11 -0
  200. package/es/chat-engine/components/json-render/catalog/text.js +31 -0
  201. package/es/chat-engine/components/json-render/catalog/text.js.map +1 -0
  202. package/es/chat-engine/components/json-render/catalog.d.ts +614 -0
  203. package/es/chat-engine/components/json-render/catalog.js +779 -0
  204. package/es/chat-engine/components/json-render/catalog.js.map +1 -0
  205. package/es/chat-engine/components/json-render/config.d.ts +154 -0
  206. package/es/chat-engine/components/json-render/config.js +36 -0
  207. package/es/chat-engine/components/json-render/config.js.map +1 -0
  208. package/es/chat-engine/components/json-render/contexts/actions.d.ts +79 -0
  209. package/es/chat-engine/components/json-render/contexts/actions.js +313 -0
  210. package/es/chat-engine/components/json-render/contexts/actions.js.map +1 -0
  211. package/es/chat-engine/components/json-render/contexts/data.d.ts +137 -0
  212. package/es/chat-engine/components/json-render/contexts/data.js +183 -0
  213. package/es/chat-engine/components/json-render/contexts/data.js.map +1 -0
  214. package/es/chat-engine/components/json-render/contexts/index.d.ts +4 -0
  215. package/es/chat-engine/components/json-render/contexts/index.js +27 -0
  216. package/es/chat-engine/components/json-render/contexts/index.js.map +1 -0
  217. package/es/chat-engine/components/json-render/contexts/store.d.ts +67 -0
  218. package/es/chat-engine/components/json-render/contexts/store.js +104 -0
  219. package/es/chat-engine/components/json-render/contexts/store.js.map +1 -0
  220. package/es/chat-engine/components/json-render/contexts/tree.d.ts +44 -0
  221. package/es/chat-engine/components/json-render/contexts/tree.js +78 -0
  222. package/es/chat-engine/components/json-render/contexts/tree.js.map +1 -0
  223. package/es/chat-engine/components/json-render/contexts/validation.d.ts +59 -0
  224. package/es/chat-engine/components/json-render/contexts/validation.js +159 -0
  225. package/es/chat-engine/components/json-render/contexts/validation.js.map +1 -0
  226. package/es/chat-engine/components/json-render/contexts/visibility.d.ts +39 -0
  227. package/es/chat-engine/components/json-render/contexts/visibility.js +66 -0
  228. package/es/chat-engine/components/json-render/contexts/visibility.js.map +1 -0
  229. package/es/chat-engine/components/json-render/engine.d.ts +58 -0
  230. package/es/chat-engine/components/json-render/engine.js +88 -0
  231. package/es/chat-engine/components/json-render/engine.js.map +1 -0
  232. package/es/chat-engine/components/json-render/index.d.ts +13 -0
  233. package/es/chat-engine/components/json-render/index.js +76 -0
  234. package/es/chat-engine/components/json-render/index.js.map +1 -0
  235. package/es/chat-engine/components/json-render/performance.d.ts +91 -0
  236. package/es/chat-engine/components/json-render/performance.js +135 -0
  237. package/es/chat-engine/components/json-render/performance.js.map +1 -0
  238. package/es/chat-engine/components/json-render/registry/a2ui-binding.d.ts +64 -0
  239. package/es/chat-engine/components/json-render/registry/a2ui-binding.js +76 -0
  240. package/es/chat-engine/components/json-render/registry/a2ui-binding.js.map +1 -0
  241. package/es/chat-engine/components/json-render/registry/a2ui-registry.d.ts +78 -0
  242. package/es/chat-engine/components/json-render/registry/a2ui-registry.js +76 -0
  243. package/es/chat-engine/components/json-render/registry/a2ui-registry.js.map +1 -0
  244. package/es/chat-engine/components/json-render/registry/config.d.ts +142 -0
  245. package/es/chat-engine/components/json-render/registry/config.js +76 -0
  246. package/es/chat-engine/components/json-render/registry/config.js.map +1 -0
  247. package/es/chat-engine/components/json-render/registry/index.d.ts +137 -0
  248. package/es/chat-engine/components/json-render/registry/index.js +76 -0
  249. package/es/chat-engine/components/json-render/registry/index.js.map +1 -0
  250. package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.d.ts +35 -0
  251. package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.js +271 -0
  252. package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.js.map +1 -0
  253. package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.d.ts +44 -0
  254. package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.js +63 -0
  255. package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.js.map +1 -0
  256. package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.d.ts +44 -0
  257. package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.js +131 -0
  258. package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.js.map +1 -0
  259. package/es/chat-engine/components/json-render/renderer/_index.d.ts +71 -0
  260. package/es/chat-engine/components/json-render/renderer/_index.js +133 -0
  261. package/es/chat-engine/components/json-render/renderer/_index.js.map +1 -0
  262. package/es/chat-engine/components/json-render/renderer/index.d.ts +71 -0
  263. package/es/chat-engine/components/json-render/renderer/index.js +125 -0
  264. package/es/chat-engine/components/json-render/renderer/index.js.map +1 -0
  265. package/es/chat-engine/components/json-render/renderer.d.ts +71 -0
  266. package/es/chat-engine/components/json-render/renderer.js +124 -0
  267. package/es/chat-engine/components/json-render/renderer.js.map +1 -0
  268. package/es/chat-engine/components/json-render/types.d.ts +87 -0
  269. package/es/chat-engine/components/json-render/types.js +7 -0
  270. package/es/chat-engine/components/json-render/types.js.map +1 -0
  271. package/es/chat-engine/components/shared/ComponentErrorBoundary.d.ts +25 -0
  272. package/es/chat-engine/components/shared/ComponentErrorBoundary.js +58 -0
  273. package/es/chat-engine/components/shared/ComponentErrorBoundary.js.map +1 -0
  274. package/es/chat-engine/components/shared/createRegistry.d.ts +36 -0
  275. package/es/chat-engine/components/shared/createRegistry.js +72 -0
  276. package/es/chat-engine/components/shared/createRegistry.js.map +1 -0
  277. package/es/chat-engine/components/shared/index.d.ts +4 -0
  278. package/es/chat-engine/components/shared/index.js +18 -0
  279. package/es/chat-engine/components/shared/index.js.map +1 -0
  280. package/es/chat-engine/components/shared/useRegistrationListener.d.ts +22 -0
  281. package/es/chat-engine/components/shared/useRegistrationListener.js +45 -0
  282. package/es/chat-engine/components/shared/useRegistrationListener.js.map +1 -0
  283. package/es/chat-engine/components/toolcall/index.d.ts +1 -1
  284. package/es/chat-engine/components/toolcall/index.js +11 -7
  285. package/es/chat-engine/components/toolcall/index.js.map +1 -1
  286. package/es/chat-engine/components/toolcall/registry.d.ts +6 -32
  287. package/es/chat-engine/components/toolcall/registry.js +22 -66
  288. package/es/chat-engine/components/toolcall/registry.js.map +1 -1
  289. package/es/chat-engine/components/toolcall/render.js +27 -75
  290. package/es/chat-engine/components/toolcall/render.js.map +1 -1
  291. package/es/chat-engine/core/a2ui/index.d.ts +10 -0
  292. package/es/chat-engine/core/a2ui/index.js +24 -0
  293. package/es/chat-engine/core/a2ui/index.js.map +1 -0
  294. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.d.ts +197 -0
  295. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js +438 -0
  296. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js.map +1 -0
  297. package/es/chat-engine/core/a2ui/processor/ComponentTree.d.ts +53 -0
  298. package/es/chat-engine/core/a2ui/processor/ComponentTree.js +158 -0
  299. package/es/chat-engine/core/a2ui/processor/ComponentTree.js.map +1 -0
  300. package/es/chat-engine/core/a2ui/processor/DataStore.d.ts +63 -0
  301. package/es/chat-engine/core/a2ui/processor/DataStore.js +172 -0
  302. package/es/chat-engine/core/a2ui/processor/DataStore.js.map +1 -0
  303. package/es/chat-engine/core/a2ui/processor/PathResolver.d.ts +47 -0
  304. package/es/chat-engine/core/a2ui/processor/PathResolver.js +99 -0
  305. package/es/chat-engine/core/a2ui/processor/PathResolver.js.map +1 -0
  306. package/es/chat-engine/core/a2ui/types/index.d.ts +4 -0
  307. package/es/chat-engine/core/a2ui/types/index.js +9 -0
  308. package/es/chat-engine/core/a2ui/types/index.js.map +1 -0
  309. package/es/chat-engine/core/a2ui/types/types.d.ts +770 -0
  310. package/es/chat-engine/core/a2ui/types/types.js +104 -0
  311. package/es/chat-engine/core/a2ui/types/types.js.map +1 -0
  312. package/es/chat-engine/core/a2ui/utils/binding.d.ts +34 -0
  313. package/es/chat-engine/core/a2ui/utils/binding.js +1784 -0
  314. package/es/chat-engine/core/a2ui/utils/binding.js.map +1 -0
  315. package/es/chat-engine/core/a2ui/utils/index.d.ts +5 -0
  316. package/es/chat-engine/core/a2ui/utils/index.js +13 -0
  317. package/es/chat-engine/core/a2ui/utils/index.js.map +1 -0
  318. package/es/chat-engine/core/a2ui/utils/validation.d.ts +70 -0
  319. package/es/chat-engine/core/a2ui/utils/validation.js +333 -0
  320. package/es/chat-engine/core/a2ui/utils/validation.js.map +1 -0
  321. package/es/chat-engine/core/adapters/a2ui/index.d.ts +10 -0
  322. package/es/chat-engine/core/adapters/a2ui/index.js +24 -0
  323. package/es/chat-engine/core/adapters/a2ui/index.js.map +1 -0
  324. package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.d.ts +197 -0
  325. package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.js +438 -0
  326. package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.js.map +1 -0
  327. package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.d.ts +53 -0
  328. package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.js +158 -0
  329. package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.js.map +1 -0
  330. package/es/chat-engine/core/adapters/a2ui/processor/DataStore.d.ts +63 -0
  331. package/es/chat-engine/core/adapters/a2ui/processor/DataStore.js +172 -0
  332. package/es/chat-engine/core/adapters/a2ui/processor/DataStore.js.map +1 -0
  333. package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.d.ts +47 -0
  334. package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.js +99 -0
  335. package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.js.map +1 -0
  336. package/es/chat-engine/core/adapters/a2ui/types/index.d.ts +4 -0
  337. package/es/chat-engine/core/adapters/a2ui/types/index.js +9 -0
  338. package/es/chat-engine/core/adapters/a2ui/types/index.js.map +1 -0
  339. package/es/chat-engine/core/adapters/a2ui/types/types.d.ts +770 -0
  340. package/es/chat-engine/core/adapters/a2ui/types/types.js +104 -0
  341. package/es/chat-engine/core/adapters/a2ui/types/types.js.map +1 -0
  342. package/es/chat-engine/core/adapters/a2ui/utils/binding.d.ts +34 -0
  343. package/es/chat-engine/core/adapters/a2ui/utils/binding.js +1784 -0
  344. package/es/chat-engine/core/adapters/a2ui/utils/binding.js.map +1 -0
  345. package/es/chat-engine/core/adapters/a2ui/utils/index.d.ts +5 -0
  346. package/es/chat-engine/core/adapters/a2ui/utils/index.js +13 -0
  347. package/es/chat-engine/core/adapters/a2ui/utils/index.js.map +1 -0
  348. package/es/chat-engine/core/adapters/a2ui/utils/validation.d.ts +70 -0
  349. package/es/chat-engine/core/adapters/a2ui/utils/validation.js +333 -0
  350. package/es/chat-engine/core/adapters/a2ui/utils/validation.js.map +1 -0
  351. package/es/chat-engine/core/adapters/agui/ActivityManager.d.ts +93 -0
  352. package/es/chat-engine/core/adapters/agui/ActivityManager.js +148 -0
  353. package/es/chat-engine/core/adapters/agui/ActivityManager.js.map +1 -0
  354. package/es/chat-engine/core/adapters/agui/StateManager.d.ts +99 -0
  355. package/es/chat-engine/core/adapters/agui/StateManager.js +172 -0
  356. package/es/chat-engine/core/adapters/agui/StateManager.js.map +1 -0
  357. package/es/chat-engine/core/adapters/agui/activity-manager.d.ts +102 -0
  358. package/es/chat-engine/core/adapters/agui/activity-manager.js +150 -0
  359. package/es/chat-engine/core/adapters/agui/activity-manager.js.map +1 -0
  360. package/es/chat-engine/core/adapters/agui/event-mapper.d.ts +149 -0
  361. package/es/chat-engine/core/adapters/agui/event-mapper.js +417 -0
  362. package/es/chat-engine/core/adapters/agui/event-mapper.js.map +1 -0
  363. package/es/chat-engine/core/adapters/agui/events.d.ts +1550 -0
  364. package/es/chat-engine/core/adapters/agui/events.js +199 -0
  365. package/es/chat-engine/core/adapters/agui/events.js.map +1 -0
  366. package/es/chat-engine/core/adapters/agui/index.d.ts +92 -0
  367. package/es/chat-engine/core/adapters/agui/index.js +200 -0
  368. package/es/chat-engine/core/adapters/agui/index.js.map +1 -0
  369. package/es/chat-engine/core/adapters/agui/state-manager.d.ts +99 -0
  370. package/es/chat-engine/core/adapters/agui/state-manager.js +174 -0
  371. package/es/chat-engine/core/adapters/agui/state-manager.js.map +1 -0
  372. package/es/chat-engine/core/adapters/agui/types/events.d.ts +1570 -0
  373. package/es/chat-engine/core/adapters/agui/types/events.js +15 -0
  374. package/es/chat-engine/core/adapters/agui/types/events.js.map +1 -0
  375. package/es/chat-engine/core/adapters/agui/types/index.d.ts +854 -0
  376. package/es/chat-engine/core/adapters/agui/types/index.js +279 -0
  377. package/es/chat-engine/core/adapters/agui/types/index.js.map +1 -0
  378. package/es/chat-engine/core/adapters/agui/types.d.ts +818 -0
  379. package/es/chat-engine/core/adapters/agui/types.js +95 -0
  380. package/es/chat-engine/core/adapters/agui/types.js.map +1 -0
  381. package/es/chat-engine/core/adapters/agui/utils.d.ts +203 -0
  382. package/es/chat-engine/core/adapters/agui/utils.js +330 -0
  383. package/es/chat-engine/core/adapters/agui/utils.js.map +1 -0
  384. package/es/chat-engine/core/adapters/index.d.ts +5 -0
  385. package/es/chat-engine/core/adapters/index.js +34 -0
  386. package/es/chat-engine/core/adapters/index.js.map +1 -0
  387. package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.d.ts +114 -0
  388. package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.js +194 -0
  389. package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.js.map +1 -0
  390. package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.d.ts +49 -0
  391. package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.js +307 -0
  392. package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.js.map +1 -0
  393. package/es/chat-engine/core/adapters/json-render/engine.d.ts +58 -0
  394. package/es/chat-engine/core/adapters/json-render/engine.js +88 -0
  395. package/es/chat-engine/core/adapters/json-render/engine.js.map +1 -0
  396. package/es/chat-engine/core/adapters/json-render/index.d.ts +8 -0
  397. package/es/chat-engine/core/adapters/json-render/index.js +18 -0
  398. package/es/chat-engine/core/adapters/json-render/index.js.map +1 -0
  399. package/es/chat-engine/core/adapters/json-render/types/a2ui.d.ts +96 -0
  400. package/es/chat-engine/core/adapters/json-render/types/a2ui.js +7 -0
  401. package/es/chat-engine/core/adapters/json-render/types/a2ui.js.map +1 -0
  402. package/es/chat-engine/core/adapters/json-render/types/core.d.ts +49 -0
  403. package/es/chat-engine/core/adapters/json-render/types/core.js +7 -0
  404. package/es/chat-engine/core/adapters/json-render/types/core.js.map +1 -0
  405. package/es/chat-engine/core/adapters/json-render/types/index.d.ts +5 -0
  406. package/es/chat-engine/core/adapters/json-render/types/index.js +9 -0
  407. package/es/chat-engine/core/adapters/json-render/types/index.js.map +1 -0
  408. package/es/chat-engine/core/event-bus/ChatEventBus.d.ts +88 -0
  409. package/es/chat-engine/core/event-bus/ChatEventBus.js +295 -0
  410. package/es/chat-engine/core/event-bus/ChatEventBus.js.map +1 -0
  411. package/es/chat-engine/core/event-bus/index.d.ts +5 -0
  412. package/es/chat-engine/core/event-bus/index.js +13 -0
  413. package/es/chat-engine/core/event-bus/index.js.map +1 -0
  414. package/es/chat-engine/core/event-bus/types.d.ts +230 -0
  415. package/es/chat-engine/core/event-bus/types.js +32 -0
  416. package/es/chat-engine/core/event-bus/types.js.map +1 -0
  417. package/es/chat-engine/core/index.d.ts +147 -0
  418. package/es/chat-engine/core/index.js +760 -0
  419. package/es/chat-engine/core/index.js.map +1 -0
  420. package/es/chat-engine/core/processor/index.d.ts +20 -0
  421. package/es/chat-engine/core/processor/index.js +146 -0
  422. package/es/chat-engine/core/processor/index.js.map +1 -0
  423. package/es/chat-engine/core/server/batch-client.d.ts +20 -0
  424. package/es/chat-engine/core/server/batch-client.js +114 -0
  425. package/es/chat-engine/core/server/batch-client.js.map +1 -0
  426. package/es/chat-engine/core/server/connection-manager.d.ts +39 -0
  427. package/es/chat-engine/core/server/connection-manager.js +84 -0
  428. package/es/chat-engine/core/server/connection-manager.js.map +1 -0
  429. package/es/chat-engine/core/server/errors.d.ts +22 -0
  430. package/es/chat-engine/core/server/errors.js +80 -0
  431. package/es/chat-engine/core/server/errors.js.map +1 -0
  432. package/es/chat-engine/core/server/index.d.ts +11 -0
  433. package/es/chat-engine/core/server/index.js +26 -0
  434. package/es/chat-engine/core/server/index.js.map +1 -0
  435. package/es/chat-engine/core/server/llm-service.d.ts +44 -0
  436. package/es/chat-engine/core/server/llm-service.js +200 -0
  437. package/es/chat-engine/core/server/llm-service.js.map +1 -0
  438. package/es/chat-engine/core/server/sse-client.d.ts +77 -0
  439. package/es/chat-engine/core/server/sse-client.js +362 -0
  440. package/es/chat-engine/core/server/sse-client.js.map +1 -0
  441. package/es/chat-engine/core/server/sse-parser.d.ts +49 -0
  442. package/es/chat-engine/core/server/sse-parser.js +116 -0
  443. package/es/chat-engine/core/server/sse-parser.js.map +1 -0
  444. package/es/chat-engine/core/server/types.d.ts +54 -0
  445. package/es/chat-engine/core/server/types.js +28 -0
  446. package/es/chat-engine/core/server/types.js.map +1 -0
  447. package/es/chat-engine/core/store/message.d.ts +27 -0
  448. package/es/chat-engine/core/store/message.js +267 -0
  449. package/es/chat-engine/core/store/message.js.map +1 -0
  450. package/es/chat-engine/core/store/model.d.ts +8 -0
  451. package/es/chat-engine/core/store/model.js +66 -0
  452. package/es/chat-engine/core/store/model.js.map +1 -0
  453. package/es/chat-engine/core/store/reactiveState.d.ts +56 -0
  454. package/es/chat-engine/core/store/reactiveState.js +139 -0
  455. package/es/chat-engine/core/store/reactiveState.js.map +1 -0
  456. package/es/chat-engine/core/type.d.ts +279 -0
  457. package/es/chat-engine/core/type.js +7 -0
  458. package/es/chat-engine/core/type.js.map +1 -0
  459. package/es/chat-engine/core/utils/eventEmitter.d.ts +10 -0
  460. package/es/chat-engine/core/utils/eventEmitter.js +67 -0
  461. package/es/chat-engine/core/utils/eventEmitter.js.map +1 -0
  462. package/es/chat-engine/core/utils/immutable-patch.d.ts +61 -0
  463. package/es/chat-engine/core/utils/immutable-patch.js +147 -0
  464. package/es/chat-engine/core/utils/immutable-patch.js.map +1 -0
  465. package/es/chat-engine/core/utils/index.d.ts +38 -0
  466. package/es/chat-engine/core/utils/index.js +125 -0
  467. package/es/chat-engine/core/utils/index.js.map +1 -0
  468. package/es/chat-engine/core/utils/json-patch/helpers.d.ts +41 -0
  469. package/es/chat-engine/core/utils/json-patch/helpers.js +164 -0
  470. package/es/chat-engine/core/utils/json-patch/helpers.js.map +1 -0
  471. package/es/chat-engine/core/utils/json-patch/index.d.ts +115 -0
  472. package/es/chat-engine/core/utils/json-patch/index.js +387 -0
  473. package/es/chat-engine/core/utils/json-patch/index.js.map +1 -0
  474. package/es/chat-engine/core/utils/logger.d.ts +30 -0
  475. package/es/chat-engine/core/utils/logger.js +87 -0
  476. package/es/chat-engine/core/utils/logger.js.map +1 -0
  477. package/es/chat-engine/core/utils/performance.d.ts +94 -0
  478. package/es/chat-engine/core/utils/performance.js +205 -0
  479. package/es/chat-engine/core/utils/performance.js.map +1 -0
  480. package/es/chat-engine/hooks/a2ui/A2UIContext.d.ts +90 -0
  481. package/es/chat-engine/hooks/a2ui/A2UIContext.js +97 -0
  482. package/es/chat-engine/hooks/a2ui/A2UIContext.js.map +1 -0
  483. package/es/chat-engine/hooks/a2ui/index.d.ts +12 -0
  484. package/es/chat-engine/hooks/a2ui/index.js +19 -0
  485. package/es/chat-engine/hooks/a2ui/index.js.map +1 -0
  486. package/es/chat-engine/hooks/a2ui/useA2UIAction.d.ts +40 -0
  487. package/es/chat-engine/hooks/a2ui/useA2UIAction.js +74 -0
  488. package/es/chat-engine/hooks/a2ui/useA2UIAction.js.map +1 -0
  489. package/es/chat-engine/hooks/a2ui/useA2UISurface.d.ts +36 -0
  490. package/es/chat-engine/hooks/a2ui/useA2UISurface.js +39 -0
  491. package/es/chat-engine/hooks/a2ui/useA2UISurface.js.map +1 -0
  492. package/es/chat-engine/hooks/a2ui/useDataBinding.d.ts +53 -0
  493. package/es/chat-engine/hooks/a2ui/useDataBinding.js +111 -0
  494. package/es/chat-engine/hooks/a2ui/useDataBinding.js.map +1 -0
  495. package/es/chat-engine/hooks/index.js +7 -0
  496. package/es/chat-engine/hooks/index.js.map +1 -1
  497. package/es/chat-engine/hooks/useAgentActivity.js +9 -1
  498. package/es/chat-engine/hooks/useAgentActivity.js.map +1 -1
  499. package/es/chat-engine/hooks/useAgentToolcall.js +9 -1
  500. package/es/chat-engine/hooks/useAgentToolcall.js.map +1 -1
  501. package/es/chat-engine/hooks/useJsonRenderActivity.d.ts +56 -0
  502. package/es/chat-engine/hooks/useJsonRenderActivity.js +63 -0
  503. package/es/chat-engine/hooks/useJsonRenderActivity.js.map +1 -0
  504. package/es/chat-engine/index.js +8 -4
  505. package/es/chat-engine/index.js.map +1 -1
  506. package/es/chat-filecard/index.js +3 -5
  507. package/es/chat-filecard/index.js.map +1 -1
  508. package/es/chat-loading/index.js +3 -5
  509. package/es/chat-loading/index.js.map +1 -1
  510. package/es/chat-markdown/index.js +3 -5
  511. package/es/chat-markdown/index.js.map +1 -1
  512. package/es/chat-message/index.js +3 -5
  513. package/es/chat-message/index.js.map +1 -1
  514. package/es/chat-sender/index.js +3 -5
  515. package/es/chat-sender/index.js.map +1 -1
  516. package/es/chat-thinking/index.js +3 -5
  517. package/es/chat-thinking/index.js.map +1 -1
  518. package/es/chatbot/docs/react-best-practice.d.ts +13 -0
  519. package/es/chatbot/index.js +3 -5
  520. package/es/chatbot/index.js.map +1 -1
  521. package/es/index.js +10 -7
  522. package/es/index.js.map +1 -1
  523. package/package.json +16 -11
  524. package/es/chatbot/_example-js/agui-toolcall.d.ts +0 -11
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactiveState.js","sources":["../../../../../pro-components/chat/chat-engine/core/store/reactiveState.ts"],"sourcesContent":["import { enablePatches, produceWithPatches } from 'immer';\n\n/**\n * 状态订阅者回调函数类型\n * @template T 状态类型\n * @param state 只读的最新状态\n * @param changes 发生变更的路径数组(只读)\n */\nexport type Subscriber<T> = (state: Readonly<T>, changes: readonly string[]) => void;\n\n// 启用immer的patch支持,用于追踪状态变更路径\nenablePatches();\n\n/**\n * 响应式状态管理类,提供高效的状态管理和变更追踪功能\n * @template T 状态对象类型,必须为object类型\n */\nexport default class ReactiveState<T extends object> {\n private currentState: T; // 当前状态(始终为冻结对象)\n\n private subscribers = new Set<{ handler: Subscriber<T>; paths?: string[] }>(); // 订阅者集合(包含路径过滤条件)\n\n private pendingChanges: string[] = []; // 待处理的变更路径(自动去重)\n\n private notificationScheduled = false; // 通知调度锁(防止重复调度)\n\n private pathSubscribers = new Map<string, Set<{ handler: Subscriber<T> }>>(); // 增加订阅者分组缓存\n\n /**\n * 初始化响应式状态\n * @param initialState 初始状态(会自动冻结)\n */\n public initialize(initialState: T) {\n this.currentState = Object.freeze(initialState);\n }\n\n /**\n * 更新状态方法\n * @param updater 状态更新函数(使用immer的draft机制)\n * @param paths 可选的手动指定变更路径(自动模式会从immer patches中提取)\n */\n public setState(updater: (draft: T) => void, paths?: string[]): void {\n // 使用produceWithPatches来获取变更路径,生成新状态和变更记录\n const [nextState, patches] = produceWithPatches(this.currentState, updater);\n\n // 处理变更路径:优先使用手动指定路径,否则从patches中提取\n const changes =\n paths || patches.filter((p) => ['replace', 'add', 'remove'].includes(p.op)).map((p) => p.path.join('.'));\n\n if (changes.length > 0) {\n this.pendingChanges.push(...changes);\n this.currentState = Object.freeze(nextState) as T;\n this.scheduleNotification();\n }\n }\n\n /**\n * 获取当前状态\n * @param cloned 是否返回克隆副本(默认false)\n * @returns 当前状态的只读引用或克隆副本\n */\n public getState(cloned = false): Readonly<T> {\n return cloned ? structuredClone(this.currentState) : this.currentState;\n }\n\n /**\n * 订阅状态变更(支持路径过滤),订阅时维护路径索引\n * @param subscriber 订阅回调函数\n * @param paths 可选的要监听的属性路径数组\n * @returns 取消订阅的函数\n */\n public subscribe(subscriber: Subscriber<T>, paths?: string[]): () => void {\n const subscription = { handler: subscriber, paths };\n this.subscribers.add(subscription);\n // 维护路径索引\n paths?.forEach((path) => {\n if (!this.pathSubscribers.has(path)) {\n this.pathSubscribers.set(path, new Set());\n }\n this.pathSubscribers.get(path)?.add(subscription);\n });\n\n return () => {\n this.subscribers.delete(subscription);\n paths?.forEach((path) => {\n this.pathSubscribers.get(path)?.delete(subscription);\n });\n };\n }\n\n /**\n * 调度通知(使用微任务批量处理)\n */\n private scheduleNotification() {\n if (this.notificationScheduled) return;\n this.notificationScheduled = true;\n\n // 使用微任务进行批处理,确保在同一个事件循环内的多次更新只会触发一次通知\n queueMicrotask(() => {\n // 去重变更路径并重置待处理队列\n const changedPaths = [...new Set(this.pendingChanges)];\n this.pendingChanges = [];\n this.notificationScheduled = false;\n\n // 冻结状态和路径数组,防止订阅者意外修改\n const frozenState = Object.freeze(this.currentState);\n const frozenPaths = Object.freeze(changedPaths);\n\n // 安全通知所有订阅者\n this.subscribers.forEach(({ handler, paths }) => {\n try {\n // 如果没有设置监听路径,或变更路径中有匹配项,则触发回调\n if (\n !paths ||\n frozenPaths.some((p) =>\n paths.some((target) => {\n const targetParts = target.split('.');\n const pathParts = p.split('.');\n return targetParts.every((part, i) => pathParts[i] === part);\n }),\n )\n ) {\n handler(frozenState, frozenPaths);\n }\n } catch (error) {\n console.error('Subscriber error:', error);\n }\n });\n });\n }\n\n /**\n * 销毁方法,清理资源\n */\n public destroy() {\n this.subscribers.clear();\n this.pathSubscribers.clear();\n this.pendingChanges = [];\n this.notificationScheduled = false;\n }\n\n /**\n * 调试方法(开发时使用)\n * @param label 调试标签(默认'State')\n * @returns 当前实例(支持链式调用)\n */\n public debug(label = 'State'): this {\n this.subscribe((state, paths) => {\n console.groupCollapsed(`%c${label} Update`, 'color: #4CAF50; font-weight: bold;');\n console.log('Changed Paths:', paths);\n console.log('New State:', state);\n console.groupEnd();\n });\n return this;\n }\n}\n"],"names":["enablePatches","ReactiveState","_classCallCheck","_defineProperty","Set","Map","_createClass","key","value","initialize","initialState","currentState","Object","freeze","setState","updater","paths","_produceWithPatches","produceWithPatches","_produceWithPatches2","_slicedToArray","nextState","patches","changes","filter","p","includes","op","map","path","join","length","_this$pendingChanges","pendingChanges","push","apply","_toConsumableArray","scheduleNotification","getState","cloned","structuredClone","subscribe","subscriber","_this","subscription","handler","subscribers","add","forEach","_this$pathSubscribers","pathSubscribers","has","set","get","_this$pathSubscribers2","_this2","notificationScheduled","queueMicrotask","changedPaths","frozenState","frozenPaths","_ref","some","target","targetParts","split","pathParts","every","part","i","error","console","destroy","clear","debug","label","state","groupCollapsed","concat","log","groupEnd"],"mappings":"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"}
@@ -0,0 +1,279 @@
1
+ import type { ToolCallEventType } from './adapters/agui/types/events';
2
+ export type ChatMessageRole = 'user' | 'assistant' | 'system';
3
+ export type ChatMessageStatus = 'pending' | 'streaming' | 'complete' | 'stop' | 'error';
4
+ export type ChatStatus = 'idle' | ChatMessageStatus;
5
+ export type ChatContentType = 'text' | 'markdown' | 'search' | 'attachment' | 'thinking' | 'image' | 'audio' | 'video' | 'suggestion' | 'reasoning' | 'toolcall' | 'activity';
6
+ export type AttachmentType = 'image' | 'video' | 'audio' | 'pdf' | 'doc' | 'ppt' | 'txt';
7
+ export interface ChatBaseContent<T extends string, TData> {
8
+ type: T;
9
+ data: TData;
10
+ status?: ChatMessageStatus;
11
+ id?: string;
12
+ strategy?: 'merge' | 'append';
13
+ ext?: Record<string, any>;
14
+ }
15
+ export type TextContent = ChatBaseContent<'text', string>;
16
+ export type MarkdownContent = ChatBaseContent<'markdown', string>;
17
+ export type ImageContent = ChatBaseContent<'image', {
18
+ name?: string;
19
+ url?: string;
20
+ width?: number;
21
+ height?: number;
22
+ }>;
23
+ export type ReferenceItem = {
24
+ title: string;
25
+ icon?: string;
26
+ type?: string;
27
+ url?: string;
28
+ content?: string;
29
+ site?: string;
30
+ date?: string;
31
+ };
32
+ export type SearchContent = ChatBaseContent<'search', {
33
+ title?: string;
34
+ references?: ReferenceItem[];
35
+ }>;
36
+ export type SuggestionItem = {
37
+ title: string;
38
+ prompt?: string;
39
+ };
40
+ export type SuggestionContent = ChatBaseContent<'suggestion', SuggestionItem[]>;
41
+ export type ReasoningContent = ChatBaseContent<'reasoning', AIMessageContent[]>;
42
+ export type AttachmentItem = {
43
+ fileType: AttachmentType;
44
+ size?: number;
45
+ name?: string;
46
+ url?: string;
47
+ isReference?: boolean;
48
+ width?: number;
49
+ height?: number;
50
+ extension?: string;
51
+ metadata?: Record<string, any>;
52
+ };
53
+ export type AttachmentContent = ChatBaseContent<'attachment', AttachmentItem[]>;
54
+ export type ThinkingContent = ChatBaseContent<'thinking', {
55
+ text?: string;
56
+ title?: string;
57
+ }>;
58
+ export type ToolCall = {
59
+ toolCallId: string;
60
+ toolCallName: string;
61
+ eventType?: ToolCallEventType;
62
+ parentMessageId?: string;
63
+ args?: string;
64
+ chunk?: string;
65
+ result?: string;
66
+ };
67
+ export type ToolCallContent = ChatBaseContent<'toolcall', ToolCall>;
68
+ export type ActivityData<TContent = Record<string, any>> = {
69
+ activityType: string;
70
+ messageId?: string;
71
+ content: TContent;
72
+ /** 增量更新信息 */
73
+ deltaInfo?: {
74
+ fromIndex: number;
75
+ toIndex: number;
76
+ };
77
+ };
78
+ export type ActivityContent<TContent = Record<string, any>> = ChatBaseContent<'activity', ActivityData<TContent>>;
79
+ export interface ChatBaseMessage {
80
+ id: string;
81
+ status?: ChatMessageStatus;
82
+ datetime?: string;
83
+ ext?: any;
84
+ }
85
+ declare global {
86
+ interface AIContentTypeOverrides {
87
+ }
88
+ }
89
+ type AIContentTypeMap = {
90
+ text: TextContent;
91
+ markdown: MarkdownContent;
92
+ thinking: ThinkingContent;
93
+ image: ImageContent;
94
+ search: SearchContent;
95
+ suggestion: SuggestionContent;
96
+ reasoning: ReasoningContent;
97
+ toolcall: ToolCallContent;
98
+ activity: ActivityContent;
99
+ } & AIContentTypeOverrides;
100
+ export type AIContentType = keyof AIContentTypeMap;
101
+ export type AIMessageContent = AIContentTypeMap[AIContentType];
102
+ export type UserMessageContent = TextContent | AttachmentContent;
103
+ export interface UserMessage extends ChatBaseMessage {
104
+ role: 'user';
105
+ content: UserMessageContent[];
106
+ }
107
+ export type ChatComment = 'good' | 'bad' | '';
108
+ export interface AIMessage extends ChatBaseMessage {
109
+ role: 'assistant';
110
+ content?: AIMessageContent[];
111
+ history?: AIMessageContent[][];
112
+ /** 点赞点踩 */
113
+ comment?: ChatComment;
114
+ }
115
+ export interface SystemMessage extends ChatBaseMessage {
116
+ role: 'system';
117
+ content: TextContent[];
118
+ }
119
+ export type ChatMessagesData = UserMessage | AIMessage | SystemMessage;
120
+ export type SSEChunkData = {
121
+ event?: string;
122
+ data: any;
123
+ };
124
+ export interface ChatRequestParams {
125
+ prompt?: string;
126
+ messageID?: string;
127
+ attachments?: AttachmentContent['data'];
128
+ [key: string]: any;
129
+ }
130
+ export type AIContentChunkUpdate = AIMessageContent;
131
+ export interface ChatNetworkConfig {
132
+ /** 请求端点 */
133
+ endpoint?: string;
134
+ /** 是否启用流式传输 */
135
+ stream?: boolean;
136
+ /** 重试间隔(毫秒) */
137
+ retryInterval?: number;
138
+ /** 最大重试次数 */
139
+ maxRetries?: number;
140
+ /** 请求超时时间(毫秒) */
141
+ timeout?: number;
142
+ /** 协议类型 */
143
+ protocol?: 'default' | 'agui';
144
+ }
145
+ export interface DefaultEngineCallbacks {
146
+ /** 请求发送前配置 */
147
+ onRequest?: (params: ChatRequestParams) => (ChatRequestParams & RequestInit) | Promise<ChatRequestParams & RequestInit>;
148
+ onStart?: (chunk: string) => void;
149
+ /** 接收到消息数据块 - 用于解析和处理聊天内容 */
150
+ onMessage?: (chunk: SSEChunkData, message?: ChatMessagesData, parsedResult?: AIMessageContent | AIMessageContent[] | null) => AIMessageContent | AIMessageContent[] | null;
151
+ onComplete?: (isAborted: boolean, params?: ChatRequestParams, result?: any) => AIMessageContent | AIMessageContent[] | void;
152
+ onAbort?: () => Promise<void>;
153
+ /** 错误处理 */
154
+ onError?: (err: Error | Response) => void;
155
+ /**
156
+ * Chunk 验证器 - 用于验证 SSE 数据块是否有效
157
+ *
158
+ * 当后端返回空内容或无效数据时,可以通过此配置判断 chunk 是否有效,
159
+ * 只有有效的 chunk 才会被处理,避免过早进入 streaming 状态。
160
+ *
161
+ * @param chunk SSE 数据块
162
+ * @returns 返回 true 表示该 chunk 有效(需要处理),返回 false 表示无效(跳过)
163
+ *
164
+ * @example
165
+ * ```ts
166
+ * // 只处理 content 不为空的 chunk
167
+ * isValidChunk: (chunk) => {
168
+ * const content = chunk.data?.choices?.[0]?.delta?.content;
169
+ * return content !== '' && content !== undefined;
170
+ * }
171
+ * ```
172
+ */
173
+ isValidChunk?: (chunk: SSEChunkData) => boolean;
174
+ }
175
+ export interface ChatServiceConfig extends ChatNetworkConfig, DefaultEngineCallbacks {
176
+ }
177
+ export type ChatServiceConfigSetter = ChatServiceConfig | ((params?: any) => ChatServiceConfig);
178
+ export interface IChatEngine {
179
+ /**
180
+ * 初始化聊天引擎
181
+ * @param config 聊天服务配置或配置生成函数,包含网络请求配置和回调函数
182
+ * @param messages 初始消息列表,用于恢复历史对话
183
+ * @description 必须在使用其他方法前调用此方法进行初始化
184
+ */
185
+ init(config?: any, messages?: ChatMessagesData[]): void;
186
+ /**
187
+ * 发送用户消息并获取AI回复
188
+ * @param params 请求参数,包含用户输入的文本和附件
189
+ * @description 创建用户消息和AI消息,并发送请求获取AI回复
190
+ */
191
+ sendUserMessage(params: ChatRequestParams): Promise<void>;
192
+ /**
193
+ * 手动发送AI消息
194
+ * @param options 包含请求参数params、发送消息内容content和是否发送请求的标志sendRequest
195
+ * @description 创建并存储一条AI消息,可选择是否同时发送请求
196
+ */
197
+ sendAIMessage(options: {
198
+ params?: ChatRequestParams;
199
+ content?: AIMessageContent[];
200
+ sendRequest?: boolean;
201
+ }): Promise<void>;
202
+ /**
203
+ * 重新生成AI回复
204
+ * @param keepVersion 是否保留历史版本,默认为false
205
+ * @description
206
+ * - 当keepVersion=false时:删除最后一条AI消息,创建新消息并重新请求
207
+ * - 当keepVersion=true时:保留旧消息,创建分支消息并重新请求
208
+ */
209
+ regenerateAIMessage(keepVersion?: boolean): Promise<void>;
210
+ /**
211
+ * 中止当前进行中的聊天请求
212
+ * @description 停止接收流式响应,关闭连接,并调用配置的onAbort回调
213
+ */
214
+ abortChat(): Promise<void>;
215
+ /**
216
+ * 设置消息列表
217
+ * @param messages 要设置的消息数组
218
+ * @param mode 设置模式:'replace'(替换)、'prepend'(前置)、'append'(追加),默认为'replace'
219
+ * @description 用于批量更新消息,如加载历史消息或重置对话
220
+ */
221
+ setMessages(messages: ChatMessagesData[], mode?: ChatMessageSetterMode): void;
222
+ /**
223
+ * 清空所有消息
224
+ * @description 清除消息存储中的所有历史记录
225
+ */
226
+ clearMessages(): void;
227
+ /**
228
+ * 注册内容块合并策略
229
+ * @param type 内容类型,如'text'、'markdown'等
230
+ * @param handler 合并处理函数,接收新块和现有块,返回合并后的内容块
231
+ * @description 用于自定义不同类型内容的增量更新逻辑
232
+ */
233
+ registerMergeStrategy<T extends AIMessageContent>(type: T['type'], handler: (chunk: T, existing?: T) => T): void;
234
+ /**
235
+ * 获取当前所有消息
236
+ * @returns 消息数组
237
+ */
238
+ get messages(): ChatMessagesData[];
239
+ /**
240
+ * 获取当前聊天状态
241
+ * @returns 聊天状态:'idle'、'pending'、'streaming'、'complete'、'stop'或'error'
242
+ */
243
+ get status(): ChatStatus;
244
+ /**
245
+ * 获取消息存储实例
246
+ * @returns 消息存储对象
247
+ */
248
+ get messageStore(): any;
249
+ /**
250
+ * 销毁聊天引擎实例
251
+ * @description 中止请求,清理消息存储和适配器,释放资源
252
+ */
253
+ destroy(): void;
254
+ }
255
+ export interface ChatMessageStore {
256
+ messageIds: string[];
257
+ messages: ChatMessagesData[];
258
+ }
259
+ export interface ModelParams {
260
+ model?: string;
261
+ useThink?: boolean;
262
+ useSearch?: boolean;
263
+ }
264
+ export interface ModelServiceState extends ModelParams {
265
+ config: ChatServiceConfig;
266
+ }
267
+ export interface ChatState {
268
+ message: ChatMessageStore;
269
+ model: ModelServiceState;
270
+ }
271
+ export type ChatMessageSetterMode = 'replace' | 'prepend' | 'append';
272
+ export type AIContentHandler<T extends ChatBaseContent<any, any>> = (chunk: T, existing?: T) => T;
273
+ export interface ContentTypeDefinition<T extends string = string, D = any> {
274
+ type: T;
275
+ handler?: AIContentHandler<ChatBaseContent<T, D>>;
276
+ renderer?: ContentRenderer<ChatBaseContent<T, D>>;
277
+ }
278
+ export type ContentRenderer<T extends ChatBaseContent<any, any>> = (content: T) => unknown;
279
+ export {};
@@ -0,0 +1,7 @@
1
+ /**
2
+ * tdesign v1.1.0-alpha.11
3
+ * (c) 2026 tdesign
4
+ * @license MIT
5
+ */
6
+
7
+ //# sourceMappingURL=type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * 简单的 EventEmitter 实现,用于浏览器环境
3
+ */
4
+ export default class SimpleEventEmitter {
5
+ private events;
6
+ on(event: string, listener: (...args: any[]) => void): void;
7
+ off(event: string, listener: (...args: any[]) => void): void;
8
+ emit(event: string, ...args: any[]): boolean;
9
+ removeAllListeners(event?: string): void;
10
+ }
@@ -0,0 +1,67 @@
1
+ /**
2
+ * tdesign v1.1.0-alpha.11
3
+ * (c) 2026 tdesign
4
+ * @license MIT
5
+ */
6
+
7
+ import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
8
+ import _createClass from '@babel/runtime/helpers/createClass';
9
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
10
+
11
+ var SimpleEventEmitter = /*#__PURE__*/function () {
12
+ function SimpleEventEmitter() {
13
+ _classCallCheck(this, SimpleEventEmitter);
14
+ _defineProperty(this, "events", /* @__PURE__ */new Map());
15
+ }
16
+ return _createClass(SimpleEventEmitter, [{
17
+ key: "on",
18
+ value: function on(event, listener) {
19
+ if (!this.events.has(event)) {
20
+ this.events.set(event, []);
21
+ }
22
+ this.events.get(event).push(listener);
23
+ }
24
+ }, {
25
+ key: "off",
26
+ value: function off(event, listener) {
27
+ var listeners = this.events.get(event);
28
+ if (listeners) {
29
+ var index = listeners.indexOf(listener);
30
+ if (index !== -1) {
31
+ listeners.splice(index, 1);
32
+ }
33
+ }
34
+ }
35
+ }, {
36
+ key: "emit",
37
+ value: function emit(event) {
38
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
39
+ args[_key - 1] = arguments[_key];
40
+ }
41
+ var listeners = this.events.get(event);
42
+ if (listeners && listeners.length > 0) {
43
+ listeners.forEach(function (listener) {
44
+ try {
45
+ listener.apply(void 0, args);
46
+ } catch (error) {
47
+ console.error("EventEmitter listener error:", error);
48
+ }
49
+ });
50
+ return true;
51
+ }
52
+ return false;
53
+ }
54
+ }, {
55
+ key: "removeAllListeners",
56
+ value: function removeAllListeners(event) {
57
+ if (event) {
58
+ this.events["delete"](event);
59
+ } else {
60
+ this.events.clear();
61
+ }
62
+ }
63
+ }]);
64
+ }();
65
+
66
+ export { SimpleEventEmitter as default };
67
+ //# sourceMappingURL=eventEmitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventEmitter.js","sources":["../../../../../pro-components/chat/chat-engine/core/utils/eventEmitter.ts"],"sourcesContent":["/**\n * 简单的 EventEmitter 实现,用于浏览器环境\n */\nexport default class SimpleEventEmitter {\n private events: Map<string, Array<(...args: any[]) => void>> = new Map();\n\n on(event: string, listener: (...args: any[]) => void): void {\n if (!this.events.has(event)) {\n this.events.set(event, []);\n }\n this.events.get(event)!.push(listener);\n }\n\n off(event: string, listener: (...args: any[]) => void): void {\n const listeners = this.events.get(event);\n if (listeners) {\n const index = listeners.indexOf(listener);\n if (index !== -1) {\n listeners.splice(index, 1);\n }\n }\n }\n\n emit(event: string, ...args: any[]): boolean {\n const listeners = this.events.get(event);\n if (listeners && listeners.length > 0) {\n listeners.forEach((listener) => {\n try {\n listener(...args);\n } catch (error) {\n console.error('EventEmitter listener error:', error);\n }\n });\n return true;\n }\n return false;\n }\n\n removeAllListeners(event?: string): void {\n if (event) {\n this.events.delete(event);\n } else {\n this.events.clear();\n }\n }\n}\n"],"names":["SimpleEventEmitter","_classCallCheck","_defineProperty","Map","_createClass","key","value","on","event","listener","events","has","set","get","push","off","listeners","index","indexOf","splice","emit","_len","arguments","length","args","Array","_key","forEach","apply","error","console","removeAllListeners","clear"],"mappings":";;;;;;;;;;IAGqBA,kBAAmB,gBAAA,YAAA;AAAA,EAAA,SAAAA,kBAAA,GAAA;AAAAC,IAAAA,eAAA,OAAAD,kBAAA,CAAA,CAAA;AAAAE,IAAAA,eAAA,CACyB,IAAA,EAAA,QAAA,qBAAIC,GAAI,EAAA,CAAA,CAAA;AAAA,GAAA;EAAA,OAAAC,YAAA,CAAAJ,kBAAA,EAAA,CAAA;IAAAK,GAAA,EAAA,IAAA;AAAAC,IAAAA,KAAA,EAEvE,SAAAC,EAAAA,CAAGC,OAAeC,QAA0C,EAAA;MAC1D,IAAI,CAAC,IAAA,CAAKC,MAAO,CAAAC,GAAA,CAAIH,KAAK,CAAG,EAAA;QAC3B,IAAA,CAAKE,MAAO,CAAAE,GAAA,CAAIJ,KAAO,EAAA,EAAE,CAAA,CAAA;AAC3B,OAAA;MACA,IAAA,CAAKE,MAAO,CAAAG,GAAA,CAAIL,KAAK,CAAA,CAAGM,KAAKL,QAAQ,CAAA,CAAA;AACvC,KAAA;AAAA,GAAA,EAAA;IAAAJ,GAAA,EAAA,KAAA;AAAAC,IAAAA,KAAA,EAEA,SAAAS,GAAAA,CAAIP,OAAeC,QAA0C,EAAA;MAC3D,IAAMO,SAAY,GAAA,IAAA,CAAKN,MAAO,CAAAG,GAAA,CAAIL,KAAK,CAAA,CAAA;AACvC,MAAA,IAAIQ,SAAW,EAAA;AACP,QAAA,IAAAC,KAAA,GAAQD,SAAU,CAAAE,OAAA,CAAQT,QAAQ,CAAA,CAAA;AACxC,QAAA,IAAIQ,UAAU,CAAI,CAAA,EAAA;AACND,UAAAA,SAAA,CAAAG,MAAA,CAAOF,OAAO,CAAC,CAAA,CAAA;AAC3B,SAAA;AACF,OAAA;AACF,KAAA;AAAA,GAAA,EAAA;IAAAZ,GAAA,EAAA,MAAA;AAAAC,IAAAA,KAAA,EAEA,SAAAc,IAAAA,CAAKZ,OAAwC;MAAA,KAAAa,IAAAA,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAtBC,IAAsB,OAAAC,KAAA,CAAAJ,IAAA,GAAAA,CAAAA,GAAAA,IAAA,WAAAK,IAAA,GAAA,CAAA,EAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,EAAA,EAAA;AAAtBF,QAAAA,IAAsB,CAAAE,IAAA,GAAAJ,CAAAA,CAAAA,GAAAA,SAAA,CAAAI,IAAA,CAAA,CAAA;AAAA,OAAA;MAC3C,IAAMV,SAAY,GAAA,IAAA,CAAKN,MAAO,CAAAG,GAAA,CAAIL,KAAK,CAAA,CAAA;AACnC,MAAA,IAAAQ,SAAA,IAAaA,SAAU,CAAAO,MAAA,GAAS,CAAG,EAAA;AAC3BP,QAAAA,SAAA,CAAAW,OAAA,CAAQ,UAAClB,QAAa,EAAA;UAC1B,IAAA;AACFA,YAAAA,QAAA,CAAAmB,KAAA,CAAYJ,KAAAA,CAAAA,EAAAA,IAAI,CAAA,CAAA;mBACTK,KAAP,EAAA;AACQC,YAAAA,OAAA,CAAAD,KAAA,CAAM,gCAAgCA,KAAK,CAAA,CAAA;AACrD,WAAA;AACF,SAAC,CAAA,CAAA;AACM,QAAA,OAAA,IAAA,CAAA;AACT,OAAA;AACO,MAAA,OAAA,KAAA,CAAA;AACT,KAAA;AAAA,GAAA,EAAA;IAAAxB,GAAA,EAAA,oBAAA;AAAAC,IAAAA,KAAA,EAEA,SAAAyB,mBAAmBvB,KAAsB,EAAA;AACvC,MAAA,IAAIA,KAAO,EAAA;AACJ,QAAA,IAAA,CAAAE,MAAA,WAAcF,KAAK,CAAA,CAAA;AAC1B,OAAO,MAAA;AACL,QAAA,IAAA,CAAKE,OAAOsB,KAAM,EAAA,CAAA;AACpB,OAAA;AACF,KAAA;AAAA,GAAA,CAAA,CAAA,CAAA;AAAA,CAAA;;;;"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Immutable JSON Patch with Structural Sharing
3
+ *
4
+ * 核心特性:
5
+ * - 只重建被修改路径上的节点
6
+ * - 未修改的节点保持原引用(实现结构共享)
7
+ * - 支持标准 JSON Patch 操作:add, remove, replace, move, copy
8
+ * - 支持扩展操作:append(字符串追加)
9
+ *
10
+ * 性能优势:
11
+ * - 配合 React.memo / useSyncExternalStore 使用时,未变化的组件不会重渲染
12
+ * - 避免深拷贝带来的性能开销
13
+ */
14
+ export type Operation = {
15
+ op: 'add';
16
+ path: string;
17
+ value: any;
18
+ } | {
19
+ op: 'remove';
20
+ path: string;
21
+ } | {
22
+ op: 'replace';
23
+ path: string;
24
+ value: any;
25
+ } | {
26
+ op: 'move';
27
+ path: string;
28
+ from: string;
29
+ } | {
30
+ op: 'copy';
31
+ path: string;
32
+ from: string;
33
+ } | {
34
+ op: 'append';
35
+ path: string;
36
+ value: string;
37
+ };
38
+ /**
39
+ * 应用 JSON Patch 数组(结构共享版本)
40
+ *
41
+ * @param document 原始文档
42
+ * @param patch 操作数组
43
+ * @returns 新文档(未修改的节点保持原引用)
44
+ *
45
+ * @example
46
+ * const tree = { elements: { a: { props: { x: 1 } }, b: { props: { y: 2 } } } };
47
+ * const newTree = applyPatchImmutable(tree, [
48
+ * { op: 'replace', path: '/elements/a/props/x', value: 10 }
49
+ * ]);
50
+ *
51
+ * // 结构共享验证:
52
+ * tree.elements.b === newTree.elements.b // true - b 节点未变,保持原引用
53
+ * tree.elements.a === newTree.elements.a // false - a 节点被修改,是新引用
54
+ */
55
+ export declare function applyPatchImmutable<T>(document: T, patch: Operation[]): T;
56
+ /**
57
+ * 兼容原有 applyPatch 的返回格式
58
+ */
59
+ export declare function applyPatch<T>(document: T, patch: Operation[]): {
60
+ newDocument: T;
61
+ };
@@ -0,0 +1,147 @@
1
+ /**
2
+ * tdesign v1.1.0-alpha.11
3
+ * (c) 2026 tdesign
4
+ * @license MIT
5
+ */
6
+
7
+ import _typeof from '@babel/runtime/helpers/typeof';
8
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
9
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
10
+ import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
11
+ import _toArray from '@babel/runtime/helpers/toArray';
12
+
13
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
14
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
15
+ 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; }
16
+ 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; }
17
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
18
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
19
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
20
+ function parsePath(path) {
21
+ if (path === "" || path === "/") return [];
22
+ return path.split("/").slice(1).map(function (s) {
23
+ return s.replace(/~1/g, "/").replace(/~0/g, "~");
24
+ });
25
+ }
26
+ function getByPath(obj, path) {
27
+ var current = obj;
28
+ var _iterator = _createForOfIteratorHelper(path),
29
+ _step;
30
+ try {
31
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
32
+ var key = _step.value;
33
+ if (current == null) return void 0;
34
+ current = current[key];
35
+ }
36
+ } catch (err) {
37
+ _iterator.e(err);
38
+ } finally {
39
+ _iterator.f();
40
+ }
41
+ return current;
42
+ }
43
+ function setByPath(obj, path, value) {
44
+ if (path.length === 0) {
45
+ return value;
46
+ }
47
+ var _path = _toArray(path),
48
+ head = _path[0],
49
+ tail = _path.slice(1);
50
+ var current = obj;
51
+ var isArray = Array.isArray(current);
52
+ var index = isArray ? head === "-" ? current.length : parseInt(head, 10) : head;
53
+ if (tail.length === 0) {
54
+ if (isArray) {
55
+ var newArr = _toConsumableArray(current);
56
+ newArr[index] = value;
57
+ return newArr;
58
+ } else {
59
+ return _objectSpread(_objectSpread({}, current), {}, _defineProperty({}, head, value));
60
+ }
61
+ }
62
+ var child = current[head];
63
+ var newChild = setByPath(child, tail, value);
64
+ if (isArray) {
65
+ var _newArr = _toConsumableArray(current);
66
+ _newArr[index] = newChild;
67
+ return _newArr;
68
+ } else {
69
+ return _objectSpread(_objectSpread({}, current), {}, _defineProperty({}, head, newChild));
70
+ }
71
+ }
72
+ function removeByPath(obj, path) {
73
+ if (path.length === 0) {
74
+ return void 0;
75
+ }
76
+ var _path2 = _toArray(path),
77
+ head = _path2[0],
78
+ tail = _path2.slice(1);
79
+ var current = obj;
80
+ var isArray = Array.isArray(current);
81
+ if (tail.length === 0) {
82
+ if (isArray) {
83
+ var index = parseInt(head, 10);
84
+ var newArr = _toConsumableArray(current);
85
+ newArr.splice(index, 1);
86
+ return newArr;
87
+ } else {
88
+ var _ = current[head],
89
+ rest = _objectWithoutProperties(current, [head].map(_toPropertyKey));
90
+ return rest;
91
+ }
92
+ }
93
+ var child = current[head];
94
+ var newChild = removeByPath(child, tail);
95
+ if (isArray) {
96
+ var _index = parseInt(head, 10);
97
+ var _newArr2 = _toConsumableArray(current);
98
+ _newArr2[_index] = newChild;
99
+ return _newArr2;
100
+ } else {
101
+ return _objectSpread(_objectSpread({}, current), {}, _defineProperty({}, head, newChild));
102
+ }
103
+ }
104
+ function applyOperationImmutable(document, operation) {
105
+ var path = parsePath(operation.path);
106
+ switch (operation.op) {
107
+ case "add":
108
+ case "replace":
109
+ return setByPath(document, path, operation.value);
110
+ case "remove":
111
+ return removeByPath(document, path);
112
+ case "append":
113
+ {
114
+ var existing = getByPath(document, path);
115
+ var newValue = existing == null ? operation.value : String(existing) + operation.value;
116
+ return setByPath(document, path, newValue);
117
+ }
118
+ case "move":
119
+ {
120
+ var fromPath = parsePath(operation.from);
121
+ var value = getByPath(document, fromPath);
122
+ var afterRemove = removeByPath(document, fromPath);
123
+ return setByPath(afterRemove, path, value);
124
+ }
125
+ case "copy":
126
+ {
127
+ var _fromPath = parsePath(operation.from);
128
+ var _value = getByPath(document, _fromPath);
129
+ return setByPath(document, path, JSON.parse(JSON.stringify(_value)));
130
+ }
131
+ default:
132
+ return document;
133
+ }
134
+ }
135
+ function applyPatchImmutable(document, patch) {
136
+ return patch.reduce(function (doc, op) {
137
+ return applyOperationImmutable(doc, op);
138
+ }, document);
139
+ }
140
+ function applyPatch(document, patch) {
141
+ return {
142
+ newDocument: applyPatchImmutable(document, patch)
143
+ };
144
+ }
145
+
146
+ export { applyPatch, applyPatchImmutable };
147
+ //# sourceMappingURL=immutable-patch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"immutable-patch.js","sources":["../../../../../pro-components/chat/chat-engine/core/utils/immutable-patch.ts"],"sourcesContent":["/**\n * Immutable JSON Patch with Structural Sharing\n * \n * 核心特性:\n * - 只重建被修改路径上的节点\n * - 未修改的节点保持原引用(实现结构共享)\n * - 支持标准 JSON Patch 操作:add, remove, replace, move, copy\n * - 支持扩展操作:append(字符串追加)\n * \n * 性能优势:\n * - 配合 React.memo / useSyncExternalStore 使用时,未变化的组件不会重渲染\n * - 避免深拷贝带来的性能开销\n */\n\nexport type Operation = \n | { op: 'add'; path: string; value: any }\n | { op: 'remove'; path: string }\n | { op: 'replace'; path: string; value: any }\n | { op: 'move'; path: string; from: string }\n | { op: 'copy'; path: string; from: string }\n | { op: 'append'; path: string; value: string };\n\n/**\n * 解析 JSON Pointer 路径\n * \"/elements/deep-progress/props/percentage\" => [\"elements\", \"deep-progress\", \"props\", \"percentage\"]\n */\nfunction parsePath(path: string): string[] {\n if (path === '' || path === '/') return [];\n return path.split('/').slice(1).map(s => s.replace(/~1/g, '/').replace(/~0/g, '~'));\n}\n\n/**\n * 获取嵌套值\n */\nfunction getByPath(obj: any, path: string[]): any {\n let current = obj;\n for (const key of path) {\n if (current == null) return undefined;\n current = current[key];\n }\n return current;\n}\n\n/**\n * 不可变地设置嵌套值(结构共享)\n * 只重建路径上的节点,其他节点保持原引用\n */\nfunction setByPath<T>(obj: T, path: string[], value: any): T {\n if (path.length === 0) {\n return value;\n }\n \n const [head, ...tail] = path;\n const current = obj as any;\n \n // 判断当前层是数组还是对象\n const isArray = Array.isArray(current);\n const index = isArray ? (head === '-' ? current.length : parseInt(head, 10)) : head;\n \n if (tail.length === 0) {\n // 到达目标位置,设置值\n if (isArray) {\n const newArr = [...current];\n newArr[index as number] = value;\n return newArr as unknown as T;\n } else {\n return { ...current, [head]: value };\n }\n }\n \n // 递归处理子路径\n const child = current[head];\n const newChild = setByPath(child, tail, value);\n \n if (isArray) {\n const newArr = [...current];\n newArr[index as number] = newChild;\n return newArr as unknown as T;\n } else {\n return { ...current, [head]: newChild };\n }\n}\n\n/**\n * 不可变地删除嵌套值(结构共享)\n */\nfunction removeByPath<T>(obj: T, path: string[]): T {\n if (path.length === 0) {\n return undefined as unknown as T;\n }\n \n const [head, ...tail] = path;\n const current = obj as any;\n const isArray = Array.isArray(current);\n \n if (tail.length === 0) {\n // 到达目标位置,删除值\n if (isArray) {\n const index = parseInt(head, 10);\n const newArr = [...current];\n newArr.splice(index, 1);\n return newArr as unknown as T;\n } else {\n const { [head]: _, ...rest } = current;\n return rest as T;\n }\n }\n \n // 递归处理子路径\n const child = current[head];\n const newChild = removeByPath(child, tail);\n \n if (isArray) {\n const index = parseInt(head, 10);\n const newArr = [...current];\n newArr[index] = newChild;\n return newArr as unknown as T;\n } else {\n return { ...current, [head]: newChild };\n }\n}\n\n/**\n * 应用单个操作(结构共享)\n */\nfunction applyOperationImmutable<T>(document: T, operation: Operation): T {\n const path = parsePath(operation.path);\n \n switch (operation.op) {\n case 'add':\n case 'replace':\n return setByPath(document, path, operation.value);\n \n case 'remove':\n return removeByPath(document, path);\n \n case 'append': {\n const existing = getByPath(document, path);\n const newValue = existing == null ? operation.value : String(existing) + operation.value;\n return setByPath(document, path, newValue);\n }\n \n case 'move': {\n const fromPath = parsePath(operation.from);\n const value = getByPath(document, fromPath);\n const afterRemove = removeByPath(document, fromPath);\n return setByPath(afterRemove, path, value);\n }\n \n case 'copy': {\n const fromPath = parsePath(operation.from);\n const value = getByPath(document, fromPath);\n // 深拷贝 copy 的值,避免共享引用\n return setByPath(document, path, JSON.parse(JSON.stringify(value)));\n }\n \n default:\n return document;\n }\n}\n\n/**\n * 应用 JSON Patch 数组(结构共享版本)\n * \n * @param document 原始文档\n * @param patch 操作数组\n * @returns 新文档(未修改的节点保持原引用)\n * \n * @example\n * const tree = { elements: { a: { props: { x: 1 } }, b: { props: { y: 2 } } } };\n * const newTree = applyPatchImmutable(tree, [\n * { op: 'replace', path: '/elements/a/props/x', value: 10 }\n * ]);\n * \n * // 结构共享验证:\n * tree.elements.b === newTree.elements.b // true - b 节点未变,保持原引用\n * tree.elements.a === newTree.elements.a // false - a 节点被修改,是新引用\n */\nexport function applyPatchImmutable<T>(document: T, patch: Operation[]): T {\n return patch.reduce((doc, op) => applyOperationImmutable(doc, op), document);\n}\n\n/**\n * 兼容原有 applyPatch 的返回格式\n */\nexport function applyPatch<T>(document: T, patch: Operation[]): { newDocument: T } {\n return {\n newDocument: applyPatchImmutable(document, patch)\n };\n}\n"],"names":["parsePath","path","split","slice","map","s","replace","getByPath","obj","current","_iterator","_createForOfIteratorHelper","_step","n","done","key","err","e","f","setByPath","value","length","_path","_toArray","head","tail","isArray","Array","index","parseInt","newArr","_toConsumableArray","_objectSpread","_defineProperty","child","newChild","removeByPath","_path2","splice","_","rest","_objectWithoutProperties","_toPropertyKey","applyOperationImmutable","document","operation","op","existing","newValue","String","fromPath","from","afterRemove","JSON","parse","stringify","applyPatchImmutable","patch","reduce","doc","applyPatch","newDocument"],"mappings":"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"}