@pawastation/wechat-kf 0.1.2 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/README.md +34 -28
  2. package/README.zh-CN.md +34 -28
  3. package/dist/index.d.ts +5 -15
  4. package/dist/index.js +5 -5
  5. package/dist/index.js.map +1 -1
  6. package/dist/src/accounts.d.ts +2 -1
  7. package/dist/src/accounts.js +61 -19
  8. package/dist/src/accounts.js.map +1 -1
  9. package/dist/src/api.d.ts +31 -2
  10. package/dist/src/api.js +41 -13
  11. package/dist/src/api.js.map +1 -1
  12. package/dist/src/bot.d.ts +10 -8
  13. package/dist/src/bot.js +232 -79
  14. package/dist/src/bot.js.map +1 -1
  15. package/dist/src/channel.d.ts +7 -106
  16. package/dist/src/channel.js +208 -71
  17. package/dist/src/channel.js.map +1 -1
  18. package/dist/src/config-schema.d.ts +0 -6
  19. package/dist/src/config-schema.js +2 -7
  20. package/dist/src/config-schema.js.map +1 -1
  21. package/dist/src/constants.d.ts +20 -0
  22. package/dist/src/constants.js +29 -0
  23. package/dist/src/constants.js.map +1 -1
  24. package/dist/src/crypto.js +7 -6
  25. package/dist/src/crypto.js.map +1 -1
  26. package/dist/src/monitor.d.ts +27 -14
  27. package/dist/src/monitor.js +67 -120
  28. package/dist/src/monitor.js.map +1 -1
  29. package/dist/src/outbound.d.ts +10 -44
  30. package/dist/src/outbound.js +277 -92
  31. package/dist/src/outbound.js.map +1 -1
  32. package/dist/src/reply-dispatcher.d.ts +2 -6
  33. package/dist/src/reply-dispatcher.js +131 -32
  34. package/dist/src/reply-dispatcher.js.map +1 -1
  35. package/dist/src/runtime.d.ts +1 -119
  36. package/dist/src/runtime.js +2 -1
  37. package/dist/src/runtime.js.map +1 -1
  38. package/dist/src/send-utils.d.ts +13 -0
  39. package/dist/src/send-utils.js +56 -4
  40. package/dist/src/send-utils.js.map +1 -1
  41. package/dist/src/token.js +7 -3
  42. package/dist/src/token.js.map +1 -1
  43. package/dist/src/types.d.ts +68 -6
  44. package/dist/src/webhook.d.ts +16 -16
  45. package/dist/src/webhook.js +92 -75
  46. package/dist/src/webhook.js.map +1 -1
  47. package/dist/src/wechat-kf-directives.d.ts +132 -9
  48. package/dist/src/wechat-kf-directives.js +535 -24
  49. package/dist/src/wechat-kf-directives.js.map +1 -1
  50. package/openclaw.plugin.json +1 -3
  51. package/package.json +4 -4
  52. package/dist/src/chunk-utils.d.ts +0 -18
  53. package/dist/src/chunk-utils.js +0 -58
  54. package/dist/src/chunk-utils.js.map +0 -1
  55. package/index.ts +0 -32
package/dist/src/api.d.ts CHANGED
@@ -1,13 +1,16 @@
1
1
  /**
2
2
  * WeCom Customer Service API wrapper
3
3
  */
4
- import type { WechatKfSendMsgResponse, WechatKfSyncMsgRequest, WechatKfSyncMsgResponse, WechatMediaUploadResponse } from "./types.js";
4
+ import type { WechatKfSendMsgRequest, WechatKfSendMsgResponse, WechatKfSyncMsgRequest, WechatKfSyncMsgResponse, WechatMediaUploadResponse } from "./types.js";
5
5
  /** Pull messages from WeChat KF */
6
6
  export declare function syncMessages(corpId: string, appSecret: string, params: WechatKfSyncMsgRequest): Promise<WechatKfSyncMsgResponse>;
7
7
  /** Send a text message to a WeChat user */
8
8
  export declare function sendTextMessage(corpId: string, appSecret: string, toUser: string, openKfId: string, content: string): Promise<WechatKfSendMsgResponse>;
9
9
  /** Download media file from WeChat */
10
- export declare function downloadMedia(corpId: string, appSecret: string, mediaId: string): Promise<Buffer>;
10
+ export declare function downloadMedia(corpId: string, appSecret: string, mediaId: string): Promise<{
11
+ buffer: Buffer;
12
+ contentType: string;
13
+ }>;
11
14
  type WechatMediaType = "image" | "voice" | "video" | "file";
12
15
  /** Upload media file to WeChat */
