@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.
Files changed (382) hide show
  1. package/CHANGELOG.md +23 -1
  2. package/README.md +5 -4
  3. package/dist/abortableSleep.d.ts +0 -28
  4. package/dist/abortableSleep.js +0 -28
  5. package/dist/adapt/arms.d.ts +0 -46
  6. package/dist/adapt/arms.js +9 -544
  7. package/dist/adapt/ids.d.ts +0 -58
  8. package/dist/adapt/ids.js +0 -63
  9. package/dist/adapt/instanceLedger.d.ts +0 -25
  10. package/dist/adapt/instanceLedger.js +0 -20
  11. package/dist/adapt/panelTasks.d.ts +0 -69
  12. package/dist/adapt/panelTasks.js +0 -95
  13. package/dist/adapt/textSegmentAuthority.d.ts +1 -137
  14. package/dist/adapt/textSegmentAuthority.js +0 -54
  15. package/dist/adapt/textStream.d.ts +0 -252
  16. package/dist/adapt/textStream.js +2 -281
  17. package/dist/adapt/toolCards.d.ts +0 -46
  18. package/dist/adapt/toolCards.js +0 -23
  19. package/dist/adapt/turnFlags.d.ts +0 -54
  20. package/dist/adapt/turnFlags.js +1 -17
  21. package/dist/adapt/wireShapes.d.ts +0 -92
  22. package/dist/adapt/wireShapes.js +0 -83
  23. package/dist/adapt.d.ts +0 -55
  24. package/dist/adapt.js +1 -120
  25. package/dist/adapter/activeRunSelfHeal.d.ts +22 -515
  26. package/dist/adapter/activeRunSelfHeal.js +10 -625
  27. package/dist/adapter/downstream/eventToSdkMessage.d.ts +2 -305
  28. package/dist/adapter/downstream/eventToSdkMessage.js +2 -867
  29. package/dist/adapter/downstream/terminalToSdkResult.d.ts +2 -314
  30. package/dist/adapter/downstream/terminalToSdkResult.js +13 -560
  31. package/dist/adapter/downstream/turnUsageToModelUsage.d.ts +0 -95
  32. package/dist/adapter/downstream/turnUsageToModelUsage.js +2 -31
  33. package/dist/adapter/runStream.d.ts +0 -206
  34. package/dist/adapter/runStream.js +6 -596
  35. package/dist/adapter/types.d.ts +0 -111
  36. package/dist/adapter/types.js +0 -29
  37. package/dist/agentSession/backgroundView.d.ts +0 -106
  38. package/dist/agentSession/backgroundView.js +3 -49
  39. package/dist/agentSession/contract.d.ts +0 -98
  40. package/dist/agentSession/contract.js +0 -12
  41. package/dist/agentsWireCaps.d.ts +0 -72
  42. package/dist/agentsWireCaps.js +4 -72
  43. package/dist/approvalsStreamLiveCapability.d.ts +0 -25
  44. package/dist/approvalsStreamLiveCapability.js +0 -31
  45. package/dist/argvFlagValue.d.ts +0 -33
  46. package/dist/argvFlagValue.js +3 -35
  47. package/dist/attachmentsWireCaps.d.ts +0 -127
  48. package/dist/attachmentsWireCaps.js +0 -144
  49. package/dist/autoModeUnavailable.d.ts +0 -120
  50. package/dist/autoModeUnavailable.js +0 -144
  51. package/dist/classifierStatus.d.ts +0 -72
  52. package/dist/classifierStatus.js +0 -167
  53. package/dist/classifierVerdictWire.d.ts +0 -54
  54. package/dist/classifierVerdictWire.js +0 -133
  55. package/dist/clientContextWireCaps.d.ts +0 -37
  56. package/dist/clientContextWireCaps.js +0 -36
  57. package/dist/clientSlice.d.ts +0 -63
  58. package/dist/clientSlice.js +0 -45
  59. package/dist/cloudConfigWireCaps.d.ts +0 -86
  60. package/dist/cloudConfigWireCaps.js +2 -65
  61. package/dist/compensations.d.ts +0 -52
  62. package/dist/compensations.js +2 -63
  63. package/dist/controlRouter.d.ts +2 -208
  64. package/dist/controlRouter.js +1 -129
  65. package/dist/coreValuePorts.d.ts +0 -84
  66. package/dist/coreValuePorts.js +0 -29
  67. package/dist/decideReceipt.d.ts +0 -110
  68. package/dist/decideReceipt.js +0 -84
  69. package/dist/detachWire.d.ts +0 -130
  70. package/dist/detachWire.js +1 -130
  71. package/dist/deviceExecutorManagementCapability.d.ts +2 -35
  72. package/dist/deviceExecutorManagementCapability.js +1 -37
  73. package/dist/diagnostics.d.ts +0 -8
  74. package/dist/diagnostics.js +0 -8
  75. package/dist/diff/patch.d.ts +0 -17
  76. package/dist/diff/patch.js +0 -19
  77. package/dist/effectiveFacts.d.ts +0 -40
  78. package/dist/effectiveFacts.js +0 -22
  79. package/dist/effortWire.d.ts +0 -11
  80. package/dist/effortWire.js +0 -12
  81. package/dist/engineAgentPanelStore.d.ts +0 -169
  82. package/dist/engineAgentPanelStore.js +13 -293
  83. package/dist/engineCapReader.d.ts +0 -62
  84. package/dist/engineCapReader.js +1 -43
  85. package/dist/engineCapsCache.d.ts +0 -177
  86. package/dist/engineCapsCache.js +0 -199
  87. package/dist/engineCapsGenerationGuard.d.ts +0 -2
  88. package/dist/engineCapsGenerationGuard.js +0 -11
  89. package/dist/engineErrorCodes.d.ts +1 -316
  90. package/dist/engineErrorCodes.js +0 -427
  91. package/dist/engineHttpTools.d.ts +0 -29
  92. package/dist/engineHttpTools.js +0 -29
  93. package/dist/engineIdentity.d.ts +0 -83
  94. package/dist/engineIdentity.js +0 -88
  95. package/dist/engineInlineTaskStats.d.ts +0 -57
  96. package/dist/engineInlineTaskStats.js +1 -42
  97. package/dist/engineNoticeCodes.d.ts +0 -190
  98. package/dist/engineNoticeCodes.js +0 -182
  99. package/dist/engineSessionParam.d.ts +0 -30
  100. package/dist/engineSessionParam.js +0 -52
  101. package/dist/engineToolLabelStore.d.ts +0 -29
  102. package/dist/engineToolLabelStore.js +0 -31
  103. package/dist/engineWireSdk.d.ts +0 -90
  104. package/dist/engineWireSdk.js +0 -74
  105. package/dist/engineWireTarget.d.ts +0 -14
  106. package/dist/engineWireTarget.js +0 -39
  107. package/dist/env/localeGeo.d.ts +0 -12
  108. package/dist/env/localeGeo.js +2 -77
  109. package/dist/env/localeTag.d.ts +0 -34
  110. package/dist/env/localeTag.js +0 -32
  111. package/dist/env/uiLanguage.d.ts +0 -13
  112. package/dist/env/uiLanguage.js +0 -25
  113. package/dist/envFlag.d.ts +0 -37
  114. package/dist/envFlag.js +0 -40
  115. package/dist/executionLaneCapability.d.ts +0 -48
  116. package/dist/executionLaneCapability.js +0 -54
  117. package/dist/finalVerifyWire.d.ts +0 -67
  118. package/dist/finalVerifyWire.js +3 -43
  119. package/dist/fleet/fleetLedger.d.ts +0 -308
  120. package/dist/fleet/fleetLedger.js +10 -429
  121. package/dist/fleet/fleetProjection.d.ts +0 -240
  122. package/dist/fleet/fleetProjection.js +0 -189
  123. package/dist/fleet/fleetRowAgentType.d.ts +0 -6
  124. package/dist/fleet/fleetRowAgentType.js +1 -32
  125. package/dist/fleet/workflowSizeWarning.d.ts +0 -47
  126. package/dist/fleet/workflowSizeWarning.js +1 -46
  127. package/dist/fleetAgentPanelProjection.d.ts +0 -48
  128. package/dist/fleetAgentPanelProjection.js +8 -173
  129. package/dist/fleetTaskDesc.d.ts +0 -39
  130. package/dist/fleetTaskDesc.js +0 -69
  131. package/dist/forkWireCaps.d.ts +0 -23
  132. package/dist/forkWireCaps.js +1 -24
  133. package/dist/gateOutcome.d.ts +0 -140
  134. package/dist/gateOutcome.js +0 -85
  135. package/dist/gateVocabulary.d.ts +0 -114
  136. package/dist/gateVocabulary.js +1 -161
  137. package/dist/goalStopHook.d.ts +0 -127
  138. package/dist/goalStopHook.js +0 -178
  139. package/dist/headlessPermissionModeWire.d.ts +0 -76
  140. package/dist/headlessPermissionModeWire.js +1 -155
  141. package/dist/headlessReconnectWire.d.ts +0 -84
  142. package/dist/headlessReconnectWire.js +13 -67
  143. package/dist/hitl/approvalDecisionNoteAudit.d.ts +0 -49
  144. package/dist/hitl/approvalDecisionNoteAudit.js +0 -56
  145. package/dist/hitl/approvalOutcomeNote.d.ts +0 -2
  146. package/dist/hitl/approvalOutcomeNote.js +0 -20
  147. package/dist/hitl/approvalResolution.d.ts +0 -113
  148. package/dist/hitl/approvalResolution.js +0 -66
  149. package/dist/hitl/approvalsFeed.d.ts +0 -183
  150. package/dist/hitl/approvalsFeed.js +12 -243
  151. package/dist/hitl/armedGateRegistry.d.ts +0 -55
  152. package/dist/hitl/armedGateRegistry.js +0 -146
  153. package/dist/hitl/askGateWire.d.ts +0 -86
  154. package/dist/hitl/askGateWire.js +1 -95
  155. package/dist/hitl/askParkRowRouting.d.ts +0 -123
  156. package/dist/hitl/askParkRowRouting.js +1 -89
  157. package/dist/hitl/crashConverged.d.ts +0 -148
  158. package/dist/hitl/crashConverged.js +0 -214
  159. package/dist/hitl/editedRuleTextPrecheck.d.ts +0 -109
  160. package/dist/hitl/editedRuleTextPrecheck.js +0 -71
  161. package/dist/hitl/frameRouter.d.ts +0 -134
  162. package/dist/hitl/frameRouter.js +6 -378
  163. package/dist/hitl/gateIdentity.d.ts +0 -39
  164. package/dist/hitl/gateIdentity.js +0 -41
  165. package/dist/hitl/gateLedger.d.ts +0 -267
  166. package/dist/hitl/gateLedger.js +0 -121
  167. package/dist/hitl/hitlBridge.d.ts +7 -431
  168. package/dist/hitl/hitlBridge.js +7 -476
  169. package/dist/hitl/hitlHostSurface.d.ts +0 -150
  170. package/dist/hitl/hitlHostSurface.js +0 -169
  171. package/dist/hitl/livePendingAsk.d.ts +0 -91
  172. package/dist/hitl/livePendingAsk.js +0 -74
  173. package/dist/hitl/localAllowRule.d.ts +0 -62
  174. package/dist/hitl/localAllowRule.js +1 -33
  175. package/dist/hitl/parkOwnership.d.ts +0 -56
  176. package/dist/hitl/parkOwnership.js +0 -22
  177. package/dist/hitl/parkResolver.d.ts +3 -88
  178. package/dist/hitl/parkResolver.js +8 -349
  179. package/dist/hitl/parkRowBirthWait.d.ts +2 -26
  180. package/dist/hitl/parkRowBirthWait.js +3 -93
  181. package/dist/hitl/persistedRulesWire.d.ts +13 -358
  182. package/dist/hitl/persistedRulesWire.js +0 -310
  183. package/dist/hitl/planReviewWire.d.ts +4 -176
  184. package/dist/hitl/planReviewWire.js +9 -312
  185. package/dist/hitl/resumeRunningCard.d.ts +0 -105
  186. package/dist/hitl/resumeRunningCard.js +0 -105
  187. package/dist/hitl/sessionPolicyWire.d.ts +11 -191
  188. package/dist/hitl/sessionPolicyWire.js +0 -149
  189. package/dist/hitl/suspendedReopen.d.ts +3 -24
  190. package/dist/hitl/suspendedReopen.js +0 -14
  191. package/dist/hitl/toolApprovalWire.d.ts +5 -1308
  192. package/dist/hitl/toolApprovalWire.js +5 -945
  193. package/dist/hooksWireCaps.d.ts +0 -38
  194. package/dist/hooksWireCaps.js +0 -190
  195. package/dist/host.d.ts +0 -105
  196. package/dist/host.js +0 -33
  197. package/dist/hostEnv.d.ts +0 -14
  198. package/dist/hostEnv.js +0 -13
  199. package/dist/imagesWireCaps.d.ts +0 -21
  200. package/dist/imagesWireCaps.js +0 -22
  201. package/dist/index.d.ts +0 -134
  202. package/dist/index.js +0 -476
  203. package/dist/interactiveHalt.d.ts +5 -153
  204. package/dist/interactiveHalt.js +0 -111
  205. package/dist/interactiveToolsWire.d.ts +0 -62
  206. package/dist/interactiveToolsWire.js +1 -67
  207. package/dist/leaderConflict.d.ts +0 -59
  208. package/dist/leaderConflict.js +0 -48
  209. package/dist/limitsWire.d.ts +0 -125
  210. package/dist/limitsWire.js +2 -120
  211. package/dist/liveInitToolFace.d.ts +0 -77
  212. package/dist/liveInitToolFace.js +1 -109
  213. package/dist/liveModelCatalog.d.ts +0 -52
  214. package/dist/liveModelCatalog.js +0 -48
  215. package/dist/liveQuestionStore.d.ts +0 -87
  216. package/dist/liveQuestionStore.js +1 -56
  217. package/dist/mcpLiveness.d.ts +0 -151
  218. package/dist/mcpLiveness.js +0 -122
  219. package/dist/mcpPanel.d.ts +0 -104
  220. package/dist/mcpPanel.js +0 -49
  221. package/dist/mcpReconnect.d.ts +0 -58
  222. package/dist/mcpReconnect.js +1 -69
  223. package/dist/mcpWireCaps.d.ts +0 -55
  224. package/dist/mcpWireCaps.js +1 -13
  225. package/dist/memoryComplianceCapability.d.ts +3 -57
  226. package/dist/memoryComplianceCapability.js +0 -57
  227. package/dist/memoryEntriesWire.d.ts +6 -198
  228. package/dist/memoryEntriesWire.js +0 -144
  229. package/dist/memoryOriginCapability.d.ts +3 -53
  230. package/dist/memoryOriginCapability.js +0 -50
  231. package/dist/memorySpecWire.d.ts +0 -116
  232. package/dist/memorySpecWire.js +0 -150
  233. package/dist/model/catalog.d.ts +0 -111
  234. package/dist/model/catalog.js +0 -87
  235. package/dist/model/catalogLoader.d.ts +0 -114
  236. package/dist/model/catalogLoader.js +2 -139
  237. package/dist/model/modelSupplyRules.d.ts +1 -55
  238. package/dist/model/modelSupplyRules.js +0 -62
  239. package/dist/model/providerAuth.d.ts +0 -103
  240. package/dist/model/providerAuth.js +2 -38
  241. package/dist/model/providerCatalog.d.ts +0 -45
  242. package/dist/model/providerCatalog.js +0 -37
  243. package/dist/model/providerPresets.d.ts +0 -33
  244. package/dist/model/providerPresets.js +2 -91
  245. package/dist/model/tierVocabulary.d.ts +0 -31
  246. package/dist/model/tierVocabulary.js +0 -27
  247. package/dist/modelBudgetRule.d.ts +0 -39
  248. package/dist/modelBudgetRule.js +0 -39
  249. package/dist/modelCapabilityProbe.d.ts +0 -175
  250. package/dist/modelCapabilityProbe.js +0 -147
  251. package/dist/modelWireCaps.d.ts +0 -13
  252. package/dist/modelWireCaps.js +0 -13
  253. package/dist/notifications.d.ts +0 -233
  254. package/dist/notifications.js +14 -492
  255. package/dist/oneShotWireCaps.d.ts +0 -34
  256. package/dist/oneShotWireCaps.js +0 -35
  257. package/dist/ownKey.d.ts +0 -33
  258. package/dist/ownKey.js +0 -33
  259. package/dist/panelRunningHistory.d.ts +0 -28
  260. package/dist/panelRunningHistory.js +0 -43
  261. package/dist/peerFrames.d.ts +0 -71
  262. package/dist/peerFrames.js +0 -168
  263. package/dist/peerLaneCapability.d.ts +0 -44
  264. package/dist/peerLaneCapability.js +0 -52
  265. package/dist/permissionRuleIssue.d.ts +0 -30
  266. package/dist/permissionRuleIssue.js +0 -78
  267. package/dist/permissionRulesWriteCapability.d.ts +0 -46
  268. package/dist/permissionRulesWriteCapability.js +0 -54
  269. package/dist/permissionWireCaps.d.ts +0 -37
  270. package/dist/permissionWireCaps.js +0 -37
  271. package/dist/postureKnob.d.ts +0 -71
  272. package/dist/postureKnob.js +0 -86
  273. package/dist/principalWire.d.ts +0 -17
  274. package/dist/principalWire.js +0 -17
  275. package/dist/printToolResultFrame.d.ts +0 -100
  276. package/dist/printToolResultFrame.js +0 -33
  277. package/dist/promptProfileWireCaps.d.ts +0 -13
  278. package/dist/promptProfileWireCaps.js +0 -13
  279. package/dist/readFacePosture.d.ts +0 -43
  280. package/dist/readFacePosture.js +0 -46
  281. package/dist/request/printNotification.d.ts +0 -20
  282. package/dist/request/printNotification.js +0 -55
  283. package/dist/request/taskRequest.d.ts +0 -249
  284. package/dist/request/taskRequest.js +10 -496
  285. package/dist/resumeRefusalCopy.d.ts +0 -136
  286. package/dist/resumeRefusalCopy.js +1 -117
  287. package/dist/retainBackgroundWireCaps.d.ts +0 -48
  288. package/dist/retainBackgroundWireCaps.js +0 -48
  289. package/dist/retryStatus.d.ts +2 -221
  290. package/dist/retryStatus.js +0 -107
  291. package/dist/rewindWireCaps.d.ts +0 -27
  292. package/dist/rewindWireCaps.js +0 -24
  293. package/dist/runCancelContext.d.ts +1 -20
  294. package/dist/runCancelContext.js +0 -34
  295. package/dist/runTerminal.d.ts +0 -273
  296. package/dist/runTerminal.js +0 -177
  297. package/dist/sandboxWire.d.ts +0 -38
  298. package/dist/sandboxWire.js +0 -82
  299. package/dist/scenarioWire.d.ts +0 -60
  300. package/dist/scenarioWire.js +0 -68
  301. package/dist/scratchpadWireCaps.d.ts +0 -11
  302. package/dist/scratchpadWireCaps.js +0 -32
  303. package/dist/sdkWireTransit.d.ts +0 -38
  304. package/dist/sdkWireTransit.js +0 -30
  305. package/dist/seam.d.ts +18 -853
  306. package/dist/seam.js +0 -52
  307. package/dist/seatContract.d.ts +0 -555
  308. package/dist/seatContract.js +5 -304
  309. package/dist/selfOrchestrationDenial.d.ts +0 -189
  310. package/dist/selfOrchestrationDenial.js +0 -162
  311. package/dist/selfOrchestrationWireCaps.d.ts +0 -38
  312. package/dist/selfOrchestrationWireCaps.js +0 -38
  313. package/dist/sessionMap.d.ts +0 -60
  314. package/dist/sessionMap.js +0 -37
  315. package/dist/sessionMemoryStatus.d.ts +11 -114
  316. package/dist/sessionMemoryStatus.js +0 -112
  317. package/dist/sessionModelLatch.d.ts +0 -29
  318. package/dist/sessionModelLatch.js +0 -40
  319. package/dist/sessionPolicyCapability.d.ts +3 -53
  320. package/dist/sessionPolicyCapability.js +0 -52
  321. package/dist/sessionSlot.d.ts +0 -26
  322. package/dist/sessionSlot.js +0 -17
  323. package/dist/skillsWireCaps.d.ts +0 -87
  324. package/dist/skillsWireCaps.js +0 -38
  325. package/dist/sqlEngineCapability.d.ts +0 -118
  326. package/dist/sqlEngineCapability.js +0 -134
  327. package/dist/sseIdleTriage.d.ts +0 -79
  328. package/dist/sseIdleTriage.js +1 -80
  329. package/dist/steering.d.ts +0 -54
  330. package/dist/steering.js +0 -63
  331. package/dist/subagent/engineCompactWire.d.ts +0 -34
  332. package/dist/subagent/engineCompactWire.js +4 -134
  333. package/dist/subagent/engineDelegatedPrompt.d.ts +0 -31
  334. package/dist/subagent/engineDelegatedPrompt.js +1 -103
  335. package/dist/subagent/engineRowStopGate.d.ts +0 -20
  336. package/dist/subagent/engineRowStopGate.js +0 -49
  337. package/dist/subagent/engineSubagentOutput.d.ts +0 -7
  338. package/dist/subagent/engineSubagentOutput.js +1 -51
  339. package/dist/subagent/engineSubagentResume.d.ts +2 -279
  340. package/dist/subagent/engineSubagentResume.js +2 -129
  341. package/dist/subagent/engineSubagentSteer.d.ts +0 -26
  342. package/dist/subagent/engineSubagentSteer.js +0 -63
  343. package/dist/subagent/engineSubagentTail.d.ts +0 -38
  344. package/dist/subagent/engineSubagentTail.js +2 -110
  345. package/dist/subagent/engineTaskHandleWire.d.ts +11 -65
  346. package/dist/subagent/engineTaskHandleWire.js +20 -131
  347. package/dist/subagent/subagentOwnerAbsence.d.ts +0 -2
  348. package/dist/subagent/subagentOwnerAbsence.js +0 -25
  349. package/dist/subagentContentStore.d.ts +3 -260
  350. package/dist/subagentContentStore.js +7 -540
  351. package/dist/systemReminderTag.d.ts +0 -49
  352. package/dist/systemReminderTag.js +0 -61
  353. package/dist/toolResult.d.ts +1 -211
  354. package/dist/toolResult.js +1 -358
  355. package/dist/toolRoster.d.ts +0 -140
  356. package/dist/toolRoster.js +0 -66
  357. package/dist/typePins.d.ts +0 -46
  358. package/dist/types/engineState.d.ts +0 -71
  359. package/dist/types/engineState.js +0 -16
  360. package/dist/ultracodeWireCaps.d.ts +0 -75
  361. package/dist/ultracodeWireCaps.js +0 -92
  362. package/dist/unrefTimer.d.ts +0 -27
  363. package/dist/webSearchBackendCapability.d.ts +0 -72
  364. package/dist/webSearchBackendCapability.js +0 -79
  365. package/dist/webSearchWireCaps.d.ts +0 -37
  366. package/dist/webSearchWireCaps.js +0 -34
  367. package/dist/websearch/searchProviderPresets.d.ts +0 -81
  368. package/dist/websearch/searchProviderPresets.js +0 -27
  369. package/dist/wireErrorTriage.d.ts +4 -160
  370. package/dist/wireErrorTriage.js +0 -171
  371. package/dist/wireRefusalCopy.d.ts +0 -28
  372. package/dist/wireRefusalCopy.js +0 -28
  373. package/dist/workflow.d.ts +0 -40
  374. package/dist/workflow.js +0 -52
  375. package/dist/workflowClient.d.ts +0 -122
  376. package/dist/workflowClient.js +8 -360
  377. package/dist/workflowMonitor.d.ts +2 -72
  378. package/dist/workflowMonitor.js +0 -26
  379. package/dist/writeProtectionCapability.d.ts +0 -112
  380. package/dist/writeProtectionCapability.js +0 -109
  381. package/docs/INTEGRATION-CLIENTS.md +62 -1
  382. package/package.json +1 -1
