@tencent-weixin/openclaw-weixin 2.4.3 → 2.4.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 (48) hide show
  1. package/dist/src/api/api.js +44 -3
  2. package/dist/src/api/api.js.map +1 -1
  3. package/dist/src/api/types.js +2 -0
  4. package/dist/src/api/types.js.map +1 -1
  5. package/dist/src/channel.js +7 -1
  6. package/dist/src/channel.js.map +1 -1
  7. package/dist/src/config/config-schema.js +1 -0
  8. package/dist/src/config/config-schema.js.map +1 -1
  9. package/dist/src/config/reply-progress.js +5 -0
  10. package/dist/src/config/reply-progress.js.map +1 -0
  11. package/dist/src/media/voice-outbound.js +98 -1
  12. package/dist/src/media/voice-outbound.js.map +1 -1
  13. package/dist/src/messaging/batch-session.js +271 -0
  14. package/dist/src/messaging/batch-session.js.map +1 -0
  15. package/dist/src/messaging/error-notice.js +1 -0
  16. package/dist/src/messaging/error-notice.js.map +1 -1
  17. package/dist/src/messaging/outbound-hooks.js +2 -0
  18. package/dist/src/messaging/outbound-hooks.js.map +1 -1
  19. package/dist/src/messaging/process-message.js +32 -7
  20. package/dist/src/messaging/process-message.js.map +1 -1
  21. package/dist/src/messaging/reply-progress-sender.js +93 -0
  22. package/dist/src/messaging/reply-progress-sender.js.map +1 -0
  23. package/dist/src/messaging/run-context.js +9 -0
  24. package/dist/src/messaging/run-context.js.map +1 -0
  25. package/dist/src/messaging/run-report-session.js +123 -0
  26. package/dist/src/messaging/run-report-session.js.map +1 -0
  27. package/dist/src/messaging/send.js +40 -2
  28. package/dist/src/messaging/send.js.map +1 -1
  29. package/dist/src/monitor/monitor.js +3 -0
  30. package/dist/src/monitor/monitor.js.map +1 -1
  31. package/dist/src/streaming/batch-session.js +271 -0
  32. package/dist/src/streaming/batch-session.js.map +1 -0
  33. package/dist/src/streaming/stream-piece.js +54 -0
  34. package/dist/src/streaming/stream-piece.js.map +1 -0
  35. package/openclaw.plugin.json +1 -1
  36. package/package.json +1 -1
  37. package/src/api/api.ts +52 -3
  38. package/src/api/types.ts +16 -0
  39. package/src/channel.ts +7 -1
  40. package/src/config/config-schema.ts +1 -0
  41. package/src/config/reply-progress.ts +10 -0
  42. package/src/messaging/error-notice.ts +2 -0
  43. package/src/messaging/outbound-hooks.ts +4 -0
  44. package/src/messaging/process-message.ts +32 -7
  45. package/src/messaging/reply-progress-sender.ts +122 -0
  46. package/src/messaging/send-media.ts +1 -1
  47. package/src/messaging/send.ts +60 -7
  48. package/src/monitor/monitor.ts +3 -0
