@tdesign-react/chat 1.0.2-alpha.5 → 1.0.2-alpha.7

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.
Files changed (136) hide show
  1. package/es/_util/reactify.d.ts +2 -1
  2. package/es/_util/reactify.js +231 -81
  3. package/es/_util/reactify.js.map +1 -1
  4. package/es/_util/useDynamicStyle.js +1 -1
  5. package/es/attachments/index.js +6 -4
  6. package/es/attachments/index.js.map +1 -1
  7. package/es/chat-actionbar/index.js +6 -4
  8. package/es/chat-actionbar/index.js.map +1 -1
  9. package/es/chat-attachments/index.js +1 -3
  10. package/es/chat-attachments/index.js.map +1 -1
  11. package/es/chat-engine/components/provider/agent-state.js +1 -1
  12. package/es/chat-engine/components/toolcall/index.js +1 -1
  13. package/es/chat-engine/components/toolcall/registry.js +1 -1
  14. package/es/chat-engine/components/toolcall/render.js +12 -12
  15. package/es/chat-engine/components/toolcall/render.js.map +1 -1
  16. package/es/chat-engine/components/toolcall/types.js +1 -1
  17. package/es/chat-engine/hooks/useAgentState.js +1 -1
  18. package/es/chat-engine/hooks/useAgentToolcall.js +1 -1
  19. package/es/chat-engine/hooks/useChat.js +1 -1
  20. package/es/chat-engine/index.js +1 -1
  21. package/es/chat-filecard/index.js +6 -4
  22. package/es/chat-filecard/index.js.map +1 -1
  23. package/es/chat-loading/index.js +6 -4
  24. package/es/chat-loading/index.js.map +1 -1
  25. package/es/chat-markdown/index.js +6 -4
  26. package/es/chat-markdown/index.js.map +1 -1
  27. package/es/chat-message/index.js +6 -4
  28. package/es/chat-message/index.js.map +1 -1
  29. package/es/chat-sender/index.js +6 -4
  30. package/es/chat-sender/index.js.map +1 -1
  31. package/es/chat-thinking/index.js +6 -4
  32. package/es/chat-thinking/index.js.map +1 -1
  33. package/es/chatbot/components/provider/agent-state.d.ts +5 -0
  34. package/es/chatbot/components/provider/agent-state.js +28 -0
  35. package/es/chatbot/components/provider/agent-state.js.map +1 -0
  36. package/es/chatbot/components/toolcall/index.d.ts +3 -0
  37. package/es/chatbot/components/toolcall/index.js +19 -0
  38. package/es/chatbot/components/toolcall/index.js.map +1 -0
  39. package/es/chatbot/components/toolcall/registry.d.ts +35 -0
  40. package/es/chatbot/components/toolcall/registry.js +75 -0
  41. package/es/chatbot/components/toolcall/registry.js.map +1 -0
  42. package/es/chatbot/components/toolcall/render.d.ts +13 -0
  43. package/es/chatbot/components/toolcall/render.js +207 -0
  44. package/es/chatbot/components/toolcall/render.js.map +1 -0
  45. package/es/chatbot/components/toolcall/types.d.ts +57 -0
  46. package/es/chatbot/components/toolcall/types.js +15 -0
  47. package/es/chatbot/components/toolcall/types.js.map +1 -0
  48. package/es/chatbot/hooks/useAgentState.d.ts +40 -0
  49. package/es/chatbot/hooks/useAgentState.js +76 -0
  50. package/es/chatbot/hooks/useAgentState.js.map +1 -0
  51. package/es/chatbot/hooks/useAgentToolcall.d.ts +28 -0
  52. package/es/chatbot/hooks/useAgentToolcall.js +78 -0
  53. package/es/chatbot/hooks/useAgentToolcall.js.map +1 -0
  54. package/es/chatbot/hooks/useChat.d.ts +11 -0
  55. package/es/chatbot/hooks/useChat.js +66 -0
  56. package/es/chatbot/hooks/useChat.js.map +1 -0
  57. package/es/chatbot/index.js +6 -4
  58. package/es/chatbot/index.js.map +1 -1
  59. package/es/index.js +6 -5
  60. package/es/index.js.map +1 -1
  61. package/es/style/index.js +1 -1
  62. package/package.json +2 -2
  63. package/es/chat-actionbar/_example-js/base.d.ts +0 -2
  64. package/es/chat-actionbar/_example-js/custom.d.ts +0 -2
  65. package/es/chat-actionbar/_example-js/style.d.ts +0 -2
  66. package/es/chat-attachments/_example-js/base.d.ts +0 -2
  67. package/es/chat-attachments/_example-js/scroll-x.d.ts +0 -2
  68. package/es/chat-attachments/_example-js/scroll-y.d.ts +0 -2
  69. package/es/chat-engine/_example-js/agui-basic.d.ts +0 -10
  70. package/es/chat-engine/_example-js/agui-comprehensive.d.ts +0 -2
  71. package/es/chat-engine/_example-js/agui-test.d.ts +0 -11
  72. package/es/chat-engine/_example-js/agui-toolcall.d.ts +0 -5
  73. package/es/chat-engine/_example-js/agui-videoclip.d.ts +0 -8
  74. package/es/chat-engine/_example-js/agui.d.ts +0 -1
  75. package/es/chat-engine/_example-js/basic.d.ts +0 -9
  76. package/es/chat-engine/_example-js/components/HotelCard.d.ts +0 -3
  77. package/es/chat-engine/_example-js/components/HumanInputForm.d.ts +0 -6
  78. package/es/chat-engine/_example-js/components/HumanInputResult.d.ts +0 -3
  79. package/es/chat-engine/_example-js/components/ItineraryCard.d.ts +0 -3
  80. package/es/chat-engine/_example-js/components/PlanningStatePanel.d.ts +0 -4
  81. package/es/chat-engine/_example-js/components/Toolcall.d.ts +0 -4
  82. package/es/chat-engine/_example-js/components/WeatherCard.d.ts +0 -3
  83. package/es/chat-engine/_example-js/components/login.d.ts +0 -1
  84. package/es/chat-engine/_example-js/comprehensive.d.ts +0 -12
  85. package/es/chat-engine/_example-js/custom-content.d.ts +0 -1
  86. package/es/chat-engine/_example-js/hookComponent.d.ts +0 -1
  87. package/es/chat-engine/_example-js/initial-messages.d.ts +0 -9
  88. package/es/chat-engine/_example-js/instance-methods.d.ts +0 -13
  89. package/es/chat-engine/_example-js/travel-actions.d.ts +0 -91
  90. package/es/chat-engine/_example-js/travelToolcall.d.ts +0 -1
  91. package/es/chat-filecard/_example-js/base.d.ts +0 -1
  92. package/es/chat-loading/_example-js/base.d.ts +0 -2
  93. package/es/chat-loading/_example-js/text.d.ts +0 -2
  94. package/es/chat-markdown/_example-js/base.d.ts +0 -1
  95. package/es/chat-markdown/_example-js/custom.d.ts +0 -2
  96. package/es/chat-markdown/_example-js/event.d.ts +0 -1
  97. package/es/chat-markdown/_example-js/footnote.d.ts +0 -2
  98. package/es/chat-markdown/_example-js/plugin.d.ts +0 -2
  99. package/es/chat-markdown/_example-js/theme.d.ts +0 -2
  100. package/es/chat-message/_example-js/action.d.ts +0 -1
  101. package/es/chat-message/_example-js/base.d.ts +0 -1
  102. package/es/chat-message/_example-js/configure.d.ts +0 -1
  103. package/es/chat-message/_example-js/content.d.ts +0 -1
  104. package/es/chat-message/_example-js/custom.d.ts +0 -1
  105. package/es/chat-message/_example-js/handle-actions.d.ts +0 -7
  106. package/es/chat-message/_example-js/status.d.ts +0 -1
  107. package/es/chat-message/_example-js/think.d.ts +0 -1
  108. package/es/chat-sender/_example-js/attachment.d.ts +0 -2
  109. package/es/chat-sender/_example-js/base.d.ts +0 -2
  110. package/es/chat-sender/_example-js/custom.d.ts +0 -2
  111. package/es/chat-thinking/_example-js/base.d.ts +0 -1
  112. package/es/chat-thinking/_example-js/style.d.ts +0 -1
  113. package/es/chatbot/_example-js/agent.d.ts +0 -1
  114. package/es/chatbot/_example-js/agui-toolcall.d.ts +0 -11
  115. package/es/chatbot/_example-js/agui.d.ts +0 -13
  116. package/es/chatbot/_example-js/backup/travel.d.ts +0 -1
  117. package/es/chatbot/_example-js/basic.d.ts +0 -1
  118. package/es/chatbot/_example-js/code.d.ts +0 -1
  119. package/es/chatbot/_example-js/components/ItineraryCard.d.ts +0 -3
  120. package/es/chatbot/_example-js/components/login.d.ts +0 -1
  121. package/es/chatbot/_example-js/comprehensive.d.ts +0 -1
  122. package/es/chatbot/_example-js/custom-content.d.ts +0 -1
  123. package/es/chatbot/_example-js/custom-merge.d.ts +0 -1
  124. package/es/chatbot/_example-js/custom.d.ts +0 -1
  125. package/es/chatbot/_example-js/docs.d.ts +0 -1
  126. package/es/chatbot/_example-js/image.d.ts +0 -1
  127. package/es/chatbot/_example-js/initial-messages.d.ts +0 -9
  128. package/es/chatbot/_example-js/instance-methods.d.ts +0 -14
  129. package/es/chatbot/_example-js/nostream.d.ts +0 -1
  130. package/es/chatbot/_example-js/quick-start.d.ts +0 -9
  131. package/es/chatbot/_example-js/research.d.ts +0 -1
  132. package/es/chatbot/_example-js/role-message-config.d.ts +0 -22
  133. package/es/chatbot/_example-js/sender-config.d.ts +0 -20
  134. package/es/chatbot/_example-js/service-config.d.ts +0 -17
  135. package/es/chatbot/_example-js/simple.d.ts +0 -1
  136. package/es/chatbot/_example-js/utils/messageRenderer.d.ts +0 -5
