@xgjktech/xg_cwork_im 1.17.41 → 1.17.42

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 (37) hide show
  1. package/README.md +489 -489
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +4 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/account-connection.d.ts.map +1 -1
  6. package/dist/src/account-connection.js +2 -1
  7. package/dist/src/account-connection.js.map +1 -1
  8. package/dist/src/build-project-prompt.test.js +18 -18
  9. package/dist/src/cron-appkey-binding-store.d.ts +26 -0
  10. package/dist/src/cron-appkey-binding-store.d.ts.map +1 -0
  11. package/dist/src/cron-appkey-binding-store.js +179 -0
  12. package/dist/src/cron-appkey-binding-store.js.map +1 -0
  13. package/dist/src/cron-appkey-binding-store.test.d.ts +2 -0
  14. package/dist/src/cron-appkey-binding-store.test.d.ts.map +1 -0
  15. package/dist/src/cron-appkey-binding-store.test.js +84 -0
  16. package/dist/src/cron-appkey-binding-store.test.js.map +1 -0
  17. package/dist/src/gateway-session-queue.d.ts +3 -0
  18. package/dist/src/gateway-session-queue.d.ts.map +1 -1
  19. package/dist/src/gateway-session-queue.js +1 -0
  20. package/dist/src/gateway-session-queue.js.map +1 -1
  21. package/dist/src/register-exec-env-hook.d.ts +13 -0
  22. package/dist/src/register-exec-env-hook.d.ts.map +1 -1
  23. package/dist/src/register-exec-env-hook.js +167 -3
  24. package/dist/src/register-exec-env-hook.js.map +1 -1
  25. package/dist/src/session-env-store.d.ts +6 -0
  26. package/dist/src/session-env-store.d.ts.map +1 -1
  27. package/dist/src/session-env-store.js +12 -0
  28. package/dist/src/session-env-store.js.map +1 -1
  29. package/dist/src/single-chat-no-reply-fallback.d.ts +14 -0
  30. package/dist/src/single-chat-no-reply-fallback.d.ts.map +1 -0
  31. package/dist/src/single-chat-no-reply-fallback.js +20 -0
  32. package/dist/src/single-chat-no-reply-fallback.js.map +1 -0
  33. package/dist/src/subagent-progress-hooks.d.ts +11 -0
  34. package/dist/src/subagent-progress-hooks.d.ts.map +1 -0
  35. package/dist/src/subagent-progress-hooks.js +41 -0
  36. package/dist/src/subagent-progress-hooks.js.map +1 -0
  37. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"register-exec-env-hook.d.ts","sourceRoot":"","sources":["../../src/register-exec-env-hook.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAInF,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAEzD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CA+BhE"}
1
+ {"version":3,"file":"register-exec-env-hook.d.ts","sourceRoot":"","sources":["../../src/register-exec-env-hook.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAKnF,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAEzD,MAAM,MAAM,cAAc,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAM/E,+EAA+E;AAC/E,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAKxE;AAwBD,4EAA4E;AAC5E,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAM9E;AAED,oEAAoE;AACpE,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CAa9F;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAiDhE;AAED,gFAAgF;AAChF,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAqE1E"}
@@ -9,8 +9,74 @@
9
9
  * 不注册 resolve_exec_env,因此 params.env 即最终生效值)。不碰 process.env。
10
10
  */
11
11
  import { getXgImConfig } from "./channel-config.js";
12
- import { isRecord, resolveEnvForSession } from "./session-env-store.js";
12
+ import { getSessionUserContext, isRecord, resolveEnvForSession } from "./session-env-store.js";
13
+ import { bindCronAppKey as persistCronBinding, getCronAppKeyBinding as readCronBinding } from "./cron-appkey-binding-store.js";
13
14
  export const XG_OPENAPI_BASE_URL = "XG_OPENAPI_BASE_URL";
