@tdesign-react/chat 1.0.1 → 1.0.2-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/_util/reactify.js +1 -1
- package/es/_util/useDynamicStyle.js +1 -1
- package/es/chat-actionbar/_example-js/base.d.ts +2 -0
- package/es/chat-actionbar/_example-js/custom.d.ts +2 -0
- package/es/chat-actionbar/_example-js/style.d.ts +2 -0
- package/es/chat-actionbar/index.js +1 -1
- package/es/chat-attachments/_example-js/base.d.ts +2 -0
- package/es/chat-attachments/_example-js/scroll-x.d.ts +2 -0
- package/es/chat-attachments/_example-js/scroll-y.d.ts +2 -0
- package/es/chat-attachments/index.js +1 -1
- package/es/chat-engine/_example-js/agui-basic.d.ts +10 -0
- package/es/chat-engine/_example-js/agui-comprehensive.d.ts +2 -0
- package/es/chat-engine/_example-js/agui-test.d.ts +11 -0
- package/es/chat-engine/_example-js/agui-toolcall.d.ts +5 -0
- package/es/chat-engine/_example-js/agui-videoclip.d.ts +8 -0
- package/es/chat-engine/_example-js/agui.d.ts +1 -0
- package/es/chat-engine/_example-js/basic.d.ts +9 -0
- package/es/chat-engine/_example-js/components/HotelCard.d.ts +3 -0
- package/es/chat-engine/_example-js/components/HumanInputForm.d.ts +6 -0
- package/es/chat-engine/_example-js/components/HumanInputResult.d.ts +3 -0
- package/es/chat-engine/_example-js/components/ItineraryCard.d.ts +3 -0
- package/es/chat-engine/_example-js/components/PlanningStatePanel.d.ts +4 -0
- package/es/chat-engine/_example-js/components/Toolcall.d.ts +4 -0
- package/es/chat-engine/_example-js/components/WeatherCard.d.ts +3 -0
- package/es/chat-engine/_example-js/components/login.d.ts +1 -0
- package/es/chat-engine/_example-js/comprehensive.d.ts +12 -0
- package/es/chat-engine/_example-js/custom-content.d.ts +1 -0
- package/es/chat-engine/_example-js/hookComponent.d.ts +1 -0
- package/es/chat-engine/_example-js/initial-messages.d.ts +9 -0
- package/es/chat-engine/_example-js/instance-methods.d.ts +13 -0
- package/es/chat-engine/_example-js/travel-actions.d.ts +91 -0
- package/es/chat-engine/_example-js/travelToolcall.d.ts +1 -0
- package/es/chat-engine/components/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/types.js +1 -1
- package/es/chat-engine/core/adapters/agui/event-mapper.d.ts +104 -0
- package/es/chat-engine/core/adapters/agui/event-mapper.js +348 -0
- package/es/chat-engine/core/adapters/agui/event-mapper.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/events.d.ts +1394 -0
- package/es/chat-engine/core/adapters/agui/events.js +181 -0
- package/es/chat-engine/core/adapters/agui/events.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/index.d.ts +75 -0
- package/es/chat-engine/core/adapters/agui/index.js +165 -0
- package/es/chat-engine/core/adapters/agui/index.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/state-manager.d.ts +99 -0
- package/es/chat-engine/core/adapters/agui/state-manager.js +168 -0
- package/es/chat-engine/core/adapters/agui/state-manager.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/types.d.ts +760 -0
- package/es/chat-engine/core/adapters/agui/types.js +89 -0
- package/es/chat-engine/core/adapters/agui/types.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/utils.d.ts +180 -0
- package/es/chat-engine/core/adapters/agui/utils.js +302 -0
- package/es/chat-engine/core/adapters/agui/utils.js.map +1 -0
- package/es/chat-engine/core/index.d.ts +132 -0
- package/es/chat-engine/core/index.js +597 -0
- package/es/chat-engine/core/index.js.map +1 -0
- package/es/chat-engine/core/processor/index.d.ts +20 -0
- package/es/chat-engine/core/processor/index.js +146 -0
- package/es/chat-engine/core/processor/index.js.map +1 -0
- package/es/chat-engine/core/server/batch-client.d.ts +20 -0
- package/es/chat-engine/core/server/batch-client.js +114 -0
- package/es/chat-engine/core/server/batch-client.js.map +1 -0
- package/es/chat-engine/core/server/connection-manager.d.ts +39 -0
- package/es/chat-engine/core/server/connection-manager.js +84 -0
- package/es/chat-engine/core/server/connection-manager.js.map +1 -0
- package/es/chat-engine/core/server/errors.d.ts +22 -0
- package/es/chat-engine/core/server/errors.js +80 -0
- package/es/chat-engine/core/server/errors.js.map +1 -0
- package/es/chat-engine/core/server/index.d.ts +11 -0
- package/es/chat-engine/core/server/index.js +26 -0
- package/es/chat-engine/core/server/index.js.map +1 -0
- package/es/chat-engine/core/server/llm-service.d.ts +44 -0
- package/es/chat-engine/core/server/llm-service.js +198 -0
- package/es/chat-engine/core/server/llm-service.js.map +1 -0
- package/es/chat-engine/core/server/sse-client.d.ts +77 -0
- package/es/chat-engine/core/server/sse-client.js +362 -0
- package/es/chat-engine/core/server/sse-client.js.map +1 -0
- package/es/chat-engine/core/server/sse-parser.d.ts +49 -0
- package/es/chat-engine/core/server/sse-parser.js +116 -0
- package/es/chat-engine/core/server/sse-parser.js.map +1 -0
- package/es/chat-engine/core/server/types.d.ts +54 -0
- package/es/chat-engine/core/server/types.js +28 -0
- package/es/chat-engine/core/server/types.js.map +1 -0
- package/es/chat-engine/core/store/message.d.ts +27 -0
- package/es/chat-engine/core/store/message.js +263 -0
- package/es/chat-engine/core/store/message.js.map +1 -0
- package/es/chat-engine/core/store/model.d.ts +8 -0
- package/es/chat-engine/core/store/model.js +65 -0
- package/es/chat-engine/core/store/model.js.map +1 -0
- package/es/chat-engine/core/store/reactiveState.d.ts +52 -0
- package/es/chat-engine/core/store/reactiveState.js +1359 -0
- package/es/chat-engine/core/store/reactiveState.js.map +1 -0
- package/es/chat-engine/core/type.d.ts +248 -0
- package/es/chat-engine/core/type.js +7 -0
- package/es/chat-engine/core/type.js.map +1 -0
- package/es/chat-engine/core/utils/eventEmitter.d.ts +10 -0
- package/es/chat-engine/core/utils/eventEmitter.js +67 -0
- package/es/chat-engine/core/utils/eventEmitter.js.map +1 -0
- package/es/chat-engine/core/utils/index.d.ts +32 -0
- package/es/chat-engine/core/utils/index.js +996 -0
- package/es/chat-engine/core/utils/index.js.map +1 -0
- package/es/chat-engine/core/utils/logger.d.ts +30 -0
- package/es/chat-engine/core/utils/logger.js +87 -0
- package/es/chat-engine/core/utils/logger.js.map +1 -0
- package/es/chat-engine/hooks/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/_example-js/base.d.ts +1 -0
- package/es/chat-filecard/index.js +1 -1
- package/es/chat-loading/_example-js/base.d.ts +2 -0
- package/es/chat-loading/_example-js/text.d.ts +2 -0
- package/es/chat-loading/index.js +1 -1
- package/es/chat-markdown/_example-js/base.d.ts +1 -0
- package/es/chat-markdown/_example-js/custom.d.ts +2 -0
- package/es/chat-markdown/_example-js/event.d.ts +1 -0
- package/es/chat-markdown/_example-js/footnote.d.ts +2 -0
- package/es/chat-markdown/_example-js/plugin.d.ts +2 -0
- package/es/chat-markdown/_example-js/theme.d.ts +2 -0
- package/es/chat-markdown/index.js +1 -1
- package/es/chat-message/_example-js/action.d.ts +1 -0
- package/es/chat-message/_example-js/base.d.ts +1 -0
- package/es/chat-message/_example-js/configure.d.ts +1 -0
- package/es/chat-message/_example-js/content.d.ts +1 -0
- package/es/chat-message/_example-js/custom.d.ts +1 -0
- package/es/chat-message/_example-js/handle-actions.d.ts +7 -0
- package/es/chat-message/_example-js/status.d.ts +1 -0
- package/es/chat-message/_example-js/think.d.ts +1 -0
- package/es/chat-message/index.js +1 -1
- package/es/chat-sender/_example-js/attachment.d.ts +2 -0
- package/es/chat-sender/_example-js/base.d.ts +2 -0
- package/es/chat-sender/_example-js/custom.d.ts +2 -0
- package/es/chat-sender/index.js +1 -1
- package/es/chat-thinking/_example-js/base.d.ts +1 -0
- package/es/chat-thinking/_example-js/style.d.ts +1 -0
- package/es/chat-thinking/index.js +1 -1
- package/es/chatbot/_example-js/agent.d.ts +1 -0
- package/es/chatbot/_example-js/agui.d.ts +13 -0
- package/es/chatbot/_example-js/backup/travel.d.ts +1 -0
- package/es/chatbot/_example-js/basic.d.ts +1 -0
- package/es/chatbot/_example-js/code.d.ts +1 -0
- package/es/chatbot/_example-js/components/ItineraryCard.d.ts +3 -0
- package/es/chatbot/_example-js/components/login.d.ts +1 -0
- package/es/chatbot/_example-js/comprehensive.d.ts +1 -0
- package/es/chatbot/_example-js/custom-content.d.ts +1 -0
- package/es/chatbot/_example-js/custom-merge.d.ts +1 -0
- package/es/chatbot/_example-js/custom.d.ts +1 -0
- package/es/chatbot/_example-js/docs.d.ts +1 -0
- package/es/chatbot/_example-js/image.d.ts +1 -0
- package/es/chatbot/_example-js/initial-messages.d.ts +9 -0
- package/es/chatbot/_example-js/instance-methods.d.ts +14 -0
- package/es/chatbot/_example-js/nostream.d.ts +1 -0
- package/es/chatbot/_example-js/quick-start.d.ts +9 -0
- package/es/chatbot/_example-js/research.d.ts +1 -0
- package/es/chatbot/_example-js/role-message-config.d.ts +22 -0
- package/es/chatbot/_example-js/sender-config.d.ts +20 -0
- package/es/chatbot/_example-js/service-config.d.ts +17 -0
- package/es/chatbot/_example-js/simple.d.ts +1 -0
- package/es/chatbot/_example-js/utils/messageRenderer.d.ts +5 -0
- package/es/chatbot/index.js +1 -1
- package/es/index.d.ts +0 -1
- package/es/index.js +1 -1
- package/es/style/index.js +1 -1
- package/package.json +4 -6
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.0.1
|
|
3
|
+
* (c) 2025 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import _createClass from '@babel/runtime/helpers/createClass';
|
|
8
|
+
import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
|
|
9
|
+
import _possibleConstructorReturn from '@babel/runtime/helpers/possibleConstructorReturn';
|
|
10
|
+
import _getPrototypeOf from '@babel/runtime/helpers/getPrototypeOf';
|
|
11
|
+
import _inherits from '@babel/runtime/helpers/inherits';
|
|
12
|
+
import _wrapNativeSuper from '@babel/runtime/helpers/wrapNativeSuper';
|
|
13
|
+
|
|
14
|
+
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
15
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
16
|
+
var SSEError = /*#__PURE__*/function (_Error) {
|
|
17
|
+
function SSEError(message, code, statusCode) {
|
|
18
|
+
var _this;
|
|
19
|
+
var isRetryable = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
20
|
+
var details = arguments.length > 4 ? arguments[4] : undefined;
|
|
21
|
+
_classCallCheck(this, SSEError);
|
|
22
|
+
_this = _callSuper(this, SSEError, [message]);
|
|
23
|
+
_this.code = code;
|
|
24
|
+
_this.statusCode = statusCode;
|
|
25
|
+
_this.isRetryable = isRetryable;
|
|
26
|
+
_this.details = details;
|
|
27
|
+
_this.name = "SSEError";
|
|
28
|
+
return _this;
|
|
29
|
+
}
|
|
30
|
+
_inherits(SSEError, _Error);
|
|
31
|
+
return _createClass(SSEError);
|
|
32
|
+
}(/*#__PURE__*/_wrapNativeSuper(Error));
|
|
33
|
+
var ConnectionError = /*#__PURE__*/function (_SSEError) {
|
|
34
|
+
function ConnectionError(message, statusCode, details) {
|
|
35
|
+
var _this2;
|
|
36
|
+
_classCallCheck(this, ConnectionError);
|
|
37
|
+
_this2 = _callSuper(this, ConnectionError, [message, "CONNECTION_ERROR", statusCode, true, details]);
|
|
38
|
+
_this2.name = "ConnectionError";
|
|
39
|
+
return _this2;
|
|
40
|
+
}
|
|
41
|
+
_inherits(ConnectionError, _SSEError);
|
|
42
|
+
return _createClass(ConnectionError);
|
|
43
|
+
}(SSEError);
|
|
44
|
+
var TimeoutError = /*#__PURE__*/function (_SSEError2) {
|
|
45
|
+
function TimeoutError(details) {
|
|
46
|
+
var _this3;
|
|
47
|
+
var message = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "\u8BF7\u6C42\u8D85\u65F6";
|
|
48
|
+
_classCallCheck(this, TimeoutError);
|
|
49
|
+
_this3 = _callSuper(this, TimeoutError, [message, "TIMEOUT_ERROR", void 0, true, details]);
|
|
50
|
+
_this3.name = "TimeoutError";
|
|
51
|
+
return _this3;
|
|
52
|
+
}
|
|
53
|
+
_inherits(TimeoutError, _SSEError2);
|
|
54
|
+
return _createClass(TimeoutError);
|
|
55
|
+
}(SSEError);
|
|
56
|
+
var ParseError = /*#__PURE__*/function (_SSEError3) {
|
|
57
|
+
function ParseError(message, details) {
|
|
58
|
+
var _this4;
|
|
59
|
+
_classCallCheck(this, ParseError);
|
|
60
|
+
_this4 = _callSuper(this, ParseError, [message, "PARSE_ERROR", void 0, false, details]);
|
|
61
|
+
_this4.name = "ParseError";
|
|
62
|
+
return _this4;
|
|
63
|
+
}
|
|
64
|
+
_inherits(ParseError, _SSEError3);
|
|
65
|
+
return _createClass(ParseError);
|
|
66
|
+
}(SSEError);
|
|
67
|
+
var ValidationError = /*#__PURE__*/function (_SSEError4) {
|
|
68
|
+
function ValidationError(message, details) {
|
|
69
|
+
var _this5;
|
|
70
|
+
_classCallCheck(this, ValidationError);
|
|
71
|
+
_this5 = _callSuper(this, ValidationError, [message, "VALIDATION_ERROR", void 0, false, details]);
|
|
72
|
+
_this5.name = "ValidationError";
|
|
73
|
+
return _this5;
|
|
74
|
+
}
|
|
75
|
+
_inherits(ValidationError, _SSEError4);
|
|
76
|
+
return _createClass(ValidationError);
|
|
77
|
+
}(SSEError);
|
|
78
|
+
|
|
79
|
+
export { ConnectionError, ParseError, SSEError, TimeoutError, ValidationError };
|
|
80
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sources":["../../../../../pro-components/chat/chat-engine/core/server/errors.ts"],"sourcesContent":["/* eslint-disable max-classes-per-file */\n/**\n * Enhanced error classes for SSE client\n */\n\n// 基础 SSE 错误类\nexport class SSEError extends Error {\n constructor(\n message: string,\n public readonly code: string,\n public readonly statusCode?: number,\n public readonly isRetryable: boolean = false,\n public readonly details?: any,\n ) {\n super(message);\n this.name = 'SSEError';\n }\n}\n\n// 连接错误\nexport class ConnectionError extends SSEError {\n constructor(message: string, statusCode?: number, details?: any) {\n super(message, 'CONNECTION_ERROR', statusCode, true, details);\n this.name = 'ConnectionError';\n }\n}\n\n// 超时错误\nexport class TimeoutError extends SSEError {\n constructor(details?: any, message = '请求超时') {\n super(message, 'TIMEOUT_ERROR', undefined, true, details);\n this.name = 'TimeoutError';\n }\n}\n\n// 解析错误\nexport class ParseError extends SSEError {\n constructor(message: string, details?: any) {\n super(message, 'PARSE_ERROR', undefined, false, details);\n this.name = 'ParseError';\n }\n}\n\n// 验证错误\nexport class ValidationError extends SSEError {\n constructor(message: string, details?: any) {\n super(message, 'VALIDATION_ERROR', undefined, false, details);\n this.name = 'ValidationError';\n }\n}\n"],"names":["SSEError","message","code","statusCode","_this","isRetryable","arguments","length","undefined","details","_classCallCheck","_callSuper","name","_inherits","_Error","_createClass","_wrapNativeSuper","Error","ConnectionError","_this2","_SSEError","TimeoutError","_this3","_SSEError2","ParseError","_this4","_SSEError3","ValidationError","_this5","_SSEError4"],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SSE 服务管理模块
|
|
3
|
+
* 提供完整的 SSE 客户端、连接管理和 LLM 服务功能
|
|
4
|
+
*/
|
|
5
|
+
import { LLMService } from './llm-service';
|
|
6
|
+
export * from './types';
|
|
7
|
+
export * from './errors';
|
|
8
|
+
export { ConnectionManager } from './connection-manager';
|
|
9
|
+
export { SSEClient } from './sse-client';
|
|
10
|
+
export { LLMService, type ILLMService } from './llm-service';
|
|
11
|
+
export default LLMService;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.0.1
|
|
3
|
+
* (c) 2025 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { LLMService } from './llm-service.js';
|
|
8
|
+
export { LLMService, LLMService as default } from './llm-service.js';
|
|
9
|
+
export { DEFAULT_SSE_CONFIG, SSEConnectionState } from './types.js';
|
|
10
|
+
export { ConnectionError, ParseError, SSEError, TimeoutError, ValidationError } from './errors.js';
|
|
11
|
+
export { ConnectionManager } from './connection-manager.js';
|
|
12
|
+
export { SSEClient } from './sse-client.js';
|
|
13
|
+
import '@babel/runtime/helpers/asyncToGenerator';
|
|
14
|
+
import '@babel/runtime/helpers/classCallCheck';
|
|
15
|
+
import '@babel/runtime/helpers/createClass';
|
|
16
|
+
import '@babel/runtime/helpers/defineProperty';
|
|
17
|
+
import '@babel/runtime/regenerator';
|
|
18
|
+
import '../utils/logger.js';
|
|
19
|
+
import './batch-client.js';
|
|
20
|
+
import '@babel/runtime/helpers/possibleConstructorReturn';
|
|
21
|
+
import '@babel/runtime/helpers/getPrototypeOf';
|
|
22
|
+
import '@babel/runtime/helpers/inherits';
|
|
23
|
+
import '../utils/eventEmitter.js';
|
|
24
|
+
import '@babel/runtime/helpers/wrapNativeSuper';
|
|
25
|
+
import './sse-parser.js';
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { AIMessageContent, ChatRequestParams, ChatServiceConfig } from '../type';
|
|
2
|
+
export interface ILLMService {
|
|
3
|
+
/**
|
|
4
|
+
* 处理批量请求(非流式)
|
|
5
|
+
*/
|
|
6
|
+
handleBatchRequest(params: ChatRequestParams, config: ChatServiceConfig): Promise<AIMessageContent | AIMessageContent[]>;
|
|
7
|
+
/**
|
|
8
|
+
* 处理流式请求
|
|
9
|
+
*/
|
|
10
|
+
handleStreamRequest(params: ChatRequestParams, config: ChatServiceConfig): Promise<void>;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Enhanced LLM Service with error handling and connection management
|
|
14
|
+
*/
|
|
15
|
+
export declare class LLMService implements ILLMService {
|
|
16
|
+
private sseClient;
|
|
17
|
+
private batchClient;
|
|
18
|
+
private isDestroyed;
|
|
19
|
+
private logger;
|
|
20
|
+
/**
|
|
21
|
+
* 处理批量请求(非流式)
|
|
22
|
+
*/
|
|
23
|
+
handleBatchRequest(params: ChatRequestParams, config: ChatServiceConfig): Promise<AIMessageContent | AIMessageContent[]>;
|
|
24
|
+
/**
|
|
25
|
+
* 处理流式请求
|
|
26
|
+
*/
|
|
27
|
+
handleStreamRequest(params: ChatRequestParams, config: ChatServiceConfig): Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* 关闭所有客户端连接
|
|
30
|
+
*/
|
|
31
|
+
closeConnect(): void;
|
|
32
|
+
/**
|
|
33
|
+
* 获取连接统计
|
|
34
|
+
*/
|
|
35
|
+
getSSEStats(): {
|
|
36
|
+
id: string;
|
|
37
|
+
status: string;
|
|
38
|
+
info: any;
|
|
39
|
+
} | null;
|
|
40
|
+
/**
|
|
41
|
+
* 销毁服务
|
|
42
|
+
*/
|
|
43
|
+
destroy(): Promise<void>;
|
|
44
|
+
}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.0.1
|
|
3
|
+
* (c) 2025 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
|
|
8
|
+
import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
|
|
9
|
+
import _createClass from '@babel/runtime/helpers/createClass';
|
|
10
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
11
|
+
import _regeneratorRuntime from '@babel/runtime/regenerator';
|
|
12
|
+
import { LoggerManager } from '../utils/logger.js';
|
|
13
|
+
import { BatchClient } from './batch-client.js';
|
|
14
|
+
import { SSEClient } from './sse-client.js';
|
|
15
|
+
import '@babel/runtime/helpers/possibleConstructorReturn';
|
|
16
|
+
import '@babel/runtime/helpers/getPrototypeOf';
|
|
17
|
+
import '@babel/runtime/helpers/inherits';
|
|
18
|
+
import '../utils/eventEmitter.js';
|
|
19
|
+
import './errors.js';
|
|
20
|
+
import '@babel/runtime/helpers/wrapNativeSuper';
|
|
21
|
+
import './connection-manager.js';
|
|
22
|
+
import './sse-parser.js';
|
|
23
|
+
import './types.js';
|
|
24
|
+
|
|
25
|
+
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; }
|
|
26
|
+
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; }
|
|
27
|
+
var LLMService = /*#__PURE__*/function () {
|
|
28
|
+
function LLMService() {
|
|
29
|
+
_classCallCheck(this, LLMService);
|
|
30
|
+
_defineProperty(this, "sseClient", null);
|
|
31
|
+
_defineProperty(this, "batchClient", null);
|
|
32
|
+
_defineProperty(this, "isDestroyed", false);
|
|
33
|
+
_defineProperty(this, "logger", LoggerManager.getLogger());
|
|
34
|
+
}
|
|
35
|
+
return _createClass(LLMService, [{
|
|
36
|
+
key: "handleBatchRequest",
|
|
37
|
+
value: function () {
|
|
38
|
+
var _handleBatchRequest = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(params, config) {
|
|
39
|
+
var _config$onRequest;
|
|
40
|
+
var req, data, _config$onComplete, result, _config$onError2, _t, _t2;
|
|
41
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
42
|
+
while (1) switch (_context.prev = _context.next) {
|
|
43
|
+
case 0:
|
|
44
|
+
this.batchClient = this.batchClient || new BatchClient();
|
|
45
|
+
this.batchClient.on("error", function (error) {
|
|
46
|
+
var _config$onError;
|
|
47
|
+
(_config$onError = config.onError) === null || _config$onError === void 0 || _config$onError.call(config, error);
|
|
48
|
+
});
|
|
49
|
+
_context.next = 1;
|
|
50
|
+
return (_config$onRequest = config.onRequest) === null || _config$onRequest === void 0 ? void 0 : _config$onRequest.call(config, params);
|
|
51
|
+
case 1:
|
|
52
|
+
_t = _context.sent;
|
|
53
|
+
if (_t) {
|
|
54
|
+
_context.next = 2;
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
_t = params;
|
|
58
|
+
case 2:
|
|
59
|
+
req = _t;
|
|
60
|
+
_context.prev = 3;
|
|
61
|
+
_context.next = 4;
|
|
62
|
+
return this.batchClient.request(config.endpoint, {
|
|
63
|
+
method: "POST",
|
|
64
|
+
headers: _objectSpread({
|
|
65
|
+
"Content-Type": "application/json"
|
|
66
|
+
}, req.headers),
|
|
67
|
+
body: req.body
|
|
68
|
+
}, config.timeout);
|
|
69
|
+
case 4:
|
|
70
|
+
data = _context.sent;
|
|
71
|
+
if (!data) {
|
|
72
|
+
_context.next = 5;
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
result = (_config$onComplete = config.onComplete) === null || _config$onComplete === void 0 ? void 0 : _config$onComplete.call(config, false, req, data);
|
|
76
|
+
return _context.abrupt("return", result || data);
|
|
77
|
+
case 5:
|
|
78
|
+
return _context.abrupt("return", []);
|
|
79
|
+
case 6:
|
|
80
|
+
_context.prev = 6;
|
|
81
|
+
_t2 = _context["catch"](3);
|
|
82
|
+
(_config$onError2 = config.onError) === null || _config$onError2 === void 0 || _config$onError2.call(config, _t2);
|
|
83
|
+
throw _t2;
|
|
84
|
+
case 7:
|
|
85
|
+
case "end":
|
|
86
|
+
return _context.stop();
|
|
87
|
+
}
|
|
88
|
+
}, _callee, this, [[3, 6]]);
|
|
89
|
+
}));
|
|
90
|
+
function handleBatchRequest(_x, _x2) {
|
|
91
|
+
return _handleBatchRequest.apply(this, arguments);
|
|
92
|
+
}
|
|
93
|
+
return handleBatchRequest;
|
|
94
|
+
}()
|
|
95
|
+
}, {
|
|
96
|
+
key: "handleStreamRequest",
|
|
97
|
+
value: function () {
|
|
98
|
+
var _handleStreamRequest = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(params, config) {
|
|
99
|
+
var _config$onRequest2;
|
|
100
|
+
var req, _t3;
|
|
101
|
+
return _regeneratorRuntime.wrap(function (_context2) {
|
|
102
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
103
|
+
case 0:
|
|
104
|
+
if (config.endpoint) {
|
|
105
|
+
_context2.next = 1;
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
return _context2.abrupt("return");
|
|
109
|
+
case 1:
|
|
110
|
+
this.sseClient = new SSEClient(config.endpoint);
|
|
111
|
+
_context2.next = 2;
|
|
112
|
+
return (_config$onRequest2 = config.onRequest) === null || _config$onRequest2 === void 0 ? void 0 : _config$onRequest2.call(config, params);
|
|
113
|
+
case 2:
|
|
114
|
+
_t3 = _context2.sent;
|
|
115
|
+
if (_t3) {
|
|
116
|
+
_context2.next = 3;
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
119
|
+
_t3 = {};
|
|
120
|
+
case 3:
|
|
121
|
+
req = _t3;
|
|
122
|
+
this.sseClient.on("start", function (chunk) {
|
|
123
|
+
var _config$onStart;
|
|
124
|
+
(_config$onStart = config.onStart) === null || _config$onStart === void 0 || _config$onStart.call(config, chunk);
|
|
125
|
+
});
|
|
126
|
+
this.sseClient.on("message", function (msg) {
|
|
127
|
+
var _config$onMessage;
|
|
128
|
+
(_config$onMessage = config.onMessage) === null || _config$onMessage === void 0 || _config$onMessage.call(config, msg);
|
|
129
|
+
});
|
|
130
|
+
this.sseClient.on("error", function (error) {
|
|
131
|
+
var _config$onError3;
|
|
132
|
+
(_config$onError3 = config.onError) === null || _config$onError3 === void 0 || _config$onError3.call(config, error);
|
|
133
|
+
});
|
|
134
|
+
this.sseClient.on("complete", function (isAborted) {
|
|
135
|
+
var _config$onComplete2;
|
|
136
|
+
(_config$onComplete2 = config.onComplete) === null || _config$onComplete2 === void 0 || _config$onComplete2.call(config, isAborted, req);
|
|
137
|
+
});
|
|
138
|
+
_context2.next = 4;
|
|
139
|
+
return this.sseClient.connect(req);
|
|
140
|
+
case 4:
|
|
141
|
+
case "end":
|
|
142
|
+
return _context2.stop();
|
|
143
|
+
}
|
|
144
|
+
}, _callee2, this);
|
|
145
|
+
}));
|
|
146
|
+
function handleStreamRequest(_x3, _x4) {
|
|
147
|
+
return _handleStreamRequest.apply(this, arguments);
|
|
148
|
+
}
|
|
149
|
+
return handleStreamRequest;
|
|
150
|
+
}()
|
|
151
|
+
}, {
|
|
152
|
+
key: "closeConnect",
|
|
153
|
+
value: function closeConnect() {
|
|
154
|
+
if (this.sseClient) {
|
|
155
|
+
this.sseClient.abort();
|
|
156
|
+
this.sseClient = null;
|
|
157
|
+
}
|
|
158
|
+
if (this.batchClient) {
|
|
159
|
+
this.batchClient.abort();
|
|
160
|
+
this.batchClient = null;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}, {
|
|
164
|
+
key: "getSSEStats",
|
|
165
|
+
value: function getSSEStats() {
|
|
166
|
+
if (!this.sseClient) return null;
|
|
167
|
+
return {
|
|
168
|
+
id: this.sseClient.connectionId,
|
|
169
|
+
status: this.sseClient.getStatus(),
|
|
170
|
+
info: this.sseClient.getInfo()
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
}, {
|
|
174
|
+
key: "destroy",
|
|
175
|
+
value: function () {
|
|
176
|
+
var _destroy = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
|
|
177
|
+
return _regeneratorRuntime.wrap(function (_context3) {
|
|
178
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
179
|
+
case 0:
|
|
180
|
+
this.isDestroyed = true;
|
|
181
|
+
this.closeConnect();
|
|
182
|
+
this.logger.info("Enhanced LLM Service destroyed");
|
|
183
|
+
case 1:
|
|
184
|
+
case "end":
|
|
185
|
+
return _context3.stop();
|
|
186
|
+
}
|
|
187
|
+
}, _callee3, this);
|
|
188
|
+
}));
|
|
189
|
+
function destroy() {
|
|
190
|
+
return _destroy.apply(this, arguments);
|
|
191
|
+
}
|
|
192
|
+
return destroy;
|
|
193
|
+
}()
|
|
194
|
+
}]);
|
|
195
|
+
}();
|
|
196
|
+
|
|
197
|
+
export { LLMService };
|
|
198
|
+
//# sourceMappingURL=llm-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llm-service.js","sources":["../../../../../pro-components/chat/chat-engine/core/server/llm-service.ts"],"sourcesContent":["import type { AIMessageContent, ChatRequestParams, ChatServiceConfig, SSEChunkData } from '../type';\nimport { LoggerManager } from '../utils/logger';\nimport { BatchClient } from './batch-client';\nimport { SSEClient } from './sse-client';\n\n// 与原有接口保持兼容\nexport interface ILLMService {\n /**\n * 处理批量请求(非流式)\n */\n handleBatchRequest(\n params: ChatRequestParams,\n config: ChatServiceConfig,\n ): Promise<AIMessageContent | AIMessageContent[]>;\n\n /**\n * 处理流式请求\n */\n handleStreamRequest(params: ChatRequestParams, config: ChatServiceConfig): Promise<void>;\n}\n\n/**\n * Enhanced LLM Service with error handling and connection management\n */\nexport class LLMService implements ILLMService {\n private sseClient: SSEClient | null = null;\n\n private batchClient: BatchClient | null = null;\n\n private isDestroyed = false;\n\n private logger = LoggerManager.getLogger();\n\n /**\n * 处理批量请求(非流式)\n */\n async handleBatchRequest(\n params: ChatRequestParams,\n config: ChatServiceConfig,\n ): Promise<AIMessageContent | AIMessageContent[]> {\n // 确保只有一个客户端实例\n this.batchClient = this.batchClient || new BatchClient();\n this.batchClient.on('error', (error) => {\n config.onError?.(error);\n });\n\n const req = (await config.onRequest?.(params)) || params;\n\n try {\n const data = await this.batchClient.request<AIMessageContent>(\n config.endpoint!,\n {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n ...req.headers,\n },\n body: req.body,\n },\n config.timeout, // 现在timeout属性已存在\n );\n if (data) {\n const result = config.onComplete?.(false, req, data);\n // 如果onComplete返回了内容,使用它;否则使用原始data\n return result || data;\n }\n // 如果没有data,返回空数组\n return [];\n } catch (error) {\n config.onError?.(error as Error | Response);\n throw error;\n }\n }\n\n /**\n * 处理流式请求\n */\n async handleStreamRequest(params: ChatRequestParams, config: ChatServiceConfig): Promise<void> {\n if (!config.endpoint) return;\n this.sseClient = new SSEClient(config.endpoint);\n\n const req = (await config.onRequest?.(params)) || {};\n\n // 设置事件处理器\n this.sseClient.on('start', (chunk) => {\n config.onStart?.(chunk);\n });\n\n this.sseClient.on('message', (msg) => {\n config.onMessage?.(msg as SSEChunkData);\n });\n\n this.sseClient.on('error', (error) => {\n config.onError?.(error);\n });\n\n this.sseClient.on('complete', (isAborted) => {\n config.onComplete?.(isAborted, req);\n });\n\n await this.sseClient.connect(req);\n }\n\n /**\n * 关闭所有客户端连接\n */\n closeConnect(): void {\n if (this.sseClient) {\n this.sseClient.abort();\n this.sseClient = null;\n }\n if (this.batchClient) {\n this.batchClient.abort();\n this.batchClient = null;\n }\n }\n\n /**\n * 获取连接统计\n */\n getSSEStats(): { id: string; status: string; info: any } | null {\n if (!this.sseClient) return null;\n\n return {\n id: this.sseClient.connectionId,\n status: this.sseClient.getStatus(),\n info: this.sseClient.getInfo(),\n };\n }\n\n /**\n * 销毁服务\n */\n async destroy(): Promise<void> {\n this.isDestroyed = true;\n this.closeConnect();\n this.logger.info('Enhanced LLM Service destroyed');\n }\n}\n"],"names":["LLMService","_classCallCheck","_defineProperty","LoggerManager","getLogger","_createClass","key","value","_handleBatchRequest","_asyncToGenerator","_regeneratorRuntime","mark","_callee","params","config","_config$onRequest","req","data","_config$onComplete","result","_config$onError2","_t","_t2","wrap","_context","prev","next","batchClient","BatchClient","on","error","_config$onError","onError","call","onRequest","sent","request","endpoint","method","headers","_objectSpread","body","timeout","onComplete","abrupt","stop","handleBatchRequest","_x","_x2","apply","arguments","_handleStreamRequest","_callee2","_config$onRequest2","_t3","_context2","sseClient","SSEClient","chunk","_config$onStart","onStart","msg","_config$onMessage","onMessage","_config$onError3","isAborted","_config$onComplete2","connect","handleStreamRequest","_x3","_x4","closeConnect","abort","getSSEStats","id","connectionId","status","getStatus","info","getInfo","_destroy","_callee3","_context3","isDestroyed","logger","destroy"],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import EventEmitter from '../utils/eventEmitter';
|
|
2
|
+
import { type ConnectionInfo, type SSEClientConfig, SSEConnectionState } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* SSE Client
|
|
5
|
+
* 采用分层设计,分离了连接管理、状态管理、事件解析等职责
|
|
6
|
+
*/
|
|
7
|
+
export declare class SSEClient extends EventEmitter {
|
|
8
|
+
readonly connectionId: string;
|
|
9
|
+
private state;
|
|
10
|
+
private controller?;
|
|
11
|
+
private reader?;
|
|
12
|
+
private connectionManager;
|
|
13
|
+
private parser;
|
|
14
|
+
private timeoutTimer?;
|
|
15
|
+
private config;
|
|
16
|
+
private logger;
|
|
17
|
+
private url;
|
|
18
|
+
private connectionInfo;
|
|
19
|
+
private firstTokenReceived;
|
|
20
|
+
constructor(url: string);
|
|
21
|
+
/**
|
|
22
|
+
* 连接 SSE 服务
|
|
23
|
+
*/
|
|
24
|
+
connect(config: SSEClientConfig): Promise<void>;
|
|
25
|
+
/**
|
|
26
|
+
* 关闭连接
|
|
27
|
+
*/
|
|
28
|
+
abort(): Promise<void>;
|
|
29
|
+
/**
|
|
30
|
+
* 获取连接状态
|
|
31
|
+
*/
|
|
32
|
+
getStatus(): SSEConnectionState;
|
|
33
|
+
/**
|
|
34
|
+
* 获取连接信息
|
|
35
|
+
*/
|
|
36
|
+
getInfo(): ConnectionInfo;
|
|
37
|
+
/**
|
|
38
|
+
* 建立连接
|
|
39
|
+
*/
|
|
40
|
+
private establishConnection;
|
|
41
|
+
/**
|
|
42
|
+
* 读取流数据
|
|
43
|
+
*/
|
|
44
|
+
private readStream;
|
|
45
|
+
/**
|
|
46
|
+
* 启动统一超时监控
|
|
47
|
+
*/
|
|
48
|
+
private startTimeoutMonitor;
|
|
49
|
+
/**
|
|
50
|
+
* 解析SSE数据
|
|
51
|
+
*/
|
|
52
|
+
private parseSSEData;
|
|
53
|
+
/**
|
|
54
|
+
* 简化的错误处理
|
|
55
|
+
*/
|
|
56
|
+
private handleConnectionError;
|
|
57
|
+
/**
|
|
58
|
+
* 清理超时定时器
|
|
59
|
+
*/
|
|
60
|
+
private clearTimeouts;
|
|
61
|
+
/**
|
|
62
|
+
* 设置连接状态
|
|
63
|
+
*/
|
|
64
|
+
private setState;
|
|
65
|
+
/**
|
|
66
|
+
* 重置解析器状态
|
|
67
|
+
*/
|
|
68
|
+
private resetParser;
|
|
69
|
+
/**
|
|
70
|
+
* 设置内部事件处理器
|
|
71
|
+
*/
|
|
72
|
+
private setupInternalEventHandlers;
|
|
73
|
+
/**
|
|
74
|
+
* 生成连接ID
|
|
75
|
+
*/
|
|
76
|
+
private generateConnectionId;
|
|
77
|
+
}
|