@@ -0,0 +1,78 @@
1
+ /**
2
+ * tdesign v1.0.0-beta.4
3
+ * (c) 2025 tdesign
4
+ * @license MIT
5
+ */
6
+
7
+ import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
8
+ import { useRef, useCallback, useEffect } from 'react';
9
+ import { agentToolcallRegistry } from '../components/toolcall/registry.js';
10
+ import '@babel/runtime/helpers/classCallCheck';
11
+ import '@babel/runtime/helpers/createClass';
12
+ import '@babel/runtime/helpers/defineProperty';
13
+
14
+ function useAgentToolcall(config) {
15
+ var registeredNamesRef = useRef(/* @__PURE__ */new Set());
16
+ var autoRegisteredNamesRef = useRef(/* @__PURE__ */new Set());
17
+ var configRef = useRef(config);
18
+ var register = useCallback(function (newConfig) {
19
+ if (!newConfig) {
20
+ console.warn("[useAgentToolcall] \u914D\u7F6E\u4E3A\u7A7A\uFF0C\u8DF3\u8FC7\u6CE8\u518C");
21
+ return;
22
+ }
23
+ var configs = Array.isArray(newConfig) ? newConfig : [newConfig];
24
+ configs.forEach(function (cfg) {
25
+ if (agentToolcallRegistry.get(cfg.name)) {
26
+ console.warn("[useAgentToolcall] \u914D\u7F6E\u540D\u79F0 \"".concat(cfg.name, "\" \u5DF2\u5B58\u5728\u4E8E\u6CE8\u518C\u8868\u4E2D\uFF0C\u5C06\u88AB\u8986\u76D6"));
27
+ }
28
+ agentToolcallRegistry.register(cfg);
29
+ registeredNamesRef.current.add(cfg.name);
30
+ });
31
+ }, []);
32
+ var unregister = useCallback(function (names) {
33
+ var nameArray = Array.isArray(names) ? names : [names];
34
+ nameArray.forEach(function (name) {
35
+ agentToolcallRegistry.unregister(name);
36
+ registeredNamesRef.current["delete"](name);
37
+ autoRegisteredNamesRef.current["delete"](name);
38
+ });
39
+ }, []);
40
+ var isRegistered = useCallback(function (name) {
41
+ return registeredNamesRef.current.has(name) || autoRegisteredNamesRef.current.has(name);
42
+ }, []);
43
+ var getRegistered = useCallback(function () {
44
+ return Array.from(/* @__PURE__ */new Set([].concat(_toConsumableArray(registeredNamesRef.current), _toConsumableArray(autoRegisteredNamesRef.current))));
45
+ }, []);
46
+ useEffect(function () {
47
+ if (!config) {
48
+ return;
49
+ }
50
+ var configs = Array.isArray(config) ? config : [config];
51
+ configs.forEach(function (cfg) {
52
+ if (agentToolcallRegistry.get(cfg.name)) {
53
+ console.warn("[useAgentToolcall] \u914D\u7F6E\u540D\u79F0 \"".concat(cfg.name, "\" \u5DF2\u5B58\u5728\u4E8E\u6CE8\u518C\u8868\u4E2D\uFF0C\u5C06\u88AB\u8986\u76D6"));
54
+ }
55
+ agentToolcallRegistry.register(cfg);
56
+ autoRegisteredNamesRef.current.add(cfg.name);
57
+ });
58
+ return function () {
59
+ configs.forEach(function (cfg) {
60
+ agentToolcallRegistry.unregister(cfg.name);
61
+ autoRegisteredNamesRef.current["delete"](cfg.name);
62
+ });
63
+ };
64
+ }, [config]);
65
+ useEffect(function () {
66
+ configRef.current = config;
67
+ }, [config]);
68
+ return {
69
+ register: register,
70
+ unregister: unregister,
71
+ isRegistered: isRegistered,
72
+ getRegistered: getRegistered,
73
+ config: configRef.current
74
+ };
75
+ }
76
+
77
+ export { useAgentToolcall };
78
+ //# sourceMappingURL=useAgentToolcall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAgentToolcall.js","sources":["../../../../pro-components/chat/chatbot/hooks/useAgentToolcall.ts"],"sourcesContent":["import { useCallback, useRef, useEffect } from 'react';\nimport type { AgentToolcallConfig, ToolcallComponentProps } from '../components/toolcall/types';\nimport { agentToolcallRegistry } from '../components/toolcall/registry';\n\nexport interface UseAgentToolcallReturn {\n register: (config: AgentToolcallConfig | AgentToolcallConfig[]) => void;\n unregister: (names: string | string[]) => void;\n isRegistered: (name: string) => boolean;\n getRegistered: () => string[];\n config: any;\n}\n\n/**\n * 统一的、智能的 Agent Toolcall 适配器 Hook,\n * 注册管理:负责工具配置的注册、取消注册、状态跟踪;生命周期管理:自动清理、防止内存泄漏\n * 支持两种使用模式:\n * 1. 自动注册模式:传入配置,自动注册和清理\n * 2. 手动注册模式:不传配置或传入null,返回注册方法由业务控制\n */\nexport function useAgentToolcall<TArgs extends object = any, TResult = any, TResponse = any>(\n config?:\n | AgentToolcallConfig<TArgs, TResult, TResponse>\n | AgentToolcallConfig<TArgs, TResult, TResponse>[]\n | null\n | undefined,\n): UseAgentToolcallReturn {\n const registeredNamesRef = useRef<Set<string>>(new Set());\n const autoRegisteredNamesRef = useRef<Set<string>>(new Set());\n const configRef = useRef(config);\n\n // 手动注册方法\n const register = useCallback((newConfig: AgentToolcallConfig | AgentToolcallConfig[]) => {\n if (!newConfig) {\n console.warn('[useAgentToolcall] 配置为空,跳过注册');\n return;\n }\n\n const configs = Array.isArray(newConfig) ? newConfig : [newConfig];\n\n configs.forEach((cfg) => {\n if (agentToolcallRegistry.get(cfg.name)) {\n console.warn(`[useAgentToolcall] 配置名称 \"${cfg.name}\" 已存在于注册表中,将被覆盖`);\n }\n\n agentToolcallRegistry.register(cfg);\n registeredNamesRef.current.add(cfg.name);\n });\n }, []);\n\n // 手动取消注册方法\n const unregister = useCallback((names: string | string[]) => {\n const nameArray = Array.isArray(names) ? names : [names];\n\n nameArray.forEach((name) => {\n agentToolcallRegistry.unregister(name);\n registeredNamesRef.current.delete(name);\n autoRegisteredNamesRef.current.delete(name);\n });\n }, []);\n\n // 检查是否已注册\n const isRegistered = useCallback(\n (name: string) => registeredNamesRef.current.has(name) || autoRegisteredNamesRef.current.has(name),\n [],\n );\n\n // 获取所有已注册的配置名称\n const getRegistered = useCallback(\n () => Array.from(new Set([...registeredNamesRef.current, ...autoRegisteredNamesRef.current])),\n [],\n );\n\n // 自动注册逻辑(当传入配置时)\n useEffect(() => {\n if (!config) {\n return;\n }\n\n const configs = Array.isArray(config) ? config : [config];\n configs.forEach((cfg) => {\n if (agentToolcallRegistry.get(cfg.name)) {\n console.warn(`[useAgentToolcall] 配置名称 \"${cfg.name}\" 已存在于注册表中,将被覆盖`);\n }\n\n agentToolcallRegistry.register(cfg);\n autoRegisteredNamesRef.current.add(cfg.name);\n });\n\n // 清理函数:取消注册自动注册的配置\n return () => {\n configs.forEach((cfg) => {\n agentToolcallRegistry.unregister(cfg.name);\n autoRegisteredNamesRef.current.delete(cfg.name);\n });\n };\n }, [config]);\n\n // 更新配置引用\n useEffect(() => {\n configRef.current = config;\n }, [config]);\n\n return {\n register,\n unregister,\n isRegistered,\n getRegistered,\n config: configRef.current,\n };\n}\n\n// 创建带状态感知的工具配置(带状态变化事件),状态注入,自动为组件注入 agentState\nexport interface ToolConfigWithStateOptions<TArgs extends object = any, TResult = any> {\n name: string;\n description: string;\n parameters: Array<{ name: string; type: string }>;\n subscribeKey?: (props: ToolcallComponentProps<TArgs, TResult>) => string | undefined;\n component: React.ComponentType<ToolcallComponentProps<TArgs, TResult> & { agentState?: Record<string, any> }>;\n}\n"],"names":["useAgentToolcall","config","registeredNamesRef","useRef","Set","autoRegisteredNamesRef","configRef","register","useCallback","newConfig","console","warn","configs","Array","isArray","forEach","cfg","agentToolcallRegistry","get","name","concat","current","add","unregister","names","nameArray","isRegistered","has","getRegistered","from","_toConsumableArray","useEffect"],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import ChatEngine from 'tdesign-web-components/lib/chat-engine';
2
+ import type { ChatMessagesData, ChatServiceConfig, ChatStatus } from 'tdesign-web-components/lib/chat-engine';
3
+ export type IUseChat = {
4
+ defaultMessages: ChatMessagesData[];
5
+ chatServiceConfig: ChatServiceConfig;
6
+ };
7
+ export declare const useChat: ({ defaultMessages: initialMessages, chatServiceConfig }: IUseChat) => {
8
+ chatEngine: ChatEngine;
9
+ messages: ChatMessagesData[];
10
+ status: ChatStatus;
11
+ };
@@ -0,0 +1,66 @@
1
+ /**
2
+ * tdesign v1.0.0-beta.4
3
+ * (c) 2025 tdesign
4
+ * @license MIT
5
+ */
6
+
7
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
8
+ import { useRef, useState, useEffect } from 'react';
9
+ import ChatEngine__default from 'tdesign-web-components/lib/chat-engine';
10
+
11
+ var useChat = function useChat(_ref) {
12
+ var initialMessages = _ref.defaultMessages,
13
+ chatServiceConfig = _ref.chatServiceConfig;
14
+ var chatEngineRef = useRef(new ChatEngine__default());
15
+ var _useState = useState([]),
16
+ _useState2 = _slicedToArray(_useState, 2),
17
+ messages = _useState2[0],
18
+ setMessage = _useState2[1];
19
+ var _useState3 = useState("idle"),
20
+ _useState4 = _slicedToArray(_useState3, 2),
21
+ status = _useState4[0],
22
+ setStatus = _useState4[1];
23
+ var msgSubscribeRef = useRef(null);
24
+ var prevInitialMessagesRef = useRef([]);
25
+ var chatEngine = chatEngineRef.current;
26
+ var syncState = function syncState(state) {
27
+ var _state$at;
28
+ setMessage(state);
29
+ setStatus(((_state$at = state.at(-1)) === null || _state$at === void 0 ? void 0 : _state$at.status) || "idle");
30
+ };
31
+ var subscribeToChat = function subscribeToChat() {
32
+ var _msgSubscribeRef$curr;
33
+ (_msgSubscribeRef$curr = msgSubscribeRef.current) === null || _msgSubscribeRef$curr === void 0 || _msgSubscribeRef$curr.call(msgSubscribeRef);
34
+ msgSubscribeRef.current = chatEngine.messageStore.subscribe(function (state) {
35
+ syncState(state.messages);
36
+ });
37
+ };
38
+ var initChat = function initChat() {
39
+ chatEngine.init(chatServiceConfig, initialMessages);
40
+ syncState(initialMessages);
41
+ subscribeToChat();
42
+ };
43
+ useEffect(function () {
44
+ initChat();
45
+ return function () {
46
+ var _msgSubscribeRef$curr2;
47
+ return (_msgSubscribeRef$curr2 = msgSubscribeRef.current) === null || _msgSubscribeRef$curr2 === void 0 ? void 0 : _msgSubscribeRef$curr2.call(msgSubscribeRef);
48
+ };
49
+ }, []);
50
+ useEffect(function () {
51
+ var hasChanged = JSON.stringify(prevInitialMessagesRef.current) !== JSON.stringify(initialMessages);
52
+ if (hasChanged && initialMessages && initialMessages.length > 0) {
53
+ prevInitialMessagesRef.current = initialMessages;
54
+ chatEngine.setMessages(initialMessages, "replace");
55
+ syncState(initialMessages);
56
+ }
57
+ }, [initialMessages, chatEngine]);
58
+ return {
59
+ chatEngine: chatEngine,
60
+ messages: messages,
61
+ status: status
62
+ };
63
+ };
64
+
65
+ export { useChat };
66
+ //# sourceMappingURL=useChat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useChat.js","sources":["../../../../pro-components/chat/chatbot/hooks/useChat.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport ChatEngine from 'tdesign-web-components/lib/chat-engine';\nimport type { ChatMessagesData, ChatServiceConfig, ChatStatus } from 'tdesign-web-components/lib/chat-engine';\n\nexport type IUseChat = {\n defaultMessages: ChatMessagesData[];\n chatServiceConfig: ChatServiceConfig;\n};\n\nexport const useChat = ({ defaultMessages: initialMessages, chatServiceConfig }: IUseChat) => {\n const chatEngineRef = useRef<ChatEngine>(new ChatEngine());\n const [messages, setMessage] = useState<ChatMessagesData[]>([]);\n const [status, setStatus] = useState<ChatStatus>('idle');\n const msgSubscribeRef = useRef<null | (() => void)>(null);\n const prevInitialMessagesRef = useRef<ChatMessagesData[]>([]);\n\n const chatEngine = chatEngineRef.current;\n\n const syncState = (state: ChatMessagesData[]) => {\n setMessage(state);\n setStatus(state.at(-1)?.status || 'idle');\n };\n\n const subscribeToChat = () => {\n // 清理之前的订阅\n msgSubscribeRef.current?.();\n\n msgSubscribeRef.current = chatEngine.messageStore.subscribe((state) => {\n syncState(state.messages);\n });\n };\n\n const initChat = () => {\n // @ts-ignore\n chatEngine.init(chatServiceConfig, initialMessages);\n // @ts-ignore\n syncState(initialMessages);\n subscribeToChat();\n };\n\n // 初始化聊天引擎\n useEffect(() => {\n initChat();\n return () => msgSubscribeRef.current?.();\n }, []);\n\n // 监听 defaultMessages 变化\n useEffect(() => {\n // 检查 initialMessages 是否真的发生了变化\n const hasChanged = JSON.stringify(prevInitialMessagesRef.current) !== JSON.stringify(initialMessages);\n\n if (hasChanged && initialMessages && initialMessages.length > 0) {\n // 更新引用\n prevInitialMessagesRef.current = initialMessages;\n\n // 重新初始化聊天引擎或更新消息\n chatEngine.setMessages(initialMessages, 'replace');\n\n // 同步状态\n syncState(initialMessages);\n }\n }, [initialMessages, chatEngine]);\n\n return {\n chatEngine,\n messages,\n status,\n };\n};\n"],"names":["useChat","initialMessages","_ref","defaultMessages","chatServiceConfig","chatEngineRef","useRef","ChatEngine","_useState","useState","_useState2","_slicedToArray","messages","setMessage","_useState3","_useState4","status","setStatus","msgSubscribeRef","prevInitialMessagesRef","chatEngine","current","syncState","state","_state$at","at","subscribeToChat","_msgSubscribeRef$curr","call","messageStore","subscribe","initChat","init","useEffect","_msgSubscribeRef$curr2","hasChanged","JSON","stringify","length","setMessages"],"mappings":";;;;;;;;;;IASaA,UAAU,SAAVA,cAAiF;AAAA,EAAA,IAAnDC,eAAA,GAAAC,IAAA,CAAjBC,eAAiB;IAAiBC,yBAAAA;EAC1D,IAAMC,aAAgB,GAAAC,MAAA,CAAmB,IAAIC,mBAAA,EAAY,CAAA,CAAA;AACzD,EAAA,IAAAC,SAAA,GAA+BC,QAAA,CAA6B,EAAE,CAAA;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAvDI,IAAAA,QAAU,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAAG,IAAAA,UAAU,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAC3B,EAAA,IAAAI,UAAA,GAA4BL,SAAqB,MAAM,CAAA;IAAAM,UAAA,GAAAJ,cAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAAhDE,IAAAA,MAAA,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAQE,IAAAA,SAAS,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAClB,EAAA,IAAAG,eAAA,GAAkBZ,OAA4B,IAAI,CAAA,CAAA;AAClD,EAAA,IAAAa,sBAAA,GAAyBb,MAA2B,CAAA,EAAE,CAAA,CAAA;AAE5D,EAAA,IAAMc,aAAaf,aAAc,CAAAgB,OAAA,CAAA;AAE3B,EAAA,IAAAC,SAAA,GAAY,SAAZA,SAAAA,CAAaC,KAA8B,EAAA;AAAA,IAAA,IAAAC,SAAA,CAAA;IAC/CX,UAAA,CAAWU,KAAK,CAAA,CAAA;AAChBN,IAAAA,SAAA,CAAU,CAAAO,CAAAA,SAAA,GAAAD,KAAM,CAAAE,EAAA,CAAG,CAAE,CAAA,CAAA,MAAA,IAAA,IAAAD,SAAA,KAAXA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAA,CAAcR,WAAU,MAAM,CAAA,CAAA;GAC1C,CAAA;AAEA,EAAA,IAAMU,kBAAkB,SAAlBA,kBAAwB;AAAA,IAAA,IAAAC,qBAAA,CAAA;AAE5B,IAAA,CAAAA,qBAAA,GAAAT,eAAA,CAAgBG,OAAU,MAAA,IAAA,IAAAM,qBAAA,KAAA,KAAA,CAAA,IAA1BA,qBAAA,CAAAC,IAAA,CAAAV,eAA0B,CAAA,CAAA;IAE1BA,eAAA,CAAgBG,OAAU,GAAAD,UAAA,CAAWS,YAAa,CAAAC,SAAA,CAAU,UAACP,KAAU,EAAA;AACrED,MAAAA,SAAA,CAAUC,MAAMX,QAAQ,CAAA,CAAA;AAC1B,KAAC,CAAA,CAAA;GACH,CAAA;AAEA,EAAA,IAAMmB,WAAW,SAAXA,WAAiB;AAEVX,IAAAA,UAAA,CAAAY,IAAA,CAAK5B,mBAAmBH,eAAe,CAAA,CAAA;IAElDqB,SAAA,CAAUrB,eAAe,CAAA,CAAA;AACTyB,IAAAA,eAAA,EAAA,CAAA;GAClB,CAAA;AAGAO,EAAAA,SAAA,CAAU,YAAM;AACLF,IAAAA,QAAA,EAAA,CAAA;IACF,OAAA,YAAA;AAAA,MAAA,IAAAG,sBAAA,CAAA;AAAA,MAAA,OAAA,CAAAA,sBAAA,GAAMhB,gBAAgBG,OAAU,MAAA,IAAA,IAAAa,sBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAA1BA,sBAAA,CAAAN,IAAA,CAAAV,eAA0B,CAAA,CAAA;AAAA,KAAA,CAAA;GACzC,EAAG,EAAE,CAAA,CAAA;AAGLe,EAAAA,SAAA,CAAU,YAAM;AAER,IAAA,IAAAE,UAAA,GAAaC,KAAKC,SAAU,CAAAlB,sBAAA,CAAuBE,OAAO,CAAM,KAAAe,IAAA,CAAKC,UAAUpC,eAAe,CAAA,CAAA;IAEpG,IAAIkC,UAAc,IAAAlC,eAAA,IAAmBA,eAAgB,CAAAqC,MAAA,GAAS,CAAG,EAAA;MAE/DnB,sBAAA,CAAuBE,OAAU,GAAApB,eAAA,CAAA;AAGtBmB,MAAAA,UAAA,CAAAmB,WAAA,CAAYtC,iBAAiB,SAAS,CAAA,CAAA;MAGjDqB,SAAA,CAAUrB,eAAe,CAAA,CAAA;AAC3B,KAAA;AACF,GAAG,EAAA,CAACA,eAAiB,EAAAmB,UAAU,CAAC,CAAA,CAAA;EAEzB,OAAA;AACLA,IAAAA,UAAA,EAAAA,UAAA;AACAR,IAAAA,QAAA,EAAAA,QAAA;AACAI,IAAAA,MAAA,EAAAA,MAAAA;GACF,CAAA;AACF;;;;"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * tdesign v1.0.2-alpha.5
2
+ * tdesign v1.0.2-alpha.0
3
3
  * (c) 2026 tdesign
