@tansr/serve 0.8.0 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -13,12 +13,12 @@ import { z, ZodIssue } from 'zod';
13
13
  import { IncomingMessage, ServerResponse } from 'node:http';
14
14
 
15
15
  /**
16
- * T-A1 — IR(Internal Representation)消息模型
16
+ * IR(Internal Representation)消息模型
17
17
  *
18
- * 双协议网关与内核共用的中间表示。设计依据:
19
- * - doc/06 §2.1(内容块 + 类型化流事件基底)
20
- * - doc/07 §3.6(opaque thinking 密文透传对策:reasoning 块保留 provider 原样载荷)
21
- * - doc/07 §4.1(visibility 显式化,不用难组合的布尔标志位)
18
+ * 双协议网关与内核共用的中间表示。设计要点:
19
+ * - 内容块 + 类型化流事件基底;
20
+ * - opaque thinking 密文透传对策:reasoning 块保留 provider 原样载荷;
21
+ * - visibility 显式化,不用难组合的布尔标志位。
22
22
  *
23
23
  * 铁律:providers 依赖本包类型,本包不得反向依赖 providers/kernel。
24
24
  */
@@ -26,7 +26,7 @@ import { IncomingMessage, ServerResponse } from 'node:http';
26
26
  /**
27
27
  * 内容块。`thinking` 携带可选 `signature`(Anthropic 多轮需原样回传);
28
28
  * `opaque` 用于无法明文还原、必须整体透传的推理载荷(OpenAI Responses reasoning item、
29
- * DeepSeek/Kimi 的 provider 私有块)——见 doc/10 §4.2「必须原样回传 thinking 块否则 400」。
29
+ * DeepSeek/Kimi 的 provider 私有块)——部分厂商要求原样回传 thinking 块,否则 400
30
30
  */
