@tdesign-react/chat 1.0.2-alpha.8 → 1.1.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/_chunks/dep-f2051ebd.js +839 -0
- package/es/_chunks/dep-f2051ebd.js.map +1 -0
- package/es/_util/reactify.d.ts +1 -2
- package/es/_util/reactify.js +81 -231
- package/es/_util/reactify.js.map +1 -1
- package/es/_util/useDynamicStyle.js +1 -1
- package/es/attachments/index.js +4 -6
- package/es/attachments/index.js.map +1 -1
- package/es/chat-actionbar/_example-js/base.d.ts +2 -0
- package/es/chat-actionbar/_example-js/custom.d.ts +2 -0
- package/es/chat-actionbar/_example-js/style.d.ts +2 -0
- package/es/chat-actionbar/index.js +4 -6
- package/es/chat-actionbar/index.js.map +1 -1
- package/es/chat-attachments/_example-js/base.d.ts +2 -0
- package/es/chat-attachments/_example-js/scroll-x.d.ts +2 -0
- package/es/chat-attachments/_example-js/scroll-y.d.ts +2 -0
- package/es/chat-attachments/index.js +3 -1
- package/es/chat-attachments/index.js.map +1 -1
- package/es/chat-engine/_example-js/agui-basic.d.ts +10 -0
- package/es/chat-engine/_example-js/agui-comprehensive.d.ts +2 -0
- package/es/chat-engine/_example-js/agui-test.d.ts +11 -0
- package/es/chat-engine/_example-js/agui-toolcall.d.ts +5 -0
- package/es/chat-engine/_example-js/agui-videoclip.d.ts +8 -0
- package/es/chat-engine/_example-js/agui.d.ts +1 -0
- package/es/chat-engine/_example-js/basic.d.ts +9 -0
- package/es/chat-engine/_example-js/components/HotelCard.d.ts +3 -0
- package/es/chat-engine/_example-js/components/HumanInputForm.d.ts +6 -0
- package/es/chat-engine/_example-js/components/HumanInputResult.d.ts +3 -0
- package/es/chat-engine/_example-js/components/ItineraryCard.d.ts +3 -0
- package/es/chat-engine/_example-js/components/PlanningStatePanel.d.ts +4 -0
- package/es/chat-engine/_example-js/components/Toolcall.d.ts +4 -0
- package/es/chat-engine/_example-js/components/WeatherCard.d.ts +3 -0
- package/es/chat-engine/_example-js/components/login.d.ts +1 -0
- package/es/chat-engine/_example-js/comprehensive.d.ts +12 -0
- package/es/chat-engine/_example-js/custom-content.d.ts +1 -0
- package/es/chat-engine/_example-js/hookComponent.d.ts +1 -0
- package/es/chat-engine/_example-js/initial-messages.d.ts +9 -0
- package/es/chat-engine/_example-js/instance-methods.d.ts +13 -0
- package/es/chat-engine/_example-js/travel-actions.d.ts +91 -0
- package/es/chat-engine/_example-js/travelToolcall.d.ts +1 -0
- 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/{chatbot/components/toolcall → chat-engine/components/activity}/index.d.ts +1 -0
- package/es/chat-engine/components/activity/index.js +18 -0
- package/es/chat-engine/components/activity/index.js.map +1 -0
- package/es/chat-engine/components/activity/registry.d.ts +44 -0
- package/es/{chatbot/components/toolcall → chat-engine/components/activity}/registry.js +32 -22
- package/es/chat-engine/components/activity/registry.js.map +1 -0
- package/es/chat-engine/components/activity/render.d.ts +11 -0
- package/es/chat-engine/components/activity/render.js +107 -0
- package/es/chat-engine/components/activity/render.js.map +1 -0
- package/es/chat-engine/components/activity/types.d.ts +32 -0
- package/es/chat-engine/components/activity/types.js +7 -0
- package/es/chat-engine/components/activity/types.js.map +1 -0
- package/es/chat-engine/components/index.d.ts +4 -0
- package/es/chat-engine/components/index.js +76 -0
- package/es/chat-engine/components/index.js.map +1 -0
- package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.d.ts +36 -0
- package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js +36 -0
- package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js.map +1 -0
- package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.d.ts +46 -0
- package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js +36 -0
- package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js.map +1 -0
- package/es/chat-engine/components/json-render/SurfaceStateManager.d.ts +113 -0
- package/es/chat-engine/components/json-render/SurfaceStateManager.js +195 -0
- package/es/chat-engine/components/json-render/SurfaceStateManager.js.map +1 -0
- package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.d.ts +49 -0
- package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js +307 -0
- package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js.map +1 -0
- package/es/chat-engine/components/json-render/adapters/a2ui-types.d.ts +96 -0
- package/es/chat-engine/components/json-render/adapters/a2ui-types.js +7 -0
- package/es/chat-engine/components/json-render/adapters/a2ui-types.js.map +1 -0
- package/es/chat-engine/components/json-render/adapters/index.d.ts +7 -0
- package/es/chat-engine/components/json-render/adapters/index.js +11 -0
- package/es/chat-engine/components/json-render/adapters/index.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/a2ui-binding.d.ts +64 -0
- package/es/chat-engine/components/json-render/catalog/a2ui-binding.js +36 -0
- package/es/chat-engine/components/json-render/catalog/a2ui-binding.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/a2ui-registry.d.ts +78 -0
- package/es/chat-engine/components/json-render/catalog/a2ui-registry.js +36 -0
- package/es/chat-engine/components/json-render/catalog/a2ui-registry.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/button.d.ts +14 -0
- package/es/chat-engine/components/json-render/catalog/button.js +71 -0
- package/es/chat-engine/components/json-render/catalog/button.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/card.d.ts +11 -0
- package/es/chat-engine/components/json-render/catalog/card.js +57 -0
- package/es/chat-engine/components/json-render/catalog/card.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/index.d.ts +127 -0
- package/es/chat-engine/components/json-render/catalog/index.js +36 -0
- package/es/chat-engine/components/json-render/catalog/index.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/input.d.ts +20 -0
- package/es/chat-engine/components/json-render/catalog/input.js +36 -0
- package/es/chat-engine/components/json-render/catalog/input.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/layout.d.ts +44 -0
- package/es/chat-engine/components/json-render/catalog/layout.js +129 -0
- package/es/chat-engine/components/json-render/catalog/layout.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/text.d.ts +11 -0
- package/es/chat-engine/components/json-render/catalog/text.js +31 -0
- package/es/chat-engine/components/json-render/catalog/text.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog.d.ts +549 -0
- package/es/chat-engine/components/json-render/catalog.js +147 -0
- package/es/chat-engine/components/json-render/catalog.js.map +1 -0
- package/es/chat-engine/components/json-render/config.d.ts +154 -0
- package/es/chat-engine/components/json-render/config.js +36 -0
- package/es/chat-engine/components/json-render/config.js.map +1 -0
- package/es/chat-engine/components/json-render/contexts/actions.d.ts +74 -0
- package/es/chat-engine/components/json-render/contexts/actions.js +290 -0
- package/es/chat-engine/components/json-render/contexts/actions.js.map +1 -0
- package/es/chat-engine/components/json-render/contexts/data.d.ts +45 -0
- package/es/chat-engine/components/json-render/contexts/data.js +104 -0
- package/es/chat-engine/components/json-render/contexts/data.js.map +1 -0
- package/es/chat-engine/components/json-render/contexts/validation.d.ts +59 -0
- package/es/chat-engine/components/json-render/contexts/validation.js +151 -0
- package/es/chat-engine/components/json-render/contexts/validation.js.map +1 -0
- package/es/chat-engine/components/json-render/contexts/visibility.d.ts +29 -0
- package/es/chat-engine/components/json-render/contexts/visibility.js +56 -0
- package/es/chat-engine/components/json-render/contexts/visibility.js.map +1 -0
- package/es/chat-engine/components/json-render/engine.d.ts +58 -0
- package/es/chat-engine/components/json-render/engine.js +88 -0
- package/es/chat-engine/components/json-render/engine.js.map +1 -0
- package/es/chat-engine/components/json-render/index.d.ts +34 -0
- package/es/chat-engine/components/json-render/index.js +36 -0
- package/es/chat-engine/components/json-render/index.js.map +1 -0
- package/es/chat-engine/components/json-render/performance.d.ts +91 -0
- package/es/chat-engine/components/json-render/performance.js +135 -0
- package/es/chat-engine/components/json-render/performance.js.map +1 -0
- package/es/chat-engine/components/json-render/renderer.d.ts +71 -0
- package/es/chat-engine/components/json-render/renderer.js +124 -0
- package/es/chat-engine/components/json-render/renderer.js.map +1 -0
- package/es/chat-engine/components/json-render/types.d.ts +69 -0
- package/es/chat-engine/components/json-render/types.js +7 -0
- package/es/chat-engine/components/json-render/types.js.map +1 -0
- package/es/chat-engine/components/provider/agent-state.js +39 -2
- package/es/chat-engine/components/provider/agent-state.js.map +1 -1
- package/es/chat-engine/components/toolcall/index.js +35 -2
- package/es/chat-engine/components/toolcall/index.js.map +1 -1
- package/es/chat-engine/components/toolcall/registry.js +1 -1
- package/es/chat-engine/components/toolcall/render.d.ts +1 -1
- package/es/chat-engine/components/toolcall/render.js +102 -26
- package/es/chat-engine/components/toolcall/render.js.map +1 -1
- package/es/chat-engine/components/toolcall/types.js +1 -1
- package/es/chat-engine/core/a2ui/index.d.ts +10 -0
- package/es/chat-engine/core/a2ui/index.js +24 -0
- package/es/chat-engine/core/a2ui/index.js.map +1 -0
- package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.d.ts +197 -0
- package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js +438 -0
- package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js.map +1 -0
- package/es/chat-engine/core/a2ui/processor/ComponentTree.d.ts +53 -0
- package/es/chat-engine/core/a2ui/processor/ComponentTree.js +158 -0
- package/es/chat-engine/core/a2ui/processor/ComponentTree.js.map +1 -0
- package/es/chat-engine/core/a2ui/processor/DataStore.d.ts +63 -0
- package/es/chat-engine/core/a2ui/processor/DataStore.js +172 -0
- package/es/chat-engine/core/a2ui/processor/DataStore.js.map +1 -0
- package/es/chat-engine/core/a2ui/processor/PathResolver.d.ts +47 -0
- package/es/chat-engine/core/a2ui/processor/PathResolver.js +99 -0
- package/es/chat-engine/core/a2ui/processor/PathResolver.js.map +1 -0
- package/es/chat-engine/core/a2ui/types/index.d.ts +4 -0
- package/es/chat-engine/core/a2ui/types/index.js +9 -0
- package/es/chat-engine/core/a2ui/types/index.js.map +1 -0
- package/es/chat-engine/core/a2ui/types/types.d.ts +770 -0
- package/es/chat-engine/core/a2ui/types/types.js +104 -0
- package/es/chat-engine/core/a2ui/types/types.js.map +1 -0
- package/es/chat-engine/core/a2ui/utils/binding.d.ts +34 -0
- package/es/chat-engine/core/a2ui/utils/binding.js +1784 -0
- package/es/chat-engine/core/a2ui/utils/binding.js.map +1 -0
- package/es/chat-engine/core/a2ui/utils/index.d.ts +5 -0
- package/es/chat-engine/core/a2ui/utils/index.js +13 -0
- package/es/chat-engine/core/a2ui/utils/index.js.map +1 -0
- package/es/chat-engine/core/a2ui/utils/validation.d.ts +70 -0
- package/es/chat-engine/core/a2ui/utils/validation.js +333 -0
- package/es/chat-engine/core/a2ui/utils/validation.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/activity-manager.d.ts +102 -0
- package/es/chat-engine/core/adapters/agui/activity-manager.js +144 -0
- package/es/chat-engine/core/adapters/agui/activity-manager.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/event-mapper.d.ts +149 -0
- package/es/chat-engine/core/adapters/agui/event-mapper.js +415 -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 +95 -0
- package/es/chat-engine/core/adapters/agui/index.js +195 -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 +168 -0
- package/es/chat-engine/core/adapters/agui/state-manager.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/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 +754 -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 +263 -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 +65 -0
- package/es/chat-engine/core/store/model.js.map +1 -0
- package/es/chat-engine/core/store/reactiveState.d.ts +52 -0
- package/es/chat-engine/core/store/reactiveState.js +1359 -0
- package/es/chat-engine/core/store/reactiveState.js.map +1 -0
- package/es/chat-engine/core/type.d.ts +271 -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/index.d.ts +33 -0
- package/es/chat-engine/core/utils/index.js +999 -0
- package/es/chat-engine/core/utils/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/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/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.d.ts +4 -0
- package/es/chat-engine/hooks/index.js +54 -0
- package/es/chat-engine/hooks/index.js.map +1 -0
- package/es/chat-engine/hooks/useAgentActivity.d.ts +15 -0
- package/es/chat-engine/hooks/useAgentActivity.js +73 -0
- package/es/chat-engine/hooks/useAgentActivity.js.map +1 -0
- package/es/chat-engine/hooks/useAgentState.js +39 -2
- package/es/chat-engine/hooks/useAgentState.js.map +1 -1
- package/es/chat-engine/hooks/useAgentToolcall.js +1 -1
- package/es/chat-engine/hooks/useChat.d.ts +3 -3
- package/es/chat-engine/hooks/useChat.js +41 -3
- package/es/chat-engine/hooks/useChat.js.map +1 -1
- package/es/chat-engine/hooks/useJsonRenderActivity.d.ts +56 -0
- package/es/chat-engine/hooks/useJsonRenderActivity.js +63 -0
- package/es/chat-engine/hooks/useJsonRenderActivity.js.map +1 -0
- package/es/chat-engine/index.d.ts +3 -3
- package/es/chat-engine/index.js +61 -5
- package/es/chat-engine/index.js.map +1 -1
- package/es/chat-filecard/_example-js/base.d.ts +1 -0
- package/es/chat-filecard/index.js +4 -6
- package/es/chat-filecard/index.js.map +1 -1
- package/es/chat-loading/_example-js/base.d.ts +2 -0
- package/es/chat-loading/_example-js/text.d.ts +2 -0
- package/es/chat-loading/index.js +4 -6
- package/es/chat-loading/index.js.map +1 -1
- package/es/chat-markdown/_example-js/base.d.ts +1 -0
- package/es/chat-markdown/_example-js/custom.d.ts +2 -0
- package/es/chat-markdown/_example-js/event.d.ts +1 -0
- package/es/chat-markdown/_example-js/footnote.d.ts +2 -0
- package/es/chat-markdown/_example-js/plugin.d.ts +2 -0
- package/es/chat-markdown/_example-js/theme.d.ts +2 -0
- package/es/chat-markdown/index.js +4 -6
- package/es/chat-markdown/index.js.map +1 -1
- package/es/chat-message/_example-js/action.d.ts +1 -0
- package/es/chat-message/_example-js/base.d.ts +1 -0
- package/es/chat-message/_example-js/configure.d.ts +1 -0
- package/es/chat-message/_example-js/content.d.ts +1 -0
- package/es/chat-message/_example-js/custom.d.ts +1 -0
- package/es/chat-message/_example-js/handle-actions.d.ts +7 -0
- package/es/chat-message/_example-js/status.d.ts +1 -0
- package/es/chat-message/_example-js/think.d.ts +1 -0
- package/es/chat-message/index.js +4 -6
- package/es/chat-message/index.js.map +1 -1
- package/es/chat-sender/_example-js/attachment.d.ts +2 -0
- package/es/chat-sender/_example-js/base.d.ts +2 -0
- package/es/chat-sender/_example-js/custom.d.ts +2 -0
- package/es/chat-sender/index.js +4 -6
- package/es/chat-sender/index.js.map +1 -1
- package/es/chat-thinking/_example-js/base.d.ts +1 -0
- package/es/chat-thinking/_example-js/style.d.ts +1 -0
- package/es/chat-thinking/index.js +4 -6
- package/es/chat-thinking/index.js.map +1 -1
- package/es/chatbot/_example-js/agent.d.ts +1 -0
- package/es/chatbot/_example-js/agui.d.ts +13 -0
- package/es/chatbot/_example-js/backup/travel.d.ts +1 -0
- package/es/chatbot/_example-js/basic.d.ts +1 -0
- package/es/chatbot/_example-js/code.d.ts +1 -0
- package/es/chatbot/_example-js/components/ItineraryCard.d.ts +3 -0
- package/es/chatbot/_example-js/components/login.d.ts +1 -0
- package/es/chatbot/_example-js/comprehensive.d.ts +1 -0
- package/es/chatbot/_example-js/custom-content.d.ts +1 -0
- package/es/chatbot/_example-js/custom-merge.d.ts +1 -0
- package/es/chatbot/_example-js/custom.d.ts +1 -0
- package/es/chatbot/_example-js/docs.d.ts +1 -0
- package/es/chatbot/_example-js/image.d.ts +1 -0
- package/es/chatbot/_example-js/initial-messages.d.ts +9 -0
- package/es/chatbot/_example-js/instance-methods.d.ts +14 -0
- package/es/chatbot/_example-js/nostream.d.ts +1 -0
- package/es/chatbot/_example-js/quick-start.d.ts +9 -0
- package/es/chatbot/_example-js/research.d.ts +1 -0
- package/es/chatbot/_example-js/role-message-config.d.ts +22 -0
- package/es/chatbot/_example-js/sender-config.d.ts +20 -0
- package/es/chatbot/_example-js/service-config.d.ts +17 -0
- package/es/chatbot/_example-js/simple.d.ts +1 -0
- package/es/chatbot/_example-js/utils/messageRenderer.d.ts +5 -0
- package/es/chatbot/docs/react-best-practice.d.ts +13 -0
- package/es/chatbot/index.js +4 -6
- package/es/chatbot/index.js.map +1 -1
- package/es/index.js +59 -9
- package/es/index.js.map +1 -1
- package/es/style/index.js +1 -1
- package/package.json +6 -3
- package/es/chatbot/components/provider/agent-state.d.ts +0 -5
- package/es/chatbot/components/provider/agent-state.js +0 -28
- package/es/chatbot/components/provider/agent-state.js.map +0 -1
- package/es/chatbot/components/toolcall/index.js +0 -19
- package/es/chatbot/components/toolcall/registry.d.ts +0 -35
- package/es/chatbot/components/toolcall/registry.js.map +0 -1
- package/es/chatbot/components/toolcall/render.d.ts +0 -13
- package/es/chatbot/components/toolcall/render.js +0 -207
- package/es/chatbot/components/toolcall/render.js.map +0 -1
- package/es/chatbot/components/toolcall/types.d.ts +0 -57
- package/es/chatbot/components/toolcall/types.js +0 -15
- package/es/chatbot/components/toolcall/types.js.map +0 -1
- package/es/chatbot/hooks/useAgentState.d.ts +0 -40
- package/es/chatbot/hooks/useAgentState.js +0 -76
- package/es/chatbot/hooks/useAgentState.js.map +0 -1
- package/es/chatbot/hooks/useAgentToolcall.d.ts +0 -28
- package/es/chatbot/hooks/useAgentToolcall.js +0 -78
- package/es/chatbot/hooks/useAgentToolcall.js.map +0 -1
- package/es/chatbot/hooks/useChat.d.ts +0 -11
- package/es/chatbot/hooks/useChat.js +0 -66
- package/es/chatbot/hooks/useChat.js.map +0 -1
- /package/es/{chatbot/components/toolcall → chat-engine/hooks/a2ui}/index.js.map +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.js","sources":["../../../../../pro-components/chat/chat-engine/components/json-render/catalog.ts"],"sourcesContent":["/**\n * TDesign Catalog 定义(约束层)\n * 用于定义组件 props schema 和 actions 白名单\n * \n * 概念区分:\n * - Catalog(本文件):约束层,定义组件 props 的 Zod schemas 和 actions 白名单(给 AI/服务端用)\n * - ComponentRegistry(catalog/index.ts):渲染层,映射组件名到 React 组件(给 Renderer 用)\n */\n\nimport { createCatalog } from '@json-render/core';\nimport { z } from 'zod';\n\n/**\n * TDesign 内置组件 Catalog\n * 定义所有内置组件的 props schema 和可用 actions\n * \n * 这个 Catalog 用于:\n * 1. 告诉 AI/LLM 可以生成哪些组件\n * 2. 约束每个组件的 props 类型\n * 3. 定义可触发的 actions 白名单\n */\nexport const tdesignCatalog = createCatalog({\n name: 'tdesign',\n components: {\n // ==================== 基础组件 ====================\n \n Button: {\n props: z.object({\n // 支持 label 或 children 两种方式传递按钮文本\n label: z.string().optional(),\n children: z.string().optional(),\n variant: z.enum(['base', 'outline', 'dashed', 'text']).nullable(),\n theme: z.enum(['default', 'primary', 'success', 'warning', 'danger']).nullable(),\n size: z.enum(['small', 'medium', 'large']).nullable(),\n disabled: z.boolean().nullable(),\n loading: z.boolean().nullable(),\n block: z.boolean().nullable(),\n // action 支持字符串(action 名称)或 Action 对象 { name, params }\n action: z.union([\n z.string(),\n z.object({\n name: z.string(),\n params: z.record(z.any()).optional(),\n }),\n ]).nullable(),\n }),\n description: 'TDesign Button component with action support',\n },\n\n Input: {\n props: z.object({\n value: z.string().nullable(),\n placeholder: z.string().nullable(),\n type: z.enum(['text', 'password', 'number']).nullable(),\n disabled: z.boolean().nullable(),\n clearable: z.boolean().nullable(),\n maxlength: z.number().nullable(),\n showLimitNumber: z.boolean().nullable(),\n }),\n description: 'TDesign Input component',\n },\n\n TextField: {\n props: z.object({\n label: z.string(),\n name: z.string().optional(), // 表单字段名称(可选)\n valuePath: z.string(), // 数据绑定路径(必需)\n placeholder: z.string().nullable(),\n required: z.boolean().nullable(),\n type: z.enum(['text', 'password', 'email', 'number', 'tel']).nullable(),\n disabled: z.boolean().nullable(),\n helperText: z.string().nullable(),\n }),\n description: 'Form text field with label and data binding (combines Input + label)',\n },\n\n Text: {\n props: z.object({\n content: z.string(),\n variant: z.enum(['body', 'caption', 'label']).nullable(),\n color: z.enum(['default', 'primary', 'secondary', 'success', 'warning', 'error']).nullable(),\n weight: z.enum(['normal', 'medium', 'bold']).nullable(),\n }),\n description: 'Text display component',\n },\n\n Card: {\n props: z.object({\n title: z.string().nullable(),\n description: z.string().nullable(),\n bordered: z.boolean().nullable(),\n shadow: z.boolean().nullable(),\n loading: z.boolean().nullable(),\n }),\n hasChildren: true,\n description: 'TDesign Card container',\n },\n\n // ==================== 布局组件 ====================\n\n Row: {\n props: z.object({\n gutter: z.number().nullable(),\n justify: z.enum(['start', 'end', 'center', 'space-around', 'space-between']).nullable(),\n align: z.enum(['top', 'middle', 'bottom']).nullable(),\n }),\n hasChildren: true,\n description: 'Grid row layout',\n },\n\n Col: {\n props: z.object({\n span: z.number().min(1).max(24).nullable(),\n offset: z.number().nullable(),\n }),\n hasChildren: true,\n description: 'Grid column layout',\n },\n\n Space: {\n props: z.object({\n direction: z.enum(['horizontal', 'vertical']).nullable(),\n // size 支持字符串枚举或数字\n size: z.union([\n z.enum(['small', 'medium', 'large']),\n z.number(),\n z.string(),\n ]).nullable(),\n align: z.enum(['start', 'center', 'end', 'baseline']).nullable(),\n }),\n hasChildren: true,\n description: 'Space layout component',\n },\n\n Column: {\n props: z.object({\n gap: z.number().nullable(),\n align: z.enum(['start', 'center', 'end', 'stretch']).nullable(),\n }),\n hasChildren: true,\n description: 'Vertical column layout',\n },\n\n Divider: {\n props: z.object({\n layout: z.enum(['horizontal', 'vertical']).nullable(),\n dashed: z.boolean().nullable(),\n }),\n description: 'Divider line',\n },\n },\n \n actions: {\n submit: { \n description: 'Submit form data to server' \n },\n reset: { \n description: 'Reset form to initial state (handled by Button component automatically)' \n },\n cancel: { \n description: 'Cancel current operation' \n },\n },\n \n validation: 'strict',\n});\n\n/**\n * 创建自定义 Catalog(扩展 TDesign 内置 Catalog)\n * \n * @param customConfig - 自定义 Catalog 配置\n * @returns 合并后的 Catalog\n * \n * @example\n * ```typescript\n * import { createCustomCatalog } from '@tdesign-react/chat';\n * import { z } from 'zod';\n * \n * const customCatalog = createCustomCatalog({\n * name: 'my-dashboard',\n * components: {\n * StatusCard: {\n * props: z.object({\n * title: z.string(),\n * status: z.enum(['success', 'warning', 'error', 'info']),\n * description: z.string().nullable(),\n * }),\n * description: 'Custom status card component',\n * },\n * ProgressBar: {\n * props: z.object({\n * label: z.string().nullable(),\n * percentage: z.number().min(0).max(100),\n * showInfo: z.boolean().nullable(),\n * }),\n * description: 'Custom progress bar component',\n * },\n * },\n * actions: {\n * refresh: { description: 'Refresh data' },\n * export: { description: 'Export to file' },\n * },\n * });\n * \n * // 使用自定义 Catalog\n * // 1. 在服务端:告诉 AI 可以生成哪些组件\n * // 2. 在前端:配合 createCustomRegistry 提供渲染能力\n * ```\n */\nexport function createCustomCatalog(customConfig: {\n name: string;\n components?: Record<string, any>;\n actions?: Record<string, { description: string }>;\n validation?: 'strict' | 'warn';\n}) {\n // 获取 TDesign 内置配置\n const tdesignComponents = tdesignCatalog.components;\n const tdesignActions = tdesignCatalog.actions;\n\n // 合并配置\n return createCatalog({\n name: customConfig.name,\n components: {\n ...tdesignComponents,\n ...(customConfig.components || {}),\n },\n actions: {\n ...tdesignActions,\n ...(customConfig.actions || {}),\n },\n validation: customConfig.validation || 'strict',\n });\n}\n\n/**\n * 导出 TDesign Catalog 的组件列表(给 AI prompt 用)\n */\nexport const tdesignComponentList = tdesignCatalog.componentNames as string[];\n\n/**\n * 导出 TDesign Catalog 的 actions 列表(给 AI prompt 用)\n */\nexport const tdesignActionList = tdesignCatalog.actionNames as string[];\n"],"names":["tdesignCatalog","createCatalog","name","components","Button","props","z","object","label","string","optional","children","variant","nullable","theme","size","disabled","loading","block","action","union","params","record","any","description","Input","value","placeholder","type","clearable","maxlength","number","showLimitNumber","TextField","valuePath","required","helperText","Text","content","color","weight","Card","title","bordered","shadow","hasChildren","Row","gutter","justify","align","Col","span","min","max","offset","Space","direction","Column","gap","Divider","layout","dashed","actions","submit","reset","cancel","validation","createCustomCatalog","customConfig","tdesignComponents","tdesignActions","_objectSpread","tdesignComponentList","componentNames","tdesignActionList","actionNames"],"mappings":"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"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* json-render Activity 配置工厂函数
|
|
3
|
+
* 便捷创建 ActivityConfig 用于注册
|
|
4
|
+
*/
|
|
5
|
+
import type { ComponentRegistry } from './renderer';
|
|
6
|
+
import type { ActivityConfig } from '../activity/types';
|
|
7
|
+
import type { JsonRenderActivityProps } from './types';
|
|
8
|
+
/**
|
|
9
|
+
* json-render Activity 配置选项
|
|
10
|
+
*/
|
|
11
|
+
export interface JsonRenderActivityConfigOptions {
|
|
12
|
+
/** Activity 类型标识,默认 'json-render' */
|
|
13
|
+
activityType?: string;
|
|
14
|
+
/** 组件注册表,默认使用 tdesignRegistry */
|
|
15
|
+
registry?: ComponentRegistry;
|
|
16
|
+
/**
|
|
17
|
+
* Action 处理器映射表
|
|
18
|
+
*
|
|
19
|
+
* 重要:json-render 采用预定义 action 模式
|
|
20
|
+
* - AI/服务端只能生成在此预定义的 action 名称
|
|
21
|
+
* - 每个 action 对应一个具体的处理函数
|
|
22
|
+
* - 这确保了生成式 UI 的安全性和可控性
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```tsx
|
|
26
|
+
* actionHandlers: {
|
|
27
|
+
* // 表单提交
|
|
28
|
+
* submit: async (params) => {
|
|
29
|
+
* await api.submitForm(params);
|
|
30
|
+
* MessagePlugin.success('提交成功');
|
|
31
|
+
* },
|
|
32
|
+
*
|
|
33
|
+
* // 表单重置
|
|
34
|
+
* reset: async (params) => {
|
|
35
|
+
* // 注意:如需清空表单,应在组件内部使用 useData().update()
|
|
36
|
+
* MessagePlugin.info('表单已重置');
|
|
37
|
+
* },
|
|
38
|
+
*
|
|
39
|
+
* // 删除操作
|
|
40
|
+
* delete: async (params) => {
|
|
41
|
+
* await api.deleteItem(params.id);
|
|
42
|
+
* },
|
|
43
|
+
*
|
|
44
|
+
* // 刷新数据
|
|
45
|
+
* refresh: async () => {
|
|
46
|
+
* await refetchData();
|
|
47
|
+
* }
|
|
48
|
+
* }
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
actionHandlers?: Record<string, (params: Record<string, unknown>) => void | Promise<void>>;
|
|
52
|
+
/** 显示调试信息 */
|
|
53
|
+
debug?: boolean;
|
|
54
|
+
/** 描述信息 */
|
|
55
|
+
description?: string;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* 创建 json-render Activity 配置
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* 基础用法 - 预定义 action handlers
|
|
62
|
+
* ```tsx
|
|
63
|
+
* const jsonRenderConfig = createJsonRenderActivityConfig({
|
|
64
|
+
* activityType: 'json-render',
|
|
65
|
+
* actionHandlers: {
|
|
66
|
+
* submit: async (params) => {
|
|
67
|
+
* console.log('提交表单:', params);
|
|
68
|
+
* await api.submit(params);
|
|
69
|
+
* MessagePlugin.success('提交成功');
|
|
70
|
+
* },
|
|
71
|
+
* reset: async (params) => {
|
|
72
|
+
* MessagePlugin.info('表单已重置');
|
|
73
|
+
* },
|
|
74
|
+
* delete: async (params) => {
|
|
75
|
+
* await api.delete(params.id);
|
|
76
|
+
* }
|
|
77
|
+
* },
|
|
78
|
+
* });
|
|
79
|
+
*
|
|
80
|
+
* useAgentActivity(jsonRenderConfig);
|
|
81
|
+
* ```
|
|
82
|
+
*
|
|
83
|
+
* @example
|
|
84
|
+
* 结合 ChatEngine 发送消息到服务端
|
|
85
|
+
* ```tsx
|
|
86
|
+
* const jsonRenderConfig = createJsonRenderActivityConfig({
|
|
87
|
+
* actionHandlers: {
|
|
88
|
+
* submit: async (params) => {
|
|
89
|
+
* // 发送到服务端处理
|
|
90
|
+
* await chatEngine.sendAIMessage({
|
|
91
|
+
* params: { userActionMessage: { name: 'submit', params } },
|
|
92
|
+
* sendRequest: true,
|
|
93
|
+
* });
|
|
94
|
+
* },
|
|
95
|
+
* reset: async (params) => {
|
|
96
|
+
* // 本地处理,不发送到服务端
|
|
97
|
+
* MessagePlugin.info('已重置');
|
|
98
|
+
* },
|
|
99
|
+
* },
|
|
100
|
+
* });
|
|
101
|
+
* ```
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* 配合自定义组件注册表
|
|
105
|
+
* ```tsx
|
|
106
|
+
* import { createCustomRegistry } from './catalog';
|
|
107
|
+
*
|
|
108
|
+
* const jsonRenderConfig = createJsonRenderActivityConfig({
|
|
109
|
+
* registry: createCustomRegistry({
|
|
110
|
+
* MyCustomComponent: MyComponentRenderer,
|
|
111
|
+
* }),
|
|
112
|
+
* actionHandlers: {
|
|
113
|
+
* custom_action: async (params) => {
|
|
114
|
+
* // 处理自定义操作
|
|
115
|
+
* },
|
|
116
|
+
* },
|
|
117
|
+
* });
|
|
118
|
+
* ```
|
|
119
|
+
*/
|
|
120
|
+
export declare function createJsonRenderActivityConfig(options?: JsonRenderActivityConfigOptions): ActivityConfig<JsonRenderActivityProps['content']>;
|
|
121
|
+
/**
|
|
122
|
+
* 默认 json-render Activity 配置
|
|
123
|
+
* 使用默认 TDesign Catalog,适用于大多数场景
|
|
124
|
+
*/
|
|
125
|
+
export declare const defaultJsonRenderActivityConfig: ActivityConfig<import("./types").JsonRenderSchema>;
|
|
126
|
+
/**
|
|
127
|
+
* 创建 A2UI + json-render Activity 配置
|
|
128
|
+
* 支持将 A2UI 协议转换为 json-render Schema 渲染
|
|
129
|
+
*
|
|
130
|
+
* 注意:默认使用 a2uiRegistry,自动支持 valuePath/disabledPath/action.context 绑定
|
|
131
|
+
*
|
|
132
|
+
* @example
|
|
133
|
+
* ```tsx
|
|
134
|
+
* const a2uiJsonRenderConfig = createA2UIJsonRenderActivityConfig({
|
|
135
|
+
* activityType: 'a2ui-json-render',
|
|
136
|
+
* actionHandlers: {
|
|
137
|
+
* submit: async (params) => {
|
|
138
|
+
* console.log('提交:', params);
|
|
139
|
+
* },
|
|
140
|
+
* cancel: async (params) => {
|
|
141
|
+
* console.log('取消');
|
|
142
|
+
* },
|
|
143
|
+
* },
|
|
144
|
+
* });
|
|
145
|
+
*
|
|
146
|
+
* useAgentActivity(a2uiJsonRenderConfig);
|
|
147
|
+
* ```
|
|
148
|
+
*/
|
|
149
|
+
export declare function createA2UIJsonRenderActivityConfig(options?: JsonRenderActivityConfigOptions): ActivityConfig<any>;
|
|
150
|
+
/**
|
|
151
|
+
* 默认 A2UI + json-render Activity 配置
|
|
152
|
+
*/
|
|
153
|
+
export declare const defaultA2UIJsonRenderActivityConfig: ActivityConfig<any>;
|
|
154
|
+
export default createJsonRenderActivityConfig;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.0.2-alpha.15
|
|
3
|
+
* (c) 2026 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import '@babel/runtime/helpers/defineProperty';
|
|
8
|
+
import 'react';
|
|
9
|
+
export { j as createA2UIJsonRenderActivityConfig, h as createJsonRenderActivityConfig, h as default, k as defaultA2UIJsonRenderActivityConfig, i as defaultJsonRenderActivityConfig } from '../../../_chunks/dep-f2051ebd.js';
|
|
10
|
+
import '@babel/runtime/helpers/typeof';
|
|
11
|
+
import '@babel/runtime/helpers/slicedToArray';
|
|
12
|
+
import './adapters/index.js';
|
|
13
|
+
import './adapters/a2ui-to-jsonrender.js';
|
|
14
|
+
import '@babel/runtime/helpers/objectWithoutProperties';
|
|
15
|
+
import './SurfaceStateManager.js';
|
|
16
|
+
import '@babel/runtime/helpers/classCallCheck';
|
|
17
|
+
import '@babel/runtime/helpers/createClass';
|
|
18
|
+
import './engine.js';
|
|
19
|
+
import './performance.js';
|
|
20
|
+
import '@babel/runtime/helpers/toConsumableArray';
|
|
21
|
+
import './catalog/button.js';
|
|
22
|
+
import 'tdesign-react';
|
|
23
|
+
import '@json-render/core';
|
|
24
|
+
import './contexts/data.js';
|
|
25
|
+
import './catalog/card.js';
|
|
26
|
+
import './catalog/text.js';
|
|
27
|
+
import './catalog/layout.js';
|
|
28
|
+
import './catalog.js';
|
|
29
|
+
import 'zod';
|
|
30
|
+
import './contexts/visibility.js';
|
|
31
|
+
import './contexts/actions.js';
|
|
32
|
+
import '@babel/runtime/helpers/asyncToGenerator';
|
|
33
|
+
import '@babel/runtime/regenerator';
|
|
34
|
+
import './contexts/validation.js';
|
|
35
|
+
import './renderer.js';
|
|
36
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
import { type Action, type ActionHandler, type ActionConfirm, type ResolvedAction } from "@json-render/core";
|
|
3
|
+
/**
|
|
4
|
+
* Pending confirmation state
|
|
5
|
+
*/
|
|
6
|
+
export interface PendingConfirmation {
|
|
7
|
+
/** The resolved action */
|
|
8
|
+
action: ResolvedAction;
|
|
9
|
+
/** The action handler */
|
|
10
|
+
handler: ActionHandler;
|
|
11
|
+
/** Resolve callback */
|
|
12
|
+
resolve: () => void;
|
|
13
|
+
/** Reject callback */
|
|
14
|
+
reject: () => void;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Action context value
|
|
18
|
+
*/
|
|
19
|
+
export interface ActionContextValue {
|
|
20
|
+
/** Registered action handlers */
|
|
21
|
+
handlers: Record<string, ActionHandler>;
|
|
22
|
+
/** Currently loading action names */
|
|
23
|
+
loadingActions: Set<string>;
|
|
24
|
+
/** Pending confirmation dialog */
|
|
25
|
+
pendingConfirmation: PendingConfirmation | null;
|
|
26
|
+
/** Execute an action */
|
|
27
|
+
execute: (action: Action) => Promise<void>;
|
|
28
|
+
/** Confirm the pending action */
|
|
29
|
+
confirm: () => void;
|
|
30
|
+
/** Cancel the pending action */
|
|
31
|
+
cancel: () => void;
|
|
32
|
+
/** Register an action handler */
|
|
33
|
+
registerHandler: (name: string, handler: ActionHandler) => void;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Props for ActionProvider
|
|
37
|
+
*/
|
|
38
|
+
export interface ActionProviderProps {
|
|
39
|
+
/** Initial action handlers */
|
|
40
|
+
handlers?: Record<string, ActionHandler>;
|
|
41
|
+
/** Navigation function */
|
|
42
|
+
navigate?: (path: string) => void;
|
|
43
|
+
children: ReactNode;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Provider for action execution
|
|
47
|
+
*/
|
|
48
|
+
export declare function ActionProvider({ handlers: initialHandlers, navigate, children, }: ActionProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
49
|
+
/**
|
|
50
|
+
* Hook to access action context
|
|
51
|
+
*/
|
|
52
|
+
export declare function useActions(): ActionContextValue;
|
|
53
|
+
/**
|
|
54
|
+
* Hook to execute an action
|
|
55
|
+
*/
|
|
56
|
+
export declare function useAction(action: Action): {
|
|
57
|
+
execute: () => Promise<void>;
|
|
58
|
+
isLoading: boolean;
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Props for ConfirmDialog component
|
|
62
|
+
*/
|
|
63
|
+
export interface ConfirmDialogProps {
|
|
64
|
+
/** The confirmation config */
|
|
65
|
+
confirm: ActionConfirm;
|
|
66
|
+
/** Called when confirmed */
|
|
67
|
+
onConfirm: () => void;
|
|
68
|
+
/** Called when cancelled */
|
|
69
|
+
onCancel: () => void;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Default confirmation dialog component
|
|
73
|
+
*/
|
|
74
|
+
export declare function ConfirmDialog({ confirm, onConfirm, onCancel, }: ConfirmDialogProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.0.2-alpha.15
|
|
3
|
+
* (c) 2026 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
|
|
8
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
9
|
+
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
10
|
+
import _regeneratorRuntime from '@babel/runtime/regenerator';
|
|
11
|
+
import React, { createContext, useState, useCallback, useMemo, useContext } from 'react';
|
|
12
|
+
import { executeAction, resolveAction } from '@json-render/core';
|
|
13
|
+
import { useData } from './data.js';
|
|
14
|
+
import '@babel/runtime/helpers/typeof';
|
|
15
|
+
|
|
16
|
+
"use client";
|
|
17
|
+
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; }
|
|
18
|
+
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; }
|
|
19
|
+
var ActionContext = /*#__PURE__*/createContext(null);
|
|
20
|
+
function ActionProvider(_ref) {
|
|
21
|
+
var _ref$handlers = _ref.handlers,
|
|
22
|
+
initialHandlers = _ref$handlers === void 0 ? {} : _ref$handlers,
|
|
23
|
+
navigate = _ref.navigate,
|
|
24
|
+
children = _ref.children;
|
|
25
|
+
var _useData = useData(),
|
|
26
|
+
data = _useData.data,
|
|
27
|
+
set = _useData.set;
|
|
28
|
+
var _useState = useState(initialHandlers),
|
|
29
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
30
|
+
handlers = _useState2[0],
|
|
31
|
+
setHandlers = _useState2[1];
|
|
32
|
+
var _useState3 = useState(/* @__PURE__ */new Set()),
|
|
33
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
34
|
+
loadingActions = _useState4[0],
|
|
35
|
+
setLoadingActions = _useState4[1];
|
|
36
|
+
var _useState5 = useState(null),
|
|
37
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
38
|
+
pendingConfirmation = _useState6[0],
|
|
39
|
+
setPendingConfirmation = _useState6[1];
|
|
40
|
+
var registerHandler = useCallback(function (name, handler) {
|
|
41
|
+
setHandlers(function (prev) {
|
|
42
|
+
return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, name, handler));
|
|
43
|
+
});
|
|
44
|
+
}, []);
|
|
45
|
+
var execute = useCallback(/*#__PURE__*/function () {
|
|
46
|
+
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4(action) {
|
|
47
|
+
var resolved, handler;
|
|
48
|
+
return _regeneratorRuntime.wrap(function (_context4) {
|
|
49
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
50
|
+
case 0:
|
|
51
|
+
resolved = resolveAction(action, data);
|
|
52
|
+
handler = handlers[resolved.name];
|
|
53
|
+
if (handler) {
|
|
54
|
+
_context4.next = 1;
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
console.warn("No handler registered for action: ".concat(resolved.name));
|
|
58
|
+
return _context4.abrupt("return");
|
|
59
|
+
case 1:
|
|
60
|
+
if (!resolved.confirm) {
|
|
61
|
+
_context4.next = 2;
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
return _context4.abrupt("return", new Promise(function (_resolve, _reject) {
|
|
65
|
+
setPendingConfirmation({
|
|
66
|
+
action: resolved,
|
|
67
|
+
handler: handler,
|
|
68
|
+
resolve: function resolve() {
|
|
69
|
+
setPendingConfirmation(null);
|
|
70
|
+
_resolve();
|
|
71
|
+
},
|
|
72
|
+
reject: function reject() {
|
|
73
|
+
setPendingConfirmation(null);
|
|
74
|
+
_reject(new Error("Action cancelled"));
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
}).then(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
78
|
+
return _regeneratorRuntime.wrap(function (_context2) {
|
|
79
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
80
|
+
case 0:
|
|
81
|
+
setLoadingActions(function (prev) {
|
|
82
|
+
return new Set(prev).add(resolved.name);
|
|
83
|
+
});
|
|
84
|
+
_context2.prev = 1;
|
|
85
|
+
_context2.next = 2;
|
|
86
|
+
return executeAction({
|
|
87
|
+
action: resolved,
|
|
88
|
+
handler: handler,
|
|
89
|
+
setData: set,
|
|
90
|
+
navigate: navigate,
|
|
91
|
+
executeAction: function () {
|
|
92
|
+
var _executeAction = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(name) {
|
|
93
|
+
var subAction;
|
|
94
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
95
|
+
while (1) switch (_context.prev = _context.next) {
|
|
96
|
+
case 0:
|
|
97
|
+
subAction = {
|
|
98
|
+
name: name
|
|
99
|
+
};
|
|
100
|
+
_context.next = 1;
|
|
101
|
+
return execute(subAction);
|
|
102
|
+
case 1:
|
|
103
|
+
case "end":
|
|
104
|
+
return _context.stop();
|
|
105
|
+
}
|
|
106
|
+
}, _callee);
|
|
107
|
+
}));
|
|
108
|
+
function executeAction(_x2) {
|
|
109
|
+
return _executeAction.apply(this, arguments);
|
|
110
|
+
}
|
|
111
|
+
return executeAction;
|
|
112
|
+
}()
|
|
113
|
+
});
|
|
114
|
+
case 2:
|
|
115
|
+
_context2.prev = 2;
|
|
116
|
+
setLoadingActions(function (prev) {
|
|
117
|
+
var next = new Set(prev);
|
|
118
|
+
next["delete"](resolved.name);
|
|
119
|
+
return next;
|
|
120
|
+
});
|
|
121
|
+
return _context2.finish(2);
|
|
122
|
+
case 3:
|
|
123
|
+
case "end":
|
|
124
|
+
return _context2.stop();
|
|
125
|
+
}
|
|
126
|
+
}, _callee2, null, [[1,, 2, 3]]);
|
|
127
|
+
}))));
|
|
128
|
+
case 2:
|
|
129
|
+
setLoadingActions(function (prev) {
|
|
130
|
+
return new Set(prev).add(resolved.name);
|
|
131
|
+
});
|
|
132
|
+
_context4.prev = 3;
|
|
133
|
+
_context4.next = 4;
|
|
134
|
+
return executeAction({
|
|
135
|
+
action: resolved,
|
|
136
|
+
handler: handler,
|
|
137
|
+
setData: set,
|
|
138
|
+
navigate: navigate,
|
|
139
|
+
executeAction: function () {
|
|
140
|
+
var _executeAction2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3(name) {
|
|
141
|
+
var subAction;
|
|
142
|
+
return _regeneratorRuntime.wrap(function (_context3) {
|
|
143
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
144
|
+
case 0:
|
|
145
|
+
subAction = {
|
|
146
|
+
name: name
|
|
147
|
+
};
|
|
148
|
+
_context3.next = 1;
|
|
149
|
+
return execute(subAction);
|
|
150
|
+
case 1:
|
|
151
|
+
case "end":
|
|
152
|
+
return _context3.stop();
|
|
153
|
+
}
|
|
154
|
+
}, _callee3);
|
|
155
|
+
}));
|
|
156
|
+
function executeAction(_x3) {
|
|
157
|
+
return _executeAction2.apply(this, arguments);
|
|
158
|
+
}
|
|
159
|
+
return executeAction;
|
|
160
|
+
}()
|
|
161
|
+
});
|
|
162
|
+
case 4:
|
|
163
|
+
_context4.prev = 4;
|
|
164
|
+
setLoadingActions(function (prev) {
|
|
165
|
+
var next = new Set(prev);
|
|
166
|
+
next["delete"](resolved.name);
|
|
167
|
+
return next;
|
|
168
|
+
});
|
|
169
|
+
return _context4.finish(4);
|
|
170
|
+
case 5:
|
|
171
|
+
case "end":
|
|
172
|
+
return _context4.stop();
|
|
173
|
+
}
|
|
174
|
+
}, _callee4, null, [[3,, 4, 5]]);
|
|
175
|
+
}));
|
|
176
|
+
return function (_x) {
|
|
177
|
+
return _ref2.apply(this, arguments);
|
|
178
|
+
};
|
|
179
|
+
}(), [data, handlers, set, navigate]);
|
|
180
|
+
var confirm = useCallback(function () {
|
|
181
|
+
pendingConfirmation === null || pendingConfirmation === void 0 || pendingConfirmation.resolve();
|
|
182
|
+
}, [pendingConfirmation]);
|
|
183
|
+
var cancel = useCallback(function () {
|
|
184
|
+
pendingConfirmation === null || pendingConfirmation === void 0 || pendingConfirmation.reject();
|
|
185
|
+
}, [pendingConfirmation]);
|
|
186
|
+
var value = useMemo(function () {
|
|
187
|
+
return {
|
|
188
|
+
handlers: handlers,
|
|
189
|
+
loadingActions: loadingActions,
|
|
190
|
+
pendingConfirmation: pendingConfirmation,
|
|
191
|
+
execute: execute,
|
|
192
|
+
confirm: confirm,
|
|
193
|
+
cancel: cancel,
|
|
194
|
+
registerHandler: registerHandler
|
|
195
|
+
};
|
|
196
|
+
}, [handlers, loadingActions, pendingConfirmation, execute, confirm, cancel, registerHandler]);
|
|
197
|
+
return /* @__PURE__ */React.createElement(ActionContext.Provider, {
|
|
198
|
+
value: value
|
|
199
|
+
}, children);
|
|
200
|
+
}
|
|
201
|
+
function useActions() {
|
|
202
|
+
var ctx = useContext(ActionContext);
|
|
203
|
+
if (!ctx) {
|
|
204
|
+
throw new Error("useActions must be used within an ActionProvider");
|
|
205
|
+
}
|
|
206
|
+
return ctx;
|
|
207
|
+
}
|
|
208
|
+
function useAction(action) {
|
|
209
|
+
var _useActions = useActions(),
|
|
210
|
+
execute = _useActions.execute,
|
|
211
|
+
loadingActions = _useActions.loadingActions;
|
|
212
|
+
var isLoading = loadingActions.has(action.name);
|
|
213
|
+
var executeAction2 = useCallback(function () {
|
|
214
|
+
return execute(action);
|
|
215
|
+
}, [execute, action]);
|
|
216
|
+
return {
|
|
217
|
+
execute: executeAction2,
|
|
218
|
+
isLoading: isLoading
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
function ConfirmDialog(_ref4) {
|
|
222
|
+
var _confirm$cancelLabel, _confirm$confirmLabel;
|
|
223
|
+
var confirm = _ref4.confirm,
|
|
224
|
+
onConfirm = _ref4.onConfirm,
|
|
225
|
+
onCancel = _ref4.onCancel;
|
|
226
|
+
var isDanger = confirm.variant === "danger";
|
|
227
|
+
return /* @__PURE__ */React.createElement("div", {
|
|
228
|
+
style: {
|
|
229
|
+
position: "fixed",
|
|
230
|
+
inset: 0,
|
|
231
|
+
backgroundColor: "rgba(0, 0, 0, 0.5)",
|
|
232
|
+
display: "flex",
|
|
233
|
+
alignItems: "center",
|
|
234
|
+
justifyContent: "center",
|
|
235
|
+
zIndex: 50
|
|
236
|
+
},
|
|
237
|
+
onClick: onCancel
|
|
238
|
+
}, /* @__PURE__ */React.createElement("div", {
|
|
239
|
+
style: {
|
|
240
|
+
backgroundColor: "white",
|
|
241
|
+
borderRadius: "8px",
|
|
242
|
+
padding: "24px",
|
|
243
|
+
maxWidth: "400px",
|
|
244
|
+
width: "100%",
|
|
245
|
+
boxShadow: "0 20px 25px -5px rgba(0, 0, 0, 0.1)"
|
|
246
|
+
},
|
|
247
|
+
onClick: function onClick(e) {
|
|
248
|
+
return e.stopPropagation();
|
|
249
|
+
}
|
|
250
|
+
}, /* @__PURE__ */React.createElement("h3", {
|
|
251
|
+
style: {
|
|
252
|
+
margin: "0 0 8px 0",
|
|
253
|
+
fontSize: "18px",
|
|
254
|
+
fontWeight: 600
|
|
255
|
+
}
|
|
256
|
+
}, confirm.title), /* @__PURE__ */React.createElement("p", {
|
|
257
|
+
style: {
|
|
258
|
+
margin: "0 0 24px 0",
|
|
259
|
+
color: "#6b7280"
|
|
260
|
+
}
|
|
261
|
+
}, confirm.message), /* @__PURE__ */React.createElement("div", {
|
|
262
|
+
style: {
|
|
263
|
+
display: "flex",
|
|
264
|
+
gap: "12px",
|
|
265
|
+
justifyContent: "flex-end"
|
|
266
|
+
}
|
|
267
|
+
}, /* @__PURE__ */React.createElement("button", {
|
|
268
|
+
onClick: onCancel,
|
|
269
|
+
style: {
|
|
270
|
+
padding: "8px 16px",
|
|
271
|
+
borderRadius: "6px",
|
|
272
|
+
border: "1px solid #d1d5db",
|
|
273
|
+
backgroundColor: "white",
|
|
274
|
+
cursor: "pointer"
|
|
275
|
+
}
|
|
276
|
+
}, (_confirm$cancelLabel = confirm.cancelLabel) !== null && _confirm$cancelLabel !== void 0 ? _confirm$cancelLabel : "Cancel"), /* @__PURE__ */React.createElement("button", {
|
|
277
|
+
onClick: onConfirm,
|
|
278
|
+
style: {
|
|
279
|
+
padding: "8px 16px",
|
|
280
|
+
borderRadius: "6px",
|
|
281
|
+
border: "none",
|
|
282
|
+
backgroundColor: isDanger ? "#dc2626" : "#3b82f6",
|
|
283
|
+
color: "white",
|
|
284
|
+
cursor: "pointer"
|
|
285
|
+
}
|
|
286
|
+
}, (_confirm$confirmLabel = confirm.confirmLabel) !== null && _confirm$confirmLabel !== void 0 ? _confirm$confirmLabel : "Confirm"))));
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
export { ActionProvider, ConfirmDialog, useAction, useActions };
|
|
290
|
+
//# sourceMappingURL=actions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actions.js","sources":["../../../../../../pro-components/chat/chat-engine/components/json-render/contexts/actions.tsx"],"sourcesContent":["\"use client\";\n\nimport React, {\n createContext,\n useContext,\n useState,\n useCallback,\n useMemo,\n type ReactNode,\n} from \"react\";\nimport {\n resolveAction,\n executeAction,\n type Action,\n type ActionHandler,\n type ActionConfirm,\n type ResolvedAction,\n} from \"@json-render/core\";\nimport { useData } from \"./data\";\n\n/**\n * Pending confirmation state\n */\nexport interface PendingConfirmation {\n /** The resolved action */\n action: ResolvedAction;\n /** The action handler */\n handler: ActionHandler;\n /** Resolve callback */\n resolve: () => void;\n /** Reject callback */\n reject: () => void;\n}\n\n/**\n * Action context value\n */\nexport interface ActionContextValue {\n /** Registered action handlers */\n handlers: Record<string, ActionHandler>;\n /** Currently loading action names */\n loadingActions: Set<string>;\n /** Pending confirmation dialog */\n pendingConfirmation: PendingConfirmation | null;\n /** Execute an action */\n execute: (action: Action) => Promise<void>;\n /** Confirm the pending action */\n confirm: () => void;\n /** Cancel the pending action */\n cancel: () => void;\n /** Register an action handler */\n registerHandler: (name: string, handler: ActionHandler) => void;\n}\n\nconst ActionContext = createContext<ActionContextValue | null>(null);\n\n/**\n * Props for ActionProvider\n */\nexport interface ActionProviderProps {\n /** Initial action handlers */\n handlers?: Record<string, ActionHandler>;\n /** Navigation function */\n navigate?: (path: string) => void;\n children: ReactNode;\n}\n\n/**\n * Provider for action execution\n */\nexport function ActionProvider({\n handlers: initialHandlers = {},\n navigate,\n children,\n}: ActionProviderProps) {\n const { data, set } = useData();\n const [handlers, setHandlers] =\n useState<Record<string, ActionHandler>>(initialHandlers);\n const [loadingActions, setLoadingActions] = useState<Set<string>>(new Set());\n const [pendingConfirmation, setPendingConfirmation] =\n useState<PendingConfirmation | null>(null);\n\n const registerHandler = useCallback(\n (name: string, handler: ActionHandler) => {\n setHandlers((prev) => ({ ...prev, [name]: handler }));\n },\n [],\n );\n\n const execute = useCallback(\n async (action: Action) => {\n const resolved = resolveAction(action, data);\n const handler = handlers[resolved.name];\n\n if (!handler) {\n console.warn(`No handler registered for action: ${resolved.name}`);\n return;\n }\n\n // If confirmation is required, show dialog\n if (resolved.confirm) {\n return new Promise<void>((resolve, reject) => {\n setPendingConfirmation({\n action: resolved,\n handler,\n resolve: () => {\n setPendingConfirmation(null);\n resolve();\n },\n reject: () => {\n setPendingConfirmation(null);\n reject(new Error(\"Action cancelled\"));\n },\n });\n }).then(async () => {\n setLoadingActions((prev) => new Set(prev).add(resolved.name));\n try {\n await executeAction({\n action: resolved,\n handler,\n setData: set,\n navigate,\n executeAction: async (name) => {\n const subAction: Action = { name };\n await execute(subAction);\n },\n });\n } finally {\n setLoadingActions((prev) => {\n const next = new Set(prev);\n next.delete(resolved.name);\n return next;\n });\n }\n });\n }\n\n // Execute immediately\n setLoadingActions((prev) => new Set(prev).add(resolved.name));\n try {\n await executeAction({\n action: resolved,\n handler,\n setData: set,\n navigate,\n executeAction: async (name) => {\n const subAction: Action = { name };\n await execute(subAction);\n },\n });\n } finally {\n setLoadingActions((prev) => {\n const next = new Set(prev);\n next.delete(resolved.name);\n return next;\n });\n }\n },\n [data, handlers, set, navigate],\n );\n\n const confirm = useCallback(() => {\n pendingConfirmation?.resolve();\n }, [pendingConfirmation]);\n\n const cancel = useCallback(() => {\n pendingConfirmation?.reject();\n }, [pendingConfirmation]);\n\n const value = useMemo<ActionContextValue>(\n () => ({\n handlers,\n loadingActions,\n pendingConfirmation,\n execute,\n confirm,\n cancel,\n registerHandler,\n }),\n [\n handlers,\n loadingActions,\n pendingConfirmation,\n execute,\n confirm,\n cancel,\n registerHandler,\n ],\n );\n\n return (\n <ActionContext.Provider value={value}>{children}</ActionContext.Provider>\n );\n}\n\n/**\n * Hook to access action context\n */\nexport function useActions(): ActionContextValue {\n const ctx = useContext(ActionContext);\n if (!ctx) {\n throw new Error(\"useActions must be used within an ActionProvider\");\n }\n return ctx;\n}\n\n/**\n * Hook to execute an action\n */\nexport function useAction(action: Action): {\n execute: () => Promise<void>;\n isLoading: boolean;\n} {\n const { execute, loadingActions } = useActions();\n const isLoading = loadingActions.has(action.name);\n\n const executeAction = useCallback(() => execute(action), [execute, action]);\n\n return { execute: executeAction, isLoading };\n}\n\n/**\n * Props for ConfirmDialog component\n */\nexport interface ConfirmDialogProps {\n /** The confirmation config */\n confirm: ActionConfirm;\n /** Called when confirmed */\n onConfirm: () => void;\n /** Called when cancelled */\n onCancel: () => void;\n}\n\n/**\n * Default confirmation dialog component\n */\nexport function ConfirmDialog({\n confirm,\n onConfirm,\n onCancel,\n}: ConfirmDialogProps) {\n const isDanger = confirm.variant === \"danger\";\n\n return (\n <div\n style={{\n position: \"fixed\",\n inset: 0,\n backgroundColor: \"rgba(0, 0, 0, 0.5)\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n zIndex: 50,\n }}\n onClick={onCancel}\n >\n <div\n style={{\n backgroundColor: \"white\",\n borderRadius: \"8px\",\n padding: \"24px\",\n maxWidth: \"400px\",\n width: \"100%\",\n boxShadow: \"0 20px 25px -5px rgba(0, 0, 0, 0.1)\",\n }}\n onClick={(e) => e.stopPropagation()}\n >\n <h3\n style={{\n margin: \"0 0 8px 0\",\n fontSize: \"18px\",\n fontWeight: 600,\n }}\n >\n {confirm.title}\n </h3>\n <p\n style={{\n margin: \"0 0 24px 0\",\n color: \"#6b7280\",\n }}\n >\n {confirm.message}\n </p>\n <div\n style={{\n display: \"flex\",\n gap: \"12px\",\n justifyContent: \"flex-end\",\n }}\n >\n <button\n onClick={onCancel}\n style={{\n padding: \"8px 16px\",\n borderRadius: \"6px\",\n border: \"1px solid #d1d5db\",\n backgroundColor: \"white\",\n cursor: \"pointer\",\n }}\n >\n {confirm.cancelLabel ?? \"Cancel\"}\n </button>\n <button\n onClick={onConfirm}\n style={{\n padding: \"8px 16px\",\n borderRadius: \"6px\",\n border: \"none\",\n backgroundColor: isDanger ? \"#dc2626\" : \"#3b82f6\",\n color: \"white\",\n cursor: \"pointer\",\n }}\n >\n {confirm.confirmLabel ?? \"Confirm\"}\n </button>\n </div>\n </div>\n </div>\n );\n}\n"],"names":["ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","ActionContext","createContext","ActionProvider","_ref","_ref$handlers","handlers","initialHandlers","navigate","children","_useData","useData","data","set","_useState","useState","_useState2","_slicedToArray","setHandlers","_useState3","Set","_useState4","loadingActions","setLoadingActions","_useState5","_useState6","pendingConfirmation","setPendingConfirmation","registerHandler","useCallback","name","handler","prev","execute","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee4","action","resolved","wrap","_context4","next","resolveAction","console","warn","concat","abrupt","confirm","Promise","resolve","reject","Error","then","_callee2","_context2","add","executeAction","setData","_executeAction","_callee","subAction","_context","stop","_x2","finish","_executeAction2","_callee3","_context3","_x3","_x","cancel","value","useMemo","React","createElement","Provider","useActions","ctx","useContext","useAction","_useActions","isLoading","has","ConfirmDialog","_ref4","_confirm$cancelLabel","_confirm$confirmLabel","onConfirm","onCancel","isDanger","variant","style","position","inset","backgroundColor","display","alignItems","justifyContent","zIndex","onClick","borderRadius","padding","maxWidth","width","boxShadow","stopPropagation","margin","fontSize","fontWeight","title","color","message","gap","border","cursor","cancelLabel","confirmLabel"],"mappings":"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"}
|