@xgjktech/xg_cwork_im 1.19.6 → 1.19.8

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.
@@ -1,6 +1,6 @@
1
1
  import assert from "node:assert/strict";
2
2
  import { afterEach, beforeEach, describe, it } from "node:test";
3
- import { registerExecEnvHook, XG_OPENAPI_BASE_URL } from "./register-exec-env-hook.js";
3
+ import { registerExecEnvHook, stripLeadingXgOpenApiAppKeyAssignments, XG_OPENAPI_BASE_URL, } from "./register-exec-env-hook.js";
4
4
  import { __resetSessionEnvStoreForTests, linkChildSession, setSessionEnvEntry, XG_OPENAPI_APP_KEY, } from "./session-env-store.js";
5
5
  let registeredHandler;
6
6
  function captureApi(cfg) {
@@ -32,6 +32,45 @@ beforeEach(() => {
32
32
  __resetSessionEnvStoreForTests();
33
33
  });
34
34
  afterEach(() => __resetSessionEnvStoreForTests());
35
+ describe("stripLeadingXgOpenApiAppKeyAssignments", () => {
36
+ it("剥掉行首无引号赋值", () => {
37
+ const result = stripLeadingXgOpenApiAppKeyAssignments("XG_OPENAPI_APP_KEY=*** python3 /tmp/script.py --x 1");
38
+ assert.equal(result.stripped, true);
39
+ assert.equal(result.command, "python3 /tmp/script.py --x 1");
40
+ });
41
+ it("剥掉行首引号赋值(含部分掩码)", () => {
42
+ const result = stripLeadingXgOpenApiAppKeyAssignments("XG_OPENAPI_APP_KEY='***RuyZWCYzkozPXL3XHs89B9xVGa' python3 script.py");
43
+ assert.equal(result.stripped, true);
44
+ assert.equal(result.command, "python3 script.py");
45
+ });
46
+ it("剥掉 export 与分号形式", () => {
47
+ const result = stripLeadingXgOpenApiAppKeyAssignments("export XG_OPENAPI_APP_KEY=***; python3 script.py");
48
+ assert.equal(result.stripped, true);
49
+ assert.equal(result.command, "python3 script.py");
50
+ });
51
+ it("剥掉 env 工具前缀", () => {
52
+ const result = stripLeadingXgOpenApiAppKeyAssignments("env XG_OPENAPI_APP_KEY=*** python3 script.py");
53
+ assert.equal(result.stripped, true);
54
+ assert.equal(result.command, "python3 script.py");
55
+ });
56
+ it("只剥本变量,保留其他行首赋值", () => {
57
+ const result = stripLeadingXgOpenApiAppKeyAssignments("XG_OPENAPI_APP_KEY=bad KEEP=1 python3 script.py");
58
+ assert.equal(result.stripped, true);
59
+ assert.equal(result.command, "KEEP=1 python3 script.py");
60
+ });
61
+ it("不碰命令正文中的同名提及", () => {
62
+ const cmd = 'python3 -c "print(\'XG_OPENAPI_APP_KEY\')"';
63
+ const result = stripLeadingXgOpenApiAppKeyAssignments(cmd);
64
+ assert.equal(result.stripped, false);
65
+ assert.equal(result.command, cmd);
66
+ });
67
+ it("不碰非行首的赋值", () => {
68
+ const cmd = "echo hi && XG_OPENAPI_APP_KEY=*** python3 script.py";
69
+ const result = stripLeadingXgOpenApiAppKeyAssignments(cmd);
70
+ assert.equal(result.stripped, false);
71
+ assert.equal(result.command, cmd);
72
+ });
73
+ });
35
74
  describe("register-exec-env-hook", () => {
36
75
  it("注册 before_tool_call handler", () => {
37
76
  registerExecEnvHook(captureApi());
@@ -85,6 +124,26 @@ describe("register-exec-env-hook", () => {
85
124
  });
86
125
  assert.equal(resultParams.command, "echo hi");
87
126
  });
127
+ it("有注入时剥掉 command 行首赋值并写入绑定值", () => {
128
+ registerExecEnvHook(captureApi());
129
+ setSessionEnvEntry("session-a", XG_OPENAPI_APP_KEY, "key-a");
130
+ const result = registeredHandler({
131
+ toolName: "exec",
132
+ params: {
133
+ command: "XG_OPENAPI_APP_KEY='***RuyZWCYzkozPXL3XHs89B9xVGa' python3 script.py",
134
+ env: { [XG_OPENAPI_APP_KEY]: "***" },
135
+ },
136
+ }, { sessionKey: "session-a" });
137
+ const resultParams = result.params;
138
+ assert.equal(resultParams.command, "python3 script.py");
139
+ assert.deepEqual(resultParams.env, { [XG_OPENAPI_APP_KEY]: "key-a" });
140
+ });
141
+ it("无注入时不改 command 前缀", () => {
142
+ registerExecEnvHook(captureApi());
143
+ const command = "XG_OPENAPI_APP_KEY=*** python3 script.py";
144
+ const result = registeredHandler({ toolName: "exec", params: { command, env: { KEEP: "1" } } }, { sessionKey: "session-empty" });
145
+ assert.equal(result, undefined);
146
+ });
88
147
  it("subagent 子会话经父子链反查父会话 appKey", () => {
89
148
  registerExecEnvHook(captureApi());
90
149
  setSessionEnvEntry("parent-session", XG_OPENAPI_APP_KEY, "parent-key");
@@ -1 +1 @@
1
- {"version":3,"file":"register-exec-env-hook.test.js","sourceRoot":"","sources":["../../src/register-exec-env-hook.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register-exec-env-hook.test.js","sourceRoot":"","sources":["../../src/register-exec-env-hook.test.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.19.6",
3
+ "version": "1.19.8",
4
4
  "description": "XG CWork IM channel plugin for OpenClaw",
5
5
  "keywords": [
6
6
  "bot",