@@ -0,0 +1,271 @@
1
+ import crypto from "node:crypto";
2
+ import { onAgentEvent, } from "openclaw/plugin-sdk/agent-harness-runtime";
3
+ import { MessageItemType } from "../api/types.js";
4
+ import { logger } from "../util/logger.js";
5
+ /** Max chars for a tool result summary before truncation. */
6
+ const TOOL_OUTPUT_CHAR_LIMIT = 120_000;
7
+ /** Default size budget for a single batch sendMessage (bytes, JSON estimate). */
8
+ export const BATCH_SIZE_LIMIT_BYTES = 200 * 1024;
9
+ function estimateSizeBytes(items) {
10
+ try {
11
+ return Buffer.byteLength(JSON.stringify(items), "utf8");
12
+ }
13
+ catch {
14
+ return 0;
15
+ }
16
+ }
17
+ function truncateText(text, limit) {
18
+ if (text.length <= limit)
19
+ return text;
20
+ return `${text.slice(0, limit)}\n\n… truncated (${text.length} chars, showing first ${limit}).`;
21
+ }
22
+ function formatToolOutput(value) {
23
+ if (value === null || value === undefined)
24
+ return "";
25
+ if (typeof value === "number" || typeof value === "boolean")
26
+ return String(value);
27
+ let text;
28
+ if (typeof value === "string") {
29
+ text = value;
30
+ }
31
+ else {
32
+ if (typeof value === "object") {
33
+ const rec = value;
34
+ if (typeof rec.text === "string") {
35
+ text = rec.text;
36
+ }
37
+ else if (Array.isArray(rec.content)) {
38
+ const parts = rec.content
39
+ .map((item) => {
40
+ if (item && typeof item === "object") {
41
+ const e = item;
42
+ if (e.type === "text" && typeof e.text === "string")
43
+ return e.text;
44
+ }
45
+ return null;
46
+ })
47
+ .filter((p) => p !== null);
48
+ text = parts.length > 0 ? parts.join("\n") : JSON.stringify(value, null, 2);
49
+ }
50
+ else {
51
+ text = JSON.stringify(value, null, 2);
52
+ }
53
+ }
54
+ else {
55
+ text = String(value);
56
+ }
57
+ }
58
+ return truncateText(text, TOOL_OUTPUT_CHAR_LIMIT);
59
+ }
60
+ function tryStringifyArgs(args) {
61
+ if (args === undefined)
62
+ return undefined;
63
+ try {
64
+ return JSON.stringify(args);
65
+ }
66
+ catch {
67
+ return undefined;
68
+ }
69
+ }
70
+ /**
71
+ * BatchSession — accumulates thinking, tool calls, and text payloads during
72
+ * an AI turn and sends them all in a single sendMessage at finalize time.
73
+ *
74
+ * Drop priority when item_list > BATCH_SIZE_LIMIT_BYTES:
75
+ * 1. Drop ThinkingItem (largest, optional for client UX)
76
+ * 2. Drop all ToolCallStart/Result items
77
+ * 3. Always keep TextItem(s) — the actual reply
78
+ *
79
+ * Usage:
80
+ * const session = new BatchSession({ onSendBatch });
81
+ * // spread replyCallbacks + runId into replyOptions
82
+ * replyOptions = { ...replyOptions, runId: session.runId, ...session.replyCallbacks }
83
+ * // in deliver(): session.addTextPayload(text)
84
+ * // after dispatchReplyFromConfig: await session.finalize()
85
+ * // on error: await session.abort()
86
+ */
87
+ export class BatchSession {
88
+ /** Run id this session listens for on the global agent event bus. */
89
+ runId;
90
+ thinkingText = null;
91
+ toolStarts = [];
92
+ toolResults = [];
93
+ textPayloads = [];
94
+ done = false;
95
+ unsubscribeAgentEvent;
96
+ onSendBatch;
97
+ constructor(deps) {
98
+ this.runId = deps.runId ?? crypto.randomUUID();
99
+ this.onSendBatch = deps.onSendBatch;
100
+ this.unsubscribeAgentEvent = onAgentEvent((evt) => this.handleRawAgentEvent(evt));
101
+ logger.debug(`BatchSession.ctor: runId=${this.runId} agentEventListener=registered`);
102
+ }
103
+ /**
104
+ * Spread into replyOptions so the SDK delivers thinking/tool events here.
105
+ * Also set `replyOptions.runId = session.runId` so agent events carry the
106
+ * matching runId.
107
+ */
108
+ get replyCallbacks() {
109
+ return {
110
+ onReasoningStream: (payload) => this.handleReasoningStream(payload),
111
+ onReasoningEnd: () => { },
112
+ };
113
+ }
114
+ /**
115
+ * Store a text payload from deliver(). Each call appends one TextItem to the
116
+ * final item_list in call order. Skips empty strings.
117
+ */
118
+ addTextPayload(text) {
119
+ if (!text.trim())
120
+ return;
121
+ this.textPayloads.push(text);
122
+ logger.debug(`BatchSession.addTextPayload: len=${text.length} total=${this.textPayloads.length}`);
123
+ }
124
+ // ---- private callbacks --------------------------------------------------
125
+ handleReasoningStream(payload) {
126
+ if (this.done)
127
+ return;
128
+ const text = typeof payload.text === "string" ? payload.text : "";
129
+ if (text) {
130
+ this.thinkingText = text;
131
+ }
132
+ }
133
+ handleRawAgentEvent(evt) {
134
+ if (this.done)
135
+ return;
136
+ if (evt.runId !== this.runId)
137
+ return;
138
+ if (evt.stream !== "tool")
139
+ return;
140
+ const data = evt.data;
141
+ if (typeof data.toolCallId !== "string" || !data.toolCallId)
142
+ return;
143
+ if (data.phase === "start") {
144
+ this.toolStarts.push({
145
+ tool_call_id: data.toolCallId,
146
+ tool_name: typeof data.name === "string" && data.name ? data.name : "tool",
147
+ args_json: tryStringifyArgs(data.args),
148
+ });
149
+ logger.debug(`BatchSession: tool_call_start tool=${data.name ?? "?"} id=${data.toolCallId}` +
150
+ ` totalStarts=${this.toolStarts.length}`);
151
+ return;
152
+ }
153
+ if (data.phase === "result") {
154
+ this.toolResults.push({
155
+ tool_call_id: data.toolCallId,
156
+ summary: formatToolOutput(data.result),
157
+ });
158
+ logger.debug(`BatchSession: tool_call_result id=${data.toolCallId}` +
159
+ ` totalResults=${this.toolResults.length}`);
160
+ }
161
+ }
162
+ // ---- item_list assembly -------------------------------------------------
163
+ /**
164
+ * Build the item_list applying the 200 KB budget.
165
+ *
166
+ * Order: [ThinkingItem?, ToolCallStart+Result pairs..., TextItem(s)...]
167
+ *
168
+ * If full list > maxBytes:
169
+ * - drop ThinkingItem and retry
170
+ * - if still > maxBytes, drop all tool items too
171
+ * - TextItem(s) are always kept
172
+ */
173
+ buildItemList(maxBytes = BATCH_SIZE_LIMIT_BYTES) {
174
+ const textItems = this.textPayloads.map((t) => ({
175
+ type: MessageItemType.TEXT,
176
+ text_item: { text: t },
177
+ }));
178
+ const toolItems = [];
179
+ for (const start of this.toolStarts) {
180
+ toolItems.push({
181
+ type: MessageItemType.TOOL_CALL_START,
182
+ tool_call_start_item: {
183
+ tool_name: start.tool_name,
184
+ tool_call_id: start.tool_call_id,
185
+ args_json: start.args_json,
186
+ },
187
+ });
188
+ const result = this.toolResults.find((r) => r.tool_call_id === start.tool_call_id);
189
+ if (result) {
190
+ toolItems.push({
191
+ type: MessageItemType.TOOL_CALL_RESULT,
192
+ tool_call_result_item: {
193
+ tool_call_id: result.tool_call_id,
194
+ summary: result.summary,
195
+ },
196
+ });
197
+ }
198
+ }
199
+ const thinkingItem = this.thinkingText
200
+ ? { type: MessageItemType.THINKING, thinking_item: { text: this.thinkingText } }
201
+ : null;
202
+ // Attempt 1: full list
203
+ const full = [
204
+ ...(thinkingItem ? [thinkingItem] : []),
205
+ ...toolItems,
206
+ ...textItems,
207
+ ];
208
+ if (full.length === 0)
209
+ return [];
210
+ const fullSize = estimateSizeBytes(full);
211
+ logger.debug(`BatchSession.buildItemList: items=${full.length} size=${fullSize}B` +
212
+ ` thinking=${thinkingItem !== null} tools=${this.toolStarts.length}` +
213
+ ` texts=${this.textPayloads.length}`);
214
+ if (fullSize <= maxBytes)
215
+ return full;
216
+ // Attempt 2: drop thinking
217
+ logger.warn(`BatchSession.buildItemList: size=${fullSize}B > limit=${maxBytes}B,` +
218
+ ` dropping ThinkingItem (len=${this.thinkingText?.length ?? 0} chars).` +
219
+ ` Full thinking content is in the log: ${logger.getLogFilePath()}`);
220
+ const withoutThinking = [...toolItems, ...textItems];
221
+ if (withoutThinking.length === 0)
222
+ return [];
223
+ const noThinkingSize = estimateSizeBytes(withoutThinking);
224
+ if (noThinkingSize <= maxBytes)
225
+ return withoutThinking;
226
+ // Attempt 3: drop tool items too
227
+ logger.warn(`BatchSession.buildItemList: size=${noThinkingSize}B still > limit=${maxBytes}B,` +
228
+ ` dropping ${this.toolStarts.length} tool call(s) (${toolItems.length} items).` +
229
+ ` Full tool content is in the log: ${logger.getLogFilePath()}`);
230
+ return textItems.length > 0 ? textItems : [];
231
+ }
232
+ // ---- lifecycle ----------------------------------------------------------
233
+ /**
234
+ * Assemble item_list, call onSendBatch once, then clean up. Idempotent.
235
+ */
236
+ async finalize() {
237
+ if (this.done)
238
+ return;
239
+ this.done = true;
240
+ this.cleanup();
241
+ const items = this.buildItemList();
242
+ if (items.length === 0) {
243
+ logger.debug("BatchSession.finalize: item_list empty, skipping send");
244
+ return;
245
+ }
246
+ logger.debug(`BatchSession.finalize: sending ${items.length} item(s)` +
247
+ ` thinking=${this.thinkingText !== null}` +
248
+ ` toolStarts=${this.toolStarts.length}` +
249
+ ` texts=${this.textPayloads.length}`);
250
+ await this.onSendBatch(items);
251
+ }
252
+ /**
253
+ * Discard all buffered data, release event listener. Does not send. Idempotent.
254
+ */
255
+ async abort() {
256
+ if (this.done)
257
+ return;
258
+ this.done = true;
259
+ this.cleanup();
260
+ logger.debug("BatchSession.abort: discarded without send");
261
+ }
262
+ cleanup() {
263
+ try {
264
+ this.unsubscribeAgentEvent();
265
+ }
266
+ catch (err) {
267
+ logger.warn(`BatchSession.cleanup: unsubscribe failed err=${String(err)}`);
268
+ }
269
+ }
270
+ }
271
+ //# sourceMappingURL=batch-session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-session.js","sourceRoot":"","sources":["../../../src/messaging/batch-session.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ export async function sendWeixinErrorNotice(params) {
14
14
  baseUrl: params.baseUrl,
