@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,34 +1,7 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* executionLaneCapability — **本部署的执行车道自述**的三端共用读面(0.72.13;server ≥7.86.0 / S-426 的
|
|
3
|
-
* `GET /v1/capabilities.executionLane`,契约附录 B.1;sdk 9.6.0 的 `Capabilities` 尚未声明该键)。
|
|
4
|
-
*
|
|
5
|
-
* ── 这一格答的是哪一个问题 ────────────────────────────────────────────────────────────────
|
|
6
|
-
* 「工具跑的那台机器就是这台 server 吗」(文件系统同一性)。它决定技能的 `baseDir` 能不能发:此前消费端只能拿
|
|
7
|
-
* 旁证三合取(本壳 spawn ∧ 无远端 URL ∧ `REMOTE_EXEC` ∈ {空, host})去猜,`-p` / mock 两条车道因此发不出 `baseDir`。
|
|
8
|
-
* 7.86.0 起 server 自己说:`{ provider, toolsOnThisHost }`。
|
|
9
|
-
*
|
|
10
|
-
* ── 🔴 三条契约读法(附录 B.1 逐字)────────────────────────────────────────────────────────
|
|
11
|
-
* ① **键缺席 ≠「不是本机车道」**:老 server(<7.86.0)不报这一位 ⇒ `not_reported`,只能按改前的旁证判。读成 false
|
|
12
|
-
* 会让老 server 上的 host 部署一律欠报 `baseDir`,还渲错车道。
|
|
13
|
-
* ② **蕴含单向,别读成等价**:`toolsOnThisHost:false` ⇒ `baseDir` 恒不发(本位的承诺);`true` 只是**必要条件** ——
|
|
14
|
-
* 扁平形技能与插件来源技能在任何车道上都不带,`baseDir` 一律按 present-iff 读。
|
|
15
|
-
* ③ **只出词,不出内情**:apiUrl / host / serial / 镜像 / 凭据 / `mountPath` 契约上一个字都不上 wire;真出现了也不是
|
|
16
|
-
* 本读面该带出去的东西 ⇒ 多余成员不过境。它也**不是**权限位(`cwdHonored` 才是),不许拿它顶替。
|
|
17
|
-
*
|
|
18
|
-
* ── 四态读数(与 sql / writeProtection / webSearch.backend 三只兄弟同一套词汇)──────────────
|
|
19
|
-
* `unobserved`(本进程一次 caps 都没观测到)/ `not_reported`(观测到了、回体无此键 = 老 server)/ `present`。
|
|
20
|
-
* 本位没有 `none` 档:铸点恒铸对象(`REMOTE_EXEC` 未设折 `"host"`),`null` / 缺座 / 坏形 ⇒ 畸形(删格 ⇒ `unobserved`)。
|
|
21
|
-
*
|
|
22
|
-
* ── 🔴 窄读域只许等于或宽于铸点域 ────────────────────────────────────────────────────────────
|
|
23
|
-
* `provider` 的闭集取型自 server 的 `RemoteExecProvider`(加一条车道那张表自动跟着长)。本包**不**手抄那几个词当判据
|
|
24
|
-
* (抄一份 = 给自己立第二个判官,上游加车道那天把新词判成畸形):按**非空串**读,上屏前按 UNTRUSTED-for-display 消毒封长。
|
|
25
|
-
*/
|
|
26
|
-
/** `present` 时的读数:车道词(开集)+ 文件系统同一性位(严格布尔)。 */
|
|
27
1
|
export interface ExecutionLaneCapabilityView {
|
|
28
2
|
provider: string;
|
|
29
3
|
toolsOnThisHost: boolean;
|
|
30
4
|
}
|
|
31
|
-
/** 四态读数(见文件头)。`unobserved` 由**读口**在这一格空缺时铸,不由投影铸。 */
|
|
32
5
|
export type ExecutionLaneReading = {
|
|
33
6
|
kind: 'unobserved';
|
|
34
7
|
} | {
|
|
@@ -37,33 +10,12 @@ export type ExecutionLaneReading = {
|
|
|
37
10
|
kind: 'present';
|
|
38
11
|
view: ExecutionLaneCapabilityView;
|
|
39
12
|
};
|
|
40
|
-
/**
|
|
41
|
-
* caps 回体 → 本格读数;**畸形一律 `undefined`**(= 这一格不写 ⇒ 读口答 `unobserved`)。
|
|
42
|
-
* 键不在 / `undefined` ⇒ `not_reported`(老 server);`null` / 数组 / 非对象 / 缺任一座 / 座坏形 ⇒ 畸形。
|
|
43
|
-
*/
|
|
44
13
|
export declare function projectExecutionLaneCapability(caps: unknown): ExecutionLaneReading | undefined;
|
|
45
|
-
/**
|
|
46
|
-
* 宿主 caps probe 的**读面 tee** 落点(与三只兄弟并列;宿主在同一处按序调)。绝不 throw。
|
|
47
|
-
* 投影 `undefined`(畸形)⇒ 这一格**被删**而不是留着上一台引擎的旧值;`opts.generation` 关掉「旧探测覆盖新读数」竞态。
|
|
48
|
-
*/
|
|
49
14
|
export declare function noteEngineCapsForExecutionLane(baseUrl: string, caps: unknown, opts?: {
|
|
50
15
|
generation?: number;
|
|
51
16
|
}): void;
|
|
52
|
-
/** 本进程观测到的执行车道;这一格空缺 ⇒ `{kind:'unobserved'}`(**绝不**编一条车道)。 */
|
|
53
17
|
export declare function observedExecutionLane(baseUrl?: string | undefined): ExecutionLaneReading;
|
|
54
|
-
/**
|
|
55
|
-
* 「工具是否跑在本机」的**判据单源**(此前三端各拼旁证三合取):读到位就用位 —— `true` 是发 `baseDir` 的必要条件、
|
|
56
|
-
* `false` 是「恒不发」的承诺;读不到(`not_reported` / `unobserved`)⇒ **原样**用调用方的旁证,绝不折 false
|
|
57
|
-
* (契约 🔴:老 server 上只能按改前的办法判)。
|
|
58
|
-
*/
|
|
59
18
|
export declare function toolsRunHereFromExecutionLane(reading: ExecutionLaneReading, legacyInference: boolean): boolean;
|
|
60
|
-
/**
|
|
61
|
-
* 三态(+未观测)→ doctor 那一行的 detail 串。**唯一措辞真源**(三端共用;端只拼接不另写)。
|
|
62
|
-
* 🔴 `not_reported` 那一句**不许**暗示「不是本机车道」;`present` 的 false 那一句把「技能 baseDir 不发」说出来
|
|
63
|
-
* (用户看到技能相对路径解析不了时,这就是原因)。
|
|
64
|
-
*/
|
|
65
19
|
export declare function executionLaneDoctorDetail(reading: ExecutionLaneReading): string;
|
|
66
|
-
/** **换代失效口**(由宿主在引擎温切成功后调):清成未观测,不是留旧值。空串 ⇒ no-op;绝不 throw。 */
|
|
67
20
|
export declare function forgetExecutionLaneReading(baseUrl: string | undefined): void;
|
|
68
|
-
/** 测试钩子。 */
|
|
69
21
|
export declare function __resetExecutionLaneReadingsForTests(): void;
|
|
@@ -1,40 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* executionLaneCapability — **本部署的执行车道自述**的三端共用读面(0.72.13;server ≥7.86.0 / S-426 的
|
|
3
|
-
* `GET /v1/capabilities.executionLane`,契约附录 B.1;sdk 9.6.0 的 `Capabilities` 尚未声明该键)。
|
|
4
|
-
*
|
|
5
|
-
* ── 这一格答的是哪一个问题 ────────────────────────────────────────────────────────────────
|
|
6
|
-
* 「工具跑的那台机器就是这台 server 吗」(文件系统同一性)。它决定技能的 `baseDir` 能不能发:此前消费端只能拿
|
|
7
|
-
* 旁证三合取(本壳 spawn ∧ 无远端 URL ∧ `REMOTE_EXEC` ∈ {空, host})去猜,`-p` / mock 两条车道因此发不出 `baseDir`。
|
|
8
|
-
* 7.86.0 起 server 自己说:`{ provider, toolsOnThisHost }`。
|
|
9
|
-
*
|
|
10
|
-
* ── 🔴 三条契约读法(附录 B.1 逐字)────────────────────────────────────────────────────────
|
|
11
|
-
* ① **键缺席 ≠「不是本机车道」**:老 server(<7.86.0)不报这一位 ⇒ `not_reported`,只能按改前的旁证判。读成 false
|
|
12
|
-
* 会让老 server 上的 host 部署一律欠报 `baseDir`,还渲错车道。
|
|
13
|
-
* ② **蕴含单向,别读成等价**:`toolsOnThisHost:false` ⇒ `baseDir` 恒不发(本位的承诺);`true` 只是**必要条件** ——
|
|
14
|
-
* 扁平形技能与插件来源技能在任何车道上都不带,`baseDir` 一律按 present-iff 读。
|
|
15
|
-
* ③ **只出词,不出内情**:apiUrl / host / serial / 镜像 / 凭据 / `mountPath` 契约上一个字都不上 wire;真出现了也不是
|
|
16
|
-
* 本读面该带出去的东西 ⇒ 多余成员不过境。它也**不是**权限位(`cwdHonored` 才是),不许拿它顶替。
|
|
17
|
-
*
|
|
18
|
-
* ── 四态读数(与 sql / writeProtection / webSearch.backend 三只兄弟同一套词汇)──────────────
|
|
19
|
-
* `unobserved`(本进程一次 caps 都没观测到)/ `not_reported`(观测到了、回体无此键 = 老 server)/ `present`。
|
|
20
|
-
* 本位没有 `none` 档:铸点恒铸对象(`REMOTE_EXEC` 未设折 `"host"`),`null` / 缺座 / 坏形 ⇒ 畸形(删格 ⇒ `unobserved`)。
|
|
21
|
-
*
|
|
22
|
-
* ── 🔴 窄读域只许等于或宽于铸点域 ────────────────────────────────────────────────────────────
|
|
23
|
-
* `provider` 的闭集取型自 server 的 `RemoteExecProvider`(加一条车道那张表自动跟着长)。本包**不**手抄那几个词当判据
|
|
24
|
-
* (抄一份 = 给自己立第二个判官,上游加车道那天把新词判成畸形):按**非空串**读,上屏前按 UNTRUSTED-for-display 消毒封长。
|
|
25
|
-
*/
|
|
26
1
|
import { capForDisplay } from './fleetTaskDesc.js';
|
|
27
2
|
import { engineWireTarget } from './engineWireTarget.js';
|
|
28
3
|
import { createEngineCapReader } from './engineCapReader.js';
|
|
29
|
-
/**
|
|
30
|
-
* caps 回体 → 本格读数;**畸形一律 `undefined`**(= 这一格不写 ⇒ 读口答 `unobserved`)。
|
|
31
|
-
* 键不在 / `undefined` ⇒ `not_reported`(老 server);`null` / 数组 / 非对象 / 缺任一座 / 座坏形 ⇒ 畸形。
|
|
32
|
-
*/
|
|
33
4
|
export function projectExecutionLaneCapability(caps) {
|
|
34
5
|
if (caps === null || typeof caps !== 'object')
|
|
35
6
|
return undefined;
|
|
36
|
-
// 0.77.0 整族改齐:① 非对象 / 数组 caps 不是能力表 ⇒ 畸形(投影答 undefined ⇒ 删格 ⇒ 读口答 unobserved),不再答 not_reported
|
|
37
|
-
// (那是把「取不到」冒充「报了但没提」);② 在场判据改 hasOwn —— 原型链上的同名键永远不会被序列化上 wire,读成在场 = 凭空造一格。
|
|
38
7
|
if (caps === null || typeof caps !== 'object' || Array.isArray(caps))
|
|
39
8
|
return undefined;
|
|
40
9
|
if (!Object.hasOwn(caps, 'executionLane'))
|
|
@@ -52,44 +21,23 @@ export function projectExecutionLaneCapability(caps) {
|
|
|
52
21
|
return undefined;
|
|
53
22
|
return { kind: 'present', view: { provider, toolsOnThisHost } };
|
|
54
23
|
}
|
|
55
|
-
/**
|
|
56
|
-
* 本格的 per-baseUrl 读账 + tee / 读口 / 失效口 / 测试钩四口 —— 各只能力位读器**共用同一份实现**
|
|
57
|
-
* ({@link createEngineCapReader});本文件只留这一格真正不同的部分:投影函数 {@link projectExecutionLaneCapability}、doctor 措辞表,以及本位自己的判据助手(如有)。
|
|
58
|
-
* 🔴 Map 在工厂闭包里,**一只读器一张**:收到读不懂的回体只删自己这一格,绝不连坐别的能力面。
|
|
59
|
-
*/
|
|
60
24
|
const reader = createEngineCapReader({
|
|
61
25
|
name: 'executionLane',
|
|
62
26
|
project: projectExecutionLaneCapability,
|
|
63
27
|
makeUnobserved: () => ({ kind: 'unobserved' }),
|
|
64
28
|
});
|
|
65
|
-
/**
|
|
66
|
-
* 宿主 caps probe 的**读面 tee** 落点(与三只兄弟并列;宿主在同一处按序调)。绝不 throw。
|
|
67
|
-
* 投影 `undefined`(畸形)⇒ 这一格**被删**而不是留着上一台引擎的旧值;`opts.generation` 关掉「旧探测覆盖新读数」竞态。
|
|
68
|
-
*/
|
|
69
29
|
export function noteEngineCapsForExecutionLane(baseUrl, caps, opts) {
|
|
70
30
|
reader.note(baseUrl, caps, opts);
|
|
71
31
|
}
|
|
72
|
-
/** 本进程观测到的执行车道;这一格空缺 ⇒ `{kind:'unobserved'}`(**绝不**编一条车道)。 */
|
|
73
32
|
export function observedExecutionLane(baseUrl = engineWireTarget()?.baseUrl) {
|
|
74
33
|
return reader.observed(baseUrl);
|
|
75
34
|
}
|
|
76
|
-
/**
|
|
77
|
-
* 「工具是否跑在本机」的**判据单源**(此前三端各拼旁证三合取):读到位就用位 —— `true` 是发 `baseDir` 的必要条件、
|
|
78
|
-
* `false` 是「恒不发」的承诺;读不到(`not_reported` / `unobserved`)⇒ **原样**用调用方的旁证,绝不折 false
|
|
79
|
-
* (契约 🔴:老 server 上只能按改前的办法判)。
|
|
80
|
-
*/
|
|
81
35
|
export function toolsRunHereFromExecutionLane(reading, legacyInference) {
|
|
82
36
|
if (reading.kind === 'present')
|
|
83
37
|
return reading.view.toolsOnThisHost;
|
|
84
38
|
return legacyInference;
|
|
85
39
|
}
|
|
86
|
-
/** 车道词的展示上限(UTF-16 单元;与三只兄弟同值同理由)。 */
|
|
87
40
|
const LANE_DETAIL_MAX = 40;
|
|
88
|
-
/**
|
|
89
|
-
* 三态(+未观测)→ doctor 那一行的 detail 串。**唯一措辞真源**(三端共用;端只拼接不另写)。
|
|
90
|
-
* 🔴 `not_reported` 那一句**不许**暗示「不是本机车道」;`present` 的 false 那一句把「技能 baseDir 不发」说出来
|
|
91
|
-
* (用户看到技能相对路径解析不了时,这就是原因)。
|
|
92
|
-
*/
|
|
93
41
|
export function executionLaneDoctorDetail(reading) {
|
|
94
42
|
switch (reading.kind) {
|
|
95
43
|
case 'unobserved':
|
|
@@ -107,11 +55,9 @@ export function executionLaneDoctorDetail(reading) {
|
|
|
107
55
|
}
|
|
108
56
|
}
|
|
109
57
|
}
|
|
110
|
-
/** **换代失效口**(由宿主在引擎温切成功后调):清成未观测,不是留旧值。空串 ⇒ no-op;绝不 throw。 */
|
|
111
58
|
export function forgetExecutionLaneReading(baseUrl) {
|
|
112
59
|
reader.forget(baseUrl);
|
|
113
60
|
}
|
|
114
|
-
/** 测试钩子。 */
|
|
115
61
|
export function __resetExecutionLaneReadingsForTests() {
|
|
116
62
|
reader.__resetForTests();
|
|
117
63
|
}
|
|
@@ -1,80 +1,13 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* src/sema/finalVerifyWire.ts — headless `-p` finalVerification wire(TB2.0 反馈批 A · P1-1 建,
|
|
3
|
-
* 2026-07-15 DEFAULT ON;**clay 裁定 2026-08-04 翻面 DEFAULT OFF**,[2561]→[2562]/[2563] 案)。
|
|
4
|
-
*
|
|
5
|
-
* 为什么默认关(裁定理由,按案情留档):机制是 TB 应试期为「模型自吹已完成」建的遗产;core 面
|
|
6
|
-
* 本就 opt-in([2562]:默认开是本消费层的选择,消费层持有重估义务);实锤=git-multibranch 一题
|
|
7
|
-
* 已构建出会通过验收的正确终态,终验注入后模型用自造哨兵串把正确产出覆盖坏(reward 1→0),注入
|
|
8
|
-
* 文案的两条护栏无代码强制力。配套的时间预算感知已被 design/164 拆除——**时间失明是设计内**,
|
|
9
|
-
* clay 同案否决了 core 的两个补偿选项(walltime 回 approach-notice / 注入带预算快照),不接。
|
|
10
|
-
* 引擎能力保留(core stop-gate 机制原样),要终验的场景显式开。
|
|
11
|
-
*
|
|
12
|
-
* PRECEDENCE(off 优先;显式 on 才可能 stamp;否则默认 false):
|
|
13
|
-
* a) `--no-final-verify` flag → off(显式关,恒赢)。
|
|
14
|
-
* b) `SEMA_HEADLESS_FINAL_VERIFY` env OFF 拼写(envFlagOff,REF-CC-141 dup-02 单源)→ off。
|
|
15
|
-
* c) 显式 on:`--final-verify` flag / env ON 拼写(envFlagOn)——此时若用户配置了 Stop hook
|
|
16
|
-
* (settings hooks.Stop,经 hooksForWire 投影)仍**让位**(#106 裁 B:引擎 finalVerification
|
|
17
|
-
* 分支在 Stop hook 查询之前 return(runtask.js:1430-1443),开着会把用户 Stop hook 延迟至多
|
|
18
|
-
* 2 turn)+ stderr 告知;无 Stop hook → on。
|
|
19
|
-
* d) 都没有 → false(默认关,静默,无告知——没开过的
|
|
20
|
-
* 东西无从让位,让位告知仅在显式 on 被 Stop hook 压下时出现)。
|
|
21
|
-
*
|
|
22
|
-
* LIVE-GATE:与 scenarioWire 同款——调用点(seamQueryEngine.ask)以 SEMA_LIVE_BASEURL 为门,
|
|
23
|
-
* mock/pty fixture 车道永不 stamp 该字段(离线投影字节等价)。
|
|
24
|
-
*
|
|
25
|
-
* 语义澄清(分诊报告):finalVerification 是同会话 stop-gate 追加,不是独立上下文 verifier;
|
|
26
|
-
* 纯读任务(wroteThisRun gate)与 structured-output 任务被 core 自身豁免,回归面天然收窄。
|
|
27
|
-
*/
|
|
28
1
|
import type { SemaSettings } from '@sema-agent/sdk';
|
|
29
2
|
import { type EnvLike } from './hostEnv.js';
|
|
30
|
-
/**
|
|
31
|
-
* B5:`hooksWireCaps` 的宿主耦合半场(settings 三层合并 + trust 门)还没搬,但这个**纯类型**
|
|
32
|
-
* 先落本包 —— 它就是 SDK 的 `settings.hooks`,与 hooksWireCaps 无耦合。
|
|
33
|
-
* 🔴 hooksWireCaps 后续进包时 **import 本条**,别再定义第二份(两份类型 = 漂移温床)。
|
|
34
|
-
*/
|
|
35
3
|
export type WireHooksConfig = NonNullable<SemaSettings['hooks']>;
|
|
36
|
-
/** Settings-lane env knob(settings.json `env` 块 → 1a-envseed → process.env)。'false'/'0' = off。 */
|
|
37
4
|
export declare const HEADLESS_FINAL_VERIFY_ENV = "SEMA_HEADLESS_FINAL_VERIFY";
|
|
38
|
-
/**
|
|
39
|
-
* Parse `--no-final-verify` out of an argv slice(everything before a bare `--` — positionals are
|
|
40
|
-
* never flags,scenarioWire 同款纪律)。Boolean flag,无值形态,重复无害。
|
|
41
|
-
*/
|
|
42
5
|
export declare function parseNoFinalVerifyArgv(argv: string[]): boolean;
|
|
43
|
-
/**
|
|
44
|
-
* The settings-lane off-switch:`SEMA_HEADLESS_FINAL_VERIFY` 设成 {@link envFlagOff} 拼写集
|
|
45
|
-
* (REF-CC-141 dup-02 单源:`0`/`false`/`no`/`off`/`none`,大小写不敏感)disables the stamp。
|
|
46
|
-
* 其它任何值(含空串/'true'/typo)= 默认态 on——fail-soft:一个 settings typo 只会落回默认开,
|
|
47
|
-
* 绝不 brick 任何 run(scenarioWire 的 settings-lane 纪律)。
|
|
48
|
-
*
|
|
49
|
-
* 🔴 [2393] sweep-F12(2026-08-03 全窗复审)**承诺范围如实**(与 detachWire 同形):上面这句是在
|
|
50
|
-
* off 集只有 `{false,0}` 的时代写的;REF-CC-141 扩到五词之后,`no`/`off`/`none` 三个拼写**已经**
|
|
51
|
-
* 会真的关掉这一 stamp,不再落回「默认开」。「typo 只会落回默认开」现在指的是
|
|
52
|
-
* `{false,0,no,off,none}` **之外**的拼写。
|
|
53
|
-
*/
|
|
54
6
|
export declare function headlessFinalVerifyDisabledByEnv(env?: EnvLike): boolean;
|
|
55
|
-
/**
|
|
56
|
-
* 用户 Stop hook 在场判定:hooksForWire() 投影(policy→user→project→local 合并、trust/managed 门后)
|
|
57
|
-
* 里 `Stop` 事件带 ≥1 个 matcher 组即认定。判定输入用 wire 投影而非裸 settings——被 trust/
|
|
58
|
-
* disableAllHooks 门掉的 Stop hook 引擎侧同样不会 fire,不构成让位理由。
|
|
59
|
-
*/
|
|
60
7
|
export declare function hasUserStopHook(wireHooks: WireHooksConfig | undefined): boolean;
|
|
61
|
-
/**
|
|
62
|
-
* Resolve the finalVerification stamp for a headless `-p` submit:**默认 false**(clay 裁定
|
|
63
|
-
* 2026-08-04,头注案情);仅显式 `--final-verify` / env ON 拼写才可能 on,且 Stop hook 仍让位。
|
|
64
|
-
* 调用点必须 live-gate(SEMA_LIVE_BASEURL)——mock/offline 形状不变。
|
|
65
|
-
*/
|
|
66
8
|
export declare function resolveHeadlessFinalVerify(argv: string[], env?: EnvLike, wireHooks?: WireHooksConfig): boolean;
|
|
67
|
-
/**
|
|
68
|
-
* #106 裁 B(clay 2026-07-26)让位+告知维持,但默认臂已按 2026-08-04 裁定翻转(头注案情):
|
|
69
|
-
* 默认 off 且**无 offReason**(静默——没开过的东西无从让位,告知只在显式 on 被 Stop hook
|
|
70
|
-
* 压下时出现);flag/env 显式关同样不聒噪。detail 形不动(offReason 词表原样)。
|
|
71
|
-
*/
|
|
72
9
|
export declare function resolveHeadlessFinalVerifyDetail(argv: string[], env?: EnvLike, wireHooks?: WireHooksConfig): {
|
|
73
10
|
on: boolean;
|
|
74
11
|
offReason?: 'flag' | 'env' | 'stop-hook';
|
|
75
12
|
};
|
|
76
|
-
/**
|
|
77
|
-
* stop-hook 让位的告知文案(单一措辞源;stderr 一行)。措辞纪律与 hook_notice 同族:
|
|
78
|
-
* 「让位/接管」向,绝不写「守卫失效」向 —— 后者会让用户以为链路坏了。
|
|
79
|
-
*/
|
|
80
13
|
export declare const FINAL_VERIFY_YIELD_NOTICE = "final verification is off for this run \u2014 a Stop hook is active and takes over end-of-turn gating (it would otherwise be delayed by up to 2 turns)";
|
package/dist/finalVerifyWire.js
CHANGED
|
@@ -1,70 +1,34 @@
|
|
|
1
1
|
import { hostEnv } from './hostEnv.js';
|
|
2
2
|
import { envFlagOff, envFlagOn } from './envFlag.js';
|
|
3
|
-
/** Settings-lane env knob(settings.json `env` 块 → 1a-envseed → process.env)。'false'/'0' = off。 */
|
|
4
3
|
export const HEADLESS_FINAL_VERIFY_ENV = 'SEMA_HEADLESS_FINAL_VERIFY';
|
|
5
|
-
/**
|
|
6
|
-
* Parse `--no-final-verify` out of an argv slice(everything before a bare `--` — positionals are
|
|
7
|
-
* never flags,scenarioWire 同款纪律)。Boolean flag,无值形态,重复无害。
|
|
8
|
-
*/
|
|
9
4
|
export function parseNoFinalVerifyArgv(argv) {
|
|
10
5
|
for (const a of argv) {
|
|
11
6
|
if (a === '--')
|
|
12
|
-
break;
|
|
7
|
+
break;
|
|
13
8
|
if (a === '--no-final-verify')
|
|
14
9
|
return true;
|
|
15
10
|
}
|
|
16
11
|
return false;
|
|
17
12
|
}
|
|
18
|
-
/**
|
|
19
|
-
* Parse the explicit opt-in `--final-verify` out of an argv slice(同 `--no-final-verify` 的扫描
|
|
20
|
-
* 纪律:bare `--` 后是 positionals)。默认关时代的唯一 flag 开口;`--no-final-verify` 恒赢它
|
|
21
|
-
* (off 优先纪律)。壳侧 commander 需在 0.17.x 提货时注册本 flag(提货单点名)。
|
|
22
|
-
*/
|
|
23
13
|
function parseFinalVerifyArgv(argv) {
|
|
24
14
|
for (const a of argv) {
|
|
25
15
|
if (a === '--')
|
|
26
|
-
break;
|
|
16
|
+
break;
|
|
27
17
|
if (a === '--final-verify')
|
|
28
18
|
return true;
|
|
29
19
|
}
|
|
30
20
|
return false;
|
|
31
21
|
}
|
|
32
|
-
/**
|
|
33
|
-
* The settings-lane off-switch:`SEMA_HEADLESS_FINAL_VERIFY` 设成 {@link envFlagOff} 拼写集
|
|
34
|
-
* (REF-CC-141 dup-02 单源:`0`/`false`/`no`/`off`/`none`,大小写不敏感)disables the stamp。
|
|
35
|
-
* 其它任何值(含空串/'true'/typo)= 默认态 on——fail-soft:一个 settings typo 只会落回默认开,
|
|
36
|
-
* 绝不 brick 任何 run(scenarioWire 的 settings-lane 纪律)。
|
|
37
|
-
*
|
|
38
|
-
* 🔴 [2393] sweep-F12(2026-08-03 全窗复审)**承诺范围如实**(与 detachWire 同形):上面这句是在
|
|
39
|
-
* off 集只有 `{false,0}` 的时代写的;REF-CC-141 扩到五词之后,`no`/`off`/`none` 三个拼写**已经**
|
|
40
|
-
* 会真的关掉这一 stamp,不再落回「默认开」。「typo 只会落回默认开」现在指的是
|
|
41
|
-
* `{false,0,no,off,none}` **之外**的拼写。
|
|
42
|
-
*/
|
|
43
22
|
export function headlessFinalVerifyDisabledByEnv(env = hostEnv()) {
|
|
44
23
|
return envFlagOff(env[HEADLESS_FINAL_VERIFY_ENV]);
|
|
45
24
|
}
|
|
46
|
-
/**
|
|
47
|
-
* 用户 Stop hook 在场判定:hooksForWire() 投影(policy→user→project→local 合并、trust/managed 门后)
|
|
48
|
-
* 里 `Stop` 事件带 ≥1 个 matcher 组即认定。判定输入用 wire 投影而非裸 settings——被 trust/
|
|
49
|
-
* disableAllHooks 门掉的 Stop hook 引擎侧同样不会 fire,不构成让位理由。
|
|
50
|
-
*/
|
|
51
25
|
export function hasUserStopHook(wireHooks) {
|
|
52
26
|
const groups = wireHooks?.['Stop'];
|
|
53
27
|
return Array.isArray(groups) && groups.length > 0;
|
|
54
28
|
}
|
|
55
|
-
/**
|
|
56
|
-
* Resolve the finalVerification stamp for a headless `-p` submit:**默认 false**(clay 裁定
|
|
57
|
-
* 2026-08-04,头注案情);仅显式 `--final-verify` / env ON 拼写才可能 on,且 Stop hook 仍让位。
|
|
58
|
-
* 调用点必须 live-gate(SEMA_LIVE_BASEURL)——mock/offline 形状不变。
|
|
59
|
-
*/
|
|
60
29
|
export function resolveHeadlessFinalVerify(argv, env = hostEnv(), wireHooks) {
|
|
61
30
|
return resolveHeadlessFinalVerifyDetail(argv, env, wireHooks).on;
|
|
62
31
|
}
|
|
63
|
-
/**
|
|
64
|
-
* #106 裁 B(clay 2026-07-26)让位+告知维持,但默认臂已按 2026-08-04 裁定翻转(头注案情):
|
|
65
|
-
* 默认 off 且**无 offReason**(静默——没开过的东西无从让位,告知只在显式 on 被 Stop hook
|
|
66
|
-
* 压下时出现);flag/env 显式关同样不聒噪。detail 形不动(offReason 词表原样)。
|
|
67
|
-
*/
|
|
68
32
|
export function resolveHeadlessFinalVerifyDetail(argv, env = hostEnv(), wireHooks) {
|
|
69
33
|
if (parseNoFinalVerifyArgv(argv))
|
|
70
34
|
return { on: false, offReason: 'flag' };
|
|
@@ -76,10 +40,6 @@ export function resolveHeadlessFinalVerifyDetail(argv, env = hostEnv(), wireHook
|
|
|
76
40
|
return { on: false, offReason: 'stop-hook' };
|
|
77
41
|
return { on: true };
|
|
78
42
|
}
|
|
79
|
-
return { on: false };
|
|
43
|
+
return { on: false };
|
|
80
44
|
}
|
|
81
|
-
/**
|
|
82
|
-
* stop-hook 让位的告知文案(单一措辞源;stderr 一行)。措辞纪律与 hook_notice 同族:
|
|
83
|
-
* 「让位/接管」向,绝不写「守卫失效」向 —— 后者会让用户以为链路坏了。
|
|
84
|
-
*/
|
|
85
45
|
export const FINAL_VERIFY_YIELD_NOTICE = 'final verification is off for this run — a Stop hook is active and takes over end-of-turn gating (it would otherwise be delayed by up to 2 turns)';
|