@sema-agent/sdk 25.0.0 → 26.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.
Files changed (56) hide show
  1. package/README.md +103 -3
  2. package/dist/client.d.ts +0 -4
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +0 -5
  5. package/dist/client.js.map +1 -1
  6. package/dist/errors.d.ts +57 -25
  7. package/dist/errors.d.ts.map +1 -1
  8. package/dist/errors.js +40 -35
  9. package/dist/errors.js.map +1 -1
  10. package/dist/events.d.ts +13 -2
  11. package/dist/events.d.ts.map +1 -1
  12. package/dist/events.js.map +1 -1
  13. package/dist/index.d.ts +17 -14
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +6 -3
  16. package/dist/index.js.map +1 -1
  17. package/dist/resources/approvals.d.ts +16 -2
  18. package/dist/resources/approvals.d.ts.map +1 -1
  19. package/dist/resources/approvals.js +7 -2
  20. package/dist/resources/approvals.js.map +1 -1
  21. package/dist/resources/fleet.d.ts +8 -12
  22. package/dist/resources/fleet.d.ts.map +1 -1
  23. package/dist/resources/fleet.js.map +1 -1
  24. package/dist/resources/rules.d.ts +2 -5
  25. package/dist/resources/rules.d.ts.map +1 -1
  26. package/dist/resources/rules.js.map +1 -1
  27. package/dist/resources/session-sync.d.ts +27 -32
  28. package/dist/resources/session-sync.d.ts.map +1 -1
  29. package/dist/resources/session-sync.js +25 -39
  30. package/dist/resources/session-sync.js.map +1 -1
  31. package/dist/resources/tool-approvals.d.ts +60 -99
  32. package/dist/resources/tool-approvals.d.ts.map +1 -1
  33. package/dist/resources/tool-approvals.js +41 -35
  34. package/dist/resources/tool-approvals.js.map +1 -1
  35. package/dist/settings.d.ts +13 -0
  36. package/dist/settings.d.ts.map +1 -1
  37. package/dist/settings.js +0 -24
  38. package/dist/settings.js.map +1 -1
  39. package/dist/sync.d.ts +5 -5
  40. package/dist/sync.d.ts.map +1 -1
  41. package/dist/sync.js +13 -55
  42. package/dist/sync.js.map +1 -1
  43. package/dist/transport.d.ts +2 -0
  44. package/dist/transport.d.ts.map +1 -1
  45. package/dist/transport.js +3 -0
  46. package/dist/transport.js.map +1 -1
  47. package/dist/types.d.ts +132 -110
  48. package/dist/types.d.ts.map +1 -1
  49. package/dist/types.js +5 -0
  50. package/dist/types.js.map +1 -1
  51. package/openapi.yaml +237 -532
  52. package/package.json +1 -1
  53. package/dist/resources/workspace.d.ts +0 -95
  54. package/dist/resources/workspace.d.ts.map +0 -1
  55. package/dist/resources/workspace.js +0 -60
  56. package/dist/resources/workspace.js.map +0 -1
