clawconnect-agent 0.2.11 → 0.2.13

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.
Files changed (56) hide show
  1. package/dist/core/relay/file-upload.d.ts +4 -0
  2. package/dist/core/relay/file-upload.js +17 -0
  3. package/dist/core/relay/file-upload.js.map +1 -1
  4. package/dist/core/relay/source-commit-checkpoint-client.d.ts +42 -0
  5. package/dist/core/relay/source-commit-checkpoint-client.js +112 -0
  6. package/dist/core/relay/source-commit-checkpoint-client.js.map +1 -0
  7. package/dist/core/relay/source-commit-publish-flow.d.ts +36 -0
  8. package/dist/core/relay/source-commit-publish-flow.js +107 -0
  9. package/dist/core/relay/source-commit-publish-flow.js.map +1 -0
  10. package/dist/core/relay/source-commit.d.ts +12 -1
  11. package/dist/core/relay/source-commit.js +29 -9
  12. package/dist/core/relay/source-commit.js.map +1 -1
  13. package/dist/core/thinking-level.d.ts +45 -0
  14. package/dist/core/thinking-level.js +58 -0
  15. package/dist/core/thinking-level.js.map +1 -0
  16. package/dist/hermes/hermes-session-reasoning-store.d.ts +13 -0
  17. package/dist/hermes/hermes-session-reasoning-store.js +99 -0
  18. package/dist/hermes/hermes-session-reasoning-store.js.map +1 -0
  19. package/dist/hermes/runtime/hermes-runtime-api-client.d.ts +10 -0
  20. package/dist/hermes/runtime/hermes-runtime-api-client.js +7 -4
  21. package/dist/hermes/runtime/hermes-runtime-api-client.js.map +1 -1
  22. package/dist/hermes/runtime/hermes-runtime-api-settings.d.ts +6 -0
  23. package/dist/hermes/runtime/hermes-runtime-api-settings.js +18 -12
  24. package/dist/hermes/runtime/hermes-runtime-api-settings.js.map +1 -1
  25. package/dist/hermes/runtime/hermes-runtime-chat.js +8 -0
  26. package/dist/hermes/runtime/hermes-runtime-chat.js.map +1 -1
  27. package/dist/hermes/runtime/hermes-runtime-command-router.js +6 -1
  28. package/dist/hermes/runtime/hermes-runtime-command-router.js.map +1 -1
  29. package/dist/hermes/runtime/hermes-runtime-reasoning.d.ts +29 -0
  30. package/dist/hermes/runtime/hermes-runtime-reasoning.js +72 -0
  31. package/dist/hermes/runtime/hermes-runtime-reasoning.js.map +1 -0
  32. package/dist/hermes/runtime/hermes-runtime-sessions.d.ts +2 -2
  33. package/dist/hermes/runtime/hermes-runtime-sessions.js +23 -2
  34. package/dist/hermes/runtime/hermes-runtime-sessions.js.map +1 -1
  35. package/dist/hermes/runtime/hermes-runtime-thinking.d.ts +14 -0
  36. package/dist/hermes/runtime/hermes-runtime-thinking.js +105 -0
  37. package/dist/hermes/runtime/hermes-runtime-thinking.js.map +1 -0
  38. package/dist/openclaw/handlers/thinking-handlers.d.ts +22 -0
  39. package/dist/openclaw/handlers/thinking-handlers.js +104 -0
  40. package/dist/openclaw/handlers/thinking-handlers.js.map +1 -0
  41. package/dist/openclaw/relay/chat-history.js +14 -11
  42. package/dist/openclaw/relay/chat-history.js.map +1 -1
  43. package/dist/openclaw/relay/openclaw-source-commit-watcher.d.ts +8 -2
  44. package/dist/openclaw/relay/openclaw-source-commit-watcher.js +13 -4
  45. package/dist/openclaw/relay/openclaw-source-commit-watcher.js.map +1 -1
  46. package/dist/openclaw/relay/openclaw-source-cursor-connections.d.ts +23 -0
  47. package/dist/openclaw/relay/openclaw-source-cursor-connections.js +65 -0
  48. package/dist/openclaw/relay/openclaw-source-cursor-connections.js.map +1 -0
  49. package/dist/openclaw/relay/outgoing-media-relay.js +18 -1
  50. package/dist/openclaw/relay/outgoing-media-relay.js.map +1 -1
  51. package/dist/openclaw/relay-manager.js +47 -15
  52. package/dist/openclaw/relay-manager.js.map +1 -1
  53. package/package.json +1 -1
  54. package/dist/openclaw/relay/openclaw-message-tool-real-shape.fixture.d.ts +0 -12
  55. package/dist/openclaw/relay/openclaw-message-tool-real-shape.fixture.js +0 -48
  56. package/dist/openclaw/relay/openclaw-message-tool-real-shape.fixture.js.map +0 -1
@@ -42,4 +42,8 @@ export interface FileUploadResult {
42
42
  createdAt: string;
43
43
  updatedAt: string;
44
44
  }
