@xgjktech/xg_cwork_im 1.17.21 → 1.17.23

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 (102) hide show
  1. package/README.md +55 -2
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +5 -0
  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 +97 -7
  7. package/dist/src/account-connection.js.map +1 -1
  8. package/dist/src/action-run-event.d.ts +8 -0
  9. package/dist/src/action-run-event.d.ts.map +1 -0
  10. package/dist/src/action-run-event.js +35 -0
  11. package/dist/src/action-run-event.js.map +1 -0
  12. package/dist/src/action-run-event.test.d.ts +2 -0
  13. package/dist/src/action-run-event.test.d.ts.map +1 -0
  14. package/dist/src/action-run-event.test.js +51 -0
  15. package/dist/src/action-run-event.test.js.map +1 -0
  16. package/dist/src/action-store-access.d.ts +27 -0
  17. package/dist/src/action-store-access.d.ts.map +1 -0
  18. package/dist/src/action-store-access.js +74 -0
  19. package/dist/src/action-store-access.js.map +1 -0
  20. package/dist/src/agent-context-types.d.ts +85 -10
  21. package/dist/src/agent-context-types.d.ts.map +1 -1
  22. package/dist/src/agent-context-types.js +50 -7
  23. package/dist/src/agent-context-types.js.map +1 -1
  24. package/dist/src/agent-context-types.test.js +55 -2
  25. package/dist/src/agent-context-types.test.js.map +1 -1
  26. package/dist/src/auto-model-router.d.ts +36 -0
  27. package/dist/src/auto-model-router.d.ts.map +1 -0
  28. package/dist/src/auto-model-router.js +60 -0
  29. package/dist/src/auto-model-router.js.map +1 -0
  30. package/dist/src/auto-model-router.test.d.ts +2 -0
  31. package/dist/src/auto-model-router.test.d.ts.map +1 -0
  32. package/dist/src/auto-model-router.test.js +99 -0
  33. package/dist/src/auto-model-router.test.js.map +1 -0
  34. package/dist/src/build-project-prompt.d.ts.map +1 -1
  35. package/dist/src/build-project-prompt.js +53 -17
  36. package/dist/src/build-project-prompt.js.map +1 -1
  37. package/dist/src/build-project-prompt.test.d.ts +2 -0
  38. package/dist/src/build-project-prompt.test.d.ts.map +1 -0
  39. package/dist/src/build-project-prompt.test.js +100 -0
  40. package/dist/src/build-project-prompt.test.js.map +1 -0
  41. package/dist/src/channel-config.d.ts +191 -1
  42. package/dist/src/channel-config.d.ts.map +1 -1
  43. package/dist/src/channel-config.js +83 -0
  44. package/dist/src/channel-config.js.map +1 -1
  45. package/dist/src/channel-config.test.d.ts +2 -0
  46. package/dist/src/channel-config.test.d.ts.map +1 -0
  47. package/dist/src/channel-config.test.js +56 -0
  48. package/dist/src/channel-config.test.js.map +1 -0
  49. package/dist/src/channel-disabled-account.test.d.ts +2 -0
  50. package/dist/src/channel-disabled-account.test.d.ts.map +1 -0
  51. package/dist/src/channel-disabled-account.test.js +44 -0
  52. package/dist/src/channel-disabled-account.test.js.map +1 -0
  53. package/dist/src/dispatch-mentioned-reply.d.ts +8 -0
  54. package/dist/src/dispatch-mentioned-reply.d.ts.map +1 -1
  55. package/dist/src/dispatch-mentioned-reply.js +42 -3
  56. package/dist/src/dispatch-mentioned-reply.js.map +1 -1
  57. package/dist/src/gateway-session-queue.d.ts +8 -0
  58. package/dist/src/gateway-session-queue.d.ts.map +1 -1
  59. package/dist/src/gateway-session-queue.js +3 -0
  60. package/dist/src/gateway-session-queue.js.map +1 -1
  61. package/dist/src/inbound-input-media.js +1 -1
  62. package/dist/src/inbound-input-media.js.map +1 -1
  63. package/dist/src/inbound-model.d.ts +22 -5
  64. package/dist/src/inbound-model.d.ts.map +1 -1
  65. package/dist/src/inbound-model.js +27 -11
  66. package/dist/src/inbound-model.js.map +1 -1
  67. package/dist/src/inbound-model.test.d.ts +2 -0
  68. package/dist/src/inbound-model.test.d.ts.map +1 -0
  69. package/dist/src/inbound-model.test.js +66 -0
  70. package/dist/src/inbound-model.test.js.map +1 -0
  71. package/dist/src/nas-volumes.d.ts +43 -0
  72. package/dist/src/nas-volumes.d.ts.map +1 -0
  73. package/dist/src/nas-volumes.js +191 -0
  74. package/dist/src/nas-volumes.js.map +1 -0
  75. package/dist/src/nas-volumes.test.d.ts +2 -0
  76. package/dist/src/nas-volumes.test.d.ts.map +1 -0
  77. package/dist/src/nas-volumes.test.js +111 -0
  78. package/dist/src/nas-volumes.test.js.map +1 -0
  79. package/dist/src/plan-tool-middleware.d.ts +5 -0
  80. package/dist/src/plan-tool-middleware.d.ts.map +1 -1
  81. package/dist/src/plan-tool-middleware.js +27 -0
  82. package/dist/src/plan-tool-middleware.js.map +1 -1
  83. package/dist/src/plan-tool-middleware.test.js +28 -0
  84. package/dist/src/plan-tool-middleware.test.js.map +1 -1
  85. package/dist/src/single-chat-no-reply-fallback.d.ts +14 -0
  86. package/dist/src/single-chat-no-reply-fallback.d.ts.map +1 -0
  87. package/dist/src/single-chat-no-reply-fallback.js +20 -0
  88. package/dist/src/single-chat-no-reply-fallback.js.map +1 -0
  89. package/dist/src/subagent-progress-hooks.d.ts +11 -0
  90. package/dist/src/subagent-progress-hooks.d.ts.map +1 -0
  91. package/dist/src/subagent-progress-hooks.js +41 -0
  92. package/dist/src/subagent-progress-hooks.js.map +1 -0
  93. package/dist/src/types.d.ts +26 -2
  94. package/dist/src/types.d.ts.map +1 -1
  95. package/dist/src/types.js.map +1 -1
  96. package/dist/src/user-facing-errors.d.ts +1 -0
  97. package/dist/src/user-facing-errors.d.ts.map +1 -1
  98. package/dist/src/user-facing-errors.js +7 -0
  99. package/dist/src/user-facing-errors.js.map +1 -1
  100. package/dist/src/user-facing-errors.test.js +8 -1
  101. package/dist/src/user-facing-errors.test.js.map +1 -1
  102. package/package.json +2 -2
