@tdesign-react/chat 1.1.0-alpha.11 → 1.1.0-alpha.13

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 (183) hide show
  1. package/es/_chunks/dep-58d90dfe.js +438 -0
  2. package/es/_chunks/dep-58d90dfe.js.map +1 -0
  3. package/es/_chunks/dep-771678df.js +438 -0
  4. package/es/_chunks/dep-771678df.js.map +1 -0
  5. package/es/_chunks/dep-93283bbd.js +1247 -0
  6. package/es/_chunks/dep-93283bbd.js.map +1 -0
  7. package/es/_chunks/dep-dbdfe7d6.js +169 -0
  8. package/es/_chunks/dep-dbdfe7d6.js.map +1 -0
  9. package/es/_util/reactify.js +1 -1
  10. package/es/_util/useDynamicStyle.js +1 -1
  11. package/es/attachments/index.js +1 -1
  12. package/es/chat-actionbar/index.js +1 -1
  13. package/es/chat-engine/components/activity/index.js +2 -2
  14. package/es/chat-engine/components/activity/registry.js +1 -1
  15. package/es/chat-engine/components/activity/render.js +2 -2
  16. package/es/chat-engine/components/activity/types.js +1 -1
  17. package/es/chat-engine/components/index.js +17 -4
  18. package/es/chat-engine/components/index.js.map +1 -1
  19. package/es/chat-engine/components/json-render/catalog/atomic/button.js +1 -1
  20. package/es/chat-engine/components/json-render/catalog/atomic/card.js +1 -1
  21. package/es/chat-engine/components/json-render/catalog/atomic/input.js +17 -4
  22. package/es/chat-engine/components/json-render/catalog/atomic/input.js.map +1 -1
  23. package/es/chat-engine/components/json-render/catalog/atomic/layout.js +1 -1
  24. package/es/chat-engine/components/json-render/catalog/atomic/text.js +1 -1
  25. package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.js +1 -1
  26. package/es/chat-engine/components/json-render/contexts/actions.js +2 -2
  27. package/es/chat-engine/components/json-render/contexts/data.js +2 -2
  28. package/es/chat-engine/components/json-render/contexts/index.js +2 -2
  29. package/es/chat-engine/components/json-render/contexts/store.js +1 -1
  30. package/es/chat-engine/components/json-render/contexts/tree.js +1 -1
  31. package/es/chat-engine/components/json-render/contexts/validation.js +2 -2
  32. package/es/chat-engine/components/json-render/contexts/visibility.js +2 -2
  33. package/es/chat-engine/components/json-render/index.js +17 -4
  34. package/es/chat-engine/components/json-render/index.js.map +1 -1
  35. package/es/chat-engine/components/json-render/registry/a2ui-binding.js +17 -4
  36. package/es/chat-engine/components/json-render/registry/a2ui-binding.js.map +1 -1
  37. package/es/chat-engine/components/json-render/registry/a2ui-registry.js +17 -4
  38. package/es/chat-engine/components/json-render/registry/a2ui-registry.js.map +1 -1
  39. package/es/chat-engine/components/json-render/registry/config.js +17 -4
  40. package/es/chat-engine/components/json-render/registry/config.js.map +1 -1
  41. package/es/chat-engine/components/json-render/registry/index.js +17 -4
  42. package/es/chat-engine/components/json-render/registry/index.js.map +1 -1
  43. package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.js +16 -3
  44. package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.js.map +1 -1
  45. package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.js +3 -3
  46. package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.js +2 -2
  47. package/es/chat-engine/components/json-render/renderer/_index.js +2 -2
  48. package/es/chat-engine/components/json-render/types.js +1 -1
  49. package/es/chat-engine/components/provider/agent-state.js +15 -2
  50. package/es/chat-engine/components/provider/agent-state.js.map +1 -1
  51. package/es/chat-engine/components/shared/ComponentErrorBoundary.js +1 -1
  52. package/es/chat-engine/components/shared/createRegistry.js +1 -1
  53. package/es/chat-engine/components/shared/index.js +1 -1
  54. package/es/chat-engine/components/shared/useRegistrationListener.js +1 -1
  55. package/es/chat-engine/components/toolcall/index.js +15 -2
  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.js +15 -2
  59. package/es/chat-engine/components/toolcall/render.js.map +1 -1
  60. package/es/chat-engine/components/toolcall/types.js +1 -1
  61. package/es/chat-engine/core/adapters/a2ui/index.js +2 -1
  62. package/es/chat-engine/core/adapters/a2ui/index.js.map +1 -1
  63. package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.js +1 -1
  64. package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.js +1 -1
  65. package/es/chat-engine/core/adapters/a2ui/processor/DataStore.js +1 -1
  66. package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.js +1 -1
  67. package/es/chat-engine/core/adapters/a2ui/types/index.js +1 -1
  68. package/es/chat-engine/core/adapters/a2ui/types/types.js +1 -1
  69. package/es/chat-engine/core/adapters/a2ui/utils/binding.js +2 -1631
  70. package/es/chat-engine/core/adapters/a2ui/utils/binding.js.map +1 -1
  71. package/es/chat-engine/core/adapters/a2ui/utils/index.js +2 -1
  72. package/es/chat-engine/core/adapters/a2ui/utils/index.js.map +1 -1
  73. package/es/chat-engine/core/adapters/a2ui/utils/validation.js +1 -1
  74. package/es/chat-engine/core/adapters/agui/ActivityManager.js +1 -1
  75. package/es/chat-engine/core/adapters/agui/StateManager.js +1 -1
  76. package/es/chat-engine/core/adapters/agui/event-mapper.js +1 -1
  77. package/es/chat-engine/core/adapters/agui/index.js +1 -1
  78. package/es/chat-engine/core/adapters/agui/types/events.js +1 -1
  79. package/es/chat-engine/core/adapters/agui/types/index.js +1 -1
  80. package/es/chat-engine/core/adapters/agui/utils.js +1 -1
  81. package/es/chat-engine/core/adapters/index.d.ts +2 -0
  82. package/es/chat-engine/core/adapters/index.js +27 -9
  83. package/es/chat-engine/core/adapters/index.js.map +1 -1
  84. package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.js +1 -1
  85. package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.js +1 -1
  86. package/es/chat-engine/core/adapters/json-render/engine.js +1 -1
  87. package/es/chat-engine/core/adapters/json-render/index.js +1 -1
  88. package/es/chat-engine/core/adapters/json-render/types/a2ui.js +1 -1
  89. package/es/chat-engine/core/adapters/json-render/types/core.js +1 -1
  90. package/es/chat-engine/core/adapters/json-render/types/index.js +1 -1
  91. package/es/chat-engine/core/adapters/openclaw/event-mapper.d.ts +212 -0
  92. package/es/chat-engine/core/adapters/openclaw/event-mapper.js +606 -0
  93. package/es/chat-engine/core/adapters/openclaw/event-mapper.js.map +1 -0
  94. package/es/chat-engine/core/adapters/openclaw/index.d.ts +158 -0
  95. package/es/chat-engine/core/adapters/openclaw/index.js +460 -0
  96. package/es/chat-engine/core/adapters/openclaw/index.js.map +1 -0
  97. package/es/chat-engine/core/adapters/openclaw/rpc-handler.d.ts +114 -0
  98. package/es/chat-engine/core/adapters/openclaw/rpc-handler.js +263 -0
  99. package/es/chat-engine/core/adapters/openclaw/rpc-handler.js.map +1 -0
  100. package/es/chat-engine/core/adapters/openclaw/types/config.d.ts +67 -0
  101. package/es/chat-engine/core/adapters/openclaw/types/config.js +35 -0
  102. package/es/chat-engine/core/adapters/openclaw/types/config.js.map +1 -0
  103. package/es/chat-engine/core/adapters/openclaw/types/events.d.ts +121 -0
  104. package/es/chat-engine/core/adapters/openclaw/types/events.js +71 -0
  105. package/es/chat-engine/core/adapters/openclaw/types/events.js.map +1 -0
  106. package/es/chat-engine/core/adapters/openclaw/types/index.d.ts +6 -0
  107. package/es/chat-engine/core/adapters/openclaw/types/index.js +11 -0
  108. package/es/chat-engine/core/adapters/openclaw/types/index.js.map +1 -0
  109. package/es/chat-engine/core/adapters/openclaw/types/messages.d.ts +215 -0
  110. package/es/chat-engine/core/adapters/openclaw/types/messages.js +18 -0
  111. package/es/chat-engine/core/adapters/openclaw/types/messages.js.map +1 -0
  112. package/es/chat-engine/core/adapters/openclaw/utils.d.ts +49 -0
  113. package/es/chat-engine/core/adapters/openclaw/utils.js +109 -0
  114. package/es/chat-engine/core/adapters/openclaw/utils.js.map +1 -0
  115. package/es/chat-engine/core/adapters/shared/activity-manager.d.ts +11 -0
  116. package/es/chat-engine/core/adapters/shared/activity-manager.js +17 -0
  117. package/es/chat-engine/core/adapters/shared/activity-manager.js.map +1 -0
  118. package/es/chat-engine/core/adapters/shared/content-factory.d.ts +7 -0
  119. package/es/chat-engine/core/adapters/shared/content-factory.js +11 -0
  120. package/es/chat-engine/core/adapters/shared/content-factory.js.map +1 -0
  121. package/es/chat-engine/core/adapters/shared/index.d.ts +11 -0
  122. package/es/chat-engine/core/adapters/shared/index.js +21 -0
  123. package/es/chat-engine/core/adapters/shared/index.js.map +1 -0
  124. package/es/chat-engine/core/adapters/shared/merge-utils.d.ts +7 -0
  125. package/es/chat-engine/core/adapters/shared/merge-utils.js +11 -0
  126. package/es/chat-engine/core/adapters/shared/merge-utils.js.map +1 -0
  127. package/es/chat-engine/core/event-bus/ChatEventBus.js +1 -1
  128. package/es/chat-engine/core/event-bus/index.js +1 -1
  129. package/es/chat-engine/core/event-bus/types.js +1 -1
  130. package/es/chat-engine/core/index.d.ts +7 -0
  131. package/es/chat-engine/core/index.js +83 -8
  132. package/es/chat-engine/core/index.js.map +1 -1
  133. package/es/chat-engine/core/processor/index.js +1 -1
  134. package/es/chat-engine/core/server/batch-client.js +1 -1
  135. package/es/chat-engine/core/server/connection-manager.js +1 -1
  136. package/es/chat-engine/core/server/errors.js +1 -1
  137. package/es/chat-engine/core/server/index.d.ts +1 -0
  138. package/es/chat-engine/core/server/index.js +22 -1
  139. package/es/chat-engine/core/server/index.js.map +1 -1
  140. package/es/chat-engine/core/server/llm-service.d.ts +5 -0
  141. package/es/chat-engine/core/server/llm-service.js +140 -13
  142. package/es/chat-engine/core/server/llm-service.js.map +1 -1
  143. package/es/chat-engine/core/server/sse-client.js +1 -1
  144. package/es/chat-engine/core/server/sse-parser.js +1 -1
  145. package/es/chat-engine/core/server/types.js +1 -1
  146. package/es/chat-engine/core/server/websocket-client.d.ts +139 -0
  147. package/es/chat-engine/core/server/websocket-client.js +386 -0
  148. package/es/chat-engine/core/server/websocket-client.js.map +1 -0
  149. package/es/chat-engine/core/store/message.js +2 -2
  150. package/es/chat-engine/core/store/model.js +2 -2
  151. package/es/chat-engine/core/store/reactiveState.js +2 -2
  152. package/es/chat-engine/core/type.d.ts +7 -1
  153. package/es/chat-engine/core/type.js +1 -1
  154. package/es/chat-engine/core/utils/eventEmitter.d.ts +1 -0
  155. package/es/chat-engine/core/utils/eventEmitter.js +11 -1
  156. package/es/chat-engine/core/utils/eventEmitter.js.map +1 -1
  157. package/es/chat-engine/core/utils/immutable-patch.js +1 -1
  158. package/es/chat-engine/core/utils/index.js +1 -1
  159. package/es/chat-engine/core/utils/json-patch/helpers.js +1 -1
  160. package/es/chat-engine/core/utils/json-patch/index.js +1 -1
  161. package/es/chat-engine/core/utils/logger.js +1 -1
  162. package/es/chat-engine/core/utils/performance.js +1 -1
  163. package/es/chat-engine/hooks/index.js +15 -2
  164. package/es/chat-engine/hooks/index.js.map +1 -1
  165. package/es/chat-engine/hooks/useAgentActivity.js +1 -1
  166. package/es/chat-engine/hooks/useAgentState.js +15 -2
  167. package/es/chat-engine/hooks/useAgentState.js.map +1 -1
  168. package/es/chat-engine/hooks/useAgentToolcall.js +1 -1
  169. package/es/chat-engine/hooks/useChat.js +15 -2
  170. package/es/chat-engine/hooks/useChat.js.map +1 -1
  171. package/es/chat-engine/index.js +19 -6
  172. package/es/chat-engine/index.js.map +1 -1
  173. package/es/chat-filecard/index.js +1 -1
  174. package/es/chat-loading/index.js +1 -1
  175. package/es/chat-markdown/index.js +1 -1
  176. package/es/chat-message/index.js +1 -1
  177. package/es/chat-sender/index.js +1 -1
  178. package/es/chat-thinking/index.js +1 -1
  179. package/es/chatbot/index.js +1 -1
  180. package/es/index.js +19 -6
  181. package/es/index.js.map +1 -1
  182. package/es/style/index.js +1 -1
  183. package/package.json +1 -1
