@sema-agent/sdk 16.0.1 → 16.2.0

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 (81) hide show
  1. package/README.md +125 -1
  2. package/dist/errors.d.ts +53 -11
  3. package/dist/errors.d.ts.map +1 -1
  4. package/dist/errors.js +32 -4
  5. package/dist/errors.js.map +1 -1
  6. package/dist/events.d.ts +4 -0
  7. package/dist/events.d.ts.map +1 -1
  8. package/dist/events.js.map +1 -1
  9. package/dist/index.d.ts +3 -1
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js.map +1 -1
  12. package/dist/registry/admin.d.ts +3 -1
  13. package/dist/registry/admin.d.ts.map +1 -1
  14. package/dist/registry/admin.js +4 -2
  15. package/dist/registry/admin.js.map +1 -1
  16. package/dist/resources/adoption.d.ts +2 -1
  17. package/dist/resources/adoption.d.ts.map +1 -1
  18. package/dist/resources/adoption.js +2 -1
  19. package/dist/resources/adoption.js.map +1 -1
  20. package/dist/resources/approvals.d.ts +10 -3
  21. package/dist/resources/approvals.d.ts.map +1 -1
  22. package/dist/resources/approvals.js +11 -3
  23. package/dist/resources/approvals.js.map +1 -1
  24. package/dist/resources/assistant.d.ts +4 -2
  25. package/dist/resources/assistant.d.ts.map +1 -1
  26. package/dist/resources/assistant.js.map +1 -1
  27. package/dist/resources/leader.d.ts +5 -4
  28. package/dist/resources/leader.d.ts.map +1 -1
  29. package/dist/resources/leader.js +5 -4
  30. package/dist/resources/leader.js.map +1 -1
  31. package/dist/resources/memory.d.ts +6 -2
  32. package/dist/resources/memory.d.ts.map +1 -1
  33. package/dist/resources/memory.js +3 -1
  34. package/dist/resources/memory.js.map +1 -1
  35. package/dist/resources/ops.d.ts +3 -0
  36. package/dist/resources/ops.d.ts.map +1 -1
  37. package/dist/resources/ops.js +3 -0
  38. package/dist/resources/ops.js.map +1 -1
  39. package/dist/resources/rules.d.ts +4 -3
  40. package/dist/resources/rules.d.ts.map +1 -1
  41. package/dist/resources/rules.js +3 -3
  42. package/dist/resources/rules.js.map +1 -1
  43. package/dist/resources/runs.d.ts +20 -6
  44. package/dist/resources/runs.d.ts.map +1 -1
  45. package/dist/resources/runs.js +3 -2
  46. package/dist/resources/runs.js.map +1 -1
  47. package/dist/resources/session-sync.d.ts +11 -7
  48. package/dist/resources/session-sync.d.ts.map +1 -1
  49. package/dist/resources/session-sync.js +9 -6
  50. package/dist/resources/session-sync.js.map +1 -1
  51. package/dist/resources/sessions.d.ts +16 -5
  52. package/dist/resources/sessions.d.ts.map +1 -1
  53. package/dist/resources/sessions.js +15 -4
  54. package/dist/resources/sessions.js.map +1 -1
  55. package/dist/resources/tasks.d.ts +7 -1
  56. package/dist/resources/tasks.d.ts.map +1 -1
  57. package/dist/resources/tasks.js +7 -1
  58. package/dist/resources/tasks.js.map +1 -1
  59. package/dist/resources/tool-approvals.d.ts +24 -3
  60. package/dist/resources/tool-approvals.d.ts.map +1 -1
  61. package/dist/resources/tool-approvals.js +6 -0
  62. package/dist/resources/tool-approvals.js.map +1 -1
  63. package/dist/resources/workflows.d.ts +5 -2
  64. package/dist/resources/workflows.d.ts.map +1 -1
  65. package/dist/resources/workflows.js +5 -2
  66. package/dist/resources/workflows.js.map +1 -1
  67. package/dist/settings.d.ts +34 -8
  68. package/dist/settings.d.ts.map +1 -1
  69. package/dist/sync.d.ts +19 -2
  70. package/dist/sync.d.ts.map +1 -1
  71. package/dist/sync.js +88 -2
  72. package/dist/sync.js.map +1 -1
  73. package/dist/transport.d.ts +2 -0
  74. package/dist/transport.d.ts.map +1 -1
  75. package/dist/transport.js +2 -0
  76. package/dist/transport.js.map +1 -1
  77. package/dist/types.d.ts +213 -30
  78. package/dist/types.d.ts.map +1 -1
  79. package/dist/types.js.map +1 -1
  80. package/openapi.yaml +497 -74
  81. package/package.json +2 -2