@@ -1,116 +1,21 @@
1
- /**
2
- * ⇄ B3 批搬迁(2026-07-27,多端改造设计稿 §3 B3):cli src/seam/adapter/downstream/turnUsageToModelUsage.ts
3
- * **逐字整搬**(闭包 2 文件)。名字映射是 load-bearing 的,一个字节都别动。
4
- */
5
- /**
6
- * CS-7 §2.7 (08 CS-7 / UC-1): `turn_end.usage` → CC `ModelUsage`, with the
7
- * PINNED, load-bearing name mapping. Micro-USD is the wire unit.
8
- *
9
- * inputTokens → inputTokens
10
- * outputTokens → outputTokens
11
- * cacheReadTokens → cacheReadInputTokens (rename is load-bearing)
12
- * cacheWriteTokens → cacheCreationInputTokens (rename is load-bearing)
13
- * costMicroUsd → costUSD (= costMicroUsd / 1_000_000)
14
- *
15
- * DROPPED (no wire datum): `webSearchRequests`, `contextWindow`,
16
- * `maxOutputTokens` — the missing `contextWindow` denominator is mock-fill from
17
- * a static per-model table (contract 02 §2.7 VERIFY). Defaulted to 0 to satisfy
18
- * the CC `ModelUsage` shape without inventing a number.
19
- * 🔴 0.66.0 / D-2:这三格里的 `webSearchRequests` 现在**开集宽读**(读得出就是真账),读不出时
20
- * 值仍 0 但同行立 `_sema_web_search_requests_absent` —— 「这一格是 0」与「这一格没有账」在
21
- * CC 形上此前不可分。另两格维持 0 且**不立判别位**,理由见 {@link SemaModelUsage} 的该位注释。
22
- *
23
- * core 3.0.0 语义翻转注(2026-08-02,[2318] 提货):wire 的 `inputTokens` 从「含 cache 总量」
24
- * 翻为「归一化未命中分量(cache-MISS)」。本映射**一个字节没动**,但语义上恰好从错变对 ——
25
- * CC `ModelUsage.inputTokens` 的本义就是不含 cache 的 input_tokens(Anthropic API 同义),
26
- * 旧协议下这里灌总量其实是跨层同名不同义病([C7] 家族)。总量(含 cache)自 3.0.0 起走
27
- * `totalInputTokens`,在本文件的 CC 镜像里**没有座位**(CC 形状不承载非 CC 语义,[2295]),
28
- * 消费方要总量请走逐字通道 {@link EngineTurnUsage}(runStream `engineUsage` 键)。
29
- */
30
1
  import type { AgentEvent } from '@sema-agent/sdk';
