@xgjktech/xg_cwork_im 1.11.1 → 1.11.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/README.md +25 -18
  2. package/dist/index.d.ts +10 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/{index.ts → dist/index.js} +33 -37
  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} +224 -368
  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} +45 -122
  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} +317 -339
  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 +197 -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 -96
  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 +9 -0
  51. package/package.json +7 -6
  52. package/src/recommended-system-prompt.ts +0 -3
  53. package/src/send-service.ts +0 -228
@@ -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,CAkSpD"}
@@ -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,81 @@ 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 clientMsgId = parsed.params.clientMsgId;
132
+ const msgId = parsed.params.msgId;
194
133
  if (clientMsgId && msgId) {
195
134
  const resolver = pendingAcks.get(clientMsgId);
196
135
  if (resolver) {
197
136
  pendingAcks.delete(clientMsgId);
198
137
  resolver(msgId);
199
138
  log.info(`${logPrefix} ⇐ im_stream_msg_ack received: clientMsgId=${clientMsgId} msgId=${msgId}`);
200
- } else if (config.debug) {
139
+ }
140
+ else if (config.debug) {
201
141
  log.debug?.(`${logPrefix} im_stream_msg_ack with unknown clientMsgId=${clientMsgId}`);
202
142
  }
203
- } else if (config.debug) {
143
+ }
144
+ else if (config.debug) {
204
145
  log.debug?.(`${logPrefix} im_stream_msg_ack missing clientMsgId or msgId`);
205
146
  }
206
147
  return;
207
148
  }
208
-
209
149
  // 处理包含 params 的事件(robotMention / groupMessage)
210
150
  if (parsed.params && (parsed.cmd === "robotMention" || parsed.cmd === "groupMessage")) {
211
151
  if (parsed.cmd === "robotMention") {
212
152
  log.info(`${logPrefix} 📨 robotMention received: groupId=${parsed.params.groupId} msgId=${parsed.params.msgId}`);
213
153
  }
214
- const msg: WsMessage = {
154
+ const msg = {
215
155
  cmd: parsed.cmd,
216
156
  params: parsed.params,
217
157
  ts: typeof parsed.ts === "number" ? parsed.ts : Date.now(),
218
158
  };
219
- Promise.resolve(onMessage(msg)).catch((err: unknown) => {
159
+ Promise.resolve(onMessage(msg)).catch((err) => {
220
160
  log.error(`${logPrefix} onMessage async error: ${String(err)}`);
221
161
  });
222
162
  }
223
163
  });
224
-
225
- ws.on("close", (code: number, reason: Buffer) => {
164
+ ws.on("close", (code, reason) => {
226
165
  clearHeartbeat();
227
166
  if (stopped) {
228
167
  log.info(`${logPrefix} WebSocket closed (intentional stop).`);
229
168
  return;
230
169
  }
231
170
  const reasonStr = (reason && reason.length > 0) ? reason.toString() : "(none)";
232
-
233
171
  // 使用 log.info 输出警告,避免 log.warn 不存在导致漏打日志
234
172
  log.info(`${logPrefix} [WARN] WebSocket closed unexpectedly: code=${code}, reason=${reasonStr}. Scheduling reconnect...`);
235
173
  scheduleReconnect();
236
174
  });
237
-
238
- ws.on("error", (err: Error) => {
239
- if (stopped) return;
175
+ ws.on("error", (err) => {
176
+ if (stopped)
177
+ return;
240
178
  log.error(`${logPrefix} WebSocket error: ${err.message}`);
241
179
  // 关闭后会触发 close 事件,由 close 处理重连
242
180
  });
243
181
  }
244
-
245
- function scheduleReconnect(): void {
246
- if (stopped) return;
247
-
182
+ function scheduleReconnect() {
183
+ if (stopped)
184
+ return;
248
185
  if (attempt >= maxAttempts) {
249
186
  log.error(`${logPrefix} Max reconnect attempts (${maxAttempts}) reached. Giving up.`);
250
187
  return;
251
188
  }
252
-
253
189
  const delay = calcDelay(attempt, initialDelay, maxDelay, jitter);
254
190
  attempt += 1;
255
191
  log.info(`${logPrefix} Reconnecting in ${delay}ms (attempt ${attempt}/${maxAttempts})...`);
256
-
257
192
  reconnectTimer = setTimeout(() => {
258
193
  reconnectTimer = null;
259
194
  connect();
260
195
  }, delay);
261
196
  }
262
-
263
197
  // 首次连接
264
198
  connect();
265
-
266
- const streamClient: ImStreamClient = {
267
- async start(opts: { groupId?: string; toUserId?: string }): Promise<{ msgId: string }> {
199
+ const streamClient = {
200
+ async start(opts) {
268
201
  const socket = ensureSocketReady();
269
202
  const clientMsgId = randomUUID();
270
-
271
203
  const payload = {
272
204
  cmd: "im_stream_msg",
273
205
  params: {
@@ -279,19 +211,15 @@ export function startWebSocket(
279
211
  },
280
212
  },
281
213
  };
282
-
283
214
  log.info(`${logPrefix} ⇒ WS START stream: clientMsgId=${clientMsgId} groupId=${opts.groupId ?? ""} toUserId=${opts.toUserId ?? ""}`);
284
-
285
- const msgId = await new Promise<string>((resolve, reject) => {
215
+ const msgId = await new Promise((resolve, reject) => {
286
216
  pendingAcks.set(clientMsgId, resolve);
287
-
288
217
  socket.send(JSON.stringify(payload), (err) => {
289
218
  if (err) {
290
219
  pendingAcks.delete(clientMsgId);
291
220
  reject(err);
292
221
  }
293
222
  });
294
-
295
223
  // 简单超时保护,避免 ack 永远不到导致 Promise 悬挂
296
224
  setTimeout(() => {
297
225
  if (pendingAcks.has(clientMsgId)) {
@@ -300,11 +228,9 @@ export function startWebSocket(
300
228
  }
301
229
  }, 10_000);
302
230
  });
303
-
304
231
  return { msgId };
305
232
  },
306
-
307
- async chunk(msgId: string, data: ImStreamChunkData): Promise<void> {
233
+ async chunk(msgId, data) {
308
234
  const socket = ensureSocketReady();
309
235
  const payload = {
310
236
  cmd: "im_stream_msg",
@@ -323,8 +249,7 @@ export function startWebSocket(
323
249
  }
324
250
  socket.send(JSON.stringify(payload));
325
251
  },
326
-
327
- async end(msgId: string, reason: string): Promise<void> {
252
+ async end(msgId, reason) {
328
253
  const socket = ensureSocketReady();
329
254
  const payload = {
330
255
  cmd: "im_stream_msg",
@@ -338,20 +263,17 @@ export function startWebSocket(
338
263
  socket.send(JSON.stringify(payload));
339
264
  },
340
265
  };
341
-
342
266
  return {
343
- stop(): void {
344
- if (stopped) return;
267
+ stop() {
268
+ if (stopped)
269
+ return;
345
270
  stopped = true;
346
271
  log.info(`${logPrefix} Stopping WebSocket connection...`);
347
-
348
272
  clearHeartbeat();
349
-
350
273
  if (reconnectTimer !== null) {
351
274
  clearTimeout(reconnectTimer);
352
275
  reconnectTimer = null;
353
276
  }
354
-
355
277
  if (ws && ws.readyState !== WebSocket.CLOSED) {
356
278
  ws.close(1000, "Plugin stopped");
357
279
  }
@@ -360,3 +282,4 @@ export function startWebSocket(
360
282
  streamClient,
361
283
  };
362
284
  }
285
+ //# 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"}