@xgjktech/xg_cwork_im 1.19.30 → 1.19.32
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/src/connection/connection.d.ts.map +1 -1
- package/dist/src/connection/connection.js +13 -9
- package/dist/src/connection/connection.js.map +1 -1
- package/dist/src/connection/ws-message-segment.d.ts +35 -0
- package/dist/src/connection/ws-message-segment.d.ts.map +1 -0
- package/dist/src/connection/ws-message-segment.js +111 -0
- package/dist/src/connection/ws-message-segment.js.map +1 -0
- package/dist/src/connection/ws-message-segment.test.d.ts +2 -0
- package/dist/src/connection/ws-message-segment.test.d.ts.map +1 -0
- package/dist/src/connection/ws-message-segment.test.js +76 -0
- package/dist/src/connection/ws-message-segment.test.js.map +1 -0
- package/dist/src/turn/active-round-registry.d.ts +5 -0
- package/dist/src/turn/active-round-registry.d.ts.map +1 -1
- package/dist/src/turn/active-round-registry.js +27 -2
- package/dist/src/turn/active-round-registry.js.map +1 -1
- package/dist/src/turn/active-round-registry.test.js +32 -1
- package/dist/src/turn/active-round-registry.test.js.map +1 -1
- package/dist/src/workspace/connection-workspace-event.test.js +58 -0
- package/dist/src/workspace/connection-workspace-event.test.js.map +1 -1
- package/dist/src/workspace/workspace-event.d.ts.map +1 -1
- package/dist/src/workspace/workspace-event.js +62 -6
- package/dist/src/workspace/workspace-event.js.map +1 -1
- package/dist/src/workspace/workspace-event.test.js +42 -0
- package/dist/src/workspace/workspace-event.test.js.map +1 -1
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../src/connection/connection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../src/connection/connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
import WebSocket from "ws";
|
|
12
12
|
import { OPENCLAW_WORKSPACE_EVENT_CMD } from "../workspace/workspace-event-protocol.js";
|
|
13
13
|
import { parseWsInboundMessage } from "./ws-inbound-schema.js";
|
|
14
|
+
import { encodeWsMessage } from "./ws-message-segment.js";
|
|
14
15
|
export const OPENCLAW_APPLY_SYNC_MAPPING_CMD = "openclawApplySyncMapping";
|
|
15
16
|
export { OPENCLAW_WORKSPACE_EVENT_CMD } from "../workspace/workspace-event-protocol.js";
|
|
16
17
|
/**
|
|
@@ -267,18 +268,21 @@ export function startWebSocket(config, token, onMessage, log, hooks) {
|
|
|
267
268
|
Promise.resolve(hooks.onWorkspaceEvent(parsed.params))
|
|
268
269
|
.then(async (params) => {
|
|
269
270
|
const socket = ensureSocketReady();
|
|
270
|
-
const
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
271
|
+
const encoded = encodeWsMessage({ cmd: OPENCLAW_WORKSPACE_EVENT_CMD, params });
|
|
272
|
+
for (const frame of encoded.frames) {
|
|
273
|
+
await new Promise((resolve, reject) => {
|
|
274
|
+
socket.send(frame, (err) => {
|
|
275
|
+
if (err)
|
|
276
|
+
reject(err);
|
|
277
|
+
else
|
|
278
|
+
resolve();
|
|
279
|
+
});
|
|
277
280
|
});
|
|
278
|
-
}
|
|
281
|
+
}
|
|
279
282
|
log.info(`${logPrefix} ⇒ WS ${OPENCLAW_WORKSPACE_EVENT_CMD}: ` +
|
|
280
283
|
`event=${String(params.event ?? "?")} groupId=${String(params.groupId ?? "?")} ` +
|
|
281
|
-
`relayId=${String(params._wsRelayId ?? "?")} success=${String(params.success ?? false)}`
|
|
284
|
+
`relayId=${String(params._wsRelayId ?? "?")} success=${String(params.success ?? false)} ` +
|
|
285
|
+
`bytes=${encoded.logicalBytes} frames=${encoded.frames.length}`);
|
|
282
286
|
})
|
|
283
287
|
.catch((err) => {
|
|
284
288
|
log.error(`${logPrefix} onWorkspaceEvent error: ${String(err)}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/connection/connection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/connection/connection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,SAAS,MAAM,IAAI,CAAC;AAI3B,OAAO,EAAE,4BAA4B,EAAE,MAAM,0CAA0C,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAY1D,MAAM,CAAC,MAAM,+BAA+B,GAAG,0BAA0B,CAAC;AAC1E,OAAO,EAAE,4BAA4B,EAAE,MAAM,0CAA0C,CAAC;AAwDxF;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAuB;IACrD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;IACzC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACjC,OAAO;QACH,GAAG,EAAE,eAAe;QACpB,MAAM,EAAE;YACJ,KAAK,EAAE,OAAO;YACd,IAAI,EAAE;gBACF,OAAO,EAAE,GAAG;gBACZ,YAAY,EAAE,MAAM;gBACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI;aAClC;SACJ;KACJ,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAA0B;IAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;IACzC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;IAC7C,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAEjD,MAAM,IAAI,GAA2B,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IACzF,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;IACpC,IAAI,MAAM,EAAE,CAAC;QACT,IAAI,CAAC,OAAO;YACR,MAAM,CAAC,MAAM,GAAG,uBAAuB;gBACnC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,uBAAuB,GAAG,CAAC,CAAC,GAAG;gBACpD,CAAC,CAAC,MAAM,CAAC;IACrB,CAAC;IACD,OAAO;QACH,GAAG,EAAE,eAAe;QACpB,MAAM,EAAE;YACJ,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI;SACP;KACJ,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,iBAAiB,CAAC;AAEvD,2DAA2D;AAC3D,MAAM,UAAU,oBAAoB,CAAC,IAA0B;IAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;IACzC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACjC,OAAO;QACH,GAAG,EAAE,eAAe;QACpB,MAAM,EAAE;YACJ,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE;gBACF,OAAO,EAAE,GAAG;gBACZ,YAAY,EAAE,MAAM;gBACpB,KAAK,EAAE,IAAI,CAAC,KAAK;aACpB;SACJ;KACJ,CAAC;AACN,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,qBAAqB,CAAC,IAA2B;IAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;IACzC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACjC,OAAO;QACH,GAAG,EAAE,eAAe;QACpB,MAAM,EAAE;YACJ,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE;gBACF,OAAO,EAAE,GAAG;gBACZ,YAAY,EAAE,MAAM;gBACpB,GAAG,IAAI,CAAC,IAAI;aACf;SACJ;KACJ,CAAC;AACN,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,oBAAoB,CAChC,MAAc,EACd,GAAwB;IAExB,MAAM,GAAG,GAAG,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IACzC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACjC,OAAO;QACH,GAAG,EAAE,eAAe;QACpB,MAAM,EAAE;YACJ,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE;gBACF,OAAO,EAAE,GAAG;gBACZ,YAAY,EAAE,MAAM;gBACpB,MAAM;aACT;SACJ;KACJ,CAAC;AACN,CAAC;AAmBD,6DAA6D;AAC7D,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAE/B,0CAA0C;AAC1C,MAAM,oBAAoB,GAAG,OAAO,CAAC;AAErC,sCAAsC;AACtC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAEpC,sBAAsB;AACtB,SAAS,SAAS,CACd,OAAe,EACf,OAAe,EACf,GAAW,EACX,MAAc;IAEd,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,IAAI,OAAO,EAAE,GAAG,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC;AACvC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC1B,MAAkB,EAClB,KAAa,EACb,SAA4B,EAC5B,GAAQ,EACR,KAA2B;IAE3B,MAAM,WAAW,GAAG,MAAM,CAAC,qBAAqB,IAAI,GAAG,CAAC;IACxD,MAAM,YAAY,GAAG,MAAM,CAAC,qBAAqB,IAAI,KAAK,CAAC;IAC3D,MAAM,QAAQ,GAAG,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC;IACpD,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,IAAI,GAAG,CAAC;IAC7C,MAAM,SAAS,GAAG,aAAa,MAAM,CAAC,OAAO,IAAI,MAAM,GAAG,CAAC;IAE3D,oDAAoD;IACpD,IAAI,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC;IAC9B,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,UAAU;QACV,kEAAkE;QAClE,oEAAoE;QACpE,MAAM,GAAG,MAAM,CAAC,OAAO;aAClB,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,MAAM,oCAAoC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;IAEvF,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,EAAE,GAAqB,IAAI,CAAC;IAChC,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAC/B,IAAI,aAAiC,CAAC;IACtC,IAAI,eAAmC,CAAC;IACxC,IAAI,cAAc,GAAyC,IAAI,CAAC;IAChE,IAAI,SAAS,GAA0C,IAAI,CAAC;IAC5D,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,cAAc;IACd,SAAS,cAAc;QACnB,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACrB,aAAa,CAAC,SAAS,CAAC,CAAC;YACzB,SAAS,GAAG,IAAI,CAAC;QACrB,CAAC;IACL,CAAC;IAED,6CAA6C;IAC7C,SAAS,cAAc,CAAC,MAAiB;QACrC,cAAc,EAAE,CAAC;QACjB,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;YACzB,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;gBACvC,cAAc,EAAE,CAAC;gBACjB,OAAO;YACX,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,SAAS,GAAG,GAAG,GAAG,WAAW,IAAI,oBAAoB,CAAC;YAC5D,IAAI,SAAS,EAAE,CAAC;gBACZ,WAAW,GAAG,GAAG,CAAC;gBAClB,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,mBAAmB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACxE,CAAC;YAED,wBAAwB;YACxB,MAAM,CAAC,IAAI,CAAC,CAAC,GAAiB,EAAE,EAAE;gBAC9B,IAAI,GAAG,EAAE,CAAC;oBACN,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,sBAAsB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC/D,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,0BAA0B;YAC1B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,SAAS,iBAAiB;QACtB,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,oDAAoD,CAAC,CAAC;QACtF,CAAC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED,SAAS,OAAO;QACZ,IAAI,OAAO;YAAE,OAAO;QAEpB,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,qCAAqC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC;QAE7E,EAAE,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;QAE1B,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACf,OAAO,GAAG,CAAC,CAAC,CAAC,cAAc;YAC3B,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,oCAAoC,CAAC,CAAC;YAC3D,cAAc,CAAC,EAAG,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,OAAO;QACP,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAsB,EAAE,EAAE;YACxC,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;YAEjC,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;gBAC/C,IAAI,MAAM,CAAC,KAAK;oBAAE,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,uBAAuB,SAAS,EAAE,CAAC,CAAC;gBAC9E,OAAO;YACX,CAAC;YAED,IAAI,MAAW,CAAC;YAChB,IAAI,CAAC;gBACD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAY,CAAC;YAC9C,CAAC;YAAC,MAAM,CAAC;gBACL,6BAA6B;gBAC7B,sBAAsB;gBACtB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBACf,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,+BAA+B,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;gBACrF,CAAC;gBACD,OAAO;YACX,CAAC;YAED,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,+BAA+B,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;YAElE,kCAAkC;YAClC,IAAI,MAAM,CAAC,GAAG,KAAK,mBAAmB,EAAE,CAAC;gBACrC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBACf,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,gCAAgC,CAAC,CAAC;gBAC9D,CAAC;gBACD,OAAO;YACX,CAAC;YAED,IACI,MAAM,CAAC,GAAG,KAAK,+BAA+B;gBAC9C,MAAM,CAAC,MAAM;gBACb,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EACnC,CAAC;gBACC,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,MAAM,+BAA+B,cAAe,MAAM,CAAC,MAAkC,CAAC,SAAS,IAAI,GAAG,EAAE,CAAC,CAAC;gBACvI,IAAI,KAAK,EAAE,aAAa,EAAE,CAAC;oBACvB,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,MAAiC,CAAC,CAAC,CAAC,KAAK,CAChF,CAAC,GAAY,EAAE,EAAE;wBACb,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,yBAAyB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAClE,CAAC,CACJ,CAAC;gBACN,CAAC;qBAAM,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBACtB,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,IAAI,+BAA+B,uBAAuB,CAAC,CAAC;gBACxF,CAAC;gBACD,OAAO;YACX,CAAC;YAED,kDAAkD;YAClD,IACI,MAAM,CAAC,GAAG,KAAK,4BAA4B;gBAC3C,MAAM,CAAC,MAAM;gBACb,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;gBACjC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAC/B,CAAC;gBACC,IAAI,CAAC,KAAK,EAAE,gBAAgB,EAAE,CAAC;oBAC3B,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,SAAS,IAAI,4BAA4B,uBAAuB,CAAC,CAAC;oBAChF,OAAO;gBACX,CAAC;gBACD,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAiC,CAAC,CAAC;qBAC5E,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;oBACnB,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;oBACnC,MAAM,OAAO,GAAG,eAAe,CAAC,EAAE,GAAG,EAAE,4BAA4B,EAAE,MAAM,EAAE,CAAC,CAAC;oBAC/E,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;wBACjC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;4BACxC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;gCACvB,IAAI,GAAG;oCAAE,MAAM,CAAC,GAAG,CAAC,CAAC;;oCAChB,OAAO,EAAE,CAAC;4BACnB,CAAC,CAAC,CAAC;wBACP,CAAC,CAAC,CAAC;oBACP,CAAC;oBACD,GAAG,CAAC,IAAI,CACJ,GAAG,SAAS,SAAS,4BAA4B,IAAI;wBACrD,SAAS,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC,YAAY,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC,GAAG;wBAChF,WAAW,MAAM,CAAC,MAAM,CAAC,UAAU,IAAI,GAAG,CAAC,YAAY,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC,GAAG;wBACzF,SAAS,OAAO,CAAC,YAAY,WAAW,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAClE,CAAC;gBACN,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;oBACpB,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,4BAA4B,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACrE,CAAC,CAAC,CAAC;gBACP,OAAO;YACX,CAAC;YAED,6CAA6C;YAC7C,IAAI,MAAM,CAAC,GAAG,KAAK,cAAc,IAAI,MAAM,CAAC,GAAG,KAAK,cAAc,EAAE,CAAC;gBACjE,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;gBAC9C,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;oBACd,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,SAAS,wCAAwC,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;oBAChG,OAAO;gBACX,CAAC;gBACD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;gBAC5B,IAAI,GAAG,CAAC,GAAG,KAAK,cAAc,EAAE,CAAC;oBAC7B,MAAM,QAAQ,GACV,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC9E,GAAG,CAAC,IAAI,CACJ,GAAG,SAAS,sCAAsC,GAAG,CAAC,MAAM,CAAC,OAAO,UAAU,GAAG,CAAC,MAAM,CAAC,KAAK,aAAa,QAAQ,EAAE,CACxH,CAAC;gBACN,CAAC;gBACD,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;oBACnD,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,2BAA2B,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACpE,CAAC,CAAC,CAAC;YACP,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAY,EAAE,MAAc,EAAE,EAAE;YAC5C,cAAc,EAAE,CAAC;YACjB,IAAI,OAAO,EAAE,CAAC;gBACV,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,uCAAuC,CAAC,CAAC;gBAC9D,OAAO;YACX,CAAC;YACD,MAAM,SAAS,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC/E,aAAa,GAAG,IAAI,CAAC;YACrB,eAAe,GAAG,SAAS,CAAC;YAE5B,wCAAwC;YACxC,EAAE,GAAG,IAAI,CAAC;YACV,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,+CAA+C,IAAI,YAAY,SAAS,2BAA2B,CAAC,CAAC;YAC1H,iBAAiB,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;YAC1B,IAAI,OAAO;gBAAE,OAAO;YACpB,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,qBAAqB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1D,+BAA+B;QACnC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,SAAS,iBAAiB;QACtB,IAAI,OAAO;YAAE,OAAO;QAEpB,IAAI,OAAO,IAAI,WAAW,EAAE,CAAC;YACzB,kBAAkB,GAAG,IAAI,CAAC;YAC1B,GAAG,CAAC,KAAK,CACL,GAAG,SAAS,wDAAwD,WAAW,GAAG;gBAC9E,mBAAmB,aAAa,IAAI,SAAS,GAAG;gBAChD,qBAAqB,IAAI,CAAC,SAAS,CAAC,eAAe,IAAI,QAAQ,CAAC,GAAG;gBACnE,uEAAuE,CAC9E,CAAC;YACF,KAAK,EAAE,oBAAoB,EAAE,CAAC;gBAC1B,WAAW;gBACX,aAAa;gBACb,eAAe;aAClB,CAAC,CAAC;YACH,OAAO;QACX,CAAC;QAED,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,oBAAoB,KAAK,eAAe,OAAO,IAAI,WAAW,MAAM,CAAC,CAAC;QAE3F,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;YAC7B,cAAc,GAAG,IAAI,CAAC;YACtB,OAAO,EAAE,CAAC;QACd,CAAC,EAAE,KAAK,CAAC,CAAC;IACd,CAAC;IAED,OAAO;IACP,OAAO,EAAE,CAAC;IAEV,MAAM,YAAY,GAAmB;QACjC,KAAK,CAAC,KAAK,CAAC,IAAuB;YAC/B,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAiB,CAAC;YAClD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,YAAsB,CAAC;YAE1D,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;YACnC,GAAG,CAAC,IAAI,CACJ,GAAG,SAAS,+BAA+B,GAAG,iBAAiB,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,GAAG,EAAE,CAClJ,CAAC;YACF,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACxC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE;oBACzC,IAAI,GAAG;wBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;;wBAChB,OAAO,EAAE,CAAC;gBACnB,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC;QAED,KAAK,CAAC,cAAc,CAAC,IAA0B;YAC3C,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,WAAqB,CAAC;YAC9D,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAiB,CAAC;YAElD,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;YACnC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,GAAG,CAAC,KAAK,EAAE,CACP,GAAG,SAAS,SAAS,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAC/G,CAAC;YACN,CAAC;iBAAM,IAAI,IAAI,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;gBACrC,GAAG,CAAC,IAAI,CACJ,GAAG,SAAS,qBAAqB,WAAW,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAC5G,CAAC;YACN,CAAC;YACD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACxC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE;oBACzC,IAAI,GAAG;wBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;;wBAChB,OAAO,EAAE,CAAC;gBACnB,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,IAA0B;YACxC,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAiB,CAAC;YAClD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAEzB,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;YACnC,GAAG,CAAC,IAAI,CACJ,GAAG,SAAS,4BAA4B,GAAG,GAAG;gBAC1C,YAAY,KAAK,CAAC,QAAQ,IAAI,QAAQ,GAAG;gBACzC,MAAM,KAAK,CAAC,WAAW,IAAI,GAAG,QAAQ,KAAK,CAAC,YAAY,IAAI,GAAG,GAAG;gBAClE,UAAU,KAAK,CAAC,MAAM,EAAE,CAC/B,CAAC;YACF,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACxC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE;oBACzC,IAAI,GAAG;wBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;;wBAChB,OAAO,EAAE,CAAC;gBACnB,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,IAA2B;YACvC,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAiB,CAAC;YAClD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,YAAsB,CAAC;YAE1D,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;YACnC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,SAAS,IAAI,CAAC,KAAK,aAAa,CAAC,CAAC;YAC9D,CAAC;YACD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACxC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE;oBACzC,IAAI,GAAG;wBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;;wBAChB,OAAO,EAAE,CAAC;gBACnB,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC;QAED,KAAK,CAAC,GAAG,CAAC,MAAc,EAAE,GAAwB;YAC9C,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAClD,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAiB,CAAC;YAClD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,YAAsB,CAAC;YAE1D,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;YACnC,GAAG,CAAC,IAAI,CACJ,GAAG,SAAS,kCAAkC,GAAG,iBAAiB,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,GAAG,WAAW,MAAM,EAAE,CACtK,CAAC;YACF,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACxC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE;oBACzC,IAAI,GAAG;wBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;;wBAChB,OAAO,EAAE,CAAC;gBACnB,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC;KACJ,CAAC;IAEF,OAAO;QACH,IAAI;YACA,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,mCAAmC,CAAC,CAAC;YAE1D,cAAc,EAAE,CAAC;YAEjB,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;gBAC1B,YAAY,CAAC,cAAc,CAAC,CAAC;gBAC7B,cAAc,GAAG,IAAI,CAAC;YAC1B,CAAC;YAED,IAAI,EAAE,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;gBAC3C,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;YACrC,CAAC;YACD,EAAE,GAAG,IAAI,CAAC;QACd,CAAC;QACD,YAAY;QACZ,oBAAoB,EAAE,GAAG,EAAE,CAAC,kBAAkB;KACjD,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/** ws-notify 历史 8 KiB 文本缓冲的防守性单帧上限。 */
|
|
2
|
+
export declare const WS_MAX_FRAME_BYTES = 7500;
|
|
3
|
+
/** 单条逻辑消息的重组上限,防止发送端和接收端无界占用内存。 */
|
|
4
|
+
export declare const WS_MAX_MESSAGE_BYTES: number;
|
|
5
|
+
export declare const WS_MAX_SEGMENTS = 65535;
|
|
6
|
+
export declare const WS_MESSAGE_SEGMENT_CMD = "_msgSegment";
|
|
7
|
+
export declare const DEFAULT_WS_SEGMENT_CMD_ALLOWLIST: ReadonlySet<string>;
|
|
8
|
+
export interface WsLogicalMessage {
|
|
9
|
+
cmd: string;
|
|
10
|
+
params?: unknown;
|
|
11
|
+
ts?: number;
|
|
12
|
+
[key: string]: unknown;
|
|
13
|
+
}
|
|
14
|
+
export interface EncodedWsMessage {
|
|
15
|
+
frames: string[];
|
|
16
|
+
logicalBytes: number;
|
|
17
|
+
segmented: boolean;
|
|
18
|
+
transferId?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface EncodeWsMessageOptions {
|
|
21
|
+
maxFrameBytes?: number;
|
|
22
|
+
maxMessageBytes?: number;
|
|
23
|
+
maxSegments?: number;
|
|
24
|
+
now?: () => number;
|
|
25
|
+
createTransferId?: () => string;
|
|
26
|
+
segmentCmdAllowlist?: ReadonlySet<string>;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* 将一条逻辑 WS 消息编码成一个或多个文本帧。
|
|
30
|
+
*
|
|
31
|
+
* 每片 data 都是对应原始字节片段的独立 base64;接收端应逐片 base64 解码后按 index
|
|
32
|
+
* 拼接字节,最后校验整包 sha256 并解析 UTF-8 JSON。
|
|
33
|
+
*/
|
|
34
|
+
export declare function encodeWsMessage(message: WsLogicalMessage, options?: EncodeWsMessageOptions): EncodedWsMessage;
|
|
35
|
+
//# sourceMappingURL=ws-message-segment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ws-message-segment.d.ts","sourceRoot":"","sources":["../../../src/connection/ws-message-segment.ts"],"names":[],"mappings":"AAEA,uCAAuC;AACvC,eAAO,MAAM,kBAAkB,OAAQ,CAAC;AACxC,mCAAmC;AACnC,eAAO,MAAM,oBAAoB,QAAkB,CAAC;AACpD,eAAO,MAAM,eAAe,QAAS,CAAC;AACtC,eAAO,MAAM,sBAAsB,gBAAgB,CAAC;AACpD,eAAO,MAAM,gCAAgC,EAAE,WAAW,CAAC,MAAM,CAE/D,CAAC;AAEH,MAAM,WAAW,gBAAgB;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,MAAM,CAAC;IAChC,mBAAmB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC7C;AAoCD;;;;;GAKG;AACH,wBAAgB,eAAe,CAC3B,OAAO,EAAE,gBAAgB,EACzB,OAAO,GAAE,sBAA2B,GACrC,gBAAgB,CAyElB"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { createHash, randomUUID } from "node:crypto";
|
|
2
|
+
/** ws-notify 历史 8 KiB 文本缓冲的防守性单帧上限。 */
|
|
3
|
+
export const WS_MAX_FRAME_BYTES = 7_500;
|
|
4
|
+
/** 单条逻辑消息的重组上限,防止发送端和接收端无界占用内存。 */
|
|
5
|
+
export const WS_MAX_MESSAGE_BYTES = 2 * 1024 * 1024;
|
|
6
|
+
export const WS_MAX_SEGMENTS = 65_535;
|
|
7
|
+
export const WS_MESSAGE_SEGMENT_CMD = "_msgSegment";
|
|
8
|
+
export const DEFAULT_WS_SEGMENT_CMD_ALLOWLIST = new Set([
|
|
9
|
+
"openclawWorkspaceEvent",
|
|
10
|
+
]);
|
|
11
|
+
function serializedBytes(value) {
|
|
12
|
+
return Buffer.byteLength(JSON.stringify(value), "utf8");
|
|
13
|
+
}
|
|
14
|
+
function relayIdFrom(message) {
|
|
15
|
+
if (!message.params || typeof message.params !== "object" || Array.isArray(message.params))
|
|
16
|
+
return undefined;
|
|
17
|
+
const relayId = message.params._wsRelayId;
|
|
18
|
+
return typeof relayId === "string" && relayId.length > 0 ? relayId : undefined;
|
|
19
|
+
}
|
|
20
|
+
function segmentEnvelope(args) {
|
|
21
|
+
return {
|
|
22
|
+
cmd: WS_MESSAGE_SEGMENT_CMD,
|
|
23
|
+
params: {
|
|
24
|
+
v: 1,
|
|
25
|
+
transferId: args.transferId,
|
|
26
|
+
index: args.index,
|
|
27
|
+
total: args.total,
|
|
28
|
+
data: args.data,
|
|
29
|
+
...(args.sha256 ? { sha256: args.sha256 } : {}),
|
|
30
|
+
...(args.relayId ? { _wsRelayId: args.relayId } : {}),
|
|
31
|
+
},
|
|
32
|
+
ts: args.ts,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* 将一条逻辑 WS 消息编码成一个或多个文本帧。
|
|
37
|
+
*
|
|
38
|
+
* 每片 data 都是对应原始字节片段的独立 base64;接收端应逐片 base64 解码后按 index
|
|
39
|
+
* 拼接字节,最后校验整包 sha256 并解析 UTF-8 JSON。
|
|
40
|
+
*/
|
|
41
|
+
export function encodeWsMessage(message, options = {}) {
|
|
42
|
+
const maxFrameBytes = options.maxFrameBytes ?? WS_MAX_FRAME_BYTES;
|
|
43
|
+
const maxMessageBytes = options.maxMessageBytes ?? WS_MAX_MESSAGE_BYTES;
|
|
44
|
+
const maxSegments = options.maxSegments ?? WS_MAX_SEGMENTS;
|
|
45
|
+
const serialized = JSON.stringify(message);
|
|
46
|
+
const bytes = Buffer.from(serialized, "utf8");
|
|
47
|
+
if (bytes.length > maxMessageBytes) {
|
|
48
|
+
throw new RangeError(`WebSocket logical message exceeds ${maxMessageBytes} bytes`);
|
|
49
|
+
}
|
|
50
|
+
if (bytes.length <= maxFrameBytes) {
|
|
51
|
+
return { frames: [serialized], logicalBytes: bytes.length, segmented: false };
|
|
52
|
+
}
|
|
53
|
+
const segmentCmdAllowlist = options.segmentCmdAllowlist ?? DEFAULT_WS_SEGMENT_CMD_ALLOWLIST;
|
|
54
|
+
if (!segmentCmdAllowlist.has(message.cmd)) {
|
|
55
|
+
throw new RangeError(`WebSocket cmd is not enabled for segmentation: ${message.cmd}`);
|
|
56
|
+
}
|
|
57
|
+
const transferId = (options.createTransferId ?? (() => `t_${randomUUID()}`))();
|
|
58
|
+
if (!transferId || transferId.length > 128) {
|
|
59
|
+
throw new RangeError("WebSocket segment transferId must be 1..128 characters");
|
|
60
|
+
}
|
|
61
|
+
const relayId = relayIdFrom(message);
|
|
62
|
+
const ts = (options.now ?? Date.now)();
|
|
63
|
+
const sha256 = createHash("sha256").update(bytes).digest("hex");
|
|
64
|
+
// 用协议允许的最大 index/total 和首片哈希测算统一容量,保证每一帧都不越界。
|
|
65
|
+
let low = 1;
|
|
66
|
+
let high = Math.min(bytes.length, maxFrameBytes);
|
|
67
|
+
let chunkBytes = 0;
|
|
68
|
+
while (low <= high) {
|
|
69
|
+
const mid = Math.floor((low + high) / 2);
|
|
70
|
+
const probe = segmentEnvelope({
|
|
71
|
+
transferId,
|
|
72
|
+
index: Math.max(0, maxSegments - 1),
|
|
73
|
+
total: maxSegments,
|
|
74
|
+
data: Buffer.alloc(mid).toString("base64"),
|
|
75
|
+
sha256,
|
|
76
|
+
relayId,
|
|
77
|
+
ts,
|
|
78
|
+
});
|
|
79
|
+
if (serializedBytes(probe) <= maxFrameBytes) {
|
|
80
|
+
chunkBytes = mid;
|
|
81
|
+
low = mid + 1;
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
high = mid - 1;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
if (chunkBytes === 0)
|
|
88
|
+
throw new RangeError("WebSocket frame limit is too small for segment metadata");
|
|
89
|
+
const total = Math.ceil(bytes.length / chunkBytes);
|
|
90
|
+
if (total > maxSegments)
|
|
91
|
+
throw new RangeError(`WebSocket logical message requires more than ${maxSegments} segments`);
|
|
92
|
+
const frames = [];
|
|
93
|
+
for (let index = 0; index < total; index += 1) {
|
|
94
|
+
const start = index * chunkBytes;
|
|
95
|
+
const frame = JSON.stringify(segmentEnvelope({
|
|
96
|
+
transferId,
|
|
97
|
+
index,
|
|
98
|
+
total,
|
|
99
|
+
data: bytes.subarray(start, Math.min(start + chunkBytes, bytes.length)).toString("base64"),
|
|
100
|
+
...(index === 0 ? { sha256 } : {}),
|
|
101
|
+
relayId,
|
|
102
|
+
ts,
|
|
103
|
+
}));
|
|
104
|
+
if (Buffer.byteLength(frame, "utf8") > maxFrameBytes) {
|
|
105
|
+
throw new Error("WebSocket segment encoder produced an oversized frame");
|
|
106
|
+
}
|
|
107
|
+
frames.push(frame);
|
|
108
|
+
}
|
|
109
|
+
return { frames, logicalBytes: bytes.length, segmented: true, transferId };
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=ws-message-segment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ws-message-segment.js","sourceRoot":"","sources":["../../../src/connection/ws-message-segment.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ws-message-segment.test.d.ts","sourceRoot":"","sources":["../../../src/connection/ws-message-segment.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import assert from "node:assert/strict";
|
|
2
|
+
import { createHash } from "node:crypto";
|
|
3
|
+
import { describe, it } from "node:test";
|
|
4
|
+
import { encodeWsMessage, WS_MAX_FRAME_BYTES, WS_MESSAGE_SEGMENT_CMD, } from "./ws-message-segment.js";
|
|
5
|
+
describe("encodeWsMessage", () => {
|
|
6
|
+
it("keeps messages at or below the frame limit unchanged", () => {
|
|
7
|
+
const message = { cmd: "small", params: { text: "中文" } };
|
|
8
|
+
const encoded = encodeWsMessage(message);
|
|
9
|
+
assert.equal(encoded.segmented, false);
|
|
10
|
+
assert.deepEqual(encoded.frames, [JSON.stringify(message)]);
|
|
11
|
+
});
|
|
12
|
+
it("switches to segmentation immediately above the exact frame boundary", () => {
|
|
13
|
+
const empty = { cmd: "openclawWorkspaceEvent", params: { text: "" } };
|
|
14
|
+
const overhead = Buffer.byteLength(JSON.stringify(empty), "utf8");
|
|
15
|
+
const atLimit = { ...empty, params: { text: "x".repeat(WS_MAX_FRAME_BYTES - overhead) } };
|
|
16
|
+
const aboveLimit = { ...empty, params: { text: `${atLimit.params.text}x` } };
|
|
17
|
+
assert.equal(Buffer.byteLength(JSON.stringify(atLimit), "utf8"), WS_MAX_FRAME_BYTES);
|
|
18
|
+
assert.equal(encodeWsMessage(atLimit).segmented, false);
|
|
19
|
+
assert.equal(encodeWsMessage(aboveLimit).segmented, true);
|
|
20
|
+
});
|
|
21
|
+
it("segments UTF-8 bytes into independently decodable frames within the limit", () => {
|
|
22
|
+
const message = {
|
|
23
|
+
cmd: "openclawWorkspaceEvent",
|
|
24
|
+
params: {
|
|
25
|
+
_wsRelayId: "relay-42",
|
|
26
|
+
event: "FILE_RESULT",
|
|
27
|
+
groupId: "42",
|
|
28
|
+
success: true,
|
|
29
|
+
content: "中文🙂\\\"".repeat(3_000),
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
const encoded = encodeWsMessage(message, {
|
|
33
|
+
now: () => 1234567890,
|
|
34
|
+
createTransferId: () => "t_test",
|
|
35
|
+
});
|
|
36
|
+
assert.equal(encoded.segmented, true);
|
|
37
|
+
assert.ok(encoded.frames.length > 1);
|
|
38
|
+
const chunks = [];
|
|
39
|
+
let expectedHash = "";
|
|
40
|
+
for (const [expectedIndex, raw] of encoded.frames.entries()) {
|
|
41
|
+
assert.ok(Buffer.byteLength(raw, "utf8") <= WS_MAX_FRAME_BYTES);
|
|
42
|
+
const frame = JSON.parse(raw);
|
|
43
|
+
assert.equal(frame.cmd, WS_MESSAGE_SEGMENT_CMD);
|
|
44
|
+
assert.equal(frame.params.transferId, "t_test");
|
|
45
|
+
assert.equal("groupId" in frame.params, false);
|
|
46
|
+
assert.equal(frame.params.index, expectedIndex);
|
|
47
|
+
assert.equal(frame.params.total, encoded.frames.length);
|
|
48
|
+
assert.equal(frame.params._wsRelayId, "relay-42");
|
|
49
|
+
assert.equal(frame.ts, 1234567890);
|
|
50
|
+
if (expectedIndex === 0) {
|
|
51
|
+
expectedHash = String(frame.params.sha256);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
assert.equal("sha256" in frame.params, false);
|
|
55
|
+
}
|
|
56
|
+
chunks.push(Buffer.from(String(frame.params.data), "base64"));
|
|
57
|
+
}
|
|
58
|
+
const restored = Buffer.concat(chunks);
|
|
59
|
+
assert.equal(restored.toString("utf8"), JSON.stringify(message));
|
|
60
|
+
assert.equal(createHash("sha256").update(restored).digest("hex"), expectedHash);
|
|
61
|
+
});
|
|
62
|
+
it("rejects logical messages over the reassembly limit", () => {
|
|
63
|
+
assert.throws(() => encodeWsMessage({ cmd: "large", params: { text: "x".repeat(101) } }, { maxMessageBytes: 100 }), /exceeds 100 bytes/);
|
|
64
|
+
});
|
|
65
|
+
it("segments only allowlisted commands by default and supports an explicit future extension", () => {
|
|
66
|
+
const large = { cmd: "futureLargeEvent", params: { text: "x".repeat(WS_MAX_FRAME_BYTES) } };
|
|
67
|
+
assert.throws(() => encodeWsMessage(large), /not enabled for segmentation/);
|
|
68
|
+
const encoded = encodeWsMessage(large, {
|
|
69
|
+
segmentCmdAllowlist: new Set(["futureLargeEvent"]),
|
|
70
|
+
createTransferId: () => "t_future",
|
|
71
|
+
});
|
|
72
|
+
assert.equal(encoded.segmented, true);
|
|
73
|
+
assert.equal(encoded.transferId, "t_future");
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
//# sourceMappingURL=ws-message-segment.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ws-message-segment.test.js","sourceRoot":"","sources":["../../../src/connection/ws-message-segment.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,11 @@ export interface ActiveRound {
|
|
|
13
13
|
interrupted: boolean;
|
|
14
14
|
}
|
|
15
15
|
export declare const buildRoundKey: (accountId: string, groupId: string) => string;
|
|
16
|
+
/**
|
|
17
|
+
* 续期活跃轮次(命中即视为有活动)。轮次仍在跑时,任何一次事件路由都会把 TTL 从当前时刻
|
|
18
|
+
* 重新起算;只有真正静默超过 TTL 的轮次才会被 pruneExpired 回收。
|
|
19
|
+
*/
|
|
20
|
+
export declare function touchActiveRound(roundKey: string, generation: number, now?: number): boolean;
|
|
16
21
|
export declare function registerActiveRound(params: {
|
|
17
22
|
accountId: string;
|
|
18
23
|
groupId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"active-round-registry.d.ts","sourceRoot":"","sources":["../../../src/turn/active-round-registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"active-round-registry.d.ts","sourceRoot":"","sources":["../../../src/turn/active-round-registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AASlE,MAAM,WAAW,WAAW;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,cAAc,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;CACxB;AAKD,eAAO,MAAM,aAAa,GAAI,WAAW,MAAM,EAAE,SAAS,MAAM,KAAG,MACI,CAAC;AAQxE;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,SAAa,GAAG,OAAO,CAKhG;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,cAAc,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,WAAW,CAqBd;AAED,wBAAgB,0BAA0B,CACtC,OAAO,EAAE,MAAM,EACf,GAAG,SAAa,GACjB,WAAW,GAAG,SAAS,CAczB;AAED,2DAA2D;AAC3D,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,SAAa,GAAG,WAAW,GAAG,SAAS,CAgBvG;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAI5F;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAEzE;AAED,wBAAgB,2BAA2B,CACvC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,GAAG,SAAa,GACjB,WAAW,GAAG,SAAS,CAMzB;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAKjF;AAED,wBAAgB,kCAAkC,IAAI,IAAI,CAEzD;AAED,wBAAwB;AACxB,wBAAgB,0BAA0B,IAAI,IAAI,CAGjD"}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import { getSharedMap } from "../plugin/process-shared-store.js";
|
|
2
|
+
/**
|
|
3
|
+
* 活跃轮次的基础 TTL。注意它是「最后一次活动」起算的滑动窗口,而不是注册时刻的固定
|
|
4
|
+
* 死线:只要有事件命中该轮次(plan/tool/usage/thinking 等路由查询),就会续期
|
|
5
|
+
* (见 touchActiveRound),因此长轮次不会因 30 分钟到点被提前清理而丢事件。
|
|
6
|
+
*/
|
|
2
7
|
const ACTIVE_ROUND_TTL_MS = 30 * 60 * 1000;
|
|
3
8
|
const rounds = getSharedMap("active-rounds");
|
|
4
9
|
const generations = getSharedMap("active-round-generations");
|
|
@@ -9,6 +14,17 @@ function pruneExpired(now = Date.now()) {
|
|
|
9
14
|
rounds.delete(roundKey);
|
|
10
15
|
}
|
|
11
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* 续期活跃轮次(命中即视为有活动)。轮次仍在跑时,任何一次事件路由都会把 TTL 从当前时刻
|
|
19
|
+
* 重新起算;只有真正静默超过 TTL 的轮次才会被 pruneExpired 回收。
|
|
20
|
+
*/
|
|
21
|
+
export function touchActiveRound(roundKey, generation, now = Date.now()) {
|
|
22
|
+
const round = getActiveRound(roundKey, generation);
|
|
23
|
+
if (!round)
|
|
24
|
+
return false;
|
|
25
|
+
round.expiresAt = now + ACTIVE_ROUND_TTL_MS;
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
12
28
|
export function registerActiveRound(params) {
|
|
13
29
|
const now = params.now ?? Date.now();
|
|
14
30
|
pruneExpired(now);
|
|
@@ -37,7 +53,11 @@ export function findActiveRoundForSubagent(groupId, now = Date.now()) {
|
|
|
37
53
|
if (matches.length > 1) {
|
|
38
54
|
console.warn(`[xg_cwork_im] [subagent] ambiguous active round groupId=${groupId}; monitoring rejected`);
|
|
39
55
|
}
|
|
40
|
-
|
|
56
|
+
const match = matches.length === 1 ? matches[0] : undefined;
|
|
57
|
+
// 命中即续期:只要这轮还在产生事件,就不因固定 TTL 到点被回收(长轮次丢 PLAN_STAT 的根因)。
|
|
58
|
+
if (match)
|
|
59
|
+
match.expiresAt = now + ACTIVE_ROUND_TTL_MS;
|
|
60
|
+
return match;
|
|
41
61
|
}
|
|
42
62
|
/** 按整轮父会话 sessionKey 定位活跃轮次(lifecycle/thinking 等事件路由用)。 */
|
|
43
63
|
export function findActiveRoundForSession(sessionKey, now = Date.now()) {
|
|
@@ -48,7 +68,12 @@ export function findActiveRoundForSession(sessionKey, now = Date.now()) {
|
|
|
48
68
|
if (matches.length > 1) {
|
|
49
69
|
console.warn(`[xg_cwork_im] [turn] ambiguous active round sessionKey=${sessionKey}; lifecycle routing rejected`);
|
|
50
70
|
}
|
|
51
|
-
|
|
71
|
+
const match = matches.length === 1 ? matches[0] : undefined;
|
|
72
|
+
// 命中即续期:长轮次(>30min)持续有 plan/tool/usage/thinking 事件时保持登记,
|
|
73
|
+
// 避免后半段事件定位不到活跃轮次而被静默丢弃。
|
|
74
|
+
if (match)
|
|
75
|
+
match.expiresAt = now + ACTIVE_ROUND_TTL_MS;
|
|
76
|
+
return match;
|
|
52
77
|
}
|
|
53
78
|
export function getActiveRound(roundKey, generation) {
|
|
54
79
|
const round = rounds.get(roundKey);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"active-round-registry.js","sourceRoot":"","sources":["../../../src/turn/active-round-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAGjE,MAAM,mBAAmB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAgB3C,MAAM,MAAM,GAAG,YAAY,CAAsB,eAAe,CAAC,CAAC;AAClE,MAAM,WAAW,GAAG,YAAY,CAAiB,0BAA0B,CAAC,CAAC;AAE7E,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAE,OAAe,EAAU,EAAE,CACxE,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;AAExE,SAAS,YAAY,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAClC,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;QACrC,IAAI,KAAK,CAAC,SAAS,IAAI,GAAG;YAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC;AACL,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAQnC;IACG,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACrC,YAAY,CAAC,GAAG,CAAC,CAAC;IAClB,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACxD,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACtC,MAAM,KAAK,GAAgB;QACvB,QAAQ;QACR,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,UAAU;QACV,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,GAAG,GAAG,mBAAmB;QACpC,WAAW,EAAE,KAAK;KACrB,CAAC;IACF,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5B,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,0BAA0B,CACtC,OAAe,EACf,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAEhB,YAAY,CAAC,GAAG,CAAC,CAAC;IAClB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAC9C,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,CAC7D,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CACR,2DAA2D,OAAO,uBAAuB,CAC5F,CAAC;IACN,CAAC;IACD,
|
|
1
|
+
{"version":3,"file":"active-round-registry.js","sourceRoot":"","sources":["../../../src/turn/active-round-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import assert from "node:assert/strict";
|
|
2
2
|
import { afterEach, describe, it } from "node:test";
|
|
3
|
-
import { __resetActiveRoundRegistryForTests, completeActiveRound, findActiveRoundForSubagent, prepareActiveRoundInterrupt, registerActiveRound, } from "./active-round-registry.js";
|
|
3
|
+
import { __resetActiveRoundRegistryForTests, completeActiveRound, findActiveRoundForSession, findActiveRoundForSubagent, prepareActiveRoundInterrupt, registerActiveRound, touchActiveRound, } from "./active-round-registry.js";
|
|
4
4
|
const client = {};
|
|
5
5
|
afterEach(() => __resetActiveRoundRegistryForTests());
|
|
6
6
|
describe("active round registry", () => {
|
|
@@ -58,5 +58,36 @@ describe("active round registry", () => {
|
|
|
58
58
|
});
|
|
59
59
|
assert.equal(findActiveRoundForSubagent("group-1"), round);
|
|
60
60
|
});
|
|
61
|
+
it("按 sessionKey 命中会续期 TTL:长轮次在滑动窗口内持续可见", () => {
|
|
62
|
+
const round = registerActiveRound({
|
|
63
|
+
accountId: "account-a",
|
|
64
|
+
groupId: "group-1",
|
|
65
|
+
agentId: "main",
|
|
66
|
+
sessionKey: "session-a1",
|
|
67
|
+
replyToMsgId: "reply-a1",
|
|
68
|
+
streamClient: client,
|
|
69
|
+
now: 0,
|
|
70
|
+
});
|
|
71
|
+
// 20 分钟时有事件:命中并续期到 50 分钟。
|
|
72
|
+
assert.equal(findActiveRoundForSession("session-a1", 20 * 60_000), round);
|
|
73
|
+
// 40 分钟(越过原始 30 分钟死线、但在续期窗口内)仍能命中。
|
|
74
|
+
assert.equal(findActiveRoundForSession("session-a1", 40 * 60_000), round);
|
|
75
|
+
// 续期后静默超过 30 分钟才真正过期。
|
|
76
|
+
assert.equal(findActiveRoundForSession("session-a1", 40 * 60_000 + 30 * 60_000 + 1), undefined);
|
|
77
|
+
});
|
|
78
|
+
it("touchActiveRound 只对当前 generation 生效", () => {
|
|
79
|
+
const round = registerActiveRound({
|
|
80
|
+
accountId: "account-a",
|
|
81
|
+
groupId: "group-1",
|
|
82
|
+
agentId: "main",
|
|
83
|
+
sessionKey: "session-a1",
|
|
84
|
+
replyToMsgId: "reply-a1",
|
|
85
|
+
streamClient: client,
|
|
86
|
+
now: 0,
|
|
87
|
+
});
|
|
88
|
+
assert.equal(touchActiveRound(round.roundKey, round.generation, 25 * 60_000), true);
|
|
89
|
+
assert.equal(findActiveRoundForSession("session-a1", 50 * 60_000), round);
|
|
90
|
+
assert.equal(touchActiveRound(round.roundKey, round.generation - 1, 0), false);
|
|
91
|
+
});
|
|
61
92
|
});
|
|
62
93
|
//# sourceMappingURL=active-round-registry.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"active-round-registry.test.js","sourceRoot":"","sources":["../../../src/turn/active-round-registry.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAEpD,OAAO,EACH,kCAAkC,EAClC,mBAAmB,EACnB,0BAA0B,EAC1B,2BAA2B,EAC3B,mBAAmB,
|
|
1
|
+
{"version":3,"file":"active-round-registry.test.js","sourceRoot":"","sources":["../../../src/turn/active-round-registry.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -70,5 +70,63 @@ describe("connection workspace event routing", () => {
|
|
|
70
70
|
await new Promise((resolve) => server.close(() => resolve()));
|
|
71
71
|
}
|
|
72
72
|
});
|
|
73
|
+
it("segments a large workspace response and preserves relay routing on every frame", async () => {
|
|
74
|
+
const server = new WebSocketServer({ port: 0 });
|
|
75
|
+
await once(server, "listening");
|
|
76
|
+
const address = server.address();
|
|
77
|
+
if (typeof address === "string" || address == null)
|
|
78
|
+
throw new Error("test server has no TCP port");
|
|
79
|
+
const handle = startWebSocket({
|
|
80
|
+
baseUrl: `http://127.0.0.1:${address.port}`,
|
|
81
|
+
wsBaseUrl: `ws://127.0.0.1:${address.port}`,
|
|
82
|
+
agentId: "main",
|
|
83
|
+
maxConnectionAttempts: 0,
|
|
84
|
+
}, "test-token", () => undefined, quietLog, {
|
|
85
|
+
onWorkspaceEvent: async (params) => ({
|
|
86
|
+
_wsRelayId: params._wsRelayId,
|
|
87
|
+
event: "FILE_RESULT",
|
|
88
|
+
groupId: params.groupId,
|
|
89
|
+
success: true,
|
|
90
|
+
path: "result.md",
|
|
91
|
+
content: "中".repeat(10_000),
|
|
92
|
+
}),
|
|
93
|
+
});
|
|
94
|
+
try {
|
|
95
|
+
const [socket] = await once(server, "connection");
|
|
96
|
+
const frames = [];
|
|
97
|
+
const complete = new Promise((resolve) => {
|
|
98
|
+
socket.on("message", (raw) => {
|
|
99
|
+
const frame = JSON.parse(raw.toString());
|
|
100
|
+
frames.push(frame);
|
|
101
|
+
if (frames.length === frame.params.total)
|
|
102
|
+
resolve();
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
socket.send(JSON.stringify({
|
|
106
|
+
cmd: OPENCLAW_WORKSPACE_EVENT_CMD,
|
|
107
|
+
params: {
|
|
108
|
+
_wsRelayId: "relay-large",
|
|
109
|
+
event: "FILE_REQUEST",
|
|
110
|
+
groupId: "42",
|
|
111
|
+
},
|
|
112
|
+
}));
|
|
113
|
+
await complete;
|
|
114
|
+
assert.ok(frames.length > 1);
|
|
115
|
+
assert.equal(frames.every((frame) => frame.cmd === "_msgSegment"), true);
|
|
116
|
+
assert.equal(frames.every((frame) => typeof frame.params.transferId === "string"), true);
|
|
117
|
+
assert.equal(new Set(frames.map((frame) => frame.params.transferId)).size, 1);
|
|
118
|
+
assert.equal(frames.every((frame) => !("groupId" in frame.params)), true);
|
|
119
|
+
assert.equal(frames.every((frame) => frame.params._wsRelayId === "relay-large"), true);
|
|
120
|
+
assert.equal(frames.every((frame) => Buffer.byteLength(JSON.stringify(frame), "utf8") <= 7_500), true);
|
|
121
|
+
const restored = Buffer.concat(frames.map((frame) => Buffer.from(frame.params.data, "base64")));
|
|
122
|
+
const message = JSON.parse(restored.toString("utf8"));
|
|
123
|
+
assert.equal(message.cmd, OPENCLAW_WORKSPACE_EVENT_CMD);
|
|
124
|
+
assert.equal(message.params.content, "中".repeat(10_000));
|
|
125
|
+
}
|
|
126
|
+
finally {
|
|
127
|
+
handle.stop();
|
|
128
|
+
await new Promise((resolve) => server.close(() => resolve()));
|
|
129
|
+
}
|
|
130
|
+
});
|
|
73
131
|
});
|
|
74
132
|
//# sourceMappingURL=connection-workspace-event.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection-workspace-event.test.js","sourceRoot":"","sources":["../../../src/workspace/connection-workspace-event.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,eAAe,EAAkB,MAAM,IAAI,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAE7E,MAAM,QAAQ,GAAQ;IAClB,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS;IACrB,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS;IACrB,KAAK,EAAE,GAAG,EAAE,CAAC,SAAS;CACzB,CAAC;AAEF,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAChD,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QAClF,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAChD,MAAM,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAChC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QACjC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,IAAI,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAEnG,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,MAAM,MAAM,GAAG,cAAc,CACzB;YACI,OAAO,EAAE,oBAAoB,OAAO,CAAC,IAAI,EAAE;YAC3C,SAAS,EAAE,kBAAkB,OAAO,CAAC,IAAI,EAAE;YAC3C,OAAO,EAAE,MAAM;YACf,qBAAqB,EAAE,CAAC;SACb,EACf,YAAY,EACZ,GAAG,EAAE;YACD,SAAS,IAAI,CAAC,CAAC;QACnB,CAAC,EACD,QAAQ,EACR;YACI,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBAC/B,cAAc,IAAI,CAAC,CAAC;gBACpB,OAAO;oBACH,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,KAAK,EAAE,aAAa;oBACpB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,EAAE;oBACR,OAAO,EAAE,EAAE;oBACX,UAAU,EAAE,IAAI;iBACnB,CAAC;YACN,CAAC;SACJ,CACJ,CAAC;QAEF,IAAI,CAAC;YACD,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,YAAY,CAAgB,CAAC;YACjE,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;gBACvB,GAAG,EAAE,4BAA4B;gBACjC,MAAM,EAAE;oBACJ,UAAU,EAAE,kBAAkB;oBAC9B,KAAK,EAAE,cAAc;oBACrB,OAAO,EAAE,IAAI;oBACb,SAAS,EAAE;wBACP,UAAU,EAAE,OAAO;wBACnB,QAAQ,EAAE,GAAG;wBACb,SAAS,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,GAAG,EAAE;qBACvD;oBACD,IAAI,EAAE,GAAG;iBACZ;aACJ,CAAC,CAAC,CAAC;YACJ,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,eAAe,CAAC;YACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAA4B,CAAC;YACvE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAiC,CAAC;YAE1D,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,4BAA4B,CAAC,CAAC;YACzD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;YACpD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;YAC1C,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;YAChC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAC/B,CAAC;gBAAS,CAAC;YACP,MAAM,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACxE,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"connection-workspace-event.test.js","sourceRoot":"","sources":["../../../src/workspace/connection-workspace-event.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-event.d.ts","sourceRoot":"","sources":["../../../src/workspace/workspace-event.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"workspace-event.d.ts","sourceRoot":"","sources":["../../../src/workspace/workspace-event.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG/D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAiB7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIrD,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAW7E,MAAM,MAAM,qBAAqB,GAAG,cAAc,GAAG,cAAc,CAAC;AACpE,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG,aAAa,CAAC;AACjE,MAAM,MAAM,kBAAkB,GACxB,iBAAiB,GACjB,wBAAwB,GACxB,WAAW,GACX,iBAAiB,GACjB,YAAY,GACZ,uBAAuB,GACvB,gBAAgB,GAChB,MAAM,GACN,aAAa,CAAC;AAoCpB,MAAM,WAAW,qBAAqB;IAClC,MAAM,EAAE,UAAU,CAAC;IACnB,GAAG,EAAE,cAAc,CAAC;IACpB,GAAG,EAAE,GAAG,CAAC;IACT,SAAS,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AA4wB7D;;GAEG;AACH,wBAAsB,oBAAoB,CACtC,GAAG,EAAE,qBAAqB,EAC1B,SAAS,EAAE,OAAO,GACnB,OAAO,CAAC,sBAAsB,CAAC,CAajC"}
|
|
@@ -9,10 +9,12 @@ import { readdir, readFile, realpath, stat } from "node:fs/promises";
|
|
|
9
9
|
import path from "node:path";
|
|
10
10
|
import { TextDecoder } from "node:util";
|
|
11
11
|
import { resolveAgentWorkspaceDir } from "openclaw/plugin-sdk/memory-core-host-engine-foundation";
|
|
12
|
+
import { RE2JS, RE2Set } from "re2js";
|
|
12
13
|
import { normalizeNasDockerDir, resolveNasVolumeHostDirectoryForRead, } from "./nas-volumes.js";
|
|
13
14
|
import { resolveNasSiteCode } from "./nas-site.js";
|
|
14
15
|
import { resolveWorkspaceEventConcurrencyLimits, workspaceEventScheduler, } from "./workspace-event-scheduler.js";
|
|
15
16
|
import { LOCAL_ROOT_KINDS, resolveLocalAbsolutePath, } from "./project-path-normalize.js";
|
|
17
|
+
import { WS_MAX_MESSAGE_BYTES } from "../connection/ws-message-segment.js";
|
|
16
18
|
import { OPENCLAW_WORKSPACE_EVENT_CMD } from "./workspace-event-protocol.js";
|
|
17
19
|
export { OPENCLAW_WORKSPACE_EVENT_CMD } from "./workspace-event-protocol.js";
|
|
18
20
|
const DEFAULT_TREE_LIMIT = 200;
|
|
@@ -20,8 +22,9 @@ const MAX_TREE_LIMIT = 500;
|
|
|
20
22
|
const MAX_FILE_BYTES = 1024 * 1024;
|
|
21
23
|
const MAX_CURSOR_CHARS = 4096;
|
|
22
24
|
const MAX_REQUEST_PATH_CHARS = 4096;
|
|
23
|
-
|
|
24
|
-
const
|
|
25
|
+
const MAX_FILE_FILTER_PATTERNS = 8;
|
|
26
|
+
const MAX_FILE_FILTER_PATTERN_CHARS = 128;
|
|
27
|
+
const MAX_FILE_FILTER_DFA_BYTES = 512 * 1024;
|
|
25
28
|
class WorkspaceEventError extends Error {
|
|
26
29
|
code;
|
|
27
30
|
constructor(code, message) {
|
|
@@ -96,6 +99,44 @@ function parseWorkspaceDescriptor(raw) {
|
|
|
96
99
|
}
|
|
97
100
|
throw new WorkspaceEventError("INVALID_REQUEST", "workspace.sourceType 不支持");
|
|
98
101
|
}
|
|
102
|
+
function compileFileFilterPatterns(raw) {
|
|
103
|
+
if (!Array.isArray(raw))
|
|
104
|
+
return undefined;
|
|
105
|
+
const patterns = new RE2Set(RE2Set.UNANCHORED, RE2JS.CASE_INSENSITIVE, MAX_FILE_FILTER_DFA_BYTES);
|
|
106
|
+
let count = 0;
|
|
107
|
+
for (const value of raw.slice(0, MAX_FILE_FILTER_PATTERNS)) {
|
|
108
|
+
if (typeof value !== "string" ||
|
|
109
|
+
value.length === 0 ||
|
|
110
|
+
value.length > MAX_FILE_FILTER_PATTERN_CHARS) {
|
|
111
|
+
continue;
|
|
112
|
+
}
|
|
113
|
+
try {
|
|
114
|
+
patterns.add(value);
|
|
115
|
+
count += 1;
|
|
116
|
+
}
|
|
117
|
+
catch {
|
|
118
|
+
// 单条无效表达式按未传处理,不阻断目录浏览。
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
if (count === 0)
|
|
122
|
+
return undefined;
|
|
123
|
+
try {
|
|
124
|
+
patterns.compile();
|
|
125
|
+
return patterns;
|
|
126
|
+
}
|
|
127
|
+
catch {
|
|
128
|
+
// 组合编译失败同样按未传处理;已通过 add 的正常表达式通常不会走到这里。
|
|
129
|
+
return undefined;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
function parseWorkspaceFileFilter(raw) {
|
|
133
|
+
const record = asRecord(raw);
|
|
134
|
+
if (!record)
|
|
135
|
+
return undefined;
|
|
136
|
+
const include = compileFileFilterPatterns(record.include);
|
|
137
|
+
const exclude = compileFileFilterPatterns(record.exclude);
|
|
138
|
+
return include || exclude ? { include, exclude } : undefined;
|
|
139
|
+
}
|
|
99
140
|
function parseWorkspaceRequest(raw) {
|
|
100
141
|
const record = asRecord(raw);
|
|
101
142
|
if (!record)
|
|
@@ -125,6 +166,7 @@ function parseWorkspaceRequest(raw) {
|
|
|
125
166
|
fullPath,
|
|
126
167
|
limit,
|
|
127
168
|
...(cursor ? { cursor } : {}),
|
|
169
|
+
...(event === "TREE_REQUEST" ? { fileFilter: parseWorkspaceFileFilter(record.fileFilter) } : {}),
|
|
128
170
|
};
|
|
129
171
|
}
|
|
130
172
|
function normalizeLogicalPath(raw, allowEmpty) {
|
|
@@ -234,6 +276,19 @@ function compareEntries(left, right) {
|
|
|
234
276
|
const b = entrySortKey(right);
|
|
235
277
|
return a < b ? -1 : a > b ? 1 : 0;
|
|
236
278
|
}
|
|
279
|
+
function filterWorkspaceEntries(entries, filter) {
|
|
280
|
+
if (!filter)
|
|
281
|
+
return entries;
|
|
282
|
+
return entries.filter((entry) => {
|
|
283
|
+
if (entry.type === "DIRECTORY")
|
|
284
|
+
return true;
|
|
285
|
+
const included = !filter.include || filter.include.match(entry.name).length > 0;
|
|
286
|
+
if (!included)
|
|
287
|
+
return false;
|
|
288
|
+
// include/exclude 同时命中时,exclude 优先。
|
|
289
|
+
return !filter.exclude || filter.exclude.match(entry.name).length === 0;
|
|
290
|
+
});
|
|
291
|
+
}
|
|
237
292
|
function encodeCursor(displayPath, entry) {
|
|
238
293
|
return Buffer.from(JSON.stringify({ v: 1, path: displayPath, key: entrySortKey(entry) }), "utf8").toString("base64url");
|
|
239
294
|
}
|
|
@@ -578,7 +633,7 @@ function fitTreeResponse(base, displayPath, page) {
|
|
|
578
633
|
let nextCursor = page.nextCursor;
|
|
579
634
|
while (true) {
|
|
580
635
|
const response = { ...base, success: true, entries, nextCursor };
|
|
581
|
-
if (responseBytes(response) <=
|
|
636
|
+
if (responseBytes(response) <= WS_MAX_MESSAGE_BYTES)
|
|
582
637
|
return response;
|
|
583
638
|
const removed = entries.pop();
|
|
584
639
|
if (!removed || entries.length === 0) {
|
|
@@ -602,7 +657,8 @@ async function executeWorkspaceEvent(ctx, rawParams) {
|
|
|
602
657
|
const target = await resolveLocalTarget(ctx, request, resolvedPath);
|
|
603
658
|
return listPhysicalDirectory(target.realRoot, target.target, resolvedPath.displayPath);
|
|
604
659
|
})();
|
|
605
|
-
const
|
|
660
|
+
const filteredEntries = filterWorkspaceEntries(entries, request.fileFilter);
|
|
661
|
+
const page = paginateEntries(filteredEntries, resolvedPath.displayPath, request.limit, request.cursor);
|
|
606
662
|
const response = fitTreeResponse(base, resolvedPath.displayPath, page);
|
|
607
663
|
ctx.log.info(`${ctx.logPrefix} [workspace] event=TREE_REQUEST groupId=${request.groupId} ` +
|
|
608
664
|
`relayId=${clipPath(request.relayId)} path=${clipPath(resolvedPath.displayPath)} entries=${response.entries.length}`);
|
|
@@ -614,8 +670,8 @@ async function executeWorkspaceEvent(ctx, rawParams) {
|
|
|
614
670
|
const readResult = await readTextFile(target.target, path.posix.basename(resolvedPath.displayPath));
|
|
615
671
|
const { sourceEncoding, ...file } = readResult;
|
|
616
672
|
const response = { ...base, success: true, ...file };
|
|
617
|
-
if (responseBytes(response) >
|
|
618
|
-
throw new WorkspaceEventError("FILE_TOO_LARGE", "文件编码后超过WebSocket
|
|
673
|
+
if (responseBytes(response) > WS_MAX_MESSAGE_BYTES) {
|
|
674
|
+
throw new WorkspaceEventError("FILE_TOO_LARGE", "文件编码后超过WebSocket逻辑消息上限");
|
|
619
675
|
}
|
|
620
676
|
ctx.log.info(`${ctx.logPrefix} [workspace] event=FILE_REQUEST groupId=${request.groupId} ` +
|
|
621
677
|
`relayId=${clipPath(request.relayId)} path=${clipPath(resolvedPath.displayPath)} ` +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-event.js","sourceRoot":"","sources":["../../../src/workspace/workspace-event.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workspace-event.js","sourceRoot":"","sources":["../../../src/workspace/workspace-event.ts"],"names":[],"mappings":"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"}
|
|
@@ -155,6 +155,48 @@ describe("workspace event LOCAL", () => {
|
|
|
155
155
|
assert.equal(second.entries[0]?.name, "b.md");
|
|
156
156
|
assert.equal(second.nextCursor, null);
|
|
157
157
|
});
|
|
158
|
+
it("filters files with exclude precedence and ignores invalid regular expressions", async () => {
|
|
159
|
+
const hostRoot = await tempRoot("xg-workspace-filter-");
|
|
160
|
+
const logicalRoot = "xg-cwork-im/202608/42";
|
|
161
|
+
const actualRoot = path.join(hostRoot, ...logicalRoot.split("/"));
|
|
162
|
+
await mkdir(path.join(actualRoot, "assets"), { recursive: true });
|
|
163
|
+
await writeFile(path.join(actualRoot, "keep.md"), "md", "utf8");
|
|
164
|
+
await writeFile(path.join(actualRoot, "skip.md"), "md", "utf8");
|
|
165
|
+
await writeFile(path.join(actualRoot, "other.txt"), "txt", "utf8");
|
|
166
|
+
const filtered = await handleWorkspaceEvent(context(hostRoot), {
|
|
167
|
+
...localRequest(logicalRoot, logicalRoot, "TREE_REQUEST"),
|
|
168
|
+
fileFilter: {
|
|
169
|
+
include: ["\\.(md|txt)$", "[invalid"],
|
|
170
|
+
exclude: ["^skip\\.", "[also-invalid"],
|
|
171
|
+
},
|
|
172
|
+
});
|
|
173
|
+
assert.deepEqual(filtered.entries.map((entry) => entry.name), ["assets", "keep.md", "other.txt"]);
|
|
174
|
+
const empty = await handleWorkspaceEvent(context(hostRoot), {
|
|
175
|
+
...localRequest(logicalRoot, logicalRoot, "TREE_REQUEST"),
|
|
176
|
+
fileFilter: { include: [], exclude: [] },
|
|
177
|
+
});
|
|
178
|
+
assert.deepEqual(empty.entries.map((entry) => entry.name), ["assets", "keep.md", "other.txt", "skip.md"]);
|
|
179
|
+
const excludeWins = await handleWorkspaceEvent(context(hostRoot), {
|
|
180
|
+
...localRequest(logicalRoot, logicalRoot, "TREE_REQUEST"),
|
|
181
|
+
fileFilter: { include: ["^keep\\.md$"], exclude: ["\\.md$"] },
|
|
182
|
+
});
|
|
183
|
+
assert.deepEqual(excludeWins.entries.map((entry) => entry.name), ["assets"]);
|
|
184
|
+
});
|
|
185
|
+
it("evaluates pathological filters in linear time without blocking the event loop", async () => {
|
|
186
|
+
const hostRoot = await tempRoot("xg-workspace-safe-filter-");
|
|
187
|
+
const logicalRoot = "xg-cwork-im/202608/42";
|
|
188
|
+
const actualRoot = path.join(hostRoot, ...logicalRoot.split("/"));
|
|
189
|
+
await mkdir(actualRoot, { recursive: true });
|
|
190
|
+
const poisonName = `${"a".repeat(32)}!`;
|
|
191
|
+
await writeFile(path.join(actualRoot, poisonName), "text", "utf8");
|
|
192
|
+
const startedAt = performance.now();
|
|
193
|
+
const result = await handleWorkspaceEvent(context(hostRoot), {
|
|
194
|
+
...localRequest(logicalRoot, logicalRoot, "TREE_REQUEST"),
|
|
195
|
+
fileFilter: { include: ["^(a+)+$"] },
|
|
196
|
+
});
|
|
197
|
+
assert.deepEqual(result.entries, []);
|
|
198
|
+
assert.ok(performance.now() - startedAt < 1_000);
|
|
199
|
+
});
|
|
158
200
|
});
|
|
159
201
|
describe("workspace event NAS", () => {
|
|
160
202
|
it("synthesizes the authorized mount tree without scanning its common host parent", async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-event.test.js","sourceRoot":"","sources":["../../../src/workspace/workspace-event.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workspace-event.test.js","sourceRoot":"","sources":["../../../src/workspace/workspace-event.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xgjktech/xg_cwork_im",
|
|
3
|
-
"version": "1.19.
|
|
3
|
+
"version": "1.19.32",
|
|
4
4
|
"description": "XG CWork IM channel plugin for OpenClaw",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"bot",
|
|
@@ -34,6 +34,7 @@
|
|
|
34
34
|
"@xgjktech/xg-openclaw-shared": "^0.2.2",
|
|
35
35
|
"adm-zip": "^0.6.0",
|
|
36
36
|
"axios": "^1.6.0",
|
|
37
|
+
"re2js": "^2.8.6",
|
|
37
38
|
"tar": "^7.5.22",
|
|
38
39
|
"ws": "^8.17.0",
|
|
39
40
|
"zod": "^3.22.0"
|