@xgjktech/xg_cwork_im 1.11.3 → 1.11.5

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 (53) hide show
  1. package/README.md +20 -10
  2. package/dist/index.d.ts +10 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/{index.ts → dist/index.js} +5 -9
  5. package/dist/index.js.map +1 -0
  6. package/dist/src/auth.d.ts +25 -0
  7. package/dist/src/auth.d.ts.map +1 -0
  8. package/{src/auth.ts → dist/src/auth.js} +55 -79
  9. package/dist/src/auth.js.map +1 -0
  10. package/dist/src/channel.d.ts +13 -0
  11. package/dist/src/channel.d.ts.map +1 -0
  12. package/{src/channel.ts → dist/src/channel.js} +252 -392
  13. package/dist/src/channel.js.map +1 -0
  14. package/dist/src/connection.d.ts +51 -0
  15. package/dist/src/connection.d.ts.map +1 -0
  16. package/{src/connection.ts → dist/src/connection.js} +63 -124
  17. package/dist/src/connection.js.map +1 -0
  18. package/dist/src/group-history-tool.d.ts +23 -0
  19. package/dist/src/group-history-tool.d.ts.map +1 -0
  20. package/{src/group-history-tool.ts → dist/src/group-history-tool.js} +168 -204
  21. package/dist/src/group-history-tool.js.map +1 -0
  22. package/dist/src/inbound-media-local.d.ts +40 -0
  23. package/dist/src/inbound-media-local.d.ts.map +1 -0
  24. package/{src/inbound-media-local.ts → dist/src/inbound-media-local.js} +52 -90
  25. package/dist/src/inbound-media-local.js.map +1 -0
  26. package/dist/src/recommended-system-prompt.d.ts +3 -0
  27. package/dist/src/recommended-system-prompt.d.ts.map +1 -0
  28. package/dist/src/recommended-system-prompt.js +3 -0
  29. package/dist/src/recommended-system-prompt.js.map +1 -0
  30. package/dist/src/resource-file.d.ts +65 -0
  31. package/dist/src/resource-file.d.ts.map +1 -0
  32. package/{src/resource-file.ts → dist/src/resource-file.js} +80 -103
  33. package/dist/src/resource-file.js.map +1 -0
  34. package/dist/src/send-group-message-tool.d.ts +16 -0
  35. package/dist/src/send-group-message-tool.d.ts.map +1 -0
  36. package/{src/send-group-message-tool.ts → dist/src/send-group-message-tool.js} +17 -34
  37. package/dist/src/send-group-message-tool.js.map +1 -0
  38. package/dist/src/send-service.d.ts +34 -0
  39. package/dist/src/send-service.d.ts.map +1 -0
  40. package/dist/src/send-service.js +263 -0
  41. package/dist/src/send-service.js.map +1 -0
  42. package/{src/tool-json-result.ts → dist/src/tool-json-result.d.ts} +14 -24
  43. package/dist/src/tool-json-result.d.ts.map +1 -0
  44. package/dist/src/tool-json-result.js +20 -0
  45. package/dist/src/tool-json-result.js.map +1 -0
  46. package/{src/types.ts → dist/src/types.d.ts} +32 -95
  47. package/dist/src/types.d.ts.map +1 -0
  48. package/dist/src/types.js +32 -0
  49. package/dist/src/types.js.map +1 -0
  50. package/openclaw.plugin.json +6 -0
  51. package/package.json +7 -6
  52. package/src/recommended-system-prompt.ts +0 -3
  53. package/src/send-service.ts +0 -283
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channel.js","sourceRoot":"","sources":["../../src/channel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * XG-IM WebSocket 连接管理模块
3
+ *
4
+ * 功能:
5
+ * - 建立 wss://<baseUrl>/ws-notify/websocket?accessToken=<token> 长连接
6
+ * - 接收 robotMention 消息并回调
7
+ * - 支持基于 WebSocket 的 AI 回复流式推送(START/CHUNK/END 协议)
8
+ * - 指数退避 + 抖动的自动重连机制
9
+ * - 主动发送 WebSocket ping 保活,超时自动重连
10
+ */
11
+ import type { Log } from "./auth.js";
12
+ import type { WsMessage, XgImConfig } from "./types.js";
13
+ export type OnMessageCallback = (msg: WsMessage) => void;
14
+ /**
15
+ * CHUNK 载荷:发送端带 seq,便于集群/跨服务按序重排。
16
+ * - isThinking=true 为思考阶段,seq 从 0 递增(thinkSeq);
17
+ * - isThinking=false 为回答阶段,seq 从 0 递增(answerSeq)。
18
+ */
19
+ export interface ImStreamChunkData {
20
+ isThinking: boolean;
21
+ content: string;
22
+ /** 当前阶段内的序号,think 与 answer 各自从 0 递增 */
23
+ seq: number;
24
+ }
25
+ /**
26
+ * 基于 WebSocket 的流式消息客户端。
27
+ *
28
+ * - start(): 发送 START,等待 ack,返回 msgId。
29
+ * - chunk(): 基于 msgId 发送增量文本,data 中带 seq(think/answer 阶段分开)。
30
+ * - end(): 发送 END,通知服务端结束本次流式消息。
31
+ */
32
+ export interface ImStreamClient {
33
+ start: (opts: {
34
+ groupId?: string;
35
+ toUserId?: string;
36
+ }) => Promise<{
37
+ msgId: string;
38
+ }>;
39
+ chunk: (msgId: string, data: ImStreamChunkData) => Promise<void>;
40
+ end: (msgId: string, reason: string) => Promise<void>;
41
+ }
42
+ /**
43
+ * 启动 WebSocket 连接并监听消息。
44
+ *
45
+ * @returns 一个 `stop()` 函数,调用后永久断开连接,不再重连。
46
+ */
47
+ export declare function startWebSocket(config: XgImConfig, token: string, onMessage: OnMessageCallback, log: Log): {
48
+ stop: () => void;
49
+ streamClient: ImStreamClient;
50
+ };
51
+ //# sourceMappingURL=connection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/connection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExD,MAAM,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,CAAC;AAEzD;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAC9B,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAC;CACf;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC3B,KAAK,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrF,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACzD;AAoBD;;;;GAIG;AACH,wBAAgB,cAAc,CAC1B,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,iBAAiB,EAC5B,GAAG,EAAE,GAAG,GACT;IAAE,IAAI,EAAE,MAAM,IAAI,CAAC;IAAC,YAAY,EAAE,cAAc,CAAA;CAAE,CAyTpD"}
@@ -8,74 +8,29 @@
8
8
  * - 指数退避 + 抖动的自动重连机制