13
16
  export declare function uploadMedia(corpId: string, appSecret: string, type: WechatMediaType, buffer: Buffer, filename: string): Promise<WechatMediaUploadResponse>;
@@ -26,4 +29,30 @@ export declare function sendLinkMessage(corpId: string, appSecret: string, toUse
26
29
  url: string;
27
30
  thumb_media_id: string;
28
31
  }): Promise<WechatKfSendMsgResponse>;
32
+ /** Send a location message to a WeChat user */
33
+ export declare function sendLocationMessage(corpId: string, appSecret: string, toUser: string, openKfId: string, location: {
34
+ name?: string;
35
+ address?: string;
36
+ latitude: number;
37
+ longitude: number;
38
+ }): Promise<WechatKfSendMsgResponse>;
39
+ /** Send a miniprogram message to a WeChat user */
40
+ export declare function sendMiniprogramMessage(corpId: string, appSecret: string, toUser: string, openKfId: string, miniprogram: {
41
+ appid: string;
42
+ title?: string;
43
+ thumb_media_id: string;
44
+ pagepath: string;
45
+ }): Promise<WechatKfSendMsgResponse>;
46
+ /** Send a menu message to a WeChat user */
47
+ export declare function sendMsgMenuMessage(corpId: string, appSecret: string, toUser: string, openKfId: string, msgmenu: WechatKfSendMsgRequest["msgmenu"]): Promise<WechatKfSendMsgResponse>;
48
+ /** Send a business card message to a WeChat user */
49
+ export declare function sendBusinessCardMessage(corpId: string, appSecret: string, toUser: string, openKfId: string, businessCard: {
50
+ userid: string;
51
+ }): Promise<WechatKfSendMsgResponse>;
52
+ /** Send an acquisition link (获客链接) message to a WeChat user */
53
+ export declare function sendCaLinkMessage(corpId: string, appSecret: string, toUser: string, openKfId: string, caLink: {
54
+ link_url: string;
55
+ }): Promise<WechatKfSendMsgResponse>;
56
+ /** Send a raw message with arbitrary msgtype — for testing undocumented message types. */
57
+ export declare function sendRawMessage(corpId: string, appSecret: string, toUser: string, openKfId: string, msgtype: string, payload: Record<string, unknown>): Promise<WechatKfSendMsgResponse>;
29
58
  export {};
package/dist/src/api.js CHANGED
@@ -2,7 +2,8 @@
2
2
  * WeCom Customer Service API wrapper
3
3
  */
4
4
  import { extname } from "node:path";
5
- import { API_POST_TIMEOUT_MS, MEDIA_TIMEOUT_MS, TOKEN_EXPIRED_CODES } from "./constants.js";
5
+ import { API_POST_TIMEOUT_MS, logTag, MEDIA_TIMEOUT_MS, TOKEN_EXPIRED_CODES } from "./constants.js";
6
+ import { getSharedContext } from "./monitor.js";
6
7
  import { clearAccessToken, getAccessToken } from "./token.js";
7
8
  const MIME_MAP = {
8
9
  ".jpg": "image/jpeg",
@@ -40,7 +41,7 @@ async function apiPost(path, token, body) {
40
41
  });
41
42
  if (!resp.ok) {
42
43
  const text = await resp.text().catch(() => "");
43
- throw new Error(`[wechat-kf] API ${path} HTTP ${resp.status}: ${text.slice(0, 200)}`);
44
+ throw new Error(`${logTag()} API ${path} HTTP ${resp.status}: ${text.slice(0, 200)}`);
44
45
  }
45
46
  return (await resp.json());
46
47
  }
