@sema-agent/sdk 16.2.0 → 17.0.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.
- package/README.md +116 -0
- package/dist/errors.d.ts +83 -13
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +96 -11
- package/dist/errors.js.map +1 -1
- package/dist/events.d.ts +16 -0
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js.map +1 -1
- package/dist/index.d.ts +20 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -2
- package/dist/index.js.map +1 -1
- package/dist/resources/approvals.d.ts +34 -30
- package/dist/resources/approvals.d.ts.map +1 -1
- package/dist/resources/approvals.js +30 -0
- package/dist/resources/approvals.js.map +1 -1
- package/dist/resources/memory.d.ts +4 -0
- package/dist/resources/memory.d.ts.map +1 -1
- package/dist/resources/memory.js +4 -0
- package/dist/resources/memory.js.map +1 -1
- package/dist/resources/rules.d.ts +4 -7
- package/dist/resources/rules.d.ts.map +1 -1
- package/dist/resources/rules.js.map +1 -1
- package/dist/resources/runs.d.ts +6 -0
- package/dist/resources/runs.d.ts.map +1 -1
- package/dist/resources/runs.js +6 -0
- package/dist/resources/runs.js.map +1 -1
- package/dist/resources/session-sync.d.ts.map +1 -1
- package/dist/resources/session-sync.js +2 -3
- package/dist/resources/session-sync.js.map +1 -1
- package/dist/resources/sessions.d.ts +8 -0
- package/dist/resources/sessions.d.ts.map +1 -1
- package/dist/resources/sessions.js +8 -0
- package/dist/resources/sessions.js.map +1 -1
- package/dist/resources/tasks.d.ts +18 -1
- package/dist/resources/tasks.d.ts.map +1 -1
- package/dist/resources/tasks.js +18 -1
- package/dist/resources/tasks.js.map +1 -1
- package/dist/resources/tool-approvals.d.ts +104 -84
- package/dist/resources/tool-approvals.d.ts.map +1 -1
- package/dist/resources/tool-approvals.js +55 -11
- package/dist/resources/tool-approvals.js.map +1 -1
- package/dist/settings.d.ts +20 -10
- package/dist/settings.d.ts.map +1 -1
- package/dist/sync.d.ts +7 -7
- package/dist/sync.d.ts.map +1 -1
- package/dist/sync.js +32 -17
- package/dist/sync.js.map +1 -1
- package/dist/types.d.ts +105 -33
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +23 -0
- package/dist/types.js.map +1 -1
- package/openapi.yaml +347 -172
- package/package.json +1 -1
package/dist/settings.d.ts
CHANGED
|
@@ -90,21 +90,31 @@ export interface SettingsHooks {
|
|
|
90
90
|
/** CC-parity permission rules — string-PATTERN arrays (e.g. `"Bash(git *)"`, `"Read"`, `"Bash(rm -rf *)"`).
|
|
91
91
|
* Maps to core `SessionPolicyStore` → {@link SessionPermissionRules} (commandAllow/Deny by argv[0], toolAllow/Deny,
|
|
92
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
|
|
93
|
+
* ⚠️ 上面说的是 SessionPolicyStore(会话规则)那一条腿;**提交体里的 `settings.permissions.allow`**(server ≥7.115.0 是 allow 规则〔表态〕,≥7.117.0 起整份交引擎 allow 层、免问)是另一回事,读法见 {@link SettingsPermissions.allow}。 */
|
|
94
94
|
export interface SettingsPermissions {
|
|
95
|
-
/** 🔴
|
|
95
|
+
/** 🔴 **读法随 server 代际变,先探能力位 `capabilities.settings.permissions`**(缺席的位 = 更老一代):
|
|
96
|
+
*
|
|
97
|
+
* **≥7.117.0(`allowLayer === true`,core 7.42.0)—— allow 整份原样交给引擎的 allow 层,表里的调用免问**:清「普通问 + 没人表态」两类,**内置工具的写门 / shell 普通问也清**
|
|
98
|
+
* (与参照实现(CC)的 `permissions.allow` 同读:`allow: ["Edit"]` 起文件写不再问)。**内容形受理**(`Bash(git:*)`、`Read(//dir/<glob>)` 常设放行);引擎读成空的条目
|
|
99
|
+
* (`*`、写路径形 `Edit(<path-glob>)` / 域名形 / 带空白的名字 / `Read(~/…)`)**不拒**,开跑时收 `engine_notice` `permission.allowed_tool_not_granted`(user 受众)—— 写错了看通告,不靠 422。
|
|
100
|
+
* 清不掉的:任何一层的 deny / ask 规则(`deny` / `ask` 桶、运维 `APPROVAL_DENY` / `APPROVAL_REQUIRE`)、`APPROVAL_NEVER_AUTO`、`MANUAL_MODE_SHELL_GATE=always`、写保护 / 敏感写路径、治理、hook 的问、plan 模式的问;
|
|
101
|
+
* 命中却清不掉时卡上带 `allowRuleShadowed`({@link import("./resources/tool-approvals.js").ToolApprovalFrame.allowRuleShadowed},`member:"request"`)。要「某只工具必须到人」用 deny / ask 桶或运维逐工具旋钮。
|
|
102
|
+
* 受理口只判两件:字符串数组(**≤1000 条**,超了 400 `over_cap`;帽是引擎逐条准备的开销界)与**名字**(与 deny / ask 两桶同一只判官、同一句 422):退役名(`Task`)/ 无协议前缀的短名(`figma__x`)/ 协议名服务器段铸不出 / 缺段 / 写通配(`mcp__*`)⇒ **整请求 422**;内容不判。
|
|
103
|
+
* 🔴 **这条 422 的读法(7.117.0 起)**:`error` 句首是 `request settings cannot be applied as written: `(≤7.116.x 是另一句、带「tighten-only」字样的旧句首;三只桶共用这一个出口,旧句首对写收紧规则的调用方是误导、对 allow 桶是假话,所以换成不带方向的一句)——
|
|
104
|
+
* **别按句子分派,读 `errorCode`**:它不带自有码,落状态派生粗码 `request.unprocessable`(sdk 落 `BadRequestError`,`status` 422;不自动重试)。
|
|
105
|
+
* 请求自带技能的 `allowedTools`({@link import("./types.js").SkillSpec.allowedTools})与本键**同一读法**。
|
|
106
|
+
*
|
|
107
|
+
* **7.115.0–7.116.x(只有 `allowGrant`、没有 `allowLayer`)—— allow 规则(= 表态),不是名单,不是免问**(先探 `capabilities.settings.permissions.allowGrant === true`,键缺席 = 老 server、按名单读 —— 别投这只桶)。
|
|
96
108
|
* 一条 allow 规则命中 = **带理由的放行**,即给出「有人表态」:它回答的是**没人表态**的 MCP 服务器工具 / A2A 技能调用(否则询问类模式下那一问出一张 `askClass:"unstated"` 的卡,无审批面则拒);
|
|
97
109
|
* **未命中 = 不表态、照常判**(名单外的工具**不再被拒** —— ≤7.114.x 上名单在场 ⇒ 名单外一律拒,那一读法已翻)。
|
|
98
|
-
* ⚠️
|
|
110
|
+
* ⚠️ 那两代与参照实现(CC)的 `permissions.allow` **不同**:CC 里 `allow: ["Edit"]` 会跳过编辑确认;这里写 `Write` / `Bash` 只是表态,`default` 模式下引擎自己的写门 / shell 检查**照问**,**deny / ask 照赢**
|
|
99
111
|
* (要免掉那些问用 `permissionMode`)。要「**只许这些工具**」用真旋钮:会话规则 `PUT /v1/sessions/:id/policy` 的 `toolAllow`、每请求 `excludeTools` / `excludeAllTools`、或部署场景工具面。
|
|
100
112
|
* 规则形与 deny / ask **同一只判据**:工具名规则(精确名,或 `mcp__<server>__*` / `a2a__<peer>__*`;`Bash(*)` 这类「工具名 + 通配内容」收下并编成整工具规则;
|
|
101
|
-
*
|
|
113
|
+
* server ≥7.116.0 另收**两段覆盖形** `mcp__<server>` / `a2a__<peer>`,读作整台服务器,与 `mcp__<server>__*` 同义 —— ≤7.115.x 上它是 422);退役名 / 无前缀短名 /
|
|
102
114
|
* 缺段名(`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
|
-
*
|
|
105
|
-
* 🔴
|
|
106
|
-
* 🔴 **对照(server ≥7.116.0)**:请求自带技能的 {@link import("./types.js").SkillSpec.allowedTools 清单} + `userInvokedSkills` 点名**比本键宽** —— 它还清掉内置工具上引擎自己的写门 / shell 普通问
|
|
107
|
-
* (被认可的放宽,托管 / 多租户部署不设开关);本键在同版仍只是表态。两只请求级放行源的读法将在引擎的下一版收成一种。 */
|
|
115
|
+
* 7.116.0 起 422 并给出正确写法 `mcp__github_com__*`,此前被收下)/ 反斜杠 / 超 512 字符,以及**内容形**(`Bash(npm:*)` / `Read(./x)` / `WebFetch(domain:…)`)⇒ **整请求 422**(内容形的常设放行进持久规则店:`/v1/rules/cc-import`,或在卡上答 yes 时留规则)。
|
|
116
|
+
* 🔴 **旧说法已作废**:本键最早的注把它当「只许这些」的名单 —— 键名不变、读法翻了两次(名单 → 表态 → 免问);把它当白名单用的调用方,升级后**收窄失效**(名单外的工具照常可用)。
|
|
117
|
+
* 🔴 **对照**:server 7.116.x 上请求自带技能的 {@link import("./types.js").SkillSpec.allowedTools 清单} + `userInvokedSkills` 点名**比本键宽**(还清掉内置工具上引擎自己的写门 / shell 普通问);7.117.0 起两者收成同一读法。 */
|
|
108
118
|
allow?: string[];
|
|
109
119
|
/** Deny-list patterns (hard block; deny short-circuits). */
|
|
110
120
|
deny?: string[];
|
|
@@ -171,7 +181,7 @@ export interface SettingsWebSearch {
|
|
|
171
181
|
* CC-parity anchor: claude-code-2.1.187 settings-hooks.md. Open at the top level to tolerate deferred CC keys
|
|
172
182
|
* (`statusLine` — shell UI, shell-host self-managed, never touches the engine; `apiKeyHelper`; `sandbox` advanced). */
|
|
173
183
|
export interface SemaSettings {
|
|
174
|
-
/** Permission allow/deny/ask + additionalDirectories → SessionPolicyStore (tighten-only). ⚠️ 提交体上的 `allow` 桶在 server ≥7.115.0 是 allow 规则 =
|
|
184
|
+
/** Permission allow/deny/ask + additionalDirectories → SessionPolicyStore (tighten-only). ⚠️ 提交体上的 `allow` 桶在 server ≥7.115.0 是 allow 规则(7.115.0–7.116.x = 表态,≥7.117.0 = 整份交引擎 allow 层、免问),见 {@link SettingsPermissions.allow}。 */
|
|
175
185
|
permissions?: SettingsPermissions;
|
|
176
186
|
/** Shell hooks (PreToolUse/PostToolUse/UserPromptSubmit) → RunnerDeps.hooks (the shell-hook runner runs them). */
|
|
177
187
|
hooks?: SettingsHooks;
|
package/dist/settings.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,8GAA8G;AAC9G,MAAM,WAAW,mBAAmB;IAClC,sCAAsC;IACtC,IAAI,EAAE,SAAS,CAAC;IAChB;;wJAEoJ;IACpJ,OAAO,EAAE,MAAM,CAAC;IAChB,qFAAqF;IACrF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iHAAiH;IACjH,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AAED,gFAAgF;AAChF,MAAM,WAAW,mBAAmB;IAClC;;;;;;;;;;;;;;;;;;;;;;;;gEAwB4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2GAA2G;IAC3G,KAAK,EAAE,mBAAmB,EAAE,CAAC;CAC9B;AAED;;;;yEAIyE;AACzE,MAAM,WAAW,aAAa;IAC5B;;;;;;mIAM+H;IAC/H,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACnC,gIAAgI;IAChI,WAAW,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACpC,iIAAiI;IACjI,gBAAgB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACzC,oDAAoD;IACpD,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB,EAAE,GAAG,SAAS,CAAC;CACpD;AAED;;;
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"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"}
|
package/dist/sync.d.ts
CHANGED
|
@@ -34,8 +34,8 @@ export interface SessionSyncPeer {
|
|
|
34
34
|
sessions: {
|
|
35
35
|
sync: SessionSyncResource;
|
|
36
36
|
};
|
|
37
|
-
/** 可选(`AgentClient` 天然满足):读这一端的能力位。**只有源 manifest
|
|
38
|
-
*
|
|
37
|
+
/** 可选(`AgentClient` 天然满足):读这一端的能力位。**只有源 manifest 带着非 `null` 的文件历史信封时才会被调用**,且只读 `sessionSyncFileHistory`(server ≥7.116.0 的 blob 面位)。
|
|
38
|
+
* 三态读法见 {@link fileHistoryVerdict}:`true` = 有 blob 面 · `false` = 明说没有 · 位缺席 / 不提供本方法 = **不知道**(≤7.115.x:7.52–7.115 的 local 后端对自家 blob 恒 404)。
|
|
39
39
|
* 读失败(网络 / 401)原样抛出 —— 不猜。 */
|
|
40
40
|
capabilities?: (opts?: {
|
|
41
41
|
signal?: AbortSignal;
|
|
@@ -89,9 +89,9 @@ export interface PushSessionResult {
|
|
|
89
89
|
/** server ≥7.52 的文件历史怎么处置了(只在走到 Phase A 的路径上、且源 manifest **带了 `fileHistory` 键**时在场;≤7.51 的 `snapshots` 一代与本地短路 / 冲突返回路径上缺席):
|
|
90
90
|
* · `"carried"` —— 信封随 Phase A 推了过去,它引用的 blob 已 PUT(`blobsPushed` 数的就是它们);
|
|
91
91
|
* · `"none"` —— 源 manifest 的 `fileHistory` 是 `null`(没有历史 / 源店导不出),没有东西可带;
|
|
92
|
-
* · `"skipped"` ——
|
|
93
|
-
* (带过去会在 commit 后因缺 blob 422)。**调用方要把「文件历史没搬」告诉用户**,别当成同步完整。
|
|
94
|
-
*
|
|
92
|
+
* · `"skipped"` —— 按 {@link fileHistoryVerdict} 不搬:某一端 `capabilities().sessionSyncFileHistory === false`,**或**信封引用了 blob 而某一端的位缺席(≤7.115.x)⇒
|
|
93
|
+
* **只同步了对话**:不取 blob、不 PUT、Phase A 不带 `fileHistory`(带过去会在 commit 后因缺 blob 422)。**调用方要把「文件历史没搬」告诉用户**,别当成同步完整。
|
|
94
|
+
* 位缺席而信封不引用任何 blob(只有回退边界)⇒ `"carried"`(没有字节可搬)。 */
|
|
95
95
|
fileHistory?: "carried" | "none" | "skipped";
|
|
96
96
|
/** The src manifest the push was planned from (leafId → the caller's post-push sync watermark). */
|
|
97
97
|
manifest: SessionManifest;
|
|
@@ -123,9 +123,9 @@ export interface PullSessionOptions {
|
|
|
123
123
|
signal?: AbortSignal;
|
|
124
124
|
}
|
|
125
125
|
export interface PulledSession {
|
|
126
|
-
/**
|
|
126
|
+
/** 只在**拉取时源端按 {@link fileHistoryVerdict} 不搬**(源端 `sessionSyncFileHistory === false`,或信封引用了 blob 而源端位缺席;且 `includeBlobs` 为真、manifest 带非空 `fileHistory`)时在场 =
|
|
127
127
|
* `"skipped"`:blob 取不到 ⇒ `bundle.fileHistory` 置 `null`(原信封仍在 `manifest.fileHistory`),{@link importSessionBundle} 据此只同步对话并报 `fileHistory: "skipped"`。
|
|
128
|
-
* 缺席 = 没有这回事(没拦 / 没读
|
|
128
|
+
* 缺席 = 没有这回事(没拦 / 没读)。 */
|
|
129
129
|
fileHistory?: "skipped";
|
|
130
130
|
manifest: SessionManifest;
|
|
131
131
|
/** The materialized portable state (entries verbatim, oldest-first). */
|
package/dist/sync.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,KAAK,EACV,YAAY,EAEZ,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;IACxC;;mCAE+B;IAC/B,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC,CAAC;CAC3G;
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"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"}
|
package/dist/sync.js
CHANGED
|
@@ -33,12 +33,26 @@ 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
|
-
|
|
37
|
-
async function endLacksFileHistoryFace(peer, sopts) {
|
|
36
|
+
async function fileHistoryFaceOf(peer, sopts) {
|
|
38
37
|
if (peer.capabilities === undefined)
|
|
39
|
-
return
|
|
38
|
+
return "unknown";
|
|
40
39
|
const caps = await peer.capabilities(sopts);
|
|
41
|
-
return caps.sessionSyncFileHistory === false;
|
|
40
|
+
return caps.sessionSyncFileHistory === true ? "yes" : caps.sessionSyncFileHistory === false ? "no" : "unknown";
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* 文件历史搬不搬的**一条律**(三条编排 verb 同读):**信封只去没有一端说「没有」的地方;它引用的 blob 只在涉及的端都说「有」时才搬。**
|
|
44
|
+
* · 任一端 `no` ⇒ `skip`(只同步对话);
|
|
45
|
+
* · 信封引用了 blob ∧ 有一端不是 `yes`(位缺席)⇒ `skip` —— 「不知道」的端搬不动 blob 是实测形(7.52–7.115 的 local 后端:`PUT …/sync/blobs` 501、
|
|
46
|
+
* `GET …/sync/history/blobs` 对清单引用的 blob 恒 404 `not_found.blob`),照旧尝试 = 改过文件的会话整次抛;
|
|
47
|
+
* · 否则 `carry`(两端都 `yes`;或信封不引用任何 blob —— 只有回退边界的会话,没有字节可搬,信封照带)。
|
|
48
|
+
* 16.2.0–16.3.0 的读法是「位缺席 ⇒ 照旧尝试」,本律取代它(sdk 17.0.0)。
|
|
49
|
+
*/
|
|
50
|
+
function fileHistoryVerdict(faces, history) {
|
|
51
|
+
if (faces.includes("no"))
|
|
52
|
+
return "skip";
|
|
53
|
+
if (fileHistoryBlobHashes(history).length > 0 && faces.some((f) => f !== "yes"))
|
|
54
|
+
return "skip";
|
|
55
|
+
return "carry";
|
|
42
56
|
}
|
|
43
57
|
/** 文件历史信封引用的 blob hash(去重、保序;`blobHash: null` 的「当时不存在」标记不用搬)。 */
|
|
44
58
|
function fileHistoryBlobHashes(history) {
|
|
@@ -93,14 +107,14 @@ export async function pushSessionBundle(src, dst, sessionId, opts) {
|
|
|
93
107
|
// by N turn snapshots is one blob).
|
|
94
108
|
const seen = new Set();
|
|
95
109
|
let blobsPushed = 0;
|
|
96
|
-
// server ≥7.52:文件历史信封(取代 E19 snapshots)
|
|
110
|
+
// server ≥7.52:文件历史信封(取代 E19 snapshots)。搬不搬按 {@link fileHistoryVerdict} 一条律(K-62);不搬 ⇒ 只同步对话(`"skipped"`)。
|
|
97
111
|
let carry = null;
|
|
98
112
|
let fileHistoryOutcome;
|
|
99
113
|
if (manifest.fileHistory === null)
|
|
100
114
|
fileHistoryOutcome = "none";
|
|
101
115
|
else if (manifest.fileHistory !== undefined) {
|
|
102
|
-
const
|
|
103
|
-
if (
|
|
116
|
+
const faces = [await fileHistoryFaceOf(src, sopts), await fileHistoryFaceOf(dst, sopts)];
|
|
117
|
+
if (fileHistoryVerdict(faces, manifest.fileHistory) === "skip")
|
|
104
118
|
fileHistoryOutcome = "skipped";
|
|
105
119
|
else {
|
|
106
120
|
carry = manifest.fileHistory;
|
|
@@ -113,7 +127,7 @@ export async function pushSessionBundle(src, dst, sessionId, opts) {
|
|
|
113
127
|
}
|
|
114
128
|
}
|
|
115
129
|
}
|
|
116
|
-
for (const snap of manifest.snapshots) {
|
|
130
|
+
for (const snap of manifest.snapshots ?? []) {
|
|
117
131
|
for (const [, hash] of snap.manifest) {
|
|
118
132
|
if (seen.has(hash))
|
|
119
133
|
continue;
|
|
@@ -127,7 +141,8 @@ export async function pushSessionBundle(src, dst, sessionId, opts) {
|
|
|
127
141
|
// 409 lease/active-run ConflictError. Both propagate: the caller's conflict surface is the same.
|
|
128
142
|
const staged = await dst.sessions.sync.import(sessionId, {
|
|
129
143
|
entryIds: manifest.entryIds,
|
|
130
|
-
snapshots
|
|
144
|
+
// Phase A 体上的 `snapshots` 是 ≤7.51 那一代的必填键(≥7.52 静默忽略):源没有整树快照 ⇒ 写成空表(这是对老 dst 的写形,不是读面填充)。
|
|
145
|
+
snapshots: manifest.snapshots ?? [],
|
|
131
146
|
...(carry !== null ? { fileHistory: carry } : {}),
|
|
132
147
|
policy: manifest.policy,
|
|
133
148
|
anchors: manifest.anchors,
|
|
@@ -170,17 +185,17 @@ export async function pullSessionBundle(src, sessionId, opts) {
|
|
|
170
185
|
const blobs = new Map();
|
|
171
186
|
let fileHistorySkipped = false;
|
|
172
187
|
if (opts?.includeBlobs) {
|
|
173
|
-
for (const snap of manifest.snapshots) {
|
|
188
|
+
for (const snap of manifest.snapshots ?? []) {
|
|
174
189
|
for (const [, hash] of snap.manifest) {
|
|
175
190
|
if (blobs.has(hash))
|
|
176
191
|
continue;
|
|
177
192
|
blobs.set(hash, await src.sessions.sync.getBlob(sessionId, snap.key, hash, sopts));
|
|
178
193
|
}
|
|
179
194
|
}
|
|
180
|
-
// server ≥7.52:文件历史的 blob 走 history
|
|
195
|
+
// server ≥7.52:文件历史的 blob 走 history 面;源端按 {@link fileHistoryVerdict} 不搬(明说没有 / 位缺席而信封引用 blob)⇒ 取不到:不取、`bundle.fileHistory` 置 `null`、
|
|
181
196
|
// `PulledSession.fileHistory = "skipped"`(只同步对话)—— 不带着一份没有 blob 的信封去撞目的端的 422 `missing_blob`。
|
|
182
197
|
if (manifest.fileHistory != null) {
|
|
183
|
-
if (await
|
|
198
|
+
if (fileHistoryVerdict([await fileHistoryFaceOf(src, sopts)], manifest.fileHistory) === "skip")
|
|
184
199
|
fileHistorySkipped = true;
|
|
185
200
|
else {
|
|
186
201
|
for (const hash of fileHistoryBlobHashes(manifest.fileHistory)) {
|
|
@@ -196,7 +211,7 @@ export async function pullSessionBundle(src, sessionId, opts) {
|
|
|
196
211
|
bundle: {
|
|
197
212
|
sessionId: manifest.sessionId,
|
|
198
213
|
entries,
|
|
199
|
-
snapshots: manifest.snapshots,
|
|
214
|
+
...(manifest.snapshots !== undefined ? { snapshots: manifest.snapshots } : {}),
|
|
200
215
|
...(manifest.fileHistory !== undefined ? { fileHistory: fileHistorySkipped ? null : manifest.fileHistory } : {}),
|
|
201
216
|
policy: manifest.policy,
|
|
202
217
|
anchors: manifest.anchors,
|
|
@@ -236,7 +251,7 @@ export async function importSessionBundle(dst, pulled, opts) {
|
|
|
236
251
|
}
|
|
237
252
|
const seen = new Set();
|
|
238
253
|
let blobsPushed = 0;
|
|
239
|
-
// server ≥7.52
|
|
254
|
+
// server ≥7.52:文件历史信封;目的端按 {@link fileHistoryVerdict} 不搬 ⇒ 只同步对话(`"skipped"`,同 pushSessionBundle)。
|
|
240
255
|
// (源端那一半在拉取时已经读过:`pullSessionBundle` 在源端没有 blob 面时 `PulledSession.fileHistory = "skipped"`、`bundle.fileHistory = null`。)
|
|
241
256
|
let carry = null;
|
|
242
257
|
let fileHistoryOutcome;
|
|
@@ -245,7 +260,7 @@ export async function importSessionBundle(dst, pulled, opts) {
|
|
|
245
260
|
else if (bundle.fileHistory === null)
|
|
246
261
|
fileHistoryOutcome = "none";
|
|
247
262
|
else if (bundle.fileHistory !== undefined) {
|
|
248
|
-
if (await
|
|
263
|
+
if (fileHistoryVerdict([await fileHistoryFaceOf(dst, sopts)], bundle.fileHistory) === "skip")
|
|
249
264
|
fileHistoryOutcome = "skipped";
|
|
250
265
|
else {
|
|
251
266
|
carry = bundle.fileHistory;
|
|
@@ -260,7 +275,7 @@ export async function importSessionBundle(dst, pulled, opts) {
|
|
|
260
275
|
}
|
|
261
276
|
}
|
|
262
277
|
}
|
|
263
|
-
for (const snap of bundle.snapshots) {
|
|
278
|
+
for (const snap of bundle.snapshots ?? []) {
|
|
264
279
|
for (const [, hash] of snap.manifest) {
|
|
265
280
|
if (seen.has(hash))
|
|
266
281
|
continue;
|
|
@@ -274,7 +289,7 @@ export async function importSessionBundle(dst, pulled, opts) {
|
|
|
274
289
|
}
|
|
275
290
|
const staged = await dst.sessions.sync.import(sessionId, {
|
|
276
291
|
entryIds: manifest.entryIds,
|
|
277
|
-
snapshots: bundle.snapshots,
|
|
292
|
+
snapshots: bundle.snapshots ?? [], // 同 pushSessionBundle:≤7.51 的 Phase A 必填键
|
|
278
293
|
...(carry !== null ? { fileHistory: carry } : {}),
|
|
279
294
|
policy: bundle.policy,
|
|
280
295
|
anchors: bundle.anchors,
|
package/dist/sync.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"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"}
|