9
9
  * - 主动发送 WebSocket ping 保活,超时自动重连
10
10
  */
11
-
12
11
  import { randomUUID } from "node:crypto";
13
12
  import WebSocket from "ws";
14
- import type { Log } from "./auth.js";
15
- import type { WsMessage, XgImConfig } from "./types.js";
16
-
17
- export type OnMessageCallback = (msg: WsMessage) => void;
18
-
19
- /**
20
- * CHUNK 载荷:发送端带 seq,便于集群/跨服务按序重排。
21
- * - isThinking=true 为思考阶段,seq 从 0 递增(thinkSeq);
22
- * - isThinking=false 为回答阶段,seq 从 0 递增(answerSeq)。
23
- */
24
- export interface ImStreamChunkData {
25
- isThinking: boolean;
26
- content: string;
27
- /** 当前阶段内的序号,think 与 answer 各自从 0 递增 */
28
- seq: number;
29
- }
30
-
31
- /**
32
- * 基于 WebSocket 的流式消息客户端。
33
- *
34
- * - start(): 发送 START,等待 ack,返回 msgId。
35
- * - chunk(): 基于 msgId 发送增量文本,data 中带 seq(think/answer 阶段分开)。
36
- * - end(): 发送 END,通知服务端结束本次流式消息。
37
- */
38
- export interface ImStreamClient {
39
- start: (opts: { groupId?: string; toUserId?: string }) => Promise<{ msgId: string }>;
40
- chunk: (msgId: string, data: ImStreamChunkData) => Promise<void>;
41
- end: (msgId: string, reason: string) => Promise<void>;
42
- }
43
-
44
13
  /** 心跳间隔(ms):每 20 秒发一次 ping,防止连接被后台剔除 */
45
14
  const PING_INTERVAL_MS = 20_000;
46
-
47
15
  /** 心跳日志间隔(ms):每 10 分钟输出一次 info 日志,避免刷屏 */
48
16
  const PING_LOG_INTERVAL_MS = 600_000;
49
-
50
17
  /** 计算指数退避延迟(带随机抖动) */