15
15
  token: params.token,
16
16
  contextToken: params.contextToken,
17
+ ...(params.runId ? { runId: params.runId } : {}),
17
18
  } });
18
19
  logger.debug(`sendWeixinErrorNotice: sent to=${params.to}`);
19
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"error-notice.js","sourceRoot":"","sources":["../../../src/messaging/error-notice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,MAO3C;IACC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,iDAAiD,MAAM,CAAC,EAAE,2BAA2B,CAAC,CAAC;IACrG,CAAC;IACD,IAAI,CAAC;QACH,MAAM,iBAAiB,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE;gBACnE,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,YAAY,EAAE,MAAM,CAAC,YAAY;aAClC,EAAC,CAAC,CAAC;QACJ,MAAM,CAAC,KAAK,CAAC,kCAAkC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,MAAM,CAAC,4CAA4C,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACzF,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"error-notice.js","sourceRoot":"","sources":["../../../src/messaging/error-notice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,MAQ3C;IACC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,iDAAiD,MAAM,CAAC,EAAE,2BAA2B,CAAC,CAAC;IACrG,CAAC;IACD,IAAI,CAAC;QACH,MAAM,iBAAiB,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE;gBACnE,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACjD,EAAC,CAAC,CAAC;QACJ,MAAM,CAAC,KAAK,CAAC,kCAAkC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,MAAM,CAAC,4CAA4C,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACzF,CAAC;AACH,CAAC"}
@@ -19,6 +19,7 @@ export async function applyWeixinMessageSendingHook(params) {
19
19
  metadata: {
20
20
  channel: CHANNEL_ID,
21
21
  accountId: params.accountId,
22
+ runId: params.runId,
22
23
  ...(params.mediaUrl ? { mediaUrls: [params.mediaUrl] } : {}),
23
24
  },
24
25
  }, { channelId: CHANNEL_ID, accountId: params.accountId });
