@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 @@
|
|
|
1
|
+
{"version":3,"file":"dep-076af7c3.js","sources":["../../../pro-components/chat/chat-engine/components/json-render/catalog/atomic/input.tsx","../../../pro-components/chat/chat-engine/components/json-render/registry/a2ui-binding.tsx","../../../pro-components/chat/chat-engine/components/json-render/registry/a2ui-registry.tsx","../../../pro-components/chat/chat-engine/components/json-render/registry/config.tsx","../../../pro-components/chat/chat-engine/components/json-render/registry/index.ts"],"sourcesContent":["/**\n * TDesign Input 组件适配 json-render\n * \n * 这是纯净的 json-render Input 组件,不包含 A2UI 协议绑定逻辑\n * 如需 A2UI 支持,请使用 a2uiRegistry 中的 A2UITextField\n */\n\nimport React from 'react';\nimport { Input, Space } from 'tdesign-react';\nimport type { InputProps } from 'tdesign-react';\nimport type { ComponentRenderProps } from '../../types';\nimport { useDataBinding } from '../..';\n\n/**\n * json-render Input 组件(基础版本,不带数据绑定)\n */\nexport const JsonRenderInput: React.FC<ComponentRenderProps> = ({ element }) => {\n const {\n value,\n defaultValue,\n placeholder,\n disabled = false,\n readonly = false,\n size = 'medium',\n type = 'text',\n maxlength,\n clearable = false,\n status,\n onChange,\n onBlur,\n onFocus,\n onEnter,\n onClear,\n ...restProps\n } = element.props as InputProps;\n\n return (\n <Input\n value={value}\n defaultValue={defaultValue}\n placeholder={placeholder}\n disabled={disabled}\n readonly={readonly}\n size={size}\n type={type}\n maxlength={maxlength}\n clearable={clearable}\n status={status}\n onChange={onChange}\n onBlur={onBlur}\n onFocus={onFocus}\n onEnter={onEnter}\n onClear={onClear}\n {...restProps}\n />\n );\n};\n\nJsonRenderInput.displayName = 'JsonRenderInput';\n\n/**\n * json-render TextField 组件(带 label 和 valuePath 数据绑定)\n * \n * 这是标准 json-render 的 TextField,支持 valuePath 但不支持 A2UI 的 disabledPath\n * 如需完整 A2UI 支持,请使用 a2uiRegistry 中的 A2UITextField\n */\nexport const JsonRenderTextField: React.FC<ComponentRenderProps> = ({ element }) => {\n const {\n label,\n valuePath,\n placeholder,\n type = 'text',\n disabled = false,\n size = 'medium',\n ...restProps\n } = element.props as InputProps & {\n label?: string;\n valuePath?: string;\n };\n\n // 细粒度订阅 + 稳定的 setValue(类似 useState 的 API)\n const [value = '', setValue] = useDataBinding<string>(valuePath!);\n\n if (label) {\n return (\n <Space direction=\"vertical\" size={4} style={{ width: '100%' }}>\n <label style={{ fontSize: '14px', fontWeight: 500 }}>{label}</label>\n <Input\n value={value}\n placeholder={placeholder}\n type={type}\n disabled={disabled}\n size={size}\n onChange={setValue}\n {...restProps}\n />\n </Space>\n );\n }\n\n return (\n <Input\n value={value}\n placeholder={placeholder}\n type={type}\n disabled={disabled}\n size={size}\n onChange={setValue}\n {...restProps}\n />\n );\n};\n\nJsonRenderTextField.displayName = 'JsonRenderTextField';\n\nexport default JsonRenderInput;\n","/**\n * A2UI 数据绑定 HOC\n * \n * 统一处理 A2UI 协议的标准字段:\n * - valuePath: 值的数据绑定路径(如 /userInfo/name)\n * - disabledPath: disabled 状态的数据绑定路径(如 /formDisabled)\n * - action.context: action 参数中的动态数据绑定\n * \n * 性能优化:\n * - 使用 React.memo + 精确值比较避免不必要渲染\n * - Action 参数延迟解析(触发时才计算)\n * - 使用 useRef 缓存回调函数避免重建\n * \n * 使用方式:\n * ```tsx\n * // 创建支持 A2UI 绑定的 Input\n * const A2UIInput = withA2UIBinding(Input, {\n * valueField: 'value',\n * onChangeField: 'onChange',\n * });\n * \n * // 创建支持 action 的 Button\n * const A2UIButton = withA2UIBinding(Button, {\n * supportsAction: true,\n * actionTrigger: 'onClick', // 默认\n * });\n * \n * // Input 支持 onEnter 触发 action\n * const A2UISearchInput = withA2UIBinding(Input, {\n * valueField: 'value',\n * onChangeField: 'onChange',\n * supportsAction: true,\n * actionTrigger: 'onEnter',\n * });\n * ```\n */\n\nimport React, { useCallback, useRef, memo, useMemo } from 'react';\nimport { getByPath } from '@json-render/core';\nimport type { Action } from '@json-render/core';\nimport { useDataValue, useDataBinding, useDataStore } from '..';\nimport { type ComponentRenderProps } from '../types';\n/**\n * A2UI 绑定配置\n */\nexport interface A2UIBindingConfig {\n /** 组件的值字段名,默认 'value' */\n valueField?: string;\n /** 组件的 onChange 字段名,默认 'onChange' */\n onChangeField?: string;\n /** 是否支持 action 绑定,默认 false */\n supportsAction?: boolean;\n /** \n * Action 触发事件名,默认 'onClick'\n * 可设置为 'onEnter'、'onChange' 等\n */\n actionTrigger?: string;\n}\n\n/**\n * 解析 action params 中的动态数据绑定\n * 将 { path: '/xxx' } 格式的引用替换为实际数据\n * \n * 性能优化:使用迭代替代递归,减少调用栈深度\n */\nfunction resolveActionParams(\n params: Record<string, unknown>,\n data: Record<string, unknown>,\n maxDepth = 10,\n): Record<string, unknown> {\n const resolved: Record<string, unknown> = {};\n \n // 使用栈迭代处理,避免深递归\n const stack: Array<{\n source: Record<string, unknown>;\n target: Record<string, unknown>;\n depth: number;\n }> = [{ source: params, target: resolved, depth: 0 }];\n \n while (stack.length > 0) {\n const { source, target, depth } = stack.pop()!;\n \n if (depth >= maxDepth) {\n // 防止无限递归\n Object.assign(target, source);\n continue;\n }\n \n for (const [key, value] of Object.entries(source)) {\n if (value && typeof value === 'object' && 'path' in value) {\n // 动态绑定:{ path: '/userInfo' } → 实际数据\n const pathValue = (value as { path: string }).path;\n target[key] = getByPath(data, pathValue);\n } else if (value && typeof value === 'object' && !Array.isArray(value)) {\n // 嵌套对象,加入栈处理\n const nestedTarget: Record<string, unknown> = {};\n target[key] = nestedTarget;\n stack.push({\n source: value as Record<string, unknown>,\n target: nestedTarget,\n depth: depth + 1,\n });\n } else {\n // 静态值直接保留\n target[key] = value;\n }\n }\n }\n \n return resolved;\n}\n\n/**\n * A2UI 数据绑定 HOC 内部组件\n * 处理实际的数据绑定逻辑\n */\ninterface A2UIBoundInnerProps<P> extends ComponentRenderProps {\n WrappedComponent: React.ComponentType<P>;\n valueField: string;\n onChangeField: string;\n supportsAction: boolean;\n actionTrigger: string;\n}\n\nfunction A2UIBoundInner<P extends Record<string, any>>({\n element,\n children,\n onAction,\n WrappedComponent,\n valueField,\n onChangeField,\n supportsAction,\n actionTrigger,\n}: A2UIBoundInnerProps<P>) {\n // 提取 A2UI 特有字段\n const {\n valuePath,\n disabledPath,\n action,\n disabled: staticDisabled,\n ...componentProps\n } = element.props as P & {\n valuePath?: string;\n disabledPath?: string;\n action?: string | Action;\n disabled?: boolean;\n };\n\n // 细粒度订阅:只订阅需要的路径\n const [boundValue, setBoundValue] = useDataBinding(valuePath!);\n const disabledValue = useDataValue(disabledPath);\n \n // 获取 store(用于 action 触发时读取最新 data)\n const store = useDataStore();\n \n // 使用 ref 缓存 store,action 触发时获取最新值\n const storeRef = useRef(store);\n storeRef.current = store;\n\n // 计算 disabled 状态\n const boundDisabled = useMemo(() => {\n if (disabledPath) {\n return Boolean(disabledValue);\n }\n return staticDisabled ?? false;\n }, [disabledPath, disabledValue, staticDisabled]);\n\n // 创建稳定的 onChange 处理器(useDataBinding 已返回稳定函数)\n const handleChange = useCallback((newValue: unknown) => {\n if (valuePath && setBoundValue) {\n setBoundValue(newValue as any);\n }\n }, [valuePath, setBoundValue]);\n\n // 创建稳定的 action 处理器(延迟解析,触发时才获取最新 data)\n const handleAction = useCallback(() => {\n if (!action || !onAction) return;\n\n // 标准化 action 格式\n const actionObj: Action = typeof action === 'string'\n ? { name: action, params: {} }\n : action;\n\n // 使用最新的 data 解析参数\n const currentData = storeRef.current.getData();\n const resolvedParams = actionObj.params\n ? resolveActionParams(actionObj.params as Record<string, unknown>, currentData)\n : {};\n\n const resolvedAction: Action = {\n name: actionObj.name,\n params: resolvedParams,\n };\n\n onAction(resolvedAction);\n }, [action, onAction]);\n\n // 构建最终 props\n const finalProps = useMemo(() => {\n const props: any = {\n ...componentProps,\n disabled: boundDisabled,\n };\n\n // 如果有 valuePath,注入值和 onChange\n if (valuePath !== undefined) {\n props[valueField] = boundValue;\n props[onChangeField] = handleChange;\n }\n\n // 如果支持 action,注入到指定的触发事件\n if (supportsAction && action) {\n const originalHandler = componentProps[actionTrigger];\n props[actionTrigger] = (...args: any[]) => {\n // 先调用原始处理器\n if (typeof originalHandler === 'function') {\n originalHandler(...args);\n }\n // 再触发 action\n handleAction();\n };\n }\n\n return props;\n }, [\n componentProps,\n boundDisabled,\n valuePath,\n valueField,\n boundValue,\n onChangeField,\n handleChange,\n supportsAction,\n action,\n actionTrigger,\n handleAction,\n ]);\n\n return (\n <WrappedComponent {...finalProps as P}>\n {children}\n </WrappedComponent>\n );\n}\n\n/**\n * A2UI 数据绑定 HOC\n * \n * 自动处理 A2UI 协议的标准字段,让原子组件保持纯净\n * \n * @param WrappedComponent 原始组件\n * @param config 绑定配置\n */\nexport function withA2UIBinding<P extends Record<string, any>>(\n WrappedComponent: React.ComponentType<P>,\n config: A2UIBindingConfig = {},\n): React.FC<ComponentRenderProps> {\n const {\n valueField = 'value',\n onChangeField = 'onChange',\n supportsAction = false,\n actionTrigger = 'onClick',\n } = config;\n\n const A2UIBoundComponent: React.FC<ComponentRenderProps> = (props) => {\n return (\n <A2UIBoundInner\n {...props}\n WrappedComponent={WrappedComponent}\n valueField={valueField}\n onChangeField={onChangeField}\n supportsAction={supportsAction}\n actionTrigger={actionTrigger}\n />\n );\n };\n\n A2UIBoundComponent.displayName = `withA2UIBinding(${WrappedComponent.displayName || WrappedComponent.name || 'Component'})`;\n\n // 使用 memo 包装,通过精确比较避免不必要渲染\n return memo(A2UIBoundComponent, (prevProps, nextProps) => {\n // element 引用相同,跳过渲染\n if (prevProps.element === nextProps.element) return true;\n \n // 比较关键字段\n const prevEl = prevProps.element;\n const nextEl = nextProps.element;\n \n if (prevEl.type !== nextEl.type) return false;\n if (prevEl.key !== nextEl.key) return false;\n \n // 比较 props(浅比较)\n const prevElProps = prevEl.props || {};\n const nextElProps = nextEl.props || {};\n const prevKeys = Object.keys(prevElProps);\n const nextKeys = Object.keys(nextElProps);\n \n if (prevKeys.length !== nextKeys.length) return false;\n \n for (const key of prevKeys) {\n if (prevElProps[key] !== nextElProps[key]) return false;\n }\n \n return true;\n });\n}\n\nexport default withA2UIBinding;\n","/**\n * A2UI 专用组件注册表\n * \n * 使用 withA2UIBinding HOC 包装原子组件,自动处理 A2UI 协议字段:\n * - valuePath: 值的数据绑定(如 /userInfo/name)\n * - disabledPath: disabled 状态的数据绑定(如 /formDisabled)\n * - action.context: action 参数中的动态数据绑定({ path: '/xxx' } 格式)\n * \n * 与 tdesignRegistry 的区别:\n * - tdesignRegistry: 纯净的 TDesign 组件,用于直接的 json-render schema\n * - a2uiRegistry: 支持 A2UI 协议的组件,用于 A2UI → json-render 转换后的渲染\n * \n * 使用方式:\n * ```tsx\n * // 业务使用 A2UI 协议时\n * const config = createA2UIJsonRenderActivityConfig({\n * registry: a2uiRegistry, // 内置 A2UI 组件\n * // 或扩展自定义组件\n * registry: createA2UIRegistry({\n * MyCustomComponent: withA2UIBinding(MyComponent, { supportsAction: true }),\n * }),\n * });\n * ```\n */\n\nimport React from 'react';\nimport { Input, Button, Space } from 'tdesign-react';\nimport type { InputProps, ButtonProps } from 'tdesign-react';\nimport { withA2UIBinding } from './a2ui-binding';\n\n// 导入纯净组件和布局组件(这些不需要 A2UI 绑定)\nimport { JsonRenderCard } from '../catalog/atomic/card';\nimport { JsonRenderText } from '../catalog/atomic/text';\nimport {\n JsonRenderRow,\n JsonRenderCol,\n JsonRenderSpace,\n JsonRenderColumn,\n JsonRenderDivider,\n} from '../catalog/atomic/layout';\n\nimport { type ComponentRegistry } from '../types';\n\n// ==================== 基础组件包装器 ====================\n\n/**\n * 基础 Input 组件(用于 HOC 包装)\n * 接收标准 InputProps,由 HOC 注入 value/onChange/disabled\n */\nconst BaseInput: React.FC<InputProps & { label?: string }> = ({\n label,\n ...props\n}) => {\n if (label) {\n return (\n <Space direction=\"vertical\" size={4} style={{ width: '100%' }}>\n <label style={{ fontSize: '14px', fontWeight: 500 }}>{label}</label>\n <Input {...props} />\n </Space>\n );\n }\n return <Input {...props} />;\n};\n\nBaseInput.displayName = 'BaseInput';\n\n/**\n * 基础 Button 组件(用于 HOC 包装)\n * 接收标准 ButtonProps,由 HOC 注入 onClick/disabled\n */\nconst BaseButton: React.FC<ButtonProps & { label?: string }> = ({\n label,\n children,\n ...props\n}) => {\n const content = label || children;\n return <Button {...props}>{content}</Button>;\n};\n\nBaseButton.displayName = 'BaseButton';\n\n// ==================== A2UI 组件(通过 HOC 生成)====================\n\n/**\n * A2UI TextField 组件\n * 自动支持 valuePath/disabledPath 数据绑定\n */\nexport const A2UITextField = withA2UIBinding<InputProps & { label?: string }>(\n BaseInput,\n {\n valueField: 'value',\n onChangeField: 'onChange',\n supportsAction: false,\n },\n);\n\n/**\n * A2UI Button 组件\n * 自动支持 disabledPath 和 action.context 动态绑定\n */\nexport const A2UIButton = withA2UIBinding<ButtonProps & { label?: string }>(\n BaseButton,\n {\n supportsAction: true,\n },\n);\n\n// ==================== A2UI Registry ====================\n\n/**\n * A2UI 专用组件注册表\n * \n * 用于 A2UI 协议转换后的渲染,组件自动支持:\n * - valuePath: 值绑定到 dataModel\n * - disabledPath: disabled 状态绑定到 dataModel\n * - action.context: action 参数动态解析\n * \n * @example\n * ```tsx\n * import { a2uiRegistry } from './catalog/a2ui-registry';\n * \n * const config = createA2UIJsonRenderActivityConfig({\n * registry: a2uiRegistry, // 使用 A2UI 专用 registry\n * actionHandlers: { ... },\n * });\n * ```\n */\nexport const a2uiRegistry: ComponentRegistry = {\n // A2UI 绑定组件(通过 HOC 包装)\n TextField: A2UITextField,\n Button: A2UIButton,\n \n // 纯净组件(布局类不需要 A2UI 绑定)\n Card: JsonRenderCard,\n Text: JsonRenderText,\n Row: JsonRenderRow,\n Col: JsonRenderCol,\n Space: JsonRenderSpace,\n Column: JsonRenderColumn,\n Divider: JsonRenderDivider,\n};\n\n/**\n * 创建自定义 A2UI 组件注册表\n * \n * 基于 a2uiRegistry 扩展自定义组件\n * 自定义组件如需支持 A2UI 协议,请使用 withA2UIBinding 包装\n * \n * @example\n * ```tsx\n * import { createA2UIRegistry, withA2UIBinding } from '@tdesign-react/chat';\n * \n * // 创建支持 A2UI 的自定义组件\n * const A2UIDatePicker = withA2UIBinding(DatePicker, {\n * valueField: 'value',\n * onChangeField: 'onChange',\n * });\n * \n * const customRegistry = createA2UIRegistry({\n * DatePicker: A2UIDatePicker,\n * });\n * ```\n */\nexport function createA2UIRegistry(\n customComponents: ComponentRegistry,\n): ComponentRegistry {\n return {\n ...a2uiRegistry,\n ...customComponents,\n };\n}\n\nexport default a2uiRegistry;\n","/**\n * json-render Activity 配置工厂函数\n * 便捷创建 ActivityConfig 用于注册\n */\n\nimport React from 'react';\nimport type { ActivityConfig } from '../../activity/types';\nimport type { JsonRenderActivityProps, ComponentRegistry } from '../types';\nimport { JsonRenderActivityRenderer } from '../renderer/JsonRenderActivityRenderer';\nimport { A2UIJsonRenderActivityRenderer } from '../renderer/A2UIJsonRenderActivityRenderer';\nimport { a2uiRegistry, tdesignRegistry } from '.';\n\n/**\n * json-render Activity 配置选项\n */\nexport interface JsonRenderActivityConfigOptions {\n /** Activity 类型标识,默认 'json-render' */\n activityType?: string;\n /** 组件注册表,默认使用 tdesignRegistry */\n registry?: ComponentRegistry;\n /** \n * Action 处理器映射表\n * \n * 重要:json-render 采用预定义 action 模式\n * - AI/服务端只能生成在此预定义的 action 名称\n * - 每个 action 对应一个具体的处理函数\n * - 这确保了生成式 UI 的安全性和可控性\n * \n * @example\n * ```tsx\n * actionHandlers: {\n * // 表单提交\n * submit: async (params) => {\n * await api.submitForm(params);\n * MessagePlugin.success('提交成功');\n * },\n * \n * // 表单重置\n * reset: async (params) => {\n * MessagePlugin.info('表单已重置');\n * },\n * \n * // 删除操作\n * delete: async (params) => {\n * await api.deleteItem(params.id);\n * },\n * \n * // 刷新数据\n * refresh: async () => {\n * await refetchData();\n * }\n * }\n * ```\n */\n actionHandlers?: Record<string, (params: Record<string, unknown>) => void | Promise<void>>;\n /** 显示调试信息 */\n debug?: boolean;\n /** 描述信息 */\n description?: string;\n}\n\n/**\n * 创建 json-render Activity 配置\n * \n * @example\n * 基础用法 - 预定义 action handlers\n * ```tsx\n * const jsonRenderConfig = createJsonRenderActivityConfig({\n * activityType: 'json-render',\n * actionHandlers: {\n * submit: async (params) => {\n * console.log('提交表单:', params);\n * await api.submit(params);\n * MessagePlugin.success('提交成功');\n * },\n * reset: async (params) => {\n * MessagePlugin.info('表单已重置');\n * },\n * delete: async (params) => {\n * await api.delete(params.id);\n * }\n * },\n * });\n * \n * useAgentActivity(jsonRenderConfig);\n * ```\n * \n * @example\n * 结合 ChatEngine 发送消息到服务端\n * ```tsx\n * const jsonRenderConfig = createJsonRenderActivityConfig({\n * actionHandlers: {\n * submit: async (params) => {\n * // 发送到服务端处理\n * await chatEngine.sendAIMessage({\n * params: { userActionMessage: { name: 'submit', params } },\n * sendRequest: true,\n * });\n * },\n * reset: async (params) => {\n * // 本地处理,不发送到服务端\n * MessagePlugin.info('已重置');\n * },\n * },\n * });\n * ```\n * \n * @example\n * 配合自定义组件注册表\n * ```tsx\n * import { createCustomRegistry } from './catalog';\n * \n * const jsonRenderConfig = createJsonRenderActivityConfig({\n * registry: createCustomRegistry({\n * MyCustomComponent: MyComponentRenderer,\n * }),\n * actionHandlers: {\n * custom_action: async (params) => {\n * // 处理自定义操作\n * },\n * },\n * });\n * ```\n */\nexport function createJsonRenderActivityConfig(\n options: JsonRenderActivityConfigOptions = {},\n): ActivityConfig<JsonRenderActivityProps['content']> {\n const {\n activityType = 'json-render',\n registry = tdesignRegistry,\n actionHandlers = {},\n debug = false,\n description = 'json-render 动态 UI 渲染器',\n } = options;\n\n return {\n activityType,\n component: React.memo((props: JsonRenderActivityProps) => (\n <JsonRenderActivityRenderer\n {...props}\n registry={registry}\n actionHandlers={actionHandlers}\n debug={debug}\n />\n )),\n description,\n };\n}\n\n/**\n * 创建 A2UI + json-render Activity 配置\n * 支持将 A2UI 协议转换为 json-render Schema 渲染\n * \n * 注意:默认使用 a2uiRegistry,自动支持 valuePath/disabledPath/action.context 绑定\n * \n * @example\n * ```tsx\n * const a2uiJsonRenderConfig = createA2UIJsonRenderActivityConfig({\n * activityType: 'a2ui-json-render',\n * actionHandlers: {\n * submit: async (params) => {\n * console.log('提交:', params);\n * },\n * cancel: async (params) => {\n * console.log('取消');\n * },\n * },\n * });\n * \n * useAgentActivity(a2uiJsonRenderConfig);\n * ```\n */\nexport function createA2UIJsonRenderActivityConfig(\n options: JsonRenderActivityConfigOptions = {},\n): ActivityConfig<any> {\n const {\n activityType = 'a2ui-json-render',\n registry = a2uiRegistry, // A2UI 默认使用 a2uiRegistry\n actionHandlers = {},\n debug = false,\n description = 'A2UI + json-render 适配渲染器',\n } = options;\n\n return {\n activityType,\n component: React.memo((props: any) => (\n <A2UIJsonRenderActivityRenderer\n {...props}\n registry={registry}\n actionHandlers={actionHandlers}\n debug={debug}\n />\n )),\n description,\n };\n}\n","/**\n * TDesign ComponentRegistry(React 组件注册表)\n * 用于 json-render 渲染层的组件映射\n * \n * 重要概念区分:\n * - ComponentRegistry(本文件):渲染层,映射组件名到 React 组件(传给 Renderer)\n * - Catalog(catalog.ts):约束层,定义组件 props schema 和 actions 白名单(给 AI/服务端)\n * \n * Registry 分类:\n * - tdesignRegistry: 纯净的 TDesign 组件,用于直接的 json-render schema\n * - a2uiRegistry: 支持 A2UI 协议的组件,自动处理 valuePath/disabledPath/action.context\n * \n * 详见:ARCHITECTURE.md\n */\n\nimport React from 'react';\nimport isEqual from 'react-fast-compare';\nimport { JsonRenderButton } from '../catalog/atomic/button';\nimport { JsonRenderInput, JsonRenderTextField } from '../catalog/atomic/input';\nimport { JsonRenderCard } from '../catalog/atomic/card';\nimport { JsonRenderText } from '../catalog/atomic/text';\nimport {\n JsonRenderRow,\n JsonRenderCol,\n JsonRenderSpace,\n JsonRenderColumn,\n JsonRenderDivider,\n} from '../catalog/atomic/layout';\nimport type { ComponentRegistry, ComponentRenderProps } from '../types';\n\n/**\n * 高性能组件包装器(可选)\n * 使用 React.memo + react-fast-compare 实现深比较\n * \n * 注意:由于 ElementRenderer 已经实现了 React.memo + 深比较优化,\n * 大多数情况下叶子组件不需要再使用 withStableProps 包装。\n * \n * 使用场景:\n * - 组件内部有复杂的计算逻辑,希望进一步减少重渲染\n * - 组件使用了 Context,需要避免 Context 变化导致的不必要渲染\n * \n * 原理:\n * - json-render 每次渲染都会创建新的 element 对象引用\n * - 默认的 React.memo 浅比较会认为 props 变化了\n * - 使用 react-fast-compare 进行高效深比较,只在内容真正变化时才重渲染\n * \n * 性能说明:\n * - react-fast-compare 比 JSON.stringify 更快(短路比较)\n * - 发现第一个不同属性时立即停止,不会遍历整个对象\n * - 处理了循环引用等边缘情况\n */\nexport function withStableProps<P extends ComponentRenderProps>(\n Component: React.ComponentType<P>,\n): React.MemoExoticComponent<React.ComponentType<P>> {\n return React.memo(Component, (prevProps, nextProps) => {\n const prevElement = prevProps.element as any;\n const nextElement = nextProps.element as any;\n \n // 1. children 变化必须重渲染\n // 深层更新时,父组件的 element 可能不变,但 children(子组件树)会变化\n if (prevProps.children !== nextProps.children) {\n return false;\n }\n \n // 2. element 引用相同,跳过渲染\n if (prevElement === nextElement) return true;\n \n // 3. 快速路径:id 或 type 不同,需要重渲染\n if (prevElement.id !== nextElement.id || prevElement.type !== nextElement.type) {\n return false;\n }\n \n // 4. 使用 react-fast-compare 进行高效深比较\n return isEqual(prevElement.props, nextElement.props);\n });\n}\n\n/**\n * TDesign 内置组件注册表(渲染层)\n * \n * 这是框架内置的原子组件集合,提供基础 UI 渲染能力\n * 业务层可以通过 createCustomRegistry 扩展自定义组件\n * \n * 使用方式:\n * ```tsx\n * import { tdesignRegistry } from '@tdesign-react/chat';\n * \n * const config = createJsonRenderActivityConfig({\n * registry: tdesignRegistry,\n * actionHandlers: { ... },\n * });\n * ```\n * \n * Schema 示例:\n * ```json\n * {\n * \"root\": \"btn1\",\n * \"elements\": {\n * \"btn1\": {\n * \"key\": \"btn1\",\n * \"type\": \"Button\",\n * \"props\": {\n * \"variant\": \"base\",\n * \"theme\": \"primary\",\n * \"children\": \"点击我\",\n * \"action\": \"submit\"\n * }\n * }\n * }\n * }\n * ```\n */\nexport const tdesignRegistry: ComponentRegistry = {\n // 基础组件\n Button: JsonRenderButton,\n Input: JsonRenderInput,\n TextField: JsonRenderTextField,\n Card: JsonRenderCard,\n Text: JsonRenderText,\n\n // 布局组件\n Row: JsonRenderRow,\n Col: JsonRenderCol,\n Space: JsonRenderSpace,\n Column: JsonRenderColumn,\n Divider: JsonRenderDivider,\n\n // 别名(兼容不同命名风格)\n button: JsonRenderButton,\n input: JsonRenderInput,\n textfield: JsonRenderTextField,\n card: JsonRenderCard,\n text: JsonRenderText,\n row: JsonRenderRow,\n col: JsonRenderCol,\n space: JsonRenderSpace,\n column: JsonRenderColumn,\n divider: JsonRenderDivider,\n};\n\n/**\n * createCustomRegistry 配置选项\n */\nexport interface CreateCustomRegistryOptions {\n /**\n * 是否自动包装组件以优化性能\n * 使用 React.memo + react-fast-compare 深比较 element.props\n * \n * 注意:由于 ElementRenderer 已经实现了 memo 优化,\n * 默认关闭此选项。仅在组件有复杂内部逻辑时考虑开启。\n * \n * @default false\n */\n enableStableProps?: boolean;\n}\n\n/**\n * 创建自定义组件注册表(扩展内置组件)\n * \n * 用于渲染层:扩展自定义业务组件的 React 实现\n * \n * 性能说明:\n * - ElementRenderer 已经使用 React.memo + 深比较优化,会自动跳过无变化节点\n * - 默认情况下,自定义组件无需额外的 memo 包装\n * - 如果组件有复杂内部逻辑,可以设置 enableStableProps: true 进行双重优化\n * \n * @example\n * ```tsx\n * import { createCustomRegistry } from '@tdesign-react/chat';\n * import type { ComponentRenderProps } from '@json-render/react';\n * \n * // 定义自定义组件(无需手动 React.memo)\n * const StatusCard: React.FC<ComponentRenderProps> = ({ element }) => (\n * <div className=\"status-card\">{element.props.status}</div>\n * );\n * \n * const ProgressBar: React.FC<ComponentRenderProps> = ({ element }) => (\n * <div className=\"progress-bar\" style={{ width: `${element.props.percentage}%` }} />\n * );\n * \n * // 扩展 registry(ElementRenderer 已有优化,无需额外包装)\n * const customRegistry = createCustomRegistry({\n * StatusCard,\n * ProgressBar,\n * });\n * \n * // 如果组件有复杂内部逻辑,可以开启双重优化\n * const customRegistry = createCustomRegistry(\n * { StatusCard, ProgressBar },\n * { enableStableProps: true }\n * );\n * ```\n * \n * 注意:\n * - 这里只定义渲染层的组件映射\n * - 约束层(Catalog)需要使用 createCustomCatalog 定义(见 catalog.ts)\n * - 两者需要保持组件名称一致\n */\nexport function createCustomRegistry(\n customComponents: ComponentRegistry,\n options: CreateCustomRegistryOptions = {},\n): ComponentRegistry {\n const { enableStableProps = false } = options;\n\n // 如果启用性能优化,自动包装组件\n const processedComponents: ComponentRegistry = {};\n \n if (enableStableProps) {\n for (const [name, Component] of Object.entries(customComponents)) {\n processedComponents[name] = withStableProps(Component as React.ComponentType<ComponentRenderProps>);\n }\n } else {\n Object.assign(processedComponents, customComponents);\n }\n\n return {\n ...tdesignRegistry,\n ...processedComponents,\n };\n}\n\n// ==================== 重新导出 A2UI Registry ====================\n// A2UI 专用组件,支持 valuePath/disabledPath/action.context 自动绑定\nexport { a2uiRegistry, createA2UIRegistry, A2UITextField, A2UIButton } from './a2ui-registry';\n\n\n// 配置工厂\nexport type { JsonRenderActivityConfigOptions } from './config';\n// 默认导出配置函数\nexport { createJsonRenderActivityConfig, createA2UIJsonRenderActivityConfig } from './config';\n\n// ==================== 重新导出 A2UI Binding HOC ====================\nexport { withA2UIBinding } from './a2ui-binding';\nexport type { A2UIBindingConfig } from './a2ui-binding';\n"],"names":["JsonRenderInput","_ref","element","_element$props","props","value","defaultValue","placeholder","_element$props$disabl","disabled","_element$props$readon","readonly","_element$props$size","size","_element$props$type","type","maxlength","_element$props$cleara","clearable","status","onChange","onBlur","onFocus","onEnter","onClear","restProps","_objectWithoutProperties","_excluded","React","createElement","Input","_objectSpread","displayName","JsonRenderTextField","_ref2","_element$props2","label","valuePath","_element$props2$type","_element$props2$disab","_element$props2$size","_excluded2","_useDataBinding","useDataBinding","_useDataBinding2","_slicedToArray","_useDataBinding2$","setValue","Space","direction","style","width","fontSize","fontWeight","resolveActionParams","params","data","maxDepth","arguments","length","undefined","resolved","stack","source","target","depth","_stack$pop","pop","Object","assign","_i","_Object$entries","entries","_Object$entries$_i","key","_typeof","pathValue","path","getByPath","Array","isArray","nestedTarget","push","A2UIBoundInner","children","onAction","WrappedComponent","valueField","onChangeField","supportsAction","actionTrigger","disabledPath","action","staticDisabled","componentProps","boundValue","setBoundValue","disabledValue","useDataValue","store","useDataStore","storeRef","useRef","current","boundDisabled","useMemo","Boolean","handleChange","useCallback","newValue","handleAction","actionObj","name","currentData","getData","resolvedParams","resolvedAction","finalProps","originalHandler","apply","withA2UIBinding","config","_config$valueField","_config$onChangeField","_config$supportsActio","_config$actionTrigger","A2UIBoundComponent","concat","memo","prevProps","nextProps","prevEl","nextEl","prevElProps","nextElProps","prevKeys","keys","nextKeys","_i2","_prevKeys","BaseInput","BaseButton","content","Button","A2UITextField","A2UIButton","a2uiRegistry","TextField","Card","JsonRenderCard","Text","JsonRenderText","Row","JsonRenderRow","Col","JsonRenderCol","JsonRenderSpace","Column","JsonRenderColumn","Divider","JsonRenderDivider","createA2UIRegistry","customComponents","createJsonRenderActivityConfig","options","_options$activityType","activityType","_options$registry","registry","tdesignRegistry","_options$actionHandle","actionHandlers","_options$debug","debug","_options$description","description","component","JsonRenderActivityRenderer","createA2UIJsonRenderActivityConfig","_options$activityType2","_options$registry2","_options$actionHandle2","_options$debug2","_options$description2","A2UIJsonRenderActivityRenderer","withStableProps","Component","prevElement","nextElement","id","isEqual","JsonRenderButton","button","input","textfield","card","text","row","col","space","column","divider","createCustomRegistry","_options$enableStable","enableStableProps","processedComponents"],"mappings":"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"}
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.1.0-alpha.5
|
|
3
|
+
* (c) 2026 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import React, { useMemo } from 'react';
|
|
8
|
+
import _typeof from '@babel/runtime/helpers/typeof';
|
|
9
|
+
import { JsonRenderElement } from '../chat-engine/components/json-render/renderer/index.js';
|
|
10
|
+
import '../chat-engine/components/json-render/contexts/index.js';
|
|
11
|
+
import { DataProvider } from '../chat-engine/components/json-render/contexts/data.js';
|
|
12
|
+
import { VisibilityProvider } from '../chat-engine/components/json-render/contexts/visibility.js';
|
|
13
|
+
import { ActionProvider } from '../chat-engine/components/json-render/contexts/actions.js';
|
|
14
|
+
|
|
15
|
+
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
16
|
+
|
|
17
|
+
function getDefaultExportFromCjs (x) {
|
|
18
|
+
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
function getDefaultExportFromNamespaceIfPresent (n) {
|
|
22
|
+
return n && Object.prototype.hasOwnProperty.call(n, 'default') ? n['default'] : n;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function getDefaultExportFromNamespaceIfNotNamed (n) {
|
|
26
|
+
return n && Object.prototype.hasOwnProperty.call(n, 'default') && Object.keys(n).length === 1 ? n['default'] : n;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function getAugmentedNamespace(n) {
|
|
30
|
+
if (n.__esModule) return n;
|
|
31
|
+
var a = Object.defineProperty({}, '__esModule', {value: true});
|
|
32
|
+
Object.keys(n).forEach(function (k) {
|
|
33
|
+
var d = Object.getOwnPropertyDescriptor(n, k);
|
|
34
|
+
Object.defineProperty(a, k, d.get ? d : {
|
|
35
|
+
enumerable: true,
|
|
36
|
+
get: function () {
|
|
37
|
+
return n[k];
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
return a;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function commonjsRequire (path) {
|
|
45
|
+
throw new Error('Could not dynamically require "' + path + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
var hasElementType = typeof Element !== 'undefined';
|
|
49
|
+
var hasMap = typeof Map === 'function';
|
|
50
|
+
var hasSet = typeof Set === 'function';
|
|
51
|
+
var hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView;
|
|
52
|
+
|
|
53
|
+
// Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js
|
|
54
|
+
|
|
55
|
+
function equal(a, b) {
|
|
56
|
+
// START: fast-deep-equal es6/index.js 3.1.3
|
|
57
|
+
if (a === b) return true;
|
|
58
|
+
if (a && b && _typeof(a) == 'object' && _typeof(b) == 'object') {
|
|
59
|
+
if (a.constructor !== b.constructor) return false;
|
|
60
|
+
var length, i, keys;
|
|
61
|
+
if (Array.isArray(a)) {
|
|
62
|
+
length = a.length;
|
|
63
|
+
if (length != b.length) return false;
|
|
64
|
+
for (i = length; i-- !== 0;) if (!equal(a[i], b[i])) return false;
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// START: Modifications:
|
|
69
|
+
// 1. Extra `has<Type> &&` helpers in initial condition allow es6 code
|
|
70
|
+
// to co-exist with es5.
|
|
71
|
+
// 2. Replace `for of` with es5 compliant iteration using `for`.
|
|
72
|
+
// Basically, take:
|
|
73
|
+
//
|
|
74
|
+
// ```js
|
|
75
|
+
// for (i of a.entries())
|
|
76
|
+
// if (!b.has(i[0])) return false;
|
|
77
|
+
// ```
|
|
78
|
+
//
|
|
79
|
+
// ... and convert to:
|
|
80
|
+
//
|
|
81
|
+
// ```js
|
|
82
|
+
// it = a.entries();
|
|
83
|
+
// while (!(i = it.next()).done)
|
|
84
|
+
// if (!b.has(i.value[0])) return false;
|
|
85
|
+
// ```
|
|
86
|
+
//
|
|
87
|
+
// **Note**: `i` access switches to `i.value`.
|
|
88
|
+
var it;
|
|
89
|
+
if (hasMap && a instanceof Map && b instanceof Map) {
|
|
90
|
+
if (a.size !== b.size) return false;
|
|
91
|
+
it = a.entries();
|
|
92
|
+
while (!(i = it.next()).done) if (!b.has(i.value[0])) return false;
|
|
93
|
+
it = a.entries();
|
|
94
|
+
while (!(i = it.next()).done) if (!equal(i.value[1], b.get(i.value[0]))) return false;
|
|
95
|
+
return true;
|
|
96
|
+
}
|
|
97
|
+
if (hasSet && a instanceof Set && b instanceof Set) {
|
|
98
|
+
if (a.size !== b.size) return false;
|
|
99
|
+
it = a.entries();
|
|
100
|
+
while (!(i = it.next()).done) if (!b.has(i.value[0])) return false;
|
|
101
|
+
return true;
|
|
102
|
+
}
|
|
103
|
+
// END: Modifications
|
|
104
|
+
|
|
105
|
+
if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {
|
|
106
|
+
length = a.length;
|
|
107
|
+
if (length != b.length) return false;
|
|
108
|
+
for (i = length; i-- !== 0;) if (a[i] !== b[i]) return false;
|
|
109
|
+
return true;
|
|
110
|
+
}
|
|
111
|
+
if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;
|
|
112
|
+
// START: Modifications:
|
|
113
|
+
// Apply guards for `Object.create(null)` handling. See:
|
|
114
|
+
// - https://github.com/FormidableLabs/react-fast-compare/issues/64
|
|
115
|
+
// - https://github.com/epoberezkin/fast-deep-equal/issues/49
|
|
116
|
+
if (a.valueOf !== Object.prototype.valueOf && typeof a.valueOf === 'function' && typeof b.valueOf === 'function') return a.valueOf() === b.valueOf();
|
|
117
|
+
if (a.toString !== Object.prototype.toString && typeof a.toString === 'function' && typeof b.toString === 'function') return a.toString() === b.toString();
|
|
118
|
+
// END: Modifications
|
|
119
|
+
|
|
120
|
+
keys = Object.keys(a);
|
|
121
|
+
length = keys.length;
|
|
122
|
+
if (length !== Object.keys(b).length) return false;
|
|
123
|
+
for (i = length; i-- !== 0;) if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;
|
|
124
|
+
// END: fast-deep-equal
|
|
125
|
+
|
|
126
|
+
// START: react-fast-compare
|
|
127
|
+
// custom handling for DOM elements
|
|
128
|
+
if (hasElementType && a instanceof Element) return false;
|
|
129
|
+
|
|
130
|
+
// custom handling for React/Preact
|
|
131
|
+
for (i = length; i-- !== 0;) {
|
|
132
|
+
if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {
|
|
133
|
+
// React-specific: avoid traversing React elements' _owner
|
|
134
|
+
// Preact-specific: avoid traversing Preact elements' __v and __o
|
|
135
|
+
// __v = $_original / $_vnode
|
|
136
|
+
// __o = $_owner
|
|
137
|
+
// These properties contain circular references and are not needed when
|
|
138
|
+
// comparing the actual elements (and not their owners)
|
|
139
|
+
// .$$typeof and ._store on just reasonable markers of elements
|
|
140
|
+
|
|
141
|
+
continue;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// all other properties should be traversed as usual
|
|
145
|
+
if (!equal(a[keys[i]], b[keys[i]])) return false;
|
|
146
|
+
}
|
|
147
|
+
// END: react-fast-compare
|
|
148
|
+
|
|
149
|
+
// START: fast-deep-equal
|
|
150
|
+
return true;
|
|
151
|
+
}
|
|
152
|
+
return a !== a && b !== b;
|
|
153
|
+
}
|
|
154
|
+
// end fast-deep-equal
|
|
155
|
+
|
|
156
|
+
var reactFastCompare = function isEqual(a, b) {
|
|
157
|
+
try {
|
|
158
|
+
return equal(a, b);
|
|
159
|
+
} catch (error) {
|
|
160
|
+
if ((error.message || '').match(/stack|recursion/i)) {
|
|
161
|
+
// warn on circular references, don't crash
|
|
162
|
+
// browsers give this different errors name and messages:
|
|
163
|
+
// chrome/safari: "RangeError", "Maximum call stack size exceeded"
|
|
164
|
+
// firefox: "InternalError", too much recursion"
|
|
165
|
+
// edge: "Error", "Out of stack space"
|
|
166
|
+
console.warn('react-fast-compare cannot handle circular refs');
|
|
167
|
+
return false;
|
|
168
|
+
}
|
|
169
|
+
// some other error. we should definitely know about these
|
|
170
|
+
throw error;
|
|
171
|
+
}
|
|
172
|
+
};
|
|
173
|
+
|
|
174
|
+
var JsonRenderActivityRendererInner = function JsonRenderActivityRendererInner(_ref) {
|
|
175
|
+
var activityType = _ref.activityType,
|
|
176
|
+
content = _ref.content,
|
|
177
|
+
messageId = _ref.messageId,
|
|
178
|
+
registry = _ref.registry,
|
|
179
|
+
_ref$actionHandlers = _ref.actionHandlers,
|
|
180
|
+
actionHandlers = _ref$actionHandlers === void 0 ? {} : _ref$actionHandlers;
|
|
181
|
+
var isValidSchema = content && content.root && content.elements && content.elements[content.root];
|
|
182
|
+
var renderData = useMemo(function () {
|
|
183
|
+
return (content === null || content === void 0 ? void 0 : content.data) || {};
|
|
184
|
+
}, [content === null || content === void 0 ? void 0 : content.data]);
|
|
185
|
+
return /* @__PURE__ */React.createElement("div", {
|
|
186
|
+
"data-activity-type": activityType,
|
|
187
|
+
"data-message-id": messageId
|
|
188
|
+
}, /* @__PURE__ */React.createElement(DataProvider, {
|
|
189
|
+
initialData: renderData
|
|
190
|
+
}, /* @__PURE__ */React.createElement(VisibilityProvider, null, /* @__PURE__ */React.createElement(ActionProvider, {
|
|
191
|
+
handlers: actionHandlers
|
|
192
|
+
}, /* @__PURE__ */React.createElement(JsonRenderElement, {
|
|
193
|
+
tree: content,
|
|
194
|
+
registry: registry
|
|
195
|
+
})))));
|
|
196
|
+
};
|
|
197
|
+
var JsonRenderActivityRenderer = /*#__PURE__*/React.memo(JsonRenderActivityRendererInner, function (prevProps, nextProps) {
|
|
198
|
+
if (prevProps.registry !== nextProps.registry) return false;
|
|
199
|
+
if (prevProps.actionHandlers !== nextProps.actionHandlers) return false;
|
|
200
|
+
if (prevProps.content === nextProps.content) return true;
|
|
201
|
+
return reactFastCompare(prevProps.content, nextProps.content);
|
|
202
|
+
});
|
|
203
|
+
|
|
204
|
+
export { JsonRenderActivityRenderer as J, reactFastCompare as r };
|
|
205
|
+
//# sourceMappingURL=dep-1007ac80.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dep-1007ac80.js","sources":["../../../../node_modules/.pnpm/react-fast-compare@3.2.2/node_modules/react-fast-compare/index.js","../../../pro-components/chat/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.tsx"],"sourcesContent":["/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\n\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView;\n\n// Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.3\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n // START: Modifications:\n // 1. Extra `has<Type> &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n var it;\n if (hasMap && (a instanceof Map) && (b instanceof Map)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n return true;\n }\n\n if (hasSet && (a instanceof Set) && (b instanceof Set)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n return true;\n }\n // END: Modifications\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (a[i] !== b[i]) return false;\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n // START: Modifications:\n // Apply guards for `Object.create(null)` handling. See:\n // - https://github.com/FormidableLabs/react-fast-compare/issues/64\n // - https://github.com/epoberezkin/fast-deep-equal/issues/49\n if (a.valueOf !== Object.prototype.valueOf && typeof a.valueOf === 'function' && typeof b.valueOf === 'function') return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString && typeof a.toString === 'function' && typeof b.toString === 'function') return a.toString() === b.toString();\n // END: Modifications\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n // END: fast-deep-equal\n\n // START: react-fast-compare\n // custom handling for DOM elements\n if (hasElementType && a instanceof Element) return false;\n\n // custom handling for React/Preact\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n\n continue;\n }\n\n // all other properties should be traversed as usual\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n }\n // END: react-fast-compare\n\n // START: fast-deep-equal\n return true;\n }\n\n return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (((error.message || '').match(/stack|recursion/i))) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n }\n // some other error. we should definitely know about these\n throw error;\n }\n};\n","/**\n * json-render Activity 渲染器\n * 基于 TDesign ChatEngine 的 Activity 机制集成 json-render\n * \n * 核心特性:\n * 1. 支持 ACTIVITY_SNAPSHOT 全量渲染\n * 2. 支持 ACTIVITY_DELTA 增量更新(Delta Merge 由数据层完成,此处接收完整 Schema)\n * 3. 使用 React.memo + react-fast-compare 优化渲染性能\n * \n */\n\nimport React, { useMemo } from 'react';\nimport isEqual from 'react-fast-compare';\nimport { type ComponentRegistry, JsonRenderElement } from './';\nimport { DataProvider, ActionProvider, VisibilityProvider } from '../contexts';\nimport type { JsonRenderActivityProps } from '../types';\n\nexport interface JsonRenderActivityRendererProps extends JsonRenderActivityProps {\n /** 组件注册表(必须) */\n registry: ComponentRegistry;\n /** \n * Action 处理器映射表\n * \n * 示例:\n * ```tsx\n * const actionHandlers = {\n * submit: async (params) => { ... },\n * reset: async (params) => { ... },\n * cancel: async (params) => { ... },\n * };\n * ```\n */\n actionHandlers?: Record<string, (params: Record<string, unknown>) => void | Promise<void>>;\n /** 显示调试信息 */\n debug?: boolean;\n}\n\n/**\n * json-render Activity 渲染器组件\n */\nconst JsonRenderActivityRendererInner: React.FC<JsonRenderActivityRendererProps> = ({\n activityType,\n content,\n messageId,\n registry,\n actionHandlers = {},\n}) => {\n // 直接在渲染阶段做校验\n const isValidSchema = content && content.root && content.elements && content.elements[content.root];\n\n // 数据处理:使用 useMemo 缓存,只在 content.data 变化时重新计算\n const renderData = useMemo(() => content?.data || {}, [content?.data]);\n\n // todo: Schema 无效时显示加载状态\n // if (!isValidSchema) {\n // return (\n // <div style={{ padding: '16px', color: 'var(--td-text-color-secondary)' }}>\n // 数据初始化中...\n // </div>\n // );\n // }\n return (\n <div data-activity-type={activityType} data-message-id={messageId}>\n <DataProvider initialData={renderData}>\n <VisibilityProvider>\n <ActionProvider handlers={actionHandlers}>\n <JsonRenderElement tree={content} registry={registry} />\n </ActionProvider>\n </VisibilityProvider>\n </DataProvider>\n </div>\n );\n};\n\n/**\n * 使用 React.memo 包装,配合 react-fast-compare 进行高效的深比较\n * \n * 对比策略:\n * 1. registry 引用比较(通常是稳定的)\n * 2. actionHandlers 引用比较(建议使用 useMemo 稳定化)\n * 3. content 使用 react-fast-compare 深比较(比 JSON.stringify 快 3-5 倍)\n */\nexport const JsonRenderActivityRenderer = React.memo(\n JsonRenderActivityRendererInner,\n (prevProps, nextProps) => {\n // registry 变化必须重渲染\n if (prevProps.registry !== nextProps.registry) return false;\n \n // actionHandlers 变化必须重渲染\n if (prevProps.actionHandlers !== nextProps.actionHandlers) return false;\n\n // content 引用相同,跳过渲染\n if (prevProps.content === nextProps.content) return true;\n\n // 使用 react-fast-compare 进行高效深比较\n // 比 JSON.stringify 快 3-5 倍,且能正确处理循环引用\n return isEqual(prevProps.content, nextProps.content);\n },\n);\n\n/**\n * 默认导出\n */\nexport default JsonRenderActivityRenderer;\n"],"names":["hasElementType","Element","hasMap","Map","hasSet","Set","hasArrayBuffer","ArrayBuffer","isView","equal","a","b","_typeof","constructor","length","i","keys","Array","isArray","it","size","entries","next","done","has","value","get","RegExp","source","flags","valueOf","Object","prototype","toString","hasOwnProperty","call","$$typeof","reactFastCompare","isEqual","error","message","match","console","warn","JsonRenderActivityRendererInner","activityType","_ref","content","messageId","registry","_ref$actionHandlers","actionHandlers","isValidSchema","root","elements","renderData","useMemo","data","React","createElement","DataProvider","initialData","VisibilityProvider","ActionProvider","handlers","JsonRenderElement","tree","JsonRenderActivityRenderer","memo","prevProps","nextProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAIA,cAAc,GAAG,OAAOC,OAAO,KAAK,WAAW,CAAA;AACnD,IAAIC,MAAM,GAAG,OAAOC,GAAG,KAAK,UAAU,CAAA;AACtC,IAAIC,MAAM,GAAG,OAAOC,GAAG,KAAK,UAAU,CAAA;AACtC,IAAIC,cAAc,GAAG,OAAOC,WAAW,KAAK,UAAU,IAAI,CAAC,CAACA,WAAW,CAACC,MAAM,CAAA;;AAE9E;;AAEA,SAASC,KAAKA,CAACC,CAAC,EAAEC,CAAC,EAAE;AACrB;AACE,EAAA,IAAID,CAAC,KAAKC,CAAC,EAAE,OAAO,IAAI,CAAA;AAExB,EAAA,IAAID,CAAC,IAAIC,CAAC,IAAIC,OAAA,CAAOF,CAAC,CAAI,IAAA,QAAQ,IAAIE,OAAA,CAAOD,CAAC,CAAA,IAAI,QAAQ,EAAE;IAC1D,IAAID,CAAC,CAACG,WAAW,KAAKF,CAAC,CAACE,WAAW,EAAE,OAAO,KAAK,CAAA;AAEjD,IAAA,IAAIC,MAAM,EAAEC,CAAC,EAAEC,IAAI,CAAA;AACnB,IAAA,IAAIC,KAAK,CAACC,OAAO,CAACR,CAAC,CAAC,EAAE;MACpBI,MAAM,GAAGJ,CAAC,CAACI,MAAM,CAAA;AACjB,MAAA,IAAIA,MAAM,IAAIH,CAAC,CAACG,MAAM,EAAE,OAAO,KAAK,CAAA;MACpC,KAAKC,CAAC,GAAGD,MAAM,EAAEC,CAAC,EAAE,KAAK,CAAC,GACxB,IAAI,CAACN,KAAK,CAACC,CAAC,CAACK,CAAC,CAAC,EAAEJ,CAAC,CAACI,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,CAAA;AACtC,MAAA,OAAO,IAAI,CAAA;AACZ,KAAA;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI,IAAA,IAAII,EAAE,CAAA;IACN,IAAIjB,MAAM,IAAKQ,CAAC,YAAYP,GAAI,IAAKQ,CAAC,YAAYR,GAAI,EAAE;MACtD,IAAIO,CAAC,CAACU,IAAI,KAAKT,CAAC,CAACS,IAAI,EAAE,OAAO,KAAK,CAAA;AACnCD,MAAAA,EAAE,GAAGT,CAAC,CAACW,OAAO,EAAE,CAAA;MAChB,OAAO,CAAC,CAACN,CAAC,GAAGI,EAAE,CAACG,IAAI,EAAE,EAAEC,IAAI,EAC1B,IAAI,CAACZ,CAAC,CAACa,GAAG,CAACT,CAAC,CAACU,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,CAAA;AACtCN,MAAAA,EAAE,GAAGT,CAAC,CAACW,OAAO,EAAE,CAAA;AAChB,MAAA,OAAO,CAAC,CAACN,CAAC,GAAGI,EAAE,CAACG,IAAI,EAAE,EAAEC,IAAI,EAC1B,IAAI,CAACd,KAAK,CAACM,CAAC,CAACU,KAAK,CAAC,CAAC,CAAC,EAAEd,CAAC,CAACe,GAAG,CAACX,CAAC,CAACU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,CAAA;AACzD,MAAA,OAAO,IAAI,CAAA;AACZ,KAAA;IAED,IAAIrB,MAAM,IAAKM,CAAC,YAAYL,GAAI,IAAKM,CAAC,YAAYN,GAAI,EAAE;MACtD,IAAIK,CAAC,CAACU,IAAI,KAAKT,CAAC,CAACS,IAAI,EAAE,OAAO,KAAK,CAAA;AACnCD,MAAAA,EAAE,GAAGT,CAAC,CAACW,OAAO,EAAE,CAAA;MAChB,OAAO,CAAC,CAACN,CAAC,GAAGI,EAAE,CAACG,IAAI,EAAE,EAAEC,IAAI,EAC1B,IAAI,CAACZ,CAAC,CAACa,GAAG,CAACT,CAAC,CAACU,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,CAAA;AACtC,MAAA,OAAO,IAAI,CAAA;AACZ,KAAA;AACL;;AAEI,IAAA,IAAInB,cAAc,IAAIC,WAAW,CAACC,MAAM,CAACE,CAAC,CAAC,IAAIH,WAAW,CAACC,MAAM,CAACG,CAAC,CAAC,EAAE;MACpEG,MAAM,GAAGJ,CAAC,CAACI,MAAM,CAAA;AACjB,MAAA,IAAIA,MAAM,IAAIH,CAAC,CAACG,MAAM,EAAE,OAAO,KAAK,CAAA;MACpC,KAAKC,CAAC,GAAGD,MAAM,EAAEC,CAAC,EAAE,KAAK,CAAC,GACxB,IAAIL,CAAC,CAACK,CAAC,CAAC,KAAKJ,CAAC,CAACI,CAAC,CAAC,EAAE,OAAO,KAAK,CAAA;AACjC,MAAA,OAAO,IAAI,CAAA;AACZ,KAAA;IAED,IAAIL,CAAC,CAACG,WAAW,KAAKc,MAAM,EAAE,OAAOjB,CAAC,CAACkB,MAAM,KAAKjB,CAAC,CAACiB,MAAM,IAAIlB,CAAC,CAACmB,KAAK,KAAKlB,CAAC,CAACkB,KAAK,CAAA;AACrF;AACA;AACA;AACA;AACI,IAAA,IAAInB,CAAC,CAACoB,OAAO,KAAKC,MAAM,CAACC,SAAS,CAACF,OAAO,IAAI,OAAOpB,CAAC,CAACoB,OAAO,KAAK,UAAU,IAAI,OAAOnB,CAAC,CAACmB,OAAO,KAAK,UAAU,EAAE,OAAOpB,CAAC,CAACoB,OAAO,EAAE,KAAKnB,CAAC,CAACmB,OAAO,EAAE,CAAA;AACpJ,IAAA,IAAIpB,CAAC,CAACuB,QAAQ,KAAKF,MAAM,CAACC,SAAS,CAACC,QAAQ,IAAI,OAAOvB,CAAC,CAACuB,QAAQ,KAAK,UAAU,IAAI,OAAOtB,CAAC,CAACsB,QAAQ,KAAK,UAAU,EAAE,OAAOvB,CAAC,CAACuB,QAAQ,EAAE,KAAKtB,CAAC,CAACsB,QAAQ,EAAE,CAAA;AAC9J;;AAEIjB,IAAAA,IAAI,GAAGe,MAAM,CAACf,IAAI,CAACN,CAAC,CAAC,CAAA;IACrBI,MAAM,GAAGE,IAAI,CAACF,MAAM,CAAA;AACpB,IAAA,IAAIA,MAAM,KAAKiB,MAAM,CAACf,IAAI,CAACL,CAAC,CAAC,CAACG,MAAM,EAAE,OAAO,KAAK,CAAA;AAElD,IAAA,KAAKC,CAAC,GAAGD,MAAM,EAAEC,CAAC,EAAE,KAAK,CAAC,GACxB,IAAI,CAACgB,MAAM,CAACC,SAAS,CAACE,cAAc,CAACC,IAAI,CAACxB,CAAC,EAAEK,IAAI,CAACD,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,CAAA;AACzE;;AAEA;AACA;AACI,IAAA,IAAIf,cAAc,IAAIU,CAAC,YAAYT,OAAO,EAAE,OAAO,KAAK,CAAA;;AAE5D;IACI,KAAKc,CAAC,GAAGD,MAAM,EAAEC,CAAC,EAAE,KAAK,CAAC,GAAG;MAC3B,IAAI,CAACC,IAAI,CAACD,CAAC,CAAC,KAAK,QAAQ,IAAIC,IAAI,CAACD,CAAC,CAAC,KAAK,KAAK,IAAIC,IAAI,CAACD,CAAC,CAAC,KAAK,KAAK,KAAKL,CAAC,CAAC0B,QAAQ,EAAE;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;;AAEQ,QAAA,SAAA;AACD,OAAA;;AAEP;MACM,IAAI,CAAC3B,KAAK,CAACC,CAAC,CAACM,IAAI,CAACD,CAAC,CAAC,CAAC,EAAEJ,CAAC,CAACK,IAAI,CAACD,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,CAAA;AACjD,KAAA;AACL;;AAEA;AACI,IAAA,OAAO,IAAI,CAAA;AACZ,GAAA;AAED,EAAA,OAAOL,CAAC,KAAKA,CAAC,IAAIC,CAAC,KAAKA,CAAC,CAAA;AAC3B,CAAA;AACA;;AAEA0B,IAAAA,gBAAc,GAAG,SAASC,OAAOA,CAAC5B,CAAC,EAAEC,CAAC,EAAE;EACtC,IAAI;AACF,IAAA,OAAOF,KAAK,CAACC,CAAC,EAAEC,CAAC,CAAC,CAAA;GACnB,CAAC,OAAO4B,KAAK,EAAE;IACd,IAAK,CAACA,KAAK,CAACC,OAAO,IAAI,EAAE,EAAEC,KAAK,CAAC,kBAAkB,CAAC,EAAG;AAC3D;AACA;AACA;AACA;AACA;AACMC,MAAAA,OAAO,CAACC,IAAI,CAAC,gDAAgD,CAAC,CAAA;AAC9D,MAAA,OAAO,KAAK,CAAA;AACb,KAAA;AACL;AACI,IAAA,MAAMJ,KAAK,CAAA;AACZ,GAAA;AACH;;AClGA,IAAMK,kCAA6E,SAA7EA,sCAMA;AAAA,EAAA,IALJC,YAAA,GAAAC,IAAA,CAAAD,YAAA;IACAE,OAAA,GAAAD,IAAA,CAAAC,OAAA;IACAC,SAAA,GAAAF,IAAA,CAAAE,SAAA;IACAC,QAAA,GAAAH,IAAA,CAAAG,QAAA;IAAAC,mBAAA,GAAAJ,IAAA,CACAK;AAAAA,IAAAA,kDAAiB,EAAC,GAAAD,mBAAA,CAAA;AAGZ,EAAA,IAAAE,aAAA,GAAgBL,WAAWA,OAAQ,CAAAM,IAAA,IAAQN,QAAQO,QAAY,IAAAP,OAAA,CAAQO,SAASP,OAAQ,CAAAM,IAAA,CAAA,CAAA;EAGxF,IAAAE,UAAA,GAAaC,OAAQ,CAAA,YAAA;IAAA,OAAM,CAAAT,OAAS,KAAA,IAAA,IAATA,OAAS,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAATA,OAAS,CAAAU,IAAA,KAAQ,EAAI,CAAA;GAAA,EAAA,CAACV,OAAS,KAATA,IAAAA,IAAAA,OAAS,uBAATA,OAAS,CAAAU,IAAI,CAAC,CAAA,CAAA;AAUrE,EAAA,sBACGC,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAI,IAAA,oBAAoB,EAAAd,YAAA;AAAc,IAAA,iBAAiB,EAAAG,SAAAA;AAAA,GAAA,iBACrDU,KAAA,CAAAC,aAAA,CAAAC,YAAA,EAAA;AAAaC,IAAAA,WAAa,EAAAN,UAAAA;AACzB,GAAA,iBAAAG,KAAA,CAAAC,aAAA,CAACG,yCACEJ,KAAA,CAAAC,aAAA,CAAAI,cAAA,EAAA;AAAeC,IAAAA,QAAU,EAAAb,cAAAA;AAAA,GAAA,iBACvBO,KAAA,CAAAC,aAAA,CAAAM,iBAAA,EAAA;AAAkBC,IAAAA,IAAM,EAAAnB,OAAA;AAASE,IAAAA,QAAA,EAAAA,QAAAA;AAAoB,GAAA,CACxD,CACF,CACF,CACF,CAAA,CAAA;AAEJ,CAAA,CAAA;AAUakB,IAAAA,0CAA6BT,KAAM,CAAAU,IAAA,CAC9CxB,+BAAA,EACA,UAACyB,WAAWC,SAAc,EAAA;EAEpB,IAAAD,SAAA,CAAUpB,aAAaqB,SAAU,CAAArB,QAAA,EAAiB,OAAA,KAAA,CAAA;EAGlD,IAAAoB,SAAA,CAAUlB,mBAAmBmB,SAAU,CAAAnB,cAAA,EAAuB,OAAA,KAAA,CAAA;EAG9D,IAAAkB,SAAA,CAAUtB,YAAYuB,SAAU,CAAAvB,OAAA,EAAgB,OAAA,IAAA,CAAA;EAIpD,OAAOT,gBAAQ,CAAA+B,SAAA,CAAUtB,OAAS,EAAAuB,SAAA,CAAUvB,OAAO,CAAA,CAAA;AACrD,CACF;;;;"}
|