package/README.md CHANGED
@@ -253,12 +253,63 @@ openclaw gateway restart
253
253
  | `inboundMediaOpenClawPath` | string | `workspaceRelative`(默认) | `workspaceRelative`:入站落盘后 `MediaPath` 为 `./子目录/...`(若配置了 `inboundMediaSandboxRootPrefix` 则为该前缀 + 相对路径,如 `/workspace/xg_im_inbound/...`);`absoluteFileUrl`:宿主机 `file://...`(仅适合无沙箱、网关与 Agent 同盘场景)。 |
254
254
  | `inboundMediaSandboxRootPrefix` | string | — | **可选**。沙箱内 workspace 挂载根,填 `**/workspace`** 时,在 `workspaceRelative` 模式下 `MediaPath` 为 `**/workspace/xg_im_inbound/...**`,避免 `./` 被 `read` 等工具按**进程 cwd**解析导致「不可访问」。须以 `/` 开头。 |
255
255
  | `syncServiceBaseUrl` | string | — | **可选**。openclaw-xgkb-sync **管理 API** 根地址(如 `http://127.0.0.1:9090`)。配置后插件可处理 IM 下发的 `openclawApplySyncMapping` 信令并登记目录映射。详见 `docs/im服务接口说明.md`。 |
256
- | `projectPromptMaxChars` | number | `15000` | `agentContext.background` 与 `userInfo.background` 单段最大字符数;超出尾部截断。 |
256
+ | `projectPromptMaxChars` | number | `15000` | `agentContext.background` 与 `userInfo.background` 单段最大字符数;超出尾部截断。 |
257
+ | `nasVolumeAllowedRoots` | string[] | — | `agentContext.nasVolumes[].realDir` 的宿主机真实根目录白名单(如 `["/data/touqian"]`);使用 NAS 挂载时必填,且沙箱必须为 `scope: "session"`。 |
257
258
  | `blockStreaming` | boolean | `true`(未配置时) | 开启后 OpenClaw 在 assistant **text 块结束(tool 调用前)** 即调用 `deliver`;插件默认经 **段缓冲** 在 `onToolStart` / 轮次结束再 HTTP(见 `deliverSegmentBuffer`)。tool 过程走 WS `TOOL_PHASE`。设为 `false` 恢复整轮结束才 deliver 一次。 |
258
259
  | `blockStreamingCoalesce` | object | 不配(注入 500/500) | 合并流式碎片。未配时注入 `minChars:500 idleMs:500 maxChars:12000`(中间档;覆盖 agents.defaults 过大值)。 |
259
260
  | `deliverSegmentBuffer` | boolean | `true` | 段缓冲:修稿覆盖、分块追加;`false` 则每次 deliver 即 HTTP + C7。 |
260
261
  | `deliverSegmentBuffer` | boolean | `true`(未配置时) | `blockStreaming` 开启时,同一段 assistant 正文先写入 buffer,在 **tool 开始前**(interim)与 **dispatch 结束**(final)各冲刷一次 HTTP,避免修稿重复气泡。设为 `false` 恢复「每次 deliver 即 HTTP + C7 去重」。详见 `docs/段缓冲投递策略.md`。 |
261
262
  | `deliverModelFallbackNotice` | boolean | `false`(未配置时) | 为 `true` 时向 IM 用户发送 OpenClaw 模型降级运营通知(`↪️ Model Fallback: …`)。默认不发送,仅保留 gateway 日志。 |