@@ -44,16 +44,13 @@ export const TOOL_APPROVAL_FRAME_KEYS = [
44
44
  "expiresAtMs",
45
45
  "expiresInMs",
46
46
  "serverNowMs",
47
- "ruleSuggestions",
48
47
  "ruleOffers",
49
48
  "ruleOffersAbsence",
50
49
  "mandated", // server 7.93.0(core 7.26.0 #997)强制卡出身位
51
- "mandate", // server 7.102.0(core 7.32.0 #1092 / S-721)强制位站在哪一个词上(core PERSISTED_RULE_MANDATES 六词)
50
+ "mandate", // server 7.102.0(core 7.32.0 #1092 / S-721)强制位站在哪一个词上(core PERSISTED_RULE_MANDATES;core 7.54.0 起七词)
52
51
  "denialLimitFallback",
53
- // server ≥7.117.0(core 7.42.0)—— allow 层披露:命中这次调用却清不掉这只 ask 的成员(取代下一行的旧键;帧 / 卡 / 重放帧同投,耐久对偶 `riskDescriptor.allowRuleShadowed`)。
52
+ // server ≥7.117.0(core 7.42.0)—— allow 层披露:命中这次调用却清不掉这只 ask 的成员(取代退役的串 `persistedRuleShadowed`,sdk 26.0.0 删;帧 / 卡 / 重放帧同投,耐久对偶 `riskDescriptor.allowRuleShadowed`)。
54
53
  "allowRuleShadowed",
55
- // 16.3.0 登记:server [7.13.0, 7.117.0)(core 5.25.0 #144)帧 / 卡 / 重放帧同投 —— 被越级的持久规则原文;server ≥7.117.0 退役(继任 `allowRuleShadowed`;见 _keyset-divergence.ts)。
56
- "persistedRuleShadowed",
57
54
  "probeCause",
58
55
  // 16.1.0:server ≥7.115.0(S-733)活卡帧散文因由,与 `probeCause` 并列;**只在活卡帧**(`APPROVAL_CARD_KEYS` 不含)。
59
56
  "probeReason",
@@ -63,11 +60,13 @@ export const TOOL_APPROVAL_FRAME_KEYS = [
63
60
  "outcome",
64
61
  // 19.0.0:server ≥7.124.0 —— 结局帧的非人结局成因(`ApprovalSettleCause` 十四词;人答缺席)。
65
62
  "cause",
66
- // S-185(8.9.0):server [7.69.0, 7.72.0) 三面同投 —— 分类器答不了的因由;server ≥7.72.0 退役(见 _keyset-divergence.ts)。
63
+ // server [7.69.0, 7.72.0) 三面同投 —— 分类器答不了的因由。⚰️ server ≥7.72.0 不再铸;支持面内的 7.69–7.71 仍发、闭形 `InboxRow` 同键具型 ⇒ 帧上同留(与行同读),
64
+ // 底线 ≥ 7.106.0 时随下一个 major 与 `ruleStoreUnreadable` 一并删。
67
65
  "classifierUnavailable",
68
- // 9.2.0:server [7.72.0, 7.106.0)(core 7.14.0 #688 C3)—— 规则车道读不通的是哪一半;帧与 inbox 行同投,卡不带。
69
- // K-32(sdk 13.2.0 候):server 7.106.0 退役(core 7.34.0 C-R172,继任 engine_notice `permission.rule_store_unavailable`;见 _keyset-divergence.ts)。
66
+ // server [7.72.0, 7.106.0) —— 规则车道读不通的是哪一半;帧与 inbox 行同投,卡不带。⚰️ server ≥7.106.0 不再铸(继任 engine_notice `permission.rule_store_unavailable`);
67
+ // 支持面内的 7.72–7.105 仍发 ⇒ 同上:帧上同留,底线 ≥ 7.106.0 时随下一个 major 删。
70
68
  "ruleStoreUnreadable",
69
+ // ⚰️ sdk 26.0.0 不再列:`ruleSuggestions`(≤7.45,底线之下)· `persistedRuleShadowed`(≤7.116,继任 `allowRuleShadowed`)—— 钉版 server 的 `ToolApprovalFrame` 都不声明它们,开形帧上同版删(零别名)。
71
70
  // 9.6.0:server ≥7.78.1(core 7.19.0,additive)—— 根外读 ask 的清障目录。**只在本帧**(耐久面无孪生座)。
72
71
  "readRootCandidate",
73
72
  // K-37 扩项(sdk 15.1.0):server ≥7.109.0(S-934 ② / core 7.37.0 #1214)ask 类对 —— 帧 / 卡 / 运维队列行同一对(inbox 行不带)。
@@ -82,21 +81,20 @@ export const TOOL_APPROVAL_FRAME_KEYS = [
82
81
  "boundGrantAbsence",
83
82
  ];
84
83
  // ═══════════════════════════════════════════════════════════════════════════════════════════════════
85
- // S-134(sdk 8.2.0)—— **规则候选的换形**:`RuleSuggestion`(≤7.45)→ `RuleOffer` 判别联合(≥7.46.0)。
84
+ // S-134(sdk 8.2.0)—— **规则候选的换形**:≤7.45 的三元组 `RuleSuggestion` → `RuleOffer` 判别联合(≥7.46.0)。⚰️ sdk 26.0.0:旧形随底线 7.52.0 整删(型 / 键 / 校验器)。
86
85
  //
87
86
  // 真源逐字(server 树亲读,非 d.ts 推断):`src/approval-card.ts` 的 `RuleOfferSchema` /
88
87
  // `RuleOfferBatchMemberSchema` / `UncoveredSegmentDetailSchema`;闭词表的**单一属主是 core**,server 侧
89
88
  // 转录在 `src/permission-rule-vocab.ts`(每张表带 `Exact<>` 双向全等钉 —— core 加员 ⇒ server 编译红)。
90
89
  //
91
- // 🔴 **本包只是型面供给口,不是第二个判官**:两代 wire 键(新 `ruleOffers` / 旧 `ruleSuggestions`)在
92
- // 型面上**并列声明**,取舍序归消费端的窄读器(client-core `readRuleOfferSupply`:新键在场即定局、旧键
93
- // 整条不看)。sdk 不在类型层替消费端做取舍 —— 那会让「新键有载体但读不出」这一格在两个地方各判一次。
90
+ // 🔴 **本包只是型面供给口,不是第二个判官**:候选的读法(新键在场即定局)归消费端的窄读器(client-core `readRuleOfferSupply`);
91
+ // 支持面内只有一代键 `ruleOffers`(旧键 `ruleSuggestions` 只在 ≤7.45 上,sdk 26.0.0 删)。
94
92
  // ═══════════════════════════════════════════════════════════════════════════════════════════════════
95
93
  // 🔴 三张闭词表各只有**一处真源**(`as const` 数组 ⇒ 类型派生 ⇒ 运行时校验器读同一数组),与 server
96
94
  // `src/permission-rule-vocab.ts` 的 `PERSISTED_RULE_MATCHES` / `RULE_OFFER_BATCH_MEMBER_KINDS` /
97
95
  // `UNCOVERED_SEGMENT_REASONS` 同形。类型与校验器各抄一遍字面量 = 两份会各自漂的判官(加员时没有任何编译信号)。
98
96
  /**
99
- * 一条规则的**匹配形**闭词表 —— server `PERSISTED_RULE_MATCHES` 逐字九员同序(词表属主是 core 的 `PersistedRuleMatch`,server 只转录并钉全等)。
97
+ * 一条规则的**匹配形**闭词表 —— core `PERSISTED_RULE_MATCHES` 逐字九员同序(词表属主是 core:core 7.54.0 起是包根值,server ≥7.134.0 直接读它、不再自留转录;此前 server 转录并钉全等)。
100
98
  * **一张表、两面同读**:卡上的规则候选 {@link RuleOffer}(server 的卡 schema 用同一只 enum 校验)与持久规则行
101
99
  * {@link import("./rules.js").PersistedRule.match}(`GET /v1/rules`)。
102
100
  *
@@ -202,7 +200,7 @@ export const ASK_ORIGINS = [
202
200
  "policy",
203
201
  ];
204
202
  /**
205
- * **强制位站在哪一个词上**(server ≥7.102.0 / S-721 / core 7.32.0 #1092)—— core `PERSISTED_RULE_MANDATES` 六词
203
+ * **强制位站在哪一个词上**(server ≥7.102.0 / S-721 / core 7.32.0 #1092)—— core `PERSISTED_RULE_MANDATES` 七词(core 7.54.0 起;此前六词)
206
204
  * **逐词同序**转录(`dist/core/ask-origin.d.ts:349`;词义属主在 core,下面逐词照 core 7.32.1 `ask-origin.d.ts:336-347` 的定义转述,
207
205
  * 不另作解释 —— 「这一问因**结构**而站着,常驻 allow 规则不许清掉它」的闭集):
208
206
  * · `operator_always` —— 粗粒度 shell 教条(`shellGate` 的 always 档)对 shell 命令的**逐次确认**;
@@ -211,7 +209,10 @@ export const ASK_ORIGINS = [
211
209
  * · `probe_unanswered` —— 探针被咨询了但没答上:边界**未知**;
212
210
  * · `write_protection` —— 写保护名表覆盖这次写的目标(写到被加载执行的配置上 = 给 agent 重新授权,问题是**目标**的属性);
213
211
  * · `target_unresolved` —— 写目标的落点**读不出**(路上有一个链接查不了,或执行环境解不出目标):`probe_unanswered` 同一条教条的上一层
214
- * (core 7.49.0 #955 / server ≥7.126.0 的拼法;7.122.0–7.125.x 是旧拼法,零别名 —— 老 server 发的旧词读作集外,见 README 22.0.0 迁移表)。
212
+ * (core 7.49.0 #955 / server ≥7.126.0 的拼法;7.122.0–7.125.x 是旧拼法,零别名 —— 老 server 发的旧词读作集外,见 README 22.0.0 迁移表);
213
+ * · `cross_boundary_taint` —— (core 7.54.0 / server ≥7.134.0)这条 run 执行在部署信任边界之外的设备上、部署是多租形:一次落到组织侧的写 —— 或在一次离目标读之后、
214
+ * 发回设备的调用 —— 由部署的审批人逐次确认,常驻 allow 规则与任何自动车道都答不了它,配置给的放行(整座放行或策略代答)被拒。core 把它排在强制梯的**最前**
215
+ * (判序),数组里它在末位(数组序 = core 常量序,不是判序)。只在执行于目标设备的树上出现,宿主车道永不出现。
215
216
  *
216
217
  * 🔴 **闭集**(与 {@link AskOrigin} 刻意相反):四面 server 都经 core 成员筛 `isPersistedRuleMandate`(`approval-card.ts`
217
218
  * `readClosedWordSeat`;inbox 行由 core `summarizeCheckpoint` 筛),集外词读作**缺席**、不上 wire ⇒ 真闭集。core 加词 ⇒
@@ -229,6 +230,7 @@ export const PERSISTED_RULE_MANDATES = [
229
230
  "probe_unanswered",
230
231
  "write_protection",
231
232
  "target_unresolved",
233
+ "cross_boundary_taint",
232
234
  ];
233
235
  /**
234
236
  * 活卡结局帧 `tool_approval_complete` 的 {@link ToolApprovalFrame.cause} 词表 —— 审批席「结局成因」一张闭集(server ≥7.124.0,十七词)里**非人结局**的十四词:
@@ -319,12 +321,9 @@ export const APPROVAL_CARD_KEYS = [
319
321
  "governanceForced",
320
322
  // 16.2.0:server ≥7.116.0 —— 与 `TOOL_APPROVAL_FRAME_KEYS` 同一位(`ApprovalCardSchema` 的 `rememberRefused: z.literal(true).optional()`)。
321
323
  "rememberRefused",
322
- "ruleSuggestions",
323
324
  "ruleOffers",
324
325
  // server ≥7.117.0:与帧同一位同一份素材。
325
326
  "allowRuleShadowed",
326
- // 16.3.0 登记:帧卡同源;server ≥7.117.0 退役(见 _keyset-divergence.ts)。
327
- "persistedRuleShadowed",
328
327
  "fromSubagent",
329
328
  "sourceTaskId",
330
329
  "sourceAgentName",
@@ -335,12 +334,20 @@ export const APPROVAL_CARD_KEYS = [
335
334
  // S-139(8.3.0):帧与卡同源两位。
336
335
  "ruleOffersAbsence",
337
336
  "denialLimitFallback",
338
- // S-185(8.9.0):帧卡同源第二处;server ≥7.72.0 退役(见 _keyset-divergence.ts)。
337
+ // S-185(8.9.0):帧卡同源;server ≥7.72.0 不再铸,但钉版 server 的卡 schema 仍收它(旧 `card_json` 存行回放)⇒ 卡上照声明(帧上的同名键按支持面内的 7.69–7.71 仍发而留,见 `TOOL_APPROVAL_FRAME_KEYS`)。
339
338
  "classifierUnavailable",
340
339
  // K-37 扩项(sdk 15.1.0):server ≥7.109.0(S-934 ②)ask 类对 —— 与帧同一份素材。
341
340
  "askClass",
342
341
  "classes",
343
342
  ];
343
+ /**
344
+ * 审批开卡帧的**帧族词表**(闭集;server `APPROVAL_FRAME_FAMILIES` 逐词同序,`dist/tool-approval.d.ts`)—— wire 上一只 ask 的开卡帧可能属于的族:
345
+ * · `tool_approval` —— 旧族(活卡帧 `tool_approval` / 消卡帧 `tool_approval_complete`);
346
+ * · `approval_request` —— 呈卡族(开卡帧 `approval_request` / 消卡帧 `approval_complete` / 批级撤卡帧 `approval_revoke`)。
347
+ * **两处读同一只词表**(一个事实一处声明):能力位 {@link import("../types.js").Capabilities.approvalFrameFamilies}(这台 worker 呈卡用哪一族)与请求键
348
+ * {@link import("../settings.js").SemaSettings.approvalFrameFamilies}(server ≥7.134.0:这条 run 的客户端**渲染得了**哪些族)。加族 = server 下一版 + 本常量同批加(同源锚当场红)。
349
+ */
350
+ export const APPROVAL_FRAME_FAMILIES = Object.freeze(["tool_approval", "approval_request"]);
344
351
  /** {@link ApprovalCompleteFrame} 的字段名清单(同源锚对账面,照 {@link APPROVAL_REQUEST_FRAME_KEYS} 先例)。 */
345
352
  export const APPROVAL_COMPLETE_FRAME_KEYS = ["type", "schemaVersion", "askId", "taskId", "approvalId", "outcome", "cause", "parked", "serverNowMs"];
346
353
  /** {@link ApprovalRevokeFrame} 的字段名清单(同源锚对账面)。 */
@@ -374,18 +381,9 @@ function isApprovalCardDelegationV1(v) {
374
381
  const d = v;
375
382
  return isStr(d.parentToolCallId) && isNum(d.depth) && optIs(d, "agentName", isStr);
376
383
  }
377
- /** 一条候选的逐键判据。**`match` 必须是闭词表内的值**:一条 `match: "regex"` 的「候选」若被窄化成可信形,
378
- * 壳会渲出一格按下去必被 server 拒(`rule_not_offered`/`unknown-candidate`)的「不再询问」—— 而人已经
379
- * 以为自己存下了一条规则。这正是可选键判据必须覆盖**在场形**的那条纪律。 */
380
- function isRuleSuggestionV1(v) {
381
- if (typeof v !== "object" || v === null)
382
- return false;
383
- const s = v;
384
- return isStr(s.rule) && isStr(s.command) && (s.match === "exact" || s.match === "prefix");
385
- }
386
- /** 一条 offer 的逐键判据(判别联合两臂 + 成员两臂)。**闭集判别位与闭词表都真判** —— 理由与
387
- * {@link isRuleSuggestionV1} 逐字同源:一条被窄化成「可信」的坏 offer 会让壳渲出一格按下去必被 server
388
- * 拒的「不再询问」,而人已经以为自己存下了规则。
384
+ /** 一条 offer 的逐键判据(判别联合两臂 + 成员两臂)。**闭集判别位与闭词表都真判**(`match` 必须是 {@link RULE_OFFER_MATCHES} 内的值):
385
+ * 一条被窄化成「可信」的坏 offer 会让壳渲出一格按下去必被 server 拒(`rule_not_offered` / `unknown-candidate`)的「不再询问」,
386
+ * 而人已经以为自己存下了规则 —— 这正是可选键判据必须覆盖**在场形**的那条纪律。
389
387
  * 🔴 成员 `kind` 不识 ⇒ **整只 batch 判假**(core 规范性降级臂:少一个成员的合取批比不渲更坏)。 */
390
388
  function isRuleOfferV1(v) {
391
389
  if (typeof v !== "object" || v === null)
@@ -487,13 +485,10 @@ function isApprovalCardV1(v) {
487
485
  // `args` 是 `unknown` —— 任何 JSON 值都合法,没有可校验的形(帽/洗涤是 server 的责任)。
488
486
  return (optIs(c, "argsOmitted", isTrue) &&
489
487
  optIs(c, "toolCallId", isStr) &&
490
- optIs(c, "ruleSuggestions", (x) => Array.isArray(x) && x.every(isRuleSuggestionV1)) &&
491
488
  optIs(c, "ruleOffers", (x) => Array.isArray(x) && x.every(isRuleOfferV1)) &&
492
- // 在场形也校验(同 `ruleSuggestions` 那条纪律):这一格是**展示解释**,一个非串的值渲出来是
489
+ // 在场形也校验(同 `ruleOffers` 那条纪律):这一格是**展示解释**,一个非串的值渲出来是
493
490
  // `[object Object]`,而人正指望这一行告诉他「你的规则怎么了」。
494
- // 新键 `allowRuleShadowed`(server ≥7.117.0)与退役旧键 `persistedRuleShadowed`(只有 ≤7.116.x 的旧 server 还发)各判各的形;两键不互相推。
495
491
  optIs(c, "allowRuleShadowed", isAllowRuleShadowedV1) &&
496
- optIs(c, "persistedRuleShadowed", isStr) &&
497
492
  optIs(c, "fromSubagent", isTrue) &&
498
493
  optIs(c, "sourceTaskId", isStr) &&
499
494
  optIs(c, "sourceAgentName", isStr) &&
@@ -620,6 +615,17 @@ export function isToolApprovalParkedRedeemed(ack) {
620
615
  * · `decided` —— 行 `DECIDED`(有人 / 有策略决过;回执三键同晚答回放体:`decision` / `decidedAtMs` / `decisionNote?`);
621
616
  * · `parked` —— 行 `PARKING` / `PARKED`(转后台候批;应答口走迟到受理 / 赎回,耐久回决口照收;`decidePath?` 指耐久回决路径);
622
617
  * · `void` —— 行 `DENIED` / `VOID`(没有人决过它,答案无处兑现;`cause?` 同晚答 404 的成因词,见 {@link AskRowEndingCause})。
618
+ *
619
+ * 🔴 **server ≥7.134.0:停驻行(`PARKED`)过门判官**(与应答口判 `409 approval_stale` 同一只)—— 问账行不随赎回 / 取消改写,所以读口去问 checkpoint
620
+ * 「这张卡的门此刻还是不是该会话当前待决的审批门」,词表**不加字**:
621
+ * · 门仍开 ⇒ `parked`(+ `decidePath`,不变)—— **只有这一态才渲「去决定」**;
622
+ * · 门已被人 / 策略结算(checkpoint 上有方向与引擎写的结算时刻)⇒ `decided`(`decision` / `decidedAtMs` / `decisionNote?`,**无 `decidePath`**)—— 渲「已答」;
623
+ * · 门已过期(取消先把门 expire)/ 被取代 / 结算方是宿主 SLA 扫·窗到期·无人可答 ⇒ `void`(**无 `cause`**:行上没写成因)—— 渲「失效」;
624
+ * · checkpoint 行没了,或已结算却读不出可用的方向 / 时刻 ⇒ `404 tool_approval.not_pending`(**无 `cause`**)—— 渲「消卡」;
625
+ * · 门读不出(店故障)⇒ 退回 `parked`(应答口对同一张卡仍按自己的判官 fail-closed)。
626
+ * **已知边界**(以重读为准):停驻行的 `decided` 可回到 `parked` —— 续跑腿在被批准的动作开跑前失败(环境恢复失败 / 工具不在 / 配置被拒 / 决议输入被拒)时引擎**重开**同一张门
627
+ * (一次已送达的拒不重开;工具不在与决议输入被拒要重新决);续跑被取消 ⇒ server 把重开的门收掉,读作 `void`,收掉之前的一瞬(或收不掉、交给收割器时)仍可能读到 `parked`;
628
+ * 重开瞬间两读之间可能读到 `void`。老 server(≤7.133.x)对这几类卡一律答 `parked` + `decidePath`。
623
629
  */
624
630
  export const TOOL_APPROVAL_READ_STATES = Object.freeze(["pending", "decided", "parked", "void"]);
625
631
  export class ToolApprovalsResource {
@@ -1 +1 @@
1
- {"version":3,"file":"tool-approvals.js","sourceRoot":"","sources":["../../src/resources/tool-approvals.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-approvals.js","sourceRoot":"","sources":["../../src/resources/tool-approvals.ts"],"names":[],"mappings":"AAmEA;;;;;;;oCAOoC;AACpC;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,CAAU,CAAC,CAAC;AAYrG;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,CAAU,CAAC;AAI/I;;;uCAGuC;AACvC,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,MAAM;IACN,YAAY;IACZ,YAAY;IACZ,UAAU;IACV,cAAc;IACd,cAAc;IACd,iBAAiB;IACjB,SAAS;IACT,MAAM;IACN,aAAa;IACb,kBAAkB;IAClB,2FAA2F;IAC3F,iBAAiB;IACjB,8CAA8C;IAC9C,sBAAsB;IACtB,QAAQ;IACR,oPAAoP;IACpP,cAAc;IACd,cAAc;IACd,aAAa;IACb,aAAa;IACb,aAAa;IACb,YAAY;IACZ,mBAAmB;IACnB,UAAU,EAAE,wCAAwC;IACpD,SAAS,EAAE,oGAAoG;IAC/G,qBAAqB;IACrB,oKAAoK;IACpK,mBAAmB;IACnB,YAAY;IACZ,6FAA6F;IAC7F,aAAa;IACb,cAAc;IACd,YAAY;IACZ,QAAQ;IACR,SAAS;IACT,wEAAwE;IACxE,OAAO;IACP,sHAAsH;IACtH,wDAAwD;IACxD,uBAAuB;IACvB,0IAA0I;IAC1I,4DAA4D;IAC5D,qBAAqB;IACrB,iKAAiK;IACjK,gFAAgF;IAChF,mBAAmB;IACnB,yGAAyG;IACzG,UAAU;IACV,SAAS;IACT,8GAA8G;IAC9G,gIAAgI;IAChI,kBAAkB;IAClB,aAAa;IACb,oBAAoB;IACpB,6JAA6J;IAC7J,mBAAmB;CACX,CAAC;AAEX,sGAAsG;AACtG,qIAAqI;AACrI,EAAE;AACF,2EAA2E;AAC3E,4FAA4F;AAC5F,oFAAoF;AACpF,EAAE;AACF,sFAAsF;AACtF,wEAAwE;AACxE,sGAAsG;AAEtG,mEAAmE;AACnE,gGAAgG;AAChG,yEAAyE;AACzE;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,CAAU,CAAC;AAG1I;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,SAAS,EAAE,eAAe,CAAU,CAAC;AAanF,MAAM,gBAAgB,GAAmB,IAAI,CAAC;AAC9C,KAAK,gBAAgB,CAAC;AAEtB;0EAC0E;AAC1E,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,aAAa,EAAE,cAAc,EAAE,cAAc,CAAU,CAAC;AAUrG,sGAAsG;AACtG,wEAAwE;AACxE,yFAAyF;AACzF,sGAAsG;AAEtG;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,UAAU,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,mBAAmB,CAAU,CAAC;AAG7H;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,YAAY,CAAU,CAAC,CAAC;AAG3F,qEAAqE;AACrE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,aAAa,EAAE,OAAO,CAAU,CAAC;AAGpE;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,CAAU,CAAC;AAgGnG;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,kBAAkB;IAClB,aAAa;IACb,iBAAiB;IACjB,iBAAiB;IACjB,UAAU;IACV,wBAAwB;IACxB,MAAM;IACN,UAAU;IACV,uBAAuB;IACvB,oBAAoB;IACpB,gBAAgB;IAChB,QAAQ;CACA,CAAC;AAEX;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,iBAAiB;IACjB,YAAY;IACZ,eAAe;IACf,kBAAkB;IAClB,kBAAkB;IAClB,mBAAmB;IACnB,sBAAsB;CACd,CAAC;AAoMX;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC;IAClD,aAAa;IACb,gBAAgB;IAChB,qBAAqB;IACrB,eAAe;IACf,eAAe;IACf,YAAY;IACZ,eAAe;IACf,yBAAyB;IACzB,uBAAuB;IACvB,6BAA6B;IAC7B,qBAAqB;IACrB,sBAAsB;IACtB,qBAAqB;IACrB,6BAA6B;CACrB,CAAC,CAAC;AAaZ;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAU,CAAC,CAAC;AAidlE;;+BAE+B;AAC/B,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,MAAM;IACN,eAAe;IACf,OAAO;IACP,QAAQ;IACR,MAAM;IACN,MAAM;IACN,aAAa;IACb,aAAa;IACb,aAAa;IACb,YAAY;IACZ,+FAA+F;IAC/F,UAAU;IACV,SAAS;IACT,QAAQ;IACR,kBAAkB;IAClB,aAAa;IACb,oBAAoB;IACpB,mBAAmB;IACnB,cAAc;IACd,mBAAmB;IACnB,aAAa;CACL,CAAC;AAEX;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,UAAU;IACV,SAAS;IACT,QAAQ;IACR,kBAAkB;IAClB,aAAa;IACb,oBAAoB;IACpB,mBAAmB;IACnB,cAAc;IACd,mBAAmB;IACnB,aAAa;CACL,CAAC;AAKX,mDAAmD;AACnD,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,UAAU;IACV,SAAS;IACT,MAAM;IACN,aAAa;IACb,YAAY;IACZ,MAAM;IACN,kBAAkB;IAClB,oIAAoI;IACpI,iBAAiB;IACjB,YAAY;IACZ,8BAA8B;IAC9B,mBAAmB;IACnB,cAAc;IACd,cAAc;IACd,iBAAiB;IACjB,YAAY;IACZ,cAAc;IACd,YAAY;IACZ,cAAc;IACd,wBAAwB;IACxB,mBAAmB;IACnB,qBAAqB;IACrB,sJAAsJ;IACtJ,uBAAuB;IACvB,iEAAiE;IACjE,UAAU;IACV,SAAS;CACD,CAAC;AAEX;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,kBAAkB,CAAU,CAAC,CAAC;AAsDrG,6FAA6F;AAC7F,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAU,CAAC;AAsC7J,kDAAkD;AAClD,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,CAAU,CAAC;AAsDrI,2FAA2F;AAC3F,0DAA0D;AAC1D,qFAAqF;AACrF,oEAAoE;AACpE,4GAA4G;AAC5G,MAAM,KAAK,GAAG,CAAC,CAAU,EAAW,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;AAC7D,MAAM,KAAK,GAAG,CAAC,CAAU,EAAW,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;AAC7D,MAAM,MAAM,GAAG,CAAC,CAAU,EAAW,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;AACnD;;;2CAG2C;AAC3C,MAAM,KAAK,GAAG,CAAC,CAA0B,EAAE,GAAW,EAAE,EAA2B,EAAW,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3H,oFAAoF;AACpF,MAAM,QAAQ,GACZ,CAAC,KAAwB,EAAE,EAAE,CAC7B,CAAC,CAAU,EAAW,EAAE,CACtB,OAAO,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAE/C,SAAS,oBAAoB,CAAC,CAAU;IACtC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,CAAC,GAAG,CAA4B,CAAC;IACvC,IAAI,OAAO,CAAC,CAAC,oBAAoB,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC9D,OAAO,KAAK,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC;AACtH,CAAC;AAED,SAAS,0BAA0B,CAAC,CAAU;IAC5C,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,CAAC,GAAG,CAA4B,CAAC;IACvC,OAAO,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;AACrF,CAAC;AAED;;;qEAGqE;AACrE,SAAS,aAAa,CAAC,CAAU;IAC/B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,CAAC,GAAG,CAA4B,CAAC;IACvC,MAAM,OAAO,GAAG,CAAC,CAAU,EAAW,EAAE,CAAE,kBAAyC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAChG,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACtF,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC,CAAC,iCAAiC;IACvE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAClE,IAAI,OAAO,CAAC,CAAC,iBAAiB,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,iBAAiB,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACnI,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAW,EAAE;QACvC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QACtD,MAAM,CAAC,GAAG,CAA4B,CAAC;QACvC,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC3G,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe;YAAE,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC/F,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAW,EAAE;QACvC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QACtD,MAAM,CAAC,GAAG,CAA4B,CAAC;QACvC,OAAO,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAK,4BAAmD,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACrG,CAAC,CAAC;IACF,OAAO,KAAK,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;AACnF,CAAC;AAED;;kDAEkD;AAClD,SAAS,sBAAsB,CAAC,CAAU;IACxC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,CAAC,GAAG,CAA4B,CAAC;IACvC,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC1E,CAAC;AACD,SAAS,cAAc,CAAC,CAAU;IAChC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,CAAC,GAAG,CAA4B,CAAC;IACvC,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,sBAAsB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,SAAS,EAAE,sBAAsB,CAAC,CAAC;AACzG,CAAC;AAED;;;sBAGsB;AACtB,SAAS,gBAAgB,CAAC,CAAU;IAClC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,CAAC,GAAG,CAA4B,CAAC;IACvC,MAAM,KAAK,GAAG,CAAC,CAAU,EAAW,EAAE;QACpC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QACtD,MAAM,CAAC,GAAG,CAA4B,CAAC;QACvC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC,CAAC;IACF,OAAO,CACL,KAAK,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC;QAC9B,KAAK,CAAC,CAAC,EAAE,mBAAmB,EAAE,KAAK,CAAC;QACpC,KAAK,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC;QAC1B,KAAK,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC;QAChC,KAAK,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvE,KAAK,CAAC,CAAC,EAAE,wBAAwB,EAAE,KAAK,CAAC,CAC1C,CAAC;AACJ,CAAC;AAED;6DAC6D;AAC7D,SAAS,uBAAuB,CAAC,CAAU;IACzC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,CAAC,GAAG,CAA4B,CAAC;IACvC,OAAO,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;AAC9F,CAAC;AAED;2FAC2F;AAC3F,SAAS,qBAAqB,CAAC,CAAU;IACvC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACpC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QACnB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QACtD,MAAM,CAAC,GAAG,CAA4B,CAAC;QACvC,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACpK,CAAC,CAAC,CAAC;AACL,CAAC;AAED;sDACsD;AACtD,SAAS,gBAAgB,CAAC,CAAU;IAClC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,CAAC,GAAG,CAA4B,CAAC;IACvC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3F,gEAAgE;IAChE,OAAO,CACL,KAAK,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC;QAC/B,KAAK,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC;QAC7B,KAAK,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACzE,sDAAsD;QACtD,0CAA0C;QAC1C,KAAK,CAAC,CAAC,EAAE,mBAAmB,EAAE,qBAAqB,CAAC;QACpD,KAAK,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC;QAChC,KAAK,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC;QAC/B,KAAK,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC;QAClC,KAAK,CAAC,CAAC,EAAE,YAAY,EAAE,0BAA0B,CAAC;QAClD,+DAA+D;QAC/D,+DAA+D;QAC/D,gEAAgE;QAChE,+CAA+C;QAC/C,KAAK,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC;QAChC,KAAK,CAAC,CAAC,EAAE,YAAY,EAAE,cAAc,CAAC;QACtC,KAAK,CAAC,CAAC,EAAE,cAAc,EAAE,gBAAgB,CAAC;QAC1C,wFAAwF;QACxF,KAAK,CAAC,CAAC,EAAE,mBAAmB,EAAE,KAAK,CAAC;QACpC,KAAK,CAAC,CAAC,EAAE,qBAAqB,EAAE,uBAAuB,CAAC,CACzD,CAAC;AACJ,CAAC;AAED;;;;2DAI2D;AAC3D,SAAS,4BAA4B,CAAC,CAA0B;IAC9D,MAAM,MAAM,GAAG,CAAC,CAAU,EAAW,EAAE;QACrC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QACtD,MAAM,CAAC,GAAG,CAA4B,CAAC;QACvC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACpL,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,CAAU,EAAW,EAAE;QACxC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QACtD,MAAM,CAAC,GAAG,CAA4B,CAAC;QACvC,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,aAAa,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACpG,CAAC,CAAC;IACF,OAAO,CACL,KAAK,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC;QAC5B,KAAK,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC;QACtD,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC;QACzB,KAAK,CAAC,CAAC,EAAE,kBAAkB,EAAE,KAAK,CAAC;QACnC,KAAK,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC;QAC/B,KAAK,CAAC,CAAC,EAAE,oBAAoB,EAAE,QAAQ,CAAC,yBAAyB,CAAC,CAAC;QACnE,KAAK,CAAC,CAAC,EAAE,mBAAmB,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAC7D,KAAK,CAAC,CAAC,EAAE,cAAc,EAAE,QAAQ,CAAC,wBAAwB,CAAC,CAAC;QAC5D,KAAK,CAAC,CAAC,EAAE,mBAAmB,EAAE,SAAS,CAAC;QACxC,KAAK,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,CAC/B,CAAC;AACJ,CAAC;AAED;;;;;mDAKmD;AACnD,MAAM,UAAU,wBAAwB,CAAC,CAAU;IACjD,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,CAAC,GAAG,CAA4B,CAAC;IACvC,IAAI,CAAC,CAAC,IAAI,KAAK,kBAAkB,IAAI,CAAC,CAAC,aAAa,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY;QAAE,OAAO,KAAK,CAAC;IACpG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9E,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1F,OAAO,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,4BAA4B,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC;AAED;;;iEAGiE;AACjE,MAAM,UAAU,yBAAyB,CAAC,CAAU;IAClD,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,CAAC,GAAG,CAA4B,CAAC;IACvC,IAAI,CAAC,CAAC,IAAI,KAAK,mBAAmB,IAAI,CAAC,CAAC,aAAa,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1E,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC;QAAE,OAAO,KAAK,CAAC;IACvG,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC/F,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACvE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9C,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;gCAIgC;AAChC,MAAM,UAAU,uBAAuB,CAAC,CAAU;IAChD,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,CAAC,GAAG,CAA4B,CAAC;IACvC,IAAI,CAAC,CAAC,IAAI,KAAK,iBAAiB,IAAI,CAAC,CAAC,aAAa,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC;QAAE,OAAO,KAAK,CAAC;IACjF,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7C,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC1D,CAAC;AAuFD;;;;iHAIiH;AACjH,MAAM,CAAC,MAAM,8BAA8B,GAAG,2BAAoC,CAAC;AACnF;;uGAEuG;AACvG,MAAM,UAAU,wBAAwB,CAAC,GAAY;IACnD,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAK,GAA+B,CAAC,SAAS,KAAK,8BAA8B,CAAC;AAClI,CAAC;AAgCD,+MAA+M;AAC/M,MAAM,UAAU,sBAAsB,CAAC,GAA2B;IAChE,MAAM,CAAC,GAAG,GAAmD,CAAC;IAC9D,OAAO,CAAC,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC,CAAC,QAAQ,KAAK,iBAAiB,CAAC;AACnE,CAAC;AACD,yKAAyK;AACzK,MAAM,UAAU,4BAA4B,CAAC,GAA2B;IACtE,OAAQ,GAA8B,CAAC,QAAQ,KAAK,iBAAiB,CAAC;AACxE,CAAC;AA+GD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC,CAAC;AA6B1G,MAAM,OAAO,qBAAqB;IACH;IAA7B,YAA6B,CAAY;QAAZ,MAAC,GAAD,CAAC,CAAW;IAAG,CAAC;IAE7C;;;gIAG4H;IAC5H,KAAK,CAAC,GAAG,CAAC,UAAkB,EAAE,IAA+B;QAC3D,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAuB;YAC1C,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,sBAAsB,kBAAkB,CAAC,UAAU,CAAC,EAAE;YAC5D,MAAM,EAAE,IAAI,EAAE,MAAM;SACrB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;uGAamG;IACnG,KAAK,CAAC,OAAO,CACX,EAAU,EACV,IAmEC,EACD,IAA+B;QAE/B,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAyB;YAC5C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,sBAAsB,kBAAkB,CAAC,EAAE,CAAC,UAAU;YAC5D,IAAI;YACJ,MAAM,EAAE,IAAI,EAAE,MAAM;SACrB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iEAmC6D;IAC7D,KAAK,CAAC,SAAS,CACb,MAAc,EACd,KAAa,EACb,IAAqB,EACrB,IAA+B;QAE/B,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAiB;YACpC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,aAAa,kBAAkB,CAAC,MAAM,CAAC,SAAS,kBAAkB,CAAC,KAAK,CAAC,WAAW;YAC1F,IAAI;YACJ,MAAM,EAAE,IAAI,EAAE,MAAM;SACrB,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -22,6 +22,7 @@
22
22
  * (core two-phase gate); `permissions` is tighten-only (loosening needs an operator principal); env + hook stdin/stdout
23
23
  * are secret-scrubbed; `additionalDirectories` is posix-normalized before use.
24
24
  */
25
+ import type { ApprovalFrameFamily } from "./resources/tool-approvals.js";
25
26
  /** A single hook command. v1 = CC "command" form only (CC's `prompt`/`agent` LLM-hook forms are DEFERRED). */
26
27
  export interface SettingsHookCommand {
27
28
  /** v1 supports the exec-form only. */
@@ -276,6 +277,18 @@ export interface SemaSettings {
276
277
  * 先看你的工具面再发。≤1000 条;坏条目 400 `bad_entry`。空数组 ≡ 没送。**见位才发**(`taskSettings.tightenOnlySeats`)。
277
278
  */
278
279
  complianceAdditionalDenies?: Array<"mcp_servers" | "workflows" | "web_fetch" | "org_memory_mount">;
280
+ /**
281
+ * server ≥7.134.0 · **审批帧族声明**:这条 run 的客户端**渲染得了**哪些审批开卡帧族 —— 值 = 你能渲的**每一个**族({@link ApprovalFrameFamily},闭集,各写一次;`[]` 与缺席同读)。
282
+ * 不进引擎,只决定这条 run 有没有活审批通道;声明随提交体落盘,续跑与 `GET /v1/runs/:id/events` 的开流前言读的都是它。
283
+ * 🔴 **见位才发**:受理位是 `capabilities.taskSettings.approvalFrameFamilies === true`,**不是**顶层 `capabilities.approvalFrameFamilies` —— ≤7.133.x 已有顶层位,
284
+ * 却对这只键答 `400 request.body_shape`(`unknownKeys: ["settings.approvalFrameFamilies"]`)。坏声明(非数组 / 词表外 / 重复)⇒ `400 request.field_invalid`,
285
+ * `field: "settings.approvalFrameFamilies"` + `reason: "bad_entry"` + `index`(非数组无 `index`)。
286
+ * 🔴 **server ≥7.134.0 的行为(BREAKING,wire)**:声明里**不含**本 worker 呈卡用的那一族(顶层 `capabilities.approvalFrameFamilies` 的词)的 run 上零审批帧 ——
287
+ * 不呈卡(两族都不发、不回退、不双发)、同步流与 `GET /v1/runs/:id/events` 的开流前言都不重放;每只问当场交无人值守政策:这台 worker **有耐久店**
288
+ * (`capabilities.approvals`)⇒ 按运维政策停驻(缺省;卡经 `POST /v1/approvals/:sessionId/decide` 作答,流上只有停驻终局)或当场拒(拒因点名缺的族);
289
+ * **没有耐久店** ⇒ 受门工具当场拒、run 照常收尾,无卡也无 `/decide`。会话里已记住的放行先兑现。⇒ 渲得了卡的客户端在见位时**总是**带上这只键。
290
+ */
291
+ approvalFrameFamilies?: ApprovalFrameFamily[];
279
292
  /** WebSearch backend config → service `body.settings.webSearch` (per-request WINS over deploy env; single-user
280
293
  * gate). Lets the TOC shell pick the WebSearch provider/endpoint per request (e.g. a self-hosted SearXNG). */
281
294
  webSearch?: SettingsWebSearch;
@@ -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/settings.js CHANGED
@@ -1,26 +1,2 @@
1
- /** TOC `settings.json` — the SHARED environment-customization contract (CC-parity v1 subset).
2
- *
3
- * Owned by @sema-agent/sdk **on purpose** (2026-06-27, research/toc-settings-adapter/01-design.md §5①):
4
- * the same user `settings.json` must drive BOTH wirings off ONE schema —
5
- * - **TOC-local**: the CLI `run --local` / the shell host read it → wire into a local `new Runner(deps)` (the shell host's
6
- * adapter + shell-hook runner). The SDK does NOT run shell or interpret settings — it only OWNS the type.
7
- * - **TOB-fleet**: the SDK carries it to the service ({@link TaskRequest.settings}); the **service** projects it into
8
- * the SAME core seam (SessionPolicyStore / NodeExecutionEnv / RunnerDeps.hooks) — its layer, same as the MF-* wiring.
9
- *
10
- * RED LINE (primitive/profile): this file is the CONTRACT only. No settings-interpreter logic, no shell-hook runner
11
- * lives in the SDK (that is the TOC profile/shell layer's job — 01-design.md §3.2/§5②).
12
- *
13
- * ## Mapping — `SemaSettings` key → core engine seam (the adapter wires this; cited for alignment, not re-exported)
14
- * | settings key | core seam (落点) | source |
15
- * |-------------------------|--------------------------------------------------------------------|-----------------------------------------|
16
- * | `permissions` | `SessionPolicyStore` → {@link SessionPermissionRules} (tighten-only)| core session-policy-store.ts:26 |
17
- * | `permissions.defaultMode` (permissionMode) | adapter **derive** → `toolPolicy`/`onAsk`/`handsReadOnly`(TOB-fleet server's accepted wire values, same as {@link TaskRequest.permissionMode}: default/acceptEdits/plan/bypassPermissions/auto/dontAsk — `dontAsk` from server >=7.119.0, see {@link Capabilities.permissionModes}; server fresh-submit 400s an unknown word, fail-loud — TOC-local's own accepted set differs, see `:75` doc) | core v2-design §6.4 |
18
- * | `hooks` | `RunnerDeps.hooks` = core `Hooks{preToolUse/postToolUse/userPromptSubmit}` (the shell-hook runner maps exit-code→`PreToolUseResult`) | core hooks.ts:22 / hooks.d.ts:19 |
19
- * | `env` | `NodeExecutionEnv({ shellEnv, inheritEnv })` (secret-scrub default) | core harness/env/nodejs.ts |
20
- * | `model` / `outputStyle` | `TaskSpec.model` / `RoleSpec.systemPrompt` / `appendSystemPrompt` | core types.ts |
21
- * Security invariants the adapter must preserve (01-design.md §3.3): hook `allow` NEVER bypasses `toolPolicy` deny/ask
22
- * (core two-phase gate); `permissions` is tighten-only (loosening needs an operator principal); env + hook stdin/stdout
23
- * are secret-scrubbed; `additionalDirectories` is posix-normalized before use.
24
- */
25
1
  export {};
26
2
  //# sourceMappingURL=settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":""}
package/dist/sync.d.ts CHANGED
@@ -96,7 +96,7 @@ export interface PushSessionResult {
96
96
  entryCount: number;
97
97
  /** Content-addressed blobs uploaded to dst (idempotent PUTs; re-push re-PUTs harmlessly). */
98
98
  blobsPushed: number;
99
- /** server ≥7.52 的文件历史怎么处置了(只在走到 Phase A 的路径上、且源 manifest **带了 `fileHistory` 键**时在场;≤7.51 的 `snapshots` 一代与本地短路 / 冲突返回路径上缺席):
99
+ /** 文件历史怎么处置了(**走到 Phase A 的路径上恒在场**:源 manifest 恒带 `fileHistory`;本地 identical 短路 / 冲突返回路径上缺席):
100
100
  * · `"carried"` —— 信封随 Phase A 推了过去,它引用的 blob 已 PUT(`blobsPushed` 数的就是它们);
101
101
  * · `"none"` —— 源 manifest 的 `fileHistory` 是 `null`(没有历史 / 源店导不出),没有东西可带;
102
102
  * · `"skipped"` —— 按 {@link fileHistoryVerdict} 不搬:某一端 `capabilities().sessionSyncFileHistory === false`,**或**信封引用了 blob 而某一端的位缺席(≤7.115.x)⇒
@@ -138,8 +138,8 @@ export interface PushSessionResult {
138
138
  */
139
139
  export declare function pushSessionBundle(src: SessionSyncPeer, dst: SessionSyncPeer, sessionId: string, opts?: PushSessionOptions): Promise<PushSessionResult>;
140
140
  export interface PullSessionOptions {
141
- /** Also fetch every referenced snapshot blob (default false — transcript-landing callers don't need the
142
- * workspace bytes; engine-landing callers use `pushSessionBundle` with the clients swapped instead). */
141
+ /** Also fetch every blob the file-history envelope references (default false — transcript-landing callers don't need the
142
+ * file bytes; engine-landing callers use `pushSessionBundle` with the clients swapped instead). */
143
143
  includeBlobs?: boolean;
144
144
  signal?: AbortSignal;
145
145
  }
@@ -151,7 +151,7 @@ export interface PulledSession {
151
151
  manifest: SessionManifest;
152
152
  /** The materialized portable state (entries verbatim, oldest-first). */
153
153
  bundle: SessionBundle;
154
- /** hash → raw bytes, only when `includeBlobs` (deduped across snapshots). */
154
+ /** hash → raw bytes, only when `includeBlobs` (the blobs the file-history envelope references, each once). */
155
155
  blobs: Map<string, Uint8Array>;
156
156
  }
157
157
  /**
@@ -168,7 +168,7 @@ export declare function pullSessionBundle(src: SessionSyncPeer, sessionId: strin
168
168
  * already holds the bundle — e.g. the sema shell pulls ONCE off the cloud, lands the entries into its CC
169
169
  * transcript AND imports the same bundle into the local engine without re-fetching). Same order + conflict
170
170
  * contract as pushSessionBundle: dry-run plan → [conflict? return, don't write] → blob PUTs (from the pulled
171
- * `blobs` map; a snapshot hash missing from the map is skipped — the dst may already hold it, and Phase A's
171
+ * `blobs` map; a file-history blob hash missing from the map is skipped — the dst may already hold it, and Phase A's
172
172
  * 422 `missing_blob` stays the honest gate) → import Phase A → Phase B from the in-memory entry array.
173
173
  * 会话行两位(`pulled.manifest` 的 `title` / `pinned`,server ≥7.125.0)同 {@link pushSessionBundle} 的镜像律:日志搬运完成之后(三条路同一处)经 `dst.sessions.patch` 恰一次、原样、无键零请求;
174
174
  * Phase A 体不带两键;日志没搬完 ⇒ 零 PATCH;结果面同一只 `rowBits`({@link PushSessionResult.rowBits};405 ⇒ `unsupported` 不抛,其它错误原样抛)。
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"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"}
package/dist/sync.js CHANGED
@@ -139,16 +139,14 @@ async function pushSessionLog(src, dst, sessionId, opts) {
139
139
  };
140
140
  }
141
141
  // Blobs first (Phase A pre-checks presence: a referenced hash the dst lacks → 422 missing_blob). Content-
142
- // addressed + idempotent — re-PUT on retry is harmless. Deduped across snapshots (a workspace file shared
143
- // by N turn snapshots is one blob).
144
- const seen = new Set();
142
+ // addressed + idempotent — re-PUT on retry is harmless.
145
143
  let blobsPushed = 0;
146
- // server ≥7.52:文件历史信封(取代 E19 snapshots)。搬不搬按 {@link fileHistoryVerdict} 一条律(K-62);不搬 ⇒ 只同步对话(`"skipped"`)。
144
+ // 文件历史信封:搬不搬按 {@link fileHistoryVerdict} 一条律(K-62);不搬 ⇒ 只同步对话(`"skipped"`)。
147
145
  let carry = null;
148
146
  let fileHistoryOutcome;
149
147
  if (manifest.fileHistory === null)
150
148
  fileHistoryOutcome = "none";
151
- else if (manifest.fileHistory !== undefined) {
149
+ else {
152
150
  const faces = [await fileHistoryFaceOf(src, sopts), await fileHistoryFaceOf(dst, sopts)];
153
151
  if (fileHistoryVerdict(faces, manifest.fileHistory) === "skip")
154
152
  fileHistoryOutcome = "skipped";
@@ -156,29 +154,16 @@ async function pushSessionLog(src, dst, sessionId, opts) {
156
154
  carry = manifest.fileHistory;
157
155
  fileHistoryOutcome = "carried";
158
156
  for (const hash of fileHistoryBlobHashes(carry)) {
159
- seen.add(hash);
160
157
  const bytes = await src.sessions.sync.getHistoryBlob(sessionId, hash, sopts);
161
158
  await dst.sessions.sync.putBlob(sessionId, hash, bytes, sopts);
162
159
  blobsPushed++;
163
160
  }
164
161
  }
165
162
  }
166
- for (const snap of manifest.snapshots ?? []) {
167
- for (const [, hash] of snap.manifest) {
168
- if (seen.has(hash))
169
- continue;
170
- seen.add(hash);
171
- const bytes = await src.sessions.sync.getBlob(sessionId, snap.key, hash, sopts);
172
- await dst.sessions.sync.putBlob(sessionId, hash, bytes, sopts);
173
- blobsPushed++;
174
- }
175
- }
176
163
  // Phase A — may throw the typed SyncConflictError on a TOCTOU flip (dst advanced since the plan), or the
177
164
  // 409 lease/active-run ConflictError. Both propagate: the caller's conflict surface is the same.
178
165
  const staged = await dst.sessions.sync.import(sessionId, {
179
166
  entryIds: manifest.entryIds,
180
- // Phase A 体上的 `snapshots` 是 ≤7.51 那一代的必填键(≥7.52 静默忽略):源没有整树快照 ⇒ 写成空表(这是对老 dst 的写形,不是读面填充)。
181
- snapshots: manifest.snapshots ?? [],
182
167
  ...(carry !== null ? { fileHistory: carry } : {}),
183
168
  policy: manifest.policy,
184
169
  anchors: manifest.anchors,
@@ -190,8 +175,7 @@ async function pushSessionLog(src, dst, sessionId, opts) {
190
175
  // 透传服务端的判据 —— cli 黑板 [1704] 抓到的管道缺口:字段只加在 `ImportStaged` 上、这一层没穿透,
191
176
  // 最远消费端于是拿不到。("修复必须验到最远消费端"这条教训的又一次实例。)
192
177
  return {
193
- relation: staged.relation, pushed: true, entryCount: 0, blobsPushed, manifest, plan: rel,
194
- ...(fileHistoryOutcome !== undefined ? { fileHistory: fileHistoryOutcome } : {}),
178
+ relation: staged.relation, pushed: true, entryCount: 0, blobsPushed, manifest, plan: rel, fileHistory: fileHistoryOutcome,
195
179
  ...(staged.basis !== undefined ? { basis: staged.basis } : {}),
196
180
  ...(staged.payloadVerified !== undefined ? { payloadVerified: staged.payloadVerified } : {}),
197
181
  };
@@ -200,8 +184,7 @@ async function pushSessionLog(src, dst, sessionId, opts) {
200
184
  // a real constant-memory pipe, see PushSessionOptions.stream).
201
185
  const committed = await dst.sessions.sync.importEntries(sessionId, staged.stagingId, src.sessions.sync.entries(sessionId, undefined, sopts), { ...sopts, ...(opts?.stream === true ? { stream: true } : {}) });
202
186
  return {
203
- relation: committed.relation, pushed: true, entryCount: manifest.entryCount, blobsPushed, manifest, plan: rel,
204
- ...(fileHistoryOutcome !== undefined ? { fileHistory: fileHistoryOutcome } : {}),
187
+ relation: committed.relation, pushed: true, entryCount: manifest.entryCount, blobsPushed, manifest, plan: rel, fileHistory: fileHistoryOutcome,
205
188
  };
206
189
  }
207
190
  /**
@@ -221,16 +204,9 @@ export async function pullSessionBundle(src, sessionId, opts) {
221
204
  const blobs = new Map();
222
205
  let fileHistorySkipped = false;
223
206
  if (opts?.includeBlobs) {
224
- for (const snap of manifest.snapshots ?? []) {
225
- for (const [, hash] of snap.manifest) {
226
- if (blobs.has(hash))
227
- continue;
228
- blobs.set(hash, await src.sessions.sync.getBlob(sessionId, snap.key, hash, sopts));
229
- }
230
- }
231
- // server ≥7.52:文件历史的 blob 走 history 面;源端按 {@link fileHistoryVerdict} 不搬(明说没有 / 位缺席而信封引用 blob)⇒ 取不到:不取、`bundle.fileHistory` 置 `null`、
207
+ // 文件历史的 blob 走 history 面;源端按 {@link fileHistoryVerdict} 不搬(明说没有 / 位缺席而信封引用 blob)⇒ 取不到:不取、`bundle.fileHistory` 置 `null`、
232
208
  // `PulledSession.fileHistory = "skipped"`(只同步对话)—— 不带着一份没有 blob 的信封去撞目的端的 422 `missing_blob`。
233
- if (manifest.fileHistory != null) {
209
+ if (manifest.fileHistory !== null) {
234
210
  if (fileHistoryVerdict([await fileHistoryFaceOf(src, sopts)], manifest.fileHistory) === "skip")
235
211
  fileHistorySkipped = true;
236
212
  else {
@@ -247,8 +223,7 @@ export async function pullSessionBundle(src, sessionId, opts) {
247
223
  bundle: {
248
224
  sessionId: manifest.sessionId,
249
225
  entries,
250
- ...(manifest.snapshots !== undefined ? { snapshots: manifest.snapshots } : {}),
251
- ...(manifest.fileHistory !== undefined ? { fileHistory: fileHistorySkipped ? null : manifest.fileHistory } : {}),
226
+ fileHistory: fileHistorySkipped ? null : manifest.fileHistory,
252
227
  policy: manifest.policy,
253
228
  anchors: manifest.anchors,
254
229
  },
@@ -261,7 +236,7 @@ export async function pullSessionBundle(src, sessionId, opts) {
261
236
  * already holds the bundle — e.g. the sema shell pulls ONCE off the cloud, lands the entries into its CC
262
237
  * transcript AND imports the same bundle into the local engine without re-fetching). Same order + conflict
263
238
  * contract as pushSessionBundle: dry-run plan → [conflict? return, don't write] → blob PUTs (from the pulled
264
- * `blobs` map; a snapshot hash missing from the map is skipped — the dst may already hold it, and Phase A's
239
+ * `blobs` map; a file-history blob hash missing from the map is skipped — the dst may already hold it, and Phase A's
265
240
  * 422 `missing_blob` stays the honest gate) → import Phase A → Phase B from the in-memory entry array.
266
241
  * 会话行两位(`pulled.manifest` 的 `title` / `pinned`,server ≥7.125.0)同 {@link pushSessionBundle} 的镜像律:日志搬运完成之后(三条路同一处)经 `dst.sessions.patch` 恰一次、原样、无键零请求;
267
242
  * Phase A 体不带两键;日志没搬完 ⇒ 零 PATCH;结果面同一只 `rowBits`({@link PushSessionResult.rowBits};405 ⇒ `unsupported` 不抛,其它错误原样抛)。
@@ -292,9 +267,8 @@ async function importSessionLog(dst, pulled, opts) {
292
267
  plan: rel,
293
268
  };
294
269
  }
295
- const seen = new Set();
296
270
  let blobsPushed = 0;
297
- // server ≥7.52:文件历史信封;目的端按 {@link fileHistoryVerdict} 不搬 ⇒ 只同步对话(`"skipped"`,同 pushSessionBundle)。
271
+ // 文件历史信封;目的端按 {@link fileHistoryVerdict} 不搬 ⇒ 只同步对话(`"skipped"`,同 pushSessionBundle)。
298
272
  // (源端那一半在拉取时已经读过:`pullSessionBundle` 在源端没有 blob 面时 `PulledSession.fileHistory = "skipped"`、`bundle.fileHistory = null`。)
299
273
  let carry = null;
300
274
  let fileHistoryOutcome;
@@ -302,14 +276,13 @@ async function importSessionLog(dst, pulled, opts) {
302
276
  fileHistoryOutcome = "skipped"; // 拉取时源端没有 blob 面(见 PulledSession.fileHistory)
303
277
  else if (bundle.fileHistory === null)
304
278
  fileHistoryOutcome = "none";
305
- else if (bundle.fileHistory !== undefined) {
279
+ else {
306
280
  if (fileHistoryVerdict([await fileHistoryFaceOf(dst, sopts)], bundle.fileHistory) === "skip")
307
281
  fileHistoryOutcome = "skipped";
308
282
  else {
309
283
  carry = bundle.fileHistory;
310
284
  fileHistoryOutcome = "carried";
311
285
  for (const hash of fileHistoryBlobHashes(carry)) {
312
- seen.add(hash);
313
286
  const bytes = blobs.get(hash);
314
287
  if (!bytes)
315
288
  continue; // not pulled (includeBlobs:false / partial) — Phase A 422s honestly if dst lacks it
@@ -318,21 +291,8 @@ async function importSessionLog(dst, pulled, opts) {
318
291
  }
319
292
  }
320
293
  }
321
- for (const snap of bundle.snapshots ?? []) {
322
- for (const [, hash] of snap.manifest) {
323
- if (seen.has(hash))
324
- continue;
325
- seen.add(hash);
326
- const bytes = blobs.get(hash);
327
- if (!bytes)
328
- continue; // not pulled (includeBlobs:false / partial) — Phase A 422s honestly if dst lacks it
329
- await dst.sessions.sync.putBlob(sessionId, hash, bytes, sopts);
330
- blobsPushed++;
331
- }
332
- }
333
294
  const staged = await dst.sessions.sync.import(sessionId, {
334
295
  entryIds: manifest.entryIds,
335
- snapshots: bundle.snapshots ?? [], // 同 pushSessionBundle:≤7.51 的 Phase A 必填键
336
296
  ...(carry !== null ? { fileHistory: carry } : {}),
337
297
  policy: bundle.policy,
338
298
  anchors: bundle.anchors,
@@ -343,8 +303,7 @@ async function importSessionLog(dst, pulled, opts) {
343
303
  // 透传服务端的判据 —— cli 黑板 [1704] 抓到的管道缺口:字段只加在 `ImportStaged` 上、这一层没穿透,
344
304
  // 最远消费端于是拿不到。("修复必须验到最远消费端"这条教训的又一次实例。)
345
305
  return {
346
- relation: staged.relation, pushed: true, entryCount: 0, blobsPushed, manifest, plan: rel,
347
- ...(fileHistoryOutcome !== undefined ? { fileHistory: fileHistoryOutcome } : {}),
306
+ relation: staged.relation, pushed: true, entryCount: 0, blobsPushed, manifest, plan: rel, fileHistory: fileHistoryOutcome,
348
307
  ...(staged.basis !== undefined ? { basis: staged.basis } : {}),
349
308
  ...(staged.payloadVerified !== undefined ? { payloadVerified: staged.payloadVerified } : {}),
350
309
  };
@@ -354,8 +313,7 @@ async function importSessionLog(dst, pulled, opts) {
354
313
  ...(opts?.stream === true ? { stream: true } : {}),
355
314
  });
356
315
  return {
357
- relation: committed.relation, pushed: true, entryCount: bundle.entries.length, blobsPushed, manifest, plan: rel,
358
- ...(fileHistoryOutcome !== undefined ? { fileHistory: fileHistoryOutcome } : {}),
316
+ relation: committed.relation, pushed: true, entryCount: bundle.entries.length, blobsPushed, manifest, plan: rel, fileHistory: fileHistoryOutcome,
359
317
  };
360
318
  }
361
319
  //# sourceMappingURL=sync.js.map