/** * L1 键集机器门([ref] 方法论倡议 server 认领件;clay 令 2026-07-23「不能永远编码有限→复审补漏」)。 * * 病族:**投影白名单剥键**——core 给源类型加 additive 新键,server 的列投影/白名单静默丢,直到穿透 * 审查才被人肉抓。已四案:RosterEntry.model([ref])、task_progress.status / TaskNotificationPayload * 四键 / BackgroundChildEvent.usage+transcriptId([ref] 族B)、SDK 0.0.72 fleet meta 剥键。 * * 机制:对每个「core 源类型 → server 投影」面声明**已处置键集** = PROJECTED(真透传)∪ EXCLUDED * (显式记账不透传,理由必写)。`Exclude` 约束为 never——**升 core 后源类型出新键 * ⇒ 本文件 tsc 红**(新键必须被「透传」或「记账排除」二选一处置,不再有静默第三态)。 * * ⚠️ 执行点 = `tsc --noEmit`(发车门 1):vitest 走 esbuild 转译不查类型、test/ 不在 tsc project—— * 所以本文件必须留在 src/ 下。写作时自证过:临时从 PROJECTED 删一键 → tsc 红。 * * 维护:core 新键到来时,transparently 透传的加进对应 PROJECTED 并去实现投影;有意不上 wire 的加进 * EXCLUDED 并写一行理由。谁改投影(project.ts / fleet-bus.ts / roster-store-sql.ts)谁同步本文件。 * ⑨⑩([ref],2026-08-31)把两个最大的 wire 面也纳入:TaskSpec 按「server 有无写点」记 Wired/Unwired, * TaskResult 按「转发/摘除」记 Forwarded/Stripped —— 谁改 resolve-spec.ts / runs.ts 的发射点谁同步本文件。 */ import type { TaskNotificationPayload, SemaProvenance, BackgroundChildEvent, RosterEntry, AskRequest, CheckpointSummary, TaskEvent, TraceEvent, MailboxMessage, MailboxAppendMessage, TaskSpec, TaskResult, WiringManifest, GateOutcome, GateDisposition, Settlement, PausedCause, WorkflowRun, ReadRootGrantCandidate, McpReconnectResult, McpServerStatus } from "@sema-agent/core"; import type { ToolApprovalFrame } from "../tool-approval.js"; /** 编译期断言:T 必须收敛到 never(有残余键 = tsc 红)。 * 🔴 **导出**([ref] U1/U2):本仓「词表闭集,未处置成员=编译红」的钉法只许有**一个**形 —— * `observability/run-terminal.ts` 的三张叶表 + 结果顶层键表用同一只断言,而不是各自再抄一份 * `type X = T`(抄一份就是第二个写者,两处哪天分岔谁都发现不了)。 * 本文件只有类型、不产 JS,所以被 `import type` 引用不新增任何运行期边。 */ export type AssertAllKeysHandled = T; type NotificationProjected = "task_id" | "task_type" | "toolUseId" | "status" | "summary" | "result" | "output_file" | "usage" | "sessionId" | "seq" | "lines" | "stoppedBy" | "source" | "exitCode" | "partial" | "diagnostics" | "recentSteps" | "editedFiles" | "resumable" | "completionId" | "error" | "errorCode" | "apiFailure" | "agentMessage" | "_sema_provenance"; type NotificationExcluded = (typeof import("./wire-projection-faces.js").WIRE_PROJECTION_FACES)["task_notification"]["excluded"][number]; type _GuardNotification = AssertAllKeysHandled>; type _GuardNotificationReverse = AssertAllKeysHandled>; type ProvenanceProjected = "kind" | "from" | "taskId" | "seq" | "agentType"; type ProvenanceExcluded = "peerMeta"; type _GuardProvenance = AssertAllKeysHandled>; type _GuardProvenanceReverse = AssertAllKeysHandled>; type AgentMessageProjected = "from" | "body"; type _GuardAgentMessage = AssertAllKeysHandled, AgentMessageProjected>>; type _GuardAgentMessageReverse = AssertAllKeysHandled>>; type BgNotifProjected = "taskId" | "sessionId" | "seq" | "status" | "summary" | "stoppedBy" | "resumable" | "recentSteps" | "editedFiles" | "usage" | "transcriptId" | "rootSessionId" | "parentTaskId" | "parentToolCallId" | "completionId" | "spawnName"; type BgNotifExcluded = "kind" | "sessionScoped" | "owner" | "scope" | "description" | "agentType" | "name" | "currentAction" | "currentTool" | "parentSessionId" | "startedAt" | "workflowRunId" | "progressTaskId" | "progressParentTaskId" | "model"; type _GuardBgNotif = AssertAllKeysHandled>; type _GuardBgNotifReverse = AssertAllKeysHandled>; type RosterProjected = "name" | "agentId" | "sessionId" | "toolUseId" | "owner" | "scope" | "sessionScoped" | "rootSessionId" | "model" | "modelFallback" | "createdAt"; type _GuardRoster = AssertAllKeysHandled>; type _GuardRosterReverse = AssertAllKeysHandled>; type AskProjected = "toolName" | "toolCallId" | "args" | "message" | "sourceTaskId" | "fromSubagent" | "sourceAgentName" | "delegation" | "ruleOffers" | "ruleOffersAbsence" | "persistedRuleShadowed" | "probeCause" | "ruleEvidence" | "requiresRealApproval" | "denialLimitFallback" | "origin" | "ruleStoreUnreadable" | "readRootCandidate" | "mandated"; type AskExcluded = "preview" | "principal" | "riskAxes" | "boundInputHash" | "isDelegatedChild" | "probeReason" | "hasBidiControls" | "previewWithheld" | "execCwd"; type _GuardAsk = AssertAllKeysHandled>; type _GuardAskReverse = AssertAllKeysHandled>; type AskFrameServerMinted = "type" | "approvalId" | "argsOmitted" | "outcome" | "governanceForced" | "expiresAtMs" | "expiresInMs" | "serverNowMs" | "parked" | "inputHasBidi"; type _GuardAskFrame = AssertAllKeysHandled>; type _GuardAskFrameReverse = AssertAllKeysHandled>; type TaskEventHandled = "text_delta" | "reasoning_delta" | "tool_start" | "tool_end" | "turn_end" | "compacted" | "diagnostics" | "message_committed" | "status" | "task_notification" | "task_progress" | "steering_injected" | "workspace_changed" | "done" | "context_usage" | "compaction_outcome" | "human_input" | "wiring_manifest" | "text_end" | "tool_roster_delta" | "tool_progress" | "tool_disclosure"; type _GuardTaskEvent = AssertAllKeysHandled>; type _GuardTaskEventReverse = AssertAllKeysHandled>; type MailboxProjected = "seq" | "from" | "content" | "sentAt" | "hopChain" | "peerMeta"; type _GuardMailbox = AssertAllKeysHandled>; type _GuardMailboxReverse = AssertAllKeysHandled>; type MailboxAppendProjected = "from" | "content" | "sentAt" | "hopChain" | "peerMeta"; type _GuardMailboxAppend = AssertAllKeysHandled>; type _GuardMailboxAppendReverse = AssertAllKeysHandled>; type WiringSectionProjected = "schemaVersion" | "leg" | "ask" | "question" | "interaction" | "elicit" | "parkLane" | "session" | "fleet" | "permissionRules" | "modelGate" | "autoMode" | "mcp" | "tools" | "hooks" | "lsp" | "writeProtection"; type WiringSectionExcluded = "governance" | "configFingerprint" | "autoConsolidation" | "readDeny"; type _GuardWiringSections = AssertAllKeysHandled>; type _GuardWiringSectionsReverse = AssertAllKeysHandled>; type WiringSection = NonNullable; type WiringLegHandled = "kind"; type _GuardWiringLeg = AssertAllKeysHandled, WiringLegHandled>>; type _GuardWiringLegReverse = AssertAllKeysHandled>>; type WiringAskHandled = "form" | "provenance" | "effective"; type _GuardWiringAsk = AssertAllKeysHandled, WiringAskHandled>>; type _GuardWiringAskReverse = AssertAllKeysHandled>>; type WiringQuestionHandled = "wired" | "provenance" | "interactiveToolsWithoutDeliveryFace"; type _GuardWiringQuestion = AssertAllKeysHandled, WiringQuestionHandled>>; type _GuardWiringQuestionReverse = AssertAllKeysHandled>>; type WiringInteractionHandled = "posture"; type _GuardWiringInteraction = AssertAllKeysHandled, WiringInteractionHandled>>; type _GuardWiringInteractionReverse = AssertAllKeysHandled>>; type WiringElicitHandled = "seamWired" | "serversOptedIn"; type _GuardWiringElicit = AssertAllKeysHandled, WiringElicitHandled>>; type _GuardWiringElicitReverse = AssertAllKeysHandled>>; type WiringParkLaneHandled = "capable" | "effective" | "reasons" | "checkpointDurability"; type _GuardWiringParkLane = AssertAllKeysHandled, WiringParkLaneHandled>>; type _GuardWiringParkLaneReverse = AssertAllKeysHandled>>; type WiringSessionHandled = "store"; type _GuardWiringSession = AssertAllKeysHandled, WiringSessionHandled>>; type _GuardWiringSessionReverse = AssertAllKeysHandled>>; type WiringToolsHandled = "schemaVersion" | "count" | "entries" | "digest"; type _GuardWiringTools = AssertAllKeysHandled, WiringToolsHandled>>; type _GuardWiringToolsReverse = AssertAllKeysHandled>>; type FleetExcluded = "subagentTranscripts"; type WiringFleetHandled = "backgroundAgentStore" | "hostChildEventSink" | FleetExcluded; type _GuardWiringFleet = AssertAllKeysHandled, WiringFleetHandled>>; type _GuardWiringFleetReverse = AssertAllKeysHandled>>; type WiringMcpEntry = WiringSection<"mcp">[number]; type WiringMcpExcluded = "error"; type WiringMcpHandled = "name" | "source" | "status" | "errorCode" | "delivered" | "httpStatus" | "toolCount" | "liveness" | WiringMcpExcluded; type _GuardWiringMcp = AssertAllKeysHandled>; type _GuardWiringMcpReverse = AssertAllKeysHandled>; type WiringMcpLiveness = NonNullable; type WiringMcpLivenessHandled = "state" | "observedAt" | "errorCode"; type _GuardWiringMcpLiveness = AssertAllKeysHandled>; type _GuardWiringMcpLivenessReverse = AssertAllKeysHandled>; type WiringRulesHandled = "storeWired" | "syncWired" | "orgGoverned"; type _GuardWiringRules = AssertAllKeysHandled, WiringRulesHandled>>; type _GuardWiringRulesReverse = AssertAllKeysHandled>>; type WiringWriteProtectionHandled = "targetView"; type _GuardWiringWriteProtection = AssertAllKeysHandled, WiringWriteProtectionHandled>>; type _GuardWiringWriteProtectionReverse = AssertAllKeysHandled>>; type WiringReadDenyHandled = "builtinTiers"; type _GuardWiringReadDeny = AssertAllKeysHandled, WiringReadDenyHandled>>; type _GuardWiringReadDenyReverse = AssertAllKeysHandled>>; type WiringAutoConsolidationHandled = "onRecommendation"; type _GuardWiringAutoConsolidation = AssertAllKeysHandled, WiringAutoConsolidationHandled>>; type _GuardWiringAutoConsolidationReverse = AssertAllKeysHandled>>; type WiringModelGateHandled = "class" | "removed" | "restore"; type _GuardWiringModelGate = AssertAllKeysHandled, WiringModelGateHandled>>; type _GuardWiringModelGateReverse = AssertAllKeysHandled>>; type WiringAutoModeHandled = "armed" | "reason" | "deniedSource"; type _GuardWiringAutoMode = AssertAllKeysHandled, WiringAutoModeHandled>>; type _GuardWiringAutoModeReverse = AssertAllKeysHandled>>; type WiringGovernanceHandled = "audience" | "lockedConfig" | "compliance" | "memoryAdmission" | "retention"; type _GuardWiringGovernance = AssertAllKeysHandled, WiringGovernanceHandled>>; type _GuardWiringGovernanceReverse = AssertAllKeysHandled>>; type PermissionTraceKind = Extract; export type PermissionTraceProjected = "permission.persisted_rule_allowed" | "permission.rule_store_unreadable" | "permission.read_only_allowed"; type PermissionTraceDropped = "permission.sandbox_admitted" | "permission.rule_sync_resurrected" | "permission.rule_sync_dropped" | "permission.org_snapshot_unavailable"; type _GuardPermissionTrace = AssertAllKeysHandled>; type _GuardPermissionTraceReverse = AssertAllKeysHandled>; /** `T` 非 `never` 时收敛到 `never`(空集 ⇒ 残留 `"EMPTY"` ⇒ tsc 红)。 */ type AssertNonEmpty = [T] extends [never] ? "EMPTY" : never; type _GuardPermissionTraceNonEmpty = AssertAllKeysHandled>; type SummaryProjected = "sessionId" | "scope" | "createdAt" | "gateKind" | "severity" | "spentMicroUsd" | "deadline" | "hasBidiControls" | "requiresRealApproval" | "denialLimitFallback" | "origin" | "ruleStoreUnreadable"; type SummaryExcluded = "token" | "toolInput" | "toolName" | "toolCallId" | "preview" | "principal" | "sourceTaskId" | "contentKind" | "restoreMode" | "checkpointId" | "previewWithheld"; type _GuardInboxSummary = AssertAllKeysHandled>; type _GuardInboxSummaryReverse = AssertAllKeysHandled>; type TaskSpecWired = "objective" | "principal" | "images" | "sessionId" | "requireExistingSession" | "oneShot" | "clientContext" | "resumeAt" | "resumeAtMode" | "model" | "compactionModel" | "thinking" | "systemPrompt" | "appendSystemPrompt" | "promptProvider" | "memory" | "suggestNextPrompts" | "restoreFiles" | "acceptPartialRestore" | "rewindFilesTo" | "tools" | "excludeTools" | "deferTools" | "toolMaterializeStrategy" | "promptProfile" | "toolPolicy" | "onAsk" | "onQuestion" | "hooks" | "durableApproval" | "resourceSuspend" | "resilience" | "finalVerification" | "checkpointStore" | "handsReadOnly" | "memoryPersistenceCapable" | "additionalDirectories" | "additionalReadDirectories" | "enablePlanMode" | "interactiveTools" | "enableFork" | "shellGate" | "writeFace" | "mcp" | "a2a" | "skills" | "backgroundScope" | "envFacts" | "limits" | "configOverrides" | "forwardSubagentEvents" | "retainSubagentSessions" | "retainBackgroundProcesses" | "outputSchema" | "outputRetries" | "compaction" | "attachments" | "selfOrchestration" | "getApiKeyAndHeaders" | "interactionPosture" | "agents" | "approverPosture" | "taskId" | "signal" | "preemptSignal" | "modelRole" | "enableBlockedReport" | "maxSuspends" | "autoModeRequested" | "skillListingBudgetFraction" | "skillListingMaxDescChars" | "excludeAllTools"; type TaskSpecUnwired = "actor" | "roles" | "lspManager" | "tracer" | "readFace" | "readDenyPatterns" | "interactiveQuestionFallback" | "alwaysLoadTools" | "restoreGatedTools" | "deferSelfResolve" | "basePolicyForResumeEdit" | "lspDiagnostics" | "streamingToolExecution" | "toolResultThresholdChars"; type _GuardTaskSpec = AssertAllKeysHandled>; type _GuardTaskSpecReverse = AssertAllKeysHandled>; type TaskResultForwarded = "taskId" | "runId" | "sessionId" | "terminal" | "model" | "effectiveReasoning" | "result" | "salvagedOutput" | "remoteEnvFailures" | "apiFailure" | "retryAfterMs" | "degraded" | "structuredOutput" | "rewindNotes" | "haltedOnUserRejection" | "haltedByUser" | "strandedHumanAnswers" | "pendingApproval" | "approvalWaitedMs" | "effectiveReadFace" | "effectiveReadDenyPatterns" | "effectiveWriteFace" | "effectiveMemoryScopes" | "stats" | "editedFiles"; type TaskResultStripped = never; type _GuardTaskResult = AssertAllKeysHandled>; type _GuardTaskResultReverse = AssertAllKeysHandled>; type PausedCauseForwarded = "kind" | "gate" | "checkpointId" | "restoreMode"; type PausedCauseStripped = "token"; type _GuardPausedCause = AssertAllKeysHandled>; type _GuardPausedCauseReverse = AssertAllKeysHandled>; type SettlementKeys = Settlement extends infer S ? (S extends object ? keyof S : never) : never; type SettlementWhoKeys = Settlement["who"] extends infer W ? (W extends object ? keyof W : never) : never; type GateOutcomeProjected = "disposition" | "settlement" | "origin"; type _GuardGateOutcome = AssertAllKeysHandled>; type _GuardGateOutcomeReverse = AssertAllKeysHandled>; type GateDispositionKeys = GateDisposition extends infer D ? (D extends object ? keyof D : never) : never; type GateDispositionProjected = "kind" | "deniedBy" | "cause" | "classifier"; type _GuardGateDisposition = AssertAllKeysHandled>; type _GuardGateDispositionReverse = AssertAllKeysHandled>; type SettlementProjected = "kind" | "who" | "when" | "note"; type _GuardSettlement = AssertAllKeysHandled>; type _GuardSettlementReverse = AssertAllKeysHandled>; type SettlementWhoProjected = "party" | "approver" | "window"; type _GuardSettlementWho = AssertAllKeysHandled>; type _GuardSettlementWhoReverse = AssertAllKeysHandled>; type WorkflowRunForwarded = "id" | "scope" | "status" | "startedAt" | "endedAt" | "createdAt" | "rev" | "parks" | "name" | "description" | "result" | "error" | "errorCode" | "agentFailures" | "stats" | "phases" | "agents" | "groups" | "resumeAdmissionIncomplete"; type WorkflowRunStripped = "sourceTaskId" | "originatingSessionId" | "effectiveArgs" | "budgetOvershoot" | "timeoutInterruption" | "resultFull" | "completionId" | "resume" | "journalSkips"; type _GuardWorkflowRun = AssertAllKeysHandled>; type _GuardWorkflowRunReverse = AssertAllKeysHandled>; type ParkRowKeys = keyof NonNullable[number]; type ParkRowProjected = "callKey" | "sessionId" | "originRunId" | "originUnconfirmed"; type ParkRowWithheld = "token"; type _GuardParkRow = AssertAllKeysHandled>; type _NoDoubleBookParkRow = AssertAllKeysHandled>; type _GuardParkRowReverse = AssertAllKeysHandled>; type ReadRootCandidateProjected = "dir" | "clearsThisAsk" | "covers"; type _GuardReadRootCandidate = AssertAllKeysHandled>; type _GuardReadRootCandidateReverse = AssertAllKeysHandled>; type AskRiskAxes = NonNullable; type RiskAxesProjected = "irreversible" | "egress"; type _GuardRiskAxes = AssertAllKeysHandled>; type _GuardRiskAxesReverse = AssertAllKeysHandled>; type McpReconnectProjected = "server" | "prefix" | "toolCount" | "added" | "removed" | "outcome" | "tools" | "reason" | "status" | "listingIncomplete"; type McpReconnectWithheld = "axes" | "dropped" | "warnings"; type _GuardMcpReconnect = AssertAllKeysHandled>; type _NoDoubleBookMcpReconnect = AssertAllKeysHandled>; type _GuardMcpReconnectReverse = AssertAllKeysHandled>; type McpRedialStatusProjected = "name" | "status" | "errorCode" | "httpStatus" | "delivered" | "serverInfo" | "error" | "transportClosed"; type McpRedialStatusWithheld = "toolNames" | "liveness"; type _GuardMcpRedialStatus = AssertAllKeysHandled>; type _NoDoubleBookMcpRedialStatus = AssertAllKeysHandled>; type _GuardMcpRedialStatusReverse = AssertAllKeysHandled>; type McpPanelStatusProjected = "name" | "status" | "serverInfo" | "toolNames" | "error"; type McpPanelStatusWithheld = "errorCode" | "httpStatus" | "delivered" | "transportClosed" | "liveness"; type _GuardMcpPanelStatus = AssertAllKeysHandled>; type _NoDoubleBookMcpPanelStatus = AssertAllKeysHandled>; type _GuardMcpPanelStatusReverse = AssertAllKeysHandled>; type McpListingIncompleteKeys = keyof NonNullable; type McpListingIncompleteProjected = "reason" | "pages" | "budgetMs" | "error"; type _GuardMcpListingIncomplete = AssertAllKeysHandled>; type _GuardMcpListingIncompleteReverse = AssertAllKeysHandled>; export type CoreKeysetGuards = [ _GuardNotification, _GuardNotificationReverse, _GuardProvenance, _GuardProvenanceReverse, _GuardAgentMessage, _GuardAgentMessageReverse, _GuardBgNotif, _GuardBgNotifReverse, _GuardRoster, _GuardRosterReverse, _GuardAsk, _GuardAskReverse, _GuardAskFrame, _GuardAskFrameReverse, _GuardTaskEvent, _GuardTaskEventReverse, _GuardMailbox, _GuardMailboxReverse, _GuardMailboxAppend, _GuardMailboxAppendReverse, _GuardWiringSections, _GuardWiringWriteProtection, _GuardWiringWriteProtectionReverse, _GuardWiringReadDeny, _GuardWiringReadDenyReverse, _GuardWiringAutoConsolidation, _GuardWiringAutoConsolidationReverse, _GuardWiringSectionsReverse, _GuardWiringLeg, _GuardWiringLegReverse, _GuardWiringAsk, _GuardWiringAskReverse, _GuardWiringQuestion, _GuardWiringQuestionReverse, _GuardWiringInteraction, _GuardWiringInteractionReverse, _GuardWiringElicit, _GuardWiringElicitReverse, _GuardWiringParkLane, _GuardWiringParkLaneReverse, _GuardWiringSession, _GuardWiringSessionReverse, _GuardWiringTools, _GuardWiringToolsReverse, _GuardWiringFleet, _GuardWiringFleetReverse, _GuardWiringMcp, _GuardWiringMcpReverse, _GuardWiringRules, _GuardWiringRulesReverse, _GuardWiringModelGate, _GuardWiringModelGateReverse, _GuardWiringAutoMode, _GuardWiringAutoModeReverse, _GuardWiringGovernance, _GuardWiringGovernanceReverse, _GuardPermissionTrace, _GuardPermissionTraceReverse, _GuardPermissionTraceNonEmpty, _GuardInboxSummary, _GuardInboxSummaryReverse, _GuardTaskSpec, _GuardTaskSpecReverse, _GuardTaskResult, _GuardTaskResultReverse, _GuardPausedCause, _GuardPausedCauseReverse, _GuardGateOutcome, _GuardGateOutcomeReverse, _GuardGateDisposition, _GuardGateDispositionReverse, _GuardSettlement, _GuardSettlementReverse, _GuardSettlementWho, _GuardSettlementWhoReverse, _GuardWorkflowRun, _GuardWorkflowRunReverse, _GuardParkRow, _NoDoubleBookParkRow, _GuardParkRowReverse, _GuardReadRootCandidate, _GuardReadRootCandidateReverse, _GuardRiskAxes, _GuardRiskAxesReverse, _GuardMcpReconnect, _NoDoubleBookMcpReconnect, _GuardMcpReconnectReverse, _GuardMcpRedialStatus, _NoDoubleBookMcpRedialStatus, _GuardMcpRedialStatusReverse, _GuardMcpPanelStatus, _NoDoubleBookMcpPanelStatus, _GuardMcpPanelStatusReverse, _GuardMcpListingIncomplete, _GuardMcpListingIncompleteReverse, _GuardWiringMcpLiveness, _GuardWiringMcpLivenessReverse ]; export {}; //# sourceMappingURL=core-keyset-guard.d.ts.map