263
+ | `autoModelRouting` | object | 关闭 | 模型 + 推理等级自动路由(见下节「单轮模型与自动路由」)。 |
264
+
265
+ ### 单轮模型与自动路由(`msgContent.ext.ai_model` / `autoModelRouting`)
266
+
267
+ 前端通过 `msgContent.ext.ai_model` 表达三种语义:
268
+
269
+ | `ai_model` 取值 | 行为 |
270
+ |---|---|
271
+ | 未传 / 空字符串 | **default**:使用 Agent 默认模型与 OpenClaw 默认推理配置 |
272
+ | `"auto"` | **auto**:Auto Router 根据当前需求同时选择模型与推理等级(默认关闭) |
273
+ | `"provider/model"`(如 `openai/gpt-5.6-terra`) | **explicit**:严格使用指定模型;模型默认推理等级取自 `autoModelRouting.thinkingDefaults`,未命中则交给 OpenClaw 解析 |
274
+
275
+ 规则:
276
+
277
+ - `auto` 是模式标识,**不会**被当作真实模型名传给 OpenClaw;功能未开启或 Agent 不在白名单时按 default 处理。
278
+ - 首行控制命令(`/model`、`/think`、`/reset`、`/stop` 等)忽略 IM 模型元数据。
279
+ - 用户显式 `/think`(当前消息行内或 Session 已持久化)**优先于** Auto Router / 模型默认的 thinking:此时只路由模型,不设置 `thinkingLevelOverride`。
280
+ - 单轮覆盖不写入 Session;Auto Router 为本地确定性纯函数,不调用大模型分类。
281
+
282
+ `autoModelRouting` 配置示例:
283
+
284
+ ```json
285
+ {
286
+ "channels": {
287
+ "xg_cwork_im": {
288
+ "baseUrl": "https://im.example.com",
289
+ "robotKey": "…",
290
+ "autoModelRouting": {
291
+ "enabled": false,
292
+ "version": "v1",
293
+ "simpleModel": "openai/gpt-5.6-luna",
294
+ "standardModel": "openai/gpt-5.6-terra",
295
+ "complexModel": "openai/gpt-5.6-sol",
296
+ "criticalModel": "openai/gpt-5.6-sol",
297
+ "thinkingDefaults": {
298
+ "openai/gpt-5.6-luna": "low",
299
+ "openai/gpt-5.6-terra": "medium",
300
+ "openai/gpt-5.6-sol": "high"
301
+ },
302
+ "agentAllowlist": ["assistant-1514822107563462658"]
303
+ }
304
+ }
305
+ }
306
+ }
307
+ ```
308
+
309
+ - `enabled`:总开关,默认 `false`。
310
+ - `agentAllowlist`:允许自动路由的 Agent ID;缺省/为空表示**不启用任何 Agent**(需显式加入后灰度)。
311
+ - `simpleModel` / `standardModel` / `complexModel` / `criticalModel`:Auto Router 仅输出这四个槽位;任一缺失则该轮回退 default。
312
+ - `thinkingDefaults`:explicit 模式下各 model ref 的默认推理等级(OpenClaw 合法取值:`off|minimal|low|medium|high|xhigh|adaptive|max`)。
262
313
 
263
314
 
264
315
  ### 账户配置(`accounts.<accountId>`,对象 map)
