@sema-agent/client-core 0.77.0 → 0.77.2
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 +23 -1
- package/README.md +5 -4
- package/dist/abortableSleep.d.ts +0 -28
- package/dist/abortableSleep.js +0 -28
- package/dist/adapt/arms.d.ts +0 -46
- package/dist/adapt/arms.js +9 -544
- package/dist/adapt/ids.d.ts +0 -58
- package/dist/adapt/ids.js +0 -63
- package/dist/adapt/instanceLedger.d.ts +0 -25
- package/dist/adapt/instanceLedger.js +0 -20
- package/dist/adapt/panelTasks.d.ts +0 -69
- package/dist/adapt/panelTasks.js +0 -95
- package/dist/adapt/textSegmentAuthority.d.ts +1 -137
- package/dist/adapt/textSegmentAuthority.js +0 -54
- package/dist/adapt/textStream.d.ts +0 -252
- package/dist/adapt/textStream.js +2 -281
- package/dist/adapt/toolCards.d.ts +0 -46
- package/dist/adapt/toolCards.js +0 -23
- package/dist/adapt/turnFlags.d.ts +0 -54
- package/dist/adapt/turnFlags.js +1 -17
- package/dist/adapt/wireShapes.d.ts +0 -92
- package/dist/adapt/wireShapes.js +0 -83
- package/dist/adapt.d.ts +0 -55
- package/dist/adapt.js +1 -120
- package/dist/adapter/activeRunSelfHeal.d.ts +22 -515
- package/dist/adapter/activeRunSelfHeal.js +10 -625
- package/dist/adapter/downstream/eventToSdkMessage.d.ts +2 -305
- package/dist/adapter/downstream/eventToSdkMessage.js +2 -867
- package/dist/adapter/downstream/terminalToSdkResult.d.ts +2 -314
- package/dist/adapter/downstream/terminalToSdkResult.js +13 -560
- package/dist/adapter/downstream/turnUsageToModelUsage.d.ts +0 -95
- package/dist/adapter/downstream/turnUsageToModelUsage.js +2 -31
- package/dist/adapter/runStream.d.ts +0 -206
- package/dist/adapter/runStream.js +6 -596
- package/dist/adapter/types.d.ts +0 -111
- package/dist/adapter/types.js +0 -29
- package/dist/agentSession/backgroundView.d.ts +0 -106
- package/dist/agentSession/backgroundView.js +3 -49
- package/dist/agentSession/contract.d.ts +0 -98
- package/dist/agentSession/contract.js +0 -12
- package/dist/agentsWireCaps.d.ts +0 -72
- package/dist/agentsWireCaps.js +4 -72
- package/dist/approvalsStreamLiveCapability.d.ts +0 -25
- package/dist/approvalsStreamLiveCapability.js +0 -31
- package/dist/argvFlagValue.d.ts +0 -33
- package/dist/argvFlagValue.js +3 -35
- package/dist/attachmentsWireCaps.d.ts +0 -127
- package/dist/attachmentsWireCaps.js +0 -144
- package/dist/autoModeUnavailable.d.ts +0 -120
- package/dist/autoModeUnavailable.js +0 -144
- package/dist/classifierStatus.d.ts +0 -72
- package/dist/classifierStatus.js +0 -167
- package/dist/classifierVerdictWire.d.ts +0 -54
- package/dist/classifierVerdictWire.js +0 -133
- package/dist/clientContextWireCaps.d.ts +0 -37
- package/dist/clientContextWireCaps.js +0 -36
- package/dist/clientSlice.d.ts +0 -63
- package/dist/clientSlice.js +0 -45
- package/dist/cloudConfigWireCaps.d.ts +0 -86
- package/dist/cloudConfigWireCaps.js +2 -65
- package/dist/compensations.d.ts +0 -52
- package/dist/compensations.js +2 -63
- package/dist/controlRouter.d.ts +2 -208
- package/dist/controlRouter.js +1 -129
- package/dist/coreValuePorts.d.ts +0 -84
- package/dist/coreValuePorts.js +0 -29
- package/dist/decideReceipt.d.ts +0 -110
- package/dist/decideReceipt.js +0 -84
- package/dist/detachWire.d.ts +0 -130
- package/dist/detachWire.js +1 -130
- package/dist/deviceExecutorManagementCapability.d.ts +2 -35
- package/dist/deviceExecutorManagementCapability.js +1 -37
- package/dist/diagnostics.d.ts +0 -8
- package/dist/diagnostics.js +0 -8
- package/dist/diff/patch.d.ts +0 -17
- package/dist/diff/patch.js +0 -19
- package/dist/effectiveFacts.d.ts +0 -40
- package/dist/effectiveFacts.js +0 -22
- package/dist/effortWire.d.ts +0 -11
- package/dist/effortWire.js +0 -12
- package/dist/engineAgentPanelStore.d.ts +0 -169
- package/dist/engineAgentPanelStore.js +13 -293
- package/dist/engineCapReader.d.ts +0 -62
- package/dist/engineCapReader.js +1 -43
- package/dist/engineCapsCache.d.ts +0 -177
- package/dist/engineCapsCache.js +0 -199
- package/dist/engineCapsGenerationGuard.d.ts +0 -2
- package/dist/engineCapsGenerationGuard.js +0 -11
- package/dist/engineErrorCodes.d.ts +1 -316
- package/dist/engineErrorCodes.js +0 -427
- package/dist/engineHttpTools.d.ts +0 -29
- package/dist/engineHttpTools.js +0 -29
- package/dist/engineIdentity.d.ts +0 -83
- package/dist/engineIdentity.js +0 -88
- package/dist/engineInlineTaskStats.d.ts +0 -57
- package/dist/engineInlineTaskStats.js +1 -42
- package/dist/engineNoticeCodes.d.ts +0 -190
- package/dist/engineNoticeCodes.js +0 -182
- package/dist/engineSessionParam.d.ts +0 -30
- package/dist/engineSessionParam.js +0 -52
- package/dist/engineToolLabelStore.d.ts +0 -29
- package/dist/engineToolLabelStore.js +0 -31
- package/dist/engineWireSdk.d.ts +0 -90
- package/dist/engineWireSdk.js +0 -74
- package/dist/engineWireTarget.d.ts +0 -14
- package/dist/engineWireTarget.js +0 -39
- package/dist/env/localeGeo.d.ts +0 -12
- package/dist/env/localeGeo.js +2 -77
- package/dist/env/localeTag.d.ts +0 -34
- package/dist/env/localeTag.js +0 -32
- package/dist/env/uiLanguage.d.ts +0 -13
- package/dist/env/uiLanguage.js +0 -25
- package/dist/envFlag.d.ts +0 -37
- package/dist/envFlag.js +0 -40
- package/dist/executionLaneCapability.d.ts +0 -48
- package/dist/executionLaneCapability.js +0 -54
- package/dist/finalVerifyWire.d.ts +0 -67
- package/dist/finalVerifyWire.js +3 -43
- package/dist/fleet/fleetLedger.d.ts +0 -308
- package/dist/fleet/fleetLedger.js +10 -429
- package/dist/fleet/fleetProjection.d.ts +0 -240
- package/dist/fleet/fleetProjection.js +0 -189
- package/dist/fleet/fleetRowAgentType.d.ts +0 -6
- package/dist/fleet/fleetRowAgentType.js +1 -32
- package/dist/fleet/workflowSizeWarning.d.ts +0 -47
- package/dist/fleet/workflowSizeWarning.js +1 -46
- package/dist/fleetAgentPanelProjection.d.ts +0 -48
- package/dist/fleetAgentPanelProjection.js +8 -173
- package/dist/fleetTaskDesc.d.ts +0 -39
- package/dist/fleetTaskDesc.js +0 -69
- package/dist/forkWireCaps.d.ts +0 -23
- package/dist/forkWireCaps.js +1 -24
- package/dist/gateOutcome.d.ts +0 -140
- package/dist/gateOutcome.js +0 -85
- package/dist/gateVocabulary.d.ts +0 -114
- package/dist/gateVocabulary.js +1 -161
- package/dist/goalStopHook.d.ts +0 -127
- package/dist/goalStopHook.js +0 -178
- package/dist/headlessPermissionModeWire.d.ts +0 -76
- package/dist/headlessPermissionModeWire.js +1 -155
- package/dist/headlessReconnectWire.d.ts +0 -84
- package/dist/headlessReconnectWire.js +13 -67
- package/dist/hitl/approvalDecisionNoteAudit.d.ts +0 -49
- package/dist/hitl/approvalDecisionNoteAudit.js +0 -56
- package/dist/hitl/approvalOutcomeNote.d.ts +0 -2
- package/dist/hitl/approvalOutcomeNote.js +0 -20
- package/dist/hitl/approvalResolution.d.ts +0 -113
- package/dist/hitl/approvalResolution.js +0 -66
- package/dist/hitl/approvalsFeed.d.ts +0 -183
- package/dist/hitl/approvalsFeed.js +12 -243
- package/dist/hitl/armedGateRegistry.d.ts +0 -55
- package/dist/hitl/armedGateRegistry.js +0 -146
- package/dist/hitl/askGateWire.d.ts +0 -86
- package/dist/hitl/askGateWire.js +1 -95
- package/dist/hitl/askParkRowRouting.d.ts +0 -123
- package/dist/hitl/askParkRowRouting.js +1 -89
- package/dist/hitl/crashConverged.d.ts +0 -148
- package/dist/hitl/crashConverged.js +0 -214
- package/dist/hitl/editedRuleTextPrecheck.d.ts +0 -109
- package/dist/hitl/editedRuleTextPrecheck.js +0 -71
- package/dist/hitl/frameRouter.d.ts +0 -134
- package/dist/hitl/frameRouter.js +6 -378
- package/dist/hitl/gateIdentity.d.ts +0 -39
- package/dist/hitl/gateIdentity.js +0 -41
- package/dist/hitl/gateLedger.d.ts +0 -267
- package/dist/hitl/gateLedger.js +0 -121
- package/dist/hitl/hitlBridge.d.ts +7 -431
- package/dist/hitl/hitlBridge.js +7 -476
- package/dist/hitl/hitlHostSurface.d.ts +0 -150
- package/dist/hitl/hitlHostSurface.js +0 -169
- package/dist/hitl/livePendingAsk.d.ts +0 -91
- package/dist/hitl/livePendingAsk.js +0 -74
- package/dist/hitl/localAllowRule.d.ts +0 -62
- package/dist/hitl/localAllowRule.js +1 -33
- package/dist/hitl/parkOwnership.d.ts +0 -56
- package/dist/hitl/parkOwnership.js +0 -22
- package/dist/hitl/parkResolver.d.ts +3 -88
- package/dist/hitl/parkResolver.js +8 -349
- package/dist/hitl/parkRowBirthWait.d.ts +2 -26
- package/dist/hitl/parkRowBirthWait.js +3 -93
- package/dist/hitl/persistedRulesWire.d.ts +13 -358
- package/dist/hitl/persistedRulesWire.js +0 -310
- package/dist/hitl/planReviewWire.d.ts +4 -176
- package/dist/hitl/planReviewWire.js +9 -312
- package/dist/hitl/resumeRunningCard.d.ts +0 -105
- package/dist/hitl/resumeRunningCard.js +0 -105
- package/dist/hitl/sessionPolicyWire.d.ts +11 -191
- package/dist/hitl/sessionPolicyWire.js +0 -149
- package/dist/hitl/suspendedReopen.d.ts +3 -24
- package/dist/hitl/suspendedReopen.js +0 -14
- package/dist/hitl/toolApprovalWire.d.ts +5 -1308
- package/dist/hitl/toolApprovalWire.js +5 -945
- package/dist/hooksWireCaps.d.ts +0 -38
- package/dist/hooksWireCaps.js +0 -190
- package/dist/host.d.ts +0 -105
- package/dist/host.js +0 -33
- package/dist/hostEnv.d.ts +0 -14
- package/dist/hostEnv.js +0 -13
- package/dist/imagesWireCaps.d.ts +0 -21
- package/dist/imagesWireCaps.js +0 -22
- package/dist/index.d.ts +0 -134
- package/dist/index.js +0 -476
- package/dist/interactiveHalt.d.ts +5 -153
- package/dist/interactiveHalt.js +0 -111
- package/dist/interactiveToolsWire.d.ts +0 -62
- package/dist/interactiveToolsWire.js +1 -67
- package/dist/leaderConflict.d.ts +0 -59
- package/dist/leaderConflict.js +0 -48
- package/dist/limitsWire.d.ts +0 -125
- package/dist/limitsWire.js +2 -120
- package/dist/liveInitToolFace.d.ts +0 -77
- package/dist/liveInitToolFace.js +1 -109
- package/dist/liveModelCatalog.d.ts +0 -52
- package/dist/liveModelCatalog.js +0 -48
- package/dist/liveQuestionStore.d.ts +0 -87
- package/dist/liveQuestionStore.js +1 -56
- package/dist/mcpLiveness.d.ts +0 -151
- package/dist/mcpLiveness.js +0 -122
- package/dist/mcpPanel.d.ts +0 -104
- package/dist/mcpPanel.js +0 -49
- package/dist/mcpReconnect.d.ts +0 -58
- package/dist/mcpReconnect.js +1 -69
- package/dist/mcpWireCaps.d.ts +0 -55
- package/dist/mcpWireCaps.js +1 -13
- package/dist/memoryComplianceCapability.d.ts +3 -57
- package/dist/memoryComplianceCapability.js +0 -57
- package/dist/memoryEntriesWire.d.ts +6 -198
- package/dist/memoryEntriesWire.js +0 -144
- package/dist/memoryOriginCapability.d.ts +3 -53
- package/dist/memoryOriginCapability.js +0 -50
- package/dist/memorySpecWire.d.ts +0 -116
- package/dist/memorySpecWire.js +0 -150
- package/dist/model/catalog.d.ts +0 -111
- package/dist/model/catalog.js +0 -87
- package/dist/model/catalogLoader.d.ts +0 -114
- package/dist/model/catalogLoader.js +2 -139
- package/dist/model/modelSupplyRules.d.ts +1 -55
- package/dist/model/modelSupplyRules.js +0 -62
- package/dist/model/providerAuth.d.ts +0 -103
- package/dist/model/providerAuth.js +2 -38
- package/dist/model/providerCatalog.d.ts +0 -45
- package/dist/model/providerCatalog.js +0 -37
- package/dist/model/providerPresets.d.ts +0 -33
- package/dist/model/providerPresets.js +2 -91
- package/dist/model/tierVocabulary.d.ts +0 -31
- package/dist/model/tierVocabulary.js +0 -27
- package/dist/modelBudgetRule.d.ts +0 -39
- package/dist/modelBudgetRule.js +0 -39
- package/dist/modelCapabilityProbe.d.ts +0 -175
- package/dist/modelCapabilityProbe.js +0 -147
- package/dist/modelWireCaps.d.ts +0 -13
- package/dist/modelWireCaps.js +0 -13
- package/dist/notifications.d.ts +0 -233
- package/dist/notifications.js +14 -492
- package/dist/oneShotWireCaps.d.ts +0 -34
- package/dist/oneShotWireCaps.js +0 -35
- package/dist/ownKey.d.ts +0 -33
- package/dist/ownKey.js +0 -33
- package/dist/panelRunningHistory.d.ts +0 -28
- package/dist/panelRunningHistory.js +0 -43
- package/dist/peerFrames.d.ts +0 -71
- package/dist/peerFrames.js +0 -168
- package/dist/peerLaneCapability.d.ts +0 -44
- package/dist/peerLaneCapability.js +0 -52
- package/dist/permissionRuleIssue.d.ts +0 -30
- package/dist/permissionRuleIssue.js +0 -78
- package/dist/permissionRulesWriteCapability.d.ts +0 -46
- package/dist/permissionRulesWriteCapability.js +0 -54
- package/dist/permissionWireCaps.d.ts +0 -37
- package/dist/permissionWireCaps.js +0 -37
- package/dist/postureKnob.d.ts +0 -71
- package/dist/postureKnob.js +0 -86
- package/dist/principalWire.d.ts +0 -17
- package/dist/principalWire.js +0 -17
- package/dist/printToolResultFrame.d.ts +0 -100
- package/dist/printToolResultFrame.js +0 -33
- package/dist/promptProfileWireCaps.d.ts +0 -13
- package/dist/promptProfileWireCaps.js +0 -13
- package/dist/readFacePosture.d.ts +0 -43
- package/dist/readFacePosture.js +0 -46
- package/dist/request/printNotification.d.ts +0 -20
- package/dist/request/printNotification.js +0 -55
- package/dist/request/taskRequest.d.ts +0 -249
- package/dist/request/taskRequest.js +10 -496
- package/dist/resumeRefusalCopy.d.ts +0 -136
- package/dist/resumeRefusalCopy.js +1 -117
- package/dist/retainBackgroundWireCaps.d.ts +0 -48
- package/dist/retainBackgroundWireCaps.js +0 -48
- package/dist/retryStatus.d.ts +2 -221
- package/dist/retryStatus.js +0 -107
- package/dist/rewindWireCaps.d.ts +0 -27
- package/dist/rewindWireCaps.js +0 -24
- package/dist/runCancelContext.d.ts +1 -20
- package/dist/runCancelContext.js +0 -34
- package/dist/runTerminal.d.ts +0 -273
- package/dist/runTerminal.js +0 -177
- package/dist/sandboxWire.d.ts +0 -38
- package/dist/sandboxWire.js +0 -82
- package/dist/scenarioWire.d.ts +0 -60
- package/dist/scenarioWire.js +0 -68
- package/dist/scratchpadWireCaps.d.ts +0 -11
- package/dist/scratchpadWireCaps.js +0 -32
- package/dist/sdkWireTransit.d.ts +0 -38
- package/dist/sdkWireTransit.js +0 -30
- package/dist/seam.d.ts +18 -853
- package/dist/seam.js +0 -52
- package/dist/seatContract.d.ts +0 -555
- package/dist/seatContract.js +5 -304
- package/dist/selfOrchestrationDenial.d.ts +0 -189
- package/dist/selfOrchestrationDenial.js +0 -162
- package/dist/selfOrchestrationWireCaps.d.ts +0 -38
- package/dist/selfOrchestrationWireCaps.js +0 -38
- package/dist/sessionMap.d.ts +0 -60
- package/dist/sessionMap.js +0 -37
- package/dist/sessionMemoryStatus.d.ts +11 -114
- package/dist/sessionMemoryStatus.js +0 -112
- package/dist/sessionModelLatch.d.ts +0 -29
- package/dist/sessionModelLatch.js +0 -40
- package/dist/sessionPolicyCapability.d.ts +3 -53
- package/dist/sessionPolicyCapability.js +0 -52
- package/dist/sessionSlot.d.ts +0 -26
- package/dist/sessionSlot.js +0 -17
- package/dist/skillsWireCaps.d.ts +0 -87
- package/dist/skillsWireCaps.js +0 -38
- package/dist/sqlEngineCapability.d.ts +0 -118
- package/dist/sqlEngineCapability.js +0 -134
- package/dist/sseIdleTriage.d.ts +0 -79
- package/dist/sseIdleTriage.js +1 -80
- package/dist/steering.d.ts +0 -54
- package/dist/steering.js +0 -63
- package/dist/subagent/engineCompactWire.d.ts +0 -34
- package/dist/subagent/engineCompactWire.js +4 -134
- package/dist/subagent/engineDelegatedPrompt.d.ts +0 -31
- package/dist/subagent/engineDelegatedPrompt.js +1 -103
- package/dist/subagent/engineRowStopGate.d.ts +0 -20
- package/dist/subagent/engineRowStopGate.js +0 -49
- package/dist/subagent/engineSubagentOutput.d.ts +0 -7
- package/dist/subagent/engineSubagentOutput.js +1 -51
- package/dist/subagent/engineSubagentResume.d.ts +2 -279
- package/dist/subagent/engineSubagentResume.js +2 -129
- package/dist/subagent/engineSubagentSteer.d.ts +0 -26
- package/dist/subagent/engineSubagentSteer.js +0 -63
- package/dist/subagent/engineSubagentTail.d.ts +0 -38
- package/dist/subagent/engineSubagentTail.js +2 -110
- package/dist/subagent/engineTaskHandleWire.d.ts +11 -65
- package/dist/subagent/engineTaskHandleWire.js +20 -131
- package/dist/subagent/subagentOwnerAbsence.d.ts +0 -2
- package/dist/subagent/subagentOwnerAbsence.js +0 -25
- package/dist/subagentContentStore.d.ts +3 -260
- package/dist/subagentContentStore.js +7 -540
- package/dist/systemReminderTag.d.ts +0 -49
- package/dist/systemReminderTag.js +0 -61
- package/dist/toolResult.d.ts +1 -211
- package/dist/toolResult.js +1 -358
- package/dist/toolRoster.d.ts +0 -140
- package/dist/toolRoster.js +0 -66
- package/dist/typePins.d.ts +0 -46
- package/dist/types/engineState.d.ts +0 -71
- package/dist/types/engineState.js +0 -16
- package/dist/ultracodeWireCaps.d.ts +0 -75
- package/dist/ultracodeWireCaps.js +0 -92
- package/dist/unrefTimer.d.ts +0 -27
- package/dist/webSearchBackendCapability.d.ts +0 -72
- package/dist/webSearchBackendCapability.js +0 -79
- package/dist/webSearchWireCaps.d.ts +0 -37
- package/dist/webSearchWireCaps.js +0 -34
- package/dist/websearch/searchProviderPresets.d.ts +0 -81
- package/dist/websearch/searchProviderPresets.js +0 -27
- package/dist/wireErrorTriage.d.ts +4 -160
- package/dist/wireErrorTriage.js +0 -171
- package/dist/wireRefusalCopy.d.ts +0 -28
- package/dist/wireRefusalCopy.js +0 -28
- package/dist/workflow.d.ts +0 -40
- package/dist/workflow.js +0 -52
- package/dist/workflowClient.d.ts +0 -122
- package/dist/workflowClient.js +8 -360
- package/dist/workflowMonitor.d.ts +2 -72
- package/dist/workflowMonitor.js +0 -26
- package/dist/writeProtectionCapability.d.ts +0 -112
- package/dist/writeProtectionCapability.js +0 -109
- package/docs/INTEGRATION-CLIENTS.md +62 -1
- package/package.json +1 -1
|
@@ -1,97 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ⇄ B3 批搬迁(2026-07-27,多端改造设计稿 §3 B3):cli src/seam/adapter/downstream/eventToSdkMessage.ts
|
|
3
|
-
* **逐字整搬**(闭包实测 5 文件 / 零 Node 内建 / 零 react —— 本来就可移植,一个 import 都不用改)。
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* DOWNSTREAM projector (T22): `AgentEvent` → CC `SDKMessage` arms, the contract
|
|
7
|
-
* 02 §6 translation table run FORWARD, for the thin slice.
|
|
8
|
-
*
|
|
9
|
-
* Handled arms (contract 02 §2 / 08 CS-1..CS-7, CS-10, CS-11):
|
|
10
|
-
* reasoning → assistant (thinking block) §2.1 / CS-3
|
|
11
|
-
* text → assistant (text block) §2.2 / CS-1
|
|
12
|
-
* reasoning_delta→ stream_event (thinking_delta) §2.3 / CS-4
|
|
13
|
-
* text_delta → stream_event (text_delta) §2.4 / CS-2
|
|
14
|
-
* tool_start → assistant (tool_use block) §2.5 / CS-5
|
|
15
|
-
* tool_end → (internal) tool_use_result arm carrying the §E1 wire output §2.6 / CS-6
|
|
16
|
-
* turn_end → (folded into the terminal/usage rollup; no standalone arm)
|
|
17
|
-
* compacted → system / compact_boundary §2.8 / CS-8
|
|
18
|
-
* status → (internal) retry_status arm (BrainStatus liveness → spinner row) §E3/§E10
|
|
19
|
-
* done → result / success §2.10 / CS-10
|
|
20
|
-
* failed → result / error §2.11 / CS-11
|
|
21
|
-
*
|
|
22
|
-
* Leak guards (contract 02 §5): the `message`/`event` fields are CC's opaque
|
|
23
|
-
* `z.unknown()` placeholders. We populate them with NEUTRAL, CC-native content
|
|
24
|
-
* blocks the renderer reads — NEVER the raw Anthropic `APIAssistantMessage`
|
|
25
|
-
* block array or `RawMessageStreamEvent` wire, never `signature`/
|
|
26
|
-
* `redacted_thinking`/`signature_delta`.
|
|
27
|
-
*
|
|
28
|
-
* §E1 update (was STALE): `tool_end` DOES carry the model-facing `output` (the
|
|
29
|
-
* action-card BODY) on the wire now (events.d.ts:75-86). We carry it through —
|
|
30
|
-
* but NOT as a raw Anthropic `tool_result` wire block: a NEUTRAL internal arm
|
|
31
|
-
* `{type:'tool_end_result', toolCallId, isError, output, truncated, eventId}` the
|
|
32
|
-
* upstream bridge correlates to the open card by `toolCallId`. The output is
|
|
33
|
-
* 🔴 UNTRUSTED / OBSERVABILITY-ONLY (events.d.ts:80-85): render it, never re-feed
|
|
34
|
-
* a truncated body to a model.
|
|
35
|
-
*/
|
|
36
1
|
import type { AgentEvent, CheckpointGate } from '@sema-agent/sdk';
|
|
37
2
|
import { type SDKMessage, type EmitContext, type ModelUsage } from '../types.js';
|
|
38
3
|
import { type McpLivenessView } from '../../mcpLiveness.js';
|
|
39
|
-
/**
|
|
40
|
-
* 本适配器铸出的**内部臂** `type` 全集(A-004.4 上游半场,2026-08-08)——「内部臂」= 桥面
|
|
41
|
-
* (bridge-facing)消息,**不是** CC SDK stdout 联合体里的帧形(那些是 assistant/stream_event/
|
|
42
|
-
* system 等真帧)。消费方(壳 REPL 桥、`-p` print 出口、web/desktop 座位层)对内部臂只有两种
|
|
43
|
-
* 合法处置:**吞**(不外泄)或**转成真 CC 帧**;顺着兜底裸透传到 stdout/wire = 病族⑥投影缺口
|
|
44
|
-
* (cli A-004.11/12 实翻:human_input/diagnostics/workspace_changed 曾漏进 `-p` stream-json)。
|
|
45
|
-
*
|
|
46
|
-
* 这张表是**唯一权威源**:消费方的吞/转名单必须对账本表(全覆盖,禁手抄子集——A-004.4 的病形
|
|
47
|
-
* 就是壳手抄了 4 词的子集);本包 pure 门有源码对账腿(armBody 铸点抽取 ≡ 本表),加臂不登记
|
|
48
|
-
* 即红。`turn_usage` 的铸点在 runStream.ts(usage 聚合腿),不在本文件的 switch 里,同属本表。
|
|
49
|
-
*/
|
|
50
4
|
export declare const INTERNAL_SDK_ARM_TYPES: ReadonlySet<string>;
|
|
51
|
-
|
|
52
|
-
export type
|
|
53
|
-
/** `turn_end`:usage 折叠是 run driver 的活(`turnEndUsage`),本层无独立可渲染臂。 */
|
|
54
|
-
'usage_only'
|
|
55
|
-
/** `done`/`failed`:终帧由 `terminalToSdkResult` 投影。 */
|
|
56
|
-
| 'terminal_delegated'
|
|
57
|
-
/** `suspended`:HITL 登记是 run driver 的活(out of slice)。 */
|
|
58
|
-
| 'hitl_out_of_slice'
|
|
59
|
-
/** 已在 SDK union 里、但本切片**有意**不投影的臂(逐条理由见各 case 注释)。 */
|
|
60
|
-
| 'not_in_slice'
|
|
61
|
-
/**
|
|
62
|
-
* 臂在本切片内、帧也不畸形,但**载荷筛完是空的**。两个来源:`suggestions` 全被空白过滤掉、
|
|
63
|
-
* `diagnostics` 的 `files: []`(LSP 的「这一轮没有诊断」正常形,ADAPTER-F6 收平)。
|
|
64
|
-
* 单列一档的理由与 REF-CC-058 本身同源:把它并进 `not_in_slice` 会说「这条臂我们不投影」——
|
|
65
|
-
* 那是假话(我们投影它,只是这一帧没内容);并进 `dropped` 则是把引擎的正常空批诬告成丢帧。
|
|
66
|
-
*/
|
|
67
|
-
| 'empty_payload';
|
|
68
|
-
/** 「这条臂我看不懂/嫌它坏,丢了」的**如实分类**(REF-CC-057/058)。 */
|
|
69
|
-
export type EventProjectionDropReason =
|
|
70
|
-
/** 帧在但必填位畸形(非串 runId / 非数组 files / 空 source …)—— 引擎发了,我们读不动。
|
|
71
|
-
* ⚠️ 「筛完是空的」不算畸形(那是 `empty_payload`,见上;ADAPTER-F6)。 */
|
|
72
|
-
'malformed'
|
|
73
|
-
/** 类型面根本不认识这条臂(引擎比本包新)。 */
|
|
74
|
-
| 'unknown_arm'
|
|
75
|
-
/**
|
|
76
|
-
* 类型面**认得**这条臂、它也带着用户可见的决策内容,但本包**今天没有任何消费口**
|
|
77
|
-
* (2026-08-08 对抗复审第 4/5 轮命中,首例 = `approval_request`)。
|
|
78
|
-
*
|
|
79
|
-
* 为什么不能并进 `not_in_slice`:那一档的语义是「本切片不投影,**因为别处接了/本来就没有可渲染物**」,
|
|
80
|
-
* 它走 `kind:'none'` —— 而 `none` 是**静默**的,只有 `dropped` 会经 `reportDroppedFrame` 走宿主
|
|
81
|
-
* sink + console 留痕。把一条「有内容、没人接」的帧塞进 `none`,等于把一个真实能力缺口做成静默
|
|
82
|
-
* fail-open(本仓 P0 共性病的同款形)。判据方向:宁可每次都吼一行,也不要缺口无声。
|
|
83
|
-
* 为什么也不能并进 `unknown_arm`:那是假话 —— 我们认得它,缺的是消费链,不是类型。
|
|
84
|
-
*/
|
|
85
|
-
| 'unsupported_arm';
|
|
86
|
-
/**
|
|
87
|
-
* 投影结果三态(REF-CC-058 / xlate-04,A1 禁哨兵值双义 + C6 降级必须可分辨)。
|
|
88
|
-
*
|
|
89
|
-
* 收编前返回型是 `SDKMessage | null`,而那个 `null` 在 10 个 return 点上同时承载三种互不相同的
|
|
90
|
-
* 语义:①设计内无可渲染臂;②帧畸形被丢弃;③未知新臂被吞。调用方拿到 null **无法分辨**「本来
|
|
91
|
-
* 就没东西渲」和「引擎发了一帧但我看不懂」—— 本文件历史上所有「帧到了没人读」事故(suggestions
|
|
92
|
-
* 死信、workflow lane 两键被剥)的载体就是这个塌缩。三态命名后,`dropped` 是可被上报的信号,
|
|
93
|
-
* driver 侧据此闭合 REF-CC-057 的下泄口。
|
|
94
|
-
*/
|
|
5
|
+
export type EventProjectionNoneReason = 'usage_only' | 'terminal_delegated' | 'hitl_out_of_slice' | 'not_in_slice' | 'empty_payload';
|
|
6
|
+
export type EventProjectionDropReason = 'malformed' | 'unknown_arm' | 'unsupported_arm';
|
|
95
7
|
export type EventProjection = {
|
|
96
8
|
kind: 'message';
|
|
97
9
|
message: SDKMessage;
|
|
@@ -103,280 +15,65 @@ export type EventProjection = {
|
|
|
103
15
|
why: EventProjectionDropReason;
|
|
104
16
|
type: string;
|
|
105
17
|
};
|
|
106
|
-
/**
|
|
107
|
-
* Project one durable/live `AgentEvent` into a typed {@link EventProjection}.
|
|
108
|
-
*
|
|
109
|
-
* `tool_end` projects to a NEUTRAL internal `tool_end_result` arm (NOT a CC
|
|
110
|
-
* SDKMessage the renderer reads) carrying the §E1 wire `output` so the bridge can
|
|
111
|
-
* close the open card with the real body.
|
|
112
|
-
*
|
|
113
|
-
* Terminal `done`/`failed` are delegated to `terminalToSdkResult`.
|
|
114
|
-
*
|
|
115
|
-
* 🔴 BREAKING(REF-CC-058,0.13.0):返回型由 `SDKMessage | null` 改为三态 Result。
|
|
116
|
-
* 迁移判据一句话:`const p = eventToSdkMessage(ev, ctx); if (p.kind === 'message') …` ——
|
|
117
|
-
* 旧写法 `if (msg)` 在新返回型上恒真(对象永远 truthy),所以这是**必须点名**的一类改动。
|
|
118
|
-
*/
|
|
119
18
|
export declare function eventToSdkMessage(ev: AgentEvent, ctx: EmitContext): EventProjection;
|
|
120
|
-
/**
|
|
121
|
-
* `engine_notice` → 中性内部通告臂(#310 / #318 件①,契约 = server `ASSISTANT-WIRE-CONTRACT` 附录 D
|
|
122
|
-
* + openapi `Event_engine_notice`)。
|
|
123
|
-
*
|
|
124
|
-
* ── 这是什么 ────────────────────────────────────────────────────────────────────────────────
|
|
125
|
-
* 引擎的**结构化通告**里,被 server 判为面向**本会话终端用户**的那一小撮,按 `sessionId` 路由到
|
|
126
|
-
* 这条会话的流上。live 与 durable **两腿都有**(server 三条 run 腿都挂了口)⇒ 断连重连的重放里
|
|
127
|
-
* 会**再看到它**,与 `workspace_changed` 同一条**幂等消费**纪律(附录 D.1 逐字)。
|
|
128
|
-
*
|
|
129
|
-
* ── 🔴 开集三条(本函数的全部判据,逐条都是「不许做什么」)────────────────────────────────
|
|
130
|
-
* ① **按 `code` + `detail` 消费,`message` 只作 fallback 展示**。core 明写
|
|
131
|
-
* `memory.session_polluted` 的 message 随 `memoryProvenance` 模式变文 ⇒ 按 message 文本匹配
|
|
132
|
-
* **必碎**(5.41 合流码形退役同教训)。所以本层把三者**分别**上臂,绝不把 detail 折进文案。
|
|
133
|
-
* ② **`code` 是开集,认不得也绝不丢帧**。server 的白名单会随 core 码册增长(起步三码 →
|
|
134
|
-
* core 5.47/5.48 的 hold 三码入册,附录 D.3 的表尚未跟上)。本层因此**一个码都不硬编**:
|
|
135
|
-
* 没有识别表、没有 switch、没有「已知才投」——认不认得是**渲染面**的判断,不是投影面的门。
|
|
136
|
-
* ⇒ 本函数对 `code` 唯一的要求是「非空串」(判别键本身缺席才叫畸形)。
|
|
137
|
-
* ③ **能力位不当两值门**:本臂不读任何 caps、不问「引擎支不支持 engine_notice」。帧到了就投影
|
|
138
|
-
* (A-022「到帧即服务」先例)—— 拿一个探测位去 gate 一条**已经到手的事实**,只会在探测未判/
|
|
139
|
-
* 失败时把真事实丢掉。
|
|
140
|
-
*
|
|
141
|
-
* ── 🔴 消费端纪律(写在臂上,因为三端各写一遍必漂)────────────────────────────────────────
|
|
142
|
-
* · `detail` 已过 server 的 `redactSecrets` + 尺寸 bound(自由文本 1000 字符;深 4 / 键 32 /
|
|
143
|
-
* 数组 32),**仍按外部串处理**(呈现面字符处理走消费方自己的单源)。
|
|
144
|
-
* · `ts` 是 **server 观察时刻**(ms epoch),**不是**引擎铸造时刻 —— `EngineNotice` 自身不带时间戳。
|
|
145
|
-
* · 🔴 `memory.harvest_quarantined` 的 `moved` 与 `escalated` **不可相减**(就地墓碑同时计入两者,
|
|
146
|
-
* core 顶注):两个数各自读、并列呈现,任何减法都会得出一个**不存在的量**。本层原样透传 detail
|
|
147
|
-
* 正是为了让这条纪律只在渲染面兑现一次,而不是被投影层先算一个差值出来。
|
|
148
|
-
* · **本帧的缺席不代表「没发生」**:非白名单码 / 缺 `sessionId` 的通告 server **如实不投**
|
|
149
|
-
* (宁缺席不串台),全族那一份始终在 server 的结构化日志里(运维面)。所以消费端**绝不许**
|
|
150
|
-
* 从「没收到 engine_notice」反推「记忆姿态正常」。
|
|
151
|
-
*
|
|
152
|
-
* ── 畸形判据(fail-closed 方向)────────────────────────────────────────────────────────────
|
|
153
|
-
* `code` 非串/空串 ⇒ `malformed`(判别键都没有的通告,渲出去只是一行没有主语的噪声,而 dropped
|
|
154
|
-
* 至少会经 `reportDroppedFrame` 留痕)。其余四键**各自**按诚实缺席处理:`message` 非串 ⇒ 空串
|
|
155
|
-
* (fallback 位缺席,渲染面据此走纯 code 呈现)、`detail` 非对象 ⇒ 空对象(**不是**丢帧:通告的
|
|
156
|
-
* 承重物是 code,detail 坏了不该连带把「这件事发生过」一起吞掉)、`sessionId` / `ts` 非法 ⇒ 键不
|
|
157
|
-
* stamp(绝不铸 `0` 这种看起来合法的假读数)。
|
|
158
|
-
*/
|
|
159
|
-
/** {@link wiringManifestSupersetBody} 的 `modelGate` 段(core #524 / server S-86 的形)。 */
|
|
160
19
|
export interface WiringManifestModelGate {
|
|
161
|
-
/** 门的类别词(core 开集,原样透传;例:模型族名)。 */
|
|
162
20
|
class: string;
|
|
163
|
-
/** 本 run 被门卸掉的工具名(**非空**;空数组不是真读数,见投影函数头注)。 */
|
|
164
21
|
removed: readonly string[];
|
|
165
|
-
/** 恢复办法的**逐字**提示(core 铸,例:环境变量赋值串)。渲染面原样呈现,不要自己拼。 */
|
|
166
22
|
restore: string;
|
|
167
23
|
}
|
|
168
|
-
/** {@link wiringManifestSupersetBody} 的 `autoMode` 段(core 147③ 的形)。 */
|
|
169
24
|
export interface WiringManifestAutoMode {
|
|
170
25
|
armed: boolean;
|
|
171
|
-
/** core **六词逐字透传**。🔴 不映射 `/v1/capabilities.permissionModeAuto.reason` —— 见投影函数头注。 */
|
|
172
26
|
reason: string;
|
|
173
|
-
/**
|
|
174
|
-
* 0.67.0(core 7.14.0 `AutoModeArmFact.deniedSource`,`wiring-manifest.d.ts:87`)——
|
|
175
|
-
* **哪一层设置面**的棘轮把 auto 模式关掉了(core `AUTO_MODE_DENY_SOURCES`:`org` / `local` /
|
|
176
|
-
* `settings`)。解析器**自己的词,原样带过来,从不推断**(合同顶注 `:79-82` 逐字)。
|
|
177
|
-
*
|
|
178
|
-
* 🔴 **只在 `reason === "denied"` 旁在场**;`denied` 却没有它 = 那个解析器**不记来源**
|
|
179
|
-
* (一句正面事实,不是「不知道」的同义词);`resolver_fault` / `armed` / `no_intent` /
|
|
180
|
-
* `no_face` 上**恒不在场**(屏掉一个它拒绝了的来源是 core 自己做的)。
|
|
181
|
-
* 🔴 **开集读**(与同段 `reason` 逐字同规):词表属主在 core,包在边界抄一份闭集只会在 core
|
|
182
|
-
* 加词那天把一个合法值判没。端的 `switch` 必须带 `default`。
|
|
183
|
-
* 🔴 **缺席不铸**:绝不折成空串,更不折成 `"settings"` 这种看起来最像的默认值 —— 那是替引擎
|
|
184
|
-
* 指认一个它没点名的设置面,而用户会照着去改错的那一层。
|
|
185
|
-
*/
|
|
186
27
|
deniedSource?: string;
|
|
187
28
|
}
|
|
188
|
-
/**
|
|
189
|
-
* {@link wiringManifestSupersetBody} 的 `mcp[]` 一条目(S-124 / core 7.5.0,server ≥7.60.0 的形)。
|
|
190
|
-
*
|
|
191
|
-
* 「我这条腿**申报**的一台 MCP 服务器,连上了没有、挂了是哪一类、挂上来几个工具」。
|
|
192
|
-
*
|
|
193
|
-
* 🔴 **`name` + `status` 是必需两座**(与 server 侧 `wiringManifestEventData` 的 `mcp` 臂同判据:
|
|
194
|
-
* `if (name === undefined || status === undefined) continue`)—— 一条既没有名字也没有状态的行
|
|
195
|
-
* 渲不出任何有用的话,而**坏一条只丢那一条**,绝不丢整张表(丢整表 = 用户以为「一台都没申报」)。
|
|
196
|
-
* 🔴 **`errorCode` 不是纯闭集**(core 7.6.0 换代:`MCP_FAILURE_CODES` 十词表退役,继任者是
|
|
197
|
-
* `McpFailureKind` 十词;**`network` 与 `http_<status>` 两种拼法一并作废** —— HTTP 状态从此走
|
|
198
|
-
* 结构位 {@link WiringManifestMcpEntryView.httpStatus},不再编进码里)⇒ 本包**照旧既不枚举那十个词、
|
|
199
|
-
* 也不套形正则**(词的单一属主在 core;抄一份会把 core 加的新词吞成缺席),只判非空串。
|
|
200
|
-
* 消费端按具名词写的 `switch` **必须带 default 臂**。
|
|
201
|
-
* 🔴 **`delivered` 与 `errorCode` 合读才有判别力**(core 7.6.0 S6-B):同一个 `connection_closed`,
|
|
202
|
-
* `no` 可以直接重试(**可证**什么都没发出去)、`unknown` 必须先去查(请求**可能**已经执行了)。
|
|
203
|
-
* 这条判别力单看码拿不到,所以这一位非透传不可。
|
|
204
|
-
* 🔴 **`error` 自由文本上游就不投,本包更不铸**:它是这条面上唯一的**远端作者自由文本**,server
|
|
205
|
-
* 侧的裁定逐字是「进来会同时破本段『无自由文本 ⇒ 不脱敏』的段内不变量,和 core 把远端 MCP 错误
|
|
206
|
-
* 文本脱敏收敛成**一个**铸点的单铸律」。可操作的因由在 `errorCode`。
|
|
207
|
-
*/
|
|
208
29
|
export interface WiringManifestMcpEntryView {
|
|
209
|
-
/** spec 声明名(引擎产的标识,非用户内容)。 */
|
|
210
30
|
name: string;
|
|
211
|
-
/** 三词闭集(core 属主;**按开集读**,认不得的词照渲不丢行)。 */
|
|
212
31
|
status: string;
|
|
213
|
-
/** 声明方自述的层级标签(core 已 single-line + 长度封顶后逐字回显)。缺席 = 没报。 */
|
|
214
32
|
source?: string;
|
|
215
|
-
/** 失败因由的**机器码**(core 7.6.0 `McpFailureKind` 十词,**按开集读**)。缺席 = 这条没失败,
|
|
216
|
-
* 或引擎没给码。 */
|
|
217
33
|
errorCode?: string;
|
|
218
|
-
/** 这台服务器挂上来的工具数(有限数)。缺席 = 没报,**不是** `0`。 */
|
|
219
34
|
toolCount?: number;
|
|
220
|
-
/**
|
|
221
|
-
* 请求**到没到**那台服务器(core 7.6.0 S6-B;`yes` / `no` / `unknown`,**按开集读**)。
|
|
222
|
-
* 🔴 与 {@link errorCode} **合读**(见投影函数顶注)。缺席 = 引擎没给这一位。
|
|
223
|
-
* ⚠️ `no` 说的是**调用方的工具调用**没发出去,**不**保证「那台服务器一个字节都没收到」。
|
|
224
|
-
*/
|
|
225
35
|
delivered?: string;
|
|
226
|
-
/**
|
|
227
|
-
* 端点答的那个 HTTP 状态(core 7.6.0 S6-B),**只**与 `errorCode === "http_status"` 同行
|
|
228
|
-
* (401/403 去重新授权、5xx 是那头挂了)。
|
|
229
|
-
* 🔴 **缺席而不是 0**:一个编出来的 `0` 会被读成「服务器答了状态码 0」这句不存在的话。
|
|
230
|
-
* ⚠️ 本层**不校**「只与 http_status 同行」那条配对:它是 core 的段内规矩,server 已按它铸;
|
|
231
|
-
* 包再校一遍只会在上游合法演进的当天把一个真读数判没(与 `errorCode` 的开集纪律同规)。
|
|
232
|
-
*/
|
|
233
36
|
httpStatus?: number;
|
|
234
|
-
/**
|
|
235
|
-
* 引擎最后一次**活性观察**(CC-36;第六键,引擎侧自 core 7.24.3 / server 7.91.2 起)。判据、词表与
|
|
236
|
-
* 「缺席 = 没有可用观察记录」那四句话的单一铸点在 {@link readMcpLiveness} 的顶注。
|
|
237
|
-
* 🔴 **缺席不铸**,且缺席**不是** `unknown`:后者是一句更强的断言(引擎看了,看不出来)。
|
|
238
|
-
* 🔴 与同行的 {@link status} / re-dial 回执**各说各的**,三者不合并、不互证(`status:'failed'` 与
|
|
239
|
-
* `liveness.state:'reachable'` 同行是真行:活着,且配错了)。
|
|
240
|
-
*/
|
|
241
37
|
liveness?: McpLivenessView;
|
|
242
|
-
/** never false:这一行的活性格**在场而读不出**(与整格缺席不是一句话 —— 「送来一份我读不懂的」要
|
|
243
|
-
* 能与「引擎没报」分开,否则腿级判词会拿读不出当可达的证据)。 */
|
|
244
38
|
livenessUnreadable?: true;
|
|
245
39
|
}
|
|
246
40
|
export declare function projectMcpSection(raw: unknown): WiringManifestMcpEntryView[] | undefined;
|
|
247
|
-
/** core 7.20.1(0.71.4):`wiring_manifest.writeProtection` 第七段 —— 写保护判官自报的目标视图(present-iff 这条腿编译出了判官)。 */
|
|
248
41
|
export interface WiringManifestWriteProtectionView {
|
|
249
|
-
/** `spelling-only` = 只判拼写(别名写不拦;同 run 另发 `config.write_protection_target_view_absent`);`target` = 判真实目标。 */
|
|
250
42
|
targetView: 'spelling-only' | 'target';
|
|
251
43
|
}
|
|
252
|
-
/**
|
|
253
|
-
* core 7.21.0 #761 / server 7.82.0 S-362(0.72.4 CC-35):`wiring_manifest.autoConsolidation` 第八段 —— 这条腿所在部署有没有武装
|
|
254
|
-
* 「记忆自动整理」(每个产生了整理建议的任务之后,为该 scope 起一次整库整理跑,记忆内容外流到整理模型)。
|
|
255
|
-
* 契约 G.13:`{ onRecommendation: true }` **或整段缺席,没有第三种形**;**operator-only** 投影。
|
|
256
|
-
*/
|
|
257
44
|
export interface WiringManifestAutoConsolidationView {
|
|
258
|
-
/** 恒 `true`(构造期门拒掉了「武装但跑不起来」);在场即武装。 */
|
|
259
45
|
onRecommendation: true;
|
|
260
46
|
}
|
|
261
|
-
/**
|
|
262
|
-
* core 7.22.0 #889 C-R60(0.72.7 CC-42):`wiring_manifest.readDeny` 第九段 —— 这条腿**内置敏感文件读 deny 表**的实质激活档位
|
|
263
|
-
* (`READ_DENY_BUILTIN_TIERS` 顺序;每行都被排除掉的档位不列名)。挨着 `writeProtection`,按 operator / governance 投影;进 `configFingerprint`。
|
|
264
|
-
*/
|
|
265
47
|
export interface WiringManifestReadDenyView {
|
|
266
|
-
/** 非空;档位词**开集**透传(闭集 `ReadDenyBuiltinTier` 五员归 core,本包不手抄 —— 上游加档位不判畸形)。 */
|
|
267
48
|
builtinTiers: readonly string[];
|
|
268
49
|
}
|
|
269
|
-
/**
|
|
270
|
-
* CC-08(0.71.0):`wiring_manifest.hooks[]` 一行(sdk 9.6.0 `WiringManifestHookEntry`)—— 这条腿挂了哪些 hook 族、
|
|
271
|
-
* 由 spec 还是 deps 拥有、是否只是观察性的。开集透传 `family` / `owner`;`observational` never-false。
|
|
272
|
-
*/
|
|
273
50
|
export interface WiringManifestHookEntryView {
|
|
274
51
|
family: string;
|
|
275
52
|
owner: string;
|
|
276
53
|
observational?: true;
|
|
277
54
|
}
|
|
278
|
-
/** CC-08(0.71.0):`wiring_manifest.lsp`(sdk 9.6.0 `WiringManifestLspSeam`,core 7.18.0 #789):在场 iff 解析出了 manager 席;
|
|
279
|
-
* 🔴 `mounted` 与 `lane` 互相独立、禁合读(`lane` 缺席 ≠ 没挂;`mounted: false` 时 `lane` 仍可在场)。 */
|
|
280
55
|
export interface WiringManifestLspSeamView {
|
|
281
56
|
mounted: boolean;
|
|
282
57
|
lane?: string;
|
|
283
58
|
}
|
|
284
|
-
/** CC-08 ③(0.71.0):`context_usage.sections[]` 一行(sdk `ContextUsageSection`;core 7.18.0 #790)。`id` 与 `prompt_assembled` 同一张词表可 join;
|
|
285
|
-
* `tokens` 只在本段自己的坐标系里有意义(🔴 与 `usedTokens` 禁相减、禁拿一段比 `compactAtTokens`);`kind` 缺席 = 条目没声明槽,不是没语义。 */
|
|
286
59
|
export interface ContextUsageSectionView {
|
|
287
60
|
id: string;
|
|
288
61
|
tokens: number;
|
|
289
62
|
kind?: string;
|
|
290
63
|
}
|
|
291
|
-
/**
|
|
292
|
-
* CC-91(0.76.0):`prompt_assembled.sections[]` 一行 —— 编译 IR 面的**一段**(core `prompt.assembled` 的 v2 面)。
|
|
293
|
-
*
|
|
294
|
-
* 🔴 **只有 `chars`,没有 `tokens`** —— 这不是本层的取舍,是上游真字节里就没有这一位:core 的臂声明
|
|
295
|
-
* (`core/trace.ts` `kind:"prompt.assembled"` 的 `sections?: Array<{id, slot, carrier, cadence, cacheClass, chars, hash, contentHash?}>`)
|
|
296
|
-
* 与 server 的逐字段白名单(`observability/prompt-manifest.ts` `promptManifestRecordOf`)两面都是 `chars`。
|
|
297
|
-
* ⇒ 本层**不铸** `tokens`:拿 `chars / 系数` 编一个数就是把「不知道」渲成一个看起来精确的假值。
|
|
298
|
-
* 要引擎自己的 token 估算,读 **`context_usage.sections[].tokens`**(core `prompt-assembly/section-usage.ts`
|
|
299
|
-
* `contextUsageSections` 就是拿同一份 `chars` 按引擎系数估的)。🔴 这条 join **只在两面的段视图都在场时成立**:
|
|
300
|
-
* 那一面也是从同一份 manifest 段列投影的,段列缺席时它同样缺席 ⇒ v1-only 腿上没有这条 join,那时**别**拿
|
|
301
|
-
* `blocks` 当段的同名替代({@link PromptManifestBlockView}:两张词表不同,且段→块可多对一)。
|
|
302
|
-
* 🔴 `id` 是 core pack 的 `core/<slot>.<name>` 命名空间**开集**(`core/role.base` / `core/harness.head` /
|
|
303
|
-
* `core/discovery.mcp-instructions` / `core/environment.context` / `core/memory.tail` …),**不是**任何端
|
|
304
|
-
* /context 面板的展示分类名;本层按开集读,认不得的 id 原词照带。
|
|
305
|
-
* `slot` = 语义槽(让视图不必认识每个 id 就能分组),**逐字沿用上游的键名**:同一件事在 `context_usage.sections[]`
|
|
306
|
-
* 那一面叫 `kind`,在本面叫 `slot`,两边各自跟自己的上游,本层**不改名**。改名看着整齐,代价是同一个事实在包内
|
|
307
|
-
* 多一个只有本包知道的别名 —— 而本层有两个入口(投影口 / 直喂 `adapt()`),别名一多两条路就会读出不同的值。
|
|
308
|
-
* 缺席 = 那个条目没声明槽,不是没语义。
|
|
309
|
-
*/
|
|
310
64
|
export interface PromptManifestSectionView {
|
|
311
65
|
id: string;
|
|
312
|
-
/** 这一段**渲染出来的字符数**(prepare 期冻结)。🔴 不是 token 数;别拿它与 `context_usage.usedTokens` 相减。 */
|
|
313
66
|
chars: number;
|
|
314
67
|
slot?: string;
|
|
315
68
|
}
|
|
316
|
-
/** CC-91(0.76.0):`prompt_assembled.blocks[]` 一行 —— v1 面的**带标签块**(`role.base` / `harness.context` /
|
|
317
|
-
* `env.context` / `memory.tail` …)。🔴 与 `sections[].id` 是**两张不同的词表**,而且**多对一**:多个段可折进
|
|
318
|
-
* 同一个块(core `prompt-assembly/types.ts` 的 `blockId`)⇒ 块不是段的另一种写法,别把两面混着分组。
|
|
319
|
-
* v1-only 引擎上段视图整键缺席,这一面是那时唯一的组成视图 —— 🔴 **那时没有与 `context_usage` 的 token join**
|
|
320
|
-
* (那一面的段视图同样是从 manifest 段列投影的,段列缺席时它也缺席)⇒ 别拿块 id 去 join 段面。
|
|
321
|
-
* ⚠️ 两张词表**没有命名空间隔离的保证**:v1 块 id 不带前缀(`role.base`),而 operator 声明的段 id 是自由串
|
|
322
|
-
* (core 的 `EpochDeclaredSections.id`)⇒ 理论上能撞出同名。所以「join 不上」不是唯一的失败形,
|
|
323
|
-
* **按面各自分组**才是安全读法,别靠 id 形状猜自己在哪一面。
|
|
324
|
-
* `chars` 同律:不是 token 数。 */
|
|
325
69
|
export interface PromptManifestBlockView {
|
|
326
70
|
id: string;
|
|
327
71
|
chars: number;
|
|
328
72
|
}
|
|
329
|
-
/** CC-91(0.76.0):`prompt_assembled.tools[]` 一行,**只留 wireName**(这一腿挂载了哪些工具;MCP 类按 server 分组渲染靠它)。
|
|
330
|
-
* 🔴 上游那一行的其余位(`aliases` / `contractId` / `implementationRevision` / `cardId` / `shapeDigest` / `wireSchemaDigest`)
|
|
331
|
-
* 是**内容寻址对账锚**、不是尺寸面,本层刻意不过境(要它们另立票,别顺手整只透传)。⚠️ 这一面**没有任何尺寸位** ——
|
|
332
|
-
* 「工具 schema 占了多少」在这条 wire 上读不出来,缺席不是零。 */
|
|
333
73
|
export interface PromptManifestToolView {
|
|
334
74
|
wireName: string;
|
|
335
75
|
}
|
|
336
|
-
/**
|
|
337
|
-
* CS-7 §2.7 — turn_end usage → CC `ModelUsage` (pinned name mapping;
|
|
338
|
-
* costMicroUsd/1e6 → costUSD). Surfaced separately because the slice has no
|
|
339
|
-
* standalone usage SDKMessage arm; the run driver folds it into the footer /
|
|
340
|
-
* terminal rollup.
|
|
341
|
-
*
|
|
342
|
-
* ── 🔴 0.68.0 BREAKING(core 7.17.0 #711;异源对抗复审轮三实抓的**第五处**)──────────────────
|
|
343
|
-
* 返回 `undefined` 的含义从「`usage` 这一格缺席」收窄成 **「这一轮的账不知道」**,两种入形都答它:
|
|
344
|
-
* ① `ev.usage` 整个缺席 —— #711 之后这**不再是一条合法形**(契约违约;`runStream` 那一层另有
|
|
345
|
-
* 响亮留痕,本读器只如实答「不知道」);
|
|
346
|
-
* ② `usageMissing: true` **且六格全是 0** —— 那正是 core 的**占位**
|
|
347
|
-
* (`rs.turn.turnUsage ?? {六个 0}`,`run-harness-handlers.js:289-293`)。
|
|
348
|
-
* 🔴 为什么必须改:#711 之前,「这一轮没量出账」这件事在 wire 上的形是**不发 usage** ⇒ 本函数答
|
|
349
|
-
* `undefined`;#711 之后同一件事的形变成六个 0,而本函数是**公面导出** —— 不改的话,同一个真实
|
|
350
|
-
* 情形在引擎升级前后由同一个公开读器给出两个相反的答案(「不知道」变成「这一轮恰好花了 0」),
|
|
351
|
-
* 而调用方**一个字都没改**。收窄之后跨引擎升级的答案**逐字不变**。
|
|
352
|
-
* 🔴 **非零照交**:`usageMissing` 并不保证六格是零(core 在同一轮里可能已攒到真数字而另一次调用
|
|
353
|
-
* 报了缺账 ⇒ 判别位与真数字同帧并存)。占位恒为全零,所以**任何一格非零**都说明这一轮真的量到过
|
|
354
|
-
* ⇒ 照交镜像(那些数字是**下界**,而「是不是下界」由帧上的 `usageMissing` / 终帧的
|
|
355
|
-
* `_sema_usage_lower_bound` 回答,不由本函数回答)。
|
|
356
|
-
* ⚠️ 要**原样**的 wire 镜像(不做任何判断)请直接调 {@link turnUsageToModelUsage} —— 那一只是
|
|
357
|
-
* 纯映射,本函数是**带缺席语义的读器**,两者刻意分开。
|
|
358
|
-
*/
|
|
359
76
|
export declare function turnEndUsage(ev: Extract<AgentEvent, {
|
|
360
77
|
type: 'turn_end';
|
|
361
78
|
}>): ModelUsage | undefined;
|
|
362
|
-
/**
|
|
363
|
-
* Defensive open-set read of a `suspended` gate kind for the run driver's HITL
|
|
364
|
-
* branch — known kinds plus a generic fallback (contract 02 §2.9 / §3: never
|
|
365
|
-
* crash on an unknown kind). Kept here so the §6 mapping lives in one file.
|
|
366
|
-
*
|
|
367
|
-
* ⚠️ DEAD CODE — 不是「HITL 分支漏接」(2026-07-26 全树核查,task #81 顺带件):
|
|
368
|
-
* · 全树(src/ + mock/ + build/ + 测试)**零调用点**,adapter facade(src/seam/adapter/index.ts)
|
|
369
|
-
* 也没把它再导出去 —— 没有任何一处「本该调它却没调」。
|
|
370
|
-
* · 它想服务的那条 HITL 分支**已经接好了**,只是没走这个函数(REF-CC-063:此处原为四个行号锚,
|
|
371
|
-
* 今天全部已腐,改符号锚):
|
|
372
|
-
* - `suspended` 事件臂 → `hitl/hitlBridge.ts` 的 `HitlBridge.observe()` 就地做了**同款**防御
|
|
373
|
-
* 回落(`ev.gate ? ev.gate : { kind: 'human' }`),而且 latch 的是整个 CheckpointGate 对象,
|
|
374
|
-
* 壳侧 `currentGate()` 自己 branch `gate.kind`;
|
|
375
|
-
* - `done{status:'suspended', checkpointGate}` 终帧 → `liveHitlAskWire.ts` 的 ask 合成口 /
|
|
376
|
-
* `terminalToSdkResult.ts` 的 park 臂各自读 `checkpointGate.kind` **和** `.toolName`。
|
|
377
|
-
* · 关键:每个真实消费方都同时需要 `toolName`(挑 Ask overlay vs fs 写门三选卡),而本函数只吐
|
|
378
|
-
* 一个 kind 字符串 —— 签名比任何真实需求都窄,接进去反而要再读一次 gate。
|
|
379
|
-
* 结论 = 可删的死码(留档不擅删,按 task #81 口径只标记);真要收,连同 `CheckpointGate` 的
|
|
380
|
-
* type-only import 一起摘。
|
|
381
|
-
*/
|
|
382
79
|
export declare function gateKind(gate: CheckpointGate | null | undefined): string;
|