@tdesign-react/chat 1.0.2-alpha.9 → 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.
- package/CHANGELOG.md +14 -1
- package/README.md +76 -22
- package/es/_chunks/dep-076af7c3.js +438 -0
- package/es/_chunks/dep-076af7c3.js.map +1 -0
- package/es/_chunks/dep-1007ac80.js +205 -0
- package/es/_chunks/dep-1007ac80.js.map +1 -0
- package/es/_chunks/dep-16520c2b.js +1247 -0
- package/es/_chunks/dep-16520c2b.js.map +1 -0
- package/es/_chunks/dep-1743bd61.js +438 -0
- package/es/_chunks/dep-1743bd61.js.map +1 -0
- package/es/_chunks/dep-1ca64fef.js +1247 -0
- package/es/_chunks/dep-1ca64fef.js.map +1 -0
- package/es/_chunks/dep-24472232.js +839 -0
- package/es/_chunks/dep-24472232.js.map +1 -0
- package/es/_chunks/dep-3864b369.js +839 -0
- package/es/_chunks/dep-3864b369.js.map +1 -0
- package/es/_chunks/dep-3e40d789.js +169 -0
- package/es/_chunks/dep-3e40d789.js.map +1 -0
- package/es/_chunks/dep-4dedfbef.js +438 -0
- package/es/_chunks/dep-4dedfbef.js.map +1 -0
- package/es/_chunks/dep-56f5e08e.js +448 -0
- package/es/_chunks/dep-56f5e08e.js.map +1 -0
- package/es/_chunks/dep-5b6b17d0.js +169 -0
- package/es/_chunks/dep-5b6b17d0.js.map +1 -0
- package/es/_chunks/dep-688e4aaa.js +438 -0
- package/es/_chunks/dep-688e4aaa.js.map +1 -0
- package/es/_chunks/dep-870f0d35.js +839 -0
- package/es/_chunks/dep-870f0d35.js.map +1 -0
- package/es/_chunks/dep-96eca06f.js +169 -0
- package/es/_chunks/dep-96eca06f.js.map +1 -0
- package/es/_chunks/dep-ba3bd553.js +169 -0
- package/es/_chunks/dep-ba3bd553.js.map +1 -0
- package/es/_chunks/dep-bcb234a1.js +839 -0
- package/es/_chunks/dep-bcb234a1.js.map +1 -0
- package/es/_chunks/dep-de8ac730.js +1247 -0
- package/es/_chunks/dep-de8ac730.js.map +1 -0
- package/es/_chunks/dep-e9dbff09.js +1247 -0
- package/es/_chunks/dep-e9dbff09.js.map +1 -0
- package/es/_chunks/dep-ebc4cf30.js +1247 -0
- package/es/_chunks/dep-ebc4cf30.js.map +1 -0
- package/es/_chunks/dep-f2051ebd.js +839 -0
- package/es/_chunks/dep-f2051ebd.js.map +1 -0
- package/es/_chunks/dep-f691a67e.js +438 -0
- package/es/_chunks/dep-f691a67e.js.map +1 -0
- package/es/_chunks/dep-f8016301.js +169 -0
- package/es/_chunks/dep-f8016301.js.map +1 -0
- package/es/_util/reactify.js +33 -13
- package/es/_util/reactify.js.map +1 -1
- package/es/_util/useDynamicStyle.js +1 -1
- package/es/attachments/index.js +1 -1
- package/es/chat-actionbar/index.js +1 -1
- package/es/chat-engine/components/a2ui/A2UIActivityRenderer.d.ts +196 -0
- package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js +301 -0
- package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js.map +1 -0
- package/es/chat-engine/components/a2ui/A2UIComponentRenderer.d.ts +37 -0
- package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js +116 -0
- package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js.map +1 -0
- package/es/chat-engine/components/a2ui/A2UIErrorBoundary.d.ts +42 -0
- package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js +113 -0
- package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js.map +1 -0
- package/es/chat-engine/components/a2ui/A2UISkeleton.d.ts +60 -0
- package/es/chat-engine/components/a2ui/A2UISkeleton.js +197 -0
- package/es/chat-engine/components/a2ui/A2UISkeleton.js.map +1 -0
- package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.d.ts +44 -0
- package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js +139 -0
- package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js.map +1 -0
- package/es/chat-engine/components/a2ui/containers/A2UICard.d.ts +22 -0
- package/es/chat-engine/components/a2ui/containers/A2UICard.js +82 -0
- package/es/chat-engine/components/a2ui/containers/A2UICard.js.map +1 -0
- package/es/chat-engine/components/a2ui/containers/A2UIColumn.d.ts +18 -0
- package/es/chat-engine/components/a2ui/containers/A2UIColumn.js +81 -0
- package/es/chat-engine/components/a2ui/containers/A2UIColumn.js.map +1 -0
- package/es/chat-engine/components/a2ui/containers/A2UIList.d.ts +14 -0
- package/es/chat-engine/components/a2ui/containers/A2UIList.js +62 -0
- package/es/chat-engine/components/a2ui/containers/A2UIList.js.map +1 -0
- package/es/chat-engine/components/a2ui/containers/A2UIRow.d.ts +20 -0
- package/es/chat-engine/components/a2ui/containers/A2UIRow.js +84 -0
- package/es/chat-engine/components/a2ui/containers/A2UIRow.js.map +1 -0
- package/es/chat-engine/components/a2ui/containers/A2UITabs.d.ts +14 -0
- package/es/chat-engine/components/a2ui/containers/A2UITabs.js +69 -0
- package/es/chat-engine/components/a2ui/containers/A2UITabs.js.map +1 -0
- package/es/chat-engine/components/a2ui/containers/index.d.ts +8 -0
- package/es/chat-engine/components/a2ui/containers/index.js +30 -0
- package/es/chat-engine/components/a2ui/containers/index.js.map +1 -0
- package/es/chat-engine/components/a2ui/index.d.ts +11 -0
- package/es/chat-engine/components/a2ui/index.js +62 -0
- package/es/chat-engine/components/a2ui/index.js.map +1 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIButton.d.ts +33 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIButton.js +80 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIButton.js.map +1 -0
- package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.d.ts +12 -0
- package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js +43 -0
- package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js.map +1 -0
- package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.d.ts +50 -0
- package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js +54 -0
- package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js.map +1 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.d.ts +13 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js +89 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js.map +1 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIDivider.d.ts +12 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js +25 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js.map +1 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIIcon.d.ts +13 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js +138942 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js.map +1 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIImage.d.ts +12 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIImage.js +75 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIImage.js.map +1 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIInput.d.ts +20 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIInput.js +63 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIInput.js.map +1 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.d.ts +56 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js +64 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js.map +1 -0
- package/es/chat-engine/components/a2ui/primitives/A2UISlider.d.ts +12 -0
- package/es/chat-engine/components/a2ui/primitives/A2UISlider.js +55 -0
- package/es/chat-engine/components/a2ui/primitives/A2UISlider.js.map +1 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIText.d.ts +12 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIText.js +104 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIText.js.map +1 -0
- package/es/chat-engine/components/a2ui/primitives/A2UITextField.d.ts +12 -0
- package/es/chat-engine/components/a2ui/primitives/A2UITextField.js +80 -0
- package/es/chat-engine/components/a2ui/primitives/A2UITextField.js.map +1 -0
- package/es/chat-engine/components/a2ui/primitives/index.d.ts +15 -0
- package/es/chat-engine/components/a2ui/primitives/index.js +39 -0
- package/es/chat-engine/components/a2ui/primitives/index.js.map +1 -0
- package/es/chat-engine/components/a2ui/registry.d.ts +35 -0
- package/es/chat-engine/components/a2ui/registry.js +74 -0
- package/es/chat-engine/components/a2ui/registry.js.map +1 -0
- package/es/chat-engine/components/activity/index.d.ts +0 -1
- package/es/chat-engine/components/activity/index.js +10 -5
- package/es/chat-engine/components/activity/index.js.map +1 -1
- package/es/chat-engine/components/activity/registry.d.ts +7 -41
- package/es/chat-engine/components/activity/registry.js +23 -77
- package/es/chat-engine/components/activity/registry.js.map +1 -1
- package/es/chat-engine/components/activity/render.d.ts +5 -1
- package/es/chat-engine/components/activity/render.js +33 -71
- package/es/chat-engine/components/activity/render.js.map +1 -1
- package/es/chat-engine/components/activity/types.d.ts +0 -3
- package/es/chat-engine/components/activity/types.js +1 -1
- package/es/chat-engine/components/index.js +16 -11
- package/es/chat-engine/components/index.js.map +1 -1
- package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.d.ts +36 -0
- package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js +36 -0
- package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js.map +1 -0
- package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.d.ts +46 -0
- package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js +36 -0
- package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js.map +1 -0
- package/es/chat-engine/components/json-render/SurfaceStateManager.d.ts +113 -0
- package/es/chat-engine/components/json-render/SurfaceStateManager.js +195 -0
- package/es/chat-engine/components/json-render/SurfaceStateManager.js.map +1 -0
- package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.d.ts +49 -0
- package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js +307 -0
- package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js.map +1 -0
- package/es/chat-engine/components/json-render/adapters/a2ui-types.d.ts +96 -0
- package/es/chat-engine/components/json-render/adapters/a2ui-types.js +7 -0
- package/es/chat-engine/components/json-render/adapters/a2ui-types.js.map +1 -0
- package/es/chat-engine/components/json-render/adapters/index.d.ts +7 -0
- package/es/chat-engine/components/json-render/adapters/index.js +11 -0
- package/es/chat-engine/components/json-render/adapters/index.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/a2ui-binding.d.ts +64 -0
- package/es/chat-engine/components/json-render/catalog/a2ui-binding.js +36 -0
- package/es/chat-engine/components/json-render/catalog/a2ui-binding.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/a2ui-registry.d.ts +78 -0
- package/es/chat-engine/components/json-render/catalog/a2ui-registry.js +36 -0
- package/es/chat-engine/components/json-render/catalog/a2ui-registry.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/atomic/button.d.ts +14 -0
- package/es/chat-engine/components/json-render/catalog/atomic/button.js +71 -0
- package/es/chat-engine/components/json-render/catalog/atomic/button.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/atomic/card.d.ts +11 -0
- package/es/chat-engine/components/json-render/catalog/atomic/card.js +57 -0
- package/es/chat-engine/components/json-render/catalog/atomic/card.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/atomic/input.d.ts +20 -0
- package/es/chat-engine/components/json-render/catalog/atomic/input.js +76 -0
- package/es/chat-engine/components/json-render/catalog/atomic/input.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/atomic/layout.d.ts +44 -0
- package/es/chat-engine/components/json-render/catalog/atomic/layout.js +129 -0
- package/es/chat-engine/components/json-render/catalog/atomic/layout.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/atomic/text.d.ts +11 -0
- package/es/chat-engine/components/json-render/catalog/atomic/text.js +31 -0
- package/es/chat-engine/components/json-render/catalog/atomic/text.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/button.d.ts +14 -0
- package/es/chat-engine/components/json-render/catalog/button.js +71 -0
- package/es/chat-engine/components/json-render/catalog/button.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/card.d.ts +11 -0
- package/es/chat-engine/components/json-render/catalog/card.js +57 -0
- package/es/chat-engine/components/json-render/catalog/card.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.d.ts +614 -0
- package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.js +779 -0
- package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/index.d.ts +128 -0
- package/es/chat-engine/components/json-render/catalog/index.js +36 -0
- package/es/chat-engine/components/json-render/catalog/index.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/input.d.ts +20 -0
- package/es/chat-engine/components/json-render/catalog/input.js +36 -0
- package/es/chat-engine/components/json-render/catalog/input.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/layout.d.ts +44 -0
- package/es/chat-engine/components/json-render/catalog/layout.js +129 -0
- package/es/chat-engine/components/json-render/catalog/layout.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/text.d.ts +11 -0
- package/es/chat-engine/components/json-render/catalog/text.js +31 -0
- package/es/chat-engine/components/json-render/catalog/text.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog.d.ts +614 -0
- package/es/chat-engine/components/json-render/catalog.js +779 -0
- package/es/chat-engine/components/json-render/catalog.js.map +1 -0
- package/es/chat-engine/components/json-render/config.d.ts +154 -0
- package/es/chat-engine/components/json-render/config.js +36 -0
- package/es/chat-engine/components/json-render/config.js.map +1 -0
- package/es/chat-engine/components/json-render/contexts/actions.d.ts +79 -0
- package/es/chat-engine/components/json-render/contexts/actions.js +313 -0
- package/es/chat-engine/components/json-render/contexts/actions.js.map +1 -0
- package/es/chat-engine/components/json-render/contexts/data.d.ts +137 -0
- package/es/chat-engine/components/json-render/contexts/data.js +183 -0
- package/es/chat-engine/components/json-render/contexts/data.js.map +1 -0
- package/es/chat-engine/components/json-render/contexts/index.d.ts +4 -0
- package/es/chat-engine/components/json-render/contexts/index.js +27 -0
- package/es/chat-engine/components/json-render/contexts/index.js.map +1 -0
- package/es/chat-engine/components/json-render/contexts/store.d.ts +67 -0
- package/es/chat-engine/components/json-render/contexts/store.js +104 -0
- package/es/chat-engine/components/json-render/contexts/store.js.map +1 -0
- package/es/chat-engine/components/json-render/contexts/tree.d.ts +44 -0
- package/es/chat-engine/components/json-render/contexts/tree.js +78 -0
- package/es/chat-engine/components/json-render/contexts/tree.js.map +1 -0
- package/es/chat-engine/components/json-render/contexts/validation.d.ts +59 -0
- package/es/chat-engine/components/json-render/contexts/validation.js +159 -0
- package/es/chat-engine/components/json-render/contexts/validation.js.map +1 -0
- package/es/chat-engine/components/json-render/contexts/visibility.d.ts +39 -0
- package/es/chat-engine/components/json-render/contexts/visibility.js +66 -0
- package/es/chat-engine/components/json-render/contexts/visibility.js.map +1 -0
- package/es/chat-engine/components/json-render/engine.d.ts +58 -0
- package/es/chat-engine/components/json-render/engine.js +88 -0
- package/es/chat-engine/components/json-render/engine.js.map +1 -0
- package/es/chat-engine/components/json-render/index.d.ts +13 -0
- package/es/chat-engine/components/json-render/index.js +76 -0
- package/es/chat-engine/components/json-render/index.js.map +1 -0
- package/es/chat-engine/components/json-render/performance.d.ts +91 -0
- package/es/chat-engine/components/json-render/performance.js +135 -0
- package/es/chat-engine/components/json-render/performance.js.map +1 -0
- package/es/chat-engine/components/json-render/registry/a2ui-binding.d.ts +64 -0
- package/es/chat-engine/components/json-render/registry/a2ui-binding.js +76 -0
- package/es/chat-engine/components/json-render/registry/a2ui-binding.js.map +1 -0
- package/es/chat-engine/components/json-render/registry/a2ui-registry.d.ts +78 -0
- package/es/chat-engine/components/json-render/registry/a2ui-registry.js +76 -0
- package/es/chat-engine/components/json-render/registry/a2ui-registry.js.map +1 -0
- package/es/chat-engine/components/json-render/registry/config.d.ts +142 -0
- package/es/chat-engine/components/json-render/registry/config.js +76 -0
- package/es/chat-engine/components/json-render/registry/config.js.map +1 -0
- package/es/chat-engine/components/json-render/registry/index.d.ts +137 -0
- package/es/chat-engine/components/json-render/registry/index.js +76 -0
- package/es/chat-engine/components/json-render/registry/index.js.map +1 -0
- package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.d.ts +35 -0
- package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.js +271 -0
- package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.js.map +1 -0
- package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.d.ts +44 -0
- package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.js +63 -0
- package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.js.map +1 -0
- package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.d.ts +44 -0
- package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.js +131 -0
- package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.js.map +1 -0
- package/es/chat-engine/components/json-render/renderer/_index.d.ts +71 -0
- package/es/chat-engine/components/json-render/renderer/_index.js +133 -0
- package/es/chat-engine/components/json-render/renderer/_index.js.map +1 -0
- package/es/chat-engine/components/json-render/renderer/index.d.ts +71 -0
- package/es/chat-engine/components/json-render/renderer/index.js +125 -0
- package/es/chat-engine/components/json-render/renderer/index.js.map +1 -0
- package/es/chat-engine/components/json-render/renderer.d.ts +71 -0
- package/es/chat-engine/components/json-render/renderer.js +124 -0
- package/es/chat-engine/components/json-render/renderer.js.map +1 -0
- package/es/chat-engine/components/json-render/types.d.ts +87 -0
- package/es/chat-engine/components/json-render/types.js +7 -0
- package/es/chat-engine/components/json-render/types.js.map +1 -0
- package/es/chat-engine/components/provider/agent-state.js +1 -1
- package/es/chat-engine/components/shared/ComponentErrorBoundary.d.ts +25 -0
- package/es/chat-engine/components/shared/ComponentErrorBoundary.js +58 -0
- package/es/chat-engine/components/shared/ComponentErrorBoundary.js.map +1 -0
- package/es/chat-engine/components/shared/createRegistry.d.ts +36 -0
- package/es/chat-engine/components/shared/createRegistry.js +72 -0
- package/es/chat-engine/components/shared/createRegistry.js.map +1 -0
- package/es/chat-engine/components/shared/index.d.ts +4 -0
- package/es/chat-engine/components/shared/index.js +18 -0
- package/es/chat-engine/components/shared/index.js.map +1 -0
- package/es/chat-engine/components/shared/useRegistrationListener.d.ts +22 -0
- package/es/chat-engine/components/shared/useRegistrationListener.js +45 -0
- package/es/chat-engine/components/shared/useRegistrationListener.js.map +1 -0
- package/es/chat-engine/components/toolcall/index.d.ts +1 -1
- package/es/chat-engine/components/toolcall/index.js +12 -8
- package/es/chat-engine/components/toolcall/index.js.map +1 -1
- package/es/chat-engine/components/toolcall/registry.d.ts +6 -32
- package/es/chat-engine/components/toolcall/registry.js +23 -67
- package/es/chat-engine/components/toolcall/registry.js.map +1 -1
- package/es/chat-engine/components/toolcall/render.d.ts +1 -1
- package/es/chat-engine/components/toolcall/render.js +30 -79
- package/es/chat-engine/components/toolcall/render.js.map +1 -1
- package/es/chat-engine/components/toolcall/types.js +1 -1
- package/es/chat-engine/core/a2ui/index.d.ts +10 -0
- package/es/chat-engine/core/a2ui/index.js +24 -0
- package/es/chat-engine/core/a2ui/index.js.map +1 -0
- package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.d.ts +197 -0
- package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js +438 -0
- package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js.map +1 -0
- package/es/chat-engine/core/a2ui/processor/ComponentTree.d.ts +53 -0
- package/es/chat-engine/core/a2ui/processor/ComponentTree.js +158 -0
- package/es/chat-engine/core/a2ui/processor/ComponentTree.js.map +1 -0
- package/es/chat-engine/core/a2ui/processor/DataStore.d.ts +63 -0
- package/es/chat-engine/core/a2ui/processor/DataStore.js +172 -0
- package/es/chat-engine/core/a2ui/processor/DataStore.js.map +1 -0
- package/es/chat-engine/core/a2ui/processor/PathResolver.d.ts +47 -0
- package/es/chat-engine/core/a2ui/processor/PathResolver.js +99 -0
- package/es/chat-engine/core/a2ui/processor/PathResolver.js.map +1 -0
- package/es/chat-engine/core/a2ui/types/index.d.ts +4 -0
- package/es/chat-engine/core/a2ui/types/index.js +9 -0
- package/es/chat-engine/core/a2ui/types/index.js.map +1 -0
- package/es/chat-engine/core/a2ui/types/types.d.ts +770 -0
- package/es/chat-engine/core/a2ui/types/types.js +104 -0
- package/es/chat-engine/core/a2ui/types/types.js.map +1 -0
- package/es/chat-engine/core/a2ui/utils/binding.d.ts +34 -0
- package/es/chat-engine/core/a2ui/utils/binding.js +1784 -0
- package/es/chat-engine/core/a2ui/utils/binding.js.map +1 -0
- package/es/chat-engine/core/a2ui/utils/index.d.ts +5 -0
- package/es/chat-engine/core/a2ui/utils/index.js +13 -0
- package/es/chat-engine/core/a2ui/utils/index.js.map +1 -0
- package/es/chat-engine/core/a2ui/utils/validation.d.ts +70 -0
- package/es/chat-engine/core/a2ui/utils/validation.js +333 -0
- package/es/chat-engine/core/a2ui/utils/validation.js.map +1 -0
- package/es/chat-engine/core/adapters/a2ui/index.d.ts +10 -0
- package/es/chat-engine/core/adapters/a2ui/index.js +24 -0
- package/es/chat-engine/core/adapters/a2ui/index.js.map +1 -0
- package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.d.ts +197 -0
- package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.js +438 -0
- package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.js.map +1 -0
- package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.d.ts +53 -0
- package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.js +158 -0
- package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.js.map +1 -0
- package/es/chat-engine/core/adapters/a2ui/processor/DataStore.d.ts +63 -0
- package/es/chat-engine/core/adapters/a2ui/processor/DataStore.js +172 -0
- package/es/chat-engine/core/adapters/a2ui/processor/DataStore.js.map +1 -0
- package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.d.ts +47 -0
- package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.js +99 -0
- package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.js.map +1 -0
- package/es/chat-engine/core/adapters/a2ui/types/index.d.ts +4 -0
- package/es/chat-engine/core/adapters/a2ui/types/index.js +9 -0
- package/es/chat-engine/core/adapters/a2ui/types/index.js.map +1 -0
- package/es/chat-engine/core/adapters/a2ui/types/types.d.ts +770 -0
- package/es/chat-engine/core/adapters/a2ui/types/types.js +104 -0
- package/es/chat-engine/core/adapters/a2ui/types/types.js.map +1 -0
- package/es/chat-engine/core/adapters/a2ui/utils/binding.d.ts +34 -0
- package/es/chat-engine/core/adapters/a2ui/utils/binding.js +1784 -0
- package/es/chat-engine/core/adapters/a2ui/utils/binding.js.map +1 -0
- package/es/chat-engine/core/adapters/a2ui/utils/index.d.ts +5 -0
- package/es/chat-engine/core/adapters/a2ui/utils/index.js +13 -0
- package/es/chat-engine/core/adapters/a2ui/utils/index.js.map +1 -0
- package/es/chat-engine/core/adapters/a2ui/utils/validation.d.ts +70 -0
- package/es/chat-engine/core/adapters/a2ui/utils/validation.js +333 -0
- package/es/chat-engine/core/adapters/a2ui/utils/validation.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/ActivityManager.d.ts +93 -0
- package/es/chat-engine/core/adapters/agui/ActivityManager.js +148 -0
- package/es/chat-engine/core/adapters/agui/ActivityManager.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/StateManager.d.ts +99 -0
- package/es/chat-engine/core/adapters/agui/StateManager.js +172 -0
- package/es/chat-engine/core/adapters/agui/StateManager.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/activity-manager.d.ts +102 -0
- package/es/chat-engine/core/adapters/agui/activity-manager.js +150 -0
- package/es/chat-engine/core/adapters/agui/activity-manager.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/event-mapper.d.ts +42 -2
- package/es/chat-engine/core/adapters/agui/event-mapper.js +94 -52
- package/es/chat-engine/core/adapters/agui/event-mapper.js.map +1 -1
- package/es/chat-engine/core/adapters/agui/events.d.ts +222 -222
- package/es/chat-engine/core/adapters/agui/events.js +34 -34
- package/es/chat-engine/core/adapters/agui/events.js.map +1 -1
- package/es/chat-engine/core/adapters/agui/index.d.ts +21 -4
- package/es/chat-engine/core/adapters/agui/index.js +48 -23
- package/es/chat-engine/core/adapters/agui/index.js.map +1 -1
- package/es/chat-engine/core/adapters/agui/state-manager.js +7 -1
- package/es/chat-engine/core/adapters/agui/state-manager.js.map +1 -1
- package/es/chat-engine/core/adapters/agui/types/events.d.ts +1570 -0
- package/es/chat-engine/core/adapters/agui/types/events.js +15 -0
- package/es/chat-engine/core/adapters/agui/types/events.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/types/index.d.ts +854 -0
- package/es/chat-engine/core/adapters/agui/types/index.js +279 -0
- package/es/chat-engine/core/adapters/agui/types/index.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/types.d.ts +57 -56
- package/es/chat-engine/core/adapters/agui/types.js +5 -5
- package/es/chat-engine/core/adapters/agui/types.js.map +1 -1
- package/es/chat-engine/core/adapters/agui/utils.d.ts +9 -3
- package/es/chat-engine/core/adapters/agui/utils.js +23 -4
- package/es/chat-engine/core/adapters/agui/utils.js.map +1 -1
- package/es/chat-engine/core/adapters/index.d.ts +5 -0
- package/es/chat-engine/core/adapters/index.js +34 -0
- package/es/chat-engine/core/adapters/index.js.map +1 -0
- package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.d.ts +114 -0
- package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.js +194 -0
- package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.js.map +1 -0
- package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.d.ts +49 -0
- package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.js +307 -0
- package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.js.map +1 -0
- package/es/chat-engine/core/adapters/json-render/engine.d.ts +58 -0
- package/es/chat-engine/core/adapters/json-render/engine.js +88 -0
- package/es/chat-engine/core/adapters/json-render/engine.js.map +1 -0
- package/es/chat-engine/core/adapters/json-render/index.d.ts +8 -0
- package/es/chat-engine/core/adapters/json-render/index.js +18 -0
- package/es/chat-engine/core/adapters/json-render/index.js.map +1 -0
- package/es/chat-engine/core/adapters/json-render/types/a2ui.d.ts +96 -0
- package/es/chat-engine/core/adapters/json-render/types/a2ui.js +7 -0
- package/es/chat-engine/core/adapters/json-render/types/a2ui.js.map +1 -0
- package/es/chat-engine/core/adapters/json-render/types/core.d.ts +49 -0
- package/es/chat-engine/core/adapters/json-render/types/core.js +7 -0
- package/es/chat-engine/core/adapters/json-render/types/core.js.map +1 -0
- package/es/chat-engine/core/adapters/json-render/types/index.d.ts +5 -0
- package/es/chat-engine/core/adapters/json-render/types/index.js +9 -0
- package/es/chat-engine/core/adapters/json-render/types/index.js.map +1 -0
- package/es/chat-engine/core/event-bus/ChatEventBus.d.ts +88 -0
- package/es/chat-engine/core/event-bus/ChatEventBus.js +295 -0
- package/es/chat-engine/core/event-bus/ChatEventBus.js.map +1 -0
- package/es/chat-engine/core/event-bus/index.d.ts +5 -0
- package/es/chat-engine/core/event-bus/index.js +13 -0
- package/es/chat-engine/core/event-bus/index.js.map +1 -0
- package/es/chat-engine/core/event-bus/types.d.ts +230 -0
- package/es/chat-engine/core/event-bus/types.js +32 -0
- package/es/chat-engine/core/event-bus/types.js.map +1 -0
- package/es/chat-engine/core/index.d.ts +17 -2
- package/es/chat-engine/core/index.js +185 -22
- package/es/chat-engine/core/index.js.map +1 -1
- package/es/chat-engine/core/processor/index.js +1 -1
- package/es/chat-engine/core/server/batch-client.js +1 -1
- package/es/chat-engine/core/server/connection-manager.js +1 -1
- package/es/chat-engine/core/server/errors.js +1 -1
- package/es/chat-engine/core/server/index.js +1 -1
- package/es/chat-engine/core/server/llm-service.js +4 -2
- package/es/chat-engine/core/server/llm-service.js.map +1 -1
- package/es/chat-engine/core/server/sse-client.js +1 -1
- package/es/chat-engine/core/server/sse-parser.js +1 -1
- package/es/chat-engine/core/server/types.js +1 -1
- package/es/chat-engine/core/store/message.js +6 -2
- package/es/chat-engine/core/store/message.js.map +1 -1
- package/es/chat-engine/core/store/model.js +2 -1
- package/es/chat-engine/core/store/model.js.map +1 -1
- package/es/chat-engine/core/store/reactiveState.d.ts +4 -0
- package/es/chat-engine/core/store/reactiveState.js +15 -1235
- package/es/chat-engine/core/store/reactiveState.js.map +1 -1
- package/es/chat-engine/core/type.d.ts +25 -1
- package/es/chat-engine/core/type.js +1 -1
- package/es/chat-engine/core/utils/eventEmitter.js +1 -1
- package/es/chat-engine/core/utils/immutable-patch.d.ts +61 -0
- package/es/chat-engine/core/utils/immutable-patch.js +147 -0
- package/es/chat-engine/core/utils/immutable-patch.js.map +1 -0
- package/es/chat-engine/core/utils/index.d.ts +7 -2
- package/es/chat-engine/core/utils/index.js +9 -883
- package/es/chat-engine/core/utils/index.js.map +1 -1
- package/es/chat-engine/core/utils/json-patch/helpers.d.ts +41 -0
- package/es/chat-engine/core/utils/json-patch/helpers.js +164 -0
- package/es/chat-engine/core/utils/json-patch/helpers.js.map +1 -0
- package/es/chat-engine/core/utils/json-patch/index.d.ts +115 -0
- package/es/chat-engine/core/utils/json-patch/index.js +387 -0
- package/es/chat-engine/core/utils/json-patch/index.js.map +1 -0
- package/es/chat-engine/core/utils/logger.js +1 -1
- package/es/chat-engine/core/utils/performance.d.ts +94 -0
- package/es/chat-engine/core/utils/performance.js +205 -0
- package/es/chat-engine/core/utils/performance.js.map +1 -0
- package/es/chat-engine/hooks/a2ui/A2UIContext.d.ts +90 -0
- package/es/chat-engine/hooks/a2ui/A2UIContext.js +97 -0
- package/es/chat-engine/hooks/a2ui/A2UIContext.js.map +1 -0
- package/es/chat-engine/hooks/a2ui/index.d.ts +12 -0
- package/es/chat-engine/hooks/a2ui/index.js +19 -0
- package/es/chat-engine/hooks/a2ui/index.js.map +1 -0
- package/es/chat-engine/hooks/a2ui/useA2UIAction.d.ts +40 -0
- package/es/chat-engine/hooks/a2ui/useA2UIAction.js +74 -0
- package/es/chat-engine/hooks/a2ui/useA2UIAction.js.map +1 -0
- package/es/chat-engine/hooks/a2ui/useA2UISurface.d.ts +36 -0
- package/es/chat-engine/hooks/a2ui/useA2UISurface.js +39 -0
- package/es/chat-engine/hooks/a2ui/useA2UISurface.js.map +1 -0
- package/es/chat-engine/hooks/a2ui/useDataBinding.d.ts +53 -0
- package/es/chat-engine/hooks/a2ui/useDataBinding.js +111 -0
- package/es/chat-engine/hooks/a2ui/useDataBinding.js.map +1 -0
- package/es/chat-engine/hooks/index.js +8 -1
- package/es/chat-engine/hooks/index.js.map +1 -1
- package/es/chat-engine/hooks/useAgentActivity.d.ts +1 -2
- package/es/chat-engine/hooks/useAgentActivity.js +10 -2
- package/es/chat-engine/hooks/useAgentActivity.js.map +1 -1
- package/es/chat-engine/hooks/useAgentState.js +1 -1
- package/es/chat-engine/hooks/useAgentState.js.map +1 -1
- package/es/chat-engine/hooks/useAgentToolcall.js +10 -2
- package/es/chat-engine/hooks/useAgentToolcall.js.map +1 -1
- package/es/chat-engine/hooks/useChat.d.ts +1 -1
- package/es/chat-engine/hooks/useChat.js +3 -3
- package/es/chat-engine/hooks/useChat.js.map +1 -1
- package/es/chat-engine/hooks/useJsonRenderActivity.d.ts +56 -0
- package/es/chat-engine/hooks/useJsonRenderActivity.js +63 -0
- package/es/chat-engine/hooks/useJsonRenderActivity.js.map +1 -0
- package/es/chat-engine/index.d.ts +2 -4
- package/es/chat-engine/index.js +14 -34
- package/es/chat-engine/index.js.map +1 -1
- package/es/chat-filecard/index.js +1 -1
- package/es/chat-loading/index.js +1 -1
- package/es/chat-markdown/index.js +1 -1
- package/es/chat-message/index.js +1 -1
- package/es/chat-sender/index.js +1 -1
- package/es/chat-thinking/index.js +1 -1
- package/es/chatbot/docs/react-best-practice.d.ts +13 -0
- package/es/chatbot/index.js +1 -1
- package/es/index.js +13 -31
- package/es/index.js.map +1 -1
- package/es/style/index.js +1 -1
- package/package.json +10 -5
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* tdesign v1.0
|
|
2
|
+
* tdesign v1.1.0-alpha.11
|
|
3
3
|
* (c) 2026 tdesign
|
|
4
4
|
* @license MIT
|
|
5
5
|
*/
|
|
@@ -8,18 +8,21 @@ import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
|
8
8
|
import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
|
|
9
9
|
import _createClass from '@babel/runtime/helpers/createClass';
|
|
10
10
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
11
|
-
import { isTextMessageEvent, isThinkingEvent, isToolCallEvent, isActivityEvent, isStateEvent,
|
|
12
|
-
import { stateManager } from './
|
|
13
|
-
import {
|
|
11
|
+
import { isTextMessageEvent, isThinkingEvent, isToolCallEvent, isActivityEvent, isStateEvent, AGUIEventType } from './types/index.js';
|
|
12
|
+
import { stateManager } from './StateManager.js';
|
|
13
|
+
import { activityManager } from './ActivityManager.js';
|
|
14
14
|
import { parseSSEData, createMarkdownContent, createActivityContent, createTextContent, handleCustomEvent, handleMessagesSnapshot, createReasoningContent, addToReasoningData, createThinkingContent, mergeStringContent, updateReasoningData, createToolCallContent, updateToolCall, handleSuggestionToolCall } from './utils.js';
|
|
15
15
|
import 'zod';
|
|
16
|
-
import './types.js';
|
|
17
16
|
import '@babel/runtime/helpers/possibleConstructorReturn';
|
|
18
17
|
import '@babel/runtime/helpers/getPrototypeOf';
|
|
19
18
|
import '@babel/runtime/helpers/inherits';
|
|
20
19
|
import '@babel/runtime/helpers/wrapNativeSuper';
|
|
21
20
|
import '@babel/runtime/helpers/slicedToArray';
|
|
22
21
|
import '@babel/runtime/helpers/typeof';
|
|
22
|
+
import '../../utils/index.js';
|
|
23
|
+
import '../../utils/immutable-patch.js';
|
|
24
|
+
import '@babel/runtime/helpers/objectWithoutProperties';
|
|
25
|
+
import '@babel/runtime/helpers/toArray';
|
|
23
26
|
|
|
24
27
|
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; }
|
|
25
28
|
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; }
|
|
@@ -28,14 +31,21 @@ var AGUIEventMapper = /*#__PURE__*/function () {
|
|
|
28
31
|
_classCallCheck(this, AGUIEventMapper);
|
|
29
32
|
_defineProperty(this, "toolCallMap", {});
|
|
30
33
|
_defineProperty(this, "toolCallEnded", /* @__PURE__ */new Set());
|
|
31
|
-
_defineProperty(this, "currentActivity", null);
|
|
32
34
|
_defineProperty(this, "reasoningContext", {
|
|
33
35
|
active: false,
|
|
34
36
|
currentData: [],
|
|
35
37
|
currentDataIndex: 0
|
|
36
38
|
});
|
|
39
|
+
_defineProperty(this, "currentTextMessageId", null);
|
|
40
|
+
_defineProperty(this, "currentTextMessageRole", null);
|
|
41
|
+
_defineProperty(this, "toolCallChunkStarted", /* @__PURE__ */new Set());
|
|
37
42
|
}
|
|
38
43
|
return _createClass(AGUIEventMapper, [{
|
|
44
|
+
key: "activityManager",
|
|
45
|
+
get: function get() {
|
|
46
|
+
return activityManager;
|
|
47
|
+
}
|
|
48
|
+
}, {
|
|
39
49
|
key: "mapEvent",
|
|
40
50
|
value: function mapEvent(chunk) {
|
|
41
51
|
var event = parseSSEData(chunk.data);
|
|
@@ -67,6 +77,7 @@ var AGUIEventMapper = /*#__PURE__*/function () {
|
|
|
67
77
|
value: function clearToolCall(toolCallId) {
|
|
68
78
|
delete this.toolCallMap[toolCallId];
|
|
69
79
|
this.toolCallEnded["delete"](toolCallId);
|
|
80
|
+
this.toolCallChunkStarted["delete"](toolCallId);
|
|
70
81
|
}
|
|
71
82
|
}, {
|
|
72
83
|
key: "getToolCall",
|
|
@@ -83,36 +94,55 @@ var AGUIEventMapper = /*#__PURE__*/function () {
|
|
|
83
94
|
value: function reset() {
|
|
84
95
|
this.toolCallMap = {};
|
|
85
96
|
this.toolCallEnded.clear();
|
|
86
|
-
this.currentActivity = null;
|
|
87
97
|
this.resetReasoningContext();
|
|
98
|
+
this.currentTextMessageId = null;
|
|
99
|
+
this.currentTextMessageRole = null;
|
|
100
|
+
this.toolCallChunkStarted.clear();
|
|
101
|
+
activityManager.clear();
|
|
88
102
|
}
|
|
89
103
|
}, {
|
|
90
104
|
key: "handleTextMessageEvent",
|
|
91
105
|
value: function handleTextMessageEvent(event) {
|
|
92
106
|
switch (event.type) {
|
|
93
|
-
case
|
|
107
|
+
case AGUIEventType.TEXT_MESSAGE_START:
|
|
108
|
+
this.currentTextMessageId = event.messageId || null;
|
|
94
109
|
return createMarkdownContent("", "streaming", "append");
|
|
95
|
-
case
|
|
96
|
-
|
|
97
|
-
case
|
|
98
|
-
return createMarkdownContent(event.delta || "",
|
|
110
|
+
case AGUIEventType.TEXT_MESSAGE_CHUNK:
|
|
111
|
+
return this.handleTextMessageChunk(event);
|
|
112
|
+
case AGUIEventType.TEXT_MESSAGE_CONTENT:
|
|
113
|
+
return createMarkdownContent(event.delta || "", "streaming", "merge");
|
|
114
|
+
case AGUIEventType.TEXT_MESSAGE_END:
|
|
115
|
+
this.currentTextMessageId = null;
|
|
116
|
+
return createMarkdownContent(event.delta || "", "complete", "merge");
|
|
99
117
|
default:
|
|
100
118
|
return null;
|
|
101
119
|
}
|
|
102
120
|
}
|
|
121
|
+
}, {
|
|
122
|
+
key: "handleTextMessageChunk",
|
|
123
|
+
value: function handleTextMessageChunk(event) {
|
|
124
|
+
var messageId = event.messageId || "default";
|
|
125
|
+
var role = (event === null || event === void 0 ? void 0 : event.role) || "assistant";
|
|
126
|
+
if (this.currentTextMessageId !== messageId) {
|
|
127
|
+
this.currentTextMessageId = messageId;
|
|
128
|
+
this.currentTextMessageRole = role;
|
|
129
|
+
return createMarkdownContent(event.delta || "", "streaming", "append", role);
|
|
130
|
+
}
|
|
131
|
+
return createMarkdownContent(event.delta || "", "streaming", "merge", this.currentTextMessageRole || role);
|
|
132
|
+
}
|
|
103
133
|
}, {
|
|
104
134
|
key: "handleThinkingEvent",
|
|
105
135
|
value: function handleThinkingEvent(event) {
|
|
106
136
|
switch (event.type) {
|
|
107
|
-
case
|
|
137
|
+
case AGUIEventType.THINKING_START:
|
|
108
138
|
return this.handleThinkingStart();
|
|
109
|
-
case
|
|
139
|
+
case AGUIEventType.THINKING_TEXT_MESSAGE_START:
|
|
110
140
|
return this.handleThinkingTextStart(event);
|
|
111
|
-
case
|
|
141
|
+
case AGUIEventType.THINKING_TEXT_MESSAGE_CONTENT:
|
|
112
142
|
return this.handleThinkingTextContent(event);
|
|
113
|
-
case
|
|
143
|
+
case AGUIEventType.THINKING_TEXT_MESSAGE_END:
|
|
114
144
|
return this.handleThinkingTextEnd(event);
|
|
115
|
-
case
|
|
145
|
+
case AGUIEventType.THINKING_END:
|
|
116
146
|
return this.handleThinkingEnd();
|
|
117
147
|
default:
|
|
118
148
|
return null;
|
|
@@ -122,15 +152,15 @@ var AGUIEventMapper = /*#__PURE__*/function () {
|
|
|
122
152
|
key: "handleToolCallEvent",
|
|
123
153
|
value: function handleToolCallEvent(event) {
|
|
124
154
|
switch (event.type) {
|
|
125
|
-
case
|
|
155
|
+
case AGUIEventType.TOOL_CALL_START:
|
|
126
156
|
return this.handleToolCallStart(event);
|
|
127
|
-
case
|
|
157
|
+
case AGUIEventType.TOOL_CALL_ARGS:
|
|
128
158
|
return this.handleToolCallArgs(event);
|
|
129
|
-
case
|
|
159
|
+
case AGUIEventType.TOOL_CALL_CHUNK:
|
|
130
160
|
return this.handleToolCallChunk(event);
|
|
131
|
-
case
|
|
161
|
+
case AGUIEventType.TOOL_CALL_RESULT:
|
|
132
162
|
return this.handleToolCallResult(event);
|
|
133
|
-
case
|
|
163
|
+
case AGUIEventType.TOOL_CALL_END:
|
|
134
164
|
return this.handleToolCallEnd(event);
|
|
135
165
|
default:
|
|
136
166
|
return null;
|
|
@@ -139,26 +169,14 @@ var AGUIEventMapper = /*#__PURE__*/function () {
|
|
|
139
169
|
}, {
|
|
140
170
|
key: "handleActivityEvent",
|
|
141
171
|
value: function handleActivityEvent(event) {
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
content: event.content
|
|
147
|
-
};
|
|
148
|
-
return createActivityContent(this.currentActivity.activityType, this.currentActivity.content, "streaming", "append");
|
|
149
|
-
case EventType.ACTIVITY_DELTA:
|
|
150
|
-
if (this.currentActivity) {
|
|
151
|
-
var newContent = this.currentActivity.content;
|
|
152
|
-
if (event.patch && Array.isArray(event.patch)) {
|
|
153
|
-
newContent = applyJsonPatch(this.currentActivity.content, event.patch);
|
|
154
|
-
}
|
|
155
|
-
this.currentActivity.content = newContent;
|
|
156
|
-
return createActivityContent(this.currentActivity.activityType, this.currentActivity.content, "streaming", "merge");
|
|
157
|
-
}
|
|
158
|
-
return null;
|
|
159
|
-
default:
|
|
160
|
-
return null;
|
|
172
|
+
var activityType = event.activityType || "unknown";
|
|
173
|
+
var activityData = activityManager.handleActivityEvent(event);
|
|
174
|
+
if (!activityData) {
|
|
175
|
+
return null;
|
|
161
176
|
}
|
|
177
|
+
var isSnapshot = event.type === AGUIEventType.ACTIVITY_SNAPSHOT;
|
|
178
|
+
var isFirstDelta = event.type === AGUIEventType.ACTIVITY_DELTA && !activityManager.getActivity(activityType);
|
|
179
|
+
return createActivityContent(activityType, activityData.content, "streaming", isSnapshot || isFirstDelta ? "append" : "merge", activityData.deltaInfo);
|
|
162
180
|
}
|
|
163
181
|
}, {
|
|
164
182
|
key: "handleStateEvent",
|
|
@@ -170,11 +188,11 @@ var AGUIEventMapper = /*#__PURE__*/function () {
|
|
|
170
188
|
key: "handleOtherEvent",
|
|
171
189
|
value: function handleOtherEvent(event) {
|
|
172
190
|
switch (event.type) {
|
|
173
|
-
case
|
|
191
|
+
case AGUIEventType.MESSAGES_SNAPSHOT:
|
|
174
192
|
return handleMessagesSnapshot(event.messages);
|
|
175
|
-
case
|
|
193
|
+
case AGUIEventType.CUSTOM:
|
|
176
194
|
return handleCustomEvent(event);
|
|
177
|
-
case
|
|
195
|
+
case AGUIEventType.RUN_ERROR:
|
|
178
196
|
return [createTextContent(event.message || event.error || "\u7CFB\u7EDF\u672A\u77E5\u9519\u8BEF", "error")];
|
|
179
197
|
default:
|
|
180
198
|
return null;
|
|
@@ -262,6 +280,7 @@ var AGUIEventMapper = /*#__PURE__*/function () {
|
|
|
262
280
|
}, {
|
|
263
281
|
key: "handleToolCallStart",
|
|
264
282
|
value: function handleToolCallStart(event) {
|
|
283
|
+
this.toolCallChunkStarted.add(event.toolCallId);
|
|
265
284
|
this.toolCallMap[event.toolCallId] = {
|
|
266
285
|
eventType: "TOOL_CALL_START",
|
|
267
286
|
toolCallId: event.toolCallId,
|
|
@@ -294,14 +313,37 @@ var AGUIEventMapper = /*#__PURE__*/function () {
|
|
|
294
313
|
}, {
|
|
295
314
|
key: "handleToolCallChunk",
|
|
296
315
|
value: function handleToolCallChunk(event) {
|
|
297
|
-
|
|
298
|
-
var
|
|
299
|
-
|
|
300
|
-
|
|
316
|
+
var toolCallId = event.toolCallId || "auto_".concat(Date.now(), "_").concat(Math.random().toString(36).substring(2, 11));
|
|
317
|
+
var isFirstChunk = !this.toolCallChunkStarted.has(toolCallId) && !this.toolCallMap[toolCallId];
|
|
318
|
+
if (isFirstChunk) {
|
|
319
|
+
this.toolCallChunkStarted.add(toolCallId);
|
|
320
|
+
this.currentTextMessageId = null;
|
|
321
|
+
this.toolCallMap[toolCallId] = {
|
|
322
|
+
eventType: "TOOL_CALL_START",
|
|
323
|
+
toolCallId: toolCallId,
|
|
324
|
+
toolCallName: event.toolCallName || "unknown",
|
|
325
|
+
parentMessageId: event.parentMessageId || "",
|
|
326
|
+
args: event.delta || ""
|
|
327
|
+
};
|
|
328
|
+
var toolCallContent = createToolCallContent(this.toolCallMap[toolCallId], "streaming", "append");
|
|
329
|
+
if (this.reasoningContext.active) {
|
|
330
|
+
var _addToReasoningData3 = addToReasoningData(this.reasoningContext.currentData, toolCallContent),
|
|
331
|
+
data = _addToReasoningData3.data,
|
|
332
|
+
index = _addToReasoningData3.index;
|
|
333
|
+
this.reasoningContext.currentData = data;
|
|
334
|
+
this.reasoningContext.currentDataIndex = index;
|
|
335
|
+
return createReasoningContent(data, "streaming", "merge", false);
|
|
336
|
+
}
|
|
337
|
+
return toolCallContent;
|
|
338
|
+
}
|
|
339
|
+
if (!this.toolCallMap[toolCallId]) return null;
|
|
340
|
+
var currentArgs = this.toolCallMap[toolCallId].args || "";
|
|
341
|
+
var newArgs = mergeStringContent(currentArgs, event.delta || "");
|
|
342
|
+
this.toolCallMap[toolCallId] = updateToolCall(this.toolCallMap[toolCallId], {
|
|
301
343
|
eventType: "TOOL_CALL_CHUNK",
|
|
302
|
-
|
|
344
|
+
args: newArgs
|
|
303
345
|
});
|
|
304
|
-
return this.updateToolCallInContext(
|
|
346
|
+
return this.updateToolCallInContext(toolCallId, "streaming");
|
|
305
347
|
}
|
|
306
348
|
}, {
|
|
307
349
|
key: "handleToolCallResult",
|
|
@@ -310,7 +352,7 @@ var AGUIEventMapper = /*#__PURE__*/function () {
|
|
|
310
352
|
var currentResult = this.toolCallMap[event.toolCallId].result || "";
|
|
311
353
|
var newResult = mergeStringContent(currentResult, event.content || "");
|
|
312
354
|
this.toolCallMap[event.toolCallId] = updateToolCall(this.toolCallMap[event.toolCallId], {
|
|
313
|
-
eventType:
|
|
355
|
+
eventType: AGUIEventType.TOOL_CALL_RESULT,
|
|
314
356
|
result: newResult
|
|
315
357
|
});
|
|
316
358
|
var suggestionContent = handleSuggestionToolCall(this.toolCallMap[event.toolCallId]);
|
|
@@ -333,7 +375,7 @@ var AGUIEventMapper = /*#__PURE__*/function () {
|
|
|
333
375
|
this.toolCallEnded.add(event.toolCallId);
|
|
334
376
|
if (this.toolCallMap[event.toolCallId]) {
|
|
335
377
|
this.toolCallMap[event.toolCallId] = _objectSpread(_objectSpread({}, this.toolCallMap[event.toolCallId]), {}, {
|
|
336
|
-
eventType:
|
|
378
|
+
eventType: AGUIEventType.TOOL_CALL_END
|
|
337
379
|
});
|
|
338
380
|
}
|
|
339
381
|
return this.updateToolCallInContext(event.toolCallId, "complete");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-mapper.js","sources":["../../../../../../pro-components/chat/chat-engine/core/adapters/agui/event-mapper.ts"],"sourcesContent":["/* eslint-disable class-methods-use-this */\nimport type { AIMessageContent, SSEChunkData, ToolCall } from '../../type';\nimport {\n EventType,\n isActivityEvent,\n isStateEvent,\n isTextMessageEvent,\n isThinkingEvent,\n isToolCallEvent,\n} from './events';\nimport { stateManager } from './state-manager';\nimport { applyJsonPatch } from '../../utils';\nimport {\n addToReasoningData,\n createActivityContent,\n createMarkdownContent,\n createReasoningContent,\n createTextContent,\n createThinkingContent,\n createToolCallContent,\n handleCustomEvent,\n handleMessagesSnapshot,\n handleSuggestionToolCall,\n mergeStringContent,\n parseSSEData,\n updateReasoningData,\n updateToolCall,\n} from './utils';\n\n/**\n * AGUIEventMapper\n * 将AG-UI协议事件(SSEChunkData)转换为AIContentChunkUpdate\n * 支持多轮对话、增量文本、工具调用、思考、状态快照、消息快照等基础事件\n * 同时提供状态变更和步骤生命周期事件的分发机制\n */\nexport class AGUIEventMapper {\n private toolCallMap: Record<string, ToolCall> = {};\n\n private toolCallEnded: Set<string> = new Set(); // 记录已经TOOL_CALL_END的工具调用\n\n private currentActivity: {\n activityType: string;\n content: Record<string, any>;\n } | null = null;\n\n // Reasoning 上下文状态管理\n private reasoningContext: {\n active: boolean;\n currentData: AIMessageContent[];\n currentDataIndex: number;\n } = {\n active: false,\n currentData: [],\n currentDataIndex: 0,\n };\n\n /**\n * 主入口:将SSE事件转换为AIContentChunkUpdate\n *\n * @param chunk SSE数据块,其中data字段可能是字符串(需要解析)或已解析的对象\n */\n mapEvent(chunk: SSEChunkData): AIMessageContent | AIMessageContent[] | null {\n // 处理data字段,可能是字符串或已解析的对象\n const event = parseSSEData(chunk.data);\n\n if (!event?.type) return null;\n\n // 根据事件类型分发到不同的处理函数\n if (isTextMessageEvent(event.type)) {\n return this.handleTextMessageEvent(event);\n }\n\n if (isThinkingEvent(event.type)) {\n return this.handleThinkingEvent(event);\n }\n\n if (isToolCallEvent(event.type)) {\n return this.handleToolCallEvent(event);\n }\n\n if (isActivityEvent(event.type)) {\n return this.handleActivityEvent(event);\n }\n\n if (isStateEvent(event.type)) {\n return this.handleStateEvent(event);\n }\n\n // 处理其他事件类型\n return this.handleOtherEvent(event);\n }\n\n /**\n * 获取当前所有工具调用\n */\n getToolCalls(): ToolCall[] {\n return Object.values(this.toolCallMap);\n }\n\n /**\n * 清除指定工具调用\n */\n clearToolCall(toolCallId: string): void {\n delete this.toolCallMap[toolCallId];\n this.toolCallEnded.delete(toolCallId);\n }\n\n /**\n * 获取指定工具调用\n */\n getToolCall(toolCallId: string): ToolCall | undefined {\n return this.toolCallMap[toolCallId];\n }\n\n /**\n * 检查工具调用是否已结束\n */\n isToolCallEnded(toolCallId: string): boolean {\n return this.toolCallEnded.has(toolCallId);\n }\n\n reset() {\n this.toolCallMap = {};\n this.toolCallEnded.clear();\n this.currentActivity = null;\n this.resetReasoningContext();\n }\n\n /**\n * 处理文本消息事件\n */\n private handleTextMessageEvent(event: any): AIMessageContent | null {\n switch (event.type) {\n case EventType.TEXT_MESSAGE_START:\n return createMarkdownContent('', 'streaming', 'append');\n case EventType.TEXT_MESSAGE_CHUNK:\n case EventType.TEXT_MESSAGE_CONTENT:\n case EventType.TEXT_MESSAGE_END:\n return createMarkdownContent(\n event.delta || '',\n event.type === EventType.TEXT_MESSAGE_END ? 'complete' : 'streaming',\n 'merge',\n );\n default:\n return null;\n }\n }\n\n /**\n * 处理思考事件\n */\n private handleThinkingEvent(event: any): AIMessageContent | null {\n switch (event.type) {\n case EventType.THINKING_START:\n return this.handleThinkingStart();\n case EventType.THINKING_TEXT_MESSAGE_START:\n return this.handleThinkingTextStart(event);\n case EventType.THINKING_TEXT_MESSAGE_CONTENT:\n return this.handleThinkingTextContent(event);\n case EventType.THINKING_TEXT_MESSAGE_END:\n return this.handleThinkingTextEnd(event);\n case EventType.THINKING_END:\n return this.handleThinkingEnd();\n default:\n return null;\n }\n }\n\n /**\n * 处理工具调用事件\n */\n private handleToolCallEvent(event: any): AIMessageContent | null {\n switch (event.type) {\n case EventType.TOOL_CALL_START:\n return this.handleToolCallStart(event);\n case EventType.TOOL_CALL_ARGS:\n return this.handleToolCallArgs(event);\n case EventType.TOOL_CALL_CHUNK:\n return this.handleToolCallChunk(event);\n case EventType.TOOL_CALL_RESULT:\n return this.handleToolCallResult(event);\n case EventType.TOOL_CALL_END:\n return this.handleToolCallEnd(event);\n default:\n return null;\n }\n }\n\n /**\n * 处理活动事件\n */\n private handleActivityEvent(event: any): AIMessageContent | null {\n switch (event.type) {\n case EventType.ACTIVITY_SNAPSHOT:\n this.currentActivity = {\n activityType: event.activityType,\n content: event.content,\n };\n return createActivityContent(\n this.currentActivity.activityType,\n this.currentActivity.content,\n 'streaming',\n 'append',\n );\n\n case EventType.ACTIVITY_DELTA:\n if (this.currentActivity) {\n let newContent = this.currentActivity.content;\n\n // 优先使用 patch 字段进行 JSON Patch 更新\n if (event.patch && Array.isArray(event.patch)) {\n newContent = applyJsonPatch(this.currentActivity.content, event.patch);\n }\n\n this.currentActivity.content = newContent;\n\n return createActivityContent(\n this.currentActivity.activityType,\n this.currentActivity.content,\n 'streaming',\n 'merge',\n );\n }\n return null;\n\n default:\n return null;\n }\n }\n\n /**\n * 处理状态事件\n */\n private handleStateEvent(event: any): null {\n stateManager.handleStateEvent(event);\n return null; // 让业务层通过useStateSubscription订阅状态变化\n }\n\n /**\n * 处理其他事件\n */\n private handleOtherEvent(event: any): AIMessageContent | AIMessageContent[] | null {\n switch (event.type) {\n case EventType.MESSAGES_SNAPSHOT:\n return handleMessagesSnapshot(event.messages);\n case EventType.CUSTOM:\n return handleCustomEvent(event);\n case EventType.RUN_ERROR:\n return [createTextContent(event.message || event.error || '系统未知错误', 'error')];\n default:\n return null;\n }\n }\n\n /**\n * 处理思考开始事件\n */\n private handleThinkingStart(): AIMessageContent {\n // 激活 reasoning 上下文\n this.reasoningContext.active = true;\n this.reasoningContext.currentData = [];\n this.reasoningContext.currentDataIndex = 0;\n\n return createReasoningContent([], 'streaming', 'append', false);\n }\n\n /**\n * 处理思考文本开始事件\n */\n private handleThinkingTextStart(event: any): AIMessageContent | null {\n if (this.reasoningContext.active) {\n // Reasoning 模式:添加新的 text 内容到 reasoning.data\n const newTextContent = createTextContent('', 'streaming');\n const { data, index } = addToReasoningData(this.reasoningContext.currentData, newTextContent);\n this.reasoningContext.currentData = data;\n this.reasoningContext.currentDataIndex = index;\n\n return createReasoningContent(data, 'streaming', 'merge', false);\n }\n // 独立模式:创建独立的 thinking 内容\n return createThinkingContent({ title: event.title || '思考中...' }, 'streaming', 'append', false);\n }\n\n /**\n * 处理思考文本内容事件\n */\n private handleThinkingTextContent(event: any): AIMessageContent | null {\n if (this.reasoningContext.active) {\n // Reasoning 模式:更新最后一个 text 内容\n const currentIndex = this.reasoningContext.currentDataIndex;\n if (currentIndex >= 0 && this.reasoningContext.currentData[currentIndex]) {\n const currentContent = this.reasoningContext.currentData[currentIndex];\n if (currentContent.type === 'text') {\n const currentText = currentContent.data || '';\n const newText = mergeStringContent(currentText, event.delta || '');\n const updatedContent = { ...currentContent, data: newText, status: 'streaming' };\n\n this.reasoningContext.currentData = updateReasoningData(\n this.reasoningContext.currentData,\n currentIndex,\n updatedContent,\n );\n\n return createReasoningContent(this.reasoningContext.currentData, 'streaming', 'merge', false);\n }\n }\n return null;\n }\n // 独立模式:更新独立的 thinking 内容\n return createThinkingContent({ text: event.delta }, 'streaming', 'merge', false);\n }\n\n /**\n * 处理思考文本结束事件\n */\n private handleThinkingTextEnd(event: any): AIMessageContent | null {\n if (this.reasoningContext.active) {\n // Reasoning 模式:标记最后一个 text 内容为完成\n const currentIndex = this.reasoningContext.currentDataIndex;\n if (currentIndex >= 0 && this.reasoningContext.currentData[currentIndex]) {\n const currentContent = this.reasoningContext.currentData[currentIndex];\n if (currentContent.type === 'text') {\n const updatedContent = { ...currentContent, status: 'complete' };\n this.reasoningContext.currentData = updateReasoningData(\n this.reasoningContext.currentData,\n currentIndex,\n updatedContent,\n );\n\n return createReasoningContent(this.reasoningContext.currentData, 'streaming', 'merge', false);\n }\n }\n return null;\n }\n // 独立模式:完成独立的 thinking 内容\n return createThinkingContent({ title: event.title || '思考结束' }, 'complete', 'merge', true);\n }\n\n /**\n * 处理思考结束事件\n */\n private handleThinkingEnd(): AIMessageContent | null {\n if (this.reasoningContext.active) {\n // 完成 reasoning 并重置上下文\n const finalData = [...this.reasoningContext.currentData];\n this.resetReasoningContext();\n\n return createReasoningContent(finalData, 'complete', 'merge', true);\n }\n return null;\n }\n\n /**\n * 处理工具调用开始事件\n */\n private handleToolCallStart(event: any): AIMessageContent | null {\n // 初始化工具调用\n this.toolCallMap[event.toolCallId] = {\n eventType: 'TOOL_CALL_START',\n toolCallId: event.toolCallId,\n toolCallName: event.toolCallName,\n parentMessageId: event.parentMessageId || '',\n };\n\n // 每个toocallstart都会开始一个新的内容块,使用append(添加新的工具调用,使用不同的渲染组件)\n const toolCallContent = createToolCallContent(this.toolCallMap[event.toolCallId], 'pending', 'append');\n\n if (this.reasoningContext.active) {\n // Reasoning 模式:添加 toolcall 到 reasoning.data\n const { data, index } = addToReasoningData(this.reasoningContext.currentData, toolCallContent);\n this.reasoningContext.currentData = data;\n this.reasoningContext.currentDataIndex = index;\n\n return createReasoningContent(data, 'streaming', 'merge', false);\n }\n // 独立模式:返回独立的工具调用内容块\n // 通过 type (toolcall-${toolCallName}) + strategy 来控制是否合并\n return toolCallContent;\n }\n\n /**\n * 处理工具调用参数事件\n */\n private handleToolCallArgs(event: any): AIMessageContent | null {\n if (!this.toolCallMap[event.toolCallId]) return null;\n\n const currentArgs = this.toolCallMap[event.toolCallId].args || '';\n const newArgs = mergeStringContent(currentArgs, event.delta || '');\n\n // 更新内部ToolCall对象\n this.toolCallMap[event.toolCallId] = updateToolCall(this.toolCallMap[event.toolCallId], {\n eventType: 'TOOL_CALL_ARGS',\n args: newArgs,\n });\n\n return this.updateToolCallInContext(event.toolCallId, 'streaming');\n }\n\n /**\n * 处理工具调用块事件\n */\n private handleToolCallChunk(event: any): AIMessageContent | null {\n if (!this.toolCallMap[event.toolCallId]) return null;\n\n const currentChunk = this.toolCallMap[event.toolCallId].chunk || '';\n const newChunk = mergeStringContent(currentChunk, event.delta || '');\n\n // 更新内部ToolCall对象\n this.toolCallMap[event.toolCallId] = updateToolCall(this.toolCallMap[event.toolCallId], {\n eventType: 'TOOL_CALL_CHUNK',\n chunk: newChunk,\n });\n\n return this.updateToolCallInContext(event.toolCallId, 'streaming');\n }\n\n /**\n * 处理工具调用结果事件\n */\n private handleToolCallResult(event: any): AIMessageContent | null {\n if (!this.toolCallMap[event.toolCallId]) return null;\n\n const currentResult = this.toolCallMap[event.toolCallId].result || '';\n const newResult = mergeStringContent(currentResult, event.content || '');\n\n // 更新内部ToolCall对象\n this.toolCallMap[event.toolCallId] = updateToolCall(this.toolCallMap[event.toolCallId], {\n eventType: EventType.TOOL_CALL_RESULT,\n result: newResult,\n });\n\n // 处理 suggestion 特殊情况\n const suggestionContent = handleSuggestionToolCall(this.toolCallMap[event.toolCallId]);\n if (suggestionContent) {\n if (this.reasoningContext.active) {\n // Reasoning 模式:替换最后一个 toolcall 为 suggestion\n const currentIndex = this.reasoningContext.currentDataIndex;\n if (currentIndex >= 0 && this.reasoningContext.currentData[currentIndex]) {\n this.reasoningContext.currentData = updateReasoningData(\n this.reasoningContext.currentData,\n currentIndex,\n suggestionContent,\n );\n\n return createReasoningContent(this.reasoningContext.currentData, 'streaming', 'merge', false);\n }\n } else {\n // 独立模式:返回 suggestion\n return suggestionContent;\n }\n }\n\n return this.updateToolCallInContext(event.toolCallId, 'complete');\n }\n\n /**\n * 处理工具调用结束事件\n */\n private handleToolCallEnd(event: any) {\n // 标记工具调用结束\n this.toolCallEnded.add(event.toolCallId);\n \n // 更新 toolCallMap 中的 eventType\n if (this.toolCallMap[event.toolCallId]) {\n this.toolCallMap[event.toolCallId] = {\n ...this.toolCallMap[event.toolCallId],\n eventType: EventType.TOOL_CALL_END,\n };\n }\n \n return this.updateToolCallInContext(event.toolCallId, 'complete');\n }\n\n /**\n * 在上下文中更新工具调用\n */\n private updateToolCallInContext(toolCallId: string, status: 'streaming' | 'complete'): AIMessageContent | null {\n if (this.reasoningContext.active) {\n // Reasoning 模式:更新 reasoning.data 中的 toolcall\n const currentIndex = this.reasoningContext.currentDataIndex;\n if (currentIndex >= 0 && this.reasoningContext.currentData[currentIndex]) {\n const currentContent = this.reasoningContext.currentData[currentIndex];\n const currentType = currentContent.type;\n\n // 检查 type 是否匹配(toolcall-${toolCallName})\n if (currentType.startsWith('toolcall')) {\n const updatedContent = {\n ...currentContent,\n data: this.toolCallMap[toolCallId],\n status,\n };\n\n this.reasoningContext.currentData = updateReasoningData(\n this.reasoningContext.currentData,\n currentIndex,\n updatedContent,\n );\n\n return createReasoningContent(this.reasoningContext.currentData, 'streaming', 'merge', false);\n }\n }\n return null;\n }\n // 独立模式:返回独立的 toolcall 更新\n // 通过相同的 type (toolcall-${toolCallName}) 来实现 merge\n return createToolCallContent(this.toolCallMap[toolCallId], status, 'merge');\n }\n\n /**\n * 重置 reasoning 上下文\n */\n private resetReasoningContext(): void {\n this.reasoningContext = {\n active: false,\n currentData: [],\n currentDataIndex: 0,\n };\n }\n}\n\nexport default AGUIEventMapper;\n"],"names":["AGUIEventMapper","_classCallCheck","_defineProperty","Set","active","currentData","currentDataIndex","_createClass","key","value","mapEvent","chunk","event","parseSSEData","data","type","isTextMessageEvent","handleTextMessageEvent","isThinkingEvent","handleThinkingEvent","isToolCallEvent","handleToolCallEvent","isActivityEvent","handleActivityEvent","isStateEvent","handleStateEvent","handleOtherEvent","getToolCalls","Object","values","toolCallMap","clearToolCall","toolCallId","toolCallEnded","getToolCall","isToolCallEnded","has","reset","clear","currentActivity","resetReasoningContext","EventType","TEXT_MESSAGE_START","createMarkdownContent","TEXT_MESSAGE_CHUNK","TEXT_MESSAGE_CONTENT","TEXT_MESSAGE_END","delta","THINKING_START","handleThinkingStart","THINKING_TEXT_MESSAGE_START","handleThinkingTextStart","THINKING_TEXT_MESSAGE_CONTENT","handleThinkingTextContent","THINKING_TEXT_MESSAGE_END","handleThinkingTextEnd","THINKING_END","handleThinkingEnd","TOOL_CALL_START","handleToolCallStart","TOOL_CALL_ARGS","handleToolCallArgs","TOOL_CALL_CHUNK","handleToolCallChunk","TOOL_CALL_RESULT","handleToolCallResult","TOOL_CALL_END","handleToolCallEnd","ACTIVITY_SNAPSHOT","activityType","content","createActivityContent","ACTIVITY_DELTA","newContent","patch","Array","isArray","applyJsonPatch","stateManager","MESSAGES_SNAPSHOT","handleMessagesSnapshot","messages","CUSTOM","handleCustomEvent","RUN_ERROR","createTextContent","message","error","reasoningContext","createReasoningContent","newTextContent","_addToReasoningData","addToReasoningData","index","createThinkingContent","title","currentIndex","currentContent","currentText","newText","mergeStringContent","updatedContent","status","updateReasoningData","text","_objectSpread","finalData","_toConsumableArray","eventType","toolCallName","parentMessageId","toolCallContent","createToolCallContent","_addToReasoningData2","currentArgs","args","newArgs","updateToolCall","updateToolCallInContext","currentChunk","newChunk","currentResult","result","newResult","suggestionContent","handleSuggestionToolCall","add","currentType","startsWith"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAmCO,IAAMA,eAAgB,gBAAA,YAAA;AAAA,EAAA,SAAAA,eAAA,GAAA;AAAAC,IAAAA,eAAA,OAAAD,eAAA,CAAA,CAAA;IAAAE,eAAA,CAAA,IAAA,EAAA,aAAA,EACqB,EAAC,CAAA,CAAA;AAAAA,IAAAA,eAAA,CAEZ,IAAA,EAAA,eAAA,qBAAIC,GAAI,EAAA,CAAA,CAAA;AAAAD,IAAAA,eAAA,0BAKlC,IAAA,CAAA,CAAA;AAAAA,IAAAA,eAAA,CAOP,IAAA,EAAA,kBAAA,EAAA;AACFE,MAAAA,MAAQ,EAAA,KAAA;AACRC,MAAAA,aAAa,EAAC;AACdC,MAAAA,gBAAkB,EAAA,CAAA;KACpB,CAAA,CAAA;AAAA,GAAA;EAAA,OAAAC,YAAA,CAAAP,eAAA,EAAA,CAAA;IAAAQ,GAAA,EAAA,UAAA;AAAAC,IAAAA,KAAA,EAOA,SAAAC,SAASC,KAAmE,EAAA;AAEpE,MAAA,IAAAC,KAAA,GAAQC,YAAa,CAAAF,KAAA,CAAMG,IAAI,CAAA,CAAA;MAErC,IAAI,EAACF,KAAO,KAAA,IAAA,IAAPA,KAAO,KAAA,KAAA,CAAA,IAAPA,KAAO,CAAAG,IAAA,CAAa,EAAA,OAAA,IAAA,CAAA;AAGrB,MAAA,IAAAC,kBAAA,CAAmBJ,KAAM,CAAAG,IAAI,CAAG,EAAA;AAC3B,QAAA,OAAA,IAAA,CAAKE,uBAAuBL,KAAK,CAAA,CAAA;AAC1C,OAAA;AAEI,MAAA,IAAAM,eAAA,CAAgBN,KAAM,CAAAG,IAAI,CAAG,EAAA;AACxB,QAAA,OAAA,IAAA,CAAKI,oBAAoBP,KAAK,CAAA,CAAA;AACvC,OAAA;AAEI,MAAA,IAAAQ,eAAA,CAAgBR,KAAM,CAAAG,IAAI,CAAG,EAAA;AACxB,QAAA,OAAA,IAAA,CAAKM,oBAAoBT,KAAK,CAAA,CAAA;AACvC,OAAA;AAEI,MAAA,IAAAU,eAAA,CAAgBV,KAAM,CAAAG,IAAI,CAAG,EAAA;AACxB,QAAA,OAAA,IAAA,CAAKQ,oBAAoBX,KAAK,CAAA,CAAA;AACvC,OAAA;AAEI,MAAA,IAAAY,YAAA,CAAaZ,KAAM,CAAAG,IAAI,CAAG,EAAA;AACrB,QAAA,OAAA,IAAA,CAAKU,iBAAiBb,KAAK,CAAA,CAAA;AACpC,OAAA;AAGO,MAAA,OAAA,IAAA,CAAKc,iBAAiBd,KAAK,CAAA,CAAA;AACpC,KAAA;AAAA,GAAA,EAAA;IAAAJ,GAAA,EAAA,cAAA;AAAAC,IAAAA,KAAA,EAKA,SAAAkB,YAA2BA,GAAA;AAClB,MAAA,OAAAC,MAAA,CAAOC,MAAO,CAAA,IAAA,CAAKC,WAAW,CAAA,CAAA;AACvC,KAAA;AAAA,GAAA,EAAA;IAAAtB,GAAA,EAAA,eAAA;AAAAC,IAAAA,KAAA,EAKA,SAAAsB,cAAcC,UAA0B,EAAA;AACtC,MAAA,OAAO,KAAKF,WAAY,CAAAE,UAAA,CAAA,CAAA;AACnB,MAAA,IAAA,CAAAC,aAAA,WAAqBD,UAAU,CAAA,CAAA;AACtC,KAAA;AAAA,GAAA,EAAA;IAAAxB,GAAA,EAAA,aAAA;AAAAC,IAAAA,KAAA,EAKA,SAAAyB,YAAYF,UAA0C,EAAA;AACpD,MAAA,OAAO,KAAKF,WAAY,CAAAE,UAAA,CAAA,CAAA;AAC1B,KAAA;AAAA,GAAA,EAAA;IAAAxB,GAAA,EAAA,iBAAA;AAAAC,IAAAA,KAAA,EAKA,SAAA0B,gBAAgBH,UAA6B,EAAA;AACpC,MAAA,OAAA,IAAA,CAAKC,aAAc,CAAAG,GAAA,CAAIJ,UAAU,CAAA,CAAA;AAC1C,KAAA;AAAA,GAAA,EAAA;IAAAxB,GAAA,EAAA,OAAA;AAAAC,IAAAA,KAAA,EAEA,SAAA4B,KAAQA,GAAA;AACN,MAAA,IAAA,CAAKP,cAAc,EAAC,CAAA;AACpB,MAAA,IAAA,CAAKG,cAAcK,KAAM,EAAA,CAAA;MACzB,IAAA,CAAKC,eAAkB,GAAA,IAAA,CAAA;MACvB,IAAA,CAAKC,qBAAsB,EAAA,CAAA;AAC7B,KAAA;AAAA,GAAA,EAAA;IAAAhC,GAAA,EAAA,wBAAA;AAAAC,IAAAA,KAAA,EAKQ,SAAAQ,uBAAuBL,KAAqC,EAAA;MAClE,QAAQA,KAAM,CAAAG,IAAA;QAAA,KACP0B,SAAU,CAAAC,kBAAA;AACN,UAAA,OAAAC,qBAAA,CAAsB,EAAI,EAAA,WAAA,EAAa,QAAQ,CAAA,CAAA;QAAA,KACnDF,SAAU,CAAAG,kBAAA,CAAA;QAAA,KACVH,SAAU,CAAAI,oBAAA,CAAA;QAAA,KACVJ,SAAU,CAAAK,gBAAA;UACN,OAAAH,qBAAA,CACL/B,MAAMmC,KAAS,IAAA,EAAA,EACfnC,KAAM,CAAAG,IAAA,KAAS0B,SAAU,CAAAK,gBAAA,GAAmB,UAAa,GAAA,WAAA,EACzD,OACF,CAAA,CAAA;AAAA,QAAA;AAEO,UAAA,OAAA,IAAA,CAAA;AAAA,OAAA;AAEb,KAAA;AAAA,GAAA,EAAA;IAAAtC,GAAA,EAAA,qBAAA;AAAAC,IAAAA,KAAA,EAKQ,SAAAU,oBAAoBP,KAAqC,EAAA;MAC/D,QAAQA,KAAM,CAAAG,IAAA;QAAA,KACP0B,SAAU,CAAAO,cAAA;AACb,UAAA,OAAO,KAAKC,mBAAoB,EAAA,CAAA;QAAA,KAC7BR,SAAU,CAAAS,2BAAA;AACN,UAAA,OAAA,IAAA,CAAKC,wBAAwBvC,KAAK,CAAA,CAAA;QAAA,KACtC6B,SAAU,CAAAW,6BAAA;AACN,UAAA,OAAA,IAAA,CAAKC,0BAA0BzC,KAAK,CAAA,CAAA;QAAA,KACxC6B,SAAU,CAAAa,yBAAA;AACN,UAAA,OAAA,IAAA,CAAKC,sBAAsB3C,KAAK,CAAA,CAAA;QAAA,KACpC6B,SAAU,CAAAe,YAAA;AACb,UAAA,OAAO,KAAKC,iBAAkB,EAAA,CAAA;AAAA,QAAA;AAEvB,UAAA,OAAA,IAAA,CAAA;AAAA,OAAA;AAEb,KAAA;AAAA,GAAA,EAAA;IAAAjD,GAAA,EAAA,qBAAA;AAAAC,IAAAA,KAAA,EAKQ,SAAAY,oBAAoBT,KAAqC,EAAA;MAC/D,QAAQA,KAAM,CAAAG,IAAA;QAAA,KACP0B,SAAU,CAAAiB,eAAA;AACN,UAAA,OAAA,IAAA,CAAKC,oBAAoB/C,KAAK,CAAA,CAAA;QAAA,KAClC6B,SAAU,CAAAmB,cAAA;AACN,UAAA,OAAA,IAAA,CAAKC,mBAAmBjD,KAAK,CAAA,CAAA;QAAA,KACjC6B,SAAU,CAAAqB,eAAA;AACN,UAAA,OAAA,IAAA,CAAKC,oBAAoBnD,KAAK,CAAA,CAAA;QAAA,KAClC6B,SAAU,CAAAuB,gBAAA;AACN,UAAA,OAAA,IAAA,CAAKC,qBAAqBrD,KAAK,CAAA,CAAA;QAAA,KACnC6B,SAAU,CAAAyB,aAAA;AACN,UAAA,OAAA,IAAA,CAAKC,kBAAkBvD,KAAK,CAAA,CAAA;AAAA,QAAA;AAE5B,UAAA,OAAA,IAAA,CAAA;AAAA,OAAA;AAEb,KAAA;AAAA,GAAA,EAAA;IAAAJ,GAAA,EAAA,qBAAA;AAAAC,IAAAA,KAAA,EAKQ,SAAAc,oBAAoBX,KAAqC,EAAA;MAC/D,QAAQA,KAAM,CAAAG,IAAA;QAAA,KACP0B,SAAU,CAAA2B,iBAAA;UACb,IAAA,CAAK7B,eAAkB,GAAA;YACrB8B,cAAczD,KAAM,CAAAyD,YAAA;YACpBC,SAAS1D,KAAM,CAAA0D,OAAAA;WACjB,CAAA;AACO,UAAA,OAAAC,qBAAA,CACL,KAAKhC,eAAgB,CAAA8B,YAAA,EACrB,KAAK9B,eAAgB,CAAA+B,OAAA,EACrB,WAAA,EACA,QACF,CAAA,CAAA;QAAA,KAEG7B,SAAU,CAAA+B,cAAA;UACb,IAAI,KAAKjC,eAAiB,EAAA;AACpB,YAAA,IAAAkC,UAAA,GAAa,KAAKlC,eAAgB,CAAA+B,OAAA,CAAA;AAGtC,YAAA,IAAI1D,MAAM8D,KAAS,IAAAC,KAAA,CAAMC,OAAQ,CAAAhE,KAAA,CAAM8D,KAAK,CAAG,EAAA;AAC7CD,cAAAA,UAAA,GAAaI,cAAe,CAAA,IAAA,CAAKtC,eAAgB,CAAA+B,OAAA,EAAS1D,MAAM8D,KAAK,CAAA,CAAA;AACvE,aAAA;AAEA,YAAA,IAAA,CAAKnC,gBAAgB+B,OAAU,GAAAG,UAAA,CAAA;AAExB,YAAA,OAAAF,qBAAA,CACL,KAAKhC,eAAgB,CAAA8B,YAAA,EACrB,KAAK9B,eAAgB,CAAA+B,OAAA,EACrB,WAAA,EACA,OACF,CAAA,CAAA;AACF,WAAA;AACO,UAAA,OAAA,IAAA,CAAA;AAAA,QAAA;AAGA,UAAA,OAAA,IAAA,CAAA;AAAA,OAAA;AAEb,KAAA;AAAA,GAAA,EAAA;IAAA9D,GAAA,EAAA,kBAAA;AAAAC,IAAAA,KAAA,EAKQ,SAAAgB,iBAAiBb,KAAkB,EAAA;AACzCkE,MAAAA,YAAA,CAAarD,iBAAiBb,KAAK,CAAA,CAAA;AAC5B,MAAA,OAAA,IAAA,CAAA;AACT,KAAA;AAAA,GAAA,EAAA;IAAAJ,GAAA,EAAA,kBAAA;AAAAC,IAAAA,KAAA,EAKQ,SAAAiB,iBAAiBd,KAA0D,EAAA;MACjF,QAAQA,KAAM,CAAAG,IAAA;QAAA,KACP0B,SAAU,CAAAsC,iBAAA;AACN,UAAA,OAAAC,sBAAA,CAAuBpE,MAAMqE,QAAQ,CAAA,CAAA;QAAA,KACzCxC,SAAU,CAAAyC,MAAA;UACb,OAAOC,kBAAkBvE,KAAK,CAAA,CAAA;QAAA,KAC3B6B,SAAU,CAAA2C,SAAA;AACN,UAAA,OAAA,CAACC,kBAAkBzE,KAAM,CAAA0E,OAAA,IAAW1E,MAAM2E,KAAS,IAAA,sCAAA,EAAU,OAAO,CAAC,CAAA,CAAA;AAAA,QAAA;AAErE,UAAA,OAAA,IAAA,CAAA;AAAA,OAAA;AAEb,KAAA;AAAA,GAAA,EAAA;IAAA/E,GAAA,EAAA,qBAAA;AAAAC,IAAAA,KAAA,EAKQ,SAAAwC,mBAAwCA,GAAA;AAE9C,MAAA,IAAA,CAAKuC,iBAAiBpF,MAAS,GAAA,IAAA,CAAA;AAC1B,MAAA,IAAA,CAAAoF,gBAAA,CAAiBnF,cAAc,EAAC,CAAA;AACrC,MAAA,IAAA,CAAKmF,iBAAiBlF,gBAAmB,GAAA,CAAA,CAAA;MAEzC,OAAOmF,sBAAuB,CAAA,EAAI,EAAA,WAAA,EAAa,UAAU,KAAK,CAAA,CAAA;AAChE,KAAA;AAAA,GAAA,EAAA;IAAAjF,GAAA,EAAA,yBAAA;AAAAC,IAAAA,KAAA,EAKQ,SAAA0C,wBAAwBvC,KAAqC,EAAA;AAC/D,MAAA,IAAA,IAAA,CAAK4E,iBAAiBpF,MAAQ,EAAA;AAE1B,QAAA,IAAAsF,cAAA,GAAiBL,iBAAkB,CAAA,EAAA,EAAI,WAAW,CAAA,CAAA;QAClD,IAAAM,mBAAA,GAAkBC,mBAAmB,IAAK,CAAAJ,gBAAA,CAAiBnF,aAAaqF,cAAc,CAAA;UAApF5E,2BAAAA;UAAM+E,KAAM,GAAAF,mBAAA,CAANE,KAAM,CAAA;AACpB,QAAA,IAAA,CAAKL,iBAAiBnF,WAAc,GAAAS,IAAA,CAAA;AACpC,QAAA,IAAA,CAAK0E,iBAAiBlF,gBAAmB,GAAAuF,KAAA,CAAA;QAEzC,OAAOJ,sBAAuB,CAAA3E,IAAA,EAAM,WAAa,EAAA,OAAA,EAAS,KAAK,CAAA,CAAA;AACjE,OAAA;AAEO,MAAA,OAAAgF,qBAAA,CAAsB;AAAEC,QAAAA,KAAO,EAAAnF,KAAA,CAAMmF,SAAS,uBAAA;AAAS,OAAA,EAAG,WAAa,EAAA,QAAA,EAAU,KAAK,CAAA,CAAA;AAC/F,KAAA;AAAA,GAAA,EAAA;IAAAvF,GAAA,EAAA,2BAAA;AAAAC,IAAAA,KAAA,EAKQ,SAAA4C,0BAA0BzC,KAAqC,EAAA;AACjE,MAAA,IAAA,IAAA,CAAK4E,iBAAiBpF,MAAQ,EAAA;AAE1B,QAAA,IAAA4F,YAAA,GAAe,KAAKR,gBAAiB,CAAAlF,gBAAA,CAAA;AAC3C,QAAA,IAAI0F,YAAgB,IAAA,CAAA,IAAK,IAAK,CAAAR,gBAAA,CAAiBnF,YAAY2F,YAAe,CAAA,EAAA;UAClE,IAAAC,cAAA,GAAiB,IAAK,CAAAT,gBAAA,CAAiBnF,WAAY,CAAA2F,YAAA,CAAA,CAAA;AACrD,UAAA,IAAAC,cAAA,CAAelF,SAAS,MAAQ,EAAA;AAC5B,YAAA,IAAAmF,WAAA,GAAcD,eAAenF,IAAQ,IAAA,EAAA,CAAA;YAC3C,IAAMqF,OAAU,GAAAC,kBAAA,CAAmBF,WAAa,EAAAtF,KAAA,CAAMmC,SAAS,EAAE,CAAA,CAAA;AACjE,YAAA,IAAMsD,iDAAsBJ;AAAgBnF,cAAAA,IAAM,EAAAqF,OAAA;AAASG,cAAAA,QAAQ,WAAA;aAAY,CAAA,CAAA;AAE/E,YAAA,IAAA,CAAKd,iBAAiBnF,WAAc,GAAAkG,mBAAA,CAClC,KAAKf,gBAAiB,CAAAnF,WAAA,EACtB2F,YAAA,EACAK,cACF,CAAA,CAAA;AAEA,YAAA,OAAOZ,uBAAuB,IAAK,CAAAD,gBAAA,CAAiBnF,WAAa,EAAA,WAAA,EAAa,SAAS,KAAK,CAAA,CAAA;AAC9F,WAAA;AACF,SAAA;AACO,QAAA,OAAA,IAAA,CAAA;AACT,OAAA;AAEO,MAAA,OAAAyF,qBAAA,CAAsB;QAAEU,IAAM,EAAA5F,KAAA,CAAMmC,KAAAA;AAAM,OAAG,EAAA,WAAA,EAAa,SAAS,KAAK,CAAA,CAAA;AACjF,KAAA;AAAA,GAAA,EAAA;IAAAvC,GAAA,EAAA,uBAAA;AAAAC,IAAAA,KAAA,EAKQ,SAAA8C,sBAAsB3C,KAAqC,EAAA;AAC7D,MAAA,IAAA,IAAA,CAAK4E,iBAAiBpF,MAAQ,EAAA;AAE1B,QAAA,IAAA4F,YAAA,GAAe,KAAKR,gBAAiB,CAAAlF,gBAAA,CAAA;AAC3C,QAAA,IAAI0F,YAAgB,IAAA,CAAA,IAAK,IAAK,CAAAR,gBAAA,CAAiBnF,YAAY2F,YAAe,CAAA,EAAA;UAClE,IAAAC,cAAA,GAAiB,IAAK,CAAAT,gBAAA,CAAiBnF,WAAY,CAAA2F,YAAA,CAAA,CAAA;AACrD,UAAA,IAAAC,cAAA,CAAelF,SAAS,MAAQ,EAAA;AAClC,YAAA,IAAMsF,cAAiB,GAAAI,aAAA,CAAAA,aAAA,KAAKR,cAAA,CAAA,EAAA,EAAA,EAAA;AAAgBK,cAAAA,QAAQ,UAAA;aAAW,CAAA,CAAA;AAC/D,YAAA,IAAA,CAAKd,iBAAiBnF,WAAc,GAAAkG,mBAAA,CAClC,KAAKf,gBAAiB,CAAAnF,WAAA,EACtB2F,YAAA,EACAK,cACF,CAAA,CAAA;AAEA,YAAA,OAAOZ,uBAAuB,IAAK,CAAAD,gBAAA,CAAiBnF,WAAa,EAAA,WAAA,EAAa,SAAS,KAAK,CAAA,CAAA;AAC9F,WAAA;AACF,SAAA;AACO,QAAA,OAAA,IAAA,CAAA;AACT,OAAA;AAEO,MAAA,OAAAyF,qBAAA,CAAsB;AAAEC,QAAAA,KAAO,EAAAnF,KAAA,CAAMmF,SAAS,0BAAA;AAAO,OAAA,EAAG,UAAY,EAAA,OAAA,EAAS,IAAI,CAAA,CAAA;AAC1F,KAAA;AAAA,GAAA,EAAA;IAAAvF,GAAA,EAAA,mBAAA;AAAAC,IAAAA,KAAA,EAKQ,SAAAgD,iBAA6CA,GAAA;AAC/C,MAAA,IAAA,IAAA,CAAK+B,iBAAiBpF,MAAQ,EAAA;QAEhC,IAAMsG,SAAY,GAAAC,kBAAA,CAAI,IAAA,CAAKnB,iBAAiBnF,WAAW,CAAA,CAAA;QACvD,IAAA,CAAKmC,qBAAsB,EAAA,CAAA;QAE3B,OAAOiD,sBAAuB,CAAAiB,SAAA,EAAW,UAAY,EAAA,OAAA,EAAS,IAAI,CAAA,CAAA;AACpE,OAAA;AACO,MAAA,OAAA,IAAA,CAAA;AACT,KAAA;AAAA,GAAA,EAAA;IAAAlG,GAAA,EAAA,qBAAA;AAAAC,IAAAA,KAAA,EAKQ,SAAAkD,oBAAoB/C,KAAqC,EAAA;AAE1D,MAAA,IAAA,CAAAkB,WAAA,CAAYlB,MAAMoB,UAAc,CAAA,GAAA;AACnC4E,QAAAA,SAAW,EAAA,iBAAA;QACX5E,YAAYpB,KAAM,CAAAoB,UAAA;QAClB6E,cAAcjG,KAAM,CAAAiG,YAAA;AACpBC,QAAAA,eAAA,EAAiBlG,MAAMkG,eAAmB,IAAA,EAAA;OAC5C,CAAA;AAGA,MAAA,IAAMC,kBAAkBC,qBAAsB,CAAA,IAAA,CAAKlF,YAAYlB,KAAM,CAAAoB,UAAA,CAAA,EAAa,WAAW,QAAQ,CAAA,CAAA;AAEjG,MAAA,IAAA,IAAA,CAAKwD,iBAAiBpF,MAAQ,EAAA;QAE1B,IAAA6G,oBAAA,GAAkBrB,mBAAmB,IAAK,CAAAJ,gBAAA,CAAiBnF,aAAa0G,eAAe,CAAA;UAArFjG,4BAAAA;UAAM+E,KAAM,GAAAoB,oBAAA,CAANpB,KAAM,CAAA;AACpB,QAAA,IAAA,CAAKL,iBAAiBnF,WAAc,GAAAS,IAAA,CAAA;AACpC,QAAA,IAAA,CAAK0E,iBAAiBlF,gBAAmB,GAAAuF,KAAA,CAAA;QAEzC,OAAOJ,sBAAuB,CAAA3E,IAAA,EAAM,WAAa,EAAA,OAAA,EAAS,KAAK,CAAA,CAAA;AACjE,OAAA;AAGO,MAAA,OAAAiG,eAAA,CAAA;AACT,KAAA;AAAA,GAAA,EAAA;IAAAvG,GAAA,EAAA,oBAAA;AAAAC,IAAAA,KAAA,EAKQ,SAAAoD,mBAAmBjD,KAAqC,EAAA;MAC1D,IAAA,CAAC,IAAK,CAAAkB,WAAA,CAAYlB,KAAM,CAAAoB,UAAA,CAAA,EAAoB,OAAA,IAAA,CAAA;AAEhD,MAAA,IAAMkF,WAAc,GAAA,IAAA,CAAKpF,WAAY,CAAAlB,KAAA,CAAMoB,YAAYmF,IAAQ,IAAA,EAAA,CAAA;MAC/D,IAAMC,OAAU,GAAAhB,kBAAA,CAAmBc,WAAa,EAAAtG,KAAA,CAAMmC,SAAS,EAAE,CAAA,CAAA;AAGjE,MAAA,IAAA,CAAKjB,YAAYlB,KAAM,CAAAoB,UAAA,CAAA,GAAcqF,eAAe,IAAK,CAAAvF,WAAA,CAAYlB,MAAMoB,UAAa,CAAA,EAAA;AACtF4E,QAAAA,SAAW,EAAA,gBAAA;AACXO,QAAAA,IAAM,EAAAC,OAAAA;AACR,OAAC,CAAA,CAAA;MAED,OAAO,IAAK,CAAAE,uBAAA,CAAwB1G,KAAM,CAAAoB,UAAA,EAAY,WAAW,CAAA,CAAA;AACnE,KAAA;AAAA,GAAA,EAAA;IAAAxB,GAAA,EAAA,qBAAA;AAAAC,IAAAA,KAAA,EAKQ,SAAAsD,oBAAoBnD,KAAqC,EAAA;MAC3D,IAAA,CAAC,IAAK,CAAAkB,WAAA,CAAYlB,KAAM,CAAAoB,UAAA,CAAA,EAAoB,OAAA,IAAA,CAAA;AAEhD,MAAA,IAAMuF,YAAe,GAAA,IAAA,CAAKzF,WAAY,CAAAlB,KAAA,CAAMoB,YAAYrB,KAAS,IAAA,EAAA,CAAA;MACjE,IAAM6G,QAAW,GAAApB,kBAAA,CAAmBmB,YAAc,EAAA3G,KAAA,CAAMmC,SAAS,EAAE,CAAA,CAAA;AAGnE,MAAA,IAAA,CAAKjB,YAAYlB,KAAM,CAAAoB,UAAA,CAAA,GAAcqF,eAAe,IAAK,CAAAvF,WAAA,CAAYlB,MAAMoB,UAAa,CAAA,EAAA;AACtF4E,QAAAA,SAAW,EAAA,iBAAA;AACXjG,QAAAA,KAAO,EAAA6G,QAAAA;AACT,OAAC,CAAA,CAAA;MAED,OAAO,IAAK,CAAAF,uBAAA,CAAwB1G,KAAM,CAAAoB,UAAA,EAAY,WAAW,CAAA,CAAA;AACnE,KAAA;AAAA,GAAA,EAAA;IAAAxB,GAAA,EAAA,sBAAA;AAAAC,IAAAA,KAAA,EAKQ,SAAAwD,qBAAqBrD,KAAqC,EAAA;MAC5D,IAAA,CAAC,IAAK,CAAAkB,WAAA,CAAYlB,KAAM,CAAAoB,UAAA,CAAA,EAAoB,OAAA,IAAA,CAAA;AAEhD,MAAA,IAAMyF,aAAgB,GAAA,IAAA,CAAK3F,WAAY,CAAAlB,KAAA,CAAMoB,YAAY0F,MAAU,IAAA,EAAA,CAAA;MACnE,IAAMC,SAAY,GAAAvB,kBAAA,CAAmBqB,aAAe,EAAA7G,KAAA,CAAM0D,WAAW,EAAE,CAAA,CAAA;AAGvE,MAAA,IAAA,CAAKxC,YAAYlB,KAAM,CAAAoB,UAAA,CAAA,GAAcqF,eAAe,IAAK,CAAAvF,WAAA,CAAYlB,MAAMoB,UAAa,CAAA,EAAA;QACtF4E,WAAWnE,SAAU,CAAAuB,gBAAA;AACrB0D,QAAAA,MAAQ,EAAAC,SAAAA;AACV,OAAC,CAAA,CAAA;AAGD,MAAA,IAAMC,iBAAoB,GAAAC,wBAAA,CAAyB,IAAK,CAAA/F,WAAA,CAAYlB,MAAMoB,UAAW,CAAA,CAAA,CAAA;AACrF,MAAA,IAAI4F,iBAAmB,EAAA;AACjB,QAAA,IAAA,IAAA,CAAKpC,iBAAiBpF,MAAQ,EAAA;AAE1B,UAAA,IAAA4F,YAAA,GAAe,KAAKR,gBAAiB,CAAAlF,gBAAA,CAAA;AAC3C,UAAA,IAAI0F,YAAgB,IAAA,CAAA,IAAK,IAAK,CAAAR,gBAAA,CAAiBnF,YAAY2F,YAAe,CAAA,EAAA;AACxE,YAAA,IAAA,CAAKR,iBAAiBnF,WAAc,GAAAkG,mBAAA,CAClC,KAAKf,gBAAiB,CAAAnF,WAAA,EACtB2F,YAAA,EACA4B,iBACF,CAAA,CAAA;AAEA,YAAA,OAAOnC,uBAAuB,IAAK,CAAAD,gBAAA,CAAiBnF,WAAa,EAAA,WAAA,EAAa,SAAS,KAAK,CAAA,CAAA;AAC9F,WAAA;AACF,SAAO,MAAA;AAEE,UAAA,OAAAuH,iBAAA,CAAA;AACT,SAAA;AACF,OAAA;MAEA,OAAO,IAAK,CAAAN,uBAAA,CAAwB1G,KAAM,CAAAoB,UAAA,EAAY,UAAU,CAAA,CAAA;AAClE,KAAA;AAAA,GAAA,EAAA;IAAAxB,GAAA,EAAA,mBAAA;AAAAC,IAAAA,KAAA,EAKQ,SAAA0D,kBAAkBvD,KAAY,EAAA;MAE/B,IAAA,CAAAqB,aAAA,CAAc6F,GAAI,CAAAlH,KAAA,CAAMoB,UAAU,CAAA,CAAA;MAGnC,IAAA,IAAA,CAAKF,WAAY,CAAAlB,KAAA,CAAMoB,UAAa,CAAA,EAAA;AACjC,QAAA,IAAA,CAAAF,WAAA,CAAYlB,MAAMoB,UAAc,CAAA,GAAAyE,aAAA,CAAAA,aAAA,CAAA,EAAA,EAChC,IAAK,CAAA3E,WAAA,CAAYlB,KAAM,CAAAoB,UAAA,CAAA,CAAA,EAAA,EAAA,EAAA;UAC1B4E,WAAWnE,SAAU,CAAAyB,aAAAA;SACvB,CAAA,CAAA;AACF,OAAA;MAEA,OAAO,IAAK,CAAAoD,uBAAA,CAAwB1G,KAAM,CAAAoB,UAAA,EAAY,UAAU,CAAA,CAAA;AAClE,KAAA;AAAA,GAAA,EAAA;IAAAxB,GAAA,EAAA,yBAAA;AAAAC,IAAAA,KAAA,EAKQ,SAAA6G,uBAAAA,CAAwBtF,YAAoBsE,MAA2D,EAAA;AACzG,MAAA,IAAA,IAAA,CAAKd,iBAAiBpF,MAAQ,EAAA;AAE1B,QAAA,IAAA4F,YAAA,GAAe,KAAKR,gBAAiB,CAAAlF,gBAAA,CAAA;AAC3C,QAAA,IAAI0F,YAAgB,IAAA,CAAA,IAAK,IAAK,CAAAR,gBAAA,CAAiBnF,YAAY2F,YAAe,CAAA,EAAA;UAClE,IAAAC,cAAA,GAAiB,IAAK,CAAAT,gBAAA,CAAiBnF,WAAY,CAAA2F,YAAA,CAAA,CAAA;AACzD,UAAA,IAAM+B,cAAc9B,cAAe,CAAAlF,IAAA,CAAA;AAG/B,UAAA,IAAAgH,WAAA,CAAYC,UAAW,CAAA,UAAU,CAAG,EAAA;AACtC,YAAA,IAAM3B,cAAiB,GAAAI,aAAA,CAAAA,aAAA,KAClBR,cAAA,CAAA,EAAA,EAAA,EAAA;AACHnF,cAAAA,IAAA,EAAM,KAAKgB,WAAY,CAAAE,UAAA,CAAA;AACvBsE,cAAAA,MAAA,EAAAA,MAAAA;aACF,CAAA,CAAA;AAEA,YAAA,IAAA,CAAKd,iBAAiBnF,WAAc,GAAAkG,mBAAA,CAClC,KAAKf,gBAAiB,CAAAnF,WAAA,EACtB2F,YAAA,EACAK,cACF,CAAA,CAAA;AAEA,YAAA,OAAOZ,uBAAuB,IAAK,CAAAD,gBAAA,CAAiBnF,WAAa,EAAA,WAAA,EAAa,SAAS,KAAK,CAAA,CAAA;AAC9F,WAAA;AACF,SAAA;AACO,QAAA,OAAA,IAAA,CAAA;AACT,OAAA;AAGA,MAAA,OAAO2G,qBAAsB,CAAA,IAAA,CAAKlF,WAAY,CAAAE,UAAA,CAAA,EAAasE,QAAQ,OAAO,CAAA,CAAA;AAC5E,KAAA;AAAA,GAAA,EAAA;IAAA9F,GAAA,EAAA,uBAAA;AAAAC,IAAAA,KAAA,EAKQ,SAAA+B,qBAA8BA,GAAA;MACpC,IAAA,CAAKgD,gBAAmB,GAAA;AACtBpF,QAAAA,MAAQ,EAAA,KAAA;AACRC,QAAAA,aAAa,EAAC;AACdC,QAAAA,gBAAkB,EAAA,CAAA;OACpB,CAAA;AACF,KAAA;AAAA,GAAA,CAAA,CAAA,CAAA;AAAA,CAAA;;;;"}
|
|
1
|
+
{"version":3,"file":"event-mapper.js","sources":["../../../../../../pro-components/chat/chat-engine/core/adapters/agui/event-mapper.ts"],"sourcesContent":["/* eslint-disable class-methods-use-this */\nimport type { AIMessageContent, SSEChunkData, ToolCall } from '../../type';\nimport {\n AGUIEventType,\n isActivityEvent,\n isStateEvent,\n isTextMessageEvent,\n isThinkingEvent,\n isToolCallEvent,\n} from './types/events';\nimport { stateManager } from './StateManager';\nimport { activityManager } from './ActivityManager';\nimport {\n addToReasoningData,\n createActivityContent,\n createMarkdownContent,\n createReasoningContent,\n createTextContent,\n createThinkingContent,\n createToolCallContent,\n handleCustomEvent,\n handleMessagesSnapshot,\n handleSuggestionToolCall,\n mergeStringContent,\n parseSSEData,\n updateReasoningData,\n updateToolCall,\n} from './utils';\n\n/**\n * AGUIEventMapper\n * 将AG-UI协议事件(SSEChunkData)转换为AIContentChunkUpdate\n * 支持多轮对话、增量文本、工具调用、思考、状态快照、消息快照等基础事件\n * 同时提供状态变更和步骤生命周期事件的分发机制\n * \n * 支持简化模式:\n * - TEXT_MESSAGE_CHUNK:自动补全 Start → Content → End 生命周期\n * - TOOL_CALL_CHUNK:自动补全 Start → Args → End 生命周期\n */\nexport class AGUIEventMapper {\n private toolCallMap: Record<string, ToolCall> = {};\n\n private toolCallEnded: Set<string> = new Set(); // 记录已经TOOL_CALL_END的工具调用\n\n // Reasoning 上下文状态管理\n private reasoningContext: {\n active: boolean;\n currentData: AIMessageContent[];\n currentDataIndex: number;\n } = {\n active: false,\n currentData: [],\n currentDataIndex: 0,\n };\n\n /**\n * 暴露 activityManager,供 AGUIAdapter 访问\n */\n public get activityManager() {\n return activityManager;\n }\n\n // 简化模式状态跟踪\n private currentTextMessageId: string | null = null; // 当前正在处理的文本消息 ID\n\n private currentTextMessageRole: 'assistant' | 'system' | null = null; // 当前正在处理的文本消息角色\n\n private toolCallChunkStarted: Set<string> = new Set(); // 已自动触发 TOOL_CALL_START 的 toolCallId\n\n /**\n * 主入口:将SSE事件转换为AIContentChunkUpdate\n *\n * @param chunk SSE数据块,其中data字段可能是字符串(需要解析)或已解析的对象\n */\n mapEvent(chunk: SSEChunkData): AIMessageContent | AIMessageContent[] | null {\n // 处理data字段,可能是字符串或已解析的对象\n const event = parseSSEData(chunk.data);\n \n if (!event?.type) return null;\n\n // 根据事件类型分发到不同的处理函数\n if (isTextMessageEvent(event.type)) {\n return this.handleTextMessageEvent(event);\n }\n\n if (isThinkingEvent(event.type)) {\n return this.handleThinkingEvent(event);\n }\n\n if (isToolCallEvent(event.type)) {\n return this.handleToolCallEvent(event);\n }\n\n if (isActivityEvent(event.type)) {\n return this.handleActivityEvent(event);\n }\n\n if (isStateEvent(event.type)) {\n return this.handleStateEvent(event);\n }\n\n // 处理其他事件类型\n return this.handleOtherEvent(event);\n }\n\n /**\n * 获取当前所有工具调用\n */\n getToolCalls(): ToolCall[] {\n return Object.values(this.toolCallMap);\n }\n\n /**\n * 清除指定工具调用\n */\n clearToolCall(toolCallId: string): void {\n delete this.toolCallMap[toolCallId];\n this.toolCallEnded.delete(toolCallId);\n this.toolCallChunkStarted.delete(toolCallId);\n }\n\n /**\n * 获取指定工具调用\n */\n getToolCall(toolCallId: string): ToolCall | undefined {\n return this.toolCallMap[toolCallId];\n }\n\n /**\n * 检查工具调用是否已结束\n */\n isToolCallEnded(toolCallId: string): boolean {\n return this.toolCallEnded.has(toolCallId);\n }\n\n reset() {\n this.toolCallMap = {};\n this.toolCallEnded.clear();\n this.resetReasoningContext();\n // 重置简化模式状态\n this.currentTextMessageId = null;\n this.currentTextMessageRole = null;\n this.toolCallChunkStarted.clear();\n // 清理 activityManager 状态\n activityManager.clear();\n }\n\n /**\n * 处理文本消息事件\n * \n * 支持两种模式:\n * 1. 标准模式:TEXT_MESSAGE_START → TEXT_MESSAGE_CONTENT → TEXT_MESSAGE_END\n * 2. 简化模式:仅发送 TEXT_MESSAGE_CHUNK,自动补全生命周期\n */\n private handleTextMessageEvent(event: any): AIMessageContent | null {\n switch (event.type) {\n case AGUIEventType.TEXT_MESSAGE_START:\n this.currentTextMessageId = event.messageId || null; // 标记当前消息 ID\n return createMarkdownContent('', 'streaming', 'append');\n\n case AGUIEventType.TEXT_MESSAGE_CHUNK:\n return this.handleTextMessageChunk(event);\n\n case AGUIEventType.TEXT_MESSAGE_CONTENT:\n return createMarkdownContent(event.delta || '', 'streaming', 'merge');\n\n case AGUIEventType.TEXT_MESSAGE_END:\n this.currentTextMessageId = null; // 重置状态\n return createMarkdownContent(event.delta || '', 'complete', 'merge');\n\n default:\n return null;\n }\n }\n\n /**\n * 处理简化模式的 TEXT_MESSAGE_CHUNK 事件\n * 自动补全 Start → Content → End 生命周期\n * \n * 关键:通过 messageId 区分不同的文本块,\n * 当 messageId 变化时创建新的内容块\n */\n private handleTextMessageChunk(event: any): AIMessageContent | null {\n const messageId = event.messageId || 'default';\n const role = event?.role || 'assistant';\n \n // 如果是新的 messageId,需要创建新的内容块\n if (this.currentTextMessageId !== messageId) {\n this.currentTextMessageId = messageId;\n this.currentTextMessageRole = role;\n // 创建新内容块,使用 append 策略,通过 ext.role 传递角色信息\n return createMarkdownContent(event.delta || '', 'streaming', 'append', role);\n }\n\n // 同一个 messageId,使用 merge 策略追加内容\n return createMarkdownContent(event.delta || '', 'streaming', 'merge', this.currentTextMessageRole || role);\n }\n\n /**\n * 处理思考事件\n */\n private handleThinkingEvent(event: any): AIMessageContent | null {\n switch (event.type) {\n case AGUIEventType.THINKING_START:\n return this.handleThinkingStart();\n case AGUIEventType.THINKING_TEXT_MESSAGE_START:\n return this.handleThinkingTextStart(event);\n case AGUIEventType.THINKING_TEXT_MESSAGE_CONTENT:\n return this.handleThinkingTextContent(event);\n case AGUIEventType.THINKING_TEXT_MESSAGE_END:\n return this.handleThinkingTextEnd(event);\n case AGUIEventType.THINKING_END:\n return this.handleThinkingEnd();\n default:\n return null;\n }\n }\n\n /**\n * 处理工具调用事件\n * \n * 支持两种模式:\n * 1. 标准模式:TOOL_CALL_START → TOOL_CALL_ARGS → TOOL_CALL_END\n * 2. 简化模式:仅发送 TOOL_CALL_CHUNK,自动补全生命周期\n */\n private handleToolCallEvent(event: any): AIMessageContent | null {\n switch (event.type) {\n case AGUIEventType.TOOL_CALL_START:\n return this.handleToolCallStart(event);\n case AGUIEventType.TOOL_CALL_ARGS:\n return this.handleToolCallArgs(event);\n case AGUIEventType.TOOL_CALL_CHUNK:\n return this.handleToolCallChunk(event);\n case AGUIEventType.TOOL_CALL_RESULT:\n return this.handleToolCallResult(event);\n case AGUIEventType.TOOL_CALL_END:\n return this.handleToolCallEnd(event);\n default:\n return null;\n }\n }\n\n /**\n * 处理活动事件\n * 委托给 activityManager 进行状态管理和订阅通知\n * \n * 支持两种模式:\n * 1. 标准模式:先收到 ACTIVITY_SNAPSHOT,后续 ACTIVITY_DELTA 基于 snapshot 增量更新\n * 2. 纯增量模式:没有 ACTIVITY_SNAPSHOT,直接收到 ACTIVITY_DELTA,自动初始化空内容\n * \n * 注意:不同 activityType 的活动是独立管理的,互不影响\n */\n private handleActivityEvent(event: any): AIMessageContent | null {\n const activityType = event.activityType || 'unknown';\n // 委托给 activityManager 处理\n const activityData = activityManager.handleActivityEvent(event);\n if (!activityData) {\n return null;\n }\n\n // 根据事件类型决定 strategy\n const isSnapshot = event.type === AGUIEventType.ACTIVITY_SNAPSHOT;\n const isFirstDelta = event.type === AGUIEventType.ACTIVITY_DELTA && !activityManager.getActivity(activityType);\n\n return createActivityContent(\n activityType,\n activityData.content,\n 'streaming',\n // SNAPSHOT 或首次 DELTA 使用 append 创建新内容块,后续使用 merge\n isSnapshot || isFirstDelta ? 'append' : 'merge',\n activityData.deltaInfo,\n );\n }\n\n /**\n * 处理状态事件\n */\n private handleStateEvent(event: any): null {\n stateManager.handleStateEvent(event);\n return null;\n }\n\n /**\n * 处理其他事件\n */\n private handleOtherEvent(event: any): AIMessageContent | AIMessageContent[] | null {\n switch (event.type) {\n case AGUIEventType.MESSAGES_SNAPSHOT:\n return handleMessagesSnapshot(event.messages);\n case AGUIEventType.CUSTOM:\n return handleCustomEvent(event);\n case AGUIEventType.RUN_ERROR:\n return [createTextContent(event.message || event.error || '系统未知错误', 'error')];\n default:\n return null;\n }\n }\n\n /**\n * 处理思考开始事件\n */\n private handleThinkingStart(): AIMessageContent {\n // 激活 reasoning 上下文\n this.reasoningContext.active = true;\n this.reasoningContext.currentData = [];\n this.reasoningContext.currentDataIndex = 0;\n\n return createReasoningContent([], 'streaming', 'append', false);\n }\n\n /**\n * 处理思考文本开始事件\n */\n private handleThinkingTextStart(event: any): AIMessageContent | null {\n if (this.reasoningContext.active) {\n // Reasoning 模式:添加新的 text 内容到 reasoning.data\n const newTextContent = createTextContent('', 'streaming');\n const { data, index } = addToReasoningData(this.reasoningContext.currentData, newTextContent);\n this.reasoningContext.currentData = data;\n this.reasoningContext.currentDataIndex = index;\n\n return createReasoningContent(data, 'streaming', 'merge', false);\n }\n // 独立模式:创建独立的 thinking 内容\n return createThinkingContent({ title: event.title || '思考中...' }, 'streaming', 'append', false);\n }\n\n /**\n * 处理思考文本内容事件\n */\n private handleThinkingTextContent(event: any): AIMessageContent | null {\n if (this.reasoningContext.active) {\n // Reasoning 模式:更新最后一个 text 内容\n const currentIndex = this.reasoningContext.currentDataIndex;\n if (currentIndex >= 0 && this.reasoningContext.currentData[currentIndex]) {\n const currentContent = this.reasoningContext.currentData[currentIndex];\n if (currentContent.type === 'text') {\n const currentText = currentContent.data || '';\n const newText = mergeStringContent(currentText, event.delta || '');\n const updatedContent = { ...currentContent, data: newText, status: 'streaming' };\n\n this.reasoningContext.currentData = updateReasoningData(\n this.reasoningContext.currentData,\n currentIndex,\n updatedContent,\n );\n\n return createReasoningContent(this.reasoningContext.currentData, 'streaming', 'merge', false);\n }\n }\n return null;\n }\n // 独立模式:更新独立的 thinking 内容\n return createThinkingContent({ text: event.delta }, 'streaming', 'merge', false);\n }\n\n /**\n * 处理思考文本结束事件\n */\n private handleThinkingTextEnd(event: any): AIMessageContent | null {\n if (this.reasoningContext.active) {\n // Reasoning 模式:标记最后一个 text 内容为完成\n const currentIndex = this.reasoningContext.currentDataIndex;\n if (currentIndex >= 0 && this.reasoningContext.currentData[currentIndex]) {\n const currentContent = this.reasoningContext.currentData[currentIndex];\n if (currentContent.type === 'text') {\n const updatedContent = { ...currentContent, status: 'complete' };\n this.reasoningContext.currentData = updateReasoningData(\n this.reasoningContext.currentData,\n currentIndex,\n updatedContent,\n );\n\n return createReasoningContent(this.reasoningContext.currentData, 'streaming', 'merge', false);\n }\n }\n return null;\n }\n // 独立模式:完成独立的 thinking 内容\n return createThinkingContent({ title: event.title || '思考结束' }, 'complete', 'merge', true);\n }\n\n /**\n * 处理思考结束事件\n */\n private handleThinkingEnd(): AIMessageContent | null {\n if (this.reasoningContext.active) {\n // 完成 reasoning 并重置上下文\n const finalData = [...this.reasoningContext.currentData];\n this.resetReasoningContext();\n\n return createReasoningContent(finalData, 'complete', 'merge', true);\n }\n return null;\n }\n\n /**\n * 处理工具调用开始事件\n */\n private handleToolCallStart(event: any): AIMessageContent | null {\n // 标记已显式开始(防止后续 chunk 重复触发 start)\n this.toolCallChunkStarted.add(event.toolCallId);\n \n // 初始化工具调用\n this.toolCallMap[event.toolCallId] = {\n eventType: 'TOOL_CALL_START',\n toolCallId: event.toolCallId,\n toolCallName: event.toolCallName,\n parentMessageId: event.parentMessageId || '',\n };\n\n // 每个toocallstart都会开始一个新的内容块,使用append(添加新的工具调用,使用不同的渲染组件)\n const toolCallContent = createToolCallContent(this.toolCallMap[event.toolCallId], 'pending', 'append');\n\n if (this.reasoningContext.active) {\n // Reasoning 模式:添加 toolcall 到 reasoning.data\n const { data, index } = addToReasoningData(this.reasoningContext.currentData, toolCallContent);\n this.reasoningContext.currentData = data;\n this.reasoningContext.currentDataIndex = index;\n\n return createReasoningContent(data, 'streaming', 'merge', false);\n }\n // 独立模式:返回独立的工具调用内容块\n // 通过 type (toolcall-${toolCallName}) + strategy 来控制是否合并\n return toolCallContent;\n }\n\n /**\n * 处理工具调用参数事件\n */\n private handleToolCallArgs(event: any): AIMessageContent | null {\n if (!this.toolCallMap[event.toolCallId]) return null;\n\n const currentArgs = this.toolCallMap[event.toolCallId].args || '';\n const newArgs = mergeStringContent(currentArgs, event.delta || '');\n\n // 更新内部ToolCall对象\n this.toolCallMap[event.toolCallId] = updateToolCall(this.toolCallMap[event.toolCallId], {\n eventType: 'TOOL_CALL_ARGS',\n args: newArgs,\n });\n\n return this.updateToolCallInContext(event.toolCallId, 'streaming');\n }\n\n /**\n * 处理简化模式的 TOOL_CALL_CHUNK 事件\n * 自动补全 Start → Args → End 生命周期\n * \n * TOOL_CALL_CHUNK 事件结构:\n * - toolCallId: 工具调用ID(可选,首次时自动生成)\n * - toolCallName: 工具名称(首次必需)\n * - delta: 参数增量内容\n * - parentMessageId: 父消息ID(可选)\n */\n private handleToolCallChunk(event: any): AIMessageContent | null {\n // 生成或使用 toolCallId\n const toolCallId = event.toolCallId || `auto_${Date.now()}_${Math.random().toString(36).substring(2, 11)}`;\n \n // 检查是否是该 toolCallId 的第一个 chunk\n const isFirstChunk = !this.toolCallChunkStarted.has(toolCallId) && !this.toolCallMap[toolCallId];\n \n if (isFirstChunk) {\n // 自动触发 TOOL_CALL_START 逻辑\n this.toolCallChunkStarted.add(toolCallId);\n \n // 重置当前文本消息 ID,确保后续文本消息创建新内容块\n this.currentTextMessageId = null;\n \n // 初始化工具调用\n this.toolCallMap[toolCallId] = {\n eventType: 'TOOL_CALL_START',\n toolCallId,\n toolCallName: event.toolCallName || 'unknown',\n parentMessageId: event.parentMessageId || '',\n args: event.delta || '', // 第一个 chunk 的 delta 作为初始 args\n };\n\n // 创建新的工具调用内容块\n const toolCallContent = createToolCallContent(this.toolCallMap[toolCallId], 'streaming', 'append');\n\n if (this.reasoningContext.active) {\n // Reasoning 模式:添加 toolcall 到 reasoning.data\n const { data, index } = addToReasoningData(this.reasoningContext.currentData, toolCallContent);\n this.reasoningContext.currentData = data;\n this.reasoningContext.currentDataIndex = index;\n\n return createReasoningContent(data, 'streaming', 'merge', false);\n }\n \n return toolCallContent;\n }\n\n // 后续 chunk:更新 args\n if (!this.toolCallMap[toolCallId]) return null;\n\n const currentArgs = this.toolCallMap[toolCallId].args || '';\n const newArgs = mergeStringContent(currentArgs, event.delta || '');\n\n // 更新内部ToolCall对象\n this.toolCallMap[toolCallId] = updateToolCall(this.toolCallMap[toolCallId], {\n eventType: 'TOOL_CALL_CHUNK',\n args: newArgs,\n });\n\n return this.updateToolCallInContext(toolCallId, 'streaming');\n }\n\n /**\n * 处理工具调用结果事件\n */\n private handleToolCallResult(event: any): AIMessageContent | null {\n if (!this.toolCallMap[event.toolCallId]) return null;\n\n const currentResult = this.toolCallMap[event.toolCallId].result || '';\n const newResult = mergeStringContent(currentResult, event.content || '');\n\n // 更新内部ToolCall对象\n this.toolCallMap[event.toolCallId] = updateToolCall(this.toolCallMap[event.toolCallId], {\n eventType: AGUIEventType.TOOL_CALL_RESULT,\n result: newResult,\n });\n\n // 处理 suggestion 特殊情况\n const suggestionContent = handleSuggestionToolCall(this.toolCallMap[event.toolCallId]);\n if (suggestionContent) {\n if (this.reasoningContext.active) {\n // Reasoning 模式:替换最后一个 toolcall 为 suggestion\n const currentIndex = this.reasoningContext.currentDataIndex;\n if (currentIndex >= 0 && this.reasoningContext.currentData[currentIndex]) {\n this.reasoningContext.currentData = updateReasoningData(\n this.reasoningContext.currentData,\n currentIndex,\n suggestionContent,\n );\n\n return createReasoningContent(this.reasoningContext.currentData, 'streaming', 'merge', false);\n }\n } else {\n // 独立模式:返回 suggestion\n return suggestionContent;\n }\n }\n\n return this.updateToolCallInContext(event.toolCallId, 'complete');\n }\n\n /**\n * 处理工具调用结束事件\n */\n private handleToolCallEnd(event: any) {\n // 标记工具调用结束\n this.toolCallEnded.add(event.toolCallId);\n \n // 更新 toolCallMap 中的 eventType\n if (this.toolCallMap[event.toolCallId]) {\n this.toolCallMap[event.toolCallId] = {\n ...this.toolCallMap[event.toolCallId],\n eventType: AGUIEventType.TOOL_CALL_END,\n };\n }\n \n return this.updateToolCallInContext(event.toolCallId, 'complete');\n }\n\n /**\n * 在上下文中更新工具调用\n */\n private updateToolCallInContext(toolCallId: string, status: 'streaming' | 'complete'): AIMessageContent | null {\n if (this.reasoningContext.active) {\n // Reasoning 模式:更新 reasoning.data 中的 toolcall\n const currentIndex = this.reasoningContext.currentDataIndex;\n if (currentIndex >= 0 && this.reasoningContext.currentData[currentIndex]) {\n const currentContent = this.reasoningContext.currentData[currentIndex];\n const currentType = currentContent.type;\n\n // 检查 type 是否匹配(toolcall-${toolCallName})\n if (currentType.startsWith('toolcall')) {\n const updatedContent = {\n ...currentContent,\n data: this.toolCallMap[toolCallId],\n status,\n };\n\n this.reasoningContext.currentData = updateReasoningData(\n this.reasoningContext.currentData,\n currentIndex,\n updatedContent,\n );\n\n return createReasoningContent(this.reasoningContext.currentData, 'streaming', 'merge', false);\n }\n }\n return null;\n }\n // 独立模式:返回独立的 toolcall 更新\n // 通过相同的 type (toolcall-${toolCallName}) 来实现 merge\n return createToolCallContent(this.toolCallMap[toolCallId], status, 'merge');\n }\n\n /**\n * 重置 reasoning 上下文\n */\n private resetReasoningContext(): void {\n this.reasoningContext = {\n active: false,\n currentData: [],\n currentDataIndex: 0,\n };\n }\n}\n\nexport default AGUIEventMapper;\n"],"names":["AGUIEventMapper","_classCallCheck","_defineProperty","Set","active","currentData","currentDataIndex","_createClass","key","get","activityManager","value","mapEvent","chunk","event","parseSSEData","data","type","isTextMessageEvent","handleTextMessageEvent","isThinkingEvent","handleThinkingEvent","isToolCallEvent","handleToolCallEvent","isActivityEvent","handleActivityEvent","isStateEvent","handleStateEvent","handleOtherEvent","getToolCalls","Object","values","toolCallMap","clearToolCall","toolCallId","toolCallEnded","toolCallChunkStarted","getToolCall","isToolCallEnded","has","reset","clear","resetReasoningContext","currentTextMessageId","currentTextMessageRole","AGUIEventType","TEXT_MESSAGE_START","messageId","createMarkdownContent","TEXT_MESSAGE_CHUNK","handleTextMessageChunk","TEXT_MESSAGE_CONTENT","delta","TEXT_MESSAGE_END","role","THINKING_START","handleThinkingStart","THINKING_TEXT_MESSAGE_START","handleThinkingTextStart","THINKING_TEXT_MESSAGE_CONTENT","handleThinkingTextContent","THINKING_TEXT_MESSAGE_END","handleThinkingTextEnd","THINKING_END","handleThinkingEnd","TOOL_CALL_START","handleToolCallStart","TOOL_CALL_ARGS","handleToolCallArgs","TOOL_CALL_CHUNK","handleToolCallChunk","TOOL_CALL_RESULT","handleToolCallResult","TOOL_CALL_END","handleToolCallEnd","activityType","activityData","isSnapshot","ACTIVITY_SNAPSHOT","isFirstDelta","ACTIVITY_DELTA","getActivity","createActivityContent","content","deltaInfo","stateManager","MESSAGES_SNAPSHOT","handleMessagesSnapshot","messages","CUSTOM","handleCustomEvent","RUN_ERROR","createTextContent","message","error","reasoningContext","createReasoningContent","newTextContent","_addToReasoningData","addToReasoningData","index","createThinkingContent","title","currentIndex","currentContent","currentText","newText","mergeStringContent","updatedContent","status","updateReasoningData","text","_objectSpread","finalData","_toConsumableArray","add","eventType","toolCallName","parentMessageId","toolCallContent","createToolCallContent","_addToReasoningData2","currentArgs","args","newArgs","updateToolCall","updateToolCallInContext","concat","Date","now","Math","random","toString","substring","isFirstChunk","_addToReasoningData3","currentResult","result","newResult","suggestionContent","handleSuggestionToolCall","currentType","startsWith"],"mappings":"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"}
|