wechat-claude-sessions 1.3.0 → 1.4.0

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.
package/dist/i18n.d.ts CHANGED
@@ -11,6 +11,8 @@ type Msgs = {
11
11
  deliveredUnmonitored: (name: string) => string;
12
12
  deliveredNoneMonitored: (name: string) => string;
13
13
  bindingCleared: string;
14
+ quoteSessionGone: (name: string) => string;
15
+ quotedContext: (excerpt: string, body: string) => string;
14
16
  useBound: (name: string, pid: number, warn: string) => string;
15
17
  useNotMonitoredWarn: string;
16
18
  useCurrent: (name: string, pid: number) => string;
package/dist/i18n.js CHANGED
@@ -74,7 +74,8 @@ const zh = {
74
74
  "💬 聊",
75
75
  "/use 3 — 绑定 3 号,之后消息都发给它",
76
76
  "/use off — 取消绑定",
77
- "/s 3 你好 — 只发这一条给 3 号",
77
+ "/s 3 你好 — 只发这一条给 3 号(可简写 /3 你好)",
78
+ "引用某条回复再打字 — 直接发给写那条回复的 session,不用 /s",
78
79
  "",
79
80
  "🚀 跑任务",
80
81
  "/run 修复登录bug — 新开 Claude 执行(默认无人值守)",
@@ -100,11 +101,13 @@ const zh = {
100
101
  ].join("\n"),
101
102
  noSessions: "当前没有活跃的 Claude session。",
102
103
  noSessionsDeliver: "当前没有活跃的 Claude session,消息无法投递。",
103
- sListUsage: "用法: /s <编号|名字> <消息>\n例: /s 1 你好\n发送 /sessions 查看可用列表。",
104
+ sListUsage: "用法: /s <编号|名字> <消息>\n例: /s 1 你好(编号也可以简写成 /1 你好)\n发送 /sessions 查看可用列表。",
104
105
  notFound: (sel) => `找不到 "${sel}"。发送 /sessions 查看列表。`,
105
106
  deliveredUnmonitored: (name) => `已投递到 "${name}",但该 session 未在监控消息(未运行 /wechat),可能不会及时处理。`,
106
107
  deliveredNoneMonitored: (name) => `已投递到 "${name}",但当前没有任何 session 在监控消息(需要在 Claude Code 中运行 /wechat),可能不会及时处理。`,
107
108
  bindingCleared: "绑定的 session 已关闭,已自动解除绑定,本条消息按默认路由投递。",
109
+ quoteSessionGone: (name) => `你引用的那条消息来自 session "${name}",它已经退出了。本条按默认路由投递。`,
110
+ quotedContext: (excerpt, body) => `[用户引用了你的这条消息] ${excerpt}\n\n${body}`,
108
111
  useBound: (name, pid, warn) => `已绑定 "${name}" (pid ${pid})。之后你的所有消息都会直接发给它。${warn}\n/use off 取消绑定。`,
109
112
  useNotMonitoredWarn: "\n注意: 该 session 未在监控消息,回复可能不及时。",
110
113
  useCurrent: (name, pid) => `当前绑定: "${name}" (pid ${pid})。\n/use off 取消绑定,/use <编号|名字|pid> 换绑。`,
@@ -152,7 +155,7 @@ const zh = {
152
155
  legendReceiver: (kind) => kind === "bound"
153
156
  ? "📌 = 已绑定,你的消息都发到这里(/use off 取消)"
154
157
  : "📥 = 默认接收,不带前缀的消息发到这里(/use <编号> 可固定绑定)",
155
- legendRoute: (example) => `用 /s <编号> <消息> 发到指定 session,例: /s ${example} 你好`,
158
+ legendRoute: (example) => `用 /s <编号> <消息> 发到指定 session,例: /s ${example} 你好(也可简写 /${example} 你好)`,
156
159
  versionLine: (version) => `📦 当前版本:wechat-claude @ v${version}`,
157
160
  updateAvailable: (current, latest) => `⬆️ 有新版本 v${latest}(当前 v${current})。在电脑上更新:\nnpm i -g wechat-claude-sessions@latest && wechat-claude daemon restart\n然后在各 Claude Code session 里 /mcp → wechat → Reconnect,再 /wechat 重新挂上。`,
158
161
  replyFooter: (name, n) => n === undefined
@@ -188,7 +191,8 @@ const en = {
188
191
  "💬 Chat",
189
192
  "/use 3 — bind #3; your messages all go there",
190
193
  "/use off — unbind",
191
- "/s 3 hi — send just this one to #3",
194
+ "/s 3 hi — send just this one to #3 (or just /3 hi)",
195
+ "Quote a reply, then type — goes straight to the session that wrote it, no /s needed",
192
196
  "",
193
197
  "🚀 Run tasks",
194
198
  "/run fix login bug — start a Claude session (unattended by default)",
@@ -214,11 +218,13 @@ const en = {
214
218
  ].join("\n"),
215
219
  noSessions: "No active Claude sessions.",
216
220
  noSessionsDeliver: "No active Claude session — message can't be delivered.",
217
- sListUsage: "Usage: /s <number|name|pid> <message>\ne.g. /s 1 hello\nSend /sessions to see the list.",
221
+ sListUsage: "Usage: /s <number|name|pid> <message>\ne.g. /s 1 hello (a number can be shortened to /1 hello)\nSend /sessions to see the list.",
218
222
  notFound: (sel) => `Can't find "${sel}". Send /sessions for the list.`,
219
223
  deliveredUnmonitored: (name) => `Delivered to "${name}", but that session isn't monitoring messages (hasn't run /wechat), so it may not be handled promptly.`,
220
224
  deliveredNoneMonitored: (name) => `Delivered to "${name}", but no session is monitoring messages (run /wechat in a Claude Code session), so it may not be handled promptly.`,
221
225
  bindingCleared: "The bound session closed; auto-unbound and delivered this message via default routing.",
226
+ quoteSessionGone: (name) => `The message you quoted came from session "${name}", which is gone. Routing this one normally.`,
227
+ quotedContext: (excerpt, body) => `[the user quoted this message of yours] ${excerpt}\n\n${body}`,
222
228
  useBound: (name, pid, warn) => `Bound to "${name}" (pid ${pid}). Your messages now go straight there.${warn}\n/use off to unbind.`,
223
229
  useNotMonitoredWarn: "\nNote: this session isn't monitoring messages; replies may lag.",
224
230
  useCurrent: (name, pid) => `Bound to: "${name}" (pid ${pid}).\n/use off to unbind, /use <number|name|pid> to rebind.`,
@@ -261,7 +267,7 @@ const en = {
261
267
  legendReceiver: (kind) => kind === "bound"
262
268
  ? "📌 = bound, your messages go here (/use off to unbind)"
263
269
  : "📥 = default receiver, plain messages go here (/use <n> to pin)",
264
- legendRoute: (example) => `Send to a session with /s <n> <message>, e.g. /s ${example} hello`,
270
+ legendRoute: (example) => `Send to a session with /s <n> <message>, e.g. /s ${example} hello (or /${example} hello)`,
265
271
  versionLine: (version) => `📦 Running version: wechat-claude @ v${version}`,
266
272
  updateAvailable: (current, latest) => `⬆️ Update available: v${latest} (you have v${current}). On your computer:\nnpm i -g wechat-claude-sessions@latest && wechat-claude daemon restart\nthen in each Claude Code session: /mcp → wechat → Reconnect, and /wechat again.`,
267
273
  replyFooter: (name, n) => n === undefined
package/dist/i18n.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAIzC,+EAA+E;AAC/E,kEAAkE;AAClE,MAAM,UAAU,OAAO;IACrB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IACpC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,GAAG,CAAC;IAC7C,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1E,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAClD,MAAM,IAAI,GAAI,MAAkC,CAAC,IAAI,CAAC;YACtD,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;QAClD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,EAAU,EAAE,OAAa,IAAI;IACrD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC;IAClC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7B,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,IAAI,EAAE,GAAG,MAAM;YAAE,OAAO,UAAU,CAAC;QACnC,IAAI,CAAC,GAAG,EAAE;YAAE,OAAO,GAAG,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,GAAG,EAAE;YAAE,OAAO,GAAG,CAAC,OAAO,CAAC;QAC/B,OAAO,GAAG,CAAC,OAAO,CAAC;IACrB,CAAC;IACD,IAAI,EAAE,GAAG,MAAM;QAAE,OAAO,IAAI,CAAC;IAC7B,IAAI,CAAC,GAAG,EAAE;QAAE,OAAO,GAAG,CAAC,MAAM,CAAC;IAC9B,IAAI,CAAC,GAAG,EAAE;QAAE,OAAO,GAAG,CAAC,MAAM,CAAC;IAC9B,OAAO,GAAG,CAAC,KAAK,CAAC;AACnB,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,MAAM,CACpB,IAA0C,EAC1C,OAAa,IAAI,EACjB,GAAY;IAEZ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,OAAO;gBACV,OAAO,SAAS,CAAC;YACnB,KAAK,OAAO;gBACV,OAAO,gBAAgB,GAAG,IAAI,EAAE,EAAE,CAAC;YACrC,KAAK,MAAM;gBACT,OAAO,UAAU,GAAG,IAAI,EAAE,GAAG,CAAC;YAChC,KAAK,OAAO;gBACV,OAAO,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;IACD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO;YACV,OAAO,MAAM,CAAC;QAChB,KAAK,OAAO;YACV,OAAO,WAAW,GAAG,IAAI,EAAE,EAAE,CAAC;QAChC,KAAK,MAAM;YACT,OAAO,QAAQ,GAAG,IAAI,EAAE,GAAG,CAAC;QAC9B,KAAK,OAAO;YACV,OAAO,MAAM,CAAC;IAClB,CAAC;AACH,CAAC;AA+GD,MAAM,EAAE,GAAS;IACf,IAAI,EAAE;QACJ,qBAAqB;QACrB,EAAE;QACF,MAAM;QACN,kBAAkB;QAClB,iBAAiB;QACjB,EAAE;QACF,MAAM;QACN,0BAA0B;QAC1B,iBAAiB;QACjB,sBAAsB;QACtB,EAAE;QACF,QAAQ;QACR,qCAAqC;QACrC,uBAAuB;QACvB,kCAAkC;QAClC,cAAc;QACd,8BAA8B;QAC9B,EAAE;QACF,OAAO;QACP,mBAAmB;QACnB,sBAAsB;QACtB,2BAA2B;QAC3B,EAAE;QACF,OAAO;QACP,4CAA4C;QAC5C,EAAE;QACF,OAAO;QACP,gCAAgC;QAChC,sCAAsC;QACtC,yEAAyE;QACzE,2BAA2B;QAC3B,gBAAgB;KACjB,CAAC,IAAI,CAAC,IAAI,CAAC;IACZ,UAAU,EAAE,yBAAyB;IACrC,iBAAiB,EAAE,gCAAgC;IACnD,UAAU,EAAE,uDAAuD;IACnE,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,GAAG,sBAAsB;IACpD,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC7B,SAAS,IAAI,4CAA4C;IAC3D,sBAAsB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC/B,SAAS,IAAI,gEAAgE;IAC/E,cAAc,EAAE,sCAAsC;IACtD,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAC5B,QAAQ,IAAI,UAAU,GAAG,qBAAqB,IAAI,kBAAkB;IACtE,mBAAmB,EAAE,iCAAiC;IACtD,UAAU,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CACxB,UAAU,IAAI,UAAU,GAAG,wCAAwC;IACrE,OAAO,EAAE,sEAAsE;IAC/E,UAAU,EAAE,kCAAkC;IAC9C,QAAQ,EACN,gKAAgK;IAClK,cAAc,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAClE,UAAU,OAAO,wCAAwC,QAAQ,uBAAuB,UAAU,oBAAoB,OAAO,0BAA0B,IAAI,GAAG,UAAU,EAAE;IAC5K,YAAY,EAAE,0CAA0C;IACxD,WAAW,EAAE,qCAAqC;IAClD,UAAU,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CAC3C,6BAA6B,GAAG,SAAS,IAAI,SAAS,IAAI,WAAW,WAAW,yCAAyC,WAAW,mCAAmC,WAAW,EAAE;IACtL,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE;IACvC,kBAAkB,EAChB,8HAA8H;IAChI,iBAAiB,EAAE,CAAC,UAAU,EAAE,EAAE,CAChC,cAAc,UAAU,2HAA2H;IACrJ,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,kBAAkB;IAC5B,QAAQ,EAAE,0BAA0B;IACpC,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CACxB,WAAW,KAAK,SAAS,IAAI,+DAA+D;IAC9F,SAAS,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CACjC,GAAG,CAAC,KAAK,IAAI,IAAI,IAAI,mBAAmB,IAAI,EAAE;IAChD,aAAa,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;IAC3C,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,sBAAsB;IACvD,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,GAAG,qBAAqB;IAC5D,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,KAAK,UAAU,IAAI,EAAE;IACtD,UAAU,EAAE,yBAAyB;IACrC,UAAU,EACR,8KAA8K;IAChL,WAAW,EAAE,gCAAgC;IAC7C,cAAc,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CACnC,IAAI,GAAG,SAAS,KAAK,kBAAkB,IAAI,oBAAoB,GAAG,0BAA0B;IAC9F,mBAAmB,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAC3C,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,GAAG;IACpC,gBAAgB,EAAE,MAAM;IACxB,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAC/B,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,KAAK,aAAa,KAAK,IAAI,OAAO,OAAO,EAAE;IACtF,eAAe,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAC7B,KAAK,IAAI,SAAS,GAAG,oBAAoB;IAC3C,WAAW,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,IAAI,SAAS,GAAG,GAAG;IACpD,gBAAgB,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CACrC,MAAM,KAAK,iBAAiB,SAAS,QAAQ;IAC/C,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAC7B,eAAe,IAAI,YAAY,IAAI,cAAc,IAAI,2CAA2C;IAClG,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CACnB,WAAW,IAAI,sFAAsF;IACvG,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,gBAAgB,KAAK,IAAI;IACpD,wEAAwE;IACxE,4EAA4E;IAC5E,wEAAwE;IACxE,0EAA0E;IAC1E,kBAAkB;IAClB,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAC/C,GAAG,IAAI,IAAI,CAAC,KAAK,KAAK,GAAG,IAAI,SAAS,GAAG,MAAM,GAAG,IAAI;IACxD,WAAW,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE;IACzD,aAAa,EAAE,KAAK;IACpB,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACxD,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CACvB,IAAI,KAAK,OAAO;QACd,CAAC,CAAC,iCAAiC;QACnC,CAAC,CAAC,wCAAwC;IAC9C,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CACvB,qCAAqC,OAAO,KAAK;IACnD,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,4BAA4B,OAAO,EAAE;IAC/D,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CACnC,YAAY,MAAM,QAAQ,OAAO,yJAAyJ;IAC5L,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CACvB,CAAC,KAAK,SAAS;QACb,CAAC,CAAC,SAAS,IAAI,eAAe,IAAI,OAAO;QACzC,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,eAAe,CAAC,OAAO;IAChD,UAAU,EAAE,mDAAmD;IAC/D,YAAY,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,CACnC,+DAA+D,SAAS,KAAK,OAAO,sEAAsE;IAC5J,cAAc,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAChC,qBAAqB,IAAI,QAAQ,OAAO,EAAE;IAC5C,eAAe,EAAE,CAAC,SAAS,EAAE,EAAE,CAC7B,4BAA4B,SAAS,oBAAoB;IAC3D,aAAa,EAAE,mBAAmB;IAClC,OAAO,EAAE,kEAAkE;IAC3E,kBAAkB,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CACtC,wBAAwB,IAAI,gBAAgB,SAAS,sCAAsC;IAC7F,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CACvB,yBAAyB,MAAM,iCAAiC;IAClE,iBAAiB,EAAE,IAAI;IACvB,cAAc,EAAE,CAAC,SAAS,EAAE,EAAE,CAC5B,uCAAuC,SAAS,GAAG;IACrD,kBAAkB,EAAE,CAAC,KAAK,EAAE,EAAE,CAC5B,OAAO,KAAK,qBAAqB;IACnC,gBAAgB,EAAE,WAAW;IAC7B,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,IAAI,EAAE;IAC/C,WAAW,EAAE,iCAAiC;IAC9C,YAAY,EAAE,mCAAmC;IACjD,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,6BAA6B,CAAC,cAAc;IACnE,UAAU,EAAE,sCAAsC;IAClD,YAAY,EAAE,qCAAqC;CACpD,CAAC;AAEF,MAAM,EAAE,GAAS;IACf,IAAI,EAAE;QACJ,2BAA2B;QAC3B,EAAE;QACF,SAAS;QACT,qBAAqB;QACrB,6BAA6B;QAC7B,EAAE;QACF,SAAS;QACT,8CAA8C;QAC9C,mBAAmB;QACnB,oCAAoC;QACpC,EAAE;QACF,cAAc;QACd,qEAAqE;QACrE,yCAAyC;QACzC,sEAAsE;QACtE,uBAAuB;QACvB,6CAA6C;QAC7C,EAAE;QACF,aAAa;QACb,qBAAqB;QACrB,uCAAuC;QACvC,6CAA6C;QAC7C,EAAE;QACF,WAAW;QACX,iEAAiE;QACjE,EAAE;QACF,UAAU;QACV,qDAAqD;QACrD,iFAAiF;QACjF,mKAAmK;QACnK,iDAAiD;QACjD,wCAAwC;KACzC,CAAC,IAAI,CAAC,IAAI,CAAC;IACZ,UAAU,EAAE,4BAA4B;IACxC,iBAAiB,EAAE,wDAAwD;IAC3E,UAAU,EAAE,yFAAyF;IACrG,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,GAAG,iCAAiC;IACtE,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC7B,iBAAiB,IAAI,wGAAwG;IAC/H,sBAAsB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC/B,iBAAiB,IAAI,qHAAqH;IAC5I,cAAc,EAAE,wFAAwF;IACxG,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAC5B,aAAa,IAAI,UAAU,GAAG,0CAA0C,IAAI,uBAAuB;IACrG,mBAAmB,EAAE,kEAAkE;IACvF,UAAU,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CACxB,cAAc,IAAI,UAAU,GAAG,2DAA2D;IAC5F,OAAO,EAAE,uGAAuG;IAChH,UAAU,EAAE,oEAAoE;IAChF,QAAQ,EACN,qSAAqS;IACvS,cAAc,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAClE,cAAc,OAAO,8FAA8F,QAAQ,8CAA8C,UAAU,qCAAqC,OAAO,0CAA0C,IAAI,GAAG,UAAU,EAAE;IAC9R,YAAY,EAAE,oEAAoE;IAClF,WAAW,EAAE,+FAA+F;IAC5G,UAAU,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CAC3C,oCAAoC,GAAG,WAAW,IAAI,kBAAkB,IAAI,WAAW,WAAW,kEAAkE,WAAW,gDAAgD,WAAW,EAAE;IAC9O,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,oBAAoB,GAAG,EAAE;IAClD,kBAAkB,EAChB,wNAAwN;IAC1N,iBAAiB,EAAE,CAAC,UAAU,EAAE,EAAE,CAChC,0BAA0B,UAAU,6RAA6R;IACnU,QAAQ,EAAE,8BAA8B;IACxC,QAAQ,EAAE,iCAAiC;IAC3C,QAAQ,EAAE,kCAAkC;IAC5C,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CACxB,kBAAkB,KAAK,SAAS,IAAI,4FAA4F;IAClI,SAAS,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CACjC,GAAG,CAAC,KAAK,IAAI,aAAa,IAAI,oBAAoB,IAAI,EAAE;IAC1D,aAAa,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;IAC3C,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,4CAA4C;IACjF,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,oBAAoB,GAAG,qCAAqC;IACnF,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,WAAW,KAAK,cAAc,IAAI,EAAE;IAC9D,UAAU,EAAE,gEAAgE;IAC5E,UAAU,EACR,8QAA8Q;IAChR,WAAW,EAAE,kDAAkD;IAC/D,cAAc,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CACnC,IAAI,GAAG,aAAa,KAAK,iBAAiB,IAAI,yBAAyB,GAAG,+BAA+B;IAC3G,mBAAmB,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,GAAG,KAAK,GAAG,GAAG,GAAG,GAAG;IAC/E,gBAAgB,EAAE,cAAc;IAChC,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAC/B,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,KAAK,YAAY,KAAK,IAAI,OAAO,OAAO,EAAE;IAC3F,eAAe,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAC7B,KAAK,IAAI,SAAS,GAAG,oDAAoD;IAC3E,WAAW,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,IAAI,SAAS,GAAG,GAAG;IACpD,gBAAgB,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CACrC,GAAG,KAAK,qBAAqB,SAAS,cAAc;IACtD,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAC7B,iBAAiB,IAAI,gBAAgB,IAAI,cAAc,IAAI,6GAA6G;IAC1K,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CACnB,8BAA8B,IAAI,0IAA0I;IAC9K,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,KAAK,IAAI;IACxD,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAC/C,GAAG,IAAI,IAAI,CAAC,KAAK,KAAK,GAAG,IAAI,UAAU,GAAG,aAAa,GAAG,EAAE;IAC9D,WAAW,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE;IAC3D,aAAa,EAAE,KAAK;IACpB,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACxD,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CACvB,IAAI,KAAK,OAAO;QACd,CAAC,CAAC,wDAAwD;QAC1D,CAAC,CAAC,iEAAiE;IACvE,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CACvB,oDAAoD,OAAO,QAAQ;IACrE,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,wCAAwC,OAAO,EAAE;IAC3E,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CACnC,yBAAyB,MAAM,eAAe,OAAO,+KAA+K;IACtO,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CACvB,CAAC,KAAK,SAAS;QACb,CAAC,CAAC,WAAW,IAAI,yBAAyB,IAAI,YAAY;QAC1D,CAAC,CAAC,WAAW,IAAI,MAAM,CAAC,0BAA0B,CAAC,YAAY;IACnE,UAAU,EAAE,+DAA+D;IAC3E,YAAY,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,CACnC,sIAAsI,SAAS,KAAK,OAAO,yJAAyJ;IACtT,cAAc,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAChC,uCAAuC,IAAI,OAAO,OAAO,EAAE;IAC7D,eAAe,EAAE,CAAC,SAAS,EAAE,EAAE,CAC7B,wDAAwD,SAAS,6DAA6D;IAChI,aAAa,EAAE,wBAAwB;IACvC,OAAO,EAAE,oIAAoI;IAC7I,kBAAkB,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CACtC,2CAA2C,IAAI,4BAA4B,SAAS,8EAA8E;IACpK,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CACvB,+DAA+D,MAAM,+CAA+C;IACtH,iBAAiB,EAAE,SAAS;IAC5B,cAAc,EAAE,CAAC,SAAS,EAAE,EAAE,CAC5B,iEAAiE,SAAS,GAAG;IAC/E,kBAAkB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,KAAK,oCAAoC;IAClF,gBAAgB,EAAE,sBAAsB;IACxC,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB,IAAI,EAAE;IACxD,WAAW,EAAE,kDAAkD;IAC/D,YAAY,EAAE,sDAAsD;IACpE,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,+BAA+B,CAAC,mCAAmC;IAC1F,UAAU,EAAE,2DAA2D;IACvE,YAAY,EAAE,2DAA2D;CAC1E,CAAC;AAEF,MAAM,UAAU,CAAC,CAAC,OAAa,OAAO,EAAE;IACtC,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"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"}
package/dist/ilink.d.ts CHANGED
@@ -1,8 +1,9 @@
1
- import type { CDNMedia, PendingMessage, QRCodeResponse, QRCodeStatusResponse, Session, UploadedMedia, WeixinMessage } from "./types.js";
1
+ import type { CDNMedia, PendingMessage, QRCodeResponse, QRCodeStatusResponse, SentChunk, Session, UploadedMedia, WeixinMessage } from "./types.js";
2
2
  export declare const DEFAULT_BASE_URL = "https://ilinkai.weixin.qq.com";
3
3
  export declare const SESSION_EXPIRED = "Session expired, please login again";
4
4
  export declare const SESSION_REPLACED = "Session was replaced by a newer login \u2014 retry with the new credential";
5
5
  export declare const CDN_BASE_URL = "https://novac2c.cdn.weixin.qq.com/c2c";
6
+ export declare function sentMessageId(raw: string): string | undefined;
6
7
  export declare class ILinkClient {
7
8
  private session;
8
9
  setSession(session: Session): void;
@@ -32,11 +33,11 @@ export declare class ILinkClient {
32
33
  pollQRCodeStatus(qrcode: string): Promise<QRCodeStatusResponse>;
33
34
  login(onQRCode: (url: string) => void, onStatus: (status: string) => void): Promise<void>;
34
35
  getUpdates(): Promise<WeixinMessage[]>;
35
- sendText(toUserId: string, text: string): Promise<void>;
36
- private readCodes;
36
+ sendText(toUserId: string, text: string, onChunk?: (chunk: SentChunk) => void): Promise<SentChunk[]>;
37
+ private readRaw;
37
38
  private checkSendResponse;
38
39
  uploadMedia(filePath: string, toUserId: string, mediaType: number): Promise<UploadedMedia>;
39
- sendImage(toUserId: string, filePath: string, caption?: string): Promise<void>;
40
+ sendImage(toUserId: string, filePath: string, caption?: string): Promise<string[]>;
40
41
  downloadMedia(media: CDNMedia, outPathBase: string): Promise<string>;
41
42
  sendTyping(userId: string, typing: boolean): Promise<void>;
42
43
  private getTypingTicket;
package/dist/ilink.js CHANGED
@@ -3,6 +3,7 @@ import fs from "node:fs";
3
3
  import path from "node:path";
4
4
  import os from "node:os";
5
5
  import { clearLoginVerified, markLoginVerified } from "./login-state.js";
6
+ import { extractQuote } from "./quote.js";
6
7
  import { decryptCdnMedia, extractText, imageExtension } from "./utils.js";
7
8
  export const DEFAULT_BASE_URL = "https://ilinkai.weixin.qq.com";
8
9
  // The credential this client used is dead and was cleared: the user has to
@@ -24,6 +25,14 @@ function generateUin() {
24
25
  const n = crypto.randomBytes(4).readUInt32BE();
25
26
  return Buffer.from(String(n)).toString("base64");
26
27
  }
28
+ function parseBody(raw) {
29
+ try {
30
+ return JSON.parse(raw);
31
+ }
32
+ catch {
33
+ return undefined;
34
+ }
35
+ }
27
36
  // `ret` and `errcode` both appear across this API, sometimes together.
28
37
  function errorCodes(body) {
29
38
  if (typeof body !== "object" || body === null)
@@ -31,6 +40,21 @@ function errorCodes(body) {
31
40
  const data = body;
32
41
  return [data.ret, data.errcode].filter((c) => typeof c === "number");
33
42
  }
43
+ // The id the server assigned to a message we just sent — the one exact way to
44
+ // recognise a quote of that message later (a quoted reply carries the quoted
45
+ // message's id and nothing else).
46
+ //
47
+ // Read out of the raw response text, not the parsed body, on purpose: the API
48
+ // sends it as a bare JSON number of 19 digits ({"message_id":7504206776136071048})
49
+ // and JSON.parse rounds anything past 2^53, which would leave us matching
50
+ // quotes against an id the server never issued.
51
+ export function sentMessageId(raw) {
52
+ // A quoted string of any shape, or a bare number kept as written — the
53
+ // server sends the latter, but an id is an opaque handle and nothing here
54
+ // should insist it looks numeric.
55
+ const m = raw.match(/"(?:message_id|msg_id|svr_id)"\s*:\s*(?:"([^"\\]{1,64})"|(\d{1,32}))/);
56
+ return m?.[1] ?? m?.[2];
57
+ }
34
58
  function generateClientId() {
35
59
  return `wechat-claude-${crypto.randomBytes(8).toString("hex")}`;
36
60
  }
@@ -305,7 +329,17 @@ export class ILinkClient {
305
329
  markLoginVerified();
306
330
  return data.msgs ?? [];
307
331
  }
308
- async sendText(toUserId, text) {
332
+ // Returns what was sent, chunk by chunk, with the server id of each when the
333
+ // API reported one. The caller records them so a later quoted ("引用") reply
334
+ // can be traced back to the session that wrote the quoted message — and to
335
+ // the right chunk of it, since only one of them is what the user quoted.
336
+ //
337
+ // `onChunk` fires as each chunk lands, before the next is attempted. A long
338
+ // reply is several messages, and if the third fails the first two are
339
+ // already in the user's chat: throwing away their ids because the send as a
340
+ // whole failed would leave messages that are quotable on screen and
341
+ // unresolvable here.
342
+ async sendText(toUserId, text, onChunk) {
309
343
  if (!this.session)
310
344
  throw new Error("Not logged in");
311
345
  let contextToken = this.contextTokens.get(toUserId);
@@ -320,6 +354,7 @@ export class ILinkClient {
320
354
  for (let i = 0; i < text.length; i += TEXT_LIMIT) {
321
355
  chunks.push(text.slice(i, i + TEXT_LIMIT));
322
356
  }
357
+ const sent = [];
323
358
  for (const chunk of chunks) {
324
359
  const textItem = { type: 1, text_item: { text: chunk } };
325
360
  const res = await fetch(`${this.baseUrl}/ilink/bot/sendmessage`, {
@@ -340,21 +375,26 @@ export class ILinkClient {
340
375
  });
341
376
  if (!res.ok)
342
377
  throw new Error(`sendmessage failed: ${res.status}`);
378
+ const raw = await this.readRaw(res);
343
379
  // A revoked token comes back as HTTP 200 with an error code in the
344
380
  // body; without this the send is reported as delivered and the reply
345
381
  // is simply lost.
346
- this.checkSendResponse(await this.readCodes(res));
382
+ this.checkSendResponse(errorCodes(parseBody(raw)));
383
+ const record = { text: chunk, messageId: sentMessageId(raw) };
384
+ sent.push(record);
385
+ onChunk?.(record);
347
386
  markLoginVerified();
348
387
  }
388
+ return sent;
349
389
  }
350
- // Error codes carried in a response body (`ret` and/or `errcode`), if any.
351
- async readCodes(res) {
390
+ // The response body as text. Unreadable bodies are "" — an empty body is not
391
+ // an error in itself, and the codes check treats it as "nothing to object to".
392
+ async readRaw(res) {
352
393
  try {
353
- return errorCodes(await res.json());
394
+ return await res.text();
354
395
  }
355
396
  catch {
356
- // Not JSON, or an empty body — nothing to object to.
357
- return [];
397
+ return "";
358
398
  }
359
399
  }
360
400
  checkSendResponse(codes, what = "sendmessage") {
@@ -427,6 +467,9 @@ export class ILinkClient {
427
467
  ciphertextSize: ciphertext.length,
428
468
  };
429
469
  }
470
+ // Returns the server ids of what it sent (caption first, if any, then the
471
+ // image), for the same reason sendText does: a quote of an image reply has
472
+ // only that id to go on.
430
473
  async sendImage(toUserId, filePath, caption) {
431
474
  if (!this.session)
432
475
  throw new Error("Not logged in");
@@ -439,6 +482,7 @@ export class ILinkClient {
439
482
  throw new Error(`No context_token for user ${toUserId}. They must send a message first.`);
440
483
  }
441
484
  const uploaded = await this.uploadMedia(filePath, toUserId, 1);
485
+ const messageIds = [];
442
486
  if (caption) {
443
487
  const textItem = { type: 1, text_item: { text: caption } };
444
488
  const textRes = await fetch(`${this.baseUrl}/ilink/bot/sendmessage`, {
@@ -459,7 +503,11 @@ export class ILinkClient {
459
503
  });
460
504
  if (!textRes.ok)
461
505
  throw new Error(`sendmessage (caption) failed: ${textRes.status}`);
462
- this.checkSendResponse(await this.readCodes(textRes));
506
+ const captionRaw = await this.readRaw(textRes);
507
+ this.checkSendResponse(errorCodes(parseBody(captionRaw)));
508
+ const captionId = sentMessageId(captionRaw);
509
+ if (captionId)
510
+ messageIds.push(captionId);
463
511
  }
464
512
  const imageItem = {
465
513
  type: 2,
@@ -490,8 +538,13 @@ export class ILinkClient {
490
538
  });
491
539
  if (!res.ok)
492
540
  throw new Error(`sendmessage (image) failed: ${res.status}`);
493
- this.checkSendResponse(await this.readCodes(res));
541
+ const raw = await this.readRaw(res);
542
+ this.checkSendResponse(errorCodes(parseBody(raw)));
543
+ const id = sentMessageId(raw);
544
+ if (id)
545
+ messageIds.push(id);
494
546
  markLoginVerified();
547
+ return messageIds;
495
548
  }
496
549
  // Download and decrypt an incoming CDN media item (e.g. an image the user
497
550
  // sent). Writes the plaintext to outPathBase + sniffed extension and returns
@@ -571,13 +624,27 @@ export class ILinkClient {
571
624
  const text = extractText(msg);
572
625
  if (!text)
573
626
  continue;
627
+ // Same treatment as the daemon's loop: a quoted reply's text is the
628
+ // quote bubble plus what the user typed, and only the latter is the
629
+ // message.
630
+ const quote = extractQuote(msg, text);
574
631
  const pending = {
575
632
  id: msg.message_id,
576
633
  fromUserId: msg.from_user_id,
577
- text,
634
+ text: quote?.body ?? text,
578
635
  contextToken: msg.context_token,
579
636
  timestamp: msg.create_time_ms,
580
637
  rawItems: msg.item_list,
638
+ quote: quote
639
+ ? {
640
+ quotedText: quote.quotedText,
641
+ quotedMessageId: quote.quotedMessageId,
642
+ // Same as the daemon's path: without the timestamp a consumer
643
+ // of processMessages gets a Quote that can never fall back.
644
+ quotedAt: quote.quotedAt,
645
+ fromText: quote.fromText,
646
+ }
647
+ : undefined,
581
648
  };
582
649
  newMessages.push(pending);
583
650
  this.pendingMessages.push(pending);
package/dist/ilink.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ilink.js","sourceRoot":"","sources":["../src/ilink.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ilink.js","sourceRoot":"","sources":["../src/ilink.ts"],"names":[],"mappings":"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"}
package/dist/inbox.js CHANGED
@@ -1,43 +1,14 @@
1
1
  import fs from "node:fs";
2
2
  import path from "node:path";
3
+ import { withFileLock } from "./file-lock.js";
3
4
  import { INBOX_DIR } from "./paths.js";
4
5
  function inboxFile(sessionId) {
5
6
  return path.join(INBOX_DIR, `${sessionId}.json`);
6
7
  }
7
- const LOCK_TIMEOUT_MS = 5000;
8
- const LOCK_SPINS = 100;
9
- // Serialize inbox access with an atomic mkdir lock so the daemon's append and
10
- // the MCP server's drain can't interleave (which would otherwise lose or
11
- // duplicate messages). Critical sections are tiny (one file read + write).
8
+ // Serialize inbox access so the daemon's append and the MCP server's drain
9
+ // can't interleave (which would otherwise lose or duplicate messages).
12
10
  function withInboxLock(sessionId, fn) {
13
- const lock = `${inboxFile(sessionId)}.lock`;
14
- for (let i = 0; i < LOCK_SPINS; i++) {
15
- try {
16
- fs.mkdirSync(lock);
17
- }
18
- catch {
19
- // Lock held — steal it if it's stale, otherwise wait a beat and retry.
20
- try {
21
- if (Date.now() - fs.statSync(lock).mtimeMs > LOCK_TIMEOUT_MS) {
22
- fs.rmdirSync(lock);
23
- }
24
- }
25
- catch { }
26
- Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, 20);
27
- continue;
28
- }
29
- try {
30
- return fn();
31
- }
32
- finally {
33
- try {
34
- fs.rmdirSync(lock);
35
- }
36
- catch { }
37
- }
38
- }
39
- // Couldn't acquire within the budget — proceed unlocked rather than drop.
40
- return fn();
11
+ return withFileLock(inboxFile(sessionId), fn);
41
12
  }
42
13
  function loadArray(file) {
43
14
  try {
package/dist/inbox.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"inbox.js","sourceRoot":"","sources":["../src/inbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inbox.js","sourceRoot":"","sources":["../src/inbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,SAAS,SAAS,CAAC,SAAiB;IAClC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;AACnD,CAAC;AAED,2EAA2E;AAC3E,uEAAuE;AACvE,SAAS,aAAa,CAAI,SAAiB,EAAE,EAAW;IACtD,OAAO,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAY,CAAC;QACrE,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,MAA2B,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,YAAY,CAAC,SAAiB,EAAE,GAAmB;IACjE,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC,aAAa,CAAC,SAAS,EAAE,GAAG,EAAE;QAC5B,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,6EAA6E;AAC7E,+EAA+E;AAC/E,iFAAiF;AACjF,MAAM,UAAU,SAAS,CAAC,SAAiB;IACzC,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC,OAAO,aAAa,CAAC,SAAS,EAAE,GAAG,EAAE;QACnC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,SAAiB;IACzC,OAAO,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;AAChD,CAAC"}
@@ -0,0 +1,13 @@
1
+ export type OutboundRecord = {
2
+ sessionId: string;
3
+ sessionName: string;
4
+ claudeName?: string;
5
+ userId: string;
6
+ text: string;
7
+ messageIds: string[];
8
+ at: number;
9
+ };
10
+ export declare function recordOutbound(record: Omit<OutboundRecord, "at"> & {
11
+ at?: number;
12
+ }): void;
13
+ export declare function listOutbound(userId?: string): OutboundRecord[];
package/dist/outbox.js ADDED
@@ -0,0 +1,64 @@
1
+ // What each session has already said to each WeChat user. Written by the MCP
2
+ // server (the only place a session's replies are sent), read by the daemon,
3
+ // which uses it to answer the one question a quoted ("引用") reply asks:
4
+ // *which session wrote the message the user just quoted?*
5
+ //
6
+ // WeChat gives no session id back with a quote — at best the quoted text, and
7
+ // sometimes the quoted message's server id — so the mapping has to be kept on
8
+ // our side. Entries are small, capped and short-lived: this is a lookup table
9
+ // for a conversation in progress, not a transcript.
10
+ import fs from "node:fs";
11
+ import { withFileLock } from "./file-lock.js";
12
+ import { OUTBOX_FILE, ensureDirs } from "./paths.js";
13
+ const MAX_RECORDS = 200;
14
+ const MAX_AGE_MS = 24 * 60 * 60 * 1000;
15
+ // Long replies are chunked and quoted only in part; the head is what a quote
16
+ // can ever match against, and storing megabytes of transcript is pointless.
17
+ const MAX_TEXT = 4000;
18
+ function load() {
19
+ try {
20
+ const parsed = JSON.parse(fs.readFileSync(OUTBOX_FILE, "utf-8"));
21
+ return Array.isArray(parsed) ? parsed : [];
22
+ }
23
+ catch {
24
+ return [];
25
+ }
26
+ }
27
+ function fresh(records, now) {
28
+ return records
29
+ .filter((r) => typeof r?.text === "string" && now - r.at < MAX_AGE_MS)
30
+ .slice(-MAX_RECORDS);
31
+ }
32
+ // Record one outgoing message. Best-effort throughout: a session must never
33
+ // fail to reply because this bookkeeping could not be written.
34
+ export function recordOutbound(record) {
35
+ const at = record.at ?? Date.now();
36
+ try {
37
+ ensureDirs();
38
+ withFileLock(OUTBOX_FILE, () => {
39
+ const records = fresh(load(), at);
40
+ records.push({
41
+ ...record,
42
+ text: record.text.slice(0, MAX_TEXT),
43
+ at,
44
+ });
45
+ // Written to a temp file and renamed, not written in place: the daemon
46
+ // reads this on every quoted message without taking the lock, and
47
+ // writeFileSync truncates first — a reader landing in that window sees
48
+ // an empty or half-written file, which load() cannot tell from "no
49
+ // records" and would silently drop the quote. rename is atomic.
50
+ const tmp = `${OUTBOX_FILE}.${process.pid}.tmp`;
51
+ fs.writeFileSync(tmp, JSON.stringify(fresh(records, at)), { mode: 0o600 });
52
+ fs.renameSync(tmp, OUTBOX_FILE);
53
+ });
54
+ }
55
+ catch { }
56
+ }
57
+ // Records for one user (or all of them), newest first — the order a quote
58
+ // should be resolved in, since the same text may have been sent twice.
59
+ export function listOutbound(userId) {
60
+ const records = fresh(load(), Date.now());
61
+ const mine = userId ? records.filter((r) => r.userId === userId) : records;
62
+ return mine.reverse();
63
+ }
64
+ //# sourceMappingURL=outbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outbox.js","sourceRoot":"","sources":["../src/outbox.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,4EAA4E;AAC5E,uEAAuE;AACvE,0DAA0D;AAC1D,EAAE;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAC9E,oDAAoD;AACpD,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAsBrD,MAAM,WAAW,GAAG,GAAG,CAAC;AACxB,MAAM,UAAU,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACvC,6EAA6E;AAC7E,4EAA4E;AAC5E,MAAM,QAAQ,GAAG,IAAI,CAAC;AAEtB,SAAS,IAAI;IACX,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAY,CAAC;QAC5E,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,MAA2B,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,KAAK,CAAC,OAAyB,EAAE,GAAW;IACnD,OAAO,OAAO;SACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,KAAK,QAAQ,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC;SACrE,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC;AACzB,CAAC;AAED,4EAA4E;AAC5E,+DAA+D;AAC/D,MAAM,UAAU,cAAc,CAC5B,MAAoD;IAEpD,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACnC,IAAI,CAAC;QACH,UAAU,EAAE,CAAC;QACb,YAAY,CAAC,WAAW,EAAE,GAAG,EAAE;YAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC;gBACX,GAAG,MAAM;gBACT,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC;gBACpC,EAAE;aACH,CAAC,CAAC;YACH,uEAAuE;YACvE,kEAAkE;YAClE,uEAAuE;YACvE,mEAAmE;YACnE,gEAAgE;YAChE,MAAM,GAAG,GAAG,GAAG,WAAW,IAAI,OAAO,CAAC,GAAG,MAAM,CAAC;YAChD,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC3E,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;AACZ,CAAC;AAED,0EAA0E;AAC1E,uEAAuE;AACvE,MAAM,UAAU,YAAY,CAAC,MAAe;IAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAC3E,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;AACxB,CAAC"}
package/dist/paths.d.ts CHANGED
@@ -9,7 +9,9 @@ export declare const DAEMON_LOG_FILE: string;
9
9
  export declare const EXPIRED_FLAG_FILE: string;
10
10
  export declare const LOGIN_VERIFIED_FILE: string;
11
11
  export declare const CONFIG_FILE: string;
12
+ export declare const RAW_LOG_FILE: string;
12
13
  export declare const REPLIES_DIR: string;
14
+ export declare const OUTBOX_FILE: string;
13
15
  export declare const NUDGE_DIR: string;
14
16
  export declare const USAGE_STATE_FILE: string;
15
17
  export declare const UPDATE_CHECK_FILE: string;
package/dist/paths.js CHANGED
@@ -15,9 +15,16 @@ export const EXPIRED_FLAG_FILE = path.join(WECHAT_DIR, "expired.flag");
15
15
  // evidence that the cached bot token is still valid (see login-state.ts).
16
16
  export const LOGIN_VERIFIED_FILE = path.join(WECHAT_DIR, "login-verified");
17
17
  export const CONFIG_FILE = path.join(WECHAT_DIR, "config.json");
18
+ // Raw incoming messages, written only when WECHAT_DEBUG_RAW=1. The API's
19
+ // message shape is documented only in part — quoted replies in particular — so
20
+ // being able to see exactly what arrived turns guesswork into diagnosis.
21
+ export const RAW_LOG_FILE = path.join(WECHAT_DIR, "raw.log");
18
22
  // Per-user timestamp of the last reply a session actually sent back to WeChat,
19
23
  // so the daemon can tell "session answered" from "session went silent".
20
24
  export const REPLIES_DIR = path.join(WECHAT_DIR, "replies");
25
+ // What each session last said to each WeChat user, so a quoted reply can be
26
+ // routed back to the session that wrote the quoted message (see outbox.ts).
27
+ export const OUTBOX_FILE = path.join(WECHAT_DIR, "outbox.json");
21
28
  // Drop a file here to make a session's watcher re-announce its pending inbox
22
29
  // (used after a usage limit lifts, when the original announcement is long gone).
23
30
  export const NUDGE_DIR = path.join(WECHAT_DIR, "nudge");