4
4
  * @license MIT
5
5
  */
@@ -9,16 +9,18 @@ import 'tdesign-web-components/lib/chat-message/content/reasoning-content';
9
9
  import 'tdesign-web-components/lib/chat-message/content/search-content';
10
10
  import 'tdesign-web-components/lib/chat-message/content/suggestion-content';
11
11
  import reactify from '../_util/reactify.js';
12
- import '@babel/runtime/helpers/defineProperty';
13
12
  import '@babel/runtime/helpers/objectWithoutProperties';
14
- import '@babel/runtime/helpers/typeof';
15
- import '@babel/runtime/helpers/slicedToArray';
13
+ import '@babel/runtime/helpers/toConsumableArray';
16
14
  import '@babel/runtime/helpers/classCallCheck';
17
15
  import '@babel/runtime/helpers/createClass';
18
16
  import '@babel/runtime/helpers/possibleConstructorReturn';
19
17
  import '@babel/runtime/helpers/getPrototypeOf';
20
18
  import '@babel/runtime/helpers/inherits';
19
+ import '@babel/runtime/helpers/defineProperty';
20
+ import '@babel/runtime/helpers/slicedToArray';
21
+ import '@babel/runtime/helpers/typeof';
21
22
  import 'react';
23
+ import 'react-dom';
22
24
  import 'react-dom/client';