@@ -50,6 +51,7 @@ export function emitWeixinMessageSent(params) {
50
51
  channelId: CHANNEL_ID,
51
52
  accountId: params.accountId,
52
53
  conversationId: params.to,
54
+ runId: params.runId,
53
55
  });
54
56
  fireAndForgetHook(Promise.resolve(hookRunner.runMessageSent(toPluginMessageSentEvent(canonical), toPluginMessageContext(canonical))), "weixin: message_sent plugin hook failed");
55
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"outbound-hooks.js","sourceRoot":"","sources":["../../../src/messaging/outbound-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,oCAAoC,EACpC,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAEzE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,MAAM,UAAU,GAAG,iBAAiB,CAAC;AAErC;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAAC,MAKnD;IACC,MAAM,UAAU,GAAG,mBAAmB,EAAE,CAAC;IACzC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC7C,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IACjD,CAAC;IACD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,iBAAiB,CACnD;YACE,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,OAAO,EAAE,MAAM,CAAC,IAAI;YACpB,QAAQ,EAAE;gBACR,OAAO,EAAE,UAAU;gBACnB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7D;SACF,EACD,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CACvD,CAAC;QACF,IAAI,UAAU,EAAE,MAAM,EAAE,CAAC;YACvB,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QAChD,CAAC;QACD,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,IAAI,EAAE,UAAU,EAAE,OAAO,IAAI,MAAM,CAAC,IAAI;SACzC,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,qDAAqD,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChF,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IACjD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAMrC;IACC,MAAM,UAAU,GAAG,mBAAmB,EAAE,CAAC;IACzC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC;QAAE,OAAO;IAClD,MAAM,SAAS,GAAG,oCAAoC,CAAC;QACrD,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,SAAS,EAAE,UAAU;QACrB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,cAAc,EAAE,MAAM,CAAC,EAAE;KAC1B,CAAC,CAAC;IACH,iBAAiB,CACf,OAAO,CAAC,OAAO,CACb,UAAW,CAAC,cAAc,CACxB,wBAAwB,CAAC,SAAS,CAAC,EACnC,sBAAsB,CAAC,SAAS,CAAC,CAClC,CACF,EACD,yCAAyC,CAC1C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"outbound-hooks.js","sourceRoot":"","sources":["../../../src/messaging/outbound-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,oCAAoC,EACpC,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAEzE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,MAAM,UAAU,GAAG,iBAAiB,CAAC;AAErC;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAAC,MAMnD;IACC,MAAM,UAAU,GAAG,mBAAmB,EAAE,CAAC;IACzC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC7C,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IACjD,CAAC;IACD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,iBAAiB,CACnD;YACE,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,OAAO,EAAE,MAAM,CAAC,IAAI;YACpB,QAAQ,EAAE;gBACR,OAAO,EAAE,UAAU;gBACnB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7D;SACF,EACD,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CACvD,CAAC;QACF,IAAI,UAAU,EAAE,MAAM,EAAE,CAAC;YACvB,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QAChD,CAAC;QACD,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,IAAI,EAAE,UAAU,EAAE,OAAO,IAAI,MAAM,CAAC,IAAI;SACzC,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,qDAAqD,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChF,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IACjD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAOrC;IACC,MAAM,UAAU,GAAG,mBAAmB,EAAE,CAAC;IACzC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC;QAAE,OAAO;IAClD,MAAM,SAAS,GAAG,oCAAoC,CAAC;QACrD,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,SAAS,EAAE,UAAU;QACrB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,cAAc,EAAE,MAAM,CAAC,EAAE;QACzB,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC,CAAC;IACH,iBAAiB,CACf,OAAO,CAAC,OAAO,CACb,UAAW,CAAC,cAAc,CACxB,wBAAwB,CAAC,SAAS,CAAC,EACnC,sBAAsB,CAAC,SAAS,CAAC,CAClC,CACF,EACD,yCAAyC,CAC1C,CAAC;AACJ,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import path from "node:path";
2
+ import { randomUUID } from "node:crypto";
2
3
  import { createTypingCallbacks } from "openclaw/plugin-sdk/channel-runtime";
3
4
  import { resolveSenderCommandAuthorizationWithRuntime, resolveDirectDmAuthorizationOutcome, } from "openclaw/plugin-sdk/command-auth";
4
5
  import { resolvePreferredOpenClawTmpDir } from "openclaw/plugin-sdk/infra-runtime";
@@ -7,6 +8,7 @@ import { MessageItemType, TypingStatus } from "../api/types.js";
7
8
  import { loadWeixinAccount } from "../auth/accounts.js";
8
9
  import { readFrameworkAllowFromList } from "../auth/pairing.js";
9
10
  import { downloadRemoteImageToTemp } from "../cdn/upload.js";
11
+ import { resolveReplyProgressMessagesEnabled } from "../config/reply-progress.js";
10
12
  import { downloadMediaFromItem } from "../media/media-download.js";
11
13
  import { logger } from "../util/logger.js";
12
14
  import { redactBody, redactToken } from "../util/redact.js";
@@ -17,6 +19,7 @@ import { setContextToken, weixinMessageToMsgContext, getContextTokenFromMsgConte
17
19
  import { sendWeixinMediaFile } from "./send-media.js";
18
20
  import { StreamingMarkdownFilter } from "./markdown-filter.js";
19
21
  import { sendMessageWeixin } from "./send.js";
22
+ import { WeixinReplyProgressSender } from "./reply-progress-sender.js";
20
23
  import { handleSlashCommand } from "./slash-commands.js";
21
24
  const MEDIA_OUTBOUND_TEMP_DIR = path.join(resolvePreferredOpenClawTmpDir(), "weixin/media/outbound-temp");
22
25
  /** Extract text body from item_list (for slash command detection). */
@@ -177,6 +180,19 @@ export async function processOneMessage(full, deps) {
177
180
  if (contextToken) {
178
181
  setContextToken(deps.accountId, full.from_user_id ?? "", contextToken);
179
182
  }
183
+ const runId = randomUUID();
184
+ const replyProgressSender = resolveReplyProgressMessagesEnabled(deps.config)
185
+ ? new WeixinReplyProgressSender({
186
+ runId,
187
+ to: ctx.To,
188
+ accountId: deps.accountId,
189
+ opts: {
190
+ baseUrl: deps.baseUrl,
191
+ token: deps.token,
192
+ contextToken,
193
+ },
194
+ })
195
+ : undefined;
180
196
  const humanDelay = deps.channelRuntime.reply.resolveHumanDelayConfig(deps.config, route.agentId);
181
197
  const hasTypingTicket = Boolean(deps.typingTicket);
182
198
  const typingCallbacks = createTypingCallbacks({
@@ -233,6 +249,7 @@ export async function processOneMessage(full, deps) {
233
249
  text,
234
250
  accountId: deps.accountId,
235
251
  mediaUrl,
252
+ runId,
236
253
  });
237
254
  if (sendingResult.cancelled) {
238
255
  logger.info(`outbound: cancelled by message_sending hook to=${ctx.To}`);
@@ -266,8 +283,9 @@ export async function processOneMessage(full, deps) {
266
283
  baseUrl: deps.baseUrl,
267
284
  token: deps.token,
268
285
  contextToken,
286
+ runId,
269
287
  } });
270
- emitWeixinMessageSent({ to: ctx.To, content: text, success: true, accountId: deps.accountId });
288
+ emitWeixinMessageSent({ to: ctx.To, content: text, success: true, accountId: deps.accountId, runId });
271
289
  logger.info(`outbound: text sent to=${ctx.To}`);
272
290
  return;
273
291
  }
@@ -275,10 +293,10 @@ export async function processOneMessage(full, deps) {
275
293
  filePath,
276
294
  to: ctx.To,
277
295
  text,
278
- opts: { baseUrl: deps.baseUrl, token: deps.token, contextToken },
296
+ opts: { baseUrl: deps.baseUrl, token: deps.token, contextToken, runId },
279
297
  cdnBaseUrl: deps.cdnBaseUrl,
280
298
  });
281
- emitWeixinMessageSent({ to: ctx.To, content: text, success: true, accountId: deps.accountId });
299
+ emitWeixinMessageSent({ to: ctx.To, content: text, success: true, accountId: deps.accountId, runId });
282
300
  logger.info(`outbound: media sent OK to=${ctx.To}`);
283
301
  }