@@ -54,6 +55,7 @@ async function apiPostWithTokenRetry(path, corpId, appSecret, body) {
54
55
  const data = await apiPost(path, token, body);
55
56
  const result = data;
56
57
  if (typeof result.errcode === "number" && TOKEN_EXPIRED_CODES.has(result.errcode)) {
58
+ getSharedContext()?.botCtx.log?.info(`${logTag()} token expired (errcode=${result.errcode}), refreshing and retrying ${path}`);
57
59
  clearAccessToken(corpId, appSecret);
58
60
  token = await getAccessToken(corpId, appSecret);
59
61
  return apiPost(path, token, body);
@@ -64,7 +66,7 @@ async function apiPostWithTokenRetry(path, corpId, appSecret, body) {
64
66
  export async function syncMessages(corpId, appSecret, params) {
65
67
  const data = await apiPostWithTokenRetry("/kf/sync_msg", corpId, appSecret, params);
66
68
  if (hasApiError(data.errcode)) {
67
- throw new Error(`[wechat-kf] sync_msg failed: ${data.errcode} ${data.errmsg}`);
69
+ throw new Error(`${logTag()} sync_msg failed: ${data.errcode} ${data.errmsg}`);
68
70
  }
69
71
  return data;
70
72
  }
@@ -77,7 +79,7 @@ async function sendMessage(corpId, appSecret, toUser, openKfId, msgtype, payload
77
79
  };
78
80
  const data = await apiPostWithTokenRetry("/kf/send_msg", corpId, appSecret, body);
79
81
  if (hasApiError(data.errcode)) {
80
- throw new Error(`[wechat-kf] send_msg failed: ${data.errcode} ${data.errmsg}`);
82
+ throw new Error(`${logTag()} send_msg failed: ${data.errcode} ${data.errmsg}`);
81
83
  }
82
84
  return data;
83
85
  }
@@ -92,31 +94,32 @@ export async function downloadMedia(corpId, appSecret, mediaId) {
92
94
  signal: AbortSignal.timeout(MEDIA_TIMEOUT_MS),
93
95
  });
94
96
  if (!resp.ok) {
95
- throw new Error(`[wechat-kf] download media failed: ${resp.status} ${resp.statusText}`);
97
+ throw new Error(`${logTag()} download media failed: ${resp.status} ${resp.statusText}`);
96
98
  }
97
99
  const contentType = resp.headers.get("content-type") ?? "";
98
100
  if (contentType.includes("application/json")) {
99
101
  const data = (await resp.json());
100
- return { buffer: Buffer.alloc(0), errcode: data.errcode, errmsg: data.errmsg };
102
+ return { buffer: Buffer.alloc(0), contentType, errcode: data.errcode, errmsg: data.errmsg };
101
103
  }
102
- return { buffer: Buffer.from(await resp.arrayBuffer()) };
104
+ return { buffer: Buffer.from(await resp.arrayBuffer()), contentType };
103
105
  };
104
106
  let token = await getAccessToken(corpId, appSecret);
105
107
  const result = await attemptDownload(token);
106
108
  if (result.errcode !== undefined) {
107
109
  // Token-expired error: clear and retry once
108
110
  if (TOKEN_EXPIRED_CODES.has(result.errcode)) {
111
+ getSharedContext()?.botCtx.log?.info(`${logTag()} token expired (errcode=${result.errcode}), refreshing and retrying media download`);
109
112
  clearAccessToken(corpId, appSecret);
110
113
  token = await getAccessToken(corpId, appSecret);
111
114
  const retry = await attemptDownload(token);
112
115
  if (retry.errcode !== undefined) {
113
- throw new Error(`[wechat-kf] download media failed: ${retry.errcode} ${retry.errmsg}`);
116
+ throw new Error(`${logTag()} download media failed: ${retry.errcode} ${retry.errmsg}`);
114
117
  }
115
- return retry.buffer;
118
+ return { buffer: retry.buffer, contentType: retry.contentType };
116
119
  }
117
- throw new Error(`[wechat-kf] download media failed: ${result.errcode} ${result.errmsg}`);
120
+ throw new Error(`${logTag()} download media failed: ${result.errcode} ${result.errmsg}`);
118
121
  }
119
- return result.buffer;
122
+ return { buffer: result.buffer, contentType: result.contentType };
120
123
  }
121
124
  /** Upload media file to WeChat */
122
125
  export async function uploadMedia(corpId, appSecret, type, buffer, filename) {
@@ -133,19 +136,20 @@ export async function uploadMedia(corpId, appSecret, type, buffer, filename) {
133
136
  });
134
137
  if (!resp.ok) {
135
138
  const text = await resp.text().catch(() => "");
136
- throw new Error(`[wechat-kf] upload media HTTP ${resp.status}: ${text.slice(0, 200)}`);
139
+ throw new Error(`${logTag()} upload media HTTP ${resp.status}: ${text.slice(0, 200)}`);
137
140
  }
138
141
  return (await resp.json());
139
142
  };
140
143
  let token = await getAccessToken(corpId, appSecret);
141
144
  let data = await doUpload(token);
142
145
  if (TOKEN_EXPIRED_CODES.has(data.errcode)) {
146
+ getSharedContext()?.botCtx.log?.info(`${logTag()} token expired (errcode=${data.errcode}), refreshing and retrying media upload`);
143
147
  clearAccessToken(corpId, appSecret);
144
148
  token = await getAccessToken(corpId, appSecret);
145
149
  data = await doUpload(token);
146
150
  }
147
151
  if (hasApiError(data.errcode)) {
148
- throw new Error(`[wechat-kf] upload media failed: ${data.errcode} ${data.errmsg}`);
152
+ throw new Error(`${logTag()} upload media failed: ${data.errcode} ${data.errmsg}`);
149
153
  }