@@ -274,7 +325,9 @@ openclaw gateway restart
274
325
  | `inboundMediaOpenClawPath` | string | 继承顶层 | 可覆盖顶层的 MediaPath 形式(相对路径 vs file://) |
275
326
  | `inboundMediaSandboxRootPrefix` | string | 继承顶层 | 可覆盖沙箱根前缀(如 `/workspace`) |
276
327
  | `syncServiceBaseUrl` | string | 继承顶层 | 可覆盖同步服务管理 API 地址 |
277
- | `projectPromptMaxChars` | number | 继承顶层 | 项目/用户 background 单段最大字符数(默认 15000) |
328
+ | `projectPromptMaxChars` | number | 继承顶层 | 项目/用户 background 单段最大字符数(默认 15000) |
329
+ | `nasVolumeAllowedRoots` | string[] | 继承顶层 | 可覆盖 NAS 宿主机真实根目录白名单 |
330
+ | `autoModelRouting` | object | 继承顶层 | 可覆盖顶层的自动路由配置(见上节) |
278
331
 
279
332
 
280
333
  ### Agent 工具(`optional: true`)
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAiBH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAG5D,OAAO,EAAE,uCAAuC,EAAE,MAAM,oCAAoC,CAAC;AAsB7F,QAAA,MAAM,MAAM,EAAE,qBAgJb,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAmBH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAG5D,OAAO,EAAE,uCAAuC,EAAE,MAAM,oCAAoC,CAAC;AAsB7F,QAAA,MAAM,MAAM,EAAE,qBAmJb,CAAC;AAEF,eAAe,MAAM,CAAC"}
package/dist/index.js CHANGED
@@ -15,8 +15,10 @@ import { friendlyToolLabel, buildToolStartSummary } from "./src/im-tool-progress
15
15
  import { getStreamClient } from "./src/agent-stream-client-registry.js";
16
16
  import { registerPlanEventSubscription } from "./src/plan-event-subscription.js";
17
17
  import { getPlanById, setPlanStateDir } from "./src/plan-store-access.js";
18
+ import { getActionById, setActionStateDir } from "./src/action-store-access.js";
18
19
  import { createPlanToolResultMiddleware } from "./src/plan-tool-middleware.js";
19
20
  import { sendPlanStat } from "./src/plan-stat-event.js";
21
+ import { sendActionRunEvent } from "./src/action-run-event.js";
20
22
  import { accountReconciler } from "./src/account-reconciler.js";
21
23
  export { XG_IM_RECOMMENDED_CHANNEL_SYSTEM_PROMPT } from "./src/recommended-system-prompt.js";
22
24
  const plugin = {
@@ -99,6 +101,7 @@ const plugin = {
99
101
  });
100
102
  try {
101
103
  setPlanStateDir(api.runtime.state.resolveStateDir());
104
+ setActionStateDir(api.runtime.state.resolveStateDir());
102
105
  }
103
106
  catch (err) {
104
107
  console.warn(`[xg_cwork_im] [plan] setPlanStateDir failed: ${String(err)}`);
@@ -126,6 +129,8 @@ const plugin = {
126
129
  api.registerAgentToolResultMiddleware(createPlanToolResultMiddleware({
127
130
  getPlanById,
128
131
  sendPlanStat,
132
+ getActionById,
133
+ sendActionRunEvent,
129
134
  }), { runtimes: ["openclaw"] });
130
135
  }
131
136
  catch (err) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC5F,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAC9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,uCAAuC,EAAE,MAAM,oCAAoC,CAAC;AAsB7F,MAAM,MAAM,GAA0B;IAClC,EAAE,EAAE,aAAa;IACjB,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,2CAA2C;IACxD,YAAY,EAAE,uBAAuB,EAAE;IACvC,QAAQ,CAAC,GAAsB;QAC3B,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5B,iBAAiB,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1C,YAAY,CAAC,GAAG,CAAC,CAAC;QAClB,2BAA2B,CAAC,GAAG,CAAC,CAAC;QACjC,GAAG,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAAC;QAExD,qDAAqD;QACrD,0EAA0E;QAC1E,yDAAyD;QACzD,GAAG,CAAC,cAAc,CAAC,EAAE,WAAW,EAAE,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;QAC9D,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAE1B,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;YAC9B,MAAM,iBAAiB,CAAC,OAAO,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,kBAAkB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACvC,IAAI,KAAK,CAAC,SAAS,EAAE,OAAO,KAAK,aAAa;gBAAE,OAAO;YACvD,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAC9B,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO;gBAAE,OAAO;YAEjC,YAAY,CAAC;gBACT,OAAO;gBACP,OAAO;gBACP,KAAK,EAAE;oBACH,eAAe,EAAE,KAAK,CAAC,eAAe;oBACtC,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,KAAK,EAAE,KAAK,CAAC,KAAK;iBACrB;aACJ,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,EAAE;YAC/B,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBACd,qBAAqB,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAC/D,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACtC,IAAI,CAAC,GAAG,CAAC,UAAU;gBAAE,OAAM;YAC3B,MAAM,EAAE,GAAG,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;YAC9C,IAAI,CAAC,EAAE;gBAAE,OAAM;YACf,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;YAC1C,IAAI,CAAC,MAAM;gBAAE,OAAM;YAEnB,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;YAEnE,MAAM,CAAC,cAAc,CAAC;gBAClB,OAAO,EAAE,EAAE,CAAC,OAAO;gBACnB,YAAY,EAAE,EAAE,CAAC,YAAY;gBAC7B,KAAK,EAAE,YAAY;gBACnB,WAAW,EAAE,QAAQ,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM;gBAC5D,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;QACvB,CAAC,CAAC,CAAA;QAEF,GAAG,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACrC,IAAI,CAAC,GAAG,CAAC,UAAU;gBAAE,OAAM;YAC3B,MAAM,EAAE,GAAG,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;YAC9C,IAAI,CAAC,EAAE;gBAAE,OAAM;YACf,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;YAC1C,IAAI,CAAC,MAAM;gBAAE,OAAM;YAEnB,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YAE/C,MAAM,CAAC,cAAc,CAAC;gBAClB,OAAO,EAAE,EAAE,CAAC,OAAO;gBACnB,YAAY,EAAE,EAAE,CAAC,YAAY;gBAC7B,KAAK,EAAE,YAAY;gBACnB,WAAW,EAAE,KAAK,CAAC,KAAK;oBACpB,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC,SAAS;oBACtC,CAAC,CAAC,IAAI,KAAK,QAAQ;aAC1B,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;QACvB,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC;YACD,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC;YACrD,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,gDAAgD,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChF,CAAC;QAED,uEAAuE;QACvE,8EAA8E;QAC9E,MAAM,QAAQ,GAAG,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,QAAQ,EAAE,OAAO,EAAE,CAAC;YACpB,MAAM,iBAAiB,GAAG,CAAC,GAA0B,EAAE,EAAE,CACrD,sBAAsB,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,IAAI,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC;gBACjG,QAAQ,CAAC;YAEb,MAAM,YAAY,GAAG,CAAC,GAA0B,EAAE,EAAE,CAAC,CAAC;gBAClD,gBAAgB,EAAE,GAAG,CAAC,cAAc,IAAI,SAAS;gBACjD,iBAAiB,EAAE,GAAG,CAAC,iBAAiB,IAAI,SAAS;aACxD,CAAC,CAAC;YAEH,GAAG,CAAC,YAAY,CACZ,CAAC,GAA0B,EAAE,EAAE,CAC3B,qBAAqB,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,EACpE,EAAE,QAAQ,EAAE,IAAI,EAAE,CACrB,CAAC;YACF,GAAG,CAAC,YAAY,CACZ,CAAC,GAA0B,EAAE,EAAE,CAC3B,yBAAyB,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,EACxE,EAAE,QAAQ,EAAE,IAAI,EAAE,CACrB,CAAC;YACF,GAAG,CAAC,YAAY,CACZ,CAAC,GAA0B,EAAE,EAAE,CAC3B,iBAAiB,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE;gBACtC,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,SAAS;gBAC3C,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,SAAS;gBACjC,gBAAgB,EAAE,GAAG,CAAC,cAAc,IAAI,SAAS;gBACjD,iBAAiB,EAAE,GAAG,CAAC,iBAAiB,IAAI,SAAS;gBACrD,eAAe,EAAE,GAAG,CAAC,eAAe,IAAI,SAAS;aACpD,CAAC,EACN,EAAE,QAAQ,EAAE,IAAI,EAAE,CACrB,CAAC;YAEF,IAAI,CAAC;gBACD,GAAG,CAAC,iCAAiC,CACjC,8BAA8B,CAAC;oBAC3B,WAAW;oBACX,YAAY;oBACZ,aAAa;oBACb,kBAAkB;iBACrB,CAAC,EACF,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,CAC7B,CAAC;YACN,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,kEAAkE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClG,CAAC;YAED,IAAI,CAAC;gBACD,6BAA6B,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC;YACtE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,8DAA8D,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9F,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;QACvF,CAAC;IACL,CAAC;CACJ,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"account-connection.d.ts","sourceRoot":"","sources":["../../src/account-connection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAM1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAqBtE,OAAO,KAAK,EAAE,eAAe,EAAa,UAAU,EAAE,MAAM,YAAY,CAAC;AAEzE,MAAM,WAAW,uBAAuB;IACpC,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,YAAY,EAAE,cAAc,CAAC;IAC7B,oBAAoB,EAAE,MAAM,OAAO,CAAC;CACvC;AAED,MAAM,WAAW,4BAA4B;IACzC,0CAA0C;IAC1C,GAAG,EAAE,cAAc,CAAC;IACpB,OAAO,EAAE,eAAe,CAAC;IACzB,MAAM,EAAE,UAAU,CAAC;IACnB,iDAAiD;IAEjD,EAAE,EAAE,GAAG,CAAC;IACR,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,cAAc,CAAC;CACtC;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CACxC,MAAM,EAAE,4BAA4B,GACrC,OAAO,CAAC,uBAAuB,CAAC,CAwWlC"}
1
+ {"version":3,"file":"account-connection.d.ts","sourceRoot":"","sources":["../../src/account-connection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAa1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AA8BtE,OAAO,KAAK,EAAE,eAAe,EAAa,UAAU,EAAE,MAAM,YAAY,CAAC;AAEzE,MAAM,WAAW,uBAAuB;IACpC,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,YAAY,EAAE,cAAc,CAAC;IAC7B,oBAAoB,EAAE,MAAM,OAAO,CAAC;CACvC;AAED,MAAM,WAAW,4BAA4B;IACzC,0CAA0C;IAC1C,GAAG,EAAE,cAAc,CAAC;IACpB,OAAO,EAAE,eAAe,CAAC;IACzB,MAAM,EAAE,UAAU,CAAC;IACnB,iDAAiD;IAEjD,EAAE,EAAE,GAAG,CAAC;IACR,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,cAAc,CAAC;CACtC;AA8BD;;;GAGG;AACH,wBAAsB,sBAAsB,CACxC,MAAM,EAAE,4BAA4B,GACrC,OAAO,CAAC,uBAAuB,CAAC,CAqblC"}
@@ -9,8 +9,9 @@
9
9
  * 使非连接类字段(systemPrompt、groupPolicy、bindings 等)变更无需断连即生效。
10
10
  */
11
11
  import { resolveAgentWorkspaceDir } from "openclaw/plugin-sdk/memory-core-host-engine-foundation";
12
+ import { getSessionEntry } from "openclaw/plugin-sdk/session-store-runtime";
12
13
  import { clearTokenCache, getToken } from "./auth.js";
13
- import { getXgImConfig, resolveInboundCommandAuthorized } from "./channel-config.js";
14
+ import { getXgImConfig, isAutoModelRoutingEnabled, resolveAutoModelRoutingConfig, resolveAutoModelRoutingSlots, resolveInboundCommandAuthorized, } from "./channel-config.js";
14
15
  import { parseRobotMentionAgentContextDetailed } from "./agent-context-types.js";
15
16
  import { resolveInboundGroupSystemPrompt } from "./resolve-inbound-group-prompt.js";
16
17
  import { applySyncMappingFromWsParams } from "./apply-sync-mapping.js";
@@ -19,8 +20,32 @@ import { deregisterStreamClient, registerStreamClient } from "./agent-stream-cli
19
20
  import { createRunWithSessionQueue } from "./gateway-session-queue.js";
20
21
  import { parseImChatType, resolveOpenClawChatType, resolveOpenClawWasMentioned, resolveInboundTrigger, shouldDispatchInboundReply, } from "./inbound-chat-type.js";
21
22
  import { buildInboundAttachmentsPayload, buildInboundDisplayText, buildUntrustedContext, collectFileItems, isActuallyMentioned, isBypassQueueStopMessage, mediaFieldsFromFileItems, } from "./inbound-display.js";
22
- import { extractPerMessageModel } from "./inbound-model.js";
23
+ import { extractInboundModelSelection, hasUserThinkDirective, } from "./inbound-model.js";
23
24
  import { saveInboundFilesToInputDir } from "./inbound-input-media.js";
25
+ import { resolveAutoModelRoute, resolveModelThinkingDefault, } from "./auto-model-router.js";
26
+ /**
27
+ * 用户显式 /think 是否生效(优先级高于 Auto Router / 模型默认的 thinking)。
28
+ * 命中任一项即为真:
29
+ * - 当前消息正文含 `/think` 指令(含行内写法);
30
+ * - Session 持久化了 thinkingLevel(此前 /think 写入)。
31
+ * 此时只路由模型,不设置 thinkingLevelOverride。
32
+ */
33
+ function resolveUserThinkTakesPriority(args) {
34
+ if (hasUserThinkDirective(args.displayText))
35
+ return true;
36
+ try {
37
+ const entry = getSessionEntry({
38
+ storePath: args.storePath,
39
+ sessionKey: args.sessionKey,
40
+ agentId: args.agentId,
41
+ });
42
+ return Boolean(entry?.thinkingLevel);
43
+ }
44
+ catch (err) {
45
+ args.log.warn(`[route] read session thinkingLevel failed: ${String(err)}`);
46
+ return false;
47
+ }
48
+ }
24
49
  /**
25
50
  * 启动一个账号的 WebSocket 连接并持续派发,直到 abortSignal 触发。
26
51
  * 返回句柄供调用方主动 stop(幂等)。
@@ -105,18 +130,18 @@ export async function startAccountConnection(params) {
105
130
  const agentContext = agentContextParsed.agentContext;
106
131
  if (params.agentContext != null) {
107
132
  if (agentContextParsed.fatalError) {
108
- log.error(`${logPrefix} [agent-context] invalid params.agentContext: ${agentContextParsed.fatalError}`);
133
+ log.warn(`${logPrefix} [agent-context] ignored invalid params.agentContext fields: ${agentContextParsed.fatalError}`);
109
134
  }
110
- else if (!agentContext) {
135
+ if (!agentContext) {
111
136
  log.error(`${logPrefix} [agent-context] params.agentContext present but unparsed`);
112
137
  }
113
138
  else if (agentContextParsed.knowledgeBaseDropped) {
114
- log.warn(`${logPrefix} [agent-context] knowledgeBase dropped, using localRoot+background only: ` +
139
+ log.warn(`${logPrefix} [agent-context] knowledgeBase dropped, using workspace context + background only: ` +
115
140
  `${agentContextParsed.knowledgeBaseDropReason ?? "unknown"}`);
116
141
  }
117
142
  }
118
143
  let workspaceHostRoot;
119
- if (agentContext?.localRoot.kind === "workspace_relative") {
144
+ if (agentContext?.localRoot?.kind === "workspace_relative") {
120
145
  try {
121
146
  workspaceHostRoot = resolveAgentWorkspaceDir(cfg, route.agentId);
122
147
  }
@@ -138,7 +163,6 @@ export async function startAccountConnection(params) {
138
163
  });
139
164
  }
140
165
  const text = buildInboundDisplayText(msgContent, fileItems);
141
- const modelOverride = extractPerMessageModel(msgExt, text);
142
166
  if (!text.trim() && fileItems.length === 0) {
143
167
  log.debug?.(`${logPrefix} Empty message (no text and no files), skipping`);
144
168
  return;
@@ -153,6 +177,69 @@ export async function startAccountConnection(params) {
153
177
  const storePath = rt.channel.session.resolveStorePath(cfg.session?.store, {
154
178
  agentId: route.agentId,
155
179
  });
180
+ // ── 单轮模型/推理路由:default / auto / explicit ──
181
+ const modelSelection = extractInboundModelSelection(msgExt, text);
182
+ let modelOverride;
183
+ let thinkingLevelOverride;
184
+ let autoRouteMeta;
185
+ const userThinkTakesPriority = () => resolveUserThinkTakesPriority({
186
+ displayText: text,
187
+ storePath,
188
+ sessionKey: route.sessionKey,
189
+ agentId: route.agentId,
190
+ log,
191
+ });
192
+ if (modelSelection.mode === "auto") {
193
+ const autoCfg = resolveAutoModelRoutingConfig(config);
194
+ if (isAutoModelRoutingEnabled(autoCfg, route.agentId)) {
195
+ const slots = resolveAutoModelRoutingSlots(autoCfg);
196
+ if (slots) {
197
+ try {
198
+ autoRouteMeta = resolveAutoModelRoute({
199
+ query: text,
200
+ attachmentKinds: fileItems.map((f) => f.source ?? f.format ?? "unknown"),
201
+ attachmentFormats: fileItems.map((f) => f.format ?? ""),
202
+ agentId: route.agentId,
203
+ }, slots);
204
+ modelOverride = autoRouteMeta.model;
205
+ if (userThinkTakesPriority()) {
206
+ thinkingLevelOverride = undefined;
207
+ }
208
+ else {
209
+ thinkingLevelOverride = autoRouteMeta.thinking;
210
+ }
211
+ log.info(`${logPrefix} [route] mode=auto version=${autoRouteMeta.version} tier=${autoRouteMeta.tier} ` +
212
+ `reason=${autoRouteMeta.reason} model=${autoRouteMeta.model} thinking=${autoRouteMeta.thinking} ` +
213
+ `effectiveThinking=${thinkingLevelOverride ?? "user/default"}`);
214
+ }
215
+ catch (routeErr) {
216
+ log.error(`${logPrefix} [route] Auto Router failed, falling back to agent default: ${String(routeErr)}`);
217
+ modelOverride = undefined;
218
+ thinkingLevelOverride = undefined;
219
+ autoRouteMeta = undefined;
220
+ }
221
+ }
222
+ else {
223
+ log.warn(`${logPrefix} [route] auto requested but model slots incomplete, falling back to agent default`);
224
+ }
225
+ }
226
+ else {
227
+ log.info(`${logPrefix} [route] auto requested but routing disabled/not-allowlisted, using agent default`);
228
+ }
229
+ }
230
+ else if (modelSelection.mode === "explicit") {
231
+ modelOverride = modelSelection.model;
232
+ const autoCfg = resolveAutoModelRoutingConfig(config);
233
+ const defaultThinking = resolveModelThinkingDefault(autoCfg.thinkingDefaults, modelSelection.model);
234
+ if (defaultThinking && !userThinkTakesPriority()) {
235
+ thinkingLevelOverride = defaultThinking;
236
+ }
237
+ log.info(`${logPrefix} [route] mode=explicit model=${modelSelection.model} ` +
238
+ `thinking=${thinkingLevelOverride ?? "model/default"}`);
239
+ }
240
+ else {
241
+ log.debug?.(`${logPrefix} [route] mode=default (no ai_model)`);
242
+ }
156
243
  const envelopeOptions = rt.channel.reply.resolveEnvelopeFormatOptions(cfg);
157
244
  const previousTimestamp = rt.channel.session.readSessionUpdatedAt({
158
245
  storePath,
@@ -275,7 +362,10 @@ export async function startAccountConnection(params) {
275
362
  params,
276
363
  currentIdentity: botIdentity,
277
364
  agentWorkspaceDir,
365
+ nasVolumes: agentContext?.nasVolumes,
278
366
  modelOverride,
367
+ thinkingLevelOverride,
368
+ autoRouteMeta,
279
369
  inboundTrigger: resolveInboundTrigger(text),
280
370
  skipSessionQueue: isBypassQueueStopMessage(text),
281
371
  }, wsHandle.streamClient);
@@ -1 +1 @@
1
- {"version":3,"file":"account-connection.js","sourceRoot":"","sources":["../../src/account-connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"account-connection.js","sourceRoot":"","sources":["../../src/account-connection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { ActionDispatchEvent } from "./action-store-access.js";
2
+ /** 剥离仅用于服务端路由的 origin,避免 sessionKey 等内部字段泄露到前端。 */
3
+ export declare function toWireAction(action: ActionDispatchEvent): Omit<ActionDispatchEvent, "origin">;
4
+ /**
5
+ * 将权威 action 状态发给前端。必须保持同步返回:网络发送在内部 fire-and-forget。
6
+ */
7
+ export declare function sendActionRunEvent(action: ActionDispatchEvent): void;
8
+ //# sourceMappingURL=action-run-event.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-run-event.d.ts","sourceRoot":"","sources":["../../src/action-run-event.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAKpE,mDAAmD;AACnD,wBAAgB,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAG7F;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAyBpE"}
@@ -0,0 +1,35 @@
1
+ import { getPlanWsClient } from "./plan-ws-registry.js";
2
+ const LOG_PREFIX = "[xg_cwork_im] [action-run-event]";
3
+ /** 剥离仅用于服务端路由的 origin,避免 sessionKey 等内部字段泄露到前端。 */
4
+ export function toWireAction(action) {
5
+ const { origin: _origin, ...wireAction } = action;
6
+ return wireAction;
7
+ }
8
+ /**
9
+ * 将权威 action 状态发给前端。必须保持同步返回:网络发送在内部 fire-and-forget。
10
+ */
11
+ export function sendActionRunEvent(action) {
12
+ const channel = action.origin?.channel;
13
+ const to = action.origin?.to;
14
+ if (channel !== "xg_cwork_im" || !to) {
15
+ console.warn(`${LOG_PREFIX} action.origin 缺失或非本通道,跳过 RUN_EVENT eventId=${action.eventId}`);
16
+ return;
17
+ }
18
+ const target = getPlanWsClient(to);
19
+ if (!target) {
20
+ console.warn(`${LOG_PREFIX} 未登记 WS client,跳过 RUN_EVENT eventId=${action.eventId} groupId=${to}`);
21
+ return;
22
+ }
23
+ void target.client.sendEvent({
24
+ groupId: to,
25
+ replyToMsgId: target.replyToMsgId,
26
+ event: "RUN_EVENT",
27
+ data: {
28
+ displayText: `动作「${action.action}」已完成:${action.target}`,
29
+ summary: toWireAction(action),
30
+ },
31
+ }).catch((err) => {
32
+ console.warn(`${LOG_PREFIX} 发送失败 eventId=${action.eventId} groupId=${to}: ${String(err)}`);
33
+ });
34
+ }
35
+ //# sourceMappingURL=action-run-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-run-event.js","sourceRoot":"","sources":["../../src/action-run-event.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,UAAU,GAAG,kCAAkC,CAAC;AAEtD,mDAAmD;AACnD,MAAM,UAAU,YAAY,CAAC,MAA2B;IACpD,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,GAAG,MAAM,CAAC;IAClD,OAAO,UAAU,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAA2B;IAC1D,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACvC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;IAC7B,IAAI,OAAO,KAAK,aAAa,IAAI,CAAC,EAAE,EAAE,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,+CAA+C,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3F,OAAO;IACX,CAAC;IAED,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,uCAAuC,MAAM,CAAC,OAAO,YAAY,EAAE,EAAE,CAAC,CAAC;QACjG,OAAO;IACX,CAAC;IAED,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;QACzB,OAAO,EAAE,EAAE;QACX,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,KAAK,EAAE,WAAW;QAClB,IAAI,EAAE;YACF,WAAW,EAAE,MAAM,MAAM,CAAC,MAAM,QAAQ,MAAM,CAAC,MAAM,EAAE;YACvD,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC;SAChC;KACJ,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QACtB,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,iBAAiB,MAAM,CAAC,OAAO,YAAY,EAAE,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/F,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=action-run-event.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-run-event.test.d.ts","sourceRoot":"","sources":["../../src/action-run-event.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,51 @@
1
+ import assert from "node:assert/strict";
2
+ import { beforeEach, describe, it } from "node:test";
3
+ import { resetPlanWsRegistryForTest, setPlanWsClient } from "./plan-ws-registry.js";
4
+ import { sendActionRunEvent, toWireAction } from "./action-run-event.js";
5
+ function makeAction(overrides = {}) {
6
+ return {
7
+ eventId: "evt-1", event: "action_dispatch", action: "ui_refresh", target: "order_detail",
8
+ version: 1, status: "completed", payload: { data: { id: "ORD-1" } }, timestamp: "2026-08-13T00:00:00.000Z",
9
+ ...overrides,
10
+ };
11
+ }
12
+ function makeRecordingClient() {
13
+ const calls = [];
14
+ return {
15
+ calls,
16
+ client: {
17
+ start: async () => { }, streamProgress: async () => { }, streamUsage: async () => { },
18
+ sendEvent: async (opts) => { calls.push(opts); }, end: async () => { },
19
+ },
20
+ };
21
+ }
22
+ beforeEach(() => resetPlanWsRegistryForTest());
23
+ describe("sendActionRunEvent", () => {
24
+ it("按 origin 路由为 RUN_EVENT,summary 保留 action 契约而剥离 origin", () => {
25
+ const { client, calls } = makeRecordingClient();
26
+ setPlanWsClient("g-1", client, "msg-1");
27
+ const action = makeAction({ origin: { channel: "xg_cwork_im", to: "g-1", sessionKey: "secret" } });
28
+ sendActionRunEvent(action);
29
+ assert.equal(calls.length, 1);
30
+ assert.equal(calls[0].event, "RUN_EVENT");
31
+ assert.equal(calls[0].groupId, "g-1");
32
+ const summary = calls[0].data.summary;
33
+ assert.equal(summary.event, "action_dispatch");
34
+ assert.equal(summary.eventId, action.eventId);
35
+ assert.equal(summary.origin, undefined);
36
+ assert.equal(action.origin?.sessionKey, "secret", "不 mutate 入参");
37
+ });
38
+ it("缺少当前通道 origin 时不发送", () => {
39
+ const { client, calls } = makeRecordingClient();
40
+ setPlanWsClient("g-1", client, "msg-1");
41
+ assert.doesNotThrow(() => sendActionRunEvent(makeAction()));
42
+ assert.equal(calls.length, 0);
43
+ });
44
+ it("toWireAction 不 mutate 入参", () => {
45
+ const action = makeAction({ origin: { channel: "xg_cwork_im", to: "g-1" } });
46
+ const wire = toWireAction(action);
47
+ assert.equal("origin" in wire, false);
48
+ assert.deepEqual(action.origin, { channel: "xg_cwork_im", to: "g-1" });
49
+ });
50
+ });
51
+ //# sourceMappingURL=action-run-event.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-run-event.test.js","sourceRoot":"","sources":["../../src/action-run-event.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import type { PlanOrigin } from "@xgjktech/xg-openclaw-shared";
2
+ /** 与 xg-harness-tools 的 ActionDispatchEvent 保持兼容。
3
+ *
4
+ * shared 包 0.2.2 尚未导出 action store;因此这里仅实现 IM 所需的只读 get,
5
+ * 直接读取同一个 SQLite 文件的 actions.doc JSON,绝不创建表或写库。
6
+ */
7
+ export interface ActionDispatchEvent {
8
+ eventId: string;
9
+ event: "action_dispatch";
10
+ action: string;
11
+ topic?: string;
12
+ target: string;
13
+ version: number;
14
+ status: "completed" | "running" | "pending" | "failed";
15
+ scopeControl?: {
16
+ activeSessionOnly?: boolean;
17
+ };
18
+ payload: {
19
+ data: Record<string, unknown>;
20
+ };
21
+ timestamp: string;
22
+ origin?: PlanOrigin;
23
+ }
24
+ export declare function setActionStateDir(dir: string): void;
25
+ /** 按 eventId 反查权威 action。缺库、旧库、畸形数据和读取异常均降级为 undefined。 */
26
+ export declare function getActionById(eventId: string): ActionDispatchEvent | undefined;
27
+ //# sourceMappingURL=action-store-access.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-store-access.d.ts","sourceRoot":"","sources":["../../src/action-store-access.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE/D;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,iBAAiB,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACvD,YAAY,CAAC,EAAE;QAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC/C,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,UAAU,CAAC;CACvB;AAQD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAKnD;AAwCD,2DAA2D;AAC3D,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAkB9E"}
@@ -0,0 +1,74 @@
1
+ import { DatabaseSync } from "node:sqlite";
2
+ import { resolvePlanDbPath } from "@xgjktech/xg-openclaw-shared";
3
+ const LOG_PREFIX = "[xg_cwork_im] [action-store]";
4
+ let stateDir;
5
+ let db;
6
+ let warnedNoStateDir = false;
7
+ export function setActionStateDir(dir) {
8
+ stateDir = dir;
9
+ db?.close();
10
+ db = undefined;
11
+ warnedNoStateDir = false;
12
+ }
13
+ function getDb() {
14
+ if (db)
15
+ return db;
16
+ if (!stateDir) {
17
+ if (!warnedNoStateDir) {
18
+ console.warn(`${LOG_PREFIX} stateDir 未设置,无法打开 action 库`);
19
+ warnedNoStateDir = true;
20
+ }
21
+ return undefined;
22
+ }
23
+ let dbPath = "<unresolved>";
24
+ try {
25
+ dbPath = resolvePlanDbPath(stateDir);
26
+ db = new DatabaseSync(dbPath, { readOnly: true });
27
+ db.exec("PRAGMA busy_timeout = 5000;");
28
+ return db;
29
+ }
30
+ catch (cause) {
31
+ console.warn(`${LOG_PREFIX} 打开 action 库失败 dbPath=${dbPath} 原因=${String(cause)}`);
32
+ return undefined;
33
+ }
34
+ }
35
+ function isActionDispatchEvent(value) {
36
+ if (typeof value !== "object" || value === null)
37
+ return false;
38
+ const event = value;
39
+ const payload = event.payload;
40
+ return typeof event.eventId === "string" && event.eventId.trim() !== ""
41
+ && event.event === "action_dispatch"
42
+ && typeof event.action === "string" && event.action.trim() !== ""
43
+ && typeof event.target === "string" && event.target.trim() !== ""
44
+ && typeof event.version === "number" && Number.isFinite(event.version) && event.version > 0
45
+ && ["completed", "running", "pending", "failed"].includes(event.status)
46
+ && typeof event.timestamp === "string" && event.timestamp.trim() !== ""
47
+ && typeof payload === "object" && payload !== null
48
+ && typeof payload.data === "object"
49
+ && payload.data !== null;
50
+ }
51
+ /** 按 eventId 反查权威 action。缺库、旧库、畸形数据和读取异常均降级为 undefined。 */
52
+ export function getActionById(eventId) {
53
+ const handle = getDb();
54
+ if (!handle)
55
+ return undefined;
56
+ try {
57
+ const row = handle.prepare("SELECT doc FROM actions WHERE event_id = ?").get(eventId);
58
+ if (!row || typeof row.doc !== "string")
59
+ return undefined;
60
+ const action = JSON.parse(row.doc);
61
+ if (!isActionDispatchEvent(action)) {
62
+ console.warn(`${LOG_PREFIX} action 文档不符合契约 eventId=${eventId}`);
63
+ return undefined;
64
+ }
65
+ return action;
66
+ }
67
+ catch (cause) {
68
+ console.warn(`${LOG_PREFIX} 读取 action 失败 eventId=${eventId} 原因=${String(cause)}`);
69
+ db?.close();
70
+ db = undefined;
71
+ return undefined;
72
+ }
73
+ }
74
+ //# sourceMappingURL=action-store-access.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-store-access.js","sourceRoot":"","sources":["../../src/action-store-access.ts"],"names":[],"mappings":"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"}