23
25
 
24
26
  var ChatBot = reactify("t-chatbot");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../pro-components/chat/chatbot/index.ts"],"sourcesContent":["import 'tdesign-web-components/lib/chatbot';\nimport 'tdesign-web-components/lib/chat-message/content/reasoning-content';\nimport 'tdesign-web-components/lib/chat-message/content/search-content';\nimport 'tdesign-web-components/lib/chat-message/content/suggestion-content';\nimport type {\n TdChatbotApi,\n TdChatListApi,\n TdChatListProps,\n TdChatProps,\n TdChatSearchContentProps,\n TdChatSuggestionContentProps,\n} from 'tdesign-web-components';\nimport reactify from '../_util/reactify';\n\nconst ChatBot: React.ForwardRefExoticComponent<\n Omit<TdChatProps & Partial<TdChatbotApi>, 'ref'> & React.RefAttributes<HTMLElement | undefined>\n> = reactify<TdChatProps>('t-chatbot');\n\nconst ChatSearchContent: React.ForwardRefExoticComponent<\n Omit<TdChatSearchContentProps, 'ref'> & React.RefAttributes<HTMLElement | undefined>\n> = reactify<TdChatSearchContentProps>('t-chat-search-content');\n\nconst ChatSuggestionContent: React.ForwardRefExoticComponent<\n Omit<TdChatSuggestionContentProps, 'ref'> & React.RefAttributes<HTMLElement | undefined>\n> = reactify<TdChatSuggestionContentProps>('t-chat-suggestion-content');\n\nconst ChatList: React.ForwardRefExoticComponent<\n Omit<TdChatListProps & Partial<TdChatListApi>, 'ref'> & React.RefAttributes<HTMLElement | undefined>\n> = reactify<TdChatListProps>('t-chat-list');\n\n// 导出组件\nexport { ChatBot, ChatSearchContent, ChatSuggestionContent, ChatList };\n\n// 导出类型和工具\nexport type * from 'tdesign-web-components/lib/chatbot/type';\n"],"names":["ChatBot","reactify","ChatSearchContent","ChatSuggestionContent","ChatList"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAcA,IAAMA,OAAA,GAEFC,SAAsB,WAAW,EAAA;AAErC,IAAMC,iBAAA,GAEFD,SAAmC,uBAAuB,EAAA;AAE9D,IAAME,qBAAA,GAEFF,SAAuC,2BAA2B,EAAA;AAEtE,IAAMG,QAAA,GAEFH,SAA0B,aAAa;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../pro-components/chat/chatbot/index.ts"],"sourcesContent":["import 'tdesign-web-components/lib/chatbot';\nimport 'tdesign-web-components/lib/chat-message/content/reasoning-content';\nimport 'tdesign-web-components/lib/chat-message/content/search-content';\nimport 'tdesign-web-components/lib/chat-message/content/suggestion-content';\nimport type {\n TdChatbotApi,\n TdChatListApi,\n TdChatListProps,\n TdChatProps,\n TdChatSearchContentProps,\n TdChatSuggestionContentProps,\n} from 'tdesign-web-components';\nimport reactify from '../_util/reactify';\n\nconst ChatBot: React.ForwardRefExoticComponent<\n Omit<TdChatProps & Partial<TdChatbotApi>, 'ref'> & React.RefAttributes<HTMLElement | undefined>\n> = reactify<TdChatProps>('t-chatbot');\n\nconst ChatSearchContent: React.ForwardRefExoticComponent<\n Omit<TdChatSearchContentProps, 'ref'> & React.RefAttributes<HTMLElement | undefined>\n> = reactify<TdChatSearchContentProps>('t-chat-search-content');\n\nconst ChatSuggestionContent: React.ForwardRefExoticComponent<\n Omit<TdChatSuggestionContentProps, 'ref'> & React.RefAttributes<HTMLElement | undefined>\n> = reactify<TdChatSuggestionContentProps>('t-chat-suggestion-content');\n\nconst ChatList: React.ForwardRefExoticComponent<\n Omit<TdChatListProps & Partial<TdChatListApi>, 'ref'> & React.RefAttributes<HTMLElement | undefined>\n> = reactify<TdChatListProps>('t-chat-list');\n\n// 导出组件\nexport { ChatBot, ChatSearchContent, ChatSuggestionContent, ChatList };\n\n// 导出类型和工具\nexport type * from 'tdesign-web-components/lib/chatbot/type';\n"],"names":["ChatBot","reactify","ChatSearchContent","ChatSuggestionContent","ChatList"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAcA,IAAMA,OAAA,GAEFC,SAAsB,WAAW,EAAA;AAErC,IAAMC,iBAAA,GAEFD,SAAmC,uBAAuB,EAAA;AAE9D,IAAME,qBAAA,GAEFF,SAAuC,2BAA2B,EAAA;AAEtE,IAAMG,QAAA,GAEFH,SAA0B,aAAa;;;;"}
