@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.
- package/es/_util/reactify.d.ts +2 -1
- package/es/_util/reactify.js +231 -81
- package/es/_util/reactify.js.map +1 -1
- package/es/_util/useDynamicStyle.js +1 -1
- package/es/attachments/index.js +6 -4
- package/es/attachments/index.js.map +1 -1
- package/es/chat-actionbar/index.js +6 -4
- package/es/chat-actionbar/index.js.map +1 -1
- package/es/chat-attachments/index.js +1 -3
- package/es/chat-attachments/index.js.map +1 -1
- package/es/chat-engine/components/provider/agent-state.js +1 -1
- package/es/chat-engine/components/toolcall/index.js +1 -1
- package/es/chat-engine/components/toolcall/registry.js +1 -1
- package/es/chat-engine/components/toolcall/render.js +12 -12
- 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/hooks/useAgentState.js +1 -1
- package/es/chat-engine/hooks/useAgentToolcall.js +1 -1
- package/es/chat-engine/hooks/useChat.js +1 -1
- package/es/chat-engine/index.js +1 -1
- package/es/chat-filecard/index.js +6 -4
- package/es/chat-filecard/index.js.map +1 -1
- package/es/chat-loading/index.js +6 -4
- package/es/chat-loading/index.js.map +1 -1
- package/es/chat-markdown/index.js +6 -4
- package/es/chat-markdown/index.js.map +1 -1
- package/es/chat-message/index.js +6 -4
- package/es/chat-message/index.js.map +1 -1
- package/es/chat-sender/index.js +6 -4
- package/es/chat-sender/index.js.map +1 -1
- package/es/chat-thinking/index.js +6 -4
- package/es/chat-thinking/index.js.map +1 -1
- package/es/chatbot/components/provider/agent-state.d.ts +5 -0
- package/es/chatbot/components/provider/agent-state.js +28 -0
- package/es/chatbot/components/provider/agent-state.js.map +1 -0
- package/es/chatbot/components/toolcall/index.d.ts +3 -0
- package/es/chatbot/components/toolcall/index.js +19 -0
- package/es/chatbot/components/toolcall/index.js.map +1 -0
- package/es/chatbot/components/toolcall/registry.d.ts +35 -0
- package/es/chatbot/components/toolcall/registry.js +75 -0
- package/es/chatbot/components/toolcall/registry.js.map +1 -0
- package/es/chatbot/components/toolcall/render.d.ts +13 -0
- package/es/chatbot/components/toolcall/render.js +207 -0
- package/es/chatbot/components/toolcall/render.js.map +1 -0
- package/es/chatbot/components/toolcall/types.d.ts +57 -0
- package/es/chatbot/components/toolcall/types.js +15 -0
- package/es/chatbot/components/toolcall/types.js.map +1 -0
- package/es/chatbot/hooks/useAgentState.d.ts +40 -0
- package/es/chatbot/hooks/useAgentState.js +76 -0
- package/es/chatbot/hooks/useAgentState.js.map +1 -0
- package/es/chatbot/hooks/useAgentToolcall.d.ts +28 -0
- package/es/chatbot/hooks/useAgentToolcall.js +78 -0
- package/es/chatbot/hooks/useAgentToolcall.js.map +1 -0
- package/es/chatbot/hooks/useChat.d.ts +11 -0
- package/es/chatbot/hooks/useChat.js +66 -0
- package/es/chatbot/hooks/useChat.js.map +1 -0
- package/es/chatbot/index.js +6 -4
- package/es/chatbot/index.js.map +1 -1
- package/es/index.js +6 -5
- package/es/index.js.map +1 -1
- package/es/style/index.js +1 -1
- package/package.json +2 -2
- 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-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-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-toolcall.d.ts +0 -11
- 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
|
@@ -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":"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"}
|
package/es/chatbot/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* tdesign v1.0.2-alpha.
|
|
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/
|
|
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");
|
package/es/chatbot/index.js.map
CHANGED
|
@@ -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":"
|
|
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.
|
|
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/
|
|
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
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tdesign-react/chat",
|
|
3
|
-
"version": "1.0.2-alpha.
|
|
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.
|
|
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,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,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,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 +0,0 @@
|
|
|
1
|
-
export default function BaseForm(): 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,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 +0,0 @@
|
|
|
1
|
-
export default function ThinkContentDemo(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function ThinkContentDemo(): 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;
|