31
2
  import type { ModelUsage } from '../types.js';
32
- /**
33
- * 引擎 `turn_end.usage` 的**逐字原形**(SDK 3.0.0 六键全必填,含 `totalInputTokens`)。
34
- * [2295] 裁 ②(2026-08-02):sema 自有 usage 通道逐字透传这个对象,不做再策展的子集映射 ——
35
- * 这次断链的根因就是「中间层五键定型丢多余键」。导出类型 = 通道的契约面(runStream 折叠点
36
- * 的 `engineUsage` 键与宿主消费端同用这一个名字)。
37
- */
38
3
  export type EngineTurnUsage = NonNullable<Extract<AgentEvent, {
39
4
  type: 'turn_end';
40
5
  }>['usage']>;
41
6
  type TurnUsage = EngineTurnUsage;
42
- /**
43
- * 引擎侧 usage 的**读形**(wire 名,全可选)—— `toCcModelUsage` 的入参。
44
- * 全可选是有理由的:本形状同时承接三种来源(`turn_end.usage` 六键必填 / `stats.modelUsage`
45
- * 开集 map 里的一行 / 扁平 `TaskStats` 折出来的当前模型行),后两者的键在旧引擎上真的会缺席。
46
- * 缺席语义 = **该量在 wire 上没有**,统一折 0(CC `ModelUsage` 的形状不承载 `null`);
47
- * 非有限值(NaN/Infinity)同样折 0 —— 见 {@link toCcModelUsage} 头注。
48
- */
49
7
  export interface EngineUsageLike {
50
8
  readonly inputTokens?: number | undefined;
51
9
  readonly outputTokens?: number | undefined;
52
10
  readonly cacheReadTokens?: number | undefined;
53
11
  readonly cacheWriteTokens?: number | undefined;
54
12
  readonly costMicroUsd?: number | undefined;
55
- /**
56
- * D-2 / L-192②(0.66.0):CC 同名格的宽读位。今天 wire 上**没有**任何一条腿发它
57
- * (core 的 `TaskStats` / per-model 行都没有这一格)⇒ 恒缺席、镜像上的 `webSearchRequests`
58
- * 恒 0 + 判别位;开集读是为了上游真发那天**照读**而不是继续硬编(退出条件在门里)。
59
- */
60
13
  readonly webSearchRequests?: number | undefined;
61
14
  }
