@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.js CHANGED
@@ -39343,9 +39343,9 @@ var IRBlockSchema = z.discriminatedUnion("t", [
39343
39343
  var IRRoleSchema = z.enum(["user", "assistant"]);
39344
39344
  var IRMessageMetaSchema = z.object({
39345
39345
  /**
39346
- * 消息种类标记。首值 'compaction_summary' = 压缩摘要消息(T-CTX22
39347
- * 防碰撞文本哨兵的结构化替代);候选扩值 'pinned'/'synthetic' 随
39348
- * 对应消费卡另行 RFC(先冻结已验证形态,v0.14 RFC-B2-3 缓议同哲学)。
39346
+ * 消息种类标记。首值 'compaction_summary' = 压缩摘要消息(防碰撞
39347
+ * 文本哨兵的结构化替代);候选扩值 'pinned'/'synthetic' 随
39348
+ * 对应消费方另行契约评审(先冻结已验证形态)。
39349
39349
  */
39350
39350
  kind: z.enum(["compaction_summary"]).optional(),
39351
39351
  /** 产生本消息的压缩执行 id(RFC-CTX12-2 compactionId 同源;审计链互指) */
@@ -39359,11 +39359,11 @@ var IRMessageSchema = z.object({
39359
39359
  });
39360
39360
  var IRSystemSegmentSchema = z.object({
39361
39361
  text: z.string(),
39362
- /** 缓存断点提示——忽略方无害(doc/10 §4.3 透传项) */
39362
+ /** 缓存断点提示——忽略方无害 */
39363
39363
  cacheable: z.boolean().optional(),
39364
39364
  /**
39365
- * 段语义标签(contract-v0.1,T-C4 RFC):'base'/'tools'/'env'/'memory' 等,
39366
- * 供上下文压缩(T-C5)按语义识别可替换段;消费方忽略无害。
39365
+ * 段语义标签(contract-v0.1):'base'/'tools'/'env'/'memory' 等,
39366
+ * 供上下文压缩按语义识别可替换段;消费方忽略无害。
39367
39367
  */
39368
39368
  label: z.string().optional()
39369
39369
  });
@@ -39386,8 +39386,8 @@ var IRRequestSchema = z.object({
39386
39386
  maxTokens: z.number().int().positive(),
39387
39387
  temperature: z.number().optional(),
39388
39388
  /**
39389
- * thinking 能力位控制;适配器按 provider capability 改写(doc/10 §4.3)。
39390
- * RFC-M3 B2(2026-08-25):增 `off` 位 = 显式思考关断(fast 形态载体)——
39389
+ * thinking 能力位控制;适配器按 provider capability 改写。
39390
+ * `off` 位 = 显式思考关断(fast 形态载体)——
39391
39391
  * 与「缺席」语义不同:缺席 = 上游缺省(openai 兼容面思考模型缺省仍开思考,
39392
39392
  * UCloud 实证),off = 适配器按方言显式关(twp → params.reasoning='off';
39393
39393
  * openai 直连 → enable_thinking:false;anthropic → 不发 thinking 参数)。
@@ -39399,14 +39399,14 @@ var IRRequestSchema = z.object({
39399
39399
  }).optional(),
39400
39400
  stopSequences: z.array(z.string()).optional(),
39401
39401
  /**
39402
- * 请求级缓存写抑制(contract-v0.8,RFC-OPT14-1):true 时显式缓存适配器
39402
+ * 请求级缓存写抑制(contract-v0.8):true 时显式缓存适配器
39403
39403
  * 不在消息尾落 cache_control 断点(system/工具面断点不受影响)。签发方为
39404
- * 一次性辅助请求(上下文压缩/标题生成,OPT-10/14)——其消息尾不会被复读,
39404
+ * 一次性辅助请求(上下文压缩/标题生成)——其消息尾不会被复读,
39405
39405
  * 写缓存纯付费无收益。implicit/ignored 缓存模式的适配器忽略本键。
39406
39406
  */
39407
39407
  skipCacheWrite: z.boolean().optional(),
39408
39408
  /**
39409
- * 端侧预估的 prompt 侧 token 总量(G-A5a 贴窗防御,P-CTX2;加法可选)。
39409
+ * 端侧预估的 prompt 侧 token 总量(贴窗防御;加法可选)。
39410
39410
  * 语义:请求面(system+messages+tools)装配定格后、发出前的估算值,
39411
39411
  * 整数 ≥1(向上取整;api TwpParamsSchema.promptTokensEstimate 同下限)。
39412
39412
  * 消费方 = twp 适配器(落 params.promptTokensEstimate,网关侧贴窗拦截,
@@ -39421,7 +39421,7 @@ var IRUsageSchema = z.object({
39421
39421
  * 会签):不含 cacheReadInputTokens 与 cacheCreationInputTokens——三路
39422
39422
  * 相加 = 请求输入总量。适配器出口恒为本口径:inclusive 端点(OpenAI 系
39423
39423
  * prompt_tokens,cached ⊆ prompt)在适配器内减法归一,包含关系以 compat
39424
- * 实录核证(T-CTX05,见 providers openai/wire.ts exclusiveInputTokens
39424
+ * 实录核证( providers openai/wire.ts exclusiveInputTokens
39425
39425
  * 注释)。消费方(上下文账本/CostTracker/状态栏)三路直加,不得再做
39426
39426
  * inclusive 换算(防双重矫正)。限界注记:端点的缓存写入量不可见时
39427
39427
  * (如 OpenAI Chat 协议无 cache_write 字段),写入量仍含在本键内
@@ -39433,7 +39433,7 @@ var IRUsageSchema = z.object({
39433
39433
  cacheCreationInputTokens: z.number().int().nonnegative().optional(),
39434
39434
  reasoningOutputTokens: z.number().int().nonnegative().optional(),
39435
39435
  /**
39436
- * 缓存删除量(contract-v0.4,T-C8 RFC;doc/07 §3.2 cached microcompact):
39436
+ * 缓存删除量(contract-v0.4;cached microcompact):
39437
39437
  * provider 报告的 cache_deleted_input_tokens——服务端缓存段被逐出/失效的
39438
39438
  * 通知量,**非计费维度**(cost-tracker 不入账),上下文账本(context
39439
39439
  * ledger)以此校正窗口水位。观测到该字段的适配器填入;缺省不落键。
@@ -39518,12 +39518,12 @@ var IRStreamEventSchema = z.discriminatedUnion("t", [
39518
39518
  elapsedMs: z.number().nonnegative()
39519
39519
  }).optional(),
39520
39520
  /**
39521
- * 结构化事实位(contract-v0.26,十王修案 FX-B-20 / M-03;加法可选):适配器把服务端
39521
+ * 结构化事实位(contract-v0.26;加法可选):适配器把服务端
39522
39522
  * 信封 `error.detail` 中**机器可判、不含身份 / 内部 id** 的事实原样带到归一错误上,
39523
39523
  * kernel 透传进 `turn.error.detail`。首个签发方 = providers twp 归一层对平台套餐码
39524
39524
  * (`plan_concurrency_exceeded` / `plan_end_users_exceeded` / `plan_required` /
39525
39525
  * `plan_tier_insufficient`)落 `{ scope: 'plan' }`——端侧据此把「开发者套餐配额」与
39526
- * 「模型限流」区分(HTTP 面 doc/98 §七 同键同值;事件流面此前分叉)。缺席 = 无附加事实。
39526
+ * 「模型限流」区分(HTTP 面同键同值;事件流面此前分叉)。缺席 = 无附加事实。
39527
39527
  */
39528
39528
  detail: z.record(z.string(), z.unknown()).optional(),
39529
39529
  /**
@@ -39613,7 +39613,7 @@ var EventBodySchema = z2.discriminatedUnion("type", [
39613
39613
  /** 被移除消息的 index 闭区间 [first, last](原数组坐标) */
39614
39614
  removedRange: z2.tuple([z2.number(), z2.number()]),
39615
39615
  /**
39616
- * 被移除消息的精确 index 清单(contract-v0.4,T-C8/C10 RFC):pinned
39616
+ * 被移除消息的精确 index 清单(contract-v0.4):pinned
39617
39617
  * 挖洞时 removedRange 是外包络,重放/审计按本清单才能精确复原折叠面;
39618
39618
  * 表面层折叠计数也应优先取本清单长度。升序;缺省时按 removedRange 连续。
39619
39619
  */
@@ -39774,9 +39774,9 @@ var EventBodySchema = z2.discriminatedUnion("type", [
39774
39774
  */
39775
39775
  errorKind: z2.string().optional(),
39776
39776
  /**
39777
- * 结构化事实位(contract-v0.26,十王修案 FX-B-20 / M-03;加法可选键):scope='model' 时
39777
+ * 结构化事实位(contract-v0.26;加法可选键):scope='model' 时
39778
39778
  * = IR error 事件 `detail` 透传(providers 自服务端信封带出的机器可判事实;首个取值
39779
- * `{ scope: 'plan' }` = 平台套餐配额拒绝,与 HTTP 面 doc/98 §七 `error.detail.scope`
39779
+ * `{ scope: 'plan' }` = 平台套餐配额拒绝,与 HTTP 面 `error.detail.scope`
39780
39780
  * 同键同值)。三端 reducer 归约:`recoverable:true` → `SessionNotice.detail`,失败形 →
39781
39781
  * `ErrorView.detail`;端侧 `ErrorEnvelope.scope` 取值器同一读法。缺席 = 无附加事实
39782
39782
  * (既有事件体字节零变)。值恒不含 endUser 身份 / 令牌 / 内部 id。
@@ -39788,7 +39788,7 @@ var EventBodySchema = z2.discriminatedUnion("type", [
39788
39788
  z2.object({ type: z2.literal("msg.text.delta"), index: z2.number().int(), text: z2.string() }),
39789
39789
  z2.object({ type: z2.literal("msg.thinking.delta"), index: z2.number().int(), text: z2.string() }),
39790
39790
  z2.object({ type: z2.literal("msg.block.end"), index: z2.number().int() }),
39791
- /** 撤销已展示的 partial(doc/07 tombstone) */
39791
+ /** 撤销已展示的 partial(tombstone) */
39792
39792
  z2.object({ type: z2.literal("msg.retracted"), index: z2.number().int() }),
39793
39793
  // tool.*
39794
39794
  z2.object({ type: z2.literal("tool.proposed"), toolCallId: z2.string(), name: z2.string(), args: z2.unknown() }),
@@ -39799,7 +39799,7 @@ var EventBodySchema = z2.discriminatedUnion("type", [
39799
39799
  decision: PermissionDecisionSchema,
39800
39800
  decisionSource: DecisionSourceSchema,
39801
39801
  /**
39802
- * 命中的规则原文(如 `Shell(git *)`;contract-v0.2,T-C3 RFC)。
39802
+ * 命中的规则原文(如 `Shell(git *)`;contract-v0.2)。
39803
39803
  * 审计链由此可答"哪条规则拒的";模式短路/兜底 ask 等无规则命中时不落键。
39804
39804
  */
39805
39805
  matchedRule: z2.string().optional()
@@ -39812,25 +39812,25 @@ var EventBodySchema = z2.discriminatedUnion("type", [
39812
39812
  toolCallId: z2.string(),
39813
39813
  durationMs: z2.number(),
39814
39814
  /**
39815
- * ToolResult.data 透传位(contract-v0.3,T-E3 RFC):工具产出的结构化
39815
+ * ToolResult.data 透传位(contract-v0.3):工具产出的结构化
39816
39816
  * 渲染数据(AGENTS.md「工具只产出结构化数据」铁律的事件流出口)。
39817
39817
  * 表面层按工具名注册渲染器消费;无 data 的工具不落键,消费方忽略无害。
39818
39818
  */
39819
39819
  data: z2.unknown().optional(),
39820
39820
  /**
39821
- * 模型可见文本投影(contract-v0.8,RFC-OPT8-1):喂回模型的 tool_result
39821
+ * 模型可见文本投影(contract-v0.8):喂回模型的 tool_result
39822
39822
  * 文本(截断后形态)。cc-compat stream-json 包络与 SDK 消费方由此拿到
39823
39823
  * 与模型一致的结果文本,不必反推 data;与 data 正交(结构化渲染 vs
39824
- * 模型文本)。大结果按 OPT-05 预算截断后的文本为准,不另存全量。
39824
+ * 模型文本)。大结果按工具结果预算截断后的文本为准,不另存全量。
39825
39825
  */
39826
39826
  content: z2.string().optional(),
39827
39827
  /**
39828
- * 工具结构化失败位(contract-v0.25,十王修案 FX-B-25 / 候拍 ⑭):`ToolResult.isError`
39828
+ * 工具结构化失败位(contract-v0.25):`ToolResult.isError`
39829
39829
  * 透传。工具以 **return isError** 表达的业务级失败(非零退出 / 用户中断 / SSRF 拒 /
39830
39830
  * 媒体错误形)与 throw 径的 `tool.failed` 在表面层归约为同一 failed 态——此前 TUI /
39831
- * sdk / 端侧对这类回执一律 ✓(T2-05)。缺席 = 旧签发方或成功完成(completed 语义不变);
39831
+ * sdk / 端侧对这类结果一律 ✓。缺席 = 旧签发方或成功完成(completed 语义不变);
39832
39832
  * 消费方(TUI / sdk / Android / iOS reducer)只判 `isError === true → failed`。
39833
- * 纯可选加法,包络 `v` 不 bump;端侧 vendored 同步归 C 路(分册 B §六 D-C2)。
39833
+ * 纯可选加法,包络 `v` 不 bump;端侧 vendored 同步另行跟进。
39834
39834
  */
39835
39835
  isError: z2.boolean().optional()
39836
39836
  }),
@@ -39902,7 +39902,7 @@ var EventBodySchema = z2.discriminatedUnion("type", [
39902
39902
  usage: IRUsageSchema,
39903
39903
  costUsd: z2.number().optional(),
39904
39904
  /**
39905
- * 上下文窗口分母(contract-v0.3,T-E3 RFC):签发方(查询环)从装配层
39905
+ * 上下文窗口分母(contract-v0.3):签发方(查询环)从装配层
39906
39906
  * 注入的 provider capability.maxContext 透传。状态栏水位 = 最近 prompt
39907
39907
  * 规模 / 本值;缺省时表面层隐藏水位段(或回退装配注入的静态值)。
39908
39908
  * 随 usage 更新携带——/model 热切换后分母随下一轮事件自动矫正。
@@ -39919,19 +39919,19 @@ var EventBodySchema = z2.discriminatedUnion("type", [
39919
39919
  toolUseId: z2.string().optional(),
39920
39920
  /**
39921
39921
  * 用量目的:非对话主流的模型调用标注来源。词表:'compaction'(上下文
39922
- * 压缩轮,T-C10)/ 'title'(会话标题生成,contract-v0.8 随 RFC-OPT10-1
39923
- * 扩容;OPT-10 辅助任务降档的归因面)/ 'permission_classifier'(LLM 权限
39924
- * 分类器调用,OPT-18)/ 'memory'(记忆四面 fork:提取/固化/晋升/召回
39925
- * 选择,TMEM/1;C3/R1-P1-3 随本地记账闭环扩词)。新目的先扩词表再签发
39922
+ * 压缩轮)/ 'title'(会话标题生成,contract-v0.8
39923
+ * 扩容;辅助任务降档的归因面)/ 'permission_classifier'(LLM 权限
39924
+ * 分类器调用)/ 'memory'(记忆四面 fork:提取/固化/晋升/召回
39925
+ * 选择;随本地记账闭环扩词)。新目的先扩词表再签发
39926
39926
  * (自由文本仅兜底);缺省即对话主流。
39927
39927
  *
39928
- * 词表分叉登记(R8 核实,2026-08-26):同一分类器子系统在 request-
39928
+ * 词表分叉注记:同一分类器子系统在 request-
39929
39929
  * measurement 观测面与 TWP 出线面用词 'classifier'(kernel context/
39930
39930
  * request-measurement.ts RequestPurpose、providers twp/contract.ts
39931
- * TWP_PURPOSE_VALUES——批ι 起扁平单表,分版常量已退役),与本词表
39931
+ * TWP_PURPOSE_VALUES——现为扁平单表,分版常量已退役),与本词表
39932
39932
  * 'permission_classifier' 属两套近义词并存;且本词当前全仓零签发方
39933
39933
  * (分类器 usage 走遥测与测量面,不落本地 cost 事件)。统一到单一词属
39934
- * 契约面决策,候拍板;届时 kernel cost/tracker.ts KNOWN_COST_PURPOSES
39934
+ * 契约面决策,待定;届时 kernel cost/tracker.ts KNOWN_COST_PURPOSES
39935
39935
  * 须同步,勿单侧改词。
39936
39936
  */
39937
39937
  purpose: z2.string().optional()
@@ -40140,7 +40140,7 @@ var JournalRecordSchema = z3.object({
40140
40140
  /**
40141
40141
  * 尾行完整性(contract-v0.1 修订语义):写入端 v1 恒写 'complete',
40142
40142
  * 半行截断检测依靠 Reader 的 JSON 解析失败判定;'partial' 保留给未来
40143
- * 两阶段写入端,Reader 对尾条 'partial' 同样按崩溃残留截断(doc/07 §4.8⑦)。
40143
+ * 两阶段写入端,Reader 对尾条 'partial' 同样按崩溃残留截断。
40144
40144
  */
40145
40145
  completeness: z3.enum(["partial", "complete"])
40146
40146
  });
@@ -40214,8 +40214,7 @@ var InputModalityModeSchema = z4.enum(["supported", "rejected", "silently_droppe
40214
40214
  var CapabilitySchema = z4.object({
40215
40215
  maxContext: z4.number().int().positive(),
40216
40216
  /**
40217
- * 实测质量拐点窗口(tokens;TMEM/2 CB-1,doc/40 §2.5;RFC 收编候选,
40218
- * maxOutput/RFC-CTX12-3 同律形态)。可选且**无默认值**——undefined =
40217
+ * 实测质量拐点窗口(tokens;与 maxOutput 同律形态)。可选且**无默认值**——undefined =
40219
40218
  * 未实证,消费方沿标称 maxContext(行为零变);声明时装配层窗口合成
40220
40219
  * 取 min(maxContext, effectiveContext)(合成恒在装配层单点,kernel
40221
40220
  * 冻结面不开位)。数据纪律与 maxOutput 同:手工回填须带公开评测出处,
@@ -40224,11 +40223,11 @@ var CapabilitySchema = z4.object({
40224
40223
  effectiveContext: z4.number().int().positive().optional(),
40225
40224
  /**
40226
40225
  * 单次响应输出上限(tokens;厂商 max_tokens / max_completion_tokens
40227
- * 限额)。contract-v0.15(RFC-CTX12-3):可选且**无默认值**——
40228
- * undefined = 未知/未实证,消费方自选保守值(压缩输出预算径回退 20K,
40229
- * T-CTX01),与显式数值(官方文档实证)区分,杜绝编造(RFC-B7-2
40230
- * hostedTools / RFC-B3-4 quirks 新键同先例)。数据纪律:内置表回填
40231
- * 必须带官方出处与查证日期(围栏 6),拿不准的模型宁可不录。
40226
+ * 限额)。contract-v0.15:可选且**无默认值**——
40227
+ * undefined = 未知/未实证,消费方自选保守值(压缩输出预算径回退 20K),
40228
+ * 与显式数值(官方文档实证)区分,杜绝编造(hostedTools / quirks
40229
+ * 新键同先例)。数据纪律:内置表回填
40230
+ * 必须带官方出处与查证日期,拿不准的模型宁可不录。
40232
40231
  */
40233
40232
  maxOutput: z4.number().int().positive().optional(),
40234
40233
  /**
@@ -40356,7 +40355,7 @@ var CapabilitySchema = z4.object({
40356
40355
  /** 思考首 token 显著慢的建议超时下限(ms;适配器/重试 watchdog 消费) */
40357
40356
  minTimeoutMs: z4.number().int().positive().optional(),
40358
40357
  /** max_tokens 限额是否不含 reasoning 预算(doubao true 与 kimi/glm false
40359
- * 相反实证;T-C8 成本预估与 T-B4 截断防御的消费点) */
40358
+ * 相反实证;成本预估与截断防御的消费点) */
40360
40359
  maxTokensExcludesReasoning: z4.boolean().optional()
40361
40360
  }).default({}),
40362
40361
  /**
@@ -40367,7 +40366,7 @@ var CapabilitySchema = z4.object({
40367
40366
  */
40368
40367
  hostedTools: z4.array(z4.string()).optional(),
40369
40368
  /**
40370
- * contract-v0.4(RFC-B7-2):Responses `background:true` 异步任务能力位。
40369
+ * contract-v0.4:Responses `background:true` 异步任务能力位。
40371
40370
  * 同上,可选且无默认值。
40372
40371
  */
40373
40372
  background: z4.boolean().optional()
@@ -40387,7 +40386,7 @@ var PricingSchema = z4.object({
40387
40386
  /** 峰谷时段倍率(DeepSeek 高峰翻倍) */
40388
40387
  peakMultiplier: z4.number().positive().optional(),
40389
40388
  /**
40390
- * contract-v0.5(RFC-B3-3):阶梯计价。缺省 undefined = 扁平计价(现状零
40389
+ * contract-v0.5:阶梯计价。缺省 undefined = 扁平计价(现状零
40391
40390
  * 迁移);声明 tiers 时顶层三价约定为**首档镜像**(文档约定不强 refine)——
40392
40391
  * 向前兼容降级语义:无 tiers 感知的旧消费端仍按顶层价近似计费,不炸不偏零。
40393
40392
  */
@@ -40434,11 +40433,11 @@ var HooksSectionSchema = z4.object({
40434
40433
  Stop: z4.array(HookGroupSchema).optional(),
40435
40434
  SessionEnd: z4.array(HookGroupSchema).optional(),
40436
40435
  /**
40437
- * 权限扩展点两事件(contract-v0.13,RFC-WE-3 清 RFC-K19d 契约残项;
40438
- * 运行期 kernel HOOK_EVENTS 自 2026-07-30 起已八事件,此处规范性描述
40436
+ * 权限扩展点两事件(contract-v0.13;
40437
+ * 运行期 kernel HOOK_EVENTS 已为八事件,此处规范性描述
40439
40438
  * 补齐;词表一致性由 schema × HOOK_EVENTS 锁测试把守):
40440
40439
  * - PermissionRequest:ask 终局呈现前的最后收紧缝(只收紧,allow 忽略+告警);
40441
- * - PermissionDenied:deny 终局后的纯通知缝(回执不消费)。
40440
+ * - PermissionDenied:deny 终局后的纯通知缝(结构化响应不消费)。
40442
40441
  */
40443
40442
  PermissionRequest: z4.array(HookGroupSchema).optional(),
40444
40443
  PermissionDenied: z4.array(HookGroupSchema).optional(),
@@ -40520,32 +40519,31 @@ var PermissionsSectionSchema = z4.object({
40520
40519
  */
40521
40520
  disableBaselineProtection: z4.boolean().optional(),
40522
40521
  /**
40523
- * LLM 权限分类器治理位(contract-v0.8 增 enabled,RFC-OPT18-2;
40524
- * contract-v0.13 增 tightenOutsideAuto/callBudget 并放宽 enabled 为可选,
40525
- * RFC-WE-2)。环境变量 TANSR_PERMISSION_CLASSIFIER /
40522
+ * LLM 权限分类器治理位(contract-v0.8 增 enabled;
40523
+ * contract-v0.13 增 tightenOutsideAuto/callBudget 并放宽 enabled 为可选)。
40524
+ * 环境变量 TANSR_PERMISSION_CLASSIFIER /
40526
40525
  * TANSR_CLASSIFIER_TIGHTEN_OUTSIDE_AUTO / TANSR_CLASSIFIER_BUDGET 保留为
40527
- * 最高优先覆盖(逐键接管)。仅 user/managed 层被尊重(T-K0:分类器属
40526
+ * 最高优先覆盖(逐键接管)。仅 user/managed 层被尊重(分类器属
40528
40527
  * 用户/企业的信任与成本决策,项目层声明整段忽略+示警)。
40529
40528
  * 史注:TANSR_CLASSIFIER_ALLOW_UNQUALIFIED(资格越过)曾刻意不进配置
40530
- * (break-glass 性质恒 env-only),已随 UAA P4-C2 整体退役(2026-08-30,
40531
- * 任命即授照后无「未达资格」可越)。
40529
+ * (break-glass 性质恒 env-only),已整体退役(任命即授照后无「未达资格」可越)。
40532
40530
  */
40533
40531
  classifier: z4.object({
40534
40532
  enabled: z4.boolean().optional(),
40535
- /** 非 auto 模式也咨询分类器(只收紧:unsafe→deny,safe 恒维持 ask;T-K6) */
40533
+ /** 非 auto 模式也咨询分类器(只收紧:unsafe→deny,safe 恒维持 ask) */
40536
40534
  tightenOutsideAuto: z4.boolean().optional(),
40537
40535
  /** 每会话咨询预算:≥1 改上限 / 'off' 不限;缺席用内核缺省 */
40538
40536
  callBudget: z4.union([z4.number().int().min(1), z4.literal("off")]).optional()
40539
40537
  }).optional(),
40540
40538
  /**
40541
- * 出厂规则包装载开关(contract-v0.13,RFC-WE-2;T-K15 出厂包的契约形态)。
40539
+ * 出厂规则包装载开关(contract-v0.13;出厂包的契约形态)。
40542
40540
  * 缺省 true(装载);false = 卸载。env TANSR_RECOMMENDED_RULES 保留为最高
40543
40541
  * 优先覆盖(精确 '0' 卸载)。仅 user/managed 层被尊重(卸出厂 ask 包属
40544
40542
  * 扩权向,项目层声明忽略+示警)。
40545
40543
  */
40546
40544
  recommendedRules: z4.boolean().optional(),
40547
40545
  /**
40548
- * 项目 ask 注意力预算(contract-v0.13,RFC-WE-2;T-K16 的契约形态)。
40546
+ * 项目 ask 注意力预算(contract-v0.13;kernel ask 预算的契约形态)。
40549
40547
  * ≥1 = 每会话项目来源询问上限(缺省 10);'off' = 关闭(回到逐条询问)。
40550
40548
  * env TANSR_PROJECT_ASK_BUDGET 保留为最高优先覆盖。仅 user/managed 层被
40551
40549
  * 尊重(预算防的就是项目层提示风暴,项目自调即越界)。
@@ -40637,13 +40635,13 @@ var TansrConfigSchema = z4.object({
40637
40635
  fallbacks: z4.record(z4.array(z4.string())).default({}),
40638
40636
  locale: z4.string().optional(),
40639
40637
  /**
40640
- * 生命周期 hooks(contract-v0.3,T-G3 RFC)。分层合并语义特殊:不走深合并,
40638
+ * 生命周期 hooks(contract-v0.3)。分层合并语义特殊:不走深合并,
40641
40639
  * 由 kernel 逐层抽取(条目按层优先级稳定排序、跨层同构去重、managed 控制
40642
40640
  * 位治理),详见 kernel hooks/config.ts。
40643
40641
  */
40644
40642
  hooks: HooksSectionSchema.optional(),
40645
40643
  /**
40646
- * MCP 服务器清单(contract-v0.4,T-D8 RFC)。分层合并语义特殊:不走深合并,
40644
+ * MCP 服务器清单(contract-v0.4)。分层合并语义特殊:不走深合并,
40647
40645
  * 由 kernel 逐层抽取(跨层同名高层胜 + 信任门分层归因),详见 kernel
40648
40646
  * tools/mcp/config.ts 与 cli assembly/mcp-trust.ts。
40649
40647
  */
@@ -40676,7 +40674,7 @@ var TansrConfigSchema = z4.object({
40676
40674
  audit: AuditSectionSchema.optional(),
40677
40675
  /** 策略包验签信任(contract-v0.8,RFC-OPT11-2);仅 managed 层被尊重 */
40678
40676
  policy: PolicySectionSchema.optional(),
40679
- /** Shell 沙箱(contract-v0.8,RFC-OPT19-1);FX-B-01 起 kernel 合并前抽取:user / managed 被尊重,项目层忽略,env 对 managed 只收紧 */
40677
+ /** Shell 沙箱(contract-v0.8);kernel 合并前抽取:user / managed 被尊重,项目层忽略,env 对 managed 只收紧 */
40680
40678
  sandbox: SandboxSectionSchema.optional(),
40681
40679
  /** 工作区信任治理(contract-v0.8,RFC-OPT12-2);仅 managed 层被尊重 */
40682
40680
  workspaceTrust: WorkspaceTrustSectionSchema.optional(),
@@ -46703,27 +46701,27 @@ var ContextManager = class {
46703
46701
  return this.#thresholds;
46704
46702
  }
46705
46703
  /**
46706
- * 附件注册表观测快照(只读;/context 展示与 T-C10 诊断,不属于七接口)。
46707
- * T-CTX19 起为完整快照(在场附件数/逐条 TTL 剩余/估算 tokens/预算),
46704
+ * 附件注册表观测快照(只读;/context 展示与压缩诊断,不属于七接口)。
46705
+ * 完整快照(在场附件数/逐条 TTL 剩余/估算 tokens/预算),
46708
46706
  * 旧形态 {round, injectedBytes} 是其结构子集,消费方零迁移。
46709
46707
  */
46710
46708
  get attachmentStats() {
46711
46709
  return this.#attachments.snapshot();
46712
46710
  }
46713
- /** T-CTX03:nothing_to_compact no-op 累计(只读观测;T-CTX14a 埋点消费) */
46711
+ /** nothing_to_compact no-op 累计(只读观测;压缩生命周期埋点消费) */
46714
46712
  get noopCompactCount() {
46715
46713
  return this.#noopCompactCount;
46716
46714
  }
46717
46715
  /**
46718
- * T-CTX06:EWMA 校准因子(只读观测;1 = 未校准或刚重置)。
46719
- * P-CTX4 K16 门开时标量路径不更新(恒 1),分桶态看 calibrationState()。
46716
+ * EWMA 校准因子(只读观测;1 = 未校准或刚重置)。
46717
+ * bucketedCalibration 门开时标量路径不更新(恒 1),分桶态看 calibrationState()。
46720
46718
  */
46721
46719
  get calibrationFactor() {
46722
46720
  return this.#calibrationFactor;
46723
46721
  }
46724
46722
  /**
46725
- * P-CTX4 K16 — 校准态快照(只读观测;/context 展示与锁测消费)。
46726
- * 门关:buckets 恒空数组 + factor = 标量因子(T-CTX06 现状态)。
46723
+ * 校准态快照(只读观测;/context 展示与锁测消费)。
46724
+ * 门关:buckets 恒空数组 + factor = 标量因子(单标量 EWMA 现状态)。
46727
46725
  */
46728
46726
  calibrationState() {
46729
46727
  return {
@@ -46736,13 +46734,13 @@ var ContextManager = class {
46736
46734
  lastBucket: this.#lastBucket
46737
46735
  };
46738
46736
  }
46739
- /** P-CTX4 K16 — 跨 manager 重建搬运出口(driver 切方案携带;切模不携带) */
46737
+ /** 跨 manager 重建搬运出口(driver 切方案携带;切模不携带) */
46740
46738
  exportCalibration() {
46741
46739
  return this.calibrationState();
46742
46740
  }
46743
46741
  /**
46744
- * P-CTX4 K16 — 搬运入口:**仅门开时生效**(门关 no-op——基线标量路径的
46745
- * 重建归零语义是 T-CTX04b 锁定行为,导入会构成漂移)。因子按钳制域收
46742
+ * 搬运入口:**仅门开时生效**(门关 no-op——基线标量路径的
46743
+ * 重建归零语义是既定行为,导入会构成漂移)。因子按钳制域收
46746
46744
  * 口、观测数取非负整数(防手工快照越界);配对基线不搬(旧测量对旧
46747
46745
  * 历史,新实例首次 measure 自然重建)。
46748
46746
  */
@@ -46757,29 +46755,29 @@ var ContextManager = class {
46757
46755
  this.#lastBucket = snapshot.lastBucket;
46758
46756
  }
46759
46757
  /**
46760
- * T-CTX22 ⑥ — 登记压缩后必须失效/重置的外部派生态(装配层调用;如
46758
+ * 登记压缩后必须失效/重置的外部派生态(装配层调用;如
46761
46759
  * reminder 首屏差分基线)。压缩成功后按「内置清单 → 登记序」统一执行;
46762
46760
  * run 抛错被吞(fail-open),不影响压缩收尾与其余清单项。
46763
46761
  */
46764
46762
  registerPostCompactInvalidation(entry2) {
46765
46763
  this.#postCompactInvalidations.push(entry2);
46766
46764
  }
46767
- /** T-CTX22 ⑥ — 失效清单登记名快照(观测/锁测断言;含内置三件) */
46765
+ /** 失效清单登记名快照(观测/锁测断言;含内置三件) */
46768
46766
  get postCompactInvalidationIds() {
46769
46767
  return this.#postCompactInvalidations.map((entry2) => entry2.id);
46770
46768
  }
46771
46769
  /**
46772
- * T-CTX04a — 派生态失效清单的公开执行入口(统一应用器消费:非 baseline
46770
+ * 派生态失效清单的公开执行入口(统一应用器消费:非 baseline
46773
46771
  * 策略的历史折叠变换应用后,由应用器调用本方法统一失效锚点/附件签名/
46774
46772
  * 校准态与外部登记项)。baseline 的 compact/microcompact 路径**不经**
46775
46773
  * 本入口——manager 内建执行时序在 measurementAfter 之前(压缩后测量
46776
46774
  * 必须基于失效后的干净状态),应用器侧重复执行会清空刚建立的校准配对
46777
- * 基线(T-CTX06 校准链漂移),故 baseline 变换标记 invalidations='strategy'。
46775
+ * 基线(校准链漂移),故 baseline 变换标记 invalidations='strategy'。
46778
46776
  */
46779
46777
  runPostCompactInvalidations() {
46780
46778
  this.#runPostCompactInvalidations();
46781
46779
  }
46782
- /** T-CTX22 ⑥ — 清单统一执行(仅压缩成功路径调用;逐项 fail-open) */
46780
+ /** 清单统一执行(仅压缩成功路径调用;逐项 fail-open) */
46783
46781
  #runPostCompactInvalidations() {
46784
46782
  for (const entry2 of this.#postCompactInvalidations) {
46785
46783
  try {
@@ -46789,7 +46787,7 @@ var ContextManager = class {
46789
46787
  }
46790
46788
  }
46791
46789
  /**
46792
- * T-CTX03 — 屏障点计时(半开熔断的时基):查询环每个压缩屏障点调用一次。
46790
+ * 屏障点计时(半开熔断的时基):查询环每个压缩屏障点调用一次。
46793
46791
  * 熔断压制期间每计满 AUTO_COMPACT_HALF_OPEN_BARRIERS 个屏障,assess 放行
46794
46792
  * 一次探测压缩(成功清零熔断计数恢复正常,失败继续压制);任何 auto 压缩
46795
46793
  * 尝试(含探测与 no-op)都会清零本计时,压制期的失败信息因此有界
@@ -46800,7 +46798,7 @@ var ContextManager = class {
46800
46798
  this.#barrierSeq += 1;
46801
46799
  }
46802
46800
  /**
46803
- * T-CTX14b — 观测缝只读出口:查询环/空闲直压据此把 observer 交给统一
46801
+ * 观测缝只读出口:查询环/空闲直压据此把 observer 交给统一
46804
46802
  * 应用器(成功结局签发)与工具结果收束缝(clamp 计数)。外部注入 manager
46805
46803
  * 形态下构造方持有的观测缝经此对查询环可达。
46806
46804
  */
@@ -46821,11 +46819,11 @@ var ContextManager = class {
46821
46819
  this.#updateCacheHitRatio(entry2.usage);
46822
46820
  this.#attachments.advanceRound();
46823
46821
  }
46824
- /** CM14:请求观测与固定面使用同一基础估算器,尤其外部注入manager时。 */
46822
+ /** 请求观测与固定面使用同一基础估算器,尤其外部注入manager时。 */
46825
46823
  get requestEstimator() {
46826
46824
  return this.#estimator;
46827
46825
  }
46828
- /** CM14:主模型/客户端绑定改变时旧tokenizer观测不能沿用。 */
46826
+ /** 主模型/客户端绑定改变时旧tokenizer观测不能沿用。 */
46829
46827
  bindRequestModel(model, client) {
46830
46828
  const key2 = JSON.stringify(model);
46831
46829
  if (this.#requestBinding !== void 0 && (this.#requestBinding.client !== client || this.#requestBinding.model !== key2)) {
@@ -46856,7 +46854,7 @@ var ContextManager = class {
46856
46854
  this.#ledger.discardSentRequest(receipt);
46857
46855
  }
46858
46856
  /**
46859
- * AP-SP:请求固定输入(如 system 段)变化后,旧权威 usage 不再代表当前前缀。
46857
+ * 请求固定输入(如 system 段)变化后,旧权威 usage 不再代表当前前缀。
46860
46858
  * 只失效测量锚点和待配对校准基线,使下一次 measure 全量计入新 system;
46861
46859
  * 已学习密度因子、累计用量、附件/TTL、历史 pin、压缩熔断均保留。
46862
46860
  * 不等同历史压缩,不能运行 postCompact 失效清单;调用方须先判断实际输入已变化,
@@ -46866,7 +46864,7 @@ var ContextManager = class {
46866
46864
  this.#ledger.resetAnchor();
46867
46865
  }
46868
46866
  /**
46869
- * P-CTX5 K21 — 缓存命中率 EWMA(观测口径见模块常量注释)。分母 =
46867
+ * 缓存命中率 EWMA(观测口径见模块常量注释)。分母 =
46870
46868
  * 权威输入合计(input+cacheRead+cacheCreation,与校准闭环同一口径);
46871
46869
  * 非正分母(空轮防御)跳过观测。首个观测直接落座(无先验不掺水)。
46872
46870
  */
@@ -46878,7 +46876,7 @@ var ContextManager = class {
46878
46876
  this.#cacheHitRatio = this.#cacheHitRatio === null ? observed2 : CACHE_HIT_EWMA_ALPHA * observed2 + (1 - CACHE_HIT_EWMA_ALPHA) * this.#cacheHitRatio;
46879
46877
  }
46880
46878
  /**
46881
- * K21 — 当前缓存命中率 EWMA 只读出口(null = 尚无观测)。消费方:
46879
+ * 当前缓存命中率 EWMA 只读出口(null = 尚无观测)。消费方:
46882
46880
  * baseline 策略缓存感知门 + microcompact 观测材料。
46883
46881
  */
46884
46882
  cacheHitRatio() {
@@ -46886,10 +46884,10 @@ var ContextManager = class {
46886
46884
  }
46887
46885
  // ———— 接口 2:measure(§3.6① 出账) ————
46888
46886
  /**
46889
- * 测量当前上下文占用:锚点权威计量 + 本地估算尾部,六路分解(doc/07 §3.1)。
46890
- * T-CTX06:消息尾部经校准因子微调,system/tools 保持基础估算。
46887
+ * 测量当前上下文占用:锚点权威计量 + 本地估算尾部,六路分解。
46888
+ * 消息尾部经校准因子微调,system/tools 保持基础估算。
46891
46889
  * 本次测量独立留基线,实际发送方 prepareSentRequest 后才可配对 usage。
46892
- * P-CTX4 K16(门开):估算前按 ledger 同一锚点判定取尾部范围并归桶
46890
+ * bucketedCalibration 门开:估算前按 ledger 同一锚点判定取尾部范围并归桶
46893
46891
  * (classifyTailBucket),应用缝随之切到该桶因子;基线记录归桶与锚点
46894
46892
  * 口径供观测入账。门关零触碰(#lastBucket 不更新,分桶 Map 恒空)。
46895
46893
  */
@@ -46915,7 +46913,7 @@ var ContextManager = class {
46915
46913
  return measurement;
46916
46914
  }
46917
46915
  /**
46918
- * CM-18:请求装配后新增尾材料的只读计额。只比较受影响尾消息,
46916
+ * 请求装配后新增尾材料的只读计额。只比较受影响尾消息,
46919
46917
  * 使用当前测量已选定的校准因子;不刷新桶/配对基线/锚点,也不全量 measure。
46920
46918
  * before 缺席表示新增一条消息,按账本同口径包含消息定额。
46921
46919
  */
@@ -47030,7 +47028,7 @@ var ContextManager = class {
47030
47028
  // ———— 接口 3:assess(§3.6②⑤ 阈值评估) ————
47031
47029
  /**
47032
47030
  * 水位评估:测量 → 阈值代数 → 区带/触发建议;熔断中压制自动压缩建议。
47033
- * T-CTX03 半开:压制期间每隔 AUTO_COMPACT_HALF_OPEN_BARRIERS 个屏障点
47031
+ * 半开探测:压制期间每隔 AUTO_COMPACT_HALF_OPEN_BARRIERS 个屏障点
47034
47032
  * (noteBarrier 计时)放行一次探测压缩——探测成功由 compact 清零计数
47035
47033
  * 恢复正常,失败继续压制。本方法只读(计时推进在 noteBarrier/compact)。
47036
47034
  */
@@ -47038,13 +47036,13 @@ var ContextManager = class {
47038
47036
  return this.assessMeasurement(this.measure(view));
47039
47037
  }
47040
47038
  /**
47041
- * T-CTX13-②(CTX-P10)— 以既有测量做阈值评估(不重新 measure):同一
47039
+ * 以既有测量做阈值评估(不重新 measure):同一
47042
47040
  * 屏障内 microcompact 之后的 compact 判定复用其 measurementAfter,消除
47043
47041
  * 「同屏障二次全量估算」——第二次估算与淘汰选量投影可能相互矛盾,
47044
47042
  * 淘汰刚回收完又立刻整体压缩的同屏障双压由此根治。熔断/半开语义与
47045
47043
  * assess 完全一致(同为只读;计时推进在 noteBarrier/compact)。
47046
- * P-CTX4 K16(门开):水位判定按 contextTokens + 置信度安全边际(机制 5
47047
- * 「低置信留更大边际」——桶内观测不足时尾部估算加临时边际,宁可早压
47044
+ * bucketedCalibration 门开:水位判定按 contextTokens + 置信度安全边际
47045
+ * (「低置信留更大边际」——桶内观测不足时尾部估算加临时边际,宁可早压
47048
47046
  * 不越界;观测饱和边际归零)。边际只进决策,measurement 如实不动;
47049
47047
  * 明细随 assessment.calibration 在场。门关零漂移(边际恒缺席)。
47050
47048
  */
@@ -47145,8 +47143,7 @@ var ContextManager = class {
47145
47143
  * 预算语义,恒不提醒;autoCompactAt < 启用下限(20K)同样恒不提醒——
47146
47144
  * 提醒自身 ~100 tokens,极小预算下注入本身即可观挤兑(玩具窗实测把
47147
47145
  * 水位推回压缩线引发压缩连锁),成本占比论证见 entry-budgets 常量注释。
47148
- * 占用入参由查询环钳制点透传(同屏障同一测量,不新增 measure 调用,
47149
- * T-CTX13-② 口径纪律)。
47146
+ * 占用入参由查询环钳制点透传(同屏障同一测量,不新增 measure 调用)。
47150
47147
  */
47151
47148
  takeContextBudgetReminder(contextTokens) {
47152
47149
  const budget = this.#thresholds.autoCompactAt;
@@ -47163,7 +47160,7 @@ var ContextManager = class {
47163
47160
  );
47164
47161
  return { tier, remainingTokens };
47165
47162
  }
47166
- /** CW11-W3 #11:预算提醒两档复位(压缩/硬截断成功 = 预算新纪元) */
47163
+ /** 预算提醒两档复位(压缩/硬截断成功 = 预算新纪元) */
47167
47164
  #resetBudgetReminderTiers() {
47168
47165
  this.#budgetReminderFired.low = false;
47169
47166
  this.#budgetReminderFired.critical = false;
@@ -47172,9 +47169,9 @@ var ContextManager = class {
47172
47169
  /**
47173
47170
  * 标记消息为 pinned:压缩时其所在完整 round 整体保留(round 粒度,保配对)。
47174
47171
  *
47175
- * **对象身份契约(X3-2a K-5 登记)**:pin 按消息对象引用标记(WeakSet),
47176
- * 换新对象即丢标——microcompact 存根替换径已明文豁免 pinned(T-ADV1,
47177
- * #microcompact planOptions);但查询环 meta 合并径(run-query 末条
47172
+ * **对象身份契约**:pin 按消息对象引用标记(WeakSet),
47173
+ * 换新对象即丢标——microcompact 存根替换径已明文豁免 pinned(pin 承诺完整
47174
+ * 保留,见 #microcompact planOptions);但查询环 meta 合并径(run-query 末条
47178
47175
  * user 消息整体换新对象)未防,**末条 user 消息的 pin 可能因 meta 合并
47179
47176
  * 静默失效**。现状 pin()/unpin() 无生产调用方(全仓仅测试),按设计债
47180
47177
  * 登记不改行为;若未来接线生产消费方,改法二选一:meta 合并改就地追加
@@ -47193,7 +47190,7 @@ var ContextManager = class {
47193
47190
  /**
47194
47191
  * 手动锚点登记(/pin <text>):过短/空文本返回 null;重复登记升级为
47195
47192
  * 手动源(用户显式确认抽取锚点)并回报 duplicate=true。新鲜度取当前
47196
- * 会话 round;估算用 base 估算器(登记时一次性,T-CTX19 附件同纪律)。
47193
+ * 会话 round;估算用 base 估算器(登记时一次性,与附件注册表同纪律)。
47197
47194
  */
47198
47195
  pinAnchor(text) {
47199
47196
  return this.#anchors.pin(
@@ -47315,15 +47312,15 @@ var ContextManager = class {
47315
47312
  * 执行一次压缩:制定 round 粒度计划 → 注入的 ModelClient 打一轮完整
47316
47313
  * API round → 产出摘要消息、压缩后消息数组与 session.compacted 所需数据。
47317
47314
  * 成功后:测量锚点重置(旧 anchorIndex 失效)、附件签名清空(引用目标
47318
- * 已被摘要替换)、自动熔断计数清零、校准态重置(T-CTX06)。失败(含无
47315
+ * 已被摘要替换)、自动熔断计数清零、校准态重置。失败(含无
47319
47316
  * 可压缩)不改动任何输入。
47320
- * T-CTX14b 观测缝迁挂:观测材料(CompactionObservation)恒随 outcome
47317
+ * 观测缝:观测材料(CompactionObservation)恒随 outcome
47321
47318
  * 返回;**成功结局的 started/finished 由统一应用器签发**(折叠效果的
47322
47319
  * 必经之门),失败/no-op 结局不经应用器、保留本方法返回面签发(回调
47323
47320
  * 异常吞掉,fail-open 不影响压缩主链)。直调本方法的消费方(不经应用器)
47324
47321
  * 对成功结局自行消费 outcome.observation。
47325
47322
  *
47326
- * **非重入契约(X3-2a K-9 登记)**:compact/microcompact 的 await 窗口
47323
+ * **非重入契约**:compact/microcompact 的 await 窗口
47327
47324
  * 无重入护栏——并发调用会交错破坏账本/校准基线/派生态失效清单的时序。
47328
47325
  * 互斥责任在装配层:查询环屏障点单点调用、空闲直压与查询环互斥(driver
47329
47326
  * 纪律),现状全部调用面守住。第三方直调本 API 须自行保证同一实例上
@@ -54421,35 +54418,35 @@ var PermissionEngine = class {
54421
54418
  /** 规则编译结果按 cwd 缓存(路径模式的相对锚定依赖 cwd) */
54422
54419
  compiledByCwd = /* @__PURE__ */ new Map();
54423
54420
  sessionCache = [];
54424
- /** 已装载 PolicyBundle 清单(T-C11;装载可观测性的事实源) */
54421
+ /** 已装载 PolicyBundle 清单(装载可观测性的事实源) */
54425
54422
  loadedBundles = [];
54426
54423
  /** 内置安全基线(OPT-04;关闭时两组皆空,判定段整体短路) */
54427
54424
  baselineDeny;
54428
54425
  baselineExceptions;
54429
- /** R4-BG 灾难基线(T-K3b;与基线同开关):bypass 分支单独匹配,命中转 ask */
54426
+ /** 灾难基线(与基线同开关):bypass 分支单独匹配,命中转 ask */
54430
54427
  disasterBaselineDeny;
54431
- /** protected paths(T-K2;与基线同开关;家目录不可规范解析时仅剩段保护) */
54428
+ /** protected paths(与基线同开关;家目录不可规范解析时仅剩段保护) */
54432
54429
  protectedPathsEnabled;
54433
54430
  homeCanonical;
54434
54431
  /** TMEM/1 carve-out(4.95 段):canonical + 大小写折叠后的记忆目录集;空集 = 缝不在场 */
54435
54432
  memoryCarveOutDirs;
54436
54433
  memoryCarveOutCaseInsensitive;
54437
- /** hard-safety 追加面(T-K3a;内置子集恒启用,本配置只追加 egress/审计目录) */
54434
+ /** hard-safety 追加面(内置子集恒启用,本配置只追加 egress/审计目录) */
54438
54435
  hardSafetyConfig;
54439
- /** 会话污点(T-K3a §9 跨调用窄实现):秘密面被读取后置真,egress/publish 恒 ask */
54436
+ /** 会话污点(跨调用窄实现):秘密面被读取后置真,egress/publish 恒 ask */
54440
54437
  secretTainted = false;
54441
54438
  /** LLM 权限分类器(OPT-18;缺省不注入 = 无分类器路径) */
54442
54439
  classifierConfig;
54443
- /** 分类器熔断状态(T-K1:3 连拒 30min 冷却 / 会话累计 20 拒停用) */
54440
+ /** 分类器熔断状态(3 连拒 30min 冷却 / 会话累计 20 拒停用) */
54444
54441
  classifierDenyTotal = 0;
54445
54442
  classifierDenyStreak = 0;
54446
54443
  classifierBreakerUntil = null;
54447
54444
  /** 累计跳闸次数(K19f 指标口;人工复位不清零——历史是历史) */
54448
54445
  classifierTripCount = 0;
54449
- /** 分类器咨询预算记账(T-K6:计实际模型咨询;耗尽后直通 ask) */
54446
+ /** 分类器咨询预算记账(计实际模型咨询;耗尽后直通 ask) */
54450
54447
  classifierConsultCount = 0;
54451
54448
  classifierBudgetNotified = false;
54452
- /** 分类器窄缓存(T-K6,05 §10.3:仅只读输入的 safe 裁定;键全字段) */
54449
+ /** 分类器窄缓存(仅只读输入的 safe 裁定;键全字段) */
54453
54450
  classifierCache = /* @__PURE__ */ new Map();
54454
54451
  classifierCacheHits = 0;
54455
54452
  classifierCacheMisses = 0;
@@ -54506,7 +54503,7 @@ var PermissionEngine = class {
54506
54503
  return removed;
54507
54504
  }
54508
54505
  /**
54509
- * 装载 PolicyBundle 规则集为 policy 层规则(T-C11,doc/06 §5 接缝③)。
54506
+ * 装载 PolicyBundle 规则集为 policy 层规则(集中策略分发接缝)。
54510
54507
  *
54511
54508
  * - 验证不通过(rejected/unsupported)或 meta.id 已装载过的 bundle
54512
54509
  * 整体跳过,返回值携带原因(装载可观测性);
@@ -54755,7 +54752,7 @@ var PermissionEngine = class {
54755
54752
  return { decision: "ask", source: "mode" };
54756
54753
  }
54757
54754
  /**
54758
- * R0 Shell 只读判定(T-K4;管线 7.5 段与 plan 豁免共用)。返回:
54755
+ * R0 Shell 只读判定(管线 7.5 段与 plan 豁免共用)。返回:
54759
54756
  * - allow(source='builtin',matchedRule=`read-only(<段标签>)`):结构
54760
54757
  * 入围且探针全过;
54761
54758
  * - deny(source='builtin',matchedRule=`read-only-probe(<实参>)`):结构
@@ -54819,25 +54816,25 @@ var PermissionEngine = class {
54819
54816
  return resolved.kind === "ok" ? resolved.path : null;
54820
54817
  }
54821
54818
  /**
54822
- * LLM 分类器终裁口(OPT-18 机制 + contract-v0.8 auto 模式 + T-K1/T-K6 演进):
54819
+ * LLM 分类器终裁口(contract-v0.8 auto 模式起):
54823
54820
  * - base 非 ask 或未注入分类器 → **同步**原样返回(零开销直通,调用方的
54824
54821
  * 同步快路径不受影响;auto 未注入分类器时,快路径外的输入与 default
54825
54822
  * 逐字节一致——工作区快路径本身在 decide 内,不依赖分类器);
54826
- * - **auto-only 缺省**(T-K6):非 auto 模式同步直通 ask——询问面本就有
54823
+ * - **auto-only 缺省**:非 auto 模式同步直通 ask——询问面本就有
54827
54824
  * 人裁,不花模型钱;`tightenOutsideAuto=true` 才咨询,且只收紧
54828
54825
  * (softenToAllow 非 auto 恒 false,safe 维持 ask);
54829
- * - **窄缓存**(T-K6,05 §10.3):只读输入的 safe 裁定按全字段键复用
54826
+ * - **窄缓存**:只读输入的 safe 裁定按全字段键复用
54830
54827
  * (免咨询;资格守卫仍每次现算);写改类输入不查不存;
54831
- * - **调用预算**(T-K6):实际模型咨询计数达 callBudget(缺省 200)后
54828
+ * - **调用预算**:实际模型咨询计数达 callBudget(缺省 200)后
54832
54829
  * 同步直通 ask(超限改询问;onBudgetExhausted 单次上报);
54833
- * - **熔断先行**(T-K1,doc/07 §5.6):分类器 reject 连续 3 次 → 30min
54830
+ * - **熔断先行**:分类器 reject 连续 3 次 → 30min
54834
54831
  * 冷却(期满自动复位,连拒计数清零);会话累计 20 次 → 本会话停用。
54835
54832
  * 记账按裁决人 reject 计,与 rejectEffect 落地形无关(doc/113)。熔断
54836
54833
  * 期间同步原样返回 ask(交回询问面;headless 按既有语义降 deny)。
54837
54834
  * 跳闸时经 config.onBreakerTrip 单次上报(内核零 IO);任何非 reject 的
54838
54835
  * 咨询终局(safe/unsure/超时/抛错)都会清零连拒计数——期间用户注意力
54839
- * 已经或即将介入;人工恢复口见 resetClassifierBreaker(T-K19a
54840
- * 「批准即恢复」:两档皆复位,仅交互面用户显式批准后可调);
54836
+ * 已经或即将介入;人工恢复口见 resetClassifierBreaker
54837
+ * (「批准即恢复」:两档皆复位,仅交互面用户显式批准后可调);
54841
54838
  * - base 为 ask 且注入了分类器 → 异步咨询:
54842
54839
  * · `unsafe` → 收紧,source 记 'classifier'(RFC-OPT18-3 专属审计归因),
54843
54840
  * matchedRule 保留,**reason 携带分类器理由**;落地形按
@@ -54846,7 +54843,7 @@ var PermissionEngine = class {
54846
54843
  * 终审(询问面缺席由调度器地板降 deny)——收紧在**一切模式**下生效
54847
54844
  * (OPT-18 既有机制语义不变);
54848
54845
  * · `safe` → 仅 auto 模式(RFC-OPT18-1)且**生效资格档半径覆盖该调用
54849
- * 面**时(T-K23c,16 §4.2:SOFTEN_RADIUS[resolveTier()][face],档位
54846
+ * 面**时(SOFTEN_RADIUS[resolveTier()][face],档位
54850
54847
  * 解析闭包每次咨询现算)放行为 allow,source 记 'classifier',reason
54851
54848
  * 同携带;且须通过与模式放行同级的资格守卫(目标可解析、路径非
54852
54849
  * UNC、内置基线复查不命中——ask 规则命中时管线 4.5 段未评估,
@@ -54855,7 +54852,7 @@ var PermissionEngine = class {
54855
54852
  * 松动,且 deny 规则/基线永不受软化——deny 路径根本不进本方法);
54856
54853
  * · `unsure`/超时/抛错 → 维持 ask 原样(fail-degrade,不改变既有语义)。
54857
54854
  * - Shell 工具附命令结构树(command-structure.ts);注入了 transcript
54858
- * 提供器且切片非空时附当前轮用户请求(T-K2,注入防御语义见 classifier.ts)。
54855
+ * 提供器且切片非空时附当前轮用户请求(注入防御语义见 classifier.ts)。
54859
54856
  * - 模式在咨询发起时定格(异步窗口内 setMode 不追溯本次终裁)。
54860
54857
  */
54861
54858
  consultClassifier(input, base) {
@@ -54888,7 +54885,7 @@ var PermissionEngine = class {
54888
54885
  return this.adjudicateByClassifier(input, base, this.classifierConfig, softenToAllow, cacheKey);
54889
54886
  }
54890
54887
  /**
54891
- * 共享咨询预算消耗口(T-DA5,27 号 B-2):权限分类器与派生裁决查询
54888
+ * 共享咨询预算消耗口:权限分类器与派生裁决查询
54892
54889
  * **共用同一预算池**(callBudget 上限 + 同一计数器)——两类模型咨询
54893
54890
  * 合计不超预算,避免两个口子各自失控。false = 预算耗尽(调用方按各自
54894
54891
  * 方向安全语义降级:分类器直通 ask,裁决查询结构性 escalate);耗尽
@@ -54908,11 +54905,10 @@ var PermissionEngine = class {
54908
54905
  return true;
54909
54906
  }
54910
54907
  /**
54911
- * 生效资格档解析(T-K23c,16 §4.5):解析闭包在场即**现算**(装配层合成
54908
+ * 生效资格档解析:解析闭包在场即**现算**(装配层合成
54912
54909
  * min(entry, ceiling, override);闭包抛错 → 'none',词表外脏值由
54913
- * softenRadiusAllows 安全查表兜底——T-INV-B 一切异常朝严);闭包缺席
54914
- * 恒 'none'(无任命即无软化面;@deprecated 布尔位 qualifiedForAllow
54915
- * 已随 P4-C3 拆除,2026-08-30)。
54910
+ * softenRadiusAllows 安全查表兜底——一切异常朝严);闭包缺席
54911
+ * 恒 'none'(无任命即无软化面;早先的布尔位 qualifiedForAllow 已拆除)。
54916
54912
  */
54917
54913
  resolveClassifierTier(config) {
54918
54914
  const resolve = config.resolveQualificationTier;
@@ -54926,8 +54922,8 @@ var PermissionEngine = class {
54926
54922
  }
54927
54923
  }
54928
54924
  /**
54929
- * 生效资格档公共查询口(T-DA7,27 号 §3.3):派生裁决链的 auto 父终审
54930
- * 半径与分类器软化共用**同一资格链事实源**(16 §4.5「换裁决人不换半径」)
54925
+ * 生效资格档公共查询口:派生裁决链的 auto 父终审
54926
+ * 半径与分类器软化共用**同一资格链事实源**(「换裁决人不换半径」)
54931
54927
  * ——装配层经此口取生效档喂执行器的 endorseFinalizeTier。未注入分类器
54932
54928
  * 配置 = 'none'(无在册资格即无自动化裁决面,半径 0);解析异常朝严
54933
54929
  * (resolveClassifierTier 已兜 'none')。每次调用现算(validUntil 越期/
@@ -54937,7 +54933,7 @@ var PermissionEngine = class {
54937
54933
  if (this.classifierConfig === void 0) return "none";
54938
54934
  return this.resolveClassifierTier(this.classifierConfig);
54939
54935
  }
54940
- /** 窄缓存统计快照(T-K6;命中率数据 = DoD 证据,自检面消费) */
54936
+ /** 窄缓存统计快照(命中率数据;自检面消费) */
54941
54937
  getClassifierCacheStats() {
54942
54938
  return {
54943
54939
  hits: this.classifierCacheHits,
@@ -54946,7 +54942,7 @@ var PermissionEngine = class {
54946
54942
  };
54947
54943
  }
54948
54944
  /**
54949
- * 咨询用量快照(T-K19b;/permissions 状态面板消费,零 IO):budget =
54945
+ * 咨询用量快照(/permissions 状态面板消费,零 IO):budget =
54950
54946
  * 生效预算(与 consultClassifier 记账同一裁决:config.callBudget ??
54951
54947
  * 缺省;非有限值 = 不限)。未注入分类器时如实返回零咨询 + 缺省预算。
54952
54948
  */
@@ -54959,7 +54955,7 @@ var PermissionEngine = class {
54959
54955
  };
54960
54956
  }
54961
54957
  /**
54962
- * 窄缓存键(T-K6,05 §10.3 键全字段):**仅只读输入**入围(写入/删除/
54958
+ * 窄缓存键(键全字段):**仅只读输入**入围(写入/删除/
54963
54959
  * 发布/权限修改不得复用 safe 缓存——isReadOnly 非 true 一律返回 null,
54964
54960
  * 即不查不存);键 = 工具 + 规范化参数 + cwd + 模式 + 版本标签(装配层
54965
54961
  * 以协议指纹+stage 模型对构造)+ 策略束集(id+version)+ transcript
@@ -55176,7 +55172,7 @@ var PermissionEngine = class {
55176
55172
  }
55177
55173
  // -------------------------------------------------------------------------
55178
55174
  /**
55179
- * allow 侧有效规则集(T-K1):auto 模式丢弃授予任意代码执行的宽规则
55175
+ * allow 侧有效规则集:auto 模式丢弃授予任意代码执行的宽规则
55180
55176
  * (broad-allow.ts 谓词),窄规则保留;其余模式原集直通。求值期过滤,
55181
55177
  * 不改写配置——退出 auto 即恢复。管线第 6 段与基线 4.5 段的配置 allow
55182
55178
  * 中和统一走本口(第 7 段会话缓存在 matchCache 内同口径过滤)。
@@ -55186,7 +55182,7 @@ var PermissionEngine = class {
55186
55182
  return this.ruleSets.allow.filter((rule) => !isBroadExecutionAllowRule(rule.parsed));
55187
55183
  }
55188
55184
  /**
55189
- * auto 模式下被丢弃的宽 allow 规则清单(层归因 + 原文;K19b 可见性口)。
55185
+ * auto 模式下被丢弃的宽 allow 规则清单(层归因 + 原文;可见性口)。
55190
55186
  * 丢弃是求值期行为(effectiveAllowRules 过滤,配置不改写),此前对用户
55191
55187
  * 完全静默——「规则写了却不生效」必须可见,否则用户会误判配置生效面。
55192
55188
  * 非 auto 模式恒空:只报告实际发生的丢弃,不报告假设。
@@ -55208,7 +55204,7 @@ var PermissionEngine = class {
55208
55204
  rules.splice(index, 0, { layer: "policy", parsed });
55209
55205
  }
55210
55206
  /**
55211
- * ask 规则按信任层分位视图(T-K0/INV-4):受信层(policy/user)在 §2.5 先于
55207
+ * ask 规则按信任层分位视图(INV-4):受信层(policy/user)在 §2.5 先于
55212
55208
  * bypass/基线求值(显式审批义务,INV-3);项目层(projectLocal/projectShared)
55213
55209
  * 在 §4.9 后于基线/保护面/污点求值——只收紧不遮蔽 deny。按需过滤而非
55214
55210
  * 构造期快照:loadPolicyBundles 运行期注入 policy ask(insertPolicyRule),
@@ -55280,7 +55276,7 @@ var PermissionEngine = class {
55280
55276
  return hit.raw;
55281
55277
  }
55282
55278
  /**
55283
- * R4-BG 灾难基线匹配(T-K3b;bypass 分支专用)。命中返回灾难规则 raw,否则
55279
+ * 灾难基线匹配(bypass 分支专用)。命中返回灾难规则 raw,否则
55284
55280
  * null。与 matchBaseline 的区别:①只扫灾难子集(不含秘密面);②**不做
55285
55281
  * 配置 allow 中和**——bypass 本身即宽放行意图,灾难地板不容 allow 抵消
55286
55282
  * (否则 `allow:['Shell']` + bypass 又放走 rm -rf /);③无例外面。
@@ -55309,7 +55305,7 @@ var PermissionEngine = class {
55309
55305
  }
55310
55306
  /**
55311
55307
  * deny/ask 侧扫描:按层优先级顺序,首个命中即返回(归因到最高层)。
55312
- * 工具名判定统一走 ruleMatchesTool(T-K8:精确相等 + MCP 服务器级通配;
55308
+ * 工具名判定统一走 ruleMatchesTool(精确相等 + MCP 服务器级通配;
55313
55309
  * 匹配语义全部落在 rules.ts,引擎只做接线)。
55314
55310
  */
55315
55311
  matchRestrict(rules, input, target) {
@@ -55322,7 +55318,7 @@ var PermissionEngine = class {
55322
55318
  /**
55323
55319
  * allow 侧扫描:Shell 目标要求每一段至少被某条 allow 规则(保守匹配)覆盖,
55324
55320
  * 归因取覆盖第一段的规则;其余目标任一规则命中即放行。
55325
- * 工具名判定统一走 ruleMatchesTool(T-K8):`mcp__srv__*` 在 allow 侧
55321
+ * 工具名判定统一走 ruleMatchesTool:`mcp__srv__*` 在 allow 侧
55326
55322
  * 命中该服务器全部工具——是工具级规则语义(命中全部调用),与 deny/ask
55327
55323
  * 侧工具名判定相同;不对称公理只作用于 specifier 内容匹配(通配规则
55328
55324
  * 恒无 specifier,不触及)。
@@ -55628,7 +55624,7 @@ var ToolRegistry = class {
55628
55624
  this.#tools.set(tool.name, tool);
55629
55625
  }
55630
55626
  /**
55631
- * 移除工具(T-D9:MCP 单服务器重连需先摘旧桥接工具)。不存在返回 false
55627
+ * 移除工具(MCP 单服务器重连需先摘旧桥接工具)。不存在返回 false
55632
55628
  * 不 throw——清理路径对「已不在」宽容幂等(与 register 的装配期严苛相对)。
55633
55629
  */
55634
55630
  unregister(name) {
@@ -56290,7 +56286,7 @@ var DispatchingToolExecutor = class _DispatchingToolExecutor {
56290
56286
  * searchAggregator(会话级 grep 轮次聚合)以及其余全部构造选项(askUser /
56291
56287
  * onDecision / captureFileCheckpoints / memoryWrite / fs / metrics …);
56292
56288
  * - 按新 cwd 重算:ToolContext.cwd、pre-image 采集前的真实目标守卫(checkRealTarget
56293
- * 工作区双锚)、T-DA7 半径判定 classifySoftenFace——三处皆按调用期以 `#cwd` 计算,
56289
+ * 工作区双锚)、软化半径判定 classifySoftenFace——三处皆按调用期以 `#cwd` 计算,
56294
56290
  * 无跨调用缓存,新实例即新锚;
56295
56291
  * - 权限门:**缺省沿用**同一 gate 对象。sdk / cli 网关皆以构造期 cwd 锚定规则路径与
56296
56292
  * 工作区快路径(permission.ts「必须与 executor 的 cwd 一致」),装配层须以
@@ -65387,7 +65383,7 @@ var UpdateSectionSchema = z44.object({
65387
65383
  /**
65388
65384
  * manifest 数据源地址(企业内网/自托管;`{channel}` 占位替换)。在场即
65389
65385
  * 优先于 npm registry;形态 = scripts/release/pack-sea.mjs 产物。
65390
- * FX-B-02(W-05 kernel 半边):须为 `https://` 绝对 URL——`http:` / `file:` / 相对形
65386
+ * 须为 `https://` 绝对 URL——`http:` / `file:` / 相对形
65391
65387
  * 在 schema 层即拒(抽取器 `invalid_value` 剥离回退低层 / 缺席;远程 org 下发经同一
65392
65388
  * schema 收口),与 cli 发布 URL 门(release-trust.ts `insecure_scheme`)双闸同向。
65393
65389
  */
@@ -71874,7 +71870,7 @@ var ProviderRegistry = class {
71874
71870
  }
71875
71871
  /**
71876
71872
  * 别名的有序 fallback 链(链首为别名自身;循环引用抛 CyclicFallbackError)。
71877
- * 只解析不重试——实际切换在 T-B4。
71873
+ * 只解析不重试——实际切换由 FallbackModelClient 执行。
71878
71874
  */
71879
71875
  fallbacksFor(alias) {
71880
71876
  return expandFallbacks(this.#config, alias);
@@ -80311,7 +80307,7 @@ function createPlatformSessionAssembler(options) {
80311
80307
  return parentModel;
80312
80308
  }
80313
80309
  },
80314
- // doc/112 §5.6-1:bundle 有效能力档 / 平台类型 / 环3 工具材料透出——
80310
+ // doc/112 §5.6-1:bundle 有效能力档 / 平台类型 / 系统工具的平台提供方材料透出——
80315
80311
  // 内层工厂按位装配;令牌经 refreshingFetch 覆写头自续,恒不落静态令牌
80316
80312
  capabilities: platform.capabilities,
80317
80313
  ...platform.systemPrompt !== void 0 ? { systemPrompt: platform.systemPrompt } : {},