51
- function calcDelay(
52
- attempt: number,
53
- initial: number,
54
- max: number,
55
- jitter: number,
56
- ): number {
18
+ function calcDelay(attempt, initial, max, jitter) {
57
19
  const base = Math.min(initial * 2 ** attempt, max);
58
20
  const jitterMs = base * jitter * Math.random();
59
21
  return Math.round(base + jitterMs);
60
22
  }
61
-
62
23
  /**
63
24
  * 启动 WebSocket 连接并监听消息。
64
25
  *
65
26
  * @returns 一个 `stop()` 函数,调用后永久断开连接,不再重连。
66
27
  */
67
- export function startWebSocket(
68
- config: XgImConfig,
69
- token: string,
70
- onMessage: OnMessageCallback,
71
- log: Log,
72
- ): { stop: () => void; streamClient: ImStreamClient } {
28
+ export function startWebSocket(config, token, onMessage, log) {
73
29
  const maxAttempts = config.maxConnectionAttempts ?? 200;
74
30
  const initialDelay = config.initialReconnectDelay ?? 1_000;
75
31
  const maxDelay = config.maxReconnectDelay ?? 60_000;
76
32
  const jitter = config.reconnectJitter ?? 0.3;
77
33
  const logPrefix = `[cwork_im:${config.agentId || "main"}]`;
78
-
79
34
  // 将 baseUrl 的 http/https 协议替换为 ws/wss,并根据业务规则处理独立域名
80
35
  let wsBase = config.wsBaseUrl;
81
36
  if (!wsBase) {
@@ -85,98 +40,84 @@ export function startWebSocket(
85
40
  wsBase = config.baseUrl
86
41
  .replace(/^http/, "ws");
87
42
  }
88
-
89
43
  const wsUrl = `${wsBase}/ws-notify/websocket?accessToken=${encodeURIComponent(token)}`;
90
-
91
44
  let stopped = false;
92
- let ws: WebSocket | null = null;
93
- let reconnectTimer: ReturnType<typeof setTimeout> | null = null;
94
- let pingTimer: ReturnType<typeof setInterval> | null = null;
45
+ let ws = null;
46
+ let reconnectTimer = null;
47
+ let pingTimer = null;
95
48
  let attempt = 0;
96
-
97
49
  /**
98
50
  * clientMsgId -> resolver(msgId)
99
51
  *
100
52
  * - 当发送 START 时,会生成一个 clientMsgId,并在此处挂一个 resolver。
101
53
  * - 收到 im_stream_msg_ack 后,根据 clientMsgId 触发 resolver,返回服务端生成的 msgId。
102
54
  */
103
- const pendingAcks = new Map<string, (msgId: string) => void>();
104
-
55
+ const pendingAcks = new Map();
105
56
  /** 清除心跳定时器 */
106
- function clearHeartbeat(): void {
57
+ function clearHeartbeat() {
107
58
  if (pingTimer !== null) {
108
59
  clearInterval(pingTimer);
109
60
  pingTimer = null;
110
61
  }
111
62
  }
112
-
113
63
  /** 启动心跳:每 20s 发一次 ping,info 日志每 10 分钟输出一次 */
114
- function startHeartbeat(socket: WebSocket): void {
64
+ function startHeartbeat(socket) {
115
65
  clearHeartbeat();
116
66
  let lastLogTime = 0;
117
-
118
67
  pingTimer = setInterval(() => {
119
68
  if (socket.readyState !== WebSocket.OPEN) {
120
69
  clearHeartbeat();
121
70
  return;
122
71
  }
123
-
124
72
  const now = Date.now();
125
73
  const shouldLog = now - lastLogTime >= PING_LOG_INTERVAL_MS;
126
74
  if (shouldLog) {
127
75
  lastLogTime = now;
128
76
  log.info(`${logPrefix} ♥ Ping sent at ${new Date().toISOString()}`);
129
77
  }
130
-
131
78
  // 发送标准 WebSocket ping 帧
132
- socket.ping((err: Error | null) => {
79
+ socket.ping((err) => {
133
80
  if (err) {
134
81
  log.error(`${logPrefix} Ping frame error: ${err.message}`);
135
82
  }
136
83
  });
137
-
138
84
  // 发送业务层文本 ping(更新服务端活跃时间)
139
85
  socket.send("ping");
140
86
  }, PING_INTERVAL_MS);
141
87
  }
142
-
143
88
  /**
144
89
  * 确保当前存在可用的 WebSocket 连接。
145
90
  * 若不存在或未处于 OPEN 状态,则抛出错误,由上层决定是否回退为非流式模式。
146
91
  */
147
- function ensureSocketReady(): WebSocket {
92
+ function ensureSocketReady() {
148
93
  if (!ws || ws.readyState !== WebSocket.OPEN) {
149
94
  throw new Error(`${logPrefix} WebSocket is not ready for sending stream message`);
150
95
  }
151
96
  return ws;
152
97
  }
153
-
154
- function connect(): void {
155
- if (stopped) return;
156
-
98
+ function connect() {
99
+ if (stopped)
100
+ return;
157
101
  log.info(`${logPrefix} Connecting to WebSocket (attempt ${attempt + 1})...`);
158
-
159
102
  ws = new WebSocket(wsUrl);
160
-
161
103
  ws.on("open", () => {
162
104
  attempt = 0; // 连接成功后重置重试计数
163
105
  log.info(`${logPrefix} WebSocket connected successfully.`);
164
- startHeartbeat(ws!);
106
+ startHeartbeat(ws);
165
107
  });
166
-
167
108
  // 处理消息
168
- ws.on("message", (raw: WebSocket.RawData) => {
109
+ ws.on("message", (raw) => {
169
110
  const rawString = raw.toString();
170
-
171
111
  if (rawString === "pong" || rawString === "ping") {
172
- if (config.debug) log.debug?.(`${logPrefix} Ignored plain text ${rawString}`);
112
+ if (config.debug)
113
+ log.debug?.(`${logPrefix} Ignored plain text ${rawString}`);
173
114
  return;
174
115
  }
175
-
176
- let parsed: any;
116
+ let parsed;
177
117
  try {
178
- parsed = JSON.parse(rawString) as unknown;
179
- } catch {
118
+ parsed = JSON.parse(rawString);
119
+ }
120
+ catch {
180
121
  // 如果不是 JSON,说明是心跳或者其他内容,忽略即可
181
122
  // 如果开启 debug 还是可以打印日志
182
123
  if (config.debug) {
@@ -184,90 +125,97 @@ export function startWebSocket(
184
125
  }
185
126
  return;
186
127
  }
187
-
188
128
  log.info(`${logPrefix} ⇐ WS message received: cmd=${parsed.cmd}`);
189
-
190
129
  // 处理流式消息 ack:im_stream_msg_ack
191
130
  if (parsed.cmd === "im_stream_msg_ack" && parsed.params) {
192
- const clientMsgId: string | undefined = parsed.params.clientMsgId;
193
- const msgId: string | undefined = parsed.params.msgId;
131
+ const p = parsed.params;
132
+ const clientMsgId = typeof p.clientMsgId === "string" ? p.clientMsgId : undefined;
133
+ const msgIdRaw = typeof p.msgId === "string" ? p.msgId : undefined;
134
+ const msgIdTrimmed = msgIdRaw?.trim() ?? "";
135
+ const msgId = msgIdTrimmed.length > 0 ? msgIdTrimmed : undefined;
136
+ const altIdRaw = typeof p.messageId === "string"
137
+ ? p.messageId
138
+ : typeof p.streamMsgId === "string"
139
+ ? p.streamMsgId
140
+ : undefined;
141
+ const altId = altIdRaw?.trim() ? altIdRaw.trim() : undefined;
194
142
  if (clientMsgId && msgId) {
195
143
  const resolver = pendingAcks.get(clientMsgId);
196
144
  if (resolver) {
197
145
  pendingAcks.delete(clientMsgId);
198
146
  resolver(msgId);
199
- log.info(`${logPrefix} ⇐ im_stream_msg_ack received: clientMsgId=${clientMsgId} msgId=${msgId}`);
200
- } else if (config.debug) {
147
+ log.info(`${logPrefix} ⇐ im_stream_msg_ack ok clientMsgId=${clientMsgId} msgId(len=${msgId.length})=` +
148
+ `${msgId.length <= 28 ? msgId : `${msgId.slice(0, 14)}…${msgId.slice(-8)}`}`);
149
+ }
150
+ else if (config.debug) {
201
151
  log.debug?.(`${logPrefix} im_stream_msg_ack with unknown clientMsgId=${clientMsgId}`);
202
152
  }
203
- } else if (config.debug) {
204
- log.debug?.(`${logPrefix} im_stream_msg_ack missing clientMsgId or msgId`);
153
+ }
154
+ else if (clientMsgId && altId && !msgId) {
155
+ log.warn?.(`${logPrefix} im_stream_msg_ack: params.msgId missing/empty but alternate id present ` +
156
+ `(messageId/streamMsgId). keys=${Object.keys(p).join(",")}. Plugin START waiter only accepts params.msgId — merge will fail until backend aligns.`);
157
+ }
158
+ else {
159
+ log.warn?.(`${logPrefix} im_stream_msg_ack incomplete clientMsgId=${clientMsgId ? "present" : "missing"} ` +
160
+ `msgId=${msgIdRaw === undefined ? "missing" : msgIdRaw === "" ? "empty-string" : msgId ? "ok" : "whitespace-only"} ` +
161
+ `keys=${Object.keys(p).join(",")}`);
205
162
  }
206
163
  return;
207
164
  }
208
-
209
165
  // 处理包含 params 的事件(robotMention / groupMessage)
210
166
  if (parsed.params && (parsed.cmd === "robotMention" || parsed.cmd === "groupMessage")) {
211
167
  if (parsed.cmd === "robotMention") {
212
168
  log.info(`${logPrefix} 📨 robotMention received: groupId=${parsed.params.groupId} msgId=${parsed.params.msgId}`);
213
169
  }
214
- const msg: WsMessage = {
170
+ const msg = {
215
171
  cmd: parsed.cmd,
216
172
  params: parsed.params,
217
173
  ts: typeof parsed.ts === "number" ? parsed.ts : Date.now(),
218
174
  };
219
- Promise.resolve(onMessage(msg)).catch((err: unknown) => {
175
+ Promise.resolve(onMessage(msg)).catch((err) => {
220
176
  log.error(`${logPrefix} onMessage async error: ${String(err)}`);
221
177
  });
222
178
  }
223
179
  });
224
-
225
- ws.on("close", (code: number, reason: Buffer) => {
180
+ ws.on("close", (code, reason) => {
226
181
  clearHeartbeat();
227
182
  if (stopped) {
228
183
  log.info(`${logPrefix} WebSocket closed (intentional stop).`);
229
184
  return;
230
185
  }
231
186
  const reasonStr = (reason && reason.length > 0) ? reason.toString() : "(none)";
232
-
233
187
  // 使用 log.info 输出警告,避免 log.warn 不存在导致漏打日志
234
188
  log.info(`${logPrefix} [WARN] WebSocket closed unexpectedly: code=${code}, reason=${reasonStr}. Scheduling reconnect...`);
235
189
  scheduleReconnect();
236
190
  });
237
-
238
- ws.on("error", (err: Error) => {
239
- if (stopped) return;
191
+ ws.on("error", (err) => {
192
+ if (stopped)
193
+ return;
240
194
  log.error(`${logPrefix} WebSocket error: ${err.message}`);
241
195
  // 关闭后会触发 close 事件,由 close 处理重连
242
196
  });
243
197
  }
244
-
245
- function scheduleReconnect(): void {
246
- if (stopped) return;
247
-
198
+ function scheduleReconnect() {
199
+ if (stopped)
200
+ return;
248
201
  if (attempt >= maxAttempts) {
249
202
  log.error(`${logPrefix} Max reconnect attempts (${maxAttempts}) reached. Giving up.`);
250
203
  return;
251
204
  }
252
-
253
205
  const delay = calcDelay(attempt, initialDelay, maxDelay, jitter);
254
206
  attempt += 1;
255
207
  log.info(`${logPrefix} Reconnecting in ${delay}ms (attempt ${attempt}/${maxAttempts})...`);
256
-
257
208
  reconnectTimer = setTimeout(() => {
258
209
  reconnectTimer = null;
259
210
  connect();
260
211
  }, delay);
261
212
  }
262
-
263
213
  // 首次连接
264
214
  connect();
265
-
266
- const streamClient: ImStreamClient = {
267
- async start(opts: { groupId?: string; toUserId?: string }): Promise<{ msgId: string }> {
215
+ const streamClient = {
216
+ async start(opts) {
268
217
  const socket = ensureSocketReady();
269
218
  const clientMsgId = randomUUID();
270
-
271
219
  const payload = {
272
220
  cmd: "im_stream_msg",
273
221
  params: {
@@ -279,19 +227,15 @@ export function startWebSocket(
279
227
  },
280
228
  },
281
229
  };
282
-
283
230
  log.info(`${logPrefix} ⇒ WS START stream: clientMsgId=${clientMsgId} groupId=${opts.groupId ?? ""} toUserId=${opts.toUserId ?? ""}`);
284
-
285
- const msgId = await new Promise<string>((resolve, reject) => {
231
+ const msgId = await new Promise((resolve, reject) => {
286
232
  pendingAcks.set(clientMsgId, resolve);
287
-
288
233
  socket.send(JSON.stringify(payload), (err) => {
289
234
  if (err) {
290
235
  pendingAcks.delete(clientMsgId);
291
236
  reject(err);
292
237
  }
293
238
  });
294
-
295
239
  // 简单超时保护,避免 ack 永远不到导致 Promise 悬挂
296
240
  setTimeout(() => {
297
241
  if (pendingAcks.has(clientMsgId)) {
@@ -300,11 +244,9 @@ export function startWebSocket(
300
244
  }
301
245
  }, 10_000);
302
246
  });
303
-
304
247
  return { msgId };
305
248
  },
306
-
307
- async chunk(msgId: string, data: ImStreamChunkData): Promise<void> {
249
+ async chunk(msgId, data) {
308
250
  const socket = ensureSocketReady();
309
251
  const payload = {
310
252
  cmd: "im_stream_msg",
@@ -323,8 +265,7 @@ export function startWebSocket(
323
265
  }
324
266
  socket.send(JSON.stringify(payload));
325
267
  },
326
-
327
- async end(msgId: string, reason: string): Promise<void> {
268
+ async end(msgId, reason) {
328
269
  const socket = ensureSocketReady();
329
270
  const payload = {
330
271
  cmd: "im_stream_msg",
@@ -338,20 +279,17 @@ export function startWebSocket(
338
279
  socket.send(JSON.stringify(payload));
339
280
  },
340
281
  };
341
-
342
282
  return {
343
- stop(): void {
344
- if (stopped) return;
283
+ stop() {
284
+ if (stopped)
285
+ return;
345
286
  stopped = true;
346
287
  log.info(`${logPrefix} Stopping WebSocket connection...`);
347
-
348
288
  clearHeartbeat();
349
-
350
289
  if (reconnectTimer !== null) {
351
290
  clearTimeout(reconnectTimer);
352
291
  reconnectTimer = null;
353
292
  }
354
-
355
293
  if (ws && ws.readyState !== WebSocket.CLOSED) {
356
294
  ws.close(1000, "Plugin stopped");
357
295
  }
@@ -360,3 +298,4 @@ export function startWebSocket(
360
298
  streamClient,
361
299
  };
362
300
  }
301
+ //# sourceMappingURL=connection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/connection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * XG-IM 群聊历史记录工具(供 AI 按需调用)
3
+ *
4
+ * 通过 OpenClaw 的 api.registerTool() 注入,让 AI 在感知到需要上下文时
5
+ * 主动拉取群聊最近 N 条历史消息,而不是每次收到 @ 都强行拉取。
6
+ */
7
+ import type { AnyAgentTool } from "openclaw/plugin-sdk";
8
+ import type { XgImConfig } from "./types.js";
9
+ /** 从 OpenClaw 配置中提取 xg_cwork_im 顶层配置(保留 accounts 以便多账户路由) */
10
+ export declare function extractXgCworkImConfig(cfg: unknown): XgImConfig | null;
11
+ /**
12
+ * 根据 accountId 解析具体账号配置。
13
+ *
14
+ * - 若传入 accountId 且能解析为有效下标,则优先使用对应 accounts[accountId]。
15
+ * - 否则:有 accounts 时默认使用 accounts[0];无 accounts 时使用顶层配置。
16
+ */
17
+ export declare function resolveAccountConfig(base: XgImConfig, accountId?: string | null): XgImConfig;
18
+ /**
19
+ * 构建群聊历史工具对象(使用注册时已知的 config,绕开 factory 工厂模式的命名限制)。
20
+ * 由 index.ts 在 register() 里调用,并将构建好的工具对象静态地传给 api.registerTool(tool)。
21
+ */
22
+ export declare function buildGroupHistoryTool(config: XgImConfig): AnyAgentTool;
23
+ //# sourceMappingURL=group-history-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group-history-tool.d.ts","sourceRoot":"","sources":["../../src/group-history-tool.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,KAAK,EAAgC,UAAU,EAAE,MAAM,YAAY,CAAC;AA+B3E,6DAA6D;AAC7D,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,GAAG,IAAI,CAItE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,UAAU,CAgB5F;AAuCD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,UAAU,GAAG,YAAY,CAwFtE"}