@@ -0,0 +1,263 @@
1
+ /**
2
+ * tdesign v1.1.0-alpha.12
3
+ * (c) 2026 tdesign
4
+ * @license MIT
5
+ */
6
+
7
+ import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
8
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
9
+ import _createClass from '@babel/runtime/helpers/createClass';
10
+ import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
11
+ import _possibleConstructorReturn from '@babel/runtime/helpers/possibleConstructorReturn';
12
+ import _getPrototypeOf from '@babel/runtime/helpers/getPrototypeOf';
13
+ import _inherits from '@babel/runtime/helpers/inherits';
14
+ import _wrapNativeSuper from '@babel/runtime/helpers/wrapNativeSuper';
15
+ import _regeneratorRuntime from '@babel/runtime/regenerator';
16
+ import { OpenClawMethod } from './types/events.js';
17
+
18
+ function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
19
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
20
+ var RPCError = /*#__PURE__*/function (_Error) {
21
+ function RPCError(message, code, details) {
22
+ var _this;
23
+ _classCallCheck(this, RPCError);
24
+ _this = _callSuper(this, RPCError, [message]);
25
+ _this.code = code;
26
+ _this.details = details;
27
+ _this.name = "RPCError";
28
+ return _this;
29
+ }
30
+ _inherits(RPCError, _Error);
31
+ return _createClass(RPCError);
32
+ }(/*#__PURE__*/_wrapNativeSuper(Error));
33
+ var OpenClawRPCHandler = /*#__PURE__*/function () {
34
+ function OpenClawRPCHandler(config) {
35
+ var _config$timeout, _config$autoRetry, _config$maxRetries;
36
+ _classCallCheck(this, OpenClawRPCHandler);
37
+ _defineProperty(this, "pendingRequests", /* @__PURE__ */new Map());
38
+ _defineProperty(this, "sendFn", null);
39
+ _defineProperty(this, "seq", 0);
40
+ this.config = {
41
+ timeout: (_config$timeout = config === null || config === void 0 ? void 0 : config.timeout) !== null && _config$timeout !== void 0 ? _config$timeout : 3e4,
42
+ autoRetry: (_config$autoRetry = config === null || config === void 0 ? void 0 : config.autoRetry) !== null && _config$autoRetry !== void 0 ? _config$autoRetry : false,
43
+ maxRetries: (_config$maxRetries = config === null || config === void 0 ? void 0 : config.maxRetries) !== null && _config$maxRetries !== void 0 ? _config$maxRetries : 3
44
+ };
45
+ }
46
+ return _createClass(OpenClawRPCHandler, [{
47
+ key: "setSendFunction",
48
+ value: function setSendFunction(fn) {
49
+ this.sendFn = fn;
50
+ }
51
+ }, {
52
+ key: "generateRequestId",
53
+ value: function generateRequestId() {
54
+ this.seq++;
55
+ return "req_".concat(Date.now(), "_").concat(this.seq, "_").concat(Math.random().toString(36).substr(2, 6));
56
+ }
57
+ }, {
58
+ key: "request",
59
+ value: function () {
60
+ var _request = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(method, params) {
61
+ var _this2 = this;
62
+ var id, frame;
63
+ return _regeneratorRuntime.wrap(function (_context) {
64
+ while (1) switch (_context.prev = _context.next) {
65
+ case 0:
66
+ if (this.sendFn) {
67
+ _context.next = 1;
68
+ break;
69
+ }
70
+ throw new RPCError("Send function not set", "SEND_NOT_CONFIGURED");
71
+ case 1:
72
+ id = this.generateRequestId();
73
+ frame = {
74
+ type: "req",
75
+ id: id,
76
+ method: method,
77
+ params: params
78
+ };
79
+ return _context.abrupt("return", new Promise(function (resolve, reject) {
80
+ var timeoutId = setTimeout(function () {
81
+ if (_this2.pendingRequests.has(id)) {
82
+ _this2.pendingRequests["delete"](id);
83
+ reject(new RPCError("Request timeout: ".concat(method), "TIMEOUT"));
84
+ }
85
+ }, _this2.config.timeout);
86
+ _this2.pendingRequests.set(id, {
87
+ resolve: resolve,
88
+ reject: reject,
89
+ timeoutId: timeoutId,
90
+ method: method,
91
+ createdAt: Date.now()
92
+ });
93
+ try {
94
+ _this2.sendFn(frame);
95
+ } catch (error) {
96
+ _this2.pendingRequests["delete"](id);
97
+ clearTimeout(timeoutId);
98
+ reject(error);
99
+ }
100
+ }));
101
+ case 2:
102
+ case "end":
103
+ return _context.stop();
104
+ }
105
+ }, _callee, this);
106
+ }));
107
+ function request(_x, _x2) {
108
+ return _request.apply(this, arguments);
109
+ }
110
+ return request;
111
+ }()
112
+ }, {
113
+ key: "handleResponse",
114
+ value: function handleResponse(frame) {
115
+ var pending = this.pendingRequests.get(frame.id);
116
+ if (!pending) {
117
+ return false;
118
+ }
119
+ clearTimeout(pending.timeoutId);
120
+ this.pendingRequests["delete"](frame.id);
121
+ if (frame.ok) {
122
+ pending.resolve(frame.payload);
123
+ } else {
124
+ var error = frame.error || {
125
+ code: "UNKNOWN",
126
+ message: "Unknown error"
127
+ };
128
+ pending.reject(new RPCError(error.message, error.code, error.details));
129
+ }
130
+ return true;
131
+ }
132
+ }, {
133
+ key: "handleFrame",
134
+ value: function handleFrame(frame) {
135
+ if (frame.type === "res") {
136
+ var handled = this.handleResponse(frame);
137
+ return {
138
+ type: "response",
139
+ handled: handled
140
+ };
141
+ }
142
+ if (frame.type === "event") {
143
+ return {
144
+ type: "event",
145
+ handled: false,
146
+ data: frame
147
+ };
148
+ }
149
+ return {
150
+ type: "response",
151
+ handled: false
152
+ };
153
+ }
154
+ }, {
155
+ key: "connect",
156
+ value: function () {
157
+ var _connect = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(params) {
158
+ return _regeneratorRuntime.wrap(function (_context2) {
159
+ while (1) switch (_context2.prev = _context2.next) {
160
+ case 0:
161
+ return _context2.abrupt("return", this.request(OpenClawMethod.CONNECT, params));
162
+ case 1:
163
+ case "end":
164
+ return _context2.stop();
165
+ }
166
+ }, _callee2, this);
167
+ }));
168
+ function connect(_x3) {
169
+ return _connect.apply(this, arguments);
170
+ }
171
+ return connect;
172
+ }()
173
+ }, {
174
+ key: "chatSend",
175
+ value: function () {
176
+ var _chatSend = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3(params) {
177
+ return _regeneratorRuntime.wrap(function (_context3) {
178
+ while (1) switch (_context3.prev = _context3.next) {
179
+ case 0:
180
+ return _context3.abrupt("return", this.request(OpenClawMethod.CHAT_SEND, params));
181
+ case 1:
182
+ case "end":
183
+ return _context3.stop();
184
+ }
185
+ }, _callee3, this);
186
+ }));
187
+ function chatSend(_x4) {
188
+ return _chatSend.apply(this, arguments);
189
+ }
190
+ return chatSend;
191
+ }()
192
+ }, {
193
+ key: "heartbeat",
194
+ value: function () {
195
+ var _heartbeat = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
196
+ return _regeneratorRuntime.wrap(function (_context4) {
197
+ while (1) switch (_context4.prev = _context4.next) {
198
+ case 0:
199
+ return _context4.abrupt("return", this.request(OpenClawMethod.HEARTBEAT, {
200
+ ts: Date.now()
201
+ }));
202
+ case 1:
203
+ case "end":
204
+ return _context4.stop();
205
+ }
206
+ }, _callee4, this);
207
+ }));
208
+ function heartbeat() {
209
+ return _heartbeat.apply(this, arguments);
210
+ }
211
+ return heartbeat;
212
+ }()
213
+ }, {
214
+ key: "nodeInvoke",
215
+ value: function () {
216
+ var _nodeInvoke = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee5(params) {
217
+ return _regeneratorRuntime.wrap(function (_context5) {
218
+ while (1) switch (_context5.prev = _context5.next) {
219
+ case 0:
220
+ return _context5.abrupt("return", this.request(OpenClawMethod.NODE_INVOKE, params));
221
+ case 1:
222
+ case "end":
223
+ return _context5.stop();
224
+ }
225
+ }, _callee5, this);
226
+ }));
227
+ function nodeInvoke(_x5) {
228
+ return _nodeInvoke.apply(this, arguments);
229
+ }
230
+ return nodeInvoke;
231
+ }()
232
+ }, {
233
+ key: "cancelAll",
234
+ value: function cancelAll() {
235
+ var reason = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "Cancelled";
236
+ this.pendingRequests.forEach(function (pending, id) {
237
+ clearTimeout(pending.timeoutId);
238
+ pending.reject(new RPCError(reason, "CANCELLED"));
239
+ });
240
+ this.pendingRequests.clear();
241
+ }
242
+ }, {
243
+ key: "getPendingCount",
244
+ value: function getPendingCount() {
245
+ return this.pendingRequests.size;
246
+ }
247
+ }, {
248
+ key: "reset",
249
+ value: function reset() {
250
+ this.cancelAll("Handler reset");
251
+ this.seq = 0;
252
+ }
253
+ }, {
254
+ key: "destroy",
255
+ value: function destroy() {
256
+ this.cancelAll("Handler destroyed");
257
+ this.sendFn = null;
258
+ }
259
+ }]);
260
+ }();
261
+
262
+ export { OpenClawRPCHandler, RPCError };
263
+ //# sourceMappingURL=rpc-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc-handler.js","sources":["../../../../../../pro-components/chat/chat-engine/core/adapters/openclaw/rpc-handler.ts"],"sourcesContent":["/**\n * OpenClaw RPC 请求/响应处理器\n *\n * 管理请求队列、响应匹配、超时和错误处理\n */\nimport type {\n OpenClawRequestFrame,\n OpenClawResponseFrame,\n OpenClawEventFrame,\n OpenClawFrame,\n OpenClawError,\n ConnectParams,\n ConnectResponse,\n ChatSendParams,\n ChatSendResponse,\n} from './types';\nimport { OpenClawMethod } from './types/events';\n\n/**\n * 待处理请求信息\n */\ninterface PendingRequest<T = unknown> {\n resolve: (payload: T) => void;\n reject: (error: Error) => void;\n timeoutId: ReturnType<typeof setTimeout>;\n method: string;\n createdAt: number;\n}\n\n/**\n * RPC 处理器配置\n */\nexport interface RPCHandlerConfig {\n /** 请求超时时间(毫秒),默认 30000 */\n timeout?: number;\n /** 是否自动重试失败的请求,默认 false */\n autoRetry?: boolean;\n /** 最大重试次数,默认 3 */\n maxRetries?: number;\n}\n\n/**\n * RPC 错误类\n */\nexport class RPCError extends Error {\n constructor(\n message: string,\n public code: string,\n public details?: unknown,\n ) {\n super(message);\n this.name = 'RPCError';\n }\n}\n\n/**\n * OpenClaw RPC 处理器\n *\n * 功能:\n * - 管理请求队列\n * - 匹配响应到对应的请求\n * - 处理超时\n * - 提供便捷的 RPC 方法调用\n */\nexport class OpenClawRPCHandler {\n private pendingRequests = new Map<string, PendingRequest>();\n\n private config: Required<RPCHandlerConfig>;\n\n private sendFn: ((frame: OpenClawRequestFrame) => void) | null = null;\n\n private seq = 0;\n\n constructor(config?: RPCHandlerConfig) {\n this.config = {\n timeout: config?.timeout ?? 30000,\n autoRetry: config?.autoRetry ?? false,\n maxRetries: config?.maxRetries ?? 3,\n };\n }\n\n /**\n * 设置发送函数\n */\n setSendFunction(fn: (frame: OpenClawRequestFrame) => void): void {\n this.sendFn = fn;\n }\n\n /**\n * 生成唯一请求 ID\n */\n generateRequestId(): string {\n this.seq++;\n return `req_${Date.now()}_${this.seq}_${Math.random().toString(36).substr(2, 6)}`;\n }\n\n /**\n * 发送 RPC 请求\n */\n async request<TParams extends Record<string, unknown>, TResult>(\n method: string,\n params: TParams,\n ): Promise<TResult> {\n if (!this.sendFn) {\n throw new RPCError('Send function not set', 'SEND_NOT_CONFIGURED');\n }\n\n const id = this.generateRequestId();\n const frame: OpenClawRequestFrame<TParams> = {\n type: 'req',\n id,\n method,\n params,\n };\n\n return new Promise<TResult>((resolve, reject) => {\n // 设置超时\n const timeoutId = setTimeout(() => {\n if (this.pendingRequests.has(id)) {\n this.pendingRequests.delete(id);\n reject(new RPCError(`Request timeout: ${method}`, 'TIMEOUT'));\n }\n }, this.config.timeout);\n\n // 存储待处理请求\n this.pendingRequests.set(id, {\n resolve: resolve as (payload: unknown) => void,\n reject,\n timeoutId,\n method,\n createdAt: Date.now(),\n });\n\n // 发送请求\n try {\n this.sendFn!(frame);\n } catch (error) {\n this.pendingRequests.delete(id);\n clearTimeout(timeoutId);\n reject(error);\n }\n });\n }\n\n /**\n * 处理响应帧\n */\n handleResponse(frame: OpenClawResponseFrame): boolean {\n const pending = this.pendingRequests.get(frame.id);\n if (!pending) {\n // 没有找到对应的请求,可能已超时\n return false;\n }\n\n // 清理\n clearTimeout(pending.timeoutId);\n this.pendingRequests.delete(frame.id);\n\n if (frame.ok) {\n pending.resolve(frame.payload);\n } else {\n const error = frame.error || { code: 'UNKNOWN', message: 'Unknown error' };\n pending.reject(new RPCError(error.message, error.code, error.details));\n }\n\n return true;\n }\n\n /**\n * 处理接收到的消息帧\n * 自动区分响应和事件\n */\n handleFrame(frame: OpenClawFrame): { type: 'response' | 'event'; handled: boolean; data?: unknown } {\n if (frame.type === 'res') {\n const handled = this.handleResponse(frame as OpenClawResponseFrame);\n return { type: 'response', handled };\n }\n\n if (frame.type === 'event') {\n // 事件帧,返回给调用者处理\n return { type: 'event', handled: false, data: frame };\n }\n\n return { type: 'response', handled: false };\n }\n\n // ============= 便捷方法 =============\n\n /**\n * 发送连接认证请求\n */\n async connect(params: ConnectParams): Promise<ConnectResponse> {\n return this.request<ConnectParams, ConnectResponse>(OpenClawMethod.CONNECT, params);\n }\n\n /**\n * 发送聊天消息\n */\n async chatSend(params: ChatSendParams): Promise<ChatSendResponse> {\n return this.request<ChatSendParams, ChatSendResponse>(OpenClawMethod.CHAT_SEND, params);\n }\n\n /**\n * 发送心跳\n */\n async heartbeat(): Promise<{ ts: number }> {\n return this.request<{ ts: number }, { ts: number }>(OpenClawMethod.HEARTBEAT, { ts: Date.now() });\n }\n\n /**\n * 节点调用(用于 Toolcall/Activity 的 action 上行)\n *\n * 遵循 OpenClaw 的 node.invoke RPC 方法,通过 WebSocket 双向通道\n * 将用户在 Toolcall/Activity 组件中的操作(respond/confirm/update 等)\n * 发送回 Agent 端处理。\n *\n * @param params.nodeId - toolCallId 或 activityType,标识目标节点\n * @param params.action - 操作类型,如 \"respond\" | \"update\" | \"confirm\"\n * @param params.payload - 用户操作数据\n * @param params.runId - 关联的运行 ID(可选)\n */\n async nodeInvoke(params: {\n nodeId: string;\n action: string;\n payload: unknown;\n runId?: string;\n }): Promise<unknown> {\n return this.request(OpenClawMethod.NODE_INVOKE, params as unknown as Record<string, unknown>);\n }\n\n /**\n * 取消所有待处理的请求\n */\n cancelAll(reason = 'Cancelled'): void {\n this.pendingRequests.forEach((pending, id) => {\n clearTimeout(pending.timeoutId);\n pending.reject(new RPCError(reason, 'CANCELLED'));\n });\n this.pendingRequests.clear();\n }\n\n /**\n * 获取待处理请求数量\n */\n getPendingCount(): number {\n return this.pendingRequests.size;\n }\n\n /**\n * 重置处理器状态\n */\n reset(): void {\n this.cancelAll('Handler reset');\n this.seq = 0;\n }\n\n /**\n * 销毁处理器\n */\n destroy(): void {\n this.cancelAll('Handler destroyed');\n this.sendFn = null;\n }\n}\n"],"names":["RPCError","message","code","details","_this","_classCallCheck","_callSuper","name","_inherits","_Error","_createClass","_wrapNativeSuper","Error","OpenClawRPCHandler","config","_config$timeout","_config$autoRetry","_config$maxRetries","_defineProperty","Map","timeout","autoRetry","maxRetries","key","value","setSendFunction","fn","sendFn","generateRequestId","seq","concat","Date","now","Math","random","toString","substr","_request","_asyncToGenerator","_regeneratorRuntime","mark","_callee","method","params","_this2","id","frame","wrap","_context","prev","next","type","abrupt","Promise","resolve","reject","timeoutId","setTimeout","pendingRequests","has","set","createdAt","error","clearTimeout","stop","request","_x","_x2","apply","arguments","handleResponse","pending","get","ok","payload","handleFrame","handled","data","_connect","_callee2","_context2","OpenClawMethod","CONNECT","connect","_callee3","_context3","CHAT_SEND","chatSend","_callee4","_context4","HEARTBEAT","ts","heartbeat","_heartbeat","_nodeInvoke","_callee5","_context5","NODE_INVOKE","nodeInvoke","cancelAll","reason","forEach","clear","getPendingCount","size","reset","destroy"],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * OpenClaw 配置类型定义(精简版)
3
+ *
4
+ * 设计原则:
5
+ * - 只保留协议层必需的配置
6
+ * - 业务参数(sessionKey、token、message 等)通过 onRequest 回调传入
7
+ * - 通用网络配置(endpoint、maxRetries、timeout 等)复用外层 ChatNetworkConfig
8
+ */
9
+ /**
10
+ * OpenClaw 客户端标识配置
11
+ * 用于 connect 握手时的客户端识别
12
+ */
13
+ export interface OpenClawClientConfig {
14
+ /** 客户端 ID,默认 'webchat' */
15
+ id?: string;
16
+ /** 客户端版本,默认 '1.0.0' */
17
+ version?: string;
18
+ /** 客户端模式,默认 'webchat' */
19
+ mode?: string;
20
+ }
21
+ /**
22
+ * OpenClaw 协议版本配置
23
+ */
24
+ export interface OpenClawProtocolVersion {
25
+ /** 最小支持的协议版本,默认 3 */
26
+ min?: number;
27
+ /** 最大支持的协议版本,默认 3 */
28
+ max?: number;
29
+ }
30
+ /**
31
+ * OpenClaw 专属配置
32
+ * 只包含协议层必需的字段,业务参数通过 onRequest 传入
33
+ */
34
+ export interface OpenClawConfig {
35
+ /**
36
+ * 心跳间隔(毫秒)
37
+ * - 默认 30000 (30秒)
38
+ * - 设置为 0 表示禁用心跳
39
+ */
40
+ heartbeatInterval?: number;
41
+ /**
42
+ * 客户端标识配置
43
+ * 用于 connect 握手时的客户端识别
44
+ */
45
+ client?: OpenClawClientConfig;
46
+ /**
47
+ * 协议版本范围
48
+ * 一般不需要修改,除非服务端有特殊要求
49
+ */
50
+ protocolVersion?: OpenClawProtocolVersion;
51
+ /**
52
+ * 认证信息,用于 connect 握手时传入
53
+ * - token: 设备 operator token(来自 openclaw onboard)
54
+ */
55
+ auth?: {
56
+ token?: string;
57
+ [key: string]: unknown;
58
+ };
59
+ }
60
+ /**
61
+ * OpenClaw 配置默认值
62
+ */
63
+ export declare const DEFAULT_OPENCLAW_CONFIG: Required<OpenClawConfig>;
64
+ /**
65
+ * 合并 OpenClaw 配置与默认值
66
+ */
67
+ export declare function mergeOpenClawConfig(config?: OpenClawConfig): Required<OpenClawConfig>;
@@ -0,0 +1,35 @@
1
+ /**
2
+ * tdesign v1.1.0-alpha.12
3
+ * (c) 2026 tdesign
4
+ * @license MIT
5
+ */
6
+
7
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
8
+
9
+ 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; }
10
+ 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; }
11
+ var DEFAULT_OPENCLAW_CONFIG = {
12
+ heartbeatInterval: 3e4,
13
+ client: {
14
+ id: "webchat",
15
+ version: "1.0.0",
16
+ mode: "webchat"
17
+ },
18
+ protocolVersion: {
19
+ min: 3,
20
+ max: 3
21
+ },
22
+ auth: {}
23
+ };
24
+ function mergeOpenClawConfig(config) {
25
+ var _config$heartbeatInte, _config$auth;
26
+ return {
27
+ heartbeatInterval: (_config$heartbeatInte = config === null || config === void 0 ? void 0 : config.heartbeatInterval) !== null && _config$heartbeatInte !== void 0 ? _config$heartbeatInte : DEFAULT_OPENCLAW_CONFIG.heartbeatInterval,
28
+ client: _objectSpread(_objectSpread({}, DEFAULT_OPENCLAW_CONFIG.client), config === null || config === void 0 ? void 0 : config.client),
29
+ protocolVersion: _objectSpread(_objectSpread({}, DEFAULT_OPENCLAW_CONFIG.protocolVersion), config === null || config === void 0 ? void 0 : config.protocolVersion),
30
+ auth: (_config$auth = config === null || config === void 0 ? void 0 : config.auth) !== null && _config$auth !== void 0 ? _config$auth : DEFAULT_OPENCLAW_CONFIG.auth
31
+ };
32
+ }
33
+
34
+ export { DEFAULT_OPENCLAW_CONFIG, mergeOpenClawConfig };
35
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sources":["../../../../../../../pro-components/chat/chat-engine/core/adapters/openclaw/types/config.ts"],"sourcesContent":["/**\n * OpenClaw 配置类型定义(精简版)\n *\n * 设计原则:\n * - 只保留协议层必需的配置\n * - 业务参数(sessionKey、token、message 等)通过 onRequest 回调传入\n * - 通用网络配置(endpoint、maxRetries、timeout 等)复用外层 ChatNetworkConfig\n */\n\n/**\n * OpenClaw 客户端标识配置\n * 用于 connect 握手时的客户端识别\n */\nexport interface OpenClawClientConfig {\n /** 客户端 ID,默认 'webchat' */\n id?: string;\n /** 客户端版本,默认 '1.0.0' */\n version?: string;\n /** 客户端模式,默认 'webchat' */\n mode?: string;\n}\n\n/**\n * OpenClaw 协议版本配置\n */\nexport interface OpenClawProtocolVersion {\n /** 最小支持的协议版本,默认 3 */\n min?: number;\n /** 最大支持的协议版本,默认 3 */\n max?: number;\n}\n\n/**\n * OpenClaw 专属配置\n * 只包含协议层必需的字段,业务参数通过 onRequest 传入\n */\nexport interface OpenClawConfig {\n /**\n * 心跳间隔(毫秒)\n * - 默认 30000 (30秒)\n * - 设置为 0 表示禁用心跳\n */\n heartbeatInterval?: number;\n\n /**\n * 客户端标识配置\n * 用于 connect 握手时的客户端识别\n */\n client?: OpenClawClientConfig;\n\n /**\n * 协议版本范围\n * 一般不需要修改,除非服务端有特殊要求\n */\n protocolVersion?: OpenClawProtocolVersion;\n\n /**\n * 认证信息,用于 connect 握手时传入\n * - token: 设备 operator token(来自 openclaw onboard)\n */\n auth?: {\n token?: string;\n [key: string]: unknown;\n };\n}\n\n/**\n * OpenClaw 配置默认值\n */\nexport const DEFAULT_OPENCLAW_CONFIG: Required<OpenClawConfig> = {\n heartbeatInterval: 30000,\n client: {\n id: 'webchat',\n version: '1.0.0',\n mode: 'webchat',\n },\n protocolVersion: {\n min: 3,\n max: 3,\n },\n auth: {},\n};\n\n/**\n * 合并 OpenClaw 配置与默认值\n */\nexport function mergeOpenClawConfig(config?: OpenClawConfig): Required<OpenClawConfig> {\n return {\n heartbeatInterval: config?.heartbeatInterval ?? DEFAULT_OPENCLAW_CONFIG.heartbeatInterval,\n client: {\n ...DEFAULT_OPENCLAW_CONFIG.client,\n ...config?.client,\n },\n protocolVersion: {\n ...DEFAULT_OPENCLAW_CONFIG.protocolVersion,\n ...config?.protocolVersion,\n },\n auth: config?.auth ?? DEFAULT_OPENCLAW_CONFIG.auth,\n };\n}\n"],"names":["DEFAULT_OPENCLAW_CONFIG","heartbeatInterval","client","id","version","mode","protocolVersion","min","max","auth","mergeOpenClawConfig","config","_config$heartbeatInte","_config$auth","_objectSpread"],"mappings":";;;;;;;;;;AAqEO,IAAMA,uBAAoD,GAAA;AAC/DC,EAAAA,iBAAmB,EAAA,GAAA;AACnBC,EAAAA,MAAQ,EAAA;AACNC,IAAAA,EAAI,EAAA,SAAA;AACJC,IAAAA,OAAS,EAAA,OAAA;AACTC,IAAAA,IAAM,EAAA,SAAA;GACR;AACAC,EAAAA,eAAiB,EAAA;AACfC,IAAAA,GAAK,EAAA,CAAA;AACLC,IAAAA,GAAK,EAAA,CAAA;GACP;AACAC,EAAAA,MAAM,EAAC;AACT,EAAA;AAKO,SAASC,oBAAoBC,MAAmD,EAAA;EAAA,IAAAC,qBAAA,EAAAC,YAAA,CAAA;EAC9E,OAAA;AACLZ,IAAAA,iBAAA,GAAAW,qBAAA,GAAmBD,MAAQ,KAAA,IAAA,IAARA,MAAQ,KAARA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAQ,CAAAV,iBAAA,cAAAW,qBAAA,KAAA,KAAA,CAAA,GAAAA,qBAAA,GAAqBZ,uBAAwB,CAAAC,iBAAA;AACxEC,IAAAA,MAAQ,EAAAY,aAAA,CAAAA,aAAA,CAAA,EAAA,EACHd,uBAAwB,CAAAE,MAAA,CACxBS,EAAAA,MAAQ,aAARA,MAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAARA,MAAQ,CAAAT,MAAA,CACb;AACAI,IAAAA,eAAiB,EAAAQ,aAAA,CAAAA,aAAA,CAAA,EAAA,EACZd,uBAAwB,CAAAM,eAAA,CACxBK,EAAAA,MAAQ,aAARA,MAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAARA,MAAQ,CAAAL,eAAA,CACb;AACAG,IAAAA,IAAA,GAAAI,YAAA,GAAMF,MAAQ,KAAA,IAAA,IAARA,MAAQ,KAARA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAQ,CAAAF,IAAA,cAAAI,YAAA,KAAA,KAAA,CAAA,GAAAA,YAAA,GAAQb,uBAAwB,CAAAS,IAAAA;GAChD,CAAA;AACF;;;;"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * OpenClaw 事件类型定义
3
+ */
4
+ /**
5
+ * OpenClaw 核心事件类型
6
+ */
7
+ export declare enum OpenClawEventType {
8
+ /** 连接挑战(握手第一步) */
9
+ CONNECT_CHALLENGE = "connect.challenge",
10
+ /** 连接成功 */
11
+ CONNECT_SUCCESS = "connect.success",
12
+ /** 连接断开 */
13
+ CONNECT_DISCONNECT = "connect.disconnect",
14
+ /** 聊天消息 */
15
+ CHAT = "chat",
16
+ /** 聊天状态更新 */
17
+ CHAT_STATUS = "chat.status",
18
+ /** Agent 事件(通用) */
19
+ AGENT = "agent",
20
+ /** Agent 开始 */
21
+ AGENT_START = "agent.start",
22
+ /** Agent 完成 */
23
+ AGENT_COMPLETE = "agent.complete",
24
+ /** Agent 错误 */
25
+ AGENT_ERROR = "agent.error",
26
+ /** 在线状态 */
27
+ PRESENCE = "presence",
28
+ /** 健康检查 */
29
+ HEALTH = "health",
30
+ /** 心跳 */
31
+ HEARTBEAT = "heartbeat",
32
+ /** Canvas 更新 */
33
+ CANVAS = "canvas",
34
+ /** A2UI 活动 */
35
+ A2UI_ACTIVITY = "a2ui.activity"
36
+ }
37
+ /**
38
+ * Chat 事件状态
39
+ */
40
+ export declare enum ChatEventState {
41
+ /** 增量更新(流式传输中) */
42
+ DELTA = "delta",
43
+ /** 最终完成 */
44
+ FINAL = "final",
45
+ /** 错误 */
46
+ ERROR = "error",
47
+ /** 中止 */
48
+ ABORTED = "aborted"
49
+ }
50
+ /**
51
+ * Agent 流类型
52
+ */
53
+ export declare enum AgentStreamType {
54
+ /** 助手流 */
55
+ ASSISTANT = "assistant",
56
+ /** 工具流 */
57
+ TOOL = "tool",
58
+ /** 系统流 */
59
+ SYSTEM = "system",
60
+ /** Activity 组件流 */
61
+ ACTIVITY = "activity"
62
+ }
63
+ /**
64
+ * Agent 数据类型
65
+ */
66
+ export declare enum AgentDataType {
67
+ /** 文本快照 */
68
+ TEXT_SNAPSHOT = "text_snapshot",
69
+ /** 文本增量 */
70
+ TEXT_DELTA = "text_delta",
71
+ /** 工具调用 */
72
+ TOOL_CALL = "tool_call",
73
+ /** 工具结果 */
74
+ TOOL_RESULT = "tool_result",
75
+ /** 完成 */
76
+ DONE = "done",
77
+ /** 错误 */
78
+ ERROR = "error"
79
+ }
80
+ /**
81
+ * OpenClaw RPC 方法名
82
+ */
83
+ export declare enum OpenClawMethod {
84
+ /** 连接认证 */
85
+ CONNECT = "connect",
86
+ /** 发送聊天消息 */
87
+ CHAT_SEND = "chat.send",
88
+ /** 会话补丁更新 */
89
+ SESSIONS_PATCH = "sessions.patch",
90
+ /** 会话列表 */
91
+ SESSIONS_LIST = "sessions.list",
92
+ /** 心跳 */
93
+ HEARTBEAT = "heartbeat",
94
+ /** 节点列表 */
95
+ NODE_LIST = "node.list",
96
+ /** 节点描述 */
97
+ NODE_DESCRIBE = "node.describe",
98
+ /** 节点调用 */
99
+ NODE_INVOKE = "node.invoke"
100
+ }
101
+ /**
102
+ * 连接状态
103
+ */
104
+ export declare enum OpenClawConnectionState {
105
+ /** 已断开 */
106
+ DISCONNECTED = "disconnected",
107
+ /** 连接中 */
108
+ CONNECTING = "connecting",
109
+ /** 已连接(握手中) */
110
+ HANDSHAKING = "handshaking",
111
+ /** 已认证(可用) */
112
+ AUTHENTICATED = "authenticated",
113
+ /** 重连中 */
114
+ RECONNECTING = "reconnecting",
115
+ /** 关闭中 */
116
+ CLOSING = "closing",
117
+ /** 已关闭 */
118
+ CLOSED = "closed",
119
+ /** 错误 */
120
+ ERROR = "error"
121
+ }
@@ -0,0 +1,71 @@
1
+ /**
2
+ * tdesign v1.1.0-alpha.12
3
+ * (c) 2026 tdesign
4
+ * @license MIT
5
+ */
6
+
7
+ var OpenClawEventType = /* @__PURE__ */function (OpenClawEventType2) {
8
+ OpenClawEventType2["CONNECT_CHALLENGE"] = "connect.challenge";
9
+ OpenClawEventType2["CONNECT_SUCCESS"] = "connect.success";
10
+ OpenClawEventType2["CONNECT_DISCONNECT"] = "connect.disconnect";
11
+ OpenClawEventType2["CHAT"] = "chat";
12
+ OpenClawEventType2["CHAT_STATUS"] = "chat.status";
13
+ OpenClawEventType2["AGENT"] = "agent";
14
+ OpenClawEventType2["AGENT_START"] = "agent.start";
15
+ OpenClawEventType2["AGENT_COMPLETE"] = "agent.complete";
16
+ OpenClawEventType2["AGENT_ERROR"] = "agent.error";
17
+ OpenClawEventType2["PRESENCE"] = "presence";
18
+ OpenClawEventType2["HEALTH"] = "health";
19
+ OpenClawEventType2["HEARTBEAT"] = "heartbeat";
20
+ OpenClawEventType2["CANVAS"] = "canvas";
21
+ OpenClawEventType2["A2UI_ACTIVITY"] = "a2ui.activity";
22
+ return OpenClawEventType2;
23
+ }(OpenClawEventType || {});
24
+ var ChatEventState = /* @__PURE__ */function (ChatEventState2) {
25
+ ChatEventState2["DELTA"] = "delta";
26
+ ChatEventState2["FINAL"] = "final";
27
+ ChatEventState2["ERROR"] = "error";
28
+ ChatEventState2["ABORTED"] = "aborted";
29
+ return ChatEventState2;
30
+ }(ChatEventState || {});
31
+ var AgentStreamType = /* @__PURE__ */function (AgentStreamType2) {
32
+ AgentStreamType2["ASSISTANT"] = "assistant";
33
+ AgentStreamType2["TOOL"] = "tool";
34
+ AgentStreamType2["SYSTEM"] = "system";
35
+ AgentStreamType2["ACTIVITY"] = "activity";
36
+ return AgentStreamType2;
37
+ }(AgentStreamType || {});
38
+ var AgentDataType = /* @__PURE__ */function (AgentDataType2) {
39
+ AgentDataType2["TEXT_SNAPSHOT"] = "text_snapshot";
40
+ AgentDataType2["TEXT_DELTA"] = "text_delta";
41
+ AgentDataType2["TOOL_CALL"] = "tool_call";
42
+ AgentDataType2["TOOL_RESULT"] = "tool_result";
43
+ AgentDataType2["DONE"] = "done";
44
+ AgentDataType2["ERROR"] = "error";
45
+ return AgentDataType2;
46
+ }(AgentDataType || {});
47
+ var OpenClawMethod = /* @__PURE__ */function (OpenClawMethod2) {
48
+ OpenClawMethod2["CONNECT"] = "connect";
49
+ OpenClawMethod2["CHAT_SEND"] = "chat.send";
50
+ OpenClawMethod2["SESSIONS_PATCH"] = "sessions.patch";
51
+ OpenClawMethod2["SESSIONS_LIST"] = "sessions.list";
52
+ OpenClawMethod2["HEARTBEAT"] = "heartbeat";
53
+ OpenClawMethod2["NODE_LIST"] = "node.list";
54
+ OpenClawMethod2["NODE_DESCRIBE"] = "node.describe";
55
+ OpenClawMethod2["NODE_INVOKE"] = "node.invoke";
56
+ return OpenClawMethod2;
57
+ }(OpenClawMethod || {});
58
+ var OpenClawConnectionState = /* @__PURE__ */function (OpenClawConnectionState2) {
59
+ OpenClawConnectionState2["DISCONNECTED"] = "disconnected";
60
+ OpenClawConnectionState2["CONNECTING"] = "connecting";
61
+ OpenClawConnectionState2["HANDSHAKING"] = "handshaking";
62
+ OpenClawConnectionState2["AUTHENTICATED"] = "authenticated";
63
+ OpenClawConnectionState2["RECONNECTING"] = "reconnecting";
64
+ OpenClawConnectionState2["CLOSING"] = "closing";
65
+ OpenClawConnectionState2["CLOSED"] = "closed";
66
+ OpenClawConnectionState2["ERROR"] = "error";
67
+ return OpenClawConnectionState2;
68
+ }(OpenClawConnectionState || {});
69
+
70
+ export { AgentDataType, AgentStreamType, ChatEventState, OpenClawConnectionState, OpenClawEventType, OpenClawMethod };
71
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sources":["../../../../../../../pro-components/chat/chat-engine/core/adapters/openclaw/types/events.ts"],"sourcesContent":["/**\n * OpenClaw 事件类型定义\n */\n\n/**\n * OpenClaw 核心事件类型\n */\nexport enum OpenClawEventType {\n // ============= 连接相关 =============\n /** 连接挑战(握手第一步) */\n CONNECT_CHALLENGE = 'connect.challenge',\n /** 连接成功 */\n CONNECT_SUCCESS = 'connect.success',\n /** 连接断开 */\n CONNECT_DISCONNECT = 'connect.disconnect',\n\n // ============= 聊天相关 =============\n /** 聊天消息 */\n CHAT = 'chat',\n /** 聊天状态更新 */\n CHAT_STATUS = 'chat.status',\n\n // ============= Agent 相关 =============\n /** Agent 事件(通用) */\n AGENT = 'agent',\n /** Agent 开始 */\n AGENT_START = 'agent.start',\n /** Agent 完成 */\n AGENT_COMPLETE = 'agent.complete',\n /** Agent 错误 */\n AGENT_ERROR = 'agent.error',\n\n // ============= 存在状态 =============\n /** 在线状态 */\n PRESENCE = 'presence',\n\n // ============= 健康检查 =============\n /** 健康检查 */\n HEALTH = 'health',\n /** 心跳 */\n HEARTBEAT = 'heartbeat',\n\n // ============= Canvas/A2UI =============\n /** Canvas 更新 */\n CANVAS = 'canvas',\n /** A2UI 活动 */\n A2UI_ACTIVITY = 'a2ui.activity',\n}\n\n/**\n * Chat 事件状态\n */\nexport enum ChatEventState {\n /** 增量更新(流式传输中) */\n DELTA = 'delta',\n /** 最终完成 */\n FINAL = 'final',\n /** 错误 */\n ERROR = 'error',\n /** 中止 */\n ABORTED = 'aborted',\n}\n\n/**\n * Agent 流类型\n */\nexport enum AgentStreamType {\n /** 助手流 */\n ASSISTANT = 'assistant',\n /** 工具流 */\n TOOL = 'tool',\n /** 系统流 */\n SYSTEM = 'system',\n /** Activity 组件流 */\n ACTIVITY = 'activity',\n}\n\n/**\n * Agent 数据类型\n */\nexport enum AgentDataType {\n /** 文本快照 */\n TEXT_SNAPSHOT = 'text_snapshot',\n /** 文本增量 */\n TEXT_DELTA = 'text_delta',\n /** 工具调用 */\n TOOL_CALL = 'tool_call',\n /** 工具结果 */\n TOOL_RESULT = 'tool_result',\n /** 完成 */\n DONE = 'done',\n /** 错误 */\n ERROR = 'error',\n}\n\n/**\n * OpenClaw RPC 方法名\n */\nexport enum OpenClawMethod {\n /** 连接认证 */\n CONNECT = 'connect',\n /** 发送聊天消息 */\n CHAT_SEND = 'chat.send',\n /** 会话补丁更新 */\n SESSIONS_PATCH = 'sessions.patch',\n /** 会话列表 */\n SESSIONS_LIST = 'sessions.list',\n /** 心跳 */\n HEARTBEAT = 'heartbeat',\n /** 节点列表 */\n NODE_LIST = 'node.list',\n /** 节点描述 */\n NODE_DESCRIBE = 'node.describe',\n /** 节点调用 */\n NODE_INVOKE = 'node.invoke',\n}\n\n/**\n * 连接状态\n */\nexport enum OpenClawConnectionState {\n /** 已断开 */\n DISCONNECTED = 'disconnected',\n /** 连接中 */\n CONNECTING = 'connecting',\n /** 已连接(握手中) */\n HANDSHAKING = 'handshaking',\n /** 已认证(可用) */\n AUTHENTICATED = 'authenticated',\n /** 重连中 */\n RECONNECTING = 'reconnecting',\n /** 关闭中 */\n CLOSING = 'closing',\n /** 已关闭 */\n CLOSED = 'closed',\n /** 错误 */\n ERROR = 'error',\n}\n"],"names":["OpenClawEventType","ChatEventState","AgentStreamType","AgentDataType","OpenClawMethod","OpenClawConnectionState"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * OpenClaw 类型导出
3
+ */
4
+ export * from './config';
5
+ export * from './events';
6
+ export * from './messages';
@@ -0,0 +1,11 @@
1
+ /**
2
+ * tdesign v1.1.0-alpha.12
3
+ * (c) 2026 tdesign
4
+ * @license MIT
5
+ */
6
+
7
+ export { DEFAULT_OPENCLAW_CONFIG, mergeOpenClawConfig } from './config.js';
8
+ export { AgentDataType, AgentStreamType, ChatEventState, OpenClawConnectionState, OpenClawEventType, OpenClawMethod } from './events.js';
9
+ export { isEventFrame, isRequestFrame, isResponseFrame } from './messages.js';
10
+ import '@babel/runtime/helpers/defineProperty';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}