@@ -27,7 +27,8 @@ export interface SettingsHookCommand {
27
27
  /** v1 supports the exec-form only. */
28
28
  type: "command";
29
29
  /** The shell command/script to run. The TOC shell-hook runner spawns it (stdin = the hook event JSON, CC protocol)
30
- * and maps its exit code → a typed core hook result (PreToolUse: 0=allow, 2=deny/block, other=non-blocking error). */
30
+ * and maps its exit code → a typed core hook result (PreToolUse: exit 2 = deny/block, other non-zero = non-blocking error; **exit 0 = no objection — NOT a statement of allow**:
31
+ * on the server (≥7.115.0) only an explicit `permissionDecision: "allow"` in the stdout JSON states one, see {@link SettingsHooks.PreToolUse}). */
31
32
  command: string;
32
33
  /** Per-command timeout in SECONDS (CC semantics). Omitted = the runner's default. */
33
34
  timeout?: number;
@@ -55,17 +56,29 @@ export interface SettingsHookMatcher {
55
56
  * 容忍两端 / 分隔符两侧的空白与逗号分隔(`" Bash"` / `"Read | Bash"` / `"Read,Bash"` 都命中 `Bash`);**区分大小写、不剥词内空白**(`bash` / `"Ba sh"` 不命中)。
56
57
  * 含任何别的字符(`.` / `*` / 括号 / 制表 …)⇒ **整体当锚定正则**(`^(?:matcher)$`),不 trim。
57
58
  * ⚠️ 升级后,以前因空白永不触发的钩子**会触发**(server 判:那正是作者本意;PreToolUse 的 deny 钩子也真拦)。
59
+ * 🔴 **400 体的机读位**(server ≥7.115.0 / S-1025;additive,句子逐字不变、零新码):这只拒的体除 `error` / `errorCode` 外另带 `field: "settings.hooks"` 与对象形
60
+ * `detail: { event, alias, canonical }`(`event` = 被拒那一组所在的工具事件,多事件配置取第一条被拒的;`alias` / `canonical` = 引擎目录里的别名与正名,闭集字符串、不含调用方原字节)——
61
+ * 按 `field === "settings.hooks"` 把它与普通提交失败分流、提示改 matcher,**不要解析句子**。本包不为它们具名属性:从 `err.extra.field` / `err.extra.detail` 读(`APIError.extra`,原样)。
62
+ * ⚠️ 同一个 `request.field_invalid` 上另有两句 `detail` 是**串**形(领养 principals 两句):**按 `field` 区分,不按 `detail` 的类型猜**。
63
+ *
58
64
  * 别名表是引擎的工具目录,本包不抄;型不拦它(本字段仍是 `string`),拦的是 server 受理门。 */
59
65
  matcher?: string;
60
66
  /** The hook commands to run when `matcher` hits (the runner handles dedup/parallel-precedence/timeout). */
61
67
  hooks: SettingsHookCommand[];
62
68
  }
63
- /** CC-parity hook EVENTS, v1 = the 3 actionable tool/prompt events (01-design.md §4).
64
- * DEFERRED: lifecycle events (SessionStart/SessionEnd/Stop/PreCompact/SubagentStop) — the TOC client owns launch, so
65
- * env-setup happens at launch; a `onTaskStart/End` core seam is demand-driven only. PostToolUseFailure also deferred. */
69
+ /** CC-parity hook EVENTS。🔴 **契约事件集 = 33 个**(`@sema-agent/settings-schema/hooks` 的 `HOOK_EVENT_OWNER`;server 7.115.0 随装 8.0.0 实读):其中 **engine 自有 9 个**
70
+ * —— `PreToolUse` / `PostToolUse` / `PostToolUseFailure` / `PostToolBatch` / `UserPromptSubmit` / `Stop` / `StopFailure` / `PreCompact` / `PostCompact` —— 由引擎 / server 点亮(提交面认、会触发);
71
+ * 其余 **24 个归 shell 自管**(`SessionStart` / `SessionEnd` / `Notification` / `SubagentStart` / … 本地壳自己触发):server 提交面**认得名**(集外事件名 ⇒ 400 `request.field_invalid`)但**不触发**。
72
+ * 本型只把三个最常用的工具 / 提示事件具名为成员(下面三行),其余走开集索引 `[event: string]` —— **不是**「v1 只有三个事件」:旧注写的「3 个可执行事件 / 生命周期事件延后」是 01-design 时代的说法,
73
+ * 已被契约事件集取代;读「我的 hook 会不会触发」看上面的 9 / 24 分法与 server 的受理面,别看本型有几个具名成员。 */
66
74
  export interface SettingsHooks {
67
75
  /** Before a tool runs. Maps to core `Hooks.preToolUse` → `PreToolUseResult` (deny/ask, or allow+`updatedInput`,
68
- * + `additionalContext`). 🔴 a hook `allow` can NEVER override a `toolPolicy` deny/ask (core two-phase gate). */
76
+ * + `additionalContext`). 🔴 a hook `allow` can NEVER override a `toolPolicy` deny/ask (core two-phase gate).
77
+ *
78
+ * 🔴 **`allow` 是「表态」,不是免问**(server ≥7.115.0 / S-654 (b);口径同 {@link SettingsPermissions.allow}):hook **显式**回 stdout JSON `hookSpecificOutput.permissionDecision: "allow"`
79
+ * ⇒ 给出「有人表态」—— 让没人表态的 MCP / A2A 服务器工具调用不再出卡;引擎对内置工具(编辑 / shell)自己的询问**照出**(与参照实现不同:那边 hook 批准即跳过询问;引擎侧已立项收)。
80
+ * 只给 `additionalContext` / 只给 `updatedInput`(只改写不表态)⇒ **不是放行**:结果不带 action、引擎照常裁决(≤7.114.x 的映射反过来:只给上下文被铸成放行、显式 allow 被收敛成无意见);exit 0 沉默 = 无意见。
81
+ * **放行只管它看见的那份参数**:最终交给工具的参数若不是该 hook 看见(或自己给出)的那一份 —— 后面的 hook、或同组另一条 hook 改写了 —— 这次放行不算数(要让改写后的参数也算表态,改写的那条自己回 `allow`)。 */
69
82
  PreToolUse?: SettingsHookMatcher[];
70
83
  /** After a tool succeeds. Maps to core `Hooks.postToolUse` → `PostToolUseResult` (replace `updatedOutput` / append context). */
71
84
  PostToolUse?: SettingsHookMatcher[];
@@ -76,9 +89,22 @@ export interface SettingsHooks {
76
89
  }
77
90
  /** CC-parity permission rules — string-PATTERN arrays (e.g. `"Bash(git *)"`, `"Read"`, `"Bash(rm -rf *)"`).
78
91
  * Maps to core `SessionPolicyStore` → {@link SessionPermissionRules} (commandAllow/Deny by argv[0], toolAllow/Deny,
79
- * allowDirs). 🔴 tighten-only: a normal (non-operator) write may only narrow; loosening → 403 `loosen_forbidden`. */
92
+ * allowDirs). 🔴 tighten-only: a normal (non-operator) write may only narrow; loosening → 403 `loosen_forbidden`.
93
+ * ⚠️ 上面说的是 SessionPolicyStore(会话规则)那一条腿;**提交体里的 `settings.permissions.allow`**(server ≥7.115.0)是另一回事 —— 它是 allow 规则(表态),读法见 {@link SettingsPermissions.allow}。 */
80
94
  export interface SettingsPermissions {
81
- /** Allow-list patterns (auto-approve). */
95
+ /** 🔴 **allow 规则(= 表态),不是名单,不是免问**(server ≥7.115.0 / S-654;先探 `capabilities.settings.permissions.allowGrant === true`,键缺席 = 老 server、按名单读 —— 别投这只桶)。
96
+ * 一条 allow 规则命中 = **带理由的放行**,即给出「有人表态」:它回答的是**没人表态**的 MCP 服务器工具 / A2A 技能调用(否则询问类模式下那一问出一张 `askClass:"unstated"` 的卡,无审批面则拒);
97
+ * **未命中 = 不表态、照常判**(名单外的工具**不再被拒** —— ≤7.114.x 上名单在场 ⇒ 名单外一律拒,那一读法已翻)。
98
+ * ⚠️ 与参照实现(CC)的 `permissions.allow` **不同**:CC 里 `allow: ["Edit"]` 会跳过编辑确认;这里写 `Write` / `Bash` 只是表态,`default` 模式下引擎自己的写门 / shell 检查**照问**,**deny / ask 照赢**
99
+ * (要免掉那些问用 `permissionMode`)。要「**只许这些工具**」用真旋钮:会话规则 `PUT /v1/sessions/:id/policy` 的 `toolAllow`、每请求 `excludeTools` / `excludeAllTools`、或部署场景工具面。
100
+ * 规则形与 deny / ask **同一只判据**:工具名规则(精确名,或 `mcp__<server>__*` / `a2a__<peer>__*`;`Bash(*)` 这类「工具名 + 通配内容」收下并编成整工具规则;
101
+ * 🔴 server ≥7.116.0 另收**两段覆盖形** `mcp__<server>` / `a2a__<peer>`,读作整台服务器,与 `mcp__<server>__*` 同义 —— ≤7.115.x 上它是 422);退役名 / 无前缀短名 /
102
+ * 缺段名(`mcp__` / `mcp__<server>__`)/ **服务器段不是引擎铸出来的那一段**(例 `mcp__github.com__*`:引擎把服务器名归一成 `github_com`,规则逐字比 ⇒ 永不命中,
103
+ * 7.116.0 起 422 并给出正确写法 `mcp__github_com__*`,此前被收下)/ 反斜杠 / 超 512 字符,以及**内容形**(`Bash(npm:*)` / `Read(./x)` / `WebFetch(domain:…)`)⇒ **整请求 422**(内容形的常设放行进持久规则店:`/v1/rules/cc-import`,或在卡上答 yes 时留规则;
104
+ * 🚧 那条 422 的句首仍写着 tighten-only —— server 已登记待收〔S-1085〕,别按句子分派)。
105
+ * 🔴 **旧说法已作废**:本键旧注把它当「只许这些」的名单 —— 键名不变、读法翻了;把它当白名单用的调用方,升级后**收窄失效**(名单外的工具照常可用)。
106
+ * 🔴 **对照(server ≥7.116.0)**:请求自带技能的 {@link import("./types.js").SkillSpec.allowedTools 清单} + `userInvokedSkills` 点名**比本键宽** —— 它还清掉内置工具上引擎自己的写门 / shell 普通问
107
+ * (被认可的放宽,托管 / 多租户部署不设开关);本键在同版仍只是表态。两只请求级放行源的读法将在引擎的下一版收成一种。 */
82
108
  allow?: string[];
83
109
  /** Deny-list patterns (hard block; deny short-circuits). */
84
110
  deny?: string[];
@@ -145,7 +171,7 @@ export interface SettingsWebSearch {
145
171
  * CC-parity anchor: claude-code-2.1.187 settings-hooks.md. Open at the top level to tolerate deferred CC keys
146
172
  * (`statusLine` — shell UI, shell-host self-managed, never touches the engine; `apiKeyHelper`; `sandbox` advanced). */
147
173
  export interface SemaSettings {
148
- /** Permission allow/deny/ask + additionalDirectories → SessionPolicyStore (tighten-only). */
174
+ /** Permission allow/deny/ask + additionalDirectories → SessionPolicyStore (tighten-only). ⚠️ 提交体上的 `allow` 桶在 server ≥7.115.0 是 allow 规则 = 表态,见 {@link SettingsPermissions.allow}。 */
149
175
  permissions?: SettingsPermissions;
150
176
  /** Shell hooks (PreToolUse/PostToolUse/UserPromptSubmit) → RunnerDeps.hooks (the shell-hook runner runs them). */
151
177
  hooks?: SettingsHooks;
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"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"}
package/dist/sync.d.ts CHANGED
@@ -24,7 +24,7 @@
24
24
  * round-trip. `srcIds`/`dstIds` are OLDEST-FIRST so the fork `commonAncestor` (the deepest shared id) and the
25
25
  * ordered exclusive/new lists come out correct.
26
26
  */
27
- import type { SessionManifest, SessionBundle, SyncConflictRelation, SyncRelation } from "./types.js";
27
+ import type { Capabilities, SessionManifest, SessionBundle, SyncConflictRelation, SyncRelation } from "./types.js";
28
28
  import type { SessionSyncResource } from "./resources/session-sync.js";
29
29
  /** §7 — classify how a SOURCE log (`srcIds`, oldest-first) relates to a DESTINATION log (`dstIds`, oldest-first, or
30
30
  * `null`/`[]` when the dst has no such session). Returns the {@link SyncRelation} discriminated union. */
@@ -34,6 +34,12 @@ export interface SessionSyncPeer {
34
34
  sessions: {
35
35
  sync: SessionSyncResource;
36
36
  };
37
+ /** 可选(`AgentClient` 天然满足):读这一端的能力位。**只有源 manifest 带着文件历史信封时才会被调用**,且只读 `sessionSyncFileHistory`(server ≥7.116.0 的 blob 面位)。
38
+ * 不提供 ⇒ 不拦(照旧尝试);提供而位缺席(老 server)⇒ 同样不拦;位为 `false` ⇒ 这一端搬不了 blob,编排 verb 只同步对话(见 {@link PushSessionResult.fileHistory})。
39
+ * 读失败(网络 / 401)原样抛出 —— 不猜。 */
40
+ capabilities?: (opts?: {
41
+ signal?: AbortSignal;
42
+ }) => Promise<Pick<Capabilities, "sessionSyncFileHistory">>;
37
43
  }
38
44
  export interface PushSessionOptions {
39
45
  /** Echoed into import Phase A. REQUIRED to apply a `fork`/`stale` push (dst history would be lost);
@@ -80,6 +86,13 @@ export interface PushSessionResult {
80
86
  entryCount: number;
81
87
  /** Content-addressed blobs uploaded to dst (idempotent PUTs; re-push re-PUTs harmlessly). */
82
88
  blobsPushed: number;
89
+ /** server ≥7.52 的文件历史怎么处置了(只在走到 Phase A 的路径上、且源 manifest **带了 `fileHistory` 键**时在场;≤7.51 的 `snapshots` 一代与本地短路 / 冲突返回路径上缺席):
90
+ * · `"carried"` —— 信封随 Phase A 推了过去,它引用的 blob 已 PUT(`blobsPushed` 数的就是它们);
91
+ * · `"none"` —— 源 manifest 的 `fileHistory` 是 `null`(没有历史 / 源店导不出),没有东西可带;
92
+ * · `"skipped"` —— **某一端的 `capabilities().sessionSyncFileHistory === false`**(server ≥7.116.0)⇒ **只同步了对话**:不取 blob、不 PUT、Phase A 不带 `fileHistory`
93
+ * (带过去会在 commit 后因缺 blob 422)。**调用方要把「文件历史没搬」告诉用户**,别当成同步完整。
94
+ * 位缺席(老 server)⇒ 不拦、照旧尝试(`"carried"`)。 */
95
+ fileHistory?: "carried" | "none" | "skipped";
83
96
  /** The src manifest the push was planned from (leafId → the caller's post-push sync watermark). */
84
97
  manifest: SessionManifest;
85
98
  /** The FULL dry-run plan relation (fast_forward's `newEntryIds` = the tail the dst lacked — the sema
@@ -110,6 +123,10 @@ export interface PullSessionOptions {
110
123
  signal?: AbortSignal;
111
124
  }
112
125
  export interface PulledSession {
126
+ /** 只在**拉取时源端明说没有文件历史 blob 面**(`capabilities().sessionSyncFileHistory === false`,server ≥7.116.0;且 `includeBlobs` 为真、manifest 带非空 `fileHistory`)时在场 =
127
+ * `"skipped"`:blob 取不到 ⇒ `bundle.fileHistory` 置 `null`(原信封仍在 `manifest.fileHistory`),{@link importSessionBundle} 据此只同步对话并报 `fileHistory: "skipped"`。
128
+ * 缺席 = 没有这回事(没拦 / 没读 / 位缺席 = 老 server)。 */
129
+ fileHistory?: "skipped";
113
130
  manifest: SessionManifest;
114
131
  /** The materialized portable state (entries verbatim, oldest-first). */
115
132
  bundle: SessionBundle;
@@ -133,5 +150,5 @@ export declare function pullSessionBundle(src: SessionSyncPeer, sessionId: strin
133
150
  * `blobs` map; a snapshot hash missing from the map is skipped — the dst may already hold it, and Phase A's
134
151
  * 422 `missing_blob` stays the honest gate) → import Phase A → Phase B from the in-memory entry array.
135
152
  */
136
- export declare function importSessionBundle(dst: SessionSyncPeer, pulled: Pick<PulledSession, "manifest" | "bundle" | "blobs">, opts?: PushSessionOptions): Promise<PushSessionResult>;
153
+ export declare function importSessionBundle(dst: SessionSyncPeer, pulled: Pick<PulledSession, "manifest" | "bundle" | "blobs" | "fileHistory">, opts?: PushSessionOptions): Promise<PushSessionResult>;
137
154
  //# sourceMappingURL=sync.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,oBAAoB,EAEpB,YAAY,EACb,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAEvE;2GAC2G;AAC3G,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,YAAY,CAkCrG;AAoBD,gHAAgH;AAChH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE;QAAE,IAAI,EAAE,mBAAmB,CAAA;KAAE,CAAC;CACzC;AAED,MAAM,WAAW,kBAAkB;IACjC;wFACoF;IACpF,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B;;;;;;;0EAOsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;8FAE0F;IAC1F,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,gHAAgH;IAChH,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;IACnC;;4DAEwD;IACxD,MAAM,EAAE,OAAO,CAAC;IAChB;;;;8CAI0C;IAC1C,KAAK,CAAC,EAAE,WAAW,GAAG,kBAAkB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACzD;;;;kFAI8E;IAC9E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;8GAC0G;IAC1G,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,iEAAiE;IACjE,UAAU,EAAE,MAAM,CAAC;IACnB,6FAA6F;IAC7F,WAAW,EAAE,MAAM,CAAC;IACpB,mGAAmG;IACnG,QAAQ,EAAE,eAAe,CAAC;IAC1B;sFACkF;IAClF,IAAI,EAAE,YAAY,CAAC;CACpB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,eAAe,EACpB,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,kBAAkB,GACxB,OAAO,CAAC,iBAAiB,CAAC,CA0E5B;AAED,MAAM,WAAW,kBAAkB;IACjC;6GACyG;IACzG,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,eAAe,CAAC;IAC1B,wEAAwE;IACxE,MAAM,EAAE,aAAa,CAAC;IACtB,6EAA6E;IAC7E,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CAChC;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,eAAe,EACpB,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,kBAAkB,GACxB,OAAO,CAAC,aAAa,CAAC,CAyBxB;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC,EAC5D,IAAI,CAAC,EAAE,kBAAkB,GACxB,OAAO,CAAC,iBAAiB,CAAC,CA8D5B"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"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"}
package/dist/sync.js CHANGED
@@ -33,6 +33,22 @@ export function classifySyncRelationshipByIds(srcIds, dstIds) {
33
33
  commonAncestor = id; // last shared id in src oldest-first order
34
34
  return { relation: "fork", commonAncestor, srcExclusive, dstExclusive };
35
35
  }
36
+ /** 这一端明说**没有**文件历史 blob 面(`sessionSyncFileHistory === false`)?peer 不暴露 `capabilities` / 位缺席 ⇒ `false`(不拦,照旧尝试)。 */
37
+ async function endLacksFileHistoryFace(peer, sopts) {
38
+ if (peer.capabilities === undefined)
39
+ return false;
40
+ const caps = await peer.capabilities(sopts);
41
+ return caps.sessionSyncFileHistory === false;
42
+ }
43
+ /** 文件历史信封引用的 blob hash(去重、保序;`blobHash: null` 的「当时不存在」标记不用搬)。 */
44
+ function fileHistoryBlobHashes(history) {
45
+ const seen = new Set();
46
+ for (const t of history.tracked)
47
+ for (const v of t.versions)
48
+ if (v.blobHash !== null)
49
+ seen.add(v.blobHash);
50
+ return [...seen];
51
+ }
36
52
  /**
37
53
  * PUSH one session from peer `src` into peer `dst` (same-id, cross-backend):
38
54
  * src manifest → dst dry-run plan (§7 classify) → [conflict? return, don't write] → blobs (content-addressed
@@ -77,6 +93,26 @@ export async function pushSessionBundle(src, dst, sessionId, opts) {
77
93
  // by N turn snapshots is one blob).
78
94
  const seen = new Set();
79
95
  let blobsPushed = 0;
96
+ // server ≥7.52:文件历史信封(取代 E19 snapshots)。两端都有 blob 面才搬;任一端明说没有 ⇒ 只同步对话(`"skipped"`)。
97
+ let carry = null;
98
+ let fileHistoryOutcome;
99
+ if (manifest.fileHistory === null)
100
+ fileHistoryOutcome = "none";
101
+ else if (manifest.fileHistory !== undefined) {
102
+ const lacking = (await endLacksFileHistoryFace(src, sopts)) || (await endLacksFileHistoryFace(dst, sopts));
103
+ if (lacking)
104
+ fileHistoryOutcome = "skipped";
105
+ else {
106
+ carry = manifest.fileHistory;
107
+ fileHistoryOutcome = "carried";
108
+ for (const hash of fileHistoryBlobHashes(carry)) {
109
+ seen.add(hash);
110
+ const bytes = await src.sessions.sync.getHistoryBlob(sessionId, hash, sopts);
111
+ await dst.sessions.sync.putBlob(sessionId, hash, bytes, sopts);
112
+ blobsPushed++;
113
+ }
114
+ }
115
+ }
80
116
  for (const snap of manifest.snapshots) {
81
117
  for (const [, hash] of snap.manifest) {
82
118
  if (seen.has(hash))
@@ -92,6 +128,7 @@ export async function pushSessionBundle(src, dst, sessionId, opts) {
92
128
  const staged = await dst.sessions.sync.import(sessionId, {
93
129
  entryIds: manifest.entryIds,
94
130
  snapshots: manifest.snapshots,
131
+ ...(carry !== null ? { fileHistory: carry } : {}),
95
132
  policy: manifest.policy,
96
133
  anchors: manifest.anchors,
97
134
  ...(opts?.resolution ? { resolution: opts.resolution } : {}),
@@ -103,6 +140,7 @@ export async function pushSessionBundle(src, dst, sessionId, opts) {
103
140
  // 最远消费端于是拿不到。("修复必须验到最远消费端"这条教训的又一次实例。)
104
141
  return {
105
142
  relation: staged.relation, pushed: true, entryCount: 0, blobsPushed, manifest, plan: rel,
143
+ ...(fileHistoryOutcome !== undefined ? { fileHistory: fileHistoryOutcome } : {}),
106
144
  ...(staged.basis !== undefined ? { basis: staged.basis } : {}),
107
145
  ...(staged.payloadVerified !== undefined ? { payloadVerified: staged.payloadVerified } : {}),
108
146
  };
@@ -110,7 +148,10 @@ export async function pushSessionBundle(src, dst, sessionId, opts) {
110
148
  // Phase B — the src entry stream into the staged import (async-iterable in, NDJSON out; `stream:true` makes it
111
149
  // a real constant-memory pipe, see PushSessionOptions.stream).
112
150
  const committed = await dst.sessions.sync.importEntries(sessionId, staged.stagingId, src.sessions.sync.entries(sessionId, undefined, sopts), { ...sopts, ...(opts?.stream === true ? { stream: true } : {}) });
113
- return { relation: committed.relation, pushed: true, entryCount: manifest.entryCount, blobsPushed, manifest, plan: rel };
151
+ return {
152
+ relation: committed.relation, pushed: true, entryCount: manifest.entryCount, blobsPushed, manifest, plan: rel,
153
+ ...(fileHistoryOutcome !== undefined ? { fileHistory: fileHistoryOutcome } : {}),
154
+ };
114
155
  }
115
156
  /**
116
157
  * PULL one session OUT of peer `src` into memory (manifest + full entry log [+ blobs]) for callers that land
@@ -127,6 +168,7 @@ export async function pullSessionBundle(src, sessionId, opts) {
127
168
  for await (const e of src.sessions.sync.entries(sessionId, undefined, sopts))
128
169
  entries.push(e);
129
170
  const blobs = new Map();
171
+ let fileHistorySkipped = false;
130
172
  if (opts?.includeBlobs) {
131
173
  for (const snap of manifest.snapshots) {
132
174
  for (const [, hash] of snap.manifest) {
@@ -135,6 +177,19 @@ export async function pullSessionBundle(src, sessionId, opts) {
135
177
  blobs.set(hash, await src.sessions.sync.getBlob(sessionId, snap.key, hash, sopts));
136
178
  }
137
179
  }
180
+ // server ≥7.52:文件历史的 blob 走 history 面;源端明说没有 blob 面(`sessionSyncFileHistory === false`)⇒ 取不到:不取、`bundle.fileHistory` 置 `null`、
181
+ // `PulledSession.fileHistory = "skipped"`(只同步对话)—— 不带着一份没有 blob 的信封去撞目的端的 422 `missing_blob`。
182
+ if (manifest.fileHistory != null) {
183
+ if (await endLacksFileHistoryFace(src, sopts))
184
+ fileHistorySkipped = true;
185
+ else {
186
+ for (const hash of fileHistoryBlobHashes(manifest.fileHistory)) {
187
+ if (blobs.has(hash))
188
+ continue;
189
+ blobs.set(hash, await src.sessions.sync.getHistoryBlob(sessionId, hash, sopts));
190
+ }
191
+ }
192
+ }
138
193
  }
139
194
  return {
140
195
  manifest,
@@ -142,10 +197,12 @@ export async function pullSessionBundle(src, sessionId, opts) {
142
197
  sessionId: manifest.sessionId,
143
198
  entries,
144
199
  snapshots: manifest.snapshots,
200
+ ...(manifest.fileHistory !== undefined ? { fileHistory: fileHistorySkipped ? null : manifest.fileHistory } : {}),
145
201
  policy: manifest.policy,
146
202
  anchors: manifest.anchors,
147
203
  },
148
204
  blobs,
205
+ ...(fileHistorySkipped ? { fileHistory: "skipped" } : {}),
149
206
  };
150
207
  }
151
208
  /**
@@ -179,6 +236,30 @@ export async function importSessionBundle(dst, pulled, opts) {
179
236
  }
180
237
  const seen = new Set();
181
238
  let blobsPushed = 0;
239
+ // server ≥7.52:文件历史信封;目的端明说没有 blob 面(`sessionSyncFileHistory === false`)⇒ 只同步对话(`"skipped"`,同 pushSessionBundle)。
240
+ // (源端那一半在拉取时已经读过:`pullSessionBundle` 在源端没有 blob 面时 `PulledSession.fileHistory = "skipped"`、`bundle.fileHistory = null`。)
241
+ let carry = null;
242
+ let fileHistoryOutcome;
243
+ if (pulled.fileHistory === "skipped")
244
+ fileHistoryOutcome = "skipped"; // 拉取时源端没有 blob 面(见 PulledSession.fileHistory)
245
+ else if (bundle.fileHistory === null)
246
+ fileHistoryOutcome = "none";
247
+ else if (bundle.fileHistory !== undefined) {
248
+ if (await endLacksFileHistoryFace(dst, sopts))
249
+ fileHistoryOutcome = "skipped";
250
+ else {
251
+ carry = bundle.fileHistory;
252
+ fileHistoryOutcome = "carried";
253
+ for (const hash of fileHistoryBlobHashes(carry)) {
254
+ seen.add(hash);
255
+ const bytes = blobs.get(hash);
256
+ if (!bytes)
257
+ continue; // not pulled (includeBlobs:false / partial) — Phase A 422s honestly if dst lacks it
258
+ await dst.sessions.sync.putBlob(sessionId, hash, bytes, sopts);
259
+ blobsPushed++;
260
+ }
261
+ }
262
+ }
182
263
  for (const snap of bundle.snapshots) {
183
264
  for (const [, hash] of snap.manifest) {
184
265
  if (seen.has(hash))
@@ -194,6 +275,7 @@ export async function importSessionBundle(dst, pulled, opts) {
194
275
  const staged = await dst.sessions.sync.import(sessionId, {
195
276
  entryIds: manifest.entryIds,
196
277
  snapshots: bundle.snapshots,
278
+ ...(carry !== null ? { fileHistory: carry } : {}),
197
279
  policy: bundle.policy,
198
280
  anchors: bundle.anchors,
199
281
  ...(opts?.resolution ? { resolution: opts.resolution } : {}),
@@ -204,6 +286,7 @@ export async function importSessionBundle(dst, pulled, opts) {
204
286
  // 最远消费端于是拿不到。("修复必须验到最远消费端"这条教训的又一次实例。)
205
287
  return {
206
288
  relation: staged.relation, pushed: true, entryCount: 0, blobsPushed, manifest, plan: rel,
289
+ ...(fileHistoryOutcome !== undefined ? { fileHistory: fileHistoryOutcome } : {}),
207
290
  ...(staged.basis !== undefined ? { basis: staged.basis } : {}),
208
291
  ...(staged.payloadVerified !== undefined ? { payloadVerified: staged.payloadVerified } : {}),
209
292
  };
@@ -212,6 +295,9 @@ export async function importSessionBundle(dst, pulled, opts) {
212
295
  ...sopts,
213
296
  ...(opts?.stream === true ? { stream: true } : {}),
214
297
  });
215
- return { relation: committed.relation, pushed: true, entryCount: bundle.entries.length, blobsPushed, manifest, plan: rel };
298
+ return {
299
+ relation: committed.relation, pushed: true, entryCount: bundle.entries.length, blobsPushed, manifest, plan: rel,
300
+ ...(fileHistoryOutcome !== undefined ? { fileHistory: fileHistoryOutcome } : {}),
301
+ };
216
302
  }
217
303
  //# sourceMappingURL=sync.js.map
package/dist/sync.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"AAmCA;2GAC2G;AAC3G,MAAM,UAAU,6BAA6B,CAAC,MAAgB,EAAE,MAAuB;IACrF,wGAAwG;IACxG,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAEzE,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAE/B,mHAAmH;IACnH,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;IAE/G,MAAM,WAAW,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY;IAC3E,MAAM,WAAW,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY;IAE3E,mHAAmH;IACnH,wDAAwD;IACxD,IAAI,WAAW,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3D,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC;IACnD,CAAC;IAED,qHAAqH;IACrH,uGAAuG;IACvG,IAAI,WAAW,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IAC3C,CAAC;IAED,kHAAkH;IAClH,+GAA+G;IAC/G,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5D,IAAI,cAAc,GAAkB,IAAI,CAAC;IACzC,KAAK,MAAM,EAAE,IAAI,MAAM;QAAE,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,cAAc,GAAG,EAAE,CAAC,CAAC,2CAA2C;IAC7G,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;AAC1E,CAAC;AA8ED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAoB,EACpB,GAAoB,EACpB,SAAiB,EACjB,IAAyB;IAEzB,MAAM,KAAK,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAExE,sGAAsG;IACtG,8BAA8B;IAC9B,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;IAC5F,sEAAsE;IACtE,kEAAkE;IAClE,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;QAClE,+DAA+D;QAC/D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;IACjJ,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,IAAI,IAAI,EAAE,UAAU,KAAK,eAAe,EAAE,CAAC;QAClG,OAAO;YACL,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,GAA2B;YACrC,UAAU,EAAE,CAAC;YACb,WAAW,EAAE,CAAC;YACd,QAAQ;YACR,IAAI,EAAE,GAAG;SACV,CAAC;IACJ,CAAC;IAED,0GAA0G;IAC1G,0GAA0G;IAC1G,oCAAoC;IACpC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACtC,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACrC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS;YAC7B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACf,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAChF,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAC/D,WAAW,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAED,yGAAyG;IACzG,iGAAiG;IACjG,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAC3C,SAAS,EACT;QACE,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,GAAG,CAAC,IAAI,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxE,EACD,KAAK,CACN,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,yFAAyF;QACzF,mEAAmE;QACnE,wCAAwC;QACxC,OAAO;YACL,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG;YACxF,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,GAAG,CAAC,MAAM,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7F,CAAC;IACJ,CAAC;IAED,+GAA+G;IAC/G,+DAA+D;IAC/D,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CACrD,SAAS,EACT,MAAM,CAAC,SAAS,EAChB,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,EACtD,EAAE,GAAG,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CACjE,CAAC;IACF,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AAC3H,CAAC;AAiBD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAoB,EACpB,SAAiB,EACjB,IAAyB;IAEzB,MAAM,KAAK,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACxE,MAAM,OAAO,GAAgB,EAAE,CAAC;IAChC,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9F,MAAM,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC5C,IAAI,IAAI,EAAE,YAAY,EAAE,CAAC;QACvB,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YACtC,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACrC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,SAAS;gBAC9B,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YACrF,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO;QACL,QAAQ;QACR,MAAM,EAAE;YACN,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,OAAO;YACP,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,OAAO,EAAE,QAAQ,CAAC,OAAO;SAC1B;QACD,KAAK;KACN,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,GAAoB,EACpB,MAA4D,EAC5D,IAAyB;IAEzB,MAAM,KAAK,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IAEnC,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;IAC5F,gEAAgE;IAChE,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;QAClE,+DAA+D;QAC/D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;IACjJ,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,IAAI,IAAI,EAAE,UAAU,KAAK,eAAe,EAAE,CAAC;QAClG,OAAO;YACL,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,GAA2B;YACrC,UAAU,EAAE,CAAC;YACb,WAAW,EAAE,CAAC;YACd,QAAQ;YACR,IAAI,EAAE,GAAG;SACV,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACpC,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACrC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS;YAC7B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACf,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,CAAC,KAAK;gBAAE,SAAS,CAAC,oFAAoF;YAC1G,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAC/D,WAAW,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAC3C,SAAS,EACT;QACE,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,GAAG,CAAC,IAAI,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxE,EACD,KAAK,CACN,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,mEAAmE;QACnE,wCAAwC;QACxC,OAAO;YACL,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG;YACxF,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,GAAG,CAAC,MAAM,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7F,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE;QACnG,GAAG,KAAK;QACR,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnD,CAAC,CAAC;IACH,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AAC7H,CAAC"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"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"}
@@ -56,6 +56,8 @@ export declare const RETRYABLE_STATUS: Set<number>;
56
56
  * S-866 ③:租约连接级失败而部署 fail-closed —— 零计费、「下一次提交就是下一次谈判」,契约明写瞬时可重试)/ 无码 503 …)。本表只管**本包自己的**
57
57
  * 退避臂:抛出去的 typed 错误不变(`corrupt_session` 仍是带码 `APIError`,名册三码仍落 503 状态尾的 `ServiceStateError`),调用方要不要
58
58
  * 事后再试(例如运维修好存档之后)是调用方的决定。
59
+ * ⚠️ **不在本表的 409 `checkpoint.unsupported_version`**(server ≥7.115.0,体带 `retriable: true`):它的状态 409 **本来就不在 {@link RETRYABLE_STATUS}**,重试臂看都不看它 —— 本表只在「状态落进重试集、而码说重试没用」时才有话说
60
+ * (收它进来是一行惰性行,还会被误读成「它被重试过」)。`retriable: true` 在这一族读作「卡仍 pending」,不是重试许可;`/decide` / `/wake` 是非 submit 的 POST,本来也不重试。钉 `server-7115-wire` E2。
59
61
  * ⚠️ 与 {@link APIError.retriable}(server 在 decide / resume 腿上**盖章**的「这张卡还 pending,可再决」)不是一件事,不互相推。
60
62
  * ⚠️ **不从包根导出**(与 {@link RETRYABLE_STATUS} 同待遇:这是本包重试臂的内部矩阵,不是给消费端复用的词表;成员随 server 契约增减)。
61
63
  */
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
package/dist/transport.js CHANGED
@@ -45,6 +45,8 @@ export const RETRYABLE_STATUS = new Set([408, 429, 500, 502, 503, 504]);
45
45
  * S-866 ③:租约连接级失败而部署 fail-closed —— 零计费、「下一次提交就是下一次谈判」,契约明写瞬时可重试)/ 无码 503 …)。本表只管**本包自己的**
46
46
  * 退避臂:抛出去的 typed 错误不变(`corrupt_session` 仍是带码 `APIError`,名册三码仍落 503 状态尾的 `ServiceStateError`),调用方要不要
47
47
  * 事后再试(例如运维修好存档之后)是调用方的决定。
48
+ * ⚠️ **不在本表的 409 `checkpoint.unsupported_version`**(server ≥7.115.0,体带 `retriable: true`):它的状态 409 **本来就不在 {@link RETRYABLE_STATUS}**,重试臂看都不看它 —— 本表只在「状态落进重试集、而码说重试没用」时才有话说
49
+ * (收它进来是一行惰性行,还会被误读成「它被重试过」)。`retriable: true` 在这一族读作「卡仍 pending」,不是重试许可;`/decide` / `/wake` 是非 submit 的 POST,本来也不重试。钉 `server-7115-wire` E2。
48
50
  * ⚠️ 与 {@link APIError.retriable}(server 在 decide / resume 腿上**盖章**的「这张卡还 pending,可再决」)不是一件事,不互相推。
49
51
  * ⚠️ **不从包根导出**(与 {@link RETRYABLE_STATUS} 同待遇:这是本包重试臂的内部矩阵,不是给消费端复用的词表;成员随 server 契约增减)。
50
52
  */
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}