62
- /**
63
- * B-073 ②(0.65.0)—— CC `ModelUsage` 的 sema 超集形:多一个**成本缺席判别位**。
64
- *
65
- * 🔴 **为什么这一位必须长在 CC 镜像上,而 `totalInputTokens` 不可以**(与本文件头注引的 [2295]
66
- * 「CC 形状不承载非 CC 语义」**不矛盾**,差别有出处,写在这里免得下一棒读成漂移):
67
- * · `totalInputTokens` 有**另一条逐字通道**(`EngineTurnUsage` / runStream 的 `engineUsage` 键),
68
- * 要总量的消费面去那儿取即可 ⇒ 镜像不必长第二个座位;
69
- * · **成本缺席没有任何别的载体**:CC 的 `costUSD` 型面上是**必填 number**,「这笔花销没定价」
70
- * 在 CC 形里**根本不可表达**。不加这一位,唯一的写法就是 `costUSD: 0` —— 那正是 core 逐字
71
- * 禁止的 `a fabricated 0`(它把「没有价表」和「声明免费」两件事折成同一个字节)。
72
- * 🔴 **两键合读**,这一位单独没有意义:
73
- * · `costUSD === 0` 且本位**缺席** ⇒ 引擎显式报了 0 = **声明免费**;
74
- * · `costUSD === 0` 且本位 `true` ⇒ 引擎**没报** = 没定价,这一行的账**不知道**,别进总计。
75
- * 只读 `costUSD` 的旧消费者行为**逐字不变**(它仍是那个 0)—— 这是 additive 的全部含义。
76
- * 🔴 **只在缺席时铸,绝不铸 `false`**(本包 additive 一贯纪律:诚实缺席 = 键不在场;
77
- * 「键在值假」会让消费端以为这是一个三态位)。
78
- */
79
15
  export type SemaModelUsage = ModelUsage & {
80
- /** 在场且为 `true` ⇒ 这一行的 `costUSD: 0` 是「**没定价**」,不是「免费」。 */
81
16
  readonly _sema_cost_absent?: true;
82
- /**
83
- * D-2 / L-192②(0.66.0)—— 在场且为 `true` ⇒ 这一行的 `webSearchRequests: 0` 是
84
- * 「**wire 上没有这本账**」,不是「这一轮一次网搜都没做」。与 `_sema_cost_absent` 同一条
85
- * 两键合读纪律;同形第二处在终帧的扁平 usage(`SemaFlatUsage`),两处一个规矩。
86
- * 🔴 `contextWindow` / `maxOutputTokens` 那两格**刻意不给判别位**:它们是**模型的静态元数据**
87
- * 而不是这一轮的账,权威来源是模型目录(`/v1/models[].contextWindow`),不是 usage 面;
88
- * 给它们立位会把「去目录里取」误导成「等 usage 面补上」(登记见 INTEGRATION §31d)。
89
- */
90
17
  readonly _sema_web_search_requests_absent?: true;
91
18
  };
