@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,158 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.0.2-alpha.14
|
|
3
|
+
* (c) 2026 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import _typeof from '@babel/runtime/helpers/typeof';
|
|
8
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
9
|
+
import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
|
|
10
|
+
import _createClass from '@babel/runtime/helpers/createClass';
|
|
11
|
+
|
|
12
|
+
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; } } }; }
|
|
13
|
+
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; } }
|
|
14
|
+
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; }
|
|
15
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
16
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
17
|
+
var ComponentTree = /*#__PURE__*/function () {
|
|
18
|
+
function ComponentTree(components, dataStore, pathResolver) {
|
|
19
|
+
_classCallCheck(this, ComponentTree);
|
|
20
|
+
this.components = components;
|
|
21
|
+
this.dataStore = dataStore;
|
|
22
|
+
this.pathResolver = pathResolver;
|
|
23
|
+
this.root = this.buildTree("root", "/");
|
|
24
|
+
}
|
|
25
|
+
return _createClass(ComponentTree, [{
|
|
26
|
+
key: "buildTree",
|
|
27
|
+
value: function buildTree(componentId, dataContextPath) {
|
|
28
|
+
var _this = this;
|
|
29
|
+
var component = this.components.get(componentId);
|
|
30
|
+
if (!component) {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
var resolved = _objectSpread(_objectSpread({}, component), {}, {
|
|
34
|
+
dataContextPath: dataContextPath
|
|
35
|
+
});
|
|
36
|
+
var children = component.children;
|
|
37
|
+
if (children) {
|
|
38
|
+
resolved.resolvedChildren = this.resolveChildren(children, dataContextPath);
|
|
39
|
+
}
|
|
40
|
+
var child = component.child;
|
|
41
|
+
if (child && typeof child === "string") {
|
|
42
|
+
var resolvedChild = this.buildTree(child, dataContextPath);
|
|
43
|
+
if (resolvedChild) {
|
|
44
|
+
resolved.resolvedChildren = [resolvedChild];
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
var tabItems = component.tabItems;
|
|
48
|
+
if (tabItems && Array.isArray(tabItems)) {
|
|
49
|
+
resolved.resolvedChildren = tabItems.map(function (item) {
|
|
50
|
+
return _this.buildTree(item.child, dataContextPath);
|
|
51
|
+
}).filter(function (c) {
|
|
52
|
+
return c !== null;
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
return resolved;
|
|
56
|
+
}
|
|
57
|
+
}, {
|
|
58
|
+
key: "resolveChildren",
|
|
59
|
+
value: function resolveChildren(children, dataContextPath) {
|
|
60
|
+
var _this2 = this;
|
|
61
|
+
if (Array.isArray(children)) {
|
|
62
|
+
return children.map(function (id) {
|
|
63
|
+
return _this2.buildTree(id, dataContextPath);
|
|
64
|
+
}).filter(function (c) {
|
|
65
|
+
return c !== null;
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
if (children && _typeof(children) === "object" && "componentId" in children) {
|
|
69
|
+
return this.resolveTemplate(children.componentId, children.path, dataContextPath);
|
|
70
|
+
}
|
|
71
|
+
if (children && _typeof(children) === "object" && "template" in children) {
|
|
72
|
+
var legacyChildren = children;
|
|
73
|
+
return this.resolveTemplate(legacyChildren.template, legacyChildren.dataPath, dataContextPath);
|
|
74
|
+
}
|
|
75
|
+
return [];
|
|
76
|
+
}
|
|
77
|
+
}, {
|
|
78
|
+
key: "resolveTemplate",
|
|
79
|
+
value: function resolveTemplate(templateId, dataPath, parentContextPath) {
|
|
80
|
+
var _this3 = this;
|
|
81
|
+
var resolvedDataPath = this.pathResolver.resolve(dataPath, parentContextPath);
|
|
82
|
+
var data = this.dataStore.get(resolvedDataPath);
|
|
83
|
+
if (!Array.isArray(data)) {
|
|
84
|
+
return [];
|
|
85
|
+
}
|
|
86
|
+
return data.map(function (_, index) {
|
|
87
|
+
var itemContextPath = "".concat(resolvedDataPath, "/").concat(index);
|
|
88
|
+
return _this3.buildTree(templateId, itemContextPath);
|
|
89
|
+
}).filter(function (c) {
|
|
90
|
+
return c !== null;
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
}, {
|
|
94
|
+
key: "findComponent",
|
|
95
|
+
value: function findComponent(componentId) {
|
|
96
|
+
return this.findInTree(this.root, componentId);
|
|
97
|
+
}
|
|
98
|
+
}, {
|
|
99
|
+
key: "findInTree",
|
|
100
|
+
value: function findInTree(node, targetId) {
|
|
101
|
+
if (!node) return null;
|
|
102
|
+
if (node.id === targetId) return node;
|
|
103
|
+
if (node.resolvedChildren) {
|
|
104
|
+
var _iterator = _createForOfIteratorHelper(node.resolvedChildren),
|
|
105
|
+
_step;
|
|
106
|
+
try {
|
|
107
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
108
|
+
var child = _step.value;
|
|
109
|
+
var found = this.findInTree(child, targetId);
|
|
110
|
+
if (found) return found;
|
|
111
|
+
}
|
|
112
|
+
} catch (err) {
|
|
113
|
+
_iterator.e(err);
|
|
114
|
+
} finally {
|
|
115
|
+
_iterator.f();
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return null;
|
|
119
|
+
}
|
|
120
|
+
}, {
|
|
121
|
+
key: "traverse",
|
|
122
|
+
value: function traverse(callback) {
|
|
123
|
+
this.traverseNode(this.root, callback);
|
|
124
|
+
}
|
|
125
|
+
}, {
|
|
126
|
+
key: "traverseNode",
|
|
127
|
+
value: function traverseNode(node, callback) {
|
|
128
|
+
if (!node) return;
|
|
129
|
+
callback(node);
|
|
130
|
+
if (node.resolvedChildren) {
|
|
131
|
+
var _iterator2 = _createForOfIteratorHelper(node.resolvedChildren),
|
|
132
|
+
_step2;
|
|
133
|
+
try {
|
|
134
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
135
|
+
var child = _step2.value;
|
|
136
|
+
this.traverseNode(child, callback);
|
|
137
|
+
}
|
|
138
|
+
} catch (err) {
|
|
139
|
+
_iterator2.e(err);
|
|
140
|
+
} finally {
|
|
141
|
+
_iterator2.f();
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}, {
|
|
146
|
+
key: "getAllIds",
|
|
147
|
+
value: function getAllIds() {
|
|
148
|
+
var ids = [];
|
|
149
|
+
this.traverse(function (component) {
|
|
150
|
+
ids.push(component.id);
|
|
151
|
+
});
|
|
152
|
+
return ids;
|
|
153
|
+
}
|
|
154
|
+
}]);
|
|
155
|
+
}();
|
|
156
|
+
|
|
157
|
+
export { ComponentTree, ComponentTree as default };
|
|
158
|
+
//# sourceMappingURL=ComponentTree.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComponentTree.js","sources":["../../../../../../pro-components/chat/chat-engine/core/a2ui/processor/ComponentTree.ts"],"sourcesContent":["/**\n * A2UI ComponentTree\n * 将平铺的组件列表转换为嵌套的组件树\n * 参考 @a2ui/core ComponentTree 实现\n * \n * 支持两种 children 模式 (A2UI v0.9 规范):\n * 1. 直接引用: children: [\"comp1\", \"comp2\"]\n * 2. Template 模式: children: { componentId: \"comp1\", path: \"/items\" }\n */\n\nimport type { A2UIComponentBase, ChildrenProperty, ResolvedComponent } from '../types';\nimport type { DataStore } from './DataStore';\nimport type { PathResolver } from './PathResolver';\n\n/**\n * 组件树构建器\n */\nexport class ComponentTree {\n /** 解析后的根组件 */\n readonly root: ResolvedComponent | null;\n\n constructor(\n private components: Map<string, A2UIComponentBase>,\n private dataStore: DataStore,\n private pathResolver: PathResolver\n ) {\n this.root = this.buildTree('root', '/');\n }\n\n /**\n * 递归构建组件树\n * @param componentId 组件 ID\n * @param dataContextPath 当前数据上下文路径\n */\n private buildTree(componentId: string, dataContextPath: string): ResolvedComponent | null {\n const component = this.components.get(componentId);\n if (!component) {\n return null;\n }\n\n // 创建解析后的组件(浅拷贝)\n const resolved: ResolvedComponent = {\n ...component,\n dataContextPath,\n };\n\n // 处理 children\n const children = (component as any).children as ChildrenProperty | undefined;\n if (children) {\n resolved.resolvedChildren = this.resolveChildren(children, dataContextPath);\n }\n\n // 处理 child (Card, Button 等单子组件)\n const child = (component as any).child as string | undefined;\n if (child && typeof child === 'string') {\n const resolvedChild = this.buildTree(child, dataContextPath);\n if (resolvedChild) {\n resolved.resolvedChildren = [resolvedChild];\n }\n }\n\n // 处理 tabItems\n const tabItems = (component as any).tabItems as Array<{ title: any; child: string }> | undefined;\n if (tabItems && Array.isArray(tabItems)) {\n resolved.resolvedChildren = tabItems\n .map((item) => this.buildTree(item.child, dataContextPath))\n .filter((c): c is ResolvedComponent => c !== null);\n }\n\n return resolved;\n }\n\n /**\n * 解析 children 属性\n */\n private resolveChildren(\n children: ChildrenProperty,\n dataContextPath: string\n ): ResolvedComponent[] {\n // 模式1: 直接引用数组\n if (Array.isArray(children)) {\n return children\n .map((id) => this.buildTree(id, dataContextPath))\n .filter((c): c is ResolvedComponent => c !== null);\n }\n\n // 模式2: Template 模式 (A2UI v0.9: componentId + path)\n if (children && typeof children === 'object' && 'componentId' in children) {\n return this.resolveTemplate(children.componentId, children.path, dataContextPath);\n }\n\n // 兼容旧格式 (template + dataPath)\n if (children && typeof children === 'object' && 'template' in children) {\n const legacyChildren = children as { template: string; dataPath: string };\n return this.resolveTemplate(legacyChildren.template, legacyChildren.dataPath, dataContextPath);\n }\n\n return [];\n }\n\n /**\n * 解析 Template 模式的 children\n * Template 会根据 dataPath 指向的数组长度,创建多个子组件实例\n */\n private resolveTemplate(\n templateId: string,\n dataPath: string,\n parentContextPath: string\n ): ResolvedComponent[] {\n // 解析数据路径\n const resolvedDataPath = this.pathResolver.resolve(dataPath, parentContextPath);\n const data = this.dataStore.get(resolvedDataPath);\n\n // 如果数据不是数组,返回空\n if (!Array.isArray(data)) {\n return [];\n }\n\n // 为数组中的每个元素创建一个组件实例\n return data.map((_, index) => {\n const itemContextPath = `${resolvedDataPath}/${index}`;\n return this.buildTree(templateId, itemContextPath);\n }).filter((c): c is ResolvedComponent => c !== null);\n }\n\n /**\n * 查找组件\n */\n findComponent(componentId: string): ResolvedComponent | null {\n return this.findInTree(this.root, componentId);\n }\n\n private findInTree(node: ResolvedComponent | null, targetId: string): ResolvedComponent | null {\n if (!node) return null;\n if (node.id === targetId) return node;\n\n if (node.resolvedChildren) {\n for (const child of node.resolvedChildren) {\n const found = this.findInTree(child, targetId);\n if (found) return found;\n }\n }\n\n return null;\n }\n\n /**\n * 遍历组件树\n */\n traverse(callback: (component: ResolvedComponent) => void): void {\n this.traverseNode(this.root, callback);\n }\n\n private traverseNode(\n node: ResolvedComponent | null,\n callback: (component: ResolvedComponent) => void\n ): void {\n if (!node) return;\n callback(node);\n \n if (node.resolvedChildren) {\n for (const child of node.resolvedChildren) {\n this.traverseNode(child, callback);\n }\n }\n }\n\n /**\n * 获取所有组件 ID\n */\n getAllIds(): string[] {\n const ids: string[] = [];\n this.traverse((component) => {\n ids.push(component.id);\n });\n return ids;\n }\n}\n\nexport default ComponentTree;\n"],"names":["ComponentTree","components","dataStore","pathResolver","_classCallCheck","root","buildTree","_createClass","key","value","componentId","dataContextPath","_this","component","get","resolved","_objectSpread","children","resolvedChildren","resolveChildren","child","resolvedChild","tabItems","Array","isArray","map","item","filter","c","_this2","id","_typeof","resolveTemplate","path","legacyChildren","template","dataPath","templateId","parentContextPath","_this3","resolvedDataPath","resolve","data","_","index","itemContextPath","concat","findComponent","findInTree","node","targetId","_iterator","_createForOfIteratorHelper","_step","s","n","done","found","err","e","f","traverse","callback","traverseNode","_iterator2","_step2","getAllIds","ids","push"],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A2UI DataStore
|
|
3
|
+
* 管理 Surface 的数据模型,支持 JSON Pointer 路径访问
|
|
4
|
+
* 参考 @a2ui/core DataStore 实现
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* A2UI 数据存储
|
|
8
|
+
* 支持 JSON Pointer 风格的路径访问
|
|
9
|
+
*/
|
|
10
|
+
export declare class DataStore {
|
|
11
|
+
private data;
|
|
12
|
+
/**
|
|
13
|
+
* 获取指定路径的值
|
|
14
|
+
* @param path JSON Pointer 路径 (如 "/user/name")
|
|
15
|
+
*/
|
|
16
|
+
get(path: string): unknown;
|
|
17
|
+
/**
|
|
18
|
+
* 设置指定路径的值
|
|
19
|
+
* @param path JSON Pointer 路径
|
|
20
|
+
* @param value 要设置的值
|
|
21
|
+
*/
|
|
22
|
+
set(path: string, value: unknown): void;
|
|
23
|
+
/**
|
|
24
|
+
* 深度设置值(不可变方式)
|
|
25
|
+
*/
|
|
26
|
+
private setDeep;
|
|
27
|
+
/**
|
|
28
|
+
* 删除指定路径的值
|
|
29
|
+
* @param path JSON Pointer 路径
|
|
30
|
+
*/
|
|
31
|
+
remove(path: string): void;
|
|
32
|
+
/**
|
|
33
|
+
* 深度删除值(不可变方式)
|
|
34
|
+
*/
|
|
35
|
+
private removeDeep;
|
|
36
|
+
/**
|
|
37
|
+
* 合并数据(增量更新,保留用户已修改的字段)
|
|
38
|
+
* @param path 路径
|
|
39
|
+
* @param value 要合并的值
|
|
40
|
+
*/
|
|
41
|
+
merge(path: string, value: unknown): void;
|
|
42
|
+
/**
|
|
43
|
+
* 深度合并对象
|
|
44
|
+
*/
|
|
45
|
+
private deepMerge;
|
|
46
|
+
/**
|
|
47
|
+
* 获取完整数据快照
|
|
48
|
+
*/
|
|
49
|
+
getSnapshot(): Record<string, unknown>;
|
|
50
|
+
/**
|
|
51
|
+
* 清空数据
|
|
52
|
+
*/
|
|
53
|
+
clear(): void;
|
|
54
|
+
/**
|
|
55
|
+
* 检查路径是否存在
|
|
56
|
+
*/
|
|
57
|
+
has(path: string): boolean;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* 创建 DataStore 实例
|
|
61
|
+
*/
|
|
62
|
+
export declare function createDataStore(initialData?: Record<string, unknown>): DataStore;
|
|
63
|
+
export default DataStore;
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.0.2-alpha.14
|
|
3
|
+
* (c) 2026 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
8
|
+
import _toArray from '@babel/runtime/helpers/toArray';
|
|
9
|
+
import _typeof from '@babel/runtime/helpers/typeof';
|
|
10
|
+
import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
|
|
11
|
+
import _createClass from '@babel/runtime/helpers/createClass';
|
|
12
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
13
|
+
|
|
14
|
+
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; }
|
|
15
|
+
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; }
|
|
16
|
+
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; } } }; }
|
|
17
|
+
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; } }
|
|
18
|
+
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; }
|
|
19
|
+
function parsePath(path) {
|
|
20
|
+
if (!path || path === "/") return [];
|
|
21
|
+
var normalized = path.startsWith("/") ? path.slice(1) : path;
|
|
22
|
+
return normalized.split("/").filter(Boolean);
|
|
23
|
+
}
|
|
24
|
+
var DataStore = /*#__PURE__*/function () {
|
|
25
|
+
function DataStore() {
|
|
26
|
+
_classCallCheck(this, DataStore);
|
|
27
|
+
_defineProperty(this, "data", {});
|
|
28
|
+
}
|
|
29
|
+
return _createClass(DataStore, [{
|
|
30
|
+
key: "get",
|
|
31
|
+
value: function get(path) {
|
|
32
|
+
var segments = parsePath(path);
|
|
33
|
+
if (segments.length === 0) {
|
|
34
|
+
return this.data;
|
|
35
|
+
}
|
|
36
|
+
var current = this.data;
|
|
37
|
+
var _iterator = _createForOfIteratorHelper(segments),
|
|
38
|
+
_step;
|
|
39
|
+
try {
|
|
40
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
41
|
+
var segment = _step.value;
|
|
42
|
+
if (current === null || current === void 0) {
|
|
43
|
+
return void 0;
|
|
44
|
+
}
|
|
45
|
+
if (_typeof(current) !== "object") {
|
|
46
|
+
return void 0;
|
|
47
|
+
}
|
|
48
|
+
current = current[segment];
|
|
49
|
+
}
|
|
50
|
+
} catch (err) {
|
|
51
|
+
_iterator.e(err);
|
|
52
|
+
} finally {
|
|
53
|
+
_iterator.f();
|
|
54
|
+
}
|
|
55
|
+
return current;
|
|
56
|
+
}
|
|
57
|
+
}, {
|
|
58
|
+
key: "set",
|
|
59
|
+
value: function set(path, value) {
|
|
60
|
+
var segments = parsePath(path);
|
|
61
|
+
if (segments.length === 0) {
|
|
62
|
+
if (_typeof(value) === "object" && value !== null) {
|
|
63
|
+
this.data = _objectSpread({}, value);
|
|
64
|
+
}
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
this.data = this.setDeep(this.data, segments, value);
|
|
68
|
+
}
|
|
69
|
+
}, {
|
|
70
|
+
key: "setDeep",
|
|
71
|
+
value: function setDeep(obj, segments, value) {
|
|
72
|
+
if (segments.length === 0) {
|
|
73
|
+
return obj;
|
|
74
|
+
}
|
|
75
|
+
var _segments = _toArray(segments),
|
|
76
|
+
head = _segments[0],
|
|
77
|
+
tail = _segments.slice(1);
|
|
78
|
+
var newObj = _objectSpread({}, obj);
|
|
79
|
+
if (tail.length === 0) {
|
|
80
|
+
newObj[head] = value;
|
|
81
|
+
} else {
|
|
82
|
+
var existing = obj[head];
|
|
83
|
+
var nested = _typeof(existing) === "object" && existing !== null ? _objectSpread({}, existing) : {};
|
|
84
|
+
newObj[head] = this.setDeep(nested, tail, value);
|
|
85
|
+
}
|
|
86
|
+
return newObj;
|
|
87
|
+
}
|
|
88
|
+
}, {
|
|
89
|
+
key: "remove",
|
|
90
|
+
value: function remove(path) {
|
|
91
|
+
var segments = parsePath(path);
|
|
92
|
+
if (segments.length === 0) {
|
|
93
|
+
this.data = {};
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
this.data = this.removeDeep(this.data, segments);
|
|
97
|
+
}
|
|
98
|
+
}, {
|
|
99
|
+
key: "removeDeep",
|
|
100
|
+
value: function removeDeep(obj, segments) {
|
|
101
|
+
if (segments.length === 0) {
|
|
102
|
+
return obj;
|
|
103
|
+
}
|
|
104
|
+
var _segments2 = _toArray(segments),
|
|
105
|
+
head = _segments2[0],
|
|
106
|
+
tail = _segments2.slice(1);
|
|
107
|
+
var newObj = _objectSpread({}, obj);
|
|
108
|
+
if (tail.length === 0) {
|
|
109
|
+
delete newObj[head];
|
|
110
|
+
} else {
|
|
111
|
+
var existing = obj[head];
|
|
112
|
+
if (_typeof(existing) === "object" && existing !== null) {
|
|
113
|
+
newObj[head] = this.removeDeep(existing, tail);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return newObj;
|
|
117
|
+
}
|
|
118
|
+
}, {
|
|
119
|
+
key: "merge",
|
|
120
|
+
value: function merge(path, value) {
|
|
121
|
+
var existing = this.get(path);
|
|
122
|
+
if (_typeof(existing) === "object" && existing !== null && _typeof(value) === "object" && value !== null && !Array.isArray(existing) && !Array.isArray(value)) {
|
|
123
|
+
var merged = this.deepMerge(existing, value);
|
|
124
|
+
this.set(path, merged);
|
|
125
|
+
} else if (existing === void 0) {
|
|
126
|
+
this.set(path, value);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}, {
|
|
130
|
+
key: "deepMerge",
|
|
131
|
+
value: function deepMerge(target, source) {
|
|
132
|
+
var result = _objectSpread({}, target);
|
|
133
|
+
for (var _i = 0, _Object$entries = Object.entries(source); _i < _Object$entries.length; _i++) {
|
|
134
|
+
var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
|
|
135
|
+
key = _Object$entries$_i[0],
|
|
136
|
+
value = _Object$entries$_i[1];
|
|
137
|
+
var existing = target[key];
|
|
138
|
+
if (existing === void 0) {
|
|
139
|
+
result[key] = value;
|
|
140
|
+
} else if (_typeof(existing) === "object" && existing !== null && _typeof(value) === "object" && value !== null && !Array.isArray(existing) && !Array.isArray(value)) {
|
|
141
|
+
result[key] = this.deepMerge(existing, value);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
return result;
|
|
145
|
+
}
|
|
146
|
+
}, {
|
|
147
|
+
key: "getSnapshot",
|
|
148
|
+
value: function getSnapshot() {
|
|
149
|
+
return this.data;
|
|
150
|
+
}
|
|
151
|
+
}, {
|
|
152
|
+
key: "clear",
|
|
153
|
+
value: function clear() {
|
|
154
|
+
this.data = {};
|
|
155
|
+
}
|
|
156
|
+
}, {
|
|
157
|
+
key: "has",
|
|
158
|
+
value: function has(path) {
|
|
159
|
+
return this.get(path) !== void 0;
|
|
160
|
+
}
|
|
161
|
+
}]);
|
|
162
|
+
}();
|
|
163
|
+
function createDataStore(initialData) {
|
|
164
|
+
var store = new DataStore();
|
|
165
|
+
if (initialData) {
|
|
166
|
+
store.set("/", initialData);
|
|
167
|
+
}
|
|
168
|
+
return store;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
export { DataStore, createDataStore, DataStore as default };
|
|
172
|
+
//# sourceMappingURL=DataStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataStore.js","sources":["../../../../../../pro-components/chat/chat-engine/core/a2ui/processor/DataStore.ts"],"sourcesContent":["/**\n * A2UI DataStore\n * 管理 Surface 的数据模型,支持 JSON Pointer 路径访问\n * 参考 @a2ui/core DataStore 实现\n */\n\n/**\n * 解析 JSON Pointer 路径为段数组\n * @example \"/user/name\" -> [\"user\", \"name\"]\n */\nfunction parsePath(path: string): string[] {\n if (!path || path === '/') return [];\n // 移除开头的 /,然后按 / 分割\n const normalized = path.startsWith('/') ? path.slice(1) : path;\n return normalized.split('/').filter(Boolean);\n}\n\n/**\n * A2UI 数据存储\n * 支持 JSON Pointer 风格的路径访问\n */\nexport class DataStore {\n private data: Record<string, unknown> = {};\n\n /**\n * 获取指定路径的值\n * @param path JSON Pointer 路径 (如 \"/user/name\")\n */\n get(path: string): unknown {\n const segments = parsePath(path);\n \n if (segments.length === 0) {\n return this.data;\n }\n\n let current: unknown = this.data;\n for (const segment of segments) {\n if (current === null || current === undefined) {\n return undefined;\n }\n if (typeof current !== 'object') {\n return undefined;\n }\n current = (current as Record<string, unknown>)[segment];\n }\n\n return current;\n }\n\n /**\n * 设置指定路径的值\n * @param path JSON Pointer 路径\n * @param value 要设置的值\n */\n set(path: string, value: unknown): void {\n const segments = parsePath(path);\n\n if (segments.length === 0) {\n // 设置整个数据对象\n if (typeof value === 'object' && value !== null) {\n this.data = { ...value as Record<string, unknown> };\n }\n return;\n }\n\n // 创建新的数据对象(不可变更新)\n this.data = this.setDeep(this.data, segments, value);\n }\n\n /**\n * 深度设置值(不可变方式)\n */\n private setDeep(\n obj: Record<string, unknown>,\n segments: string[],\n value: unknown\n ): Record<string, unknown> {\n if (segments.length === 0) {\n return obj;\n }\n\n const [head, ...tail] = segments;\n const newObj = { ...obj };\n\n if (tail.length === 0) {\n // 最后一段,直接设置\n newObj[head] = value;\n } else {\n // 递归设置\n const existing = obj[head];\n const nested = typeof existing === 'object' && existing !== null\n ? { ...existing as Record<string, unknown> }\n : {};\n newObj[head] = this.setDeep(nested, tail, value);\n }\n\n return newObj;\n }\n\n /**\n * 删除指定路径的值\n * @param path JSON Pointer 路径\n */\n remove(path: string): void {\n const segments = parsePath(path);\n\n if (segments.length === 0) {\n this.data = {};\n return;\n }\n\n this.data = this.removeDeep(this.data, segments);\n }\n\n /**\n * 深度删除值(不可变方式)\n */\n private removeDeep(\n obj: Record<string, unknown>,\n segments: string[]\n ): Record<string, unknown> {\n if (segments.length === 0) {\n return obj;\n }\n\n const [head, ...tail] = segments;\n const newObj = { ...obj };\n\n if (tail.length === 0) {\n // 最后一段,删除该键\n delete newObj[head];\n } else {\n // 递归删除\n const existing = obj[head];\n if (typeof existing === 'object' && existing !== null) {\n newObj[head] = this.removeDeep(existing as Record<string, unknown>, tail);\n }\n }\n\n return newObj;\n }\n\n /**\n * 合并数据(增量更新,保留用户已修改的字段)\n * @param path 路径\n * @param value 要合并的值\n */\n merge(path: string, value: unknown): void {\n const existing = this.get(path);\n \n if (\n typeof existing === 'object' && existing !== null &&\n typeof value === 'object' && value !== null &&\n !Array.isArray(existing) && !Array.isArray(value)\n ) {\n // 两者都是对象,进行深度合并\n const merged = this.deepMerge(\n existing as Record<string, unknown>,\n value as Record<string, unknown>\n );\n this.set(path, merged);\n } else if (existing === undefined) {\n // 不存在则直接设置\n this.set(path, value);\n }\n // 如果已存在且不是对象,保留原值\n }\n\n /**\n * 深度合并对象\n */\n private deepMerge(\n target: Record<string, unknown>,\n source: Record<string, unknown>\n ): Record<string, unknown> {\n const result = { ...target };\n\n for (const [key, value] of Object.entries(source)) {\n const existing = target[key];\n\n if (existing === undefined) {\n // 新字段,直接设置\n result[key] = value;\n } else if (\n typeof existing === 'object' && existing !== null &&\n typeof value === 'object' && value !== null &&\n !Array.isArray(existing) && !Array.isArray(value)\n ) {\n // 递归合并对象\n result[key] = this.deepMerge(\n existing as Record<string, unknown>,\n value as Record<string, unknown>\n );\n }\n // 已存在且不是对象,保留原值\n }\n\n return result;\n }\n\n /**\n * 获取完整数据快照\n */\n getSnapshot(): Record<string, unknown> {\n return this.data;\n }\n\n /**\n * 清空数据\n */\n clear(): void {\n this.data = {};\n }\n\n /**\n * 检查路径是否存在\n */\n has(path: string): boolean {\n return this.get(path) !== undefined;\n }\n}\n\n/**\n * 创建 DataStore 实例\n */\nexport function createDataStore(initialData?: Record<string, unknown>): DataStore {\n const store = new DataStore();\n if (initialData) {\n store.set('/', initialData);\n }\n return store;\n}\n\nexport default DataStore;\n"],"names":["parsePath","path","normalized","startsWith","slice","split","filter","Boolean","DataStore","_classCallCheck","_defineProperty","_createClass","key","value","get","segments","length","data","current","_iterator","_createForOfIteratorHelper","_step","s","n","done","segment","_typeof","err","e","f","set","_objectSpread","setDeep","obj","_segments","_toArray","head","tail","newObj","existing","nested","remove","removeDeep","_segments2","merge","Array","isArray","merged","deepMerge","target","source","result","_i","_Object$entries","Object","entries","_Object$entries$_i","_slicedToArray","getSnapshot","clear","has","createDataStore","initialData","store"],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A2UI PathResolver
|
|
3
|
+
* 处理相对路径和绝对路径的解析
|
|
4
|
+
* 参考 @a2ui/core PathResolver 实现
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* 路径解析器
|
|
8
|
+
* 处理 A2UI 中的相对路径和绝对路径
|
|
9
|
+
*/
|
|
10
|
+
export declare class PathResolver {
|
|
11
|
+
/**
|
|
12
|
+
* 解析路径
|
|
13
|
+
* @param path 要解析的路径(可以是相对或绝对)
|
|
14
|
+
* @param contextPath 当前数据上下文路径
|
|
15
|
+
* @returns 解析后的绝对路径
|
|
16
|
+
*/
|
|
17
|
+
resolve(path: string, contextPath?: string): string;
|
|
18
|
+
/**
|
|
19
|
+
* 规范化路径
|
|
20
|
+
* - 处理多余的斜杠
|
|
21
|
+
* - 处理 . 和 ..
|
|
22
|
+
*/
|
|
23
|
+
normalize(path: string): string;
|
|
24
|
+
/**
|
|
25
|
+
* 获取父路径
|
|
26
|
+
* @example "/user/profile/name" -> "/user/profile"
|
|
27
|
+
*/
|
|
28
|
+
getParent(path: string): string;
|
|
29
|
+
/**
|
|
30
|
+
* 获取路径的最后一段
|
|
31
|
+
* @example "/user/profile/name" -> "name"
|
|
32
|
+
*/
|
|
33
|
+
getBasename(path: string): string;
|
|
34
|
+
/**
|
|
35
|
+
* 连接路径
|
|
36
|
+
*/
|
|
37
|
+
join(...paths: string[]): string;
|
|
38
|
+
/**
|
|
39
|
+
* 检查路径是否为另一个路径的子路径
|
|
40
|
+
*/
|
|
41
|
+
isChildOf(childPath: string, parentPath: string): boolean;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* 默认路径解析器实例
|
|
45
|
+
*/
|
|
46
|
+
export declare const pathResolver: PathResolver;
|
|
47
|
+
export default PathResolver;
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.0.2-alpha.14
|
|
3
|
+
* (c) 2026 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
|
|
8
|
+
import _createClass from '@babel/runtime/helpers/createClass';
|
|
9
|
+
|
|
10
|
+
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; } } }; }
|
|
11
|
+
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; } }
|
|
12
|
+
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; }
|
|
13
|
+
var PathResolver = /*#__PURE__*/function () {
|
|
14
|
+
function PathResolver() {
|
|
15
|
+
_classCallCheck(this, PathResolver);
|
|
16
|
+
}
|
|
17
|
+
return _createClass(PathResolver, [{
|
|
18
|
+
key: "resolve",
|
|
19
|
+
value: function resolve(path) {
|
|
20
|
+
var contextPath = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
|
|
21
|
+
if (path.startsWith("/")) {
|
|
22
|
+
return this.normalize(path);
|
|
23
|
+
}
|
|
24
|
+
if (!contextPath || contextPath === "/") {
|
|
25
|
+
return this.normalize("/".concat(path));
|
|
26
|
+
}
|
|
27
|
+
var combined = "".concat(contextPath, "/").concat(path);
|
|
28
|
+
return this.normalize(combined);
|
|
29
|
+
}
|
|
30
|
+
}, {
|
|
31
|
+
key: "normalize",
|
|
32
|
+
value: function normalize(path) {
|
|
33
|
+
var normalized = path.startsWith("/") ? path : "/".concat(path);
|
|
34
|
+
normalized = normalized.replace(/\/+/g, "/");
|
|
35
|
+
var segments = normalized.split("/").filter(Boolean);
|
|
36
|
+
var result = [];
|
|
37
|
+
var _iterator = _createForOfIteratorHelper(segments),
|
|
38
|
+
_step;
|
|
39
|
+
try {
|
|
40
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
41
|
+
var segment = _step.value;
|
|
42
|
+
if (segment === ".") {
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
if (segment === "..") {
|
|
46
|
+
result.pop();
|
|
47
|
+
} else {
|
|
48
|
+
result.push(segment);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
} catch (err) {
|
|
52
|
+
_iterator.e(err);
|
|
53
|
+
} finally {
|
|
54
|
+
_iterator.f();
|
|
55
|
+
}
|
|
56
|
+
return "/".concat(result.join("/"));
|
|
57
|
+
}
|
|
58
|
+
}, {
|
|
59
|
+
key: "getParent",
|
|
60
|
+
value: function getParent(path) {
|
|
61
|
+
var normalized = this.normalize(path);
|
|
62
|
+
var lastSlash = normalized.lastIndexOf("/");
|
|
63
|
+
if (lastSlash <= 0) {
|
|
64
|
+
return "/";
|
|
65
|
+
}
|
|
66
|
+
return normalized.slice(0, lastSlash);
|
|
67
|
+
}
|
|
68
|
+
}, {
|
|
69
|
+
key: "getBasename",
|
|
70
|
+
value: function getBasename(path) {
|
|
71
|
+
var normalized = this.normalize(path);
|
|
72
|
+
var lastSlash = normalized.lastIndexOf("/");
|
|
73
|
+
return normalized.slice(lastSlash + 1);
|
|
74
|
+
}
|
|
75
|
+
}, {
|
|
76
|
+
key: "join",
|
|
77
|
+
value: function join() {
|
|
78
|
+
for (var _len = arguments.length, paths = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
79
|
+
paths[_key] = arguments[_key];
|
|
80
|
+
}
|
|
81
|
+
if (paths.length === 0) return "/";
|
|
82
|
+
return this.normalize(paths.join("/"));
|
|
83
|
+
}
|
|
84
|
+
}, {
|
|
85
|
+
key: "isChildOf",
|
|
86
|
+
value: function isChildOf(childPath, parentPath) {
|
|
87
|
+
var normalizedChild = this.normalize(childPath);
|
|
88
|
+
var normalizedParent = this.normalize(parentPath);
|
|
89
|
+
if (normalizedParent === "/") {
|
|
90
|
+
return true;
|
|
91
|
+
}
|
|
92
|
+
return normalizedChild.startsWith(normalizedParent + "/");
|
|
93
|
+
}
|
|
94
|
+
}]);
|
|
95
|
+
}();
|
|
96
|
+
var pathResolver = new PathResolver();
|
|
97
|
+
|
|
98
|
+
export { PathResolver, PathResolver as default, pathResolver };
|
|
99
|
+
//# sourceMappingURL=PathResolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PathResolver.js","sources":["../../../../../../pro-components/chat/chat-engine/core/a2ui/processor/PathResolver.ts"],"sourcesContent":["/**\n * A2UI PathResolver\n * 处理相对路径和绝对路径的解析\n * 参考 @a2ui/core PathResolver 实现\n */\n\n/**\n * 路径解析器\n * 处理 A2UI 中的相对路径和绝对路径\n */\nexport class PathResolver {\n /**\n * 解析路径\n * @param path 要解析的路径(可以是相对或绝对)\n * @param contextPath 当前数据上下文路径\n * @returns 解析后的绝对路径\n */\n resolve(path: string, contextPath: string = ''): string {\n // 绝对路径直接返回\n if (path.startsWith('/')) {\n return this.normalize(path);\n }\n\n // 相对路径需要结合 contextPath\n if (!contextPath || contextPath === '/') {\n return this.normalize(`/${path}`);\n }\n\n // 拼接并规范化\n const combined = `${contextPath}/${path}`;\n return this.normalize(combined);\n }\n\n /**\n * 规范化路径\n * - 处理多余的斜杠\n * - 处理 . 和 ..\n */\n normalize(path: string): string {\n // 确保以 / 开头\n let normalized = path.startsWith('/') ? path : `/${path}`;\n\n // 处理多余的斜杠\n normalized = normalized.replace(/\\/+/g, '/');\n\n // 处理 . 和 ..\n const segments = normalized.split('/').filter(Boolean);\n const result: string[] = [];\n\n for (const segment of segments) {\n if (segment === '.') {\n continue;\n }\n if (segment === '..') {\n result.pop();\n } else {\n result.push(segment);\n }\n }\n\n return `/${result.join('/')}`;\n }\n\n /**\n * 获取父路径\n * @example \"/user/profile/name\" -> \"/user/profile\"\n */\n getParent(path: string): string {\n const normalized = this.normalize(path);\n const lastSlash = normalized.lastIndexOf('/');\n \n if (lastSlash <= 0) {\n return '/';\n }\n\n return normalized.slice(0, lastSlash);\n }\n\n /**\n * 获取路径的最后一段\n * @example \"/user/profile/name\" -> \"name\"\n */\n getBasename(path: string): string {\n const normalized = this.normalize(path);\n const lastSlash = normalized.lastIndexOf('/');\n \n return normalized.slice(lastSlash + 1);\n }\n\n /**\n * 连接路径\n */\n join(...paths: string[]): string {\n if (paths.length === 0) return '/';\n \n return this.normalize(paths.join('/'));\n }\n\n /**\n * 检查路径是否为另一个路径的子路径\n */\n isChildOf(childPath: string, parentPath: string): boolean {\n const normalizedChild = this.normalize(childPath);\n const normalizedParent = this.normalize(parentPath);\n\n if (normalizedParent === '/') {\n return true;\n }\n\n return normalizedChild.startsWith(normalizedParent + '/');\n }\n}\n\n/**\n * 默认路径解析器实例\n */\nexport const pathResolver = new PathResolver();\n\nexport default PathResolver;\n"],"names":["PathResolver","_classCallCheck","_createClass","key","value","resolve","path","contextPath","arguments","length","undefined","startsWith","normalize","concat","combined","normalized","replace","segments","split","filter","Boolean","result","_iterator","_createForOfIteratorHelper","_step","s","n","done","segment","pop","push","err","e","f","join","getParent","lastSlash","lastIndexOf","slice","getBasename","_len","paths","Array","_key","isChildOf","childPath","parentPath","normalizedChild","normalizedParent","pathResolver"],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.0.2-alpha.14
|
|
3
|
+
* (c) 2026 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export { A2UIActionSchema, A2UIComponentBaseSchema, A2UIComponentType, A2UISurfaceSchema, ExprBindingSchema, PathBindingSchema, booleanOrPathSchema, childrenPropertySchema, componentCommonSchema, createSurfaceMessageSchema, deleteSurfaceMessageSchema, numberOrPathSchema, serverMessageSchema, stringArrayOrPathSchema, stringOrPathSchema, updateComponentsMessageSchema, updateDataModelMessageSchema } from './types.js';
|
|
8
|
+
import 'zod';
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|