45
+ /** Relay 对同一幂等键的上传记录已失效(过期/删除);同一键重试只会得到相同结果。 */
46
+ export declare const RELAY_UPLOAD_IDEMPOTENCY_EXPIRED = "upload_idempotency_expired";
47
+ /** 读取 Relay 上传请求失败时返回的稳定错误码;非 Relay 请求错误返回 undefined。 */
48
+ export declare function relayUploadErrorCode(error: unknown): string | undefined;
45
49
  export declare function uploadFileToRelay(opts: FileUploadRequest, deps?: FileUploadDependencies): Promise<FileUploadResult>;
@@ -13,6 +13,23 @@ class RelayRequestError extends Error {
13
13
  this.name = "RelayRequestError";
14
14
  }
15
15
  }
16
+ /** Relay 对同一幂等键的上传记录已失效(过期/删除);同一键重试只会得到相同结果。 */
17
+ export const RELAY_UPLOAD_IDEMPOTENCY_EXPIRED = "upload_idempotency_expired";
18
+ /** 读取 Relay 上传请求失败时返回的稳定错误码;非 Relay 请求错误返回 undefined。 */
19
+ export function relayUploadErrorCode(error) {
20
+ if (!(error instanceof RelayRequestError))
21
+ return undefined;
22
+ try {
23
+ const body = JSON.parse(error.responseBody);
24
+ const code = body && typeof body === "object" && !Array.isArray(body)
25
+ ? body.error
26
+ : undefined;
27
+ return typeof code === "string" ? code : undefined;
28
+ }
29
+ catch {
30
+ return undefined;
31
+ }
32
+ }
16
33
  const JSON_HEADERS = {
17
34
  "Content-Type": "application/json",
18
35
  Accept: "application/json",
@@ -1 +1 @@
1
- {"version":3,"file":"file-upload.js","sourceRoot":"","sources":["../../../src/core/relay/file-upload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-upload.js","sourceRoot":"","sources":["../../../src/core/relay/file-upload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,IAAI,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAmB,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,aAAa,EACb,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAsFhC,MAAM,iBAAkB,SAAQ,KAAK;IAEjB;IACA;IAFlB,YACkB,UAAkB,EAClB,YAAoB,EACpC,YAAoB;QAEpB,KAAK,CAAC,GAAG,YAAY,YAAY,UAAU,MAAM,YAAY,EAAE,CAAC,CAAC;QAJjD,eAAU,GAAV,UAAU,CAAQ;QAClB,iBAAY,GAAZ,YAAY,CAAQ;QAIpC,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED,iDAAiD;AACjD,MAAM,CAAC,MAAM,gCAAgC,GAAG,4BAA4B,CAAC;AAE7E,yDAAyD;AACzD,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,IAAI,CAAC,CAAC,KAAK,YAAY,iBAAiB,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5D,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAY,CAAC;QACvD,MAAM,IAAI,GAAG,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YACnE,CAAC,CAAE,IAAgC,CAAC,KAAK;YACzC,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,YAAY,GAAG;IACnB,cAAc,EAAE,kBAAkB;IAClC,MAAM,EAAE,kBAAkB;CAClB,CAAC;AACX,2CAA2C;AAC3C,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;AAE7C,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAAuB,EACvB,OAA+B,EAAE;IAEjC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC;IAE1C,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAClD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACxC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAE1C,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,eAAe,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACjD,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,UAAU,EAAE,CAAC;IAExF,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,QAA0C,CAAC;IAC/C,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,mBAAmB,YAAY,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,uBAAuB,YAAY,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,MAAM,eAAe,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;QACnD,CAAC,CAAC,MAAM,mBAAmB,CAAC,YAAY,EAAE,SAAS,CAAC;QACpD,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;IACrD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,sBAAsB,kBAAkB,CAAC,SAAS,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;IAEzH,MAAM,IAAI,GAAG,MAAM,cAAc,CAC/B,aAAa,EACb,GAAG,EAAE,CACH,WAAW,CAAyB,SAAS,EAAE,aAAa,EAAE;QAC5D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,MAAM,EAAE,WAAW;YACnB,UAAU;YACV,QAAQ;YACR,QAAQ;YACR,SAAS;YACT,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU,EAAE,eAAe,EAAE,KAAK;YAClC,WAAW,EAAE,eAAe,EAAE,MAAM;YACpC,MAAM;YACN,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,UAAU,EAAE,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;YACpF,WAAW,EAAE,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC;YACpD,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa;YACnF,eAAe;YACf,cAAc,EAAE,oBAAoB;SACrC,CAAC;KACH,EAAE,aAAa,CAAC,CACpB,CAAC;IAEF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,uBAAuB,CAAC,CAAC,CAAC;IACrF,MAAM,WAAW,GAAG,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACxC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;IAElG,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IAC7C,IAAI,CAAC;QACH,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,WAAW,EAAE,UAAU,IAAI,CAAC,EAAE,CAAC;YACnE,MAAM,KAAK,GAAG,UAAU,GAAG,SAAS,CAAC;YACrC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC;YACnE,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,SAAS,IAAI,UAAU,EAAE,EAAE,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;YAEhF,MAAM,cAAc,CAClB,gBAAgB,UAAU,GAAG,CAAC,IAAI,WAAW,EAAE,EAC/C,GAAG,EAAE,CACH,WAAW,CAAkB,SAAS,EAAE,QAAQ,EAAE;gBAChD,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE;oBACP,cAAc,EAAE,0BAA0B;oBAC1C,MAAM,EAAE,kBAAkB;oBAC1B,CAAC,mBAAmB,CAAC,EAAE,WAAW;iBACnC;gBACD,IAAI,EAAE,KAA4B;aACnC,EAAE,gBAAgB,UAAU,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC,CACtD,CAAC;QAEJ,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,cAAc,CACnC,iBAAiB,EACjB,GAAG,EAAE,CACH,WAAW,CAA6B,SAAS,EAAE,WAAW,EAAE;QAC9D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,GAAG,YAAY,EAAE,CAAC,mBAAmB,CAAC,EAAE,WAAW,EAAE;QAChE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC;KACtC,EAAE,iBAAiB,CAAC,CACxB,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;IACjC,MAAM,YAAY,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACzF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;IAEnE,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,YAAY;QACZ,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,SAAS;QACzC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,UAAU;QAC5C,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,SAAS;QACT,WAAW;QACX,WAAW,EAAE,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC;QAClG,UAAU,EAAE,OAAO,CAAC,UAAU,KAAK,MAAM,IAAI,OAAO,CAAC,UAAU,KAAK,WAAW;YAC7E,CAAC,CAAC,OAAO,CAAC,UAAU;YACpB,CAAC,CAAC,IAAI,CAAC,UAAU;QACnB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,YAAY;QACZ,WAAW;QACX,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAyB;IACtD,MAAM,OAAO,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;IAC9B,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACvC,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,QAAgB;IAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAE1C,IAAI,CAAC;QACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,QAAgB,EAAE,QAAgB;IACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC;IACzE,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACzC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,OAAO,SAAS,GAAG,QAAQ,EAAE,CAAC;YAC5B,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,GAAG,SAAS,EAAE,SAAS,CAAC,CAAC;YACvG,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;gBACnB,MAAM;YACR,CAAC;YACD,SAAS,IAAI,SAAS,CAAC;YAEvB,MAAM,UAAU,GAAG,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;YACvE,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,UAAU,CAAC;YACpB,CAAC;QACH,CAAC;QAED,OAAO,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc;IAC1C,OAAO,CACL,kBAAkB,CAAC,MAAM,CAAC;QAC1B,kBAAkB,CAAC,MAAM,CAAC;QAC1B,mBAAmB,CAAC,MAAM,CAAC;QAC3B,mBAAmB,CAAC,MAAM,CAAC;QAC3B,kBAAkB,CAAC,MAAM,CAAC,CAC3B,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc;IACxC,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,UAAU,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;QACnF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,UAAU,EAAE,CAAC;QAC3C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACvC,OAAO,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACjE,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc;IACxC,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACjD,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QACrD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACtC,OAAO,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACjE,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAc;IACzC,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,MAAM,EAAE,CAAC;QAC5F,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACnD,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QAC5C,OAAO,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,CAAC;IAED,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACzB,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;YAC9C,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7C,OAAO,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,CAAC;IAED,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACzB,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;YAC5F,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;QAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;QAChD,OAAO,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc;IACxC,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAClE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,OAAO,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACjE,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAc;IACzC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAClE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QAClC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,CAAC;YACZ,SAAS;QACX,CAAC;QAED,IAAI,YAAY,GAAG,MAAM,GAAG,CAAC,CAAC;QAC9B,OAAO,YAAY,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC;YACrE,YAAY,IAAI,CAAC,CAAC;QACpB,CAAC;QACD,IAAI,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QACpC,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACvC,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,CAAC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAC7E,MAAM,GAAG,YAAY,GAAG,CAAC,CAAC;YAC1B,SAAS;QACX,CAAC;QAED,IAAI,YAAY,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACtC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;QAC5D,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,UAAU,GAAG,YAAY,GAAG,CAAC,GAAG,aAAa,CAAC;QACpD,IAAI,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC/B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;YACrD,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;YACpD,OAAO,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACjE,CAAC;QAED,MAAM,GAAG,UAAU,CAAC;IACtB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc;IAC1C,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,IAAI,CAAC;QACV,KAAK,IAAI,CAAC;QACV,KAAK,IAAI,CAAC;QACV,KAAK,IAAI,CAAC;QACV,KAAK,IAAI,CAAC;QACV,KAAK,IAAI,CAAC;QACV,KAAK,IAAI,CAAC;QACV,KAAK,IAAI,CAAC;QACV,KAAK,IAAI,CAAC;QACV,KAAK,IAAI,CAAC;QACV,KAAK,IAAI,CAAC;QACV,KAAK,IAAI,CAAC;QACV,KAAK,IAAI;YACP,OAAO,IAAI,CAAC;QACd;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,MAAc,EAAE,MAAc;IAClD,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAChC,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AACjF,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,MAAkB,EAAE,KAAa,EAAE,MAAc;IACxE,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QAChB,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,OAAO,MAAM,GAAG,MAAM,EAAE,CAAC;QACvB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC;QACzF,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YACnB,MAAM;QACR,CAAC;QACD,MAAM,IAAI,SAAS,CAAC;IACtB,CAAC;IAED,OAAO,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACjE,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,SAAuB,EACvB,GAAW,EACX,IAAiB,EACjB,YAAoB;IAEpB,IAAI,QAAkB,CAAC;IACvB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,YAAY,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvG,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC3C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,iBAAiB,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,UAAU,IAAI,gBAAgB,EAAE,YAAY,CAAC,CAAC;IAC7H,CAAC;IAED,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;QACzB,OAAO,EAAO,CAAC;IACjB,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAM,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,2BAA2B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACtH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,KAAa,EACb,SAA2B,EAC3B,QAAQ,GAAG,CAAC;IAEZ,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,QAAQ,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;QACxD,IAAI,CAAC;YACH,OAAO,MAAM,SAAS,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,iBAAiB,QAAQ,cAAc,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3H,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxB,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC,UAAU,IAAI,GAAG,IAAI,KAAK,CAAC,UAAU,KAAK,GAAG,IAAI,KAAK,CAAC,UAAU,KAAK,GAAG,CAAC;IACzF,CAAC;IAED,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,yDAAyD,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACvF,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,42 @@
1
+ import type { SourceCommit } from "./source-commit.js";
2
+ /** Relay 在 hello 中声明该能力后才支持按持久化水位续传。 */
3
+ export declare const RELAY_SOURCE_COMMIT_RESUME_CAPABILITY = "source_commit_resume_v1";
4
+ export declare const SOURCE_COMMIT_CHECKPOINT_QUERY_TYPE = "source_commit_checkpoint_query";
5
+ export declare const SOURCE_COMMIT_CHECKPOINT_RESPONSE_TYPE = "source_commit_checkpoint";
6
+ /** 仅用于连接存活:超时后本次解析失败,由下一次源通知重试;不参与任何顺序判定。 */
7
+ export declare const SOURCE_COMMIT_CHECKPOINT_QUERY_TIMEOUT_MS = 30000;
8
+ export type SourceCommitCheckpointQuery = {
9
+ type: typeof SOURCE_COMMIT_CHECKPOINT_QUERY_TYPE;
10
+ requestId: string;
11
+ scope: Pick<SourceCommit, "gatewayType" | "producerId" | "sourceSessionId" | "sourceOrderScope" | "sourceGeneration">;
12
+ };
13
+ export type SourceCommitCheckpointResponse = {
14
+ type: typeof SOURCE_COMMIT_CHECKPOINT_RESPONSE_TYPE;
15
+ requestId: string;
16
+ status: "found" | "missing" | "owner_mismatch" | "invalid_request";
17
+ committedThroughSeq?: number;
18
+ };
19
+ export type SourceCommitCheckpointClientOptions = {
20
+ /** 直接写入当前 Relay socket;返回 false 表示本次未能写出。 */
21
+ send: (query: SourceCommitCheckpointQuery) => boolean;
22
+ timeoutMs?: number;
23
+ createRequestId?: () => string;
24
+ };
25
+ export declare function isSourceCommitCheckpointResponse(value: unknown): value is SourceCommitCheckpointResponse;
26
+ /**
27
+ * 单条 Relay 连接内的源投影水位查询客户端。
28
+ *
29
+ * - hello 协商完成前的查询会等待协商结果,保证续传决策基于本连接对端的真实能力;
30
+ * - 旧 Relay 不支持续传时返回 `undefined`,调用方按原语义从序号 0 投影(向后兼容);
31
+ * - `missing` 表示 Relay 没有该作用域的投影,同样从 0 开始;
32
+ * - 归属冲突、非法请求、写失败、超时和连接关闭一律抛错:起点未知时绝不猜测。
33
+ */
34
+ export declare function createSourceCommitCheckpointClient(options: SourceCommitCheckpointClientOptions): {
35
+ /** hello 协商完成时调用一次;重复调用无副作用。 */
36
+ markRelayHello(protocolCapabilities: unknown): void;
37
+ resolveWatermark(cursor: SourceCommit): Promise<number | undefined>;
38
+ /** 返回 true 表示该帧是水位查询响应并已处理。 */
39
+ handleResponse(message: unknown): boolean;
40
+ close(reason?: string): void;
41
+ };
42
+ export type SourceCommitCheckpointClient = ReturnType<typeof createSourceCommitCheckpointClient>;
@@ -0,0 +1,112 @@
1
+ import { randomUUID } from "node:crypto";
2
+ /** Relay 在 hello 中声明该能力后才支持按持久化水位续传。 */
3
+ export const RELAY_SOURCE_COMMIT_RESUME_CAPABILITY = "source_commit_resume_v1";
4
+ export const SOURCE_COMMIT_CHECKPOINT_QUERY_TYPE = "source_commit_checkpoint_query";
5
+ export const SOURCE_COMMIT_CHECKPOINT_RESPONSE_TYPE = "source_commit_checkpoint";
6
+ /** 仅用于连接存活:超时后本次解析失败,由下一次源通知重试;不参与任何顺序判定。 */
7
+ export const SOURCE_COMMIT_CHECKPOINT_QUERY_TIMEOUT_MS = 30_000;
8
+ export function isSourceCommitCheckpointResponse(value) {
9
+ if (!value || typeof value !== "object" || Array.isArray(value))
10
+ return false;
11
+ const record = value;
12
+ return record.type === SOURCE_COMMIT_CHECKPOINT_RESPONSE_TYPE
13
+ && typeof record.requestId === "string"
14
+ && typeof record.status === "string";
15
+ }
16
+ /**
17
+ * 单条 Relay 连接内的源投影水位查询客户端。
18
+ *
19
+ * - hello 协商完成前的查询会等待协商结果,保证续传决策基于本连接对端的真实能力;
20
+ * - 旧 Relay 不支持续传时返回 `undefined`,调用方按原语义从序号 0 投影(向后兼容);
21
+ * - `missing` 表示 Relay 没有该作用域的投影,同样从 0 开始;
22
+ * - 归属冲突、非法请求、写失败、超时和连接关闭一律抛错:起点未知时绝不猜测。
23
+ */
24
+ export function createSourceCommitCheckpointClient(options) {
25
+ const timeoutMs = options.timeoutMs ?? SOURCE_COMMIT_CHECKPOINT_QUERY_TIMEOUT_MS;
26
+ const createRequestId = options.createRequestId ?? (() => `source-checkpoint-${randomUUID()}`);
27
+ const pending = new Map();
28
+ let closedError;
29
+ let resolveNegotiation;
30
+ let rejectNegotiation;
31
+ const negotiation = new Promise((resolve, reject) => {
32
+ resolveNegotiation = resolve;
33
+ rejectNegotiation = reject;
34
+ });
35
+ // 连接在协商前关闭时,没有等待者也不能产生未处理的 rejection。
36
+ negotiation.catch(() => undefined);
37
+ const query = (cursor) => new Promise((resolve, reject) => {
38
+ if (closedError) {
39
+ reject(closedError);
40
+ return;
41
+ }
42
+ const requestId = createRequestId();
43
+ const timer = setTimeout(() => {
44
+ pending.delete(requestId);
45
+ reject(new Error(`source commit checkpoint query timed out scope=${cursor.sourceOrderScope}`));
46
+ }, timeoutMs);
47
+ timer.unref?.();
48
+ pending.set(requestId, { resolve, reject, timer });
49
+ const sent = options.send({
50
+ type: SOURCE_COMMIT_CHECKPOINT_QUERY_TYPE,
51
+ requestId,
52
+ scope: {
53
+ gatewayType: cursor.gatewayType,
54
+ producerId: cursor.producerId,
55
+ sourceSessionId: cursor.sourceSessionId,
56
+ sourceOrderScope: cursor.sourceOrderScope,
57
+ sourceGeneration: cursor.sourceGeneration,
58
+ },
59
+ });
60
+ if (!sent) {
61
+ clearTimeout(timer);
62
+ pending.delete(requestId);
63
+ reject(new Error("source commit checkpoint query was not sent"));
64
+ }
65
+ });
66
+ return {
67
+ /** hello 协商完成时调用一次;重复调用无副作用。 */
68
+ markRelayHello(protocolCapabilities) {
69
+ const capabilities = Array.isArray(protocolCapabilities) ? protocolCapabilities : [];
70
+ resolveNegotiation(capabilities.includes(RELAY_SOURCE_COMMIT_RESUME_CAPABILITY));
71
+ },
72
+ async resolveWatermark(cursor) {
73
+ const supported = await negotiation;
74
+ if (!supported)
75
+ return undefined;
76
+ return query(cursor);
77
+ },
78
+ /** 返回 true 表示该帧是水位查询响应并已处理。 */
79
+ handleResponse(message) {
80
+ if (!isSourceCommitCheckpointResponse(message))
81
+ return false;
82
+ const entry = pending.get(message.requestId);
83
+ if (!entry)
84
+ return true;
85
+ pending.delete(message.requestId);
86
+ clearTimeout(entry.timer);
87
+ if (message.status === "missing") {
88
+ entry.resolve(undefined);
89
+ return true;
90
+ }
91
+ const seq = message.committedThroughSeq;
92
+ if (message.status === "found" && typeof seq === "number" && Number.isSafeInteger(seq) && seq >= 0) {
93
+ entry.resolve(seq);
94
+ return true;
95
+ }
96
+ entry.reject(new Error(`source commit checkpoint query failed status=${message.status}`));
97
+ return true;
98
+ },
99
+ close(reason = "relay connection closed") {
100
+ if (closedError)
101
+ return;
102
+ closedError = new Error(`source commit checkpoint client closed: ${reason}`);
103
+ rejectNegotiation(closedError);
104
+ for (const entry of pending.values()) {
105
+ clearTimeout(entry.timer);
106
+ entry.reject(closedError);
107
+ }
108
+ pending.clear();
109
+ },
110
+ };
111
+ }
112
+ //# sourceMappingURL=source-commit-checkpoint-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-commit-checkpoint-client.js","sourceRoot":"","sources":["../../../src/core/relay/source-commit-checkpoint-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import type { SourceCommit } from "./source-commit.js";
2
+ /**
3
+ * 源投影分页大小。Relay 对每一行投影都要做查重、排序绑定、账本与同步日志写入,
4
+ * 单帧行数越多,排在它后面的命令响应等得越久。20 行在 Relay 上约 0.1 秒(数据库部分),
5
+ * 配合下方的单帧流控,补齐期间命令响应实测 p95 < 0.4 秒。
6
+ */
7
+ export declare const SOURCE_COMMIT_PAGE_LIMIT = 20;
8
+ /** 只用于连接存活:Relay 迟迟不确认时放弃本页,由下一次源通知重试;不参与顺序判定。 */
9
+ export declare const SOURCE_COMMIT_ACK_TIMEOUT_MS = 60000;
10
+ /**
11
+ * 源投影帧的投递 ID:同一页(同一作用域、同一水位、同一组事件)永远得到同一个 ID,
12
+ * 重放时 Relay 收到的是同一身份;不同页绝不碰撞。
13
+ */
14
+ export declare function sourceCommitDeliveryId(commit: Pick<SourceCommit, "gatewayId" | "sourceOrderScope" | "sourceGeneration" | "committedThroughSeq" | "sourceRevision">, eventIds: readonly string[]): string;
15
+ export type SourceCommitPublishFlowOptions = {
16
+ /** 当前连接是否由 Relay 声明了事件确认(acknowledged 模式);旧 Relay 不等待确认。 */
17
+ isAcknowledged: () => boolean;
18
+ ackTimeoutMs?: number;
19
+ };
20
+ /**
21
+ * 单条 Relay 连接上的源投影流控。
22
+ *
23
+ * Relay 按网关串行处理宿主帧,源投影帧又是其中最重的一类。若所有会话同时补齐,
24
+ * Relay 队列会堆满投影帧,命令响应只能排在后面而超时,确认超时又触发重连风暴。
25
+ * 这里保证:任意时刻至多一个源投影帧在 Relay 队列中(全局 FIFO 闸门,按调用顺序执行),
26
+ * 且下一帧必须等上一帧被 Relay 持久化确认后才发送。命令响应因此最多等待一帧。
27
+ */
28
+ export declare function createSourceCommitPublishFlow(options: SourceCommitPublishFlowOptions): {
29
+ /** 按调用顺序串行执行;前一帧失败不阻塞后续帧,失败由各自的调用方处理。 */
30
+ publish(deliveryId: string, send: (deliveryId?: string) => Promise<void>): Promise<void>;
31
+ /** 收到 Relay 的 event_ack;返回 true 表示命中了等待中的源投影帧。 */
32
+ acknowledge(deliveryId: string): boolean;
33
+ close(reason?: string): void;
34
+ pendingAckCount(): number;
35
+ };
36
+ export type SourceCommitPublishFlow = ReturnType<typeof createSourceCommitPublishFlow>;
@@ -0,0 +1,107 @@
1
+ import { createHash } from "node:crypto";
2
+ /**
3
+ * 源投影分页大小。Relay 对每一行投影都要做查重、排序绑定、账本与同步日志写入,
4
+ * 单帧行数越多,排在它后面的命令响应等得越久。20 行在 Relay 上约 0.1 秒(数据库部分),
5
+ * 配合下方的单帧流控,补齐期间命令响应实测 p95 < 0.4 秒。
6
+ */
7
+ export const SOURCE_COMMIT_PAGE_LIMIT = 20;
8
+ /** 只用于连接存活:Relay 迟迟不确认时放弃本页,由下一次源通知重试;不参与顺序判定。 */
9
+ export const SOURCE_COMMIT_ACK_TIMEOUT_MS = 60_000;
10
+ const DELIVERY_ID_PREFIX = "source-commit-";
11
+ /**
12
+ * 源投影帧的投递 ID:同一页(同一作用域、同一水位、同一组事件)永远得到同一个 ID,
13
+ * 重放时 Relay 收到的是同一身份;不同页绝不碰撞。
14
+ */
15
+ export function sourceCommitDeliveryId(commit, eventIds) {
16
+ const digest = createHash("sha256")
17
+ .update(JSON.stringify([
18
+ commit.gatewayId,
19
+ commit.sourceOrderScope,
20
+ commit.sourceGeneration,
21
+ commit.committedThroughSeq,
22
+ commit.sourceRevision,
23
+ ...eventIds,
24
+ ]))
25
+ .digest("hex")
26
+ .slice(0, 40);
27
+ return `${DELIVERY_ID_PREFIX}${digest}`;
28
+ }
29
+ /**
30
+ * 单条 Relay 连接上的源投影流控。
31
+ *
32
+ * Relay 按网关串行处理宿主帧,源投影帧又是其中最重的一类。若所有会话同时补齐,
33
+ * Relay 队列会堆满投影帧,命令响应只能排在后面而超时,确认超时又触发重连风暴。
34
+ * 这里保证:任意时刻至多一个源投影帧在 Relay 队列中(全局 FIFO 闸门,按调用顺序执行),
35
+ * 且下一帧必须等上一帧被 Relay 持久化确认后才发送。命令响应因此最多等待一帧。
36
+ */
37
+ export function createSourceCommitPublishFlow(options) {
38
+ const ackTimeoutMs = options.ackTimeoutMs ?? SOURCE_COMMIT_ACK_TIMEOUT_MS;
39
+ const waiters = new Map();
40
+ let gateTail = Promise.resolve();
41
+ let closedError;
42
+ function waitForAck(deliveryId) {
43
+ return new Promise((resolve, reject) => {
44
+ const timer = setTimeout(() => {
45
+ waiters.delete(deliveryId);
46
+ reject(new Error(`source commit relay ack timed out deliveryId=${deliveryId}`));
47
+ }, ackTimeoutMs);
48
+ timer.unref?.();
49
+ waiters.set(deliveryId, { resolve, reject, timer });
50
+ });
51
+ }
52
+ async function publishNow(deliveryId, send) {
53
+ if (closedError)
54
+ throw closedError;
55
+ if (!options.isAcknowledged()) {
56
+ await send(undefined);
57
+ return;
58
+ }
59
+ // 先登记再发送:确认可能在发送回调之前到达。
60
+ const acknowledged = waitForAck(deliveryId);
61
+ try {
62
+ await send(deliveryId);
63
+ }
64
+ catch (error) {
65
+ const waiter = waiters.get(deliveryId);
66
+ if (waiter) {
67
+ clearTimeout(waiter.timer);
68
+ waiters.delete(deliveryId);
69
+ }
70
+ acknowledged.catch(() => undefined);
71
+ throw error;
72
+ }
73
+ await acknowledged;
74
+ }
75
+ return {
76
+ /** 按调用顺序串行执行;前一帧失败不阻塞后续帧,失败由各自的调用方处理。 */
77
+ publish(deliveryId, send) {
78
+ const run = gateTail.then(() => publishNow(deliveryId, send));
79
+ gateTail = run.then(() => undefined, () => undefined);
80
+ return run;
81
+ },
82
+ /** 收到 Relay 的 event_ack;返回 true 表示命中了等待中的源投影帧。 */
83
+ acknowledge(deliveryId) {
84
+ const waiter = waiters.get(deliveryId);
85
+ if (!waiter)
86
+ return false;
87
+ clearTimeout(waiter.timer);
88
+ waiters.delete(deliveryId);
89
+ waiter.resolve();
90
+ return true;
91
+ },
92
+ close(reason = "relay connection closed") {
93
+ if (closedError)
94
+ return;
95
+ closedError = new Error(`source commit publish flow closed: ${reason}`);
96
+ for (const waiter of waiters.values()) {
97
+ clearTimeout(waiter.timer);
98
+ waiter.reject(closedError);
99
+ }
100
+ waiters.clear();
101
+ },
102
+ pendingAckCount() {
103
+ return waiters.size;
104
+ },
105
+ };
106
+ }
107
+ //# sourceMappingURL=source-commit-publish-flow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-commit-publish-flow.js","sourceRoot":"","sources":["../../../src/core/relay/source-commit-publish-flow.ts"],"names":[],"mappings":"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"}
@@ -21,17 +21,28 @@ export declare function createSourceCommit(input: Omit<SourceCommit, "projection
21
21
  export declare function sourceCommitScope(commit: Pick<SourceCommit, "gatewayId" | "gatewayType" | "producerId" | "sourceSessionId" | "sourceOrderScope" | "sourceGeneration">): string;
22
22
  export declare function isSourceCommit(value: unknown): value is SourceCommit;
23
23
  export type SourceCommitCursorReader<TCursor extends SourceCommit = SourceCommit> = () => TCursor | null | Promise<TCursor | null>;
24
+ /**
25
+ * 解析某个源作用域的续传起点:返回下游(Relay)已持久化的水位;`undefined`
26
+ * 表示下游没有该作用域的任何投影,需要从序号 0 开始补齐。解析失败必须抛错,
27
+ * 观察者不会在起点未知时猜测或发布任何投影。
28
+ */
29
+ export type SourceCommitWatermarkResolver<TCursor extends SourceCommit = SourceCommit> = (cursor: TCursor) => Promise<number | undefined>;
24
30
  export type SourceCommitObserverOptions<TCursor extends SourceCommit = SourceCommit> = {
25
31
  readCursor: SourceCommitCursorReader<TCursor> | (() => Promise<TCursor | null>);
26
32
  onCommit: (commit: TCursor, previousCommittedThroughSeq: number | undefined) => void | Promise<void>;
27
33
  onError?: (error: unknown) => void;
28
- initialWatermarkMode?: "latest" | "from_zero";
34
+ /** 缺省时每个作用域都从序号 0 开始投影。 */
35
+ resolveInitialWatermark?: SourceCommitWatermarkResolver<TCursor>;
29
36
  };
30
37
  /**
31
38
  * Serializes notifications and only emits a strictly advancing cursor for a
32
39
  * source scope. Notifications are hints; the reader is authoritative. A
33
40
  * generation change creates a new scope, so a restarted transcript can start
34
41
  * at sequence zero without being mistaken for an old cursor.
42
+ *
43
+ * 每个作用域第一次出现时先解析续传起点(通常是 Relay 已落库的水位),之后只投影
44
+ * 起点之后的增量。这样重连不会把整段历史重新推给 Relay,也不会漏掉断线期间写入
45
+ * 的源行:起点来自下游的持久化事实,而不是本地“当前最新”这种时间点快照。
35
46
  */
36
47
  export declare function createSourceCommitObserver<TCursor extends SourceCommit = SourceCommit>(options: SourceCommitObserverOptions<TCursor>): {
37
48
  notify(): void;
@@ -50,13 +50,20 @@ export function isSourceCommit(value) {
50
50
  * source scope. Notifications are hints; the reader is authoritative. A
51
51
  * generation change creates a new scope, so a restarted transcript can start
52
52
  * at sequence zero without being mistaken for an old cursor.
53
+ *
54
+ * 每个作用域第一次出现时先解析续传起点(通常是 Relay 已落库的水位),之后只投影
55
+ * 起点之后的增量。这样重连不会把整段历史重新推给 Relay,也不会漏掉断线期间写入
56
+ * 的源行:起点来自下游的持久化事实,而不是本地“当前最新”这种时间点快照。
53
57
  */
54
58
  export function createSourceCommitObserver(options) {
55
59
  let closed = false;
56
60
  let running = false;
57
61
  let pending = false;
58
- let initialWatermarkPending = options.initialWatermarkMode === "latest";
62
+ const resolveInitialWatermark = options.resolveInitialWatermark
63
+ ?? (async () => undefined);
59
64
  const latestByScope = new Map();
65
+ // 已确定续传起点的作用域;起点为“从零开始”时不会出现在 latestByScope 中。
66
+ const resolvedScopes = new Set();
60
67
  const drain = async () => {
61
68
  if (closed || running)
62
69
  return;
@@ -72,17 +79,30 @@ export function createSourceCommitObserver(options) {
72
79
  options.onError?.(error);
73
80
  continue;
74
81
  }
75
- if (initialWatermarkPending) {
76
- initialWatermarkPending = false;
77
- if (cursor) {
78
- const scope = sourceCommitScope(cursor);
79
- latestByScope.set(scope, cursor.committedThroughSeq);
80
- continue;
81
- }
82
- }
83
82
  if (!cursor)
84
83
  continue;
85
84
  const scope = sourceCommitScope(cursor);
85
+ if (!resolvedScopes.has(scope)) {
86
+ let resolvedWatermark;
87
+ try {
88
+ resolvedWatermark = await resolveInitialWatermark(cursor);
89
+ }
90
+ catch (error) {
91
+ // 起点未知时不投影任何行;下一次源通知或周期重扫会再次解析同一作用域。
92
+ options.onError?.(error);
93
+ continue;
94
+ }
95
+ if (closed)
96
+ return;
97
+ if (resolvedWatermark !== undefined
98
+ && (!Number.isSafeInteger(resolvedWatermark) || resolvedWatermark < 0)) {
99
+ options.onError?.(new Error(`Source commit watermark is invalid: ${String(resolvedWatermark)}`));
100
+ continue;
101
+ }
102
+ if (resolvedWatermark !== undefined)
103
+ latestByScope.set(scope, resolvedWatermark);
104
+ resolvedScopes.add(scope);
105
+ }
86
106
  const previous = latestByScope.get(scope);
87
107
  if (previous !== undefined && cursor.committedThroughSeq <= previous)
88
108
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"source-commit.js","sourceRoot":"","sources":["../../../src/core/relay/source-commit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source-commit.js","sourceRoot":"","sources":["../../../src/core/relay/source-commit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * 会话级“思考等级”(reasoning effort)宿主命令的公共契约。
3
+ *
4
+ * OpenClaw 的 `pocketclaw.thinking.*` 与 Hermes 的 `hermes.thinking.*` 返回同一种载荷,
5
+ * Relay 与各移动端按此结构解析;字段名属于对外协议,修改前必须同步 Relay/客户端。
6
+ */
7
+ export type ThinkingStatePayload = {
8
+ /** 原样回显请求中的会话键。 */
9
+ sessionKey: string;
10
+ /** 当前模型是否支持调整思考等级。 */
11
+ supported: boolean;
12
+ /** 会话显式覆盖值;null 表示跟随默认值。 */
13
+ level: string | null;
14
+ /** level 为 null 时生效的默认等级。 */
15
+ defaultLevel: string | null;
16
+ /** 实际生效等级:level ?? defaultLevel。 */
17
+ effectiveLevel: string | null;
18
+ /** 当前模型允许的等级 ID,按展示顺序排列。 */
19
+ levels: string[];
20
+ };
21
+ export type ThinkingGetParams = {
22
+ sessionKey: string;
23
+ };
24
+ export type ThinkingSetParams = {
25
+ sessionKey: string;
26
+ level: string | null;
27
+ };
28
+ /** 表示“关闭思考”的等级 ID(OpenClaw 词表)。 */
29
+ export declare const THINKING_LEVEL_OFF = "off";
30
+ export declare function buildThinkingStatePayload(input: {
31
+ sessionKey: string;
32
+ supported: boolean;
33
+ level: string | null;
34
+ defaultLevel: string | null;
35
+ levels: readonly string[];
36
+ }): ThinkingStatePayload;
37
+ /** 只要存在 off 以外的等级,就认为模型可以调整思考强度。 */
38
+ export declare function hasAdjustableThinkingLevel(levels: readonly string[]): boolean;
39
+ /**
40
+ * 写入前的确定性校验:null 表示清除覆盖,始终允许;
41
+ * 其他值必须精确出现在当前模型的 levels 中,否则抛出契约约定的错误消息。
42
+ */
43
+ export declare function assertThinkingLevelAllowed(level: string | null, levels: readonly string[]): void;
44
+ export declare function parseThinkingGetParams(params: unknown): ThinkingGetParams;
45
+ export declare function parseThinkingSetParams(params: unknown): ThinkingSetParams;