@xgjktech/xg_cwork_im 1.17.26 → 1.17.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +484 -484
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -3
- package/dist/index.js.map +1 -1
- package/dist/src/build-project-prompt.test.js +18 -18
- package/dist/src/gateway-session-queue.d.ts +0 -3
- package/dist/src/gateway-session-queue.d.ts.map +1 -1
- package/dist/src/gateway-session-queue.js +0 -1
- package/dist/src/gateway-session-queue.js.map +1 -1
- package/dist/src/subagent-monitor.d.ts +2 -1
- package/dist/src/subagent-monitor.d.ts.map +1 -1
- package/dist/src/subagent-monitor.js +80 -20
- package/dist/src/subagent-monitor.js.map +1 -1
- package/dist/src/subagent-monitor.test.d.ts +2 -0
- package/dist/src/subagent-monitor.test.d.ts.map +1 -0
- package/dist/src/subagent-monitor.test.js +199 -0
- package/dist/src/subagent-monitor.test.js.map +1 -0
- package/package.json +2 -2
- package/dist/src/single-chat-no-reply-fallback.d.ts +0 -14
- package/dist/src/single-chat-no-reply-fallback.d.ts.map +0 -1
- package/dist/src/single-chat-no-reply-fallback.js +0 -20
- package/dist/src/single-chat-no-reply-fallback.js.map +0 -1
- package/dist/src/subagent-progress-hooks.d.ts +0 -11
- package/dist/src/subagent-progress-hooks.d.ts.map +0 -1
- package/dist/src/subagent-progress-hooks.js +0 -41
- package/dist/src/subagent-progress-hooks.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xgjktech/xg_cwork_im",
|
|
3
|
-
"version": "1.17.
|
|
3
|
+
"version": "1.17.28",
|
|
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/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",
|
|
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/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",
|
|
29
29
|
"install:prod": "npm install --omit=dev",
|
|
30
30
|
"prepublishOnly": "npm run build"
|
|
31
31
|
},
|
|
@@ -1,14 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,20 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,41 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|