@tdesign-react/chat 1.1.0-alpha.16 → 1.1.0-alpha.18
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-3e40d789.js → dep-5d7a98b7.js} +2 -2
- package/es/_chunks/{dep-3e40d789.js.map → dep-5d7a98b7.js.map} +1 -1
- package/es/_chunks/{dep-1ca64fef.js → dep-907337f3.js} +2 -2
- package/es/_chunks/{dep-93283bbd.js.map → dep-907337f3.js.map} +1 -1
- package/es/_chunks/{dep-dfe91b1f.js → dep-e1e84ed7.js} +1 -1
- package/es/_chunks/{dep-13fe70ea.js.map → dep-e1e84ed7.js.map} +1 -1
- package/es/_chunks/{dep-076af7c3.js → dep-ee7a509c.js} +3 -3
- package/es/_chunks/{dep-076af7c3.js.map → dep-ee7a509c.js.map} +1 -1
- package/es/_util/reactify.js +1 -1
- package/es/_util/useDynamicStyle.js +1 -1
- package/es/attachments/index.js +1 -1
- package/es/chat-actionbar/index.js +1 -1
- package/es/chat-engine/components/activity/index.js +2 -2
- package/es/chat-engine/components/activity/registry.js +1 -1
- package/es/chat-engine/components/activity/render.js +2 -2
- package/es/chat-engine/components/activity/types.js +1 -1
- package/es/chat-engine/components/index.js +12 -6
- package/es/chat-engine/components/index.js.map +1 -1
- package/es/chat-engine/components/json-render/catalog/atomic/button.js +1 -1
- package/es/chat-engine/components/json-render/catalog/atomic/card.js +1 -1
- package/es/chat-engine/components/json-render/catalog/atomic/input.js +12 -6
- package/es/chat-engine/components/json-render/catalog/atomic/input.js.map +1 -1
- package/es/chat-engine/components/json-render/catalog/atomic/layout.js +1 -1
- package/es/chat-engine/components/json-render/catalog/atomic/text.js +1 -1
- package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.js +1 -1
- package/es/chat-engine/components/json-render/contexts/actions.js +2 -2
- package/es/chat-engine/components/json-render/contexts/data.js +2 -2
- package/es/chat-engine/components/json-render/contexts/index.js +2 -2
- package/es/chat-engine/components/json-render/contexts/store.js +1 -1
- package/es/chat-engine/components/json-render/contexts/tree.js +1 -1
- package/es/chat-engine/components/json-render/contexts/validation.js +2 -2
- package/es/chat-engine/components/json-render/contexts/visibility.js +2 -2
- package/es/chat-engine/components/json-render/index.js +12 -6
- package/es/chat-engine/components/json-render/index.js.map +1 -1
- package/es/chat-engine/components/json-render/registry/a2ui-binding.js +12 -6
- package/es/chat-engine/components/json-render/registry/a2ui-binding.js.map +1 -1
- package/es/chat-engine/components/json-render/registry/a2ui-registry.js +12 -6
- package/es/chat-engine/components/json-render/registry/a2ui-registry.js.map +1 -1
- package/es/chat-engine/components/json-render/registry/config.js +12 -6
- package/es/chat-engine/components/json-render/registry/config.js.map +1 -1
- package/es/chat-engine/components/json-render/registry/index.js +12 -6
- package/es/chat-engine/components/json-render/registry/index.js.map +1 -1
- package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.js +11 -5
- package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.js.map +1 -1
- package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.js +3 -3
- package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.js +2 -2
- package/es/chat-engine/components/json-render/renderer/_index.js +2 -2
- package/es/chat-engine/components/json-render/types.js +1 -1
- package/es/chat-engine/components/provider/agent-state.js +10 -4
- package/es/chat-engine/components/provider/agent-state.js.map +1 -1
- package/es/chat-engine/components/shared/ComponentErrorBoundary.js +1 -1
- package/es/chat-engine/components/shared/createRegistry.js +1 -1
- package/es/chat-engine/components/shared/index.js +1 -1
- package/es/chat-engine/components/shared/useRegistrationListener.js +1 -1
- package/es/chat-engine/components/toolcall/index.js +10 -4
- 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.js +9 -3
- 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/adapters/a2ui/index.js +1 -1
- package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.js +1 -1
- package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.js +1 -1
- package/es/chat-engine/core/adapters/a2ui/processor/DataStore.js +1 -1
- package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.js +1 -1
- package/es/chat-engine/core/adapters/a2ui/types/index.js +1 -1
- package/es/chat-engine/core/adapters/a2ui/types/types.js +1 -1
- package/es/chat-engine/core/adapters/a2ui/utils/binding.js +1 -1
- package/es/chat-engine/core/adapters/a2ui/utils/index.js +1 -1
- package/es/chat-engine/core/adapters/a2ui/utils/validation.js +1 -1
- package/es/chat-engine/core/adapters/agui/ActivityManager.js +1 -1
- package/es/chat-engine/core/adapters/agui/StateManager.js +1 -1
- package/es/chat-engine/core/adapters/agui/event-mapper.js +1 -1
- package/es/chat-engine/core/adapters/agui/index.js +21 -52
- package/es/chat-engine/core/adapters/agui/index.js.map +1 -1
- package/es/chat-engine/core/adapters/agui/types/events.js +1 -1
- package/es/chat-engine/core/adapters/agui/types/index.js +1 -1
- package/es/chat-engine/core/adapters/agui/utils.d.ts +25 -2
- package/es/chat-engine/core/adapters/agui/utils.js +52 -12
- package/es/chat-engine/core/adapters/agui/utils.js.map +1 -1
- package/es/chat-engine/core/adapters/index.js +3 -1
- package/es/chat-engine/core/adapters/index.js.map +1 -1
- package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.js +1 -1
- package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.js +1 -1
- package/es/chat-engine/core/adapters/json-render/engine.js +1 -1
- package/es/chat-engine/core/adapters/json-render/index.js +1 -1
- package/es/chat-engine/core/adapters/json-render/types/a2ui.js +1 -1
- package/es/chat-engine/core/adapters/json-render/types/core.js +1 -1
- package/es/chat-engine/core/adapters/json-render/types/index.js +1 -1
- package/es/chat-engine/core/adapters/openclaw/device-key-manager.d.ts +65 -0
- package/es/chat-engine/core/adapters/openclaw/device-key-manager.js +375 -0
- package/es/chat-engine/core/adapters/openclaw/device-key-manager.js.map +1 -0
- package/es/chat-engine/core/adapters/openclaw/event-mapper.d.ts +36 -14
- package/es/chat-engine/core/adapters/openclaw/event-mapper.js +37 -21
- package/es/chat-engine/core/adapters/openclaw/event-mapper.js.map +1 -1
- package/es/chat-engine/core/adapters/openclaw/history-converter.d.ts +120 -0
- package/es/chat-engine/core/adapters/openclaw/history-converter.js +251 -0
- package/es/chat-engine/core/adapters/openclaw/history-converter.js.map +1 -0
- package/es/chat-engine/core/adapters/openclaw/index.d.ts +41 -0
- package/es/chat-engine/core/adapters/openclaw/index.js +146 -46
- package/es/chat-engine/core/adapters/openclaw/index.js.map +1 -1
- package/es/chat-engine/core/adapters/openclaw/rpc-handler.d.ts +13 -0
- package/es/chat-engine/core/adapters/openclaw/rpc-handler.js +20 -1
- package/es/chat-engine/core/adapters/openclaw/rpc-handler.js.map +1 -1
- package/es/chat-engine/core/adapters/openclaw/types/config.d.ts +17 -18
- package/es/chat-engine/core/adapters/openclaw/types/config.js +4 -2
- package/es/chat-engine/core/adapters/openclaw/types/config.js.map +1 -1
- package/es/chat-engine/core/adapters/openclaw/types/events.d.ts +5 -1
- package/es/chat-engine/core/adapters/openclaw/types/events.js +3 -1
- package/es/chat-engine/core/adapters/openclaw/types/events.js.map +1 -1
- package/es/chat-engine/core/adapters/openclaw/types/index.js +1 -1
- package/es/chat-engine/core/adapters/openclaw/types/messages.d.ts +22 -0
- package/es/chat-engine/core/adapters/openclaw/types/messages.js +1 -1
- package/es/chat-engine/core/adapters/openclaw/types/messages.js.map +1 -1
- package/es/chat-engine/core/adapters/openclaw/utils.js +1 -1
- package/es/chat-engine/core/adapters/openclaw/utils.js.map +1 -1
- package/es/chat-engine/core/adapters/shared/activity-manager.js +1 -1
- package/es/chat-engine/core/adapters/shared/content-factory.js +1 -1
- package/es/chat-engine/core/adapters/shared/index.js +1 -1
- package/es/chat-engine/core/adapters/shared/merge-utils.js +1 -1
- package/es/chat-engine/core/event-bus/ChatEventBus.js +1 -1
- package/es/chat-engine/core/event-bus/index.js +1 -1
- package/es/chat-engine/core/event-bus/types.js +1 -1
- package/es/chat-engine/core/index.d.ts +27 -25
- package/es/chat-engine/core/index.js +231 -359
- package/es/chat-engine/core/index.js.map +1 -1
- package/es/chat-engine/core/processor/index.d.ts +32 -0
- package/es/chat-engine/core/processor/index.js +76 -1
- package/es/chat-engine/core/processor/index.js.map +1 -1
- package/es/chat-engine/core/server/batch-client.js +1 -1
- package/es/chat-engine/core/server/connection-manager.js +1 -1
- package/es/chat-engine/core/server/errors.js +1 -1
- package/es/chat-engine/core/server/index.js +1 -21
- package/es/chat-engine/core/server/index.js.map +1 -1
- package/es/chat-engine/core/server/llm-service.d.ts +7 -7
- package/es/chat-engine/core/server/llm-service.js +13 -140
- package/es/chat-engine/core/server/llm-service.js.map +1 -1
- package/es/chat-engine/core/server/sse-client.js +1 -1
- package/es/chat-engine/core/server/sse-parser.js +1 -1
- package/es/chat-engine/core/server/types.js +1 -1
- package/es/chat-engine/core/server/websocket-client.d.ts +2 -0
- package/es/chat-engine/core/server/websocket-client.js +19 -3
- package/es/chat-engine/core/server/websocket-client.js.map +1 -1
- package/es/chat-engine/core/store/message.js +2 -2
- package/es/chat-engine/core/store/model.js +2 -2
- package/es/chat-engine/core/store/reactiveState.js +2 -2
- package/es/chat-engine/core/stream-handlers/agui-stream-handler.d.ts +24 -0
- package/es/chat-engine/core/stream-handlers/agui-stream-handler.js +140 -0
- package/es/chat-engine/core/stream-handlers/agui-stream-handler.js.map +1 -0
- package/es/chat-engine/core/stream-handlers/default-stream-handler.d.ts +7 -0
- package/es/chat-engine/core/stream-handlers/default-stream-handler.js +77 -0
- package/es/chat-engine/core/stream-handlers/default-stream-handler.js.map +1 -0
- package/es/chat-engine/core/stream-handlers/index.d.ts +21 -0
- package/es/chat-engine/core/stream-handlers/index.js +72 -0
- package/es/chat-engine/core/stream-handlers/index.js.map +1 -0
- package/es/chat-engine/core/stream-handlers/openclaw-stream-handler.d.ts +64 -0
- package/es/chat-engine/core/stream-handlers/openclaw-stream-handler.js +320 -0
- package/es/chat-engine/core/stream-handlers/openclaw-stream-handler.js.map +1 -0
- package/es/chat-engine/core/stream-handlers/types.d.ts +47 -0
- package/es/chat-engine/core/stream-handlers/types.js +7 -0
- package/es/chat-engine/core/stream-handlers/types.js.map +1 -0
- package/es/chat-engine/core/type.d.ts +18 -0
- package/es/chat-engine/core/type.js +1 -1
- package/es/chat-engine/core/utils/eventEmitter.js +1 -1
- package/es/chat-engine/core/utils/immutable-patch.js +1 -1
- package/es/chat-engine/core/utils/index.js +1 -1
- package/es/chat-engine/core/utils/json-patch/helpers.js +1 -1
- package/es/chat-engine/core/utils/json-patch/index.js +1 -1
- package/es/chat-engine/core/utils/logger.js +1 -1
- package/es/chat-engine/core/utils/performance.js +1 -1
- package/es/chat-engine/hooks/index.js +10 -4
- package/es/chat-engine/hooks/index.js.map +1 -1
- package/es/chat-engine/hooks/useAgentActivity.js +1 -1
- package/es/chat-engine/hooks/useAgentState.js +10 -4
- 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.js +45 -15
- package/es/chat-engine/hooks/useChat.js.map +1 -1
- package/es/chat-engine/index.js +12 -6
- package/es/chat-engine/index.js.map +1 -1
- package/es/chat-filecard/index.js +1 -1
- package/es/chat-loading/index.js +1 -1
- package/es/chat-markdown/index.js +1 -1
- package/es/chat-message/index.js +1 -1
- package/es/chat-sender/index.js +1 -1
- package/es/chat-thinking/index.js +1 -1
- package/es/chatbot/index.js +1 -1
- package/es/index.js +10 -4
- package/es/index.js.map +1 -1
- package/es/style/index.js +1 -1
- package/package.json +1 -1
- package/es/_chunks/dep-1007ac80.js +0 -205
- package/es/_chunks/dep-1007ac80.js.map +0 -1
- package/es/_chunks/dep-13fe70ea.js +0 -438
- package/es/_chunks/dep-16520c2b.js +0 -1247
- package/es/_chunks/dep-16520c2b.js.map +0 -1
- package/es/_chunks/dep-1743bd61.js +0 -438
- package/es/_chunks/dep-1743bd61.js.map +0 -1
- package/es/_chunks/dep-1ca64fef.js.map +0 -1
- package/es/_chunks/dep-24472232.js +0 -839
- package/es/_chunks/dep-24472232.js.map +0 -1
- package/es/_chunks/dep-2bfe72cb.js +0 -438
- package/es/_chunks/dep-2bfe72cb.js.map +0 -1
- package/es/_chunks/dep-3864b369.js +0 -839
- package/es/_chunks/dep-3864b369.js.map +0 -1
- package/es/_chunks/dep-4dedfbef.js +0 -438
- package/es/_chunks/dep-4dedfbef.js.map +0 -1
- package/es/_chunks/dep-56f5e08e.js +0 -448
- package/es/_chunks/dep-56f5e08e.js.map +0 -1
- package/es/_chunks/dep-58d90dfe.js +0 -438
- package/es/_chunks/dep-58d90dfe.js.map +0 -1
- package/es/_chunks/dep-5b6b17d0.js +0 -169
- package/es/_chunks/dep-5b6b17d0.js.map +0 -1
- package/es/_chunks/dep-5e2400d2.js +0 -438
- package/es/_chunks/dep-5e2400d2.js.map +0 -1
- package/es/_chunks/dep-60f2a734.js +0 -169
- package/es/_chunks/dep-60f2a734.js.map +0 -1
- package/es/_chunks/dep-688e4aaa.js +0 -438
- package/es/_chunks/dep-688e4aaa.js.map +0 -1
- package/es/_chunks/dep-771678df.js +0 -438
- package/es/_chunks/dep-771678df.js.map +0 -1
- package/es/_chunks/dep-870f0d35.js +0 -839
- package/es/_chunks/dep-870f0d35.js.map +0 -1
- package/es/_chunks/dep-93283bbd.js +0 -1247
- package/es/_chunks/dep-96eca06f.js +0 -169
- package/es/_chunks/dep-96eca06f.js.map +0 -1
- package/es/_chunks/dep-98d23dfa.js +0 -169
- package/es/_chunks/dep-98d23dfa.js.map +0 -1
- package/es/_chunks/dep-991f7c12.js +0 -1247
- package/es/_chunks/dep-991f7c12.js.map +0 -1
- package/es/_chunks/dep-b4eec30f.js +0 -1247
- package/es/_chunks/dep-b4eec30f.js.map +0 -1
- package/es/_chunks/dep-ba3bd553.js +0 -169
- package/es/_chunks/dep-ba3bd553.js.map +0 -1
- package/es/_chunks/dep-bcb234a1.js +0 -839
- package/es/_chunks/dep-bcb234a1.js.map +0 -1
- package/es/_chunks/dep-dbdfe7d6.js +0 -169
- package/es/_chunks/dep-dbdfe7d6.js.map +0 -1
- package/es/_chunks/dep-de8ac730.js +0 -1247
- package/es/_chunks/dep-de8ac730.js.map +0 -1
- package/es/_chunks/dep-dfe91b1f.js.map +0 -1
- package/es/_chunks/dep-e9dbff09.js +0 -1247
- package/es/_chunks/dep-e9dbff09.js.map +0 -1
- package/es/_chunks/dep-ebc4cf30.js +0 -1247
- package/es/_chunks/dep-ebc4cf30.js.map +0 -1
- package/es/_chunks/dep-f2051ebd.js +0 -839
- package/es/_chunks/dep-f2051ebd.js.map +0 -1
- package/es/_chunks/dep-f691a67e.js +0 -438
- package/es/_chunks/dep-f691a67e.js.map +0 -1
- package/es/_chunks/dep-f8016301.js +0 -169
- package/es/_chunks/dep-f8016301.js.map +0 -1
- package/es/chat-actionbar/_example-js/base.d.ts +0 -2
- package/es/chat-actionbar/_example-js/custom.d.ts +0 -2
- package/es/chat-actionbar/_example-js/style.d.ts +0 -2
- package/es/chat-attachments/_example-js/base.d.ts +0 -2
- package/es/chat-attachments/_example-js/scroll-x.d.ts +0 -2
- package/es/chat-attachments/_example-js/scroll-y.d.ts +0 -2
- package/es/chat-attachments/index.d.ts +0 -5
- package/es/chat-attachments/index.js +0 -26
- package/es/chat-attachments/index.js.map +0 -1
- package/es/chat-engine/_example-js/agui-basic.d.ts +0 -10
- package/es/chat-engine/_example-js/agui-comprehensive.d.ts +0 -2
- package/es/chat-engine/_example-js/agui-test.d.ts +0 -11
- package/es/chat-engine/_example-js/agui-toolcall.d.ts +0 -5
- package/es/chat-engine/_example-js/agui-videoclip.d.ts +0 -8
- package/es/chat-engine/_example-js/agui.d.ts +0 -1
- package/es/chat-engine/_example-js/basic.d.ts +0 -9
- package/es/chat-engine/_example-js/components/HotelCard.d.ts +0 -3
- package/es/chat-engine/_example-js/components/HumanInputForm.d.ts +0 -6
- package/es/chat-engine/_example-js/components/HumanInputResult.d.ts +0 -3
- package/es/chat-engine/_example-js/components/ItineraryCard.d.ts +0 -3
- package/es/chat-engine/_example-js/components/PlanningStatePanel.d.ts +0 -4
- package/es/chat-engine/_example-js/components/Toolcall.d.ts +0 -4
- package/es/chat-engine/_example-js/components/WeatherCard.d.ts +0 -3
- package/es/chat-engine/_example-js/components/login.d.ts +0 -1
- package/es/chat-engine/_example-js/comprehensive.d.ts +0 -12
- package/es/chat-engine/_example-js/custom-content.d.ts +0 -1
- package/es/chat-engine/_example-js/hookComponent.d.ts +0 -1
- package/es/chat-engine/_example-js/initial-messages.d.ts +0 -9
- package/es/chat-engine/_example-js/instance-methods.d.ts +0 -13
- package/es/chat-engine/_example-js/travel-actions.d.ts +0 -91
- package/es/chat-engine/_example-js/travelToolcall.d.ts +0 -1
- package/es/chat-engine/components/a2ui/A2UIActivityRenderer.d.ts +0 -196
- package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js +0 -301
- package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js.map +0 -1
- package/es/chat-engine/components/a2ui/A2UIComponentRenderer.d.ts +0 -37
- package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js +0 -116
- package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js.map +0 -1
- package/es/chat-engine/components/a2ui/A2UIErrorBoundary.d.ts +0 -42
- package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js +0 -113
- package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js.map +0 -1
- package/es/chat-engine/components/a2ui/A2UISkeleton.d.ts +0 -60
- package/es/chat-engine/components/a2ui/A2UISkeleton.js +0 -197
- package/es/chat-engine/components/a2ui/A2UISkeleton.js.map +0 -1
- package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.d.ts +0 -44
- package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js +0 -139
- package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js.map +0 -1
- package/es/chat-engine/components/a2ui/containers/A2UICard.d.ts +0 -22
- package/es/chat-engine/components/a2ui/containers/A2UICard.js +0 -82
- package/es/chat-engine/components/a2ui/containers/A2UICard.js.map +0 -1
- package/es/chat-engine/components/a2ui/containers/A2UIColumn.d.ts +0 -18
- package/es/chat-engine/components/a2ui/containers/A2UIColumn.js +0 -81
- package/es/chat-engine/components/a2ui/containers/A2UIColumn.js.map +0 -1
- package/es/chat-engine/components/a2ui/containers/A2UIList.d.ts +0 -14
- package/es/chat-engine/components/a2ui/containers/A2UIList.js +0 -62
- package/es/chat-engine/components/a2ui/containers/A2UIList.js.map +0 -1
- package/es/chat-engine/components/a2ui/containers/A2UIRow.d.ts +0 -20
- package/es/chat-engine/components/a2ui/containers/A2UIRow.js +0 -84
- package/es/chat-engine/components/a2ui/containers/A2UIRow.js.map +0 -1
- package/es/chat-engine/components/a2ui/containers/A2UITabs.d.ts +0 -14
- package/es/chat-engine/components/a2ui/containers/A2UITabs.js +0 -69
- package/es/chat-engine/components/a2ui/containers/A2UITabs.js.map +0 -1
- package/es/chat-engine/components/a2ui/containers/index.d.ts +0 -8
- package/es/chat-engine/components/a2ui/containers/index.js +0 -30
- package/es/chat-engine/components/a2ui/containers/index.js.map +0 -1
- package/es/chat-engine/components/a2ui/index.d.ts +0 -11
- package/es/chat-engine/components/a2ui/index.js +0 -62
- package/es/chat-engine/components/a2ui/index.js.map +0 -1
- package/es/chat-engine/components/a2ui/primitives/A2UIButton.d.ts +0 -33
- package/es/chat-engine/components/a2ui/primitives/A2UIButton.js +0 -80
- package/es/chat-engine/components/a2ui/primitives/A2UIButton.js.map +0 -1
- package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.d.ts +0 -12
- package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js +0 -43
- package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js.map +0 -1
- package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.d.ts +0 -50
- package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js +0 -54
- package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js.map +0 -1
- package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.d.ts +0 -13
- package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js +0 -89
- package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js.map +0 -1
- package/es/chat-engine/components/a2ui/primitives/A2UIDivider.d.ts +0 -12
- package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js +0 -25
- package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js.map +0 -1
- package/es/chat-engine/components/a2ui/primitives/A2UIIcon.d.ts +0 -13
- package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js +0 -138942
- package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js.map +0 -1
- package/es/chat-engine/components/a2ui/primitives/A2UIImage.d.ts +0 -12
- package/es/chat-engine/components/a2ui/primitives/A2UIImage.js +0 -75
- package/es/chat-engine/components/a2ui/primitives/A2UIImage.js.map +0 -1
- package/es/chat-engine/components/a2ui/primitives/A2UIInput.d.ts +0 -20
- package/es/chat-engine/components/a2ui/primitives/A2UIInput.js +0 -63
- package/es/chat-engine/components/a2ui/primitives/A2UIInput.js.map +0 -1
- package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.d.ts +0 -56
- package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js +0 -64
- package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js.map +0 -1
- package/es/chat-engine/components/a2ui/primitives/A2UISlider.d.ts +0 -12
- package/es/chat-engine/components/a2ui/primitives/A2UISlider.js +0 -55
- package/es/chat-engine/components/a2ui/primitives/A2UISlider.js.map +0 -1
- package/es/chat-engine/components/a2ui/primitives/A2UIText.d.ts +0 -12
- package/es/chat-engine/components/a2ui/primitives/A2UIText.js +0 -104
- package/es/chat-engine/components/a2ui/primitives/A2UIText.js.map +0 -1
- package/es/chat-engine/components/a2ui/primitives/A2UITextField.d.ts +0 -12
- package/es/chat-engine/components/a2ui/primitives/A2UITextField.js +0 -80
- package/es/chat-engine/components/a2ui/primitives/A2UITextField.js.map +0 -1
- package/es/chat-engine/components/a2ui/primitives/index.d.ts +0 -15
- package/es/chat-engine/components/a2ui/primitives/index.js +0 -39
- package/es/chat-engine/components/a2ui/primitives/index.js.map +0 -1
- package/es/chat-engine/components/a2ui/registry.d.ts +0 -35
- package/es/chat-engine/components/a2ui/registry.js +0 -74
- package/es/chat-engine/components/a2ui/registry.js.map +0 -1
- package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.d.ts +0 -36
- package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js +0 -36
- package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js.map +0 -1
- package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.d.ts +0 -46
- package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js +0 -36
- package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js.map +0 -1
- package/es/chat-engine/components/json-render/SurfaceStateManager.d.ts +0 -113
- package/es/chat-engine/components/json-render/SurfaceStateManager.js +0 -195
- package/es/chat-engine/components/json-render/SurfaceStateManager.js.map +0 -1
- package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.d.ts +0 -49
- package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js +0 -307
- package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js.map +0 -1
- package/es/chat-engine/components/json-render/adapters/a2ui-types.d.ts +0 -96
- package/es/chat-engine/components/json-render/adapters/a2ui-types.js +0 -7
- package/es/chat-engine/components/json-render/adapters/a2ui-types.js.map +0 -1
- package/es/chat-engine/components/json-render/adapters/index.d.ts +0 -7
- package/es/chat-engine/components/json-render/adapters/index.js +0 -11
- package/es/chat-engine/components/json-render/adapters/index.js.map +0 -1
- package/es/chat-engine/components/json-render/catalog/a2ui-binding.d.ts +0 -64
- package/es/chat-engine/components/json-render/catalog/a2ui-binding.js +0 -36
- package/es/chat-engine/components/json-render/catalog/a2ui-binding.js.map +0 -1
- package/es/chat-engine/components/json-render/catalog/a2ui-registry.d.ts +0 -78
- package/es/chat-engine/components/json-render/catalog/a2ui-registry.js +0 -36
- package/es/chat-engine/components/json-render/catalog/a2ui-registry.js.map +0 -1
- package/es/chat-engine/components/json-render/catalog/button.d.ts +0 -14
- package/es/chat-engine/components/json-render/catalog/button.js +0 -71
- package/es/chat-engine/components/json-render/catalog/button.js.map +0 -1
- package/es/chat-engine/components/json-render/catalog/card.d.ts +0 -11
- package/es/chat-engine/components/json-render/catalog/card.js +0 -57
- package/es/chat-engine/components/json-render/catalog/card.js.map +0 -1
- package/es/chat-engine/components/json-render/catalog/index.d.ts +0 -128
- package/es/chat-engine/components/json-render/catalog/index.js +0 -36
- package/es/chat-engine/components/json-render/catalog/index.js.map +0 -1
- package/es/chat-engine/components/json-render/catalog/input.d.ts +0 -20
- package/es/chat-engine/components/json-render/catalog/input.js +0 -36
- package/es/chat-engine/components/json-render/catalog/input.js.map +0 -1
- package/es/chat-engine/components/json-render/catalog/layout.d.ts +0 -44
- package/es/chat-engine/components/json-render/catalog/layout.js +0 -129
- package/es/chat-engine/components/json-render/catalog/layout.js.map +0 -1
- package/es/chat-engine/components/json-render/catalog/text.d.ts +0 -11
- package/es/chat-engine/components/json-render/catalog/text.js +0 -31
- package/es/chat-engine/components/json-render/catalog/text.js.map +0 -1
- package/es/chat-engine/components/json-render/catalog.d.ts +0 -614
- package/es/chat-engine/components/json-render/catalog.js +0 -779
- package/es/chat-engine/components/json-render/catalog.js.map +0 -1
- package/es/chat-engine/components/json-render/config.d.ts +0 -154
- package/es/chat-engine/components/json-render/config.js +0 -36
- package/es/chat-engine/components/json-render/config.js.map +0 -1
- package/es/chat-engine/components/json-render/engine.d.ts +0 -58
- package/es/chat-engine/components/json-render/engine.js +0 -88
- package/es/chat-engine/components/json-render/engine.js.map +0 -1
- package/es/chat-engine/components/json-render/performance.d.ts +0 -91
- package/es/chat-engine/components/json-render/performance.js +0 -135
- package/es/chat-engine/components/json-render/performance.js.map +0 -1
- package/es/chat-engine/components/json-render/renderer/index.d.ts +0 -71
- package/es/chat-engine/components/json-render/renderer/index.js +0 -125
- package/es/chat-engine/components/json-render/renderer/index.js.map +0 -1
- package/es/chat-engine/components/json-render/renderer.d.ts +0 -71
- package/es/chat-engine/components/json-render/renderer.js +0 -124
- package/es/chat-engine/components/json-render/renderer.js.map +0 -1
- package/es/chat-engine/core/a2ui/index.d.ts +0 -10
- package/es/chat-engine/core/a2ui/index.js +0 -24
- package/es/chat-engine/core/a2ui/index.js.map +0 -1
- package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.d.ts +0 -197
- package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js +0 -438
- package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js.map +0 -1
- package/es/chat-engine/core/a2ui/processor/ComponentTree.d.ts +0 -53
- package/es/chat-engine/core/a2ui/processor/ComponentTree.js +0 -158
- package/es/chat-engine/core/a2ui/processor/ComponentTree.js.map +0 -1
- package/es/chat-engine/core/a2ui/processor/DataStore.d.ts +0 -63
- package/es/chat-engine/core/a2ui/processor/DataStore.js +0 -172
- package/es/chat-engine/core/a2ui/processor/DataStore.js.map +0 -1
- package/es/chat-engine/core/a2ui/processor/PathResolver.d.ts +0 -47
- package/es/chat-engine/core/a2ui/processor/PathResolver.js +0 -99
- package/es/chat-engine/core/a2ui/processor/PathResolver.js.map +0 -1
- package/es/chat-engine/core/a2ui/types/index.d.ts +0 -4
- package/es/chat-engine/core/a2ui/types/index.js +0 -9
- package/es/chat-engine/core/a2ui/types/index.js.map +0 -1
- package/es/chat-engine/core/a2ui/types/types.d.ts +0 -770
- package/es/chat-engine/core/a2ui/types/types.js +0 -104
- package/es/chat-engine/core/a2ui/types/types.js.map +0 -1
- package/es/chat-engine/core/a2ui/utils/binding.d.ts +0 -34
- package/es/chat-engine/core/a2ui/utils/binding.js +0 -1784
- package/es/chat-engine/core/a2ui/utils/binding.js.map +0 -1
- package/es/chat-engine/core/a2ui/utils/index.d.ts +0 -5
- package/es/chat-engine/core/a2ui/utils/index.js +0 -13
- package/es/chat-engine/core/a2ui/utils/index.js.map +0 -1
- package/es/chat-engine/core/a2ui/utils/validation.d.ts +0 -70
- package/es/chat-engine/core/a2ui/utils/validation.js +0 -333
- package/es/chat-engine/core/a2ui/utils/validation.js.map +0 -1
- package/es/chat-engine/core/adapters/agui/activity-manager.d.ts +0 -102
- package/es/chat-engine/core/adapters/agui/activity-manager.js +0 -150
- package/es/chat-engine/core/adapters/agui/activity-manager.js.map +0 -1
- package/es/chat-engine/core/adapters/agui/events.d.ts +0 -1550
- package/es/chat-engine/core/adapters/agui/events.js +0 -199
- package/es/chat-engine/core/adapters/agui/events.js.map +0 -1
- package/es/chat-engine/core/adapters/agui/state-manager.d.ts +0 -99
- package/es/chat-engine/core/adapters/agui/state-manager.js +0 -174
- package/es/chat-engine/core/adapters/agui/state-manager.js.map +0 -1
- package/es/chat-engine/core/adapters/agui/types.d.ts +0 -818
- package/es/chat-engine/core/adapters/agui/types.js +0 -95
- package/es/chat-engine/core/adapters/agui/types.js.map +0 -1
- package/es/chat-engine/hooks/a2ui/A2UIContext.d.ts +0 -90
- package/es/chat-engine/hooks/a2ui/A2UIContext.js +0 -97
- package/es/chat-engine/hooks/a2ui/A2UIContext.js.map +0 -1
- package/es/chat-engine/hooks/a2ui/index.d.ts +0 -12
- package/es/chat-engine/hooks/a2ui/index.js +0 -19
- package/es/chat-engine/hooks/a2ui/index.js.map +0 -1
- package/es/chat-engine/hooks/a2ui/useA2UIAction.d.ts +0 -40
- package/es/chat-engine/hooks/a2ui/useA2UIAction.js +0 -74
- package/es/chat-engine/hooks/a2ui/useA2UIAction.js.map +0 -1
- package/es/chat-engine/hooks/a2ui/useA2UISurface.d.ts +0 -36
- package/es/chat-engine/hooks/a2ui/useA2UISurface.js +0 -39
- package/es/chat-engine/hooks/a2ui/useA2UISurface.js.map +0 -1
- package/es/chat-engine/hooks/a2ui/useDataBinding.d.ts +0 -53
- package/es/chat-engine/hooks/a2ui/useDataBinding.js +0 -111
- package/es/chat-engine/hooks/a2ui/useDataBinding.js.map +0 -1
- package/es/chat-engine/hooks/useJsonRenderActivity.d.ts +0 -56
- package/es/chat-engine/hooks/useJsonRenderActivity.js +0 -63
- package/es/chat-engine/hooks/useJsonRenderActivity.js.map +0 -1
- package/es/chat-filecard/_example-js/base.d.ts +0 -1
- package/es/chat-loading/_example-js/base.d.ts +0 -2
- package/es/chat-loading/_example-js/text.d.ts +0 -2
- package/es/chat-markdown/_example-js/base.d.ts +0 -1
- package/es/chat-markdown/_example-js/custom.d.ts +0 -2
- package/es/chat-markdown/_example-js/event.d.ts +0 -1
- package/es/chat-markdown/_example-js/footnote.d.ts +0 -2
- package/es/chat-markdown/_example-js/plugin.d.ts +0 -2
- package/es/chat-markdown/_example-js/theme.d.ts +0 -2
- package/es/chat-message/_example-js/action.d.ts +0 -1
- package/es/chat-message/_example-js/base.d.ts +0 -1
- package/es/chat-message/_example-js/configure.d.ts +0 -1
- package/es/chat-message/_example-js/content.d.ts +0 -1
- package/es/chat-message/_example-js/custom.d.ts +0 -1
- package/es/chat-message/_example-js/handle-actions.d.ts +0 -7
- package/es/chat-message/_example-js/status.d.ts +0 -1
- package/es/chat-message/_example-js/think.d.ts +0 -1
- package/es/chat-sender/_example-js/attachment.d.ts +0 -2
- package/es/chat-sender/_example-js/base.d.ts +0 -2
- package/es/chat-sender/_example-js/custom.d.ts +0 -2
- package/es/chat-thinking/_example-js/base.d.ts +0 -1
- package/es/chat-thinking/_example-js/style.d.ts +0 -1
- package/es/chatbot/_example-js/agent.d.ts +0 -1
- package/es/chatbot/_example-js/agui.d.ts +0 -13
- package/es/chatbot/_example-js/backup/travel.d.ts +0 -1
- package/es/chatbot/_example-js/basic.d.ts +0 -1
- package/es/chatbot/_example-js/code.d.ts +0 -1
- package/es/chatbot/_example-js/components/ItineraryCard.d.ts +0 -3
- package/es/chatbot/_example-js/components/login.d.ts +0 -1
- package/es/chatbot/_example-js/comprehensive.d.ts +0 -1
- package/es/chatbot/_example-js/custom-content.d.ts +0 -1
- package/es/chatbot/_example-js/custom-merge.d.ts +0 -1
- package/es/chatbot/_example-js/custom.d.ts +0 -1
- package/es/chatbot/_example-js/docs.d.ts +0 -1
- package/es/chatbot/_example-js/image.d.ts +0 -1
- package/es/chatbot/_example-js/initial-messages.d.ts +0 -9
- package/es/chatbot/_example-js/instance-methods.d.ts +0 -14
- package/es/chatbot/_example-js/nostream.d.ts +0 -1
- package/es/chatbot/_example-js/quick-start.d.ts +0 -9
- package/es/chatbot/_example-js/research.d.ts +0 -1
- package/es/chatbot/_example-js/role-message-config.d.ts +0 -22
- package/es/chatbot/_example-js/sender-config.d.ts +0 -20
- package/es/chatbot/_example-js/service-config.d.ts +0 -17
- package/es/chatbot/_example-js/simple.d.ts +0 -1
- package/es/chatbot/_example-js/utils/messageRenderer.d.ts +0 -5
- package/es/chatbot/docs/react-best-practice.d.ts +0 -13
|
@@ -1 +0,0 @@
|
|
|
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\n/**\n * 内置组件的详细 Props 文档(用于生成详细 prompt)\n */\nconst BUILTIN_COMPONENT_DOCS: Record<string, { \n description: string;\n props: Record<string, string>;\n hasChildren?: boolean;\n}> = {\n Button: {\n description: 'Button component with action support',\n props: {\n label: 'string - Button text (alternative to children)',\n children: 'string - Button text',\n variant: '\"base\" | \"outline\" | \"dashed\" | \"text\" - Button style variant',\n theme: '\"default\" | \"primary\" | \"success\" | \"warning\" | \"danger\" - Color theme',\n size: '\"small\" | \"medium\" | \"large\" - Button size',\n disabled: 'boolean - Whether button is disabled',\n loading: 'boolean - Whether to show loading state',\n block: 'boolean - Whether button should be full width',\n action: 'string | { name: string, params?: object } - Action to trigger on click',\n },\n },\n Input: {\n description: 'Input component for text entry',\n props: {\n value: 'string - Input value',\n placeholder: 'string - Placeholder text',\n type: '\"text\" | \"password\" | \"number\" - Input type',\n disabled: 'boolean - Whether input is disabled',\n clearable: 'boolean - Whether to show clear button',\n maxlength: 'number - Maximum input length',\n showLimitNumber: 'boolean - Whether to show character count',\n },\n },\n TextField: {\n description: 'Form text field with label and data binding',\n props: {\n label: 'string (required) - Field label',\n name: 'string - Form field name',\n valuePath: 'string (required) - Data binding path in data model',\n placeholder: 'string - Placeholder text',\n required: 'boolean - Whether field is required',\n type: '\"text\" | \"password\" | \"email\" | \"number\" | \"tel\" - Input type',\n disabled: 'boolean - Whether field is disabled',\n disabledPath: 'string - Data path to control disabled state dynamically',\n helperText: 'string - Helper text below the field',\n },\n },\n Text: {\n description: 'Text display component',\n props: {\n content: 'string (required) - Text content to display',\n variant: '\"body\" | \"caption\" | \"label\" - Text style variant',\n color: '\"default\" | \"primary\" | \"secondary\" | \"success\" | \"warning\" | \"error\" - Text color',\n weight: '\"normal\" | \"medium\" | \"bold\" - Font weight',\n },\n },\n Card: {\n description: 'Card container component',\n props: {\n title: 'string - Card title',\n description: 'string - Card description',\n bordered: 'boolean - Whether to show border',\n shadow: 'boolean - Whether to show shadow',\n loading: 'boolean - Whether to show loading state',\n },\n hasChildren: true,\n },\n Row: {\n description: 'Grid row layout (24-column grid system)',\n props: {\n gutter: 'number - Gap between columns in pixels',\n justify: '\"start\" | \"end\" | \"center\" | \"space-around\" | \"space-between\" - Horizontal alignment',\n align: '\"top\" | \"middle\" | \"bottom\" - Vertical alignment',\n },\n hasChildren: true,\n },\n Col: {\n description: 'Grid column layout (use inside Row)',\n props: {\n span: 'number (1-24) - Column width, out of 24 total',\n offset: 'number - Column offset from left',\n },\n hasChildren: true,\n },\n Space: {\n description: 'Space layout component for spacing children',\n props: {\n direction: '\"horizontal\" | \"vertical\" - Layout direction',\n size: '\"small\" | \"medium\" | \"large\" | number - Gap size',\n align: '\"start\" | \"center\" | \"end\" | \"baseline\" - Alignment',\n },\n hasChildren: true,\n },\n Column: {\n description: 'Vertical column layout',\n props: {\n gap: 'number - Gap between children in pixels',\n align: '\"start\" | \"center\" | \"end\" | \"stretch\" - Horizontal alignment',\n },\n hasChildren: true,\n },\n Divider: {\n description: 'Divider line',\n props: {\n layout: '\"horizontal\" | \"vertical\" - Divider direction',\n dashed: 'boolean - Whether to use dashed line',\n },\n },\n};\n\n/**\n * Prompt 模板模式\n * - 'default': 默认模板,生成标准的 JSON Schema UI\n * - 'a2ui': A2UI 模板,使用 A2UI 特定的消息格式和协议\n * - 'custom': 自定义模板,完全由 customTemplate 参数控制\n */\nexport type PromptTemplateMode = 'default' | 'a2ui' | 'custom';\n\n/**\n * 组件文档定义类型\n * props 支持两种格式:\n * 1. Record<string, string> - 人可读的 props 描述,如 { label: 'string - Button text' }\n * 2. ZodObject - Zod schema 对象,会自动转换为描述\n */\nexport interface ComponentDoc {\n description: string;\n /** Props 定义:可以是字符串描述映射,也可以是 Zod schema */\n props: Record<string, string> | z.ZodObject<any>;\n hasChildren?: boolean;\n}\n\n/**\n * 内部使用的标准化组件文档类型(props 已转为字符串)\n */\nexport interface NormalizedComponentDoc {\n description: string;\n props: Record<string, string>;\n hasChildren?: boolean;\n}\n\n/**\n * 将 Zod schema 转换为 props 描述字符串\n */\nfunction zodSchemaToPropsDoc(schema: z.ZodObject<any>): Record<string, string> {\n const result: Record<string, string> = {};\n const shape = schema.shape;\n \n for (const [key, value] of Object.entries(shape)) {\n result[key] = zodTypeToString(value as z.ZodTypeAny);\n }\n \n return result;\n}\n\n/**\n * 将 Zod 类型转换为可读字符串\n */\nfunction zodTypeToString(type: z.ZodTypeAny): string {\n // 处理 nullable\n if (type instanceof z.ZodNullable) {\n return `${zodTypeToString(type.unwrap())} (nullable)`;\n }\n \n // 处理 optional\n if (type instanceof z.ZodOptional) {\n return `${zodTypeToString(type.unwrap())} (optional)`;\n }\n \n // 处理 enum\n if (type instanceof z.ZodEnum) {\n const values = type.options as string[];\n return values.map(v => `\"${v}\"`).join(' | ');\n }\n \n // 处理 union\n if (type instanceof z.ZodUnion) {\n const options = (type as any)._def.options as z.ZodTypeAny[];\n return options.map(o => zodTypeToString(o)).join(' | ');\n }\n \n // 处理基础类型\n if (type instanceof z.ZodString) return 'string';\n if (type instanceof z.ZodNumber) return 'number';\n if (type instanceof z.ZodBoolean) return 'boolean';\n if (type instanceof z.ZodObject) return 'object';\n if (type instanceof z.ZodArray) return 'array';\n \n return 'any';\n}\n\n/**\n * 标准化组件文档(将 Zod schema 转换为字符串描述)\n */\nfunction normalizeComponentDoc(doc: ComponentDoc): NormalizedComponentDoc {\n let props: Record<string, string>;\n \n if (doc.props instanceof z.ZodObject) {\n props = zodSchemaToPropsDoc(doc.props);\n } else {\n props = doc.props;\n }\n \n return {\n description: doc.description,\n props,\n hasChildren: doc.hasChildren,\n };\n}\n\n/**\n * 自定义模板生成器函数类型\n * 接收标准化后的组件文档(props 已转为字符串描述)\n */\nexport type CustomTemplateGenerator = (context: {\n name: string;\n components: Record<string, NormalizedComponentDoc>;\n actions: Record<string, { description: string }>;\n}) => string;\n\n/**\n * 生成增强版 Catalog Prompt(包含完整 Props 文档和 Schema 示例)\n * \n * @param options - 配置选项\n * @returns 详细的 AI Prompt 字符串\n */\nexport function generateCatalogPrompt(options: {\n name?: string;\n components?: Record<string, ComponentDoc>;\n actions?: Record<string, { description: string }>;\n /** 是否包含 Schema 示例 */\n includeExample?: boolean;\n /** \n * Prompt 模板模式\n * - 'default': 标准 JSON Schema UI 模板\n * - 'a2ui': A2UI 协议模板(需服务端配合)\n * - 'custom': 使用自定义模板生成器\n */\n templateMode?: PromptTemplateMode;\n /**\n * 自定义模板生成器(仅当 templateMode='custom' 时使用)\n * 接收组件和 actions 上下文,返回完整的 prompt 字符串\n */\n customTemplate?: CustomTemplateGenerator;\n} = {}): string {\n const {\n name = 'tdesign',\n components = {},\n actions = {},\n includeExample = true,\n templateMode = 'default',\n customTemplate,\n } = options;\n\n // 合并内置组件和自定义组件,并标准化(将 Zod schema 转为字符串描述)\n const mergedComponents = { ...BUILTIN_COMPONENT_DOCS, ...components };\n const allComponents: Record<string, NormalizedComponentDoc> = {};\n for (const [key, doc] of Object.entries(mergedComponents)) {\n allComponents[key] = normalizeComponentDoc(doc);\n }\n \n // 合并内置 actions 和自定义 actions\n const builtinActions = {\n submit: { description: 'Submit form data to server' },\n reset: { description: 'Reset form to initial state' },\n cancel: { description: 'Cancel current operation' },\n };\n const allActions = { ...builtinActions, ...actions };\n\n // 自定义模板模式\n if (templateMode === 'custom' && customTemplate) {\n return customTemplate({ name, components: allComponents, actions: allActions });\n }\n\n // A2UI 模板模式 - 预留给服务端实现具体模板\n if (templateMode === 'a2ui') {\n return generateA2UIPrompt({ name, components: allComponents, actions: allActions, includeExample });\n }\n\n // 默认模板\n const lines: string[] = [\n `# ${name} UI Component Catalog`,\n '',\n 'You can generate dynamic UI using the following components and JSON schema format.',\n '',\n '## Output Format',\n '',\n 'Generate a JSON object with this structure:',\n '```json',\n '{',\n ' \"root\": \"element_id\", // ID of the root element',\n ' \"elements\": {',\n ' \"element_id\": {',\n ' \"key\": \"element_id\", // Same as the key in elements object',\n ' \"type\": \"ComponentName\", // One of the available components',\n ' \"props\": { ... }, // Component-specific props',\n ' \"children\": [\"child_id_1\", \"child_id_2\"] // Optional: IDs of child elements',\n ' }',\n ' },',\n ' \"data\": { // Optional: Initial data model for data binding',\n ' \"fieldName\": \"value\"',\n ' }',\n '}',\n '```',\n '',\n '## AG-UI ACTIVITY_DELTA Format (for Incremental Updates)',\n '',\n 'For updating existing UI, you can also generate AG-UI ACTIVITY_DELTA messages:',\n '```json',\n '{',\n ' \"type\": \"ACTIVITY_DELTA\",',\n ' \"messageId\": \"unique_message_id\",',\n ' \"activityType\": \"json-render-main-card\",',\n ' \"patch\": [',\n ' {\"op\": \"add\", \"path\": \"/elements/new-element\", \"value\": {...}},',\n ' {\"op\": \"replace\", \"path\": \"/elements/parent/children\", \"value\": [...]}',\n ' ]',\n '}',\n '```',\n '',\n '### JSON Patch Operations for ACTIVITY_DELTA',\n '',\n '**Add New Element:**',\n '```json',\n '{\"op\": \"add\", \"path\": \"/elements/new-button\", \"value\": {',\n ' \"key\": \"new-button\",',\n ' \"type\": \"Button\",',\n ' \"props\": {\"children\": \"Click Me\", \"theme\": \"primary\"}',\n '}}',\n '```',\n '',\n '**Update Element Properties:**',\n '```json',\n '{\"op\": \"replace\", \"path\": \"/elements/my-card/props/title\", \"value\": \"Updated Title\"}',\n '```',\n '',\n '**Replace Children Array:**',\n '```json',\n '{\"op\": \"replace\", \"path\": \"/elements/container/children\", \"value\": [\"child1\", \"child2\", \"new-child\"]}',\n '```',\n '',\n '**Add Child to Parent:**',\n '```json',\n '{\"op\": \"add\", \"path\": \"/elements/parent/children/-\", \"value\": \"new-child-id\"}',\n '```',\n '',\n '**Update Data Model:**',\n '```json',\n '{\"op\": \"replace\", \"path\": \"/data/user/name\", \"value\": \"John Doe\"}',\n '```',\n '',\n '**Complete ACTIVITY_DELTA Example:**',\n '```json',\n '{',\n ' \"type\": \"ACTIVITY_DELTA\",',\n ' \"messageId\": \"update_123456\",',\n ' \"activityType\": \"json-render-main-card\",',\n ' \"patch\": [',\n ' {',\n ' \"op\": \"add\",',\n ' \"path\": \"/elements/success-message\",',\n ' \"value\": {',\n ' \"key\": \"success-message\",',\n ' \"type\": \"Text\",',\n ' \"props\": {',\n ' \"content\": \"Operation completed successfully!\",',\n ' \"color\": \"success\"',\n ' }',\n ' }',\n ' },',\n ' {',\n ' \"op\": \"add\",',\n ' \"path\": \"/elements/main-container/children/-\",',\n ' \"value\": \"success-message\"',\n ' }',\n ' ]',\n '}',\n '```',\n '',\n '## JSON-Render Data Structure Details',\n '',\n 'Understanding the structure is crucial for generating valid UI:',\n '',\n '### Root Level Properties',\n '- `root`: String - ID of the root element (must exist in elements)',\n '- `elements`: Object - Contains all UI elements indexed by their IDs',\n '- `data`: Object - Optional data model for form bindings and dynamic content',\n '',\n '### Element Structure',\n 'Each element in the `elements` object has:',\n '- `key`: String - Unique identifier (should match the object key)',\n '- `type`: String - Component type name (must be from available components)',\n '- `props`: Object - Component-specific properties',\n '- `children`: Array<String> - Optional array of child element IDs',\n '',\n '### Element Hierarchy Rules',\n '1. **Root Element**: Must be specified in `root` and exist in `elements`',\n '2. **Parent-Child Relationship**: Parent elements reference children by ID in `children` array',\n '3. **Child Order**: Order in `children` array determines rendering order',\n '4. **Unique IDs**: Each element must have a unique ID across the entire structure',\n '5. **Container Components**: Only components marked with \"can have children\" support `children`',\n '',\n '### Data Binding Paths',\n 'Form components can bind to data using dot notation:',\n '- `\"valuePath\": \"user.name\"` → binds to `data.user.name`',\n '- `\"valuePath\": \"settings.theme\"` → binds to `data.settings.theme`',\n '- `\"disabledPath\": \"form.disabled\"` → controls disabled state from `data.form.disabled`',\n '',\n '### Element ID Best Practices',\n '- Use descriptive names: `\"user_name_field\"` instead of `\"field1\"`',\n '- Use consistent naming: `snake_case` or `kebab-case`',\n '- Include purpose: `\"submit_button\"`, `\"main_container\"`, `\"status_card\"`',\n '',\n '## Available Components',\n '',\n ];\n\n // 组件文档\n for (const [name, doc] of Object.entries(allComponents)) {\n lines.push(`### ${name}`);\n lines.push(doc.description);\n if (doc.hasChildren) {\n lines.push('*This component can have children.*');\n }\n lines.push('');\n lines.push('**Props:**');\n for (const [propName, propDesc] of Object.entries(doc.props)) {\n lines.push(`- \\`${propName}\\`: ${propDesc}`);\n }\n lines.push('');\n }\n\n // Actions\n lines.push('## Available Actions');\n lines.push('');\n lines.push('Actions can be triggered by Button components. Use the `action` prop:');\n lines.push('- Simple: `\"action\": \"actionName\"`');\n lines.push('- With params: `\"action\": { \"name\": \"actionName\", \"params\": { ... } }`');\n lines.push('');\n for (const [name, def] of Object.entries(allActions)) {\n lines.push(`- \\`${name}\\`: ${def.description}`);\n }\n lines.push('');\n\n // Data Binding\n lines.push('## Data Binding');\n lines.push('');\n lines.push('Use `valuePath` to bind form fields to the data model:');\n lines.push('- `\"valuePath\": \"user.name\"` binds to `data.user.name`');\n lines.push('- `\"disabledPath\": \"formDisabled\"` controls disabled state from `data.formDisabled`');\n lines.push('');\n\n // 示例\n if (includeExample) {\n lines.push('## Examples');\n lines.push('');\n \n lines.push('### 1. Simple Form Structure');\n lines.push('A basic form with validation and data binding:');\n lines.push('```json');\n lines.push(JSON.stringify({\n root: 'main_card',\n elements: {\n main_card: {\n key: 'main_card',\n type: 'Card',\n props: { title: 'User Registration', bordered: true },\n children: ['form_layout'],\n },\n form_layout: {\n key: 'form_layout',\n type: 'Column',\n props: { gap: 16 },\n children: ['name_field', 'email_field', 'button_group'],\n },\n name_field: {\n key: 'name_field',\n type: 'TextField',\n props: {\n label: 'Full Name',\n valuePath: 'user.name',\n placeholder: 'Enter your full name',\n required: true,\n },\n },\n email_field: {\n key: 'email_field',\n type: 'TextField',\n props: {\n label: 'Email Address',\n valuePath: 'user.email',\n placeholder: 'Enter your email',\n type: 'email',\n required: true,\n },\n },\n button_group: {\n key: 'button_group',\n type: 'Space',\n props: { direction: 'horizontal', size: 'medium' },\n children: ['submit_btn', 'reset_btn'],\n },\n submit_btn: {\n key: 'submit_btn',\n type: 'Button',\n props: {\n children: 'Register',\n theme: 'primary',\n action: { name: 'submit', params: { form: 'registration' } },\n },\n },\n reset_btn: {\n key: 'reset_btn',\n type: 'Button',\n props: {\n children: 'Reset',\n variant: 'outline',\n action: 'reset',\n },\n },\n },\n data: {\n user: { name: '', email: '' },\n },\n }, null, 2));\n lines.push('```');\n lines.push('');\n \n lines.push('### 2. Dashboard Layout');\n lines.push('A more complex layout with grid system and multiple components:');\n lines.push('```json');\n lines.push(JSON.stringify({\n root: 'dashboard',\n elements: {\n dashboard: {\n key: 'dashboard',\n type: 'Column',\n props: { gap: 24 },\n children: ['header', 'content_row'],\n },\n header: {\n key: 'header',\n type: 'Card',\n props: { title: 'Dashboard Overview' },\n children: ['status_text'],\n },\n status_text: {\n key: 'status_text',\n type: 'Text',\n props: {\n content: 'System is running normally',\n color: 'success',\n weight: 'medium',\n },\n },\n content_row: {\n key: 'content_row',\n type: 'Row',\n props: { gutter: 16 },\n children: ['left_col', 'right_col'],\n },\n left_col: {\n key: 'left_col',\n type: 'Col',\n props: { span: 16 },\n children: ['main_content'],\n },\n right_col: {\n key: 'right_col',\n type: 'Col',\n props: { span: 8 },\n children: ['sidebar_card'],\n },\n main_content: {\n key: 'main_content',\n type: 'Card',\n props: { title: 'Main Content', shadow: true },\n children: ['content_text'],\n },\n content_text: {\n key: 'content_text',\n type: 'Text',\n props: { content: 'This is the main content area.' },\n },\n sidebar_card: {\n key: 'sidebar_card',\n type: 'Card',\n props: { title: 'Quick Actions' },\n children: ['action_buttons'],\n },\n action_buttons: {\n key: 'action_buttons',\n type: 'Column',\n props: { gap: 8 },\n children: ['refresh_btn', 'export_btn'],\n },\n refresh_btn: {\n key: 'refresh_btn',\n type: 'Button',\n props: {\n children: 'Refresh Data',\n block: true,\n action: 'refresh',\n },\n },\n export_btn: {\n key: 'export_btn',\n type: 'Button',\n props: {\n children: 'Export Report',\n variant: 'outline',\n block: true,\n action: 'export',\n },\n },\n },\n data: {\n lastUpdated: new Date().toISOString(),\n },\n }, null, 2));\n lines.push('```');\n lines.push('');\n \n lines.push('### 3. Dynamic Content with Data Binding');\n lines.push('Form with conditional disabled states:');\n lines.push('```json');\n lines.push(JSON.stringify({\n root: 'settings_form',\n elements: {\n settings_form: {\n key: 'settings_form',\n type: 'Card',\n props: { title: 'Settings' },\n children: ['form_fields'],\n },\n form_fields: {\n key: 'form_fields',\n type: 'Column',\n props: { gap: 16 },\n children: ['enable_notifications', 'email_field', 'save_btn'],\n },\n enable_notifications: {\n key: 'enable_notifications',\n type: 'TextField',\n props: {\n label: 'Enable Notifications',\n valuePath: 'settings.notifications',\n type: 'text',\n },\n },\n email_field: {\n key: 'email_field',\n type: 'TextField',\n props: {\n label: 'Notification Email',\n valuePath: 'settings.email',\n disabledPath: 'settings.emailDisabled',\n placeholder: 'Enter email for notifications',\n },\n },\n save_btn: {\n key: 'save_btn',\n type: 'Button',\n props: {\n children: 'Save Settings',\n theme: 'primary',\n action: 'submit',\n },\n },\n },\n data: {\n settings: {\n notifications: 'enabled',\n email: '',\n emailDisabled: false,\n },\n },\n }, null, 2));\n lines.push('```');\n }\n\n return lines.join('\\n');\n}\n\n/**\n * A2UI 协议专用 Prompt 生成器\n * 生成符合 A2UI 消息格式的系统提示词\n * \n * @internal 内部函数,由 generateDetailedCatalogPrompt 调用\n */\nfunction generateA2UIPrompt(context: {\n name: string;\n components: Record<string, NormalizedComponentDoc>;\n actions: Record<string, { description: string }>;\n includeExample?: boolean;\n}): string {\n const { name, components, actions, includeExample = true } = context;\n\n const lines: string[] = [\n `# ${name} A2UI Component Catalog`,\n '',\n 'You can generate dynamic UI using A2UI protocol messages.',\n '',\n '## AG-UI ACTIVITY_DELTA Format',\n '',\n 'When generating UI updates, use the AG-UI ACTIVITY_DELTA message format:',\n '```json',\n '{',\n ' \"type\": \"ACTIVITY_DELTA\",',\n ' \"messageId\": \"unique_message_id\",',\n ' \"activityType\": \"json-render-main-card\",',\n ' \"patch\": [',\n ' {\"op\": \"add\", \"path\": \"/elements/element-id\", \"value\": {...}},',\n ' {\"op\": \"replace\", \"path\": \"/elements/parent/children\", \"value\": [...]}',\n ' ]',\n '}',\n '```',\n '',\n '## JSON Patch Operations for AG-UI ACTIVITY_DELTA',\n '',\n 'The `patch` array contains JSON Patch operations that modify the UI structure:',\n '',\n '### Add New Element',\n 'Create a new UI element in the elements object:',\n '```json',\n '{\"op\": \"add\", \"path\": \"/elements/new-element-id\", \"value\": {',\n ' \"key\": \"new-element-id\",',\n ' \"type\": \"ComponentName\",',\n ' \"props\": {...},',\n ' \"children\": [\"child1\", \"child2\"] // optional',\n '}}',\n '```',\n '',\n '### Update Element Properties',\n 'Modify specific properties of an existing element:',\n '```json',\n '{\"op\": \"replace\", \"path\": \"/elements/element-id/props/title\", \"value\": \"New Title\"}',\n '```',\n '',\n '### Replace Children Array',\n 'Update the children of a container element:',\n '```json',\n '{\"op\": \"replace\", \"path\": \"/elements/parent-id/children\", \"value\": [\"child1\", \"child2\", \"new-child\"]}',\n '```',\n '',\n '### Add Child to Parent',\n 'Append a child to the end of parent\\'s children array:',\n '```json',\n '{\"op\": \"add\", \"path\": \"/elements/parent-id/children/-\", \"value\": \"new-child-id\"}',\n '```',\n '',\n '### Remove Element',\n 'Delete an element (ensure it\\'s removed from parent\\'s children first):',\n '```json',\n '{\"op\": \"remove\", \"path\": \"/elements/element-id\"}',\n '```',\n '',\n '### Update Data Model',\n 'Modify the data model for form bindings:',\n '```json',\n '{\"op\": \"replace\", \"path\": \"/data/user/name\", \"value\": \"John Doe\"}',\n '```',\n '',\n '### Complete AG-UI ACTIVITY_DELTA Example',\n 'Adding a status card and updating container children:',\n '```json',\n '{',\n ' \"type\": \"ACTIVITY_DELTA\",',\n ' \"messageId\": \"update_1234567890\",',\n ' \"activityType\": \"json-render-main-card\",',\n ' \"patch\": [',\n ' {',\n ' \"op\": \"add\",',\n ' \"path\": \"/elements/status-card\",',\n ' \"value\": {',\n ' \"key\": \"status-card\",',\n ' \"type\": \"Card\",',\n ' \"props\": {',\n ' \"title\": \"Status Update\",',\n ' \"description\": \"Operation completed successfully\"',\n ' }',\n ' }',\n ' },',\n ' {',\n ' \"op\": \"replace\",',\n ' \"path\": \"/elements/main-container/children\",',\n ' \"value\": [\"existing-element\", \"status-card\"]',\n ' }',\n ' ]',\n '}',\n '```',\n '',\n '## A2UI Message Types (Alternative Formats)',\n '',\n 'Besides AG-UI ACTIVITY_DELTA, A2UI also supports these message types:',\n '',\n '### createSurface',\n 'Create a new UI surface with initial elements:',\n '```json',\n '{',\n ' \"type\": \"createSurface\",',\n ' \"surfaceId\": \"unique_surface_id\",',\n ' \"ui\": {',\n ' \"root\": \"element_id\",',\n ' \"elements\": { ... }',\n ' },',\n ' \"data\": { ... }',\n '}',\n '```',\n '',\n '### updateComponents',\n 'Update existing UI elements (similar to ACTIVITY_DELTA but different format):',\n '```json',\n '{',\n ' \"type\": \"updateComponents\",',\n ' \"surfaceId\": \"existing_surface_id\",',\n ' \"patch\": [',\n ' {\"op\": \"add\", \"path\": \"/elements/new-element\", \"value\": {...}}',\n ' ]',\n '}',\n '```',\n '',\n '### updateDataModel',\n 'Update data model without changing UI:',\n '```json',\n '{',\n ' \"type\": \"updateDataModel\",',\n ' \"surfaceId\": \"existing_surface_id\",',\n ' \"data\": { ... }',\n '}',\n '```',\n '',\n '### deleteSurface',\n 'Remove a UI surface:',\n '```json',\n '{',\n ' \"type\": \"deleteSurface\",',\n ' \"surfaceId\": \"surface_to_delete\"',\n '}',\n '```',\n '',\n '## Available Components',\n '',\n ];\n\n // 组件文档\n for (const [compName, doc] of Object.entries(components)) {\n lines.push(`### ${compName}`);\n lines.push(doc.description);\n if (doc.hasChildren) {\n lines.push('*This component can have children.*');\n }\n lines.push('');\n lines.push('**Props:**');\n for (const [propName, propDesc] of Object.entries(doc.props)) {\n lines.push(`- \\`${propName}\\`: ${propDesc}`);\n }\n lines.push('');\n }\n\n // Actions\n lines.push('## Available Actions');\n lines.push('');\n for (const [actionName, def] of Object.entries(actions)) {\n lines.push(`- \\`${actionName}\\`: ${def.description}`);\n }\n lines.push('');\n\n // 示例\n if (includeExample) {\n lines.push('## Examples');\n lines.push('');\n \n lines.push('### 1. Create a form surface:');\n lines.push('```json');\n lines.push(JSON.stringify({\n type: 'createSurface',\n surfaceId: 'user_form_1',\n ui: {\n root: 'form_card',\n elements: {\n form_card: {\n key: 'form_card',\n type: 'Card',\n props: { title: 'User Form' },\n children: ['name_field', 'submit_btn'],\n },\n name_field: {\n key: 'name_field',\n type: 'TextField',\n props: { label: 'Name', valuePath: 'user.name' },\n },\n submit_btn: {\n key: 'submit_btn',\n type: 'Button',\n props: { children: 'Submit', theme: 'primary', action: 'submit' },\n },\n },\n },\n data: { user: { name: '' } },\n }, null, 2));\n lines.push('```');\n lines.push('');\n \n lines.push('### 2. Update existing surface with JSON Patch:');\n lines.push('Add a status card and update the form title:');\n lines.push('```json');\n lines.push(JSON.stringify({\n type: 'updateComponents',\n surfaceId: 'user_form_1',\n patch: [\n {\n op: 'replace',\n path: '/elements/form_card/props/title',\n value: 'Updated User Form'\n },\n {\n op: 'add',\n path: '/elements/status_card',\n value: {\n key: 'status_card',\n type: 'Card',\n props: { \n title: 'Status',\n description: 'Form is ready for submission'\n }\n }\n },\n {\n op: 'add',\n path: '/elements/form_card/children/0',\n value: 'status_card'\n }\n ]\n }, null, 2));\n lines.push('```');\n lines.push('');\n \n lines.push('### 3. Update data model:');\n lines.push('```json');\n lines.push(JSON.stringify({\n type: 'updateDataModel',\n surfaceId: 'user_form_1',\n data: { \n user: { name: 'John Doe' },\n formStatus: 'ready'\n }\n }, null, 2));\n lines.push('```');\n }\n\n return lines.join('\\n');\n}\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","BUILTIN_COMPONENT_DOCS","disabledPath","zodSchemaToPropsDoc","schema","result","shape","_i","_Object$entries","Object","entries","length","_Object$entries$_i","_slicedToArray","key","zodTypeToString","ZodNullable","concat","unwrap","ZodOptional","ZodEnum","values","options","map","v","join","ZodUnion","_def","o","ZodString","ZodNumber","ZodBoolean","ZodObject","ZodArray","normalizeComponentDoc","doc","generateCatalogPrompt","arguments","undefined","_options$name","_options$components","_options$actions","_options$includeExamp","includeExample","_options$templateMode","templateMode","customTemplate","mergedComponents","allComponents","_i2","_Object$entries2","_Object$entries2$_i","builtinActions","allActions","generateA2UIPrompt","lines","_i3","_Object$entries3","_Object$entries3$_i","push","_i4","_Object$entries4","_Object$entries4$_i","propName","propDesc","_i5","_Object$entries5","_Object$entries5$_i","def","JSON","stringify","root","elements","main_card","form_layout","name_field","email_field","button_group","submit_btn","form","reset_btn","data","user","email","dashboard","header","status_text","content_row","left_col","right_col","main_content","content_text","sidebar_card","action_buttons","refresh_btn","export_btn","lastUpdated","Date","toISOString","settings_form","form_fields","enable_notifications","save_btn","settings","notifications","emailDisabled","context","_context$includeExamp","_i6","_Object$entries6","_Object$entries6$_i","compName","_i7","_Object$entries7","_Object$entries7$_i","_i8","_Object$entries8","_Object$entries8$_i","actionName","surfaceId","ui","form_card","patch","op","path","formStatus"],"mappings":"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BAAA,EACA,mBAAA,EACA,iDAAA,EACA,IAAA,EACA,KAAA,EACA,EAAA,EACA,+BAAA,EACA,oDAAA,EACA,SAAA,EACA,qFAAA,EACA,KAAA,EACA,EAAA,EACA,4BAAA,EACA,6CAAA,EACA,SAAA,EACA,uGAAA,EACA,KAAA,EACA,EAAA,EACA,yBAAA,EACA,uDAAA,EACA,SAAA,EACA,kFAAA,EACA,KAAA,EACA,EAAA,EACA,oBAAA,EACA,uEAAA,EACA,SAAA,EACA,kDAAA,EACA,KAAA,EACA,EAAA,EACA,uBAAA,EACA,0CAAA,EACA,SAAA,EACA,mEAAA,EACA,KAAA,EACA,EAAA,EACA,2CAAA,EACA,uDAAA,EACA,SAAA,EACA,GAAA,EACA,6BAAA,EACA,qCAAA,EACA,4CAAA,EACA,cAAA,EACA,OAAA,EACA,oBAAA,EACA,wCAAA,EACA,kBAAA,EACA,+BAAA,EACA,yBAAA,EACA,oBAAA,EACA,qCAAA,EACA,6DAAA,EACA,WAAA,EACA,SAAA,EACA,QAAA,EACA,OAAA,EACA,wBAAA,EACA,oDAAA,EACA,oDAAA,EACA,OAAA,EACA,KAAA,EACA,GAAA,EACA,KAAA,EACA,EAAA,EACA,6CAAA,EACA,EAAA,EACA,uEAAA,EACA,EAAA,EACA,mBAAA,EACA,gDAAA,EACA,SAAA,EACA,GAAA,EACA,4BAAA,EACA,qCAAA,EACA,WAAA,EACA,2BAAA,EACA,yBAAA,EACA,MAAA,EACA,mBAAA,EACA,GAAA,EACA,KAAA,EACA,EAAA,EACA,sBAAA,EACA,+EAAA,EACA,SAAA,EACA,GAAA,EACA,+BAAA,EACA,uCAAA,EACA,cAAA,EACA,oEAAA,EACA,KAAA,EACA,GAAA,EACA,KAAA,EACA,EAAA,EACA,qBAAA,EACA,wCAAA,EACA,SAAA,EACA,GAAA,EACA,8BAAA,EACA,uCAAA,EACA,mBAAA,EACA,GAAA,EACA,KAAA,EACA,EAAA,EACA,mBAAA,EACA,sBAAA,EACA,SAAA,EACA,GAAA,EACA,4BAAA,EACA,oCAAA,EACA,GAAA,EACA,KAAA,EACA,EAAA,EACA,yBAA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"}
|
|
@@ -1,154 +0,0 @@
|
|
|
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;
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* tdesign v1.1.0-alpha.4
|
|
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-bcb234a1.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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* json-render 引擎封装
|
|
3
|
-
* 提供高性能的增量渲染能力
|
|
4
|
-
*/
|
|
5
|
-
import type { UIElement } from '@json-render/core';
|
|
6
|
-
import type { ComponentRegistry } from './renderer';
|
|
7
|
-
import type { JsonRenderSchema, DeltaInfo } from './types';
|
|
8
|
-
/**
|
|
9
|
-
* json-render 引擎管理器
|
|
10
|
-
* 负责 Schema 缓存、增量更新和性能优化
|
|
11
|
-
*/
|
|
12
|
-
export declare class JsonRenderEngine {
|
|
13
|
-
private currentSchema;
|
|
14
|
-
private registry;
|
|
15
|
-
constructor(registry: ComponentRegistry);
|
|
16
|
-
/**
|
|
17
|
-
* 全量渲染
|
|
18
|
-
* 用于 ACTIVITY_SNAPSHOT 事件
|
|
19
|
-
*/
|
|
20
|
-
setSchema(schema: JsonRenderSchema): void;
|
|
21
|
-
/**
|
|
22
|
-
* 获取当前 Schema
|
|
23
|
-
*/
|
|
24
|
-
getSchema(): JsonRenderSchema | null;
|
|
25
|
-
/**
|
|
26
|
-
* 增量更新
|
|
27
|
-
* 用于 ACTIVITY_DELTA 事件
|
|
28
|
-
*
|
|
29
|
-
* @param newSchema 应用 JSON Patch 后的完整 Schema
|
|
30
|
-
* @param deltaInfo 增量信息(可选,用于进一步优化)
|
|
31
|
-
*/
|
|
32
|
-
patchSchema(newSchema: JsonRenderSchema, deltaInfo?: DeltaInfo): void;
|
|
33
|
-
/**
|
|
34
|
-
* 重置引擎状态
|
|
35
|
-
*/
|
|
36
|
-
reset(): void;
|
|
37
|
-
/**
|
|
38
|
-
* 获取组件注册表
|
|
39
|
-
*/
|
|
40
|
-
getRegistry(): ComponentRegistry;
|
|
41
|
-
/**
|
|
42
|
-
* 更新组件注册表
|
|
43
|
-
*/
|
|
44
|
-
updateRegistry(registry: ComponentRegistry): void;
|
|
45
|
-
/**
|
|
46
|
-
* 验证 Schema 是否有效
|
|
47
|
-
*/
|
|
48
|
-
validateSchema(schema: JsonRenderSchema): boolean;
|
|
49
|
-
/**
|
|
50
|
-
* 提取增量元素(基于 deltaInfo)
|
|
51
|
-
* 用于性能优化场景
|
|
52
|
-
*/
|
|
53
|
-
extractDeltaElements(schema: JsonRenderSchema, deltaInfo: DeltaInfo): Record<string, UIElement>;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* 创建 json-render 引擎实例
|
|
57
|
-
*/
|
|
58
|
-
export declare function createJsonRenderEngine(registry: ComponentRegistry): JsonRenderEngine;
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* tdesign v1.1.0-alpha.4
|
|
3
|
-
* (c) 2026 tdesign
|
|
4
|
-
* @license MIT
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
|
|
8
|
-
import _createClass from '@babel/runtime/helpers/createClass';
|
|
9
|
-
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
10
|
-
|
|
11
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
12
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
13
|
-
var JsonRenderEngine = /*#__PURE__*/function () {
|
|
14
|
-
function JsonRenderEngine(registry) {
|
|
15
|
-
_classCallCheck(this, JsonRenderEngine);
|
|
16
|
-
_defineProperty(this, "currentSchema", null);
|
|
17
|
-
this.registry = registry;
|
|
18
|
-
}
|
|
19
|
-
return _createClass(JsonRenderEngine, [{
|
|
20
|
-
key: "setSchema",
|
|
21
|
-
value: function setSchema(schema) {
|
|
22
|
-
this.currentSchema = schema;
|
|
23
|
-
}
|
|
24
|
-
}, {
|
|
25
|
-
key: "getSchema",
|
|
26
|
-
value: function getSchema() {
|
|
27
|
-
return this.currentSchema;
|
|
28
|
-
}
|
|
29
|
-
}, {
|
|
30
|
-
key: "patchSchema",
|
|
31
|
-
value: function patchSchema(newSchema, deltaInfo) {
|
|
32
|
-
if (!this.currentSchema) {
|
|
33
|
-
this.currentSchema = newSchema;
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
this.currentSchema = newSchema;
|
|
37
|
-
if (deltaInfo) {
|
|
38
|
-
console.debug("[json-render] \u589E\u91CF\u66F4\u65B0\u8303\u56F4:", deltaInfo);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}, {
|
|
42
|
-
key: "reset",
|
|
43
|
-
value: function reset() {
|
|
44
|
-
this.currentSchema = null;
|
|
45
|
-
}
|
|
46
|
-
}, {
|
|
47
|
-
key: "getRegistry",
|
|
48
|
-
value: function getRegistry() {
|
|
49
|
-
return this.registry;
|
|
50
|
-
}
|
|
51
|
-
}, {
|
|
52
|
-
key: "updateRegistry",
|
|
53
|
-
value: function updateRegistry(registry) {
|
|
54
|
-
this.registry = _objectSpread(_objectSpread({}, this.registry), registry);
|
|
55
|
-
}
|
|
56
|
-
}, {
|
|
57
|
-
key: "validateSchema",
|
|
58
|
-
value: function validateSchema(schema) {
|
|
59
|
-
if (!schema || !schema.root || !schema.elements) {
|
|
60
|
-
console.error("[json-render] Schema \u9A8C\u8BC1\u5931\u8D25\uFF1A\u7F3A\u5C11 root \u6216 elements");
|
|
61
|
-
return false;
|
|
62
|
-
}
|
|
63
|
-
var rootElement = schema.elements[schema.root];
|
|
64
|
-
if (!rootElement) {
|
|
65
|
-
console.error("[json-render] Schema \u9A8C\u8BC1\u5931\u8D25\uFF1Aroot \u5143\u7D20\u4E0D\u5B58\u5728");
|
|
66
|
-
return false;
|
|
67
|
-
}
|
|
68
|
-
return true;
|
|
69
|
-
}
|
|
70
|
-
}, {
|
|
71
|
-
key: "extractDeltaElements",
|
|
72
|
-
value: function extractDeltaElements(schema, deltaInfo) {
|
|
73
|
-
var elementKeys = Object.keys(schema.elements);
|
|
74
|
-
var deltaKeys = elementKeys.slice(deltaInfo.fromIndex, deltaInfo.toIndex);
|
|
75
|
-
var deltaElements = {};
|
|
76
|
-
deltaKeys.forEach(function (key) {
|
|
77
|
-
deltaElements[key] = schema.elements[key];
|
|
78
|
-
});
|
|
79
|
-
return deltaElements;
|
|
80
|
-
}
|
|
81
|
-
}]);
|
|
82
|
-
}();
|
|
83
|
-
function createJsonRenderEngine(registry) {
|
|
84
|
-
return new JsonRenderEngine(registry);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
export { JsonRenderEngine, createJsonRenderEngine };
|
|
88
|
-
//# sourceMappingURL=engine.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sources":["../../../../../pro-components/chat/chat-engine/components/json-render/engine.ts"],"sourcesContent":["/**\n * json-render 引擎封装\n * 提供高性能的增量渲染能力\n */\n\nimport type { UIElement } from '@json-render/core';\nimport type { ComponentRegistry } from './renderer';\nimport type { JsonRenderSchema, DeltaInfo } from './types';\n\n/**\n * json-render 引擎管理器\n * 负责 Schema 缓存、增量更新和性能优化\n */\nexport class JsonRenderEngine {\n private currentSchema: JsonRenderSchema | null = null;\n private registry: ComponentRegistry;\n\n constructor(registry: ComponentRegistry) {\n this.registry = registry;\n }\n\n /**\n * 全量渲染\n * 用于 ACTIVITY_SNAPSHOT 事件\n */\n setSchema(schema: JsonRenderSchema): void {\n this.currentSchema = schema;\n }\n\n /**\n * 获取当前 Schema\n */\n getSchema(): JsonRenderSchema | null {\n return this.currentSchema;\n }\n\n /**\n * 增量更新\n * 用于 ACTIVITY_DELTA 事件\n * \n * @param newSchema 应用 JSON Patch 后的完整 Schema\n * @param deltaInfo 增量信息(可选,用于进一步优化)\n */\n patchSchema(newSchema: JsonRenderSchema, deltaInfo?: DeltaInfo): void {\n if (!this.currentSchema) {\n // 如果没有初始 Schema,直接设置\n this.currentSchema = newSchema;\n return;\n }\n\n // 更新 Schema(json-render 的 Renderer 会自动处理 diff)\n this.currentSchema = newSchema;\n\n // 如果有 deltaInfo,可以在这里做进一步优化\n if (deltaInfo) {\n console.debug('[json-render] 增量更新范围:', deltaInfo);\n // 未来可以基于 deltaInfo 实现更细粒度的优化\n }\n }\n\n /**\n * 重置引擎状态\n */\n reset(): void {\n this.currentSchema = null;\n }\n\n /**\n * 获取组件注册表\n */\n getRegistry(): ComponentRegistry {\n return this.registry;\n }\n\n /**\n * 更新组件注册表\n */\n updateRegistry(registry: ComponentRegistry): void {\n this.registry = { ...this.registry, ...registry };\n }\n\n /**\n * 验证 Schema 是否有效\n */\n validateSchema(schema: JsonRenderSchema): boolean {\n if (!schema || !schema.root || !schema.elements) {\n console.error('[json-render] Schema 验证失败:缺少 root 或 elements');\n return false;\n }\n\n const rootElement = schema.elements[schema.root];\n if (!rootElement) {\n console.error('[json-render] Schema 验证失败:root 元素不存在');\n return false;\n }\n\n return true;\n }\n\n /**\n * 提取增量元素(基于 deltaInfo)\n * 用于性能优化场景\n */\n extractDeltaElements(schema: JsonRenderSchema, deltaInfo: DeltaInfo): Record<string, UIElement> {\n const elementKeys = Object.keys(schema.elements);\n const deltaKeys = elementKeys.slice(deltaInfo.fromIndex, deltaInfo.toIndex);\n \n const deltaElements: Record<string, UIElement> = {};\n deltaKeys.forEach((key) => {\n deltaElements[key] = schema.elements[key];\n });\n \n return deltaElements;\n }\n}\n\n/**\n * 创建 json-render 引擎实例\n */\nexport function createJsonRenderEngine(registry: ComponentRegistry): JsonRenderEngine {\n return new JsonRenderEngine(registry);\n}\n"],"names":["JsonRenderEngine","registry","_classCallCheck","_defineProperty","_createClass","key","value","setSchema","schema","currentSchema","getSchema","patchSchema","newSchema","deltaInfo","console","debug","reset","getRegistry","updateRegistry","validateSchema","root","elements","error","rootElement","extractDeltaElements","elementKeys","Object","keys","deltaKeys","slice","fromIndex","toIndex","deltaElements","forEach","createJsonRenderEngine"],"mappings":"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"}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* json-render 性能监控和优化工具
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* 性能指标
|
|
6
|
-
*/
|
|
7
|
-
export interface PerformanceMetrics {
|
|
8
|
-
/** 渲染类型 */
|
|
9
|
-
type: 'snapshot' | 'delta';
|
|
10
|
-
/** 渲染开始时间 */
|
|
11
|
-
startTime: number;
|
|
12
|
-
/** 渲染结束时间 */
|
|
13
|
-
endTime: number;
|
|
14
|
-
/** 渲染耗时(ms) */
|
|
15
|
-
duration: number;
|
|
16
|
-
/** Schema 元素数量 */
|
|
17
|
-
elementCount: number;
|
|
18
|
-
/** 增量信息(仅 delta 类型) */
|
|
19
|
-
deltaInfo?: {
|
|
20
|
-
fromIndex: number;
|
|
21
|
-
toIndex: number;
|
|
22
|
-
newElementsCount: number;
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* 性能监控器
|
|
27
|
-
*/
|
|
28
|
-
export declare class PerformanceMonitor {
|
|
29
|
-
private metrics;
|
|
30
|
-
private maxMetricsCount;
|
|
31
|
-
/**
|
|
32
|
-
* 开始性能测量
|
|
33
|
-
*/
|
|
34
|
-
start(): () => PerformanceMetrics;
|
|
35
|
-
/**
|
|
36
|
-
* 添加性能指标
|
|
37
|
-
*/
|
|
38
|
-
private addMetric;
|
|
39
|
-
/**
|
|
40
|
-
* 获取所有指标
|
|
41
|
-
*/
|
|
42
|
-
getMetrics(): PerformanceMetrics[];
|
|
43
|
-
/**
|
|
44
|
-
* 获取平均渲染时间
|
|
45
|
-
*/
|
|
46
|
-
getAverageDuration(type?: 'snapshot' | 'delta'): number;
|
|
47
|
-
/**
|
|
48
|
-
* 获取最近 N 次渲染的平均时间
|
|
49
|
-
*/
|
|
50
|
-
getRecentAverageDuration(count?: number): number;
|
|
51
|
-
/**
|
|
52
|
-
* 获取性能统计摘要
|
|
53
|
-
*/
|
|
54
|
-
getSummary(): {
|
|
55
|
-
totalRenders: number;
|
|
56
|
-
snapshotRenders: number;
|
|
57
|
-
deltaRenders: number;
|
|
58
|
-
avgSnapshotDuration: number;
|
|
59
|
-
avgDeltaDuration: number;
|
|
60
|
-
recentAvgDuration: number;
|
|
61
|
-
};
|
|
62
|
-
/**
|
|
63
|
-
* 重置所有指标
|
|
64
|
-
*/
|
|
65
|
-
reset(): void;
|
|
66
|
-
/**
|
|
67
|
-
* 打印性能摘要
|
|
68
|
-
*/
|
|
69
|
-
printSummary(): void;
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* 全局性能监控实例
|
|
73
|
-
*/
|
|
74
|
-
export declare const globalPerformanceMonitor: PerformanceMonitor;
|
|
75
|
-
/**
|
|
76
|
-
* 性能警告阈值(ms)
|
|
77
|
-
*/
|
|
78
|
-
export declare const PERFORMANCE_THRESHOLDS: {
|
|
79
|
-
snapshot: number;
|
|
80
|
-
delta: number;
|
|
81
|
-
};
|
|
82
|
-
/**
|
|
83
|
-
* 检查性能并发出警告
|
|
84
|
-
*/
|
|
85
|
-
export declare function checkPerformance(metric: PerformanceMetrics): void;
|
|
86
|
-
declare const _default: {
|
|
87
|
-
PerformanceMonitor: typeof PerformanceMonitor;
|
|
88
|
-
globalPerformanceMonitor: PerformanceMonitor;
|
|
89
|
-
checkPerformance: typeof checkPerformance;
|
|
90
|
-
};
|
|
91
|
-
export default _default;
|