@xgjktech/xg_cwork_im 1.19.26 → 1.19.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 +490 -490
- package/dist/index.js +1 -1
- package/dist/src/connection/connection.d.ts +6 -0
- package/dist/src/connection/connection.d.ts.map +1 -1
- package/dist/src/connection/connection.js +6 -0
- package/dist/src/connection/connection.js.map +1 -1
- package/dist/src/connection/connection.test.js +17 -1
- package/dist/src/connection/connection.test.js.map +1 -1
- package/dist/src/delivery/compaction-notice-text.d.ts +12 -0
- package/dist/src/delivery/compaction-notice-text.d.ts.map +1 -0
- package/dist/src/delivery/compaction-notice-text.js +48 -0
- package/dist/src/delivery/compaction-notice-text.js.map +1 -0
- package/dist/src/delivery/compaction-notice-text.test.d.ts +2 -0
- package/dist/src/delivery/compaction-notice-text.test.d.ts.map +1 -0
- package/dist/src/delivery/compaction-notice-text.test.js +23 -0
- package/dist/src/delivery/compaction-notice-text.test.js.map +1 -0
- package/dist/src/inbound/dispatch-mentioned-reply.d.ts.map +1 -1
- package/dist/src/inbound/dispatch-mentioned-reply.js +5 -3
- package/dist/src/inbound/dispatch-mentioned-reply.js.map +1 -1
- package/dist/src/plan/plan-core-adapter.d.ts +26 -1
- package/dist/src/plan/plan-core-adapter.d.ts.map +1 -1
- package/dist/src/plan/plan-core-adapter.js +67 -5
- package/dist/src/plan/plan-core-adapter.js.map +1 -1
- package/dist/src/plan/plan-core-adapter.test.js +76 -1
- package/dist/src/plan/plan-core-adapter.test.js.map +1 -1
- package/dist/src/plan/plan-stat-event.d.ts +2 -0
- package/dist/src/plan/plan-stat-event.d.ts.map +1 -1
- package/dist/src/plan/plan-stat-event.js +12 -2
- package/dist/src/plan/plan-stat-event.js.map +1 -1
- package/dist/src/turn/turn-agent-event-subscription.d.ts.map +1 -1
- package/dist/src/turn/turn-agent-event-subscription.js +66 -2
- package/dist/src/turn/turn-agent-event-subscription.js.map +1 -1
- package/dist/src/turn/turn-agent-event-subscription.test.js +114 -1
- package/dist/src/turn/turn-agent-event-subscription.test.js.map +1 -1
- package/package.json +82 -82
|
@@ -53,11 +53,21 @@ export function resolveCorePlanCreatedAt(sessionKey, nowMs, createdAtIso) {
|
|
|
53
53
|
export function resetCorePlanFirstSeenForTest() {
|
|
54
54
|
firstSeenBySession.clear();
|
|
55
55
|
}
|
|
56
|
-
/**
|
|
56
|
+
/**
|
|
57
|
+
* 组装带内部 origin 的 Plan。
|
|
58
|
+
* steps 优先取事件;事件为空时回退落库卡(cardSteps);两者都为空才不产计划。
|
|
59
|
+
*/
|
|
57
60
|
export function buildPlanFromCoreUpdate(params) {
|
|
58
|
-
const { sessionKey, groupId, payload, accountId, createdAtIso, markdown } = params;
|
|
61
|
+
const { sessionKey, groupId, payload, accountId, createdAtIso, markdown, cardSteps } = params;
|
|
59
62
|
const nowMs = params.nowMs ?? Date.now();
|
|
60
|
-
|
|
63
|
+
let steps = normalizeCorePlanSteps(payload.steps);
|
|
64
|
+
if (steps.length === 0 && cardSteps && cardSteps.length > 0) {
|
|
65
|
+
steps = normalizeCorePlanSteps(cardSteps);
|
|
66
|
+
if (steps.length > 0) {
|
|
67
|
+
console.log(`${LOG_PREFIX} 事件 steps 为空,改用落库卡 steps sessionKey=${sessionKey} ` +
|
|
68
|
+
`steps=${steps.length} source=${payload.source ?? "(none)"}`);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
61
71
|
if (steps.length === 0) {
|
|
62
72
|
return undefined;
|
|
63
73
|
}
|
|
@@ -85,17 +95,69 @@ export function buildPlanFromCoreUpdate(params) {
|
|
|
85
95
|
...(markdown && markdown.trim() ? { markdown } : {}),
|
|
86
96
|
};
|
|
87
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
* 组装「计划已清空」的 Wire Plan:tasks 为空 + 稳定 planId + 兜底 goal。
|
|
100
|
+
* 前端收到 `tasks` 为空(或 `cleared:true`)即清掉该 planId 的面板。
|
|
101
|
+
*/
|
|
102
|
+
export function buildCorePlanClear(params) {
|
|
103
|
+
const { sessionKey, groupId, accountId, createdAtIso } = params;
|
|
104
|
+
const nowMs = params.nowMs ?? Date.now();
|
|
105
|
+
const origin = {
|
|
106
|
+
channel: "xg_cwork_im",
|
|
107
|
+
to: groupId,
|
|
108
|
+
sessionKey,
|
|
109
|
+
...(accountId ? { accountId } : {}),
|
|
110
|
+
};
|
|
111
|
+
return {
|
|
112
|
+
planId: buildCorePlanId(sessionKey),
|
|
113
|
+
goal: FALLBACK_PLAN_GOAL,
|
|
114
|
+
createdAt: resolveCorePlanCreatedAt(sessionKey, nowMs, createdAtIso),
|
|
115
|
+
updatedAt: new Date(nowMs).toISOString(),
|
|
116
|
+
tasks: [],
|
|
117
|
+
origin,
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* 判定一次「无 steps」的 progress_card 事件是否为「清空整卡」。
|
|
122
|
+
* 清空:无 explanation(纯 markdown 更新会带 explanation)+ 落库卡也无 markdown。
|
|
123
|
+
*/
|
|
124
|
+
function isCorePlanClear(params) {
|
|
125
|
+
const explanation = typeof params.payload.explanation === "string" ? params.payload.explanation.trim() : "";
|
|
126
|
+
if (explanation) {
|
|
127
|
+
return false;
|
|
128
|
+
}
|
|
129
|
+
if (params.markdown && params.markdown.trim()) {
|
|
130
|
+
return false;
|
|
131
|
+
}
|
|
132
|
+
return true;
|
|
133
|
+
}
|
|
88
134
|
/**
|
|
89
135
|
* progress_card 事件 → PLAN_STAT 增量(source:"tool")。
|
|
136
|
+
* - 有 steps(事件或落库卡)→ 发计划;
|
|
137
|
+
* - 无 steps 且为「清空整卡」→ 发 cleared PLAN_STAT(tasks 空),让前端收场;
|
|
138
|
+
* - 无 steps 且仅更新 markdown → 不发(面板停留,避免误清)。
|
|
90
139
|
* 绝不抛(sendPlanStat 本身 fire-and-forget,内部已 catch)。
|
|
91
140
|
*/
|
|
92
141
|
export function handleCorePlanUpdate(params) {
|
|
93
142
|
try {
|
|
94
143
|
const plan = buildPlanFromCoreUpdate(params);
|
|
95
|
-
if (
|
|
144
|
+
if (plan) {
|
|
145
|
+
sendPlanStat({ plan, source: "tool" });
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
if (isCorePlanClear(params)) {
|
|
149
|
+
const clearPlan = buildCorePlanClear({
|
|
150
|
+
sessionKey: params.sessionKey,
|
|
151
|
+
groupId: params.groupId,
|
|
152
|
+
...(params.accountId ? { accountId: params.accountId } : {}),
|
|
153
|
+
});
|
|
154
|
+
console.log(`${LOG_PREFIX} 计划已清空,发送 cleared PLAN_STAT sessionKey=${params.sessionKey} ` +
|
|
155
|
+
`source=${params.payload.source ?? "(none)"}`);
|
|
156
|
+
sendPlanStat({ plan: clearPlan, source: "tool", cleared: true });
|
|
96
157
|
return;
|
|
97
158
|
}
|
|
98
|
-
|
|
159
|
+
console.log(`${LOG_PREFIX} 跳过 PLAN_STAT(无 steps,仅 markdown 更新)sessionKey=${params.sessionKey} ` +
|
|
160
|
+
`source=${params.payload.source ?? "(none)"}`);
|
|
99
161
|
}
|
|
100
162
|
catch (err) {
|
|
101
163
|
console.warn(`${LOG_PREFIX} adapter 内部异常已吞: ${String(err)}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-core-adapter.js","sourceRoot":"","sources":["../../../src/plan/plan-core-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,UAAU,GAAG,mCAAmC,CAAC;AAEvD,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;AAEjG,MAAM,kBAAkB,GAAG,QAAQ,CAAC;AAEpC,iEAAiE;AACjE,MAAM,8BAA8B,GAAG,wBAAwB,CAAC;AAmBhE,0DAA0D;AAC1D,MAAM,UAAU,eAAe,CAAC,UAAkB;IAC9C,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,aAAa,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpF,OAAO,QAAQ,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,sBAAsB,CAClC,KAA+C;IAE/C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACd,CAAC;IACD,MAAM,GAAG,GAAmB,EAAE,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YAC1B,IAAI,IAAI;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YAChD,SAAS;QACb,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACtC,SAAS;QACb,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,MAAM,SAAS,GAAG,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC;YAC5C,CAAC,CAAE,SAAwB;YAC3B,CAAC,CAAC,SAAS,CAAC;QAChB,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAED,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAC;AAErD,sDAAsD;AACtD,MAAM,UAAU,wBAAwB,CACpC,UAAkB,EAClB,KAAa,EACb,YAAqB;IAErB,IAAI,YAAY,EAAE,CAAC;QACf,OAAO,YAAY,CAAC;IACxB,CAAC;IACD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACpD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5C,CAAC;IACD,kBAAkB,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC1C,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;AACzC,CAAC;AAED,+BAA+B;AAC/B,MAAM,UAAU,6BAA6B;IACzC,kBAAkB,CAAC,KAAK,EAAE,CAAC;AAC/B,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"plan-core-adapter.js","sourceRoot":"","sources":["../../../src/plan/plan-core-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -145,6 +145,41 @@ describe("buildPlanFromCoreUpdate", () => {
|
|
|
145
145
|
nowMs: NOW,
|
|
146
146
|
}), undefined);
|
|
147
147
|
});
|
|
148
|
+
it("事件 steps 为空但落库卡有 steps → 用卡 steps 产计划", () => {
|
|
149
|
+
const plan = buildPlanFromCoreUpdate({
|
|
150
|
+
sessionKey: "sess-1",
|
|
151
|
+
groupId: "g-1",
|
|
152
|
+
payload: { steps: [] },
|
|
153
|
+
nowMs: NOW,
|
|
154
|
+
cardSteps: [
|
|
155
|
+
{ step: "备份", status: "completed" },
|
|
156
|
+
{ step: "校验", status: "completed" },
|
|
157
|
+
],
|
|
158
|
+
});
|
|
159
|
+
assert.deepEqual(plan.tasks, [
|
|
160
|
+
{ title: "备份", status: "completed" },
|
|
161
|
+
{ title: "校验", status: "completed" },
|
|
162
|
+
]);
|
|
163
|
+
});
|
|
164
|
+
it("事件 steps 非空时优先事件(不读卡 steps)", () => {
|
|
165
|
+
const plan = buildPlanFromCoreUpdate({
|
|
166
|
+
sessionKey: "sess-1",
|
|
167
|
+
groupId: "g-1",
|
|
168
|
+
payload: { steps: [{ step: "事件步骤", status: "in_progress" }] },
|
|
169
|
+
nowMs: NOW,
|
|
170
|
+
cardSteps: [{ step: "卡步骤", status: "completed" }],
|
|
171
|
+
});
|
|
172
|
+
assert.deepEqual(plan.tasks, [{ title: "事件步骤", status: "in_progress" }]);
|
|
173
|
+
});
|
|
174
|
+
it("事件与落库卡均无 steps → undefined", () => {
|
|
175
|
+
assert.equal(buildPlanFromCoreUpdate({
|
|
176
|
+
sessionKey: "sess-1",
|
|
177
|
+
groupId: "g-1",
|
|
178
|
+
payload: { steps: [] },
|
|
179
|
+
nowMs: NOW,
|
|
180
|
+
cardSteps: [],
|
|
181
|
+
}), undefined);
|
|
182
|
+
});
|
|
148
183
|
});
|
|
149
184
|
describe("handleCorePlanUpdate", () => {
|
|
150
185
|
it("有 steps 且 WS 已登记 → 发一条 source=tool 的 PLAN_STAT", () => {
|
|
@@ -162,7 +197,7 @@ describe("handleCorePlanUpdate", () => {
|
|
|
162
197
|
assert.equal(calls[0].data.plan.planId, buildCorePlanId("sess-1"));
|
|
163
198
|
assert.equal(calls[0].data.plan.markdown, "迁移配置到新版本");
|
|
164
199
|
});
|
|
165
|
-
it("空 steps
|
|
200
|
+
it("空 steps(无 explanation/markdown)→ 发 cleared PLAN_STAT(tasks 空)", () => {
|
|
166
201
|
const { client, calls } = makeRecordingClient();
|
|
167
202
|
setPlanWsClient("g-1", client, "msg-1");
|
|
168
203
|
assert.doesNotThrow(() => handleCorePlanUpdate({
|
|
@@ -170,8 +205,48 @@ describe("handleCorePlanUpdate", () => {
|
|
|
170
205
|
groupId: "g-1",
|
|
171
206
|
payload: { steps: [] },
|
|
172
207
|
}));
|
|
208
|
+
assert.equal(calls.length, 1);
|
|
209
|
+
assert.equal(calls[0].event, "PLAN_STAT");
|
|
210
|
+
assert.equal(calls[0].data.cleared, true);
|
|
211
|
+
assert.deepEqual(calls[0].data.plan.tasks, []);
|
|
212
|
+
assert.equal(calls[0].data.plan.planId, buildCorePlanId("sess-1"));
|
|
213
|
+
});
|
|
214
|
+
it("空 steps + explanation(仅 markdown 更新)→ 不发、不外抛", () => {
|
|
215
|
+
const { client, calls } = makeRecordingClient();
|
|
216
|
+
setPlanWsClient("g-1", client, "msg-1");
|
|
217
|
+
assert.doesNotThrow(() => handleCorePlanUpdate({
|
|
218
|
+
sessionKey: "sess-1",
|
|
219
|
+
groupId: "g-1",
|
|
220
|
+
payload: { steps: [], explanation: "正在整理上下文…" },
|
|
221
|
+
}));
|
|
222
|
+
assert.equal(calls.length, 0);
|
|
223
|
+
});
|
|
224
|
+
it("空 steps + 落库卡 markdown → 不发(视为 markdown 更新,不误清)", () => {
|
|
225
|
+
const { client, calls } = makeRecordingClient();
|
|
226
|
+
setPlanWsClient("g-1", client, "msg-1");
|
|
227
|
+
assert.doesNotThrow(() => handleCorePlanUpdate({
|
|
228
|
+
sessionKey: "sess-1",
|
|
229
|
+
groupId: "g-1",
|
|
230
|
+
payload: { steps: [] },
|
|
231
|
+
markdown: "**收尾中**",
|
|
232
|
+
}));
|
|
173
233
|
assert.equal(calls.length, 0);
|
|
174
234
|
});
|
|
235
|
+
it("空 steps + 落库卡 steps → 用卡 steps 发 PLAN_STAT", () => {
|
|
236
|
+
const { client, calls } = makeRecordingClient();
|
|
237
|
+
setPlanWsClient("g-1", client, "msg-1");
|
|
238
|
+
handleCorePlanUpdate({
|
|
239
|
+
sessionKey: "sess-1",
|
|
240
|
+
groupId: "g-1",
|
|
241
|
+
payload: { steps: [] },
|
|
242
|
+
cardSteps: [{ step: "发布", status: "completed" }],
|
|
243
|
+
});
|
|
244
|
+
assert.equal(calls.length, 1);
|
|
245
|
+
assert.equal(calls[0].event, "PLAN_STAT");
|
|
246
|
+
assert.deepEqual(calls[0].data.plan.tasks, [
|
|
247
|
+
{ title: "发布", status: "completed" },
|
|
248
|
+
]);
|
|
249
|
+
});
|
|
175
250
|
it("未登记 WS client → 不外抛", () => {
|
|
176
251
|
assert.doesNotThrow(() => handleCorePlanUpdate({
|
|
177
252
|
sessionKey: "sess-1",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-core-adapter.test.js","sourceRoot":"","sources":["../../../src/plan/plan-core-adapter.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"plan-core-adapter.test.js","sourceRoot":"","sources":["../../../src/plan/plan-core-adapter.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,5 +13,7 @@ export declare function toWirePlan(plan: Plan): Plan;
|
|
|
13
13
|
export declare function sendPlanStat(params: {
|
|
14
14
|
plan: Plan;
|
|
15
15
|
source: "tool" | "snapshot";
|
|
16
|
+
/** true = 计划已被清空:plan.tasks 为空,前端据此清掉该 planId 的面板。 */
|
|
17
|
+
cleared?: boolean;
|
|
16
18
|
}): void;
|
|
17
19
|
//# sourceMappingURL=plan-stat-event.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-stat-event.d.ts","sourceRoot":"","sources":["../../../src/plan/plan-stat-event.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAKzD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAG3C;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"plan-stat-event.d.ts","sourceRoot":"","sources":["../../../src/plan/plan-stat-event.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAKzD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAG3C;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE;IACjC,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC;IAC5B,sDAAsD;IACtD,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG,IAAI,CAyCP"}
|
|
@@ -15,7 +15,7 @@ export function toWirePlan(plan) {
|
|
|
15
15
|
* channel/to 用于路由到对应群的 WS client。
|
|
16
16
|
*/
|
|
17
17
|
export function sendPlanStat(params) {
|
|
18
|
-
const { plan, source } = params;
|
|
18
|
+
const { plan, source, cleared } = params;
|
|
19
19
|
const channel = plan.origin?.channel;
|
|
20
20
|
const to = plan.origin?.to;
|
|
21
21
|
if (channel !== "xg_cwork_im" || !to) {
|
|
@@ -27,12 +27,22 @@ export function sendPlanStat(params) {
|
|
|
27
27
|
console.warn(`${LOG_PREFIX} 未登记 WS client,跳过 PLAN_STAT planId=${plan.planId} groupId=${to}`);
|
|
28
28
|
return;
|
|
29
29
|
}
|
|
30
|
+
const taskCount = Array.isArray(plan.tasks) ? plan.tasks.length : 0;
|
|
31
|
+
const completedCount = Array.isArray(plan.tasks)
|
|
32
|
+
? plan.tasks.filter((task) => task?.status === "completed").length
|
|
33
|
+
: 0;
|
|
34
|
+
console.log(`${LOG_PREFIX} 发送 PLAN_STAT source=${source}${cleared ? " cleared" : ""} planId=${plan.planId} ` +
|
|
35
|
+
`groupId=${to} tasks=${completedCount}/${taskCount} updatedAt=${plan.updatedAt}`);
|
|
30
36
|
void target.client
|
|
31
37
|
.sendEvent({
|
|
32
38
|
groupId: to,
|
|
33
39
|
replyToMsgId: target.replyToMsgId,
|
|
34
40
|
event: "PLAN_STAT",
|
|
35
|
-
data: {
|
|
41
|
+
data: {
|
|
42
|
+
source,
|
|
43
|
+
...(cleared ? { cleared: true } : {}),
|
|
44
|
+
plan: toWirePlan(plan),
|
|
45
|
+
},
|
|
36
46
|
})
|
|
37
47
|
.catch((err) => {
|
|
38
48
|
console.warn(`${LOG_PREFIX} 发送失败 planId=${plan.planId} groupId=${to}: ${String(err)}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-stat-event.js","sourceRoot":"","sources":["../../../src/plan/plan-stat-event.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,UAAU,GAAG,iCAAiC,CAAC;AAErD;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,IAAU;IACjC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC;IAC9C,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"plan-stat-event.js","sourceRoot":"","sources":["../../../src/plan/plan-stat-event.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,UAAU,GAAG,iCAAiC,CAAC;AAErD;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,IAAU;IACjC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC;IAC9C,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,MAK5B;IACG,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAEzC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;IACrC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;IAC3B,IAAI,OAAO,KAAK,aAAa,IAAI,CAAC,EAAE,EAAE,CAAC;QACnC,OAAO,CAAC,IAAI,CACR,GAAG,UAAU,4CAA4C,IAAI,CAAC,MAAM,YAAY,OAAO,IAAI,QAAQ,EAAE,CACxG,CAAC;QACF,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,sCAAsC,IAAI,CAAC,MAAM,YAAY,EAAE,EAAE,CAAC,CAAC;QAC7F,OAAO;IACX,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;QAC5C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM;QAClE,CAAC,CAAC,CAAC,CAAC;IACR,OAAO,CAAC,GAAG,CACP,GAAG,UAAU,wBAAwB,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,IAAI,CAAC,MAAM,GAAG;QAC5F,WAAW,EAAE,UAAU,cAAc,IAAI,SAAS,cAAc,IAAI,CAAC,SAAS,EAAE,CACvF,CAAC;IAEF,KAAK,MAAM,CAAC,MAAM;SACb,SAAS,CAAC;QACP,OAAO,EAAE,EAAE;QACX,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,KAAK,EAAE,WAAW;QAClB,IAAI,EAAE;YACF,MAAM;YACN,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC;SACzB;KACJ,CAAC;SACD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QACpB,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,gBAAgB,IAAI,CAAC,MAAM,YAAY,EAAE,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC3F,CAAC,CAAC,CAAC;AACX,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn-agent-event-subscription.d.ts","sourceRoot":"","sources":["../../../src/turn/turn-agent-event-subscription.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"turn-agent-event-subscription.d.ts","sourceRoot":"","sources":["../../../src/turn/turn-agent-event-subscription.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAqGnF;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAKxE;AAED,wBAAgB,2BAA2B,IAAI,UAAU,CACrD,iBAAiB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,gCAAgC,CAAC,CACzE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAwPb;AAED,qBAAqB;AACrB,wBAAgB,sBAAsB,IAAI,IAAI,CAO7C;AAED,wBAAgB,kCAAkC,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAQ/E"}
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
*
|
|
17
17
|
* handle 内绝不容忍抛错(事件订阅统一纪律)。
|
|
18
18
|
*/
|
|
19
|
+
import { RUN_USAGE_DELTA_EVENT } from "../connection/connection.js";
|
|
19
20
|
import { findActiveRoundForSession } from "./active-round-registry.js";
|
|
20
21
|
import { disposeAssistantItemDelivery, flushAssistantItem, handleAssistantItemEvent, } from "../delivery/assistant-item-delivery.js";
|
|
21
22
|
import { getSharedMap } from "../plugin/process-shared-store.js";
|
|
@@ -29,6 +30,11 @@ const wrappedRunIdBySession = getSharedMap("turn-wrapped-runid");
|
|
|
29
30
|
const lastThinkingByRound = getSharedMap("turn-thinking-last");
|
|
30
31
|
/** 每轮 TOOL_EVENT 单调序号(前端据此丢弃乱序)。 */
|
|
31
32
|
const toolEventSeqByRound = getSharedMap("turn-tool-event-seq");
|
|
33
|
+
/**
|
|
34
|
+
* 每轮最近一次转发的 usage 增量(去重:同一 run+generation 的相同累计值不重发)。
|
|
35
|
+
* 供工具循环过程中实时刷新「已输出 token」。
|
|
36
|
+
*/
|
|
37
|
+
const lastUsageDeltaByRound = getSharedMap("turn-usage-delta-last");
|
|
32
38
|
const THINKING_FORWARD_MIN_INTERVAL_MS = 600;
|
|
33
39
|
const THINKING_DISPLAY_MAX = 160;
|
|
34
40
|
function isXgImGroupSessionKey(sessionKey) {
|
|
@@ -159,6 +165,60 @@ export function createTurnAgentEventHandler() {
|
|
|
159
165
|
});
|
|
160
166
|
return;
|
|
161
167
|
}
|
|
168
|
+
// usage 流:每次模型调用完成后携带该 run+generation 的累计 outputTokens。
|
|
169
|
+
// 工具循环里每个工具结果回到模型都会触发一次,转发为独立的 RUN_USAGE_DELTA
|
|
170
|
+
// (不污染整轮收尾的 RUN_USAGE 载荷);隐藏通道 run 不带 sessionKey,回退索引。
|
|
171
|
+
if (stream === "usage") {
|
|
172
|
+
const sessionKey = event.sessionKey ?? runIdToSessionKey.get(runId);
|
|
173
|
+
if (!sessionKey)
|
|
174
|
+
return;
|
|
175
|
+
const round = findActiveRoundForSession(sessionKey);
|
|
176
|
+
if (!round)
|
|
177
|
+
return;
|
|
178
|
+
const outputTokens = event.data?.outputTokens;
|
|
179
|
+
if (typeof outputTokens !== "number" ||
|
|
180
|
+
!Number.isFinite(outputTokens) ||
|
|
181
|
+
outputTokens <= 0) {
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
const lifecycleGeneration = typeof event.lifecycleGeneration === "string" &&
|
|
185
|
+
event.lifecycleGeneration.trim()
|
|
186
|
+
? event.lifecycleGeneration.trim()
|
|
187
|
+
: undefined;
|
|
188
|
+
const prev = lastUsageDeltaByRound.get(round.roundKey);
|
|
189
|
+
if (prev &&
|
|
190
|
+
prev.runId === runId &&
|
|
191
|
+
prev.lifecycleGeneration === lifecycleGeneration &&
|
|
192
|
+
prev.outputTokens === outputTokens) {
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
lastUsageDeltaByRound.set(round.roundKey, {
|
|
196
|
+
runId,
|
|
197
|
+
...(lifecycleGeneration ? { lifecycleGeneration } : {}),
|
|
198
|
+
outputTokens,
|
|
199
|
+
});
|
|
200
|
+
turnOnActivity(round.roundKey, round.generation);
|
|
201
|
+
console.log(`${LOG_PREFIX} RUN_USAGE_DELTA runId=${runId} session=${sessionKey} ` +
|
|
202
|
+
`round=${round.roundKey}#${round.generation} outputTokens=${outputTokens}` +
|
|
203
|
+
(lifecycleGeneration ? ` gen=${lifecycleGeneration}` : ""));
|
|
204
|
+
void round.streamClient
|
|
205
|
+
.sendEvent({
|
|
206
|
+
groupId: round.groupId,
|
|
207
|
+
replyToMsgId: round.replyToMsgId,
|
|
208
|
+
event: RUN_USAGE_DELTA_EVENT,
|
|
209
|
+
data: {
|
|
210
|
+
groupId: round.groupId,
|
|
211
|
+
replyToMsgId: round.replyToMsgId,
|
|
212
|
+
runId,
|
|
213
|
+
...(lifecycleGeneration ? { lifecycleGeneration } : {}),
|
|
214
|
+
outputTokens: Math.floor(outputTokens),
|
|
215
|
+
},
|
|
216
|
+
})
|
|
217
|
+
.catch((err) => {
|
|
218
|
+
console.warn(`${LOG_PREFIX} RUN_USAGE_DELTA send failed: ${String(err)}`);
|
|
219
|
+
});
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
162
222
|
if (stream === "lifecycle") {
|
|
163
223
|
const sessionKey = event.sessionKey;
|
|
164
224
|
if (!sessionKey || !isXgImGroupSessionKey(sessionKey))
|
|
@@ -224,6 +284,9 @@ export function createTurnAgentEventHandler() {
|
|
|
224
284
|
accountId: round.accountId,
|
|
225
285
|
payload,
|
|
226
286
|
...(card?.markdown ? { markdown: card.markdown } : {}),
|
|
287
|
+
// 事件 steps 为空时(如最后一次 progress_card 只更新 markdown、
|
|
288
|
+
// 或事件投影与落库卡不一致)用落库卡 steps 兜底,避免漏发 PLAN_STAT。
|
|
289
|
+
...(card?.steps?.length ? { cardSteps: card.steps } : {}),
|
|
227
290
|
});
|
|
228
291
|
const title = typeof event.data?.title === "string" ? event.data.title.trim() : "";
|
|
229
292
|
const explanation = typeof event.data?.explanation === "string" ? event.data.explanation.trim() : "";
|
|
@@ -276,13 +339,14 @@ export function disposeTurnAgentEvents() {
|
|
|
276
339
|
wrappedRunIdBySession.clear();
|
|
277
340
|
lastThinkingByRound.clear();
|
|
278
341
|
toolEventSeqByRound.clear();
|
|
342
|
+
lastUsageDeltaByRound.clear();
|
|
279
343
|
disposeAssistantItemDelivery();
|
|
280
344
|
}
|
|
281
345
|
export function registerTurnAgentEventSubscription(api) {
|
|
282
346
|
api.agent.events.registerAgentEventSubscription({
|
|
283
347
|
id: "xg-cwork-im-turn-progress",
|
|
284
|
-
description: "订阅 lifecycle/assistant/thinking/compaction/plan/tool:驱动整轮收尾判定(子任务 resume 场景的 FINISHED)、按 assistant item 逐条投递正文、resume 段思考/整理进度、resume 段计划更新转 PLAN_STAT
|
|
285
|
-
streams: ["lifecycle", "assistant", "thinking", "compaction", "plan", "tool"],
|
|
348
|
+
description: "订阅 lifecycle/assistant/thinking/compaction/plan/tool/usage:驱动整轮收尾判定(子任务 resume 场景的 FINISHED)、按 assistant item 逐条投递正文、resume 段思考/整理进度、resume 段计划更新转 PLAN_STAT、结构化 TOOL_EVENT(工具调用 start/result),以及工具循环过程中的 RUN_USAGE_DELTA(累计 outputTokens 实时刷新)。",
|
|
349
|
+
streams: ["lifecycle", "assistant", "thinking", "compaction", "plan", "tool", "usage"],
|
|
286
350
|
handle: createTurnAgentEventHandler(),
|
|
287
351
|
});
|
|
288
352
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn-agent-event-subscription.js","sourceRoot":"","sources":["../../../src/turn/turn-agent-event-subscription.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"turn-agent-event-subscription.js","sourceRoot":"","sources":["../../../src/turn/turn-agent-event-subscription.ts"],"names":[],"mappings":"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"}
|
|
@@ -111,7 +111,7 @@ describe("turn-agent-event-subscription plan 流", () => {
|
|
|
111
111
|
}));
|
|
112
112
|
assert.equal(events.length, 0);
|
|
113
113
|
});
|
|
114
|
-
it("空 steps 的 plan
|
|
114
|
+
it("空 steps 的 plan 事件(清空)→ 发 cleared PLAN_STAT", () => {
|
|
115
115
|
const { client, events } = makeRecordingClient();
|
|
116
116
|
setPlanWsClient(GROUP, client, "msg-1");
|
|
117
117
|
registerRound(client);
|
|
@@ -127,6 +127,119 @@ describe("turn-agent-event-subscription plan 流", () => {
|
|
|
127
127
|
stream: "plan",
|
|
128
128
|
data: { phase: "update", steps: [] },
|
|
129
129
|
});
|
|
130
|
+
assert.equal(events.length, 1);
|
|
131
|
+
assert.equal(events[0].event, "PLAN_STAT");
|
|
132
|
+
assert.equal(events[0].data.cleared, true);
|
|
133
|
+
assert.deepEqual(events[0].data.plan.tasks, []);
|
|
134
|
+
});
|
|
135
|
+
it("空 steps + explanation(仅 markdown 更新)→ 不发 PLAN_STAT", () => {
|
|
136
|
+
const { client, events } = makeRecordingClient();
|
|
137
|
+
setPlanWsClient(GROUP, client, "msg-1");
|
|
138
|
+
registerRound(client);
|
|
139
|
+
const handler = createTurnAgentEventHandler();
|
|
140
|
+
emit(handler, {
|
|
141
|
+
runId: RESUME_RUN,
|
|
142
|
+
stream: "lifecycle",
|
|
143
|
+
sessionKey: SESSION_KEY,
|
|
144
|
+
data: { phase: "start" },
|
|
145
|
+
});
|
|
146
|
+
emit(handler, {
|
|
147
|
+
runId: RESUME_RUN,
|
|
148
|
+
stream: "plan",
|
|
149
|
+
data: { phase: "update", steps: [], explanation: "整理中", explanationFormat: "plain" },
|
|
150
|
+
});
|
|
151
|
+
assert.equal(events.length, 0);
|
|
152
|
+
});
|
|
153
|
+
});
|
|
154
|
+
describe("turn-agent-event-subscription usage 流", () => {
|
|
155
|
+
it("usage 事件带 sessionKey → 转发 RUN_USAGE_DELTA(累计 outputTokens)", () => {
|
|
156
|
+
const { client, events } = makeRecordingClient();
|
|
157
|
+
registerRound(client);
|
|
158
|
+
const handler = createTurnAgentEventHandler();
|
|
159
|
+
emit(handler, {
|
|
160
|
+
runId: FIRST_SEGMENT_RUN,
|
|
161
|
+
stream: "lifecycle",
|
|
162
|
+
sessionKey: SESSION_KEY,
|
|
163
|
+
data: { phase: "start" },
|
|
164
|
+
});
|
|
165
|
+
emit(handler, {
|
|
166
|
+
runId: FIRST_SEGMENT_RUN,
|
|
167
|
+
stream: "usage",
|
|
168
|
+
sessionKey: SESSION_KEY,
|
|
169
|
+
lifecycleGeneration: "gen-1",
|
|
170
|
+
data: { outputTokens: 120 },
|
|
171
|
+
});
|
|
172
|
+
assert.equal(events.length, 1);
|
|
173
|
+
assert.equal(events[0].event, "RUN_USAGE_DELTA");
|
|
174
|
+
assert.equal(events[0].groupId, GROUP);
|
|
175
|
+
assert.equal(events[0].replyToMsgId, "msg-1");
|
|
176
|
+
assert.equal(events[0].data.outputTokens, 120);
|
|
177
|
+
assert.equal(events[0].data.runId, FIRST_SEGMENT_RUN);
|
|
178
|
+
assert.equal(events[0].data.lifecycleGeneration, "gen-1");
|
|
179
|
+
});
|
|
180
|
+
it("usage 事件仅带 runId 时回退 runId→session 索引", () => {
|
|
181
|
+
const { client, events } = makeRecordingClient();
|
|
182
|
+
registerRound(client);
|
|
183
|
+
const handler = createTurnAgentEventHandler();
|
|
184
|
+
emit(handler, {
|
|
185
|
+
runId: RESUME_RUN,
|
|
186
|
+
stream: "lifecycle",
|
|
187
|
+
sessionKey: SESSION_KEY,
|
|
188
|
+
data: { phase: "start" },
|
|
189
|
+
});
|
|
190
|
+
emit(handler, {
|
|
191
|
+
runId: RESUME_RUN,
|
|
192
|
+
stream: "usage",
|
|
193
|
+
data: { outputTokens: 33 },
|
|
194
|
+
});
|
|
195
|
+
assert.equal(events.length, 1);
|
|
196
|
+
assert.equal(events[0].event, "RUN_USAGE_DELTA");
|
|
197
|
+
assert.equal(events[0].data.outputTokens, 33);
|
|
198
|
+
});
|
|
199
|
+
it("同一 run+generation 的相同累计值只发一次", () => {
|
|
200
|
+
const { client, events } = makeRecordingClient();
|
|
201
|
+
registerRound(client);
|
|
202
|
+
const handler = createTurnAgentEventHandler();
|
|
203
|
+
emit(handler, {
|
|
204
|
+
runId: FIRST_SEGMENT_RUN,
|
|
205
|
+
stream: "lifecycle",
|
|
206
|
+
sessionKey: SESSION_KEY,
|
|
207
|
+
data: { phase: "start" },
|
|
208
|
+
});
|
|
209
|
+
for (const outputTokens of [100, 100, 250, 250, 400]) {
|
|
210
|
+
emit(handler, {
|
|
211
|
+
runId: FIRST_SEGMENT_RUN,
|
|
212
|
+
stream: "usage",
|
|
213
|
+
sessionKey: SESSION_KEY,
|
|
214
|
+
lifecycleGeneration: "gen-1",
|
|
215
|
+
data: { outputTokens },
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
assert.deepEqual(events.map((e) => e.data.outputTokens), [100, 250, 400]);
|
|
219
|
+
});
|
|
220
|
+
it("非正 outputTokens / 无活跃轮次 / 无 sessionKey 均静默忽略", () => {
|
|
221
|
+
const { client, events } = makeRecordingClient();
|
|
222
|
+
registerRound(client);
|
|
223
|
+
const handler = createTurnAgentEventHandler();
|
|
224
|
+
assert.doesNotThrow(() => {
|
|
225
|
+
emit(handler, {
|
|
226
|
+
runId: "unknown-run",
|
|
227
|
+
stream: "usage",
|
|
228
|
+
data: { outputTokens: 10 },
|
|
229
|
+
});
|
|
230
|
+
emit(handler, {
|
|
231
|
+
runId: FIRST_SEGMENT_RUN,
|
|
232
|
+
stream: "usage",
|
|
233
|
+
sessionKey: SESSION_KEY,
|
|
234
|
+
data: { outputTokens: 0 },
|
|
235
|
+
});
|
|
236
|
+
emit(handler, {
|
|
237
|
+
runId: FIRST_SEGMENT_RUN,
|
|
238
|
+
stream: "usage",
|
|
239
|
+
sessionKey: SESSION_KEY,
|
|
240
|
+
data: {},
|
|
241
|
+
});
|
|
242
|
+
});
|
|
130
243
|
assert.equal(events.length, 0);
|
|
131
244
|
});
|
|
132
245
|
});
|