@tdesign-react/chat 1.0.2 → 1.1.0-alpha.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +0 -4
- package/README.md +76 -22
- package/es/_chunks/dep-1007ac80.js +205 -0
- package/es/_chunks/dep-1007ac80.js.map +1 -0
- package/es/_chunks/dep-16520c2b.js +1247 -0
- package/es/_chunks/dep-16520c2b.js.map +1 -0
- package/es/_chunks/dep-1743bd61.js +438 -0
- package/es/_chunks/dep-1743bd61.js.map +1 -0
- package/es/_chunks/dep-24472232.js +839 -0
- package/es/_chunks/dep-24472232.js.map +1 -0
- package/es/_chunks/dep-3864b369.js +839 -0
- package/es/_chunks/dep-3864b369.js.map +1 -0
- package/es/_chunks/dep-3e40d789.js +169 -0
- package/es/_chunks/dep-3e40d789.js.map +1 -0
- package/es/_chunks/dep-4dedfbef.js +438 -0
- package/es/_chunks/dep-4dedfbef.js.map +1 -0
- package/es/_chunks/dep-56f5e08e.js +448 -0
- package/es/_chunks/dep-56f5e08e.js.map +1 -0
- package/es/_chunks/dep-688e4aaa.js +438 -0
- package/es/_chunks/dep-688e4aaa.js.map +1 -0
- package/es/_chunks/dep-870f0d35.js +839 -0
- package/es/_chunks/dep-870f0d35.js.map +1 -0
- package/es/_chunks/dep-96eca06f.js +169 -0
- package/es/_chunks/dep-96eca06f.js.map +1 -0
- package/es/_chunks/dep-ba3bd553.js +169 -0
- package/es/_chunks/dep-ba3bd553.js.map +1 -0
- package/es/_chunks/dep-bcb234a1.js +839 -0
- package/es/_chunks/dep-bcb234a1.js.map +1 -0
- package/es/_chunks/dep-de8ac730.js +1247 -0
- package/es/_chunks/dep-de8ac730.js.map +1 -0
- package/es/_chunks/dep-e9dbff09.js +1247 -0
- package/es/_chunks/dep-e9dbff09.js.map +1 -0
- package/es/_chunks/dep-ebc4cf30.js +1247 -0
- package/es/_chunks/dep-ebc4cf30.js.map +1 -0
- package/es/_chunks/dep-f2051ebd.js +839 -0
- package/es/_chunks/dep-f2051ebd.js.map +1 -0
- package/es/_chunks/dep-f691a67e.js +438 -0
- package/es/_chunks/dep-f691a67e.js.map +1 -0
- package/es/_chunks/dep-f8016301.js +169 -0
- package/es/_chunks/dep-f8016301.js.map +1 -0
- package/es/_util/reactify.d.ts +1 -2
- package/es/_util/reactify.js +103 -233
- package/es/_util/reactify.js.map +1 -1
- package/es/_util/useDynamicStyle.js +1 -1
- package/es/attachments/index.js +4 -6
- package/es/attachments/index.js.map +1 -1
- package/es/chat-actionbar/index.d.ts +13 -4
- package/es/chat-actionbar/index.js +37 -9
- package/es/chat-actionbar/index.js.map +1 -1
- package/es/chat-engine/components/a2ui/A2UIActivityRenderer.d.ts +196 -0
- package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js +301 -0
- package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js.map +1 -0
- package/es/chat-engine/components/a2ui/A2UIComponentRenderer.d.ts +37 -0
- package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js +116 -0
- package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js.map +1 -0
- package/es/chat-engine/components/a2ui/A2UIErrorBoundary.d.ts +42 -0
- package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js +113 -0
- package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js.map +1 -0
- package/es/chat-engine/components/a2ui/A2UISkeleton.d.ts +60 -0
- package/es/chat-engine/components/a2ui/A2UISkeleton.js +197 -0
- package/es/chat-engine/components/a2ui/A2UISkeleton.js.map +1 -0
- package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.d.ts +44 -0
- package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js +139 -0
- package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js.map +1 -0
- package/es/chat-engine/components/a2ui/containers/A2UICard.d.ts +22 -0
- package/es/chat-engine/components/a2ui/containers/A2UICard.js +82 -0
- package/es/chat-engine/components/a2ui/containers/A2UICard.js.map +1 -0
- package/es/chat-engine/components/a2ui/containers/A2UIColumn.d.ts +18 -0
- package/es/chat-engine/components/a2ui/containers/A2UIColumn.js +81 -0
- package/es/chat-engine/components/a2ui/containers/A2UIColumn.js.map +1 -0
- package/es/chat-engine/components/a2ui/containers/A2UIList.d.ts +14 -0
- package/es/chat-engine/components/a2ui/containers/A2UIList.js +62 -0
- package/es/chat-engine/components/a2ui/containers/A2UIList.js.map +1 -0
- package/es/chat-engine/components/a2ui/containers/A2UIRow.d.ts +20 -0
- package/es/chat-engine/components/a2ui/containers/A2UIRow.js +84 -0
- package/es/chat-engine/components/a2ui/containers/A2UIRow.js.map +1 -0
- package/es/chat-engine/components/a2ui/containers/A2UITabs.d.ts +14 -0
- package/es/chat-engine/components/a2ui/containers/A2UITabs.js +69 -0
- package/es/chat-engine/components/a2ui/containers/A2UITabs.js.map +1 -0
- package/es/chat-engine/components/a2ui/containers/index.d.ts +8 -0
- package/es/chat-engine/components/a2ui/containers/index.js +30 -0
- package/es/chat-engine/components/a2ui/containers/index.js.map +1 -0
- package/es/chat-engine/components/a2ui/index.d.ts +11 -0
- package/es/chat-engine/components/a2ui/index.js +62 -0
- package/es/chat-engine/components/a2ui/index.js.map +1 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIButton.d.ts +33 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIButton.js +80 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIButton.js.map +1 -0
- package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.d.ts +12 -0
- package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js +43 -0
- package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js.map +1 -0
- package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.d.ts +50 -0
- package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js +54 -0
- package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js.map +1 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.d.ts +13 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js +89 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js.map +1 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIDivider.d.ts +12 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js +25 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js.map +1 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIIcon.d.ts +13 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js +138942 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js.map +1 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIImage.d.ts +12 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIImage.js +75 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIImage.js.map +1 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIInput.d.ts +20 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIInput.js +63 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIInput.js.map +1 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.d.ts +56 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js +64 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js.map +1 -0
- package/es/chat-engine/components/a2ui/primitives/A2UISlider.d.ts +12 -0
- package/es/chat-engine/components/a2ui/primitives/A2UISlider.js +55 -0
- package/es/chat-engine/components/a2ui/primitives/A2UISlider.js.map +1 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIText.d.ts +12 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIText.js +104 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIText.js.map +1 -0
- package/es/chat-engine/components/a2ui/primitives/A2UITextField.d.ts +12 -0
- package/es/chat-engine/components/a2ui/primitives/A2UITextField.js +80 -0
- package/es/chat-engine/components/a2ui/primitives/A2UITextField.js.map +1 -0
- package/es/chat-engine/components/a2ui/primitives/index.d.ts +15 -0
- package/es/chat-engine/components/a2ui/primitives/index.js +39 -0
- package/es/chat-engine/components/a2ui/primitives/index.js.map +1 -0
- package/es/chat-engine/components/a2ui/registry.d.ts +35 -0
- package/es/chat-engine/components/a2ui/registry.js +74 -0
- package/es/chat-engine/components/a2ui/registry.js.map +1 -0
- package/es/chat-engine/components/activity/index.d.ts +1 -0
- package/es/chat-engine/components/activity/index.js +3 -2
- package/es/chat-engine/components/activity/index.js.map +1 -1
- package/es/chat-engine/components/activity/registry.js +1 -1
- package/es/chat-engine/components/activity/render.d.ts +1 -1
- package/es/chat-engine/components/activity/render.js +4 -3
- 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 +62 -5
- package/es/chat-engine/components/index.js.map +1 -1
- package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.d.ts +36 -0
- package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js +36 -0
- package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js.map +1 -0
- package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.d.ts +46 -0
- package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js +36 -0
- package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js.map +1 -0
- package/es/chat-engine/components/json-render/SurfaceStateManager.d.ts +113 -0
- package/es/chat-engine/components/json-render/SurfaceStateManager.js +195 -0
- package/es/chat-engine/components/json-render/SurfaceStateManager.js.map +1 -0
- package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.d.ts +49 -0
- package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js +307 -0
- package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js.map +1 -0
- package/es/chat-engine/components/json-render/adapters/a2ui-types.d.ts +96 -0
- package/es/chat-engine/components/json-render/adapters/a2ui-types.js +7 -0
- package/es/chat-engine/components/json-render/adapters/a2ui-types.js.map +1 -0
- package/es/chat-engine/components/json-render/adapters/index.d.ts +7 -0
- package/es/chat-engine/components/json-render/adapters/index.js +11 -0
- package/es/chat-engine/components/json-render/adapters/index.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/a2ui-binding.d.ts +64 -0
- package/es/chat-engine/components/json-render/catalog/a2ui-binding.js +36 -0
- package/es/chat-engine/components/json-render/catalog/a2ui-binding.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/a2ui-registry.d.ts +78 -0
- package/es/chat-engine/components/json-render/catalog/a2ui-registry.js +36 -0
- package/es/chat-engine/components/json-render/catalog/a2ui-registry.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/atomic/button.d.ts +14 -0
- package/es/chat-engine/components/json-render/catalog/atomic/button.js +71 -0
- package/es/chat-engine/components/json-render/catalog/atomic/button.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/atomic/card.d.ts +11 -0
- package/es/chat-engine/components/json-render/catalog/atomic/card.js +57 -0
- package/es/chat-engine/components/json-render/catalog/atomic/card.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/atomic/input.d.ts +20 -0
- package/es/chat-engine/components/json-render/catalog/atomic/input.js +76 -0
- package/es/chat-engine/components/json-render/catalog/atomic/input.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/atomic/layout.d.ts +44 -0
- package/es/chat-engine/components/json-render/catalog/atomic/layout.js +129 -0
- package/es/chat-engine/components/json-render/catalog/atomic/layout.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/atomic/text.d.ts +11 -0
- package/es/chat-engine/components/json-render/catalog/atomic/text.js +31 -0
- package/es/chat-engine/components/json-render/catalog/atomic/text.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/button.d.ts +14 -0
- package/es/chat-engine/components/json-render/catalog/button.js +71 -0
- package/es/chat-engine/components/json-render/catalog/button.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/card.d.ts +11 -0
- package/es/chat-engine/components/json-render/catalog/card.js +57 -0
- package/es/chat-engine/components/json-render/catalog/card.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.d.ts +614 -0
- package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.js +779 -0
- package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/index.d.ts +128 -0
- package/es/chat-engine/components/json-render/catalog/index.js +36 -0
- package/es/chat-engine/components/json-render/catalog/index.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/input.d.ts +20 -0
- package/es/chat-engine/components/json-render/catalog/input.js +36 -0
- package/es/chat-engine/components/json-render/catalog/input.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/layout.d.ts +44 -0
- package/es/chat-engine/components/json-render/catalog/layout.js +129 -0
- package/es/chat-engine/components/json-render/catalog/layout.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/text.d.ts +11 -0
- package/es/chat-engine/components/json-render/catalog/text.js +31 -0
- package/es/chat-engine/components/json-render/catalog/text.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog.d.ts +614 -0
- package/es/chat-engine/components/json-render/catalog.js +779 -0
- package/es/chat-engine/components/json-render/catalog.js.map +1 -0
- package/es/chat-engine/components/json-render/config.d.ts +154 -0
- package/es/chat-engine/components/json-render/config.js +36 -0
- package/es/chat-engine/components/json-render/config.js.map +1 -0
- package/es/chat-engine/components/json-render/contexts/actions.d.ts +79 -0
- package/es/chat-engine/components/json-render/contexts/actions.js +313 -0
- package/es/chat-engine/components/json-render/contexts/actions.js.map +1 -0
- package/es/chat-engine/components/json-render/contexts/data.d.ts +137 -0
- package/es/chat-engine/components/json-render/contexts/data.js +183 -0
- package/es/chat-engine/components/json-render/contexts/data.js.map +1 -0
- package/es/chat-engine/components/json-render/contexts/index.d.ts +4 -0
- package/es/chat-engine/components/json-render/contexts/index.js +27 -0
- package/es/chat-engine/components/json-render/contexts/index.js.map +1 -0
- package/es/chat-engine/components/json-render/contexts/store.d.ts +67 -0
- package/es/chat-engine/components/json-render/contexts/store.js +104 -0
- package/es/chat-engine/components/json-render/contexts/store.js.map +1 -0
- package/es/chat-engine/components/json-render/contexts/tree.d.ts +44 -0
- package/es/chat-engine/components/json-render/contexts/tree.js +78 -0
- package/es/chat-engine/components/json-render/contexts/tree.js.map +1 -0
- package/es/chat-engine/components/json-render/contexts/validation.d.ts +59 -0
- package/es/chat-engine/components/json-render/contexts/validation.js +159 -0
- package/es/chat-engine/components/json-render/contexts/validation.js.map +1 -0
- package/es/chat-engine/components/json-render/contexts/visibility.d.ts +39 -0
- package/es/chat-engine/components/json-render/contexts/visibility.js +66 -0
- package/es/chat-engine/components/json-render/contexts/visibility.js.map +1 -0
- package/es/chat-engine/components/json-render/engine.d.ts +58 -0
- package/es/chat-engine/components/json-render/engine.js +88 -0
- package/es/chat-engine/components/json-render/engine.js.map +1 -0
- package/es/chat-engine/components/json-render/index.d.ts +13 -0
- package/es/chat-engine/components/json-render/index.js +76 -0
- package/es/chat-engine/components/json-render/index.js.map +1 -0
- package/es/chat-engine/components/json-render/performance.d.ts +91 -0
- package/es/chat-engine/components/json-render/performance.js +135 -0
- package/es/chat-engine/components/json-render/performance.js.map +1 -0
- package/es/chat-engine/components/json-render/registry/a2ui-binding.d.ts +64 -0
- package/es/chat-engine/components/json-render/registry/a2ui-binding.js +76 -0
- package/es/chat-engine/components/json-render/registry/a2ui-binding.js.map +1 -0
- package/es/chat-engine/components/json-render/registry/a2ui-registry.d.ts +78 -0
- package/es/chat-engine/components/json-render/registry/a2ui-registry.js +76 -0
- package/es/chat-engine/components/json-render/registry/a2ui-registry.js.map +1 -0
- package/es/chat-engine/components/json-render/registry/config.d.ts +142 -0
- package/es/chat-engine/components/json-render/registry/config.js +76 -0
- package/es/chat-engine/components/json-render/registry/config.js.map +1 -0
- package/es/chat-engine/components/json-render/registry/index.d.ts +137 -0
- package/es/chat-engine/components/json-render/registry/index.js +76 -0
- package/es/chat-engine/components/json-render/registry/index.js.map +1 -0
- package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.d.ts +35 -0
- package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.js +271 -0
- package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.js.map +1 -0
- package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.d.ts +44 -0
- package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.js +63 -0
- package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.js.map +1 -0
- package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.d.ts +44 -0
- package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.js +131 -0
- package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.js.map +1 -0
- package/es/chat-engine/components/json-render/renderer/_index.d.ts +71 -0
- package/es/chat-engine/components/json-render/renderer/_index.js +133 -0
- package/es/chat-engine/components/json-render/renderer/_index.js.map +1 -0
- package/es/chat-engine/components/json-render/renderer/index.d.ts +71 -0
- package/es/chat-engine/components/json-render/renderer/index.js +125 -0
- package/es/chat-engine/components/json-render/renderer/index.js.map +1 -0
- package/es/chat-engine/components/json-render/renderer.d.ts +71 -0
- package/es/chat-engine/components/json-render/renderer.js +124 -0
- package/es/chat-engine/components/json-render/renderer.js.map +1 -0
- package/es/chat-engine/components/json-render/types.d.ts +87 -0
- package/es/chat-engine/components/json-render/types.js +7 -0
- package/es/chat-engine/components/json-render/types.js.map +1 -0
- package/es/chat-engine/components/provider/agent-state.js +48 -2
- package/es/chat-engine/components/provider/agent-state.js.map +1 -1
- package/es/chat-engine/components/toolcall/index.js +41 -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 +41 -2
- package/es/chat-engine/components/toolcall/render.js.map +1 -1
- package/es/chat-engine/components/toolcall/types.js +1 -1
- package/es/chat-engine/core/a2ui/index.d.ts +10 -0
- package/es/chat-engine/core/a2ui/index.js +24 -0
- package/es/chat-engine/core/a2ui/index.js.map +1 -0
- package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.d.ts +197 -0
- package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js +438 -0
- package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js.map +1 -0
- package/es/chat-engine/core/a2ui/processor/ComponentTree.d.ts +53 -0
- package/es/chat-engine/core/a2ui/processor/ComponentTree.js +158 -0
- package/es/chat-engine/core/a2ui/processor/ComponentTree.js.map +1 -0
- package/es/chat-engine/core/a2ui/processor/DataStore.d.ts +63 -0
- package/es/chat-engine/core/a2ui/processor/DataStore.js +172 -0
- package/es/chat-engine/core/a2ui/processor/DataStore.js.map +1 -0
- package/es/chat-engine/core/a2ui/processor/PathResolver.d.ts +47 -0
- package/es/chat-engine/core/a2ui/processor/PathResolver.js +99 -0
- package/es/chat-engine/core/a2ui/processor/PathResolver.js.map +1 -0
- package/es/chat-engine/core/a2ui/types/index.d.ts +4 -0
- package/es/chat-engine/core/a2ui/types/index.js +9 -0
- package/es/chat-engine/core/a2ui/types/index.js.map +1 -0
- package/es/chat-engine/core/a2ui/types/types.d.ts +770 -0
- package/es/chat-engine/core/a2ui/types/types.js +104 -0
- package/es/chat-engine/core/a2ui/types/types.js.map +1 -0
- package/es/chat-engine/core/a2ui/utils/binding.d.ts +34 -0
- package/es/chat-engine/core/a2ui/utils/binding.js +1784 -0
- package/es/chat-engine/core/a2ui/utils/binding.js.map +1 -0
- package/es/chat-engine/core/a2ui/utils/index.d.ts +5 -0
- package/es/chat-engine/core/a2ui/utils/index.js +13 -0
- package/es/chat-engine/core/a2ui/utils/index.js.map +1 -0
- package/es/chat-engine/core/a2ui/utils/validation.d.ts +70 -0
- package/es/chat-engine/core/a2ui/utils/validation.js +333 -0
- package/es/chat-engine/core/a2ui/utils/validation.js.map +1 -0
- package/es/chat-engine/core/adapters/a2ui/index.d.ts +10 -0
- package/es/chat-engine/core/adapters/a2ui/index.js +24 -0
- package/es/chat-engine/core/adapters/a2ui/index.js.map +1 -0
- package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.d.ts +197 -0
- package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.js +438 -0
- package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.js.map +1 -0
- package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.d.ts +53 -0
- package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.js +158 -0
- package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.js.map +1 -0
- package/es/chat-engine/core/adapters/a2ui/processor/DataStore.d.ts +63 -0
- package/es/chat-engine/core/adapters/a2ui/processor/DataStore.js +172 -0
- package/es/chat-engine/core/adapters/a2ui/processor/DataStore.js.map +1 -0
- package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.d.ts +47 -0
- package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.js +99 -0
- package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.js.map +1 -0
- package/es/chat-engine/core/adapters/a2ui/types/index.d.ts +4 -0
- package/es/chat-engine/core/adapters/a2ui/types/index.js +9 -0
- package/es/chat-engine/core/adapters/a2ui/types/index.js.map +1 -0
- package/es/chat-engine/core/adapters/a2ui/types/types.d.ts +770 -0
- package/es/chat-engine/core/adapters/a2ui/types/types.js +104 -0
- package/es/chat-engine/core/adapters/a2ui/types/types.js.map +1 -0
- package/es/chat-engine/core/adapters/a2ui/utils/binding.d.ts +34 -0
- package/es/chat-engine/core/adapters/a2ui/utils/binding.js +1784 -0
- package/es/chat-engine/core/adapters/a2ui/utils/binding.js.map +1 -0
- package/es/chat-engine/core/adapters/a2ui/utils/index.d.ts +5 -0
- package/es/chat-engine/core/adapters/a2ui/utils/index.js +13 -0
- package/es/chat-engine/core/adapters/a2ui/utils/index.js.map +1 -0
- package/es/chat-engine/core/adapters/a2ui/utils/validation.d.ts +70 -0
- package/es/chat-engine/core/adapters/a2ui/utils/validation.js +333 -0
- package/es/chat-engine/core/adapters/a2ui/utils/validation.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/ActivityManager.d.ts +93 -0
- package/es/chat-engine/core/adapters/agui/ActivityManager.js +148 -0
- package/es/chat-engine/core/adapters/agui/ActivityManager.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/StateManager.d.ts +99 -0
- package/es/chat-engine/core/adapters/agui/StateManager.js +172 -0
- package/es/chat-engine/core/adapters/agui/StateManager.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/activity-manager.d.ts +102 -0
- package/es/chat-engine/core/adapters/agui/activity-manager.js +150 -0
- package/es/chat-engine/core/adapters/agui/activity-manager.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/event-mapper.d.ts +149 -0
- package/es/chat-engine/core/adapters/agui/event-mapper.js +417 -0
- package/es/chat-engine/core/adapters/agui/event-mapper.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/events.d.ts +1550 -0
- package/es/chat-engine/core/adapters/agui/events.js +199 -0
- package/es/chat-engine/core/adapters/agui/events.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/index.d.ts +92 -0
- package/es/chat-engine/core/adapters/agui/index.js +200 -0
- package/es/chat-engine/core/adapters/agui/index.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/state-manager.d.ts +99 -0
- package/es/chat-engine/core/adapters/agui/state-manager.js +174 -0
- package/es/chat-engine/core/adapters/agui/state-manager.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/types/events.d.ts +1570 -0
- package/es/chat-engine/core/adapters/agui/types/events.js +15 -0
- package/es/chat-engine/core/adapters/agui/types/events.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/types/index.d.ts +854 -0
- package/es/chat-engine/core/adapters/agui/types/index.js +279 -0
- package/es/chat-engine/core/adapters/agui/types/index.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/types.d.ts +818 -0
- package/es/chat-engine/core/adapters/agui/types.js +95 -0
- package/es/chat-engine/core/adapters/agui/types.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/utils.d.ts +203 -0
- package/es/chat-engine/core/adapters/agui/utils.js +330 -0
- package/es/chat-engine/core/adapters/agui/utils.js.map +1 -0
- package/es/chat-engine/core/adapters/index.d.ts +5 -0
- package/es/chat-engine/core/adapters/index.js +34 -0
- package/es/chat-engine/core/adapters/index.js.map +1 -0
- package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.d.ts +114 -0
- package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.js +194 -0
- package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.js.map +1 -0
- package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.d.ts +49 -0
- package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.js +307 -0
- package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.js.map +1 -0
- package/es/chat-engine/core/adapters/json-render/engine.d.ts +58 -0
- package/es/chat-engine/core/adapters/json-render/engine.js +88 -0
- package/es/chat-engine/core/adapters/json-render/engine.js.map +1 -0
- package/es/chat-engine/core/adapters/json-render/index.d.ts +8 -0
- package/es/chat-engine/core/adapters/json-render/index.js +18 -0
- package/es/chat-engine/core/adapters/json-render/index.js.map +1 -0
- package/es/chat-engine/core/adapters/json-render/types/a2ui.d.ts +96 -0
- package/es/chat-engine/core/adapters/json-render/types/a2ui.js +7 -0
- package/es/chat-engine/core/adapters/json-render/types/a2ui.js.map +1 -0
- package/es/chat-engine/core/adapters/json-render/types/core.d.ts +49 -0
- package/es/chat-engine/core/adapters/json-render/types/core.js +7 -0
- package/es/chat-engine/core/adapters/json-render/types/core.js.map +1 -0
- package/es/chat-engine/core/adapters/json-render/types/index.d.ts +5 -0
- package/es/chat-engine/core/adapters/json-render/types/index.js +9 -0
- package/es/chat-engine/core/adapters/json-render/types/index.js.map +1 -0
- package/es/chat-engine/core/event-bus/ChatEventBus.d.ts +88 -0
- package/es/chat-engine/core/event-bus/ChatEventBus.js +295 -0
- package/es/chat-engine/core/event-bus/ChatEventBus.js.map +1 -0
- package/es/chat-engine/core/event-bus/index.d.ts +5 -0
- package/es/chat-engine/core/event-bus/index.js +13 -0
- package/es/chat-engine/core/event-bus/index.js.map +1 -0
- package/es/chat-engine/core/event-bus/types.d.ts +230 -0
- package/es/chat-engine/core/event-bus/types.js +32 -0
- package/es/chat-engine/core/event-bus/types.js.map +1 -0
- package/es/chat-engine/core/index.d.ts +147 -0
- package/es/chat-engine/core/index.js +760 -0
- package/es/chat-engine/core/index.js.map +1 -0
- package/es/chat-engine/core/processor/index.d.ts +20 -0
- package/es/chat-engine/core/processor/index.js +146 -0
- package/es/chat-engine/core/processor/index.js.map +1 -0
- package/es/chat-engine/core/server/batch-client.d.ts +20 -0
- package/es/chat-engine/core/server/batch-client.js +114 -0
- package/es/chat-engine/core/server/batch-client.js.map +1 -0
- package/es/chat-engine/core/server/connection-manager.d.ts +39 -0
- package/es/chat-engine/core/server/connection-manager.js +84 -0
- package/es/chat-engine/core/server/connection-manager.js.map +1 -0
- package/es/chat-engine/core/server/errors.d.ts +22 -0
- package/es/chat-engine/core/server/errors.js +80 -0
- package/es/chat-engine/core/server/errors.js.map +1 -0
- package/es/chat-engine/core/server/index.d.ts +11 -0
- package/es/chat-engine/core/server/index.js +26 -0
- package/es/chat-engine/core/server/index.js.map +1 -0
- package/es/chat-engine/core/server/llm-service.d.ts +44 -0
- package/es/chat-engine/core/server/llm-service.js +200 -0
- package/es/chat-engine/core/server/llm-service.js.map +1 -0
- package/es/chat-engine/core/server/sse-client.d.ts +77 -0
- package/es/chat-engine/core/server/sse-client.js +362 -0
- package/es/chat-engine/core/server/sse-client.js.map +1 -0
- package/es/chat-engine/core/server/sse-parser.d.ts +49 -0
- package/es/chat-engine/core/server/sse-parser.js +116 -0
- package/es/chat-engine/core/server/sse-parser.js.map +1 -0
- package/es/chat-engine/core/server/types.d.ts +54 -0
- package/es/chat-engine/core/server/types.js +28 -0
- package/es/chat-engine/core/server/types.js.map +1 -0
- package/es/chat-engine/core/store/message.d.ts +27 -0
- package/es/chat-engine/core/store/message.js +267 -0
- package/es/chat-engine/core/store/message.js.map +1 -0
- package/es/chat-engine/core/store/model.d.ts +8 -0
- package/es/chat-engine/core/store/model.js +66 -0
- package/es/chat-engine/core/store/model.js.map +1 -0
- package/es/chat-engine/core/store/reactiveState.d.ts +56 -0
- package/es/chat-engine/core/store/reactiveState.js +139 -0
- package/es/chat-engine/core/store/reactiveState.js.map +1 -0
- package/es/chat-engine/core/type.d.ts +279 -0
- package/es/chat-engine/core/type.js +7 -0
- package/es/chat-engine/core/type.js.map +1 -0
- package/es/chat-engine/core/utils/eventEmitter.d.ts +10 -0
- package/es/chat-engine/core/utils/eventEmitter.js +67 -0
- package/es/chat-engine/core/utils/eventEmitter.js.map +1 -0
- package/es/chat-engine/core/utils/immutable-patch.d.ts +61 -0
- package/es/chat-engine/core/utils/immutable-patch.js +147 -0
- package/es/chat-engine/core/utils/immutable-patch.js.map +1 -0
- package/es/chat-engine/core/utils/index.d.ts +38 -0
- package/es/chat-engine/core/utils/index.js +125 -0
- package/es/chat-engine/core/utils/index.js.map +1 -0
- package/es/chat-engine/core/utils/json-patch/helpers.d.ts +41 -0
- package/es/chat-engine/core/utils/json-patch/helpers.js +164 -0
- package/es/chat-engine/core/utils/json-patch/helpers.js.map +1 -0
- package/es/chat-engine/core/utils/json-patch/index.d.ts +115 -0
- package/es/chat-engine/core/utils/json-patch/index.js +387 -0
- package/es/chat-engine/core/utils/json-patch/index.js.map +1 -0
- package/es/chat-engine/core/utils/logger.d.ts +30 -0
- package/es/chat-engine/core/utils/logger.js +87 -0
- package/es/chat-engine/core/utils/logger.js.map +1 -0
- package/es/chat-engine/core/utils/performance.d.ts +94 -0
- package/es/chat-engine/core/utils/performance.js +205 -0
- package/es/chat-engine/core/utils/performance.js.map +1 -0
- package/es/chat-engine/hooks/a2ui/A2UIContext.d.ts +90 -0
- package/es/chat-engine/hooks/a2ui/A2UIContext.js +97 -0
- package/es/chat-engine/hooks/a2ui/A2UIContext.js.map +1 -0
- package/es/chat-engine/hooks/a2ui/index.d.ts +12 -0
- package/es/chat-engine/hooks/a2ui/index.js +19 -0
- package/es/chat-engine/hooks/a2ui/index.js.map +1 -0
- package/es/chat-engine/hooks/a2ui/useA2UIAction.d.ts +40 -0
- package/es/chat-engine/hooks/a2ui/useA2UIAction.js +74 -0
- package/es/chat-engine/hooks/a2ui/useA2UIAction.js.map +1 -0
- package/es/chat-engine/hooks/a2ui/useA2UISurface.d.ts +36 -0
- package/es/chat-engine/hooks/a2ui/useA2UISurface.js +39 -0
- package/es/chat-engine/hooks/a2ui/useA2UISurface.js.map +1 -0
- package/es/chat-engine/hooks/a2ui/useDataBinding.d.ts +53 -0
- package/es/chat-engine/hooks/a2ui/useDataBinding.js +111 -0
- package/es/chat-engine/hooks/a2ui/useDataBinding.js.map +1 -0
- package/es/chat-engine/hooks/index.js +47 -4
- package/es/chat-engine/hooks/index.js.map +1 -1
- 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 +48 -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 +2 -2
- package/es/chat-engine/hooks/useChat.js +50 -3
- package/es/chat-engine/hooks/useChat.js.map +1 -1
- package/es/chat-engine/hooks/useJsonRenderActivity.d.ts +56 -0
- package/es/chat-engine/hooks/useJsonRenderActivity.js +63 -0
- package/es/chat-engine/hooks/useJsonRenderActivity.js.map +1 -0
- package/es/chat-engine/index.d.ts +1 -1
- package/es/chat-engine/index.js +61 -5
- package/es/chat-engine/index.js.map +1 -1
- package/es/chat-filecard/index.js +4 -6
- package/es/chat-filecard/index.js.map +1 -1
- package/es/chat-loading/index.js +4 -6
- package/es/chat-loading/index.js.map +1 -1
- package/es/chat-markdown/index.js +4 -6
- package/es/chat-markdown/index.js.map +1 -1
- package/es/chat-message/index.js +4 -6
- package/es/chat-message/index.js.map +1 -1
- package/es/chat-sender/index.js +4 -6
- package/es/chat-sender/index.js.map +1 -1
- package/es/chat-thinking/index.js +4 -6
- package/es/chat-thinking/index.js.map +1 -1
- package/es/chatbot/docs/react-best-practice.d.ts +13 -0
- package/es/chatbot/index.js +4 -6
- package/es/chatbot/index.js.map +1 -1
- package/es/index.js +63 -10
- package/es/index.js.map +1 -1
- package/es/style/index.js +1 -1
- package/package.json +19 -15
- package/es/chatbot/_example-js/agui-toolcall.d.ts +0 -11
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.1.0-alpha.9
|
|
3
|
+
* (c) 2026 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import _typeof from '@babel/runtime/helpers/typeof';
|
|
8
|
+
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
9
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
10
|
+
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
11
|
+
import React, { createContext, useState, useCallback, useMemo, useContext } from 'react';
|
|
12
|
+
import { runValidation } from '@json-render/core';
|
|
13
|
+
import { useDataState } from './data.js';
|
|
14
|
+
import '@babel/runtime/helpers/classCallCheck';
|
|
15
|
+
import '@babel/runtime/helpers/createClass';
|
|
16
|
+
import '@babel/runtime/helpers/possibleConstructorReturn';
|
|
17
|
+
import '@babel/runtime/helpers/getPrototypeOf';
|
|
18
|
+
import '@babel/runtime/helpers/inherits';
|
|
19
|
+
import '../../../../_chunks/dep-de8ac730.js';
|
|
20
|
+
import '@babel/runtime/helpers/wrapNativeSuper';
|
|
21
|
+
import './store.js';
|
|
22
|
+
|
|
23
|
+
"use client";
|
|
24
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
25
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
26
|
+
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; }
|
|
27
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
28
|
+
var ValidationContext = /*#__PURE__*/createContext(null);
|
|
29
|
+
function ValidationProvider(_ref) {
|
|
30
|
+
var _ref$customFunctions = _ref.customFunctions,
|
|
31
|
+
customFunctions = _ref$customFunctions === void 0 ? {} : _ref$customFunctions,
|
|
32
|
+
children = _ref.children;
|
|
33
|
+
var _useDataState = useDataState(),
|
|
34
|
+
data = _useDataState.data,
|
|
35
|
+
authState = _useDataState.authState;
|
|
36
|
+
var _useState = useState({}),
|
|
37
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
38
|
+
fieldStates = _useState2[0],
|
|
39
|
+
setFieldStates = _useState2[1];
|
|
40
|
+
var _useState3 = useState({}),
|
|
41
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
42
|
+
fieldConfigs = _useState4[0],
|
|
43
|
+
setFieldConfigs = _useState4[1];
|
|
44
|
+
var registerField = useCallback(function (path, config) {
|
|
45
|
+
setFieldConfigs(function (prev) {
|
|
46
|
+
return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, path, config));
|
|
47
|
+
});
|
|
48
|
+
}, []);
|
|
49
|
+
var validate = useCallback(function (path, config) {
|
|
50
|
+
var value2 = data[path.split("/").filter(Boolean).join(".")];
|
|
51
|
+
var result = runValidation(config, {
|
|
52
|
+
value: value2,
|
|
53
|
+
dataModel: data,
|
|
54
|
+
customFunctions: customFunctions,
|
|
55
|
+
authState: authState
|
|
56
|
+
});
|
|
57
|
+
setFieldStates(function (prev) {
|
|
58
|
+
var _prev$path$touched, _prev$path;
|
|
59
|
+
return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, path, {
|
|
60
|
+
touched: (_prev$path$touched = (_prev$path = prev[path]) === null || _prev$path === void 0 ? void 0 : _prev$path.touched) !== null && _prev$path$touched !== void 0 ? _prev$path$touched : true,
|
|
61
|
+
validated: true,
|
|
62
|
+
result: result
|
|
63
|
+
}));
|
|
64
|
+
});
|
|
65
|
+
return result;
|
|
66
|
+
}, [data, customFunctions, authState]);
|
|
67
|
+
var touch = useCallback(function (path) {
|
|
68
|
+
setFieldStates(function (prev) {
|
|
69
|
+
var _prev$path$validated, _prev$path2, _prev$path$result, _prev$path3;
|
|
70
|
+
return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, path, _objectSpread(_objectSpread({}, prev[path]), {}, {
|
|
71
|
+
touched: true,
|
|
72
|
+
validated: (_prev$path$validated = (_prev$path2 = prev[path]) === null || _prev$path2 === void 0 ? void 0 : _prev$path2.validated) !== null && _prev$path$validated !== void 0 ? _prev$path$validated : false,
|
|
73
|
+
result: (_prev$path$result = (_prev$path3 = prev[path]) === null || _prev$path3 === void 0 ? void 0 : _prev$path3.result) !== null && _prev$path$result !== void 0 ? _prev$path$result : null
|
|
74
|
+
})));
|
|
75
|
+
});
|
|
76
|
+
}, []);
|
|
77
|
+
var clear = useCallback(function (path) {
|
|
78
|
+
setFieldStates(function (prev) {
|
|
79
|
+
var _ = prev[path],
|
|
80
|
+
rest = _objectWithoutProperties(prev, [path].map(_toPropertyKey));
|
|
81
|
+
return rest;
|
|
82
|
+
});
|
|
83
|
+
}, []);
|
|
84
|
+
var validateAll = useCallback(function () {
|
|
85
|
+
var allValid = true;
|
|
86
|
+
for (var _i = 0, _Object$entries = Object.entries(fieldConfigs); _i < _Object$entries.length; _i++) {
|
|
87
|
+
var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
|
|
88
|
+
path = _Object$entries$_i[0],
|
|
89
|
+
config = _Object$entries$_i[1];
|
|
90
|
+
var result = validate(path, config);
|
|
91
|
+
if (!result.valid) {
|
|
92
|
+
allValid = false;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return allValid;
|
|
96
|
+
}, [fieldConfigs, validate]);
|
|
97
|
+
var value = useMemo(function () {
|
|
98
|
+
return {
|
|
99
|
+
customFunctions: customFunctions,
|
|
100
|
+
fieldStates: fieldStates,
|
|
101
|
+
validate: validate,
|
|
102
|
+
touch: touch,
|
|
103
|
+
clear: clear,
|
|
104
|
+
validateAll: validateAll,
|
|
105
|
+
registerField: registerField
|
|
106
|
+
};
|
|
107
|
+
}, [customFunctions, fieldStates, validate, touch, clear, validateAll, registerField]);
|
|
108
|
+
return /* @__PURE__ */React.createElement(ValidationContext.Provider, {
|
|
109
|
+
value: value
|
|
110
|
+
}, children);
|
|
111
|
+
}
|
|
112
|
+
function useValidation() {
|
|
113
|
+
var ctx = useContext(ValidationContext);
|
|
114
|
+
if (!ctx) {
|
|
115
|
+
throw new Error("useValidation must be used within a ValidationProvider");
|
|
116
|
+
}
|
|
117
|
+
return ctx;
|
|
118
|
+
}
|
|
119
|
+
function useFieldValidation(path, config) {
|
|
120
|
+
var _fieldStates$path, _state$result$errors, _state$result, _state$result$valid, _state$result2;
|
|
121
|
+
var _useValidation = useValidation(),
|
|
122
|
+
fieldStates = _useValidation.fieldStates,
|
|
123
|
+
validateField = _useValidation.validate,
|
|
124
|
+
touchField = _useValidation.touch,
|
|
125
|
+
clearField = _useValidation.clear,
|
|
126
|
+
registerField = _useValidation.registerField;
|
|
127
|
+
React.useEffect(function () {
|
|
128
|
+
if (config) {
|
|
129
|
+
registerField(path, config);
|
|
130
|
+
}
|
|
131
|
+
}, [path, config, registerField]);
|
|
132
|
+
var state = (_fieldStates$path = fieldStates[path]) !== null && _fieldStates$path !== void 0 ? _fieldStates$path : {
|
|
133
|
+
touched: false,
|
|
134
|
+
validated: false,
|
|
135
|
+
result: null
|
|
136
|
+
};
|
|
137
|
+
var validate = useCallback(function () {
|
|
138
|
+
return validateField(path, config !== null && config !== void 0 ? config : {
|
|
139
|
+
checks: []
|
|
140
|
+
});
|
|
141
|
+
}, [path, config, validateField]);
|
|
142
|
+
var touch = useCallback(function () {
|
|
143
|
+
return touchField(path);
|
|
144
|
+
}, [path, touchField]);
|
|
145
|
+
var clear = useCallback(function () {
|
|
146
|
+
return clearField(path);
|
|
147
|
+
}, [path, clearField]);
|
|
148
|
+
return {
|
|
149
|
+
state: state,
|
|
150
|
+
validate: validate,
|
|
151
|
+
touch: touch,
|
|
152
|
+
clear: clear,
|
|
153
|
+
errors: (_state$result$errors = (_state$result = state.result) === null || _state$result === void 0 ? void 0 : _state$result.errors) !== null && _state$result$errors !== void 0 ? _state$result$errors : [],
|
|
154
|
+
isValid: (_state$result$valid = (_state$result2 = state.result) === null || _state$result2 === void 0 ? void 0 : _state$result2.valid) !== null && _state$result$valid !== void 0 ? _state$result$valid : true
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
export { ValidationProvider, useFieldValidation, useValidation };
|
|
159
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sources":["../../../../../../pro-components/chat/chat-engine/components/json-render/contexts/validation.tsx"],"sourcesContent":["\"use client\";\n\nimport React, {\n createContext,\n useContext,\n useState,\n useCallback,\n useMemo,\n type ReactNode,\n} from \"react\";\nimport {\n runValidation,\n type ValidationConfig,\n type ValidationFunction,\n type ValidationResult,\n} from \"@json-render/core\";\nimport { useDataState } from \"./data\";\n\n/**\n * Field validation state\n */\nexport interface FieldValidationState {\n /** Whether the field has been touched */\n touched: boolean;\n /** Whether the field has been validated */\n validated: boolean;\n /** Validation result */\n result: ValidationResult | null;\n}\n\n/**\n * Validation context value\n */\nexport interface ValidationContextValue {\n /** Custom validation functions from catalog */\n customFunctions: Record<string, ValidationFunction>;\n /** Validation state by field path */\n fieldStates: Record<string, FieldValidationState>;\n /** Validate a field */\n validate: (path: string, config: ValidationConfig) => ValidationResult;\n /** Mark field as touched */\n touch: (path: string) => void;\n /** Clear validation for a field */\n clear: (path: string) => void;\n /** Validate all fields */\n validateAll: () => boolean;\n /** Register field config */\n registerField: (path: string, config: ValidationConfig) => void;\n}\n\nconst ValidationContext = createContext<ValidationContextValue | null>(null);\n\n/**\n * Props for ValidationProvider\n */\nexport interface ValidationProviderProps {\n /** Custom validation functions from catalog */\n customFunctions?: Record<string, ValidationFunction>;\n children: ReactNode;\n}\n\n/**\n * Provider for validation\n */\nexport function ValidationProvider({\n customFunctions = {},\n children,\n}: ValidationProviderProps) {\n const { data, authState } = useDataState();\n const [fieldStates, setFieldStates] = useState<\n Record<string, FieldValidationState>\n >({});\n const [fieldConfigs, setFieldConfigs] = useState<\n Record<string, ValidationConfig>\n >({});\n\n const registerField = useCallback(\n (path: string, config: ValidationConfig) => {\n setFieldConfigs((prev) => ({ ...prev, [path]: config }));\n },\n [],\n );\n\n const validate = useCallback(\n (path: string, config: ValidationConfig): ValidationResult => {\n const value = data[path.split(\"/\").filter(Boolean).join(\".\")];\n const result = runValidation(config, {\n value,\n dataModel: data,\n customFunctions,\n authState,\n });\n\n setFieldStates((prev) => ({\n ...prev,\n [path]: {\n touched: prev[path]?.touched ?? true,\n validated: true,\n result,\n },\n }));\n\n return result;\n },\n [data, customFunctions, authState],\n );\n\n const touch = useCallback((path: string) => {\n setFieldStates((prev) => ({\n ...prev,\n [path]: {\n ...prev[path],\n touched: true,\n validated: prev[path]?.validated ?? false,\n result: prev[path]?.result ?? null,\n },\n }));\n }, []);\n\n const clear = useCallback((path: string) => {\n setFieldStates((prev) => {\n const { [path]: _, ...rest } = prev;\n return rest;\n });\n }, []);\n\n const validateAll = useCallback(() => {\n let allValid = true;\n\n for (const [path, config] of Object.entries(fieldConfigs)) {\n const result = validate(path, config);\n if (!result.valid) {\n allValid = false;\n }\n }\n\n return allValid;\n }, [fieldConfigs, validate]);\n\n const value = useMemo<ValidationContextValue>(\n () => ({\n customFunctions,\n fieldStates,\n validate,\n touch,\n clear,\n validateAll,\n registerField,\n }),\n [\n customFunctions,\n fieldStates,\n validate,\n touch,\n clear,\n validateAll,\n registerField,\n ],\n );\n\n return (\n <ValidationContext.Provider value={value}>\n {children}\n </ValidationContext.Provider>\n );\n}\n\n/**\n * Hook to access validation context\n */\nexport function useValidation(): ValidationContextValue {\n const ctx = useContext(ValidationContext);\n if (!ctx) {\n throw new Error(\"useValidation must be used within a ValidationProvider\");\n }\n return ctx;\n}\n\n/**\n * Hook to get validation state for a field\n */\nexport function useFieldValidation(\n path: string,\n config?: ValidationConfig,\n): {\n state: FieldValidationState;\n validate: () => ValidationResult;\n touch: () => void;\n clear: () => void;\n errors: string[];\n isValid: boolean;\n} {\n const {\n fieldStates,\n validate: validateField,\n touch: touchField,\n clear: clearField,\n registerField,\n } = useValidation();\n\n // Register field on mount\n React.useEffect(() => {\n if (config) {\n registerField(path, config);\n }\n }, [path, config, registerField]);\n\n const state = fieldStates[path] ?? {\n touched: false,\n validated: false,\n result: null,\n };\n\n const validate = useCallback(\n () => validateField(path, config ?? { checks: [] }),\n [path, config, validateField],\n );\n\n const touch = useCallback(() => touchField(path), [path, touchField]);\n const clear = useCallback(() => clearField(path), [path, clearField]);\n\n return {\n state,\n validate,\n touch,\n clear,\n errors: state.result?.errors ?? [],\n isValid: state.result?.valid ?? true,\n };\n}\n"],"names":["_toPropertyKey","t","i","_toPrimitive","_typeof","r","e","Symbol","toPrimitive","call","TypeError","String","Number","ownKeys","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","ValidationContext","createContext","ValidationProvider","_ref","_ref$customFunctions","customFunctions","children","_useDataState","useDataState","data","authState","_useState","useState","_useState2","_slicedToArray","fieldStates","setFieldStates","_useState3","_useState4","fieldConfigs","setFieldConfigs","registerField","useCallback","path","config","prev","validate","value","split","Boolean","join","result","runValidation","dataModel","_prev$path$touched","_prev$path","touched","validated","touch","_prev$path$validated","_prev$path2","_prev$path$result","_prev$path3","clear","_","rest","_objectWithoutProperties","map","validateAll","allValid","_i","_Object$entries","entries","_Object$entries$_i","valid","useMemo","React","createElement","Provider","useValidation","ctx","useContext","Error","useFieldValidation","_fieldStates$path","_state$result$errors","_state$result","_state$result$valid","_state$result2","_useValidation","validateField","touchField","clearField","useEffect","state","checks","errors","isValid"],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
import { type VisibilityCondition, type VisibilityContext as CoreVisibilityContext } from "@json-render/core";
|
|
3
|
+
/**
|
|
4
|
+
* Visibility context value
|
|
5
|
+
*/
|
|
6
|
+
export interface VisibilityContextValue {
|
|
7
|
+
/** Evaluate a visibility condition */
|
|
8
|
+
isVisible: (condition: VisibilityCondition | undefined) => boolean;
|
|
9
|
+
/** Get the current visibility context (for advanced use) */
|
|
10
|
+
getCtx: () => CoreVisibilityContext;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Props for VisibilityProvider
|
|
14
|
+
*/
|
|
15
|
+
export interface VisibilityProviderProps {
|
|
16
|
+
children: ReactNode;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Provider for visibility evaluation
|
|
20
|
+
*
|
|
21
|
+
* 性能优化:
|
|
22
|
+
* - 不订阅 data 变化,避免 data 变化导致所有组件重渲染
|
|
23
|
+
* - isVisible 函数在调用时才读取最新 data(延迟读取)
|
|
24
|
+
* - Context value 保持稳定引用
|
|
25
|
+
*
|
|
26
|
+
* 设计说明:
|
|
27
|
+
* - Visibility 判断通常在渲染时执行,不需要触发重渲染
|
|
28
|
+
* - 当 data 变化时,ElementRenderer 会因其他原因重渲染,然后调用 isVisible
|
|
29
|
+
* - 此时 isVisible 读取最新的 data 进行判断
|
|
30
|
+
*/
|
|
31
|
+
export declare function VisibilityProvider({ children }: VisibilityProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
32
|
+
/**
|
|
33
|
+
* Hook to access visibility evaluation
|
|
34
|
+
*/
|
|
35
|
+
export declare function useVisibility(): VisibilityContextValue;
|
|
36
|
+
/**
|
|
37
|
+
* Hook to check if a condition is visible
|
|
38
|
+
*/
|
|
39
|
+
export declare function useIsVisible(condition: VisibilityCondition | undefined): boolean;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.1.0-alpha.9
|
|
3
|
+
* (c) 2026 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import React, { createContext, useRef, useContext } from 'react';
|
|
8
|
+
import { evaluateVisibility } from '@json-render/core';
|
|
9
|
+
import { useDataStore } from './data.js';
|
|
10
|
+
import { useStableCallback } from './store.js';
|
|
11
|
+
import '@babel/runtime/helpers/defineProperty';
|
|
12
|
+
import '@babel/runtime/helpers/typeof';
|
|
13
|
+
import '@babel/runtime/helpers/slicedToArray';
|
|
14
|
+
import '@babel/runtime/helpers/classCallCheck';
|
|
15
|
+
import '@babel/runtime/helpers/createClass';
|
|
16
|
+
import '@babel/runtime/helpers/possibleConstructorReturn';
|
|
17
|
+
import '@babel/runtime/helpers/getPrototypeOf';
|
|
18
|
+
import '@babel/runtime/helpers/inherits';
|
|
19
|
+
import '../../../../_chunks/dep-de8ac730.js';
|
|
20
|
+
import '@babel/runtime/helpers/wrapNativeSuper';
|
|
21
|
+
|
|
22
|
+
"use client";
|
|
23
|
+
var VisibilityContext = /*#__PURE__*/createContext(null);
|
|
24
|
+
function VisibilityProvider(_ref) {
|
|
25
|
+
var children = _ref.children;
|
|
26
|
+
var dataStore = useDataStore();
|
|
27
|
+
var storeRef = useRef(dataStore);
|
|
28
|
+
storeRef.current = dataStore;
|
|
29
|
+
var isVisible = useStableCallback(function (condition) {
|
|
30
|
+
var store = storeRef.current;
|
|
31
|
+
var ctx = {
|
|
32
|
+
dataModel: store.getData(),
|
|
33
|
+
authState: store.getAuthState()
|
|
34
|
+
};
|
|
35
|
+
return evaluateVisibility(condition, ctx);
|
|
36
|
+
});
|
|
37
|
+
var getCtx = useStableCallback(function () {
|
|
38
|
+
var store = storeRef.current;
|
|
39
|
+
return {
|
|
40
|
+
dataModel: store.getData(),
|
|
41
|
+
authState: store.getAuthState()
|
|
42
|
+
};
|
|
43
|
+
});
|
|
44
|
+
var valueRef = useRef({
|
|
45
|
+
isVisible: isVisible,
|
|
46
|
+
getCtx: getCtx
|
|
47
|
+
});
|
|
48
|
+
return /* @__PURE__ */React.createElement(VisibilityContext.Provider, {
|
|
49
|
+
value: valueRef.current
|
|
50
|
+
}, children);
|
|
51
|
+
}
|
|
52
|
+
function useVisibility() {
|
|
53
|
+
var ctx = useContext(VisibilityContext);
|
|
54
|
+
if (!ctx) {
|
|
55
|
+
throw new Error("useVisibility must be used within a VisibilityProvider");
|
|
56
|
+
}
|
|
57
|
+
return ctx;
|
|
58
|
+
}
|
|
59
|
+
function useIsVisible(condition) {
|
|
60
|
+
var _useVisibility = useVisibility(),
|
|
61
|
+
isVisible = _useVisibility.isVisible;
|
|
62
|
+
return isVisible(condition);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export { VisibilityProvider, useIsVisible, useVisibility };
|
|
66
|
+
//# sourceMappingURL=visibility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visibility.js","sources":["../../../../../../pro-components/chat/chat-engine/components/json-render/contexts/visibility.tsx"],"sourcesContent":["\"use client\";\n\nimport React, {\n createContext,\n useContext,\n useRef,\n type ReactNode,\n} from \"react\";\nimport {\n evaluateVisibility,\n type VisibilityCondition,\n type VisibilityContext as CoreVisibilityContext,\n} from \"@json-render/core\";\nimport { useDataStore, type DataStore } from \"./data\";\nimport { useStableCallback } from \"./store\";\n\n/**\n * Visibility context value\n */\nexport interface VisibilityContextValue {\n /** Evaluate a visibility condition */\n isVisible: (condition: VisibilityCondition | undefined) => boolean;\n /** Get the current visibility context (for advanced use) */\n getCtx: () => CoreVisibilityContext;\n}\n\nconst VisibilityContext = createContext<VisibilityContextValue | null>(null);\n\n/**\n * Props for VisibilityProvider\n */\nexport interface VisibilityProviderProps {\n children: ReactNode;\n}\n\n/**\n * Provider for visibility evaluation\n * \n * 性能优化:\n * - 不订阅 data 变化,避免 data 变化导致所有组件重渲染\n * - isVisible 函数在调用时才读取最新 data(延迟读取)\n * - Context value 保持稳定引用\n * \n * 设计说明:\n * - Visibility 判断通常在渲染时执行,不需要触发重渲染\n * - 当 data 变化时,ElementRenderer 会因其他原因重渲染,然后调用 isVisible\n * - 此时 isVisible 读取最新的 data 进行判断\n */\nexport function VisibilityProvider({ children }: VisibilityProviderProps) {\n // 获取 DataStore 实例,不订阅状态变化\n const dataStore = useDataStore();\n \n // 使用 ref 存储 store,保持函数引用稳定\n const storeRef = useRef<DataStore>(dataStore);\n storeRef.current = dataStore;\n\n // 延迟读取:isVisible 在调用时才读取最新 data\n const isVisible = useStableCallback(\n (condition: VisibilityCondition | undefined) => {\n const store = storeRef.current;\n const ctx: CoreVisibilityContext = {\n dataModel: store.getData(),\n authState: store.getAuthState(),\n };\n return evaluateVisibility(condition, ctx);\n },\n );\n\n // 获取当前 context(用于高级场景)\n const getCtx = useStableCallback((): CoreVisibilityContext => {\n const store = storeRef.current;\n return {\n dataModel: store.getData(),\n authState: store.getAuthState(),\n };\n });\n\n // Context value 使用 ref 保持稳定引用\n const valueRef = useRef<VisibilityContextValue>({ isVisible, getCtx });\n\n return (\n <VisibilityContext.Provider value={valueRef.current}>\n {children}\n </VisibilityContext.Provider>\n );\n}\n\n/**\n * Hook to access visibility evaluation\n */\nexport function useVisibility(): VisibilityContextValue {\n const ctx = useContext(VisibilityContext);\n if (!ctx) {\n throw new Error(\"useVisibility must be used within a VisibilityProvider\");\n }\n return ctx;\n}\n\n/**\n * Hook to check if a condition is visible\n */\nexport function useIsVisible(\n condition: VisibilityCondition | undefined,\n): boolean {\n const { isVisible } = useVisibility();\n return isVisible(condition);\n}\n"],"names":["VisibilityContext","createContext","VisibilityProvider","_ref","children","dataStore","useDataStore","storeRef","useRef","current","isVisible","useStableCallback","condition","store","ctx","dataModel","getData","authState","getAuthState","evaluateVisibility","getCtx","valueRef","React","createElement","Provider","value","useVisibility","useContext","Error","useIsVisible","_useVisibility"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,YAAA,CAAA;AA0BA,IAAMA,iBAAA,gBAAoBC,cAA6C,IAAI,CAAA,CAAA;AAsB3D,SAAAC,kBAAAA,CAAAC,IAAA,EAA0D;AAAA,EAAA,IAArCC,QAAA,GAAAD,IAAA,CAAAC,QAAA,CAAA;AAEnC,EAAA,IAAMC,YAAYC,YAAa,EAAA,CAAA;AAGzB,EAAA,IAAAC,QAAA,GAAWC,OAAkBH,SAAS,CAAA,CAAA;EAC5CE,QAAA,CAASE,OAAU,GAAAJ,SAAA,CAAA;AAGnB,EAAA,IAAMK,SAAY,GAAAC,iBAAA,CAChB,UAACC,SAA+C,EAAA;AAC9C,IAAA,IAAMC,QAAQN,QAAS,CAAAE,OAAA,CAAA;AACvB,IAAA,IAAMK,GAA6B,GAAA;AACjCC,MAAAA,SAAA,EAAWF,MAAMG,OAAQ,EAAA;AACzBC,MAAAA,SAAA,EAAWJ,MAAMK,YAAa,EAAA;KAChC,CAAA;AACO,IAAA,OAAAC,kBAAA,CAAmBP,WAAWE,GAAG,CAAA,CAAA;AAC1C,GACF,CAAA,CAAA;AAGM,EAAA,IAAAM,MAAA,GAAST,kBAAkB,YAA6B;AAC5D,IAAA,IAAME,QAAQN,QAAS,CAAAE,OAAA,CAAA;IAChB,OAAA;AACLM,MAAAA,SAAA,EAAWF,MAAMG,OAAQ,EAAA;AACzBC,MAAAA,SAAA,EAAWJ,MAAMK,YAAa,EAAA;KAChC,CAAA;AACF,GAAC,CAAA,CAAA;EAGD,IAAMG,QAAW,GAAAb,MAAA,CAA+B;AAAEE,IAAAA,SAAA,EAAAA,SAAA;AAAWU,IAAAA,QAAAA,MAAAA;AAAO,GAAC,CAAA,CAAA;EAGnE,sBAAAE,KAAA,CAAAC,aAAA,CAACvB,kBAAkBwB,QAAlB,EAAA;IAA2BC,OAAOJ,QAAS,CAAAZ,OAAAA;GAAA,EACzCL,QACH,CAAA,CAAA;AAEJ,CAAA;AAKO,SAASsB,aAAwCA,GAAA;AAChD,EAAA,IAAAZ,GAAA,GAAMa,WAAW3B,iBAAiB,CAAA,CAAA;EACxC,IAAI,CAACc,GAAK,EAAA;AACF,IAAA,MAAA,IAAIc,MAAM,wDAAwD,CAAA,CAAA;AAC1E,GAAA;AACO,EAAA,OAAAd,GAAA,CAAA;AACT,CAAA;AAKO,SAASe,aACdjB,SACS,EAAA;AACH,EAAA,IAAAkB,cAAA,GAAgBJ,aAAc,EAAA;IAA5BhB,SAAU,GAAAoB,cAAA,CAAVpB,SAAU,CAAA;EAClB,OAAOA,UAAUE,SAAS,CAAA,CAAA;AAC5B;;;;"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* json-render 引擎封装
|
|
3
|
+
* 提供高性能的增量渲染能力
|
|
4
|
+
*/
|
|
5
|
+
import type { UIElement } from '@json-render/core';
|
|
6
|
+
import type { ComponentRegistry } from './renderer';
|
|
7
|
+
import type { JsonRenderSchema, DeltaInfo } from './types';
|
|
8
|
+
/**
|
|
9
|
+
* json-render 引擎管理器
|
|
10
|
+
* 负责 Schema 缓存、增量更新和性能优化
|
|
11
|
+
*/
|
|
12
|
+
export declare class JsonRenderEngine {
|
|
13
|
+
private currentSchema;
|
|
14
|
+
private registry;
|
|
15
|
+
constructor(registry: ComponentRegistry);
|
|
16
|
+
/**
|
|
17
|
+
* 全量渲染
|
|
18
|
+
* 用于 ACTIVITY_SNAPSHOT 事件
|
|
19
|
+
*/
|
|
20
|
+
setSchema(schema: JsonRenderSchema): void;
|
|
21
|
+
/**
|
|
22
|
+
* 获取当前 Schema
|
|
23
|
+
*/
|
|
24
|
+
getSchema(): JsonRenderSchema | null;
|
|
25
|
+
/**
|
|
26
|
+
* 增量更新
|
|
27
|
+
* 用于 ACTIVITY_DELTA 事件
|
|
28
|
+
*
|
|
29
|
+
* @param newSchema 应用 JSON Patch 后的完整 Schema
|
|
30
|
+
* @param deltaInfo 增量信息(可选,用于进一步优化)
|
|
31
|
+
*/
|
|
32
|
+
patchSchema(newSchema: JsonRenderSchema, deltaInfo?: DeltaInfo): void;
|
|
33
|
+
/**
|
|
34
|
+
* 重置引擎状态
|
|
35
|
+
*/
|
|
36
|
+
reset(): void;
|
|
37
|
+
/**
|
|
38
|
+
* 获取组件注册表
|
|
39
|
+
*/
|
|
40
|
+
getRegistry(): ComponentRegistry;
|
|
41
|
+
/**
|
|
42
|
+
* 更新组件注册表
|
|
43
|
+
*/
|
|
44
|
+
updateRegistry(registry: ComponentRegistry): void;
|
|
45
|
+
/**
|
|
46
|
+
* 验证 Schema 是否有效
|
|
47
|
+
*/
|
|
48
|
+
validateSchema(schema: JsonRenderSchema): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* 提取增量元素(基于 deltaInfo)
|
|
51
|
+
* 用于性能优化场景
|
|
52
|
+
*/
|
|
53
|
+
extractDeltaElements(schema: JsonRenderSchema, deltaInfo: DeltaInfo): Record<string, UIElement>;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* 创建 json-render 引擎实例
|
|
57
|
+
*/
|
|
58
|
+
export declare function createJsonRenderEngine(registry: ComponentRegistry): JsonRenderEngine;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.1.0-alpha.4
|
|
3
|
+
* (c) 2026 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
|
|
8
|
+
import _createClass from '@babel/runtime/helpers/createClass';
|
|
9
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
10
|
+
|
|
11
|
+
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; }
|
|
12
|
+
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; }
|
|
13
|
+
var JsonRenderEngine = /*#__PURE__*/function () {
|
|
14
|
+
function JsonRenderEngine(registry) {
|
|
15
|
+
_classCallCheck(this, JsonRenderEngine);
|
|
16
|
+
_defineProperty(this, "currentSchema", null);
|
|
17
|
+
this.registry = registry;
|
|
18
|
+
}
|
|
19
|
+
return _createClass(JsonRenderEngine, [{
|
|
20
|
+
key: "setSchema",
|
|
21
|
+
value: function setSchema(schema) {
|
|
22
|
+
this.currentSchema = schema;
|
|
23
|
+
}
|
|
24
|
+
}, {
|
|
25
|
+
key: "getSchema",
|
|
26
|
+
value: function getSchema() {
|
|
27
|
+
return this.currentSchema;
|
|
28
|
+
}
|
|
29
|
+
}, {
|
|
30
|
+
key: "patchSchema",
|
|
31
|
+
value: function patchSchema(newSchema, deltaInfo) {
|
|
32
|
+
if (!this.currentSchema) {
|
|
33
|
+
this.currentSchema = newSchema;
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
this.currentSchema = newSchema;
|
|
37
|
+
if (deltaInfo) {
|
|
38
|
+
console.debug("[json-render] \u589E\u91CF\u66F4\u65B0\u8303\u56F4:", deltaInfo);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}, {
|
|
42
|
+
key: "reset",
|
|
43
|
+
value: function reset() {
|
|
44
|
+
this.currentSchema = null;
|
|
45
|
+
}
|
|
46
|
+
}, {
|
|
47
|
+
key: "getRegistry",
|
|
48
|
+
value: function getRegistry() {
|
|
49
|
+
return this.registry;
|
|
50
|
+
}
|
|
51
|
+
}, {
|
|
52
|
+
key: "updateRegistry",
|
|
53
|
+
value: function updateRegistry(registry) {
|
|
54
|
+
this.registry = _objectSpread(_objectSpread({}, this.registry), registry);
|
|
55
|
+
}
|
|
56
|
+
}, {
|
|
57
|
+
key: "validateSchema",
|
|
58
|
+
value: function validateSchema(schema) {
|
|
59
|
+
if (!schema || !schema.root || !schema.elements) {
|
|
60
|
+
console.error("[json-render] Schema \u9A8C\u8BC1\u5931\u8D25\uFF1A\u7F3A\u5C11 root \u6216 elements");
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
var rootElement = schema.elements[schema.root];
|
|
64
|
+
if (!rootElement) {
|
|
65
|
+
console.error("[json-render] Schema \u9A8C\u8BC1\u5931\u8D25\uFF1Aroot \u5143\u7D20\u4E0D\u5B58\u5728");
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
}, {
|
|
71
|
+
key: "extractDeltaElements",
|
|
72
|
+
value: function extractDeltaElements(schema, deltaInfo) {
|
|
73
|
+
var elementKeys = Object.keys(schema.elements);
|
|
74
|
+
var deltaKeys = elementKeys.slice(deltaInfo.fromIndex, deltaInfo.toIndex);
|
|
75
|
+
var deltaElements = {};
|
|
76
|
+
deltaKeys.forEach(function (key) {
|
|
77
|
+
deltaElements[key] = schema.elements[key];
|
|
78
|
+
});
|
|
79
|
+
return deltaElements;
|
|
80
|
+
}
|
|
81
|
+
}]);
|
|
82
|
+
}();
|
|
83
|
+
function createJsonRenderEngine(registry) {
|
|
84
|
+
return new JsonRenderEngine(registry);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
export { JsonRenderEngine, createJsonRenderEngine };
|
|
88
|
+
//# sourceMappingURL=engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.js","sources":["../../../../../pro-components/chat/chat-engine/components/json-render/engine.ts"],"sourcesContent":["/**\n * json-render 引擎封装\n * 提供高性能的增量渲染能力\n */\n\nimport type { UIElement } from '@json-render/core';\nimport type { ComponentRegistry } from './renderer';\nimport type { JsonRenderSchema, DeltaInfo } from './types';\n\n/**\n * json-render 引擎管理器\n * 负责 Schema 缓存、增量更新和性能优化\n */\nexport class JsonRenderEngine {\n private currentSchema: JsonRenderSchema | null = null;\n private registry: ComponentRegistry;\n\n constructor(registry: ComponentRegistry) {\n this.registry = registry;\n }\n\n /**\n * 全量渲染\n * 用于 ACTIVITY_SNAPSHOT 事件\n */\n setSchema(schema: JsonRenderSchema): void {\n this.currentSchema = schema;\n }\n\n /**\n * 获取当前 Schema\n */\n getSchema(): JsonRenderSchema | null {\n return this.currentSchema;\n }\n\n /**\n * 增量更新\n * 用于 ACTIVITY_DELTA 事件\n * \n * @param newSchema 应用 JSON Patch 后的完整 Schema\n * @param deltaInfo 增量信息(可选,用于进一步优化)\n */\n patchSchema(newSchema: JsonRenderSchema, deltaInfo?: DeltaInfo): void {\n if (!this.currentSchema) {\n // 如果没有初始 Schema,直接设置\n this.currentSchema = newSchema;\n return;\n }\n\n // 更新 Schema(json-render 的 Renderer 会自动处理 diff)\n this.currentSchema = newSchema;\n\n // 如果有 deltaInfo,可以在这里做进一步优化\n if (deltaInfo) {\n console.debug('[json-render] 增量更新范围:', deltaInfo);\n // 未来可以基于 deltaInfo 实现更细粒度的优化\n }\n }\n\n /**\n * 重置引擎状态\n */\n reset(): void {\n this.currentSchema = null;\n }\n\n /**\n * 获取组件注册表\n */\n getRegistry(): ComponentRegistry {\n return this.registry;\n }\n\n /**\n * 更新组件注册表\n */\n updateRegistry(registry: ComponentRegistry): void {\n this.registry = { ...this.registry, ...registry };\n }\n\n /**\n * 验证 Schema 是否有效\n */\n validateSchema(schema: JsonRenderSchema): boolean {\n if (!schema || !schema.root || !schema.elements) {\n console.error('[json-render] Schema 验证失败:缺少 root 或 elements');\n return false;\n }\n\n const rootElement = schema.elements[schema.root];\n if (!rootElement) {\n console.error('[json-render] Schema 验证失败:root 元素不存在');\n return false;\n }\n\n return true;\n }\n\n /**\n * 提取增量元素(基于 deltaInfo)\n * 用于性能优化场景\n */\n extractDeltaElements(schema: JsonRenderSchema, deltaInfo: DeltaInfo): Record<string, UIElement> {\n const elementKeys = Object.keys(schema.elements);\n const deltaKeys = elementKeys.slice(deltaInfo.fromIndex, deltaInfo.toIndex);\n \n const deltaElements: Record<string, UIElement> = {};\n deltaKeys.forEach((key) => {\n deltaElements[key] = schema.elements[key];\n });\n \n return deltaElements;\n }\n}\n\n/**\n * 创建 json-render 引擎实例\n */\nexport function createJsonRenderEngine(registry: ComponentRegistry): JsonRenderEngine {\n return new JsonRenderEngine(registry);\n}\n"],"names":["JsonRenderEngine","registry","_classCallCheck","_defineProperty","_createClass","key","value","setSchema","schema","currentSchema","getSchema","patchSchema","newSchema","deltaInfo","console","debug","reset","getRegistry","updateRegistry","validateSchema","root","elements","error","rootElement","extractDeltaElements","elementKeys","Object","keys","deltaKeys","slice","fromIndex","toIndex","deltaElements","forEach","createJsonRenderEngine"],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* json-render 集成模块入口
|
|
3
|
+
* 导出所有核心 API 和类型
|
|
4
|
+
*/
|
|
5
|
+
export { type JsonRenderActivityRendererProps, JsonRenderActivityRenderer } from './renderer/JsonRenderActivityRenderer';
|
|
6
|
+
export { type A2UIJsonRenderActivityRendererProps, A2UIJsonRenderActivityRenderer } from './renderer/A2UIJsonRenderActivityRenderer';
|
|
7
|
+
export * from './contexts';
|
|
8
|
+
export { tdesignRegistry, createCustomRegistry, withStableProps, a2uiRegistry, createA2UIRegistry, A2UITextField, A2UIButton, withA2UIBinding, } from './registry';
|
|
9
|
+
export type { CreateCustomRegistryOptions, JsonRenderActivityConfigOptions, A2UIBindingConfig, } from './registry';
|
|
10
|
+
export { createJsonRenderActivityConfig, createA2UIJsonRenderActivityConfig, } from './registry';
|
|
11
|
+
export * from './catalog/catalog-to-prompt';
|
|
12
|
+
export type * from './types';
|
|
13
|
+
export type { JSONUIProviderProps, } from "./renderer/JsonUIRenderer";
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.1.0-alpha.9
|
|
3
|
+
* (c) 2026 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export { JsonRenderActivityRenderer } from './renderer/JsonRenderActivityRenderer.js';
|
|
8
|
+
export { A2UIJsonRenderActivityRenderer } from './renderer/A2UIJsonRenderActivityRenderer.js';
|
|
9
|
+
import './contexts/index.js';
|
|
10
|
+
export { d as A2UIButton, A as A2UITextField, a as a2uiRegistry, g as createA2UIJsonRenderActivityConfig, b as createA2UIRegistry, c as createCustomRegistry, f as createJsonRenderActivityConfig, t as tdesignRegistry, e as withA2UIBinding, w as withStableProps } from '../../../_chunks/dep-688e4aaa.js';
|
|
11
|
+
export { createCustomCatalog, generateCatalogPrompt, tdesignActionList, tdesignCatalog, tdesignComponentList } from './catalog/catalog-to-prompt.js';
|
|
12
|
+
export { DataProvider, useDataBinding, useDataState, useDataStore, useDataUpdate, useDataValue } from './contexts/data.js';
|
|
13
|
+
export { VisibilityProvider, useIsVisible, useVisibility } from './contexts/visibility.js';
|
|
14
|
+
export { ActionProvider, ConfirmDialog, useAction, useActions } from './contexts/actions.js';
|
|
15
|
+
export { ValidationProvider, useFieldValidation, useValidation } from './contexts/validation.js';
|
|
16
|
+
import 'react';
|
|
17
|
+
import '../../../_chunks/dep-ba3bd553.js';
|
|
18
|
+
import '@babel/runtime/helpers/typeof';
|
|
19
|
+
import './renderer/JsonUIRenderer.js';
|
|
20
|
+
import '@babel/runtime/helpers/defineProperty';
|
|
21
|
+
import './contexts/tree.js';
|
|
22
|
+
import '@babel/runtime/helpers/classCallCheck';
|
|
23
|
+
import '@babel/runtime/helpers/createClass';
|
|
24
|
+
import '@babel/runtime/helpers/possibleConstructorReturn';
|
|
25
|
+
import '@babel/runtime/helpers/getPrototypeOf';
|
|
26
|
+
import '@babel/runtime/helpers/inherits';
|
|
27
|
+
import './contexts/store.js';
|
|
28
|
+
import '@json-render/core';
|
|
29
|
+
import '@babel/runtime/helpers/slicedToArray';
|
|
30
|
+
import '../../../_chunks/dep-de8ac730.js';
|
|
31
|
+
import '@babel/runtime/helpers/wrapNativeSuper';
|
|
32
|
+
import '@babel/runtime/helpers/asyncToGenerator';
|
|
33
|
+
import '@babel/runtime/regenerator';
|
|
34
|
+
import '@babel/runtime/helpers/objectWithoutProperties';
|
|
35
|
+
import '../../core/index.js';
|
|
36
|
+
import '../../core/adapters/agui/index.js';
|
|
37
|
+
import '@babel/runtime/helpers/toConsumableArray';
|
|
38
|
+
import '../../core/adapters/agui/event-mapper.js';
|
|
39
|
+
import '../../core/adapters/agui/types/index.js';
|
|
40
|
+
import 'zod';
|
|
41
|
+
import '../../core/adapters/agui/StateManager.js';
|
|
42
|
+
import '../../core/utils/index.js';
|
|
43
|
+
import '../../core/utils/immutable-patch.js';
|
|
44
|
+
import '@babel/runtime/helpers/toArray';
|
|
45
|
+
import '../../core/adapters/agui/ActivityManager.js';
|
|
46
|
+
import '../../core/adapters/agui/utils.js';
|
|
47
|
+
import '../../core/store/message.js';
|
|
48
|
+
import '@babel/runtime/helpers/get';
|
|
49
|
+
import '../../core/store/reactiveState.js';
|
|
50
|
+
import '../../core/event-bus/index.js';
|
|
51
|
+
import '../../core/event-bus/ChatEventBus.js';
|
|
52
|
+
import '../../core/event-bus/types.js';
|
|
53
|
+
import '../../core/processor/index.js';
|
|
54
|
+
import '../../core/server/index.js';
|
|
55
|
+
import '../../core/server/llm-service.js';
|
|
56
|
+
import '../../core/utils/logger.js';
|
|
57
|
+
import '../../core/server/batch-client.js';
|
|
58
|
+
import '../../core/utils/eventEmitter.js';
|
|
59
|
+
import '../../core/server/errors.js';
|
|
60
|
+
import '../../core/server/sse-client.js';
|
|
61
|
+
import '../../core/server/connection-manager.js';
|
|
62
|
+
import '../../core/server/sse-parser.js';
|
|
63
|
+
import '../../core/server/types.js';
|
|
64
|
+
import '../../core/adapters/index.js';
|
|
65
|
+
import '../../core/adapters/json-render/index.js';
|
|
66
|
+
import '../../core/adapters/json-render/a2ui-to-jsonrender.js';
|
|
67
|
+
import '../../core/adapters/json-render/types/a2ui.js';
|
|
68
|
+
import '../../core/adapters/json-render/SurfaceStateManager.js';
|
|
69
|
+
import '../../core/adapters/json-render/types/index.js';
|
|
70
|
+
import '../../core/adapters/json-render/types/core.js';
|
|
71
|
+
import './catalog/atomic/button.js';
|
|
72
|
+
import 'tdesign-react';
|
|
73
|
+
import './catalog/atomic/card.js';
|
|
74
|
+
import './catalog/atomic/text.js';
|
|
75
|
+
import './catalog/atomic/layout.js';
|
|
76
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|