150
154
  return data;
151
155
  }
@@ -169,4 +173,28 @@ export function sendFileMessage(corpId, appSecret, toUser, openKfId, mediaId) {
169
173
  export function sendLinkMessage(corpId, appSecret, toUser, openKfId, link) {
170
174
  return sendMessage(corpId, appSecret, toUser, openKfId, "link", { link });
171
175
  }
176
+ /** Send a location message to a WeChat user */
177
+ export function sendLocationMessage(corpId, appSecret, toUser, openKfId, location) {
178
+ return sendMessage(corpId, appSecret, toUser, openKfId, "location", { location });
179
+ }
180
+ /** Send a miniprogram message to a WeChat user */
181
+ export function sendMiniprogramMessage(corpId, appSecret, toUser, openKfId, miniprogram) {
182
+ return sendMessage(corpId, appSecret, toUser, openKfId, "miniprogram", { miniprogram });
183
+ }
184
+ /** Send a menu message to a WeChat user */
185
+ export function sendMsgMenuMessage(corpId, appSecret, toUser, openKfId, msgmenu) {
186
+ return sendMessage(corpId, appSecret, toUser, openKfId, "msgmenu", { msgmenu });
187
+ }
188
+ /** Send a business card message to a WeChat user */
189
+ export function sendBusinessCardMessage(corpId, appSecret, toUser, openKfId, businessCard) {
190
+ return sendMessage(corpId, appSecret, toUser, openKfId, "business_card", { business_card: businessCard });
191
+ }
192
+ /** Send an acquisition link (获客链接) message to a WeChat user */
193
+ export function sendCaLinkMessage(corpId, appSecret, toUser, openKfId, caLink) {
194
+ return sendMessage(corpId, appSecret, toUser, openKfId, "ca_link", { ca_link: caLink });
195
+ }
196
+ /** Send a raw message with arbitrary msgtype — for testing undocumented message types. */
197
+ export function sendRawMessage(corpId, appSecret, toUser, openKfId, msgtype, payload) {
198
+ return sendMessage(corpId, appSecret, toUser, openKfId, msgtype, payload);
199
+ }
172
200
  //# sourceMappingURL=api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"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"}
package/dist/src/bot.d.ts CHANGED
@@ -7,18 +7,18 @@
7
7
  * - Plugin layer: download media, save via MediaPaths/MediaTypes
8
8
  * - OpenClaw runner: handles media understanding (transcription, vision, etc.)
9
9
  */
10
- import { type PluginRuntime } from "./runtime.js";
11
- import type { OpenClawConfig, ResolvedWechatKfAccount, WechatKfMessage } from "./types.js";
12
- export type Logger = {
13
- info: (...args: unknown[]) => void;
14
- error: (...args: unknown[]) => void;
15
- warn?: (...args: unknown[]) => void;
10
+ import type { ChannelLogSink, OpenClawConfig } from "openclaw/plugin-sdk";
11
+ import type { ResolvedWechatKfAccount, WechatKfMessage } from "./types.js";
12
+ /** Minimal runtime shape used only for error logging in the reply dispatcher. */
13
+ export type RuntimeErrorLogger = {
14
+ error?: (...args: unknown[]) => void;
15
+ [key: string]: unknown;
16
16
  };
17
17
  export type BotContext = {
18
18
  cfg: OpenClawConfig;
19
- runtime?: PluginRuntime;
19
+ runtime?: RuntimeErrorLogger;
20
20
  stateDir: string;
21
- log?: Logger;
21
+ log?: ChannelLogSink;
22
22
  };
23
23
  declare function isDuplicate(msgid: string): boolean;
24
24
  /** Exposed for testing only — do not use in production code. */
@@ -28,8 +28,10 @@ export declare const _testing: {
28
28
  isDuplicate: typeof isDuplicate;
29
29
  DEDUP_MAX_SIZE: number;
30
30
  handleEvent: typeof handleEvent;
31
+ drainToLatestCursor: typeof drainToLatestCursor;
31
32
  resetState(): void;
32
33
  };
33
34
  declare function handleEvent(ctx: BotContext, _account: ResolvedWechatKfAccount, msg: WechatKfMessage): Promise<void>;
35
+ declare function drainToLatestCursor(corpId: string, appSecret: string, openKfId: string, syncToken: string, stateDir: string, log?: ChannelLogSink): Promise<void>;
34
36
  export declare function handleWebhookEvent(ctx: BotContext, openKfId: string, syncToken: string): Promise<void>;
35
37
  export {};