@tdesign-react/chat 1.0.2-alpha.0 → 1.0.2-alpha.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (228) hide show
  1. package/es/_util/reactify.d.ts +1 -2
  2. package/es/_util/reactify.js +81 -231
  3. package/es/_util/reactify.js.map +1 -1
  4. package/es/_util/useDynamicStyle.js +1 -1
  5. package/es/attachments/index.js +4 -6
  6. package/es/attachments/index.js.map +1 -1
  7. package/es/chat-actionbar/_example-js/base.d.ts +2 -0
  8. package/es/chat-actionbar/_example-js/custom.d.ts +2 -0
  9. package/es/chat-actionbar/_example-js/style.d.ts +2 -0
  10. package/es/chat-actionbar/index.js +4 -6
  11. package/es/chat-actionbar/index.js.map +1 -1
  12. package/es/chat-attachments/_example-js/base.d.ts +2 -0
  13. package/es/chat-attachments/_example-js/scroll-x.d.ts +2 -0
  14. package/es/chat-attachments/_example-js/scroll-y.d.ts +2 -0
  15. package/es/chat-attachments/index.js +3 -1
  16. package/es/chat-attachments/index.js.map +1 -1
  17. package/es/chat-engine/_example-js/agui-basic.d.ts +10 -0
  18. package/es/chat-engine/_example-js/agui-comprehensive.d.ts +2 -0
  19. package/es/chat-engine/_example-js/agui-test.d.ts +11 -0
  20. package/es/chat-engine/_example-js/agui-toolcall.d.ts +5 -0
  21. package/es/chat-engine/_example-js/agui-videoclip.d.ts +8 -0
  22. package/es/chat-engine/_example-js/agui.d.ts +1 -0
  23. package/es/chat-engine/_example-js/basic.d.ts +9 -0
  24. package/es/chat-engine/_example-js/components/HotelCard.d.ts +3 -0
  25. package/es/chat-engine/_example-js/components/HumanInputForm.d.ts +6 -0
  26. package/es/chat-engine/_example-js/components/HumanInputResult.d.ts +3 -0
  27. package/es/chat-engine/_example-js/components/ItineraryCard.d.ts +3 -0
  28. package/es/chat-engine/_example-js/components/PlanningStatePanel.d.ts +4 -0
  29. package/es/chat-engine/_example-js/components/Toolcall.d.ts +4 -0
  30. package/es/chat-engine/_example-js/components/WeatherCard.d.ts +3 -0
  31. package/es/chat-engine/_example-js/components/login.d.ts +1 -0
  32. package/es/chat-engine/_example-js/comprehensive.d.ts +12 -0
  33. package/es/chat-engine/_example-js/custom-content.d.ts +1 -0
  34. package/es/chat-engine/_example-js/hookComponent.d.ts +1 -0
  35. package/es/chat-engine/_example-js/initial-messages.d.ts +9 -0
  36. package/es/chat-engine/_example-js/instance-methods.d.ts +13 -0
  37. package/es/chat-engine/_example-js/travel-actions.d.ts +91 -0
  38. package/es/chat-engine/_example-js/travelToolcall.d.ts +1 -0
  39. package/es/{chatbot/components/toolcall → chat-engine/components/activity}/index.d.ts +1 -0
  40. package/es/chat-engine/components/activity/index.js +18 -0
  41. package/es/{chatbot/components/toolcall → chat-engine/components/activity}/index.js.map +1 -1
  42. package/es/chat-engine/components/activity/registry.d.ts +44 -0
  43. package/es/{chatbot/components/toolcall → chat-engine/components/activity}/registry.js +32 -22
  44. package/es/chat-engine/components/activity/registry.js.map +1 -0
  45. package/es/chat-engine/components/activity/render.d.ts +11 -0
  46. package/es/chat-engine/components/activity/render.js +107 -0
  47. package/es/chat-engine/components/activity/render.js.map +1 -0
  48. package/es/chat-engine/components/activity/types.d.ts +32 -0
  49. package/es/chat-engine/components/activity/types.js +7 -0
  50. package/es/chat-engine/components/activity/types.js.map +1 -0
  51. package/es/chat-engine/components/index.d.ts +3 -0
  52. package/es/chat-engine/components/index.js +55 -0
  53. package/es/chat-engine/components/index.js.map +1 -0
  54. package/es/chat-engine/components/provider/agent-state.js +1 -1
  55. package/es/chat-engine/components/toolcall/index.js +31 -1
  56. package/es/chat-engine/components/toolcall/index.js.map +1 -1
  57. package/es/chat-engine/components/toolcall/registry.js +1 -1
  58. package/es/chat-engine/components/toolcall/render.d.ts +1 -1
  59. package/es/chat-engine/components/toolcall/render.js +98 -25
  60. package/es/chat-engine/components/toolcall/render.js.map +1 -1
  61. package/es/chat-engine/components/toolcall/types.js +1 -1
  62. package/es/chat-engine/core/adapters/agui/event-mapper.d.ts +109 -0
  63. package/es/chat-engine/core/adapters/agui/event-mapper.js +375 -0
  64. package/es/chat-engine/core/adapters/agui/event-mapper.js.map +1 -0
  65. package/es/chat-engine/core/adapters/agui/events.d.ts +1550 -0
  66. package/es/chat-engine/core/adapters/agui/events.js +199 -0
  67. package/es/chat-engine/core/adapters/agui/events.js.map +1 -0
  68. package/es/chat-engine/core/adapters/agui/index.d.ts +91 -0
  69. package/es/chat-engine/core/adapters/agui/index.js +189 -0
  70. package/es/chat-engine/core/adapters/agui/index.js.map +1 -0
  71. package/es/chat-engine/core/adapters/agui/state-manager.d.ts +99 -0
  72. package/es/chat-engine/core/adapters/agui/state-manager.js +168 -0
  73. package/es/chat-engine/core/adapters/agui/state-manager.js.map +1 -0
  74. package/es/chat-engine/core/adapters/agui/types.d.ts +818 -0
  75. package/es/chat-engine/core/adapters/agui/types.js +95 -0
  76. package/es/chat-engine/core/adapters/agui/types.js.map +1 -0
  77. package/es/chat-engine/core/adapters/agui/utils.d.ts +198 -0
  78. package/es/chat-engine/core/adapters/agui/utils.js +318 -0
  79. package/es/chat-engine/core/adapters/agui/utils.js.map +1 -0
  80. package/es/chat-engine/core/index.d.ts +132 -0
  81. package/es/chat-engine/core/index.js +597 -0
  82. package/es/chat-engine/core/index.js.map +1 -0
  83. package/es/chat-engine/core/processor/index.d.ts +20 -0
  84. package/es/chat-engine/core/processor/index.js +146 -0
  85. package/es/chat-engine/core/processor/index.js.map +1 -0
  86. package/es/chat-engine/core/server/batch-client.d.ts +20 -0
  87. package/es/chat-engine/core/server/batch-client.js +114 -0
  88. package/es/chat-engine/core/server/batch-client.js.map +1 -0
  89. package/es/chat-engine/core/server/connection-manager.d.ts +39 -0
  90. package/es/chat-engine/core/server/connection-manager.js +84 -0
  91. package/es/chat-engine/core/server/connection-manager.js.map +1 -0
  92. package/es/chat-engine/core/server/errors.d.ts +22 -0
  93. package/es/chat-engine/core/server/errors.js +80 -0
  94. package/es/chat-engine/core/server/errors.js.map +1 -0
  95. package/es/chat-engine/core/server/index.d.ts +11 -0
  96. package/es/chat-engine/core/server/index.js +26 -0
  97. package/es/chat-engine/core/server/index.js.map +1 -0
  98. package/es/chat-engine/core/server/llm-service.d.ts +44 -0
  99. package/es/chat-engine/core/server/llm-service.js +198 -0
  100. package/es/chat-engine/core/server/llm-service.js.map +1 -0
  101. package/es/chat-engine/core/server/sse-client.d.ts +77 -0
  102. package/es/chat-engine/core/server/sse-client.js +362 -0
  103. package/es/chat-engine/core/server/sse-client.js.map +1 -0
  104. package/es/chat-engine/core/server/sse-parser.d.ts +49 -0
  105. package/es/chat-engine/core/server/sse-parser.js +116 -0
  106. package/es/chat-engine/core/server/sse-parser.js.map +1 -0
  107. package/es/chat-engine/core/server/types.d.ts +54 -0
  108. package/es/chat-engine/core/server/types.js +28 -0
  109. package/es/chat-engine/core/server/types.js.map +1 -0
  110. package/es/chat-engine/core/store/message.d.ts +27 -0
  111. package/es/chat-engine/core/store/message.js +263 -0
  112. package/es/chat-engine/core/store/message.js.map +1 -0
  113. package/es/chat-engine/core/store/model.d.ts +8 -0
  114. package/es/chat-engine/core/store/model.js +65 -0
  115. package/es/chat-engine/core/store/model.js.map +1 -0
  116. package/es/chat-engine/core/store/reactiveState.d.ts +52 -0
  117. package/es/chat-engine/core/store/reactiveState.js +1359 -0
  118. package/es/chat-engine/core/store/reactiveState.js.map +1 -0
  119. package/es/chat-engine/core/type.d.ts +255 -0
  120. package/es/chat-engine/core/type.js +7 -0
  121. package/es/chat-engine/core/type.js.map +1 -0
  122. package/es/chat-engine/core/utils/eventEmitter.d.ts +10 -0
  123. package/es/chat-engine/core/utils/eventEmitter.js +67 -0
  124. package/es/chat-engine/core/utils/eventEmitter.js.map +1 -0
  125. package/es/chat-engine/core/utils/index.d.ts +33 -0
  126. package/es/chat-engine/core/utils/index.js +999 -0
  127. package/es/chat-engine/core/utils/index.js.map +1 -0
  128. package/es/chat-engine/core/utils/logger.d.ts +30 -0
  129. package/es/chat-engine/core/utils/logger.js +87 -0
  130. package/es/chat-engine/core/utils/logger.js.map +1 -0
  131. package/es/chat-engine/hooks/index.d.ts +4 -0
  132. package/es/chat-engine/hooks/index.js +20 -0
  133. package/es/chat-engine/hooks/index.js.map +1 -0
  134. package/es/chat-engine/hooks/useAgentActivity.d.ts +16 -0
  135. package/es/chat-engine/hooks/useAgentActivity.js +73 -0
  136. package/es/chat-engine/hooks/useAgentActivity.js.map +1 -0
  137. package/es/chat-engine/hooks/useAgentState.js +1 -1
  138. package/es/chat-engine/hooks/useAgentState.js.map +1 -1
  139. package/es/chat-engine/hooks/useAgentToolcall.js +1 -1
  140. package/es/chat-engine/hooks/useChat.js +3 -3
  141. package/es/chat-engine/hooks/useChat.js.map +1 -1
  142. package/es/chat-engine/index.d.ts +3 -3
  143. package/es/chat-engine/index.js +40 -5
  144. package/es/chat-engine/index.js.map +1 -1
  145. package/es/chat-filecard/_example-js/base.d.ts +1 -0
  146. package/es/chat-filecard/index.js +4 -6
  147. package/es/chat-filecard/index.js.map +1 -1
  148. package/es/chat-loading/_example-js/base.d.ts +2 -0
  149. package/es/chat-loading/_example-js/text.d.ts +2 -0
  150. package/es/chat-loading/index.js +4 -6
  151. package/es/chat-loading/index.js.map +1 -1
  152. package/es/chat-markdown/_example-js/base.d.ts +1 -0
  153. package/es/chat-markdown/_example-js/custom.d.ts +2 -0
  154. package/es/chat-markdown/_example-js/event.d.ts +1 -0
  155. package/es/chat-markdown/_example-js/footnote.d.ts +2 -0
  156. package/es/chat-markdown/_example-js/plugin.d.ts +2 -0
  157. package/es/chat-markdown/_example-js/theme.d.ts +2 -0
  158. package/es/chat-markdown/index.js +4 -6
  159. package/es/chat-markdown/index.js.map +1 -1
  160. package/es/chat-message/_example-js/action.d.ts +1 -0
  161. package/es/chat-message/_example-js/base.d.ts +1 -0
  162. package/es/chat-message/_example-js/configure.d.ts +1 -0
  163. package/es/chat-message/_example-js/content.d.ts +1 -0
  164. package/es/chat-message/_example-js/custom.d.ts +1 -0
  165. package/es/chat-message/_example-js/handle-actions.d.ts +7 -0
  166. package/es/chat-message/_example-js/status.d.ts +1 -0
  167. package/es/chat-message/_example-js/think.d.ts +1 -0
  168. package/es/chat-message/index.js +4 -6
  169. package/es/chat-message/index.js.map +1 -1
  170. package/es/chat-sender/_example-js/attachment.d.ts +2 -0
  171. package/es/chat-sender/_example-js/base.d.ts +2 -0
  172. package/es/chat-sender/_example-js/custom.d.ts +2 -0
  173. package/es/chat-sender/index.js +4 -6
  174. package/es/chat-sender/index.js.map +1 -1
  175. package/es/chat-thinking/_example-js/base.d.ts +1 -0
  176. package/es/chat-thinking/_example-js/style.d.ts +1 -0
  177. package/es/chat-thinking/index.js +4 -6
  178. package/es/chat-thinking/index.js.map +1 -1
  179. package/es/chatbot/_example-js/agent.d.ts +1 -0
  180. package/es/chatbot/_example-js/agui.d.ts +13 -0
  181. package/es/chatbot/_example-js/backup/travel.d.ts +1 -0
  182. package/es/chatbot/_example-js/basic.d.ts +1 -0
  183. package/es/chatbot/_example-js/code.d.ts +1 -0
  184. package/es/chatbot/_example-js/components/ItineraryCard.d.ts +3 -0
  185. package/es/chatbot/_example-js/components/login.d.ts +1 -0
  186. package/es/chatbot/_example-js/comprehensive.d.ts +1 -0
  187. package/es/chatbot/_example-js/custom-content.d.ts +1 -0
  188. package/es/chatbot/_example-js/custom-merge.d.ts +1 -0
  189. package/es/chatbot/_example-js/custom.d.ts +1 -0
  190. package/es/chatbot/_example-js/docs.d.ts +1 -0
  191. package/es/chatbot/_example-js/image.d.ts +1 -0
  192. package/es/chatbot/_example-js/initial-messages.d.ts +9 -0
  193. package/es/chatbot/_example-js/instance-methods.d.ts +14 -0
  194. package/es/chatbot/_example-js/nostream.d.ts +1 -0
  195. package/es/chatbot/_example-js/quick-start.d.ts +9 -0
  196. package/es/chatbot/_example-js/research.d.ts +1 -0
  197. package/es/chatbot/_example-js/role-message-config.d.ts +22 -0
  198. package/es/chatbot/_example-js/sender-config.d.ts +20 -0
  199. package/es/chatbot/_example-js/service-config.d.ts +17 -0
  200. package/es/chatbot/_example-js/simple.d.ts +1 -0
  201. package/es/chatbot/_example-js/utils/messageRenderer.d.ts +5 -0
  202. package/es/chatbot/index.js +4 -6
  203. package/es/chatbot/index.js.map +1 -1
  204. package/es/index.js +38 -9
  205. package/es/index.js.map +1 -1
  206. package/es/style/index.js +1 -1
  207. package/package.json +2 -2
  208. package/es/chatbot/components/provider/agent-state.d.ts +0 -5
  209. package/es/chatbot/components/provider/agent-state.js +0 -28
  210. package/es/chatbot/components/provider/agent-state.js.map +0 -1
  211. package/es/chatbot/components/toolcall/index.js +0 -19
  212. package/es/chatbot/components/toolcall/registry.d.ts +0 -35
  213. package/es/chatbot/components/toolcall/registry.js.map +0 -1
  214. package/es/chatbot/components/toolcall/render.d.ts +0 -13
  215. package/es/chatbot/components/toolcall/render.js +0 -207
  216. package/es/chatbot/components/toolcall/render.js.map +0 -1
  217. package/es/chatbot/components/toolcall/types.d.ts +0 -57
  218. package/es/chatbot/components/toolcall/types.js +0 -15
  219. package/es/chatbot/components/toolcall/types.js.map +0 -1
  220. package/es/chatbot/hooks/useAgentState.d.ts +0 -40
  221. package/es/chatbot/hooks/useAgentState.js +0 -76
  222. package/es/chatbot/hooks/useAgentState.js.map +0 -1
  223. package/es/chatbot/hooks/useAgentToolcall.d.ts +0 -28
  224. package/es/chatbot/hooks/useAgentToolcall.js +0 -78
  225. package/es/chatbot/hooks/useAgentToolcall.js.map +0 -1
  226. package/es/chatbot/hooks/useChat.d.ts +0 -11
  227. package/es/chatbot/hooks/useChat.js +0 -66
  228. package/es/chatbot/hooks/useChat.js.map +0 -1
@@ -0,0 +1,80 @@
1
+ /**
2
+ * tdesign v1.0.2-alpha.9
3
+ * (c) 2026 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.2-alpha.9
3
+ * (c) 2026 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.2-alpha.9
3
+ * (c) 2026 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
+ }