@tdesign-react/chat 1.0.2 → 1.0.3-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +0 -4
- package/README.md +76 -22
- package/es/_chunks/dep-076af7c3.js +438 -0
- package/es/_chunks/dep-076af7c3.js.map +1 -0
- package/es/_chunks/dep-1007ac80.js +205 -0
- package/es/_chunks/dep-1007ac80.js.map +1 -0
- package/es/_chunks/dep-16520c2b.js +1247 -0
- package/es/_chunks/dep-16520c2b.js.map +1 -0
- package/es/_chunks/dep-1743bd61.js +438 -0
- package/es/_chunks/dep-1743bd61.js.map +1 -0
- package/es/_chunks/dep-1ca64fef.js +1247 -0
- package/es/_chunks/dep-1ca64fef.js.map +1 -0
- package/es/_chunks/dep-24472232.js +839 -0
- package/es/_chunks/dep-24472232.js.map +1 -0
- package/es/_chunks/dep-3864b369.js +839 -0
- package/es/_chunks/dep-3864b369.js.map +1 -0
- package/es/_chunks/dep-3e40d789.js +169 -0
- package/es/_chunks/dep-3e40d789.js.map +1 -0
- package/es/_chunks/dep-4dedfbef.js +438 -0
- package/es/_chunks/dep-4dedfbef.js.map +1 -0
- package/es/_chunks/dep-56f5e08e.js +448 -0
- package/es/_chunks/dep-56f5e08e.js.map +1 -0
- package/es/_chunks/dep-5b6b17d0.js +169 -0
- package/es/_chunks/dep-5b6b17d0.js.map +1 -0
- package/es/_chunks/dep-688e4aaa.js +438 -0
- package/es/_chunks/dep-688e4aaa.js.map +1 -0
- package/es/_chunks/dep-870f0d35.js +839 -0
- package/es/_chunks/dep-870f0d35.js.map +1 -0
- package/es/_chunks/dep-96eca06f.js +169 -0
- package/es/_chunks/dep-96eca06f.js.map +1 -0
- package/es/_chunks/dep-ba3bd553.js +169 -0
- package/es/_chunks/dep-ba3bd553.js.map +1 -0
- package/es/_chunks/dep-bcb234a1.js +839 -0
- package/es/_chunks/dep-bcb234a1.js.map +1 -0
- package/es/_chunks/dep-de8ac730.js +1247 -0
- package/es/_chunks/dep-de8ac730.js.map +1 -0
- package/es/_chunks/dep-e9dbff09.js +1247 -0
- package/es/_chunks/dep-e9dbff09.js.map +1 -0
- package/es/_chunks/dep-ebc4cf30.js +1247 -0
- package/es/_chunks/dep-ebc4cf30.js.map +1 -0
- package/es/_chunks/dep-f2051ebd.js +839 -0
- package/es/_chunks/dep-f2051ebd.js.map +1 -0
- package/es/_chunks/dep-f691a67e.js +438 -0
- package/es/_chunks/dep-f691a67e.js.map +1 -0
- package/es/_chunks/dep-f8016301.js +169 -0
- package/es/_chunks/dep-f8016301.js.map +1 -0
- package/es/_util/reactify.d.ts +1 -2
- package/es/_util/reactify.js +102 -232
- package/es/_util/reactify.js.map +1 -1
- package/es/attachments/index.js +3 -5
- package/es/attachments/index.js.map +1 -1
- package/es/chat-actionbar/index.js +3 -5
- 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.js +8 -4
- package/es/chat-engine/components/activity/index.js.map +1 -1
- package/es/chat-engine/components/activity/registry.d.ts +6 -40
- package/es/chat-engine/components/activity/registry.js +22 -76
- package/es/chat-engine/components/activity/registry.js.map +1 -1
- package/es/chat-engine/components/activity/render.d.ts +1 -1
- package/es/chat-engine/components/activity/render.js +21 -69
- package/es/chat-engine/components/activity/render.js.map +1 -1
- package/es/chat-engine/components/index.js +8 -4
- 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/shared/ComponentErrorBoundary.d.ts +25 -0
- package/es/chat-engine/components/shared/ComponentErrorBoundary.js +58 -0
- package/es/chat-engine/components/shared/ComponentErrorBoundary.js.map +1 -0
- package/es/chat-engine/components/shared/createRegistry.d.ts +36 -0
- package/es/chat-engine/components/shared/createRegistry.js +72 -0
- package/es/chat-engine/components/shared/createRegistry.js.map +1 -0
- package/es/chat-engine/components/shared/index.d.ts +4 -0
- package/es/chat-engine/components/shared/index.js +18 -0
- package/es/chat-engine/components/shared/index.js.map +1 -0
- package/es/chat-engine/components/shared/useRegistrationListener.d.ts +22 -0
- package/es/chat-engine/components/shared/useRegistrationListener.js +45 -0
- package/es/chat-engine/components/shared/useRegistrationListener.js.map +1 -0
- package/es/chat-engine/components/toolcall/index.d.ts +1 -1
- package/es/chat-engine/components/toolcall/index.js +11 -7
- package/es/chat-engine/components/toolcall/index.js.map +1 -1
- package/es/chat-engine/components/toolcall/registry.d.ts +6 -32
- package/es/chat-engine/components/toolcall/registry.js +22 -66
- package/es/chat-engine/components/toolcall/registry.js.map +1 -1
- package/es/chat-engine/components/toolcall/render.js +27 -75
- package/es/chat-engine/components/toolcall/render.js.map +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 +7 -0
- package/es/chat-engine/hooks/index.js.map +1 -1
- package/es/chat-engine/hooks/useAgentActivity.js +9 -1
- package/es/chat-engine/hooks/useAgentActivity.js.map +1 -1
- package/es/chat-engine/hooks/useAgentToolcall.js +9 -1
- package/es/chat-engine/hooks/useAgentToolcall.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.js +8 -4
- package/es/chat-engine/index.js.map +1 -1
- package/es/chat-filecard/index.js +3 -5
- package/es/chat-filecard/index.js.map +1 -1
- package/es/chat-loading/index.js +3 -5
- package/es/chat-loading/index.js.map +1 -1
- package/es/chat-markdown/index.js +3 -5
- package/es/chat-markdown/index.js.map +1 -1
- package/es/chat-message/index.js +3 -5
- package/es/chat-message/index.js.map +1 -1
- package/es/chat-sender/index.js +3 -5
- package/es/chat-sender/index.js.map +1 -1
- package/es/chat-thinking/index.js +3 -5
- 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 +3 -5
- package/es/chatbot/index.js.map +1 -1
- package/es/index.js +10 -7
- package/es/index.js.map +1 -1
- package/package.json +16 -11
- package/es/chatbot/_example-js/agui-toolcall.d.ts +0 -11
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* json-render 性能监控和优化工具(框架无关)
|
|
3
|
+
*/
|
|
4
|
+
import type { PerformanceMetrics, PerformanceThresholds } from '../adapters/json-render/types/core';
|
|
5
|
+
/**
|
|
6
|
+
* 性能监控器
|
|
7
|
+
* 框架无关,可在任何 JavaScript 环境中使用
|
|
8
|
+
*/
|
|
9
|
+
export declare class PerformanceMonitor {
|
|
10
|
+
private metrics;
|
|
11
|
+
private maxMetricsCount;
|
|
12
|
+
/**
|
|
13
|
+
* 开始性能测量
|
|
14
|
+
*/
|
|
15
|
+
start(): (elementCount: number, deltaInfo?: {
|
|
16
|
+
fromIndex: number;
|
|
17
|
+
toIndex: number;
|
|
18
|
+
}) => PerformanceMetrics;
|
|
19
|
+
/**
|
|
20
|
+
* 测量更新性能
|
|
21
|
+
*/
|
|
22
|
+
measureUpdate<T>(fn: () => T): {
|
|
23
|
+
result: T;
|
|
24
|
+
metric: PerformanceMetrics;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* 获取内存使用情况(MB)
|
|
28
|
+
*/
|
|
29
|
+
private getMemoryUsage;
|
|
30
|
+
/**
|
|
31
|
+
* 添加性能指标
|
|
32
|
+
*/
|
|
33
|
+
private addMetric;
|
|
34
|
+
/**
|
|
35
|
+
* 获取所有指标
|
|
36
|
+
*/
|
|
37
|
+
getMetrics(): PerformanceMetrics[];
|
|
38
|
+
/**
|
|
39
|
+
* 获取平均渲染时间
|
|
40
|
+
*/
|
|
41
|
+
getAverageRenderTime(): number;
|
|
42
|
+
/**
|
|
43
|
+
* 获取平均更新时间
|
|
44
|
+
*/
|
|
45
|
+
getAverageUpdateTime(): number;
|
|
46
|
+
/**
|
|
47
|
+
* 获取最近 N 次操作的平均时间
|
|
48
|
+
*/
|
|
49
|
+
getRecentAverageTime(count?: number, type?: 'render' | 'update'): number;
|
|
50
|
+
/**
|
|
51
|
+
* 获取性能统计摘要
|
|
52
|
+
*/
|
|
53
|
+
getSummary(): {
|
|
54
|
+
totalOperations: number;
|
|
55
|
+
renderOperations: number;
|
|
56
|
+
updateOperations: number;
|
|
57
|
+
avgRenderTime: number;
|
|
58
|
+
avgUpdateTime: number;
|
|
59
|
+
recentAvgRenderTime: number;
|
|
60
|
+
recentAvgUpdateTime: number;
|
|
61
|
+
avgMemoryUsage: number;
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* 获取平均内存使用
|
|
65
|
+
*/
|
|
66
|
+
private getAverageMemoryUsage;
|
|
67
|
+
/**
|
|
68
|
+
* 重置所有指标
|
|
69
|
+
*/
|
|
70
|
+
reset(): void;
|
|
71
|
+
/**
|
|
72
|
+
* 打印性能摘要
|
|
73
|
+
*/
|
|
74
|
+
printSummary(): void;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* 全局性能监控实例
|
|
78
|
+
*/
|
|
79
|
+
export declare const globalPerformanceMonitor: PerformanceMonitor;
|
|
80
|
+
/**
|
|
81
|
+
* 性能警告阈值(ms)
|
|
82
|
+
*/
|
|
83
|
+
export declare const PERFORMANCE_THRESHOLDS: PerformanceThresholds;
|
|
84
|
+
/**
|
|
85
|
+
* 检查性能并发出警告
|
|
86
|
+
*/
|
|
87
|
+
export declare function checkPerformance(metric: PerformanceMetrics, thresholds?: PerformanceThresholds): void;
|
|
88
|
+
declare const _default: {
|
|
89
|
+
PerformanceMonitor: typeof PerformanceMonitor;
|
|
90
|
+
globalPerformanceMonitor: PerformanceMonitor;
|
|
91
|
+
checkPerformance: typeof checkPerformance;
|
|
92
|
+
PERFORMANCE_THRESHOLDS: PerformanceThresholds;
|
|
93
|
+
};
|
|
94
|
+
export default _default;
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.1.0-alpha.11
|
|
3
|
+
* (c) 2026 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
8
|
+
import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
|
|
9
|
+
import _createClass from '@babel/runtime/helpers/createClass';
|
|
10
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
11
|
+
|
|
12
|
+
var PerformanceMonitor = /*#__PURE__*/function () {
|
|
13
|
+
function PerformanceMonitor() {
|
|
14
|
+
_classCallCheck(this, PerformanceMonitor);
|
|
15
|
+
_defineProperty(this, "metrics", []);
|
|
16
|
+
_defineProperty(this, "maxMetricsCount", 100);
|
|
17
|
+
}
|
|
18
|
+
return _createClass(PerformanceMonitor, [{
|
|
19
|
+
key: "start",
|
|
20
|
+
value: function start() {
|
|
21
|
+
var _this = this;
|
|
22
|
+
var startTime = performance.now();
|
|
23
|
+
return function (elementCount) {
|
|
24
|
+
var endTime = performance.now();
|
|
25
|
+
var renderTime = endTime - startTime;
|
|
26
|
+
var metric = {
|
|
27
|
+
renderTime: renderTime,
|
|
28
|
+
updateTime: 0,
|
|
29
|
+
memoryUsage: _this.getMemoryUsage(),
|
|
30
|
+
componentCount: elementCount,
|
|
31
|
+
timestamp: Date.now()
|
|
32
|
+
};
|
|
33
|
+
_this.addMetric(metric);
|
|
34
|
+
return metric;
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
}, {
|
|
38
|
+
key: "measureUpdate",
|
|
39
|
+
value: function measureUpdate(fn) {
|
|
40
|
+
var startTime = performance.now();
|
|
41
|
+
var result = fn();
|
|
42
|
+
var endTime = performance.now();
|
|
43
|
+
var updateTime = endTime - startTime;
|
|
44
|
+
var metric = {
|
|
45
|
+
renderTime: 0,
|
|
46
|
+
updateTime: updateTime,
|
|
47
|
+
memoryUsage: this.getMemoryUsage(),
|
|
48
|
+
componentCount: 0,
|
|
49
|
+
timestamp: Date.now()
|
|
50
|
+
};
|
|
51
|
+
this.addMetric(metric);
|
|
52
|
+
return {
|
|
53
|
+
result: result,
|
|
54
|
+
metric: metric
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
}, {
|
|
58
|
+
key: "getMemoryUsage",
|
|
59
|
+
value: function getMemoryUsage() {
|
|
60
|
+
if (typeof performance !== "undefined" && "memory" in performance) {
|
|
61
|
+
var _performance$memory;
|
|
62
|
+
return (((_performance$memory = performance.memory) === null || _performance$memory === void 0 ? void 0 : _performance$memory.usedJSHeapSize) || 0) / 1024 / 1024;
|
|
63
|
+
}
|
|
64
|
+
return 0;
|
|
65
|
+
}
|
|
66
|
+
}, {
|
|
67
|
+
key: "addMetric",
|
|
68
|
+
value: function addMetric(metric) {
|
|
69
|
+
this.metrics.push(metric);
|
|
70
|
+
if (this.metrics.length > this.maxMetricsCount) {
|
|
71
|
+
this.metrics.shift();
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}, {
|
|
75
|
+
key: "getMetrics",
|
|
76
|
+
value: function getMetrics() {
|
|
77
|
+
return _toConsumableArray(this.metrics);
|
|
78
|
+
}
|
|
79
|
+
}, {
|
|
80
|
+
key: "getAverageRenderTime",
|
|
81
|
+
value: function getAverageRenderTime() {
|
|
82
|
+
var renderMetrics = this.metrics.filter(function (m) {
|
|
83
|
+
return m.renderTime > 0;
|
|
84
|
+
});
|
|
85
|
+
if (renderMetrics.length === 0) return 0;
|
|
86
|
+
var totalTime = renderMetrics.reduce(function (sum, m) {
|
|
87
|
+
return sum + m.renderTime;
|
|
88
|
+
}, 0);
|
|
89
|
+
return totalTime / renderMetrics.length;
|
|
90
|
+
}
|
|
91
|
+
}, {
|
|
92
|
+
key: "getAverageUpdateTime",
|
|
93
|
+
value: function getAverageUpdateTime() {
|
|
94
|
+
var updateMetrics = this.metrics.filter(function (m) {
|
|
95
|
+
return m.updateTime > 0;
|
|
96
|
+
});
|
|
97
|
+
if (updateMetrics.length === 0) return 0;
|
|
98
|
+
var totalTime = updateMetrics.reduce(function (sum, m) {
|
|
99
|
+
return sum + m.updateTime;
|
|
100
|
+
}, 0);
|
|
101
|
+
return totalTime / updateMetrics.length;
|
|
102
|
+
}
|
|
103
|
+
}, {
|
|
104
|
+
key: "getRecentAverageTime",
|
|
105
|
+
value: function getRecentAverageTime() {
|
|
106
|
+
var count = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 10;
|
|
107
|
+
var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "render";
|
|
108
|
+
var recentMetrics = this.metrics.slice(-count);
|
|
109
|
+
if (recentMetrics.length === 0) return 0;
|
|
110
|
+
var timeField = type === "render" ? "renderTime" : "updateTime";
|
|
111
|
+
var validMetrics = recentMetrics.filter(function (m) {
|
|
112
|
+
return m[timeField] > 0;
|
|
113
|
+
});
|
|
114
|
+
if (validMetrics.length === 0) return 0;
|
|
115
|
+
var totalTime = validMetrics.reduce(function (sum, m) {
|
|
116
|
+
return sum + m[timeField];
|
|
117
|
+
}, 0);
|
|
118
|
+
return totalTime / validMetrics.length;
|
|
119
|
+
}
|
|
120
|
+
}, {
|
|
121
|
+
key: "getSummary",
|
|
122
|
+
value: function getSummary() {
|
|
123
|
+
var renderMetrics = this.metrics.filter(function (m) {
|
|
124
|
+
return m.renderTime > 0;
|
|
125
|
+
});
|
|
126
|
+
var updateMetrics = this.metrics.filter(function (m) {
|
|
127
|
+
return m.updateTime > 0;
|
|
128
|
+
});
|
|
129
|
+
return {
|
|
130
|
+
totalOperations: this.metrics.length,
|
|
131
|
+
renderOperations: renderMetrics.length,
|
|
132
|
+
updateOperations: updateMetrics.length,
|
|
133
|
+
avgRenderTime: this.getAverageRenderTime(),
|
|
134
|
+
avgUpdateTime: this.getAverageUpdateTime(),
|
|
135
|
+
recentAvgRenderTime: this.getRecentAverageTime(10, "render"),
|
|
136
|
+
recentAvgUpdateTime: this.getRecentAverageTime(10, "update"),
|
|
137
|
+
avgMemoryUsage: this.getAverageMemoryUsage()
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
}, {
|
|
141
|
+
key: "getAverageMemoryUsage",
|
|
142
|
+
value: function getAverageMemoryUsage() {
|
|
143
|
+
if (this.metrics.length === 0) return 0;
|
|
144
|
+
var totalMemory = this.metrics.reduce(function (sum, m) {
|
|
145
|
+
return sum + m.memoryUsage;
|
|
146
|
+
}, 0);
|
|
147
|
+
return totalMemory / this.metrics.length;
|
|
148
|
+
}
|
|
149
|
+
}, {
|
|
150
|
+
key: "reset",
|
|
151
|
+
value: function reset() {
|
|
152
|
+
this.metrics = [];
|
|
153
|
+
}
|
|
154
|
+
}, {
|
|
155
|
+
key: "printSummary",
|
|
156
|
+
value: function printSummary() {
|
|
157
|
+
var summary = this.getSummary();
|
|
158
|
+
console.log("[json-render Performance Summary]", {
|
|
159
|
+
"\u603B\u64CD\u4F5C\u6B21\u6570": summary.totalOperations,
|
|
160
|
+
"\u6E32\u67D3\u64CD\u4F5C": summary.renderOperations,
|
|
161
|
+
"\u66F4\u65B0\u64CD\u4F5C": summary.updateOperations,
|
|
162
|
+
"\u5E73\u5747\u6E32\u67D3\u65F6\u95F4(ms)": summary.avgRenderTime.toFixed(2),
|
|
163
|
+
"\u5E73\u5747\u66F4\u65B0\u65F6\u95F4(ms)": summary.avgUpdateTime.toFixed(2),
|
|
164
|
+
"\u6700\u8FD110\u6B21\u6E32\u67D3\u65F6\u95F4(ms)": summary.recentAvgRenderTime.toFixed(2),
|
|
165
|
+
"\u6700\u8FD110\u6B21\u66F4\u65B0\u65F6\u95F4(ms)": summary.recentAvgUpdateTime.toFixed(2),
|
|
166
|
+
"\u5E73\u5747\u5185\u5B58\u4F7F\u7528(MB)": summary.avgMemoryUsage.toFixed(2)
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
}]);
|
|
170
|
+
}();
|
|
171
|
+
var globalPerformanceMonitor = new PerformanceMonitor();
|
|
172
|
+
var PERFORMANCE_THRESHOLDS = {
|
|
173
|
+
renderTime: 50,
|
|
174
|
+
updateTime: 16,
|
|
175
|
+
memoryUsage: 100
|
|
176
|
+
};
|
|
177
|
+
function checkPerformance(metric) {
|
|
178
|
+
var thresholds = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : PERFORMANCE_THRESHOLDS;
|
|
179
|
+
if (metric.renderTime > thresholds.renderTime) {
|
|
180
|
+
console.warn("[json-render Performance Warning] \u6E32\u67D3\u8017\u65F6 ".concat(metric.renderTime.toFixed(2), "ms\uFF0C\u8D85\u8FC7\u9608\u503C ").concat(thresholds.renderTime, "ms"), {
|
|
181
|
+
componentCount: metric.componentCount,
|
|
182
|
+
memoryUsage: metric.memoryUsage.toFixed(2) + "MB"
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
if (metric.updateTime > thresholds.updateTime) {
|
|
186
|
+
console.warn("[json-render Performance Warning] \u66F4\u65B0\u8017\u65F6 ".concat(metric.updateTime.toFixed(2), "ms\uFF0C\u8D85\u8FC7\u9608\u503C ").concat(thresholds.updateTime, "ms"), {
|
|
187
|
+
componentCount: metric.componentCount,
|
|
188
|
+
memoryUsage: metric.memoryUsage.toFixed(2) + "MB"
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
if (metric.memoryUsage > thresholds.memoryUsage) {
|
|
192
|
+
console.warn("[json-render Performance Warning] \u5185\u5B58\u4F7F\u7528 ".concat(metric.memoryUsage.toFixed(2), "MB\uFF0C\u8D85\u8FC7\u9608\u503C ").concat(thresholds.memoryUsage, "MB"), {
|
|
193
|
+
componentCount: metric.componentCount
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
var performance$1 = {
|
|
198
|
+
PerformanceMonitor: PerformanceMonitor,
|
|
199
|
+
globalPerformanceMonitor: globalPerformanceMonitor,
|
|
200
|
+
checkPerformance: checkPerformance,
|
|
201
|
+
PERFORMANCE_THRESHOLDS: PERFORMANCE_THRESHOLDS
|
|
202
|
+
};
|
|
203
|
+
|
|
204
|
+
export { PERFORMANCE_THRESHOLDS, PerformanceMonitor, checkPerformance, performance$1 as default, globalPerformanceMonitor };
|
|
205
|
+
//# sourceMappingURL=performance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"performance.js","sources":["../../../../../pro-components/chat/chat-engine/core/utils/performance.ts"],"sourcesContent":["/**\n * json-render 性能监控和优化工具(框架无关)\n */\n\nimport type { PerformanceMetrics, PerformanceThresholds } from '../adapters/json-render/types/core';\n\n/**\n * 性能监控器\n * 框架无关,可在任何 JavaScript 环境中使用\n */\nexport class PerformanceMonitor {\n private metrics: PerformanceMetrics[] = [];\n private maxMetricsCount = 100; // 最多保留 100 条记录\n\n /**\n * 开始性能测量\n */\n start(): (elementCount: number, deltaInfo?: { fromIndex: number; toIndex: number }) => PerformanceMetrics {\n const startTime = performance.now();\n \n return (\n elementCount: number,\n ): PerformanceMetrics => {\n const endTime = performance.now();\n const renderTime = endTime - startTime;\n\n const metric: PerformanceMetrics = {\n renderTime,\n updateTime: 0, // 这里只测量渲染时间,更新时间由调用方设置\n memoryUsage: this.getMemoryUsage(),\n componentCount: elementCount,\n timestamp: Date.now(),\n };\n\n this.addMetric(metric);\n return metric;\n };\n }\n\n /**\n * 测量更新性能\n */\n measureUpdate<T>(fn: () => T): { result: T; metric: PerformanceMetrics } {\n const startTime = performance.now();\n const result = fn();\n const endTime = performance.now();\n const updateTime = endTime - startTime;\n\n const metric: PerformanceMetrics = {\n renderTime: 0,\n updateTime,\n memoryUsage: this.getMemoryUsage(),\n componentCount: 0, // 更新操作不涉及组件数量\n timestamp: Date.now(),\n };\n\n this.addMetric(metric);\n return { result, metric };\n }\n\n /**\n * 获取内存使用情况(MB)\n */\n private getMemoryUsage(): number {\n if (typeof performance !== 'undefined' && 'memory' in performance) {\n // @ts-ignore - performance.memory 在某些环境中可用\n return (performance.memory?.usedJSHeapSize || 0) / 1024 / 1024;\n }\n return 0;\n }\n\n /**\n * 添加性能指标\n */\n private addMetric(metric: PerformanceMetrics): void {\n this.metrics.push(metric);\n\n // 限制记录数量\n if (this.metrics.length > this.maxMetricsCount) {\n this.metrics.shift();\n }\n }\n\n /**\n * 获取所有指标\n */\n getMetrics(): PerformanceMetrics[] {\n return [...this.metrics];\n }\n\n /**\n * 获取平均渲染时间\n */\n getAverageRenderTime(): number {\n const renderMetrics = this.metrics.filter(m => m.renderTime > 0);\n if (renderMetrics.length === 0) return 0;\n\n const totalTime = renderMetrics.reduce((sum, m) => sum + m.renderTime, 0);\n return totalTime / renderMetrics.length;\n }\n\n /**\n * 获取平均更新时间\n */\n getAverageUpdateTime(): number {\n const updateMetrics = this.metrics.filter(m => m.updateTime > 0);\n if (updateMetrics.length === 0) return 0;\n\n const totalTime = updateMetrics.reduce((sum, m) => sum + m.updateTime, 0);\n return totalTime / updateMetrics.length;\n }\n\n /**\n * 获取最近 N 次操作的平均时间\n */\n getRecentAverageTime(count: number = 10, type: 'render' | 'update' = 'render'): number {\n const recentMetrics = this.metrics.slice(-count);\n if (recentMetrics.length === 0) return 0;\n\n const timeField = type === 'render' ? 'renderTime' : 'updateTime';\n const validMetrics = recentMetrics.filter(m => m[timeField] > 0);\n if (validMetrics.length === 0) return 0;\n\n const totalTime = validMetrics.reduce((sum, m) => sum + m[timeField], 0);\n return totalTime / validMetrics.length;\n }\n\n /**\n * 获取性能统计摘要\n */\n getSummary() {\n const renderMetrics = this.metrics.filter(m => m.renderTime > 0);\n const updateMetrics = this.metrics.filter(m => m.updateTime > 0);\n\n return {\n totalOperations: this.metrics.length,\n renderOperations: renderMetrics.length,\n updateOperations: updateMetrics.length,\n avgRenderTime: this.getAverageRenderTime(),\n avgUpdateTime: this.getAverageUpdateTime(),\n recentAvgRenderTime: this.getRecentAverageTime(10, 'render'),\n recentAvgUpdateTime: this.getRecentAverageTime(10, 'update'),\n avgMemoryUsage: this.getAverageMemoryUsage(),\n };\n }\n\n /**\n * 获取平均内存使用\n */\n private getAverageMemoryUsage(): number {\n if (this.metrics.length === 0) return 0;\n const totalMemory = this.metrics.reduce((sum, m) => sum + m.memoryUsage, 0);\n return totalMemory / this.metrics.length;\n }\n\n /**\n * 重置所有指标\n */\n reset(): void {\n this.metrics = [];\n }\n\n /**\n * 打印性能摘要\n */\n printSummary(): void {\n const summary = this.getSummary();\n console.log('[json-render Performance Summary]', {\n '总操作次数': summary.totalOperations,\n '渲染操作': summary.renderOperations,\n '更新操作': summary.updateOperations,\n '平均渲染时间(ms)': summary.avgRenderTime.toFixed(2),\n '平均更新时间(ms)': summary.avgUpdateTime.toFixed(2),\n '最近10次渲染时间(ms)': summary.recentAvgRenderTime.toFixed(2),\n '最近10次更新时间(ms)': summary.recentAvgUpdateTime.toFixed(2),\n '平均内存使用(MB)': summary.avgMemoryUsage.toFixed(2),\n });\n }\n}\n\n/**\n * 全局性能监控实例\n */\nexport const globalPerformanceMonitor = new PerformanceMonitor();\n\n/**\n * 性能警告阈值(ms)\n */\nexport const PERFORMANCE_THRESHOLDS: PerformanceThresholds = {\n renderTime: 50, // 渲染超过 50ms 发出警告\n updateTime: 16, // 更新超过 16ms 发出警告(1帧)\n memoryUsage: 100, // 内存使用超过 100MB 发出警告\n};\n\n/**\n * 检查性能并发出警告\n */\nexport function checkPerformance(metric: PerformanceMetrics, thresholds: PerformanceThresholds = PERFORMANCE_THRESHOLDS): void {\n if (metric.renderTime > thresholds.renderTime) {\n console.warn(\n `[json-render Performance Warning] 渲染耗时 ${metric.renderTime.toFixed(2)}ms,超过阈值 ${thresholds.renderTime}ms`,\n {\n componentCount: metric.componentCount,\n memoryUsage: metric.memoryUsage.toFixed(2) + 'MB',\n },\n );\n }\n\n if (metric.updateTime > thresholds.updateTime) {\n console.warn(\n `[json-render Performance Warning] 更新耗时 ${metric.updateTime.toFixed(2)}ms,超过阈值 ${thresholds.updateTime}ms`,\n {\n componentCount: metric.componentCount,\n memoryUsage: metric.memoryUsage.toFixed(2) + 'MB',\n },\n );\n }\n\n if (metric.memoryUsage > thresholds.memoryUsage) {\n console.warn(\n `[json-render Performance Warning] 内存使用 ${metric.memoryUsage.toFixed(2)}MB,超过阈值 ${thresholds.memoryUsage}MB`,\n {\n componentCount: metric.componentCount,\n },\n );\n }\n}\n\nexport default {\n PerformanceMonitor,\n globalPerformanceMonitor,\n checkPerformance,\n PERFORMANCE_THRESHOLDS,\n};"],"names":["PerformanceMonitor","_classCallCheck","_defineProperty","_createClass","key","value","start","_this","startTime","performance","now","elementCount","endTime","renderTime","metric","updateTime","memoryUsage","getMemoryUsage","componentCount","timestamp","Date","addMetric","measureUpdate","fn","result","_performance$memory","memory","usedJSHeapSize","metrics","push","length","maxMetricsCount","shift","getMetrics","_toConsumableArray","getAverageRenderTime","renderMetrics","filter","m","totalTime","reduce","sum","getAverageUpdateTime","updateMetrics","getRecentAverageTime","count","arguments","undefined","type","recentMetrics","slice","timeField","validMetrics","getSummary","totalOperations","renderOperations","updateOperations","avgRenderTime","avgUpdateTime","recentAvgRenderTime","recentAvgUpdateTime","avgMemoryUsage","getAverageMemoryUsage","totalMemory","reset","printSummary","summary","console","log","toFixed","globalPerformanceMonitor","PERFORMANCE_THRESHOLDS","checkPerformance","thresholds","warn","concat"],"mappings":"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"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A2UI React Context
|
|
3
|
+
* 双 Context 设计:A2UIContext(运行时状态)+ ComponentRegistryContext(组件注册)
|
|
4
|
+
*/
|
|
5
|
+
import React, { ReactNode } from 'react';
|
|
6
|
+
import type { A2uiMessageProcessor } from '../../core/a2ui';
|
|
7
|
+
import type { ActionHandler } from '../../core/a2ui';
|
|
8
|
+
/**
|
|
9
|
+
* A2UI 组件渲染器类型
|
|
10
|
+
*/
|
|
11
|
+
export type A2UIComponentRenderer<T = any> = React.ComponentType<T>;
|
|
12
|
+
/**
|
|
13
|
+
* 组件注册表
|
|
14
|
+
*/
|
|
15
|
+
export interface ComponentRegistry {
|
|
16
|
+
[componentType: string]: A2UIComponentRenderer;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* 组件注册表上下文值
|
|
20
|
+
*/
|
|
21
|
+
interface ComponentRegistryContextValue {
|
|
22
|
+
registry: ComponentRegistry;
|
|
23
|
+
getComponent: (type: string) => A2UIComponentRenderer | undefined;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* 组件注册表 Provider
|
|
27
|
+
*/
|
|
28
|
+
export interface ComponentRegistryProviderProps {
|
|
29
|
+
registry: ComponentRegistry;
|
|
30
|
+
children: ReactNode;
|
|
31
|
+
}
|
|
32
|
+
export declare function ComponentRegistryProvider({ registry, children }: ComponentRegistryProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
/**
|
|
34
|
+
* 获取组件注册表
|
|
35
|
+
*/
|
|
36
|
+
export declare function useComponentRegistry(): ComponentRegistryContextValue;
|
|
37
|
+
/**
|
|
38
|
+
* A2UI 运行时上下文值
|
|
39
|
+
*/
|
|
40
|
+
export interface A2UIContextValue {
|
|
41
|
+
/** A2UI 消息处理器 */
|
|
42
|
+
processor: A2uiMessageProcessor;
|
|
43
|
+
/** 当前 Surface ID */
|
|
44
|
+
surfaceId: string;
|
|
45
|
+
/** 当前数据上下文路径(用于相对路径解析和 template 渲染) */
|
|
46
|
+
dataContextPath: string;
|
|
47
|
+
/** Action 处理回调 */
|
|
48
|
+
onAction?: ActionHandler;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* A2UI 运行时 Provider
|
|
52
|
+
*/
|
|
53
|
+
export interface A2UIProviderProps {
|
|
54
|
+
processor: A2uiMessageProcessor;
|
|
55
|
+
surfaceId: string;
|
|
56
|
+
dataContextPath?: string;
|
|
57
|
+
onAction?: ActionHandler;
|
|
58
|
+
children: ReactNode;
|
|
59
|
+
}
|
|
60
|
+
export declare function A2UIProvider({ processor, surfaceId, dataContextPath, onAction, children, }: A2UIProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
61
|
+
/**
|
|
62
|
+
* 获取 A2UI 运行时上下文
|
|
63
|
+
*/
|
|
64
|
+
export declare function useA2UIContext(): A2UIContextValue;
|
|
65
|
+
/**
|
|
66
|
+
* 安全获取 A2UI 上下文(可能为 null)
|
|
67
|
+
*/
|
|
68
|
+
export declare function useA2UIContextSafe(): A2UIContextValue | null;
|
|
69
|
+
/**
|
|
70
|
+
* A2UI 完整 Provider(组合两个 Context)
|
|
71
|
+
*/
|
|
72
|
+
export interface A2UIRootProviderProps {
|
|
73
|
+
processor: A2uiMessageProcessor;
|
|
74
|
+
surfaceId: string;
|
|
75
|
+
registry: ComponentRegistry;
|
|
76
|
+
dataContextPath?: string;
|
|
77
|
+
onAction?: ActionHandler;
|
|
78
|
+
children: ReactNode;
|
|
79
|
+
}
|
|
80
|
+
export declare function A2UIRootProvider({ processor, surfaceId, registry, dataContextPath, onAction, children, }: A2UIRootProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
81
|
+
/**
|
|
82
|
+
* 数据上下文路径 Provider
|
|
83
|
+
* 用于 List/Template 渲染时修改子组件的数据上下文
|
|
84
|
+
*/
|
|
85
|
+
export interface DataContextProviderProps {
|
|
86
|
+
path: string;
|
|
87
|
+
children: ReactNode;
|
|
88
|
+
}
|
|
89
|
+
export declare function DataContextProvider({ path, children }: DataContextProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
90
|
+
export {};
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.0.2-alpha.14
|
|
3
|
+
* (c) 2026 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
8
|
+
import React__default, { createContext, useMemo, useContext } from 'react';
|
|
9
|
+
|
|
10
|
+
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; }
|
|
11
|
+
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; }
|
|
12
|
+
var ComponentRegistryContext = /*#__PURE__*/createContext(null);
|
|
13
|
+
function ComponentRegistryProvider(_ref) {
|
|
14
|
+
var registry = _ref.registry,
|
|
15
|
+
children = _ref.children;
|
|
16
|
+
var value = useMemo(function () {
|
|
17
|
+
return {
|
|
18
|
+
registry: registry,
|
|
19
|
+
getComponent: function getComponent(type) {
|
|
20
|
+
return registry[type];
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
}, [registry]);
|
|
24
|
+
return /* @__PURE__ */React__default.createElement(ComponentRegistryContext.Provider, {
|
|
25
|
+
value: value
|
|
26
|
+
}, children);
|
|
27
|
+
}
|
|
28
|
+
function useComponentRegistry() {
|
|
29
|
+
var context = useContext(ComponentRegistryContext);
|
|
30
|
+
if (!context) {
|
|
31
|
+
throw new Error("useComponentRegistry must be used within ComponentRegistryProvider");
|
|
32
|
+
}
|
|
33
|
+
return context;
|
|
34
|
+
}
|
|
35
|
+
var A2UIContext = /*#__PURE__*/createContext(null);
|
|
36
|
+
function A2UIProvider(_ref2) {
|
|
37
|
+
var processor = _ref2.processor,
|
|
38
|
+
surfaceId = _ref2.surfaceId,
|
|
39
|
+
_ref2$dataContextPath = _ref2.dataContextPath,
|
|
40
|
+
dataContextPath = _ref2$dataContextPath === void 0 ? "/" : _ref2$dataContextPath,
|
|
41
|
+
onAction = _ref2.onAction,
|
|
42
|
+
children = _ref2.children;
|
|
43
|
+
var value = useMemo(function () {
|
|
44
|
+
return {
|
|
45
|
+
processor: processor,
|
|
46
|
+
surfaceId: surfaceId,
|
|
47
|
+
dataContextPath: dataContextPath,
|
|
48
|
+
onAction: onAction
|
|
49
|
+
};
|
|
50
|
+
}, [processor, surfaceId, dataContextPath, onAction]);
|
|
51
|
+
return /* @__PURE__ */React__default.createElement(A2UIContext.Provider, {
|
|
52
|
+
value: value
|
|
53
|
+
}, children);
|
|
54
|
+
}
|
|
55
|
+
function useA2UIContext() {
|
|
56
|
+
var context = useContext(A2UIContext);
|
|
57
|
+
if (!context) {
|
|
58
|
+
throw new Error("useA2UIContext must be used within A2UIProvider");
|
|
59
|
+
}
|
|
60
|
+
return context;
|
|
61
|
+
}
|
|
62
|
+
function useA2UIContextSafe() {
|
|
63
|
+
return useContext(A2UIContext);
|
|
64
|
+
}
|
|
65
|
+
function A2UIRootProvider(_ref3) {
|
|
66
|
+
var processor = _ref3.processor,
|
|
67
|
+
surfaceId = _ref3.surfaceId,
|
|
68
|
+
registry = _ref3.registry,
|
|
69
|
+
_ref3$dataContextPath = _ref3.dataContextPath,
|
|
70
|
+
dataContextPath = _ref3$dataContextPath === void 0 ? "/" : _ref3$dataContextPath,
|
|
71
|
+
onAction = _ref3.onAction,
|
|
72
|
+
children = _ref3.children;
|
|
73
|
+
return /* @__PURE__ */React__default.createElement(ComponentRegistryProvider, {
|
|
74
|
+
registry: registry
|
|
75
|
+
}, /* @__PURE__ */React__default.createElement(A2UIProvider, {
|
|
76
|
+
processor: processor,
|
|
77
|
+
surfaceId: surfaceId,
|
|
78
|
+
dataContextPath: dataContextPath,
|
|
79
|
+
onAction: onAction
|
|
80
|
+
}, children));
|
|
81
|
+
}
|
|
82
|
+
function DataContextProvider(_ref4) {
|
|
83
|
+
var path = _ref4.path,
|
|
84
|
+
children = _ref4.children;
|
|
85
|
+
var parent = useA2UIContext();
|
|
86
|
+
var value = useMemo(function () {
|
|
87
|
+
return _objectSpread(_objectSpread({}, parent), {}, {
|
|
88
|
+
dataContextPath: path
|
|
89
|
+
});
|
|
90
|
+
}, [parent, path]);
|
|
91
|
+
return /* @__PURE__ */React__default.createElement(A2UIContext.Provider, {
|
|
92
|
+
value: value
|
|
93
|
+
}, children);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
export { A2UIProvider, A2UIRootProvider, ComponentRegistryProvider, DataContextProvider, useA2UIContext, useA2UIContextSafe, useComponentRegistry };
|
|
97
|
+
//# sourceMappingURL=A2UIContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"A2UIContext.js","sources":["../../../../../pro-components/chat/chat-engine/hooks/a2ui/A2UIContext.tsx"],"sourcesContent":["/**\n * A2UI React Context\n * 双 Context 设计:A2UIContext(运行时状态)+ ComponentRegistryContext(组件注册)\n */\n\nimport React, { createContext, useContext, useMemo, ReactNode } from 'react';\nimport type { A2uiMessageProcessor } from '../../core/a2ui';\nimport type { ActionHandler } from '../../core/a2ui';\n\n// ============= Component Registry Context =============\n\n/**\n * A2UI 组件渲染器类型\n */\nexport type A2UIComponentRenderer<T = any> = React.ComponentType<T>;\n\n/**\n * 组件注册表\n */\nexport interface ComponentRegistry {\n [componentType: string]: A2UIComponentRenderer;\n}\n\n/**\n * 组件注册表上下文值\n */\ninterface ComponentRegistryContextValue {\n registry: ComponentRegistry;\n getComponent: (type: string) => A2UIComponentRenderer | undefined;\n}\n\nconst ComponentRegistryContext = createContext<ComponentRegistryContextValue | null>(null);\n\n/**\n * 组件注册表 Provider\n */\nexport interface ComponentRegistryProviderProps {\n registry: ComponentRegistry;\n children: ReactNode;\n}\n\nexport function ComponentRegistryProvider({ registry, children }: ComponentRegistryProviderProps) {\n const value = useMemo<ComponentRegistryContextValue>(\n () => ({\n registry,\n getComponent: (type: string) => registry[type],\n }),\n [registry]\n );\n\n return (\n <ComponentRegistryContext.Provider value={value}>\n {children}\n </ComponentRegistryContext.Provider>\n );\n}\n\n/**\n * 获取组件注册表\n */\nexport function useComponentRegistry(): ComponentRegistryContextValue {\n const context = useContext(ComponentRegistryContext);\n if (!context) {\n throw new Error('useComponentRegistry must be used within ComponentRegistryProvider');\n }\n return context;\n}\n\n// ============= A2UI Runtime Context =============\n\n/**\n * A2UI 运行时上下文值\n */\nexport interface A2UIContextValue {\n /** A2UI 消息处理器 */\n processor: A2uiMessageProcessor;\n /** 当前 Surface ID */\n surfaceId: string;\n /** 当前数据上下文路径(用于相对路径解析和 template 渲染) */\n dataContextPath: string;\n /** Action 处理回调 */\n onAction?: ActionHandler;\n}\n\nconst A2UIContext = createContext<A2UIContextValue | null>(null);\n\n/**\n * A2UI 运行时 Provider\n */\nexport interface A2UIProviderProps {\n processor: A2uiMessageProcessor;\n surfaceId: string;\n dataContextPath?: string;\n onAction?: ActionHandler;\n children: ReactNode;\n}\n\nexport function A2UIProvider({\n processor,\n surfaceId,\n dataContextPath = '/',\n onAction,\n children,\n}: A2UIProviderProps) {\n const value = useMemo<A2UIContextValue>(\n () => ({\n processor,\n surfaceId,\n dataContextPath,\n onAction,\n }),\n [processor, surfaceId, dataContextPath, onAction]\n );\n\n return <A2UIContext.Provider value={value}>{children}</A2UIContext.Provider>;\n}\n\n/**\n * 获取 A2UI 运行时上下文\n */\nexport function useA2UIContext(): A2UIContextValue {\n const context = useContext(A2UIContext);\n if (!context) {\n throw new Error('useA2UIContext must be used within A2UIProvider');\n }\n return context;\n}\n\n/**\n * 安全获取 A2UI 上下文(可能为 null)\n */\nexport function useA2UIContextSafe(): A2UIContextValue | null {\n return useContext(A2UIContext);\n}\n\n// ============= 组合 Provider =============\n\n/**\n * A2UI 完整 Provider(组合两个 Context)\n */\nexport interface A2UIRootProviderProps {\n processor: A2uiMessageProcessor;\n surfaceId: string;\n registry: ComponentRegistry;\n dataContextPath?: string;\n onAction?: ActionHandler;\n children: ReactNode;\n}\n\nexport function A2UIRootProvider({\n processor,\n surfaceId,\n registry,\n dataContextPath = '/',\n onAction,\n children,\n}: A2UIRootProviderProps) {\n return (\n <ComponentRegistryProvider registry={registry}>\n <A2UIProvider\n processor={processor}\n surfaceId={surfaceId}\n dataContextPath={dataContextPath}\n onAction={onAction}\n >\n {children}\n </A2UIProvider>\n </ComponentRegistryProvider>\n );\n}\n\n// ============= Data Context Path Provider =============\n\n/**\n * 数据上下文路径 Provider\n * 用于 List/Template 渲染时修改子组件的数据上下文\n */\nexport interface DataContextProviderProps {\n path: string;\n children: ReactNode;\n}\n\nexport function DataContextProvider({ path, children }: DataContextProviderProps) {\n const parent = useA2UIContext();\n\n const value = useMemo<A2UIContextValue>(\n () => ({\n ...parent,\n dataContextPath: path,\n }),\n [parent, path]\n );\n\n return <A2UIContext.Provider value={value}>{children}</A2UIContext.Provider>;\n}\n"],"names":["ComponentRegistryContext","createContext","ComponentRegistryProvider","_ref","registry","children","value","useMemo","getComponent","type","React","createElement","Provider","useComponentRegistry","context","useContext","Error","A2UIContext","A2UIProvider","_ref2","processor","surfaceId","_ref2$dataContextPath","dataContextPath","onAction","useA2UIContext","useA2UIContextSafe","A2UIRootProvider","_ref3","_ref3$dataContextPath","DataContextProvider","_ref4","path","parent","_objectSpread"],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A2UI React 适配层 Hooks 导出
|
|
3
|
+
*/
|
|
4
|
+
export { A2UIRootProvider, // 组合 Provider,一站式解决方案
|
|
5
|
+
useA2UIContext, // 核心 Context Hook
|
|
6
|
+
useComponentRegistry, // 组件注册表 Hook
|
|
7
|
+
type ComponentRegistry, // 核心类型
|
|
8
|
+
type A2UIRootProviderProps, } from './A2UIContext';
|
|
9
|
+
export { useDataBinding, // 单向绑定(最常用)
|
|
10
|
+
useTwoWayBinding, } from './useDataBinding';
|
|
11
|
+
export { useA2UISurface, } from './useA2UISurface';
|
|
12
|
+
export { useA2UIAction, } from './useA2UIAction';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.0.2-alpha.14
|
|
3
|
+
* (c) 2026 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export { A2UIRootProvider, useA2UIContext, useComponentRegistry } from './A2UIContext.js';
|
|
8
|
+
export { useDataBinding, useTwoWayBinding } from './useDataBinding.js';
|
|
9
|
+
export { useA2UISurface } from './useA2UISurface.js';
|
|
10
|
+
export { useA2UIAction } from './useA2UIAction.js';
|
|
11
|
+
import '@babel/runtime/helpers/defineProperty';
|
|
12
|
+
import 'react';
|
|
13
|
+
import '@babel/runtime/helpers/slicedToArray';
|
|
14
|
+
import '../../core/a2ui/utils/index.js';
|
|
15
|
+
import '../../core/a2ui/utils/binding.js';
|
|
16
|
+
import '@babel/runtime/helpers/typeof';
|
|
17
|
+
import '../../core/a2ui/utils/validation.js';
|
|
18
|
+
import '@babel/runtime/helpers/toConsumableArray';
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A2UI Action 相关 Hooks
|
|
3
|
+
*/
|
|
4
|
+
import type { A2UIAction } from '../../core/a2ui';
|
|
5
|
+
/**
|
|
6
|
+
* 获取 Action 分发函数
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```tsx
|
|
10
|
+
* function Button({ action }: { action: A2UIAction }) {
|
|
11
|
+
* const dispatch = useA2UIAction();
|
|
12
|
+
* return <TButton onClick={() => dispatch(action)}>Click</TButton>;
|
|
13
|
+
* }
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export declare function useA2UIAction(): (action: A2UIAction, componentId?: string) => void;
|
|
17
|
+
/**
|
|
18
|
+
* 创建绑定特定 Action 的回调
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```tsx
|
|
22
|
+
* function ConfirmButton({ id }: { id: string }) {
|
|
23
|
+
* const handleConfirm = useActionCallback({ name: 'confirm', context: { value: true } }, id);
|
|
24
|
+
* return <TButton onClick={handleConfirm}>确认</TButton>;
|
|
25
|
+
* }
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export declare function useActionCallback(action: A2UIAction | undefined, componentId?: string): (() => void) | undefined;
|
|
29
|
+
/**
|
|
30
|
+
* 创建带参数的 Action 回调
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```tsx
|
|
34
|
+
* function Input({ id }: { id: string }) {
|
|
35
|
+
* const handleChange = useActionWithPayload('input-change', id);
|
|
36
|
+
* return <TInput onChange={(val) => handleChange({ value: val })} />;
|
|
37
|
+
* }
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export declare function useActionWithPayload(actionName: string, componentId?: string): (context: Record<string, unknown>) => void;
|