92
- /**
93
- * 🔴 **CC `ModelUsage` 八键形状的唯一 mint 点**(REF-CC-062 / xlate-08,E1 单源构造)。
94
- *
95
- * 收编前本仓有四个构造点(本文件 + `terminalToSdkResult` 的 `mapModelUsage`、合成当前模型行、
96
- * `failedToSdkResult` 内联零 usage),四份各写一遍同一套 load-bearing 改名,而 core 3.0.0 的
97
- * 语义翻转注只挂在其中一处 —— 「同名不同义」在这种分裂下没有任何一层拦得住([2292] 的 cli HUD
98
- * 双算 cache 就是这一族)。收编后:名字映射与语义注都只有这一份。
99
- *
100
- * 名字映射(**load-bearing,一个字节都别动**):
101
- * inputTokens → inputTokens
102
- * outputTokens → outputTokens
103
- * cacheReadTokens → cacheReadInputTokens
104
- * cacheWriteTokens → cacheCreationInputTokens
105
- * costMicroUsd → costUSD(/1e6;micro-USD 是 wire 单位,字段名即单位)
106
- * webSearchRequests→ webSearchRequests(0.66.0 / D-2 起开集宽读;读不出 ⇒ 0 + 判别位)
107
- * DROPPED(wire 无此数,填 0 而不是编一个):contextWindow / maxOutputTokens。
108
- *
109
- * 收编时的**一处语义统一**(REF-CC-062,记在这里以免被读成无意的漂移):cost 的换算此前两份
110
- * 写法不同 —— 本文件是裸 `/1e6`(非有限值原样传播出 Infinity/NaN),`terminalToSdkResult` 是
111
- * `microUsdToUsd() ?? 0`(非有限即 0)。统一取后者:Infinity 会被下游当成真数字参与求和,把一条
112
- * 离谱账静默摊进总计,比 0 更糟(与 SDK `taskCostMicroUsd()` 的规约同义)。
113
- */
114
19
  export declare function toCcModelUsage(raw: EngineUsageLike): SemaModelUsage;
115
20
  export declare function turnUsageToModelUsage(usage: TurnUsage): SemaModelUsage;
116
21
  export {};
@@ -1,36 +1,8 @@
1
- /** wire 数值 → CC 形状里的数值:非数/非有限一律 0(Infinity 会被当真数字摊进总计,比 0 更糟)。 */
2
1
  function finiteOrZero(v) {
3
2
  return typeof v === 'number' && Number.isFinite(v) ? v : 0;
4
3
  }