284
302
  else {
@@ -287,13 +305,14 @@ export async function processOneMessage(full, deps) {
287
305
  baseUrl: deps.baseUrl,
288
306
  token: deps.token,
289
307
  contextToken,
308
+ runId,
290
309
  } });
291
- emitWeixinMessageSent({ to: ctx.To, content: text, success: true, accountId: deps.accountId });
310
+ emitWeixinMessageSent({ to: ctx.To, content: text, success: true, accountId: deps.accountId, runId });
292
311
  logger.info(`outbound: text sent OK to=${ctx.To}`);
293
312
  }
294
313
  }
295
314
  catch (err) {
296
- emitWeixinMessageSent({ to: ctx.To, content: text, success: false, error: String(err), accountId: deps.accountId });
315
+ emitWeixinMessageSent({ to: ctx.To, content: text, success: false, error: String(err), accountId: deps.accountId, runId });
297
316
  logger.error(`outbound: FAILED to=${ctx.To} mediaUrl=${mediaUrl ?? "none"} err=${String(err)} stack=${err.stack ?? ""}`);
298
317
  throw err;
299
318
  }
@@ -319,6 +338,7 @@ export async function processOneMessage(full, deps) {
319
338
  message: notice,
320
339
  baseUrl: deps.baseUrl,
321
340
  token: deps.token,
341
+ runId,
322
342
  errLog: deps.errLog,
323
343
  });