package/es/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * tdesign v1.0.2-alpha.5
2
+ * tdesign v1.0.2-alpha.0
3
3
  * (c) 2026 tdesign
4
4
  * @license MIT
5
5
  */
@@ -27,16 +27,18 @@ import 'tdesign-web-components/lib/chat-message/content/reasoning-content';
27
27
  import 'tdesign-web-components/lib/chat-message/content/search-content';
28
28
  import 'tdesign-web-components/lib/chat-message/content/suggestion-content';
29
29
  import './_util/reactify.js';
30
- import '@babel/runtime/helpers/defineProperty';
31
30
  import '@babel/runtime/helpers/objectWithoutProperties';
32
- import '@babel/runtime/helpers/typeof';
33
- import '@babel/runtime/helpers/slicedToArray';
31
+ import '@babel/runtime/helpers/toConsumableArray';
34
32
  import '@babel/runtime/helpers/classCallCheck';
35
33
  import '@babel/runtime/helpers/createClass';
36
34
  import '@babel/runtime/helpers/possibleConstructorReturn';
37
35
  import '@babel/runtime/helpers/getPrototypeOf';
38
36
  import '@babel/runtime/helpers/inherits';
37
+ import '@babel/runtime/helpers/defineProperty';
38
+ import '@babel/runtime/helpers/slicedToArray';
39
+ import '@babel/runtime/helpers/typeof';
39
40
  import 'react';