5
- /**
6
- * 🔴 **CC `ModelUsage` 八键形状的唯一 mint 点**(REF-CC-062 / xlate-08,E1 单源构造)。
7
- *
8
- * 收编前本仓有四个构造点(本文件 + `terminalToSdkResult` 的 `mapModelUsage`、合成当前模型行、
9
- * `failedToSdkResult` 内联零 usage),四份各写一遍同一套 load-bearing 改名,而 core 3.0.0 的
10
- * 语义翻转注只挂在其中一处 —— 「同名不同义」在这种分裂下没有任何一层拦得住([2292] 的 cli HUD
11
- * 双算 cache 就是这一族)。收编后:名字映射与语义注都只有这一份。
12
- *
13
- * 名字映射(**load-bearing,一个字节都别动**):
14
- * inputTokens → inputTokens
15
- * outputTokens → outputTokens
16
- * cacheReadTokens → cacheReadInputTokens
17
- * cacheWriteTokens → cacheCreationInputTokens
18
- * costMicroUsd → costUSD(/1e6;micro-USD 是 wire 单位,字段名即单位)
19
- * webSearchRequests→ webSearchRequests(0.66.0 / D-2 起开集宽读;读不出 ⇒ 0 + 判别位)
20
- * DROPPED(wire 无此数,填 0 而不是编一个):contextWindow / maxOutputTokens。
21
- *
22
- * 收编时的**一处语义统一**(REF-CC-062,记在这里以免被读成无意的漂移):cost 的换算此前两份
23
- * 写法不同 —— 本文件是裸 `/1e6`(非有限值原样传播出 Infinity/NaN),`terminalToSdkResult` 是
24
- * `microUsdToUsd() ?? 0`(非有限即 0)。统一取后者:Infinity 会被下游当成真数字参与求和,把一条
25
- * 离谱账静默摊进总计,比 0 更糟(与 SDK `taskCostMicroUsd()` 的规约同义)。
26
- */
27
4
  export function toCcModelUsage(raw) {
28
- // B-073 ②:成本这一格与其余七格**判据不同** —— 其余格的缺席在 wire 上与真 0 同义(token 计数
29
- // 没报就是没花),而成本的缺席是 core **刻意**造出来的一档语义(`ABSENT when any spend was
30
- // unpriced … rather than a fabricated 0`)。故这里单独判一次,而不是继续走 `finiteOrZero`。
31
5
  const costPriced = typeof raw.costMicroUsd === 'number' && Number.isFinite(raw.costMicroUsd);
32
- // D-2 / L-192②(0.66.0):`webSearchRequests` 与成本那一格同族 —— 修前是**字面量 0**,
33
- // 把「wire 上没有这本账」渲成「做了零次」。值仍留 0(CC 形必填 number),判别位说真话。
34
6
  const webSearchKnown = typeof raw.webSearchRequests === 'number' && Number.isFinite(raw.webSearchRequests);
35
7
  return {
36
8
  inputTokens: finiteOrZero(raw.inputTokens),
@@ -38,10 +10,9 @@ export function toCcModelUsage(raw) {
38
10
  cacheReadInputTokens: finiteOrZero(raw.cacheReadTokens),
39
11
  cacheCreationInputTokens: finiteOrZero(raw.cacheWriteTokens),
40
12
  webSearchRequests: webSearchKnown ? raw.webSearchRequests : 0,
41
- // CC 形不破:值仍是 number。「不知道」由同行的判别位说,见 {@link SemaModelUsage}。
42
13
  costUSD: costPriced ? raw.costMicroUsd / 1_000_000 : 0,
43
- contextWindow: 0, // dropped on the wire → mock-fill (static per-model table)
44
- maxOutputTokens: 0, // dropped on the wire → mock-fill
14
+ contextWindow: 0,
15
+ maxOutputTokens: 0,
45
16
  ...(costPriced ? {} : { _sema_cost_absent: true }),
46
17
  ...(webSearchKnown ? {} : { _sema_web_search_requests_absent: true }),
47
18
  };
@@ -1,244 +1,38 @@
1
- /**
2
- * ⇄ B3 批搬迁(2026-07-27,多端改造设计稿 §3 B3 / §2.5 末行):cli `src/seam/adapter/runStream.ts`
3
- * 整文件搬入。**这个文件是本批的主角** —— 搬迁前它的传递闭包是 **1,571 个文件 / 26 种 Node 内建 /
4
- * 412 个 react 文件**(实测,设计稿 §5.2 表),整棵 CC 树都在里面;搬迁后是 5 个文件、零 Node
5
- * 内建、零 react。根因链只有三跳,两条外向边(REF-CC-063 同款:原文是两个裸行号锚,已改符号锚):
6
- * · 终帧前的 plan-review park 臂 `await import('../../sema/planReviewWire.js')` → 该模块的
7
- * `utils/debug` 值级 import → 整棵树;
8
- * · turn_end 折叠点的 `void import('../../sema/lastTurnUsageStore.js')`(闭包本身干净,但同样
9
- * 是壳内向的边)。
10
- * 本批把这两条边改成 **chrome 事件**(`plan_review_park` / `last_turn_usage`,见 seam.ts 臂注释),
11
- * 由宿主注入 `ctx.emitChrome` 消费 —— 库侧再也不 import 壳。
12
- *
13
- * 🔴 **时序逐点对齐**(搬迁不许顺手改语义):cli 原本 `await` 的那一处(plan_review park,终帧
14
- * 之前)这里照样 `await`;原本 fire-and-forget 的那一处(last turn usage)照样不 await。
15
- *
16
- * ── 以下为原文件头(逐字保留)────────────────────────────────────────────────────────────────
17
- * Stream driver (T24, slice): consume an `AgentEvent` async-iterable (the SDK's
18
- * `runs.events` durable generator OR `tasks.stream` live generator — both yield
19
- * `AsyncIterable<AgentEvent>`) and re-emit the renderable CC `SDKMessage`
20
- * sequence (contract 02 §1.1/§7; 08 CS-12/IH-3).
21
- *
22
- * Responsibilities for the slice:
23
- * - event-id idempotency: a replayed durable `id:` (resume / 416 full-sync)
24
- * is deduped so no SDKMessage is double-rendered (contract 02 §1.1, sse.ts:5-6);
25
- * - pipe each non-terminal arm through `eventToSdkMessage`;
26
- * - fold `turn_end.usage` into the latest-usage handle (no standalone arm);
27
- * - project the terminal `done`/`failed` via `terminalToSdkResult`, then END
28
- * the generator (mirrors sse.ts:62 / tasks.ts:52).
29
- *
30
- * The SDK owns resume/416 INTERNALLY (sse.ts) — this driver only consumes the
31
- * already-normalized AgentEvent iterable and guards against re-seen ids.
32
- */
33
1
  import type { AgentEvent } from '@sema-agent/sdk';
34
2
  import { type SDKMessage, type EmitContext, type ModelUsage } from './types.js';
35
3
  import { type EngineTurnUsage } from './downstream/turnUsageToModelUsage.js';
36
- /**
37
- * 409 body 的 pendingGate 材料(A-028.1,2026-08-12 具名化并补 `governanceForced` 位 ——
38
- * 此前包侧只有 {kind, decidePath} 两位,壳侧抄件已多出该位 = 同一 wire 位两份解析器形不同,
39
- * 以超集形归一进包)。
40
- */
41
4
  export interface ActiveRunPendingGate {
42
- /** 在等哪一种门;引擎对未知 kind 自己返 null。 */
43
5
  readonly kind: string | null;
44
- /** 兑现那个决定的**真路由**(wire 给的,消费方绝不按 kind 硬编码一张表)。 */
45
6
  readonly decidePath: string | null;
46
- /**
47
- * 这道门的**出身**是运维治理层(AUTONOMY / commandPolicy / 守卫集)强制的
48
- * (server ≥7.12 / SDK 6.15.0 `PendingGateMaterial`,ADDITIVE)。
49
- * 🔴 **只在为真时在场,server 恒不写 false**;缺席 ≠「这不是治理门」,只是「没有治理来源的
50
- * 证据」。消费方只做**在场才说**的加法:纯归因一句,不参与任何分诊/动作。
51
- */
52
7
  readonly governanceForced?: true;
53
- /**
54
- * 这道 park 门的**非秘密稳定身份**(#285 件2,0.36.0;server ≥7.33.0 `PendingGateMaterial.checkpointId`
55
- * / core 5.42.0 `Checkpoint.checkpointId`,`mintCheckpointId` 铸 = `cp_`+uuid)。逐字过境,本层零加工。
56
- *
57
- * 🔴 **它补的是一个真实的空洞**:park 门此前在 wire 上**没有任何稳定身份** —— 唯一单射的键是
58
- * `token`,而 token 是秘密能力、永不上 wire,于是消费端只能拿 `(sessionId, kind)` 这种非单射组合
59
- * 去猜「这次的门」和「上次的门」是不是同一道。本键是为此存在的非秘密孪生身份(identification vs
60
- * capability,两条独立的轴;**独立铸造,不是 token 摘要**)。
61
- *
62
- * 🔴 **缺席是三成因合流的一个形**(server 逐条成文,别只记第一条):① 该键诞生前 park 的 legacy 行;
63
- * ② 行上有值但没过 server 的信任边界校验(空串/超长/**含 token**)⇒ 数据污染,而它在运维面上
64
- * 与 ① **不可分辨**(server 自己登记的残留);③ 整只 `pendingGate` 读取失败(那时本键连位置都没有)。
65
- * ⇒ 读作「**不知道这道门叫什么**」,**不是**「这道门没有身份」,更**不是**「这一定是条老行」。
66
- *
67
- * 🔴 **不是跨调用的稳定去重键**(逐条出自 server 侧 `PendingGateMaterial.checkpointId` 的顶注 ——
68
- * 那段是上游自己的对抗复审验真后如实登记的,不是本包的推测):
69
- * 同 session 可并存两条 pending checkpoint(表上**没有** per-session 唯一约束),
70
- * 而 server 选行是**无序 `LIMIT 1`** ⇒ 同一情形连续两次 409 完全可能报出**不同**的 id(选中了另一行),
71
- * 也可能 id 不变而 `activeTaskId` 已换。本材料的**每一格**(kind/decidePath/governanceForced/本键)
72
- * 共享这条归属不确定性,本键是**继承**它、不是引入它。
73
- * ⇒ 可安全用于:落日志/排障关联,以及 {@link pendingGateIsProvablyDifferent} 那个**单向**判断。
74
- * **不可**用于:跨 turn 的卡去重键、「id 相同 ⇒ 同一道门」的反向推理。
75
- *
76
- * ⚠️ **辖域如实**:上游本批只把这一位投到**这一个载体**(409 `conflict.session_active_run` 体 +
77
- * 其 SSE done 帧)。另外三条 park 读面(`/v1/assistant/inbox`、`GET /v1/approvals`、
78
- * `/v1/approvals/stream`)今天**都没有**这一格,且补它们的代价不同(后两条要给 checkpoint 表反范式
79
- * 一列 = SQL 面双库门)。⇒ **别在消费码里预支「两面能对上」** —— 拿本键去 join durable 队列行必然
80
- * 落空,而落空与 legacy 行同形。
81
- */
82
8
  readonly checkpointId?: string;
83
9
  }
84
- /**
85
- * `pendingGate` 的**单向**同一性判断(#285 件2,0.36.0):「我现在看到的这道门,能不能**证明**它
86
- * 不是刚才那一道?」
87
- *
88
- * `true` ⇔ 两侧都带 {@link ActiveRunPendingGate.checkpointId} **且**两者不等。其余一律 `false`。
89
- *
90
- * 🔴 **`false` 的语义是「证不出」,不是「同一道门」** —— 这不是措辞洁癖,是上游写死的可用性边界:
91
- * server 选行是无序 `LIMIT 1` 且同 session 可并存多条 pending 行,所以「id 相同」推不出「同一道门」
92
- * (id 不变而 `activeTaskId` 已换是成文的可能形),「id 缺席」更只是「不知道它叫什么」(三成因合流)。
93
- * 上游明确只背书**这一个方向**:「id 变了 ⇒ 我看到的确实不是刚才那一行」。
94
- *
95
- * 🔴 **为什么归包而不是让三端各写一遍**:这个谓词的价值全在**它拒绝回答的那一半**。三端各自手搓时,
96
- * 「两个 id 相等就当同一张卡去重」是最自然、也最容易写出来的一行 —— 而它恰恰是上游明说买不到的那个
97
- * 方向,写出来就是一条按错误前提去重的卡链。把可答的那半做成唯一入口,不可答的那半就没有顺手的写法。
98
- *
99
- * ⚠️ 它**不做**任何 kind/decidePath 比较:那两位回答的是「哪种门/去哪决议」,与「是不是同一行」正交
100
- * (同一行的 kind 不会变,不同行的 kind 完全可能相同)。要判种类变化请直接读 `kind`。
101
- */
102
10
  export declare function pendingGateIsProvablyDifferent(prev: ActiveRunPendingGate | null | undefined, next: ActiveRunPendingGate | null | undefined): boolean;
103
- /** #114/[C65] 单源化:三端共用的 409 active-run 拒收终帧判别(富信号形,包级唯一权威)。
104
- * 🔧 2026-08-02 事实纠正([C77]③):原文写的是「与壳/desktop **各自**照抄件同义……各端换包
105
- * 导入删本地抄件」,而 desktop 全树扫描(`activeRunBusySignal` / `session_active_run` /
106
- * `activeTaskId` 的 409 判别族)**零命中** —— 那边根本没有抄件,「各端」是句不实的话。
107
- * 删掉不实的那半:今天的抄件只有壳一份。
108
- * 🔧 A-028.1(2026-08-12):抄件漂移收口 —— 壳侧那份的 pendingGate 已多出 `governanceForced`
109
- * 位,本形按超集归一(见 {@link ActiveRunPendingGate});分诊树/结局文案层同批落
110
- * `adapter/activeRunSelfHeal.ts`,壳侧换包导入在提货批。 */
111
11
  export interface ActiveRunBusySignal {
112
- /** 占锁 run 的 id;wire 没带 ⇒ null(诚实缺席,绝不铸造)。 */
113
12
  readonly activeTaskId: string | null;
114
- /** server 3.21+ 真发的占锁 run 状态;缺席 ⇒ null(由调用方走 runs.get 一级)。
115
- * 🔴 [4664] 成文的可信度边界(2026-08-19,四个洞逐条在案):park 态不在 reapStale 射程 /
116
- * `updated_at` 误杀窗 / 409 与 poll 口径短暂相左 / LOCAL(file)车道无周期自愈腿 ——
117
- * **别把这一位的 `running` 当绝对真值**;SQL 车道死 run 的自愈上界 ≈180s(心跳 30s +
118
- * REAP_RUN_STALE_SEC 120 + tick 60),LOCAL 车道**无上界**。消费方出卡前的存活对账腿见
119
- * `activeRunSelfHeal.runningChoiceArm`。 */
120
13
  readonly activeTaskStatus: string | null;
121
- /** 409 body 的 pendingGate(wire 给的真路由,不自造);缺席 ⇒ null。 */
122
14
  readonly pendingGate: ActiveRunPendingGate | null;
123
- /**
124
- * 409 体上的占锁 run **最近活动距今毫秒数**(Inkglow-1085 P0b,[4664]:这一格是 409 体内唯一
125
- * 可消费的活性证据位)。在场 = 有限非负数;缺席 = 老 server / 坏形(两者同形,不猜)——
126
- * **缺席 ≠「没有活动」**。展示判别位:端据此渲「该 run 已 N 分钟无活动」类提示;
127
- * 不参与本包的分诊动作(存活对账腿的判据仍是 runs.get 读回的状态词)。
128
- * ⚠️ 结构视图读(SDK 7.2.0 类型面尚无此键)—— probeCause 同款「领先锚」姿势,锚补上跟批。
129
- */
130
15
  readonly msSinceLastActivity?: number;
131
16
  }
132
- /**
133
- * 判别一个**原始 AgentEvent** 是不是 409 active-run 拒收终帧;非 busy ⇒ null。
134
- * 判据=结构两腿(canonical `errorCode` 优先 → `activeTaskId` 在场);人话文案腿已随 #117 提货
135
- * 退役(§B8 禁按错误文案判别)。两种 wire 真形:
136
- * ① `done{result:{status:'failed', errorCode|activeTaskId,…}}`(交互 tasks/stream 腿,409 骑终帧);
137
- * ② `failed{errorCode|activeTaskId,…}`(任何把它投影成 failed 臂的上游形)。
138
- */
139
17
  export declare function activeRunBusySignal(ev: unknown): ActiveRunBusySignal | null;
140
- /**
141
- * 中性终态行的前缀。**刻意不是 `API Error`** —— 这一行说的是「这条 run 被本部署的治理旋钮停了」
142
- * (轮数/预算/墙钟/token 到限、结构化输出重试耗尽),不是 provider 或 HTTP 层出了故障。
143
- *
144
- * 事故形(台账 api C1/C2 逐坐标坐实):`sema -p --max-turns N` 的 STDERR 逐字是
145
- * `API Error: max turns exceeded`,交互面同一构造点也渲成红色「API 错误」行。用户读到 API Error
146
- * 会去查网络/密钥/额度,而真正的把手是他自己传的 `--max-turns`。CC 对同一件事写的是
147
- * `Error: Reached max turns (N)` —— 一个字的 `API` 都没有,本前缀与那条身份声明同向。
148
- */
149
18
  export declare const RUN_STOPPED_MESSAGE_PREFIX = "Run stopped";
150
- /** blocked 终态自带的前缀(`Run blocked: <reason>`,见 errText 构造)。 */
151
19
  export declare const RUN_BLOCKED_MESSAGE_PREFIX = "Run blocked";
152
- /**
153
- * 这条终态行是不是「治理/契约终态」而非 provider 故障 —— 渲染层据此给中性行同样的错误行 chrome
154
- * (它仍然是一条终态错误行,只是**身份**不是 API 错误),而不必按前缀猜。
155
- *
156
- * 🔴 与产出侧同一个真源:产出在 {@link runStream} 的 governance 臂,判别在这里,端只 import。
157
- * 各写一份正则必漂(记忆 `machine-readable-signal-not-visual-anchor`)。
158
- */
159
20
  export declare function isGovernanceStopRowText(text: string): boolean;
160
- /**
161
- * 第二条中性臂的前缀(0.72.8 CC-43;cli L-372 ③ 包侧正位):**模型这一轮的输出**坏了 —— core 三个 brain
162
- * (anthropic / openai / open-responses)把 `tool_use` 参数不是合法 JSON(最常见成因 = 输出被 max_tokens
163
- * 截断在参数中间)/ tool call 没带工具名 收成一句错误、run 以 `done{status:'failed', errorMessage}` 收口。
164
- * 这一族**没有一个 provider 请求失败过**:渲成 `API Error:` 把人指去查网络 / key / 配额,而该做的是调小请求、
165
- * 抬 output cap 或换个说法重问。与治理臂同律:身份换,行类旗(`isApiErrorMessage`)不换。
166
- */
167
21
  export declare const MODEL_OUTPUT_ERROR_PREFIX = "Model output error";
168
- /**
169
- * 这条终态错误文本是不是「模型输出问题」(⇒ 中性行 `Model output error:`)。
170
- * 🔴 **只锚 core 原句的共同前缀,不做模糊匹配**:三个 brain 各带各的终止原因字段名(`stop_reason` /
171
- * `finish_reason` / `status`)⇒ 只锚括号前那一段;`JSON` / `not valid` 这类词在别的错误里到处都是,放宽一个字
172
- * 就会把真的传输 / 服务端错误改渲成「模型输出问题」—— 方向相反、代价一样大。core 换句子 ⇒ 本锚当场失效 ⇒
173
- * 行回落 `API Error:`(开集兜底,不误报)。两句锚 = 同一铸点的两个分支(参数非 JSON / 无工具名),brain 用 ` | ` 连。
174
- */
175
22
  export declare function isModelOutputErrorText(text: string): boolean;
176
- /** 这一行是不是「模型输出问题」行(渲染面 / 归约面的谓词;与铸点同源,端别自抄前缀字面)。与 {@link isGovernanceStopRowText} 互斥。 */
177
23
  export declare function isModelOutputErrorRowText(text: string): boolean;
178
- /**
179
- * 0.72.12 CC-50:第三条中性终局行身份 —— **结局不知道**(done 帧无终态记录 / 认不出的终态词)。
180
- * 三端渲染面按行首认它(与 `Model output error:` / `Run stopped:` 同律);它不是 API 错误、不是失败判决,
181
- * 是「别把这次结果当已验证」。铸点单源在 runStream 终局臂(读结果帧 `_sema_outcome`)。
182
- */
183
24
  export declare const OUTCOME_UNKNOWN_ROW_PREFIX = "Outcome unknown";
184
- /** 这一行是不是「结局不知道」终局行(只认行首)。 */
185
25
  export declare function isOutcomeUnknownRowText(text: string): boolean;
186
- /**
187
- * 终态是不是治理/契约面的(⇒ 中性行),而不是 provider/HTTP 面的(⇒ 保留 `API Error:`)。
188
- *
189
- * 🔴 **开集纪律**:只有**认得出**的治理码才走中性臂;认不出的码一律落回 `API Error:` 原臂
190
- * (原样透传引擎的话)。反过来做 = 替引擎断言「这不是 API 错误」,而那正是本修在骂的那类错档。
191
- *
192
- * 成员:
193
- * · `status:'blocked'`(ReportBlocked 契约终态 —— agent 自己说它无法继续,零 provider 参与);
194
- * · `limits.*` 全族(开集前缀,{@link isLimitsExceededCode});
195
- * · `output.invalid`(结构化输出重试耗尽 —— CC 自己也有专门 subtype,同样不叫 API 错误)。
196
- */
197
26
  export declare function isGovernanceTerminal(input: {
198
27
  status: string | undefined;
199
28
  errorCode: string | undefined;
200
29
  }): boolean;
201
- /** 🔴 **按自有属性查表**(本仓对措辞表的既定纪律):`Object.freeze` 不移除原型,裸下标会让一个
202
- * 叫 `constructor` / `toString` 的判词命中 `Object.prototype` 上的**函数**并被拼进日志行。 */
203
- /**
204
- * CC-13(0.69.2)**出公面**:一条丢帧判词(`why` 开集进、缺省句兜底)。此前只在 console 兜底腿拼进日志,
205
- * `ctx.onDroppedFrame` 只收 `{ type, why }` ⇒ 自渲运维面的端只能手抄本表。现在载荷同时带 `sentence`,
206
- * 本函数给宿主在别处(存量留痕 / 别的 why 来源)复用同一份措辞。
207
- */
208
30
  export declare function droppedWhySentence(why: string): string;
209
- /** 测试钩:清空「已上报过的臂」去重表(去重是**跨调用**状态,不清就只有第一条用例看得见)。 */
210
31
  export declare function _resetDroppedFrameReportForTest(): void;
211
- /** 测试钩:去重表当前条数 —— ADAPTER-F5 的上限断言要读的**决定结果的量**(行数只证「吼了几次」,
212
- * 证不了「表有没有涨」;两者在到顶之后恰好分道扬镳,所以必须直接读表)。 */
213
32
  export declare function _droppedFrameMemoSizeForTest(): number;
214
33
  export interface RunStreamHandle {
215
- /**
216
- * The latest folded turn usage (footer counters).
217
- *
218
- * 🔴 **0.68.0 收窄成「最近一次**已测量**的 turn」**(core 7.17.0 #711 的跟车修;异源对抗复审实抓):
219
- * #711 之后,一轮没量出账时引擎发的是**六个 0 + `usageMissing:true`**(不再是「不发 usage」)。
220
- * 修前这里是无条件覆盖 ⇒ 那种轮会把一份**占位全零**盖进来,而本形上**没有任何判别位** ——
221
- * 只吃这个出口的 footer 于是把「不知道」渲成一笔精确的零账(消息臂与 chrome 臂上的判别位
222
- * 保护不到这个出口)。⇒ 未测量的那一轮**不覆盖**(保留上一次真读数,与 #711 之前的行为逐字
223
- * 相同),并由 {@link latestUsageMissing} 说出「最新那一轮没测出账」。
224
- */
225
34
  latestUsage?: ModelUsage;
226
- /**
227
- * [2295] 裁 ② 逐字通道:与 latestUsage 同拍更新的引擎 `turn_end.usage` **原形**(六键含
228
- * `totalInputTokens`)。镜像键求和≠总量(仅 cache 族一致时相等),总量消费面吃这份。
229
- * 旧引擎(core <3.0.0)wire 缺形时为 undefined —— 诚实缺席,不造零值。
230
- * 🔴 0.68.0:与 {@link latestUsage} **同拍同律** —— 未测量的轮不覆盖。
231
- */
232
35
  latestEngineUsage?: EngineTurnUsage | undefined;
233
- /**
234
- * 🔴 0.68.0 —— **最新那一轮的账知不知道**。在场(恒 `true`)= 最近走过的那个 `turn_end`
235
- * **没测出账**(`usageMissing:true`),或者它是一条**契约违约**帧(连 usage 都没有);
236
- * 此时上面两份读数属于**更早的**那一轮,别当成最新那一轮的账。
237
- *
238
- * 🔴 **never false**:测量到账的那一轮**把这一位删掉**(键不在场 ⇔ 上面两份就是最新那一轮的账)。
239
- * 它是**逐轮**的判别位,不是「这条流上曾经有过缺口」的单调位 —— 后者在终帧上
240
- * (`_sema_usage_lower_bound`),两者答的是两个问题。
241
- */
242
36
  latestUsageMissing?: true;
243
37
  }
244
38
  export declare function isRunStreamActive(): boolean;