@tdesign-react/chat 1.0.2-alpha.8 → 1.1.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/_chunks/dep-f2051ebd.js +839 -0
- package/es/_chunks/dep-f2051ebd.js.map +1 -0
- package/es/_util/reactify.d.ts +1 -2
- package/es/_util/reactify.js +81 -231
- package/es/_util/reactify.js.map +1 -1
- package/es/_util/useDynamicStyle.js +1 -1
- package/es/attachments/index.js +4 -6
- package/es/attachments/index.js.map +1 -1
- package/es/chat-actionbar/_example-js/base.d.ts +2 -0
- package/es/chat-actionbar/_example-js/custom.d.ts +2 -0
- package/es/chat-actionbar/_example-js/style.d.ts +2 -0
- package/es/chat-actionbar/index.js +4 -6
- package/es/chat-actionbar/index.js.map +1 -1
- package/es/chat-attachments/_example-js/base.d.ts +2 -0
- package/es/chat-attachments/_example-js/scroll-x.d.ts +2 -0
- package/es/chat-attachments/_example-js/scroll-y.d.ts +2 -0
- package/es/chat-attachments/index.js +3 -1
- package/es/chat-attachments/index.js.map +1 -1
- package/es/chat-engine/_example-js/agui-basic.d.ts +10 -0
- package/es/chat-engine/_example-js/agui-comprehensive.d.ts +2 -0
- package/es/chat-engine/_example-js/agui-test.d.ts +11 -0
- package/es/chat-engine/_example-js/agui-toolcall.d.ts +5 -0
- package/es/chat-engine/_example-js/agui-videoclip.d.ts +8 -0
- package/es/chat-engine/_example-js/agui.d.ts +1 -0
- package/es/chat-engine/_example-js/basic.d.ts +9 -0
- package/es/chat-engine/_example-js/components/HotelCard.d.ts +3 -0
- package/es/chat-engine/_example-js/components/HumanInputForm.d.ts +6 -0
- package/es/chat-engine/_example-js/components/HumanInputResult.d.ts +3 -0
- package/es/chat-engine/_example-js/components/ItineraryCard.d.ts +3 -0
- package/es/chat-engine/_example-js/components/PlanningStatePanel.d.ts +4 -0
- package/es/chat-engine/_example-js/components/Toolcall.d.ts +4 -0
- package/es/chat-engine/_example-js/components/WeatherCard.d.ts +3 -0
- package/es/chat-engine/_example-js/components/login.d.ts +1 -0
- package/es/chat-engine/_example-js/comprehensive.d.ts +12 -0
- package/es/chat-engine/_example-js/custom-content.d.ts +1 -0
- package/es/chat-engine/_example-js/hookComponent.d.ts +1 -0
- package/es/chat-engine/_example-js/initial-messages.d.ts +9 -0
- package/es/chat-engine/_example-js/instance-methods.d.ts +13 -0
- package/es/chat-engine/_example-js/travel-actions.d.ts +91 -0
- package/es/chat-engine/_example-js/travelToolcall.d.ts +1 -0
- 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/{chatbot/components/toolcall → chat-engine/components/activity}/index.d.ts +1 -0
- package/es/chat-engine/components/activity/index.js +18 -0
- package/es/chat-engine/components/activity/index.js.map +1 -0
- package/es/chat-engine/components/activity/registry.d.ts +44 -0
- package/es/{chatbot/components/toolcall → chat-engine/components/activity}/registry.js +32 -22
- package/es/chat-engine/components/activity/registry.js.map +1 -0
- package/es/chat-engine/components/activity/render.d.ts +11 -0
- package/es/chat-engine/components/activity/render.js +107 -0
- package/es/chat-engine/components/activity/render.js.map +1 -0
- package/es/chat-engine/components/activity/types.d.ts +32 -0
- package/es/chat-engine/components/activity/types.js +7 -0
- package/es/chat-engine/components/activity/types.js.map +1 -0
- package/es/chat-engine/components/index.d.ts +4 -0
- package/es/chat-engine/components/index.js +76 -0
- package/es/chat-engine/components/index.js.map +1 -0
- 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/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/index.d.ts +127 -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 +549 -0
- package/es/chat-engine/components/json-render/catalog.js +147 -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 +74 -0
- package/es/chat-engine/components/json-render/contexts/actions.js +290 -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 +45 -0
- package/es/chat-engine/components/json-render/contexts/data.js +104 -0
- package/es/chat-engine/components/json-render/contexts/data.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 +151 -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 +29 -0
- package/es/chat-engine/components/json-render/contexts/visibility.js +56 -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 +34 -0
- package/es/chat-engine/components/json-render/index.js +36 -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/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 +69 -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 +39 -2
- package/es/chat-engine/components/provider/agent-state.js.map +1 -1
- package/es/chat-engine/components/toolcall/index.js +35 -2
- package/es/chat-engine/components/toolcall/index.js.map +1 -1
- package/es/chat-engine/components/toolcall/registry.js +1 -1
- package/es/chat-engine/components/toolcall/render.d.ts +1 -1
- package/es/chat-engine/components/toolcall/render.js +102 -26
- 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/agui/activity-manager.d.ts +102 -0
- package/es/chat-engine/core/adapters/agui/activity-manager.js +144 -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 +149 -0
- package/es/chat-engine/core/adapters/agui/event-mapper.js +415 -0
- package/es/chat-engine/core/adapters/agui/event-mapper.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/events.d.ts +1550 -0
- package/es/chat-engine/core/adapters/agui/events.js +199 -0
- package/es/chat-engine/core/adapters/agui/events.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/index.d.ts +95 -0
- package/es/chat-engine/core/adapters/agui/index.js +195 -0
- package/es/chat-engine/core/adapters/agui/index.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/state-manager.d.ts +99 -0
- package/es/chat-engine/core/adapters/agui/state-manager.js +168 -0
- package/es/chat-engine/core/adapters/agui/state-manager.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/types.d.ts +818 -0
- package/es/chat-engine/core/adapters/agui/types.js +95 -0
- package/es/chat-engine/core/adapters/agui/types.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/utils.d.ts +203 -0
- package/es/chat-engine/core/adapters/agui/utils.js +330 -0
- package/es/chat-engine/core/adapters/agui/utils.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 +147 -0
- package/es/chat-engine/core/index.js +754 -0
- package/es/chat-engine/core/index.js.map +1 -0
- package/es/chat-engine/core/processor/index.d.ts +20 -0
- package/es/chat-engine/core/processor/index.js +146 -0
- package/es/chat-engine/core/processor/index.js.map +1 -0
- package/es/chat-engine/core/server/batch-client.d.ts +20 -0
- package/es/chat-engine/core/server/batch-client.js +114 -0
- package/es/chat-engine/core/server/batch-client.js.map +1 -0
- package/es/chat-engine/core/server/connection-manager.d.ts +39 -0
- package/es/chat-engine/core/server/connection-manager.js +84 -0
- package/es/chat-engine/core/server/connection-manager.js.map +1 -0
- package/es/chat-engine/core/server/errors.d.ts +22 -0
- package/es/chat-engine/core/server/errors.js +80 -0
- package/es/chat-engine/core/server/errors.js.map +1 -0
- package/es/chat-engine/core/server/index.d.ts +11 -0
- package/es/chat-engine/core/server/index.js +26 -0
- package/es/chat-engine/core/server/index.js.map +1 -0
- package/es/chat-engine/core/server/llm-service.d.ts +44 -0
- package/es/chat-engine/core/server/llm-service.js +200 -0
- package/es/chat-engine/core/server/llm-service.js.map +1 -0
- package/es/chat-engine/core/server/sse-client.d.ts +77 -0
- package/es/chat-engine/core/server/sse-client.js +362 -0
- package/es/chat-engine/core/server/sse-client.js.map +1 -0
- package/es/chat-engine/core/server/sse-parser.d.ts +49 -0
- package/es/chat-engine/core/server/sse-parser.js +116 -0
- package/es/chat-engine/core/server/sse-parser.js.map +1 -0
- package/es/chat-engine/core/server/types.d.ts +54 -0
- package/es/chat-engine/core/server/types.js +28 -0
- package/es/chat-engine/core/server/types.js.map +1 -0
- package/es/chat-engine/core/store/message.d.ts +27 -0
- package/es/chat-engine/core/store/message.js +263 -0
- package/es/chat-engine/core/store/message.js.map +1 -0
- package/es/chat-engine/core/store/model.d.ts +8 -0
- package/es/chat-engine/core/store/model.js +65 -0
- package/es/chat-engine/core/store/model.js.map +1 -0
- package/es/chat-engine/core/store/reactiveState.d.ts +52 -0
- package/es/chat-engine/core/store/reactiveState.js +1359 -0
- package/es/chat-engine/core/store/reactiveState.js.map +1 -0
- package/es/chat-engine/core/type.d.ts +271 -0
- package/es/chat-engine/core/type.js +7 -0
- package/es/chat-engine/core/type.js.map +1 -0
- package/es/chat-engine/core/utils/eventEmitter.d.ts +10 -0
- package/es/chat-engine/core/utils/eventEmitter.js +67 -0
- package/es/chat-engine/core/utils/eventEmitter.js.map +1 -0
- package/es/chat-engine/core/utils/index.d.ts +33 -0
- package/es/chat-engine/core/utils/index.js +999 -0
- package/es/chat-engine/core/utils/index.js.map +1 -0
- package/es/chat-engine/core/utils/logger.d.ts +30 -0
- package/es/chat-engine/core/utils/logger.js +87 -0
- package/es/chat-engine/core/utils/logger.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/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.d.ts +4 -0
- package/es/chat-engine/hooks/index.js +54 -0
- package/es/chat-engine/hooks/index.js.map +1 -0
- package/es/chat-engine/hooks/useAgentActivity.d.ts +15 -0
- package/es/chat-engine/hooks/useAgentActivity.js +73 -0
- package/es/chat-engine/hooks/useAgentActivity.js.map +1 -0
- package/es/chat-engine/hooks/useAgentState.js +39 -2
- package/es/chat-engine/hooks/useAgentState.js.map +1 -1
- package/es/chat-engine/hooks/useAgentToolcall.js +1 -1
- package/es/chat-engine/hooks/useChat.d.ts +3 -3
- package/es/chat-engine/hooks/useChat.js +41 -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 +3 -3
- package/es/chat-engine/index.js +61 -5
- package/es/chat-engine/index.js.map +1 -1
- package/es/chat-filecard/_example-js/base.d.ts +1 -0
- package/es/chat-filecard/index.js +4 -6
- package/es/chat-filecard/index.js.map +1 -1
- package/es/chat-loading/_example-js/base.d.ts +2 -0
- package/es/chat-loading/_example-js/text.d.ts +2 -0
- package/es/chat-loading/index.js +4 -6
- package/es/chat-loading/index.js.map +1 -1
- package/es/chat-markdown/_example-js/base.d.ts +1 -0
- package/es/chat-markdown/_example-js/custom.d.ts +2 -0
- package/es/chat-markdown/_example-js/event.d.ts +1 -0
- package/es/chat-markdown/_example-js/footnote.d.ts +2 -0
- package/es/chat-markdown/_example-js/plugin.d.ts +2 -0
- package/es/chat-markdown/_example-js/theme.d.ts +2 -0
- package/es/chat-markdown/index.js +4 -6
- package/es/chat-markdown/index.js.map +1 -1
- package/es/chat-message/_example-js/action.d.ts +1 -0
- package/es/chat-message/_example-js/base.d.ts +1 -0
- package/es/chat-message/_example-js/configure.d.ts +1 -0
- package/es/chat-message/_example-js/content.d.ts +1 -0
- package/es/chat-message/_example-js/custom.d.ts +1 -0
- package/es/chat-message/_example-js/handle-actions.d.ts +7 -0
- package/es/chat-message/_example-js/status.d.ts +1 -0
- package/es/chat-message/_example-js/think.d.ts +1 -0
- package/es/chat-message/index.js +4 -6
- package/es/chat-message/index.js.map +1 -1
- package/es/chat-sender/_example-js/attachment.d.ts +2 -0
- package/es/chat-sender/_example-js/base.d.ts +2 -0
- package/es/chat-sender/_example-js/custom.d.ts +2 -0
- package/es/chat-sender/index.js +4 -6
- package/es/chat-sender/index.js.map +1 -1
- package/es/chat-thinking/_example-js/base.d.ts +1 -0
- package/es/chat-thinking/_example-js/style.d.ts +1 -0
- package/es/chat-thinking/index.js +4 -6
- package/es/chat-thinking/index.js.map +1 -1
- package/es/chatbot/_example-js/agent.d.ts +1 -0
- package/es/chatbot/_example-js/agui.d.ts +13 -0
- package/es/chatbot/_example-js/backup/travel.d.ts +1 -0
- package/es/chatbot/_example-js/basic.d.ts +1 -0
- package/es/chatbot/_example-js/code.d.ts +1 -0
- package/es/chatbot/_example-js/components/ItineraryCard.d.ts +3 -0
- package/es/chatbot/_example-js/components/login.d.ts +1 -0
- package/es/chatbot/_example-js/comprehensive.d.ts +1 -0
- package/es/chatbot/_example-js/custom-content.d.ts +1 -0
- package/es/chatbot/_example-js/custom-merge.d.ts +1 -0
- package/es/chatbot/_example-js/custom.d.ts +1 -0
- package/es/chatbot/_example-js/docs.d.ts +1 -0
- package/es/chatbot/_example-js/image.d.ts +1 -0
- package/es/chatbot/_example-js/initial-messages.d.ts +9 -0
- package/es/chatbot/_example-js/instance-methods.d.ts +14 -0
- package/es/chatbot/_example-js/nostream.d.ts +1 -0
- package/es/chatbot/_example-js/quick-start.d.ts +9 -0
- package/es/chatbot/_example-js/research.d.ts +1 -0
- package/es/chatbot/_example-js/role-message-config.d.ts +22 -0
- package/es/chatbot/_example-js/sender-config.d.ts +20 -0
- package/es/chatbot/_example-js/service-config.d.ts +17 -0
- package/es/chatbot/_example-js/simple.d.ts +1 -0
- package/es/chatbot/_example-js/utils/messageRenderer.d.ts +5 -0
- package/es/chatbot/docs/react-best-practice.d.ts +13 -0
- package/es/chatbot/index.js +4 -6
- package/es/chatbot/index.js.map +1 -1
- package/es/index.js +59 -9
- package/es/index.js.map +1 -1
- package/es/style/index.js +1 -1
- package/package.json +6 -3
- package/es/chatbot/components/provider/agent-state.d.ts +0 -5
- package/es/chatbot/components/provider/agent-state.js +0 -28
- package/es/chatbot/components/provider/agent-state.js.map +0 -1
- package/es/chatbot/components/toolcall/index.js +0 -19
- package/es/chatbot/components/toolcall/registry.d.ts +0 -35
- package/es/chatbot/components/toolcall/registry.js.map +0 -1
- package/es/chatbot/components/toolcall/render.d.ts +0 -13
- package/es/chatbot/components/toolcall/render.js +0 -207
- package/es/chatbot/components/toolcall/render.js.map +0 -1
- package/es/chatbot/components/toolcall/types.d.ts +0 -57
- package/es/chatbot/components/toolcall/types.js +0 -15
- package/es/chatbot/components/toolcall/types.js.map +0 -1
- package/es/chatbot/hooks/useAgentState.d.ts +0 -40
- package/es/chatbot/hooks/useAgentState.js +0 -76
- package/es/chatbot/hooks/useAgentState.js.map +0 -1
- package/es/chatbot/hooks/useAgentToolcall.d.ts +0 -28
- package/es/chatbot/hooks/useAgentToolcall.js +0 -78
- package/es/chatbot/hooks/useAgentToolcall.js.map +0 -1
- package/es/chatbot/hooks/useChat.d.ts +0 -11
- package/es/chatbot/hooks/useChat.js +0 -66
- package/es/chatbot/hooks/useChat.js.map +0 -1
- /package/es/{chatbot/components/toolcall → chat-engine/hooks/a2ui}/index.js.map +0 -0
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ChatEngine 事件总线类型定义
|
|
3
|
+
*/
|
|
4
|
+
import type { AIMessageContent, ChatMessagesData, ChatRequestParams, ChatStatus, ToolCall } from '../type';
|
|
5
|
+
/**
|
|
6
|
+
* 事件类型枚举
|
|
7
|
+
*/
|
|
8
|
+
export declare enum ChatEngineEventType {
|
|
9
|
+
ENGINE_INIT = "engine:init",
|
|
10
|
+
ENGINE_DESTROY = "engine:destroy",
|
|
11
|
+
MESSAGE_CREATE = "message:create",
|
|
12
|
+
MESSAGE_UPDATE = "message:update",
|
|
13
|
+
MESSAGE_DELETE = "message:delete",
|
|
14
|
+
MESSAGE_CLEAR = "message:clear",
|
|
15
|
+
MESSAGE_STATUS_CHANGE = "message:status",
|
|
16
|
+
MESSAGE_CONTENT_APPEND = "message:content:append",
|
|
17
|
+
REQUEST_START = "request:start",
|
|
18
|
+
REQUEST_STREAM = "request:stream",
|
|
19
|
+
REQUEST_COMPLETE = "request:complete",
|
|
20
|
+
REQUEST_ERROR = "request:error",
|
|
21
|
+
REQUEST_ABORT = "request:abort",
|
|
22
|
+
AGUI_RUN_START = "agui:run:start",
|
|
23
|
+
AGUI_RUN_COMPLETE = "agui:run:complete",
|
|
24
|
+
AGUI_RUN_ERROR = "agui:run:error",
|
|
25
|
+
AGUI_STATE_UPDATE = "agui:state:update",
|
|
26
|
+
AGUI_TOOLCALL = "agui:toolcall",
|
|
27
|
+
AGUI_ACTIVITY = "agui:activity",
|
|
28
|
+
CUSTOM = "custom"
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* 事件载荷类型映射
|
|
32
|
+
*/
|
|
33
|
+
export interface ChatEngineEventPayloadMap {
|
|
34
|
+
[ChatEngineEventType.ENGINE_INIT]: {
|
|
35
|
+
timestamp: number;
|
|
36
|
+
};
|
|
37
|
+
[ChatEngineEventType.ENGINE_DESTROY]: {
|
|
38
|
+
timestamp: number;
|
|
39
|
+
};
|
|
40
|
+
[ChatEngineEventType.MESSAGE_CREATE]: {
|
|
41
|
+
message: ChatMessagesData;
|
|
42
|
+
messages: ChatMessagesData[];
|
|
43
|
+
};
|
|
44
|
+
[ChatEngineEventType.MESSAGE_UPDATE]: {
|
|
45
|
+
messageId: string;
|
|
46
|
+
content: AIMessageContent | AIMessageContent[];
|
|
47
|
+
message: ChatMessagesData;
|
|
48
|
+
};
|
|
49
|
+
[ChatEngineEventType.MESSAGE_DELETE]: {
|
|
50
|
+
messageId: string;
|
|
51
|
+
messages: ChatMessagesData[];
|
|
52
|
+
};
|
|
53
|
+
[ChatEngineEventType.MESSAGE_CLEAR]: {
|
|
54
|
+
timestamp: number;
|
|
55
|
+
};
|
|
56
|
+
[ChatEngineEventType.MESSAGE_STATUS_CHANGE]: {
|
|
57
|
+
messageId: string;
|
|
58
|
+
status: ChatStatus;
|
|
59
|
+
previousStatus?: ChatStatus;
|
|
60
|
+
};
|
|
61
|
+
[ChatEngineEventType.MESSAGE_CONTENT_APPEND]: {
|
|
62
|
+
messageId: string;
|
|
63
|
+
content: AIMessageContent;
|
|
64
|
+
contentIndex: number;
|
|
65
|
+
};
|
|
66
|
+
[ChatEngineEventType.REQUEST_START]: {
|
|
67
|
+
params: ChatRequestParams;
|
|
68
|
+
messageId?: string;
|
|
69
|
+
};
|
|
70
|
+
[ChatEngineEventType.REQUEST_STREAM]: {
|
|
71
|
+
messageId: string;
|
|
72
|
+
chunk: unknown;
|
|
73
|
+
content?: AIMessageContent | AIMessageContent[] | null;
|
|
74
|
+
};
|
|
75
|
+
[ChatEngineEventType.REQUEST_COMPLETE]: {
|
|
76
|
+
messageId: string;
|
|
77
|
+
params: ChatRequestParams;
|
|
78
|
+
message: ChatMessagesData;
|
|
79
|
+
};
|
|
80
|
+
[ChatEngineEventType.REQUEST_ERROR]: {
|
|
81
|
+
messageId: string;
|
|
82
|
+
error: Error | unknown;
|
|
83
|
+
params?: ChatRequestParams;
|
|
84
|
+
};
|
|
85
|
+
[ChatEngineEventType.REQUEST_ABORT]: {
|
|
86
|
+
messageId: string;
|
|
87
|
+
params: ChatRequestParams;
|
|
88
|
+
};
|
|
89
|
+
[ChatEngineEventType.AGUI_RUN_START]: {
|
|
90
|
+
runId: string;
|
|
91
|
+
threadId?: string;
|
|
92
|
+
timestamp: number;
|
|
93
|
+
};
|
|
94
|
+
[ChatEngineEventType.AGUI_RUN_COMPLETE]: {
|
|
95
|
+
runId: string;
|
|
96
|
+
threadId?: string;
|
|
97
|
+
timestamp: number;
|
|
98
|
+
};
|
|
99
|
+
[ChatEngineEventType.AGUI_RUN_ERROR]: {
|
|
100
|
+
error: Error | unknown;
|
|
101
|
+
runId?: string;
|
|
102
|
+
};
|
|
103
|
+
[ChatEngineEventType.AGUI_STATE_UPDATE]: {
|
|
104
|
+
stateKey: string;
|
|
105
|
+
state: unknown;
|
|
106
|
+
previousState?: unknown;
|
|
107
|
+
};
|
|
108
|
+
[ChatEngineEventType.AGUI_TOOLCALL]: {
|
|
109
|
+
toolCall: ToolCall;
|
|
110
|
+
eventType: string;
|
|
111
|
+
};
|
|
112
|
+
[ChatEngineEventType.AGUI_ACTIVITY]: {
|
|
113
|
+
activityType: string;
|
|
114
|
+
messageId?: string;
|
|
115
|
+
content: unknown;
|
|
116
|
+
};
|
|
117
|
+
[ChatEngineEventType.CUSTOM]: {
|
|
118
|
+
eventName: string;
|
|
119
|
+
data: unknown;
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* 事件回调函数类型
|
|
124
|
+
*/
|
|
125
|
+
export type EventCallback<T = unknown> = (payload: T) => void;
|
|
126
|
+
/**
|
|
127
|
+
* 取消订阅函数类型
|
|
128
|
+
*/
|
|
129
|
+
export type UnsubscribeFn = () => void;
|
|
130
|
+
/**
|
|
131
|
+
* 事件过滤器类型
|
|
132
|
+
*/
|
|
133
|
+
export type EventFilter<T = unknown> = (payload: T) => boolean;
|
|
134
|
+
/**
|
|
135
|
+
* 事件总线配置
|
|
136
|
+
*/
|
|
137
|
+
export interface ChatEventBusOptions {
|
|
138
|
+
/**
|
|
139
|
+
* 是否启用调试模式
|
|
140
|
+
* @default false
|
|
141
|
+
*/
|
|
142
|
+
debug?: boolean;
|
|
143
|
+
/**
|
|
144
|
+
* 最大监听器数量(每个事件)
|
|
145
|
+
* @default 100
|
|
146
|
+
*/
|
|
147
|
+
maxListeners?: number;
|
|
148
|
+
/**
|
|
149
|
+
* 事件历史记录长度(用于调试)
|
|
150
|
+
* @default 0
|
|
151
|
+
*/
|
|
152
|
+
historySize?: number;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* 事件历史记录
|
|
156
|
+
*/
|
|
157
|
+
export interface EventHistoryItem {
|
|
158
|
+
event: ChatEngineEventType | string;
|
|
159
|
+
payload: unknown;
|
|
160
|
+
timestamp: number;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* 事件总线接口
|
|
164
|
+
*/
|
|
165
|
+
export interface IChatEventBus {
|
|
166
|
+
/**
|
|
167
|
+
* 订阅事件
|
|
168
|
+
* @param event 事件类型
|
|
169
|
+
* @param callback 回调函数
|
|
170
|
+
* @returns 取消订阅函数
|
|
171
|
+
*/
|
|
172
|
+
on<E extends ChatEngineEventType>(event: E, callback: EventCallback<ChatEngineEventPayloadMap[E]>): UnsubscribeFn;
|
|
173
|
+
/**
|
|
174
|
+
* 一次性订阅
|
|
175
|
+
* @param event 事件类型
|
|
176
|
+
* @param callback 回调函数
|
|
177
|
+
* @returns 取消订阅函数
|
|
178
|
+
*/
|
|
179
|
+
once<E extends ChatEngineEventType>(event: E, callback: EventCallback<ChatEngineEventPayloadMap[E]>): UnsubscribeFn;
|
|
180
|
+
/**
|
|
181
|
+
* 取消订阅
|
|
182
|
+
* @param event 事件类型
|
|
183
|
+
* @param callback 可选的回调函数,不传则取消该事件所有订阅
|
|
184
|
+
*/
|
|
185
|
+
off<E extends ChatEngineEventType>(event: E, callback?: EventCallback<ChatEngineEventPayloadMap[E]>): void;
|
|
186
|
+
/**
|
|
187
|
+
* 发布事件
|
|
188
|
+
* @param event 事件类型
|
|
189
|
+
* @param payload 事件载荷
|
|
190
|
+
*/
|
|
191
|
+
emit<E extends ChatEngineEventType>(event: E, payload: ChatEngineEventPayloadMap[E]): void;
|
|
192
|
+
/**
|
|
193
|
+
* 等待事件(Promise 方式)
|
|
194
|
+
* @param event 事件类型
|
|
195
|
+
* @param timeout 超时时间(毫秒)
|
|
196
|
+
* @returns Promise
|
|
197
|
+
*/
|
|
198
|
+
waitFor<E extends ChatEngineEventType>(event: E, timeout?: number): Promise<ChatEngineEventPayloadMap[E]>;
|
|
199
|
+
/**
|
|
200
|
+
* 带过滤条件的等待
|
|
201
|
+
* @param event 事件类型
|
|
202
|
+
* @param filter 过滤函数
|
|
203
|
+
* @param timeout 超时时间
|
|
204
|
+
*/
|
|
205
|
+
waitForMatch<E extends ChatEngineEventType>(event: E, filter: EventFilter<ChatEngineEventPayloadMap[E]>, timeout?: number): Promise<ChatEngineEventPayloadMap[E]>;
|
|
206
|
+
/**
|
|
207
|
+
* 订阅自定义事件
|
|
208
|
+
* @param eventName 自定义事件名
|
|
209
|
+
* @param callback 回调函数
|
|
210
|
+
*/
|
|
211
|
+
onCustom<T = unknown>(eventName: string, callback: EventCallback<T>): UnsubscribeFn;
|
|
212
|
+
/**
|
|
213
|
+
* 发布自定义事件
|
|
214
|
+
* @param eventName 自定义事件名
|
|
215
|
+
* @param data 数据
|
|
216
|
+
*/
|
|
217
|
+
emitCustom<T = unknown>(eventName: string, data: T): void;
|
|
218
|
+
/**
|
|
219
|
+
* 获取事件历史记录
|
|
220
|
+
*/
|
|
221
|
+
getHistory(): EventHistoryItem[];
|
|
222
|
+
/**
|
|
223
|
+
* 清理所有订阅
|
|
224
|
+
*/
|
|
225
|
+
clear(): void;
|
|
226
|
+
/**
|
|
227
|
+
* 销毁事件总线
|
|
228
|
+
*/
|
|
229
|
+
destroy(): void;
|
|
230
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.0.2-alpha.15
|
|
3
|
+
* (c) 2026 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
var ChatEngineEventType = /* @__PURE__ */function (ChatEngineEventType2) {
|
|
8
|
+
ChatEngineEventType2["ENGINE_INIT"] = "engine:init";
|
|
9
|
+
ChatEngineEventType2["ENGINE_DESTROY"] = "engine:destroy";
|
|
10
|
+
ChatEngineEventType2["MESSAGE_CREATE"] = "message:create";
|
|
11
|
+
ChatEngineEventType2["MESSAGE_UPDATE"] = "message:update";
|
|
12
|
+
ChatEngineEventType2["MESSAGE_DELETE"] = "message:delete";
|
|
13
|
+
ChatEngineEventType2["MESSAGE_CLEAR"] = "message:clear";
|
|
14
|
+
ChatEngineEventType2["MESSAGE_STATUS_CHANGE"] = "message:status";
|
|
15
|
+
ChatEngineEventType2["MESSAGE_CONTENT_APPEND"] = "message:content:append";
|
|
16
|
+
ChatEngineEventType2["REQUEST_START"] = "request:start";
|
|
17
|
+
ChatEngineEventType2["REQUEST_STREAM"] = "request:stream";
|
|
18
|
+
ChatEngineEventType2["REQUEST_COMPLETE"] = "request:complete";
|
|
19
|
+
ChatEngineEventType2["REQUEST_ERROR"] = "request:error";
|
|
20
|
+
ChatEngineEventType2["REQUEST_ABORT"] = "request:abort";
|
|
21
|
+
ChatEngineEventType2["AGUI_RUN_START"] = "agui:run:start";
|
|
22
|
+
ChatEngineEventType2["AGUI_RUN_COMPLETE"] = "agui:run:complete";
|
|
23
|
+
ChatEngineEventType2["AGUI_RUN_ERROR"] = "agui:run:error";
|
|
24
|
+
ChatEngineEventType2["AGUI_STATE_UPDATE"] = "agui:state:update";
|
|
25
|
+
ChatEngineEventType2["AGUI_TOOLCALL"] = "agui:toolcall";
|
|
26
|
+
ChatEngineEventType2["AGUI_ACTIVITY"] = "agui:activity";
|
|
27
|
+
ChatEngineEventType2["CUSTOM"] = "custom";
|
|
28
|
+
return ChatEngineEventType2;
|
|
29
|
+
}(ChatEngineEventType || {});
|
|
30
|
+
|
|
31
|
+
export { ChatEngineEventType };
|
|
32
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sources":["../../../../../pro-components/chat/chat-engine/core/event-bus/types.ts"],"sourcesContent":["/**\n * ChatEngine 事件总线类型定义\n */\nimport type { AIMessageContent, ChatMessagesData, ChatRequestParams, ChatStatus, ToolCall } from '../type';\n\n/**\n * 事件类型枚举\n */\nexport enum ChatEngineEventType {\n // 生命周期事件\n ENGINE_INIT = 'engine:init',\n ENGINE_DESTROY = 'engine:destroy',\n\n // 消息事件\n MESSAGE_CREATE = 'message:create',\n MESSAGE_UPDATE = 'message:update',\n MESSAGE_DELETE = 'message:delete',\n MESSAGE_CLEAR = 'message:clear',\n MESSAGE_STATUS_CHANGE = 'message:status',\n MESSAGE_CONTENT_APPEND = 'message:content:append',\n\n // 请求事件\n REQUEST_START = 'request:start',\n REQUEST_STREAM = 'request:stream',\n REQUEST_COMPLETE = 'request:complete',\n REQUEST_ERROR = 'request:error',\n REQUEST_ABORT = 'request:abort',\n\n // AG-UI 协议事件\n AGUI_RUN_START = 'agui:run:start',\n AGUI_RUN_COMPLETE = 'agui:run:complete',\n AGUI_RUN_ERROR = 'agui:run:error',\n AGUI_STATE_UPDATE = 'agui:state:update',\n AGUI_TOOLCALL = 'agui:toolcall',\n AGUI_ACTIVITY = 'agui:activity',\n\n // 自定义事件\n CUSTOM = 'custom',\n}\n\n/**\n * 事件载荷类型映射\n */\nexport interface ChatEngineEventPayloadMap {\n // 生命周期事件\n [ChatEngineEventType.ENGINE_INIT]: {\n timestamp: number;\n };\n [ChatEngineEventType.ENGINE_DESTROY]: {\n timestamp: number;\n };\n\n // 消息事件\n [ChatEngineEventType.MESSAGE_CREATE]: {\n message: ChatMessagesData;\n messages: ChatMessagesData[];\n };\n [ChatEngineEventType.MESSAGE_UPDATE]: {\n messageId: string;\n content: AIMessageContent | AIMessageContent[];\n message: ChatMessagesData;\n };\n [ChatEngineEventType.MESSAGE_DELETE]: {\n messageId: string;\n messages: ChatMessagesData[];\n };\n [ChatEngineEventType.MESSAGE_CLEAR]: {\n timestamp: number;\n };\n [ChatEngineEventType.MESSAGE_STATUS_CHANGE]: {\n messageId: string;\n status: ChatStatus;\n previousStatus?: ChatStatus;\n };\n [ChatEngineEventType.MESSAGE_CONTENT_APPEND]: {\n messageId: string;\n content: AIMessageContent;\n contentIndex: number;\n };\n\n // 请求事件\n [ChatEngineEventType.REQUEST_START]: {\n params: ChatRequestParams;\n messageId?: string;\n };\n [ChatEngineEventType.REQUEST_STREAM]: {\n messageId: string;\n chunk: unknown;\n content?: AIMessageContent | AIMessageContent[] | null;\n };\n [ChatEngineEventType.REQUEST_COMPLETE]: {\n messageId: string;\n params: ChatRequestParams;\n message: ChatMessagesData;\n };\n [ChatEngineEventType.REQUEST_ERROR]: {\n messageId: string;\n error: Error | unknown;\n params?: ChatRequestParams;\n };\n [ChatEngineEventType.REQUEST_ABORT]: {\n messageId: string;\n params: ChatRequestParams;\n };\n\n // AG-UI 协议事件\n [ChatEngineEventType.AGUI_RUN_START]: {\n runId: string;\n threadId?: string;\n timestamp: number;\n };\n [ChatEngineEventType.AGUI_RUN_COMPLETE]: {\n runId: string;\n threadId?: string;\n timestamp: number;\n };\n [ChatEngineEventType.AGUI_RUN_ERROR]: {\n error: Error | unknown;\n runId?: string;\n };\n [ChatEngineEventType.AGUI_STATE_UPDATE]: {\n stateKey: string;\n state: unknown;\n previousState?: unknown;\n };\n [ChatEngineEventType.AGUI_TOOLCALL]: {\n toolCall: ToolCall;\n eventType: string;\n };\n [ChatEngineEventType.AGUI_ACTIVITY]: {\n activityType: string;\n messageId?: string;\n content: unknown;\n };\n\n // 自定义事件\n [ChatEngineEventType.CUSTOM]: {\n eventName: string;\n data: unknown;\n };\n}\n\n/**\n * 事件回调函数类型\n */\nexport type EventCallback<T = unknown> = (payload: T) => void;\n\n/**\n * 取消订阅函数类型\n */\nexport type UnsubscribeFn = () => void;\n\n/**\n * 事件过滤器类型\n */\nexport type EventFilter<T = unknown> = (payload: T) => boolean;\n\n/**\n * 事件总线配置\n */\nexport interface ChatEventBusOptions {\n /**\n * 是否启用调试模式\n * @default false\n */\n debug?: boolean;\n /**\n * 最大监听器数量(每个事件)\n * @default 100\n */\n maxListeners?: number;\n /**\n * 事件历史记录长度(用于调试)\n * @default 0\n */\n historySize?: number;\n}\n\n/**\n * 事件历史记录\n */\nexport interface EventHistoryItem {\n event: ChatEngineEventType | string;\n payload: unknown;\n timestamp: number;\n}\n\n/**\n * 事件总线接口\n */\nexport interface IChatEventBus {\n /**\n * 订阅事件\n * @param event 事件类型\n * @param callback 回调函数\n * @returns 取消订阅函数\n */\n on<E extends ChatEngineEventType>(event: E, callback: EventCallback<ChatEngineEventPayloadMap[E]>): UnsubscribeFn;\n\n /**\n * 一次性订阅\n * @param event 事件类型\n * @param callback 回调函数\n * @returns 取消订阅函数\n */\n once<E extends ChatEngineEventType>(event: E, callback: EventCallback<ChatEngineEventPayloadMap[E]>): UnsubscribeFn;\n\n /**\n * 取消订阅\n * @param event 事件类型\n * @param callback 可选的回调函数,不传则取消该事件所有订阅\n */\n off<E extends ChatEngineEventType>(event: E, callback?: EventCallback<ChatEngineEventPayloadMap[E]>): void;\n\n /**\n * 发布事件\n * @param event 事件类型\n * @param payload 事件载荷\n */\n emit<E extends ChatEngineEventType>(event: E, payload: ChatEngineEventPayloadMap[E]): void;\n\n /**\n * 等待事件(Promise 方式)\n * @param event 事件类型\n * @param timeout 超时时间(毫秒)\n * @returns Promise\n */\n waitFor<E extends ChatEngineEventType>(event: E, timeout?: number): Promise<ChatEngineEventPayloadMap[E]>;\n\n /**\n * 带过滤条件的等待\n * @param event 事件类型\n * @param filter 过滤函数\n * @param timeout 超时时间\n */\n waitForMatch<E extends ChatEngineEventType>(\n event: E,\n filter: EventFilter<ChatEngineEventPayloadMap[E]>,\n timeout?: number,\n ): Promise<ChatEngineEventPayloadMap[E]>;\n\n /**\n * 订阅自定义事件\n * @param eventName 自定义事件名\n * @param callback 回调函数\n */\n onCustom<T = unknown>(eventName: string, callback: EventCallback<T>): UnsubscribeFn;\n\n /**\n * 发布自定义事件\n * @param eventName 自定义事件名\n * @param data 数据\n */\n emitCustom<T = unknown>(eventName: string, data: T): void;\n\n /**\n * 获取事件历史记录\n */\n getHistory(): EventHistoryItem[];\n\n /**\n * 清理所有订阅\n */\n clear(): void;\n\n /**\n * 销毁事件总线\n */\n destroy(): void;\n}\n"],"names":["ChatEngineEventType"],"mappings":";;;;;;IAQYA,mBAAA,4BAAAA,oBAAL,EAAA;AAELA,EAAAA,qBAAA,aAAc,CAAA,GAAA,aAAA,CAAA;AACdA,EAAAA,qBAAA,gBAAiB,CAAA,GAAA,gBAAA,CAAA;AAGjBA,EAAAA,qBAAA,gBAAiB,CAAA,GAAA,gBAAA,CAAA;AACjBA,EAAAA,qBAAA,gBAAiB,CAAA,GAAA,gBAAA,CAAA;AACjBA,EAAAA,qBAAA,gBAAiB,CAAA,GAAA,gBAAA,CAAA;AACjBA,EAAAA,qBAAA,eAAgB,CAAA,GAAA,eAAA,CAAA;AAChBA,EAAAA,qBAAA,uBAAwB,CAAA,GAAA,gBAAA,CAAA;AACxBA,EAAAA,qBAAA,wBAAyB,CAAA,GAAA,wBAAA,CAAA;AAGzBA,EAAAA,qBAAA,eAAgB,CAAA,GAAA,eAAA,CAAA;AAChBA,EAAAA,qBAAA,gBAAiB,CAAA,GAAA,gBAAA,CAAA;AACjBA,EAAAA,qBAAA,kBAAmB,CAAA,GAAA,kBAAA,CAAA;AACnBA,EAAAA,qBAAA,eAAgB,CAAA,GAAA,eAAA,CAAA;AAChBA,EAAAA,qBAAA,eAAgB,CAAA,GAAA,eAAA,CAAA;AAGhBA,EAAAA,qBAAA,gBAAiB,CAAA,GAAA,gBAAA,CAAA;AACjBA,EAAAA,qBAAA,mBAAoB,CAAA,GAAA,mBAAA,CAAA;AACpBA,EAAAA,qBAAA,gBAAiB,CAAA,GAAA,gBAAA,CAAA;AACjBA,EAAAA,qBAAA,mBAAoB,CAAA,GAAA,mBAAA,CAAA;AACpBA,EAAAA,qBAAA,eAAgB,CAAA,GAAA,eAAA,CAAA;AAChBA,EAAAA,qBAAA,eAAgB,CAAA,GAAA,eAAA,CAAA;AAGhBA,EAAAA,qBAAA,QAAS,CAAA,GAAA,QAAA,CAAA;AA7BCA,EAAAA,OAAAA,oBAAAA,CAAAA;AAAA,CAAA,CAAAA,mBAAA,IAAA,EAAA;;;;"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import type { ChatEventBusOptions, IChatEventBus } from './event-bus';
|
|
2
|
+
import { MessageStore } from './store/message';
|
|
3
|
+
import type { AIMessageContent, ChatMessagesData, ChatMessageSetterMode, ChatRequestParams, ChatServiceConfigSetter, ChatStatus, IChatEngine, ToolCall } from './type';
|
|
4
|
+
export default class ChatEngine implements IChatEngine {
|
|
5
|
+
messageStore: MessageStore;
|
|
6
|
+
/**
|
|
7
|
+
* 事件总线实例
|
|
8
|
+
* @description 用于发布/订阅引擎事件,支持无 UI 场景下的事件分发
|
|
9
|
+
*/
|
|
10
|
+
readonly eventBus: IChatEventBus;
|
|
11
|
+
private messageProcessor;
|
|
12
|
+
private llmService;
|
|
13
|
+
private config;
|
|
14
|
+
private lastRequestParams;
|
|
15
|
+
private stopReceive;
|
|
16
|
+
private aguiAdapter;
|
|
17
|
+
constructor(eventBusOptions?: ChatEventBusOptions);
|
|
18
|
+
/**
|
|
19
|
+
* 获取当前所有消息
|
|
20
|
+
* @returns 消息数组
|
|
21
|
+
* @description 返回消息存储中的所有消息
|
|
22
|
+
*/
|
|
23
|
+
get messages(): ChatMessagesData[];
|
|
24
|
+
/**
|
|
25
|
+
* 获取当前聊天状态
|
|
26
|
+
* @returns 聊天状态:'idle'、'pending'、'streaming'、'complete'、'stop'或'error'
|
|
27
|
+
* @description 返回最后一条消息的状态,如果没有消息则返回'idle'
|
|
28
|
+
*/
|
|
29
|
+
get status(): ChatStatus;
|
|
30
|
+
/**
|
|
31
|
+
* 销毁聊天引擎实例
|
|
32
|
+
* @description 中止请求,清理消息存储和适配器,释放资源
|
|
33
|
+
*/
|
|
34
|
+
destroy(): void;
|
|
35
|
+
/**
|
|
36
|
+
* 初始化聊天引擎
|
|
37
|
+
* @param configSetter 聊天服务配置或配置生成函数
|
|
38
|
+
* @param initialMessages 初始消息列表,用于恢复历史对话
|
|
39
|
+
* @description 设置初始消息、配置服务参数,并根据协议类型初始化适配器
|
|
40
|
+
*/
|
|
41
|
+
init(configSetter: ChatServiceConfigSetter, initialMessages?: ChatMessagesData[]): void;
|
|
42
|
+
/**
|
|
43
|
+
* 发送用户消息并获取AI回复
|
|
44
|
+
* @param requestParams 请求参数,包含用户输入的文本和附件
|
|
45
|
+
* @param sendRequest 是否立即发送
|
|
46
|
+
* @description 创建用户消息和AI消息,并发送请求获取AI回复
|
|
47
|
+
*/
|
|
48
|
+
sendUserMessage(requestParams: ChatRequestParams, sendRequest?: boolean): Promise<void>;
|
|
49
|
+
/**
|
|
50
|
+
* 发送系统消息
|
|
51
|
+
* @param msg 系统消息文本内容
|
|
52
|
+
* @description 创建并存储一条系统消息,通常用于设置上下文或控制对话流程
|
|
53
|
+
*/
|
|
54
|
+
sendSystemMessage(msg: string): Promise<void>;
|
|
55
|
+
/**
|
|
56
|
+
* 手动发送AI消息
|
|
57
|
+
* @param options 包含请求参数params、发送消息内容content和是否发送请求的标志sendRequest
|
|
58
|
+
* @description 创建并存储一条AI消息,可选择是否同时发送请求
|
|
59
|
+
*/
|
|
60
|
+
sendAIMessage(options?: {
|
|
61
|
+
params?: ChatRequestParams;
|
|
62
|
+
content?: AIMessageContent[];
|
|
63
|
+
sendRequest?: boolean;
|
|
64
|
+
}): Promise<void>;
|
|
65
|
+
/**
|
|
66
|
+
* 中止当前进行中的聊天请求
|
|
67
|
+
* @description 停止接收流式响应,关闭连接,并调用配置的onAbort回调
|
|
68
|
+
*/
|
|
69
|
+
abortChat(): Promise<void>;
|
|
70
|
+
/**
|
|
71
|
+
* 注册内容块合并策略
|
|
72
|
+
* @param type 内容类型,如'text'、'markdown'等
|
|
73
|
+
* @param handler 合并处理函数,接收新块和现有块,返回合并后的内容块
|
|
74
|
+
* @description 用于自定义不同类型内容的增量更新逻辑
|
|
75
|
+
*/
|
|
76
|
+
registerMergeStrategy<T extends AIMessageContent>(type: T['type'], // 使用类型中定义的type字段作为参数类型
|
|
77
|
+
handler: (chunk: T, existing?: T) => T): void;
|
|
78
|
+
/**
|
|
79
|
+
* 设置消息列表
|
|
80
|
+
* @param messages 要设置的消息数组
|
|
81
|
+
* @param mode 设置模式:'replace'(替换)、'prepend'(前置)、'append'(追加),默认为'replace'
|
|
82
|
+
* @description 用于批量更新消息,如加载历史消息或重置对话
|
|
83
|
+
*/
|
|
84
|
+
setMessages(messages: ChatMessagesData[], mode?: ChatMessageSetterMode): void;
|
|
85
|
+
/**
|
|
86
|
+
* 清空所有消息
|
|
87
|
+
* @description 清除消息存储中的所有历史记录
|
|
88
|
+
*/
|
|
89
|
+
clearMessages(): void;
|
|
90
|
+
/**
|
|
91
|
+
* 重新生成AI回复
|
|
92
|
+
* @param keepVersion 是否保留历史版本,默认为false
|
|
93
|
+
* @description
|
|
94
|
+
* - 当keepVersion=false时:删除最后一条AI消息,创建新消息并重新请求
|
|
95
|
+
* - 当keepVersion=true时:保留旧消息,创建分支消息并重新请求
|
|
96
|
+
*/
|
|
97
|
+
regenerateAIMessage(keepVersion?: boolean): Promise<void>;
|
|
98
|
+
/**
|
|
99
|
+
* 发送请求获取AI回复
|
|
100
|
+
* @param params 请求参数
|
|
101
|
+
* @description 根据配置选择流式或批量请求模式,处理响应并更新消息状态
|
|
102
|
+
*/
|
|
103
|
+
sendRequest(params: ChatRequestParams): Promise<void>;
|
|
104
|
+
/**
|
|
105
|
+
* 根据名称获取工具调用
|
|
106
|
+
* @param name 工具调用名称
|
|
107
|
+
* @returns 匹配的工具调用对象,如果未找到则返回undefined
|
|
108
|
+
* @description 用于获取特定名称的工具调用信息,仅在AGUI协议下可用
|
|
109
|
+
*/
|
|
110
|
+
getToolcallByName(name: string): ToolCall | undefined;
|
|
111
|
+
private handleBatchRequest;
|
|
112
|
+
private handleError;
|
|
113
|
+
private handleComplete;
|
|
114
|
+
/**
|
|
115
|
+
* 处理流式请求
|
|
116
|
+
* 根据协议类型选择不同的处理策略
|
|
117
|
+
*/
|
|
118
|
+
private handleStreamRequest;
|
|
119
|
+
/**
|
|
120
|
+
* 处理AGUI协议的流式请求
|
|
121
|
+
*/
|
|
122
|
+
private handleAGUIStreamRequest;
|
|
123
|
+
/**
|
|
124
|
+
* 处理默认协议的流式请求
|
|
125
|
+
*/
|
|
126
|
+
private handleDefaultStreamRequest;
|
|
127
|
+
/**
|
|
128
|
+
* 统一处理消息结果
|
|
129
|
+
* 支持单个内容块、多个内容块和增量更新
|
|
130
|
+
*/
|
|
131
|
+
private processMessageResult;
|
|
132
|
+
/**
|
|
133
|
+
* 发布 AG-UI 细粒度事件
|
|
134
|
+
* 根据内容类型分发到对应的事件通道
|
|
135
|
+
* todo: 这里的类型 any问题
|
|
136
|
+
*/
|
|
137
|
+
private emitAGUIDetailEvents;
|
|
138
|
+
private convertMessages;
|
|
139
|
+
private setMessageStatus;
|
|
140
|
+
private processContentUpdate;
|
|
141
|
+
}
|
|
142
|
+
export * from './utils';
|
|
143
|
+
export * from './adapters/agui';
|
|
144
|
+
export * from './event-bus';
|
|
145
|
+
export { stateManager } from './adapters/agui/state-manager';
|
|
146
|
+
export { activityManager } from './adapters/agui/activity-manager';
|
|
147
|
+
export type * from './type';
|