41
+ import 'react-dom';
40
42
  import 'react-dom/client';
41
43
  import './chat-engine/components/toolcall/index.js';
42
44
  import 'tdesign-web-components/lib/chat-action';
@@ -48,7 +50,6 @@ import 'tdesign-web-components/lib/chat-message/content/markdown-content';
48
50
  import 'tdesign-web-components/lib/chat-message';
49
51
  import 'tdesign-web-components/lib/chat-sender';
50
52
  import 'tdesign-web-components/lib/chat-message/content/thinking-content';
51
- import '@babel/runtime/helpers/toConsumableArray';
52
53
  import '@babel/runtime/helpers/asyncToGenerator';
53
54
  import '@babel/runtime/regenerator';
54
55
  //# sourceMappingURL=index.js.map
package/es/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/es/style/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * tdesign v1.0.2-alpha.5
2
+ * tdesign v1.0.2-alpha.0
3
3
  * (c) 2026 tdesign
4
4
  * @license MIT
5
5
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tdesign-react/chat",
3
- "version": "1.0.2-alpha.5",
3
+ "version": "1.0.2-alpha.7",
4
4
  "title": "@tdesign-react/chat",
5
5
  "description": "TDesign Pro Component for AIGC",
6
6
  "module": "es/index.js",
@@ -50,7 +50,7 @@
50
50
  },