324
344
  },
@@ -331,7 +351,11 @@ export async function processOneMessage(full, deps) {
331
351
  ctx: finalized,
332
352
  cfg: deps.config,
333
353
  dispatcher,
334
- replyOptions: { ...replyOptions, disableBlockStreaming: true },
354
+ replyOptions: {
355
+ ...replyOptions,
356
+ ...(replyProgressSender?.replyOptions ?? {}),
357
+ disableBlockStreaming: true,
358
+ },
335
359
  }),
336
360
  });
337
361
  logger.debug(`dispatchReplyFromConfig: done agentId=${route.agentId ?? "(none)"}`);
@@ -342,6 +366,7 @@ export async function processOneMessage(full, deps) {
342
366
  }
343
367
  finally {
344
368
  markDispatchIdle();
369
+ await replyProgressSender?.finalize();
345
370
  logger.info(`debug-check: accountId=${deps.accountId} debug=${String(debug)} hasContextToken=${Boolean(contextToken)}`);
346
371
  if (debug && contextToken) {
347
372
  const dispatchDoneAt = Date.now();
@@ -368,7 +393,7 @@ export async function processOneMessage(full, deps) {
368
393
  await sendMessageWeixin({
369
394
  to: ctx.To,
370
395
  text: timingText,
371
- opts: { baseUrl: deps.baseUrl, token: deps.token, contextToken },
396
+ opts: { baseUrl: deps.baseUrl, token: deps.token, contextToken, runId },
372
397
  });
373
398
  logger.info(`debug-timing: sent OK`);
374
399
  }
@@ -1 +1 @@
1
- {"version":3,"file":"process-message.js","sourceRoot":"","sources":["../../../src/messaging/process-message.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"process-message.js","sourceRoot":"","sources":["../../../src/messaging/process-message.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,93 @@
1
+ import { MessageItemType } from "../api/types.js";
2
+ import { logger } from "../util/logger.js";
3
+ import { sendMessageItemWeixin } from "./send.js";
4
+ function normalizeToolStatus(status) {
5
+ if (status === "completed")
6
+ return "completed";
7
+ if (status === "failed")
8
+ return "failed";
9
+ if (status === "blocked")
10
+ return "blocked";
11
+ return "unknown";
12
+ }
13
+ export class WeixinReplyProgressSender {
14
+ runId;
15
+ to;
16
+ accountId;
17
+ opts;
18
+ finalized = false;
19
+ sendChain = Promise.resolve();
20
+ constructor(deps) {
21
+ this.runId = deps.runId;
22
+ this.to = deps.to;
23
+ this.accountId = deps.accountId;
24
+ this.opts = { ...deps.opts, runId: deps.runId };
25
+ }
26
+ get replyOptions() {
27
+ return {
28
+ runId: this.runId,
29
+ onItemEvent: (payload) => this.handleToolItemEvent(payload),
30
+ };
31
+ }
32
+ enqueueMessage(item, label) {
33
+ if (this.finalized)
34
+ return;
35
+ this.sendChain = this.sendChain
36
+ .then(async () => {
37
+ await sendMessageItemWeixin({
38
+ to: this.to,
39
+ item,
40
+ opts: this.opts,
41
+ label,
42
+ });
43
+ })
44
+ .catch((err) => {
45
+ logger.warn(`${label}: failed to=${this.to} accountId=${this.accountId} runId=${this.runId} err=${String(err)}`);
46
+ });
47
+ }
48
+ handleToolItemEvent(payload) {
49
+ if (this.finalized)
50
+ return;
51
+ if (payload.kind !== "tool")
52
+ return;
53
+ if (payload.phase !== "start" && payload.phase !== "end")
54
+ return;
55
+ const now = Date.now();
56
+ const toolName = payload.name?.trim() || payload.title?.trim() || "tool";
57
+ const toolCallId = payload.itemId?.trim() || undefined;
58
+ if (payload.phase === "start") {
59
+ this.enqueueMessage({
60
+ type: MessageItemType.TOOL_CALL_START,
61
+ create_time_ms: now,
62
+ is_completed: false,
63
+ tool_call_start_item: {
64
+ tool_name: toolName,
65
+ tool_call_id: toolCallId,
66
+ },
67
+ }, "sendToolCallStartMessage");
68
+ return;
69
+ }
70
+ this.enqueueMessage({
71
+ type: MessageItemType.TOOL_CALL_RESULT,
72
+ create_time_ms: now,
73
+ is_completed: true,
74
+ tool_call_result_item: {
75
+ tool_name: toolName,
76
+ tool_call_id: toolCallId,
77
+ status: normalizeToolStatus(payload.status),
78
+ },
79
+ }, "sendToolCallResultMessage");
80
+ }
81
+ async finalize() {
82
+ if (this.finalized)
83
+ return;
84
+ this.finalized = true;
85
+ try {
86
+ await this.sendChain;
87
+ }
88
+ catch (err) {
89
+ logger.warn(`WeixinReplyProgressSender.finalize: send drain failed runId=${this.runId} err=${String(err)}`);
90
+ }
91
+ }
92
+ }
93
+ //# sourceMappingURL=reply-progress-sender.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reply-progress-sender.js","sourceRoot":"","sources":["../../../src/messaging/reply-progress-sender.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { AsyncLocalStorage } from "node:async_hooks";
2
+ const turnContextStorage = new AsyncLocalStorage();
3
+ export function withWeixinTurnContext(ctx, run) {
4
+ return turnContextStorage.run(ctx, run);
5
+ }
6
+ export function getCurrentWeixinTurnContext() {
7
+ return turnContextStorage.getStore();
8
+ }
9
+ //# sourceMappingURL=run-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-context.js","sourceRoot":"","sources":["../../../src/messaging/run-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAMrD,MAAM,kBAAkB,GAAG,IAAI,iBAAiB,EAAqB,CAAC;AAEtE,MAAM,UAAU,qBAAqB,CACnC,GAAsB,EACtB,GAAqB;IAErB,OAAO,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,2BAA2B;IACzC,OAAO,kBAAkB,CAAC,QAAQ,EAAE,CAAC;AACvC,CAAC"}