@tdesign-react/chat 1.0.2-alpha.2 → 1.0.2-alpha.4
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.js +3 -4
- package/es/_util/reactify.js.map +1 -1
- package/es/_util/useDynamicStyle.js +1 -1
- package/es/_util/useDynamicStyle.js.map +1 -1
- package/es/attachments/index.d.ts +5 -0
- package/es/attachments/index.js +26 -0
- package/es/attachments/index.js.map +1 -0
- package/es/chat-actionbar/index.js +1 -1
- package/es/chat-attachments/index.js +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 +1 -1
- 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/useAgentState.js.map +1 -1
- package/es/chat-engine/hooks/useAgentToolcall.js +1 -1
- package/es/chat-engine/hooks/useAgentToolcall.js.map +1 -1
- package/es/chat-engine/hooks/useChat.js +1 -1
- package/es/chat-engine/hooks/useChat.js.map +1 -1
- package/es/chat-engine/index.js +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/_example-js/agui-toolcall.d.ts +11 -0
- package/es/chatbot/index.js +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.js +2 -2
- package/es/style/index.js +1 -1
- package/package.json +2 -2
- package/es/chat-engine/core/adapters/agui/event-mapper.d.ts +0 -104
- package/es/chat-engine/core/adapters/agui/event-mapper.js +0 -341
- package/es/chat-engine/core/adapters/agui/event-mapper.js.map +0 -1
- package/es/chat-engine/core/adapters/agui/events.d.ts +0 -1394
- package/es/chat-engine/core/adapters/agui/events.js +0 -181
- package/es/chat-engine/core/adapters/agui/events.js.map +0 -1
- package/es/chat-engine/core/adapters/agui/index.d.ts +0 -75
- package/es/chat-engine/core/adapters/agui/index.js +0 -165
- package/es/chat-engine/core/adapters/agui/index.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 -168
- package/es/chat-engine/core/adapters/agui/state-manager.js.map +0 -1
- package/es/chat-engine/core/adapters/agui/types.d.ts +0 -760
- package/es/chat-engine/core/adapters/agui/types.js +0 -89
- package/es/chat-engine/core/adapters/agui/types.js.map +0 -1
- package/es/chat-engine/core/adapters/agui/utils.d.ts +0 -180
- package/es/chat-engine/core/adapters/agui/utils.js +0 -302
- package/es/chat-engine/core/adapters/agui/utils.js.map +0 -1
- package/es/chat-engine/core/index.d.ts +0 -132
- package/es/chat-engine/core/index.js +0 -597
- package/es/chat-engine/core/index.js.map +0 -1
- package/es/chat-engine/core/processor/index.d.ts +0 -20
- package/es/chat-engine/core/processor/index.js +0 -146
- package/es/chat-engine/core/processor/index.js.map +0 -1
- package/es/chat-engine/core/server/batch-client.d.ts +0 -20
- package/es/chat-engine/core/server/batch-client.js +0 -114
- package/es/chat-engine/core/server/batch-client.js.map +0 -1
- package/es/chat-engine/core/server/connection-manager.d.ts +0 -39
- package/es/chat-engine/core/server/connection-manager.js +0 -84
- package/es/chat-engine/core/server/connection-manager.js.map +0 -1
- package/es/chat-engine/core/server/errors.d.ts +0 -22
- package/es/chat-engine/core/server/errors.js +0 -80
- package/es/chat-engine/core/server/errors.js.map +0 -1
- package/es/chat-engine/core/server/index.d.ts +0 -11
- package/es/chat-engine/core/server/index.js +0 -26
- package/es/chat-engine/core/server/index.js.map +0 -1
- package/es/chat-engine/core/server/llm-service.d.ts +0 -44
- package/es/chat-engine/core/server/llm-service.js +0 -198
- package/es/chat-engine/core/server/llm-service.js.map +0 -1
- package/es/chat-engine/core/server/sse-client.d.ts +0 -77
- package/es/chat-engine/core/server/sse-client.js +0 -362
- package/es/chat-engine/core/server/sse-client.js.map +0 -1
- package/es/chat-engine/core/server/sse-parser.d.ts +0 -49
- package/es/chat-engine/core/server/sse-parser.js +0 -116
- package/es/chat-engine/core/server/sse-parser.js.map +0 -1
- package/es/chat-engine/core/server/types.d.ts +0 -54
- package/es/chat-engine/core/server/types.js +0 -28
- package/es/chat-engine/core/server/types.js.map +0 -1
- package/es/chat-engine/core/store/message.d.ts +0 -27
- package/es/chat-engine/core/store/message.js +0 -263
- package/es/chat-engine/core/store/message.js.map +0 -1
- package/es/chat-engine/core/store/model.d.ts +0 -8
- package/es/chat-engine/core/store/model.js +0 -65
- package/es/chat-engine/core/store/model.js.map +0 -1
- package/es/chat-engine/core/store/reactiveState.d.ts +0 -52
- package/es/chat-engine/core/store/reactiveState.js +0 -1359
- package/es/chat-engine/core/store/reactiveState.js.map +0 -1
- package/es/chat-engine/core/type.d.ts +0 -248
- package/es/chat-engine/core/type.js +0 -7
- package/es/chat-engine/core/type.js.map +0 -1
- package/es/chat-engine/core/utils/eventEmitter.d.ts +0 -10
- package/es/chat-engine/core/utils/eventEmitter.js +0 -67
- package/es/chat-engine/core/utils/eventEmitter.js.map +0 -1
- package/es/chat-engine/core/utils/index.d.ts +0 -32
- package/es/chat-engine/core/utils/index.js +0 -996
- package/es/chat-engine/core/utils/index.js.map +0 -1
- package/es/chat-engine/core/utils/logger.d.ts +0 -30
- package/es/chat-engine/core/utils/logger.js +0 -87
- package/es/chat-engine/core/utils/logger.js.map +0 -1
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* tdesign v1.0.1
|
|
3
|
-
* (c) 2025 tdesign
|
|
4
|
-
* @license MIT
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
var SSEConnectionState = /* @__PURE__ */function (SSEConnectionState2) {
|
|
8
|
-
SSEConnectionState2["DISCONNECTED"] = "disconnected";
|
|
9
|
-
SSEConnectionState2["CONNECTING"] = "connecting";
|
|
10
|
-
SSEConnectionState2["CONNECTED"] = "connected";
|
|
11
|
-
SSEConnectionState2["RECONNECTING"] = "reconnecting";
|
|
12
|
-
SSEConnectionState2["CLOSING"] = "closing";
|
|
13
|
-
SSEConnectionState2["CLOSED"] = "closed";
|
|
14
|
-
SSEConnectionState2["ERROR"] = "error";
|
|
15
|
-
return SSEConnectionState2;
|
|
16
|
-
}(SSEConnectionState || {});
|
|
17
|
-
var DEFAULT_SSE_CONFIG = {
|
|
18
|
-
timeout: 0,
|
|
19
|
-
method: "POST",
|
|
20
|
-
headers: {
|
|
21
|
-
Accept: "text/event-stream",
|
|
22
|
-
"Cache-Control": "no-cache",
|
|
23
|
-
"Content-Type": "application/json"
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
export { DEFAULT_SSE_CONFIG, SSEConnectionState };
|
|
28
|
-
//# sourceMappingURL=types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sources":["../../../../../pro-components/chat/chat-engine/core/server/types.ts"],"sourcesContent":["/**\n * Enhanced server types for SSE client and LLM service\n */\n\nimport { ChatRequestParams } from '../type';\n\n// 连接状态枚举\nexport enum SSEConnectionState {\n DISCONNECTED = 'disconnected',\n CONNECTING = 'connecting',\n CONNECTED = 'connected',\n RECONNECTING = 'reconnecting',\n CLOSING = 'closing',\n CLOSED = 'closed',\n ERROR = 'error',\n}\n\n// SSE 客户端配置\nexport interface SSEClientConfig extends Omit<RequestInit & ChatRequestParams, 'signal'> {\n timeout?: number;\n}\n\n// 事件接口\nexport interface SSEEvent {\n event?: string;\n data?: any;\n id?: string;\n retry?: number;\n timestamp?: number;\n}\n\n// 连接信息\nexport interface ConnectionInfo {\n id: string;\n retryCount: number;\n lastActivity: number;\n state?: SSEConnectionState; // 可选状态\n url?: string; // 可选URL\n createdAt?: number; // 可选创建时间\n error?: Error; // 可选错误信息\n stats: ConnectionStats; // 添加必需的统计信息属性\n}\n\n// 简化的连接状态信息\nexport interface ConnectionStatus {\n id: string;\n state: SSEConnectionState;\n error?: Error;\n lastActivity?: number;\n}\n\n// 简化的连接统计\nexport interface ConnectionStats {\n lastError?: Error;\n connectionTime?: number;\n}\n\n// 状态变化事件\nexport interface StateChangeEvent {\n connectionId: string;\n from: SSEConnectionState;\n to: SSEConnectionState;\n timestamp: number;\n}\n\n// 心跳事件\nexport interface HeartbeatEvent {\n connectionId: string;\n timestamp: number;\n}\n\nexport const DEFAULT_SSE_CONFIG: SSEClientConfig = {\n timeout: 0,\n method: 'POST',\n headers: {\n Accept: 'text/event-stream',\n 'Cache-Control': 'no-cache',\n 'Content-Type': 'application/json',\n },\n};\n"],"names":["SSEConnectionState","DEFAULT_SSE_CONFIG","timeout","method","headers","Accept"],"mappings":";;;;;;IAOYA,kBAAA,4BAAAA,mBAAL,EAAA;AACLA,EAAAA,oBAAA,cAAe,CAAA,GAAA,cAAA,CAAA;AACfA,EAAAA,oBAAA,YAAa,CAAA,GAAA,YAAA,CAAA;AACbA,EAAAA,oBAAA,WAAY,CAAA,GAAA,WAAA,CAAA;AACZA,EAAAA,oBAAA,cAAe,CAAA,GAAA,cAAA,CAAA;AACfA,EAAAA,oBAAA,SAAU,CAAA,GAAA,SAAA,CAAA;AACVA,EAAAA,oBAAA,QAAS,CAAA,GAAA,QAAA,CAAA;AACTA,EAAAA,oBAAA,OAAQ,CAAA,GAAA,OAAA,CAAA;AAPEA,EAAAA,OAAAA,mBAAAA,CAAAA;AAAA,CAAA,CAAAA,kBAAA,IAAA,EAAA,EAAA;AAgEL,IAAMC,kBAAsC,GAAA;AACjDC,EAAAA,OAAS,EAAA,CAAA;AACTC,EAAAA,MAAQ,EAAA,MAAA;AACRC,EAAAA,OAAS,EAAA;AACPC,IAAAA,MAAQ,EAAA,mBAAA;AACR,IAAA,eAAiB,EAAA,UAAA;AACjB,IAAA,cAAgB,EAAA,kBAAA;AAClB,GAAA;AACF;;;;"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type { AIMessage, AIMessageContent, ChatMessagesData, ChatMessageSetterMode, ChatMessageStore, UserMessage } from '../type';
|
|
2
|
-
import ReactiveState from './reactiveState';
|
|
3
|
-
export declare class MessageStore extends ReactiveState<ChatMessageStore> {
|
|
4
|
-
initialize(initialState?: Partial<ChatMessageStore>): void;
|
|
5
|
-
createMessage(message: ChatMessagesData): void;
|
|
6
|
-
createMultiMessages(messages: ChatMessagesData[]): void;
|
|
7
|
-
setMessages(messages: ChatMessagesData[], mode?: ChatMessageSetterMode): void;
|
|
8
|
-
appendContent(messageId: string, processedContent: AIMessageContent, targetIndex?: number): void;
|
|
9
|
-
replaceContent(messageId: string, processedContent: AIMessageContent[]): void;
|
|
10
|
-
setMessageStatus(messageId: string, status: ChatMessagesData['status']): void;
|
|
11
|
-
setMessageExt(messageId: string, attr?: {}): void;
|
|
12
|
-
clearHistory(): void;
|
|
13
|
-
removeMessage(messageId: string): void;
|
|
14
|
-
createMessageBranch(messageId: string): void;
|
|
15
|
-
get messages(): ChatMessagesData[];
|
|
16
|
-
getMessageByID(id: string): ChatMessagesData;
|
|
17
|
-
get currentMessage(): ChatMessagesData;
|
|
18
|
-
get lastAIMessage(): AIMessage | undefined;
|
|
19
|
-
get lastUserMessage(): UserMessage | undefined;
|
|
20
|
-
private updateMessageStatusByContent;
|
|
21
|
-
/**
|
|
22
|
-
* 更新多个内容块
|
|
23
|
-
* @param messageId 消息ID
|
|
24
|
-
* @param contents 要更新的内容块数组
|
|
25
|
-
*/
|
|
26
|
-
updateMultipleContents(messageId: string, contents: AIMessageContent[]): void;
|
|
27
|
-
}
|
|
@@ -1,263 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* tdesign v1.0.1
|
|
3
|
-
* (c) 2025 tdesign
|
|
4
|
-
* @license MIT
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
8
|
-
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
9
|
-
import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
|
|
10
|
-
import _createClass from '@babel/runtime/helpers/createClass';
|
|
11
|
-
import _possibleConstructorReturn from '@babel/runtime/helpers/possibleConstructorReturn';
|
|
12
|
-
import _getPrototypeOf from '@babel/runtime/helpers/getPrototypeOf';
|
|
13
|
-
import _get from '@babel/runtime/helpers/get';
|
|
14
|
-
import _inherits from '@babel/runtime/helpers/inherits';
|
|
15
|
-
import { isAIMessage, isUserMessage } from '../utils/index.js';
|
|
16
|
-
import ReactiveState from './reactiveState.js';
|
|
17
|
-
import '@babel/runtime/helpers/typeof';
|
|
18
|
-
import '@babel/runtime/helpers/slicedToArray';
|
|
19
|
-
import '@babel/runtime/helpers/wrapNativeSuper';
|
|
20
|
-
|
|
21
|
-
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; }
|
|
22
|
-
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; }
|
|
23
|
-
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
24
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
25
|
-
function _superPropGet(t, o, e, r) { var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e); return 2 & r && "function" == typeof p ? function (t) { return p.apply(e, t); } : p; }
|
|
26
|
-
var MessageStore = /*#__PURE__*/function (_ReactiveState) {
|
|
27
|
-
function MessageStore() {
|
|
28
|
-
_classCallCheck(this, MessageStore);
|
|
29
|
-
return _callSuper(this, MessageStore, arguments);
|
|
30
|
-
}
|
|
31
|
-
_inherits(MessageStore, _ReactiveState);
|
|
32
|
-
return _createClass(MessageStore, [{
|
|
33
|
-
key: "initialize",
|
|
34
|
-
value: function initialize(initialState) {
|
|
35
|
-
_superPropGet(MessageStore, "initialize", this, 3)([_objectSpread({
|
|
36
|
-
messageIds: [],
|
|
37
|
-
messages: []
|
|
38
|
-
}, initialState)]);
|
|
39
|
-
}
|
|
40
|
-
}, {
|
|
41
|
-
key: "createMessage",
|
|
42
|
-
value: function createMessage(message) {
|
|
43
|
-
var id = message.id;
|
|
44
|
-
this.setState(function (draft) {
|
|
45
|
-
draft.messageIds.push(id);
|
|
46
|
-
draft.messages.push(message);
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
}, {
|
|
50
|
-
key: "createMultiMessages",
|
|
51
|
-
value: function createMultiMessages(messages) {
|
|
52
|
-
this.setState(function (draft) {
|
|
53
|
-
var _draft$messages;
|
|
54
|
-
messages.forEach(function (msg) {
|
|
55
|
-
draft.messageIds.push(msg.id);
|
|
56
|
-
});
|
|
57
|
-
(_draft$messages = draft.messages).push.apply(_draft$messages, _toConsumableArray(messages));
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
}, {
|
|
61
|
-
key: "setMessages",
|
|
62
|
-
value: function setMessages(messages) {
|
|
63
|
-
var mode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "replace";
|
|
64
|
-
this.setState(function (draft) {
|
|
65
|
-
if (mode === "replace") {
|
|
66
|
-
draft.messageIds = messages.map(function (msg) {
|
|
67
|
-
return msg.id;
|
|
68
|
-
});
|
|
69
|
-
draft.messages = _toConsumableArray(messages);
|
|
70
|
-
} else if (mode === "prepend") {
|
|
71
|
-
draft.messageIds = [].concat(_toConsumableArray(messages.map(function (msg) {
|
|
72
|
-
return msg.id;
|
|
73
|
-
})), _toConsumableArray(draft.messageIds));
|
|
74
|
-
draft.messages = [].concat(_toConsumableArray(messages), _toConsumableArray(draft.messages));
|
|
75
|
-
} else {
|
|
76
|
-
var _draft$messageIds, _draft$messages2;
|
|
77
|
-
(_draft$messageIds = draft.messageIds).push.apply(_draft$messageIds, _toConsumableArray(messages.map(function (msg) {
|
|
78
|
-
return msg.id;
|
|
79
|
-
})));
|
|
80
|
-
(_draft$messages2 = draft.messages).push.apply(_draft$messages2, _toConsumableArray(messages));
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
}, {
|
|
85
|
-
key: "appendContent",
|
|
86
|
-
value: function appendContent(messageId, processedContent) {
|
|
87
|
-
var targetIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : -1;
|
|
88
|
-
this.setState(function (draft) {
|
|
89
|
-
var message = draft.messages.find(function (m) {
|
|
90
|
-
return m.id === messageId;
|
|
91
|
-
});
|
|
92
|
-
if (!message || !isAIMessage(message) || !message.content) return;
|
|
93
|
-
if (targetIndex >= 0 && targetIndex < message.content.length) {
|
|
94
|
-
message.content[targetIndex] = processedContent;
|
|
95
|
-
} else {
|
|
96
|
-
message.content.push(processedContent);
|
|
97
|
-
}
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
}, {
|
|
101
|
-
key: "replaceContent",
|
|
102
|
-
value: function replaceContent(messageId, processedContent) {
|
|
103
|
-
this.setState(function (draft) {
|
|
104
|
-
var message = draft.messages.find(function (m) {
|
|
105
|
-
return m.id === messageId;
|
|
106
|
-
});
|
|
107
|
-
if (!message || !isAIMessage(message)) return;
|
|
108
|
-
message.content = processedContent;
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
}, {
|
|
112
|
-
key: "setMessageStatus",
|
|
113
|
-
value: function setMessageStatus(messageId, status) {
|
|
114
|
-
this.setState(function (draft) {
|
|
115
|
-
var message = draft.messages.find(function (m) {
|
|
116
|
-
return m.id === messageId;
|
|
117
|
-
});
|
|
118
|
-
if (message) {
|
|
119
|
-
message.status = status;
|
|
120
|
-
if (isAIMessage(message) && message.content && message.content.length > 0) {
|
|
121
|
-
var lastContent = message.content[message.content.length - 1];
|
|
122
|
-
if ("status" in lastContent) {
|
|
123
|
-
lastContent.status = status;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
}, {
|
|
130
|
-
key: "setMessageExt",
|
|
131
|
-
value: function setMessageExt(messageId) {
|
|
132
|
-
var attr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
133
|
-
this.setState(function (draft) {
|
|
134
|
-
var message = draft.messages.find(function (m) {
|
|
135
|
-
return m.id === messageId;
|
|
136
|
-
});
|
|
137
|
-
if (message) {
|
|
138
|
-
message.ext = _objectSpread(_objectSpread({}, message.ext), attr);
|
|
139
|
-
}
|
|
140
|
-
});
|
|
141
|
-
}
|
|
142
|
-
}, {
|
|
143
|
-
key: "clearHistory",
|
|
144
|
-
value: function clearHistory() {
|
|
145
|
-
this.setState(function (draft) {
|
|
146
|
-
draft.messageIds = [];
|
|
147
|
-
draft.messages = [];
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
}, {
|
|
151
|
-
key: "removeMessage",
|
|
152
|
-
value: function removeMessage(messageId) {
|
|
153
|
-
this.setState(function (draft) {
|
|
154
|
-
var idIndex = draft.messageIds.indexOf(messageId);
|
|
155
|
-
if (idIndex !== -1) {
|
|
156
|
-
draft.messageIds.splice(idIndex, 1);
|
|
157
|
-
}
|
|
158
|
-
draft.messages = draft.messages.filter(function (msg) {
|
|
159
|
-
return msg.id !== messageId;
|
|
160
|
-
});
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
|
-
}, {
|
|
164
|
-
key: "createMessageBranch",
|
|
165
|
-
value: function createMessageBranch(messageId) {
|
|
166
|
-
var original = this.getState().messages.find(function (m) {
|
|
167
|
-
return m.id === messageId;
|
|
168
|
-
});
|
|
169
|
-
if (!original || !original.content) return;
|
|
170
|
-
var branchedMessage = _objectSpread(_objectSpread({}, original), {}, {
|
|
171
|
-
content: original.content.map(function (c) {
|
|
172
|
-
return _objectSpread({}, c);
|
|
173
|
-
})
|
|
174
|
-
});
|
|
175
|
-
this.createMessage(branchedMessage);
|
|
176
|
-
}
|
|
177
|
-
}, {
|
|
178
|
-
key: "messages",
|
|
179
|
-
get: function get() {
|
|
180
|
-
return this.getState().messages;
|
|
181
|
-
}
|
|
182
|
-
}, {
|
|
183
|
-
key: "getMessageByID",
|
|
184
|
-
value: function getMessageByID(id) {
|
|
185
|
-
return this.getState().messages.find(function (m) {
|
|
186
|
-
return m.id === id;
|
|
187
|
-
});
|
|
188
|
-
}
|
|
189
|
-
}, {
|
|
190
|
-
key: "currentMessage",
|
|
191
|
-
get: function get() {
|
|
192
|
-
var _this$getState = this.getState(),
|
|
193
|
-
messages = _this$getState.messages;
|
|
194
|
-
return messages[messages.length - 1];
|
|
195
|
-
}
|
|
196
|
-
}, {
|
|
197
|
-
key: "lastAIMessage",
|
|
198
|
-
get: function get() {
|
|
199
|
-
var _this$getState2 = this.getState(),
|
|
200
|
-
messages = _this$getState2.messages;
|
|
201
|
-
var aiMessages = messages.filter(function (msg) {
|
|
202
|
-
return isAIMessage(msg);
|
|
203
|
-
});
|
|
204
|
-
return aiMessages[aiMessages.length - 1];
|
|
205
|
-
}
|
|
206
|
-
}, {
|
|
207
|
-
key: "lastUserMessage",
|
|
208
|
-
get: function get() {
|
|
209
|
-
var _this$getState3 = this.getState(),
|
|
210
|
-
messages = _this$getState3.messages;
|
|
211
|
-
var userMessages = messages.filter(function (msg) {
|
|
212
|
-
return isUserMessage(msg);
|
|
213
|
-
});
|
|
214
|
-
return userMessages[userMessages.length - 1];
|
|
215
|
-
}
|
|
216
|
-
}, {
|
|
217
|
-
key: "updateMessageStatusByContent",
|
|
218
|
-
value: function updateMessageStatusByContent(message) {
|
|
219
|
-
if (!message.content) return;
|
|
220
|
-
if (message.content.some(function (c) {
|
|
221
|
-
return c.status === "error";
|
|
222
|
-
})) {
|
|
223
|
-
message.status = "error";
|
|
224
|
-
message.content.forEach(function (content) {
|
|
225
|
-
if (content.status) {
|
|
226
|
-
var resolvedStatus = content.status || "streaming";
|
|
227
|
-
content.status = resolvedStatus === "streaming" ? "stop" : content.status;
|
|
228
|
-
}
|
|
229
|
-
});
|
|
230
|
-
return;
|
|
231
|
-
}
|
|
232
|
-
message.content.slice(0, -1).forEach(function (content) {
|
|
233
|
-
content.status = content.status !== "error" && content.status !== "stop" ? "complete" : content.status;
|
|
234
|
-
});
|
|
235
|
-
}
|
|
236
|
-
}, {
|
|
237
|
-
key: "updateMultipleContents",
|
|
238
|
-
value: function updateMultipleContents(messageId, contents) {
|
|
239
|
-
var _this = this;
|
|
240
|
-
this.setState(function (draft) {
|
|
241
|
-
var message = draft.messages.find(function (m) {
|
|
242
|
-
return m.id === messageId;
|
|
243
|
-
});
|
|
244
|
-
if (!message || !isAIMessage(message) || !message.content) return;
|
|
245
|
-
var messageContent = message.content;
|
|
246
|
-
contents.forEach(function (content) {
|
|
247
|
-
var existingIndex = messageContent.findIndex(function (c) {
|
|
248
|
-
return c.id === content.id || c.type === content.type;
|
|
249
|
-
});
|
|
250
|
-
if (existingIndex >= 0) {
|
|
251
|
-
messageContent[existingIndex] = _objectSpread(_objectSpread({}, messageContent[existingIndex]), content);
|
|
252
|
-
} else {
|
|
253
|
-
messageContent.push(content);
|
|
254
|
-
}
|
|
255
|
-
});
|
|
256
|
-
_this.updateMessageStatusByContent(message);
|
|
257
|
-
});
|
|
258
|
-
}
|
|
259
|
-
}]);
|
|
260
|
-
}(ReactiveState);
|
|
261
|
-
|
|
262
|
-
export { MessageStore };
|
|
263
|
-
//# sourceMappingURL=message.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"message.js","sources":["../../../../../pro-components/chat/chat-engine/core/store/message.ts"],"sourcesContent":["/* eslint-disable no-param-reassign */\n/* eslint-disable class-methods-use-this */\nimport type {\n AIMessage,\n AIMessageContent,\n ChatMessagesData,\n ChatMessageSetterMode,\n ChatMessageStore,\n UserMessage,\n} from '../type';\nimport { isAIMessage, isUserMessage } from '../utils';\nimport ReactiveState from './reactiveState';\n\n// 专注消息生命周期管理\nexport class MessageStore extends ReactiveState<ChatMessageStore> {\n initialize(initialState?: Partial<ChatMessageStore>) {\n super.initialize({\n messageIds: [],\n messages: [],\n ...initialState,\n });\n }\n\n createMessage(message: ChatMessagesData) {\n const { id } = message;\n this.setState((draft) => {\n draft.messageIds.push(id);\n draft.messages.push(message);\n });\n }\n\n createMultiMessages(messages: ChatMessagesData[]) {\n this.setState((draft) => {\n messages.forEach((msg) => {\n draft.messageIds.push(msg.id);\n });\n draft.messages.push(...messages);\n });\n }\n\n setMessages(messages: ChatMessagesData[], mode: ChatMessageSetterMode = 'replace') {\n this.setState((draft) => {\n if (mode === 'replace') {\n draft.messageIds = messages.map((msg) => msg.id);\n draft.messages = [...messages];\n } else if (mode === 'prepend') {\n draft.messageIds = [...messages.map((msg) => msg.id), ...draft.messageIds];\n draft.messages = [...messages, ...draft.messages];\n } else {\n draft.messageIds.push(...messages.map((msg) => msg.id));\n draft.messages.push(...messages);\n }\n });\n }\n\n // 追加内容到指定类型的content\n appendContent(messageId: string, processedContent: AIMessageContent, targetIndex = -1) {\n this.setState((draft) => {\n const message = draft.messages.find((m) => m.id === messageId);\n if (!message || !isAIMessage(message) || !message.content) return;\n\n if (targetIndex >= 0 && targetIndex < message.content.length) {\n // 合并到指定位置\n message.content[targetIndex] = processedContent;\n } else {\n // 添加新内容块\n message.content.push(processedContent);\n }\n\n // 移除消息整体状态的自动推断,让ChatEngine控制\n // this.updateMessageStatusByContent(message);\n });\n }\n\n // 完整替换消息的content数组\n replaceContent(messageId: string, processedContent: AIMessageContent[]) {\n this.setState((draft) => {\n const message = draft.messages.find((m) => m.id === messageId);\n if (!message || !isAIMessage(message)) return;\n message.content = processedContent;\n });\n }\n\n // 更新消息整体状态\n setMessageStatus(messageId: string, status: ChatMessagesData['status']) {\n this.setState((draft) => {\n const message = draft.messages.find((m) => m.id === messageId);\n if (message) {\n message.status = status;\n if (isAIMessage(message) && message.content && message.content.length > 0) {\n const lastContent = message.content[message.content.length - 1];\n // 添加类型检查,确保content有status属性\n if ('status' in lastContent) {\n lastContent.status = status;\n }\n }\n }\n });\n }\n\n // 为消息设置扩展属性\n setMessageExt(messageId: string, attr = {}) {\n this.setState((draft) => {\n const message = draft.messages.find((m) => m.id === messageId);\n if (message) {\n message.ext = { ...message.ext, ...attr };\n }\n });\n }\n\n // 为AI消息设置工具调用\n // setMessageToolCalls(messageId: string, toolCalls: ToolCall[]) {\n // this.setState((draft) => {\n // const message = draft.messages.find((m) => m.id === messageId);\n // if (message && isAIMessage(message)) {\n // message.toolCalls = toolCalls;\n // }\n // });\n // }\n\n clearHistory() {\n this.setState((draft) => {\n draft.messageIds = [];\n draft.messages = [];\n });\n }\n\n // 删除指定消息\n removeMessage(messageId: string) {\n this.setState((draft) => {\n // 从ID列表删除\n const idIndex = draft.messageIds.indexOf(messageId);\n if (idIndex !== -1) {\n draft.messageIds.splice(idIndex, 1);\n }\n\n // 从消息列表删除\n draft.messages = draft.messages.filter((msg) => msg.id !== messageId);\n });\n }\n\n // 创建消息分支(用于保留历史版本)\n createMessageBranch(messageId: string) {\n const original = this.getState().messages.find((m) => m.id === messageId);\n if (!original || !original.content) return;\n\n // 克隆消息并生成新ID\n const branchedMessage = {\n ...original,\n content: original.content.map((c) => ({ ...c })),\n } as ChatMessagesData;\n\n this.createMessage(branchedMessage);\n }\n\n get messages() {\n return this.getState().messages;\n }\n\n getMessageByID(id: string) {\n return this.getState().messages.find((m) => m.id === id);\n }\n\n get currentMessage(): ChatMessagesData {\n const { messages } = this.getState();\n return messages[messages.length - 1];\n }\n\n get lastAIMessage(): AIMessage | undefined {\n const { messages } = this.getState();\n const aiMessages = messages.filter((msg) => isAIMessage(msg));\n return aiMessages[aiMessages.length - 1];\n }\n\n get lastUserMessage(): UserMessage | undefined {\n const { messages } = this.getState();\n const userMessages = messages.filter((msg) => isUserMessage(msg));\n return userMessages[userMessages.length - 1];\n }\n\n // 更新消息整体状态(自动推断)\n private updateMessageStatusByContent(message: AIMessage) {\n if (!message.content) return;\n\n // 优先处理错误状态\n if (message.content.some((c) => c.status === 'error')) {\n message.status = 'error';\n message.content.forEach((content) => {\n if (content.status) {\n const resolvedStatus = content.status || 'streaming';\n content.status = resolvedStatus === 'streaming' ? 'stop' : content.status;\n }\n });\n return;\n }\n\n // 非最后一个内容块处理\n message.content.slice(0, -1).forEach((content) => {\n content.status = content.status !== 'error' && content.status !== 'stop' ? 'complete' : content.status;\n });\n }\n\n /**\n * 更新多个内容块\n * @param messageId 消息ID\n * @param contents 要更新的内容块数组\n */\n updateMultipleContents(messageId: string, contents: AIMessageContent[]) {\n this.setState((draft) => {\n const message = draft.messages.find((m) => m.id === messageId);\n if (!message || !isAIMessage(message) || !message.content) return;\n\n const messageContent = message.content; // 确保TypeScript知道content存在\n\n // 更新或添加每个内容块\n contents.forEach((content) => {\n const existingIndex = messageContent.findIndex((c) => c.id === content.id || c.type === content.type);\n\n if (existingIndex >= 0) {\n // 更新现有内容块\n messageContent[existingIndex] = {\n ...messageContent[existingIndex],\n ...content,\n };\n } else {\n // 添加新内容块\n messageContent.push(content);\n }\n });\n\n // 消息整体状态的自动推断\n this.updateMessageStatusByContent(message);\n });\n }\n}\n\n// 订阅消息列表变化\n// useEffect(() => {\n// return service.messageStore.subscribe(state => {\n// setMessages(state.messages);\n// });\n// }, []);\n"],"names":["MessageStore","initialize","initialState","_superPropGet","_objectSpread","messageIds","messages","key","value","createMessage","message","id","setState","draft","push","createMultiMessages","_draft$messages","forEach","msg","apply","_toConsumableArray","setMessages","mode","arguments","length","undefined","map","concat","_draft$messageIds","_draft$messages2","appendContent","messageId","processedContent","targetIndex","find","m","isAIMessage","content","replaceContent","setMessageStatus","status","lastContent","setMessageExt","attr","ext","clearHistory","removeMessage","idIndex","indexOf","splice","filter","createMessageBranch","original","getState","branchedMessage","c","get","getMessageByID","_this$getState","_this$getState2","aiMessages","_this$getState3","userMessages","isUserMessage","updateMessageStatusByContent","some","resolvedStatus","slice","updateMultipleContents","contents","_this","messageContent","existingIndex","findIndex","type","ReactiveState"],"mappings":"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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { ModelServiceState } from '../type';
|
|
2
|
-
import ReactiveState from './reactiveState';
|
|
3
|
-
export declare class ModelStore extends ReactiveState<ModelServiceState> {
|
|
4
|
-
initialize(initialState?: ModelServiceState): void;
|
|
5
|
-
setCurrentModel(modelName: string): void;
|
|
6
|
-
setUseThink(use: boolean): void;
|
|
7
|
-
setUseSearch(use: boolean): void;
|
|
8
|
-
}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* tdesign v1.0.1
|
|
3
|
-
* (c) 2025 tdesign
|
|
4
|
-
* @license MIT
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
8
|
-
import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
|
|
9
|
-
import _createClass from '@babel/runtime/helpers/createClass';
|
|
10
|
-
import _possibleConstructorReturn from '@babel/runtime/helpers/possibleConstructorReturn';
|
|
11
|
-
import _getPrototypeOf from '@babel/runtime/helpers/getPrototypeOf';
|
|
12
|
-
import _get from '@babel/runtime/helpers/get';
|
|
13
|
-
import _inherits from '@babel/runtime/helpers/inherits';
|
|
14
|
-
import ReactiveState from './reactiveState.js';
|
|
15
|
-
import '@babel/runtime/helpers/toConsumableArray';
|
|
16
|
-
import '@babel/runtime/helpers/slicedToArray';
|
|
17
|
-
import '@babel/runtime/helpers/wrapNativeSuper';
|
|
18
|
-
import '@babel/runtime/helpers/typeof';
|
|
19
|
-
|
|
20
|
-
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; }
|
|
21
|
-
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; }
|
|
22
|
-
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
23
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
24
|
-
function _superPropGet(t, o, e, r) { var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e); return 2 & r && "function" == typeof p ? function (t) { return p.apply(e, t); } : p; }
|
|
25
|
-
var ModelStore = /*#__PURE__*/function (_ReactiveState) {
|
|
26
|
-
function ModelStore() {
|
|
27
|
-
_classCallCheck(this, ModelStore);
|
|
28
|
-
return _callSuper(this, ModelStore, arguments);
|
|
29
|
-
}
|
|
30
|
-
_inherits(ModelStore, _ReactiveState);
|
|
31
|
-
return _createClass(ModelStore, [{
|
|
32
|
-
key: "initialize",
|
|
33
|
-
value: function initialize(initialState) {
|
|
34
|
-
_superPropGet(ModelStore, "initialize", this, 3)([_objectSpread({
|
|
35
|
-
useSearch: false,
|
|
36
|
-
useThink: false,
|
|
37
|
-
model: ""
|
|
38
|
-
}, initialState)]);
|
|
39
|
-
}
|
|
40
|
-
}, {
|
|
41
|
-
key: "setCurrentModel",
|
|
42
|
-
value: function setCurrentModel(modelName) {
|
|
43
|
-
this.setState(function (draft) {
|
|
44
|
-
draft.model = modelName;
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
}, {
|
|
48
|
-
key: "setUseThink",
|
|
49
|
-
value: function setUseThink(use) {
|
|
50
|
-
this.setState(function (draft) {
|
|
51
|
-
draft.useThink = use;
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
}, {
|
|
55
|
-
key: "setUseSearch",
|
|
56
|
-
value: function setUseSearch(use) {
|
|
57
|
-
this.setState(function (draft) {
|
|
58
|
-
draft.useSearch = use;
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
}]);
|
|
62
|
-
}(ReactiveState);
|
|
63
|
-
|
|
64
|
-
export { ModelStore };
|
|
65
|
-
//# sourceMappingURL=model.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sources":["../../../../../pro-components/chat/chat-engine/core/store/model.ts"],"sourcesContent":["import type { ModelServiceState } from '../type';\nimport ReactiveState from './reactiveState';\n\n// 专注模型状态和运行时管理\nexport class ModelStore extends ReactiveState<ModelServiceState> {\n initialize(initialState?: ModelServiceState) {\n super.initialize({\n useSearch: false,\n useThink: false,\n model: '',\n ...initialState,\n });\n }\n\n setCurrentModel(modelName: string) {\n this.setState((draft) => {\n draft.model = modelName;\n });\n }\n\n setUseThink(use: boolean) {\n this.setState((draft) => {\n draft.useThink = use;\n });\n }\n\n setUseSearch(use: boolean) {\n this.setState((draft) => {\n draft.useSearch = use;\n });\n }\n}\n"],"names":["ModelStore","initialize","initialState","_superPropGet","_objectSpread","useSearch","useThink","model","key","value","setCurrentModel","modelName","setState","draft","setUseThink","use","setUseSearch","ReactiveState"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAIaA,IAAAA;;;;;;;;WACX,SAAAC,WAAWC,YAAkC,EAAA;MAC3CC,aAAA,CAAAH,UAAA,EAAA,YAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,CAAAI,aAAA,CAAA;AACEC,QAAAA,SAAW,EAAA,KAAA;AACXC,QAAAA,QAAU,EAAA,KAAA;AACVC,QAAAA,KAAO,EAAA,EAAA;AAAA,OAAA,EACJL,YAAA,CAAA,CAAA,CAAA,CAAA;AAEP,KAAA;AAAA,GAAA,EAAA;IAAAM,GAAA,EAAA,iBAAA;AAAAC,IAAAA,KAAA,EAEA,SAAAC,gBAAgBC,SAAmB,EAAA;AAC5B,MAAA,IAAA,CAAAC,QAAA,CAAS,UAACC,KAAU,EAAA;QACvBA,KAAA,CAAMN,KAAQ,GAAAI,SAAA,CAAA;AAChB,OAAC,CAAA,CAAA;AACH,KAAA;AAAA,GAAA,EAAA;IAAAH,GAAA,EAAA,aAAA;AAAAC,IAAAA,KAAA,EAEA,SAAAK,YAAYC,GAAc,EAAA;AACnB,MAAA,IAAA,CAAAH,QAAA,CAAS,UAACC,KAAU,EAAA;QACvBA,KAAA,CAAMP,QAAW,GAAAS,GAAA,CAAA;AACnB,OAAC,CAAA,CAAA;AACH,KAAA;AAAA,GAAA,EAAA;IAAAP,GAAA,EAAA,cAAA;AAAAC,IAAAA,KAAA,EAEA,SAAAO,aAAaD,GAAc,EAAA;AACpB,MAAA,IAAA,CAAAH,QAAA,CAAS,UAACC,KAAU,EAAA;QACvBA,KAAA,CAAMR,SAAY,GAAAU,GAAA,CAAA;AACpB,OAAC,CAAA,CAAA;AACH,KAAA;AAAA,GAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CA1B8BE,aAAiC;;;;"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 状态订阅者回调函数类型
|
|
3
|
-
* @template T 状态类型
|
|
4
|
-
* @param state 只读的最新状态
|
|
5
|
-
* @param changes 发生变更的路径数组(只读)
|
|
6
|
-
*/
|
|
7
|
-
export type Subscriber<T> = (state: Readonly<T>, changes: readonly string[]) => void;
|
|
8
|
-
/**
|
|
9
|
-
* 响应式状态管理类,提供高效的状态管理和变更追踪功能
|
|
10
|
-
* @template T 状态对象类型,必须为object类型
|
|
11
|
-
*/
|
|
12
|
-
export default class ReactiveState<T extends object> {
|
|
13
|
-
private currentState;
|
|
14
|
-
private subscribers;
|
|
15
|
-
private pendingChanges;
|
|
16
|
-
private notificationScheduled;
|
|
17
|
-
private pathSubscribers;
|
|
18
|
-
/**
|
|
19
|
-
* 初始化响应式状态
|
|
20
|
-
* @param initialState 初始状态(会自动冻结)
|
|
21
|
-
*/
|
|
22
|
-
initialize(initialState: T): void;
|
|
23
|
-
/**
|
|
24
|
-
* 更新状态方法
|
|
25
|
-
* @param updater 状态更新函数(使用immer的draft机制)
|
|
26
|
-
* @param paths 可选的手动指定变更路径(自动模式会从immer patches中提取)
|
|
27
|
-
*/
|
|
28
|
-
setState(updater: (draft: T) => void, paths?: string[]): void;
|
|
29
|
-
/**
|
|
30
|
-
* 获取当前状态
|
|
31
|
-
* @param cloned 是否返回克隆副本(默认false)
|
|
32
|
-
* @returns 当前状态的只读引用或克隆副本
|
|
33
|
-
*/
|
|
34
|
-
getState(cloned?: boolean): Readonly<T>;
|
|
35
|
-
/**
|
|
36
|
-
* 订阅状态变更(支持路径过滤),订阅时维护路径索引
|
|
37
|
-
* @param subscriber 订阅回调函数
|
|
38
|
-
* @param paths 可选的要监听的属性路径数组
|
|
39
|
-
* @returns 取消订阅的函数
|
|
40
|
-
*/
|
|
41
|
-
subscribe(subscriber: Subscriber<T>, paths?: string[]): () => void;
|
|
42
|
-
/**
|
|
43
|
-
* 调度通知(使用微任务批量处理)
|
|
44
|
-
*/
|
|
45
|
-
private scheduleNotification;
|
|
46
|
-
/**
|
|
47
|
-
* 调试方法(开发时使用)
|
|
48
|
-
* @param label 调试标签(默认'State')
|
|
49
|
-
* @returns 当前实例(支持链式调用)
|
|
50
|
-
*/
|
|
51
|
-
debug(label?: string): this;
|
|
52
|
-
}
|