@tdesign-react/chat 1.0.2-alpha.9 → 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.js +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.js +1 -1
- package/es/chat-engine/components/activity/registry.d.ts +1 -1
- package/es/chat-engine/components/activity/registry.js +1 -1
- package/es/chat-engine/components/activity/registry.js.map +1 -1
- package/es/chat-engine/components/activity/render.d.ts +2 -2
- package/es/chat-engine/components/activity/render.js +1 -1
- package/es/chat-engine/components/activity/render.js.map +1 -1
- package/es/chat-engine/components/activity/types.js +1 -1
- package/es/chat-engine/components/index.d.ts +1 -0
- package/es/chat-engine/components/index.js +57 -9
- 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/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 +32 -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 +33 -4
- 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 +42 -2
- package/es/chat-engine/core/adapters/agui/event-mapper.js +90 -50
- 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 +22 -2
- package/es/chat-engine/core/adapters/agui/index.js +34 -14
- package/es/chat-engine/core/adapters/agui/index.js.map +1 -1
- package/es/chat-engine/core/adapters/agui/state-manager.js +1 -1
- 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/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 +16 -1
- package/es/chat-engine/core/index.js +174 -17
- 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 +17 -15
- 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 +2 -2
- package/es/chat-engine/core/store/message.js.map +1 -1
- package/es/chat-engine/core/store/model.js +1 -1
- package/es/chat-engine/core/store/reactiveState.js +1 -1
- package/es/chat-engine/core/type.d.ts +18 -2
- 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/index.js +1 -1
- package/es/chat-engine/core/utils/logger.js +1 -1
- 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 +38 -4
- 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 +1 -1
- package/es/chat-engine/hooks/useAgentActivity.js.map +1 -1
- 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 +40 -2
- 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 +1 -3
- package/es/chat-engine/index.js +30 -8
- 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 +27 -5
- package/es/index.js.map +1 -1
- package/es/style/index.js +1 -1
- package/package.json +6 -3
|
@@ -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;;;;"}
|
|
@@ -1,14 +1,20 @@
|
|
|
1
|
+
import type { ChatEventBusOptions, IChatEventBus } from './event-bus';
|
|
1
2
|
import { MessageStore } from './store/message';
|
|
2
3
|
import type { AIMessageContent, ChatMessagesData, ChatMessageSetterMode, ChatRequestParams, ChatServiceConfigSetter, ChatStatus, IChatEngine, ToolCall } from './type';
|
|
3
4
|
export default class ChatEngine implements IChatEngine {
|
|
4
5
|
messageStore: MessageStore;
|
|
6
|
+
/**
|
|
7
|
+
* 事件总线实例
|
|
8
|
+
* @description 用于发布/订阅引擎事件,支持无 UI 场景下的事件分发
|
|
9
|
+
*/
|
|
10
|
+
readonly eventBus: IChatEventBus;
|
|
5
11
|
private messageProcessor;
|
|
6
12
|
private llmService;
|
|
7
13
|
private config;
|
|
8
14
|
private lastRequestParams;
|
|
9
15
|
private stopReceive;
|
|
10
16
|
private aguiAdapter;
|
|
11
|
-
constructor();
|
|
17
|
+
constructor(eventBusOptions?: ChatEventBusOptions);
|
|
12
18
|
/**
|
|
13
19
|
* 获取当前所有消息
|
|
14
20
|
* @returns 消息数组
|
|
@@ -123,10 +129,19 @@ export default class ChatEngine implements IChatEngine {
|
|
|
123
129
|
* 支持单个内容块、多个内容块和增量更新
|
|
124
130
|
*/
|
|
125
131
|
private processMessageResult;
|
|
132
|
+
/**
|
|
133
|
+
* 发布 AG-UI 细粒度事件
|
|
134
|
+
* 根据内容类型分发到对应的事件通道
|
|
135
|
+
* todo: 这里的类型 any问题
|
|
136
|
+
*/
|
|
137
|
+
private emitAGUIDetailEvents;
|
|
126
138
|
private convertMessages;
|
|
127
139
|
private setMessageStatus;
|
|
128
140
|
private processContentUpdate;
|
|
129
141
|
}
|
|
130
142
|
export * from './utils';
|
|
131
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';
|
|
132
147
|
export type * from './type';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* tdesign v1.0.2-alpha.
|
|
2
|
+
* tdesign v1.0.2-alpha.15
|
|
3
3
|
* (c) 2026 tdesign
|
|
4
4
|
* @license MIT
|
|
5
5
|
*/
|
|
@@ -12,24 +12,30 @@ import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
|
12
12
|
import _regeneratorRuntime from '@babel/runtime/regenerator';
|
|
13
13
|
import { AGUIAdapter } from './adapters/agui/index.js';
|
|
14
14
|
export { AGUIAdapter } from './adapters/agui/index.js';
|
|
15
|
+
import './event-bus/index.js';
|
|
15
16
|
import { MessageStore } from './store/message.js';
|
|
16
17
|
import MessageProcessor from './processor/index.js';
|
|
17
18
|
import './server/index.js';
|
|
18
19
|
import { isAIMessage } from './utils/index.js';
|
|
19
20
|
export { applyJsonPatch, findTargetElement, getMessageContentForCopy, isAIMessage, isActivityContent, isAttachmentContent, isImageContent, isMarkdownContent, isReasoningContent, isSearchContent, isSuggestionContent, isTextContent, isThinkingContent, isToolCallContent, isUserMessage, safeParseJSON } from './utils/index.js';
|
|
20
|
-
import { LLMService } from './server/llm-service.js';
|
|
21
21
|
export { StateManagerImpl, stateManager } from './adapters/agui/state-manager.js';
|
|
22
|
+
export { activityManager } from './adapters/agui/activity-manager.js';
|
|
23
|
+
import { ChatEventBus } from './event-bus/ChatEventBus.js';
|
|
24
|
+
export { ChatEventBus, createEventBus } from './event-bus/ChatEventBus.js';
|
|
25
|
+
import { ChatEngineEventType } from './event-bus/types.js';
|
|
26
|
+
export { ChatEngineEventType } from './event-bus/types.js';
|
|
27
|
+
import { LLMService } from './server/llm-service.js';
|
|
28
|
+
export { AGUIEventType, ActivityDeltaEventSchema, ActivitySnapshotEventSchema, CustomEventSchema, EventSchemas, MessagesSnapshotEventSchema, RawEventSchema, RunErrorEventSchema, RunFinishedEventSchema, RunStartedEventSchema, StateDeltaEventSchema, StateSnapshotEventSchema, StepFinishedEventSchema, StepStartedEventSchema, TextMessageChunkEventSchema, TextMessageContentEventSchema, TextMessageEndEventSchema, TextMessageStartEventSchema, ThinkingEndEventSchema, ThinkingStartEventSchema, ThinkingTextMessageContentEventSchema, ThinkingTextMessageEndEventSchema, ThinkingTextMessageStartEventSchema, ToolCallArgsEventSchema, ToolCallChunkEventSchema, ToolCallEndEventSchema, ToolCallResultEventSchema, ToolCallStartEventSchema, isActivityEvent, isStateEvent, isTextMessageEvent, isThinkingEvent, isToolCallEvent } from './adapters/agui/events.js';
|
|
22
29
|
import '@babel/runtime/helpers/toConsumableArray';
|
|
23
30
|
import './adapters/agui/event-mapper.js';
|
|
24
|
-
import './adapters/agui/
|
|
31
|
+
import './adapters/agui/utils.js';
|
|
32
|
+
import '@babel/runtime/helpers/typeof';
|
|
25
33
|
import 'zod';
|
|
26
34
|
import './adapters/agui/types.js';
|
|
27
35
|
import '@babel/runtime/helpers/possibleConstructorReturn';
|
|
28
36
|
import '@babel/runtime/helpers/getPrototypeOf';
|
|
29
37
|
import '@babel/runtime/helpers/inherits';
|
|
30
38
|
import '@babel/runtime/helpers/wrapNativeSuper';
|
|
31
|
-
import './adapters/agui/utils.js';
|
|
32
|
-
import '@babel/runtime/helpers/typeof';
|
|
33
39
|
import '@babel/runtime/helpers/slicedToArray';
|
|
34
40
|
import '@babel/runtime/helpers/get';
|
|
35
41
|
import './store/reactiveState.js';
|
|
@@ -43,15 +49,19 @@ import './server/sse-parser.js';
|
|
|
43
49
|
import './server/batch-client.js';
|
|
44
50
|
|
|
45
51
|
var _excluded = ["prompt", "attachments"];
|
|
52
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
53
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
54
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
46
55
|
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; }
|
|
47
56
|
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; }
|
|
48
57
|
var ChatEngine = /*#__PURE__*/function () {
|
|
49
|
-
function ChatEngine() {
|
|
58
|
+
function ChatEngine(eventBusOptions) {
|
|
50
59
|
_classCallCheck(this, ChatEngine);
|
|
51
60
|
_defineProperty(this, "stopReceive", false);
|
|
52
61
|
_defineProperty(this, "aguiAdapter", null);
|
|
53
62
|
this.messageProcessor = new MessageProcessor();
|
|
54
63
|
this.messageStore = new MessageStore();
|
|
64
|
+
this.eventBus = new ChatEventBus(eventBusOptions);
|
|
55
65
|
}
|
|
56
66
|
return _createClass(ChatEngine, [{
|
|
57
67
|
key: "messages",
|
|
@@ -67,9 +77,13 @@ var ChatEngine = /*#__PURE__*/function () {
|
|
|
67
77
|
}, {
|
|
68
78
|
key: "destroy",
|
|
69
79
|
value: function destroy() {
|
|
80
|
+
this.eventBus.emit(ChatEngineEventType.ENGINE_DESTROY, {
|
|
81
|
+
timestamp: Date.now()
|
|
82
|
+
});
|
|
70
83
|
this.abortChat();
|
|
71
84
|
this.messageStore.clearHistory();
|
|
72
85
|
this.aguiAdapter = null;
|
|
86
|
+
this.eventBus.destroy();
|
|
73
87
|
}
|
|
74
88
|
}, {
|
|
75
89
|
key: "init",
|
|
@@ -80,6 +94,9 @@ var ChatEngine = /*#__PURE__*/function () {
|
|
|
80
94
|
if (this.config.protocol === "agui") {
|
|
81
95
|
this.aguiAdapter = new AGUIAdapter();
|
|
82
96
|
}
|
|
97
|
+
this.eventBus.emit(ChatEngineEventType.ENGINE_INIT, {
|
|
98
|
+
timestamp: Date.now()
|
|
99
|
+
});
|
|
83
100
|
}
|
|
84
101
|
}, {
|
|
85
102
|
key: "sendUserMessage",
|
|
@@ -112,6 +129,10 @@ var ChatEngine = /*#__PURE__*/function () {
|
|
|
112
129
|
userMessage = this.messageProcessor.createUserMessage(prompt, attachments);
|
|
113
130
|
aiMessage = this.messageProcessor.createAssistantMessage();
|
|
114
131
|
this.messageStore.createMultiMessages([userMessage, aiMessage]);
|
|
132
|
+
this.eventBus.emit(ChatEngineEventType.MESSAGE_CREATE, {
|
|
133
|
+
message: userMessage,
|
|
134
|
+
messages: this.messages
|
|
135
|
+
});
|
|
115
136
|
if (sendRequest) {
|
|
116
137
|
params = _objectSpread(_objectSpread({}, requestParams), {}, {
|
|
117
138
|
messageID: aiMessage.id
|
|
@@ -133,15 +154,21 @@ var ChatEngine = /*#__PURE__*/function () {
|
|
|
133
154
|
key: "sendSystemMessage",
|
|
134
155
|
value: function () {
|
|
135
156
|
var _sendSystemMessage = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(msg) {
|
|
157
|
+
var systemMessage;
|
|
136
158
|
return _regeneratorRuntime.wrap(function (_context2) {
|
|
137
159
|
while (1) switch (_context2.prev = _context2.next) {
|
|
138
160
|
case 0:
|
|
139
|
-
|
|
161
|
+
systemMessage = {
|
|
140
162
|
role: "system",
|
|
141
163
|
content: [{
|
|
142
164
|
type: "text",
|
|
143
165
|
data: msg
|
|
144
166
|
}]
|
|
167
|
+
};
|
|
168
|
+
this.messageStore.createMessage(systemMessage);
|
|
169
|
+
this.eventBus.emit(ChatEngineEventType.MESSAGE_CREATE, {
|
|
170
|
+
message: systemMessage,
|
|
171
|
+
messages: this.messages
|
|
145
172
|
});
|
|
146
173
|
case 1:
|
|
147
174
|
case "end":
|
|
@@ -176,6 +203,10 @@ var ChatEngine = /*#__PURE__*/function () {
|
|
|
176
203
|
status: sendRequest ? "pending" : "complete"
|
|
177
204
|
});
|
|
178
205
|
this.messageStore.createMessage(newAIMessage);
|
|
206
|
+
this.eventBus.emit(ChatEngineEventType.MESSAGE_CREATE, {
|
|
207
|
+
message: newAIMessage,
|
|
208
|
+
messages: this.messages
|
|
209
|
+
});
|
|
179
210
|
if (!sendRequest) {
|
|
180
211
|
_context3.next = 1;
|
|
181
212
|
break;
|
|
@@ -199,7 +230,7 @@ var ChatEngine = /*#__PURE__*/function () {
|
|
|
199
230
|
value: function () {
|
|
200
231
|
var _abortChat = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
|
|
201
232
|
var _this$config;
|
|
202
|
-
var _this$messageStore$la;
|
|
233
|
+
var _this$messageStore$la, messageId;
|
|
203
234
|
return _regeneratorRuntime.wrap(function (_context4) {
|
|
204
235
|
while (1) switch (_context4.prev = _context4.next) {
|
|
205
236
|
case 0:
|
|
@@ -215,7 +246,12 @@ var ChatEngine = /*#__PURE__*/function () {
|
|
|
215
246
|
this.llmService.closeConnect();
|
|
216
247
|
if (!this.config.stream) {
|
|
217
248
|
if ((_this$messageStore$la = this.messageStore.lastAIMessage) !== null && _this$messageStore$la !== void 0 && _this$messageStore$la.id) {
|
|
218
|
-
this.messageStore.
|
|
249
|
+
messageId = this.messageStore.lastAIMessage.id;
|
|
250
|
+
this.messageStore.removeMessage(messageId);
|
|
251
|
+
this.eventBus.emit(ChatEngineEventType.MESSAGE_DELETE, {
|
|
252
|
+
messageId: messageId,
|
|
253
|
+
messages: this.messages
|
|
254
|
+
});
|
|
219
255
|
}
|
|
220
256
|
}
|
|
221
257
|
} catch (error) {
|
|
@@ -247,6 +283,9 @@ var ChatEngine = /*#__PURE__*/function () {
|
|
|
247
283
|
key: "clearMessages",
|
|
248
284
|
value: function clearMessages() {
|
|
249
285
|
this.messageStore.clearHistory();
|
|
286
|
+
this.eventBus.emit(ChatEngineEventType.MESSAGE_CLEAR, {
|
|
287
|
+
timestamp: Date.now()
|
|
288
|
+
});
|
|
250
289
|
}
|
|
251
290
|
}, {
|
|
252
291
|
key: "regenerateAIMessage",
|
|
@@ -302,6 +341,10 @@ var ChatEngine = /*#__PURE__*/function () {
|
|
|
302
341
|
while (1) switch (_context6.prev = _context6.next) {
|
|
303
342
|
case 0:
|
|
304
343
|
id = params.messageID;
|
|
344
|
+
this.eventBus.emit(ChatEngineEventType.REQUEST_START, {
|
|
345
|
+
params: params,
|
|
346
|
+
messageId: id
|
|
347
|
+
});
|
|
305
348
|
_context6.prev = 1;
|
|
306
349
|
if (!this.config.stream) {
|
|
307
350
|
_context6.next = 3;
|
|
@@ -324,6 +367,11 @@ var ChatEngine = /*#__PURE__*/function () {
|
|
|
324
367
|
_context6.prev = 5;
|
|
325
368
|
_t = _context6["catch"](1);
|
|
326
369
|
this.setMessageStatus(id, "error");
|
|
370
|
+
this.eventBus.emit(ChatEngineEventType.REQUEST_ERROR, {
|
|
371
|
+
messageId: id,
|
|
372
|
+
error: _t,
|
|
373
|
+
params: params
|
|
374
|
+
});
|
|
327
375
|
throw _t;
|
|
328
376
|
case 6:
|
|
329
377
|
case "end":
|
|
@@ -346,7 +394,7 @@ var ChatEngine = /*#__PURE__*/function () {
|
|
|
346
394
|
key: "handleBatchRequest",
|
|
347
395
|
value: function () {
|
|
348
396
|
var _handleBatchRequest = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee7(params) {
|
|
349
|
-
var id, result;
|
|
397
|
+
var id, result, message;
|
|
350
398
|
return _regeneratorRuntime.wrap(function (_context7) {
|
|
351
399
|
while (1) switch (_context7.prev = _context7.next) {
|
|
352
400
|
case 0:
|
|
@@ -365,8 +413,21 @@ var ChatEngine = /*#__PURE__*/function () {
|
|
|
365
413
|
if (result) {
|
|
366
414
|
this.processMessageResult(id, result);
|
|
367
415
|
this.setMessageStatus(id, "complete");
|
|
416
|
+
message = this.messageStore.getMessageByID(id);
|
|
417
|
+
if (message) {
|
|
418
|
+
this.eventBus.emit(ChatEngineEventType.REQUEST_COMPLETE, {
|
|
419
|
+
messageId: id,
|
|
420
|
+
params: params,
|
|
421
|
+
message: message
|
|
422
|
+
});
|
|
423
|
+
}
|
|
368
424
|
} else {
|
|
369
425
|
this.setMessageStatus(id, "error");
|
|
426
|
+
this.eventBus.emit(ChatEngineEventType.REQUEST_ERROR, {
|
|
427
|
+
messageId: id,
|
|
428
|
+
error: new Error("Batch request returned empty result"),
|
|
429
|
+
params: params
|
|
430
|
+
});
|
|
370
431
|
}
|
|
371
432
|
case 3:
|
|
372
433
|
case "end":
|
|
@@ -385,6 +446,10 @@ var ChatEngine = /*#__PURE__*/function () {
|
|
|
385
446
|
var _this$config$onError, _this$config2;
|
|
386
447
|
this.setMessageStatus(id, "error");
|
|
387
448
|
(_this$config$onError = (_this$config2 = this.config).onError) === null || _this$config$onError === void 0 || _this$config$onError.call(_this$config2, error);
|
|
449
|
+
this.eventBus.emit(ChatEngineEventType.REQUEST_ERROR, {
|
|
450
|
+
messageId: id,
|
|
451
|
+
error: error
|
|
452
|
+
});
|
|
388
453
|
}
|
|
389
454
|
}, {
|
|
390
455
|
key: "handleComplete",
|
|
@@ -394,11 +459,26 @@ var ChatEngine = /*#__PURE__*/function () {
|
|
|
394
459
|
if (Array.isArray(customResult) || customResult && "status" in customResult) {
|
|
395
460
|
this.processMessageResult(id, customResult);
|
|
396
461
|
} else {
|
|
397
|
-
var allContentFailed = this.messageStore.messages.
|
|
462
|
+
var allContentFailed = this.messageStore.messages.find(function (content) {
|
|
398
463
|
return content.status === "error";
|
|
399
464
|
});
|
|
400
465
|
this.setMessageStatus(id, isAborted ? "stop" : allContentFailed ? "error" : "complete");
|
|
401
466
|
}
|
|
467
|
+
var message = this.messageStore.getMessageByID(id);
|
|
468
|
+
if (message) {
|
|
469
|
+
if (isAborted) {
|
|
470
|
+
this.eventBus.emit(ChatEngineEventType.REQUEST_ABORT, {
|
|
471
|
+
messageId: id,
|
|
472
|
+
params: params
|
|
473
|
+
});
|
|
474
|
+
} else {
|
|
475
|
+
this.eventBus.emit(ChatEngineEventType.REQUEST_COMPLETE, {
|
|
476
|
+
messageId: id,
|
|
477
|
+
params: params,
|
|
478
|
+
message: message
|
|
479
|
+
});
|
|
480
|
+
}
|
|
481
|
+
}
|
|
402
482
|
}
|
|
403
483
|
}, {
|
|
404
484
|
key: "handleStreamRequest",
|
|
@@ -448,18 +528,34 @@ var ChatEngine = /*#__PURE__*/function () {
|
|
|
448
528
|
return this.llmService.handleStreamRequest(params, _objectSpread(_objectSpread({}, this.config), {}, {
|
|
449
529
|
onMessage: function onMessage(chunk) {
|
|
450
530
|
if (_this.stopReceive || !messageId) return null;
|
|
451
|
-
var result;
|
|
531
|
+
var result = null;
|
|
452
532
|
if (_this.aguiAdapter) {
|
|
453
533
|
result = _this.aguiAdapter.handleAGUIEvent(chunk, {
|
|
454
534
|
onRunStart: function onRunStart(event) {
|
|
455
|
-
var _this$config$onStart, _this$config4;
|
|
456
|
-
|
|
535
|
+
var _this$aguiAdapter2, _this$config$onStart, _this$config4;
|
|
536
|
+
(_this$aguiAdapter2 = _this.aguiAdapter) === null || _this$aguiAdapter2 === void 0 || _this$aguiAdapter2.reset();
|
|
537
|
+
(_this$config$onStart = (_this$config4 = _this.config).onStart) === null || _this$config$onStart === void 0 || _this$config$onStart.call(_this$config4, JSON.stringify(event));
|
|
538
|
+
_this.eventBus.emit(ChatEngineEventType.AGUI_RUN_START, {
|
|
539
|
+
runId: event.runId || "",
|
|
540
|
+
threadId: event.threadId,
|
|
541
|
+
timestamp: Date.now()
|
|
542
|
+
});
|
|
457
543
|
},
|
|
458
|
-
onRunComplete: function onRunComplete(isAborted,
|
|
459
|
-
|
|
544
|
+
onRunComplete: function onRunComplete(isAborted, requestParams, event) {
|
|
545
|
+
_this.handleComplete(messageId, isAborted, requestParams, event);
|
|
546
|
+
if (!isAborted) {
|
|
547
|
+
_this.eventBus.emit(ChatEngineEventType.AGUI_RUN_COMPLETE, {
|
|
548
|
+
runId: (event === null || event === void 0 ? void 0 : event.runId) || "",
|
|
549
|
+
threadId: event === null || event === void 0 ? void 0 : event.threadId,
|
|
550
|
+
timestamp: Date.now()
|
|
551
|
+
});
|
|
552
|
+
}
|
|
460
553
|
},
|
|
461
554
|
onRunError: function onRunError(error) {
|
|
462
|
-
|
|
555
|
+
_this.handleError(messageId, error);
|
|
556
|
+
_this.eventBus.emit(ChatEngineEventType.AGUI_RUN_ERROR, {
|
|
557
|
+
error: error
|
|
558
|
+
});
|
|
463
559
|
}
|
|
464
560
|
});
|
|
465
561
|
}
|
|
@@ -469,6 +565,11 @@ var ChatEngine = /*#__PURE__*/function () {
|
|
|
469
565
|
result = userResult;
|
|
470
566
|
}
|
|
471
567
|
}
|
|
568
|
+
_this.eventBus.emit(ChatEngineEventType.REQUEST_STREAM, {
|
|
569
|
+
messageId: messageId,
|
|
570
|
+
chunk: chunk,
|
|
571
|
+
content: result
|
|
572
|
+
});
|
|
472
573
|
_this.processMessageResult(messageId, result);
|
|
473
574
|
return result;
|
|
474
575
|
},
|
|
@@ -512,6 +613,11 @@ var ChatEngine = /*#__PURE__*/function () {
|
|
|
512
613
|
if (_this2.config.onMessage) {
|
|
513
614
|
result = _this2.config.onMessage(chunk, _this2.messageStore.getMessageByID(messageId));
|
|
514
615
|
}
|
|
616
|
+
_this2.eventBus.emit(ChatEngineEventType.REQUEST_STREAM, {
|
|
617
|
+
messageId: messageId,
|
|
618
|
+
chunk: chunk,
|
|
619
|
+
content: result
|
|
620
|
+
});
|
|
515
621
|
_this2.processMessageResult(messageId, result);
|
|
516
622
|
return result;
|
|
517
623
|
},
|
|
@@ -544,6 +650,48 @@ var ChatEngine = /*#__PURE__*/function () {
|
|
|
544
650
|
} else {
|
|
545
651
|
this.processContentUpdate(messageId, result);
|
|
546
652
|
}
|
|
653
|
+
var message = this.messageStore.getMessageByID(messageId);
|
|
654
|
+
if (message) {
|
|
655
|
+
this.eventBus.emit(ChatEngineEventType.MESSAGE_UPDATE, {
|
|
656
|
+
messageId: messageId,
|
|
657
|
+
content: result,
|
|
658
|
+
message: message
|
|
659
|
+
});
|
|
660
|
+
if (this.aguiAdapter) {
|
|
661
|
+
this.emitAGUIDetailEvents(messageId, result);
|
|
662
|
+
}
|
|
663
|
+
}
|
|
664
|
+
}
|
|
665
|
+
}, {
|
|
666
|
+
key: "emitAGUIDetailEvents",
|
|
667
|
+
value: function emitAGUIDetailEvents(messageId, result) {
|
|
668
|
+
var contents = Array.isArray(result) ? result : [result];
|
|
669
|
+
var _iterator = _createForOfIteratorHelper(contents),
|
|
670
|
+
_step;
|
|
671
|
+
try {
|
|
672
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
673
|
+
var _content$data2;
|
|
674
|
+
var content = _step.value;
|
|
675
|
+
if (content.data.activityType) {
|
|
676
|
+
var _content$data;
|
|
677
|
+
this.eventBus.emit(ChatEngineEventType.AGUI_ACTIVITY, {
|
|
678
|
+
activityType: content.data.activityType,
|
|
679
|
+
messageId: messageId,
|
|
680
|
+
content: content === null || content === void 0 || (_content$data = content.data) === null || _content$data === void 0 ? void 0 : _content$data.content
|
|
681
|
+
});
|
|
682
|
+
}
|
|
683
|
+
if (content !== null && content !== void 0 && (_content$data2 = content.data) !== null && _content$data2 !== void 0 && (_content$data2 = _content$data2.eventType) !== null && _content$data2 !== void 0 && _content$data2.startsWith("TOOL_CALL")) {
|
|
684
|
+
this.eventBus.emit(ChatEngineEventType.AGUI_TOOLCALL, {
|
|
685
|
+
toolCall: content.data,
|
|
686
|
+
eventType: content.data.eventType
|
|
687
|
+
});
|
|
688
|
+
}
|
|
689
|
+
}
|
|
690
|
+
} catch (err) {
|
|
691
|
+
_iterator.e(err);
|
|
692
|
+
} finally {
|
|
693
|
+
_iterator.f();
|
|
694
|
+
}
|
|
547
695
|
}
|
|
548
696
|
}, {
|
|
549
697
|
key: "convertMessages",
|
|
@@ -562,7 +710,16 @@ var ChatEngine = /*#__PURE__*/function () {
|
|
|
562
710
|
}, {
|
|
563
711
|
key: "setMessageStatus",
|
|
564
712
|
value: function setMessageStatus(messageId, status) {
|
|
713
|
+
var _this$messageStore$ge;
|
|
714
|
+
var previousStatus = (_this$messageStore$ge = this.messageStore.getMessageByID(messageId)) === null || _this$messageStore$ge === void 0 ? void 0 : _this$messageStore$ge.status;
|
|
565
715
|
this.messageStore.setMessageStatus(messageId, status);
|
|
716
|
+
if (status) {
|
|
717
|
+
this.eventBus.emit(ChatEngineEventType.MESSAGE_STATUS_CHANGE, {
|
|
718
|
+
messageId: messageId,
|
|
719
|
+
status: status,
|
|
720
|
+
previousStatus: previousStatus
|
|
721
|
+
});
|
|
722
|
+
}
|
|
566
723
|
}
|
|
567
724
|
}, {
|
|
568
725
|
key: "processContentUpdate",
|