15
+ // OpenClaw job ids are UUID-like, but some released versions emit an
16
+ // 11-character final segment. Keep the shape strict while accepting both.
17
+ const CRON_JOB_ID_PATTERN = /\b[0-9a-f]{8}(?:-[0-9a-f]{4}){3}-[0-9a-f]{8,16}\b/i;
18
+ /** Return true only for the supported CLI/API forms that create a Cron job. */
19
+ export function isCronCreateCommand(command) {
20
+ if (!command)
21
+ return false;
22
+ const normalized = command.toLowerCase();
23
+ return /\bopenclaw(?:\.cmd)?\s+cron\s+(?:add|create)\b/.test(normalized) ||
24
+ /\bopenclaw(?:\.cmd)?\s+gateway\s+call\s+cron\.create\b/.test(normalized);
25
+ }
26
+ function collectText(value, out = [], seen = new Set()) {
27
+ if (value == null || seen.has(value))
28
+ return out;
29
+ if (typeof value === "string") {
30
+ out.push(value);
31
+ return out;
32
+ }
33
+ if (typeof value !== "object")
34
+ return out;
35
+ seen.add(value);
36
+ if (Array.isArray(value)) {
37
+ for (const item of value)
38
+ collectText(item, out, seen);
39
+ }
40
+ else {
41
+ for (const [key, item] of Object.entries(value)) {
42
+ if (key === "id" || key === "jobId") {
43
+ if (typeof item === "string")
44
+ out.push(item);
45
+ }
46
+ else {
47
+ collectText(item, out, seen);
48
+ }
49
+ }
50
+ }
51
+ return out;
52
+ }
53
+ /** Extract the authoritative UUID printed by `openclaw cron add --json`. */
54
+ export function extractCronJobIdFromResult(result) {
55
+ for (const text of collectText(result)) {
56
+ const match = text.match(CRON_JOB_ID_PATTERN);
57
+ if (match)
58
+ return match[0];
59
+ }
60
+ return undefined;
61
+ }
62
+ /** Parse the stable portion of an OpenClaw Cron run session key. */
63
+ export function parseCronSessionKey(sessionKey) {
64
+ if (!sessionKey)
65
+ return undefined;
66
+ const marker = ":cron:";
67
+ const markerIndex = sessionKey.indexOf(marker);
68
+ if (!sessionKey.startsWith("agent:") || markerIndex <= "agent:".length)
69
+ return undefined;
70
+ const agentId = sessionKey.slice("agent:".length, markerIndex);
71
+ const rest = sessionKey.slice(markerIndex + marker.length);
72
+ const runMarker = ":run:";
73
+ const runIndex = rest.indexOf(runMarker);
74
+ if (!agentId || runIndex <= 0 || runIndex + runMarker.length >= rest.length)
75
+ return undefined;
76
+ const jobId = rest.slice(0, runIndex);
77
+ const runId = rest.slice(runIndex + runMarker.length);
78
+ return jobId && runId ? { agentId, jobId, runId } : undefined;
79
+ }
14
80
  export function registerExecEnvHook(api) {
15
81
  const resolveBaseUrl = () => {
16
82
  try {
@@ -26,14 +92,33 @@ export function registerExecEnvHook(api) {
26
92
  api.on("before_tool_call", (event, ctx) => {
27
93
  if (event.toolName !== "exec")
28
94
  return;
29
- const env = { ...resolveEnvForSession(ctx.sessionKey) };
95
+ const cron = parseCronSessionKey(ctx.sessionKey);
96
+ const cronBinding = cron ? readCronBinding(cron.agentId, cron.jobId) : undefined;
97
+ const env = cron
98
+ ? {}
99
+ : { ...resolveEnvForSession(ctx.sessionKey) };
100
+ if (cronBinding)
101
+ env.XG_OPENAPI_APP_KEY = cronBinding.appKey;
30
102
  const baseUrl = resolveBaseUrl();
31
103
  if (baseUrl) {
32
104
  env[XG_OPENAPI_BASE_URL] = baseUrl;
33
105
  }
106
+ const existing = isRecord(event.params.env) ? event.params.env : {};
107
+ if (cron && !cronBinding) {
108
+ const hadAppKey = Object.prototype.hasOwnProperty.call(existing, "XG_OPENAPI_APP_KEY");
109
+ const sanitizedExisting = { ...existing };
110
+ delete sanitizedExisting.XG_OPENAPI_APP_KEY;
111
+ if (!hadAppKey && Object.keys(sanitizedExisting).length === 0 && !baseUrl)
112
+ return;
113
+ return {
114
+ params: {
115
+ ...event.params,
116
+ env: { ...sanitizedExisting, ...(baseUrl ? { [XG_OPENAPI_BASE_URL]: baseUrl } : {}) },
117
+ },
118
+ };
119
+ }
34
120
  if (Object.keys(env).length === 0)
35
121
  return;
36
- const existing = isRecord(event.params.env) ? event.params.env : {};
37
122
  return {
38
123
  params: {
39
124
  ...event.params,
@@ -42,4 +127,83 @@ export function registerExecEnvHook(api) {
42
127
  };
43
128
  }, { priority: 0 });
44
129
  }
130
+ /** Register automatic binding when a Cron job is created from an IM session. */
131
+ export function registerCronAppKeyBindingHook(api) {
132
+ const bindFromSession = (jobId, sessionKey, agentIdHint) => {
133
+ if (!jobId || !sessionKey) {
134
+ console.warn(`[xg_cwork_im] [cron-binding] missing jobId/sessionKey; binding skipped`);
135
+ return;
136
+ }
137
+ const sessionEnv = resolveEnvForSession(sessionKey);
138
+ const appKey = sessionEnv.XG_OPENAPI_APP_KEY;
139
+ if (!appKey) {
140
+ console.warn(`[xg_cwork_im] [cron-binding] no appKey in creator session; jobId=${jobId}`);
141
+ return;
142
+ }
143
+ const sessionAgent = sessionKey.startsWith("agent:") ? sessionKey.slice("agent:".length).split(":", 1)[0] : undefined;
144
+ if (sessionAgent && agentIdHint && sessionAgent !== agentIdHint) {
145
+ console.warn(`[xg_cwork_im] [cron-binding] agent mismatch; sessionAgent=${sessionAgent} agentId=${agentIdHint} jobId=${jobId}`);
146
+ return;
147
+ }
148
+ const agentId = agentIdHint ?? sessionAgent;
149
+ if (!agentId) {
150
+ console.warn(`[xg_cwork_im] [cron-binding] missing agentId; jobId=${jobId}`);
151
+ return;
152
+ }
153
+ const user = getSessionUserContext(sessionKey);
154
+ const saved = persistCronBinding({
155
+ agentId,
156
+ jobId,
157
+ appKey,
158
+ userId: user?.userId,
159
+ userName: user?.userName,
160
+ ownerSessionKey: sessionKey,
161
+ source: "im",
162
+ });
163
+ if (!saved)
164
+ console.warn(`[xg_cwork_im] [cron-binding] persist failed; agentId=${agentId} jobId=${jobId}`);
165
+ };
166
+ // The cron tool result contains the authoritative job id and runs in the
167
+ // creator's session, unlike prompt text which must never be parsed for ids.
168
+ api.on("after_tool_call", (event, ctx) => {
169
+ if (event.error)
170
+ return;
171
+ // In the current IM agent toolset Cron is exposed through exec rather
172
+ // than as a native `cron` tool. Bind only an explicit Cron create
173
+ // command; never infer a job id from arbitrary command output.
174
+ if (event.toolName === "exec") {
175
+ const command = typeof event.params.command === "string" ? event.params.command : undefined;
176
+ if (!isCronCreateCommand(command))
177
+ return;
178
+ const jobId = extractCronJobIdFromResult(event.result);
179
+ if (jobId)
180
+ bindFromSession(jobId, ctx.sessionKey, ctx.agentId);
181
+ else
182
+ console.warn(`[xg_cwork_im] [cron-binding] CLI Cron create succeeded but jobId was not found in result`);
183
+ return;
184
+ }
185
+ if (event.toolName !== "cron")
186
+ return;
187
+ const action = typeof event.params.action === "string" ? event.params.action : "";
188
+ if (action !== "add" && action !== "create")
189
+ return;
190
+ const result = isRecord(event.result) ? event.result : undefined;
191
+ const details = result && isRecord(result.details) ? result.details : undefined;
192
+ const jobId = (details && (typeof details.id === "string" ? details.id : typeof details.jobId === "string" ? details.jobId : undefined)) ??
193
+ (result && (typeof result.id === "string" ? result.id : typeof result.jobId === "string" ? result.jobId : undefined));
194
+ if (jobId)
195
+ bindFromSession(jobId, ctx.sessionKey, ctx.agentId);
196
+ else
197
+ console.warn(`[xg_cwork_im] [cron-binding] cron add succeeded but jobId was not found in result`);
198
+ });
199
+ // OpenClaw emits this after cron.add/create succeeds. The event carries the
200
+ // originating sessionKey, allowing us to bind the appKey captured for that
201
+ // IM session without guessing a job id from tool text.
202
+ api.on("cron_changed", (event) => {
203
+ if (event.action !== "added" || !event.jobId || !event.sessionKey)
204
+ return;
205
+ const agentId = event.agentId ?? event.job?.agentId;
206
+ bindFromSession(event.jobId, event.sessionKey, agentId);
207
+ });
208
+ }
45
209
  //# sourceMappingURL=register-exec-env-hook.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"register-exec-env-hook.js","sourceRoot":"","sources":["../../src/register-exec-env-hook.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAExE,MAAM,CAAC,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAEzD,MAAM,UAAU,mBAAmB,CAAC,GAAsB;IACtD,MAAM,cAAc,GAAG,GAAuB,EAAE;QAC5C,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACzC,IAAI,CAAC,GAAG;gBAAE,OAAO,SAAS,CAAC;YAC3B,OAAO,aAAa,CAAC,GAAqB,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;QAC7E,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC,CAAC;IAEF,GAAG,CAAC,EAAE,CACF,kBAAkB,EAClB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACX,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM;YAAE,OAAO;QACtC,MAAM,GAAG,GAA2B,EAAE,GAAG,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QAChF,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;QACjC,IAAI,OAAO,EAAE,CAAC;YACV,GAAG,CAAC,mBAAmB,CAAC,GAAG,OAAO,CAAC;QACvC,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC1C,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,OAAO;YACH,MAAM,EAAE;gBACJ,GAAG,KAAK,CAAC,MAAM;gBACf,GAAG,EAAE,EAAE,GAAG,QAAQ,EAAE,GAAG,GAAG,EAAE;aAC/B;SACJ,CAAC;IACN,CAAC,EACD,EAAE,QAAQ,EAAE,CAAC,EAAE,CAClB,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"register-exec-env-hook.js","sourceRoot":"","sources":["../../src/register-exec-env-hook.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,12 @@ export declare function clearSessionEnv(sessionKey: string): void;
32
32
  export declare function removeSessionEnvKey(sessionKey: string, key: string): void;
33
33
  /** 登记 subagent 子会话到父会话的关联,供 exec env 父子链反查。 */
34
34
  export declare function linkChildSession(childSessionKey: string, parentSessionKey: string): void;
35
+ /** Record the last IM sender for optional Cron binding audit metadata. */
36
+ export declare function setSessionUserContext(sessionKey: string, userId?: string, userName?: string): void;
37
+ export declare function getSessionUserContext(sessionKey: string | undefined): {
38
+ userId?: string;
39
+ userName?: string;
40
+ } | undefined;
35
41
  /**
36
42
  * 解析某个会话应注入 exec 的 env:先查本会话;查不到则沿 subagent 父子链
37
43
  * 反查父会话(限深,防环)。subagent 内 exec 触发 hook 时 sessionKey 是子会话 key。
@@ -1 +1 @@
1
- {"version":3,"file":"session-env-store.d.ts","sourceRoot":"","sources":["../../src/session-env-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AAkCvD,0CAA0C;AAC1C,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQtF;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AA8GD;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAKhE;AAED,2BAA2B;AAC3B,wBAAgB,0BAA0B,IAAI,IAAI,CASjD;AAED,wCAAwC;AACxC,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CASnF;AAED,gDAAgD;AAChD,wBAAgB,kBAAkB,CAC9B,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GAAG,SAAS,GAC1B,IAAI,CAqBN;AAED,2BAA2B;AAC3B,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAMpF;AAED,yBAAyB;AACzB,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAOxD;AAED,uBAAuB;AACvB,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAEzE;AAED,+CAA+C;AAC/C,wBAAgB,gBAAgB,CAAC,eAAe,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAIxF;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAc3F;AAED,wBAAgB,8BAA8B,IAAI,IAAI,CAgBrD"}
1
+ {"version":3,"file":"session-env-store.d.ts","sourceRoot":"","sources":["../../src/session-env-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AAmCvD,0CAA0C;AAC1C,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQtF;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AA+GD;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAKhE;AAED,2BAA2B;AAC3B,wBAAgB,0BAA0B,IAAI,IAAI,CASjD;AAED,wCAAwC;AACxC,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CASnF;AAED,gDAAgD;AAChD,wBAAgB,kBAAkB,CAC9B,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GAAG,SAAS,GAC1B,IAAI,CAqBN;AAED,2BAA2B;AAC3B,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAMpF;AAED,yBAAyB;AACzB,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAOxD;AAED,uBAAuB;AACvB,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAEzE;AAED,+CAA+C;AAC/C,wBAAgB,gBAAgB,CAAC,eAAe,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAIxF;AAED,0EAA0E;AAC1E,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAGlG;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAExH;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAc3F;AAED,wBAAgB,8BAA8B,IAAI,IAAI,CAiBrD"}
@@ -24,6 +24,7 @@ const LOG_PREFIX = "[xg_cwork_im] [session-env]";
24
24
  const sessionEnvMap = new Map();
25
25
  const sessionUpdatedAt = new Map();
26
26
  const sessionChildLinks = new Map();
27
+ const sessionUserContexts = new Map();
27
28
  const cleanupTimers = new Map();
28
29
  let persistStateDir;
29
30
  let persistPath;
@@ -66,6 +67,7 @@ function scheduleCleanup(sessionKey) {
66
67
  sessionEnvMap.delete(sessionKey);
67
68
  sessionUpdatedAt.delete(sessionKey);
68
69
  sessionChildLinks.delete(sessionKey);
70
+ sessionUserContexts.delete(sessionKey);
69
71
  cleanupTimers.delete(sessionKey);
70
72
  }, CLEANUP_DELAY_MS).unref?.());
71
73
  }
@@ -253,6 +255,15 @@ export function linkChildSession(childSessionKey, parentSessionKey) {
253
255
  sessionChildLinks.set(childSessionKey, parentSessionKey);
254
256
  scheduleCleanup(childSessionKey);
255
257
  }
258
+ /** Record the last IM sender for optional Cron binding audit metadata. */
259
+ export function setSessionUserContext(sessionKey, userId, userName) {
260
+ if (!sessionKey || (!userId && !userName))
261
+ return;
262
+ sessionUserContexts.set(sessionKey, { userId, userName });
263
+ }
264
+ export function getSessionUserContext(sessionKey) {
265
+ return sessionKey ? sessionUserContexts.get(sessionKey) : undefined;
266
+ }
256
267
  /**
257
268
  * 解析某个会话应注入 exec 的 env:先查本会话;查不到则沿 subagent 父子链
258
269
  * 反查父会话(限深,防环)。subagent 内 exec 触发 hook 时 sessionKey 是子会话 key。
@@ -279,6 +290,7 @@ export function __resetSessionEnvStoreForTests() {
279
290
  sessionEnvMap.clear();
280
291
  sessionUpdatedAt.clear();
281
292
  sessionChildLinks.clear();
293
+ sessionUserContexts.clear();
282
294
  for (const timer of cleanupTimers.values()) {
283
295
  clearTimeout(timer);
284
296
  }
@@ -1 +1 @@
1
- {"version":3,"file":"session-env-store.js","sourceRoot":"","sources":["../../src/session-env-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-env-store.js","sourceRoot":"","sources":["../../src/session-env-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * 单聊轮次结束但未向 IM 发出正文时的兜底话术(如模型输出 NO_REPLY、deliver 未被调用)。
3
+ */
4
+ import type { WsMessageParams } from "./types.js";
5
+ export declare function shouldSendSingleChatNoReplyFallback(args: {
6
+ params: WsMessageParams;
7
+ hasFirstReply: boolean;
8
+ deliverCallCount: number;
9
+ dispatchError?: unknown;
10
+ lastDeliverError?: unknown;
11
+ }): boolean;
12
+ /** 单聊静默轮次兜底:简短告知并引导重试。 */
13
+ export declare function buildSingleChatNoReplyFallbackText(): string;
14
+ //# sourceMappingURL=single-chat-no-reply-fallback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"single-chat-no-reply-fallback.d.ts","sourceRoot":"","sources":["../../src/single-chat-no-reply-fallback.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,wBAAgB,mCAAmC,CAAC,IAAI,EAAE;IACtD,MAAM,EAAE,eAAe,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B,GAAG,OAAO,CAMV;AAED,0BAA0B;AAC1B,wBAAgB,kCAAkC,IAAI,MAAM,CAE3D"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * 单聊轮次结束但未向 IM 发出正文时的兜底话术(如模型输出 NO_REPLY、deliver 未被调用)。
3
+ */
4
+ import { isImSingleChat } from "./inbound-chat-type.js";
5
+ export function shouldSendSingleChatNoReplyFallback(args) {
6
+ if (args.hasFirstReply)
7
+ return false;
8
+ if (args.dispatchError !== undefined || args.lastDeliverError !== undefined)
9
+ return false;
10
+ if (!isImSingleChat(args.params))
11
+ return false;
12
+ if (args.deliverCallCount > 0)
13
+ return false;
14
+ return true;
15
+ }
16
+ /** 单聊静默轮次兜底:简短告知并引导重试。 */
17
+ export function buildSingleChatNoReplyFallbackText() {
18
+ return "消息已收到,但这一轮没有生成回复。请换个说法或把需求说具体一些后再试。";
19
+ }
20
+ //# sourceMappingURL=single-chat-no-reply-fallback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"single-chat-no-reply-fallback.js","sourceRoot":"","sources":["../../src/single-chat-no-reply-fallback.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD,MAAM,UAAU,mCAAmC,CAAC,IAMnD;IACG,IAAI,IAAI,CAAC,aAAa;QAAE,OAAO,KAAK,CAAC;IACrC,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC1F,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/C,IAAI,IAAI,CAAC,gBAAgB,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,0BAA0B;AAC1B,MAAM,UAAU,kCAAkC;IAC9C,OAAO,qCAAqC,CAAC;AACjD,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { OpenClawPluginApi } from "openclaw/plugin-sdk";
2
+ import type { ImStreamClient } from "./connection.js";
3
+ interface SubagentWsTarget {
4
+ streamClient: ImStreamClient;
5
+ groupId: string;
6
+ replyToMsgId: string;
7
+ }
8
+ export declare function registerSubagentProgressHooks(api: OpenClawPluginApi): void;
9
+ export declare function setSubagentWsTarget(childSessionKey: string, target: SubagentWsTarget): void;
10
+ export {};
11
+ //# sourceMappingURL=subagent-progress-hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagent-progress-hooks.d.ts","sourceRoot":"","sources":["../../src/subagent-progress-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,UAAU,gBAAgB;IACtB,YAAY,EAAE,cAAc,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACxB;AAYD,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAqC1E;AAED,wBAAgB,mBAAmB,CAC/B,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,gBAAgB,GACzB,IAAI,CAEN"}
@@ -0,0 +1,41 @@
1
+ const subagentWsTargets = new Map();
2
+ export function registerSubagentProgressHooks(api) {
3
+ // subagent_progress is not in the installed SDK's PluginHookName type union,
4
+ // but the runtime supports it. Cast to bypass the type check.
5
+ api.on("subagent_progress", async (event) => {
6
+ const childSessionKey = event.childSessionKey;
7
+ if (!childSessionKey)
8
+ return;
9
+ const target = subagentWsTargets.get(childSessionKey);
10
+ if (!target)
11
+ return;
12
+ let displayText;
13
+ if (event.phase === "started") {
14
+ displayText = "子任务已启动";
15
+ }
16
+ else if (event.phase === "ended") {
17
+ displayText = event.outcome === "ok" ? "子任务已完成" : `子任务异常: ${event.outcome ?? "unknown"}`;
18
+ }
19
+ else {
20
+ displayText = "子任务状态更新";
21
+ }
22
+ try {
23
+ await target.streamClient.streamProgress({
24
+ groupId: target.groupId,
25
+ replyToMsgId: target.replyToMsgId,
26
+ event: "RUN_EVENT",
27
+ displayText,
28
+ });
29
+ }
30
+ catch {
31
+ // WS best-effort: don't propagate errors from progress events
32
+ }
33
+ if (event.phase === "ended") {
34
+ subagentWsTargets.delete(childSessionKey);
35
+ }
36
+ });
37
+ }
38
+ export function setSubagentWsTarget(childSessionKey, target) {
39
+ subagentWsTargets.set(childSessionKey, target);
40
+ }
41
+ //# sourceMappingURL=subagent-progress-hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagent-progress-hooks.js","sourceRoot":"","sources":["../../src/subagent-progress-hooks.ts"],"names":[],"mappings":"AAiBA,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA4B,CAAC;AAE9D,MAAM,UAAU,6BAA6B,CAAC,GAAsB;IAChE,6EAA6E;IAC7E,8DAA8D;IAC7D,GAAG,CAAC,EAA8F,CAC/F,mBAAmB,EACnB,KAAK,EAAE,KAA4B,EAAE,EAAE;QACnC,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;QAC9C,IAAI,CAAC,eAAe;YAAE,OAAO;QAE7B,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,IAAI,WAAmB,CAAC;QACxB,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC5B,WAAW,GAAG,QAAQ,CAAC;QAC3B,CAAC;aAAM,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YACjC,WAAW,GAAG,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC;QAC7F,CAAC;aAAM,CAAC;YACJ,WAAW,GAAG,SAAS,CAAC;QAC5B,CAAC;QAED,IAAI,CAAC;YACD,MAAM,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC;gBACrC,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,KAAK,EAAE,WAAW;gBAClB,WAAW;aACd,CAAC,CAAC;QACP,CAAC;QAAC,MAAM,CAAC;YACL,8DAA8D;QAClE,CAAC;QAED,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YAC1B,iBAAiB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAC9C,CAAC;IACL,CAAC,CACJ,CAAC;AACN,CAAC;AAED,MAAM,UAAU,mBAAmB,CAC/B,eAAuB,EACvB,MAAwB;IAExB,iBAAiB,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;AACnD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xgjktech/xg_cwork_im",
3
- "version": "1.17.41",
3
+ "version": "1.17.42",
4
4
  "description": "XG CWork IM channel plugin for OpenClaw",
5
5
  "keywords": [
6
6
  "bot",
@@ -25,7 +25,7 @@
25
25
  "build": "tsc -p tsconfig.json",
26
26
  "type-check": "tsc -p tsconfig.json --noEmit",
27
27
  "lint": "tsc -p tsconfig.json --noEmit",
28
- "test": "npm run build && node --test dist/src/account-reconciler.test.js dist/src/inbound-terminal-state.test.js dist/src/user-facing-errors.test.js dist/src/deliver-text.test.js dist/src/agent-context-types.test.js dist/src/build-project-prompt.test.js dist/src/nas-volumes.test.js dist/src/workspace-event.test.js dist/src/workspace-event-scheduler.test.js dist/src/connection-workspace-event.test.js dist/src/block-streaming-config.test.js dist/src/channel-disabled-account.test.js dist/src/per-message-fallback-notice.test.js dist/src/thinking-ws-progress.test.js dist/src/resource-file.test.js dist/src/turn-deliver-buffer.test.js dist/src/run-usage.test.js dist/src/ws-run-event-unmapped.test.js dist/src/item-event-guard.test.js dist/src/inbound-model.test.js dist/src/auto-model-router.test.js dist/src/channel-config.test.js dist/src/send-service.test.js dist/src/send-file-tool.test.js dist/src/plan-tool-result.test.js dist/src/plan-blocked-notice.test.js dist/src/plan-store-access.test.js dist/src/plan-tool-middleware.test.js dist/src/plan-event-subscription.test.js dist/src/plan-ws-registry.test.js dist/src/plan-stat-event.test.js dist/src/active-round-registry.test.js dist/src/interrupt-round.test.js dist/src/subagent-monitor.test.js dist/src/session-env-store.test.js dist/src/register-exec-env-hook.test.js dist/src/ws-inbound-schema.test.js",
28
+ "test": "npm run build && node --test dist/src/account-reconciler.test.js dist/src/inbound-terminal-state.test.js dist/src/user-facing-errors.test.js dist/src/deliver-text.test.js dist/src/agent-context-types.test.js dist/src/build-project-prompt.test.js dist/src/nas-volumes.test.js dist/src/workspace-event.test.js dist/src/workspace-event-scheduler.test.js dist/src/connection-workspace-event.test.js dist/src/block-streaming-config.test.js dist/src/channel-disabled-account.test.js dist/src/per-message-fallback-notice.test.js dist/src/thinking-ws-progress.test.js dist/src/resource-file.test.js dist/src/turn-deliver-buffer.test.js dist/src/run-usage.test.js dist/src/ws-run-event-unmapped.test.js dist/src/item-event-guard.test.js dist/src/inbound-model.test.js dist/src/auto-model-router.test.js dist/src/channel-config.test.js dist/src/send-service.test.js dist/src/send-file-tool.test.js dist/src/plan-tool-result.test.js dist/src/plan-blocked-notice.test.js dist/src/plan-store-access.test.js dist/src/plan-tool-middleware.test.js dist/src/plan-event-subscription.test.js dist/src/plan-ws-registry.test.js dist/src/plan-stat-event.test.js dist/src/active-round-registry.test.js dist/src/interrupt-round.test.js dist/src/subagent-monitor.test.js dist/src/session-env-store.test.js dist/src/register-exec-env-hook.test.js dist/src/cron-appkey-binding-store.test.js dist/src/ws-inbound-schema.test.js",
29
29
  "install:prod": "npm install --omit=dev",
30
30
  "prepublishOnly": "npm run build"
31
31
  },