@sema-agent/client-core 0.93.1 → 0.94.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +213 -0
- package/README.md +30 -19
- package/dist/adapt/arms.js +8 -5
- package/dist/adapter/downstream/terminalToSdkResult.js +2 -3
- package/dist/agentSession/engineSessionBackgroundStop.js +2 -1
- package/dist/agentsWireCaps.d.ts +15 -0
- package/dist/agentsWireCaps.js +111 -1
- package/dist/approvalReachWire.d.ts +18 -0
- package/dist/approvalReachWire.js +58 -0
- package/dist/approvalsStreamLiveCapability.js +16 -11
- package/dist/callerCwdCapability.d.ts +16 -0
- package/dist/callerCwdCapability.js +47 -0
- package/dist/controlRouter.js +3 -10
- package/dist/coreValuePorts.d.ts +64 -1
- package/dist/coreValuePorts.js +30 -0
- package/dist/detachWire.d.ts +1 -4
- package/dist/detachWire.js +1 -1
- package/dist/deviceExecutorManagementCapability.js +39 -34
- package/dist/deviceFlowPolling.d.ts +5 -0
- package/dist/deviceFlowPolling.js +28 -0
- package/dist/displayUntrusted.js +652 -21
- package/dist/engineErrorCodes.d.ts +5 -1
- package/dist/engineErrorCodes.js +9 -12
- package/dist/engineNoticeCodes.d.ts +22 -2
- package/dist/engineNoticeCodes.js +73 -6
- package/dist/engineRefusedToolName.d.ts +1 -0
- package/dist/engineRefusedToolName.js +8 -0
- package/dist/executionLaneCapability.js +14 -9
- package/dist/fileHistoryCaptureCapability.js +14 -9
- package/dist/fileHistoryLegNotice.d.ts +11 -0
- package/dist/fileHistoryLegNotice.js +50 -13
- package/dist/fleet/fleetLedger.js +5 -0
- package/dist/gateOutcome.d.ts +2 -1
- package/dist/gateOutcome.js +3 -0
- package/dist/gateVocabulary.js +1 -1
- package/dist/generated/engineAskFaceTables.d.ts +3 -0
- package/dist/generated/engineAskFaceTables.js +12 -0
- package/dist/generated/engineFactTables.d.ts +4 -2
- package/dist/generated/engineFactTables.js +13 -0
- package/dist/generated/engineNoticeTables.d.ts +5 -0
- package/dist/generated/engineNoticeTables.js +7 -0
- package/dist/generated/sdkFactTables.d.ts +3 -0
- package/dist/generated/sdkFactTables.js +17 -0
- package/dist/generated/settingsSchemaTables.d.ts +3 -0
- package/dist/generated/settingsSchemaTables.js +3 -0
- package/dist/headlessPermissionModeWire.d.ts +2 -2
- package/dist/headlessPermissionModeWire.js +11 -21
- package/dist/hitl/approvalHolds.d.ts +36 -0
- package/dist/hitl/approvalHolds.js +89 -0
- package/dist/hitl/approvalOutcomeNote.js +2 -1
- package/dist/hitl/approvalResolution.js +9 -1
- package/dist/hitl/approvalsFeed.js +5 -0
- package/dist/hitl/askGateWire.js +3 -0
- package/dist/hitl/automaticAnswerVerdict.d.ts +8 -2
- package/dist/hitl/automaticAnswerVerdict.js +69 -21
- package/dist/hitl/decisionRefusal.d.ts +19 -0
- package/dist/hitl/decisionRefusal.js +63 -0
- package/dist/hitl/frameRouter.d.ts +10 -0
- package/dist/hitl/frameRouter.js +59 -3
- package/dist/hitl/gateLedger.d.ts +3 -0
- package/dist/hitl/gateLedger.js +17 -0
- package/dist/hitl/hitlBridge.d.ts +2 -2
- package/dist/hitl/hitlBridge.js +8 -10
- package/dist/hitl/hitlHostSurface.d.ts +3 -0
- package/dist/hitl/hitlHostSurface.js +14 -4
- package/dist/hitl/localAllowRule.js +2 -1
- package/dist/hitl/noAllowCause.d.ts +9 -0
- package/dist/hitl/noAllowCause.js +26 -0
- package/dist/hitl/parkResolver.js +6 -3
- package/dist/hitl/parkRowBirthWait.js +2 -1
- package/dist/hitl/persistedRulesWire.d.ts +6 -1
- package/dist/hitl/persistedRulesWire.js +12 -4
- package/dist/hitl/planReviewWire.d.ts +0 -1
- package/dist/hitl/planReviewWire.js +30 -9
- package/dist/hitl/sessionPolicyDeliverable.d.ts +1 -1
- package/dist/hitl/sessionPolicyDeliverable.js +3 -8
- package/dist/hitl/sessionPolicyWire.js +1 -1
- package/dist/hitl/toolApprovalWire.d.ts +27 -2
- package/dist/hitl/toolApprovalWire.js +258 -23
- package/dist/humanTurnRead.d.ts +15 -1
- package/dist/humanTurnRead.js +28 -2
- package/dist/index.d.ts +18 -6
- package/dist/index.js +14 -5
- package/dist/limitsWire.d.ts +0 -1
- package/dist/limitsWire.js +2 -10
- package/dist/liveModelCatalog.d.ts +14 -0
- package/dist/liveModelCatalog.js +61 -0
- package/dist/mcpProbeCapability.js +14 -9
- package/dist/mcpReconnect.js +13 -8
- package/dist/memoryComplianceCapability.js +15 -10
- package/dist/memoryOriginCapability.js +15 -10
- package/dist/modelIdentityResolvability.d.ts +4 -2
- package/dist/modelIdentityResolvability.js +31 -4
- package/dist/outputStyleSeatCapability.d.ts +16 -0
- package/dist/outputStyleSeatCapability.js +47 -0
- package/dist/ownKey.d.ts +1 -0
- package/dist/ownKey.js +10 -0
- package/dist/peerLaneCapability.js +16 -11
- package/dist/permissionRuleIssue.js +1 -1
- package/dist/permissionRulesWriteCapability.js +16 -11
- package/dist/permissionsAllowGrantCapability.d.ts +2 -0
- package/dist/permissionsAllowGrantCapability.js +38 -16
- package/dist/permissionsDeclaration.d.ts +10 -1
- package/dist/permissionsDeclaration.js +97 -15
- package/dist/protocolSegment.d.ts +1 -0
- package/dist/protocolSegment.js +13 -1
- package/dist/request/taskRequest.d.ts +11 -3
- package/dist/request/taskRequest.js +13 -1
- package/dist/resultFrameKeys.d.ts +4 -0
- package/dist/resultFrameKeys.js +13 -0
- package/dist/resumeRefusalCopy.js +6 -16
- package/dist/retryStatus.js +6 -4
- package/dist/rewindArchiveCapability.js +13 -8
- package/dist/{hitl/rosterMountedNames.d.ts → rosterMountedNames.d.ts} +1 -1
- package/dist/runCancelContext.js +2 -1
- package/dist/sealedKeyCapability.js +19 -14
- package/dist/seatContract.d.ts +33 -5
- package/dist/seatContract.js +143 -2
- package/dist/sessionPolicyCapability.js +15 -10
- package/dist/sessionReadRedactionCapability.d.ts +16 -0
- package/dist/sessionReadRedactionCapability.js +47 -0
- package/dist/sessionSyncFileHistoryCapability.js +14 -9
- package/dist/skillToolListsCapability.js +14 -9
- package/dist/sqlEngineCapability.js +18 -13
- package/dist/steerPriorityCapability.js +21 -16
- package/dist/subagent/agentStateDetail.d.ts +1 -0
- package/dist/subagent/agentStateDetail.js +41 -0
- package/dist/subagent/engineCompactWire.d.ts +15 -0
- package/dist/subagent/engineCompactWire.js +75 -13
- package/dist/supportFloor.js +1 -1
- package/dist/taskRequestWords.d.ts +2 -4
- package/dist/taskRequestWords.js +3 -2
- package/dist/types/engineState.d.ts +1 -1
- package/dist/userAttachmentEnvelope.d.ts +22 -1
- package/dist/userAttachmentEnvelope.js +90 -2
- package/dist/userInvokedSkillsCapability.js +14 -9
- package/dist/webSearchBackendCapability.js +21 -16
- package/dist/wireErrorTriage.d.ts +11 -0
- package/dist/wireErrorTriage.js +35 -0
- package/dist/wireFailureShape.d.ts +6 -0
- package/dist/wireFailureShape.js +30 -3
- package/dist/wireRefusalCopy.d.ts +6 -1
- package/dist/wireRefusalCopy.js +22 -8
- package/dist/wiringInstructionsAttribution.d.ts +10 -0
- package/dist/wiringInstructionsAttribution.js +67 -0
- package/dist/workflowClient.js +22 -1
- package/dist/workflowsJournalCapability.js +14 -9
- package/dist/writeProtectionCapability.js +28 -23
- package/docs/INTEGRATION-CLIENTS.md +719 -45
- package/package.json +5 -5
- package/dist/askSurvivesStandingAnswer.d.ts +0 -13
- package/dist/askSurvivesStandingAnswer.js +0 -53
- package/dist/hitl/askSurvivesPosture.d.ts +0 -20
- package/dist/hitl/askSurvivesPosture.js +0 -48
- /package/dist/{hitl/rosterMountedNames.js → rosterMountedNames.js} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -49,6 +49,219 @@
|
|
|
49
49
|
> 挡住 ⇒ 本批把它机械化——④a0 对 `pending` 行**要求段头已是日期形**(`(未发布)` 直接红),阶段一
|
|
50
50
|
> commit 漏转在发布前就红,不再靠人记。
|
|
51
51
|
|
|
52
|
+
## 0.94.0(2026-10-10)
|
|
53
|
+
|
|
54
|
+
> 主题:**minor** —— 终端 1.0.146 对接版:引擎 7.45 – 7.47 / 服务端 7.120 – 7.122 / 配置层 10 / sdk 18.1 提货 · 请求装配与审批判定归包 · 到期登记物按预告硬删 · 凭据遮蔽两件 · 附件信封外套标签
|
|
55
|
+
|
|
56
|
+
> 净值(相对 0.93.1):根公面运行期导出 1485 → 1547;测试钩 71 → 74;门清单 198 → 209;退役登记在册 35 → 25 行、已退役 25 → 38 行(本版退 13 · 改窗 5〔0.94.0 → 0.95.0〕· 新登 3,其中 RL-81 当版登当版退;弃用预告 1 处 = RL-82);peer sdk 地板 `>=12.0.1` → `>=18.1.0`;开发依赖引擎 `~7.44.0` → `~7.47.0`、配置层 `^8.0.0` → `^10.0.0`、sdk `^12.0.1` → `^18.1.0`;型面 BREAKING:RX-1 – RX-5 五处按预告硬删 · 来源词 `'absent'` 退役(RQ-2)· peer 地板抬升与七条过渡臂退役(SP2-7)· 必填成员增加(`CoreValuePorts` 十一 → 十七件、`LocalSessionsApi` +1 动词 +1 store、`FileHistoryDeclarationLedger` +2 口)· 闭集 / 联合增员(`MODE_ARBITRATION` 键、`GateModeReleaseReasonWord`、`PermissionsKeptReason`、`AutomaticAnswerLane`、`ModelSetupDecision`、`RulesFailure['kind']`、`EngineNoticeFactsCode`、附件描述符与「没带上」原因);已知限制本版新增 31 行(KL-613 – KL-659 之间)· 删 1 行(KL-594)· 改写 6 行(KL-85 / 177 / 427 / 428 / 554 / 611)。
|
|
57
|
+
|
|
58
|
+
### Removed
|
|
59
|
+
|
|
60
|
+
- **`HeadlessPermissionResolution['source']` 去掉 `'absent'`**(CC-173;接入文档 **§121 RQ-2**):0.27.0 起 `resolveHeadlessPermissionMode` 就不再产这一词,只是为旧消费端留在型上;本版退役。对 `source` 做 `=== 'absent'` 比较或 `case 'absent'` 的写法编译红一次,删掉那一分支即可。
|
|
61
|
+
- **`ABORT_CAUSES` 的手写三词 / `STATUS_DERIVED_COARSE_CODES` 的本地九词 / `ASK_GONE_DENIED_WORD` 的手写字面**(CC-522;退役登记 RL-70 / RL-18 / RL-45;**§121 SP2-7**):两只公面常量 `ABORT_CAUSES` / `STATUS_DERIVED_COARSE_CODES` 与一只包内常量 `ASK_GONE_DENIED_WORD` 改取 sdk 包根同名导出(`ABORT_CAUSES` / `STATUS_DERIVED_COARSE_CODES` / `DENY_REASON_ROUTING_FAILURE`)的构建期生成物,名、型、值与序今天逐字节不变。🔴 硬破坏一句:今后 sdk 改这几张表,本包下一版随之改,不再由本包的手抄挡一版 —— 按它们做穷举或快照的写法跟 sdk 走。
|
|
62
|
+
- **`PermissionMode`(= `TaskRequestPermissionMode`)的并词 `| 'dontAsk'`**(CC-522;退役登记 RL-73;**§121 SP2-7**):型改为 sdk 的 `NonNullable<TaskRequest['permissionMode']>`。🔴 硬破坏一句:装 sdk < 17.1.0 的宿主上这只型只剩五词,`'dontAsk'` 赋不进去(编译红);在地板 18.1.0 上六词逐字同。
|
|
63
|
+
- **出处键 `decidedBy` 的自铸字面型**(CC-522;退役登记 RL-74;`HitlDecideDenyOutcome.decidedBy` / `RespondToolApprovalOpts.decidedBy`;**§121 SP2-7**):型改为 `Extract<ApprovalDecidedBy, 'policy'>`。🔴 硬破坏一句:sdk < 17.0.0 没有 `ApprovalDecidedBy`,出包 `.d.ts` 在那一代上找不到这个名(`skipLibCheck` 关时编译红,开时这一位退成 `any`);在地板 18.1.0 上与修前同一个 `'policy'`。
|
|
64
|
+
- **`parkedResumeStartupFromError` 的成因词兜底读位 `extra.cause`**(CC-522;退役登记 RL-72;**§121 SP2-7**,改口 §119 SC-1 的读序):只读具名位 `startupCause`。🔴 硬破坏一句:装 sdk 12.x 的宿主(低于地板)上,422 `parked_resume.startup_failed` 的读数不再带 `startupCause`(那一代 sdk 只把词放在 `extra` 上);sdk ≥13.0.0 的抛出物恒带具名位,读数不变。
|
|
65
|
+
- **结算词镜像表编译期正向钉的滞后词放宽**(CC-522;退役登记 RL-20;非公面):钉收回 `readonly Settlement['kind'][]`。硬破坏面:对宿主无(只在本包内部);今后 sdk 的 `Settlement` 联合若再落后于引擎结算词表,本包构建即红、不再放宽一格。
|
|
66
|
+
- **`PlanReviewWire.capsBaseUrl` 位删除**(RX-1;退役登记 RL-75;接入文档 **§121 RX-1**;0.93.0 `### Deprecated` 已预告;🔴 型面 BREAKING):计划审阅注入连线型上没有这一位了,宿主按 `{ client, capsBaseUrl }` 写的对象字面量编译红,删掉这一键即可。0.93.0 起它零读者,读数与行为一个字节不变(纯 JS 宿主多带这一键照常被忽略:计划审阅口只把 `client` 透给共用连线解析器,这一键的值——含取值器抛 / 代理拒读——一次也不被碰)。
|
|
67
|
+
- **`resolveHeadlessDetach` 的第一参与第三参删除**(RX-2;RL-76;**§121 RX-2**;预告同上;🔴 型面 BREAKING):签名收成 `resolveHeadlessDetach(env?)`(仍返回 `Promise<DetachResolution>`),两实参 / 三实参的 TS 调用编译红,删掉第一实参(与第三实参)即可。🔴 纯 JS 宿主的两实参调用不报错,但第一实参会被当成 env 读:关闭开关 `SEMA_HEADLESS_DETACH` 读不到、恒走默认开 —— 必须同批删第一实参。读数不变:开关为关闭拼写 ⇒ `{ on: false, reason: 'env-off' }`,否则 `{ on: true, reason: 'default-on' }`,任何车道都不探测。
|
|
68
|
+
- **`LimitsParseResult` 的 `ok: true` 臂删 `flaggedFlags`**(RX-3;RL-77;**§121 RX-3**;预告同上;🔴 型面 BREAKING):`parseLimitsArgv` 与 `limitsForPrint` 的结果对象不再带这一键,读它的写法编译红,删掉即可。`limits` 在不在场的读数不变(显式给了限值旗才有;只有环境默认值时 `parseLimitsArgv` 无 `limits`、`limitsForPrint` 有)。
|
|
69
|
+
- **两只常驻放行旧口 `askSurvivesPosture` / `askSurvivesStandingAnswer` 退出根入口**(RX-4 / RX-5;RL-56 / RL-57;**§121 RX-4 / RX-5**;🔴 型面 BREAKING;🔴 行为面:只对仍在调这两口的宿主):根入口运行期导出 −2、类型 −4(`AskPostureFacts` / `AskPostureSurvivalRoad` / `AskPostureVerdict` / `StandingAnswerVerdict`)。0.92.0 起这两口只是自动车道单一判定 `automaticAnswerVerdict` 的取较严者包装(0.92.0 `### Changed` 已写「两只旧口保留一版」,其后按登记顺延到本版),本版整件删:旧出身表判法、0.91.0 判法与两处取严合成不再存在,姿态与常驻回答的判定只读 `automaticAnswerVerdict(card, 'mode_posture' | 'standing_rule', facts?)`。改读时三态换名(`posture_may_answer` ⇒ `may_answer`;`must_ask` 的 `by` ⇒ `road` / `askClass`)。常驻回答那一口两边逐例同答;姿态那一口有两形输入新口比旧口松(宿主报「没命中」且卡上类集不免疫时:出身词 `rule_store_unavailable` 旧口恒必问、新口按类集判;不认识的出身词旧口答 `unknown`、新口不读出身词只看类集),另一形处置不变(宿主报「命中」而卡上没有类集:旧口 `must_ask`〔`by: 'settings_ask_rule'`〕、新口 `unknown`〔`why: 'classes_absent'`〕,都是出卡)。`MODE_ARBITRATION` 的值与根入口名不变(定义点挪进判定模块)。
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
### Added
|
|
73
|
+
|
|
74
|
+
- **202 停驻体窄读上根入口 `readToolApprovalRespondParking(body)`**(CC-535;cli [9766] 请托,三端 [9776] / [9777] / [9779] 同拍消费;**§121 PK-2**):0.93.1 起只供包内结局臂用的那一只读器原样上根 —— `reason === 'parking_in_progress'` 才认,`approvalId` 非空串承载停驻事实、`retryAfterMs` 有限非负、`decidePath` / `message` 非空串,坏值只丢各自那一键、按键隔离读、永不抛;读数型 `ToolApprovalParkingBodyReading`(`parking` / `claimed_unreadable`)。直调 `respond` 的宿主(终端 legacy 回落腿 / 管理台 / 网页端 / 桌面端)换读这一只、删本地镜像;经包活卡路径的宿主仍拿结局上的 `parking` 位。根公面 +1。
|
|
75
|
+
- **`mandatedApprovalDetailOf(card)`**(CC-447 ⑦;接入文档 **§121 CP-7**):强制卡上「清不掉」那一句的按问类版本。通用句 `mandatedApprovalDetail()` 点名三类答者(这里的人 / hook / 部署跑的自动检查);卡上问类的折叠行既不放自动模式分类器、也不放沙箱准入时(例:`dangerous_delete`),这一句不再说「自动检查能答」,只说这里的人或 hook。读不出问类(缺席 / 坏形 / 集合里有本版不认识的类)⇒ 与通用句逐字节同。在本来渲通用句的地方(`approvalIsMandated(card)` 为真)改渲它即可;逐类「为什么」那半句仍由引擎写在卡的 message 里。
|
|
76
|
+
- **值级端口第十二件 `compileAllowList` 与同名读口**(CC-356 ①;**§121 CP-12**):引擎 allow 层读一张 allow 列表的读法。装配口在新形下用它复核整张 allow 表;没装 ⇒ 读口 `undefined`,装配口按老形投(与 0.93.x 逐字节同)。
|
|
77
|
+
- **allow 能力位读数多一位 `layer?`**(CC-356 ①;**§121 CP-11**):`/v1/capabilities` 同一节点上的第二只叶子 `settings.permissions.allowLayer`(服务端 7.117.0 起恒铸)读进 `PermissionsAllowGrantReading` 的 `present` 臂:布尔 ⇒ `layer` 原样;缺席 ⇒ 不落这一键;在场而不是布尔 ⇒ 整格畸形(读口答未观测、allow 不投)。
|
|
78
|
+
- **通告 `permission.allowed_tool_not_granted` 的事实读器 `readAllowedToolNotGranted`**(CC-457 C ①;接入文档 **§121 SV-1**;服务端 7.120.0 判据 G14 / G15):许可清单里读成空的条目逐条交出 `source` / `entry`(机读位 = 服务端给的脱敏原值,7.120.0 起 C0 控制符原样到端)/ **`entryShown`**(= `displayUntrusted(entry)` 单行形:控制符写成可见转义、凭据形换记号 —— 端上屏只用它)/ `reason` 与可选的 `skill` / `list` / `verdict` / `currentName` / `valueType`,`sessionId` 可选(部署清单那一形无会话)。条目表坏一条整只缺席、可选位坏只省自己;按码派发口 `readEngineNoticeFacts` 对本码由 `undefined` 改答 `{ code, audience: 'user', facts }`(`EngineNoticeFactsCode` 联合 +1)。根入口 +1 名;型 `AllowedToolNotGrantedFactsView` / `AllowedToolNotGrantedEntryView`。
|
|
79
|
+
- **能力位 `sessionReadRedaction` 读器 + 判据 `sessionReadRedactionAdmitted`**(CC-457 L;接入文档 **§121 SV-4**;读器家族第 27 只):服务端 7.120.0 起恒报「会话历史读面与 live 帧同一只脱敏」;端渲历史里的推理 / 工具输出前**按位判**,不按服务端版本号阈值判(7.119.x 已脱敏却不报本位 ⇒ 读成 `not_reported`,按「未证明」处置)。三态读数与同族恒真位同形;本位在历史读面缺席(`sessions: false`)时照真 —— 它不答读面在不在。根入口 +5 名(+ 测试钩 1)。
|
|
80
|
+
- **输出风格的每轮一句座**(CC-480 ②;接入文档 **§121 SV-5**;服务端 7.121.0 判据 G27):能力位读器 `outputStyleSeat`(读**顶层** `outputStyle`;读器家族第 28 只;判据 `outputStyleSeatAdmitted`;根入口 +5 名 + 测试钩 1)+ live 兜底层 `applyLiveRequestDefaults` 两个新入参 `outputStyleSeat?: { name, turnReminder? }` / `outputStyleSeatReading?` —— 读数认才把座落成请求顶层 `outputStyle`(原样浅拷贝,不裁键不判形;调用方已带不覆盖);不认 / 没给 ⇒ 不落(老 worker 对顶层键整份 400)。风格正文仍走 `settings.outputStyle`,两个座位两件事。`LIVE_DEFAULT_FIELDS` +1 行 `outputStyle(每轮一句座,见位才落)`。
|
|
81
|
+
- **两只准备期拒码进配置拒绝识别表**(CC-457 A ① / CC-480 ②;接入文档 **§121 SV-5 / SV-7**):`CONFIG_AGENT_UNKNOWN_TOOL` = `config.agent.unknown_tool`(子代工具清单里有一条名不对任何工具 —— 大小写孪生 / 退役拼法 / 文法不成立 —— 引擎 7.46.0 起开跑前拒、模型零触达)与 `CONFIG_OUTPUT_STYLE_INVALID` = `config.output_style_invalid`(顶层每轮一句座值形坏,服务端 7.121.0 起可达;受理后在准备期拒,不是 400)。只登记、不新增按码分派臂:渲染按 `config.` 前缀走配置拒绝族的既有处置(通用句 + 原码上屏),认不出的码回落通用句的律不变。根入口 +2 名。
|
|
82
|
+
- **`ModelUnreachableFactsView.taskId?`**(CC-480 ①;接入文档 **§121 SV-2**;服务端 7.121.0 判据 G26):`server.model_unreachable` 的事实读器多读一个可选位 `taskId`(这一次运行的 run 资源 id:流式提交 = `X-Task-Id` = `meta.taskId`,后台提交 = 提交回执的 `taskId`);缺席 = 老服务端 / 没有 run 店的流式提交 / 读不出,不补不借;读坏只省这一键。
|
|
83
|
+
- **请求键 `approvalReach` 与片段口 `approvalReachDeclaration` / `approvalReachDeclarationSettled`**(CC-365;**§121 RQ-1**):「这条运行上没有人能答审批」的逐运行声明(值闭集由引擎包根 `APPROVAL_REACH` 构建期生成,今天唯一一词 `"none"`)。端只交一位事实 `approverReachable`(这一车道上有没有能答审批的面);`false` 且能力位 `approvalReach` 为真 ⇒ 片段 `{ approvalReach: "none" }`;没报(服务端 ≤ 7.117.x,带这一键会整份 400)/ 为假 / 没读到 / 读不懂 ⇒ 空片段 + `withheld { cause, text }`。车道表末尾新增 `approvalReach` 一行:只有无人值守车道有座,交互 / 一次性车道回执 `off_lane`;闭集外的值构造期按名拒、不回显值。型 `ApprovalReachDeclaration` / `ApprovalReachWithheldCause` / `ApprovalReachWord`。
|
|
84
|
+
- **`isApproverUnavailableGate(g)`**(CC-322 ②;**§121 RQ-3**):门记录「审批口答没人可达、而引擎没有可停放的持久审批席」那一形的具名谓词 —— 拒 ∧ 结算词 `approver_unavailable`;与兄弟谓词同签名,与窗到期 / 限额回落 / 停驻三形互斥。
|
|
85
|
+
- **`LocalEngineModelIdentityReading.routeGap?` 与型 `ModelRouteGapReading`**(CC-322 ③;**§121 RQ-4**):宿主报的路由判读(`endpoint_missing` / `lane_credential_missing` / `none`)并进模型身份三态 —— 有模型名而路由起不来的那一形判 `not_resolvable`,句子点名缺哪条路;缺席 = 不判路由。
|
|
86
|
+
- **`effortLevelsOf(model, catalog?)` / `effortLevelHonored(reading, level)` 与型 `EffortLevelsReading`**(CC-326;**§121 RQ-5**):按在线模型目录行的 `supportedEffortLevels` 答「这只模型接受哪几档思考档位」—— `clamped` / `not_clamped`(推理模型、不夹档)/ `not_applicable`(非推理模型)/ `unknown`(五因);整只目录缺席与单行缺键分开判;`LiveModelInfo` 多声明 `supportedEffortLevels?`。
|
|
87
|
+
- **附件描述符 `mcp-resource` 与「没带上」四个新原因**(CC-315 增量;**§121 RQ-6**):`{ kind: 'mcp-resource', server, uri, name, parts, truncated }` 写成数据信封(文本段逐行编号、二进制段只记类型、截短一句事实句);`not-included` 多一形 `target: 'mcp-resource'`(带 `server` / `uri`);原因闭集 +`approval-required` / `server-not-connected` / `resource-not-listed` / `read-failed`;型 `UserAttachmentMcpResourcePart`。
|
|
88
|
+
- **`PermissionsDeclarationInput.clientOwnedServers?` / `PermissionsDeclarationReport.clientOwned?` / `WIRE_RULE_TRUST_ORDER`**(CC-413;**§121 RQ-7**):客户端自己挂上的 MCP 服务器交名字,本包按引擎的铸名端口铸整服务器 allow、并进 allow 桶(不受读健康门罩,受能力位门罩),报告口单列每只的去向;请求体权限规则的来源信任序公面导出(冻结,与装配口排序是同一只)。型 `PermissionsClientOwnedStatement`。
|
|
89
|
+
- **`requestEngineCompact` 的 `opts.onSettled` 与类型 `EngineCompactOutcome`**(CC-512;接入文档 **§121 HW-4**):手动压缩那一发的发射结局回传。形 `{ kind: 'accepted' } | { kind: 'refused', status, errorCode? } | { kind: 'failed', detail, status?, unconfirmed?: true } | { kind: 'offline' }`:`accepted` = 引擎受理(HTTP 2xx;名字刻意不叫「已压缩」—— 受理不等于压完:压完的证据是那条 run 流上的 `compacted` 事件,无事可压时不出事件);`refused` = 引擎答了、没收(4xx,或 501 + `capability.*` / `feature.*`);`failed` = 没拿到明确答复(5xx / 传输失败 / 注入形 60 秒截止 / client 自身时限;`unconfirmed: true` = 这一发可能已被受理);`offline` = 发射那一刻造不出 client。至多回调一次、绝不在 `requestEngineCompact` 返回之前同步重入、接收口抛了只留痕不外溢;404 在单次重试之后才落定;idle 时 arm 的请求,结局在下一条 run 绑定后的发射落定时到(同槽攒下的多个接收口各收一次)。缺席 `onSettled` = 与 0.93.1 逐字节同(无回传)。同步返回值四个词与类型一个不动,语义改口为「已请求」(见 Changed)。
|
|
90
|
+
- **决定口拒收的三端公共判定**(CC-438;接入文档 **§121 HD-2**):`classifyDecisionRefusal(err)` → `{ standing, status, errorCode?, transient? } | undefined` —— 只按状态码与机读码分三类:`settled-elsewhere`(404 / 410 / 409 ∧ `conflict.ask_decided`:那一问已不在等)/ `ambiguous`(5xx 非 501:可能已落库,不许断言没生效)/ `refused-pending`(其余 4xx 与 501:引擎在裁决之前拒收了这一发);状态码读不出 400–599 整数 ⇒ `undefined`(没拿到判决)。另报瞬时性 `transient: true`(present-iff:408 / 425 / 429 / 502 / 503 / 504,或拒体自有 `retriable: true`)。`liveAskPendingReading(envelope, approvalId)` → `pending` / `not_pending` / `unknown`(读审批列表的活卡段;没报 / 坏形 / 抛 / 有坏行被丢 ⇒ `unknown`)。`decisionRefusalClosesOut(refusal, pending)` 恰在「不是 settled-elsewhere ∧ 不是瞬时拒收 ∧ 读数 pending」时为真(瞬时拒收之后仍在等是正常可恢复状态,不据它停 run)。`undeliverableDecisionContent({ status, errorCode?, end, runId? })` 是收口之后的唯一一句(`end` ∈ `run-stopped` / `run-unconfirmed` / `turn-stopped`)。端只保留编排(收口端口、拒收那一刻绑定车道、同一问只收一次)。
|
|
91
|
+
- **「为什么没放行」的原因口与两条自动拒车道的拒因句**(CC-439;**§121 HD-3**):`noAllowCauseOf(card, ladder)` → `no_allow_rule` / `ask_rule` / `budget` / `other` / `undefined`,由卡上规则车道判定与宿主规则阶梯的判决证据位(`RuleLadderNoAllowFacts`,只认自有数据属性上的严格 `true`)合出;`policyDenyReason({ lane, toolName, cause?, allowRuleFlag?, budgetSetting? })` 是无审批口车道与 dontAsk 模式各四形的拒因一行,与 `HITL_POLICY_DENY_MESSAGE` 同一铸口,只说这一次调用、宿主专有的出路(规则旗名 / 预算设置名)只在宿主给出时出现。
|
|
92
|
+
- **自动车道判定第三车道 `permission_request_hook`**(CC-450;**§121 HD-5**):`automaticAnswerVerdict(card, 'permission_request_hook')` 答「钩子这类自动作答者能不能答这张卡」—— 同一张仲裁表、读 `hookAskFloor` 列;真人位 / 治理位 / 强制族 / 出身词经列先行;让位证据与宿主事实不读;缺席 / 坏形 / 表外 ⇒ `unknown`。`permissionRequestHookScope(verdict)` → `allow_or_deny` / `deny_only` / `skip`(may_answer / unknown / must_ask;读不懂的判决 ⇒ `deny_only`)。型 `AutomaticAnswerLane` +1 词、`AutomaticAnswerAskFace`、`PermissionRequestHookScope`。
|
|
93
|
+
- **审批卡三个可选位与三句人话**(CC-433 / CC-283;**§121 HD-1 / HD-6**):`ApprovalCardRequest.boundGrants?`(Skill 卡批准时还授予什么:技能名或 `null` + 两只清单;只在活卡帧腿,坏形整键缺席,冻结)/ `classifierNoRuling?`(分类器没判的成因词,开集,只在活卡帧腿)/ `priorCardsForCall?`(同一调用上更早呈出、问的是另一件事的卡:`ApprovalPriorCard { approvalId?, origin?, mandate?, outcome? }`,冻结);人话 `approvalBoundGrantsDetail` / `classifierNoRulingDetail` / `approvalPriorCardsDetail`(各自唯一铸点;授予清单那一句只给条数,不嵌部署文本)。
|
|
94
|
+
- **座位能力表与 `pickFolder`**(CC-469 ①;接入文档 **§121 SW-1**):`LocalSessionsApi.pickFolder(): Promise<string | null>`(宿主原生目录对话框;`null` = 用户取消)与能力表 store `seatCapabilitiesState`(态 `{ pickFolder?: boolean }`);读口 `seatCapability(state, name)` 三态(`reported` / `not_reported` / `malformed`,只认自有数据属性)、订阅口 `watchSeatCapability`(先订阅再读现势,迟订阅者第一拍就是现势)、禁用句 `seatCapabilityUnavailableDetail`(三句,没报 ≠ 做不到)、闭集 `SEAT_CAPABILITY_NAMES`。可缺的座位动词能不能用只由宿主发布的能力表答,不靠调用失败判。
|
|
95
|
+
- **会话记录键 `LocalSessionRecord.cwd?`**(CC-469 ②;**§121 SW-2**):开场时用户选的文件夹,`start({ cwd })` 的值原样回显(项目分组只读这一位);缺席 = 没选。
|
|
96
|
+
- **`deviceFlowPollingPlan(reading)` 与型 `DeviceFlowPollingPlan`**(CC-504;**§121 SW-5**):设备码登录轮询的握手寿命(`timeoutMs`)与轮询间隔(`intervalSeconds`)—— 响应里的有限正数优先,缺席或坏形取设置契约数(构建期生成,不手写),间隔 ≥ 1;读数不是对象 ⇒ `undefined`。
|
|
97
|
+
- **`askProbeReasonDetail(card)`**(CC-191;接入文档 **§121 HW2-3**):卡上「为什么问」那一句的唯一读口 —— 探针原话在场 ⇒ 原话经 `displayUntrusted` 单行形(干净文本逐字节不改写);缺席而结构因由在场 ⇒ 本包一句「自动检查清不掉这一问、引擎没说具体原因」,码词形合(`<domain>.<snake_case>`)才在句尾带原码;两者都缺 / 读不出 ⇒ `undefined`。活卡与停驻卡装配出的卡同一句。
|
|
98
|
+
- **`subagentStateDetail(carrier)`**(CC-231;**§121 HW2-4**):引擎结构卡(`task-output` / `agent-transcript` 的 `agentState`、`list-agents` 每行的 `agentState`)上的子代状态读数说成一句 —— 状态词与审批词原样(引擎包根只有类型、没有运行期词表,本包不手抄)、最后活动按引擎读数时刻 `readAt` 算(不读本机钟)、读不出就说未知。
|
|
99
|
+
- **`ToolApprovalFrameOutcome.aborted?: true` / `joinedInFlight?: true`**(CC-514 / CC-493;**§121 HW2-1 / HW2-2 · FX-2**):活卡被中止(没被引擎收口帧撤走)⇒ `aborted`(包发起了恰一发中断拒绝);同一审批已有一路持有这张活卡 ⇒ 本路拿持有者结局的浅拷贝、带 `joinedInFlight`(语义与停驻卡同名位逐字同)。
|
|
100
|
+
- **结果帧 `_sema_` 串型超集键的读口族**(CC-312;接入文档 **§121 RP-1**):`resultErrorCodeOf` / `resultSelectedModelOf` / `resultSalvagedResultOf` / `resultParkFailedReasonOf` —— 读帧上**自有数据位**的非空串(原字节);非对象 / 数组 / 只在原型链上的同名键 / 取值器(不执行)/ 空串 / 非串 / 读描述符就抛的代理一律 `undefined`,永不抛。旧名 `errorCode` / `model` / 错误信封上的 `result` 本包 0.83.0 起零铸点,本族不并读。包内读这几位的两处(adapt 的错误信封抢救正文、结果帧投影读帧上的停车真因)改走同一条读法。根入口 +4 名。
|
|
101
|
+
- **接线回执 `instructions` 段的归属读口**(CC-313;**§121 RP-2**):能力位 `callerCwd` 读器(读器家族第 29 只:`projectCallerCwdCapability` / `noteEngineCapsForCallerCwd` / `observedCallerCwd` / `forgetCallerCwdReading` + 测试钩;判据 `callerCwdAdmitted` 只认 present ∧ `true`;型 `CallerCwdReading`)—— 宿主在探测回调里先 note 再读,同一拍就读到这一次的读数;`legCwdOfBody(body, reading)`(读数认 ∧ 真出站的体序列化后带非空 `cwd` ⇒ 那一串;与文件历史关断声明同一只出站体读法);声明事实账本多记一份事实 `declaredLegCwd(requestKey, cwd)` / `legCwdOf(runId)`(同一只账本、同一只绑定帧判据);`engineSelectedInstructionsFile(view, { legCwd, currentCwd, realPathOf })` —— 腿 cwd 与当前目录逐字相等 ∧ 首员是安全的相对路径(无 `..` / 绝对 / 盘符 / 反斜杠 / 空段;展示出口原样不动:无控制、双向、格式类、行段分隔符)∧ 按宿主的真路径口解析后仍在当前目录之内(符号链接指出去不认)⇒ 那一员,否则 `undefined`。根入口 +7 名(+ 测试钩 1);型 `InstructionsAttributionInput`。
|
|
102
|
+
- **core 值级端口路由判官五件与同名读口**(CC-478;**§121 RP-3**):`routeKeyOf` / `joinRequestUrl` / `resolveRouteCredential` / `adjudicateModelRoute` / `routePairingStatus`(引擎包根 `brain/route-adjudicator` 同名五只原样装进来;凭据必须与它打的地址配对的那条律只有引擎一份实现)。没装 ⇒ 读口 `undefined`(不照抄、不编「可走」),引擎对坏值的 `TypeError` 原样上抛。型 `RouteModelView` / `RouteCredentialInputView` / `RouteCredentialView` / `RouteAdjudicationView` / `RouteRefusalDetailView` / `RoutePairingStatusView` / `PerModelAuthView`(词按开集读)。根入口 +5 名。
|
|
103
|
+
- **订阅流排空终帧的判型口与决策口 `isInStreamDrainingEnd(frame)` / `streamDrainingDecision(frame, attempt, opts?)` / `STREAM_DRAINING_RECONNECT_MAX`**(CC-519;接入文档 **§121 SP2-4**;服务端 7.122.0):服务端实例进入排空(或硬停起点)时,八条只读订阅流各收一帧 `event: error` + `errorCode: "draining"` 后被关闭 —— 这是「这台在下线、换一台重连」,不是失败。判型口认 sdk 投出的三种形(扁平 / 事件包 / 舰队流未知帧透传),与提交前 503 的同码错误对象、`failed` 终态帧上的同码、流帽与 workflow 失败帧两向分开;决策口答 `{ reconnectAfterMs }`(等待就是 `drainingRetryDelayMs` 那一条退避梯,帧体没有等待窗)或 `{ giveUp: 'not_draining_end' | 'attempts_exhausted' }`(连续三次终帧之后放弃)。
|
|
104
|
+
- **leader 车道 422 拒收码 `REQUEST_AUTONOMY_LANE_REFUSED` 与读口 `autonomyLaneRefusalFromError` / 一句话 `autonomyLaneRefusalContent`**(接入文档 **§121 SP2-2**;服务端 7.122.0):部署自主档是 plan 时,`POST /v1/leader` 答 `422 request.autonomy_lane_refused`(leader 运行没有审阅计划的通道);读口只按码认,一句话说清没启动、为什么、两条出路,不带服务端原句。
|
|
105
|
+
- **活卡 202 停驻读数多一位 `message?`**(CC-518;接入文档 **§121 SP2-3**;服务端 7.122.0 起体上恒带):`ToolApprovalRespondParkingView.message` 与判别口 `parking.message` 原字节交宿主,只认自有数据位上的非空串;坏形只丢它、停驻照认。本包的用户面一句不变、不拼它;宿主要显示它,先经 `displayUntrusted`。
|
|
106
|
+
- **子代工具清单拼法预判 `agentToolListFlaws(agents, roster?)`**(CC-457 A ②;接入文档 **§121 SP2-5**):`disallowedTools` / `tools` 里的退役拼法(带现名)、含 `__` 却无协议前缀的名、与挂载名册只差大小写的孪生(带现名)逐条交出;与引擎对子代 deny 表的判官逐条同答(deny 表的内容形条目 `bash(rm *)` 按括号前的名判,引擎对它同样整跑拒)。`projectAgentsForWire` 同批带出 `toolListFlaws?`(present-iff)与告警;宿主开 `withholdRefusedDenyLists` ⇒ deny 侧有问题的 agent 不送;`toolRoster?` / `agentSourceLabel?` 两个可选入参。
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
### Changed
|
|
110
|
+
|
|
111
|
+
- 🔴 **`modelSetupDecision` 的第一参收读数**(**§121 FX-4**;CC-322 ③ 同版):`modelSetupDecision(identity: ModelIdentityResolvability | ModelIdentityReading, hostCanConfigureModel)` —— 交读数时与 `modelIdentityResolvability` / `modelIdentityDetail` 走同一次分析,路由缺口那一形的 not_resolvable 落 `explain_route_gap`;交三态时与 0.93.x 同(三态里分不出路由缺口,要那一臂请交读数);三态入参是过渡臂,本版两形都认,0.95.0 删(Deprecated 一条;退役登记 RL-91)。🔴 **型面 BREAKING**(只对穷举写法):`ModelSetupDecision` 联合 +1 员 `explain_route_gap`(对它做 `never` 穷举的写法编译红一次,措辞取 `modelSetupNotice`)。
|
|
112
|
+
|
|
113
|
+
- **用户附件信封外套闭集标签 `<attachment path="…">`**(CC-539;🔴 行为面:提交体多一层标签,公面导出 / 型零变化;**§121 ET-1 – ET-3**):`mintUserAttachmentEnvelope` 铸出的每一块附件信封、装配口 `encodeHumanTurn` 拼进提交正文的每一块,外面再套一层 `<attachment path="<路径>">` … `</attachment>`(开标签、闭标签各占一行);降级成引用句的附件(内容一字不带)是自闭合的一行 `<attachment path="<路径>" />`,换行后跟原引用句;多附件多块、各自外套,块与块、块与用户正文之间仍是 `\n\n`。标签内文本与 0.93.x 的信封逐字节同(围栏 / 行号 / 显形规则一概不变,标签行自身不带行号);`path` 属性取信封里「Full path:」之后写的同一个形,再把 `&` `"` `<` `>` 写成实体 `&` `"` `<` `>`(解实体一遍恰得那个形)。MCP 资源两形没有路径位 ⇒ 仍套标签、不带属性(`<attachment>` / `<attachment />`)。为什么:按标签名剥「非用户块」的读者(会话标题、转录摘要)认不出无标签散文,会拿附件正文当用户的话。三端经包零改码;终端的逐字节金样与一处探针断言要随换钉改真(§121d)。已知限制 KL-656(正文里的 `</attachment>` 字面串不显形)。
|
|
114
|
+
- **开发依赖引擎 `~7.44.0` → `~7.47.0`,生成表重生**(CC-447 / CC-452 / CC-499;**§121 CP-1 – CP-4**):通告码册 86 → 87(`permission.rule_row_dropped`,受众 user,只登记、不加读器,端渲引擎原句);问类仲裁表 +1 行 `dangerous_delete`(保护位置上的删除,任何模式 / 规则 / 分类器都清不掉)—— 🔴 **型面 BREAKING**(只对穷举写法):根入口 `MODE_ARBITRATION` 的键型 +1;放行原因词表 `GATE_MODE_RELEASE_REASON_WORDS` +1 词 `write_protection_unresolved`(引擎在 shell 面放行一次写目标解析不出的调用时带的披露词)—— 🔴 **型面 BREAKING**(`GateModeReleaseReasonWord` 联合 +1,对它做 `never` 穷举的写法编译红一次)。
|
|
115
|
+
- **请求体 allow 桶按接收它的那一代引擎选形**(CC-356 ①;**§121 CP-10 / CP-11**):能力位 `allowLayer` 为真且宿主装了 `compileAllowList` 端口 ⇒ 新形 —— 内容形 allow(`Bash(git:*)` / `Read(//dir/**)` / `Edit(src/**)`)按原串投出,名字层几关照旧;投完按引擎 allow 层整表复核,会让别的条目跟着读成空的那一条(今天:`*`)不投、报告口理由 `voids_allow_list`,复核答不上来 ⇒ 整桶留下 `judge_failed`。老形(只有 `allowGrant`,或宿主没装端口)与 0.93.x 逐字节同,理由 `content_form_not_grantable` 只在老形出现。doctor 句新形一句(命中不问,强制类除外)。🔴 **型面 BREAKING**(只对穷举写法):`PERMISSIONS_KEPT_REASONS` 十三词 → 十四词。
|
|
116
|
+
- 🔴 **型面 BREAKING:`CoreValuePorts` 多一只必填成员 `compileAllowList`、`CORE_VALUE_PORT_NAMES` 十一件 → 十二件**(CC-356 ①;**§121 CP-12**):按完整 `CoreValuePorts` 型建端口袋的宿主编译红一次 —— 把引擎包根同名函数原样加进 `installCoreValuePorts({...})` 即过;用 `Partial` 袋的宿主不受影响(没装 ⇒ 老形)。
|
|
117
|
+
- **请求面权限模式词表改由引擎包根生成**(CC-453;**§121 CP-9**):成员不变,序改为引擎序(`default` / `acceptEdits` / `plan` / `auto` / `bypassPermissions` / `dontAsk`)。🔴 根入口两只副本 `PERMISSION_MODE_INTENTS` / `HEADLESS_PERMISSION_WIRE_MODES` 的元素序随之变,座位入站门与 headless env 旋钮的拒句 / 告警里列词的序也随之变;按成员判的写法不受影响。
|
|
118
|
+
- **`unsupported.path_base` 那一句改口**(CC-452 ②;**§121 CP-6**):引擎 7.46.0 起只在「声明了不可用的基」时铸这一码(没给基的相对规则按这一跑的树判),老一代在「没给基」时铸 —— 句子改成两代都真:「基缺席或不是可用的绝对路径」。
|
|
119
|
+
- **「用户输入没被用上」读口的车道与条数位改读生成表**(CC-447 ④;**§121 CP-8**):`readUserInputUndrained` 不再按两只码串手判,改读引擎包根 `USER_INPUT_UNDRAINED_FAMILIES` 的生成物;读数与句子逐字节不变。
|
|
120
|
+
- **`dontAsk` 按名投影;回落只在字段投影口判一次**(CC-426;接入文档 **§121 SV-6**):别名口 `normalizeShellPermissionModeForWire` 的别名表只剩 `manual → default` 一行,`dontAsk` 读数怎么给都按名原样交出(修前读数不认时在别名口归一成 `default`,与字段投影口 `permissionModeField` 的读数不认臂是同一个回落写两处;那一行退役)。发不发 `dontAsk` 只由 `permissionModeField` 按能力位 `permissionModes` 判:认 ⇒ 原样发;不认 ⇒ 表了态(`stampDefault`)落 `default`、没表态落 `{}`。合用写法 `permissionModeField(normalizeShellPermissionModeForWire(m), { stampDefault, permissionModes })` 在每种读数下与 0.93.1 产物逐字同;headless 两车道同(env 车道的降档警示改从字段投影口的产物读,句子不变)。🔴 两处可观测差:① 把别名口返回值**直接**当 wire 词发的调用方(不经字段投影口)拿到 `'dontAsk'` 而不是 `'default'`(老服务端对它 400);② 只给字段投影口读数、不给别名口读数的半接法,读数认时由发 `default` 变发 `dontAsk`(收紧方向:引擎自己拒要问的调用)。
|
|
121
|
+
- **持久规则列举:`request.query_invalid` 按「这一发有没有带游标」分臂**(CC-457 E ①;接入文档 **§121 SV-3**;服务端 7.120.0 判据 G20 / G33;🔴 `RulesFailure` 联合 +1):`classifyRulesFailure(e, context?)` 多一个可选第二参 `{ cursorSent?: boolean }` —— `false` ⇒ 新臂 `{ kind: 'query-refused', message }`(列举的查询被拒,今天即 `?scope=` 的 project 根不是绝对路径;句子原样、不重列);`true` 或不给 ⇒ 照旧 `cursor-stale`。`listAllPersistedRules` 自己交这一位:首页(不带游标)被拒 ⇒ `query-refused`(修前 `cursor-stale`,端据此提示「清单变了、刷新」)。不带 scope 过滤的列举零变化。对 `RulesFailure['kind']` 做 `never` 穷举的写法编译红一次。
|
|
122
|
+
- **开发依赖 `@sema-agent/settings-schema` `^8.0.0` → `^10.0.0`;私钥 PEM 头只有一只定义**(CC-490;构建期,不进运行期依赖、不进 `peerDependencies`、不出包;接入文档 **§121 SV-8**):10.0.0 起配置层写侧判据在串中任意位置认私钥 PEM 头,并从包根导出这只定义 `PRIVATE_KEY_PEM_HEADER`(不锚定、不分大小写);本包生成表同批生成它(`SETTINGS_PRIVATE_KEY_PEM_HEADER`;`SECRET_LITERAL_RE` 两版逐字同,仍是串首锚)。展示出口两处改读它:① 整串判据(`looksLikeKnownSecret`,与配置层写侧判据逐条对拍)串中任意位置的私钥头判阳(修前只认串首);② PEM 块切分的块头由它拼成 —— 修前包内另写一份块头(`BEGIN` 后要字面空格、分大小写),小写块头 / `BEGIN` 后不带空格的私钥块主体整块上屏,本版与常规形一样主体换记号、块头块尾原样。公钥 / 证书照旧不认。干净文本逐字节不变。
|
|
123
|
+
- **无人值守车道的权限模式恒显式**(CC-173;🔴 行为面只一形;**§121 RQ-2**):`resolveHeadlessPermissionMode` 在旗给了本层不认识的词时,修前不盖模式(请求不带 `permissionMode`),现在盖 `default` —— 这条车道的请求从此恒带显式模式(旗 / 环境变量都缺 ⇒ `default` 在 0.27.0 起就是如此)。服务端 7.115.0 起把缺席也读成 `default`,显式盖章与它同答;在支持底线内更老的服务端上是收紧方向。交互车道的 `stampDefault` 门、环境变量两句告警的一次性射程不变。
|
|
124
|
+
- **`modelIdentityDetail` 来路臂改句**(CC-322 ③;🔴 措辞面;**§121 RQ-4**):修前「… supplies a model name, so the local engine can start with it」在缺端点 / 车道零凭据两形上不成立;现在宿主报 `routeGap: 'none'` 才说起得来,没报只说有模型名、路由与网关认名各是另一项检查。
|
|
125
|
+
- **车道表 `REQUEST_FIELD_MATRIX` 末尾 +1 行 `approvalReach`**(CC-365;**§121 RQ-1**):按整表快照断言的判据按新字节改;其余各行逐字节不变。
|
|
126
|
+
- **用户面失败句不再带错误类名**(CC-508;🔴 行为面:措辞;**§121 HW-1**):七处把 `String(e)` 直拼进用户面句的出口 —— HITL 桥取件(`approvals.list failed: …`)、审批卡 approve / deny 两条决断出口(`decide(approve|deny) failed: …`)、提问卡决断出口(`decide failed: …`)、取件等待(`probe threw: …`)、本地规则解析(`rule text did not parse (…)`)、后台停止的非对象抛出物(`the stop request failed: …`)—— 改走包内既有的「抛出物 → 可渲染句」读口:取抛出物自带的非空 `message`;抛出物本身是非空串 / 数 / 布尔时取其文本;其余(对象没带 `message`、`null`、取值器或转换钩子抛、`message` 为空的带类名错误)落固定一句 `the call failed with an error this client could not render`,不再是裸类名 / `[object Object]` / `null`。类名与读口名不进句子;原抛出物(含类名)只进宿主日志(取件 / 两条审批出口 / 提问卡出口各一行 debug;取件等待与本地规则解析两处是零宿主依赖的纯模块,不留日志)。同形存量同批改齐:瞬断重试耗尽错把内层传输错误文本带进 `reason` 的那一段(此前是「…: TypeError: fetch failed」)、计划审阅决断「够不着引擎」句。`decideFailureNote` 的补句组合与 `errorCode` / `currentPending` 等机读位不动。
|
|
127
|
+
- **`resumeContextUnavailableContent` 的三句与保留时长句改英文单源**(CC-513;🔴 行为面:措辞;**§121 HW-2**):此前只有中文,与本包其余用户面句不一致,多语言的端也无法按码选句。现在三段(` · ` 分隔)恒为英文:`This approval has nowhere to be delivered: …` · `Nothing was decided and your decision was not consumed; this card is still waiting` · 第三句按 `runId` 在场与否给恢复指引(`The error carries this run's id: …` / `The error carries no run id: …`),`staleAfterSec` 在场才在句尾带 `(this deployment keeps conversations for N seconds)`、缺席不渲。端按 `code`(`conflict.resume_context_unavailable`)自行本地化,不要拿这几句当 i18n 键。旧中文句整句作废,不留双语开关。
|
|
128
|
+
- **计划审阅决断撞 409 `conflict.resume_context_unavailable` 走缺席句**(CC-513;**§121 HW-2**):修前该码落进通用 4xx 句(模型与宿主只拿到「HTTP 409 …」一行);现在结局句 = `This <approve|reject> was not applied. ` + 上一条的同一只措辞(带 / 不带 `runId` 两形)。机读位 `effect` 仍是 `not_applied`(与修前同值,只换句子)。别的 409 码照落通用句。
|
|
129
|
+
- **计划审阅的 `permissionModeAfter` 不再按决断词预检**(CC-509;🔴 行为面;**§121 HW-3**):`HitlBridge.reviewPlan` 与 `decidePlanReview` 此前在本地只放行 `approve` 带这一键(`edit` / `reject` 带它 ⇒ 本地拒、一个字节不发),那是服务端规则的手写镜像 —— 服务端 7.122.0 起 `edit` 也受理,镜像把合法的 `edit` + 模式词拦在本地。现在本地只核**值集**(闭集两词 `default` / `acceptEdits`;词表外 ⇒ 本地拒、零请求,拒句不再说「只配批准」),其余照发,拒绝由服务端的 400 `request.field_conflict` 说话:`reviewPlan` 原样抛给调用方;`decidePlanReview` 的结局 `still_parked`(状态未动),`reject` + `acceptEdits` 的句子是 `The plan reject was NOT applied: the engine refused the post-approval permission mode that was sent with it …`(不借 approve 那一句的成因);`approve` 的既有两句逐字不变。老服务端对 `edit` + 键同样 400 同码 ⇒ 同样原样抛、决断没生效(不静默降档重发)。`default` 撞 400 去键重发恰一次的既有行为不变。
|
|
130
|
+
- **手动压缩:同步返回值语义改口为「已请求」**(CC-512;🔴 行为面;**§121 HW-4**):`requestEngineCompact` 的 `fired` / `armed` / `offline` / `unsupported` 四个词与返回类型不变,但 `fired` 只表示「这一发已经出手、结局未定」,`armed` 只表示「等下一条 run 绑定后才发」—— 壳不要据此报「已压缩」,要等 `onSettled` 的结局(见 Added)。409 `compact.not_running`(这条 run 在压缩落到它之前已经结束,什么都没压)另经 HITL 宿主面同族口上屏一句 `engine run finished before compaction was applied; nothing was compacted`(warning / 立即顶替 / 10 秒自清;无宿主口 ⇒ 静默),不依赖命令行还在不在。
|
|
131
|
+
- **`project*Capability` 直调遇取值器抛 ⇒ 吞返 `undefined`(全族单律)**(CC-507;**§121 HW-5**):全族 26 只导出的能力位投影函数此前对「读就抛的取值器 / Proxy」有两种处置 —— 4 只吞(`approvalDecidedBy` / `centerWiring` / `permissionModes` / `storePosture`)、22 只直接抛(只在读口工厂的 tee 落点被统一吞成「整格删」)。现在全族同一处置:直调同样吞返 `undefined`(畸形、整格删),读口工厂 tee 路径的行为不变。单律的口径是「取值器抛且抛出物逃逸到投影函数外层 ⇒ `undefined`」:以 `store` 为见证的读器(`sqlEngine` 等)的见证口把抛吞在内层(见证读不出 ⇒ 老一代 ⇒ `not_reported`),没有抛出物逃逸,外层律不触发,这不是例外;见证口之后的读抛(例 `store.sql` 取值器)照样被外层吞成 `undefined`。
|
|
132
|
+
- **姿态车道按卡所在的工具面读 bypass 列**(CC-436;🔴 行为面:命令面工具上带写保护未决的卡;**§121 HD-4**):工具面只由卡上工具名在生成表命令面名单里**逐字**判出(引擎 `askFaceOf` 派生,今天 `Bash` / `Monitor`;读不出 / 不在表 ⇒ 另一面 = 引擎的无面读法),某类在某面上放不放只读生成表 `releasableAskClassesFor(face)`。前:`write_protection_unresolved` 在姿态车道一律必问(判法第 5 行强制词、第 10 行折叠)。后:命令面上它放(宿主报没命中 ask 规则时 `may_answer`,披露词按引擎放行原因表),文件工具等其余面照问;集合里别的免疫类照拦;规则 / 钩子两车道不读面。`foldModeArbitrationRow(classes, askFace?)` 加可选面参(缺席 = 另一面,与修前同答)。终端在 Bash 面改写这一词的那段视图随换读删除(§121d)。
|
|
133
|
+
- **耐久决断单一持有登记的身份加了行实例**(CC-283;🔴 行为面:同一调用先后两条停驻行;**§121 HD-6**):身份 = 行的会话 + run + `callKey` + 行的 `createdAt`。前:同一调用的第二条停驻行(引擎为另一道检查再停一次)与第一条同键,第二路会 join 第一条在飞 / 刚落定的决断。后:两条行各自是一次决断;同一条行实例两路取到照旧相遇。行上没有 `createdAt` 时与修前同(KL-637)。
|
|
134
|
+
- **上游表生成器要求开发依赖 core ≥ 7.47.0**(CC-436):问面批(`ASK_FACES` / `askFaceOf` / `releasableAskClassesFor`)生成 `src/generated/engineAskFaceTables.ts`(只进生成物、不上根入口);更老的 core 拒生成并一次点齐缺席名。
|
|
135
|
+
- **冒号之后同行的短横是列表符号不是值**(**§121 DO-3**):`token: - 甲` 此前把短横当值遮成记号、真值原样在后;现在短横让位、值从它之后读(`api_key: - not set` 的短横不再遮)。洗过的块序列在缺省单行载体上折成 `键: - «…» - «…»`,再洗一遍不动它(一轮即不动)。只少遮短横这一个字符,不少遮任何值。
|
|
136
|
+
- 🔴 **型面 BREAKING(只对座位宿主实现方):`LocalSessionsApi` 多一只必填动词 `pickFolder` 与一只必填 store `seatCapabilitiesStateStore`**(CC-469;**§121 SW-1**):`LOCAL_SESSIONS_SPEC` 动词 17 → 18、store 3 → 4;按完整型写宿主实现的一方编译红一次 —— 实现 `pickFolder` 并发布能力表即过(弹不了框的宿主发布 `{ pickFolder: false }`)。只读接口的渲染端零编译红。
|
|
137
|
+
- **会话记录出站门多一条**(CC-469 ②;**§121 SW-2**):`cwd` 在场而不是非空串 ⇒ 拒(`field: 'cwd'`)。
|
|
138
|
+
- **上游表生成器设置契约批 +2 名**(CC-504):`DEVICE_CODE_TTL_SECONDS` / `DEVICE_POLL_INTERVAL_SECONDS` 生成进 `src/generated/settingsSchemaTables.ts`(只进生成物、不上根入口);不是正有限数 ⇒ 拒生成。
|
|
139
|
+
- **叫法**(CC-515;**§121 SW-6 / 121a′**):源注释里配置中心的旧名改为 web-admin;已发段落不回改,读法见 §121a′。
|
|
140
|
+
- 🔴 **行为面:活卡被中止(`{ kind: 'aborted' }`)发恰一发中断拒绝,除非这张卡已被引擎的收口帧撤走**(CC-514;**§121 HW2-1 · FX-2**):一条规则,两条腿同律 —— 中止的卡(不论中止来自调用方信号 Esc / Ctrl+C、卡上的中止键,还是宿主自己收卡)发一发 TOOL 级中断拒绝把挂着的那一问结算掉:与停驻卡同一句拒因 `Interrupted by user`,经 `note` 发(能力位 `approvalDecisionNote` 明确为真才带),不带信号、不带归因键;即发即弃,用户立即拿回控制,失败 / 超时由有界观察器上屏一行;结局 `{ decision: 'unresolved', aborted: true }`,判别口 `unsettled` / `interrupted`(与停驻卡中止同一格),结局便签 `{ settled: false }`;那一发落定之前同一审批再来的调用方 join 这次结局、不再呈卡。**已被收口帧撤走的卡**(同一问已由引擎结算:停驻 / 过期 / 别处已决 —— 停驻卡已决之后宿主把活卡结算成中止正是这一形)⇒ 一个字节都不发,结局 `retracted`。修前(0.93.1)中止也发一次 deny,但等回体、落成 `decision: 'deny'`,收口帧先到的那一形照发(引擎回 409 `approval_stale` 或 202 停驻中,后者还多一句「去停驻卡上再答」)。
|
|
141
|
+
- 🔴 **行为面:流不再等卡**(CC-493;**§121 HW2-2**):活卡呈到卡口后桥立即接着拉帧,结局在卡落定之后回交(`onToolApprovalOutcome` 的调用时刻随之后移)。同一审批的收口帧(`tool_approval_complete`)在卡还等人时到达 ⇒ 包经卡请求的 `signal` 撤卡,这张卡上的任何答复都不发,结局 `retracted`;宿主不听 `signal` 时人在旧卡上答了也不发,收口帧带停驻位的再上一句「去停驻卡上再答一次」(与 202 停驻中同一句)。人先答的照旧 respond。卡请求的 `signal` 在活卡上恒在场。活卡同一审批两路(流内帧与悬挂问)共用停驻卡那一张单一持有登记:只呈一张、只发一次。卡口要能同时收多张卡请求(同流多张活卡、活卡与停驻卡并存)。
|
|
142
|
+
- 🔴 **型面 BREAKING:`CoreValuePorts` 多五只必填成员、`CORE_VALUE_PORT_NAMES` 十二件 → 十七件**(CC-478;**§121 RP-3**):按完整 `CoreValuePorts` 型建端口袋的宿主编译红一次(少哪一件点名哪一件)—— 把引擎包根同名五只原样加进 `installCoreValuePorts({...})` 即过;用 `Partial` 袋的宿主不受影响(没装 ⇒ 读口 `undefined`)。
|
|
143
|
+
- 🔴 **型面 BREAKING(只对自写替身):`FileHistoryDeclarationLedger` 接口 +2 必有成员 `declaredLegCwd` / `legCwdOf`**(CC-313;**§121 RP-2**):把自写替身赋给该接口型的端编译红一次;经 `createFileHistoryDeclarationLedger()` 拿账本的端零改。关断声明的读法与答案逐字不变(出站体读口抽成通用一只 `readOutboundBodyField`,包内件)。
|
|
144
|
+
- **合成终局行在 adapt() 重建口也过凭据两张网**(CC-312 ②;**§121 RP-1**):凡经本包投影口交出、带行类旗 `_sema_api_error_message === true` 的行,正文恒已洗 —— 旗本身就是「包铸且已洗」的机读依据(不另设位),端可删兜底洗法。修前重建口信上游已洗,旧转录(0.83.1 之前落盘)或别处送来的带旗未洗行原文照交;现在同一只洗法再过一遍(铸点已洗的逐字节不变)。模型行(无旗)一个字节不碰。
|
|
145
|
+
- **cancel 撞 409 的处置句只有一个说话人**(CC-406;🔴 行为面:措辞;**§121 RP-5**):`ControlRouter.cancel` 的 `cancel_lost_race` 不再带路由器自持的那一句(「the pending gate was decided or expired concurrently (lost CAS race) …」),`advice` = `cancelConflictContent` 按读口 kind 交的那一句(`approval_settled`:那一问已在别处决定 / 过期,先看那个决定做了什么;码缺席 / 认不出:两种可能都摆),message 前缀带原码(`runs.cancel 409 conflict.approval_settled — …`;码缺席仍是 `runs.cancel 409 — …`)。安全码不变。「这是不是 cancel 的 409」只剩读口一只判官(路由器另一只按类名或状态判的退役):状态码不是 409 而类名是 `ConflictError` 的抛出物(sdk 不会铸)不再落 `cancel_lost_race`。`cancelConflictFromError` 读位逐键隔离:状态已判 409 而读码时取值器抛 ⇒ `unrecognized`(修前整只答 `null`)。
|
|
146
|
+
- 🔴 **型面 BREAKING:peer 地板 `@sema-agent/sdk` `>=12.0.1` → `>=18.1.0`;开发依赖 `^12.0.1` → `^18.1.0`**(CC-522;接入文档 **§121 SP2-1 / SP2-7**):出包 `.d.ts` 从本版起引用 sdk 17.0.0 / 17.1.0 才声明的型(`ApprovalDecidedBy`、六词的 `TaskRequest['permissionMode']`)—— 装 sdk 12.0.1 – 18.0.x 的宿主 `npm install` 报 peer 冲突;其中低于 17.1.0 的,`skipLibCheck` 关时类型检查红(开时这几位退成 `any` 或少一词;17.1.x 编得过,但不在支持面)。先把宿主自己的 `@sema-agent/sdk` 升到 ≥18.1.0,再换钉本包。运行期不向 sdk 多要任何名字(三张上游表经构建期生成物取,见 Removed);支持底线 `SUPPORT_FLOOR.sdk` 同值改 `18.1.0`。`HealthResponse` 多 pick 一位 `restart`(sdk 18.0.0 起 `version` / `since` 是数)。
|
|
147
|
+
- **本包三只订阅读者认排空终帧**(CC-519;接入文档 **§121 SP2-4**;🔴 行为面):审批推送腿不再把终帧计成一次推送、不再当拍重取(sdk 随后自行重连,新流以 meta / synced 开头,那两帧触发重取);舰队账本不再把它记成未知帧;workflow 活动流以终帧收尾时的重连等待改取决策口(连续三次 ⇒ 收口为 error,可被下一次 ensure 重开)。
|
|
148
|
+
- **子代 agent 投影对拼法问题多出告警**(CC-457 A ②;接入文档 **§121 SP2-5**;🔴 告警面):这类条目在任何一代引擎上都管不住它想管的工具,告警恒出;扣不扣送由宿主一位开关定(缺省不扣)。
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
### Deprecated
|
|
152
|
+
|
|
153
|
+
- **`modelSetupDecision` 的三态入参**(CC-322;接入文档 **§121 RQ-4 / FX-4**;退役登记 RL-91):本版两形都认 —— 交读数 `ModelIdentityReading`(推荐,路由缺口那一形拿 `explain_route_gap`)/ 交三态 `ModelIdentityResolvability`(与 0.93.x 同,分不出路由缺口)。终端改传读数之后的下一个本包版本(登记 0.95.0)删三态入参臂,第一参型收成读数。🔴 硬破坏三句:**谁受伤** —— 传三态串的宿主那一行编译红一次;**补偿** —— 本版两形都认,先改传读数(同一只 `modelIdentityResolvability` 的入参)再升下一版即零改动;**消费方矩阵** —— 终端改传读数(首启门与路由缺口叠层两处),网页端 / 桌面端 / 管理台零读点。
|
|
154
|
+
|
|
155
|
+
- **`normalizeShellPermissionModeForWire` 的第二参**(CC-426;接入文档 **§121 SV-6**):0.94.0 起不读(`dontAsk` 按名投影,按位判只在字段投影口),只为不在没有预告的版本里改签名而留;**0.95.0 删**,签名收成 `normalizeShellPermissionModeForWire(mode)`(两实参调用编译红,删第二实参即可)。
|
|
156
|
+
|
|
157
|
+
### Fixed
|
|
158
|
+
|
|
159
|
+
- **订阅流排空判型口把外层 `failed` 的混形帧认成排空终帧**(**§121 FX-1**;CC-519 同版):事件包那一支修前不看外层 `type`,`{ type: "failed", event: "error", data: { errorCode: "draining" } }` 被判成终帧、决策口给「等一拍重连」,读者把一次失败当成换台。现在事件包那一支只认外层 `type` 缺席(事件包形)或 `"unknown"`(舰队流透传形);外层是 `failed` / 别的臂 / 非串 / 空串 / 自有访问器 ⇒ 不是终帧(决策口 `not_draining_end`),访问器代码不执行。
|
|
160
|
+
- **用户在活卡上 Esc / Ctrl+C 之后引擎那一问挂到窗满**(**§121 FX-2**;本版 CC-514 初版引入,0.93.1 无此病):CC-514 初版把活卡上的一切中止一刀切成「零发」,中止不再结算挂着的那一问,而同样的中止在停驻卡上仍发拒绝。现在一条规则(见 Changed CC-514 那一条):中止的卡发恰一发中断拒绝,除非已被收口帧撤走;CC-514 初版加的判别口词 `not_sent` / `aborted` 与便签句 `APPROVAL_NOTE_ABORTED_DETAIL` 随之撤回(未发布;相对 0.93.1 `ApprovalNotSentCause` 零增删)。
|
|
161
|
+
- **强制卡那一句说「钩子也能当场答」,而本包的钩子车道对强制卡答「跳过钩子」**(**§121 FX-3**;🔴 措辞面):`mandatedApprovalDetail()` 与 `mandatedApprovalDetailOf(card)` 两句的答者清单改跟同一张判定表 —— 强制卡在 `permission_request_hook` 车道恒 `must_ask` ⇒ `permissionRequestHookScope` 答 `skip`,所以两句都不再提钩子(通用句:「by you here or by an automatic check the deployment runs」;按问类版:「by you here」)。CC-450 处置里「钩子可答强制卡」那半句作废。
|
|
162
|
+
- **宿主报了路由缺口(有模型名、缺端点 / 车道凭据)时决策口弹「没配模型名」的向导**(**§121 FX-4**;本版 CC-322 ③ 引入,0.93.1 这一形不弹):同一读数的 detail 句说「有模型名、缺路由」,决策口却给 `offer_setup` 与「no model name is configured … opening model setup」。现在把读数交给 `modelSetupDecision` ⇒ 新臂 `explain_route_gap`(不开向导、不读本端可配位),`modelSetupNotice('explain_route_gap')` 一句说「模型名在、没有到它的路由、向导帮不上」。
|
|
163
|
+
- **`approvalPriorCardsDetail` 遇取值器元素 / 陷阱抛的代理 / 已撤销代理会抛**(**§121 FX-5**):文档说坏入参给 `undefined`,实测整只抛。现在每一位按自有数据属性读(访问器不执行、原型链不算、读抛当缺席),一位读不出只丢它那半句话;长度读不出或超过账本上限 ⇒ `undefined`;永不抛。
|
|
164
|
+
- **`readAllowedToolNotGranted` 只给 `entry` 的展示形**(**§121 FX-6**):同一条目上的部署文本 `skill` / `currentName` 原字节交出(C0 控制符原样)。现在两位各多一个展示形 `skillShown` / `currentNameShown`(= `displayUntrusted(…)`,与 `entryShown` 同一只出口;与原位同在同缺),原字节位照留作机读。
|
|
165
|
+
- **同一调用的卡账本把 202 停驻中记成「已批准」**(**§121 FX-7**;本版 CC-283 引入):卡口一答 allow 就记放行,respond 回 202 停驻中(这一发没生效)时下一张同调用卡的句子仍说「you already approved an earlier one」。现在账本记**引擎收下的**决断:两条腿的结局经判别口读,落定才记 `allowed` / `denied`;停驻中 / 发送失败 / 决断被拒 ⇒ 不记(句子说「先呈过一张」)。
|
|
166
|
+
|
|
167
|
+
- **新形下一条 `*` 不再读空整张 allow 表**(CC-356 ①;**§121 CP-10**):服务端 7.117.0 起把 allow 整份交引擎 allow 层,而引擎读到一条 `*` 会把**整张** allow 表读成什么都不授予;修前本包按老形照投 `*`。现在新形下它被拦下、报 `voids_allow_list`,其余条目照投。老形(宿主没装 `compileAllowList` 端口)不变(KL-614)。
|
|
168
|
+
- **手动压缩撞已结束的 run 时屏上谎报「已压缩」**(CC-512;**§121 HW-4**):idle 时敲 `/compact` 会 arm,壳先跑完摘要 run 把 arm 消费掉,约 1.5 秒后延迟发射的那一发落到已结束的 run 上 ⇒ 409 `compact.not_running`;修前这一状态只留 debug 日志,而命令行在落定之前就按同步返回值报了「已压缩」,上下文其实没压。现在 409 经宿主面上屏一句说明、结局经 `onSettled` 回传。
|
|
169
|
+
- **审批 / 取件失败时屏上出现错误类名**(CC-508;**§121 HW-1**):终端在引擎换代之后的取件失败,屏上是 `approvals.list failed: EngineGenerationChangeReadError: …`;现在只剩 message。
|
|
170
|
+
- **计划审阅决断撞 409 `conflict.resume_context_unavailable` 时模型与用户只看到通用句**(CC-513;**§121 HW-2**)。
|
|
171
|
+
- **失败结局读口遇到已撤销的 Proxy `extra` 会抛**(CC-508 发版复核;**§121 HW-1**):包内「抛出物 → 结构快照」读口对 `extra` 的判形(`Array.isArray`)在撤销后的 Proxy 上抛 `TypeError`,于是接上它的失败出口(七处用户面句、压缩发射结局)会在 catch 块里再抛一次、失败结局或 `onSettled` 回传丢失。现在判形受保护:读不出按 `unreadable` 处置,`message` / `status` / `errorCode` 等已读到的格照留。
|
|
172
|
+
- **合法的 `edit` + `permissionModeAfter` 被本地拦下**(CC-509;**§121 HW-3**):服务端 7.122.0 起受理的组合,在本包预检处就被拒、一个字节不发。
|
|
173
|
+
- **同一调用的第二张停驻卡被第一张的决断吃掉**(CC-283;**§121 HD-6**):同一只调用先因 ask 规则、后因写保护各停一次时,第二条行与第一条共用单一持有登记的身份 —— 第一张卡还在屏上(被别处决掉)或取件读起点早于第一张落定时,取到第二条行的那一路不呈卡、拿第一张的结局交回(第二张卡没人答、引擎那一问一直等)。现在两条行各自持有、各自呈卡;第二张卡上带 `priorCardsForCall` 与一句「这是另一道检查」。
|
|
174
|
+
- **展示出口凭据遮蔽认 YAML 节点属性**(CC-460;安全类;外部验收 [9381];**§121 DO-1**):标签冒号与块标记(或单行值)之间夹着类型标签(`!!binary` / `!!str` / `!` / `!local` / `!<…>`)或锚点(`&名`)时,上一版的记号落在属性上、块标记与真值原样在后(无已知前缀的值;0.90.0 起同形)。现在冒号之后零到多枚节点属性先读掉:属性与其后的值**各遮一枚记号**(属性可能是被误读成属性的口令前缀,不放宽),块标量整块一枚,单行值 / 引号值 / 块序列项里的值同形;属性之后同行没有值时读法与上一版逐字节同。
|
|
175
|
+
|
|
176
|
+
- **展示出口凭据遮蔽认清单值**(CC-459;安全类;外部验收 [9381];**§121 DO-2**):标签冒号之后的值是块序列时,上一版只把短横遮成记号、各项原样;流序列与 JSON 数组连记号都没有;逗号清单只遮首项。现在三种清单形同一只判法、逐项各一枚记号 —— 裸复数 `keys` 后全是键名形、`tokens` 后全是整数的清单一项不遮(负控),任一项像值则整张清单逐项遮(含本来像键名的项);逗号清单只在复数标签上认,单数标签后的逗号读法同上一版;单数标签后只有一项且含空白的方括号(`password: [required for login]`)是说明文字、不当清单。
|
|
177
|
+
|
|
178
|
+
- **`retry_status` 的 `error.formatted` 不再带引擎原字节**(CC-503;纵深防御;**§121 DO-4**):`rate_limited` / `circuit_open` / `gave_up` / `retrying` 四条 error 臂此前把引擎 `detail` 原样铸进 `formatted`(可含 ESC / OSC / 双向覆写 / 换行 / 凭据形)。现在四臂同过同一只 `displayUntrusted`(缺省单行载体,先洗后折);干净文本逐字节不变,引擎没给 detail 时读数不变。`errClass` 码位早已随每条臂交出(present-iff、开集),端按码选句不必渲 `formatted`(§121 DO-5)。
|
|
179
|
+
- **活卡在屏时同流后续帧被卡住**(CC-493;**§121 HW2-2**;外部验收 [9533]):帧路由在流循环里等卡结算,人没答之前同流的停驻帧、并行工具与子代进度帧一帧都拉不出来(实测 ≥ 9 s);引擎已把这一问转停驻,屏上仍是一张已没有决断口的卡。
|
|
180
|
+
- **停驻卡已决之后活卡再发一发拒绝**(CC-514;**§121 HW2-1 · FX-2**;外部验收 [9653]):同一问的收口帧先到、包已撤卡 ⇒ 宿主之后把活卡结算成中止(或答 allow / deny)都一个字节不发,结局 `retracted`。
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
### Gates
|
|
184
|
+
|
|
185
|
+
- **layering-shadow-export** 对终端参照树 1.0.145(tag v1.0.145 = 7c1c7101):影子豁免表删八条死行(`eventToSdkMessage` / `runStream` / `makeHitlCanUseTool` / `attemptActiveRunSelfHeal` / `parseLocalAllowRule` / `persistedRulesLaneAvailable` / `persistedRulesGovernanceAvailable` / `drainingRetryDelayMs` —— 09-25 基线存量,终端 1.0.145 已删包装或改名未登,按删行期限律(终端删掉包装之后的下一个本包版本)= 本版;门 E3 对新参照树实红先、删后绿)。同义表 `projectEngineRuleNames` 行终端 1.0.145 仍在调(`settingsRulesWire.ts:355`),删行期限未到,窗按裁定 → 0.95.0。豁免表 +1 行 `agentToolListFlaws`(终端主线同名壳侧原型,同名不同物,终端 1.0.146 换钉时删,dueBy 0.95.0)。
|
|
186
|
+
- **layering-shadow-export** 对终端参照树 1.0.145(tag v1.0.145 = 7c1c7101):影子豁免表删八条死行(`eventToSdkMessage` / `runStream` / `makeHitlCanUseTool` / `attemptActiveRunSelfHeal` / `parseLocalAllowRule` / `persistedRulesLaneAvailable` / `persistedRulesGovernanceAvailable` / `drainingRetryDelayMs` —— 09-25 基线存量,终端 1.0.145 已删包装或改名未登,删行期限 = 终端删掉包装之后的下一个本包版本 = 本版;门 E3 对新参照树实红先、删后绿)。同义表 `projectEngineRuleNames` 行(dueBy 0.94.0)终端 1.0.145 仍在调(`settingsRulesWire.ts:355`),删行期限未到,窗候裁。
|
|
187
|
+
|
|
188
|
+
- 既有门扩格(CC-447 / CC-452 / CC-453 / CC-356 / CC-499):upstream-tables(G15 第十二批生成与逐面折叠差分、N15 负控、U2 改钉生成物、G4-4 尺子两向)· engine-notice-catalog(码册按装着的引擎分两代、G-RD、G-UI7)· permission-rule-issue-codes(PB)· permissions-declaration(LF1 – LF8、CF1 分两代、R1 新形读数、理由闭集十四词)· core-value-ports(第十二件)· automatic-answer-verdict(K 段)。
|
|
189
|
+
- **新门 session-read-redaction-capability**(CC-457 L):读器三态 / 读账四口 / 判据单源 / 服务端两代体形(7.121.0 present 且历史读面缺席时照真、7.119.0 not_reported)/ 公面声明 / src 去注释后按版本号判历史脱敏的读法零处(尺子对植入违例自证)。
|
|
190
|
+
- **新门 output-style-seat**(CC-480 ②):读器三态 / 判据单源 / 服务端两代体形(顶层位与嵌套的风格正文位不混读)/ live 兜底层见位才落、原样不判形、调用方已带不覆盖、风格正文座不受影响 / 准备期拒码在识别表 / 登记(兜底层字段表、两车道登记判据、装配口回执 `other_channel`)。
|
|
191
|
+
- 扩门:permission-modes-capability PM4 改写(别名口按名投影 + 合用写法 22 格逐格同 0.93.1 + 半接法两形 + 别名表恰一行源码钉;PM3j / PM3m″ 改钉合用写法);engine-notice-catalog G-AN3 成文改口 + G-AN5 读器逐形(体形抄服务端 tag v7.121.0 测试)+ J4 / J6 / L9 同批 + M10 `taskId` 可选位;rules-side G2q / G3q;display-untrusted-projection U40 对拍语料 +6 与 U40c–U40i;upstream-tables G11-1 / G11-3 / N11b 的 PEM 头三格;client-core-pure VOCAB① 十一员 + G-SV1 / G-SV1b、C-flag 三格改口、B4 兜底层字段十一件;server-7119-fixture 老一代 P6 闭环改口(别名口按名、字段投影口落 default、真受理口受理);engine-cap-reader-factory 表 +2 行(28 只)。
|
|
192
|
+
- 登记物:`scripts/public-export-baseline.json` 1485 → 1498(+13 名)、测试钩 71 → 73;`scripts/gates-manifest.json` +2 条、README 门表 +2 行、`docs/GATE-NEGATIVE-CONTROLS.md` 行为套 +2 行(派生面,生成器重写);棘轮 `typeshape.unknownExport` 498 → 503、`portability.index` 265 → 267、`singleton.highRiskCeiling` 141 → 143(单例清单 +3:两只读器的 `reader` 与生成物 `SETTINGS_PRIVATE_KEY_PEM_HEADER`),`scripts/registry.json` 同批追三条 ledger;退役登记 +RL-82(行,`package-version` 0.95.0)与已退役栏 +RL-81(别名表 `dontAsk → default` 一行,锚钉不复活)。
|
|
193
|
+
- 新门 **`run-request-uplift-test.mjs`**(78 格;判据 G-RQ1 … G-RQ7):`approvalReach` 车道表一行 / 坏值 / 读序 / 片段口五态 / 有界异步变体 / 夹具腿(新一代受理面收本包装出的体,老一代 7.117.0 对带键的体整份 400、经片段口装出的体过受理面);无人值守权限模式穷举组合恒带模式与告警射程;`isApproverUnavailableGate` 四格金样;路由缺口五形与修句;思考档位读器五读数与判据;MCP 资源信封(正文夹带指令留在围栏内的负控)与三条载体零「调用了工具」形;客户端自挂服务器表态与信任序单源。在 0.93.1 产物上跑:新面各格红、回归格绿。
|
|
194
|
+
- **upstream-tables** 第十二批 G15 / N15(`APPROVAL_REACH` 生成、逐项同序、冻结、字面元组、消费模块值级 import、引擎判官同判;上游加员 / 坏形 / 缺名点齐)· **gate-vocabulary** 结算词逐词对账登记 `approver_unavailable` ⇒ `isApproverUnavailableGate`(六条谓词)· **client-core-pure** 两格按 RQ-2 成文改口(不认识的旗词落 `default`;大小写判别力换到会被模糊匹配改值的词上)· **disable-skills-wire** 车道表行数 46 → 47、回归读数滤掉新行 · **layering-shadow-export** 新差分格 `cc413-wire-rule-trust-order`(终端同名常量逐位比)。
|
|
195
|
+
- 登记物:公面运行期导出 1485 → 1491 · 单例清单 +9 −0(改名一条:信任序常量)· 棘轮 `typeshape.unknownExport` 498 → 499(装配口坏值判定的入参)· `portability.index` 265 → 266(`approvalReachWire.ts`)· 同名影子登记 +1(终端 `WIRE_RULE_TRUST_ORDER`,`divergent-copy`,dueBy 0.95.0)· 门清单 +1。
|
|
196
|
+
- **新门 `scripts/run-hitl-words-readout-test.mjs`**(G-HW1 – G-HW10;CC-508 / CC-513 / CC-509 / CC-512 / CC-507):七处用户面句(带类名 `Error` 与非 Error 抛出物各一行,断言句子含 message / 抛出物文本、不含类名,原抛出物进宿主日志)· 瞬断耗尽错的内层文本与计划审阅「够不着引擎」句 · 英文单源(无 CJK、`·` 三段、带 / 不带 `runId` 两形、不命中「已决」扫词表)· 计划审阅 409 缺席句两形(带 / 不带 `runId`)+ 别的 409 码不认领 · `reviewPlan` / `decidePlanReview` 预检退役(`edit` / `reject` + 模式词照发、词表外本地拒、老服务端夹具 400 同码)· 压缩发射结局四形(409 / 404 单次重试 / 5xx / 注入形 60 秒截止)+ 显示值(同一次请求 `fired` 与 `refused` 并存)+ 回调纪律(异步、至多一次、抛了不外溢)+ idle 臂 · 全族 26 只投影函数逐口一行「取值器抛」+ 源码扫描钉每只导出的投影函数都在 `try` 里(新增者缺守卫 ⇒ 红)。
|
|
197
|
+
- **既有门的判据眼随成文改口更新**:`decide(approve|deny) failed: …` 与 `rule text did not parse (…)` 的期望串由 `String(e)` 形换成 message 形;`resumeContextUnavailableContent` 的基线串换成英文;`permissionModeAfter` 的「非 approve 本地拒」格换成「词表外本地拒、合法词照发」;`projectDeviceExecutorManagementCapability` 直调遇取值器抛的格由「抛」换成「吞返 `undefined`」。
|
|
198
|
+
- 新门 **`run-decision-refusal-standing-test.mjs`**(46 格;CC-438):金样 15 形与 409 码近邻、不是判决的十五形、受保护读、活卡结局便签同判、码的可上屏形、瞬时拒收六形与 `retriable`、权威读数十二形、收口真值表与瞬时拒收不收口、三句逐字、单源(码字面量与分类函数各恰一处)。红先:修前 25 格红;瞬时拒收两组另红先 5 格。
|
|
199
|
+
- 新门 **`run-no-allow-cause-test.mjs`**(40 格;CC-439):原因口金样(终端离线格对位)、判序两两冲突、严读、两车道 × 四原因八句逐字、旗名 / 设置名两向、工具名不安全形不进句、单源(拒因句只在一个模块铸)。红先:修前 38 格红。
|
|
200
|
+
- 新门 **`run-approval-card-face-projection-test.mjs`**(42 格;CC-433 / CC-283):授予清单与成因词的窄读上卡(坏形表、取值器不跑、原型链不算、耐久腿缺席)与人话逐字;同一调用的更早的卡(两张顺序、重放、停驻孪生、未结先到、乱序、不同调用、跨腿、有界账本)与人话三形。红先:修前 27 格红。
|
|
201
|
+
- **automatic-answer-verdict** +FC / +HK 两组(CC-436 / CC-450)与 O1′;T 段成文改口(终端参照树自动放行 ⊆ 旧 ∪ 命令面写保护未决按面放行)。**upstream-tables** +G17 / +N17(问面批;合并时由 G15 / N15 改号,第十二批 G15 / N15 收窄为权限模式词表与用户输入车道表,按面可放类只在问面批生成物)。**durable-decision-single-holder** +G-SH13(同一调用的第二条停驻行两序,红先 4 格)。
|
|
202
|
+
- 登记物:门清单 198 → 201 · 退役登记 +RL-83(`liveAskPendingReading` 的列表读法,候服务端按问取状态的读口)· RL-60 锚随折叠函数签名改。
|
|
203
|
+
- **display-untrusted-projection** 552 → 579 格(DO 段 27 格):DO1 – DO4 节点属性(块标量 264 形 / 单行值 132 形 / 退回读法 / 块序列项,含引号键同缩进块序列与 JSON 转义形缩进);DO5 四种清单形 × 九个标签 171 形;DO6 键名清单与整数清单负控 15 形;DO7 混合清单;DO8 邻形族逐形一格(Unicode 空白 / 名字位空白 / 着色序列 / 控制串 / C1 / 不可见单元 / 双向符 / 制表符 / 全角冒号 / 行断写法 / 方案词);DO8b 洗两遍的最小形;DO9 一轮即不动(670 余形 × 14 出口)与线性;DO10 清单与属性线性;DO11 回归与误遮守卫;DO11b 冒号后同行短横让位;DO12 – DO14 `error.formatted` 四臂过出口 / 缺席读数 / `errClass` 七臂 present-iff;DO15 凭据标签族词表现状(族内全遮 / 族外按原样)。
|
|
204
|
+
|
|
205
|
+
- **display-untrusted-baseline-diff** 25 → 32 格,新 B8 清单与节点属性池(定种子 2 600 清单 / 属性形 + 约 320 串形似清单的非清单形;对上一发布产物差分):B8a 池内的项与属性之后的值在十四出口一格不露(上一版在同一池上露 33 873 / 36 400 格 ⇒ 判别力 B8a′);B8b 形似清单的非清单形十四出口与上一版逐字节同,封长出口另列(B8b′:截断落在清单中间的多遮);B8c / B8c′ 有意改读的三形登记为分歧并钉上一版读法。池在车内中间态上抓到的回退形(转义形载体把行断读成不可见单元时,孤立短横让位之后的值跨过行断被读成映射键而漏遮;引号键同缩进块序列未被认;洗两遍不稳 352 格)已修并进投影门。全池读数(对 0.93.1):1 196 670 格 · 旧遮新露凭据位 0 · 洗两遍不稳 0 / 2 106 076 · 到帽 0 / 752 170。
|
|
206
|
+
- 新门 **`run-seat-wave2-test.mjs`**(128 格;判据 G-SW1 … G-SW5;CC-469 / CC-504 / CC-515):座位能力表读口三态(取值器不跑、原型链与污染不算、读就抛不抛)与没报两个折叠方向 · 禁用句逐字与单源 · 端到端「发布过门 → 作废 → 迟订阅」+ 坏形被门挡住 + 退订 + store 缺席 / 读就抛 · 能力表出站门与读口同一条读法(取值器拒且不跑、读就抛判失败不抛、门 → 结构化克隆 → 读口同答)· 订阅口退订先关本地闸(宿主退订抛了 / 重复退订 / 退订后迟到的推送)· `pickFolder` 出站门 · 记录键 `cwd` 出站门(路径带索引)· 设备码轮询装配口逐形表 + 生成物两数等于设置契约 + 模块不手写契约数 · `src/` 零配置中心旧名。红先:修前 86 格红;发版复核补的两组另红先 6 格。
|
|
207
|
+
- **seat-contract-keys** 按新面改计数(动词 18 / store 4 / 覆盖表 20 组 / 逐形豁免 +`PickFolderResult`;J 段 +`pickFolder` / `seatCapabilitiesState` 两例;E 段记录键 +`cwd`)。
|
|
208
|
+
- 登记物:`scripts/public-export-baseline.json` 1518 → 1523(+5 名,测试钩不变)· 单例清单 +2(`SEAT_CAPABILITY_NAMES` / `SEAT_CAPABILITY_PHRASES`)· 棘轮 `typeshape.unknownExport` 509 → 511(`seatCapability` / `deviceFlowPollingPlan` 两只读口的 `unknown` 入参)、`portability.index` 271 → 272(`src/deviceFlowPolling.ts`)· 门清单 +1、README 门表 +1 行、`docs/GATE-NEGATIVE-CONTROLS.md` 行为套 +1 行(派生面,生成器重写)。
|
|
209
|
+
- **新门 `scripts/run-hitl-wave2-test.mjs`**(G-HW2-1 – G-HW2-10;CC-514 / CC-493 / CC-191 / CC-231):活卡三形 × 两回体(撤卡零发、中止恰一发中断拒绝〔发版复核定形,1a – 1u:没被收口帧撤走 ⇒ 一发 / 撤走 ⇒ 零发〕、拒绝 202 停驻 / 409 `approval_stale`)、悬挂问同律;卡在屏 + 后续帧 + 收口帧(后续帧有界内出桥、撤卡、零发)、宿主不听 `signal` 的回退两形、人先答、发送段屏障(拒绝收口帧盖拒绝记号)、两路同键一张卡一发 + join 方中止 + 落定后再来、桥退出不撤卡;入口与登记模块零呈卡 / 发引用(语法树,尺子对植入违例自证);两只新读口的坏形表。红先:修前 22 格红(后续帧 0 帧 / 1501 ms 等)。
|
|
210
|
+
- **既有门的判据眼随成文改口更新**(CC-514 / CC-493):活卡「用户放弃 ⇒ deny 照发」三处(approval-card-retract S1b、terminal-cause-projection B9-③S4 / S4′、approval-decided-by-capability AB4e)按发版复核定形改为「恰一发中断拒绝、即发即弃、结局 `aborted`」(CC-514 初版曾改为零发);直调路由后读回交 / respond 的格先等本桥活卡处置完(approval-card-retract S4、approval-respond-parking G-PK1n、pure #229⑥、replayed-approval-disposition 全段);respond 停驻读器的调用点改在活卡持有者体(G-PK8b);停驻卡结局 `joinedInFlight` 计数只数那一型(durable-decision-single-holder G-SH9f);登记表不上公面的名单换成今天的表名(G-SH11f);判别口词表覆盖格:活卡中止落 `unsettled` / `interrupted`(approval-resolution G4;CC-514 初版的 `not_sent` 词 `aborted` 随定形撤回)。
|
|
211
|
+
- **新门 `scripts/run-wiring-instructions-attribution-test.mjs`**(判据 G-RP2a … G-RP2f;CC-313):`callerCwd` 读器三态与判据单源 · 探测闭包里 note 之后同一拍读到(总缓存此刻仍「没探过」)· 出站体读口敌意形 · 账本时序(先记后绑 = 先绑后记、meta / 409 拒收帧不绑、矛盾不挑边)· 成员安全路径判的敌意形 + 注入真路径口的符号链接判 + 真盘临时目录实测 · 端到端。
|
|
212
|
+
- **新门 `scripts/run-layering-direction-test.mjs`**(判据 G-RP4;CC-506)+ 分层表 `docs/LAYERING.md`(本包 = L3 契约包 + 客户端运行时;包内四层 wire 读器与端口 / 投影 / 宿主面 / 公面;跨仓边表;豁免表四行):语法树收边(含型级边)只向下、src 每个文件恰一层、豁免按对与边数只缩、包外边逐包逐种对表(引擎只许型级)、出包声明只引用 `dependencies` ∪ `peerDependencies`、植入违例逐形自证。
|
|
213
|
+
- 扩门:result-frame-projection E 段(CC-312:读口族公面 / 读回 / 旧名不并读 / 坏形与取值器不执行 / 包内读点零裸读 / 合成行两投影口已洗与幂等 / 机读口与端兜底洗法池上逐字节同)· core-value-ports ⑦(CC-478:引擎包根五件装进端口型零类型错、完整型少任一件编译红且点名、透传与上抛、真引擎端到端)· wire-refusal-copy S3c 成文改口 + S3d – S3f(CC-406)· steer-refusal-advice SR-C2 登记改变(CC-406)· file-history-leg-notice S5 成文改口(账本五只口)· engine-cap-reader-factory 表 +1 行(29 只)。
|
|
214
|
+
- 登记物:公面运行期导出 1518 → 1534(+16)、测试钩 73 → 74;单例清单 +1(`callerCwdCapability#reader`,high);棘轮 `typeshape.unknownExport` 509 → 517、`portability.adapt` 39 → 40、`portability.index` 271 → 274、`singleton.highRiskCeiling` 144 → 145,`scripts/registry.json` 同批追四条 ledger;门清单 +2、README 门表 +2 行(派生面重写)。
|
|
215
|
+
- **`run-server-7122-pick-test.mjs`**(新;接入文档 §121c G-SP2-A / P / D / T):拒收码读口与一句话 · 两代 202 停驻体形与 `message` 严读 · 排空终帧判型 / 决策 / 三只读者 / 调用点名册 · 拼法预判与开发依赖引擎 deny 表判官逐条对拍;服务端夹具 ≥7.122.0 时另钉铸点并起真服务端打真排空口读真终帧(更老的夹具跑代际见证格、其余打一行 SKIPPED-SECTION)。
|
|
216
|
+
- **sdk 换钉同批重核**(CC-522):凡是把「开发依赖 sdk」当成「peer 地板 sdk」来量的格,改读地板线见证(与 peer 地板同 major 的最低一份;本版地板抬到 18.1.0 之后即 18.1.0 那一份) —— `run-sdk-floor-test.mjs` ②d、`run-rules-legacy-tool-name-projection-test.mjs`、`run-client-core-pure-test.mjs` G-SL2(sdk 12 半场撤:低于地板)、`run-registry-conflict-projection-test.mjs` I2 撤(低于地板;开发依赖一代 I2′ 接替)、`run-disable-skills-wire-test.mjs` T2、`run-task-request-omission-receipt-test.mjs` J4b、`run-gate-vocabulary-test.mjs` T2d(两张滞后表清空、滞后词别名不在、正向钉收回原形);开发依赖追上之后按各自退出条件撤登记 —— `run-approval-frame-keys-test.mjs` 领先登记八行撤、卡键台账 +4 行,`run-decide-receipt-test.mjs` 未声明豁免撤,`run-engine-caps-ledger-test.mjs` 能力位台账 +14 行 read、−3 行(sdk 已删位),`run-durable-card-display-keys-test.mjs` 待决行转发账 +7 行,`run-tick-model-and-config-drift-test.mjs` `restart` 改为具名 pick(Y1 / Y6 / Y6′);新门 G-SP2-S 把整只出包 `.d.ts` 对地板线见证与开发依赖两份 sdk 各做一次宿主类型检查(`skipLibCheck` 关)。
|
|
217
|
+
- **peer 地板抬到 18.1.0 同批**(CC-522;退役登记执行七行):`run-sdk-floor-test.mjs` `FLOOR` 18.1.0(②d 改钉地板线见证的三只上游常量 / `ApprovalDecidedBy` / 六词请求模式)与负控锚同批 · public-surface 地板格读 `>=18.1.0` · support-floor-projection SF1f 改钉 sdk 18.1.0 · upstream-tables 第六只生成物(sdk 批,逐字节对已装 sdk 重算)· retirement-ledger G2 改钉 RL-18 / RL-20 已退 · parked-resume-startup U8 组凡落 `extra.cause` 的格改判「不读」(含低于地板的 sdk 12 见证)· tick-model-and-config-drift Y6′ 与新门 G-SP2-S2 的地板线见证按 peer 地板的 major 取。
|
|
218
|
+
- 登记物:门清单 205 → 206 · 公面运行期导出 1518 → 1525 · 棘轮 `typeshape.unknownExport` 509 → 512 · `portability.kernel` 25 → 26 / `portability.adapt` 39 → 40 / `portability.index` 271 → 273(新叶 `engineRefusedToolName.ts` 与零 import 生成叶 `generated/sdkFactTables.ts`)· 单例清单 +1 · 退役登记七行挪进已退役(RL-18 / RL-20 / RL-45 / RL-70 / RL-72 / RL-73 / RL-74)、RL-71 收窄(`restart` 已先行 pick)。
|
|
219
|
+
- **常驻放行旧口的 `ask-survives-posture` 套整套删除**(RL-56 / RL-57):十一个出身词的处置表对拍、返回形与三条真卡口端到端三组随旧口一起退役;其中「真卡口交出去的卡请求 → 判定」端到端一组迁进 `automatic-answer-verdict` 套的 R 段,改读单一判定;该套的 X 段(旧口对上一发布产物「只缩不扩」)随之删。`upstream-tables` 套 SA 段、`allow-rule-shadow-projection` 套 V1、两只服务端夹具套的常驻回答格改读 `automaticAnswerVerdict(card, 'standing_rule')`;`retirement-ledger` 套按名钉 RL-56 / RL-57 / RL-75 / RL-76 / RL-77 的退出(根入口 / 构建产物 / 门脚本代码位置三处名不在;`resolveHeadlessDetach` 形参个数 1;`flaggedFlags` 不在构建产物);`plan-review-injected-wire` 套 W3h 读构建产物里 `PlanReviewWire` 接口的成员表钉 `capsBaseUrl` 不复活,W3j 钉计划审阅口不碰这一键的值(取值器抛 / 代理拒读也照常送出)。公面基线 1542 → 1540,`export-liveness` 的 removed 账 `0.94.0` 键 +2 名,可移植棘轮 `portability.index` 277 → 275。
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
### Known limits(本版新增)
|
|
223
|
+
|
|
224
|
+
- KL-657 能力位 `sessionReadRedaction` 只交「历史读面已同一只脱敏」这一位(`sessionReadRedactionAdmitted`)与一句建议;位不认时(服务端 < 7.120.0 / 没观测 / 读不出)历史里的推理与工具输出怎么洗、洗到什么程度,由各端自定 —— 包里没有「历史文本 → 展示形」的读口
|
|
225
|
+
- KL-658 KL-594 删行之后,§112c 真机格 G-T5 / G-M3 的 `dontAsk` 那一半(门记录 `deniedBy: "mode"`)还没在真终端上补跑:包侧判据已到位(字段投影口按能力位发 `dontAsk`,§121 SV-6),终端接上能力位读数之前真机读数仍是 `deniedBy: "ask_resolution"`
|
|
226
|
+
- KL-659 姿态车道按**构建期**生成表(开发依赖引擎 7.47.0 的按面可放类)判,不随铸这张卡的引擎代际:命令面工具(`Bash` / `Monitor`)上问类 `write_protection_unresolved` 的卡答 `may_answer`(放行原因同名),而引擎 7.45.0(服务端 7.119.0 夹具)在任何面上都对这一类 bypass 免疫(`foldArbitrationRow` 在 shell 面答 `bypassImmune: true`、`arbitrateByMode('bypassPermissions')` 答 `denied_by_mode`;7.47.0 在 shell 面答 `released`)—— 放宽方向,宿主在老一代引擎上可能替人放掉一张引擎自己不放的卡
|
|
227
|
+
|
|
228
|
+
- KL-613 强制卡按问类句不认读面:收窄读面上 `probe` 一类分类器不答,但卡上不带读面,那一形仍落通用句。
|
|
229
|
+
- KL-614 宿主没装 `compileAllowList` 端口 ⇒ allow 桶按老形投:内容形不投,一条 `*` 照投(服务端 ≥7.117.0 上它读空整张 allow 表)。
|
|
230
|
+
- KL-615 新形下 allow 的名字层几关(退役名 / 无前缀短名 / 段铸不出 / `~/` / 编译器拒收的整工具名)照旧在本包留下;服务端 ≥7.118.0 受理它们、由引擎通告「读成空」—— 收紧方向,用户看到的是报告口理由而不是引擎通告。
|
|
231
|
+
- **KL-619**(CC-480 ②):每轮一句座在读数不认时静默不落 —— live 兜底层只交请求体、没有回执位,端要提示「这台服务端不支持每轮一句」就自己读 `outputStyleSeatAdmitted`;风格正文那一座不受影响。
|
|
232
|
+
- **KL-620**(CC-457 E ①):`classifyRulesFailure` 不给第二参时,`request.query_invalid` 照旧答 `cursor-stale`(说不清这一发带没带游标);包内的列举口自己交这一位,三端今天的列举都经它,直调判官的读点只在撤销 / 导入两口(那两口不会得到这个码)。
|
|
233
|
+
- **KL-594 删行**(CC-426 收口):别名表那一行已退役,终端以 `dontAsk` 起会话时请求面发什么由终端是否把能力位读数交给字段投影口决定(接入文档 §121d SV-6);门记录 `deniedBy: "mode"` 的真机一半(§112c G-T5 / G-M3)候终端接上读数后补跑。
|
|
234
|
+
- KL-639 路由缺口的判官仍在宿主侧(引擎没有导出起服前可调的纯函数);宿主不报 `routeGap` 时,有模型名而路由起不来的那一形本包仍答 `resolvable`(句子不断言起得来)。
|
|
235
|
+
- KL-640 allow 的来源信任地板不在本包判:宿主交进来、来源写着项目 / 本地层的 allow,能力位与读健康都过时照投 —— 哪一层的 allow 能生效由宿主读设置时判。
|
|
236
|
+
- KL-641 客户端自挂服务器的表态在请求体上与用户规则同形(服务端 allow 桶只收串),分开审计只在报告口。
|
|
237
|
+
- KL-642 「这一运行实际生效哪一档思考档位」在开跑时没有读口(上游读点未定形);终局结果上的生效档照旧可读。
|
|
238
|
+
- KL-643 `approvalReach` 只在无人值守车道有座;交互车道上没有能答审批的面的宿主今天发不出这一声明。
|
|
239
|
+
- KL-644 MCP 资源附件「没带上」时给用户的那一句仍由端自己出;本包只铸给模型看的信封。
|
|
240
|
+
- KL-630 idle 时 arm 的请求,若这条会话槽再没有下一条 run 绑定,`onSettled` 永不被调(不编结局)。端不要把「没回调」读成「成功」。
|
|
241
|
+
- KL-633 姿态车道的工具面只按卡上工具名逐字判:部署自己注册了与内建命令面工具同名的工具时,那张卡也按命令面读。
|
|
242
|
+
- KL-634 钩子车道的类列只读 `hookAskFloor`:几类「真人专属」的问靠卡上同带的真人位 / 强制位 / 治理位接住;只带这类问类、却不带那几位的卡,钩子车道答可放。
|
|
243
|
+
- KL-635 瞬时拒收(408 / 425 / 429 / 502 / 503 / 504 或拒体 `retriable`)本包从不据「仍在等」收口:端若一直重送不成,那一问照引擎自己的审批窗结算(本包不替端定重送节奏)。
|
|
244
|
+
- KL-636 同一调用的卡账本是进程内、有界的;同一进程两个 run 复用调用 id 时可能误标,问的三样恰都相同的两道检查不会被标。
|
|
245
|
+
- KL-637 待决行没有 `createdAt` 时,单一持有登记退回修前的身份(同一调用先后两条这样的行仍会相遇)。
|
|
246
|
+
- **KL-625 清单值读法的射程**(CC-459):逗号清单只认复数标签;块序列只列同缩进的相继短横行与更深的嵌套序列(紧凑嵌套整棵子树整块遮);已折成一行的块序列认不出清单;VT / FF / NEL / LS 作行断的文本不认行结构;`{…}` 项整段遮、markdown 链接文字与 `[object Object]` 一类占位不当清单。
|
|
247
|
+
|
|
248
|
+
- **KL-626 节点属性的射程**(CC-460):属性之后的值写在下一行不跟(退回上一版读法);属性与值各一枚记号;属性紧贴引号 / 括号 / 分号不算属性。
|
|
249
|
+
|
|
250
|
+
- **KL-627 凭据标签族词表重看结论**(CC-285):本版不补词(候共享检测定义的原语包);`passphrase` / `passwd` / `pwd` / `pass` / `auth` 等族外键照旧原样显示,门 DO15 钉现状。
|
|
251
|
+
|
|
252
|
+
- **KL-628 键名清单 + 不可见单元 + 点形载体再洗一遍**(CC-459):第二遍多遮短横,不露值。
|
|
253
|
+
- **KL-650**(CC-312 ②):「带旗即已洗」只对经本包投影口(流投影 / adapt 重建)交出的行成立;端直接读自己落盘的旧转录行(0.83.1 之前写下的带旗行可能未洗)而不经 adapt 的,不能拿旗当依据。
|
|
254
|
+
- **KL-651**(CC-313):指令文件归属只判首员;符号链接判在调用那一拍(之后盘上被换不知道);没给真路径口 / 真路径口抛 ⇒ 不指。
|
|
255
|
+
- **KL-652**(CC-478):端口镜像按方法签名声明(参数双变),引擎五件的参数型若收窄,型探针仍过;只有返回型严格对拍。
|
|
256
|
+
- **KL-653**(CC-506):分层门是单文件语法读法(不建 Program):路径映射 / 自定义条件这类编译选项决定的解析不在射程;根目录未显式列名的文件一律按第 0 层判(最严一侧)。跨仓共用门形候引擎 7.49.0。
|
|
257
|
+
- **KL-85 补注**(CC-312 ②):本版只交「已洗」的机读依据;引擎归一化视图上剥 Cf 之后的粘连形(外部读数 [9267])仍按 KL-85 原样记,不在本票射程。
|
|
258
|
+
- KL-654 子代工具清单拼法预判看不到引擎另并的委派工具池:池里才有的工具的大小写孪生判不到(交引擎判);池里恰有一只与退役拼法逐字同名的工具时,预判仍报退役拼法(引擎其实收)。
|
|
259
|
+
- KL-655 订阅流排空终帧之后,审批推送流与 run 事件流由 sdk 自己当拍重连,等待时长归 sdk,本包的排空决策口管不到这两条;只有本包自己开流的读者(workflow 活动流)按决策口等。
|
|
260
|
+
- KL-177 改写:成因词兜底读位退役后,「sdk 12 上词只在 `extra`」那半句撤。
|
|
261
|
+
- **KL-656**(CC-539):附件正文 / 路径 / 目录条目 / MCP 资源文本里的 `</attachment>` 字面串不显形(正文字节不动):按「串里第一个 `</attachment>`」收口的读者会在那一处提前收口,该块余下的文字与真闭标签落在标签外;按行读的读者(开标签恒为第一行、闭标签恒为最后一行,中间没有任何一行以 `<attachment` 起头或恰等于 `</attachment>`)不受影响。
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
|
|
52
265
|
## 0.93.1(2026-10-09)
|
|
53
266
|
|
|
54
267
|
> 主题:**patch**,两件 —— 其一,耐久停驻审批的决断口单一持有者(CC-491;外部验收 [9516]):同一只停驻审批被两条路各接一次(终端在引擎换代之后重摆的那张卡,与停驻解析器在新流上重接的那张)时,宿主只呈一张、只答一个,另一路此前永远等 —— 卡停在屏上、下一张卡不来、不自愈。现在同一把审批身份键同时只有一次决断在路上,后到的调用方拿同一个结局、自己不呈卡不发决断。`FsApprovalOutcome` 四臂各 +1 可选位 `joinedInFlight?: true`。其二,活卡审批 respond 回 `202 parking_in_progress` 读成明确的「停驻中、这一发没生效」结局(CC-492;外部验收 [9533]):引擎上这张卡的行正转停驻时,用户按下的答复没有生效,而修前这个 202 体没有 200 回执的 `delivery` 键、被读成「没有回执」,结局落成已批准 —— 终端据此注销卡、屏上不说话,重启后要再答一次。现在结局带 `parking` 位、判别口读成既有 `unsettled` 臂的新 cause `parking_in_progress`,包替用户上屏一句,不重发、不去键、不换名。**型面**:`ApprovalUnsettledCause` 词表 +1 词(对 cause 做 `never` 穷举的写法编译红一次;`kind` 联合仍三臂,按 `kind` 的写法不受影响,既有对 `unsettled` 的有界重呈对它默认安全);`ToolApprovalFrameOutcome` +1 可选位 `parking?`;根公面运行期导出不变(读器是包内件)。**谁必须动**:终端换钉 `^0.93.1` 时删工具门行上的「拒开第二张」判读,并改 respond 包装处(§120d);管理台与桌面端的直调点必改(§120d);网页端已有本地判读,可换读这一 cause(零必改)。
|