31
31
  declare const IRBlockSchema: z.ZodDiscriminatedUnion<"t", [z.ZodObject<{
32
32
  t: z.ZodLiteral<"text">;
@@ -141,6 +141,7 @@ declare const IRBlockSchema: z.ZodDiscriminatedUnion<"t", [z.ZodObject<{
141
141
  mime: string;
142
142
  data: string;
143
143
  }>]>;
144
+ /** 消息内容块:text / thinking / opaque / tool_call / tool_result / image(IRBlockSchema 推导)。 */
144
145
  type IRBlock = z.infer<typeof IRBlockSchema>;
145
146
  declare const IRMessageSchema: z.ZodObject<{
146
147
  role: z.ZodEnum<["user", "assistant"]>;
@@ -260,9 +261,9 @@ declare const IRMessageSchema: z.ZodObject<{
260
261
  /** 结构化元数据(contract-v0.15,RFC-CTX12-4;语义见 IRMessageMetaSchema) */
261
262
  meta: z.ZodOptional<z.ZodObject<{
262
263
  /**
263
- * 消息种类标记。首值 'compaction_summary' = 压缩摘要消息(T-CTX22
264
- * 防碰撞文本哨兵的结构化替代);候选扩值 'pinned'/'synthetic' 随
265
- * 对应消费卡另行 RFC(先冻结已验证形态,v0.14 RFC-B2-3 缓议同哲学)。
264
+ * 消息种类标记。首值 'compaction_summary' = 压缩摘要消息(防碰撞
265
+ * 文本哨兵的结构化替代);候选扩值 'pinned'/'synthetic' 随
266
+ * 对应消费方另行契约评审(先冻结已验证形态)。
266
267
  */
267
268
  kind: z.ZodOptional<z.ZodEnum<["compaction_summary"]>>;
268
269
  /** 产生本消息的压缩执行 id(RFC-CTX12-2 compactionId 同源;审计链互指) */
@@ -353,15 +354,16 @@ declare const IRMessageSchema: z.ZodObject<{
353
354
  compactionId?: string | undefined;
354
355
  } | undefined;
355
356
  }>;
357
+ /** IR 消息:角色 + 内容块数组 + 可选结构化元数据(IRMessageSchema 推导)。 */
356
358
  type IRMessage = z.infer<typeof IRMessageSchema>;
357
- /** 系统提示分段:稳定前缀在前,便于两家 provider 的缓存机制利用(doc/06 §2.1) */
359
+ /** 系统提示分段:稳定前缀在前,便于两家 provider 的缓存机制利用 */
358
360
  declare const IRSystemSegmentSchema: z.ZodObject<{
359
361
  text: z.ZodString;
360
- /** 缓存断点提示——忽略方无害(doc/10 §4.3 透传项) */
362
+ /** 缓存断点提示——忽略方无害 */
361
363
  cacheable: z.ZodOptional<z.ZodBoolean>;
362
364
  /**
363
- * 段语义标签(contract-v0.1,T-C4 RFC):'base'/'tools'/'env'/'memory' 等,
364
- * 供上下文压缩(T-C5)按语义识别可替换段;消费方忽略无害。
365
+ * 段语义标签(contract-v0.1):'base'/'tools'/'env'/'memory' 等,
366
+ * 供上下文压缩按语义识别可替换段;消费方忽略无害。
365
367
  */
366
368
  label: z.ZodOptional<z.ZodString>;
367
369
  }, "strip", z.ZodTypeAny, {
@@ -373,6 +375,7 @@ declare const IRSystemSegmentSchema: z.ZodObject<{
373
375
  cacheable?: boolean | undefined;
374
376
  label?: string | undefined;
375
377
  }>;
378
+ /** 系统提示分段(IRSystemSegmentSchema 推导)。 */
376
379
  type IRSystemSegment = z.infer<typeof IRSystemSegmentSchema>;
377
380
  /** 工具定义:内部统一 JSON Schema(各协议在适配器内映射到各自字段) */
378
381
  declare const IRToolDefSchema: z.ZodObject<{
@@ -388,7 +391,9 @@ declare const IRToolDefSchema: z.ZodObject<{
388
391
  description: string;
389
392
  inputSchema: Record<string, unknown>;
390
393
  }>;
394
+ /** 工具定义(IRToolDefSchema 推导)。 */
391
395
  type IRToolDef = z.infer<typeof IRToolDefSchema>;
396
+ /** 已解析的模型定位:provider id + 该 provider 下的具体模型名(别名已解析)。 */
392
397
  declare const ResolvedModelSchema: z.ZodObject<{
393
398
  /** provider registry 内的 id,如 "anthropic" / "aliyun-maas" */
394
399
  provider: z.ZodString;
@@ -401,15 +406,17 @@ declare const ResolvedModelSchema: z.ZodObject<{
401
406
  provider: string;
402
407
  model: string;
403
408
  }>;
409
+ /** 已解析的模型定位(ResolvedModelSchema 推导)。 */
404
410
  type ResolvedModel = z.infer<typeof ResolvedModelSchema>;
411
+ /** 一次模型调用的完整请求:系统分段、消息、工具定义、目标模型与采样 / 思考 / 缓存控制位。 */
405
412
  declare const IRRequestSchema: z.ZodObject<{
406
413
  system: z.ZodArray<z.ZodObject<{
407
414
  text: z.ZodString;
408
- /** 缓存断点提示——忽略方无害(doc/10 §4.3 透传项) */
415
+ /** 缓存断点提示——忽略方无害 */
409
416
  cacheable: z.ZodOptional<z.ZodBoolean>;
410
417
  /**
411
- * 段语义标签(contract-v0.1,T-C4 RFC):'base'/'tools'/'env'/'memory' 等,
412
- * 供上下文压缩(T-C5)按语义识别可替换段;消费方忽略无害。
418
+ * 段语义标签(contract-v0.1):'base'/'tools'/'env'/'memory' 等,
419
+ * 供上下文压缩按语义识别可替换段;消费方忽略无害。
413
420
  */
414
421
  label: z.ZodOptional<z.ZodString>;
415
422
  }, "strip", z.ZodTypeAny, {
@@ -539,9 +546,9 @@ declare const IRRequestSchema: z.ZodObject<{
539
546
  /** 结构化元数据(contract-v0.15,RFC-CTX12-4;语义见 IRMessageMetaSchema) */
540
547
  meta: z.ZodOptional<z.ZodObject<{
541
548
  /**
542
- * 消息种类标记。首值 'compaction_summary' = 压缩摘要消息(T-CTX22
543
- * 防碰撞文本哨兵的结构化替代);候选扩值 'pinned'/'synthetic' 随
544
- * 对应消费卡另行 RFC(先冻结已验证形态,v0.14 RFC-B2-3 缓议同哲学)。
549
+ * 消息种类标记。首值 'compaction_summary' = 压缩摘要消息(防碰撞
550
+ * 文本哨兵的结构化替代);候选扩值 'pinned'/'synthetic' 随
551
+ * 对应消费方另行契约评审(先冻结已验证形态)。
545
552
  */
546
553
  kind: z.ZodOptional<z.ZodEnum<["compaction_summary"]>>;
547
554
  /** 产生本消息的压缩执行 id(RFC-CTX12-2 compactionId 同源;审计链互指) */
@@ -660,8 +667,8 @@ declare const IRRequestSchema: z.ZodObject<{
660
667
  maxTokens: z.ZodNumber;
661
668
  temperature: z.ZodOptional<z.ZodNumber>;
662
669
  /**
663
- * thinking 能力位控制;适配器按 provider capability 改写(doc/10 §4.3)。
664
- * RFC-M3 B2(2026-08-25):增 `off` 位 = 显式思考关断(fast 形态载体)——
670
+ * thinking 能力位控制;适配器按 provider capability 改写。
671
+ * `off` 位 = 显式思考关断(fast 形态载体)——
665
672
  * 与「缺席」语义不同:缺席 = 上游缺省(openai 兼容面思考模型缺省仍开思考,
666
673
  * UCloud 实证),off = 适配器按方言显式关(twp → params.reasoning='off';
667
674
  * openai 直连 → enable_thinking:false;anthropic → 不发 thinking 参数)。
@@ -679,14 +686,14 @@ declare const IRRequestSchema: z.ZodObject<{
679
686
  }>>;
680
687
  stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
681
688
  /**
682
- * 请求级缓存写抑制(contract-v0.8,RFC-OPT14-1):true 时显式缓存适配器
689
+ * 请求级缓存写抑制(contract-v0.8):true 时显式缓存适配器
683
690
  * 不在消息尾落 cache_control 断点(system/工具面断点不受影响)。签发方为
684
- * 一次性辅助请求(上下文压缩/标题生成,OPT-10/14)——其消息尾不会被复读,
691
+ * 一次性辅助请求(上下文压缩/标题生成)——其消息尾不会被复读,
685
692
  * 写缓存纯付费无收益。implicit/ignored 缓存模式的适配器忽略本键。
686
693
  */
687
694
  skipCacheWrite: z.ZodOptional<z.ZodBoolean>;
688
695
  /**
689
- * 端侧预估的 prompt 侧 token 总量(G-A5a 贴窗防御,P-CTX2;加法可选)。
696
+ * 端侧预估的 prompt 侧 token 总量(贴窗防御;加法可选)。
690
697
  * 语义:请求面(system+messages+tools)装配定格后、发出前的估算值,
691
698
  * 整数 ≥1(向上取整;api TwpParamsSchema.promptTokensEstimate 同下限)。
692
699
  * 消费方 = twp 适配器(落 params.promptTokensEstimate,网关侧贴窗拦截,
@@ -823,8 +830,9 @@ declare const IRRequestSchema: z.ZodObject<{
823
830
  skipCacheWrite?: boolean | undefined;
824
831
  promptTokensEstimate?: number | undefined;
825
832
  }>;
833
+ /** 模型调用请求(IRRequestSchema 推导)。 */
826
834
  type IRRequest = z.infer<typeof IRRequestSchema>;
827
- /** 五路用量归一化(doc/06 §2.2:input/output + 缓存读/写细分 + 推理输出)。
835
+ /** 五路用量归一化(input/output + 缓存读/写细分 + 推理输出)。
828
836
  * inputTokens 为 exclusive 口径(规范语义,见字段注释)。 */
829
837
  declare const IRUsageSchema: z.ZodObject<{
830
838
  /**
@@ -832,7 +840,7 @@ declare const IRUsageSchema: z.ZodObject<{
832
840
  * 会签):不含 cacheReadInputTokens 与 cacheCreationInputTokens——三路
833
841
  * 相加 = 请求输入总量。适配器出口恒为本口径:inclusive 端点(OpenAI 系
834
842
  * prompt_tokens,cached ⊆ prompt)在适配器内减法归一,包含关系以 compat
835
- * 实录核证(T-CTX05,见 providers openai/wire.ts exclusiveInputTokens
843
+ * 实录核证( providers openai/wire.ts exclusiveInputTokens
836
844
  * 注释)。消费方(上下文账本/CostTracker/状态栏)三路直加,不得再做
837
845
  * inclusive 换算(防双重矫正)。限界注记:端点的缓存写入量不可见时
838
846
  * (如 OpenAI Chat 协议无 cache_write 字段),写入量仍含在本键内
@@ -844,7 +852,7 @@ declare const IRUsageSchema: z.ZodObject<{
844
852
  cacheCreationInputTokens: z.ZodOptional<z.ZodNumber>;
845
853
  reasoningOutputTokens: z.ZodOptional<z.ZodNumber>;
846
854
  /**
847
- * 缓存删除量(contract-v0.4,T-C8 RFC;doc/07 §3.2 cached microcompact):
855
+ * 缓存删除量(contract-v0.4;cached microcompact):
848
856
  * provider 报告的 cache_deleted_input_tokens——服务端缓存段被逐出/失效的
849
857
  * 通知量,**非计费维度**(cost-tracker 不入账),上下文账本(context
850
858
  * ledger)以此校正窗口水位。观测到该字段的适配器填入;缺省不落键。
@@ -890,14 +898,15 @@ declare const IRUsageSchema: z.ZodObject<{
890
898
  dims?: Record<string, number> | undefined;
891
899
  saved?: string | undefined;
892
900
  }>;
901
+ /** 归一化用量(IRUsageSchema 推导)。 */
893
902
  type IRUsage = z.infer<typeof IRUsageSchema>;
894
903
  /**
895
- * 归一化错误类别(doc/06 §2.2 错误归一)。
896
- * policy_denied(P-CTX2 K7,G-A5b):平台策略/账务拒绝(余额/配额/内容
904
+ * 归一化错误类别。
905
+ * policy_denied:平台策略/账务拒绝(余额/配额/内容
897
906
  * 安全/出网/许可证/围栏/价格护栏等用户可行动族)——fail-fast 零重试,
898
907
  * 与 invalid_request(请求本身不合法)语义分离;原始码与 detail 经错误
899
- * 文案(`code: message`)与 twp onPlatformError 旁路直达渲染层(K10 归因)。
900
- * R-1(doc/77 §五 R 组,contract 加法演进):
908
+ * 文案(`code: message`)与 twp onPlatformError 旁路直达渲染层。
909
+ * 后增两类(contract 加法演进):
901
910
  * - connect:连接建立失败/连接超时(本端建连闸、网关 upstream_connect/
902
911
  * ttfb 归一码)——与 network(本地毫秒级失败)同路由「耐心档」重试,
903
912
  * 分列是为观测与文案区分「等墙」与「本机网络故障」两种病灶;
@@ -906,9 +915,10 @@ type IRUsage = z.infer<typeof IRUsageSchema>;
906
915
  * 消费方(重试路由/呈现)对枚举外值须按 recoverable 兜底,不做穷举断言。
907
916
  */
908
917
  declare const IRErrorKindSchema: z.ZodEnum<["rate_limited", "context_overflow", "auth", "server", "network", "connect", "stream_interrupted", "invalid_request", "policy_denied"]>;
918
+ /** 归一化错误类别(IRErrorKindSchema 推导)。 */
909
919
  type IRErrorKind = z.infer<typeof IRErrorKindSchema>;
910
920
  /**
911
- * 模型侧流事件,与内核 msg.* 事件同构(doc/06 §2.1 末行)。
921
+ * 模型侧流事件,与内核 msg.* 事件同构。
912
922
  * 适配器把各协议 SSE/delta 解析为本联合;内核只消费本联合。
913
923
  */
914
924
  declare const IRStreamEventSchema: z.ZodDiscriminatedUnion<"t", [z.ZodObject<{
@@ -1184,7 +1194,7 @@ declare const IRStreamEventSchema: z.ZodDiscriminatedUnion<"t", [z.ZodObject<{
1184
1194
  * 会签):不含 cacheReadInputTokens 与 cacheCreationInputTokens——三路
1185
1195
  * 相加 = 请求输入总量。适配器出口恒为本口径:inclusive 端点(OpenAI 系
1186
1196
  * prompt_tokens,cached ⊆ prompt)在适配器内减法归一,包含关系以 compat
1187
- * 实录核证(T-CTX05,见 providers openai/wire.ts exclusiveInputTokens
1197
+ * 实录核证( providers openai/wire.ts exclusiveInputTokens
1188
1198
  * 注释)。消费方(上下文账本/CostTracker/状态栏)三路直加,不得再做
1189
1199
  * inclusive 换算(防双重矫正)。限界注记:端点的缓存写入量不可见时
1190
1200
  * (如 OpenAI Chat 协议无 cache_write 字段),写入量仍含在本键内
@@ -1196,7 +1206,7 @@ declare const IRStreamEventSchema: z.ZodDiscriminatedUnion<"t", [z.ZodObject<{
1196
1206
  cacheCreationInputTokens: z.ZodOptional<z.ZodNumber>;
1197
1207
  reasoningOutputTokens: z.ZodOptional<z.ZodNumber>;
1198
1208
  /**
1199
- * 缓存删除量(contract-v0.4,T-C8 RFC;doc/07 §3.2 cached microcompact):
1209
+ * 缓存删除量(contract-v0.4;cached microcompact):
1200
1210
  * provider 报告的 cache_deleted_input_tokens——服务端缓存段被逐出/失效的
1201
1211
  * 通知量,**非计费维度**(cost-tracker 不入账),上下文账本(context
1202
1212
  * ledger)以此校正窗口水位。观测到该字段的适配器填入;缺省不落键。
@@ -1294,12 +1304,12 @@ declare const IRStreamEventSchema: z.ZodDiscriminatedUnion<"t", [z.ZodObject<{
1294
1304
  elapsedMs: number;
1295
1305
  }>>;
1296
1306
  /**
1297
- * 结构化事实位(contract-v0.26,十王修案 FX-B-20 / M-03;加法可选):适配器把服务端
1307
+ * 结构化事实位(contract-v0.26;加法可选):适配器把服务端
1298
1308
  * 信封 `error.detail` 中**机器可判、不含身份 / 内部 id** 的事实原样带到归一错误上,
1299
1309
  * kernel 透传进 `turn.error.detail`。首个签发方 = providers twp 归一层对平台套餐码
1300
1310
  * (`plan_concurrency_exceeded` / `plan_end_users_exceeded` / `plan_required` /
1301
1311
  * `plan_tier_insufficient`)落 `{ scope: 'plan' }`——端侧据此把「开发者套餐配额」与
1302
- * 「模型限流」区分(HTTP 面 doc/98 §七 同键同值;事件流面此前分叉)。缺席 = 无附加事实。
1312
+ * 「模型限流」区分(HTTP 面同键同值;事件流面此前分叉)。缺席 = 无附加事实。
1303
1313
  */
1304
1314
  detail: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1305
1315
  /**
@@ -1335,36 +1345,42 @@ declare const IRStreamEventSchema: z.ZodDiscriminatedUnion<"t", [z.ZodObject<{
1335
1345
  detail?: Record<string, unknown> | undefined;
1336
1346
  idempotencyConsumed?: boolean | undefined;
1337
1347
  }>]>;
1348
+ /** 类型化流事件(IRStreamEventSchema 推导)。 */
1338
1349
  type IRStreamEvent = z.infer<typeof IRStreamEventSchema>;
1339
1350
 
1340
1351
  /**
1341
- * T-A2 — 内核事件协议(一份数据三用:UI 渲染 / 审计 / 编排)
1352
+ * 内核事件协议(一份数据三用:UI 渲染 / 审计 / 编排)
1342
1353
  *
1343
- * 设计依据:
1344
- * - doc/06 §1.3(事件族与包络)
1345
- * - doc/07 §2.1(教训:补一等 error 事件、tombstone→message.retracted)
1346
- * - doc/10 §3.3(审计 schema 的关联链字段:trace/span/prompt/agent)
1354
+ * 设计要点:
1355
+ * - 事件族与包络分离;
1356
+ * - 一等 error 事件、tombstone→message.retracted;
1357
+ * - 审计 schema 的关联链字段:trace/span/prompt/agent
1347
1358
  *
1348
1359
  * 兼容规则:消费端必须容忍未知事件 type(向前兼容),据包络 `v` 字段判断。
1349
1360
  */
1350
1361
 
1362
+ /** 一轮查询的终止原因词表:正常完成、各类上限触顶、模型错误、中断 / 超时 / 关停、hook 阻断等。 */
1351
1363
  declare const TerminalReasonSchema: z.ZodEnum<["completed", "blocking_limit", "aborted_streaming", "aborted_tools", "model_error", "prompt_too_long", "max_turns", "max_tool_rounds", "injection_limit", "hook_stopped", "structured_output", "timeout", "shutdown", "budget_exceeded", "stop_hook_limit", "internal_error", "client_gone"]>;
1364
+ /** 一轮查询的终止原因(TerminalReasonSchema 推导)。 */
1352
1365
  type TerminalReason = z.infer<typeof TerminalReasonSchema>;
1366
+ /** 权限决策三值:allow 放行 / deny 拒绝 / ask 交用户终审。 */
1353
1367
  declare const PermissionDecisionSchema: z.ZodEnum<["allow", "deny", "ask"]>;
1368
+ /** 权限决策(PermissionDecisionSchema 推导)。 */
1354
1369
  type PermissionDecision = z.infer<typeof PermissionDecisionSchema>;
1355
1370
  /**
1356
- * 决策来源——全部落审计(doc/07 §5 决策链;doc/10 §3.3 decision_source)。
1357
- * contract-v0.3(T-G3 RFC):增 'hook'——PreToolUse hook 收紧(deny/升格 ask)
1371
+ * 决策来源——全部落审计。
1372
+ * contract-v0.3:增 'hook'——PreToolUse hook 收紧(deny/升格 ask)
1358
1373
  * 的专属归因;此前临时借记 'policy' 会损失「引擎策略 vs 外部执行体」的审计粒度。
1359
- * contract-v0.7(RFC-OPT4-1):增 'builtin'——内置安全基线(OPT-04,权限管线
1374
+ * contract-v0.7:增 'builtin'——内置安全基线(权限管线
1360
1375
  * 4.5 段)命中的专属归因;此前临时借记 'rule' 会与用户/企业配置规则混淆审计来源。
1361
- * contract-v0.8(RFC-OPT18-3):增 'classifier'——LLM 权限分类器(OPT-18)
1376
+ * contract-v0.8:增 'classifier'——LLM 权限分类器
1362
1377
  * 裁决的专属归因(auto 模式放行/收紧,或 ask 决策的分类器收紧);借记
1363
1378
  * 'policy'/'mode' 都会损失「机器裁决」这一审计维度。
1364
1379
  */
1365
1380
  declare const DecisionSourceSchema: z.ZodEnum<["rule", "user", "mode", "policy", "hook", "builtin", "classifier"]>;
1381
+ /** 权限决策来源(DecisionSourceSchema 推导)。 */
1366
1382
  type DecisionSource = z.infer<typeof DecisionSourceSchema>;
1367
- /** 事件负载联合(不含包络)。命名对齐 doc/06 §1.3 的 session/turn/msg/tool/agent/hook/cost/plan */
1383
+ /** 事件负载联合(不含包络)。命名按 session/turn/msg/tool/agent/hook/cost/plan 分族。 */
1368
1384
  declare const EventBodySchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1369
1385
  type: z.ZodLiteral<"session.created">;
1370
1386
  cwd: z.ZodString;
@@ -1388,7 +1404,7 @@ declare const EventBodySchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1388
1404
  /** 被移除消息的 index 闭区间 [first, last](原数组坐标) */
1389
1405
  removedRange: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1390
1406
  /**
1391
- * 被移除消息的精确 index 清单(contract-v0.4,T-C8/C10 RFC):pinned
1407
+ * 被移除消息的精确 index 清单(contract-v0.4):pinned
1392
1408
  * 挖洞时 removedRange 是外包络,重放/审计按本清单才能精确复原折叠面;
1393
1409
  * 表面层折叠计数也应优先取本清单长度。升序;缺省时按 removedRange 连续。
1394
1410
  */
@@ -1612,9 +1628,9 @@ declare const EventBodySchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1612
1628
  */
1613
1629
  errorKind: z.ZodOptional<z.ZodString>;
1614
1630
  /**
1615
- * 结构化事实位(contract-v0.26,十王修案 FX-B-20 / M-03;加法可选键):scope='model' 时
1631
+ * 结构化事实位(contract-v0.26;加法可选键):scope='model' 时
1616
1632
  * = IR error 事件 `detail` 透传(providers 自服务端信封带出的机器可判事实;首个取值
1617
- * `{ scope: 'plan' }` = 平台套餐配额拒绝,与 HTTP 面 doc/98 §七 `error.detail.scope`
1633
+ * `{ scope: 'plan' }` = 平台套餐配额拒绝,与 HTTP 面 `error.detail.scope`
1618
1634
  * 同键同值)。三端 reducer 归约:`recoverable:true` → `SessionNotice.detail`,失败形 →
1619
1635
  * `ErrorView.detail`;端侧 `ErrorEnvelope.scope` 取值器同一读法。缺席 = 无附加事实
1620
1636
  * (既有事件体字节零变)。值恒不含 endUser 身份 / 令牌 / 内部 id。
@@ -1721,7 +1737,7 @@ declare const EventBodySchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1721
1737
  decision: z.ZodEnum<["allow", "deny", "ask"]>;
1722
1738
  decisionSource: z.ZodEnum<["rule", "user", "mode", "policy", "hook", "builtin", "classifier"]>;
1723
1739
  /**
1724
- * 命中的规则原文(如 `Shell(git *)`;contract-v0.2,T-C3 RFC)。
1740
+ * 命中的规则原文(如 `Shell(git *)`;contract-v0.2)。
1725
1741
  * 审计链由此可答"哪条规则拒的";模式短路/兜底 ask 等无规则命中时不落键。
1726
1742
  */
1727
1743
  matchedRule: z.ZodOptional<z.ZodString>;
@@ -1775,25 +1791,25 @@ declare const EventBodySchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1775
1791
  toolCallId: z.ZodString;
1776
1792
  durationMs: z.ZodNumber;
1777
1793
  /**
1778
- * ToolResult.data 透传位(contract-v0.3,T-E3 RFC):工具产出的结构化
1794
+ * ToolResult.data 透传位(contract-v0.3):工具产出的结构化
1779
1795
  * 渲染数据(AGENTS.md「工具只产出结构化数据」铁律的事件流出口)。
1780
1796
  * 表面层按工具名注册渲染器消费;无 data 的工具不落键,消费方忽略无害。
1781
1797
  */
1782
1798
  data: z.ZodOptional<z.ZodUnknown>;
1783
1799
  /**
1784
- * 模型可见文本投影(contract-v0.8,RFC-OPT8-1):喂回模型的 tool_result
1800
+ * 模型可见文本投影(contract-v0.8):喂回模型的 tool_result
1785
1801
  * 文本(截断后形态)。cc-compat stream-json 包络与 SDK 消费方由此拿到
1786
1802
  * 与模型一致的结果文本,不必反推 data;与 data 正交(结构化渲染 vs
1787
- * 模型文本)。大结果按 OPT-05 预算截断后的文本为准,不另存全量。
1803
+ * 模型文本)。大结果按工具结果预算截断后的文本为准,不另存全量。
1788
1804
  */
1789
1805
  content: z.ZodOptional<z.ZodString>;
1790
1806
  /**
1791
- * 工具结构化失败位(contract-v0.25,十王修案 FX-B-25 / 候拍 ⑭):`ToolResult.isError`
1807
+ * 工具结构化失败位(contract-v0.25):`ToolResult.isError`
1792
1808
  * 透传。工具以 **return isError** 表达的业务级失败(非零退出 / 用户中断 / SSRF 拒 /
1793
1809
  * 媒体错误形)与 throw 径的 `tool.failed` 在表面层归约为同一 failed 态——此前 TUI /
1794
- * sdk / 端侧对这类回执一律 ✓(T2-05)。缺席 = 旧签发方或成功完成(completed 语义不变);
1810
+ * sdk / 端侧对这类结果一律 ✓。缺席 = 旧签发方或成功完成(completed 语义不变);
1795
1811
  * 消费方(TUI / sdk / Android / iOS reducer)只判 `isError === true → failed`。
1796
- * 纯可选加法,包络 `v` 不 bump;端侧 vendored 同步归 C 路(分册 B §六 D-C2)。
1812
+ * 纯可选加法,包络 `v` 不 bump;端侧 vendored 同步另行跟进。
1797
1813
  */
1798
1814
  isError: z.ZodOptional<z.ZodBoolean>;
1799
1815
  }, "strip", z.ZodTypeAny, {
@@ -1990,7 +2006,7 @@ declare const EventBodySchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1990
2006
  }>;
1991
2007
  costUsd: z.ZodOptional<z.ZodNumber>;
1992
2008
  /**
1993
- * 上下文窗口分母(contract-v0.3,T-E3 RFC):签发方(查询环)从装配层
2009
+ * 上下文窗口分母(contract-v0.3):签发方(查询环)从装配层
1994
2010
  * 注入的 provider capability.maxContext 透传。状态栏水位 = 最近 prompt
1995
2011
  * 规模 / 本值;缺省时表面层隐藏水位段(或回退装配注入的静态值)。
1996
2012
  * 随 usage 更新携带——/model 热切换后分母随下一轮事件自动矫正。
@@ -2004,19 +2020,19 @@ declare const EventBodySchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
2004
2020
  toolUseId: z.ZodOptional<z.ZodString>;
2005
2021
  /**
2006
2022
  * 用量目的:非对话主流的模型调用标注来源。词表:'compaction'(上下文
2007
- * 压缩轮,T-C10)/ 'title'(会话标题生成,contract-v0.8 随 RFC-OPT10-1
2008
- * 扩容;OPT-10 辅助任务降档的归因面)/ 'permission_classifier'(LLM 权限
2009
- * 分类器调用,OPT-18)/ 'memory'(记忆四面 fork:提取/固化/晋升/召回
2010
- * 选择,TMEM/1;C3/R1-P1-3 随本地记账闭环扩词)。新目的先扩词表再签发
2023
+ * 压缩轮)/ 'title'(会话标题生成,contract-v0.8
2024
+ * 扩容;辅助任务降档的归因面)/ 'permission_classifier'(LLM 权限
2025
+ * 分类器调用)/ 'memory'(记忆四面 fork:提取/固化/晋升/召回
2026
+ * 选择;随本地记账闭环扩词)。新目的先扩词表再签发
2011
2027
  * (自由文本仅兜底);缺省即对话主流。
2012
2028
  *
2013
- * 词表分叉登记(R8 核实,2026-08-26):同一分类器子系统在 request-
2029
+ * 词表分叉注记:同一分类器子系统在 request-
2014
2030
  * measurement 观测面与 TWP 出线面用词 'classifier'(kernel context/
2015
2031
  * request-measurement.ts RequestPurpose、providers twp/contract.ts
2016
- * TWP_PURPOSE_VALUES——批ι 起扁平单表,分版常量已退役),与本词表
2032
+ * TWP_PURPOSE_VALUES——现为扁平单表,分版常量已退役),与本词表
2017
2033
  * 'permission_classifier' 属两套近义词并存;且本词当前全仓零签发方
2018
2034
  * (分类器 usage 走遥测与测量面,不落本地 cost 事件)。统一到单一词属
2019
- * 契约面决策,候拍板;届时 kernel cost/tracker.ts KNOWN_COST_PURPOSES
2035
+ * 契约面决策,待定;届时 kernel cost/tracker.ts KNOWN_COST_PURPOSES
2020
2036
  * 须同步,勿单侧改词。
2021
2037
  */
2022
2038
  purpose: z.ZodOptional<z.ZodString>;
@@ -2347,6 +2363,7 @@ declare const EventBodySchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
2347
2363
  content: string;
2348
2364
  }[];
2349
2365
  }>]>;
2366
+ /** 事件负载联合(EventBodySchema 推导)。 */
2350
2367
  type EventBody = z.infer<typeof EventBodySchema>;
2351
2368
  /** 完整事件 = 包络 + 负载 */
2352
2369
  declare const KernelEventSchema: z.ZodIntersection<z.ZodObject<{
@@ -2397,7 +2414,7 @@ declare const KernelEventSchema: z.ZodIntersection<z.ZodObject<{
2397
2414
  /** 被移除消息的 index 闭区间 [first, last](原数组坐标) */
2398
2415
  removedRange: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
2399
2416
  /**
2400
- * 被移除消息的精确 index 清单(contract-v0.4,T-C8/C10 RFC):pinned
2417
+ * 被移除消息的精确 index 清单(contract-v0.4):pinned
2401
2418
  * 挖洞时 removedRange 是外包络,重放/审计按本清单才能精确复原折叠面;
2402
2419
  * 表面层折叠计数也应优先取本清单长度。升序;缺省时按 removedRange 连续。
2403
2420
  */
@@ -2621,9 +2638,9 @@ declare const KernelEventSchema: z.ZodIntersection<z.ZodObject<{
2621
2638
  */
2622
2639
  errorKind: z.ZodOptional<z.ZodString>;
2623
2640
  /**
2624
- * 结构化事实位(contract-v0.26,十王修案 FX-B-20 / M-03;加法可选键):scope='model' 时
2641
+ * 结构化事实位(contract-v0.26;加法可选键):scope='model' 时
2625
2642
  * = IR error 事件 `detail` 透传(providers 自服务端信封带出的机器可判事实;首个取值
2626
- * `{ scope: 'plan' }` = 平台套餐配额拒绝,与 HTTP 面 doc/98 §七 `error.detail.scope`
2643
+ * `{ scope: 'plan' }` = 平台套餐配额拒绝,与 HTTP 面 `error.detail.scope`
2627
2644
  * 同键同值)。三端 reducer 归约:`recoverable:true` → `SessionNotice.detail`,失败形 →
2628
2645
  * `ErrorView.detail`;端侧 `ErrorEnvelope.scope` 取值器同一读法。缺席 = 无附加事实
2629
2646
  * (既有事件体字节零变)。值恒不含 endUser 身份 / 令牌 / 内部 id。
@@ -2730,7 +2747,7 @@ declare const KernelEventSchema: z.ZodIntersection<z.ZodObject<{
2730
2747
  decision: z.ZodEnum<["allow", "deny", "ask"]>;
2731
2748
  decisionSource: z.ZodEnum<["rule", "user", "mode", "policy", "hook", "builtin", "classifier"]>;
2732
2749
  /**
2733
- * 命中的规则原文(如 `Shell(git *)`;contract-v0.2,T-C3 RFC)。
2750
+ * 命中的规则原文(如 `Shell(git *)`;contract-v0.2)。
2734
2751
  * 审计链由此可答"哪条规则拒的";模式短路/兜底 ask 等无规则命中时不落键。
2735
2752
  */
2736
2753
  matchedRule: z.ZodOptional<z.ZodString>;
@@ -2784,25 +2801,25 @@ declare const KernelEventSchema: z.ZodIntersection<z.ZodObject<{
2784
2801
  toolCallId: z.ZodString;
2785
2802
  durationMs: z.ZodNumber;
2786
2803
  /**
2787
- * ToolResult.data 透传位(contract-v0.3,T-E3 RFC):工具产出的结构化
2804
+ * ToolResult.data 透传位(contract-v0.3):工具产出的结构化
2788
2805
  * 渲染数据(AGENTS.md「工具只产出结构化数据」铁律的事件流出口)。
2789
2806
  * 表面层按工具名注册渲染器消费;无 data 的工具不落键,消费方忽略无害。
2790
2807
  */
2791
2808
  data: z.ZodOptional<z.ZodUnknown>;
2792
2809
  /**
2793
- * 模型可见文本投影(contract-v0.8,RFC-OPT8-1):喂回模型的 tool_result
2810
+ * 模型可见文本投影(contract-v0.8):喂回模型的 tool_result
2794
2811
  * 文本(截断后形态)。cc-compat stream-json 包络与 SDK 消费方由此拿到
2795
2812
  * 与模型一致的结果文本,不必反推 data;与 data 正交(结构化渲染 vs
2796
- * 模型文本)。大结果按 OPT-05 预算截断后的文本为准,不另存全量。
2813
+ * 模型文本)。大结果按工具结果预算截断后的文本为准,不另存全量。
2797
2814
  */
2798
2815
  content: z.ZodOptional<z.ZodString>;
2799
2816
  /**
2800
- * 工具结构化失败位(contract-v0.25,十王修案 FX-B-25 / 候拍 ⑭):`ToolResult.isError`
2817
+ * 工具结构化失败位(contract-v0.25):`ToolResult.isError`
2801
2818
  * 透传。工具以 **return isError** 表达的业务级失败(非零退出 / 用户中断 / SSRF 拒 /
2802
2819
  * 媒体错误形)与 throw 径的 `tool.failed` 在表面层归约为同一 failed 态——此前 TUI /
2803
- * sdk / 端侧对这类回执一律 ✓(T2-05)。缺席 = 旧签发方或成功完成(completed 语义不变);
2820
+ * sdk / 端侧对这类结果一律 ✓。缺席 = 旧签发方或成功完成(completed 语义不变);
2804
2821
  * 消费方(TUI / sdk / Android / iOS reducer)只判 `isError === true → failed`。
2805
- * 纯可选加法,包络 `v` 不 bump;端侧 vendored 同步归 C 路(分册 B §六 D-C2)。
2822
+ * 纯可选加法,包络 `v` 不 bump;端侧 vendored 同步另行跟进。
2806
2823
  */
2807
2824
  isError: z.ZodOptional<z.ZodBoolean>;
2808
2825
  }, "strip", z.ZodTypeAny, {
@@ -2999,7 +3016,7 @@ declare const KernelEventSchema: z.ZodIntersection<z.ZodObject<{
2999
3016
  }>;
3000
3017
  costUsd: z.ZodOptional<z.ZodNumber>;
3001
3018
  /**
3002
- * 上下文窗口分母(contract-v0.3,T-E3 RFC):签发方(查询环)从装配层
3019
+ * 上下文窗口分母(contract-v0.3):签发方(查询环)从装配层
3003
3020
  * 注入的 provider capability.maxContext 透传。状态栏水位 = 最近 prompt
3004
3021
  * 规模 / 本值;缺省时表面层隐藏水位段(或回退装配注入的静态值)。
3005
3022
  * 随 usage 更新携带——/model 热切换后分母随下一轮事件自动矫正。
@@ -3013,19 +3030,19 @@ declare const KernelEventSchema: z.ZodIntersection<z.ZodObject<{
3013
3030
  toolUseId: z.ZodOptional<z.ZodString>;
3014
3031
  /**
3015
3032
  * 用量目的:非对话主流的模型调用标注来源。词表:'compaction'(上下文
3016
- * 压缩轮,T-C10)/ 'title'(会话标题生成,contract-v0.8 随 RFC-OPT10-1
3017
- * 扩容;OPT-10 辅助任务降档的归因面)/ 'permission_classifier'(LLM 权限
3018
- * 分类器调用,OPT-18)/ 'memory'(记忆四面 fork:提取/固化/晋升/召回
3019
- * 选择,TMEM/1;C3/R1-P1-3 随本地记账闭环扩词)。新目的先扩词表再签发
3033
+ * 压缩轮)/ 'title'(会话标题生成,contract-v0.8
3034
+ * 扩容;辅助任务降档的归因面)/ 'permission_classifier'(LLM 权限
3035
+ * 分类器调用)/ 'memory'(记忆四面 fork:提取/固化/晋升/召回
3036
+ * 选择;随本地记账闭环扩词)。新目的先扩词表再签发
3020
3037
  * (自由文本仅兜底);缺省即对话主流。
3021
3038
  *
3022
- * 词表分叉登记(R8 核实,2026-08-26):同一分类器子系统在 request-
3039
+ * 词表分叉注记:同一分类器子系统在 request-
3023
3040
  * measurement 观测面与 TWP 出线面用词 'classifier'(kernel context/
3024
3041
  * request-measurement.ts RequestPurpose、providers twp/contract.ts
3025
- * TWP_PURPOSE_VALUES——批ι 起扁平单表,分版常量已退役),与本词表
3042
+ * TWP_PURPOSE_VALUES——现为扁平单表,分版常量已退役),与本词表
3026
3043
  * 'permission_classifier' 属两套近义词并存;且本词当前全仓零签发方
3027
3044
  * (分类器 usage 走遥测与测量面,不落本地 cost 事件)。统一到单一词属
3028
- * 契约面决策,候拍板;届时 kernel cost/tracker.ts KNOWN_COST_PURPOSES
3045
+ * 契约面决策,待定;届时 kernel cost/tracker.ts KNOWN_COST_PURPOSES
3029
3046
  * 须同步,勿单侧改词。
3030
3047
  */
3031
3048
  purpose: z.ZodOptional<z.ZodString>;
@@ -3356,23 +3373,23 @@ declare const KernelEventSchema: z.ZodIntersection<z.ZodObject<{
3356
3373
  content: string;
3357
3374
  }[];
3358
3375
  }>]>>;
3376
+ /** 完整内核事件:包络 + 负载(KernelEventSchema 推导)。 */
3359
3377
  type KernelEvent = z.infer<typeof KernelEventSchema>;
3360
3378
 
3361
3379
  /**
3362
- * T-A3(其二)— 配置 schema(五层合并的目标结构)
3380
+ * 配置 schema(五层合并的目标结构)
3363
3381
  *
3364
- * 设计依据:
3365
- * - doc/06 §2.2/§2.3(Provider Profile + capability + 别名三档 + fallback)
3366
- * - doc/10 §4.3(国内厂商 capability 增补:缓存三态 / thinking 改写器 / must_echo_back / modelModifiers / 峰谷计价)
3382
+ * 设计要点:
3383
+ * - Provider Profile + capability + 别名三档 + fallback;
3384
+ * - 国内厂商 capability 增补:缓存三态 / thinking 改写器 / must_echo_back / modelModifiers / 峰谷计价。
3367
3385
  *
3368
- * 五层合并顺序(doc/09 T-G1):managed > 项目 local > 项目 shared > 用户 > 内置。
3386
+ * 五层合并顺序:managed > 项目 local > 项目 shared > 用户 > 内置。
3369
3387
  */
3370
3388
 
3371
3389
  declare const CapabilitySchema: z.ZodObject<{
3372
3390
  maxContext: z.ZodNumber;
3373
3391
  /**
3374
- * 实测质量拐点窗口(tokens;TMEM/2 CB-1,doc/40 §2.5;RFC 收编候选,
3375
- * maxOutput/RFC-CTX12-3 同律形态)。可选且**无默认值**——undefined =
3392
+ * 实测质量拐点窗口(tokens;与 maxOutput 同律形态)。可选且**无默认值**——undefined =
3376
3393
  * 未实证,消费方沿标称 maxContext(行为零变);声明时装配层窗口合成
3377
3394
  * 取 min(maxContext, effectiveContext)(合成恒在装配层单点,kernel
3378
3395
  * 冻结面不开位)。数据纪律与 maxOutput 同:手工回填须带公开评测出处,
@@ -3381,11 +3398,11 @@ declare const CapabilitySchema: z.ZodObject<{
3381
3398
  effectiveContext: z.ZodOptional<z.ZodNumber>;
3382
3399
  /**
3383
3400
  * 单次响应输出上限(tokens;厂商 max_tokens / max_completion_tokens
3384
- * 限额)。contract-v0.15(RFC-CTX12-3):可选且**无默认值**——
3385
- * undefined = 未知/未实证,消费方自选保守值(压缩输出预算径回退 20K,
3386
- * T-CTX01),与显式数值(官方文档实证)区分,杜绝编造(RFC-B7-2
3387
- * hostedTools / RFC-B3-4 quirks 新键同先例)。数据纪律:内置表回填
3388
- * 必须带官方出处与查证日期(围栏 6),拿不准的模型宁可不录。
3401
+ * 限额)。contract-v0.15:可选且**无默认值**——
3402
+ * undefined = 未知/未实证,消费方自选保守值(压缩输出预算径回退 20K),
3403
+ * 与显式数值(官方文档实证)区分,杜绝编造(hostedTools / quirks
3404
+ * 新键同先例)。数据纪律:内置表回填
3405
+ * 必须带官方出处与查证日期,拿不准的模型宁可不录。
3389
3406
  */
3390
3407
  maxOutput: z.ZodOptional<z.ZodNumber>;
3391
3408
  /**
@@ -3577,7 +3594,7 @@ declare const CapabilitySchema: z.ZodObject<{
3577
3594
  /** 思考首 token 显著慢的建议超时下限(ms;适配器/重试 watchdog 消费) */
3578
3595
  minTimeoutMs: z.ZodOptional<z.ZodNumber>;
3579
3596
  /** max_tokens 限额是否不含 reasoning 预算(doubao true 与 kimi/glm false
3580
- * 相反实证;T-C8 成本预估与 T-B4 截断防御的消费点) */
3597
+ * 相反实证;成本预估与截断防御的消费点) */
3581
3598
  maxTokensExcludesReasoning: z.ZodOptional<z.ZodBoolean>;
3582
3599
  }, "strip", z.ZodTypeAny, {
3583
3600
  unknownModelFallback: boolean;
@@ -3608,7 +3625,7 @@ declare const CapabilitySchema: z.ZodObject<{
3608
3625
  */
3609
3626
  hostedTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
3610
3627
  /**
3611
- * contract-v0.4(RFC-B7-2):Responses `background:true` 异步任务能力位。
3628
+ * contract-v0.4:Responses `background:true` 异步任务能力位。
3612
3629
  * 同上,可选且无默认值。
3613
3630
  */
3614
3631
  background: z.ZodOptional<z.ZodBoolean>;
@@ -3719,7 +3736,9 @@ declare const CapabilitySchema: z.ZodObject<{
3719
3736
  hostedTools?: string[] | undefined;
3720
3737
  background?: boolean | undefined;
3721
3738
  }>;
3739
+ /** 模型能力位(CapabilitySchema 推导;经 schema parse 后默认值已填充)。 */
3722
3740
  type Capability = z.infer<typeof CapabilitySchema>;
3741
+ /** 单模型价格表:每百万 token 的输入 / 缓存输入 / 输出价,可选峰谷倍率与阶梯计价。 */
3723
3742
  declare const PricingSchema: z.ZodObject<{
3724
3743
  /** ¥ 或 $ 每百万 token */
3725
3744
  inputPerMillion: z.ZodNumber;
@@ -3728,7 +3747,7 @@ declare const PricingSchema: z.ZodObject<{
3728
3747
  /** 峰谷时段倍率(DeepSeek 高峰翻倍) */
3729
3748
  peakMultiplier: z.ZodOptional<z.ZodNumber>;
3730
3749
  /**
3731
- * contract-v0.5(RFC-B3-3):阶梯计价。缺省 undefined = 扁平计价(现状零
3750
+ * contract-v0.5:阶梯计价。缺省 undefined = 扁平计价(现状零
3732
3751
  * 迁移);声明 tiers 时顶层三价约定为**首档镜像**(文档约定不强 refine)——
3733
3752
  * 向前兼容降级语义:无 tiers 感知的旧消费端仍按顶层价近似计费,不炸不偏零。
3734
3753
  */
@@ -3772,7 +3791,9 @@ declare const PricingSchema: z.ZodObject<{
3772
3791
  cachedInputPerMillion?: number | undefined;
3773
3792
  }[] | undefined;
3774
3793
  }>;
3794
+ /** 单模型价格表(PricingSchema 推导)。 */
3775
3795
  type Pricing = z.infer<typeof PricingSchema>;
3796
+ /** provider 档案:线协议、baseUrl、鉴权 env 变量名、角色别名表、能力位与逐模型价格表。 */
3776
3797
  declare const ProviderProfileSchema: z.ZodObject<{
3777
3798
  protocol: z.ZodEnum<["anthropic", "openai", "openai-responses", "twp"]>;
3778
3799
  baseUrl: z.ZodString;
@@ -3788,8 +3809,7 @@ declare const ProviderProfileSchema: z.ZodObject<{
3788
3809
  capability: z.ZodOptional<z.ZodObject<{
3789
3810
  maxContext: z.ZodNumber;
3790
3811
  /**
3791
- * 实测质量拐点窗口(tokens;TMEM/2 CB-1,doc/40 §2.5;RFC 收编候选,
3792
- * maxOutput/RFC-CTX12-3 同律形态)。可选且**无默认值**——undefined =
3812
+ * 实测质量拐点窗口(tokens;与 maxOutput 同律形态)。可选且**无默认值**——undefined =
3793
3813
  * 未实证,消费方沿标称 maxContext(行为零变);声明时装配层窗口合成
3794
3814
  * 取 min(maxContext, effectiveContext)(合成恒在装配层单点,kernel
3795
3815
  * 冻结面不开位)。数据纪律与 maxOutput 同:手工回填须带公开评测出处,
@@ -3798,11 +3818,11 @@ declare const ProviderProfileSchema: z.ZodObject<{
3798
3818
  effectiveContext: z.ZodOptional<z.ZodNumber>;
3799
3819
  /**
3800
3820
  * 单次响应输出上限(tokens;厂商 max_tokens / max_completion_tokens
3801
- * 限额)。contract-v0.15(RFC-CTX12-3):可选且**无默认值**——
3802
- * undefined = 未知/未实证,消费方自选保守值(压缩输出预算径回退 20K,
3803
- * T-CTX01),与显式数值(官方文档实证)区分,杜绝编造(RFC-B7-2
3804
- * hostedTools / RFC-B3-4 quirks 新键同先例)。数据纪律:内置表回填
3805
- * 必须带官方出处与查证日期(围栏 6),拿不准的模型宁可不录。
3821
+ * 限额)。contract-v0.15:可选且**无默认值**——
3822
+ * undefined = 未知/未实证,消费方自选保守值(压缩输出预算径回退 20K),
3823
+ * 与显式数值(官方文档实证)区分,杜绝编造(hostedTools / quirks
3824
+ * 新键同先例)。数据纪律:内置表回填
3825
+ * 必须带官方出处与查证日期,拿不准的模型宁可不录。
3806
3826
  */
3807
3827
  maxOutput: z.ZodOptional<z.ZodNumber>;
3808
3828
  /**
@@ -3994,7 +4014,7 @@ declare const ProviderProfileSchema: z.ZodObject<{
3994
4014
  /** 思考首 token 显著慢的建议超时下限(ms;适配器/重试 watchdog 消费) */
3995
4015
  minTimeoutMs: z.ZodOptional<z.ZodNumber>;
3996
4016
  /** max_tokens 限额是否不含 reasoning 预算(doubao true 与 kimi/glm false
3997
- * 相反实证;T-C8 成本预估与 T-B4 截断防御的消费点) */
4017
+ * 相反实证;成本预估与截断防御的消费点) */
3998
4018
  maxTokensExcludesReasoning: z.ZodOptional<z.ZodBoolean>;
3999
4019
  }, "strip", z.ZodTypeAny, {
4000
4020
  unknownModelFallback: boolean;
@@ -4025,7 +4045,7 @@ declare const ProviderProfileSchema: z.ZodObject<{
4025
4045
  */
4026
4046
  hostedTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
4027
4047
  /**
4028
- * contract-v0.4(RFC-B7-2):Responses `background:true` 异步任务能力位。
4048
+ * contract-v0.4:Responses `background:true` 异步任务能力位。
4029
4049
  * 同上,可选且无默认值。
4030
4050
  */
4031
4051
  background: z.ZodOptional<z.ZodBoolean>;
@@ -4144,7 +4164,7 @@ declare const ProviderProfileSchema: z.ZodObject<{
4144
4164
  /** 峰谷时段倍率(DeepSeek 高峰翻倍) */
4145
4165
  peakMultiplier: z.ZodOptional<z.ZodNumber>;
4146
4166
  /**
4147
- * contract-v0.5(RFC-B3-3):阶梯计价。缺省 undefined = 扁平计价(现状零
4167
+ * contract-v0.5:阶梯计价。缺省 undefined = 扁平计价(现状零
4148
4168
  * 迁移);声明 tiers 时顶层三价约定为**首档镜像**(文档约定不强 refine)——
4149
4169
  * 向前兼容降级语义:无 tiers 感知的旧消费端仍按顶层价近似计费,不炸不偏零。
4150
4170
  */
@@ -4335,6 +4355,7 @@ declare const ProviderProfileSchema: z.ZodObject<{
4335
4355
  }[] | undefined;
4336
4356
  }> | undefined;
4337
4357
  }>;
4358
+ /** provider 档案(ProviderProfileSchema 推导)。 */
4338
4359
  type ProviderProfile = z.infer<typeof ProviderProfileSchema>;
4339
4360
  declare const TansrConfigSchema: z.ZodObject<{
4340
4361
  $schemaVersion: z.ZodDefault<z.ZodLiteral<1>>;
@@ -4353,8 +4374,7 @@ declare const TansrConfigSchema: z.ZodObject<{
4353
4374
  capability: z.ZodOptional<z.ZodObject<{
4354
4375
  maxContext: z.ZodNumber;
4355
4376
  /**
4356
- * 实测质量拐点窗口(tokens;TMEM/2 CB-1,doc/40 §2.5;RFC 收编候选,
4357
- * maxOutput/RFC-CTX12-3 同律形态)。可选且**无默认值**——undefined =
4377
+ * 实测质量拐点窗口(tokens;与 maxOutput 同律形态)。可选且**无默认值**——undefined =
4358
4378
  * 未实证,消费方沿标称 maxContext(行为零变);声明时装配层窗口合成
4359
4379
  * 取 min(maxContext, effectiveContext)(合成恒在装配层单点,kernel
4360
4380
  * 冻结面不开位)。数据纪律与 maxOutput 同:手工回填须带公开评测出处,
@@ -4363,11 +4383,11 @@ declare const TansrConfigSchema: z.ZodObject<{
4363
4383
  effectiveContext: z.ZodOptional<z.ZodNumber>;
4364
4384
  /**
4365
4385
  * 单次响应输出上限(tokens;厂商 max_tokens / max_completion_tokens
4366
- * 限额)。contract-v0.15(RFC-CTX12-3):可选且**无默认值**——
4367
- * undefined = 未知/未实证,消费方自选保守值(压缩输出预算径回退 20K,
4368
- * T-CTX01),与显式数值(官方文档实证)区分,杜绝编造(RFC-B7-2
4369
- * hostedTools / RFC-B3-4 quirks 新键同先例)。数据纪律:内置表回填
4370
- * 必须带官方出处与查证日期(围栏 6),拿不准的模型宁可不录。
4386
+ * 限额)。contract-v0.15:可选且**无默认值**——
4387
+ * undefined = 未知/未实证,消费方自选保守值(压缩输出预算径回退 20K),
4388
+ * 与显式数值(官方文档实证)区分,杜绝编造(hostedTools / quirks
4389
+ * 新键同先例)。数据纪律:内置表回填
4390
+ * 必须带官方出处与查证日期,拿不准的模型宁可不录。
4371
4391
  */
4372
4392
  maxOutput: z.ZodOptional<z.ZodNumber>;
4373
4393
  /**
@@ -4559,7 +4579,7 @@ declare const TansrConfigSchema: z.ZodObject<{
4559
4579
  /** 思考首 token 显著慢的建议超时下限(ms;适配器/重试 watchdog 消费) */
4560
4580
  minTimeoutMs: z.ZodOptional<z.ZodNumber>;
4561
4581
  /** max_tokens 限额是否不含 reasoning 预算(doubao true 与 kimi/glm false
4562
- * 相反实证;T-C8 成本预估与 T-B4 截断防御的消费点) */
4582
+ * 相反实证;成本预估与截断防御的消费点) */
4563
4583
  maxTokensExcludesReasoning: z.ZodOptional<z.ZodBoolean>;
4564
4584
  }, "strip", z.ZodTypeAny, {
4565
4585
  unknownModelFallback: boolean;
@@ -4590,7 +4610,7 @@ declare const TansrConfigSchema: z.ZodObject<{
4590
4610
  */
4591
4611
  hostedTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
4592
4612
  /**
4593
- * contract-v0.4(RFC-B7-2):Responses `background:true` 异步任务能力位。
4613
+ * contract-v0.4:Responses `background:true` 异步任务能力位。
4594
4614
  * 同上,可选且无默认值。
4595
4615
  */
4596
4616
  background: z.ZodOptional<z.ZodBoolean>;
@@ -4709,7 +4729,7 @@ declare const TansrConfigSchema: z.ZodObject<{
4709
4729
  /** 峰谷时段倍率(DeepSeek 高峰翻倍) */
4710
4730
  peakMultiplier: z.ZodOptional<z.ZodNumber>;
4711
4731
  /**
4712
- * contract-v0.5(RFC-B3-3):阶梯计价。缺省 undefined = 扁平计价(现状零
4732
+ * contract-v0.5:阶梯计价。缺省 undefined = 扁平计价(现状零
4713
4733
  * 迁移);声明 tiers 时顶层三价约定为**首档镜像**(文档约定不强 refine)——
4714
4734
  * 向前兼容降级语义:无 tiers 感知的旧消费端仍按顶层价近似计费,不炸不偏零。
4715
4735
  */
@@ -4917,7 +4937,7 @@ declare const TansrConfigSchema: z.ZodObject<{
4917
4937
  fallbacks: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
4918
4938
  locale: z.ZodOptional<z.ZodString>;
4919
4939
  /**
4920
- * 生命周期 hooks(contract-v0.3,T-G3 RFC)。分层合并语义特殊:不走深合并,
4940
+ * 生命周期 hooks(contract-v0.3)。分层合并语义特殊:不走深合并,
4921
4941
  * 由 kernel 逐层抽取(条目按层优先级稳定排序、跨层同构去重、managed 控制
4922
4942
  * 位治理),详见 kernel hooks/config.ts。
4923
4943
  */
@@ -5283,11 +5303,11 @@ declare const TansrConfigSchema: z.ZodObject<{
5283
5303
  })[] | undefined;
5284
5304
  }>, "many">>;
5285
5305
  /**
5286
- * 权限扩展点两事件(contract-v0.13,RFC-WE-3 清 RFC-K19d 契约残项;
5287
- * 运行期 kernel HOOK_EVENTS 自 2026-07-30 起已八事件,此处规范性描述
5306
+ * 权限扩展点两事件(contract-v0.13;
5307
+ * 运行期 kernel HOOK_EVENTS 已为八事件,此处规范性描述
5288
5308
  * 补齐;词表一致性由 schema × HOOK_EVENTS 锁测试把守):
5289
5309
  * - PermissionRequest:ask 终局呈现前的最后收紧缝(只收紧,allow 忽略+告警);
5290
- * - PermissionDenied:deny 终局后的纯通知缝(回执不消费)。
5310
+ * - PermissionDenied:deny 终局后的纯通知缝(结构化响应不消费)。
5291
5311
  */
5292
5312
  PermissionRequest: z.ZodOptional<z.ZodArray<z.ZodObject<{
5293
5313
  /** 触发过滤器(PreToolUse/PostToolUse 比对 tool 名等);缺省全匹配 */
@@ -5629,7 +5649,7 @@ declare const TansrConfigSchema: z.ZodObject<{
5629
5649
  allowManagedHooksOnly?: boolean | undefined;
5630
5650
  }>>;
5631
5651
  /**
5632
- * MCP 服务器清单(contract-v0.4,T-D8 RFC)。分层合并语义特殊:不走深合并,
5652
+ * MCP 服务器清单(contract-v0.4)。分层合并语义特殊:不走深合并,
5633
5653
  * 由 kernel 逐层抽取(跨层同名高层胜 + 信任门分层归因),详见 kernel
5634
5654
  * tools/mcp/config.ts 与 cli assembly/mcp-trust.ts。
5635
5655
  */
@@ -5809,19 +5829,18 @@ declare const TansrConfigSchema: z.ZodObject<{
5809
5829
  */
5810
5830
  disableBaselineProtection: z.ZodOptional<z.ZodBoolean>;
5811
5831
  /**
5812
- * LLM 权限分类器治理位(contract-v0.8 增 enabled,RFC-OPT18-2;
5813
- * contract-v0.13 增 tightenOutsideAuto/callBudget 并放宽 enabled 为可选,
5814
- * RFC-WE-2)。环境变量 TANSR_PERMISSION_CLASSIFIER /
5832
+ * LLM 权限分类器治理位(contract-v0.8 增 enabled;
5833
+ * contract-v0.13 增 tightenOutsideAuto/callBudget 并放宽 enabled 为可选)。
5834
+ * 环境变量 TANSR_PERMISSION_CLASSIFIER /
5815
5835
  * TANSR_CLASSIFIER_TIGHTEN_OUTSIDE_AUTO / TANSR_CLASSIFIER_BUDGET 保留为
5816
- * 最高优先覆盖(逐键接管)。仅 user/managed 层被尊重(T-K0:分类器属
5836
+ * 最高优先覆盖(逐键接管)。仅 user/managed 层被尊重(分类器属
5817
5837
  * 用户/企业的信任与成本决策,项目层声明整段忽略+示警)。
5818
5838
  * 史注:TANSR_CLASSIFIER_ALLOW_UNQUALIFIED(资格越过)曾刻意不进配置
5819
- * (break-glass 性质恒 env-only),已随 UAA P4-C2 整体退役(2026-08-30,
5820
- * 任命即授照后无「未达资格」可越)。
5839
+ * (break-glass 性质恒 env-only),已整体退役(任命即授照后无「未达资格」可越)。
5821
5840
  */
5822
5841
  classifier: z.ZodOptional<z.ZodObject<{
5823
5842
  enabled: z.ZodOptional<z.ZodBoolean>;
5824
- /** 非 auto 模式也咨询分类器(只收紧:unsafe→deny,safe 恒维持 ask;T-K6) */
5843
+ /** 非 auto 模式也咨询分类器(只收紧:unsafe→deny,safe 恒维持 ask) */
5825
5844
  tightenOutsideAuto: z.ZodOptional<z.ZodBoolean>;
5826
5845
  /** 每会话咨询预算:≥1 改上限 / 'off' 不限;缺席用内核缺省 */
5827
5846
  callBudget: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"off">]>>;
@@ -5835,14 +5854,14 @@ declare const TansrConfigSchema: z.ZodObject<{
5835
5854
  callBudget?: number | "off" | undefined;
5836
5855
  }>>;
5837
5856
  /**
5838
- * 出厂规则包装载开关(contract-v0.13,RFC-WE-2;T-K15 出厂包的契约形态)。
5857
+ * 出厂规则包装载开关(contract-v0.13;出厂包的契约形态)。
5839
5858
  * 缺省 true(装载);false = 卸载。env TANSR_RECOMMENDED_RULES 保留为最高
5840
5859
  * 优先覆盖(精确 '0' 卸载)。仅 user/managed 层被尊重(卸出厂 ask 包属
5841
5860
  * 扩权向,项目层声明忽略+示警)。
5842
5861
  */
5843
5862
  recommendedRules: z.ZodOptional<z.ZodBoolean>;
5844
5863
  /**
5845
- * 项目 ask 注意力预算(contract-v0.13,RFC-WE-2;T-K16 的契约形态)。
5864
+ * 项目 ask 注意力预算(contract-v0.13;kernel ask 预算的契约形态)。
5846
5865
  * ≥1 = 每会话项目来源询问上限(缺省 10);'off' = 关闭(回到逐条询问)。
5847
5866
  * env TANSR_PROJECT_ASK_BUDGET 保留为最高优先覆盖。仅 user/managed 层被
5848
5867
  * 尊重(预算防的就是项目层提示风暴,项目自调即越界)。
@@ -5971,7 +5990,7 @@ declare const TansrConfigSchema: z.ZodObject<{
5971
5990
  unsignedPolicy?: "reject" | "accept" | undefined;
5972
5991
  } | undefined;
5973
5992
  }>>;
5974
- /** Shell 沙箱(contract-v0.8,RFC-OPT19-1);FX-B-01 起 kernel 合并前抽取:user / managed 被尊重,项目层忽略,env 对 managed 只收紧 */
5993
+ /** Shell 沙箱(contract-v0.8);kernel 合并前抽取:user / managed 被尊重,项目层忽略,env 对 managed 只收紧 */
5975
5994
  sandbox: z.ZodOptional<z.ZodObject<{
5976
5995
  /**
5977
5996
  * 生效模式(词表对齐 kernel SandboxMode):off=不碰沙箱(缺省);
@@ -6613,40 +6632,43 @@ declare const TansrConfigSchema: z.ZodObject<{
6613
6632
  enabled?: boolean | undefined;
6614
6633
  } | undefined;
6615
6634
  }>;
6635
+ /** 五层合并后的完整配置(TansrConfigSchema 推导)。 */
6616
6636
  type TansrConfig = z.infer<typeof TansrConfigSchema>;
6617
6637
 
6618
6638
  /**
6619
- * ModelClient — 模型客户端接口(依赖倒置的关键缝,《06》§1.1)。
6639
+ * ModelClient — 模型客户端接口(依赖倒置的关键缝)。
6620
6640
  * providers 包实现本接口;kernel 只依赖本接口,经构造注入,绝不 import 具体适配器。
6621
6641
  */
6622
6642
 
6643
+ /** 单次模型调用的选项:取消信号与分层超时(总闸 / 建连闸 / 空闲闸)。 */
6623
6644
  interface ModelCallOptions {
6624
6645
  signal?: AbortSignal;
6625
6646
  /**
6626
- * 单次尝试总闸(毫秒)。G-A3 分层超时落地后语义收敛为「总闸兼容位」:
6647
+ * 单次尝试总闸(毫秒)。分层超时落地后语义收敛为「总闸兼容位」:
6627
6648
  * 消费分层超时的适配器(openai/openai-responses)把本值并入总闸
6628
6649
  * (totalTimeoutMs 优先);未跟进的适配器沿用「单闸覆盖整次尝试」旧语义。
6629
6650
  * 压缩路径恒传本位(90s 总闸,kernel context/compaction.ts)。
6630
6651
  */
6631
6652
  timeoutMs?: number;
6632
6653
  /**
6633
- * G-A3:建连/响应头到达闸(毫秒)。覆盖「发出请求 → 响应头到达」区间;
6654
+ * 建连/响应头到达闸(毫秒)。覆盖「发出请求 → 响应头到达」区间;
6634
6655
  * 响应头到达后退场,交棒 idle 闸。缺席时消费方适配器用内建缺省
6635
6656
  * (openai 系 15_000)。
6636
6657
  */
6637
6658
  connectTimeoutMs?: number;
6638
6659
  /**
6639
- * G-A3:流式分片间空闲闸(毫秒)。响应头到达后启用,每到一段字节重臂;
6660
+ * 流式分片间空闲闸(毫秒)。响应头到达后启用,每到一段字节重臂;
6640
6661
  * 分片持续到达的健康慢长流恒不误杀。缺席时消费方适配器用内建缺省
6641
6662
  * (openai 系 90_000)。
6642
6663
  */
6643
6664
  idleTimeoutMs?: number;
6644
6665
  /**
6645
- * G-A3:可选总闸(毫秒)。整次尝试(建连 + 流式读取)的绝对上限;
6666
+ * 可选总闸(毫秒)。整次尝试(建连 + 流式读取)的绝对上限;
6646
6667
  * 缺省关闭(与 timeoutMs 同给时本位优先)。
6647
6668
  */
6648
6669
  totalTimeoutMs?: number;
6649
6670
  }
6671
+ /** 模型客户端:把一次 IRRequest 变成 IRStreamEvent 流;providers 实现,kernel 经注入消费。 */
6650
6672
  interface ModelClient {
6651
6673
  /**
6652
6674
  * 流式调用。实现必须把 wire 协议(SSE/delta)解析为 IRStreamEvent 序列;
@@ -7256,13 +7278,17 @@ interface AudioTtsConstraints {
7256
7278
  formats: string[];
7257
7279
  maxChars: number;
7258
7280
  }
7281
+ /** 图片模型目录条目:通用描述符 + 图片受理约束。 */
7259
7282
  type ImageModelDescriptor = MediaModelDescriptor<ImageModelConstraints>;
7283
+ /** 视频模型目录条目:通用描述符 + 视频受理约束。 */
7260
7284
  type VideoModelDescriptor = MediaModelDescriptor<VideoModelConstraints>;
7285
+ /** 语音转文字模型目录条目:通用描述符 + ASR 受理约束。 */
7261
7286
  type SpeechToTextModelDescriptor = MediaModelDescriptor<AudioAsrConstraints>;
7287
+ /** 文字转语音模型目录条目:通用描述符 + TTS 受理约束。 */
7262
7288
  type TextToSpeechModelDescriptor = MediaModelDescriptor<AudioTtsConstraints>;
7263
7289
  /**
7264
7290
  * ImageGen 产物(表面层渲染用结构化数据;错误时携错误码、`images` 为空数组、`imageCount` 0)。
7265
- * 端侧按形状识别:`images` 数组 → Images 型产物(doc/123 §3.7)。
7291
+ * 端侧按形状识别:`images` 数组 → Images 型产物。
7266
7292
  */
7267
7293
  interface ImageGenData {
7268
7294
  model: string;
@@ -7278,6 +7304,7 @@ interface ImageGenData {
7278
7304
  */
7279
7305
  taskId?: string;
7280
7306
  }
7307
+ /** ImageGenData 的 zod schema(passthrough 容未知键;消费方按需校验 ToolResult.data)。 */
7281
7308
  declare const ImageGenDataSchema: z.ZodObject<{
7282
7309
  model: z.ZodString;
7283
7310
  images: z.ZodArray<z.ZodObject<{
@@ -7332,6 +7359,7 @@ interface VideoGenData {
7332
7359
  /** 异步任务号(平台任务径在场时恒携;GET /t1/videogen/tasks/{taskId} 可找回)。 */
7333
7360
  taskId?: string;
7334
7361
  }
7362
+ /** VideoGenData 的 zod schema(passthrough 容未知键)。 */
7335
7363
  declare const VideoGenDataSchema: z.ZodObject<{
7336
7364
  model: z.ZodString;
7337
7365
  videos: z.ZodArray<z.ZodObject<{
@@ -7372,7 +7400,7 @@ declare const VideoGenDataSchema: z.ZodObject<{
7372
7400
  errorCode: z.ZodOptional<z.ZodString>;
7373
7401
  taskId: z.ZodOptional<z.ZodString>;
7374
7402
  }, z.ZodTypeAny, "passthrough">>;
7375
- /** 转写分段(doc/123 §3.1 segments 行;speaker 仅说话人分离家族在场) */
7403
+ /** 转写分段(speaker 仅说话人分离家族在场) */
7376
7404
  interface TranscriptSegment {
7377
7405
  start: number;
7378
7406
  end: number;
@@ -7380,8 +7408,8 @@ interface TranscriptSegment {
7380
7408
  speaker?: string;
7381
7409
  }
7382
7410
  /**
7383
- * SpeechToText 产物(doc/123 §3.5 TranscriptData;错误时携错误码、`text` 为空串)。端侧按形状
7384
- * 识别:`text` + `model` 且无 images/videos/results/audio → Transcript 型产物(doc/123 §3.7)。
7411
+ * SpeechToText 产物(错误时携错误码、`text` 为空串)。端侧按形状
7412
+ * 识别:`text` + `model` 且无 images/videos/results/audio → Transcript 型产物。
7385
7413
  * 空串 `text` 本身是合法转写(静音输入),不是零产物。
7386
7414
  */
7387
7415
  interface TranscriptData {
@@ -7395,6 +7423,7 @@ interface TranscriptData {
7395
7423
  /** 异步任务号(平台任务径在场时恒携;GET /t1/asr/tasks/{taskId} 可找回)。 */
7396
7424
  taskId?: string;
7397
7425
  }
7426
+ /** TranscriptData 的 zod schema(passthrough 容未知键)。 */
7398
7427
  declare const TranscriptDataSchema: z.ZodObject<{
7399
7428
  model: z.ZodString;
7400
7429
  text: z.ZodString;
@@ -7466,8 +7495,8 @@ declare const TranscriptDataSchema: z.ZodObject<{
7466
7495
  taskId: z.ZodOptional<z.ZodString>;
7467
7496
  }, z.ZodTypeAny, "passthrough">>;
7468
7497
  /**
7469
- * 合成产物(doc/123 D-A5 / §3.5 SpeechData.audio;`url` 与 `b64` 恒至少一个在场)。
7470
- * `path` 为 D-M12 加法可选键:cli 内联产物落盘后的本地路径(kernel 工具 `artifactSink` 在场且
7498
+ * 合成产物(SpeechData.audio;`url` 与 `b64` 恒至少一个在场)。
7499
+ * `path` 为加法可选键:cli 内联产物落盘后的本地路径(kernel 工具 `artifactSink` 在场且
7471
7500
  * `b64` 在场时写入);sdk / serve 恒不接 sink,径上恒缺席——端侧形状识别不受影响。
7472
7501
  */
7473
7502
  interface SpeechAudio {
@@ -7479,12 +7508,12 @@ interface SpeechAudio {
7479
7508
  format: string;
7480
7509
  durationMs?: number;
7481
7510
  sampleRate?: number;
7482
- /** 本地落盘路径(D-M12;仅 cli artifactSink 径出现) */
7511
+ /** 本地落盘路径( cli artifactSink 径出现) */
7483
7512
  path?: string;
7484
7513
  }
7485
7514
  /**
7486
- * TextToSpeech 产物(doc/123 §3.5 SpeechData)。端侧按形状识别:`audio.mime` 在场 → Speech 型
7487
- * 产物(doc/123 §3.7)。**错误形 `audio` 缺席**(恒不伪造音频对象),`billedChars` 为 0。
7515
+ * TextToSpeech 产物。端侧按形状识别:`audio.mime` 在场 → Speech 型
7516
+ * 产物。**错误形 `audio` 缺席**(恒不伪造音频对象),`billedChars` 为 0。
7488
7517
  */
7489
7518
  interface SpeechData {
7490
7519
  model: string;
@@ -7496,6 +7525,7 @@ interface SpeechData {
7496
7525
  /** 异步任务号(平台任务径在场时恒携;GET /t1/tts/tasks/{taskId} 可找回)。 */
7497
7526
  taskId?: string;
7498
7527
  }
7528
+ /** SpeechData 的 zod schema(passthrough 容未知键)。 */
7499
7529
  declare const SpeechDataSchema: z.ZodObject<{
7500
7530
  model: z.ZodString;
7501
7531
  audio: z.ZodOptional<z.ZodObject<{
@@ -7602,26 +7632,25 @@ type MediaArtifact = {
7602
7632
  data: SpeechData;
7603
7633
  };
7604
7634
  /**
7605
- * `tool.completed.data` / `ToolResult.data` → 媒体产物判别(doc/128 §3.1 规则;**规则与判序逐字对齐
7606
- * Android `toolCardArtifact` / iOS `toolCardArtifact` 现行实现**,A-12):
7635
+ * `tool.completed.data` / `ToolResult.data` → 媒体产物判别(**规则与判序逐字对齐
7636
+ * Android `toolCardArtifact` / iOS `toolCardArtifact` 现行实现**):
7607
7637
  *
7608
7638
  * - 非对象(含 null / 数组)→ null;
7609
- * - `errorCode` 为字符串 → 恒 null(错误回执不是产物,即使携空产物位);
7639
+ * - `errorCode` 为字符串 → 恒 null(错误响应不是产物,即使携空产物位);
7610
7640
  * - 判序 image → video → speech → transcript(端侧同序:URL 集形 → 音频 → 排他的裸文本形);
7611
7641
  * - image:`model` 为字符串,且 `images` 为数组并至少一条目携字符串 `url`(空数组 / 全坏条目 = 零产物 → 不判);
7612
7642
  * - video:`model` 为字符串,且 `videos` 同上;
7613
7643
  * - speech:`model` 为字符串,`audio` 为对象、`audio.mime` 为字符串,且 `audio.url` / `audio.b64` 至少一者为
7614
7644
  * 非空字符串(皆缺 / 皆空 = 零产物 → 不判);
7615
7645
  * - transcript:`text` 与 `model` 皆字符串,且无 `images` / `videos` / `results` / `audio` 键
7616
- * (`results` 排 WebSearchData;三端同四键——tansr-android `fc9fbe8` 补 `audio` 后与 iOS / 本实现一致,
7617
- * 十王修案 FX-C-21 / E2-13 销注);
7646
+ * (`results` 排 WebSearchData;三端同四键——tansr-android 补 `audio` 后与 iOS / 本实现一致);
7618
7647
  * - 其余 null。
7619
7648
  *
7620
- * 判序 image-first 以实现为准、三端一致(doc/89 契约段 / doc/128 §3.1 同文;FX-C-21 / Q-07)。
7649
+ * 判序 image-first 以实现为准、三端一致。
7621
7650
  * 只判形不校验(不经 zod 剥离未知键):返回的 data 是原对象的类型收窄视图,消费方按需再过
7622
7651
  * 对应 *DataSchema。端侧两卷(Android `ToolCardArtifactsTest` / iOS `ToolCardArtifactsTests`)**既有 17 例**
7623
- * 在本函数上同判(protocol `media.test.ts` ⑤ 镜像收录);空串 / errorCode 判型两类异形**已于十王修案 FX-C-24
7624
- * 以四金样三端同源镜像**(`test/fixtures/golden/tool-card-artifact-*.json`;三端共享谓词 [isRenderableArtifact])。
7652
+ * 在本函数上同判(protocol `media.test.ts` ⑤ 镜像收录);空串 / errorCode 判型两类异形**已以四金样
7653
+ * 三端同源镜像**(`test/fixtures/golden/tool-card-artifact-*.json`;三端共享谓词 [isRenderableArtifact])。
7625
7654
  */
7626
7655
  declare function parseMediaArtifact(data: unknown): MediaArtifact | null;
7627
7656
 
@@ -7676,14 +7705,14 @@ interface FsLike {
7676
7705
  /** 读文件前 bytes 字节(BOM 探测;返回实际读到的字节,可短于请求) */
7677
7706
  readFilePrefix(path: string, bytes: number): Promise<Buffer>;
7678
7707
  /**
7679
- * FX-B-20 / T-14(可选加法):读 [start, start+length) 区间字节(返回实际读到的
7708
+ * 可选加法:读 [start, start+length) 区间字节(返回实际读到的
7680
7709
  * 字节,EOF 时可短于请求;短于请求即 EOF)。Read 工具对超整读帽的分页读取据此
7681
7710
  * 按块流式扫描,不把整文件装入内存。实现方缺席 → Read 回落整读(旧行为)。
7682
7711
  */
7683
7712
  readFileRange?(path: string, start: number, length: number): Promise<Buffer>;
7684
7713
  /**
7685
- * 写全文。缺省世界(default-fs)为**同目录临时文件 + rename** 原子替换(FX-B-20 /
7686
- * T-13:半写不落到目标路径;rename 不可用时回落直写)——实现方语义要求只是
7714
+ * 写全文。缺省世界(default-fs)为**同目录临时文件 + rename** 原子替换
7715
+ * (半写不落到目标路径;rename 不可用时回落直写)——实现方语义要求只是
7687
7716
  * 「完成后目标路径内容 = data」,原子性是缺省世界的强化承诺。
7688
7717
  */
7689
7718
  writeFile(path: string, data: Buffer): Promise<void>;
@@ -7847,9 +7876,9 @@ interface ClassifierTargetFacts {
7847
7876
  }
7848
7877
 
7849
7878
  /**
7850
- * OPT-18 + T-K1/T-K2 — LLM 权限分类器注入缝(机制层;doc/07 §5.6/§5.10)。
7879
+ * LLM 权限分类器注入缝(机制层)。
7851
7880
  *
7852
- * 接缝风格照 T-C11 BundleSignatureVerifier:内核只定义接口与消费语义,
7881
+ * 接缝风格照 BundleSignatureVerifier:内核只定义接口与消费语义,
7853
7882
  * 实现体(LLM 调用、prompt、模型选择)由装配层注入——内核零模型依赖。
7854
7883
  * 姿态(block-list,「该不该拦」)与两阶段裁决(stage1 偏拦 → stage2 复审)
7855
7884
  * 属实现体职责(装配层 permission-classifier.ts);内核消费的三值词表不变:
@@ -7857,7 +7886,7 @@ interface ClassifierTargetFacts {
7857
7886
  *
7858
7887
  * 消费语义(engine.consultClassifier;contract-v0.8 起含 auto 模式):
7859
7888
  * - **仅当引擎裁决为 ask 时才咨询**;allow/deny 路径零开销直通,不咨询;
7860
- * - **auto-only 缺省**(T-K6):仅 auto 模式咨询;其余模式同步直通 ask
7889
+ * - **auto-only 缺省**:仅 auto 模式咨询;其余模式同步直通 ask
7861
7890
  * (询问面本就有人裁,不花模型钱)。`tightenOutsideAuto=true` 时其余
7862
7891
  * 模式也咨询,但**只收紧**(unsafe→deny),safe 恒维持 ask;
7863
7892
  * - 分类器 `unsafe` → 收紧(归因 'classifier',RFC-OPT18-3),在咨询发生的
@@ -7870,13 +7899,13 @@ interface ClassifierTargetFacts {
7870
7899
  * 且须过引擎的资格守卫——可解析/非 UNC/基线复查,见 engine 注释);
7871
7900
  * 其余模式 safe 恒维持 ask(**分类器绝不放行**的既有铁律);
7872
7901
  * - `unsure`/超时/抛错 → 维持 ask;
7873
- * - **熔断**(T-K1,doc/07 §5.6):分类器 reject(unsafe)连续 3 次 → 熔断
7902
+ * - **熔断**:分类器 reject(unsafe)连续 3 次 → 熔断
7874
7903
  * 30 分钟(冷却期满自动复位);会话累计 20 次 → 本会话停用。记账**按
7875
7904
  * 裁决人 reject 计**,与 rejectEffect 落地形无关(doc/113:熔断保护的是
7876
7905
  * 裁决人质量——'ask' 姿态下连续判危险同样跳闸)。熔断期间
7877
7906
  * consultClassifier 同步原样返回 ask(交回询问面,headless 按既有语义降
7878
7907
  * deny);跳闸经 onBreakerTrip 回调上报(装配层负责通知面,内核零 IO);
7879
- * 人工恢复口 engine.resetClassifierBreaker(T-K19a 批准即恢复:两档皆
7908
+ * 人工恢复口 engine.resetClassifierBreaker(批准即恢复:两档皆
7880
7909
  * 复位、计数归零;仅交互面在用户显式批准后可调,无人值守入口无通道);
7881
7910
  * - deny 规则与内置基线永不受分类器软化(deny 路径不进咨询口);
7882
7911
  * - 机制默认关闭(不注入即无分类器路径;auto 未注入时 = 快路径 + 残余 ask)。
@@ -7895,7 +7924,7 @@ interface ClassifierTargetFacts {
7895
7924
  */
7896
7925
  type ClassifierVerdict = 'safe' | 'unsafe' | 'unsure';
7897
7926
  /**
7898
- * 单阶段观测终态(T-K17 A1 遥测:命名记「观测到什么」,不猜原因——
7927
+ * 单阶段观测终态(遥测命名记「观测到什么」,不猜原因——
7899
7928
  * 「无事件」不得直称网络故障,「见 thinking」不证明 thinking 是唯一瓶颈):
7900
7929
  * - completed:流正常收到 message_stop(产出是否可解析另由 reason 表达);
7901
7930
  * - deadline_before_any_event:中止时未收到任何载荷事件(排队/连接/首推理均可能);
@@ -7904,19 +7933,19 @@ type ClassifierVerdict = 'safe' | 'unsafe' | 'unsure';
7904
7933
  * - stream_ended_without_stop:流自然耗尽但无 message_stop(截断);
7905
7934
  * - stream_error(<kind>):流内结构化 error 事件(kind 为 IR 归一化错误类)
7906
7935
  * 或本地异常(kind=exception);
7907
- * - completed_reason_truncated(协议 v4 判词先结,doc/optimize/36 A-2):截止
7936
+ * - completed_reason_truncated(协议 v4 判词先结):截止
7908
7937
  * 到来时判词 `<block>…</block>` 已可解析、理由未收口——判词有效交付,
7909
7938
  * **不是可用性损耗**(不以 `deadline_` 开头,G5 谓词不计),单列以便统计
7910
7939
  * 「理由被截」占比。
7911
7940
  */
7912
7941
  type ClassifierStageOutcome = 'completed' | 'completed_reason_truncated' | 'deadline_before_any_event' | 'deadline_after_thinking_before_text' | 'deadline_after_text_before_stop' | 'stream_ended_without_stop' | `stream_error(${string})`;
7913
7942
  /**
7914
- * 单阶段遥测(T-K17 A1):**只记计时/枚举/用量计数,不落 thinking 正文或
7943
+ * 单阶段遥测:**只记计时/枚举/用量计数,不落 thinking 正文或
7915
7944
  * prompt 内容**(脱敏纪律 INV-10 同向)。评估 harness 与装配层日志消费;
7916
7945
  * 引擎不读取。
7917
7946
  */
7918
7947
  interface ClassifierStageTelemetry {
7919
- /** 两阶段协议的 stage1/stage2;'single' = 单阶段对照协议(T-K17 续轮 B3,eval-only) */
7948
+ /** 两阶段协议的 stage1/stage2;'single' = 单阶段对照协议(eval-only) */
7920
7949
  stage: 'stage1' | 'stage2' | 'single';
7921
7950
  outcome: ClassifierStageOutcome;
7922
7951
  /** 阶段耗时(ms,本地时钟) */
@@ -7977,13 +8006,13 @@ interface ClassifierResult {
7977
8006
  */
7978
8007
  escalatedByModel?: true;
7979
8008
  /**
7980
- * 逐阶段观测遥测(T-K17 A1,可选):装配层实现按实际执行的阶段附带;
8009
+ * 逐阶段观测遥测(可选):装配层实现按实际执行的阶段附带;
7981
8010
  * 引擎裁决不消费本字段(纯观测面),评估 harness 落盘作续轮证据。
7982
8011
  */
7983
8012
  telemetry?: readonly ClassifierStageTelemetry[];
7984
8013
  }
7985
8014
  /**
7986
- * transcript 切片(T-K2):**仅用户 prompt 文本**——助手文本与工具结果刻意
8015
+ * transcript 切片:**仅用户 prompt 文本**——助手文本与工具结果刻意
7987
8016
  * 排除在外(注入防御:被污染的工具产出不得成为分类器的指令面);截断与
7988
8017
  * 条数上限由装配层记录器负责。
7989
8018
  */
@@ -7991,16 +8020,16 @@ interface ClassifierTranscript {
7991
8020
  userPrompts: readonly string[];
7992
8021
  }
7993
8022
  /**
7994
- * 权限策略语境(协议 v2,doc/optimize/18):引擎在咨询时把「模型据以裁决
7995
- * 的治理事实」随载荷注入——V1–V5b 五轮漏放归因实证:考官(引擎)拿规则
8023
+ * 权限策略语境(协议 v2):引擎在咨询时把「模型据以裁决
8024
+ * 的治理事实」随载荷注入——多轮漏放归因实证:考官(引擎)拿规则
7996
8025
  * 算期望、考生(分类器)没拿到规则,deny 混淆变体/越界读/隐私面被模型按
7997
- * 「通用危险性」世界观放行(CC 把 policy spec 喂进裁决 prompt,15 号对照
7998
- * 采纳)。字段全部来自引擎已有状态,零新 IO:
8026
+ * 「通用危险性」世界观放行(对照 CC 把 policy spec 喂进裁决 prompt
8027
+ * 做法采纳)。字段全部来自引擎已有状态,零新 IO:
7999
8028
  * - 规则列表 = **与本工具相关**(ruleMatchesTool)的生效规则原文,按层序;
8000
8029
  * allow 取 auto 求值视图(宽 allow 丢弃后)——语境必须与判定语义一致;
8001
8030
  * - 会话层授权缓存刻意不注入(其命中早于咨询口,到分类器的调用必然未中);
8002
8031
  * - 每类条数截断(rulesTruncated 如实标注,渲染侧提示列表不全;不禁 safe
8003
- * ——规则超界是配置形态而非载荷截断,T-K6 截断禁 safe 语义不扩权)。
8032
+ * ——规则超界是配置形态而非载荷截断,「截断禁 safe」语义不扩权)。
8004
8033
  */
8005
8034
  interface ClassifierPolicyContext {
8006
8035
  /** 咨询发生时的权限模式(引擎定格值;auto 之外 = tightenOutsideAuto 面) */
@@ -8045,7 +8074,7 @@ interface ClassifierInput {
8045
8074
  args: unknown;
8046
8075
  /** Shell 工具的命令结构树(逐段实体 + 注入痕迹);其余工具缺席 */
8047
8076
  commandStructure?: CommandStructure;
8048
- /** 当前轮用户请求切片(T-K2;注入了 transcript 提供器且非空时附带) */
8077
+ /** 当前轮用户请求切片(注入了 transcript 提供器且非空时附带) */
8049
8078
  transcript?: ClassifierTranscript;
8050
8079
  /** 权限策略语境(协议 v2;引擎注入,harness 从语料同形构造) */
8051
8080
  policyContext?: ClassifierPolicyContext;
@@ -8072,28 +8101,28 @@ interface PermissionClassifierConfig {
8072
8101
  /** 咨询超时(毫秒),缺省 DEFAULT_CLASSIFIER_TIMEOUT_MS;超时维持 ask */
8073
8102
  timeoutMs?: number;
8074
8103
  /**
8075
- * 三级资格档动态解析闭包(T-K23c,16 §4.5):返回当前生效档
8104
+ * 三级资格档动态解析闭包:返回当前生效档
8076
8105
  * (= min(授格档, 天花板, 会话覆盖),合成在装配层)。引擎**每次咨询
8077
8106
  * 现算**(含窄缓存命中路径)——validUntil 会话中越期、天花板/覆盖变更
8078
- * 均即刻生效,无缓存陈旧窗口(09 §10.2 登记缺口的收口)。软化谓词 =
8107
+ * 均即刻生效,无缓存陈旧窗口。软化谓词 =
8079
8108
  * `mode==='auto' ∧ SOFTEN_RADIUS[resolveTier()][face] ∧ ¬explicitConfigAsk`
8080
8109
  * + 既有 taint 豁免与 classifierAllowEligible 守卫。闭包抛错/返回词表外
8081
- * 值按 'none' 处理(T-INV-B fail-closed);unsafe→deny 与 unsure→ask
8110
+ * 值按 'none' 处理(fail-closed);unsafe→deny 与 unsure→ask
8082
8111
  * 不经本位,收紧方向不设资格门槛。
8083
8112
  */
8084
8113
  resolveQualificationTier?: () => EffectiveQualificationTier;
8085
8114
  /**
8086
- * transcript 提供器(T-K2):每次咨询时取当前轮用户 prompt 切片附进
8115
+ * transcript 提供器:每次咨询时取当前轮用户 prompt 切片附进
8087
8116
  * ClassifierInput;缺省或返回 undefined/空集不附。装配层典型实现为
8088
8117
  * createClassifierTranscriptRecorder(入口在轮起跑时回填)。
8089
8118
  */
8090
8119
  transcript?: () => ClassifierTranscript | undefined;
8091
- /** 熔断跳闸回调(T-K1):装配层接通知面;内核零 IO,不注入即静默 */
8120
+ /** 熔断跳闸回调:装配层接通知面;内核零 IO,不注入即静默 */
8092
8121
  onBreakerTrip?: (trip: ClassifierBreakerTrip) => void;
8093
8122
  /** 时钟注入(熔断冷却窗口计时;缺省 Date.now。测试用) */
8094
8123
  now?: () => number;
8095
8124
  /**
8096
- * 非 auto 模式收紧开关(T-K6):缺省 false = auto-only(其余模式不咨询,
8125
+ * 非 auto 模式收紧开关:缺省 false = auto-only(其余模式不咨询,
8097
8126
  * 询问面有人裁不花模型钱)。true 时其余模式的 ask 也咨询,但只允许
8098
8127
  * unsafe 收紧(落地形按 rejectEffect:'deny' 收紧为 deny;'ask' 落为携
8099
8128
  * 裁决理由的 ask——本就是 ask,等价于维持,只多了 source='classifier'
@@ -8116,7 +8145,7 @@ interface PermissionClassifierConfig {
8116
8145
  */
8117
8146
  rejectEffect?: 'deny' | 'ask';
8118
8147
  /**
8119
- * 每会话咨询调用预算(T-K6 成本控制):计**实际发起的模型咨询**
8148
+ * 每会话咨询调用预算(成本控制):计**实际发起的模型咨询**
8120
8149
  * (缓存命中与各类直通不计)。耗尽后咨询口同步直通 ask(超限改询问,
8121
8150
  * 方向安全);缺省 DEFAULT_CLASSIFIER_CALL_BUDGET,非有限值 = 不限。
8122
8151
  */
@@ -8124,9 +8153,9 @@ interface PermissionClassifierConfig {
8124
8153
  /** 预算耗尽单次回调(装配层接通知面;内核零 IO) */
8125
8154
  onBudgetExhausted?: () => void;
8126
8155
  /**
8127
- * 缓存版本标签(T-K6 窄缓存,05 §10.3「策略与模型/提示词版本」键分量):
8156
+ * 缓存版本标签(窄缓存「策略与模型/提示词版本」键分量):
8128
8157
  * 装配层以协议指纹+stage 模型对构造;缺省空串。变更即全部缓存键失配。
8129
- * 批 ξ(2026-08-28):扩函数形——/model 切换后 stage 模型对活值贯通时,
8158
+ * 另接受函数形——/model 切换后 stage 模型对活值贯通时,
8130
8159
  * 标签必须随现值换代(否则旧模型时代的 safe 裁定会以同键命中回放到新
8131
8160
  * 模型时代)。引擎每次构键现算;静态装配仍传字符串(零漂移)。
8132
8161
  */
@@ -8176,7 +8205,7 @@ interface AdjudicationOpinion {
8176
8205
  * 契约:三个方法都返回非负整数;estimateMessage ≥ Σ estimateBlock(消息定额
8177
8206
  * 不为负)——账本按块分路时用两者之差归入 overhead 路。
8178
8207
  * profileId(可选):估算配置指纹(系数集哈希)——测量结果与埋点携带,
8179
- * 系数漂移可观测(T-CTX06);自定义实现可缺省。
8208
+ * 系数漂移可观测;自定义实现可缺省。
8180
8209
  */
8181
8210
  interface TokenEstimator {
8182
8211
  /** 估算配置指纹(可选;createDefaultEstimator 恒携带) */
@@ -8197,22 +8226,25 @@ interface RequestBasis {
8197
8226
  readonly toolTokens: number;
8198
8227
  }
8199
8228
 
8229
+ /** 等待资源收尾的选项:超时上限与只取消本次等待的信号。 */
8200
8230
  interface ResourceSettleOptions {
8201
8231
  /** 缺省30秒;0只观察,Infinity须显式给。超时不取消底层清理。 */
8202
8232
  timeoutMs?: number;
8203
8233
  /** 只取消此次等待,不abort查询、不影响其他等待者。 */
8204
8234
  signal?: AbortSignal;
8205
8235
  }
8236
+ /** 单条资源收尾失败:来源令牌、作用域、操作号、阶段与原抛值。 */
8206
8237
  interface ResourceSettlementFailure {
8207
8238
  /** 进程内稳定来源令牌;空对象只用于身份比较,不写协议/日志。 */
8208
8239
  sourceId?: object;
8209
- /** 合并查询/压缩回执时标明局部operationId的来源;单scope回执可缺省。 */
8240
+ /** 合并查询/压缩结算结果时标明局部operationId的来源;单scope结算可缺省。 */
8210
8241
  scope?: 'query' | 'compaction';
8211
8242
  operationId: number;
8212
8243
  phase: 'model_stream' | 'tool_executor';
8213
8244
  /** 原抛值(包括undefined);调用方不得未经处理序列化到日志。 */
8214
8245
  cause: unknown;
8215
8246
  }
8247
+ /** 资源收尾结算结果:终态、仍在途的计数、失败窗口与累计失败数。 */
8216
8248
  interface ResourceSettlementResult {
8217
8249
  status: 'completed' | 'failed' | 'timeout' | 'cancelled';
8218
8250
  pending: {
@@ -8224,7 +8256,7 @@ interface ResourceSettlementResult {
8224
8256
  failures: readonly ResourceSettlementFailure[];
8225
8257
  failureCount: number;
8226
8258
  omittedFailures: number;
8227
- /** 每个真实scope的累计失败;旧第三方回执可缺席,由消费者提供稳定owner。 */
8259
+ /** 每个真实scope的累计失败;旧第三方结算结果可缺席,由消费者提供稳定owner。 */
8228
8260
  sources?: readonly ResourceSettlementSource[];
8229
8261
  }
8230
8262
  interface ResourceSettlementSource {
@@ -8306,13 +8338,13 @@ interface AttachmentRegistryOptions {
8306
8338
  /** session 注入字节预算;默认 256 KiB */
8307
8339
  sessionBudgetBytes?: number;
8308
8340
  /**
8309
- * T-CTX19 — 注入内容的 tokens 估算缝(观测口径,不参与三态裁决)。
8341
+ * 注入内容的 tokens 估算缝(观测口径,不参与三态裁决)。
8310
8342
  * manager 构造注册表时以自身估算器填充;缺席时快照不产 tokens 字段
8311
8343
  * (不虚构数字)。
8312
8344
  */
8313
8345
  estimateTokens?: (content: string) => number;
8314
8346
  }
8315
- /** T-CTX19 — 快照中的在场附件条目(TTL 内;/context 逐条行数据源) */
8347
+ /** 快照中的在场附件条目(TTL 内;/context 逐条行数据源) */
8316
8348
  interface AttachmentActiveEntry {
8317
8349
  type: string;
8318
8350
  sourceIdentity: string;
@@ -8325,7 +8357,7 @@ interface AttachmentActiveEntry {
8325
8357
  estimatedTokens?: number;
8326
8358
  }
8327
8359
  /**
8328
- * T-CTX19 — 注册表只读快照(/context 附件行真实化的数据源)。
8360
+ * 注册表只读快照(/context 附件行真实化的数据源)。
8329
8361
  * 语义注记:entries 只含 TTL 内在场者;injectedBytes 是 session 累计
8330
8362
  * (含已过 TTL/已被压缩失效的历史注入,预算口径);estimatedTokens 为
8331
8363
  * 在场条目合计,压缩成功清签名后归零(引用目标已被摘要替换,如实)。
@@ -8367,7 +8399,7 @@ interface BucketCalibrationState {
8367
8399
  * tokenizer 词元密度的观测,换模型即失效)。
8368
8400
  */
8369
8401
  interface CalibrationSnapshot {
8370
- /** 门关(标量)路径的 EWMA 因子(T-CTX06 现状态) */
8402
+ /** 门关(标量)路径的 EWMA 因子(单标量校准现状态) */
8371
8403
  factor: number;
8372
8404
  /** 门开(分桶)路径的桶态(仅有观测的桶入快照) */
8373
8405
  buckets: BucketCalibrationState[];
@@ -8391,19 +8423,19 @@ interface CompactionCalibrationDetail {
8391
8423
  }
8392
8424
 
8393
8425
  /**
8394
- * T-C5 — token 六路账本(doc/07 §3.6①)
8426
+ * token 六路账本
8395
8427
  *
8396
- * 分路规格(doc/07 §3.6①):uncached / cacheRead / cacheWrite(cacheCreation)/
8428
+ * 分路规格:uncached / cacheRead / cacheWrite(cacheCreation)/
8397
8429
  * cacheDeleted / output / 本地估算尾部,六路分列不得合并。
8398
8430
  *
8399
- * 「当前上下文占用」口径(doc/07 §3.1):取最近 assistant round 的
8431
+ * 「当前上下文占用」口径:取最近 assistant round 的
8400
8432
  * `input + cache_creation + cache_read`(provider 权威计量,**不含 output**)
8401
8433
  * + 上次实发输入结束后消息的本地估算尾部(含上一 assistant)。无有效锚点
8402
8434
  * (会话开头/锚点失效/刚压缩完)
8403
8435
  * 时退化为全量本地估算,整体记入 estimatedTail 路。
8404
8436
  *
8405
- * cacheDeleted 路说明:contract-v0.4(T-C8 RFC)起 IRUsage 原生携带可选
8406
- * cacheDeletedInputTokens(cached microcompact,doc/07 §3.2),缺席恒 0。
8437
+ * cacheDeleted 路说明:contract-v0.4 起 IRUsage 原生携带可选
8438
+ * cacheDeletedInputTokens(cached microcompact),缺席恒 0。
8407
8439
  * 语义验证(哪些 provider 真报该字段)未完成前,contextTokens 不做
8408
8440
  * cacheDeleted 扣减(避免对未验证语义提前建模)。
8409
8441
  *
@@ -8474,13 +8506,13 @@ interface ContextView {
8474
8506
  interface TailDetail {
8475
8507
  /** tool_result 块(工具结果路) */
8476
8508
  toolResults: number;
8477
- /** `<system-reminder>` 包裹的注入文本(系统注入路;T-C4 makeReminder 形态) */
8509
+ /** `<system-reminder>` 包裹的注入文本(系统注入路;makeReminder 形态) */
8478
8510
  systemInjected: number;
8479
8511
  /** 其余块(用户输入文本/图片/锚点后 assistant 输出等) */
8480
8512
  other: number;
8481
8513
  /** system 段估算(仅无锚点全量估算时非零;有锚点时 system 已含在权威 input 内) */
8482
8514
  systemSegments: number;
8483
- /** CM14:固定工具定义估算(有相容authority时为0)。 */
8515
+ /** 固定工具定义估算(有相容authority时为0)。 */
8484
8516
  toolDefinitions?: number;
8485
8517
  /** 消息定额合计(estimateMessage 与 Σ estimateBlock 之差,按契约非负) */
8486
8518
  overhead: number;
@@ -8500,11 +8532,11 @@ interface ContextMeasurement {
8500
8532
  /** 会话累计六路(压缩不清零——成本视角是会话生命周期累计) */
8501
8533
  cumulative: CumulativeUsage;
8502
8534
  /**
8503
- * T-CTX06:产出本测量的估算器配置指纹(TokenEstimator.profileId 透传;
8504
- * 估算器未携带指纹时缺席)。埋点(T-CTX14a)与阈值漂移归因消费。
8535
+ * 产出本测量的估算器配置指纹(TokenEstimator.profileId 透传;
8536
+ * 估算器未携带指纹时缺席)。压缩埋点与阈值漂移归因消费。
8505
8537
  */
8506
8538
  estimatorProfileId?: string;
8507
- /** CM14:仅消息尾部的基础估算,不含system/tools或校准因子。 */
8539
+ /** 仅消息尾部的基础估算,不含system/tools或校准因子。 */
8508
8540
  rawMessageTailTokens?: number;
8509
8541
  /** CM14:固定面;供同屏障复用,不是已发送证据。 */
8510
8542
  basis?: RequestBasis;
@@ -8638,10 +8670,10 @@ interface RequestMeasuredEvent {
8638
8670
  durationMs: number;
8639
8671
  /** provider 上报的首 token 延迟(message_stop.ttftMs 透传;在场才落) */
8640
8672
  ttftMs?: number;
8641
- /** terminal usage 五路原样(provider 上报才在场;T-CTX05 后恒 exclusive 语义) */
8673
+ /** terminal usage 五路原样(provider 上报才在场;恒 exclusive 语义) */
8642
8674
  usage?: IRUsage;
8643
8675
  /**
8644
- * T-C5 — 输出侧本地估算(tokens;estimator 与输入侧特征同源):调用方在
8676
+ * 输出侧本地估算(tokens;estimator 与输入侧特征同源):调用方在
8645
8677
  * terminal 随 responseBlocks 提供响应材料时计算。上游缺报 usage 的请求
8646
8678
  * (D4 客户端计量)以「features.estimatedTokens(输入)+ 本值(输出)」
8647
8679
  * 构成估算对;terminal 无响应材料(error/aborted)时缺席。零原文不变量
@@ -8651,7 +8683,7 @@ interface RequestMeasuredEvent {
8651
8683
  /** purpose='compaction' 时关联压缩生命周期事件(started/finished 同 id) */
8652
8684
  compactionId?: string;
8653
8685
  /**
8654
- * T-CTX18 — 子代理归因标识(与 CompactionStartedEvent.agentId 同语义):
8686
+ * 子代理归因标识(与 CompactionStartedEvent.agentId 同语义):
8655
8687
  * kernel 签发方恒不落本键;子代理运行器包装 compaction.observer 时对
8656
8688
  * onRequestMeasured 一并注入(子代理压缩 fork 的配对行可与父会话区分)。
8657
8689
  */
@@ -8708,34 +8740,35 @@ interface CompactionSegmentSpillDetail {
8708
8740
  chars: number;
8709
8741
  deduplicated: boolean;
8710
8742
  }
8743
+ /** 压缩失败的结构化原因词表(session.compaction_failed 事件与诊断消费)。 */
8711
8744
  type CompactionFailureReason = 'nothing_to_compact' | 'model_error' | 'aborted' | 'empty_summary' | 'unexpected_tool_use'
8712
8745
  /**
8713
- * T-CTX01(CTX-P01):模型以 stopReason='max_tokens' 收尾 = 摘要被输出
8746
+ * 模型以 stopReason='max_tokens' 收尾 = 摘要被输出
8714
8747
  * 预算截断。九段模板的尾部锚点段(用户原话/未竟事项/当前工作/下一步)
8715
8748
  * 恰在末尾最先被切,截断摘要不得用于替换历史(静默截断即记忆损坏)。
8716
8749
  */
8717
8750
  | 'summary_truncated'
8718
8751
  /**
8719
- * T-CTX02(CTX-P02):压缩调用独立超时(缺省 90s)触发。与 model_error
8752
+ * 压缩调用独立超时(缺省 90s)触发。与 model_error
8720
8753
  * 分立——超时是资源隔离守门的主动放弃,归因可分辨(表面层文案/熔断
8721
8754
  * 遥测按此区分网络故障与压缩超时)。
8722
8755
  */
8723
8756
  | 'timeout'
8724
8757
  /**
8725
- * T-CTX09(CTX-P12):摘要结构校验不达标(九段标题命中 < 阈值,或长度
8758
+ * 摘要结构校验不达标(九段标题命中 < 阈值,或长度
8726
8759
  * 低于下限)。结构崩坏的摘要(模型退化输出/答非所问)替换历史 = 记忆
8727
- * 损坏,拒绝进入替换链路。阈值出处 doc/optimize/21 §4 W2-3(弱校验
8728
- * ≥6/9 段 + 500 字符起步,误杀率随 C4 遥测再收紧)。
8760
+ * 损坏,拒绝进入替换链路。阈值取弱校验起步值
8761
+ * (≥6/9 段 + 500 字符,误杀率随遥测再收紧)。
8729
8762
  */
8730
8763
  | 'summary_malformed'
8731
8764
  /**
8732
- * T-CTX09(CTX-P12):estimator(摘要消息) ≥ estimator(被移除区)——压缩
8765
+ * estimator(摘要消息) ≥ estimator(被移除区)——压缩
8733
8766
  * 不减反增,替换只会劣化(占用不降 + 细节全丢),宁可不压(Gemini
8734
- * 门禁先例,doc/optimize/21 §4 W2-3)。
8767
+ * 门禁先例)。
8735
8768
  */
8736
8769
  | 'summary_bloated'
8737
8770
  /**
8738
- * K-5(doc/116 §4.2 / doc/117 K-5):CompactRequest.beforeCompact 钩子
8771
+ * CompactRequest.beforeCompact 钩子
8739
8772
  * (装配层注入的压缩前快照落盘等)抛错——压缩尚未发出请求即放弃,历史
8740
8773
  * 不变(快照写失败时不得让「无可恢复拷贝」的压缩继续)。manager 只调用
8741
8774
  * 不知快照语义;归因可分辨(表面层文案/遥测与模型故障分立)。
@@ -8820,9 +8853,9 @@ interface CompactionRoundFailure {
8820
8853
  rescue?: CompactionInputRescue;
8821
8854
  }
8822
8855
  /**
8823
- * T-CTX09 — 摘要质量校验配置(压缩成功前的替换门禁)。
8824
- * 缺省阈值出处:doc/optimize/21 §4 W2-3——九段标题命中 ≥6(弱校验起步,
8825
- * 容忍模型措辞漂移,误杀率进 C4 遥测后再收紧)+ 长度下限 500 字符(防
8856
+ * 摘要质量校验配置(压缩成功前的替换门禁)。
8857
+ * 缺省阈值:九段标题命中 ≥6(弱校验起步,
8858
+ * 容忍模型措辞漂移,误杀率进遥测后再收紧)+ 长度下限 500 字符(防
8826
8859
  * 退化输出);膨胀拒绝(rejectBloat)与模板结构无关,缺省恒开。
8827
8860
  */
8828
8861
  interface SummaryValidationOptions {
@@ -8934,7 +8967,7 @@ interface ToolResultBudgetOptions {
8934
8967
  * 存根——「换 content,不动结构」:消息数与块序完全不变,tool_use/tool_result
8935
8968
  * 配对不变量天然保持。淘汰自旧向新,直到估算水位降回停止线或候选耗尽;
8936
8969
  * 最近 keepRecent 条结果与小结果(< minChars)不参与(近场上下文是模型的
8937
- * 工作记忆,淘汰它们得不偿失);pinned 消息豁免(T-ADV1,见
8970
+ * 工作记忆,淘汰它们得不偿失);pinned 消息豁免(
8938
8971
  * MicrocompactPlanOptions.isPinned 注释)。
8939
8972
  *
8940
8973
  * 与整体 compact 的分工(doc/07 §3.2 流水线序):result budget(入史 clamp)
@@ -9006,7 +9039,7 @@ interface ToolResultPruneOptions {
9006
9039
  tailChars?: number;
9007
9040
  /** 可再生工具白名单;默认 DEFAULT_PRUNABLE_TOOL_NAMES */
9008
9041
  prunableToolNames?: ReadonlySet<string>;
9009
- /** pinned 消息豁免(T-ADV1 同款:pin 承诺完整保留,剪枝掏空即违约) */
9042
+ /** pinned 消息豁免( microcompact 同款:pin 承诺完整保留,剪枝掏空即违约) */
9010
9043
  isPinned?: (message: IRMessage) => boolean;
9011
9044
  /**
9012
9045
  * CW13-N4 — 剪枝原文落盘(spill store 的 prune 命名空间)。在场时每条
@@ -9115,13 +9148,13 @@ interface ThresholdConfig {
9115
9148
  blockingMargin?: number;
9116
9149
  /**
9117
9150
  * microcompact 触发余量(OPT-05);默认 40_000。
9118
- * 不变量(T-CTX22 ①,审计 T-12):必须 > autoCompactMargin——否则
9151
+ * 不变量:必须 > autoCompactMargin——否则
9119
9152
  * 「原位淘汰先于整体 compact」的分层失效,resolveThresholds 违约 throw
9120
9153
  * (此前静默失效:两档在同一屏障点相继触发,低成本先行档形同虚设)。
9121
9154
  */
9122
9155
  microcompactMargin?: number;
9123
9156
  /**
9124
- * 自动压缩比例触发线(T-CTX22 ②,相对 effectiveWindow 的占比,取值域
9157
+ * 自动压缩比例触发线(相对 effectiveWindow 的占比,取值域
9125
9158
  * (0, 1]);默认 DEFAULT_AUTO_COMPACT_RATIO(0.93,出处见该常量)。
9126
9159
  * autoCompactAt = min(绝对余量线, ⌊effectiveWindow × ratio⌋) 取更早者;
9127
9160
  * 传 1 即比例线恒不早于 effectiveWindow,等效关闭比例触发。
@@ -9250,10 +9283,10 @@ interface CompactionAnchorsDetail {
9250
9283
  digestTokens: number;
9251
9284
  }
9252
9285
  /**
9253
- * T-CTX14b — 单次压缩尝试的观测材料(manager.compact 恒产出,随 CompactOutcome
9254
- * 返回)。成功结局的 started/finished 事件由统一应用器据此签发(观测缝迁挂,
9255
- * 见 CompactionObserver 注释);compactionId 与摘要哨兵 uuid 同源(T-CTX22 ④
9256
- * 审计链互指,迁挂不断链)。
9286
+ * 单次压缩尝试的观测材料(manager.compact 恒产出,随 CompactOutcome
9287
+ * 返回)。成功结局的 started/finished 事件由统一应用器据此签发(签发权分布
9288
+ * 见 CompactionObserver 注释);compactionId 与摘要哨兵 uuid 同源,审计链
9289
+ * 可互相定位。
9257
9290
  */
9258
9291
  interface CompactionObservation {
9259
9292
  /** 单次压缩执行的关联 id(started/finished 配对;= 摘要哨兵 uuid) */
@@ -9263,22 +9296,21 @@ interface CompactionObservation {
9263
9296
  /** 墙钟时长(ms;compact 入口到结局返回,观测口径不参与决策) */
9264
9297
  durationMs: number;
9265
9298
  /**
9266
- * 重试链(⑤ P0-1 retryOf/C5):上一次**失败**压缩(非 no-op)的
9267
- * compactionId。任意压缩成功后链清空;nothing_to_compact 计划性 no-op
9268
- * 不推进也不打断(与熔断链同语义,T-CTX03)。manager 生命周期内有效
9269
- * (跨 runQuery 存续依赖会话级 manager 注入,⑤ §1.3C 已知限界)。
9299
+ * 重试链:上一次**失败**压缩(非 no-op)的 compactionId。任意压缩成功后
9300
+ * 链清空;nothing_to_compact 计划性 no-op 不推进也不打断(与熔断链同语义)。
9301
+ * manager 生命周期内有效(跨 runQuery 存续依赖会话级 manager 注入)。
9270
9302
  */
9271
9303
  retryOf?: string;
9272
- /** 会话级屏障单调序号(noteBarrier 计数;C5「3 个屏障内」重试窗口判定) */
9304
+ /** 会话级屏障单调序号(noteBarrier 计数;「3 个屏障内」重试窗口判定) */
9273
9305
  barrierSeq: number;
9274
- /** 压缩 fork 模型标识(OPT-10 降档后如实归因) */
9306
+ /** 压缩 fork 模型标识(降档后如实归因) */
9275
9307
  provider: string;
9276
9308
  model: string;
9277
9309
  /** 阈值快照(见 CompactionThresholdsDetail) */
9278
9310
  thresholds: CompactionThresholdsDetail;
9279
9311
  /** 计划明细(nothing_to_compact 时缺席) */
9280
9312
  plan?: CompactionPlanDetail;
9281
- /** P-CTX4 K15:锚点层明细(方案门启用且计划落定时在场;基线恒缺席) */
9313
+ /** 锚点层明细(anchorLayer 门启用且计划落定时在场;缺省缺席) */
9282
9314
  anchors?: CompactionAnchorsDetail;
9283
9315
  /**
9284
9316
  * P-CTX4 K16:压缩时刻的分桶校准态(方案门 bucketedCalibration 启用时
@@ -9376,29 +9408,28 @@ interface CompactionDeferredEvent {
9376
9408
  samples?: number;
9377
9409
  /** K21:签发时刻的缓存命中率 EWMA(reason='cache_hot' 恒在场) */
9378
9410
  cacheHitRatio?: number;
9379
- /** T-CTX18 — 子代理归因标识(语义见 CompactionStartedEvent.agentId) */
9411
+ /** 子代理归因标识(语义见 CompactionStartedEvent.agentId) */
9380
9412
  agentId?: string;
9381
9413
  }
9382
9414
  /**
9383
- * G-A7(P-CTX2 K9)— 折叠机制标记:'breaker_fallback' = blocking×熔断保底
9415
+ * 折叠机制标记:'breaker_fallback' = blocking×熔断保底
9384
9416
  * 硬截断(无模型、无网络;GovernanceTransform.mechanism 经应用器透传)。
9385
9417
  * 缺席 = 常规模型压缩。观测口径,不参与决策。
9386
9418
  */
9387
9419
  type CompactionFoldMechanism = 'breaker_fallback';
9388
- /** T-CTX14b started 事件载荷(14a 三字段之上按 P0-1 扩;非 manager 机制的最小面只有前两项) */
9420
+ /** 压缩 started 事件载荷( manager 机制的最小面只有 compactionId / trigger 两项) */
9389
9421
  interface CompactionStartedEvent {
9390
9422
  compactionId: string;
9391
9423
  trigger: CompactionTrigger;
9392
- /** G-A7:折叠机制标记(缺席 = 常规模型压缩) */
9424
+ /** 折叠机制标记(缺席 = 常规模型压缩) */
9393
9425
  mechanism?: CompactionFoldMechanism;
9394
9426
  /** 压缩前估算占用(tokens;manager 机制在场) */
9395
9427
  beforeTokens?: number;
9396
- /** 压缩前六路分解(doc/07 §3.6①) */
9428
+ /** 压缩前六路分解 */
9397
9429
  beforeBreakdown?: LedgerBreakdown;
9398
9430
  /**
9399
- * 测量口径注记(⑤ §1.3B 口径地雷):true = 锚点权威 usage + 尾部估算,
9400
- * false = 全量本地估算。同口径压缩比只能取 anchored=false 样本;
9401
- * 正式 localBefore/localAfter(同 estimator 含 tools)随 T-CTX15/16b。
9431
+ * 测量口径注记:true = 锚点权威 usage + 尾部估算,false = 全量本地估算。
9432
+ * 同口径压缩比只能取 anchored=false 样本。
9402
9433
  */
9403
9434
  beforeAnchored?: boolean;
9404
9435
  estimatorProfileId?: string;
@@ -9406,44 +9437,44 @@ interface CompactionStartedEvent {
9406
9437
  startedAtMs?: number;
9407
9438
  thresholds?: CompactionThresholdsDetail;
9408
9439
  plan?: CompactionPlanDetail;
9409
- /** P-CTX4 K15:锚点层明细(方案门启用时在场;语义见 CompactionAnchorsDetail) */
9440
+ /** 锚点层明细(anchorLayer 门启用时在场;语义见 CompactionAnchorsDetail) */
9410
9441
  anchors?: CompactionAnchorsDetail;
9411
- /** P-CTX4 K16:分桶校准明细(方案门启用时在场;语义见 CompactionCalibrationDetail) */
9442
+ /** 分桶校准明细(bucketedCalibration 门启用时在场;语义见 CompactionCalibrationDetail) */
9412
9443
  calibration?: CompactionCalibrationDetail;
9413
9444
  provider?: string;
9414
9445
  model?: string;
9415
9446
  retryOf?: string;
9416
9447
  barrierSeq?: number;
9417
9448
  /**
9418
- * T-CTX18 — 子代理归因标识(agent:<agentId> 的 id 半边)。kernel 签发方
9449
+ * 子代理归因标识(agent:<agentId> 的 id 半边)。kernel 签发方
9419
9450
  * 恒不落本键;子代理运行器以包装 observer 注入(与父会话事件区分),
9420
9451
  * 缺席 = 父会话事件。四事件载荷同语义(下同)。
9421
9452
  */
9422
9453
  agentId?: string;
9423
9454
  }
9424
- /** T-CTX14b finished 事件载荷(outcome 缺席 = 非 manager 折叠机制的最小面) */
9455
+ /** 压缩 finished 事件载荷(outcome 缺席 = 非 manager 折叠机制的最小面) */
9425
9456
  interface CompactionFinishedEvent {
9426
9457
  compactionId: string;
9427
9458
  trigger: CompactionTrigger;
9428
- /** G-A7:折叠机制标记(缺席 = 常规模型压缩) */
9459
+ /** 折叠机制标记(缺席 = 常规模型压缩) */
9429
9460
  mechanism?: CompactionFoldMechanism;
9430
- /** 结局明细(manager 机制在场;T-CTX14b 起含 observation/atRisk 扩字段) */
9461
+ /** 结局明细(manager 机制在场;含 observation / atRisk 扩字段) */
9431
9462
  outcome?: CompactOutcome;
9432
9463
  /** 压缩 round 墙钟时长(ms;观测口径,不参与任何决策) */
9433
9464
  durationMs?: number;
9434
9465
  /** 非 manager 折叠机制(应用器最小观测面)的移除消息数 */
9435
9466
  foldedRemovedCount?: number;
9436
- /** T-CTX18 — 子代理归因标识(语义见 CompactionStartedEvent.agentId) */
9467
+ /** 子代理归因标识(语义见 CompactionStartedEvent.agentId) */
9437
9468
  agentId?: string;
9438
9469
  }
9439
- /** T-CTX14b — microcompact 应用事件载荷(cachePrefixInvalidated 恒 true:改写历史必然重建缓存前缀,K2 cache epoch 边界) */
9470
+ /** microcompact 应用事件载荷(cachePrefixInvalidated 恒 true:改写历史必然重建缓存前缀,即 cache epoch 边界) */
9440
9471
  interface MicrocompactAppliedEvent extends MicrocompactObservation {
9441
9472
  trigger: CompactionTrigger;
9442
9473
  cachePrefixInvalidated: true;
9443
- /** T-CTX18 — 子代理归因标识(语义见 CompactionStartedEvent.agentId) */
9474
+ /** 子代理归因标识(语义见 CompactionStartedEvent.agentId) */
9444
9475
  agentId?: string;
9445
9476
  }
9446
- /** T-CTX14b — 工具结果入史 clamp 事件载荷(OPT-05 50K 统一预算;批级聚合) */
9477
+ /** 工具结果入史 clamp 事件载荷(50K 统一预算;批级聚合) */
9447
9478
  interface ToolResultsClampedEvent {
9448
9479
  /** 本批被收束的 tool_result 块数 */
9449
9480
  clampedCount: number;
@@ -9455,13 +9486,13 @@ interface ToolResultsClampedEvent {
9455
9486
  persistedCount: number;
9456
9487
  /** 生效的单块内联预算(字符) */
9457
9488
  budgetChars: number;
9458
- /** T-CTX18 — 子代理归因标识(语义见 CompactionStartedEvent.agentId) */
9489
+ /** 子代理归因标识(语义见 CompactionStartedEvent.agentId) */
9459
9490
  agentId?: string;
9460
9491
  }
9461
9492
  /**
9462
- * T-CTX14a/14b — 压缩生命周期只读观测缝(kernel 公共 API,非 protocol 事件)。
9493
+ * 压缩生命周期只读观测缝(kernel 公共 API,非 protocol 事件)。
9463
9494
  *
9464
- * 签发权分布(T-CTX14b 观测缝迁挂,批头 T-CTX04a 交接三点):
9495
+ * 签发权分布:
9465
9496
  * - **成功结局**:统一应用器(governance-applier)在折叠变换应用后签发
9466
9497
  * started/finished——应用器是所有方案效果的必经之门,任何策略机制的
9467
9498
  * 折叠都被同一观测面覆盖;manager.compact 直调方自行消费
@@ -9478,18 +9509,18 @@ interface ToolResultsClampedEvent {
9478
9509
  interface CompactionObserver {
9479
9510
  onCompactionStarted?(event: CompactionStartedEvent): void;
9480
9511
  onCompactionFinished?(event: CompactionFinishedEvent): void;
9481
- /** T-CTX14b(⑤ P0-3):microcompact 存根化应用观测 */
9512
+ /** microcompact 存根化应用观测 */
9482
9513
  onMicrocompactApplied?(event: MicrocompactAppliedEvent): void;
9483
- /** T-CTX14b(⑤ P0-3):工具结果入史 clamp 计数观测 */
9514
+ /** 工具结果入史 clamp 计数观测 */
9484
9515
  onToolResultsClamped?(event: ToolResultsClampedEvent): void;
9485
9516
  /**
9486
- * P-CTX4 K14(机制 3,纯追加可选回调):压缩延迟观测(端点劣化时
9487
- * baseline 策略跳过本屏障模型压缩)。签发方 = 策略 assess(同步);
9488
- * 回调异常由签发方吞掉(fail-open 同全家纪律)。
9517
+ * 压缩延迟观测(纯追加可选回调):端点劣化时 baseline 策略跳过本屏障的
9518
+ * 模型压缩。签发方 = 策略 assess(同步);回调异常由签发方吞掉
9519
+ * (fail-open 同全家纪律)。
9489
9520
  */
9490
9521
  onCompactionDeferred?(event: CompactionDeferredEvent): void;
9491
9522
  /**
9492
- * T-CTX15(⑤ P0-2):压缩 fork 请求的估算配对观测(purpose='compaction',
9523
+ * 压缩 fork 请求的估算配对观测(purpose='compaction',
9493
9524
  * compactionId 与本观测缝生命周期事件同 id 关联)。manager 经
9494
9525
  * CompactionRoundRequest.requestMeasurement 包装透传执行器,fork 请求
9495
9526
  * 构造后提取特征、terminal 后合并 usage 回调一次。
@@ -9502,10 +9533,9 @@ interface ContextManagerCompactionOptions {
9502
9533
  /** 摘要消息前导句(注入缝);默认 DEFAULT_SUMMARY_PREAMBLE */
9503
9534
  summaryPreamble?: string;
9504
9535
  /**
9505
- * T-CTX02(接口冻结):压缩 round 模型调用超时(ms)。缺省 90_000(待校准
9506
- * 初始值,随 C3 KPI 校准);独立于主查询超时——压缩是可失败的辅助调用,
9507
- * 不得吃满主查询预算。
9508
- * 语义(2026-08-13 进展感知修正):空闲闸——流无进展 timeoutMs 才判死;
9536
+ * 压缩 round 模型调用超时(ms)。缺省 90_000;独立于主查询超时——压缩是
9537
+ * 可失败的辅助调用,不得吃满主查询预算。
9538
+ * 语义(进展感知):空闲闸——流无进展 timeoutMs 才判死;
9509
9539
  * 生成推进中受 × COMPACTION_PROGRESS_HARD_CAP_FACTOR 硬上限封顶,不再
9510
9540
  * 以总时长误杀(出处见 DEFAULT_COMPACTION_TIMEOUT_MS 注释)。
9511
9541
  */
@@ -9513,23 +9543,23 @@ interface ContextManagerCompactionOptions {
9513
9543
  /** 保留最近完整 round 数;默认 2 */
9514
9544
  keepRecentRounds?: number;
9515
9545
  /**
9516
- * 首条用户消息(任务锚点)恒保留不参与折叠(T-C10 保留策略)。
9517
- * 默认 false T-C5 行为一致;查询环自建的 manager 默认开启。
9546
+ * 首条用户消息(任务锚点)恒保留不参与折叠。
9547
+ * 默认 false(直接构造的 manager 沿历史行为);查询环自建的 manager 默认开启。
9518
9548
  */
9519
9549
  keepFirstUserMessage?: boolean;
9520
9550
  /**
9521
- * T-CTX14a:压缩生命周期观测缝(装配层注入,消费写 context-events.jsonl)。
9551
+ * 压缩生命周期观测缝(装配层注入,消费写 context-events.jsonl)。
9522
9552
  * 缺省不观测,行为与未接缝逐字节一致。
9523
9553
  */
9524
9554
  observer?: CompactionObserver;
9525
9555
  /**
9526
- * T-CTX09:摘要质量校验(结构 + 膨胀;透传执行器)。缺省启用 v2 九段
9556
+ * 摘要质量校验(结构 + 膨胀;透传执行器)。缺省启用 v2 九段
9527
9557
  * 规格;`false` 全关——注入自定义 instructionTemplate(非九段结构)时
9528
9558
  * 的逃生门,默认模板下不应关闭。
9529
9559
  */
9530
9560
  summaryValidation?: SummaryValidationOptions | false;
9531
9561
  /**
9532
- * T-CTX08(CTX-P13):转录回查路径提示——装配层传会话 journal 的磁盘
9562
+ * 转录回查路径提示——装配层传会话 journal 的磁盘
9533
9563
  * 路径(字符串,或求值闭包:纪元轮换后 journal 目录随 sink.currentSessionId
9534
9564
  * 变化,闭包形态使摘要恒指向压缩时刻的**当前**转录文件)。在场时摘要
9535
9565
  * 消息尾部追加回查段(compaction.buildTranscriptLookbackSection);缺省/
@@ -9540,15 +9570,15 @@ interface ContextManagerCompactionOptions {
9540
9570
  */
9541
9571
  transcriptHint?: string | (() => string | undefined);
9542
9572
  /**
9543
- * P-CTX3(L3 分级衰减,doc/34 §3.4 机制 2):microcompact 选量策略升级
9544
- * 的灰度门。缺席/enabled=false = 现状自旧向新选量,逐字节零漂移
9573
+ * microcompact 选量策略(分级衰减)的灰度门。缺席/enabled=false =
9574
+ * 现状自旧向新选量,逐字节零漂移
9545
9575
  * (baseline 方案恒缺席);启用后按三维衰减分(龄×体积×被取代)选序,
9546
9576
  * 并以 hysteresisTokens 下探停止水位(摊薄缓存前缀重建频次)。
9547
9577
  * 取值链:MicrocompactRequest.decay(请求级)> 本构造级配置。
9548
9578
  */
9549
9579
  toolResultDecay?: ToolResultDecayConfig;
9550
9580
  /**
9551
- * P-CTX4 K14(机制 4 半开半边)— 熔断半开探测指数退避门。缺席/false =
9581
+ * 熔断半开探测指数退避门。缺席/false =
9552
9582
  * 现状固定间隔(AUTO_COMPACT_HALF_OPEN_BARRIERS,基线恒缺席零漂移);
9553
9583
  * true 时探测间隔 = HALF_OPEN × 2^min(熔断后连败数, 指数硬帽)
9554
9584
  * (3→6→12→24 屏障),防劣化端点每 3 屏障固定烧一次探测超时;探测
@@ -9556,7 +9586,7 @@ interface ContextManagerCompactionOptions {
9556
9586
  */
9557
9587
  halfOpenBackoff?: boolean;
9558
9588
  /**
9559
- * P-CTX4 K15(doc/34 §3.4 机制 1)— 锚点层 L1 灰度门。缺席/enabled=false
9589
+ * 锚点层灰度门。缺席/enabled=false
9560
9590
  * = 现状(压缩请求不拼锚点摘要,逐字节零漂移;/pin 管理面在 manager API
9561
9591
  * 上恒可用,但无消费)。启用后压缩计划落定时对将折叠区抽取锚点、拼
9562
9592
  * digest 追加进摘要附加指令(锚点是摘要的「不得稀释」清单),预算超限
@@ -9567,13 +9597,13 @@ interface ContextManagerCompactionOptions {
9567
9597
  budgetTokens?: number;
9568
9598
  };
9569
9599
  /**
9570
- * P-CTX4 K16(doc/34 §3.4 机制 5 / G-A9)— 估算-校准闭环灰度门。缺席/
9571
- * enabled=false = 现状 T-CTX06 单标量 EWMA(压缩后重置,逐字节零漂移)。
9600
+ * 估算-校准闭环灰度门。缺席/
9601
+ * enabled=false = 现状单标量 EWMA(压缩后重置,逐字节零漂移)。
9572
9602
  * 启用后三件事(细节见 calibration.ts 模块头):校准因子按尾部内容特征
9573
9603
  * 分桶(CJK/JSON/混排/纯文本)、校准态跨压缩持久(压缩成功仅失效配对
9574
9604
  * 基线)、水位评估按桶置信度加安全边际(低置信宁可早压;
9575
9605
  * confidenceMarginRatio 缺省 DEFAULT_CONFIDENCE_MARGIN_RATIO=0.1)。
9576
- * CM14:门开/关均仅训练固定面相容的相邻实发输入差分;首轮或固定面
9606
+ * 门开/关均仅训练固定面相容的相邻实发输入差分;首轮或固定面
9577
9607
  * 变化后的全量估算不能把 system/tools 的误差训练成消息密度。
9578
9608
  */
9579
9609
  bucketedCalibration?: {
@@ -9581,16 +9611,16 @@ interface ContextManagerCompactionOptions {
9581
9611
  confidenceMarginRatio?: number;
9582
9612
  };
9583
9613
  /**
9584
- * CW14-N5 — 压缩段回查节门(fold 迁移证据保全的**模型可见半边**;新
9614
+ * 压缩段回查节门(fold 迁移证据保全的**模型可见半边**;新
9585
9615
  * 行为开关化)。缺席/false = 摘要字节现状零漂移;true 且请求携 spill 且
9586
9616
  * 段落盘成功时,摘要尾部追加回查节(buildSegmentLookbackSection,指向
9587
9617
  * 被折叠段的落盘投影)。段落盘本身(非模型可见)不受本门控制——spill
9588
- * 在场即执行(N4 既定接线,证据保全恒不挑时机)。
9618
+ * 在场即执行(证据保全恒不挑时机)。
9589
9619
  */
9590
9620
  segmentLookback?: boolean;
9591
9621
  }
9592
9622
  /**
9593
- * T-CTX22 ⑥(CC M-20)— 压缩后派生态失效清单条目。压缩改变「模型已经看过
9623
+ * 压缩后派生态失效清单条目。压缩改变「模型已经看过
9594
9624
  * 什么」这一全局事实,一切以此为前提的派生态(差分基线/校准态/签名缓存)
9595
9625
  * 必须在压缩成功后同步失效,否则出现「模型引用它已看不见的内容」类幽灵
9596
9626
  * bug。集中一份清单统一执行(而非散落各处),失效点可枚举、可锁测。
@@ -9637,48 +9667,48 @@ interface ContextAssessment {
9637
9667
  /** manager 层压缩请求(round 粒度计划与执行参数由本类代算) */
9638
9668
  interface CompactRequest {
9639
9669
  view: ContextView;
9640
- /** CM-02:已报摘要用量入辅助账后同步通知;取消等待方可保留已知费用。 */
9670
+ /** 已报摘要用量入辅助账后同步通知;取消等待方可保留已知费用。 */
9641
9671
  onUsage?: (usage: IRUsage) => void;
9642
- /** 压缩 fork 同模型(doc/07 §3.2);调用方可显式降档 */
9672
+ /** 压缩 fork 缺省同模型;调用方可显式降档 */
9643
9673
  model: ResolvedModel;
9644
9674
  trigger: CompactionTrigger;
9645
9675
  signal?: AbortSignal;
9646
9676
  temperature?: number;
9647
- /** fork 采样参数;与 IR 同形含 off 位(C2/R1-P1-2:显式思考关断须原样穿透) */
9677
+ /** fork 采样参数;与 IR 同形含 off 位(显式思考关断须原样穿透) */
9648
9678
  thinking?: {
9649
9679
  budget?: number;
9650
9680
  off?: boolean;
9651
9681
  };
9652
9682
  /**
9653
9683
  * 覆盖压缩输出预算。缺省 = thresholds.compactOutputBudget;调用方应传
9654
- * min(模型 maxOutput, compactOutputBudget)(doc/07 §3.1 summaryReserve
9655
- * 语义——模型能力位在装配层,本类不感知 provider capability)。
9684
+ * min(模型 maxOutput, compactOutputBudget)(summaryReserve 语义——模型
9685
+ * 能力位在装配层,本类不感知 provider capability)。
9656
9686
  */
9657
9687
  maxTokens?: number;
9658
9688
  /** 用户附加摘要指令(/compact [instructions]);追加在模板后,只调焦点 */
9659
9689
  instructions?: string;
9660
- /** T-CTX02(接口冻结):本次压缩调用超时(ms);覆盖 compaction.timeoutMs 配置 */
9690
+ /** 本次压缩调用超时(ms);覆盖 compaction.timeoutMs 配置 */
9661
9691
  timeoutMs?: number;
9662
9692
  /**
9663
- * T-CTX08:本次压缩的转录回查路径提示;覆盖 compaction.transcriptHint
9664
- * 构造级配置(取值链与 timeoutMs 同构)。T-CTX04a 起装配层经
9665
- * QueryCompactionOptions.transcriptHint 直达构造级配置(此前的
9666
- * compact 包装缝已退役),本请求级位保留给调用方显式覆盖。
9693
+ * 本次压缩的转录回查路径提示;覆盖 compaction.transcriptHint
9694
+ * 构造级配置(取值链与 timeoutMs 同构)。装配层通常经
9695
+ * QueryCompactionOptions.transcriptHint 直达构造级配置,本请求级位
9696
+ * 保留给调用方显式覆盖。
9667
9697
  */
9668
9698
  transcriptHint?: string | (() => string | undefined);
9669
9699
  /**
9670
- * CW14-N5 — fold 迁移证据保全存储(spill kind='compaction-segment'
9700
+ * fold 迁移证据保全存储(spill kind='compaction-segment'
9671
9701
  * 接线):在场时被折叠段的确定性渲染落 spill content 空间(microcompact
9672
- * 请求的 spill 同源同store,baseline 会话透传)。缺席 = 不落盘(N4 前
9673
- * 现状)。模型可见回查节另由构造级 segmentLookback 门控制。
9702
+ * 请求的 spill 同源同store,baseline 会话透传)。缺席 = 不落盘。
9703
+ * 模型可见回查节另由构造级 segmentLookback 门控制。
9674
9704
  */
9675
9705
  spill?: SpillStore;
9676
9706
  /**
9677
- * K-5(doc/116 §4.2 / doc/117 K-5)— 压缩前钩子(装配层注入;典型 = 落
9678
- * pre_compaction 上下文快照)。时机:计划落定(有可压内容)之后、压缩
9707
+ * 压缩前钩子(装配层注入;典型 = 落 pre_compaction 上下文快照)。
9708
+ * 时机:计划落定(有可压内容)之后、压缩
9679
9709
  * fork 请求发出之前——no-op 结局不调用(无可压不白落快照),PreCompact
9680
9710
  * hook 阻断径亦不达此处。manager 只调用不知快照:返回值的 checkpointId
9681
- * 原样冒泡到结局(成功/失败两形皆携,D-11 A 失败快照保留);钩子抛错 →
9711
+ * 原样冒泡到结局(成功/失败两形皆携,失败时已落快照保留);钩子抛错 →
9682
9712
  * 失败结局 reason='before_compact_failed',请求不发出,历史不变。
9683
9713
  */
9684
9714
  beforeCompact?: (view: ContextView) => Promise<{
@@ -9691,23 +9721,23 @@ interface CompactOutcomeSuccess extends CompactionRoundSuccess {
9691
9721
  measurementBefore: ContextMeasurement;
9692
9722
  measurementAfter: ContextMeasurement;
9693
9723
  /**
9694
- * K-5:beforeCompact 钩子返回的快照 id(压缩前完整上下文的可恢复拷贝);
9724
+ * beforeCompact 钩子返回的快照 id(压缩前完整上下文的可恢复拷贝);
9695
9725
  * 钩子缺席/未返回 id 时缺席。session.compacted 事件与 journal
9696
- * compact_boundary 记录据此携 checkpointId(contract-v0.22)
9726
+ * compact_boundary 记录据此携 checkpointId。
9697
9727
  */
9698
9728
  checkpointId?: string;
9699
9729
  /**
9700
- * 压缩执行 id 冒泡(contract-v0.15,RFC-CTX12-2):与观测材料
9730
+ * 压缩执行 id 冒泡:与观测材料
9701
9731
  * observation.compactionId、摘要哨兵 uuid、meta.compactionId 同源——
9702
9732
  * `session.compacted` 事件与 journal `compact_boundary` 记录的关联键由此
9703
- * 冒给签发/写入方。类型层可选防破字面量构造方(observation 同款纪律);
9704
- * manager.compact 与 hardTrim(G-A7)运行时恒产出。
9733
+ * 冒给签发/写入方。类型层可选,防破字面量构造方(observation 同款纪律);
9734
+ * manager.compact 与 hardTrim 运行时恒产出。
9705
9735
  */
9706
9736
  compactionId?: string;
9707
9737
  /**
9708
- * T-CTX14b 观测材料(类型层可选防破字面量构造方;manager.compact 运行时
9738
+ * 观测材料(类型层可选,防破字面量构造方;manager.compact 运行时
9709
9739
  * 恒产出——CostBucketSnapshot.cacheMetrics 同款纪律)。成功结局的
9710
- * started/finished 事件由统一应用器据此签发。G-A7 例外:hardTrim 结局
9740
+ * started/finished 事件由统一应用器据此签发。例外:hardTrim 结局
9711
9741
  * **恒缺席**本字段(零模型投入,无 provider/model/durationMs 可归因),
9712
9742
  * 观测走应用器最小面 + mechanism 标记。
9713
9743
  */
@@ -9718,13 +9748,13 @@ interface CompactOutcomeFailure extends CompactionRoundFailure {
9718
9748
  measurementBefore: ContextMeasurement;
9719
9749
  /**
9720
9750
  * 本次失败后的连续自动失败计数。manual 失败不计入;nothing_to_compact
9721
- * 是计划性 no-op(T-CTX03),既不推进也不打断连续失败链。
9751
+ * 是计划性 no-op,既不推进也不打断连续失败链。
9722
9752
  */
9723
9753
  consecutiveAutoCompactFailures: number;
9724
- /** T-CTX14b 观测材料(可选性理由同 CompactOutcomeSuccess.observation) */
9754
+ /** 观测材料(可选性理由同 CompactOutcomeSuccess.observation) */
9725
9755
  observation?: CompactionObservation;
9726
9756
  /**
9727
- * K-5(D-11 A):beforeCompact 已落的快照 id——压缩失败不回滚已落的盘,
9757
+ * beforeCompact 已落的快照 id——压缩失败不回滚已落的盘,
9728
9758
  * 结局携 id 供调用方决定(before_compact_failed 时恒缺席:钩子未成功)。
9729
9759
  */
9730
9760
  checkpointId?: string;
@@ -9826,51 +9856,51 @@ declare class ContextManager {
9826
9856
  /** 解析后的阈值(只读;供状态栏/斜杠命令展示) */
9827
9857
  get thresholds(): ResolvedThresholds;
9828
9858
  /**
9829
- * 附件注册表观测快照(只读;/context 展示与 T-C10 诊断,不属于七接口)。
9830
- * T-CTX19 起为完整快照(在场附件数/逐条 TTL 剩余/估算 tokens/预算),
9859
+ * 附件注册表观测快照(只读;/context 展示与压缩诊断,不属于七接口)。
9860
+ * 完整快照(在场附件数/逐条 TTL 剩余/估算 tokens/预算),
9831
9861
  * 旧形态 {round, injectedBytes} 是其结构子集,消费方零迁移。
9832
9862
  */
9833
9863
  get attachmentStats(): AttachmentStats;
9834
- /** T-CTX03:nothing_to_compact no-op 累计(只读观测;T-CTX14a 埋点消费) */
9864
+ /** nothing_to_compact no-op 累计(只读观测;压缩生命周期埋点消费) */
9835
9865
  get noopCompactCount(): number;
9836
9866
  /**
9837
- * T-CTX06:EWMA 校准因子(只读观测;1 = 未校准或刚重置)。
9838
- * P-CTX4 K16 门开时标量路径不更新(恒 1),分桶态看 calibrationState()。
9867
+ * EWMA 校准因子(只读观测;1 = 未校准或刚重置)。
9868
+ * bucketedCalibration 门开时标量路径不更新(恒 1),分桶态看 calibrationState()。
9839
9869
  */
9840
9870
  get calibrationFactor(): number;
9841
9871
  /**
9842
- * P-CTX4 K16 — 校准态快照(只读观测;/context 展示与锁测消费)。
9843
- * 门关:buckets 恒空数组 + factor = 标量因子(T-CTX06 现状态)。
9872
+ * 校准态快照(只读观测;/context 展示与锁测消费)。
9873
+ * 门关:buckets 恒空数组 + factor = 标量因子(单标量 EWMA 现状态)。
9844
9874
  */
9845
9875
  calibrationState(): CalibrationSnapshot;
9846
- /** P-CTX4 K16 — 跨 manager 重建搬运出口(driver 切方案携带;切模不携带) */
9876
+ /** 跨 manager 重建搬运出口(driver 切方案携带;切模不携带) */
9847
9877
  exportCalibration(): CalibrationSnapshot;
9848
9878
  /**
9849
- * P-CTX4 K16 — 搬运入口:**仅门开时生效**(门关 no-op——基线标量路径的
9850
- * 重建归零语义是 T-CTX04b 锁定行为,导入会构成漂移)。因子按钳制域收
9879
+ * 搬运入口:**仅门开时生效**(门关 no-op——基线标量路径的
9880
+ * 重建归零语义是既定行为,导入会构成漂移)。因子按钳制域收
9851
9881
  * 口、观测数取非负整数(防手工快照越界);配对基线不搬(旧测量对旧
9852
9882
  * 历史,新实例首次 measure 自然重建)。
9853
9883
  */
9854
9884
  importCalibration(snapshot: CalibrationSnapshot): void;
9855
9885
  /**
9856
- * T-CTX22 ⑥ — 登记压缩后必须失效/重置的外部派生态(装配层调用;如
9886
+ * 登记压缩后必须失效/重置的外部派生态(装配层调用;如
9857
9887
  * reminder 首屏差分基线)。压缩成功后按「内置清单 → 登记序」统一执行;
9858
9888
  * run 抛错被吞(fail-open),不影响压缩收尾与其余清单项。
9859
9889
  */
9860
9890
  registerPostCompactInvalidation(entry: PostCompactInvalidation): void;
9861
- /** T-CTX22 ⑥ — 失效清单登记名快照(观测/锁测断言;含内置三件) */
9891
+ /** 失效清单登记名快照(观测/锁测断言;含内置三件) */
9862
9892
  get postCompactInvalidationIds(): readonly string[];
9863
9893
  /**
9864
- * T-CTX04a — 派生态失效清单的公开执行入口(统一应用器消费:非 baseline
9894
+ * 派生态失效清单的公开执行入口(统一应用器消费:非 baseline
9865
9895
  * 策略的历史折叠变换应用后,由应用器调用本方法统一失效锚点/附件签名/
9866
9896
  * 校准态与外部登记项)。baseline 的 compact/microcompact 路径**不经**
9867
9897
  * 本入口——manager 内建执行时序在 measurementAfter 之前(压缩后测量
9868
9898
  * 必须基于失效后的干净状态),应用器侧重复执行会清空刚建立的校准配对
9869
- * 基线(T-CTX06 校准链漂移),故 baseline 变换标记 invalidations='strategy'。
9899
+ * 基线(校准链漂移),故 baseline 变换标记 invalidations='strategy'。
9870
9900
  */
9871
9901
  runPostCompactInvalidations(): void;
9872
9902
  /**
9873
- * T-CTX03 — 屏障点计时(半开熔断的时基):查询环每个压缩屏障点调用一次。
9903
+ * 屏障点计时(半开熔断的时基):查询环每个压缩屏障点调用一次。
9874
9904
  * 熔断压制期间每计满 AUTO_COMPACT_HALF_OPEN_BARRIERS 个屏障,assess 放行
9875
9905
  * 一次探测压缩(成功清零熔断计数恢复正常,失败继续压制);任何 auto 压缩
9876
9906
  * 尝试(含探测与 no-op)都会清零本计时,压制期的失败信息因此有界
@@ -9878,7 +9908,7 @@ declare class ContextManager {
9878
9908
  */
9879
9909
  noteBarrier(): void;
9880
9910
  /**
9881
- * T-CTX14b — 观测缝只读出口:查询环/空闲直压据此把 observer 交给统一
9911
+ * 观测缝只读出口:查询环/空闲直压据此把 observer 交给统一
9882
9912
  * 应用器(成功结局签发)与工具结果收束缝(clamp 计数)。外部注入 manager
9883
9913
  * 形态下构造方持有的观测缝经此对查询环可达。
9884
9914
  */
@@ -9889,9 +9919,9 @@ declare class ContextManager {
9889
9919
  * 校准读取 receipt 冻结的旧 authority,后来的测量/新锚点不会串用。
9890
9920
  */
9891
9921
  recordUsage(entry: RoundUsageInput): void;
9892
- /** CM14:请求观测与固定面使用同一基础估算器,尤其外部注入manager时。 */
9922
+ /** 请求观测与固定面使用同一基础估算器,尤其外部注入manager时。 */
9893
9923
  get requestEstimator(): TokenEstimator;
9894
- /** CM14:主模型/客户端绑定改变时旧tokenizer观测不能沿用。 */
9924
+ /** 主模型/客户端绑定改变时旧tokenizer观测不能沿用。 */
9895
9925
  bindRequestModel(model: ResolvedModel, client: ModelClient): void;
9896
9926
  /** 在治理前捕获固定输入,后续压缩/输出预算/实际发送均使用同一副本。 */
9897
9927
  prepareRequestBasis(view: ContextView): RequestBasis;
@@ -9906,7 +9936,7 @@ declare class ContextManager {
9906
9936
  }): SentRequestReceipt;
9907
9937
  discardSentRequest(receipt: SentRequestReceipt): void;
9908
9938
  /**
9909
- * AP-SP:请求固定输入(如 system 段)变化后,旧权威 usage 不再代表当前前缀。
9939
+ * 请求固定输入(如 system 段)变化后,旧权威 usage 不再代表当前前缀。
9910
9940
  * 只失效测量锚点和待配对校准基线,使下一次 measure 全量计入新 system;
9911
9941
  * 已学习密度因子、累计用量、附件/TTL、历史 pin、压缩熔断均保留。
9912
9942
  * 不等同历史压缩,不能运行 postCompact 失效清单;调用方须先判断实际输入已变化,
@@ -9914,21 +9944,21 @@ declare class ContextManager {
9914
9944
  */
9915
9945
  invalidateRequestBasis(): void;
9916
9946
  /**
9917
- * K21 — 当前缓存命中率 EWMA 只读出口(null = 尚无观测)。消费方:
9947
+ * 当前缓存命中率 EWMA 只读出口(null = 尚无观测)。消费方:
9918
9948
  * baseline 策略缓存感知门 + microcompact 观测材料。
9919
9949
  */
9920
9950
  cacheHitRatio(): number | null;
9921
9951
  /**
9922
- * 测量当前上下文占用:锚点权威计量 + 本地估算尾部,六路分解(doc/07 §3.1)。
9923
- * T-CTX06:消息尾部经校准因子微调,system/tools 保持基础估算。
9952
+ * 测量当前上下文占用:锚点权威计量 + 本地估算尾部,六路分解。
9953
+ * 消息尾部经校准因子微调,system/tools 保持基础估算。
9924
9954
  * 本次测量独立留基线,实际发送方 prepareSentRequest 后才可配对 usage。
9925
- * P-CTX4 K16(门开):估算前按 ledger 同一锚点判定取尾部范围并归桶
9955
+ * bucketedCalibration 门开:估算前按 ledger 同一锚点判定取尾部范围并归桶
9926
9956
  * (classifyTailBucket),应用缝随之切到该桶因子;基线记录归桶与锚点
9927
9957
  * 口径供观测入账。门关零触碰(#lastBucket 不更新,分桶 Map 恒空)。
9928
9958
  */
9929
9959
  measure(view: ContextView): ContextMeasurement;
9930
9960
  /**
9931
- * CM-18:请求装配后新增尾材料的只读计额。只比较受影响尾消息,
9961
+ * 请求装配后新增尾材料的只读计额。只比较受影响尾消息,
9932
9962
  * 使用当前测量已选定的校准因子;不刷新桶/配对基线/锚点,也不全量 measure。
9933
9963
  * before 缺席表示新增一条消息,按账本同口径包含消息定额。
9934
9964
  */
@@ -9939,19 +9969,19 @@ declare class ContextManager {
9939
9969
  estimateRequestTailDelta(before: IRMessage | undefined, after: IRMessage, measurement?: ContextMeasurement): number;
9940
9970
  /**
9941
9971
  * 水位评估:测量 → 阈值代数 → 区带/触发建议;熔断中压制自动压缩建议。
9942
- * T-CTX03 半开:压制期间每隔 AUTO_COMPACT_HALF_OPEN_BARRIERS 个屏障点
9972
+ * 半开探测:压制期间每隔 AUTO_COMPACT_HALF_OPEN_BARRIERS 个屏障点
9943
9973
  * (noteBarrier 计时)放行一次探测压缩——探测成功由 compact 清零计数
9944
9974
  * 恢复正常,失败继续压制。本方法只读(计时推进在 noteBarrier/compact)。
9945
9975
  */
9946
9976
  assess(view: ContextView): ContextAssessment;
9947
9977
  /**
9948
- * T-CTX13-②(CTX-P10)— 以既有测量做阈值评估(不重新 measure):同一
9978
+ * 以既有测量做阈值评估(不重新 measure):同一
9949
9979
  * 屏障内 microcompact 之后的 compact 判定复用其 measurementAfter,消除
9950
9980
  * 「同屏障二次全量估算」——第二次估算与淘汰选量投影可能相互矛盾,
9951
9981
  * 淘汰刚回收完又立刻整体压缩的同屏障双压由此根治。熔断/半开语义与
9952
9982
  * assess 完全一致(同为只读;计时推进在 noteBarrier/compact)。
9953
- * P-CTX4 K16(门开):水位判定按 contextTokens + 置信度安全边际(机制 5
9954
- * 「低置信留更大边际」——桶内观测不足时尾部估算加临时边际,宁可早压
9983
+ * bucketedCalibration 门开:水位判定按 contextTokens + 置信度安全边际
9984
+ * (「低置信留更大边际」——桶内观测不足时尾部估算加临时边际,宁可早压
9955
9985
  * 不越界;观测饱和边际归零)。边际只进决策,measurement 如实不动;
9956
9986
  * 明细随 assessment.calibration 在场。门关零漂移(边际恒缺席)。
9957
9987
  */
@@ -9999,16 +10029,15 @@ declare class ContextManager {
9999
10029
  * 预算语义,恒不提醒;autoCompactAt < 启用下限(20K)同样恒不提醒——
10000
10030
  * 提醒自身 ~100 tokens,极小预算下注入本身即可观挤兑(玩具窗实测把
10001
10031
  * 水位推回压缩线引发压缩连锁),成本占比论证见 entry-budgets 常量注释。
10002
- * 占用入参由查询环钳制点透传(同屏障同一测量,不新增 measure 调用,
10003
- * T-CTX13-② 口径纪律)。
10032
+ * 占用入参由查询环钳制点透传(同屏障同一测量,不新增 measure 调用)。
10004
10033
  */
10005
10034
  takeContextBudgetReminder(contextTokens: number): ContextBudgetPayload | undefined;
10006
10035
  /**
10007
10036
  * 标记消息为 pinned:压缩时其所在完整 round 整体保留(round 粒度,保配对)。
10008
10037
  *
10009
- * **对象身份契约(X3-2a K-5 登记)**:pin 按消息对象引用标记(WeakSet),
10010
- * 换新对象即丢标——microcompact 存根替换径已明文豁免 pinned(T-ADV1,
10011
- * #microcompact planOptions);但查询环 meta 合并径(run-query 末条
10038
+ * **对象身份契约**:pin 按消息对象引用标记(WeakSet),
10039
+ * 换新对象即丢标——microcompact 存根替换径已明文豁免 pinned(pin 承诺完整
10040
+ * 保留,见 #microcompact planOptions);但查询环 meta 合并径(run-query 末条
10012
10041
  * user 消息整体换新对象)未防,**末条 user 消息的 pin 可能因 meta 合并
10013
10042
  * 静默失效**。现状 pin()/unpin() 无生产调用方(全仓仅测试),按设计债
10014
10043
  * 登记不改行为;若未来接线生产消费方,改法二选一:meta 合并改就地追加
@@ -10020,7 +10049,7 @@ declare class ContextManager {
10020
10049
  /**
10021
10050
  * 手动锚点登记(/pin <text>):过短/空文本返回 null;重复登记升级为
10022
10051
  * 手动源(用户显式确认抽取锚点)并回报 duplicate=true。新鲜度取当前
10023
- * 会话 round;估算用 base 估算器(登记时一次性,T-CTX19 附件同纪律)。
10052
+ * 会话 round;估算用 base 估算器(登记时一次性,与附件注册表同纪律)。
10024
10053
  */
10025
10054
  pinAnchor(text: string): {
10026
10055
  entry: AnchorEntry;
@@ -10080,15 +10109,15 @@ declare class ContextManager {
10080
10109
  * 执行一次压缩:制定 round 粒度计划 → 注入的 ModelClient 打一轮完整
10081
10110
  * API round → 产出摘要消息、压缩后消息数组与 session.compacted 所需数据。
10082
10111
  * 成功后:测量锚点重置(旧 anchorIndex 失效)、附件签名清空(引用目标
10083
- * 已被摘要替换)、自动熔断计数清零、校准态重置(T-CTX06)。失败(含无
10112
+ * 已被摘要替换)、自动熔断计数清零、校准态重置。失败(含无
10084
10113
  * 可压缩)不改动任何输入。
10085
- * T-CTX14b 观测缝迁挂:观测材料(CompactionObservation)恒随 outcome
10114
+ * 观测缝:观测材料(CompactionObservation)恒随 outcome
10086
10115
  * 返回;**成功结局的 started/finished 由统一应用器签发**(折叠效果的
10087
10116
  * 必经之门),失败/no-op 结局不经应用器、保留本方法返回面签发(回调
10088
10117
  * 异常吞掉,fail-open 不影响压缩主链)。直调本方法的消费方(不经应用器)
10089
10118
  * 对成功结局自行消费 outcome.observation。
10090
10119
  *
10091
- * **非重入契约(X3-2a K-9 登记)**:compact/microcompact 的 await 窗口
10120
+ * **非重入契约**:compact/microcompact 的 await 窗口
10092
10121
  * 无重入护栏——并发调用会交错破坏账本/校准基线/派生态失效清单的时序。
10093
10122
  * 互斥责任在装配层:查询环屏障点单点调用、空闲直压与查询环互斥(driver
10094
10123
  * 纪律),现状全部调用面守住。第三方直调本 API 须自行保证同一实例上
@@ -10157,16 +10186,16 @@ type EndpointHealthProbe = () => EndpointHealthSnapshot | undefined;
10157
10186
  * 策略不直接持有消息数组可变引用,只产出变换数据;任何方案的效果必经
10158
10187
  * 应用器落地(围栏 1「出口不可绕过」)。
10159
10188
  *
10160
- * TransformOp 封闭集定形记录(24 号 §2.2 初稿 → W2 需求暴露后定稿):
10189
+ * TransformOp 封闭集定形记录:
10161
10190
  * - `replaceWithSummary`:压缩折叠(消费方 = baseline compact);
10162
10191
  * - `stubToolResult`:tool_result 原位存根化(消费方 = baseline microcompact);
10163
10192
  * - `insertSyntheticPair`:合成 tool 对注入(消费方 = baseline 压缩后文件
10164
- * 重建,T-CTX10);
10193
+ * 重建);
10165
10194
  * - `removeRange`:整消息区间移除(消费方 = trivial-trim 玩具策略;也是
10166
10195
  * 时间型 microcompact/trim 类研究项机制的基础操作)。
10167
10196
  * 初稿成员 `insertReminder` 裁掉:无真实消费方——reminder 注入走查询环
10168
- * OPT-01 屏障缝(非治理变换);hook(T-CTX23)的指令注入走 directive 输入
10169
- * 面(GovernanceDirective.instructions,24 号 §2.2 明文),不是消息变换。
10197
+ * 屏障缝(非治理变换);PreCompact hook 的指令注入走 directive 输入
10198
+ * 面(GovernanceDirective.instructions),不是消息变换。
10170
10199
  * 枚举以 TRANSFORM_OP_KINDS 快照锁测封口,扩值走 kernel API 评审。
10171
10200
  */
10172
10201
 
@@ -10198,7 +10227,7 @@ interface ReplaceWithSummaryOp {
10198
10227
  cutIndex: number;
10199
10228
  /** 移除的消息 index(升序;非空) */
10200
10229
  removedIndices: readonly number[];
10201
- /** 单独保留前移的任务锚点 index(T-C10 保留策略;缺席 = 无锚点提取) */
10230
+ /** 单独保留前移的任务锚点 index(首条用户消息保留策略;缺席 = 无锚点提取) */
10202
10231
  keptAnchorIndex?: number;
10203
10232
  /** 整体保留前移的 pinned 消息 index(升序;可为空) */
10204
10233
  keptPinnedIndices: readonly number[];
@@ -10210,7 +10239,7 @@ interface ReplaceWithSummaryOp {
10210
10239
  * 结构」——replacement 必须与原块同 callId(配对不变量),消息数与块序
10211
10240
  * 不变。被触碰的消息以新对象落位(copy-on-write),未触碰消息保持原引用。
10212
10241
  *
10213
- * pin 契约注意(T-ADV1,doc/review/41 §1 E1):应用器没有 pin 视图(pin
10242
+ * pin 契约注意:应用器没有 pin 视图(pin
10214
10243
  * WeakSet 所有权在 ContextManager),不校验目标消息是否 pinned——copy-on-write
10215
10244
  * 换新对象会使按旧引用登记的 pin 标记静默失效(压缩「整 round 保留」承诺
10216
10245
  * 随之丢失)。策略产出本 op 前应自行豁免 pinned 消息(baseline 经
@@ -10224,7 +10253,7 @@ interface StubToolResultOp {
10224
10253
  replacement: ToolResultBlock;
10225
10254
  }
10226
10255
  /**
10227
- * 合成 tool 对注入(T-CTX10 压缩后文件重建):在 index 处插入
10256
+ * 合成 tool 对注入(压缩后文件重建):在 index 处插入
10228
10257
  * [call(assistant tool_call), result(user tool_result)] 两条消息。call 的
10229
10258
  * tool_call id 序列必须与 result 的 tool_result callId 序列一致(对内自闭
10230
10259
  * 配对,插入任何位置不破坏外部配对)。
@@ -10242,7 +10271,7 @@ interface InsertSyntheticPairOp {
10242
10271
  */
10243
10272
  type TransformOp = RemoveRangeOp | ReplaceWithSummaryOp | StubToolResultOp | InsertSyntheticPairOp;
10244
10273
  /**
10245
- * 统一失败形态(24 号 §2.2:沿 W1-1 扩后的 CompactionFailureReason 枚举;
10274
+ * 统一失败形态(沿 CompactionFailureReason 枚举;
10246
10275
  * auto 计熔断/manual 报错的归类由策略引擎内部完成,查询环只消费 message)。
10247
10276
  */
10248
10277
  interface GovernanceFailure {
@@ -10254,7 +10283,7 @@ interface GovernanceFailure {
10254
10283
  * ——以 `turn.error`(scope/message,recoverable=false)前置
10255
10284
  * `turn.aborted`(reason)收口。现状词表:scope ∈ {'compaction',
10256
10285
  * blockingFailFastScope('no_progress')},reason 恒 'prompt_too_long'
10257
- * (T-CTX03 无进展保护 / T-CTX11 blocking 失败分型)。
10286
+ * (无进展保护 / blocking 失败分型)。
10258
10287
  */
10259
10288
  interface GovernanceVerdict {
10260
10289
  scope: string;
@@ -10262,7 +10291,7 @@ interface GovernanceVerdict {
10262
10291
  reason: TerminalReason;
10263
10292
  }
10264
10293
  /**
10265
- * 治理变换(execute 产物;24 号 §2.2 定稿形态)。@experimental
10294
+ * 治理变换(execute 产物)。@experimental
10266
10295
  *
10267
10296
  * 失败(failure 在场)时 ops 必须为空(应用器拒绝混载);no-op(如
10268
10297
  * microcompact 无候选)= ops 为空且无 failure。
@@ -10284,17 +10313,17 @@ interface GovernanceTransform {
10284
10313
  /** 执行后处置建议(fail-fast;缺席 = 继续本轮) */
10285
10314
  verdict?: GovernanceVerdict;
10286
10315
  /**
10287
- * 派生态失效清单(T-CTX22 ⑥ PostCompactInvalidation)的执行方:
10316
+ * 派生态失效清单(PostCompactInvalidation)的执行方:
10288
10317
  * - 'applier'(缺省):统一应用器在 ops 应用后执行注入的失效闭包
10289
10318
  * (查询环注入 manager.runPostCompactInvalidations);
10290
10319
  * - 'strategy':策略引擎已在 execute 内部完成——baseline 经
10291
10320
  * ContextManager.compact/microcompact 的内建清单执行(时序在
10292
10321
  * measurementAfter 之前,应用器不得重复执行,否则校准配对基线被
10293
- * 二次清空,T-CTX06 校准链漂移)。
10322
+ * 二次清空,校准链漂移)。
10294
10323
  */
10295
10324
  invalidations?: 'applier' | 'strategy';
10296
10325
  /**
10297
- * T-CTX14b(⑤ P0-3):microcompact 观测材料——产出 stubToolResult 变换
10326
+ * microcompact 观测材料——产出 stubToolResult 变换
10298
10327
  * 的策略随变换携带(baseline 自 MicrocompactOutcome 投影),统一应用器
10299
10328
  * 在 stub 变换应用后据此签发 `onMicrocompactApplied`。缺席 = 不签发
10300
10329
  * (非 microcompact 语义的 stub 机制不被冒名观测,如实)。
@@ -10317,10 +10346,10 @@ interface GovernanceSnapshot {
10317
10346
  reactive: boolean;
10318
10347
  }
10319
10348
  /**
10320
- * 治理指令(assess 产物;24 号 §2.1 词表 nothing | microcompact | compact
10349
+ * 治理指令(assess 产物;词表 nothing | microcompact | compact
10321
10350
  * | block)。compact 指令的 instructions 由查询环在 PreCompact hook 分发后
10322
- * 注入(manual 用户指令在前、hook additionalContext 在后,T-CTX23 合并次序
10323
- * ——hook 指令注入位在 directive 输入面,24 号 §2.2)。
10351
+ * 注入(manual 用户指令在前、hook additionalContext 在后
10352
+ * ——hook 指令注入位在 directive 输入面)。
10324
10353
  */
10325
10354
  type GovernanceDirective = {
10326
10355
  kind: 'nothing';
@@ -10330,17 +10359,17 @@ type GovernanceDirective = {
10330
10359
  kind: 'compact';
10331
10360
  trigger: CompactionTrigger;
10332
10361
  /**
10333
- * T-CTX11 blocking 末段闸门语境(auto 径已越阻塞线的强制压缩):
10362
+ * blocking 末段闸门语境(auto 径已越阻塞线的强制压缩):
10334
10363
  * execute 据此产出「成功但无进展 → fail-fast」verdict。
10335
10364
  */
10336
10365
  blockingGate?: boolean;
10337
10366
  /**
10338
- * G-A7(P-CTX2 K9,C-07 修复)— 熔断保底标记:压缩熔断压制中由
10367
+ * 熔断保底标记:压缩熔断压制中由
10339
10368
  * assess 置位,execute 据此**跳过模型压缩**、走无模型硬截断保底
10340
10369
  * (manager.hardTrim)——不再每屏障硬等压缩超时。覆盖两径:
10341
- * blockingGate 命中(K9 本体)与 reactive 真溢出自救(实施审计
10342
- * KA-02 补完——压制期 fork 注定打向劣化端点,保底后主查询重试
10343
- * 照常)。熔断闭合时恒缺席(行为与现状逐字节一致)。
10370
+ * blockingGate 命中与 reactive 真溢出自救(压制期 fork 注定打向
10371
+ * 劣化端点,保底后主查询重试照常)。熔断闭合时恒缺席
10372
+ * (行为与现状逐字节一致)。
10344
10373
  */
10345
10374
  breakerFallback?: boolean;
10346
10375
  /**
@@ -10352,7 +10381,7 @@ type GovernanceDirective = {
10352
10381
  /** 摘要附加指令(查询环合并 manual 用户指令与 PreCompact hook 注入后填充) */
10353
10382
  instructions?: string;
10354
10383
  /**
10355
- * K-5:压缩前钩子(查询环自 QueryCompactionOptions.beforeCompact 组装
10384
+ * 压缩前钩子(查询环自 QueryCompactionOptions.beforeCompact 组装
10356
10385
  * 后经本输入面注入,与 instructions 同位;baseline 原样透传
10357
10386
  * CompactRequest.beforeCompact,语义见彼处)。
10358
10387
  */
@@ -10364,10 +10393,10 @@ type GovernanceDirective = {
10364
10393
  verdict: GovernanceVerdict;
10365
10394
  };
10366
10395
  /**
10367
- * 生命周期事件(24 号 §2.1 生命周期行 + 屏障计时):
10396
+ * 生命周期事件(生命周期行 + 屏障计时):
10368
10397
  * - 'barrier':查询环每个压缩屏障点恰发一次(baseline 据此推进半开熔断
10369
10398
  * 计时 noteBarrier,并失效同屏障 microcompact 复用缓存);
10370
- * - setModel/preloadHistory/resetHistory/switchScheme:T-CTX04b 生命周期
10399
+ * - setModel/preloadHistory/resetHistory/switchScheme:生命周期
10371
10400
  * 事件表词表预留——现行装配层对这四径一律整实例重建 manager 与会话,
10372
10401
  * 事件不经此面分发;跨会话存续型策略进场时启用。
10373
10402
  */
@@ -10388,9 +10417,9 @@ interface GovernanceTouchedFileEntry {
10388
10417
  paths: readonly string[];
10389
10418
  }
10390
10419
  /**
10391
- * 工具结果落地视图(§2.1 表「工具结果落地」点位):一批 tool_result 回填
10392
- * 进消息序列前(已过 OPT-05 预算收束的入史形态)。baseline 消费
10393
- * touchedFiles 维护文件触达台账(T-CTX10);results 供未来工具结果治理类
10420
+ * 工具结果落地视图(「工具结果落地」点位):一批 tool_result 回填
10421
+ * 进消息序列前(已过预算收束的入史形态)。baseline 消费
10422
+ * touchedFiles 维护文件触达台账;results 供未来工具结果治理类
10394
10423
  * 机制观察,当前无消费方。
10395
10424
  */
10396
10425
  interface GovernanceToolResultView {
@@ -10401,7 +10430,7 @@ interface GovernanceToolResultView {
10401
10430
  interface GovernanceExecuteContext {
10402
10431
  view: ContextView;
10403
10432
  signal?: AbortSignal;
10404
- /** CM-02:终帧已报的摘要费用;查询取消可先于 execute 返回,不得丢弃已知用量。 */
10433
+ /** 终帧已报的摘要费用;查询取消可先于 execute 返回,不得丢弃已知用量。 */
10405
10434
  onUsage?: (usage: IRUsage) => void;
10406
10435
  }
10407
10436
  /**
@@ -10412,7 +10441,7 @@ interface GovernanceExecuteContext {
10412
10441
  * 2. assess(snapshot) 第一问;
10413
10442
  * 3. 得 microcompact 指令 → execute → 应用器落地 → assess **复问一次**
10414
10443
  * (每屏障至多一次 microcompact;复问不得再产 microcompact——baseline
10415
- * 以同屏障复用 measurementAfter 实现,T-CTX13-②);
10444
+ * 以同屏障复用 measurementAfter 实现);
10416
10445
  * 4. 得 compact 指令 → PreCompact hook(查询环)→ execute → 应用器落地
10417
10446
  * → 事件/悬诺/PostCompact hook → verdict 消费;
10418
10447
  * 5. 得 block 指令 → 查询环 fail-fast。
@@ -10427,10 +10456,10 @@ interface GovernanceSession {
10427
10456
  /** 执行指令产出变换(只接受 microcompact/compact 指令) */
10428
10457
  execute(directive: GovernanceDirective, context: GovernanceExecuteContext): Promise<GovernanceTransform>;
10429
10458
  /**
10430
- * T-C12 — 本屏障内对**当前历史形态**的最近一次水位评估(可选)。
10459
+ * 本屏障内对**当前历史形态**的最近一次水位评估(可选)。
10431
10460
  * 查询环输出预算钳制点(IR 构造前)复用其 measurement 计算窗口余量,
10432
- * 避免同屏障多余的全量估算遍(T-CTX13-② 三遍结构锁的口径延伸)与
10433
- * 校准配对基线被重复刷新(T-CTX06)。
10461
+ * 避免同屏障多余的全量估算遍(三遍结构锁的口径延伸)与
10462
+ * 校准配对基线被重复刷新。
10434
10463
  * 契约:返回的评估必须对应 assess/execute 协议走完后的消息数组现状
10435
10464
  * (microcompact 后 = measurementAfter 口径;compact 成功后 = 压缩后
10436
10465
  * measurementAfter 口径);无该屏障评估(manual/reactive 语境零测量、
@@ -10674,24 +10703,25 @@ declare function renderOpenMetrics(input: MetricsRegistry | MetricsSnapshot | re
10674
10703
  declare const OPENMETRICS_CONTENT_TYPE = "application/openmetrics-text; version=1.0.0; charset=utf-8";
10675
10704
 
10676
10705
  /**
10677
- * T-C1 — 查询环显式状态机(《07》§1.6 ①:显式状态 + while(true),非递归)。
10706
+ * 查询环显式状态机(显式状态 + while(true),非递归)。
10678
10707
  *
10679
10708
  * 七态语义:
10680
10709
  * - idle: runQuery 已创建、事件流尚未开始消费;
10681
10710
  * - assembling: 组装下一次模型请求(唯一注入屏障点:排队输入与上一轮
10682
- * tool_result 都只在进入本态时消费,见《07》§1.6 ⑨);
10711
+ * tool_result 都只在进入本态时消费);
10683
10712
  * - streaming: 模型流式调用进行中;
10684
10713
  * - awaiting_permission:工具执行被权限询问挂起(由 ToolExecutor 信号驱动,
10685
- * permission 决策本身是 T-C2/T-C3 的职责);
10714
+ * permission 决策本身是调度器/权限引擎的职责);
10686
10715
  * - executing_tools: 工具批执行中;
10687
- * - compacting: 上下文压缩(T-C10 已接线:轮间屏障点的阈值自动触发/
10716
+ * - compacting: 上下文压缩(轮间屏障点的阈值自动触发/
10688
10717
  * compactNow 手动/真溢出 reactive 三路都经本态);
10689
10718
  * - terminated: 终态,任何再迁移都是编程错误。
10690
10719
  */
10691
10720
  declare const KERNEL_STATES: readonly ["idle", "assembling", "streaming", "awaiting_permission", "executing_tools", "compacting", "terminated"];
10721
+ /** 查询环状态机的状态取值(KERNEL_STATES 成员)。 */
10692
10722
  type KernelState = (typeof KERNEL_STATES)[number];
10693
10723
 
10694
- /** INJ-00: 目标绑定当前句柄;session/租户/historyEpoch 由宿主校验。 */
10724
+ /** 预约式输入目标:绑定当前句柄;session/租户/historyEpoch 由宿主校验。 */
10695
10725
  interface QueryInputTarget {
10696
10726
  readonly turnId: string;
10697
10727
  }
@@ -10718,7 +10748,7 @@ interface QueryInputReservation {
10718
10748
  commit(): QueryInputReceipt;
10719
10749
  /** 只取消尚未 commit 的 reservation;已接纳输入由本轮正常消费/终止裁定。 */
10720
10750
  cancel(): QueryInputReceipt;
10721
- /** consumed/closed/cancelled 的最终回执;不是整个查询的真实资源完成屏障。 */
10751
+ /** consumed/closed/cancelled 的最终凭据;不是整个查询的真实资源完成屏障。 */
10722
10752
  readonly completion: Promise<QueryInputReceipt>;
10723
10753
  }
10724
10754
  type QueryInputReservationResult = {
@@ -10737,11 +10767,11 @@ type QueryInputReservationResult = {
10737
10767
  };
10738
10768
 
10739
10769
  /**
10740
- * T-C1 — 查询环对外类型:runQuery 选项/句柄、四计数、ToolExecutor 执行缝。
10770
+ * 查询环对外类型:runQuery 选项/句柄、四计数、ToolExecutor 执行缝。
10741
10771
  *
10742
- * 设计原则(《07》§1.6 ②):client 与 executor 都是注入接口——查询环只负责
10772
+ * 设计原则:client 与 executor 都是注入接口——查询环只负责
10743
10773
  * "收集 tool_call 块 → 交给 executor → 拿回 tool_result 回填下一轮 messages";
10744
- * 权限、并发、实际执行全部是 executor(T-C2 调度器)的职责。
10774
+ * 权限、并发、实际执行全部是 executor(调度器)的职责。
10745
10775
  */
10746
10776
 
10747
10777
  /** tool_result 块的窄化别名(executor 回填结果的元素类型) */
@@ -10766,7 +10796,7 @@ interface ProposedToolCall {
10766
10796
  }
10767
10797
  /** 执行器上下文:查询环传给 executor 的最小集合 */
10768
10798
  interface ToolExecutionContext {
10769
- /** 子查询实际收尾回执;先登记占位,业务事件结束后再兑现。不会等待在逻辑工具结果中。 */
10799
+ /** 子查询实际收尾结算;先登记占位,业务事件结束后再兑现。不会等待在逻辑工具结果中。 */
10770
10800
  registerResource?: (work: Promise<ResourceSettlementResult>) => void;
10771
10801
  /** 工具/调度真实Promise;硬超时仅结束业务观察,不能摘除尚在飞的底层操作。 */
10772
10802
  registerOperation?: (work: Promise<unknown>) => void;
@@ -10777,7 +10807,7 @@ interface ToolExecutionContext {
10777
10807
  /** 当前工具轮次(1 起) */
10778
10808
  toolRound: number;
10779
10809
  /**
10780
- * 当前查询消息的快照 getter(T-DA2,doc/optimize/27 §3.2):调用刻浅拷贝
10810
+ * 当前查询消息的快照 getter:调用刻浅拷贝
10781
10811
  * ——元素(IRMessage)不可变引用,数组本体与查询环解耦,后续轮次的
10782
10812
  * push 不进快照。Task 工具在派生时点经 ToolContext 冻结「父上下文快照」
10783
10813
  * 作裁决语境;嵌套派生天然各级自取(子查询环自己的消息)。可选——
@@ -10801,7 +10831,7 @@ type ToolExecutorYield = {
10801
10831
  state: 'awaiting_permission' | 'executing_tools';
10802
10832
  };
10803
10833
  /**
10804
- * 单次成功调用的文件触达清单(T-CTX10;调度器按 Tool.touchedPathsOf /
10834
+ * 单次成功调用的文件触达清单(调度器按 Tool.touchedPathsOf /
10805
10835
  * mutatedPathsOf 声明位采集,仅对非 isError 结果产出)。
10806
10836
  */
10807
10837
  interface TouchedFileEntry {
@@ -10820,14 +10850,14 @@ interface ToolExecutionOutcome {
10820
10850
  /** 执行器因 signal 主动提前收尾(查询环据此以 aborted_tools 终止) */
10821
10851
  aborted?: boolean;
10822
10852
  /**
10823
- * T-CTX10:本批**成功**调用的文件触达清单(查询环压缩后文件重建的台账
10853
+ * 本批**成功**调用的文件触达清单(查询环压缩后文件重建的台账
10824
10854
  * 数据源)。可选能力位——第三方最小实现可缺省,查询环按台账为空处理
10825
10855
  * (重建功能静默无候选,行为不变)。
10826
10856
  */
10827
10857
  touchedFiles?: readonly TouchedFileEntry[];
10828
10858
  }
10829
10859
  /**
10830
- * 工具执行缝(T-C2 调度器落地本接口;本卡提供测试用 SequentialToolExecutor)。
10860
+ * 工具执行缝(调度器落地本接口;另有测试用 SequentialToolExecutor)。
10831
10861
  * 契约:execute 对一批 calls 负责到底——permission 询问、并发调度、超时、
10832
10862
  * discard 都在实现内;查询环只消费 yield 的事件/状态信号并等待最终 outcome。
10833
10863
  */
@@ -10835,7 +10865,7 @@ interface ToolExecutor {
10835
10865
  execute(calls: ProposedToolCall[], ctx: ToolExecutionContext): AsyncGenerator<ToolExecutorYield, ToolExecutionOutcome, undefined>;
10836
10866
  }
10837
10867
  /**
10838
- * T-C10 — 查询环压缩接线选项(RunQueryOptions.compaction;提供即启用)。
10868
+ * 查询环压缩接线选项(RunQueryOptions.compaction;提供即启用)。
10839
10869
  *
10840
10870
  * 两种注入形态:
10841
10871
  * - `manager`:装配层持有的跨轮 ContextManager(账本锚点/附件签名/熔断计数
@@ -10868,7 +10898,7 @@ interface QueryCompactionOptions {
10868
10898
  model?: ResolvedModel;
10869
10899
  /**
10870
10900
  * 自建路径:token 估算器注入缝。
10871
- * T-CTX10 例外注记:压缩后文件重建的预算估算(run-query 注入点)也消费
10901
+ * 例外注记:压缩后文件重建的预算估算(run-query 注入点)也消费
10872
10902
  * 本字段,且**不受**「manager 在场忽略自建字段」通则约束——manager 内部
10873
10903
  * 估算器为私有不可达,重建预算独立取本字段(缺省回退默认估算器);两者
10874
10904
  * 口径偏差由 H2 帽(min(20K, 压缩回收量-1))兜底,方向安全。
@@ -10876,7 +10906,7 @@ interface QueryCompactionOptions {
10876
10906
  estimator?: TokenEstimator;
10877
10907
  /** 自建路径:保留最近 N 轮(round 粒度;单 round 超长时退化为折叠单元粒度);默认 2 */
10878
10908
  keepRecentRounds?: number;
10879
- /** 自建路径:首条用户消息(任务锚点)恒保留;默认 true(T-C10 保留策略) */
10909
+ /** 自建路径:首条用户消息(任务锚点)恒保留;默认 true */
10880
10910
  keepFirstUserMessage?: boolean;
10881
10911
  /** 自建路径:摘要指令模板/前导句注入缝 */
10882
10912
  instructionTemplate?: string;
@@ -10887,22 +10917,22 @@ interface QueryCompactionOptions {
10887
10917
  */
10888
10918
  auto?: boolean;
10889
10919
  /**
10890
- * T-CTX01(接口冻结):装配层注入的当前压缩模型 maxOutput 上限(来源 =
10891
- * cli 侧静态侧表,官方值带出处;CapabilitySchema.maxOutput RFC 通过后回迁)。
10920
+ * 装配层注入的当前压缩模型 maxOutput 上限(来源 =
10921
+ * cli 侧静态侧表,官方值带出处)。
10892
10922
  * 压缩输出预算 = min(maxOutputTokens ?? 20_000, thresholds.compactOutputBudget);
10893
- * 不得再与会话 options.maxTokens 钳制(P01 静默截断根因)。
10923
+ * 不得再与会话 options.maxTokens 钳制(否则摘要会被静默截断)。
10894
10924
  */
10895
10925
  maxOutputTokens?: number;
10896
10926
  /**
10897
- * T-CTX14a/14b:上下文治理只读观测缝(压缩生命周期 + microcompact 应用 +
10927
+ * 上下文治理只读观测缝(压缩生命周期 + microcompact 应用 +
10898
10928
  * 入史 clamp 计数)。kernel 公共 API(非 protocol);装配层消费写
10899
- * context-events.jsonl。T-CTX14b 签发权分布见 CompactionObserver 注释
10929
+ * context-events.jsonl。签发权分布见 CompactionObserver 注释
10900
10930
  * (成功结局经统一应用器;失败/no-op 在 manager 返回面)。回调异常不得
10901
10931
  * 影响压缩主链(fail-open,由消费侧自行捕获)。
10902
10932
  */
10903
10933
  observer?: CompactionObserver;
10904
10934
  /**
10905
- * K-5(doc/117 K-5「compactNow 把选项传下」的注入面):压缩前钩子(装配层
10935
+ * 压缩前钩子(「compactNow 把选项传下」的注入面;装配层
10906
10936
  * 落 pre_compaction 快照)。查询环在压缩屏障点组装为 CompactRequest.
10907
10937
  * beforeCompact(经 GovernanceDirective 输入面,与 instructions 同位)交
10908
10938
  * manager 调用;compactNow({ checkpoint }) 的选项经 context.checkpoint 抵达
@@ -10914,7 +10944,7 @@ interface QueryCompactionOptions {
10914
10944
  */
10915
10945
  beforeCompact?: QueryBeforeCompactHook;
10916
10946
  /**
10917
- * T-CTX10(CTX-P09):压缩后文件重建的读文件闭包(kernel 零文件 IO,
10947
+ * 压缩后文件重建的读文件闭包(kernel 零文件 IO,
10918
10948
  * 装配层注入,与 toolResultBudget.persist 先例同构)。在场时查询环维护
10919
10949
  * Read/Edit/Write 触达台账,压缩成功后把最近触达 top-3 文件以合成 tool
10920
10950
  * 对 + `<system-reminder>` 注入摘要之后、保留尾段之前(预算:单文件 5K /
@@ -10922,20 +10952,20 @@ interface QueryCompactionOptions {
10922
10952
  * 缺席 = 功能静默关闭(不记台账、不注入),行为与现状逐字节一致。
10923
10953
  * 注意:本字段由查询环消费(非 manager 构造集)——`manager` 注入形态下
10924
10954
  * 与自建形态同样生效,不受「manager 在场忽略自建字段」语义约束。
10925
- * T-CTX04a 起本闭包移交内置 baseline 治理会话(台账与注入随策略),
10955
+ * 本闭包由内置 baseline 治理会话消费(台账与注入随策略),
10926
10956
  * 注入语义与生命周期不变。
10927
10957
  */
10928
10958
  restoreFileReader?: RestoreFileReader;
10929
10959
  /**
10930
- * T-CTX02 / T-CTX04a:自建路径的压缩 round 模型调用超时(ms)。映射为
10960
+ * 自建路径的压缩 round 模型调用超时(ms)。映射为
10931
10961
  * manager 构造级 timeoutMs(取值链:CompactRequest 请求级 > 本构造级 >
10932
- * kernel 90s 缺省)——装配层方案 manager 级参数(T-CTX25)自此不再需要
10962
+ * kernel 90s 缺省)——装配层方案 manager 级参数自此不再需要
10933
10963
  * compact 包装缝。quirk 下限换算(max(90s, minTimeoutMs))仍是装配层
10934
10964
  * 注入前的责任。`manager` 注入形态下忽略(与其余自建字段同语义)。
10935
10965
  */
10936
10966
  timeoutMs?: number;
10937
10967
  /**
10938
- * T-CTX08 / T-CTX04a:自建路径的转录回查路径提示(字符串或求值闭包;
10968
+ * 自建路径的转录回查路径提示(字符串或求值闭包;
10939
10969
  * 语义见 ContextManagerCompactionOptions.transcriptHint)。映射为 manager
10940
10970
  * 构造级配置(请求级覆盖仍胜出)。`manager` 注入形态下忽略。
10941
10971
  */
@@ -10965,11 +10995,11 @@ interface QueryCompactionOptions {
10965
10995
  * Codex compact_model_reasoning_effort 同哲学——降配不换模);缺席/
10966
10996
  * 'inherit' = 继承主请求 thinking(现状零漂移)。门判在查询环
10967
10997
  * governance 组装点(run-query):'off' 的落线形态取决于下方
10968
- * thinkingOffSupported 能力位(C2/R1-P1-2)。
10998
+ * thinkingOffSupported 能力位。
10969
10999
  */
10970
11000
  thinkingMode?: 'inherit' | 'off';
10971
11001
  /**
10972
- * C2(R1-P1-2)— 压缩模型「思考可关」实证能力位(装配层随 maxOutputTokens
11002
+ * 压缩模型「思考可关」实证能力位(装配层随 maxOutputTokens
10973
11003
  * 同通道穿入:压缩模型解析后 capability.reasoning===true 且
10974
11004
  * thinkingOptional===true 的白名单实证,RFC-M3 B2 词表)。消费点 =
10975
11005
  * thinkingMode='off' 的落线分派:
@@ -11026,7 +11056,7 @@ interface QueryCompactionOptions {
11026
11056
  * P-CTX4 K16:估算-校准闭环门(doc/34 §3.4 机制 5;方案参数
11027
11057
  * bucketedCalibration/confidenceMarginRatio 经策略展开落此位)。映射为
11028
11058
  * manager 构造级配置(语义见 ContextManagerCompactionOptions.
11029
- * bucketedCalibration)。缺席 = 关(T-CTX06 标量语义零漂移);`manager`
11059
+ * bucketedCalibration)。缺席 = 关(单标量校准语义零漂移);`manager`
11030
11060
  * 注入形态下忽略(校准配置随外部 manager 构造)。
11031
11061
  */
11032
11062
  bucketedCalibration?: {
@@ -11043,15 +11073,15 @@ interface QueryCompactionOptions {
11043
11073
  enabled: boolean;
11044
11074
  };
11045
11075
  /**
11046
- * T-CTX04a(@experimental):治理策略会话注入缝。缺省 = 内置 baseline
11076
+ * 治理策略会话注入缝(@experimental)。缺省 = 内置 baseline
11047
11077
  * 策略包装本查询解析出的 ContextManager(行为与策略化前逐字节一致)。
11048
- * 注入时查询环五点位(24 号 §2.1)改经注入会话,ContextManager 仍作
11078
+ * 注入时查询环五点位改经注入会话,ContextManager 仍作
11049
11079
  * 账本/测量引擎由查询环持有(recordUsage/compactNow 守卫不变)。
11050
11080
  * 注入面限装配层(围栏 3);会话生命周期由注入方管理。
11051
11081
  */
11052
11082
  session?: GovernanceSession;
11053
11083
  /**
11054
- * T-CTX19(CTX-P08):自建路径的附件注册表参数(TTL 轮数/session 字节
11084
+ * 自建路径的附件注册表参数(TTL 轮数/session 字节
11055
11085
  * 预算)。附件三态裁决(注入/引用化/预算拒绝)的调用方:TUI @file 引用
11056
11086
  * (装配层 session-driver)与查询环诊断类元注入(reminder 径)。
11057
11087
  * `manager` 注入形态下忽略(与其余自建字段同语义——注册表随 manager
@@ -11107,7 +11137,7 @@ type CompactNowRejectReason =
11107
11137
  */
11108
11138
  | 'empty_history'
11109
11139
  /**
11110
- * T-CTX23:PreCompact hook 阻断本次压缩(exit 2 / decision=deny|block)。
11140
+ * PreCompact hook 阻断本次压缩(exit 2 / decision=deny|block)。
11111
11141
  * 显式协议行为而非故障——hook 作者对压缩行使否决权,历史未改动。
11112
11142
  */
11113
11143
  | 'hook_blocked';
@@ -11377,7 +11407,7 @@ interface QueryCounters {
11377
11407
  toolRounds: number;
11378
11408
  /** 连续可恢复错误数(任何一次成功流式响应清零) */
11379
11409
  consecutiveErrors: number;
11380
- /** 注入屏障已消费的旧 enqueue 输入条数;strict input 按回执独立核对,避免宿主 slice 错位。 */
11410
+ /** 注入屏障已消费的旧 enqueue 输入条数;strict input 按凭据独立核对,避免宿主 slice 错位。 */
11381
11411
  queueInjections: number;
11382
11412
  /**
11383
11413
  * CW11-W3(doc/58 W3 #7)— 触帽升档重试次数(遥测:每次废弃截断响应并
@@ -11573,7 +11603,7 @@ interface QueryHandle {
11573
11603
  /** 事件流:protocol 完整事件(包络+负载),seq 单调 */
11574
11604
  events: AsyncGenerator<KernelEvent, void, undefined>;
11575
11605
  /**
11576
- * CM-13:等待已经启动的查询及模型/工具生成器真实收尾,不消费事件、不中止。
11606
+ * 等待已经启动的查询及模型/工具生成器真实收尾,不消费事件、不中止。
11577
11607
  * 终态事件仅代表逻辑结束;timeout/cancelled保留实际在飞工作,可再次等待。
11578
11608
  * runQuery恒提供;第三方旧句柄可缺席,此时调用方只能证明其既有迭代器合同。
11579
11609
  */
@@ -11583,7 +11613,7 @@ interface QueryHandle {
11583
11613
  * 的屏障点消费;终态后调用为无害空操作(运行时竞态,非编程错误)。
11584
11614
  */
11585
11615
  enqueueUserInput(text: string): void;
11586
- /** INJ-00 加法能力;旧句柄可缺席。目标为本轮,不隐式创建后续轮。 */
11616
+ /** 预约式输入(加法能力);旧句柄可缺席。目标为本轮,不隐式创建后续轮。 */
11587
11617
  reserveUserInput?(input: QueryInputSubmission): QueryInputReservationResult;
11588
11618
  inputReceipts?(): readonly QueryInputReceipt[];
11589
11619
  inputTarget?(): QueryInputTarget & {
@@ -11608,7 +11638,7 @@ interface QueryHandle {
11608
11638
  */
11609
11639
  messages(): IRMessage[];
11610
11640
  /**
11611
- * 手动压缩(/compact 接线语义,T-C10):请求排队到下一个轮间屏障点执行
11641
+ * 手动压缩(/compact 接线语义):请求排队到下一个轮间屏障点执行
11612
11642
  * (运行中轮不可就地压缩——流式/工具期间历史正在生长,折叠边界无从落定),
11613
11643
  * 返回的 promise 在屏障点执行后兑现;并发调用合流到同一次执行。
11614
11644
  * 未接压缩缝立即拒绝 not_configured;已终态(或排队后直到终态未再经过
@@ -11623,10 +11653,10 @@ interface QueryHandle {
11623
11653
  }
11624
11654
 
11625
11655
  /**
11626
- * T-C2 — 权限缝最小接口。
11656
+ * 权限缝最小接口。
11627
11657
  *
11628
- * T-C3 权限引擎并行开发中,本目录不得 import permissions/;这里只定义调度器
11629
- * 需要的最小决策接口,集成适配由主会话完成。语义:
11658
+ * 权限引擎与调度器分层开发,本目录不得 import permissions/;这里只定义调度器
11659
+ * 需要的最小决策接口,集成适配由装配层完成。语义:
11630
11660
  * - decide 返回 allow → 直接执行;deny → 签发 tool.permission.decided 并产出
11631
11661
  * isError tool_result;ask → 经 awaiting_permission 状态往返询问 askUser;
11632
11662
  * - 未注入 askUser 时 ask 降级为 deny(headless 场景,source 记为 'policy');
@@ -11642,23 +11672,23 @@ interface GateDecision {
11642
11672
  decision: PermissionDecision;
11643
11673
  source: DecisionSource;
11644
11674
  /**
11645
- * 命中的规则原文(contract-v0.2,T-C3 RFC):引擎侧
11675
+ * 命中的规则原文(contract-v0.2):引擎侧
11646
11676
  * PermissionDecisionResult.matchedRule 的透传位,调度器原样落进
11647
11677
  * tool.permission.decided 事件体;无规则命中(模式短路/兜底 ask)时缺省。
11648
11678
  */
11649
11679
  matchedRule?: string;
11650
11680
  /**
11651
- * 入参替换(T-G3 PreToolUse hooks 的 updatedInput,doc/07 §6.5):
11681
+ * 入参替换(PreToolUse hooks 的 updatedInput):
11652
11682
  * 存在时调度器以此覆盖 call.args 执行(询问对话框同样展示替换后入参,
11653
11683
  * 用户看到的即将执行的真实参数)。仅门面(L4 装配)可产出;引擎侧无此位。
11654
11684
  */
11655
11685
  updatedArgs?: Record<string, unknown>;
11656
11686
  /**
11657
11687
  * 裁决理由(自由文本;恒不进 tool.permission.decided 事件,契约零改动)。
11658
- * - **deny**(T-K1 deny-and-continue;source='classifier' 的收紧、hook 收紧、
11688
+ * - **deny**(deny-and-continue;source='classifier' 的收紧、hook 收紧、
11659
11689
  * hard-safety 等):调度器把理由并入 isError tool_result 文本回喂模型——
11660
11690
  * 模型据此调整路线继续本轮;
11661
- * - **ask**(doc/113 姿态 rejectEffect='ask';source='classifier'):裁决人
11691
+ * - **ask**(姿态 rejectEffect='ask';source='classifier'):裁决人
11662
11692
  * 判为危险但升到询问面——调度器把本决策整体作 askUser 第三参
11663
11693
  * `decision` 透传,询问面据 `reason` 呈现「裁决人判为危险:…」供用户
11664
11694
  * 终审;该 ask 终局为 deny(用户拒 / 无询问通道地板)时理由同样进
@@ -11668,20 +11698,20 @@ interface GateDecision {
11668
11698
  */
11669
11699
  reason?: string;
11670
11700
  /**
11671
- * 命中规则所在层(T-K0 归因;仅规则命中携带)。字面量联合与 kernel
11701
+ * 命中规则所在层(归因;仅规则命中携带)。字面量联合与 kernel
11672
11702
  * permissions/types.ts 的 RuleLayerName 逐字对齐——本目录不 import
11673
- * permissions/(T-C2 并行开发铁律),结构兼容由装配层保证。询问面据此
11703
+ * permissions/(分层铁律),结构兼容由装配层保证。询问面据此
11674
11704
  * 显示项目来源(仓库 deny/ask 即时生效,但用户须看见是谁在约束)。
11675
11705
  */
11676
11706
  sourceLayer?: 'policy' | 'projectLocal' | 'projectShared' | 'user';
11677
11707
  /**
11678
- * 派生裁决链语境(T-DA3,doc/optimize/27 §3.5):子代理 ask 经父裁决后
11708
+ * 派生裁决链语境:子代理 ask 经父裁决后
11679
11709
  * endorse/escalate 上升到用户终审时,执行器把逐级裁决留痕挂在此位——
11680
11710
  * 终审弹卡呈现完整责任链(「父 X 为子 Y 的操作 Z 担保,理由 W,责任人
11681
11711
  * X」)。仅裁决链路径携带;主代理直接询问恒缺省。
11682
11712
  */
11683
11713
  adjudication?: {
11684
- /** 逐级裁决条目(P-D1 恒一级;T-DA8 递归后为多级) */
11714
+ /** 逐级裁决条目(单层派生恒一级;递归派生为多级) */
11685
11715
  chain: readonly AdjudicationChainEntry[];
11686
11716
  /** true = 父担保上报(endorse);false = 父不能决上升(escalate) */
11687
11717
  endorsed: boolean;
@@ -11691,7 +11721,7 @@ interface GateDecision {
11691
11721
  childDescription: string;
11692
11722
  };
11693
11723
  /**
11694
- * 分类器裁决意见段(CW19-U3a,RFC-U3 §十审计词表归一):引擎**真实模型
11724
+ * 分类器裁决意见段(审计词表归一):引擎**真实模型
11695
11725
  * 咨询**归一意见后经装配层网关透传至此(结构与 kernel permissions/
11696
11726
  * types.ts 的 PermissionAdjudicationEntry 同构——本目录不 import
11697
11727
  * permissions/,结构兼容由装配层保证,sourceLayer 同例)。执行器把本段
@@ -11704,24 +11734,24 @@ interface GateDecision {
11704
11734
  * 询问回调:表面层(TUI/headless 编排)注入;resolve 为用户的最终选择。
11705
11735
  * signal:调用方(调度器)的中断信号——回合 Esc/中止时表面层据此撤回
11706
11736
  * 询问对话框(不撤回则残留幽灵对话框,堵塞后续对话框队列)。
11707
- * decision:触发本次询问的门面决策(T-K0 归因展示;matchedRule/sourceLayer
11708
- * 供对话框呈现「哪条规则、来自哪层」;doc/113 姿态下 source='classifier' +
11737
+ * decision:触发本次询问的门面决策(归因展示;matchedRule/sourceLayer
11738
+ * 供对话框呈现「哪条规则、来自哪层」;'ask' 姿态下 source='classifier' +
11709
11739
  * reason 供呈现「裁决人判为危险:…」)。旧实现忽略第三参数即向后兼容。
11710
11740
  */
11711
11741
  type AskUserCallback = (call: ProposedToolCall, signal?: AbortSignal, decision?: GateDecision) => Promise<'allow' | 'deny'>;
11712
11742
 
11713
11743
  /**
11714
- * T-DA1 — 裁决路由器(AskRouter):ask 终局出口的单一路由策略。
11744
+ * 裁决路由器(AskRouter):ask 终局出口的单一路由策略。
11715
11745
  *
11716
- * 背景(doc/optimize/27 §3.1 流转总图):权限引擎产出 ask 终局后,出路
11746
+ * 背景:权限引擎产出 ask 终局后,出路
11717
11747
  * 此前散落三处——主代理经 askUser 弹卡(TUI/K11 远程审批同为 askUser 的
11718
11748
  * 装配变体)、子代理无通道降 deny、headless 无通道降 deny。本文件把
11719
11749
  * 「往哪去」收敛为一个纯函数,调度器按目标执行:
11720
- * - `parent-adjudication`:派生裁决链(T-DA2,子代理执行器专属)——ask
11750
+ * - `parent-adjudication`:派生裁决链(子代理执行器专属)——ask
11721
11751
  * 先由「派生时点上下文中的父代理」裁决(reject/endorse/escalate);
11722
11752
  * - `user-dialog`:本级询问通道(askUser 回调:TUI 弹卡 / K11 挑战投递 /
11723
11753
  * ACP requestPermission);
11724
- * - `floor-deny`:fail-closed 地板(B-3)——链的尽头无人时恒 deny,
11754
+ * - `floor-deny`:fail-closed 地板——链的尽头无人时恒 deny,
11725
11755
  * 永不 fail-open。
11726
11756
  *
11727
11757
  * 优先序即安全序:裁决器在场必先走链(链顶仍可能是 user-dialog 或地板);
@@ -11809,7 +11839,7 @@ interface MemoryWriteContext {
11809
11839
  }
11810
11840
 
11811
11841
  /**
11812
- * T-D2 残项 — grep 轮次聚合埋点(《10》§6.3:一期统计 agent 单任务 grep
11842
+ * grep 轮次聚合埋点(一期统计 agent 单任务 grep
11813
11843
  * 轮次,为二期「语义索引开启信号」提供数据支撑——开启信号词表:仓库
11814
11844
  * >1000 文件 / 跨仓检索 / 概念性查询占比高 / grep 往返超阈值)。
11815
11845
  *
@@ -11869,15 +11899,15 @@ declare class GrepRoundAggregator {
11869
11899
 
11870
11900
  /**
11871
11901
  * 工具运行时契约(kernel 内部,预先冻结供并行任务面向接口编程)。
11872
- * 设计依据《06》§1.1:工具只产出结构化数据,渲染由表面层按事件类型注册;
11873
- * 《07》§1.4:isReadOnly/isConcurrencySafe 强制静态声明,供调度器(T-C2)与
11874
- * 权限引擎(T-C3)使用,不允许运行期才暴露。
11902
+ * 设计要点:工具只产出结构化数据,渲染由表面层按事件类型注册;
11903
+ * isReadOnly/isConcurrencySafe 强制静态声明,供调度器与
11904
+ * 权限引擎使用,不允许运行期才暴露。
11875
11905
  */
11876
11906
 
11877
11907
  /**
11878
- * CW11-W2 Read 去重窗口:最近一次成功文本读取的请求与规模快照。
11908
+ * Read 去重窗口:最近一次成功文本读取的请求与规模快照。
11879
11909
  * 同键(offset/limit 归一后)+ mtime 未变的重复读 → 一句桩文本替代全文
11880
- * 重发(doc/58 W2 #1;CC 实测 18% 的 Read 是重复读)。一次性语义:命中
11910
+ * 重发(CC 实测 18% 的 Read 是重复读)。一次性语义:命中
11881
11911
  * 即清除本窗口,紧接着的再次同读放行全文——防「早前结果已被 microcompact
11882
11912
  * 淘汰时模型无路取回」死角(桩绝不连发)。
11883
11913
  */
@@ -11891,11 +11921,11 @@ interface ReadDedupWindow {
11891
11921
  /** 实际返回的行区间(1 起含端点);未返回任何行时为 null */
11892
11922
  returnedRange: [number, number] | null;
11893
11923
  }
11894
- /** Read 工具记录、Edit/Write 校验的跨调用文件状态(mtime 失效检测,T-D1) */
11924
+ /** Read 工具记录、Edit/Write 校验的跨调用文件状态(mtime 失效检测) */
11895
11925
  interface FileReadState {
11896
11926
  mtimeMs: number;
11897
11927
  /**
11898
- * 读取 / 写入时的内容快照哈希(sha256 hex;FX-B-20 / T-13 起有写入点:Read 整读
11928
+ * 读取 / 写入时的内容快照哈希(sha256 hex;写入点:Read 整读
11899
11929
  * 与流式分页全流、Write / Edit 写后皆登记)。Write / Edit 写前在 mtime 律之外
11900
11930
  * 再以全文哈希比对——mtime 未变而内容已变亦拒。缺席 = 该登记无全文可计(旧
11901
11931
  * 登记 / 图片读),守卫只按 mtime。
@@ -11904,6 +11934,10 @@ interface FileReadState {
11904
11934
  /** 最近一次成功文本读取的去重窗口(Write/Edit 登记与图片读取不携带) */
11905
11935
  lastRead?: ReadDedupWindow;
11906
11936
  }
11937
+ /**
11938
+ * 工具执行上下文:由调度器在每次 execute 前注入——工作目录、取消信号、事件发射口、
11939
+ * 会话级文件读取状态,以及若干可选的注入缝(fs 世界、检索聚合器、裁决语境、记忆写回)。
11940
+ */
11907
11941
  interface ToolContext {
11908
11942
  /** Retain a nested query's actual cleanup; this does not delay its business result or cancel it. */
11909
11943
  registerResource?: (work: Promise<ResourceSettlementResult>) => void;
@@ -11914,43 +11948,44 @@ interface ToolContext {
11914
11948
  /** 会话级共享:path → 读取状态 */
11915
11949
  fileReadState: Map<string, FileReadState>;
11916
11950
  /**
11917
- * Q4-6(EW-1)执行世界 fs 缝:工具的一切文件系统副作用经此面(缺省
11951
+ * 执行世界 fs 缝:工具的一切文件系统副作用经此面(缺省
11918
11952
  * defaultFs = node:fs/promises 直通薄壳,行为与直用逐字节一致)。可选——
11919
11953
  * 直调/最小执行器缺省时工具以 fsOf(ctx) 落缺省世界;调度器恒注入。
11920
11954
  * 权限判定不经此面(gate.decide 恒先于工具 execute,红线 3)。
11921
11955
  */
11922
11956
  fs?: FsLike;
11923
11957
  /**
11924
- * 本次调用的 toolCallId(contract-v0.1 增补):由调度器(T-C2)注入,
11958
+ * 本次调用的 toolCallId(contract-v0.1 增补):由调度器注入,
11925
11959
  * 工具据此构造 tool.progress / tool.output.delta 负载。可选——直调场景可缺省。
11926
11960
  */
11927
11961
  toolCallId?: string;
11928
11962
  /**
11929
- * 检索轮次聚合器(T-D2 残项):调度器(T-C2)会话级注入,Grep 工具
11963
+ * 检索轮次聚合器:调度器会话级注入,Grep 工具
11930
11964
  * 逐调用记样本;可选——直调场景可缺省,埋点静默不记。
11931
11965
  */
11932
11966
  searchAggregator?: GrepRoundAggregator;
11933
11967
  /**
11934
- * 当前查询消息的快照 getter(T-DA2):调度器从 ToolExecutionContext
11968
+ * 当前查询消息的快照 getter:调度器从 ToolExecutionContext
11935
11969
  * 透传;Task 工具在派生时点调用一次,冻结「父上下文快照」作派生裁决链
11936
- * 的裁决语境(doc/optimize/27 §3.2)。可选——直调/最小执行器缺省时
11970
+ * 的裁决语境。可选——直调/最小执行器缺省时
11937
11971
  * 裁决链静默不可用(escalate 语义不受影响,只是无从起裁决查询)。
11938
11972
  */
11939
11973
  transcript?: () => readonly IRMessage[];
11940
11974
  /**
11941
- * 本执行器的裁决人链(T-DA8 递归上升,27 号 §3.4):子代理执行器在场时
11975
+ * 本执行器的裁决人链(递归上升):子代理执行器在场时
11942
11976
  * 由调度器注入([直接父, 祖父, …] 由近及远,各级持自己的派生时点快照)。
11943
11977
  * Task 工具派生下一级时以 [本级新裁决器, ...本链] 延长——孙的 ask 经
11944
11978
  * 子→主逐级上升。主执行器恒缺省(子链即单级)。
11945
11979
  */
11946
11980
  adjudicationAncestors?: readonly ParentAdjudicator[];
11947
11981
  /**
11948
- * TMEM/1 记忆写上下文(TM-2/TM-3;doc/38 §4.2 写回):门开时调度器自
11982
+ * 记忆写上下文:门开时调度器自
11949
11983
  * 执行器选项透传——Write/Edit 据此触发真实目标含入复核、写前秘密扫描
11950
11984
  * 与索引写后体检。缺省 = 门关,工具行为与现状逐字节一致。
11951
11985
  */
11952
11986
  memoryWrite?: MemoryWriteContext;
11953
11987
  }
11988
+ /** 工具结果的单个内容块:文本,或 base64 编码的图片。 */
11954
11989
  type ToolResultContent = {
11955
11990
  t: 'text';
11956
11991
  text: string;
@@ -11959,6 +11994,7 @@ type ToolResultContent = {
11959
11994
  mime: string;
11960
11995
  data: string;
11961
11996
  };
11997
+ /** 工具执行结果:回给模型的内容块、业务级失败标记与给表面层渲染器的结构化数据。 */
11962
11998
  interface ToolResult {
11963
11999
  /** 回给模型的内容 */
11964
12000
  content: ToolResultContent[];
@@ -11969,13 +12005,17 @@ interface ToolResult {
11969
12005
  /** 工具效应词表(应用协议 v1;冻结四值——「批量」是调用属性由参数判,不入表) */
11970
12006
  declare const TOOL_EFFECTS: readonly ["irreversible", "financial", "external", "affects-others"];
11971
12007
  type ToolEffect = (typeof TOOL_EFFECTS)[number];
12008
+ /**
12009
+ * 工具定义:名称、模型可见描述、zod 参数 schema、只读 / 并发安全等静态声明与 execute 实现。
12010
+ * 工具只产出结构化数据,渲染归表面层;权限判定由调度器在 execute 之前完成。
12011
+ */
11972
12012
  interface Tool<Args = unknown> {
11973
12013
  /** 唯一名(进模型 prompt 与权限规则,如 "Read"/"Shell") */
11974
12014
  name: string;
11975
12015
  /** 模型可见描述(英文) */
11976
12016
  description: string;
11977
12017
  /**
11978
- * TCB/1 CB-3 — 模型可见短态描述(英文;一句话 + 参数签名要点)。可选
12018
+ * 模型可见短态描述(英文;一句话 + 参数签名要点)。可选
11979
12019
  * 资产位:装配层分段预算分配器(cli assembly/section-budget.ts)在工具
11980
12020
  * 段预算压力下以短态替换 description 进请求;缺席/门关恒用 description
11981
12021
  * (请求字节与现状逐字节一致)。执行语义与本字段无关。
@@ -11986,7 +12026,7 @@ interface Tool<Args = unknown> {
11986
12026
  /** 只读工具可并发、可在 plan 模式放行(声明即契约,调度器强制) */
11987
12027
  isReadOnly: boolean;
11988
12028
  /**
11989
- * 效应声明(应用协议 v1,doc/optimize/37 §5):开发者对本工具副作用性质的
12029
+ * 效应声明(应用协议 v1):开发者对本工具副作用性质的
11990
12030
  * 自述——`irreversible`(不可逆)/ `financial`(资金流动)/ `external`
11991
12031
  * (触达外部系统或第三方)/ `affects-others`(影响其他用户或租户)。
11992
12032
  * **信号不是闸门**:只进裁决人语境(`<tool>` 段)与遥测标签,不参与任何
@@ -12031,7 +12071,7 @@ interface Tool<Args = unknown> {
12031
12071
  */
12032
12072
  mutatedPathsOf?(args: unknown): string[];
12033
12073
  /**
12034
- * 文件读取触达声明位(T-CTX10,与 mutatedPathsOf 同构的只读侧):返回
12074
+ * 文件读取触达声明位( mutatedPathsOf 同构的只读侧):返回
12035
12075
  * 本次调用将读取的文件绝对路径集。调度器在调用**成功**后采集(与
12036
12076
  * mutatedPathsOf 合并)进 ToolExecutionOutcome.touchedFiles,作查询环
12037
12077
  * 压缩后文件重建的触达台账数据源。约定同 mutatedPathsOf:args 畸形或
@@ -12098,10 +12138,12 @@ declare function runQuery(options: RunQueryOptions): QueryHandle;
12098
12138
  */
12099
12139
  type SchemeManagerOptions = Pick<QueryCompactionOptions, 'thresholds' | 'keepRecentRounds' | 'keepFirstUserMessage' | 'auto' | 'timeoutMs' | 'thinkingMode' | 'toolResultDecay' | 'endpointAware' | 'cacheAwareRewrite' | 'budgetAwareness' | 'anchorLayer' | 'bucketedCalibration' | 'segmentLookback'>;
12100
12140
 
12141
+ /** 会话级输入的目标绑定:历史纪元 + 当前轮句柄,二者皆须与宿主现状一致。 */
12101
12142
  interface SessionInputTarget {
12102
12143
  readonly historyEpoch: string;
12103
12144
  readonly turnId: string;
12104
12145
  }
12146
+ /** 会话级输入内容:纯文本,或仅含 text 块的块数组(图片等不受理)。 */
12105
12147
  type SessionInputContent = {
12106
12148
  readonly text: string;
12107
12149
  } | {
@@ -12110,18 +12152,22 @@ type SessionInputContent = {
12110
12152
  readonly text: string;
12111
12153
  }[];
12112
12154
  };
12155
+ /** 一次会话级输入提交:幂等 inputId、目标绑定、内容与期望的确认级别。 */
12113
12156
  interface SessionInputSubmission {
12114
12157
  readonly inputId: string;
12115
12158
  readonly target: SessionInputTarget;
12116
12159
  readonly content: SessionInputContent;
12117
12160
  readonly ack?: 'memory' | 'durable';
12118
12161
  }
12162
+ /** 会话级输入凭据:在查询输入凭据之上附会话 id、历史纪元与耐久性级别(仅 memory)。 */
12119
12163
  interface SessionInputReceipt extends QueryInputReceipt {
12120
12164
  readonly sessionId: string;
12121
12165
  readonly historyEpoch: string;
12122
12166
  readonly durability: 'memory';
12123
12167
  }
12168
+ /** 会话级输入的拒绝码:查询层拒绝码之外增纪元不符、不支持的确认级别 / 内容 / 输入形态。 */
12124
12169
  type SessionInputRejectCode = QueryInputRejectCode | 'epoch_mismatch' | 'durable_unsupported' | 'content_unsupported' | 'input_unsupported';
12170
+ /** 会话级输入提交的结果:accepted 携凭据;closed / rejected 携拒绝码。 */
12125
12171
  type SessionInputResult = {
12126
12172
  readonly outcome: 'accepted';
12127
12173
  readonly receipt: SessionInputReceipt;
@@ -12129,6 +12175,7 @@ type SessionInputResult = {
12129
12175
  readonly outcome: 'closed' | 'rejected';
12130
12176
  readonly code: SessionInputRejectCode;
12131
12177
  };
12178
+ /** 会话级输入能力声明:宿主据此得知受理的内容形态、确认级别、凭据保留窗口与当前目标。 */
12132
12179
  interface SessionInputCapabilities {
12133
12180
  readonly version: 1;
12134
12181
  readonly text: boolean;
@@ -12191,43 +12238,44 @@ interface KernelMetrics {
12191
12238
  declare function kernelMetricsFor(registry?: MetricsRegistry): KernelMetrics;
12192
12239
 
12193
12240
  /**
12194
- * FX-B-04(十王修案 B 分册 §三 S2;doc/113 §1.4)— 裁决姿态推导的**唯一**实现。
12241
+ * 裁决姿态推导的**唯一**实现。
12195
12242
  *
12196
- * 不变量(doc/130 §二 L3「单点收敛」):「裁决人判危险的落地形(rejectEffect)」只有
12243
+ * 不变量(「单点收敛」):「裁决人判危险的落地形(rejectEffect)」只有
12197
12244
  * 一个推导函数,住 kernel;cli 四入口 / 两会话工厂、sdk 令牌档、serve /v2 平台内置形
12198
12245
  * 三形只传**事实**(询问通道在场性、显式覆盖),不再各写字面表。此前三份副本:
12199
12246
  * sdk `adjudication/assemble.ts` 与 server `v2/adjudication.ts` 逐字相同的三元式,
12200
12247
  * cli 却按「入口表面」查静态表(TUI ask / headless·acp·serve deny)——而 askUser
12201
12248
  * 在场性对 serve(/v2 权限桥 / K11 审批)与 acp(requestPermission)是**逐会话**事实,
12202
- * 静态表把「接了通道的 serve 会话」一律判 deny(J-01)
12249
+ * 静态表把「接了通道的 serve 会话」一律判 deny。
12203
12250
  *
12204
- * 姿态词表(doc/113 §1.2;表面属性,不是应用属性):
12251
+ * 姿态词表(表面属性,不是应用属性):
12205
12252
  * - `human-in-loop`(A 人在环):裁决人判危险 → 升到询问面(rejectEffect 'ask',携理由
12206
12253
  * 交用户终审;用户拒即 deny;机器恒不代批);
12207
12254
  * - `headless`(B 无人环):判危险 → deny(deny-and-continue,理由回喂模型)。
12208
12255
  *
12209
12256
  * 本文件零 IO、零副作用(只引类型);显式 A × 无通道的 fail-fast 由调用方按各自文案裁
12210
- * (sdk 既有 invalid_options 文案不变),推导函数不抛。FX-B-05 追加
12257
+ * (sdk 既有 invalid_options 文案不变),推导函数不抛。另提供
12211
12258
  * `modeUnderAdjudicator({ posture, tier })`——裁决人在场时的权限模式的**唯一**推导
12212
- * (sdk `assembleTooling` / serve `platform-session-factory` 同源;J-03 / 候拍 ③ (a)+(c))
12259
+ * (sdk `assembleTooling` / serve `platform-session-factory` 同源)。
12213
12260
  */
12214
12261
 
12215
- /** 裁决姿态词表(doc/113 §1.2) */
12262
+ /** 裁决姿态词表 */
12216
12263
  declare const ADJUDICATION_POSTURES: readonly ["human-in-loop", "headless"];
12264
+ /** 裁决姿态:'human-in-loop' 危险判定升到询问面由用户终审;'headless' 危险判定直接 deny 并回喂模型。 */
12217
12265
  type AdjudicationPosture = (typeof ADJUDICATION_POSTURES)[number];
12218
12266
 
12219
12267
  /**
12220
- * T-K10a — 决策归因记录(INV-8):每个经权限门**终局解决**的工具调用产出
12268
+ * 决策归因记录(INV-8):每个经权限门**终局解决**的工具调用产出
12221
12269
  * 一条内部 DecisionRecord——含 allow(此前 allow 无事件不可见,是归因链的
12222
12270
  * 主缺口);deny/ask 路径与既有 tool.permission.decided 事件并行产记录,
12223
- * 事件面零改动(不动 protocol 词表;source 细化的事件流版本走 RFC §6-1)。
12271
+ * 事件面零改动(不动 protocol 词表;source 细化的事件流版本另走协议评审)。
12224
12272
  *
12225
- * 分层定位:本文件属 dispatch 目录,遵守 T-C2 铁律不 import permissions/;
12273
+ * 分层定位:本文件属 dispatch 目录,遵守分层铁律不 import permissions/;
12226
12274
  * 记录携带的是门面(GateDecision)已有信息 + 调用身份 + 目标摘要投影。
12227
12275
  * 落盘、脱敏(INV-10)、策略快照标识与模式富化由装配层写入器负责
12228
12276
  * (cli/assembly/decision-records.ts)——内核只产结构,不做 IO。
12229
12277
  *
12230
- * 完整率口径(05 §16「归因完整率」):分母 = 经门判定且**终局解决**
12278
+ * 完整率口径(「归因完整率」):分母 = 经门判定且**终局解决**
12231
12279
  * (allow/deny 落定)的调用;询问期间被中断(Esc/abort)的调用无终局,
12232
12280
  * 不产记录、不进分母。gateDecision 与 decision 两字段并存可答「门面初判
12233
12281
  * 是什么、最终谁拍板」:如 gateDecision='ask' + decision='allow' +
@@ -12249,16 +12297,16 @@ interface ToolDecisionRecord {
12249
12297
  source: DecisionSource;
12250
12298
  /** 门面初判(三态;与 decision 并存供归因分辨,见文件头) */
12251
12299
  gateDecision: 'allow' | 'deny' | 'ask';
12252
- /** 命中规则所在真实层(T-K0 透传;规则命中才有) */
12300
+ /** 命中规则所在真实层(透传;规则命中才有) */
12253
12301
  sourceLayer?: 'policy' | 'projectLocal' | 'projectShared' | 'user';
12254
12302
  /** 命中规则原文(含 baseline/protected-path/hard-safety 伪规则) */
12255
12303
  matchedRule?: string;
12256
- /** 分类器/门面理由(T-K1 deny-and-continue 的 reason 透传) */
12304
+ /** 分类器/门面理由(deny-and-continue 的 reason 透传) */
12257
12305
  reason?: string;
12258
12306
  /** 目标摘要(参数投影原文;**未脱敏**,写入器落盘前过 redactDeep) */
12259
12307
  targetSummary?: string;
12260
12308
  /**
12261
- * 派生裁决链留痕(T-DA4,INV-D4):子代理 ask 经裁决链时逐级
12309
+ * 派生裁决链留痕(INV-D4):子代理 ask 经裁决链时逐级
12262
12310
  * {adjudicator, verdict, reason, via, elapsedMs};reason **未脱敏**,
12263
12311
  * 写入器落盘前过 redactDeep(同 targetSummary 纪律)。旧记录无此字段,
12264
12312
  * 读侧(/explain、doctor)按缺省空态兼容。仅裁决链路径落键。
@@ -12323,10 +12371,10 @@ interface SessionStoreCoreWarning {
12323
12371
  }
12324
12372
 
12325
12373
  /**
12326
- * 会话历史分层存储 · 调用契约(doc/120 §3;doc/119 IO-02「接口先冻」)。
12374
+ * 会话历史分层存储 · 调用契约(接口先冻)。
12327
12375
  *
12328
12376
  * 这里只有**运行时接口**;持久化数据契约(段条目 / 清单)在 protocol `storage.ts`
12329
- * (contract-v0.22,RFC-SC-4)。分层核接在既有段层之上(journal/{writer,reader,manifest}.ts:
12377
+ * (contract-v0.22)。分层核接在既有段层之上(journal/{writer,reader,manifest}.ts:
12330
12378
  * 写侧 `onSegmentSealed` 钩子 → 上传不可变段;读侧 `segmentSource` 钩子 → 本地段缺席时回源),
12331
12379
  * 热层本地盘恒为耐久性地板,冷层只承接封存后不可变的段 / 快照 / 附件。
12332
12380
  *
@@ -12340,6 +12388,7 @@ interface SessionStoreCoreWarning {
12340
12388
  */
12341
12389
 
12342
12390
  type StoreErrorKind = 'transient' | 'permanent' | 'not_found' | 'precondition_failed';
12391
+ /** 构造 StoreError 时的附加信息:原始异常与 transient 类的重试建议。 */
12343
12392
  interface StoreErrorOptions {
12344
12393
  cause?: unknown;
12345
12394
  /** transient 时的重试建议(如 429 Retry-After 换算 ms) */
@@ -12358,6 +12407,7 @@ declare class StoreError extends Error {
12358
12407
  }
12359
12408
  /** 任意异常 → StoreError(非 StoreError 一律 transient) */
12360
12409
  declare function toStoreError(error: unknown): StoreError;
12410
+ /** 字节对象的元数据:体积、内容类型、sha256 内容寻址与可选的生命周期 / 标签 / CAS 令牌。 */
12361
12411
  interface BlobMeta {
12362
12412
  bytes: number;
12363
12413
  /** 'application/x-ndjson' | 'application/gzip' | 'application/zstd' | 'application/json' */
@@ -12369,7 +12419,7 @@ interface BlobMeta {
12369
12419
  /** 如 { tenant, sessionId, kind:'segment'|'manifest'|'checkpoint'|'attachment' };引擎只写不读 */
12370
12420
  tags?: Record<string, string>;
12371
12421
  /**
12372
- * IO-12:条件写 CAS 令牌(与 PutResult.etag 同一口径,不透明)。`capabilities.conditionalPut:true`
12422
+ * 条件写 CAS 令牌(与 PutResult.etag 同一口径,不透明)。`capabilities.conditionalPut:true`
12373
12423
  * 的适配器须在 head / list 返回(引擎据此对既有清单 ifMatch);其他适配器可缺席。
12374
12424
  */
12375
12425
  etag?: string;
@@ -12379,6 +12429,7 @@ interface ByteRange {
12379
12429
  start: number;
12380
12430
  end?: number;
12381
12431
  }
12432
+ /** SegmentBlobStore.put 的选项:取消信号与条件写(ifNoneMatch / ifMatch)令牌。 */
12382
12433
  interface PutOptions {
12383
12434
  signal?: AbortSignal;
12384
12435
  /** 仅 capabilities.conditionalPut 时引擎会传 */
@@ -12386,13 +12437,16 @@ interface PutOptions {
12386
12437
  /** etag CAS(清单重写);仅 capabilities.conditionalPut 时引擎会传 */
12387
12438
  ifMatch?: string;
12388
12439
  }
12440
+ /** SegmentBlobStore.put 的结果;支持条件写的适配器回传新 etag。 */
12389
12441
  interface PutResult {
12390
12442
  etag?: string;
12391
12443
  }
12444
+ /** SegmentBlobStore.list 的单条结果:键与元数据。 */
12392
12445
  interface BlobListEntry {
12393
12446
  key: string;
12394
12447
  meta: BlobMeta;
12395
12448
  }
12449
+ /** 字节对象存储适配器的能力声明;引擎据此决定一致性等待、条件写、分段阈值与批量删除。 */
12396
12450
  interface BlobStoreCapabilities {
12397
12451
  /** 写后立即 head/get/list 是否保证可见 */
12398
12452
  consistency: 'strong' | 'eventual';
@@ -12405,6 +12459,11 @@ interface BlobStoreCapabilities {
12405
12459
  /** 一次 delete 可接受的键数;缺省 1 */
12406
12460
  batchDelete?: number;
12407
12461
  }
12462
+ /**
12463
+ * 一级存储接口:字节对象的 put / get / head / list / delete。
12464
+ * S3 / OSS / COS / MinIO / GCS / Azure / GridFS / 文件系统皆此级;分段、编码、清单提交、
12465
+ * 热盘 LRU 与重试由引擎内置分层核完成,适配器只需守 StoreError 四类错误约定。
12466
+ */
12408
12467
  interface SegmentBlobStore {
12409
12468
  readonly capabilities: BlobStoreCapabilities;
12410
12469
  /** 至少一次、按 meta.sha256 幂等(同键同哈希重复 put 必须成功且无副作用) */
@@ -12418,6 +12477,7 @@ interface SegmentBlobStore {
12418
12477
  /** 不存在不算错 */
12419
12478
  delete(keys: readonly string[], signal?: AbortSignal): Promise<void>;
12420
12479
  }
12480
+ /** 二级存储中一条会话的元数据(列表 / 索引条目)。 */
12421
12481
  interface StoredSessionMeta$1 {
12422
12482
  sessionId: string;
12423
12483
  endUserKey: string;
@@ -12429,11 +12489,12 @@ interface StoredSessionMeta$1 {
12429
12489
  title?: string;
12430
12490
  platformSessionId?: string;
12431
12491
  /**
12432
- * IO-12:一级冷层经 `SessionIndexStore` 提交时,现行冷清单对象的规范键(每次提交写唯一、
12492
+ * 一级冷层经 `SessionIndexStore` 提交时,现行冷清单对象的规范键(每次提交写唯一、
12433
12493
  * 不可变的新对象,index 的 CAS 即提交点)。条件写路径 / 二级冷层缺席。实现方按不透明串存取。
12434
12494
  */
12435
12495
  manifestKey?: string;
12436
12496
  }
12497
+ /** SessionHistoryStore.store 的入参:新封存段(可空)与含本段后的新清单,附代际 CAS 期望值。 */
12437
12498
  interface StoreInput {
12438
12499
  sessionId: string;
12439
12500
  endUserKey: string;
@@ -12449,6 +12510,7 @@ interface StoreInput {
12449
12510
  expectedGeneration: number;
12450
12511
  signal?: AbortSignal;
12451
12512
  }
12513
+ /** SessionHistoryStore.load 的查询:会话定位与可选的 seq 区间。 */
12452
12514
  interface LoadQuery {
12453
12515
  sessionId: string;
12454
12516
  endUserKey: string;
@@ -12456,6 +12518,7 @@ interface LoadQuery {
12456
12518
  toSeq?: number;
12457
12519
  signal?: AbortSignal;
12458
12520
  }
12521
+ /** SessionHistoryStore.load 的结果:清单 + 惰性的段体迭代器。 */
12459
12522
  interface LoadResult {
12460
12523
  manifest: SegmentManifest;
12461
12524
  /**
@@ -12467,6 +12530,10 @@ interface LoadResult {
12467
12530
  body: ReadableStream<Uint8Array>;
12468
12531
  }>;
12469
12532
  }
12533
+ /**
12534
+ * 二级存储接口:自管布局(KV / 关系库)的会话历史存取。
12535
+ * 引擎只调 store / load / listSessions / remove,分段与清单由实现方自行落位。
12536
+ */
12470
12537
  interface SessionHistoryStore {
12471
12538
  store(input: StoreInput): Promise<void>;
12472
12539
  /** null = 不存在 */
@@ -12474,6 +12541,7 @@ interface SessionHistoryStore {
12474
12541
  listSessions(endUserKey: string, cursor?: string, signal?: AbortSignal): AsyncIterable<StoredSessionMeta$1>;
12475
12542
  remove(sessionId: string, endUserKey: string, signal?: AbortSignal): Promise<void>;
12476
12543
  }
12544
+ /** 可选的会话索引存储:为多副本共享元数据,或为不支持条件写的对象存储提供 CAS 提交点。 */
12477
12545
  interface SessionIndexStore {
12478
12546
  /** expectedGeneration 不匹配须抛 precondition_failed */
12479
12547
  upsert(meta: StoredSessionMeta$1, expectedGeneration?: number): Promise<void>;
@@ -12481,11 +12549,13 @@ interface SessionIndexStore {
12481
12549
  list(endUserKey: string, cursor?: string): AsyncIterable<StoredSessionMeta$1>;
12482
12550
  remove(endUserKey: string, sessionId: string): Promise<void>;
12483
12551
  }
12552
+ /** 段体上传 / 下载前后的字节流变换挂点(加密、脱敏等由开发者自带)。 */
12484
12553
  interface StreamTransform {
12485
12554
  /** 开发者自带加密 / 脱敏;引擎不做密码学 */
12486
12555
  encode(body: ReadableStream<Uint8Array>): ReadableStream<Uint8Array>;
12487
12556
  decode(body: ReadableStream<Uint8Array>): ReadableStream<Uint8Array>;
12488
12557
  }
12558
+ /** 分层存储策略:冷层编码、热盘保留、上传并发 / 重试预算、载入预取与流变换。 */
12489
12559
  interface SegmentedStorePolicy {
12490
12560
  /** 冷层封存段编码;缺省 'jsonl+gzip'(zstd 仅 Node ≥ 22.15 可用) */
12491
12561
  codec?: SegmentCodec;
@@ -12532,24 +12602,29 @@ declare const SEGMENTED_STORE_DEFAULTS: {
12532
12602
  /** 一级 / 二级判别(二级以 store/load 方法为准) */
12533
12603
  declare function isSessionHistoryStore(cold: SegmentBlobStore | SessionHistoryStore): cold is SessionHistoryStore;
12534
12604
 
12605
+ /** 内存存储的构造选项:可选的能力自述覆写。 */
12535
12606
  interface MemoryBlobStoreOptions {
12536
12607
  /** 覆写能力自述(测试用,如模拟无条件写后端) */
12537
12608
  capabilities?: Partial<BlobStoreCapabilities>;
12538
12609
  }
12610
+ /** 创建纯内存的 SegmentBlobStore;附 size / keys() 供测试直读。 */
12539
12611
  declare function createMemoryBlobStore(options?: MemoryBlobStoreOptions): SegmentBlobStore & {
12540
12612
  /** 测试直读 */
12541
12613
  readonly size: number;
12542
12614
  keys(): string[];
12543
12615
  };
12544
12616
 
12617
+ /** 文件系统冷层存储的构造选项:根目录与可选的能力自述覆写。 */
12545
12618
  interface FsBlobStoreOptions {
12546
12619
  /** 根目录(不存在则首次操作创建);只作冷层 */
12547
12620
  dir: string;
12548
12621
  /** 覆写能力自述(测试用,如模拟无条件写后端;行为不随之变——一致性测试套据此揭示「自述不实」) */
12549
12622
  capabilities?: Partial<BlobStoreCapabilities>;
12550
12623
  }
12624
+ /** 创建以本地目录为后端的 SegmentBlobStore(双树布局、原子条件写、原生 Range 读);只作冷层。 */
12551
12625
  declare function createFsBlobStore(options: FsBlobStoreOptions): SegmentBlobStore;
12552
12626
 
12627
+ /** 一致性测试套的运行选项:体量 / 内存预算 / 最终一致窗口 / 隔离前缀 / 并发数 / 清理与取消。 */
12553
12628
  interface StorageConformanceOptions {
12554
12629
  /** 大对象体量;缺省 16 MiB(正式认证建议 1 GiB) */
12555
12630
  largeObjectBytes?: number;
@@ -12565,6 +12640,7 @@ interface StorageConformanceOptions {
12565
12640
  keepObjects?: boolean;
12566
12641
  signal?: AbortSignal;
12567
12642
  }
12643
+ /** 单个一致性用例的结果:id、是否通过、说明文本、是否因能力不适用而跳过、耗时。 */
12568
12644
  interface StorageConformanceCase {
12569
12645
  id: string;
12570
12646
  passed: boolean;
@@ -12573,6 +12649,7 @@ interface StorageConformanceCase {
12573
12649
  skipped?: boolean;
12574
12650
  durationMs: number;
12575
12651
  }
12652
+ /** 一致性测试套的整体报告:逐用例结果、总判定、被测存储的能力自述与起止信息。 */
12576
12653
  interface StorageConformanceReport {
12577
12654
  cases: StorageConformanceCase[];
12578
12655
  /** 全部用例 passed */
@@ -12581,26 +12658,29 @@ interface StorageConformanceReport {
12581
12658
  startedAt: string;
12582
12659
  durationMs: number;
12583
12660
  }
12661
+ /** 对一个 SegmentBlobStore 跑完十类一致性用例并返回报告;全部对象落在隔离前缀下,结束时尽力清理。 */
12584
12662
  declare function runStorageConformance(store: SegmentBlobStore, options?: StorageConformanceOptions): Promise<StorageConformanceReport>;
12585
12663
 
12586
12664
  /**
12587
- * 混沌包装器 `createChaosBlobStore(inner, faults)`(doc/119 IO-14)——把任一 `SegmentBlobStore` 包成
12588
- * 会出故障的后端,供一致性测试套 / 对抗验收(doc/119 §1.2 A1–A14)注入:
12665
+ * 混沌包装器 `createChaosBlobStore(inner, faults)`——把任一 `SegmentBlobStore` 包成
12666
+ * 会出故障的后端,供一致性测试套 / 对抗验收注入:
12589
12667
  *
12590
12668
  * failPut put 立即失败(true / 按键谓词 / 前 N 次),kind = putErrorKind(缺省 transient)
12591
12669
  * failPutAfterBytes put 消费体到 N 字节后失败(连接中断;体已部分读出,不得留半对象)
12592
12670
  * putErrorKind 注入的 put 失败分类(transient | permanent | not_found | precondition_failed)
12593
12671
  * eventualListLagMs list 对「最近 lag 毫秒内 put 的键」不可见(最终一致);capabilities.consistency 报 eventual
12594
12672
  * dropListEntries list 丢项(按键谓词 / 概率 0–1)
12595
- * corruptSegmentKeys get 对匹配键返回翻转首字节的体(篡改;A4)
12596
- * abortMidStream get 的流在首块之后以 transient 出错(下载中断;A7)
12673
+ * corruptSegmentKeys get 对匹配键返回翻转首字节的体(篡改)
12674
+ * abortMidStream get 的流在首块之后以 transient 出错(下载中断)
12597
12675
  * latencyMs 每次调用前延迟(定值 / [min,max] 均匀)
12598
12676
  *
12599
12677
  * `faults` 对象**按引用持有**,测试可运行时翻转(如愈合 failPut 观察追平);`stats` 记各类注入次数。
12600
12678
  * 不改语义的调用原样透传;内层错误原样上抛(不二次包装)。
12601
12679
  */
12602
12680
 
12681
+ /** 按键选择注入目标:布尔整体开关,或对键求值的谓词。 */
12603
12682
  type KeyPredicate = boolean | ((key: string) => boolean);
12683
+ /** 混沌故障配置;对象按引用持有,测试可在运行时翻转各项。 */
12604
12684
  interface ChaosFaults {
12605
12685
  /** put 立即失败:true / 按键谓词 / 数字 = 前 N 次 put 失败 */
12606
12686
  failPut?: KeyPredicate | number;
@@ -12624,6 +12704,7 @@ interface ChaosFaults {
12624
12704
  max: number;
12625
12705
  };
12626
12706
  }
12707
+ /** 混沌包装器的注入计数与各操作调用次数。 */
12627
12708
  interface ChaosStats {
12628
12709
  putFailures: number;
12629
12710
  putTruncated: number;
@@ -12633,11 +12714,13 @@ interface ChaosStats {
12633
12714
  abortedGets: number;
12634
12715
  calls: Record<'put' | 'get' | 'head' | 'list' | 'delete', number>;
12635
12716
  }
12717
+ /** 被混沌包装后的存储:暴露故障配置、注入统计与内层存储。 */
12636
12718
  interface ChaosBlobStore extends SegmentBlobStore {
12637
12719
  readonly faults: ChaosFaults;
12638
12720
  readonly stats: ChaosStats;
12639
12721
  readonly inner: SegmentBlobStore;
12640
12722
  }
12723
+ /** 把任一 SegmentBlobStore 包成按 faults 注入故障的存储;不改语义的调用原样透传,内层错误原样上抛。 */
12641
12724
  declare function createChaosBlobStore(inner: SegmentBlobStore, faults?: ChaosFaults, now?: () => number): ChaosBlobStore;
12642
12725
 
12643
12726
  /** 会话身份(冷层键形 `<tenant>/<endUserKey>/<sessionId>/<volumeId>/…` 与清单分域所需)+ 热层目录 */
@@ -12650,6 +12733,7 @@ interface ColdSessionRef {
12650
12733
  }
12651
12734
  /** 会话身份(不含热层目录;remove / gc 用) */
12652
12735
  type ColdSessionId = Pick<ColdSessionRef, 'sessionId' | 'endUserKey'>;
12736
+ /** 冷层运行统计:上传积压、热盘占用、累计提交数与就绪位。 */
12653
12737
  interface ColdTierStats {
12654
12738
  /** 待上传 / 待提交段数与字节(积压;两条告警线之一) */
12655
12739
  backlogSegments: number;
@@ -12662,7 +12746,7 @@ interface ColdTierStats {
12662
12746
  ready: boolean;
12663
12747
  }
12664
12748
  /**
12665
- * 结构化事件(doc/120 §8;S7 映射为 serve 日志事件 / onStoreError):
12749
+ * 结构化事件(可映射为 serve 日志事件 / onStoreError):
12666
12750
  * - `store.segment_sealed`:收到封段通知,已入队(热层事实);
12667
12751
  * - `store.segment_committed`:段 put 成功且冷清单 CAS 已提交(冷层事实;可逐出);
12668
12752
  * - `store.commit_failed`:一次上传 / 提交失败(`gaveUp` = 重试预算耗尽或 permanent /
@@ -12707,6 +12791,7 @@ type ColdTierEvent = {
12707
12791
  session: ColdSessionId;
12708
12792
  deleted: string[];
12709
12793
  };
12794
+ /** 冷层结构化事件的 type 取值集合。 */
12710
12795
  type ColdTierEventType = ColdTierEvent['type'];
12711
12796
 
12712
12797
  /** 快照头部(旁挂 .meta.json 的全部内容 = 快照体去掉 messages) */
@@ -13149,10 +13234,10 @@ interface CheckpointRetention {
13149
13234
  }
13150
13235
 
13151
13236
  /**
13152
- * T-D6 — 交互通道抽象:AskUser 工具与表面层之间的依赖注入缝。
13237
+ * 交互通道抽象:AskUser 工具与表面层之间的依赖注入缝。
13153
13238
  *
13154
13239
  * 设计要点:
13155
- * - kernel 不知道"怎么问用户":TUI(T-E3)注册对话框实现,headless(T-E1)
13240
+ * - kernel 不知道"怎么问用户":TUI 注册对话框实现,headless
13156
13241
  * 缺省注入 UnavailableChannel(工具据此产出"自行决策并继续"的降级文案);
13157
13242
  * - `ask` 必须尊重 AbortSignal;即使实现忽略 signal,AskUser 工具侧也会兜底
13158
13243
  * 竞争 abort(见 ask-tool.ts),保证取消链贯穿;
@@ -13163,6 +13248,7 @@ interface QuestionOption {
13163
13248
  id: string;
13164
13249
  label: string;
13165
13250
  }
13251
+ /** AskUser 工具向用户提出的单个问题:提示语、至少两个可选项、是否允许多选。 */
13166
13252
  interface Question {
13167
13253
  id: string;
13168
13254
  prompt: string;
@@ -13171,6 +13257,7 @@ interface Question {
13171
13257
  /** true 允许多选;缺省单选 */
13172
13258
  allowMultiple?: boolean;
13173
13259
  }
13260
+ /** 用户对单个问题的回答:选中的选项 id 集合与可选的自由文本。 */
13174
13261
  interface Answer {
13175
13262
  questionId: string;
13176
13263
  /** 选中的 option id 集合(单选题至多 1 个;可为空但需伴随 freeText) */
@@ -13178,6 +13265,7 @@ interface Answer {
13178
13265
  /** 用户补充的自由文本(可与选项并存) */
13179
13266
  freeText?: string;
13180
13267
  }
13268
+ /** 交互通道:表面层实现「怎么问用户」,AskUser 工具经此提问;headless 场景注入不可用通道即降级。 */
13181
13269
  interface PromptChannel {
13182
13270
  /**
13183
13271
  * 向用户提出一批问题,resolve 为对应答案。
@@ -13188,13 +13276,13 @@ interface PromptChannel {
13188
13276
  }
13189
13277
 
13190
13278
  /**
13191
- * T-C7 — 子代理机制公共类型与常量。
13279
+ * 子代理机制公共类型与常量。
13192
13280
  *
13193
- * 设计依据:
13194
- * - doc/02 §3.2/§7.5:子代理 = 同一查询环的隔离实例(createSubagentContext 范式)——
13281
+ * 设计要点:
13282
+ * - 子代理 = 同一查询环的隔离实例(createSubagentContext 范式)——
13195
13283
  * 隔离消息历史、独立 agentId、父 abort 传播到同步子代理、非交互(不向用户提问);
13196
- * - doc/01 §2.9(Amp):命名式专家子代理的分工心智,一期先交付通用 Task 工具,
13197
- * T-D7 再叠加 `.tansr/agents/*.md` 自定义定义;
13284
+ * - Amp 式命名专家子代理的分工心智:通用 Task 工具之上
13285
+ * 叠加 `.tansr/agents/*.md` 自定义定义;
13198
13286
  * - protocol 冻结:事件走既有 agent.spawned/progress/completed;agentId 注入
13199
13287
  * 事件包络的落点是自由字符串字段 `source`(形如 `agent:<agentId>`,对齐
13200
13288
  * Claude Code `querySource: 'agent:...'`),不改包络 schema。
@@ -13207,12 +13295,12 @@ interface PromptChannel {
13207
13295
  * 模型降档/覆写注入缝:kernel 不依赖 providers registry,由装配层(cli
13208
13296
  * assembly)传入 别名 → ResolvedModel 的映射。别名可为三档 tier(Task 参数
13209
13297
  * 面仍锁 SUBAGENT_MODEL_TIERS 枚举),也可为自定义代理定义声明的任意模型
13210
- * 别名(T-D7,别名合法性由装配层解析器裁决)。未注入时别名请求被忽略
13298
+ * 别名(别名合法性由装配层解析器裁决)。未注入时别名请求被忽略
13211
13299
  * (沿用父模型,结果 data 里以 modelTierIgnored 标注,不静默)。
13212
13300
  */
13213
13301
  type SubagentModelResolver = (alias: string, parentModel: ResolvedModel) => ResolvedModel;
13214
13302
  /**
13215
- * T-CTX18 — 子模型上下文窗口解析缝:kernel 不依赖 providers registry,由
13303
+ * 子模型上下文窗口解析缝:kernel 不依赖 providers registry,由
13216
13304
  * 装配层以 `registry.resolveAlias('<provider>/<model>').capability.maxContext`
13217
13305
  * 类闭包实现。入参是**已解析的子模型**(可能经 tier 降档,与父不同);返回
13218
13306
  * undefined = 窗口未知(运行器据此静默禁用子代理压缩装配,与四入口驱动
@@ -13221,7 +13309,7 @@ type SubagentModelResolver = (alias: string, parentModel: ResolvedModel) => Reso
13221
13309
  type SubagentContextWindowResolver = (model: ResolvedModel) => number | undefined;
13222
13310
 
13223
13311
  /**
13224
- * CW13-N6 — 成本感知子代理分派策略(doc/61 L6 N6;doc/62 §二泳道卡)。
13312
+ * 成本感知子代理分派策略。
13225
13313
  *
13226
13314
  * 职责:Task 子代理**无显式模型请求**时的档位路由——「实时价 × 能力档」,
13227
13315
  * 对标差异化:五家硬编码降档(CC→Haiku),tansr 按平台实时价目取经济档。
@@ -13234,7 +13322,7 @@ type SubagentContextWindowResolver = (model: ResolvedModel) => number | undefine
13234
13322
  * 父会话模型;
13235
13323
  * - **新增/未知类型缺省 'inherit'(fail-safe)**:映射表查无此名恒不降档;
13236
13324
  * - 分类/裁决类辅助任务(权限分类器/裁决人/压缩/标题/记忆抽取)的 fast
13237
- * 纪律是**既有旁路装配**(OPT-10/OPT-18/T-C4),不经本模块,恒不动。
13325
+ * 纪律是**既有旁路装配**,不经本模块,恒不动。
13238
13326
  *
13239
13327
  * 优先级铁律(恒不覆写显式指定):
13240
13328
  * 1. 调用参数 `model`(用户/父模型显式请求)——策略恒不适用;
@@ -13295,7 +13383,7 @@ interface SubagentDispatchPolicy {
13295
13383
  }
13296
13384
 
13297
13385
  /**
13298
- * T-C8 — 内核侧价格表:内置条目 + refreshPricing() 注入缝。
13386
+ * 内核侧价格表:内置条目 + refreshPricing() 注入缝。
13299
13387
  *
13300
13388
  * 分层铁律(AGENTS.md):kernel(L2)不得 import providers(L1)实现。本表在
13301
13389
  * kernel 侧独立内置,形态与 providers/src/registry/capability-defaults.ts 的
@@ -13328,7 +13416,7 @@ interface CostPricing extends Pricing {
13328
13416
  cacheWriteInputPerMillion?: number;
13329
13417
  }
13330
13418
  /**
13331
- * 币种词表 v1(T-B2,《18》§8-2 币种裁决):国内试点两币种,ISO 4217 代码。
13419
+ * 币种词表 v1:国内试点两币种,ISO 4217 代码。
13332
13420
  * 扩词表走 RFC(与 tansrd budget.currency 同词表同节奏);金额聚合按币种
13333
13421
  * 分桶(tracker.ts),严禁跨币种直加——归一呈现是报表层职责(记账汇率)。
13334
13422
  */
@@ -13346,8 +13434,8 @@ interface PricingEntry {
13346
13434
  pricing?: CostPricing;
13347
13435
  source: PricingSource;
13348
13436
  /**
13349
- * 名义价标注(T-B1):true = 本条是内网/vLLM 端点的资源摊销价而非厂商
13350
- * 真实账单价;金额消费面须注记「含名义价」口径(pilot/01 R7-4:名义价
13437
+ * 名义价标注:true = 本条是内网/vLLM 端点的资源摊销价而非厂商
13438
+ * 真实账单价;金额消费面须注记「含名义价」口径(名义价
13351
13439
  * 须在周报注明)。缺席 = 真实价。内置表恒为真实价,不落此键。
13352
13440
  */
13353
13441
  nominal?: boolean;
@@ -13363,13 +13451,13 @@ interface PricingUpdate {
13363
13451
  providerId: string;
13364
13452
  modelName: string;
13365
13453
  /**
13366
- * 缺省 'CNY'——kernel 面「缺省 = 现状语义零变化」:本表自 T-C8 起内置与
13367
- * 注入缺省皆为人民币价(doc/10 §4.1),与 tansrd budget.pricing 的缺省
13368
- * 'USD'(其现状 = USD/百万 token 语义)各自守现状,不互相迁就(T-B2)。
13454
+ * 缺省 'CNY'——kernel 面「缺省 = 现状语义零变化」:本表内置与
13455
+ * 注入缺省皆为人民币价,与 tansrd budget.pricing 的缺省
13456
+ * 'USD'(其现状 = USD/百万 token 语义)各自守现状,不互相迁就。
13369
13457
  */
13370
13458
  currency?: PricingCurrency;
13371
13459
  pricing?: CostPricing | null;
13372
- /** 名义价标注(T-B1;语义见 PricingEntry.nominal);缺省 = 真实价 */
13460
+ /** 名义价标注(语义见 PricingEntry.nominal);缺省 = 真实价 */
13373
13461
  nominal?: boolean;
13374
13462
  note?: string;
13375
13463
  }
@@ -13399,7 +13487,7 @@ declare class PricingBook {
13399
13487
  }
13400
13488
 
13401
13489
  /**
13402
- * T-B3 — capability 合并器。
13490
+ * capability 合并器。
13403
13491
  *
13404
13492
  * 合并优先级(低 → 高):
13405
13493
  * CapabilitySchema 字段默认值 < 内置默认表 (provider, model) 条目 < 用户配置 ProviderProfile.capability
@@ -13409,14 +13497,14 @@ declare class PricingBook {
13409
13497
  * - 嵌套对象(promptCaching/thinking/sampling/quirks):逐键合并,用户未提的键保留内置值;
13410
13498
  * - 合并结果必经 CapabilitySchema.parse 校验(非法值抛 ZodError,不静默吞掉)。
13411
13499
  *
13412
- * 契约注记(RFC 候选,见任务最终报告):protocol 冻结版的 ProviderProfileSchema.capability
13500
+ * 契约注记:protocol 冻结版的 ProviderProfileSchema.capability
13413
13501
  * 是完整 CapabilitySchema——经 schema parse 后默认值被填充,无法区分「用户显式写的默认值」
13414
13502
  * 与「schema 补的默认值」。本模块因此以 CapabilityOverride(深部分形态)为合并输入,
13415
13503
  * 上游应传入未经 parse 默认填充的原始覆盖对象;完整 Capability 对象在类型上兼容本形态。
13416
13504
  *
13417
- * T-B7 扩展位(hostedTools/background):contract-v0.4(RFC-B7-2)起并入
13505
+ * 扩展位(hostedTools/background):contract-v0.4 起并入
13418
13506
  * CapabilitySchema(可选、无默认值——缺省 undefined 即「未声明」,合并产物
13419
- * 不多出键),T-B7 期的 providers 侧过渡扩展 schema 退役。
13507
+ * 不多出键),早先的 providers 侧过渡扩展 schema 退役。
13420
13508
  *
13421
13509
  * contract-v0.5 别名归一(本模块单点,逐层进行——保证高层显式声明压过低层):
13422
13510
  * - vision ↔ inputModalities.image 双向同步(RFC-B3-1):层内声明了
@@ -13468,16 +13556,16 @@ interface CapabilityOverride {
13468
13556
  modelModifiers?: string[];
13469
13557
  defaultContextWithoutModifier?: number;
13470
13558
  quirks?: Partial<Capability['quirks']>;
13471
- /** T-B7 扩展位:hosted 工具单列(数组整体覆盖不拼接,与 modelModifiers 同语义) */
13559
+ /** 扩展位:hosted 工具单列(数组整体覆盖不拼接,与 modelModifiers 同语义) */
13472
13560
  hostedTools?: string[];
13473
- /** T-B7 扩展位:背景模式能力 */
13561
+ /** 扩展位:背景模式能力 */
13474
13562
  background?: boolean;
13475
13563
  }
13476
13564
 
13477
13565
  /**
13478
- * T-B4 — 重试退避策略(纯函数,不含 IO/时钟/随机全局态)。
13566
+ * 重试退避策略(纯函数,不含 IO/时钟/随机全局态)。
13479
13567
  *
13480
- * 算法(doc/09 任务卡):
13568
+ * 算法:
13481
13569
  * - 指数退避:上界 = min(maxMs, baseMs · 2^attempt);
13482
13570
  * - full jitter:延迟 = random() · 上界,均匀落在 [0, 上界](AWS 建议形态,
13483
13571
  * 把并发重试的「羊群效应」打散);
@@ -13867,9 +13955,9 @@ declare function upstreamOriginOf(input: string | URL | Request): string;
13867
13955
  declare function createUpstreamGovernor(options?: UpstreamGovernorOptions): UpstreamGovernor;
13868
13956
 
13869
13957
  /**
13870
- * T-B3 — 别名/ref → (provider, model, capability, pricing) 解析(纯函数,不碰环境变量)。
13958
+ * 别名/ref → (provider, model, capability, pricing) 解析(纯函数,不碰环境变量)。
13871
13959
  *
13872
- * 解析顺序(doc/06 §2.3):
13960
+ * 解析顺序:
13873
13961
  * 1. 输入含斜杠 → 按 ref(provider/modelOrRole)直接解析;
13874
13962
  * 2. 否则按别名查 config.modelAliases(三档 main/fast/reasoning 或任意自定义键),
13875
13963
  * 其值再按 ref 解析;
@@ -13888,7 +13976,7 @@ declare function createUpstreamGovernor(options?: UpstreamGovernorOptions): Upst
13888
13976
  interface RegistryProviderProfile extends Omit<ProviderProfile, 'capability'> {
13889
13977
  capability?: CapabilityOverride;
13890
13978
  /**
13891
- * T-C2 — 逐模型能力覆盖(键 = 角色别名映射后的最终模型名):远程 bundle
13979
+ * 逐模型能力覆盖(键 = 角色别名映射后的最终模型名):远程 bundle
13892
13980
  * 的 models[].capabilities 落点(profile 级 capability 表达不了同 provider
13893
13981
  * 下多模型差异)。合并序:内置默认 < profile.capability < 本表条目。
13894
13982
  * 可选字段,存量配置(kernel 五层产物/env 通路)零改动即兼容。
@@ -13903,13 +13991,13 @@ interface RegistryProviderProfile extends Omit<ProviderProfile, 'capability'> {
13903
13991
  interface RegistryConfig extends Omit<TansrConfig, 'providers' | 'hooks' | 'mcpServers'> {
13904
13992
  providers: Record<string, RegistryProviderProfile>;
13905
13993
  }
13906
- /** resolveAlias / fallbacksFor 的输出单元(T-B4 重试/切换的输入) */
13994
+ /** resolveAlias / fallbacksFor 的输出单元(重试/切换的输入) */
13907
13995
  interface ResolvedProviderModel {
13908
13996
  providerId: string;
13909
13997
  providerProfile: RegistryProviderProfile;
13910
13998
  /** 经 profile.models 角色别名映射后的最终模型名(送 wire 的值) */
13911
13999
  modelName: string;
13912
- /** 内置默认 < 用户配置 合并并经 schema 校验后的能力位(含 T-B7 扩展位) */
14000
+ /** 内置默认 < 用户配置 合并并经 schema 校验后的能力位(含 hostedTools/background 扩展位) */
13913
14001
  capability: ProviderCapability;
13914
14002
  /**
13915
14003
  * P-CTX2 K8(G-A6,C-06)— 三层(内置默认 < profile.capability <
@@ -14022,19 +14110,19 @@ interface ProviderAttemptRecord extends ProviderAttemptEnd {
14022
14110
  }
14023
14111
 
14024
14112
  /**
14025
- * T-G5 — provider 数据边界(P0-9 fail-closed;doc/pilot/02 §6.3 / §8.1-9)。
14113
+ * provider 数据边界(fail-closed)。
14026
14114
  *
14027
14115
  * 威胁模型:fallback 链在「未向下游放行内容」的失败(含 auth/invalid_request
14028
14116
  * 工厂失败)后前进到下一 entry——若私有端点(如内网 vLLM)后面配置了公有
14029
14117
  * provider,私有端点的认证/协议错误会把同一敏感请求原文送往公有 fallback。
14030
14118
  *
14031
- * 强制语义(契约承载位 = contract-v0.13 RFC-WE-4 的 Playbook 两字段):
14119
+ * 强制语义(契约承载位 = contract-v0.13 的 Playbook 两字段):
14032
14120
  * - `providerAllowlist` 在场(非空)→ 恒强制:目标 providerId ∉ 集合即在
14033
14121
  * **选择时刻**被拒(不构造 client、零字节出站),与数据等级无关;
14034
- * - allowlist 缺席时按数据等级:`dataClassification` 缺席按 internal 兜底
14035
- * (RFC-WE-4 注记);public/internal 不设限(现状回归);**sensitive 触发
14122
+ * - allowlist 缺席时按数据等级:`dataClassification` 缺席按 internal 兜底;
14123
+ * public/internal 不设限(现状回归);**sensitive 触发
14036
14124
  * fail-closed——fallback 恒不得越出链首(首选)provider**(同 provider 的
14037
- * 模型降档仍可;跨 provider 一律拒)。T-G5 裁决:sensitive+无 allowlist
14125
+ * 模型降档仍可;跨 provider 一律拒)。裁决:sensitive+无 allowlist
14038
14126
  * 取「拒绝越出首选」而非「拒绝启动」——单 provider 的敏感 Playbook 留在
14039
14127
  * 自己声明的 provider 上没有边界风险,风险只在「离开」;不可验证目标的
14040
14128
  * 「拒绝启动」语义由编排面(orchestrator agent 步预检)承担。
@@ -14059,9 +14147,9 @@ interface ProviderBoundaryDenial {
14059
14147
  }
14060
14148
 
14061
14149
  /**
14062
- * T-B4 — 单次尝试的事件泵:透传上游 ModelClient 流,同时做三件事——
14150
+ * 单次尝试的事件泵:透传上游 ModelClient 流,同时做三件事——
14063
14151
  *
14064
- * 1. prelude 缓冲:message_start 不算「内容块」(任务卡铁律:重试只允许发生在
14152
+ * 1. prelude 缓冲:message_start 不算「内容块」(铁律:重试只允许发生在
14065
14153
  * 未产出任何内容块之前)。把它缓冲到首个内容事件一起放行;尝试在未出内容时
14066
14154
  * 失败则直接丢弃——下游要么恰好见到一次 message_start,要么见到裸 [error] 流
14067
14155
  * (与适配器 HTTP 级错误的产出形态一致,见 anthropic/adapter.ts)。
@@ -14082,10 +14170,10 @@ type IRErrorEvent = Extract<IRStreamEvent, {
14082
14170
  }>;
14083
14171
 
14084
14172
  /**
14085
- * T-B4 — FallbackModelClient:按 fallback 链(T-B3 expandFallbacks 的输出)逐个
14173
+ * FallbackModelClient:按 fallback 链(expandFallbacks 的输出)逐个
14086
14174
  * 尝试 provider 的 ModelClient 组合器。
14087
14175
  *
14088
- * 切换语义(doc/09 任务卡):
14176
+ * 切换语义:
14089
14177
  * - 按 entries 顺序尝试;某 entry 在「未向下游放行任何内容」时最终失败
14090
14178
  * (不可恢复错误,或经重试包裹耗尽 maxAttempts)→ 前进到下一 entry;
14091
14179
  * - 一旦某 entry 已流出内容 → 提交(committed),之后不再切换(避免重复输出),
@@ -14119,7 +14207,7 @@ type IRErrorEvent = Extract<IRStreamEvent, {
14119
14207
  * 先试主模型(与 Claude Code 的 fallback 语义一致);#clients 仅是实例
14120
14208
  * 缓存,不构成位置状态。有测试锁定(fallback.test.ts「跨轮非粘滞」)。
14121
14209
  *
14122
- * 数据边界(T-G5,P0-9):options.boundary 在场时,每个 entry 在选择时刻
14210
+ * 数据边界:options.boundary 在场时,每个 entry 在选择时刻
14123
14211
  * 过 evaluateProviderBoundary(boundary.ts)——越界目标不构造 client、零
14124
14212
  * 字节出站,以 boundaryDenial 结构化轨迹计入 failures;全链无在界 entry
14125
14213
  * 即以最后一条边界拒绝作为耗尽错误收束(不可恢复),绝不静默换供应商。
@@ -14133,7 +14221,7 @@ interface FallbackFailure {
14133
14221
  index: number;
14134
14222
  error: IRErrorEvent;
14135
14223
  /**
14136
- * T-G5:该 entry 在选择时刻被数据边界拒绝(未构造 client、零字节出站)。
14224
+ * entry 在选择时刻被数据边界拒绝(未构造 client、零字节出站)。
14137
14225
  * 缺席 = 常规失败(重试耗尽/工厂失败)。审计消费位:原因/目标/数据等级。
14138
14226
  */
14139
14227
  boundaryDenial?: ProviderBoundaryDenial;
@@ -14157,7 +14245,7 @@ interface FallbackSelection {
14157
14245
  */
14158
14246
  failures: readonly FallbackFailure[];
14159
14247
  /**
14160
- * T-G5:boundary 选项在场时的生效数据等级(缺席声明已按 internal 兜底);
14248
+ * boundary 选项在场时的生效数据等级(缺席声明已按 internal 兜底);
14161
14249
  * 未配置 boundary 时不落键。上层审计「fallback 原因/目标/数据等级」取数位。
14162
14250
  */
14163
14251
  dataClassification?: DataClassification;
@@ -18288,10 +18376,10 @@ interface AssembledSessionModel {
18288
18376
  */
18289
18377
  platform?: AppPlatform | null;
18290
18378
  /**
18291
- * doc/112 §5.6 — 环3 平台工具装配材料(WebSearch 平台后端 / ImageGen /
18379
+ * 系统工具的平台提供方装配材料(WebSearch 平台后端 / ImageGen /
18292
18380
  * VideoGen / SpeechToText / TextToSpeech 客户端):baseUrl + fetchImpl(令牌经其
18293
18381
  * 覆写头自续,恒不落静态令牌到工厂)+ bundle 授权媒体集(S-G1 顺位取用;
18294
- * doc/123 起四键)。缺席 = 无平台面,环3 工具恒不装、⑳㉑ 音频直连端点
18382
+ * 音频能力在场时四键齐)。缺席 = 无平台提供方,对应系统媒体工具不装、音频直连端点
18295
18383
  * 409 platform_unavailable(同一材料:直连代打亦经本 fetchImpl 覆写 app token)。
18296
18384
  */
18297
18385
  platformTools?: {