51
51
  "dependencies": {
52
52
  "@babel/runtime": "~7.26.7",
53
- "tdesign-web-components": "1.2.10",
53
+ "tdesign-web-components": "1.2.11-alpha.0",
54
54
  "classnames": "~2.5.1",
55
55
  "lodash-es": "^4.17.21",
56
56
  "zod": "^3.24.2",
@@ -1,2 +0,0 @@
1
- export default ChatActionBarExample;
2
- declare function ChatActionBarExample(): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +0,0 @@
1
- export default ChatActionBarExample;
2
- declare function ChatActionBarExample(): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +0,0 @@
1
- export default ChatActionBarExample;
2
- declare function ChatActionBarExample(): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +0,0 @@
1
- export default ChatAttachmentExample;
2
- declare function ChatAttachmentExample(): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +0,0 @@
1
- export default ChatAttachmentExample;
2
- declare function ChatAttachmentExample(): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +0,0 @@
1
- export default ChatAttachmentExample;
2
- declare function ChatAttachmentExample(): import("react/jsx-runtime").JSX.Element;
@@ -1,10 +0,0 @@
1
- /**
2
- * AG-UI 协议基础示例
3
- *
4
- * 学习目标:
5
- * - 开启 AG-UI 协议支持(protocol: 'agui')
6
- * - 理解 AG-UI 协议的自动解析机制
7
- * - 处理文本消息事件(TEXT_MESSAGE_*)
8
- * - 初始化加载历史消息方法 AGUIAdapter.convertHistoryMessages
9
- */
10
- export default function AguiBasicExample(): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +0,0 @@
1
- export default TravelPlannerContent;
2
- declare function TravelPlannerContent(): import("react/jsx-runtime").JSX.Element;
@@ -1,11 +0,0 @@
1
- /**
2
- * AG-UI 协议基础示例
3
- *
4
- * 学习目标:
5
- * - 开启 AG-UI 协议支持(protocol: 'agui')
6
- * - 理解 AG-UI 协议的自动解析机制
7
- * - 处理文本消息事件(TEXT_MESSAGE_*)
8
- * - 初始化加载历史消息方法 AGUIAdapter.convertHistoryMessages
9
- * - 调试 ToolCall 组件状态问题
10
- */
11
- export default function AguiBasicExample(): import("react/jsx-runtime").JSX.Element;
@@ -1,5 +0,0 @@
1
- /**
2
- * 图片生成 Agent 聊天组件
3
- * 演示如何使用 useAgentToolcall 和 useAgentState 实现工具调用和状态订阅
4
- */
5
- export default function ImageGenAgentChat(): import("react/jsx-runtime").JSX.Element;
@@ -1,8 +0,0 @@
1
- /**
2
- * 使用状态订阅机制的视频剪辑Agent聊天组件
3
- * 演示如何结合状态订阅和工具调用功能
4
- */
5
- export default function VideoClipAgentChatWithSubscription(): import("react/jsx-runtime").JSX.Element;
6
- export function VideoClipSteps({ boundStateKey }: {
7
- boundStateKey: any;
8
- }): import("react/jsx-runtime").JSX.Element;
@@ -1 +0,0 @@
1
- export default function ComponentsBuild(): import("react/jsx-runtime").JSX.Element;
@@ -1,9 +0,0 @@
1
- /**
2
- * 快速开始示例
3
- *
4
- * 学习目标:
5
- * - 使用 useChat Hook 创建聊天引擎
6
- * - 组合 ChatList、ChatMessage、ChatSender 组件
7
- * - 理解 chatEngine、messages、status 的作用
8
- */
9
- export default function BasicExample(): import("react/jsx-runtime").JSX.Element;
@@ -1,3 +0,0 @@
1
- export function HotelCard({ hotels }: {
2
- hotels: any;
3
- }): import("react/jsx-runtime").JSX.Element;
@@ -1,6 +0,0 @@
1
- export function HumanInputForm({ formConfig, onSubmit, onCancel, disabled }: {
2
- formConfig: any;
3
- onSubmit: any;
4
- onCancel: any;
5
- disabled?: boolean;
6
- }): import("react/jsx-runtime").JSX.Element;
@@ -1,3 +0,0 @@
1
- export function HumanInputResult({ userInput }: {
2
- userInput: any;
3
- }): import("react/jsx-runtime").JSX.Element;
@@ -1,3 +0,0 @@
1
- export function ItineraryCard({ plan }: {
2
- plan: any;
3
- }): import("react/jsx-runtime").JSX.Element;
@@ -1,4 +0,0 @@
1
- export function PlanningStatePanel({ className, currentStep }: {
2
- className: any;
3
- currentStep: any;
4
- }): import("react/jsx-runtime").JSX.Element;
@@ -1,4 +0,0 @@
1
- export default function CustomToolCallRenderer({ toolCall, status }: {
2
- toolCall: any;
3
- status?: string;
4
- }): import("react/jsx-runtime").JSX.Element;
@@ -1,3 +0,0 @@
1
- export function WeatherCard({ weather }: {
2
- weather: any;
3
- }): import("react/jsx-runtime").JSX.Element;
@@ -1 +0,0 @@
1
- export default function BaseForm(): import("react/jsx-runtime").JSX.Element;
@@ -1,12 +0,0 @@
1
- /**
2
- * 综合示例
3
- *
4
- * 本示例展示如何综合使用多个功能:
5
- * - 初始消息和建议问题
6
- * - 消息配置(样式、操作按钮)
7
- * - 数据转换(思考过程、搜索结果、文本)
8
- * - 请求配置(自定义参数)
9
- * - 实例方法(重新生成、填充提示语)
10
- * - 自定义插槽(输入框底部区域)
11
- */
12
- export default function Comprehensive(): import("react/jsx-runtime").JSX.Element;
@@ -1 +0,0 @@
1
- export default function CustomContent(): import("react/jsx-runtime").JSX.Element;
@@ -1 +0,0 @@
1
- export default function ComponentsBuild(): import("react/jsx-runtime").JSX.Element;
@@ -1,9 +0,0 @@
1
- /**
2
- * 初始化消息示例
3
- *
4
- * 学习目标:
5
- * - 使用 defaultMessages 设置欢迎语和建议问题
6
- * - 通过 chatEngine.setMessages 动态加载历史消息
7
- * - 实现点击建议问题填充输入框
8
- */
9
- export default function InitialMessages(): import("react/jsx-runtime").JSX.Element;
@@ -1,13 +0,0 @@
1
- /**
2
- * 实例方法示例
3
- *
4
- * 学习目标:
5
- * - 通过 chatEngine 调用实例方法
6
- * - 了解各种实例方法的使用场景
7
- *
8
- * 方法分类:
9
- * 1. 消息设置:sendUserMessage、sendSystemMessage、setMessages
10
- * 2. 发送控制: regenerateAIMessage、abortChat
11
- * 3. 获取状态
12
- */
13
- export default function InstanceMethods(): import("react/jsx-runtime").JSX.Element;
@@ -1,91 +0,0 @@
1
- export namespace weatherForecastAction {
2
- export let name: string;
3
- export let description: string;
4
- export let parameters: {
5
- name: string;
6
- type: string;
7
- required: boolean;
8
- }[];
9
- export { WeatherDisplay as component };
10
- }
11
- export namespace itineraryPlanAction {
12
- let name_1: string;
13
- export { name_1 as name };
14
- let description_1: string;
15
- export { description_1 as description };
16
- let parameters_1: {
17
- name: string;
18
- type: string;
19
- required: boolean;
20
- }[];
21
- export { parameters_1 as parameters };
22
- export { PlanItinerary as component };
23
- export function handler(args: any, backendResult: any): Promise<any>;
24
- }
25
- export namespace hotelRecommendAction {
26
- let name_2: string;
27
- export { name_2 as name };
28
- let description_2: string;
29
- export { description_2 as description };
30
- let parameters_2: {
31
- name: string;
32
- type: string;
33
- required: boolean;
34
- }[];
35
- export { parameters_2 as parameters };
36
- export { HotelRecommend as component };
37
- }
38
- export namespace travelPreferencesAction {
39
- let name_3: string;
40
- export { name_3 as name };
41
- let description_3: string;
42
- export { description_3 as description };
43
- let parameters_3: {
44
- name: string;
45
- type: string;
46
- required: boolean;
47
- }[];
48
- export { parameters_3 as parameters };
49
- export { TravelPreferences as component };
50
- }
51
- export const travelActions: {
52
- name: string;
53
- description: string;
54
- parameters: {
55
- name: string;
56
- type: string;
57
- required: boolean;
58
- }[];
59
- component: ({ status, args, result, error }: {
60
- status: any;
61
- args: any;
62
- result: any;
63
- error: any;
64
- }) => import("react/jsx-runtime").JSX.Element;
65
- }[];
66
- declare function WeatherDisplay({ status, args, result, error }: {
67
- status: any;
68
- args: any;
69
- result: any;
70
- error: any;
71
- }): import("react/jsx-runtime").JSX.Element;
72
- declare function PlanItinerary({ status, args, result, error }: {
73
- status: any;
74
- args: any;
75
- result: any;
76
- error: any;
77
- }): import("react/jsx-runtime").JSX.Element;
78
- declare function HotelRecommend({ status, args, result, error }: {
79
- status: any;
80
- args: any;
81
- result: any;
82
- error: any;
83
- }): import("react/jsx-runtime").JSX.Element;
84
- declare function TravelPreferences({ status, args, result, error, respond }: {
85
- status: any;
86
- args: any;
87
- result: any;
88
- error: any;
89
- respond: any;
90
- }): import("react/jsx-runtime").JSX.Element;
91
- export {};
@@ -1 +0,0 @@
1
- export default function TravelPlannerChat(): import("react/jsx-runtime").JSX.Element;
@@ -1 +0,0 @@
1
- export default function Cards(): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +0,0 @@
1
- export default ChatLoadingExample;
2
- declare function ChatLoadingExample(): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +0,0 @@
1
- export default ChatLoadingTextExample;
2
- declare function ChatLoadingTextExample(): import("react/jsx-runtime").JSX.Element;
@@ -1 +0,0 @@
1
- export default function ThinkContentDemo(): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +0,0 @@
1
- export default MarkdownExample;
2
- declare function MarkdownExample(): import("react/jsx-runtime").JSX.Element;
@@ -1 +0,0 @@
1
- export default function ThinkContentDemo(): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +0,0 @@
1
- export default FootnoteDemo;
2
- declare function FootnoteDemo(): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +0,0 @@
1
- export default MarkdownExample;
2
- declare function MarkdownExample(): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +0,0 @@
1
- export default MarkdownExample;
2
- declare function MarkdownExample(): import("react/jsx-runtime").JSX.Element;
@@ -1 +0,0 @@
1
- export default function ChatMessageExample(): import("react/jsx-runtime").JSX.Element;
@@ -1 +0,0 @@
1
- export default function ChatMessageExample(): import("react/jsx-runtime").JSX.Element;
@@ -1 +0,0 @@
1
- export default function ChatMessageExample(): import("react/jsx-runtime").JSX.Element;
@@ -1 +0,0 @@
1
- export default function ChatMessageExample(): import("react/jsx-runtime").JSX.Element;
@@ -1 +0,0 @@
1
- export default function ChatMessageExample(): import("react/jsx-runtime").JSX.Element;