aws-runtime-bridge 1.9.50 → 1.9.52
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/dist/adapter/AcodeSdkAdapter.d.ts.map +1 -1
- package/dist/adapter/AcodeSdkAdapter.js +17 -3
- package/dist/routes/file-diff-rollback.d.ts +17 -3
- package/dist/routes/file-diff-rollback.d.ts.map +1 -1
- package/dist/routes/file-diff-rollback.js +52 -29
- package/package/acode/dist/runtime.d.ts +36 -0
- package/package/acode/dist/runtime.d.ts.map +1 -1
- package/package/acode/dist/runtime.js +82 -1
- package/package/aws-client-agent-mcp/dist/websocket-client.d.ts +24 -0
- package/package/aws-client-agent-mcp/dist/websocket-client.d.ts.map +1 -1
- package/package/aws-client-agent-mcp/dist/websocket-client.js +61 -2
- package/package/aws-client-agent-mcp/dist/websocket-client.js.map +1 -1
- package/package/aws-client-agent-mcp/dist/websocket-client.test.js +54 -0
- package/package/aws-client-agent-mcp/dist/websocket-client.test.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcodeSdkAdapter.d.ts","sourceRoot":"","sources":["../../src/adapter/AcodeSdkAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAgB3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAazD,OAAO,KAAK,EAEV,oBAAoB,EACpB,mBAAmB,EAEnB,mBAAmB,EAEnB,mBAAmB,EAEnB,aAAa,EAEd,MAAM,YAAY,CAAC;AAcpB,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI,CAAC;IACpE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,gEAAgE;IAChE,oBAAoB,CAAC,CACnB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,OAAO,CAAC;CACZ,CAAC;AAEF,KAAK,uBAAuB,GAAG,KAAK,MAAM,EAAE;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;QAC1C,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;KAC7B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B,KAAK,oBAAoB,CAAC;AA2F3B,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEpE;AAgJD;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAET;AAyDD,qBAAa,eACX,SAAQ,YACR,YAAW,mBAAmB;IAE9B,QAAQ,CAAC,UAAU,WAAW;IAC9B,QAAQ,CAAC,WAAW,WAAW;IAE/B,OAAO,CAAC,QAAQ,CAAwC;IACxD,OAAO,CAAC,kBAAkB,CAAC,CAA0B;IAE/C,YAAY,CAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,IAAI,CAAC;IA4DV,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgG9D,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAE3E;;;;;OAKG;IACG,kBAAkB,CACtB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,OAAO,CAAC,IAAI,CAAC;IAqBV,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwC9C,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBxD,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,mBAAmB,EAAE;IAIzD,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAItC,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI3D,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAI9D;;;;OAIG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAInE;;;;;OAKG;IACH,kBAAkB,CAChB,SAAS,EAAE,MAAM,GAChB;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,EAAE,CAAA;KAAE,GAAG,SAAS;IAS3D,OAAO,IAAI,IAAI;IAMf,eAAe,CACb,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE;QAAE,gBAAgB,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,GAC9D,IAAI;IAuBP,iGAAiG;IACjG,4BAA4B,CAC1B,kBAAkB,EAAE,uBAAuB,GAC1C,IAAI;IAIP;;;;;OAKG;IACH;;;;;OAKG;YACW,wBAAwB;IA6DtC;;;;;;;OAOG;YACW,oBAAoB;YA+FpB,aAAa;YAgEb,sBAAsB;IAepC,OAAO,CAAC,cAAc;IAQtB;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAsC9B,OAAO,CAAC,iBAAiB;IAkxBzB,OAAO,CAAC,iBAAiB;IAazB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,oBAAoB;IAmF5B;;;;;;;;OAQG;IACH,OAAO,CAAC,gBAAgB;IA6BxB,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,qBAAqB;IAU7B;;;;;OAKG;IACH,OAAO,CAAC,gCAAgC;IAQxC,OAAO,CAAC,kBAAkB;IAkG1B;;;;;;;;OAQG;IACH,OAAO,CAAC,uCAAuC;IA+D/C;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,2BAA2B;
|
|
1
|
+
{"version":3,"file":"AcodeSdkAdapter.d.ts","sourceRoot":"","sources":["../../src/adapter/AcodeSdkAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1801,13 +1801,27 @@ export class AcodeSdkAdapter extends EventEmitter {
|
|
|
1801
1801
|
currentEntry.watchdogLastDataFlowTime = now;
|
|
1802
1802
|
return;
|
|
1803
1803
|
}
|
|
1804
|
-
//
|
|
1805
|
-
|
|
1804
|
+
// ★ 看门狗只在 thinking 状态工作:检测 ai_request 发出后 provider 流挂死。
|
|
1805
|
+
// tool_using 状态下完全不触发看门狗——每个工具都有自己的超时机制:
|
|
1806
|
+
// - MCP 普通工具:60s(DEFAULT_MCP_TOOL_CALL_TIMEOUT_MS)
|
|
1807
|
+
// - 内置文件工具/Bash:fallbackTimeoutMs / 自带 timeout_ms
|
|
1808
|
+
// - ask_user_question:question_request 事件取消看门狗,依赖用户回答
|
|
1809
|
+
// - await_sub_agents:无超时,依赖子 agent 自己的 runtime 看门狗
|
|
1810
|
+
// 若在 tool_using 触发看门狗,abort() 即使能中断工具,也会打断 agent 正在进行的
|
|
1811
|
+
// 合法长时间操作(如等待子 agent 完成),违反"看门狗不应影响 agent 动作"原则。
|
|
1812
|
+
// 同时重置计时基准,避免 tool_using 期间累积时间带到下一次 thinking 误触发。
|
|
1813
|
+
if (status === "tool_using") {
|
|
1814
|
+
currentEntry.watchdogLastDataFlowTime = now;
|
|
1815
|
+
currentEntry.watchdogSubmitStartTime = now;
|
|
1816
|
+
return;
|
|
1817
|
+
}
|
|
1818
|
+
// 其他非 thinking 状态(compacting/error 等)不计时
|
|
1819
|
+
if (status !== "thinking") {
|
|
1806
1820
|
return;
|
|
1807
1821
|
}
|
|
1808
1822
|
const submitElapsed = now - (currentEntry.watchdogSubmitStartTime || now);
|
|
1809
1823
|
const dataFlowElapsed = now - (currentEntry.watchdogLastDataFlowTime || now);
|
|
1810
|
-
// 数据流超时(40s 无流式数据)—
|
|
1824
|
+
// 数据流超时(40s 无流式数据)— 仅 thinking 状态触发,比 submit 超时(120s)更短,优先触发
|
|
1811
1825
|
if (dataFlowElapsed >= ACODE_DATA_FLOW_STREAM_WATCHDOG_MS) {
|
|
1812
1826
|
console.warn(`[ACode] CRITICAL: Data flow watchdog triggered after ${Math.round(dataFlowElapsed / 1000)}s ` +
|
|
1813
1827
|
`(source: ${source}, session: ${sessionId}, status: ${status}). ` +
|
|
@@ -9,12 +9,14 @@
|
|
|
9
9
|
* - CREATE:检查文件是否存在,准备删除
|
|
10
10
|
* - UPDATE:读取 diff patch,读取当前文件内容,在内存中应用反向 patch 验证是否成功
|
|
11
11
|
* - DELETE:读取删除前的完整内容,准备重建
|
|
12
|
-
* 2.
|
|
13
|
-
*
|
|
12
|
+
* 2. 原子执行:预检全部通过后,批量写入文件系统;任一预检失败则返回 previewFailed=true,
|
|
13
|
+
* 由调用方(前端)弹出"跳过不通过项 / 文件全量覆盖"二选一对话框。
|
|
14
|
+
* skipFailed=true 时仅执行通过项(partial);否则不写盘。
|
|
14
15
|
*
|
|
15
16
|
* 反向操作映射:
|
|
16
17
|
* CREATE → DELETE(删除创建的文件)
|
|
17
|
-
* UPDATE → 应用反向 diff patch
|
|
18
|
+
* UPDATE → 应用反向 diff patch(精确撤销修改的部分,保留用户后续改动);
|
|
19
|
+
* 若补丁无法精确应用(上下文不匹配=冲突),报为预检失败,不静默整文件覆盖
|
|
18
20
|
* DELETE → 重新创建被删除的文件(根据 cacheKey 从 bridge 本地缓存读取)
|
|
19
21
|
*/
|
|
20
22
|
export declare const fileDiffRollbackRouter: import("express-serve-static-core").Router;
|
|
@@ -31,6 +33,13 @@ export interface ReverseOperation {
|
|
|
31
33
|
export interface DiffRollbackRequest {
|
|
32
34
|
workspacePath: string;
|
|
33
35
|
operations: ReverseOperation[];
|
|
36
|
+
/**
|
|
37
|
+
* 预检部分失败时的处理策略。
|
|
38
|
+
* - 缺省/ false:任一预检失败则直接返回 previewFailed,不写盘(由调用方决定后续动作)。
|
|
39
|
+
* - true:仅执行通过预检的操作(preview.plan 中的项),跳过失败项,
|
|
40
|
+
* 返回 partial:true,让调用方可以"跳过不通过项"而非整工作区快照覆盖。
|
|
41
|
+
*/
|
|
42
|
+
skipFailed?: boolean;
|
|
34
43
|
}
|
|
35
44
|
/** 单条操作的执行状态 */
|
|
36
45
|
export interface OperationDetail {
|
|
@@ -50,6 +59,11 @@ export interface DiffRollbackResult {
|
|
|
50
59
|
errors: string[];
|
|
51
60
|
/** 当 ok=false 且未执行写盘时为 true */
|
|
52
61
|
previewFailed?: boolean;
|
|
62
|
+
/**
|
|
63
|
+
* 部分执行标志:skipFailed=true 且仅有部分操作通过预检时,
|
|
64
|
+
* 已对通过项执行写盘、跳过失败项,返回 partial:true。
|
|
65
|
+
*/
|
|
66
|
+
partial?: boolean;
|
|
53
67
|
/** 每条操作的详细状态 */
|
|
54
68
|
details: OperationDetail[];
|
|
55
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-diff-rollback.d.ts","sourceRoot":"","sources":["../../src/routes/file-diff-rollback.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"file-diff-rollback.d.ts","sourceRoot":"","sources":["../../src/routes/file-diff-rollback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAWH,eAAO,MAAM,sBAAsB,4CAAW,CAAC;AAE/C,MAAM,WAAW,gBAAgB;IAC/B,aAAa;IACb,iBAAiB,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAClD,mBAAmB;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,qDAAqD;IACrD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,gBAAgB;AAChB,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa;IACb,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC/E,gBAAgB;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,+BAA+B;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB;IAChB,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B"}
|
|
@@ -9,12 +9,14 @@
|
|
|
9
9
|
* - CREATE:检查文件是否存在,准备删除
|
|
10
10
|
* - UPDATE:读取 diff patch,读取当前文件内容,在内存中应用反向 patch 验证是否成功
|
|
11
11
|
* - DELETE:读取删除前的完整内容,准备重建
|
|
12
|
-
* 2.
|
|
13
|
-
*
|
|
12
|
+
* 2. 原子执行:预检全部通过后,批量写入文件系统;任一预检失败则返回 previewFailed=true,
|
|
13
|
+
* 由调用方(前端)弹出"跳过不通过项 / 文件全量覆盖"二选一对话框。
|
|
14
|
+
* skipFailed=true 时仅执行通过项(partial);否则不写盘。
|
|
14
15
|
*
|
|
15
16
|
* 反向操作映射:
|
|
16
17
|
* CREATE → DELETE(删除创建的文件)
|
|
17
|
-
* UPDATE → 应用反向 diff patch
|
|
18
|
+
* UPDATE → 应用反向 diff patch(精确撤销修改的部分,保留用户后续改动);
|
|
19
|
+
* 若补丁无法精确应用(上下文不匹配=冲突),报为预检失败,不静默整文件覆盖
|
|
18
20
|
* DELETE → 重新创建被删除的文件(根据 cacheKey 从 bridge 本地缓存读取)
|
|
19
21
|
*/
|
|
20
22
|
import { promises as fs } from 'node:fs';
|
|
@@ -93,40 +95,42 @@ async function previewRollback(workspacePath, operations) {
|
|
|
93
95
|
details.push({ relativePath, originalOperation: 'UPDATE', status: 'preview_failed', reason });
|
|
94
96
|
break;
|
|
95
97
|
}
|
|
96
|
-
// 尝试用 diff patch
|
|
98
|
+
// 尝试用 diff patch 精确回滚。
|
|
99
|
+
// 关键设计:applyPatch 失败时不再静默回退到 beforeContent(那会丢弃用户/其他任务
|
|
100
|
+
// 对该文件的所有改动),而是报为 preview_failed,让前端弹出
|
|
101
|
+
// "跳过不通过项 / 文件全量覆盖" 二选一对话框。
|
|
97
102
|
const patch = await readDiffFromCache(normalizedWorkspace, op.cacheKey);
|
|
103
|
+
if (patch === null) {
|
|
104
|
+
const reason = `本地缓存中找不到 diff 补丁 (cacheKey=${op.cacheKey}),无法精确回滚`;
|
|
105
|
+
errors.push(`UPDATE rollback failed: ${reason} for ${relativePath}`);
|
|
106
|
+
details.push({ relativePath, originalOperation: 'UPDATE', status: 'preview_failed', reason });
|
|
107
|
+
break;
|
|
108
|
+
}
|
|
98
109
|
let rollbackContent = null;
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
if (result !== false) {
|
|
106
|
-
rollbackContent = result;
|
|
107
|
-
rollbackMethod = '反向 diff 补丁';
|
|
108
|
-
}
|
|
109
|
-
else {
|
|
110
|
-
log.warn(`Diff patch failed for ${relativePath}, falling back to beforeContent`);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
catch (err) {
|
|
114
|
-
log.warn(`Diff patch error for ${relativePath}: ${err.message}, falling back to beforeContent`);
|
|
110
|
+
try {
|
|
111
|
+
const parsed = Diff.parsePatch(patch);
|
|
112
|
+
const reversed = Diff.reversePatch(parsed);
|
|
113
|
+
const result = Diff.applyPatch(currentContent, reversed);
|
|
114
|
+
if (result !== false) {
|
|
115
|
+
rollbackContent = result;
|
|
115
116
|
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
if (beforeContent === null) {
|
|
121
|
-
const reason = `diff 补丁应用失败且本地缓存中找不到 beforeContent (cacheKey=${op.cacheKey})`;
|
|
117
|
+
else {
|
|
118
|
+
// 反向 diff 补丁无法精确应用(上下文不匹配),
|
|
119
|
+
// 说明文件已被其他任务或用户修改了 AI 改动的同一区域,存在冲突。
|
|
120
|
+
const reason = `反向 diff 补丁无法精确应用:文件当前内容与 AI 变更后的预期上下文不匹配,可能已被其他任务或用户修改了相同区域,存在冲突`;
|
|
122
121
|
errors.push(`UPDATE rollback failed: ${reason} for ${relativePath}`);
|
|
123
122
|
details.push({ relativePath, originalOperation: 'UPDATE', status: 'preview_failed', reason });
|
|
124
123
|
break;
|
|
125
124
|
}
|
|
126
|
-
|
|
125
|
+
}
|
|
126
|
+
catch (err) {
|
|
127
|
+
const reason = `反向 diff 补丁应用异常: ${err.message}`;
|
|
128
|
+
errors.push(`UPDATE rollback failed: ${reason} for ${relativePath}`);
|
|
129
|
+
details.push({ relativePath, originalOperation: 'UPDATE', status: 'preview_failed', reason });
|
|
130
|
+
break;
|
|
127
131
|
}
|
|
128
132
|
plan.push({ type: 'WRITE', fullPath, relativePath, originalOperation: 'UPDATE', content: rollbackContent });
|
|
129
|
-
details.push({ relativePath, originalOperation: 'UPDATE', status: 'preview_passed', action:
|
|
133
|
+
details.push({ relativePath, originalOperation: 'UPDATE', status: 'preview_passed', action: '应用反向 diff 补丁' });
|
|
130
134
|
// 更新内存状态:文件内容已回滚
|
|
131
135
|
fileContentMap.set(relativePath, rollbackContent);
|
|
132
136
|
break;
|
|
@@ -243,7 +247,7 @@ fileDiffRollbackRouter.post('/file-diff-rollback/preview', validateToken, async
|
|
|
243
247
|
* 无论成功失败,都返回每条操作的详细状态。
|
|
244
248
|
*/
|
|
245
249
|
fileDiffRollbackRouter.post('/file-diff-rollback/execute', validateToken, async (req, res) => {
|
|
246
|
-
const { workspacePath, operations } = req.body;
|
|
250
|
+
const { workspacePath, operations, skipFailed } = req.body;
|
|
247
251
|
if (!workspacePath || !Array.isArray(operations)) {
|
|
248
252
|
res.status(400).json({ error: 'workspacePath and operations (array) are required' });
|
|
249
253
|
return;
|
|
@@ -251,6 +255,25 @@ fileDiffRollbackRouter.post('/file-diff-rollback/execute', validateToken, async
|
|
|
251
255
|
// ── 第一步:内存预检 ──
|
|
252
256
|
const preview = await previewRollback(workspacePath, operations);
|
|
253
257
|
if (!preview.ok) {
|
|
258
|
+
// 策略:仅执行通过预检的项(跳过失败项)。
|
|
259
|
+
// preview.plan 只装通过项,且链式预演中失败项不会污染 fileContentMap,
|
|
260
|
+
// 因此通过项预计算出的目标内容天然保留了失败项的改动 —— 直接执行 plan 即等价于"跳过不通过项"。
|
|
261
|
+
if (skipFailed && preview.plan.length > 0) {
|
|
262
|
+
const execResult = await executePlan(preview.plan, preview.details);
|
|
263
|
+
const failedCount = preview.details.filter((d) => d.status === 'preview_failed').length;
|
|
264
|
+
log.warn(`Diff rollback partial execute: passed=${execResult.restored}, skippedFailed=${failedCount}, ioSkipped=${execResult.skipped}`);
|
|
265
|
+
const result = {
|
|
266
|
+
ok: execResult.errors.length === 0,
|
|
267
|
+
restored: execResult.restored,
|
|
268
|
+
skipped: execResult.skipped + failedCount,
|
|
269
|
+
errors: execResult.errors,
|
|
270
|
+
previewFailed: false,
|
|
271
|
+
partial: true,
|
|
272
|
+
details: execResult.details,
|
|
273
|
+
};
|
|
274
|
+
res.json(result);
|
|
275
|
+
return;
|
|
276
|
+
}
|
|
254
277
|
const result = {
|
|
255
278
|
ok: false,
|
|
256
279
|
restored: 0,
|
|
@@ -40,6 +40,20 @@ export declare class ACodeRuntime extends EventEmitter {
|
|
|
40
40
|
private submitQueue;
|
|
41
41
|
private activeTurn;
|
|
42
42
|
private abortRequested;
|
|
43
|
+
/**
|
|
44
|
+
* 当前正在 await_sub_agents 工具中阻塞等待的子 agent subId 集合。
|
|
45
|
+
*
|
|
46
|
+
* 用于让 abort()/stop() 能中断 awaitSubAgents 的阻塞:
|
|
47
|
+
* - awaitSubAgents 调用前把 subIds 加入此 set,finally 中移除
|
|
48
|
+
* - abort()/stop() 时对此 set 中每个 subId 调用 manager.abort(subId)
|
|
49
|
+
* - manager.abort 会 settle completionPromise(resolve with error)
|
|
50
|
+
* - 从而让 await completionPromise 解除阻塞,execute() 正常返回,
|
|
51
|
+
* executeSubmit 不再永久 pending,submitQueue 链恢复,后续 submit 可执行。
|
|
52
|
+
*
|
|
53
|
+
* 没有此机制时:abort() 只能中断 fetch 流,对 await completionPromise 无效,
|
|
54
|
+
* 导致 executeSubmit 永久阻塞 → submitQueue 死锁 → 后续 sendMessage 全部排队 → agent 无反应。
|
|
55
|
+
*/
|
|
56
|
+
private pendingAwaitedSubIds;
|
|
43
57
|
private sessionCompleteEmitted;
|
|
44
58
|
private contextVersion;
|
|
45
59
|
private readonly stopWaiters;
|
|
@@ -174,6 +188,28 @@ export declare class ACodeRuntime extends EventEmitter {
|
|
|
174
188
|
* 在 abort()/stop() 中调用,确保用户点停止或会话终止时 execute 不会永久阻塞。
|
|
175
189
|
*/
|
|
176
190
|
private rejectAllQuestionWaiters;
|
|
191
|
+
/**
|
|
192
|
+
* 取消当前正在 await_sub_agents 工具中阻塞等待的子 agent。
|
|
193
|
+
*
|
|
194
|
+
* 核心作用:让 abort()/stop() 能解除 awaitSubAgents 的阻塞,避免 submitQueue 死锁。
|
|
195
|
+
*
|
|
196
|
+
* 工作原理:
|
|
197
|
+
* 1. 遍历 pendingAwaitedSubIds(awaitSubAgents 工具执行期间记录的 subIds)
|
|
198
|
+
* 2. 对每个 subId 调用 manager.abort(subId)
|
|
199
|
+
* 3. manager.abort 会 settle completionPromise(resolve with error="aborted")
|
|
200
|
+
* 4. awaitSubAgents 中 await completionPromise 解除阻塞,execute() 正常返回
|
|
201
|
+
* 5. executeSubmit 完成,submit() Promise resolve,submitQueue 链恢复
|
|
202
|
+
* 6. 后续 sendMessage / auto-poll 的 submit 能正常排队执行
|
|
203
|
+
*
|
|
204
|
+
* 场景:看门狗触发 abort() 或用户点击停止时,agent 正卡在 await_sub_agents
|
|
205
|
+
* 等待子 agent 完成。若不取消子 agent,completionPromise 永不 settle,
|
|
206
|
+
* executeSubmit 永久 pending,submitQueue 死锁,agent 彻底无反应。
|
|
207
|
+
*
|
|
208
|
+
* 注意:此方法 fire-and-forget,不 await manager.abort 完成。
|
|
209
|
+
* manager.abort 内部会同步 settle completionPromise(通过 completionResolve),
|
|
210
|
+
* 解除 awaitSubAgents 阻塞无需等待 abort I/O 完成。
|
|
211
|
+
*/
|
|
212
|
+
private cancelPendingAwaitedSubAgents;
|
|
177
213
|
/** 终止 ACode 会话并发出 session_complete。 */
|
|
178
214
|
stop(): Promise<void>;
|
|
179
215
|
private resolveCommandDirs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAK3C,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAInE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAE/E,OAAO,EAIL,KAAK,UAAU,EAChB,MAAM,0BAA0B,CAAC;AA+BlC,OAAO,KAAK,EAOV,kBAAkB,EAGnB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,KAAK,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,UAAU,CAAC;CACzB;AAiyCD,qBAAa,YAAa,SAAQ,YAAY;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1018,6 +1018,20 @@ export class ACodeRuntime extends EventEmitter {
|
|
|
1018
1018
|
this.submitQueue = Promise.resolve();
|
|
1019
1019
|
this.activeTurn = false;
|
|
1020
1020
|
this.abortRequested = false;
|
|
1021
|
+
/**
|
|
1022
|
+
* 当前正在 await_sub_agents 工具中阻塞等待的子 agent subId 集合。
|
|
1023
|
+
*
|
|
1024
|
+
* 用于让 abort()/stop() 能中断 awaitSubAgents 的阻塞:
|
|
1025
|
+
* - awaitSubAgents 调用前把 subIds 加入此 set,finally 中移除
|
|
1026
|
+
* - abort()/stop() 时对此 set 中每个 subId 调用 manager.abort(subId)
|
|
1027
|
+
* - manager.abort 会 settle completionPromise(resolve with error)
|
|
1028
|
+
* - 从而让 await completionPromise 解除阻塞,execute() 正常返回,
|
|
1029
|
+
* executeSubmit 不再永久 pending,submitQueue 链恢复,后续 submit 可执行。
|
|
1030
|
+
*
|
|
1031
|
+
* 没有此机制时:abort() 只能中断 fetch 流,对 await completionPromise 无效,
|
|
1032
|
+
* 导致 executeSubmit 永久阻塞 → submitQueue 死锁 → 后续 sendMessage 全部排队 → agent 无反应。
|
|
1033
|
+
*/
|
|
1034
|
+
this.pendingAwaitedSubIds = new Set();
|
|
1021
1035
|
this.sessionCompleteEmitted = false;
|
|
1022
1036
|
this.contextVersion = 0;
|
|
1023
1037
|
this.stopWaiters = new Set();
|
|
@@ -1704,6 +1718,15 @@ export class ACodeRuntime extends EventEmitter {
|
|
|
1704
1718
|
this.abortController = null;
|
|
1705
1719
|
// ask_user_question 等待用户回答期间被 abort,需 reject 所有 waiter
|
|
1706
1720
|
this.rejectAllQuestionWaiters("aborted");
|
|
1721
|
+
// ★ 取消正在 await_sub_agents 中阻塞等待的子 agent,让 completionPromise settle,
|
|
1722
|
+
// 解除 execute() 阻塞,避免 submitQueue 永久死锁导致 agent 无反应。
|
|
1723
|
+
this.cancelPendingAwaitedSubAgents();
|
|
1724
|
+
// ★ 触发 stopWaiters,中断正在执行的 MCP 工具调用(callTool)。
|
|
1725
|
+
// MCP callTool 不监听 abortController.signal,只通过 stopWaiter.promise 被中断。
|
|
1726
|
+
// 若不触发,MCP 工具超过 120s 后看门狗触发 abort,但 callTool 仍 pending,
|
|
1727
|
+
// executeSubmit 永久阻塞 → submitQueue 死锁 → agent 无反应。
|
|
1728
|
+
// stopWaiters 是一次性的(触发后清空),不影响后续轮次的新 stopWaiter。
|
|
1729
|
+
this.notifyRuntimeStop();
|
|
1707
1730
|
}
|
|
1708
1731
|
/**
|
|
1709
1732
|
* 构造 ask_user_question 工具的依赖注入。
|
|
@@ -1811,7 +1834,26 @@ export class ACodeRuntime extends EventEmitter {
|
|
|
1811
1834
|
};
|
|
1812
1835
|
},
|
|
1813
1836
|
// 阻塞等待指定子 agent 数组完成
|
|
1814
|
-
|
|
1837
|
+
// ★ 记录正在等待的 subIds 到 pendingAwaitedSubIds,让 abort()/stop() 能中断此阻塞:
|
|
1838
|
+
// manager.abort(subId) 会 settle completionPromise,使 await completionPromise 解除阻塞,
|
|
1839
|
+
// execute() 正常返回,executeSubmit 不再永久 pending,submitQueue 链恢复。
|
|
1840
|
+
awaitSubAgents: async (subIds, timeoutMs) => {
|
|
1841
|
+
// 记录当前等待的 subIds(用于 abort/stop 时中断)
|
|
1842
|
+
const tracking = new Set();
|
|
1843
|
+
for (const id of subIds) {
|
|
1844
|
+
this.pendingAwaitedSubIds.add(id);
|
|
1845
|
+
tracking.add(id);
|
|
1846
|
+
}
|
|
1847
|
+
try {
|
|
1848
|
+
return await manager.awaitCompletion(subIds, timeoutMs);
|
|
1849
|
+
}
|
|
1850
|
+
finally {
|
|
1851
|
+
// 清理跟踪记录(无论成功/失败/中断都需清理)
|
|
1852
|
+
for (const id of tracking) {
|
|
1853
|
+
this.pendingAwaitedSubIds.delete(id);
|
|
1854
|
+
}
|
|
1855
|
+
}
|
|
1856
|
+
},
|
|
1815
1857
|
// 终止某子 agent
|
|
1816
1858
|
abortSubAgent: (subId) => manager.abort(subId),
|
|
1817
1859
|
};
|
|
@@ -1846,6 +1888,42 @@ export class ACodeRuntime extends EventEmitter {
|
|
|
1846
1888
|
}
|
|
1847
1889
|
this.questionWaiters.clear();
|
|
1848
1890
|
}
|
|
1891
|
+
/**
|
|
1892
|
+
* 取消当前正在 await_sub_agents 工具中阻塞等待的子 agent。
|
|
1893
|
+
*
|
|
1894
|
+
* 核心作用:让 abort()/stop() 能解除 awaitSubAgents 的阻塞,避免 submitQueue 死锁。
|
|
1895
|
+
*
|
|
1896
|
+
* 工作原理:
|
|
1897
|
+
* 1. 遍历 pendingAwaitedSubIds(awaitSubAgents 工具执行期间记录的 subIds)
|
|
1898
|
+
* 2. 对每个 subId 调用 manager.abort(subId)
|
|
1899
|
+
* 3. manager.abort 会 settle completionPromise(resolve with error="aborted")
|
|
1900
|
+
* 4. awaitSubAgents 中 await completionPromise 解除阻塞,execute() 正常返回
|
|
1901
|
+
* 5. executeSubmit 完成,submit() Promise resolve,submitQueue 链恢复
|
|
1902
|
+
* 6. 后续 sendMessage / auto-poll 的 submit 能正常排队执行
|
|
1903
|
+
*
|
|
1904
|
+
* 场景:看门狗触发 abort() 或用户点击停止时,agent 正卡在 await_sub_agents
|
|
1905
|
+
* 等待子 agent 完成。若不取消子 agent,completionPromise 永不 settle,
|
|
1906
|
+
* executeSubmit 永久 pending,submitQueue 死锁,agent 彻底无反应。
|
|
1907
|
+
*
|
|
1908
|
+
* 注意:此方法 fire-and-forget,不 await manager.abort 完成。
|
|
1909
|
+
* manager.abort 内部会同步 settle completionPromise(通过 completionResolve),
|
|
1910
|
+
* 解除 awaitSubAgents 阻塞无需等待 abort I/O 完成。
|
|
1911
|
+
*/
|
|
1912
|
+
cancelPendingAwaitedSubAgents() {
|
|
1913
|
+
if (this.pendingAwaitedSubIds.size === 0)
|
|
1914
|
+
return;
|
|
1915
|
+
const manager = this.config.subAgentManager;
|
|
1916
|
+
if (!manager)
|
|
1917
|
+
return;
|
|
1918
|
+
const subIds = Array.from(this.pendingAwaitedSubIds);
|
|
1919
|
+
runtimeDebugLog(`[ACodeRuntime] ⛔ Cancelling ${subIds.length} pending awaited sub-agent(s): ${subIds.join(", ")}`);
|
|
1920
|
+
// fire-and-forget:manager.abort 内部同步 settle completionPromise 即可解除阻塞
|
|
1921
|
+
for (const subId of subIds) {
|
|
1922
|
+
void manager.abort(subId).catch((err) => {
|
|
1923
|
+
runtimeDebugLog(`[ACodeRuntime] ⚠️ manager.abort(${subId}) threw: ${err instanceof Error ? err.message : String(err)}`);
|
|
1924
|
+
});
|
|
1925
|
+
}
|
|
1926
|
+
}
|
|
1849
1927
|
/** 终止 ACode 会话并发出 session_complete。 */
|
|
1850
1928
|
async stop() {
|
|
1851
1929
|
if (this.state.terminated) {
|
|
@@ -1858,6 +1936,9 @@ export class ACodeRuntime extends EventEmitter {
|
|
|
1858
1936
|
this.abortController = null;
|
|
1859
1937
|
// ask_user_question 等待用户回答期间被 stop,需 reject 所有 waiter
|
|
1860
1938
|
this.rejectAllQuestionWaiters("session terminated");
|
|
1939
|
+
// ★ 取消正在 await_sub_agents 中阻塞等待的子 agent,让 completionPromise settle,
|
|
1940
|
+
// 解除 execute() 阻塞,避免 submitQueue 永久死锁。
|
|
1941
|
+
this.cancelPendingAwaitedSubAgents();
|
|
1861
1942
|
await runBestEffort("ACode active turn shutdown", this.submitQueue, (message) => {
|
|
1862
1943
|
this.emitAcodeEvent("error", { message });
|
|
1863
1944
|
});
|
|
@@ -24,6 +24,12 @@ export declare class WebSocketClient extends EventEmitter {
|
|
|
24
24
|
private logSequenceNumber;
|
|
25
25
|
private pendingLogBatches;
|
|
26
26
|
private isProcessingLogBatch;
|
|
27
|
+
/**
|
|
28
|
+
* 已处理的 reliable 消息 ID(msgId → 处理时间戳)。
|
|
29
|
+
* 用于对冲服务端 ACK 超时/丢失导致的消息重投,覆盖所有 reliable 事件类型,
|
|
30
|
+
* 而非仅靠下游 MessageBuffer 对私信/群聊的去重。
|
|
31
|
+
*/
|
|
32
|
+
private processedMsgIds;
|
|
27
33
|
constructor(config: ServerConfig, websocketFactory?: (url: string) => WebSocket);
|
|
28
34
|
/**
|
|
29
35
|
* 建立 WebSocket 连接
|
|
@@ -53,8 +59,26 @@ export declare class WebSocketClient extends EventEmitter {
|
|
|
53
59
|
private handleWebSocketOpen;
|
|
54
60
|
/**
|
|
55
61
|
* 处理 WebSocket 消息
|
|
62
|
+
*
|
|
63
|
+
* 可靠消息去重:服务端 ReliableMessageDeliveryService 在 ACK 超时(5s)或丢失时会
|
|
64
|
+
* 重发同一 messageId 的消息(最多 3 次 + 用户上线重投)。接收方若不区分重投与
|
|
65
|
+
* 首次投递,会对同一事件(如 agentStatus、profileInfo 等)重复处理。
|
|
66
|
+
* 这里在 ACK 之前检查 messageId 是否已处理过:
|
|
67
|
+
* - 重复消息:仍回 ACK(避免服务端继续重试堆积),但跳过 handleMessage;
|
|
68
|
+
* - 新消息:记录 messageId,回 ACK,正常处理。
|
|
56
69
|
*/
|
|
57
70
|
private handleWebSocketMessage;
|
|
71
|
+
/**
|
|
72
|
+
* 提取 reliable 消息的 messageId。
|
|
73
|
+
* 仅当 data 为对象、含非空 _msgId 且 _requireAck 为真时返回 messageId,否则返回 null。
|
|
74
|
+
*/
|
|
75
|
+
private extractReliableMessageId;
|
|
76
|
+
/**
|
|
77
|
+
* 标记 messageId 为已处理。
|
|
78
|
+
* 返回 true 表示该 messageId 此前已被处理过(重复投递),false 表示首次处理。
|
|
79
|
+
* 超出上限时淘汰最旧记录,避免内存无界增长。
|
|
80
|
+
*/
|
|
81
|
+
private markMsgIdProcessed;
|
|
58
82
|
private acknowledgeReliableMessage;
|
|
59
83
|
/**
|
|
60
84
|
* 处理 WebSocket 关闭事件
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-client.d.ts","sourceRoot":"","sources":["../src/websocket-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,SAAS,MAAM,IAAI,CAAC;AAG3B,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"websocket-client.d.ts","sourceRoot":"","sources":["../src/websocket-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,SAAS,MAAM,IAAI,CAAC;AAG3B,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,YAAY,CAAC;AAwCjE,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,qBAAqB,CAA+B;IAC5D,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,gBAAgB,CAA6B;IACrD,mDAAmD;IACnD,OAAO,CAAC,kBAAkB,CAAuB;IACjD,oCAAoC;IACpC,OAAO,CAAC,0BAA0B,CAAK;IAGvC,OAAO,CAAC,aAAa,CAAoE;IACzF,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,iBAAiB,CAA2C;IACpE,OAAO,CAAC,oBAAoB,CAAS;IAErC;;;;OAIG;IACH,OAAO,CAAC,eAAe,CAAkC;gBAGvD,MAAM,EAAE,YAAY,EACpB,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS;IAOjD;;;SAGK;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBvC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,qBAAqB;IAY7B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAuB7B;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAuBnC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAW3B;;;;;;;;;OASG;IACH,OAAO,CAAC,sBAAsB;IAuB9B;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAehC;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,0BAA0B;IAalC;;OAEG;YACW,oBAAoB;IA4BlC;;;;;;;;OAQG;YACW,8BAA8B;IA4B5C;;;;;;;;OAQG;YACW,oCAAoC;IAyDlD;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAoB5B;;OAEG;IACH,UAAU,IAAI,IAAI;IAiBlB;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAqB/B;;;;OAIG;IACH,cAAc,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO;IAgBpF;;;OAGG;IACH,OAAO,CAAC,aAAa;IAuCrB;;OAEG;IACH,OAAO,CAAC,YAAY;IAmBpB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAkBjC;;;OAGG;IACH,OAAO,CAAC,YAAY;IAapB;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,OAAO,CAAC,aAAa;IAqCrB;;OAEG;IACH,OAAO,CAAC,cAAc;IAgBtB;;OAEG;IACH,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,sBAAsB;IAgB9B,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,uBAAuB;IAI/B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,iBAAiB;IA8CzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAM5B"}
|
|
@@ -18,6 +18,12 @@ const LOG_SEND_MAX_RETRIES = 3;
|
|
|
18
18
|
const MAX_REFRESH_RETRIES = 3;
|
|
19
19
|
/** 单次发送最大日志数 */
|
|
20
20
|
const MAX_LOGS_PER_BATCH = 50;
|
|
21
|
+
/**
|
|
22
|
+
* 已处理 reliable 消息 ID 上限。
|
|
23
|
+
* 服务端 ReliableMessageDeliveryService 在 ACK 超时/丢失时会重发同一 messageId 的消息,
|
|
24
|
+
* 接收方需保留近期已处理 ID 以跳过重复业务处理;超出上限时淘汰最旧记录。
|
|
25
|
+
*/
|
|
26
|
+
const PROCESSED_MSG_ID_MAX_SIZE = 1000;
|
|
21
27
|
export class WebSocketClient extends EventEmitter {
|
|
22
28
|
ws = null;
|
|
23
29
|
config;
|
|
@@ -38,6 +44,12 @@ export class WebSocketClient extends EventEmitter {
|
|
|
38
44
|
logSequenceNumber = 0;
|
|
39
45
|
pendingLogBatches = new Map();
|
|
40
46
|
isProcessingLogBatch = false;
|
|
47
|
+
/**
|
|
48
|
+
* 已处理的 reliable 消息 ID(msgId → 处理时间戳)。
|
|
49
|
+
* 用于对冲服务端 ACK 超时/丢失导致的消息重投,覆盖所有 reliable 事件类型,
|
|
50
|
+
* 而非仅靠下游 MessageBuffer 对私信/群聊的去重。
|
|
51
|
+
*/
|
|
52
|
+
processedMsgIds = new Map();
|
|
41
53
|
constructor(config, websocketFactory) {
|
|
42
54
|
super();
|
|
43
55
|
this.config = config;
|
|
@@ -145,11 +157,25 @@ export class WebSocketClient extends EventEmitter {
|
|
|
145
157
|
}
|
|
146
158
|
/**
|
|
147
159
|
* 处理 WebSocket 消息
|
|
160
|
+
*
|
|
161
|
+
* 可靠消息去重:服务端 ReliableMessageDeliveryService 在 ACK 超时(5s)或丢失时会
|
|
162
|
+
* 重发同一 messageId 的消息(最多 3 次 + 用户上线重投)。接收方若不区分重投与
|
|
163
|
+
* 首次投递,会对同一事件(如 agentStatus、profileInfo 等)重复处理。
|
|
164
|
+
* 这里在 ACK 之前检查 messageId 是否已处理过:
|
|
165
|
+
* - 重复消息:仍回 ACK(避免服务端继续重试堆积),但跳过 handleMessage;
|
|
166
|
+
* - 新消息:记录 messageId,回 ACK,正常处理。
|
|
148
167
|
*/
|
|
149
168
|
handleWebSocketMessage(data) {
|
|
150
169
|
try {
|
|
151
170
|
const message = JSON.parse(data.toString());
|
|
171
|
+
const reliableMsgId = this.extractReliableMessageId(message);
|
|
172
|
+
const isDuplicate = reliableMsgId !== null && this.markMsgIdProcessed(reliableMsgId);
|
|
173
|
+
// 始终回 ACK,即使是重复消息,避免服务端重试队列堆积
|
|
152
174
|
this.acknowledgeReliableMessage(message);
|
|
175
|
+
if (isDuplicate) {
|
|
176
|
+
logger.info('[WebSocket] 忽略重复投递的可靠消息: msgId=%s, type=%s', reliableMsgId, message.type);
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
153
179
|
this.handleMessage(message);
|
|
154
180
|
}
|
|
155
181
|
catch (error) {
|
|
@@ -158,15 +184,48 @@ export class WebSocketClient extends EventEmitter {
|
|
|
158
184
|
logger.warn('[WebSocket] 消息解析失败, dataLength=%s, preview=%s:', rawText.length, preview, error);
|
|
159
185
|
}
|
|
160
186
|
}
|
|
161
|
-
|
|
187
|
+
/**
|
|
188
|
+
* 提取 reliable 消息的 messageId。
|
|
189
|
+
* 仅当 data 为对象、含非空 _msgId 且 _requireAck 为真时返回 messageId,否则返回 null。
|
|
190
|
+
*/
|
|
191
|
+
extractReliableMessageId(message) {
|
|
162
192
|
const payload = message.data;
|
|
163
193
|
if (!payload || typeof payload !== 'object') {
|
|
164
|
-
return;
|
|
194
|
+
return null;
|
|
165
195
|
}
|
|
166
196
|
const data = payload;
|
|
167
197
|
const messageId = String(data._msgId || '').trim();
|
|
168
198
|
const requireAck = data._requireAck === true || data._requireAck === 'true';
|
|
169
199
|
if (!messageId || !requireAck) {
|
|
200
|
+
return null;
|
|
201
|
+
}
|
|
202
|
+
return messageId;
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* 标记 messageId 为已处理。
|
|
206
|
+
* 返回 true 表示该 messageId 此前已被处理过(重复投递),false 表示首次处理。
|
|
207
|
+
* 超出上限时淘汰最旧记录,避免内存无界增长。
|
|
208
|
+
*/
|
|
209
|
+
markMsgIdProcessed(messageId) {
|
|
210
|
+
if (this.processedMsgIds.has(messageId)) {
|
|
211
|
+
return true;
|
|
212
|
+
}
|
|
213
|
+
this.processedMsgIds.set(messageId, Date.now());
|
|
214
|
+
if (this.processedMsgIds.size > PROCESSED_MSG_ID_MAX_SIZE) {
|
|
215
|
+
let count = 0;
|
|
216
|
+
const toDelete = this.processedMsgIds.size - PROCESSED_MSG_ID_MAX_SIZE;
|
|
217
|
+
for (const key of this.processedMsgIds.keys()) {
|
|
218
|
+
if (count >= toDelete)
|
|
219
|
+
break;
|
|
220
|
+
this.processedMsgIds.delete(key);
|
|
221
|
+
count++;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
return false;
|
|
225
|
+
}
|
|
226
|
+
acknowledgeReliableMessage(message) {
|
|
227
|
+
const messageId = this.extractReliableMessageId(message);
|
|
228
|
+
if (!messageId) {
|
|
170
229
|
return;
|
|
171
230
|
}
|
|
172
231
|
this.send({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-client.js","sourceRoot":"","sources":["../src/websocket-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,SAAS,MAAM,IAAI,CAAC;AAE3B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,MAAM,4BAA4B,GAAG,IAAI,CAAC;AAE1C,mBAAmB;AACnB,MAAM,8BAA8B,GAAG,KAAK,CAAC;AAE7C,qBAAqB;AACrB,MAAM,2BAA2B,GAAG,IAAI,CAAC;AAEzC,oBAAoB;AACpB,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAElC,eAAe;AACf,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAE/B,iDAAiD;AACjD,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAE9B,gBAAgB;AAChB,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAa9B,MAAM,OAAO,eAAgB,SAAQ,YAAY;IACvC,EAAE,GAAqB,IAAI,CAAC;IAC5B,MAAM,CAAe;IACrB,OAAO,GAAkB,IAAI,CAAC;IAC9B,cAAc,GAA0B,IAAI,CAAC;IAC7C,qBAAqB,GAA0B,IAAI,CAAC;IACpD,iBAAiB,GAAG,CAAC,CAAC;IACtB,cAAc,GAA0B,IAAI,CAAC;IAC7C,aAAa,GAAG,KAAK,CAAC;IACtB,gBAAgB,CAA6B;IACrD,mDAAmD;IAC3C,kBAAkB,GAAkB,IAAI,CAAC;IACjD,oCAAoC;IAC5B,0BAA0B,GAAG,CAAC,CAAC;IAEvC,UAAU;IACF,aAAa,GAAiE,EAAE,CAAC;IACjF,aAAa,GAA0B,IAAI,CAAC;IAC5C,iBAAiB,GAAG,CAAC,CAAC;IACtB,iBAAiB,GAAiC,IAAI,GAAG,EAAE,CAAC;IAC5D,oBAAoB,GAAG,KAAK,CAAC;IAErC,YACE,MAAoB,EACpB,gBAA6C;QAE7C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,IAAI,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IACpF,CAAC;IAEH;;;SAGK;IACH,OAAO,CAAC,OAAe;QACrB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAEhC,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAEtE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAEhF,IAAI,CAAC;gBACH,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBACvC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;YACrE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,UAAU,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACxE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,OAAe;QACvC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAE3B,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;YACvD,IAAI,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC;YAC7B,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,OAAe;QACvC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC3C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACzC,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC;QAClE,IAAI,kBAAkB,EAAE,CAAC;YACvB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IAEO,qBAAqB,CAAC,GAAW;QACvC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBACrD,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,CAAC,OAAO,CAAC,iCAAiC,EAAE,OAAO,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED;;OAEG;IACK,qBAAqB,CAC3B,OAAmB,EACnB,MAA8B;QAE9B,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,MAAM,UAAU,GAAG,CAAC,KAAY,EAAQ,EAAE;YACxC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,GAAG,IAAI,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,WAAW,GAAG,GAAS,EAAE;YAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,GAAG,IAAI,CAAC;gBACf,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC;QAEF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;IACrC,CAAC;IAED;;OAEG;IACK,2BAA2B,CACjC,EAAa,EACb,UAAkC,EAClC,WAAuB;QAEvB,IAAI,MAAM,GAAG,KAAK,CAAC;QAEnB,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACjB,MAAM,GAAG,IAAI,CAAC;YACd,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAuB,EAAE,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;QAEjF,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;QAElD,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAY,EAAE,MAAc,EAAE,EAAE,CAC9C,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;QAE/D,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE,CAC9B,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,WAAuB;QACjD,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACjC,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,0BAA0B,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvB,WAAW,EAAE,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,sBAAsB,CAAC,IAAuB;QACpD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAA8B,CAAC;YACzE,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;YACzC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,kBAAkB,OAAO,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;YACnH,MAAM,CAAC,IAAI,CAAC,gDAAgD,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;IAEO,0BAA0B,CAAC,OAAkC;QACnE,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,OAAkC,CAAC;QAChD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACnD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,MAAM,CAAC;QAC5E,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;YAC1B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,oBAAoB,CAChC,IAAY,EACZ,MAAc,EACd,MAAe,EACf,UAAkC;QAElC,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC;QACpC,MAAM,CAAC,IAAI,CACT,0BAA0B,IAAI,YAAY,eAAe,gBAAgB,OAAO,YAAY,MAAM,uBAAuB,IAAI,CAAC,iBAAiB,EAAE,CAClJ,CAAC;QACF,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAExC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,UAAU,CAAC,IAAI,KAAK,CAAC,4BAA4B,IAAI,YAAY,eAAe,EAAE,CAAC,CAAC,CAAC;QACvF,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,MAAM,IAAI,CAAC,8BAA8B,EAAE,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,8BAA8B;QAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,oCAAoC,EAAE,CAAC;QAEjE,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;YAC1D,IAAI,CAAC,0BAA0B,GAAG,CAAC,CAAC;YACpC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAC3B,qDAAqD;YACrD,MAAM,CAAC,KAAK,CAAC,yEAAyE,CAAC,CAAC;YACxF,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAC3D,OAAO;QACT,CAAC;QAED,6CAA6C;QAC7C,IAAI,CAAC,0BAA0B,IAAI,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,0BAA0B,IAAI,mBAAmB,EAAE,CAAC;YAC3D,MAAM,CAAC,KAAK,CAAC,oCAAoC,IAAI,CAAC,0BAA0B,2BAA2B,CAAC,CAAC;YAC7G,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,oCAAoC,IAAI,CAAC,0BAA0B,IAAI,mBAAmB,QAAQ,CAAC,CAAC;QAChH,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,oCAAoC;QAChD,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC;QACvD,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACpC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,IAAI,EAAE,CAAC;QAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,uBAAuB,IAAI,OAAO,CAAC;QACjE,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC;QAE9D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,aAAa,gCAAgC,EAAE;gBAC7E,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,YAAY;oBACZ,YAAY,EAAE,IAAI;iBACnB,CAAC;gBACF,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,CAAC,IAAI,CAAC,uCAAuC,QAAQ,CAAC,MAAM,OAAO,CAAC,CAAC;gBAC3E,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoC,CAAC;YACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACzC,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;gBAC3C,2CAA2C;gBAC3C,OAAO,WAAW,CAAC;YACrB,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,kBAAkB,GAAG,QAAQ,CAAC;YAC1C,IAAI,CAAC,kBAAkB,GAAG,YAAY,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;YACpE,OAAO,WAAW,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC1D,MAAM,CAAC,IAAI,CAAC,uCAAuC,SAAS,KAAK,CAAC,CAAC;YACrE,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CACT,yCAAyC,EACzC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;gBACF,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAC1C,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC7E,CAAC;YACH,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,oBAAoB,CAC1B,KAAY,EACZ,MAAe,EACf,UAAkC;QAElC,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC;QACpC,MAAM,CAAC,KAAK,CACV,8EAA8E,EAC9E,OAAO,EACP,MAAM,EACN,IAAI,CAAC,iBAAiB,EACtB,KAAK,CAAC,OAAO,CACd,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;gBAC1C,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YACtC,CAAC;YACD,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;QACjB,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,OAAgB;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YAC3C,MAAM,CAAC,IAAI,CACT,uEAAuE,EACvE,OAAO,EACP,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,OAAO,CACb,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,oDAAoD,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YACnF,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,IAA2D;QACxE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAAE,OAAO,KAAK,CAAC;QAEtC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE9B,kBAAkB;QAClB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;gBACnC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,CAAC,EAAE,qBAAqB,CAAC,CAAC;QAC5B,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACK,aAAa;QACnB,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,oBAAoB;YAAE,OAAO;QAEzE,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;QAC/D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE/B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAEtC,wBAAwB;QACxB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACpD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE;gBACjC,IAAI,EAAE,KAAK;gBACX,cAAc,EAAE,MAAM;gBACtB,UAAU,EAAE,CAAC;gBACb,OAAO;gBACP,MAAM;aACP,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;YAChB,gBAAgB;YAChB,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,iBAAiB;gBACjB,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;oBACnC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;oBAC1B,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,CAAC,EAAE,qBAAqB,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACZ,2BAA2B;YAC3B,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,MAAc;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;YACxB,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE;gBACJ,cAAc,EAAE,MAAM;gBACtB,IAAI,EAAE,OAAO,CAAC,IAAI;aACnB;YACD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;QACD,uBAAuB;IACzB,CAAC;IAED;;OAEG;IACK,yBAAyB,CAAC,MAAc;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC;QAExB,IAAI,OAAO,CAAC,UAAU,IAAI,oBAAoB,EAAE,CAAC;YAC/C,MAAM,CAAC,IAAI,CAAC,qBAAqB,MAAM,WAAW,OAAO,CAAC,UAAU,MAAM,CAAC,CAAC;YAC5E,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,qBAAqB,MAAM,aAAa,oBAAoB,OAAO,CAAC,CAAC;YAClF,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACtC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,MAAM,OAAO,CAAC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,YAAY,CAAC,IAAa;QAChC,MAAM,OAAO,GAAG,IAA+B,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QAElD,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO;QAE3D,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtC,OAAO,CAAC,OAAO,EAAE,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,CAAC;IACnE,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,OAAkC;QACtD,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,WAAW;gBACd,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBACxC,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBACzC,MAAM;YACR,KAAK,eAAe;gBAClB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBACxC,MAAM;YACR,KAAK,WAAW;gBACd,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC7B,MAAM;YACR,KAAK,cAAc;gBACjB,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;gBAC9C,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBACvC,MAAM;YACR,KAAK,cAAc;gBACjB,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;gBAC9C,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBACvC,MAAM;YACR,KAAK,SAAS;gBACZ,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChC,MAAM;YACR,KAAK,oBAAoB,CAAC;YAC1B,KAAK,iBAAiB,CAAC;YACvB,KAAK,iBAAiB,CAAC;YACvB,KAAK,iBAAiB,CAAC;YACvB,KAAK,cAAc,CAAC;YACpB,KAAK,oBAAoB;gBACvB,MAAM;YACR;gBACE,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,cAAc;QACpB,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;YACrC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACvB,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAC9B,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,IAAI,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,MAAM;oBACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACK,aAAa;QACnB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YACtD,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1G,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAEO,qBAAqB;QAC3B,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAEO,sBAAsB;QAC5B,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,qBAAqB,GAAG,UAAU,CAAC,GAAG,EAAE;YAC3C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;gBACtD,OAAO;YACT,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,uBAAuB,EAAE,sBAAsB,CAAC,CAAC;YACjF,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;QACtB,CAAC,EAAE,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;IACrC,CAAC;IAEO,qBAAqB;QAC3B,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YACzC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QACpC,CAAC;IACH,CAAC;IAEO,uBAAuB;QAC7B,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,4BAA4B,CAAC;IACtE,CAAC;IAED;;;;;;;;;;;OAWG;IACK,iBAAiB;QACvB,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,KAAK,CAAC,CAAC,CAAC;QAC9D,IAAI,aAAa,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;YAChF,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,6DAA6D;QAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CACxB,IAAI,CAAC,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,EACvE,IAAI,CAAC,MAAM,CAAC,oBAAoB,IAAI,8BAA8B,CACnE,CAAC;QACF,kDAAkD;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,2BAA2B,CAAC,CAAC;QAC9F,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC;QAE7C,MAAM,SAAS,GAAG,aAAa;YAC7B,CAAC,CAAC,KAAK,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,IAAI;YACrE,CAAC,CAAC,KAAK,IAAI,CAAC,iBAAiB,YAAY,CAAC;QAE5C,MAAM,CAAC,IAAI,CAAC,eAAe,KAAK,SAAS,SAAS,YAAY,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,eAAe,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE9H,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;YACpC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBACzC,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACtE,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;oBAClE,MAAM,CAAC,IAAI,CAAC,0CAA0C,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;oBACxF,IAAI,QAAQ,EAAE,CAAC;wBACb,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;oBAC9D,CAAC;oBACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,EAAE,KAAK,CAAC,CAAC;IACZ,CAAC;IAGD;;OAEG;IACK,mBAAmB;QACzB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;IACH,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"websocket-client.js","sourceRoot":"","sources":["../src/websocket-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -506,6 +506,60 @@ describe('WebSocketClient reconnect behavior', () => {
|
|
|
506
506
|
client.disconnect();
|
|
507
507
|
}
|
|
508
508
|
});
|
|
509
|
+
it('should skip duplicate reliable messages but still ACK them', async () => {
|
|
510
|
+
const directMessageCalls = [];
|
|
511
|
+
const client = new WebSocketClient({
|
|
512
|
+
serverUrl: 'ws://localhost:8080/ws/agent',
|
|
513
|
+
heartbeatInterval: 1000,
|
|
514
|
+
heartbeatTimeout: 3000,
|
|
515
|
+
reconnectInterval: 20,
|
|
516
|
+
maxReconnectAttempts: 1,
|
|
517
|
+
}, (_url) => {
|
|
518
|
+
const socket = new FakeSocket();
|
|
519
|
+
setImmediate(() => {
|
|
520
|
+
socket.readyState = WebSocket.OPEN;
|
|
521
|
+
socket.emit('open');
|
|
522
|
+
});
|
|
523
|
+
return socket;
|
|
524
|
+
});
|
|
525
|
+
try {
|
|
526
|
+
client.on('error', () => { });
|
|
527
|
+
client.on('directMessage', (data) => {
|
|
528
|
+
directMessageCalls.push(data);
|
|
529
|
+
});
|
|
530
|
+
await client.connect('agent-test');
|
|
531
|
+
const socket = client.ws;
|
|
532
|
+
assert.ok(socket, 'socket should exist');
|
|
533
|
+
const buildPayload = () => JSON.stringify({
|
|
534
|
+
type: 'DM_MSG',
|
|
535
|
+
data: {
|
|
536
|
+
msgId: 'dm-dup-1',
|
|
537
|
+
_msgId: 'delivery-dup-1',
|
|
538
|
+
_requireAck: true,
|
|
539
|
+
senderId: 'agent-a',
|
|
540
|
+
senderName: 'Agent A',
|
|
541
|
+
receiverId: 'agent-test',
|
|
542
|
+
content: 'hello',
|
|
543
|
+
requireReply: false,
|
|
544
|
+
timestamp: '2026-05-06T10:00:00.000Z',
|
|
545
|
+
},
|
|
546
|
+
timestamp: '2026-05-06T10:00:00.000Z',
|
|
547
|
+
});
|
|
548
|
+
// 模拟服务端 ACK 超时后重发同一 messageId
|
|
549
|
+
socket.emit('message', Buffer.from(buildPayload()));
|
|
550
|
+
socket.emit('message', Buffer.from(buildPayload()));
|
|
551
|
+
const ackPayloads = socket.sentPayloads
|
|
552
|
+
.map(payload => JSON.parse(payload))
|
|
553
|
+
.filter(payload => payload.type === 'MESSAGE_ACK' && payload.data?.msgId === 'delivery-dup-1');
|
|
554
|
+
// 重复投递的消息仍需回 ACK,避免服务端继续重试堆积
|
|
555
|
+
assert.equal(ackPayloads.length, 2, 'should ACK both first and duplicate delivery');
|
|
556
|
+
// 业务侧只能收到一次
|
|
557
|
+
assert.equal(directMessageCalls.length, 1, 'should deliver duplicate message to handler only once');
|
|
558
|
+
}
|
|
559
|
+
finally {
|
|
560
|
+
client.disconnect();
|
|
561
|
+
}
|
|
562
|
+
});
|
|
509
563
|
it('should ignore terminal status messages without warning', async () => {
|
|
510
564
|
const originalWarn = console.warn;
|
|
511
565
|
const warnMessages = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-client.test.js","sourceRoot":"","sources":["../src/websocket-client.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"websocket-client.test.js","sourceRoot":"","sources":["../src/websocket-client.test.ts"],"names":[],"mappings":"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"}
|