@sema-agent/client-core 0.77.1 → 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 +13 -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 +0 -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 +6 -498
  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 +6 -67
  346. package/dist/subagent/engineTaskHandleWire.js +0 -126
  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 +30 -1
  382. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1,177 +1,17 @@
1
- /**
2
- * @sema-agent/client-core — 客户端会话运行时(sema wire → CC 会话词汇表 + 端无关会话逻辑)。
3
- * 定位公理:[1832](CC 皮肤形状全收本包、wire 保持中性;TUI/web/桌面共用同一个包)。
4
- * seam 设计对签:[1651]/[1652]/[1653];依赖方向:sdk(wire)+agent-types(词汇表)→ 本包,永不反向。
5
- * 沿革:@sema-agent/wire-cc-adapter 0.1.0 = seam 类型 + id 确定性派生 + 首批踩坑纯函数;
6
- * 0.1.2(#52a)= adapt() 管线首批(纯投影臂全落 + 壳态耦合臂投影成 ChromeEvent + 差分守卫);
7
- * 0.2.0 = 迁入 sema-client-core 独立仓并改名(旧 npm 名 deprecate 指本包);
8
- * 0.10.0 = **B8 批**(搬迁总线**末批**,设计稿 §8-5「print lane 收编」):
9
- * ① **请求拼装合一收官**:B4 建的 `buildTaskRequest(input, lane)` 从此是 print lane
10
- * (`seamQueryEngine.ask`)的**唯一**构造口 —— 壳里那份「`-p` 自己另拼一份」的字面量废除;
11
- * 车道差异全在 `REQUEST_FIELD_MATRIX`(print 独有 finalVerification/limits/interactiveTools、
12
- * TUI 独有 ultracode 等,逐条带理由与 `gap` 判断)。新增可执行判据 `unregisteredRequestKeys`
13
- * —— **真上 wire 的那份**请求也要过表,再漏一个键就当场红(表以前只管得住构造器自己)。
14
- * ② **`task_notification` 字段集合一**(`request/printNotification.ts`):print 出口帧与交互面
15
- * 共用 `normalizeTaskNotification` 这**一把闸**(空 task_id 丢帧 / summary 兜底 / status 回落),
16
- * 并补上**残局归因**(stoppedBy / resumable / partial / exitCode / diagnostics / result /
17
- * lines / recentSteps / editedFiles / task_type / source / seq / injected)—— 修前这些位在
18
- * `-p` 出口整段丢失,而 `-p` 恰恰是唯一没有人当场看着的车道。🔴 车道差异只剩 `status` 的
19
- * killed⇒stopped 一条(CC 187 print 出口形,表里留注);去重键不出第二个名字,print 侧那份
20
- * 手写算法废除,直接用 `taskNotificationDedupKeyFromWire`。
21
- * ③ **留壳**(§8-5 明写,本批一行没动):`PrintStreamProjector`(stream-json 帧序/SSE 重铸)与
22
- * 全部 stderr 分诊文案 —— 渲染面与人话面属端。
23
- * 0.9.0 = **B7 批**(设计稿 §3 B7「完成事件单一权威 + HITL」):
24
- * ① **HITL 族四件**(新目录 `hitl/`):`hitlBridge`(整搬,🔴 **D-1 两元组 verbatim 回显**
25
- * 与「409 绝不自动重试」两段**逐字节**搬,pure 门 B7 段用冻结字面量 + 壳树双向对拍 +
26
- * 毒化行为口径三重钉)· `toolApprovalWire`(**拆**:判定/编排进包,三选卡本体经
27
- * `ApprovalCardPort` 留端)· `askGateWire`(整搬;footer 通知与 Recent Denials 记账经
28
- * `HitlHostSurface` 留端)· `planReviewWire`(整搬,**第七份 `wireConfig()` 收编闭合**)。
29
- * ② **完成事件族 T2/T3**:`taskNotificationDedupKeyFromWire`(裸 wire 载荷键形)+
30
- * `parseTranscriptNotificationSeeds` / `seedTaskNotificationDedupFromTranscript`
31
- * (#63 resume 回植的 XML 反解)搬入 `notifications.ts`。**P1-3 未到货 ⇒ 只搬不删**,
32
- * 四道去重原样;退役条件登记进 `compensations.ts`(T1/T2/T3/T25/T53 五条)。
33
- * ③ **`approvals.stream()` 换轮询**(census G20):`hitl/approvalsFeed.ts` —— SDK 原生推送优先、
34
- * 断流/无端点**回落轮询**的韧性臂保留;两条腿都收敛到「非 heartbeat 事件 ⇒ 重取权威
35
- * `list()`」(SDK 自述 payload 是 FORWARD-DRAFT,绝不信未确认的 delta 形)。
36
- * 🆕 队列口新增**可选**动词 `enqueueMetaPrompt`(plan_review 结局回植;既有宿主不破)。
37
- * 0.8.0 = **B6 批**(设计稿 §3 B6,分两轮落):
38
- * ——【前半,fleet/子代身份族】fleetClient 沿 §2.5 拆两半(帧体归库、连接归端):
39
- * `fleet/fleetProjection` + `fleet/fleetLedger` · 子代 wire 族六件(`subagent/*`)·
40
- * `engineSessionParam`(走新 `SessionPort`)· `engineWireTarget`(七份手抄 `wireConfig()` 收编
41
- * 前六份,第七份 `planReviewWire` 属 B7)· G13 taskStop 409 五形 typed · Path B 记号时序修。
42
- * ——【后半,余项收官】① `detachWire` **拆**搬(判定 + cancel-arm 台账进包,信号路径的裸 fetch
43
- * 发射留宿主 —— 宪法例外 census C1-4;宿主取件口 `detachCancelArm()`)· `workflowClient` 整搬
44
- * (投影器 + live 源)· `workflowMonitor` 契约(六个类型 + WPe,此前住在 TUI 渲染件里);
45
- * ② **P4 残件三**:`hooksWireCaps`(SettingsPort 的第一个真消费者;port 缺席 = 整体 fail-closed)·
46
- * `liveInitToolFace`(凭证换 §8-2 的 `resolveWireAuth`,三条动态 import 转静态)·
47
- * **model 数据表**(`model/providerPresets.{ts,json}` + `modelFamilies.json` —— `modelBudgetRule`
48
- * 封顶① 的 `perModelCap` 的唯一来源;单一真源三锚见 model/providerPresets.ts 头注);
49
- * ③ **P5**:T32/T34/T47/T48/T49(整条进包)与 T35/T36/T44(拆)逐条核实并配断言,新出
50
- * `compensations.ts` 登记表(自检口 `compensationSplitViolations()` 恒应为空)+ **P1-2 归属回落
51
- * 定案**(FIFO 回落**不删** = tolerate-absent 保护臂;typed 双键在场恒赢已成对反钉;退役条件
52
- * 钉在达标线 ≥ server 1.290)。
53
- * ⚠️ B6 落码事实更正:P5 那八条的**落码全在 B4**,B6 做的是核实 + 登记 + 定案,不是二次搬迁。
54
- * 0.7.0 = **B5 批**(设计稿 §3 B5):① **配对台账折回**([1857] —— 0.6.0 把 `notifiedRuns`/
55
- * `cardEnqueuedRuns` 放适配器实例,与清账/记账的另一半不共享前提 = 双卡/UI 零显示/模型二收,
56
- * 本批整体折回 notifications.ts 的 module 台账);② **B/D/E 层搬入**(`toolResult.ts`:
57
- * structuredToToolUseResult 14 case + wireOutputToBody 3 臂 + E 层 4 臂),`adapt()` 从此
58
- * 自己铸 `tool_result` 卡与两处开卡兜底;③ **structured 白名单吃现货**([1840]§一 30 项 ——
59
- * 在场则 T11/T14 正则退位、T24 的 B 层惰性退位,缺席保回落,退位由**调用计数器**钉死);
60
- * ④ **T7 诚实缺席**(§8-4:不搬 mock 合成器,改 `_sema_degraded:'wire_carried_no_output'`)与
61
- * **T20 diff hunks 进包**(`diff/patch.ts`,本包**第一个** runtime dep `diff`)。
62
- * 🆕 两个 chrome 臂:`bgshell_register`(#117a 判定在库、执行留宿主)· `task_ledger_sync{source:'structured'}`。
63
- * 0.6.0 = **B4 批**(设计稿 §3 B4):A 层帧分派**收官**(第 14 臂 `task_progress` + 行绑定/
64
- * inline stats/alias/#6 常驻台账/SubagentStart/workflow lane 三级门 + `settlePanelTasks` 三处 sweep
65
- * 全接线)· P0-2 tool label 侧信道补漏(0.5.0 真缺口)· **请求面合一**(`request/taskRequest.ts`:
66
- * 三个构造器的字段集与合并语义收成一份,车道差异做成 `REQUEST_FIELD_MATRIX` 数据表)·
67
- * §8-2 构造点收编(`resolveWireAuth`)· §8-1 verb 门面接口定型(`ClientSliceLike` + `CLIENT_VERBS`,
68
- * **编译期**双向闭合门)· `CHROME_ARMS` 覆盖率出口 · 包级宿主装配 `installHost()`(settings/fs/
69
- * queue/timers 四口 + `hostPortMisses()` 自检)· `scratchpadWireCaps` 搬入(FsPort 端到端证明)。
70
- * 0.5.0 = **B3 批**(设计稿 §3 B3):`AdapterContext` 扩容(log/probe/signal/setTimer/clearTimer/
71
- * coalesceIntervalMs,**只加可选位 = minor 不 BREAKING**)· 适配内核搬入(`adapter/types` 运行时
72
- * 半场 + `adapter/downstream` 三件 + `adapter/runStream`)· runStream **两条外向边切除**
73
- * (lastTurnUsageStore / planReviewWire ⇒ `last_turn_usage` / `plan_review_park` 两个 chrome 臂)·
74
- * T38 三清第三清 + T40 IDLE-FLUSH + T57 第五处断闸 + T58 iterator cleanup + T59 abort + T60 收尾腿。
75
- * 🆕 第三道守卫 `scripts/run-client-core-portability-test.mjs`(内核闭包 1571 文件 → **6 文件**)。
76
- * 0.4.0 = **B2 批**(设计稿 §3 B2):通知族三文件合并进 notifications.ts(engineTaskNotification 全文 +
77
- * taskNotificationErrorSupplement 全文 + hookNoticeStore 判定半场)· 17 个 `*WireCaps` + engineWireSdk +
78
- * sseIdleTriage + classifierVerdictWire 判定半场 + controlRouter + 模型面纯逻辑 4 件 + 新写 hostEnv;
79
- * 宿主耦合的 6 件(hooksWireCaps/scratchpadWireCaps/liveInitToolFace/engineSessionParam/
80
- * modelContextResolver/agentModelResolver)**本批不搬**,原因逐条见交接报告。
81
- * 0.3.0 = **B1 批**(多端改造设计稿 §3 批次表第二批):纯函数/台账 11 文件 + 1 纯类型文件搬入
82
- * (壳侧 shim 替换随后批)。B1 只搬现行为、零收编、零行为改动;唯一的形状订正是 workflow.ts
83
- * 补齐 `agent_runs[].errorCode` 类型位(0.2.0 抄件漏项)。
84
- *
85
- * 🔴 **单实例纪律**(B1 起本包不再只有纯函数):下列模块持 module 级可变状态,写方与读方必须解析到
86
- * **同一个包实例** —— 壳侧本地旧副本与 npm 包同时进 bundle = 状态分裂(台账写进一份、读另一份,
87
- * 症状是「台账恒空」的静默失效,不报错)。清单见各文件头 🔴 段:
88
- * workflow.ts(workflowAgentTaskIds)· subagentContentStore.ts · engineAgentPanelStore.ts ·
89
- * fleetAgentPanelProjection.ts · liveQuestionStore.ts · engineInlineTaskStats.ts ·
90
- * engineCapsCache.ts · engineToolLabelStore.ts
91
- * —— B2 新增:notifications.ts(11 个通知台账 + 队列 port + 两个 probe 槽)·
92
- * agentsWireCaps.ts(prepare 缓存/投影闭包/一次性告警集)· liveModelCatalog.ts(目录 + refresher)·
93
- * sessionModelLatch.ts(三个 latch)· ultracodeWireCaps.ts(sticky preset)。
94
- * —— B4 新增:scratchpadWireCaps.ts(`ensured` 建目录闩)· host.ts(宿主口装配 + miss 计数);
95
- * 适配器**实例级**(非 module 级)新增 `firedSubagentStartHookTaskIds`——cli 那份是 module 级,
96
- * 本包放实例级是**有意的**(多 session 宿主上 module 形会让两个会话互吞 SubagentStart,见 DIVERGENCE-6)。
97
- * —— B3 新增:adapter/runStream.ts(`inFlightTurns` 计数,读口 `isRunStreamActive()`;
98
- * 两份实例 = 引擎滚动升级门恒读 false ⇒ **turn 中途热换引擎**,正是它当初要防的事)。
99
- * —— B6 新增(前半):fleet/fleetLedger.ts(`liveBgViews`;两份 ⇒ 引擎温切门恒读空 ⇒ respawn
100
- * 静默杀掉在飞 bg 子代)· subagent/engineDelegatedPrompt.ts(`transcriptIdByTask`;两份 ⇒
101
- * Prompt 段恒留白而两边代码看着都对)· engineWireTarget.ts(`installed`)。
102
- * —— B6 新增(后半,按「两份实例会怎样」从重到轻排):
103
- * · **hooksWireCaps.ts**(`wireSessionStopHookPrompt` + `wireSessionStopHookCcSemantics`)——
104
- * 写方 = `/goal` 命令层,读方 = 每 turn 的请求构造期 `hooksForWire()`。两份 ⇒ 目标设了、
105
- * 投不出去,**而两边代码看着都对**(与 fleetLedger 同一种静默失效)。
106
- * · **detachWire.ts**(`cancelArm`)—— 写方 = `-p` 发头那一刻,读方三个:`isDetachArmed`
107
- * (400 分诊的第一道门)、`detachedTaskId`(分诊文案)、`detachCancelArm`(**宿主发射腿的
108
- * 取件口**)。两份 ⇒ 头发了但 hint 判不出 + Ctrl+C 取消不掉,两个静默失效各一半。
109
- * · liveInitToolFace.ts(`cached`)—— 两份只是多探一次 `/v1/capabilities/scenarios/:name`,
110
- * **不是**静默失效;仍登记,免得下次读表的人以为它没状态。
111
- * · model/providerPresets.ts(`presetIndexCache`)—— 由不可变 JSON 派生的纯 memo,两份只费内存。
112
- * —— B7 新增(两条都是**装在一份、读另一份 = 面直接不工作**,比台账分裂更响):
113
- * · **hitl/toolApprovalWire.ts**(`cardPort` + `cardPortMisses`)—— 写方 = 宿主启动装配
114
- * `installApprovalCardPort()`,读方 = 两条决断腿。两份 ⇒ `hasApprovalCardPort()` 恒 false ⇒
115
- * **每一张写权限 gate 都走 fail-closed deny(卡根本不弹)**,而宿主那边"我装了啊"。
116
- * · **hitl/askGateWire.ts**(`hostSurface` + `hostSurfaceMisses`)—— 写方 = 宿主装配,
117
- * 读方 = cancel-deny warn 与分类器 deny 记账。两份 ⇒ 那一行 warn 与 Recent Denials 全丢。
118
- * 🔴 **宿主装配**——B4 起总入口是 `installHost({log,probe,queue,timers,settings,fs,session})`
119
- * (`installNotificationQueuePort()` 仍是队列的真源出口,`installHost({queue})` 直通它,两者不分裂);
120
- * 自检口 `hostPortMisses()` 恒应为空对象,非空 = 有口漏装、对应的面已在静默失效。
121
- * —— B2 起的既有说明:`installNotificationQueuePort()` ——
122
- * 不装 = task-notification 投递静默丢失(`notificationQueuePortMisses()` 恒应为 0)。
123
- * —— B3 新增(可选口,缺席 = 对应 UI 面在该宿主上是哑的,不是报错):`ctx.emitChrome`
124
- * (runStream 的两条切边:statusline 真 usage / plan-review 审批卡)· `ctx.setTimer`
125
- * (T40 IDLE-FLUSH,不给 = 长工具参数生成期已生成内容仍押到下一帧才上屏)· `ctx.signal`
126
- * (Esc 中断)· `ctx.log` / `ctx.probe`(诊断面)。
127
- * —— B6 的两个**计 miss** 口(缺席不是「少个装饰」):`session`(缺 ⇒ durable 子代读面对
128
- * session-bound run 一律 404 fail-closed)· `settings`(缺 ⇒ `hooksForWire()` 整体 fail-closed
129
- * 返回 undefined —— 信任门是**安全门**,库不会「读不到策略就照投」)。
130
- *
131
- * 🔴 **补偿层账本**(B6 引入):`MIGRATED_COMPENSATIONS` + `compensationSplitViolations()` ——
132
- * 哪条壳侧补偿拆成了「判定归库 / 执行留宿主」、对面挂在哪个 chrome 臂、上游到货后何时退休,
133
- * 全做成数据。它**不是** `ADAPTER_DIVERGENCES`(那张表说的是 adapt 与 cli 行为**不同**的地方)。
134
- */
135
1
  export * from './seam.js';
136
2
  export * from './workflow.js';
137
3
  export * from './notifications.js';
138
- // ── design/385(0.54.0):三条引擎注入车道的类型化投影 + 转录行文本编解码 ────────────────────
139
- // 收在库里的理由:① 判别位是**类型化载体的在场**(agentMessage / crossSessionMessage /
140
- // crossSessionNotice),端若各自判就会有人拿 `summary` 文本判 —— 那条路上任何后台任务都能把
141
- // `<agent-message from="…">` 写进 summary 冒充一条同事消息;② 端的消息面只拿得到**文本**,
142
- // 所以「帧→文本」与「文本→帧」两半必须同源在包里,端才做得到零字符串判定(cli-191 A-D1/A-D12
143
- // 那一族的成因正是消费端各自抄一份判据)。
144
4
  export * from './peerFrames.js';
145
5
  export * from './steering.js';
146
6
  export * from './diagnostics.js';
147
7
  export * from './retryStatus.js';
148
- // ── S-53(0.48.0):会话记忆姿态的三端公共读面 ────────────────────────────────────────────────
149
- // 收在库里的理由是**两处判定**(见文件头):① 同 status 不同码 —— 本路由的 404 有两个互不相干的
150
- // 含义(`not_found.session` 会话未知 / `not_found.route` 老 server 没这条路由),按 status 分诊必然
151
- // 把「部署没这个面」说成「你这个会话不存在」;② 五键缺席语义**逐键不同**,健康会话上就有两键
152
- // 合法缺席,一律读成「没有/关着/0」就是对用户下一个证不出的断言。
153
8
  export * from './sessionMemoryStatus.js';
154
9
  export * from './memorySpecWire.js';
155
10
  export * from './adapt.js';
156
- // ── L-318(0.68.2):`text_end` 权威段替换的**判决单源** + print 形车道的段账状态机 ──────────
157
- // 修前这套六形判据有两份实现:本包 `adapt/textStream.replaceAnswerSegment`(交互车道)与 cli
158
- // 1.0.114 在壳里热修的 `PrintStreamProjector.onTextEnd`(`-p` 车道,B-122)。两条车道的**账本**
159
- // 形状不同(消息划界 vs 帧划界,差别有理由、刻意不归一),但**判决**是同一件事 ⇒ 判决进包,
160
- // 两条车道同吃;`-p` 车道的段账(已出门前缀累加 / 轮收口清账 / 被扣段判重)也归包,端只留
161
- // 「把尾段写进哪一个 CC content block」这一步装配(§8-5:stream-json 帧序/SSE 重铸属端)。
162
11
  export * from './adapt/textSegmentAuthority.js';
163
- // ── L-61 / L-318 件④(0.68.2):SDK **纯工具面**转口口(engineUrl / probeHealth)。端直连 SDK
164
- // 只为取这两件的存量(cli sdk-isolation `sdk-value` 桶)从此有「经包」的路;值级转口在可移植门
165
- // 上零风险的理由(SDK 已在外部包等值集里 + `dist/health.js` 零 import)写在模块头注。
166
12
  export * from './engineHttpTools.js';
167
- // ── L-61 存量清零(clay 令 C-R43「所有欠账绝不延期,宁可红」):SDK **wire 面**转口口 ────────
168
- // 客户端类 + 流内审批帧谓词 + 端上存量实际用到的那一小撮 wire 型面。**原样转口零包装**;
169
- // 「端该不该直接 new AgentClient」是另一个(仍然欠着的)设计问题,不该继续挡着归层 —— 理由与
170
- // 射程边界全在模块头注。新码一律走本包自有的 `makeEngineWireClient`,本转口口只给存量用。
171
13
  export * from './sdkWireTransit.js';
172
- // CC-01(0.68.2):段身份键 —— committed assistant 文本行顶层 `_sema_segment_id` 的唯一字面量出处(壳只读此常量)。
173
14
  export { SEMA_SEGMENT_ID_KEY } from './adapt/textStream.js';
174
- // ── B1 批:纯函数 / 侧信道台账 / 投影闸(2026-07-27)──────────────────────────────────────────
175
15
  export * from './subagentContentStore.js';
176
16
  export * from './engineAgentPanelStore.js';
177
17
  export * from './fleetAgentPanelProjection.js';
@@ -179,132 +19,46 @@ export * from './liveQuestionStore.js';
179
19
  export * from './engineInlineTaskStats.js';
180
20
  export * from './printToolResultFrame.js';
181
21
  export * from './engineCapsCache.js';
182
- // S-131(0.59.0):`Capabilities.sql` 的四态窄读器 —— 壳侧那份逐字上收(导出名同名 = drift-lock)。
183
22
  export * from './sqlEngineCapability.js';
184
- // S-138(0.60.0;engine ≥7.63.0 / sdk 8.4.0):`Capabilities.writeProtection` 的四态窄读器 +
185
- // operator 面 `diagnostics.wiring.writeProtection` 的行表投影。与 `sqlEngineCapability` 同构同纪律
186
- // (四态词汇 / tee+换代失效口 / 唯一措辞铸点),端零自铸 —— 壳的 doctor 两处留位由它填。
187
23
  export * from './writeProtectionCapability.js';
188
- // S-382(0.72.5;server ≥7.82.1,sdk 尚未声明):`Capabilities.webSearch.backend` 的四态窄读器 ——
189
- // 部署默认 WebSearch 后端(`none` = 正面事实 / 键缺席 = 老引擎判不了,两者处置相反)。与上两只同构同纪律。
190
24
  export * from './webSearchBackendCapability.js';
191
- // 0.72.13 CC-54:`capabilities.executionLane`(server ≥7.86.0 S-426)四态读面 —— 键缺席 = 老 server 判不了(≠ 不是本机车道);
192
- // 「工具是否跑在本机」判据归包(读到位用位,读不到原样用调用方旁证)。
193
25
  export * from './executionLaneCapability.js';
194
- // · approvalsStreamLiveCapability(0.73.3 CC-61):capabilities.approvalsStreamLive 四态读面 + feed 消费方「要不要靠对账拉」的判据单源。
195
26
  export * from './approvalsStreamLiveCapability.js';
196
- // · deviceExecutorManagementCapability(0.74.2 CC-69):capabilities.deviceExecutor.management 四态读面 + 管理动词可用性判据单源。
197
- // 各只能力位读器的 tee / 读口 / 失效口 / 测试钩共用 `engineCapReader`(0.76.1 CC-75;包内叶,不出 barrel)。
198
- // · peerLaneCapability(0.76.1 CC-102):capabilities.peerLane 四态读面 —— 键缺席 = 老 worker 判不出、`false` = 明确没挂跨会话目录席(正面事实);
199
- // 非 HTTP 面,消费方式是渲染/预期,不 gate 某个动词。「要不要露出跨会话入口」三态判据单源 peerLaneAvailable。
200
27
  export * from './peerLaneCapability.js';
201
- // · permissionRulesWriteCapability(0.76.1 CC-102):capabilities.permissionRulesWrite 四态读面 —— 键缺席 = 这份二进制比单步写口老(藏入口)、
202
- // 键在场按值判「这次调用够不够得着」(与撤销面那只部署级存在性信号刻意不同源,别互相套用读法)。布尔便利口 permissionRulesWriteAvailable 是本位唯一派生点。
203
28
  export * from './permissionRulesWriteCapability.js';
204
- // · sessionPolicyCapability(0.77.0 CC-105):capabilities.sessionPolicy 四态读面 —— per-session 工具规则那一对读写口在不在;
205
- // 键缺席 = 这份二进制比这一位老(说不出,不等于没有)、`false` = 本部署没有会话规则店(正面事实)、畸形删格绝不折否。
206
- // 「渲不渲写入口」三态判据单源 sessionPolicyFaceAvailable;「动不动网络」那一问在 hitl/sessionPolicyWire 的编排里,刻意分家。
207
29
  export * from './sessionPolicyCapability.js';
208
- // · memoryComplianceCapability(0.76.1 CC-97a):capabilities.memoryCompliance 四态读面(出处问询 / 抹除两口)——
209
- // 键缺席 = 老引擎判不出、`false` = 明确的否、畸形删格绝不折否;两口可用性三态判据 + 记忆治理面 501 码单源。
210
30
  export * from './memoryComplianceCapability.js';
211
- // · memoryOriginCapability(0.76.1 CC-97a):capabilities.memoryOrigin 四态读面(外源标记人面三口)——
212
- // 与上一只**同判据不同位**,刻意各持一张表、不合并(引擎刻意不合并,今天恒同值也不许折)。
213
31
  export * from './memoryOriginCapability.js';
214
- // · memoryEntriesWire(0.76.1 CC-97a):记忆条目面三个 200 回体的窄读口(导出条目行 / 抹除证明 / 外源清标回执)——
215
- // 逐行窄读三向边界(空数组 = 真 0 / 非空全坏 = malformed / 半坏 = present + dropped)、`historyUnknown` 三态原样过境、
216
- // 「抹了 0 条」与「200 空体」与「读不懂」判成三回事,以及「空答绝不读作本店干净」的代码落点(判词口的 originAware 必填形参)。
217
32
  export * from './memoryEntriesWire.js';
218
33
  export * from './deviceExecutorManagementCapability.js';
219
- // S-381 / core 7.22.0 #857(0.72.9 CC-30;server ≥7.85.0,sdk 尚未声明):会话内 MCP re-dial 的消费口 —— 200 三态按 outcome 分形读、
220
- // unsupported 恒五键、名册按 toolNames 在场性、失败按 errorCode 分诊、「重连 = 一次交易」措辞单源;能力位 mcpReconnect 三态读。
221
34
  export * from './mcpReconnect.js';
222
- // 0.72.10:leader run 终局 needs_human + result.conflict 读面(契约 §15)—— 缺席不可分(none)/ 在场读不懂(unreadable)/ 读出(conflict)三形;
223
- // filesTruncated 只认 true、salvaged[].patch 原样给落盘口、rejHead 呈前消毒封长;一句措辞单源不提重试。
224
35
  export * from './leaderConflict.js';
225
- // 0.60.0(engine ≥7.64.0 / sdk 8.4.0):终局因由与门记录两只**判定归包**的读器。
226
36
  export * from './runTerminal.js';
227
- // 0.74.3 CC-71:run 记录 cancelContext 读口 + turn_aborted{engine_error} 后的成因闭集四词(cli L-212 (a) 消费半场归包)
228
37
  export * from './runCancelContext.js';
229
- // 0.74.3 CC-80(core 交叉扫 X-5 / cli L-R1):argv 末次旗值扫描原语上公面 —— 包内四消费者早已收编,端还在造第 N 份手写循环
230
38
  export * from './argvFlagValue.js';
231
- // 0.61.0(engine ≥7.65.0 / sdk 8.5.0 / S-167):READ 容纳面档位 + 来源的 operator 面窄读器
232
- // (`WiringDiagnostics.readFace`)。与 `writeProtectionCapability` / `gateOutcome` 同构同纪律
233
- // (防御读 / 唯一措辞铸点 / UNTRUSTED-for-display);与租户面 `capabilities.readFace` 刻意不合流,
234
- // 只带一个纯比较函数,渲染归端。
235
39
  export * from './readFacePosture.js';
236
- // CC-03(0.68.2):`GET /v1/sessions/:id/mcp` 面板体的防御读视图 + lastLegMcp 一行措辞铸点(三端共用)。
237
40
  export * from './mcpPanel.js';
238
- // CC-36(0.76.1):引擎托管 MCP 服务器的**活性观察**(`wiring_manifest.mcp[].liveness`)结构读口 ——
239
- // 三词闭集词表 + 行级三向读数(缺席 / 在场读不出 / 一次观察)+ 腿级四读数判词与它的唯一措辞铸点。
240
41
  export * from './mcpLiveness.js';
241
42
  export * from './effectiveFacts.js';
242
43
  export * from './gateOutcome.js';
243
- // 0.63.0(sdk 8.8.0 / engine ≥7.67.0 / S-178):`serverGates` 三根 posture 旋钮的读数窄读器
244
- // (值 + 谁定的 + 指路句)。四词来源表在本包只有这一份,`readFacePosture` 与它共用。
245
44
  export * from './postureKnob.js';
246
- // 0.63.0(sdk 8.8.0 / engine ≥7.67.0 / S-179):`/health` 三只代际锚(pid / instanceId /
247
- // startedAt)的窄读器与纯比较。判「换代之后做什么」是宿主的状态机,本包只给读与比。
248
45
  export * from './engineIdentity.js';
249
- // 0.63.0(sdk 8.8.0 / core 7.9.0 / L-162 ③):门词汇两张表(DeniedBy 九词「谁拒的」/
250
- // AskOrigin 十一词「谁问的」)的唯一措辞铸点。两张表的开闭各按其出处,兜底句逐字分家。
251
46
  export * from './gateVocabulary.js';
252
- // 0.63.0(L-162 ②;core 7.9.x):权限规则 lint 的拒因码表 + 唯一措辞铸点。sdk 尚未导出这张表,
253
- // 故按引擎真字节铸,门对实装 core 的两份产物双向对账;候上游导出即整只退役改成从 sdk 取。
254
47
  export * from './permissionRuleIssue.js';
255
- // 0.63.0(L-161;engine ≥7.66.0 有臂 / ≥7.9.0 真推):一条腿的工具名册投影 + tool_roster_delta
256
- // 应用。名册在场用名册、缺席才回落 liveInitToolFace 那三张估计词表(退役条款登记在那个文件的头注)。
257
48
  export * from './toolRoster.js';
258
- // 0.63.0(L-167;core 7.9.x):engine_notice 码册与 audience 表的镜像 + mcp.injection_dropped
259
- // 事实窄读器。措辞**不镜像**(上游立了 single_mint 契约:core 铸句子,消费端用它给的 message)。
260
49
  export * from './engineNoticeCodes.js';
261
- // 0.63.0 件⑧(core 7.10.0 #616;**0.65.0 随 core 7.12.0 收窄**):「这只 ask 是因为分类器跑不了
262
- // 才问人」的事实读器 + 措辞铸点。成因表两词(`error`/`timeout`),`cause` 开集读;判据轴的
263
- // `parse_error` 判缺席(core 明说它不 stamp 到这一格)。熔断族(`AUTO_MODE_BREAKER_CAUSES` /
264
- // `classifierBreakerOf` / `ClassifierBreakerView`)随 core 7.12.0 的 Removed(BREAKING)整只退役。
265
50
  export * from './autoModeUnavailable.js';
266
- // 0.64.0 件①(core 7.10.0 `OpenAICompletionsCompat.thinkingFormat`):一条 OpenAI-completions
267
- // 车道的模型「会不会思考、关不关得掉、用哪种拼法关」的三端公共探测 + 落笔纯函数。
268
- // 🔴 零 fetch:网络那半场经注入的 `ProbeSend` 端口,凭证一个字节都不经过本包(与
269
- // `model/catalogLoader.ts` 的 `CatalogFetchJson` 同一条纪律)。试关序是**公面承诺**,门钉死。
270
51
  export * from './modelCapabilityProbe.js';
271
- // 0.64.0 件②(**0.65.0 两处同批改口**:随 core 7.12.0 收掉熔断族 + B-071 把 `armed` 与
272
- // `available` 拆成两个词 ⇒ 三态):auto 分类器的**状态面**读器与措辞铸点
273
- // (诊断行 / 模型设置页 / 权限卡状态栏)。与 `autoModeUnavailable.ts` 的**卡面**那一问刻意分家:
274
- // 卡答「这一刻为什么问我」,状态答「这个会话上分类器现在是什么状态」。
275
- // 🔴 会话轴(熔断记录)随 core 7.12.0 的 Removed(BREAKING)整只退役;同批 B-071 拆词 ⇒ 三态 =
276
- // 本轮不可用 / 这条腿武装了 / 本轮真的跑过(后者只从 `denial_limit_fallback` 那条肯定事实得出)。
277
52
  export * from './classifierStatus.js';
278
53
  export * from './engineToolLabelStore.js';
279
54
  export * from './fleetTaskDesc.js';
280
- // ── B2 批:通知族合并 / caps-wire 门族 / 模型面纯逻辑 / control 路由(2026-07-27)──────────────
281
- // 通知族(engineTaskNotification + taskNotificationErrorSupplement + hookNoticeStore 判定半场)
282
- // 已并入 notifications.js,不需要新增导出行。
283
55
  export * from './hostEnv.js';
284
- // 🔴 [2393] sweep-F14(2026-08-03 全窗复审)**补理由**(裁定:留在公面,不撤回):同一条 P2「I 族」
285
- // 裁定抽出的三个内部叶里,`envFlag.ts` 明确不出 barrel、`abortableSleep.ts` 明确撤回(见下方两处
286
- // 说明),只有 `unrefTimer` 在公面上而没写为什么 —— 复审点名的正是这处「同级三件、两撤一留、留的
287
- // 那个无理由」。理由(补记,不是事后合理化):
288
- // ① 它与另两件**不同级**:另两件是纯包内实现叶(消费者全在包内,门也改吃 dist 单文件);
289
- // `unrefTimer` 守的是**跨宿主可移植性不变量**(「浏览器/桌面渲染进程没有 unref 也不炸」),
290
- // 而定时器是宿主自己也会建的东西 —— 三端宿主(cli/web/desktop)自建保活定时器时需要同一份
291
- // 判断,让它们各写各的 `(t as any).unref?.()` 正是本函数收编掉的那五份手抄的来源。
292
- // ② 它已经在 `public-export-baseline.json` 里(0.14.0 起随包发出),撤回 = 公面 BREAKING;
293
- // 而①说明它本就该公开 ⇒ 没有为一个「本该公开的东西」付破坏性代价的理由。
294
56
  export * from './unrefTimer.js';
295
- // REF-CC-141 dup-02(wave1 卡B,2026-08-01):envFlag.ts 是十处 SEMA_* 布尔 env 旋钮拼写集
296
- // 单源叶模块,但只被十个已在闭包里的模块值级 import 消费,不需要经 barrel 发到 npm 公面
297
- // (wave1 回炉 advisory:摘掉此行,envFlagOff/envFlagOn 保持包内部,不进 public-export-baseline)。
298
57
  export * from './controlRouter.js';
299
58
  export * from './sseIdleTriage.js';
300
59
  export * from './engineWireSdk.js';
301
60
  export * from './classifierVerdictWire.js';
302
- // G1 去字面化(2026-08-04,core 5.10.0 / sdk 6.2.0 消费半场):引擎 `errorCode` 词表的单一真源。
303
- // 进公面是**有意**的(与 envFlag 那条包内叶相反):壳/web/desktop 三端都要按同一批码分臂,
304
- // 三端各抄一份字面正是本文件要根治的病;开集纪律与闭集唯一例外见该文件头注。
305
61
  export * from './engineErrorCodes.js';
306
- // caps / wire 门族(17 个 *WireCaps。B2 时 hooksWireCaps / scratchpadWireCaps 因宿主耦合未搬;
307
- // B4 已搬 scratchpadWireCaps(走 FsPort),hooksWireCaps 仍在壳里等 SettingsPort 接线 —— 见交接报告)
308
62
  export * from './agentsWireCaps.js';
309
63
  export * from './attachmentsWireCaps.js';
310
64
  export * from './clientContextWireCaps.js';
@@ -321,62 +75,25 @@ export * from './rewindWireCaps.js';
321
75
  export * from './selfOrchestrationWireCaps.js';
322
76
  export * from './skillsWireCaps.js';
323
77
  export * from './ultracodeWireCaps.js';
324
- // ── S-81(server 7.57.0):selfOrchestration **被拒**的三端公共判定 ────────────────────────────
325
- // 上面两条 stamp 腿(selfOrchestrationWireCaps / ultracodeWireCaps)只管「怎么把意图发出去」;
326
- // 半配置多租户形态下 server 会把带这两个键的提交 501 拒掉,而「这一发是不是被那两个键拒的 /
327
- // 要去掉哪两个键 / caps 上的闸怎么读」三处都是判定不是文案 —— 三端各写一遍必然各错一遍
328
- // (按 status 分诊会把别的 `capability.*` 501 拖进重发臂;手写 delete 必漏掉 `settings.ultracode`
329
- // 那一处;把 `workflowsGate` 的缺席读成「引擎说不行」= 替一台什么都没说的 server 下断言)。
330
78
  export * from './selfOrchestrationDenial.js';
331
79
  export * from './webSearchWireCaps.js';
332
- // 模型面纯逻辑族
333
80
  export * from './liveModelCatalog.js';
334
81
  export * from './modelBudgetRule.js';
335
82
  export * from './sessionModelLatch.js';
336
83
  export * from './effortWire.js';
337
- // ── B3 批:适配内核(增量合并 + 计量 + 流驱动)(2026-07-27)──────────────────────────────────
338
- // M/adapter 的 downstream 三件 + types 运行时半场 + runStream 整搬(设计稿 §3 B3)。
339
- // 🔴 runStream.ts 持 module 级 `inFlightTurns` 计数(isRunStreamActive 的读口)——单例清单新增项:
340
- // 写方=runStream 自己,读方=壳的引擎滚动升级门(turn 中途绝不热换引擎)。两份实例 = 门恒读 false。
341
84
  export * from './adapter/types.js';
342
85
  export * from './adapter/downstream/turnUsageToModelUsage.js';
343
86
  export * from './adapter/downstream/eventToSdkMessage.js';
344
87
  export * from './adapter/downstream/terminalToSdkResult.js';
345
88
  export * from './adapter/runStream.js';
346
- // ── A-028.1(#244 族A,2026-08-12):409 active-run 自愈的分诊树 + 结局文案层 ————————————
347
- // 判别半场(activeRunBusySignal)在 runStream.js 早已出面;本件是它的消费侧:四路分诊
348
- // (pendingGate.kind 优先 / status 表回退)+ 八种结局的可覆盖默认文案。归通用半场的理由:
349
- // 三端面对同一把会话锁 —— cli 交互/headless 两车道换包导入删本地抄件(提货批);desktop
350
- // session-host 已自写同族「parked run 不能 cancel」分诊,收敛到此;web 读 activeTaskId 的
351
- // busy 面同源。文案默认串 = cli 产品面逐字,端经 ActiveRunSelfHealCopy 覆盖出路句。
352
- // 🔴 零值级 import 纯函数叶(类型 type-only 借 runStream),不进内核/A 层闭包。
353
89
  export * from './adapter/activeRunSelfHeal.js';
354
- // ── B4 批:A 层帧分派收官 + 请求面合一 + 构造点收编(2026-07-27)────────────────────────────────
355
- // 请求面:三个构造器(seamQuery.toTaskRequest / seamQueryEngine / liveClient.toLiveRequest)
356
- // 的**字段集与合并语义**收成一份;车道差异做成 REQUEST_FIELD_MATRIX 数据表(gap:true = 判为漏)。
357
90
  export * from './request/taskRequest.js';
358
91
  export * from './clientSlice.js';
359
- // 包级宿主装配(per-turn 的 AdapterContext 之外的那一层:settings / fs / queue / timers)。
360
- // 🔴 `installNotificationQueuePort` 仍是队列的真源出口,`installHost({queue})` 只是直通它。
361
92
  export * from './host.js';
362
- // REF-CC-147/REF-CC-149(P2「I族」裁定):D 族循环收编只抽的两个低层原语之一——「怎么安全地睡
363
- // 一觉」,workflowClient.ts 与 agentSession/backgroundView.ts 的轮询退避共用。wave1 回炉复审
364
- // (opus advisory)撤回:这是包内实现叶,不出 barrel(与下面 `createSessionSlot` 同一先例)——
365
- // 出了 barrel 就是 public-export-baseline.json 自述的**不可撤回承诺**,而没有任何门要求它公开;
366
- // 内部两处消费点都是相对路径 `import { abortableSleep } from './abortableSleep.js'`,门也改吃
367
- // `dist/abortableSleep.js`(见 scripts/run-abortable-sleep-test.mjs)。
368
- // W1(design/161):五个模块级单槽位的 per-session 注册表键。零参旧 API 全部等价于用这个键调
369
- // `*For(sessionKey, …)` 变体;多会话宿主(desktop)每会话一键。`createSessionSlot` 是包内实现件,
370
- // 刻意不出 barrel(公面只承诺键与各槽位的 *For API)。
371
93
  export { DEFAULT_SESSION_KEY } from './sessionSlot.js';
372
- // B2 判给 B4 的宿主耦合件之一(小的那件,同时是 FsPort 的端到端证明)。
373
94
  export * from './scratchpadWireCaps.js';
374
- // ── B5 批:工具结果卡 B/D/E 层 + T20 客户端 diff(2026-07-27)────────────────────────────────
375
95
  export * from './toolResult.js';
376
96
  export * from './diff/patch.js';
377
- // ── B5 批(B4 残项第一批):S/ 七件 headless / 部署旋钮 wire(2026-07-27)──────────────────────
378
- // 🔴 env 默认值从 `process.env` 换成 `hostEnv()`(本包零 process;Node 下是同一对象,
379
- // 壳侧「不传 env 参数」的调用点行为一字节不变 —— 等价性记账见 hostEnv.ts 头注)。
380
97
  export * from './sandboxWire.js';
381
98
  export * from './scenarioWire.js';
382
99
  export * from './finalVerifyWire.js';
@@ -384,263 +101,70 @@ export * from './limitsWire.js';
384
101
  export * from './interactiveToolsWire.js';
385
102
  export * from './headlessPermissionModeWire.js';
386
103
  export * from './headlessReconnectWire.js';
387
- // ── B6 批:fleet/子代身份族(2026-07-27)────────────────────────────────────────────────────────
388
- // `fleetClient.ts` 沿设计稿 §2.5 的那一刀拆两半:**帧体归库、连接归端**。
389
- // 🔴 单例清单新增三项(两份实例 = 面静默失效,不是报错):
390
- // · `fleet/fleetLedger.ts` 的 `liveBgViews` —— 写=每个 createFleetLedger,读=引擎温切门
391
- // (`readEngineActiveBgTasks`)与代际让位读面(`isFleetSessionScoped`)。两份 ⇒ 温切门恒读空
392
- // ⇒ respawn 静默杀掉在飞 bg 子代。
393
- // · `subagent/engineDelegatedPrompt.ts` 的 `transcriptIdByTask` —— 写=本包 fleetLedger 的行帧/
394
- // 通知帧臂,读=取件腿。两份 ⇒ Prompt 段恒留白而两边代码看着都对。
395
- // · `engineWireTarget.ts` 的 `installed` —— 非 Node 宿主的显式 wire 目标。
396
104
  export * from './fleet/fleetProjection.js';
397
105
  export * from './fleet/fleetLedger.js';
398
- // 0.73.5(CC-58):workflow 规模告警判定(三态;缺席 = 不知道,未知的规模不当作规模正常)。
399
106
  export * from './fleet/workflowSizeWarning.js';
400
107
  export * from './subagent/engineDelegatedPrompt.js';
401
108
  export * from './subagent/engineRowStopGate.js';
402
109
  export * from './subagent/engineSubagentOutput.js';
403
110
  export * from './subagent/engineSubagentSteer.js';
404
- // #242 批 2(A-028.7):resume 判定半场与 steer 同居 —— 两条孪生腿的取址口径才有单一真源。
405
111
  export * from './subagent/engineSubagentResume.js';
406
112
  export * from './subagent/engineTaskHandleWire.js';
407
113
  export * from './subagent/engineCompactWire.js';
408
114
  export * from './subagent/engineSubagentTail.js';
409
- // #242 批 3([4000] Q3=B):三腿宿主 run 台账缺席的响亮留痕单源(honest-absence 翻面配套)。
410
115
  export * from './subagent/subagentOwnerAbsence.js';
411
116
  export * from './engineSessionParam.js';
412
117
  export * from './engineWireTarget.js';
413
- // ── A-028 族E(#244 F3,2026-08-15)────────────────────────────────────────────────────────────
414
- // · principalWire:principal 在场性 trim 原语(A-028.10 裁定=壳语义为正;engineWireTarget 两臂 +
415
- // makeEngineWireClient 同尺,壳 livePrincipal 闸口消费同一原语)。
416
118
  export * from './principalWire.js';
417
- // · wireErrorTriage:turn 错误分型判定半场(A-028.11;文案/渲染归端)+ scenario 拒绝判型
418
- // (A-028.13;web 逐字节同形过滤行的正主)。码字面引 engineErrorCodes。
419
119
  export * from './wireErrorTriage.js';
420
- // · resumeRefusalCopy:L-102 下半场(0.58.0)—— resume 拒绝的**人话铸点**三端单源。
421
- // 与上面那口分工:`wireErrorTriage.resumeRetryLaterFromError` 答「能不能等」(事实读数),
422
- // 本口答「该对人说什么」(文案),`preflight_rejected` 的窗与可等性**转调**前者不复制判定。
423
- // 壳侧对位 = cli `src/sema/resumeRefusalCopy.ts`(1.0.101 起改薄成适配层)。
424
120
  export * from './resumeRefusalCopy.js';
425
- // · wireRefusalCopy(0.73.1):cancel 的 409 按机器码分家(两种相反的处置)+ 提交面 429 用量窗的读口与人话面。
426
121
  export * from './wireRefusalCopy.js';
427
- // · decideReceipt:B-070 / L-200(0.65.x)—— `/decide` **答了什么**的三端单一读面。
428
- // 🔴 两件事靠它,而两件都不是「门解决了没有」(200 只是**投递受理**,sdk README §9.0.0):
429
- // ① `handoffTaskId` —— workflow 车道把续跑交给**宿主新铸**的 run(「poll 它,不要盯那张卡」);
430
- // ② `executionOutcome` —— 那个已决动作**最后被怎么处置**;🔴 **缺席 = 未知,禁读成 allowed**。
431
- // 三条 workflow 车道拒绝码的一句人话同居于此(单铸;码常量在 `engineErrorCodes.ts`)。
432
122
  export * from './decideReceipt.js';
433
- // · sessionMap:「客户端会话 id ↔ 引擎会话 id」映射单一键形 + merge 判定(A-028.12;存储经
434
- // SessionMapStorePort 归端 —— cli 文件锁/原子写,web localStorage)。
435
123
  export * from './sessionMap.js';
436
- // B6 余项①:headless detach wire(**拆**:判定+cancel-arm 台账进包,信号路径裸 fetch 发射留宿主
437
- // —— 设计稿 §3 表脚注「`:221` 裸 cancel = TUI 留」;宿主取件口 = `detachCancelArm()`)。
438
124
  export * from './detachWire.js';
439
- // B6 余项①:workflow 监视器契约(类型 + WPe 派生)与 MF-W live 源。
440
- // 🔴 `workflowMonitor.ts` 是 `projectWorkflowRun()` 产物的**类型契约**——它此前住在 TUI 的
441
- // `overrides/workflow-detail-dialog.tsx` 里,等于「库产出的形状,契约归渲染件所有」。
442
125
  export * from './workflowMonitor.js';
443
126
  export * from './workflowClient.js';
444
- // ── B6 余项②(P4 残件三):B2 判给后批的宿主耦合件收官 + model 数据表 ──────────────────────────
445
- // 🔴 `hooksWireCaps` 是 **SettingsPort 的第一个消费者**(B4 定的口,B6 才接上);port 缺席时它
446
- // **整体 fail-closed 返回 undefined** —— 信任门是安全门,不是取值。单实例清单新增:
447
- // `wireSessionStopHookPrompt`/`wireSessionStopHookCcSemantics`(`/goal` 会话级 Stop 钩子锁存)。
448
127
  export * from './hooksWireCaps.js';
449
- // 🔴 `liveInitToolFace` 的三条 fail-soft 动态 import 在包内变成静态 import(三件 B5 已在包内),
450
- // try/catch 逐条保留(它护的另一半「函数自己抛」在包内照样成立)。单实例:探测缓存 `cached`。
451
128
  export * from './liveInitToolFace.js';
452
- // 🔴 model 数据表 —— `modelBudgetRule.defaultMaxTokensFor()` 的封顶① 参数 `perModelCap` 的**唯一**
453
- // 来源。表不在包里,那条中央规则在 web/桌面上恒拿不到 cap ⇒ 对 deepseek-chat(8192)这类模型
454
- // 超发 ⇒ 网关 400。搬迁期那条「与壳树副本逐字节相等」的漂移锁 0.11.10 已退役(前提消失=僵尸腿),
455
- // 继任锚:pure 门校 dist 与 src 语义等同 + 包内/壳树单一真源,public-surface 门校真实发布清单。
456
129
  export * from './model/providerPresets.js';
457
- // ── B7 批:HITL 族(2026-07-27,设计稿 §3 B7)────────────────────────────────────────────────
458
- // 🔴 `hitl/hitlBridge.ts` 里的 **D-1 两元组 verbatim 回显**是安全不变量(`bindingOf` 绝不重算
459
- // hash;409 ⇒ `HitlSafetyError('binding_mismatch')` 绝不自动重试)—— pure 门 B7 段做**字节级**
460
- // 断言,改一个字符就红。
461
- // 🔴 两个新拆缝口(缺席都计 miss,宿主自检恒应为 0):
462
- // · `installApprovalCardPort` —— 三选卡本体(vendored CC `PermissionRequest` / 桌面模态);
463
- // · `installHitlHostSurface` —— footer 通知与 /permissions Recent Denials 记账(端状态形状)。
464
- // 🔴 单实例:`toolApprovalWire` 的卡口槽 + `hitlHostSurface` 的宿主面槽是 module 级变量;两份实例 ⇒
465
- // 装在一份、读另一份 = 每张 gate 都走 fail-closed deny(卡根本不弹)。
466
- // 🆕 REF-CC-023(2026-08-02,P3 wave2 卡C-bridge):`hitlHostSurface.ts` 从 `askGateWire.ts` 里提出的
467
- // 共享宿主通知面 + cancel-by-deny 有界观察 —— `askGateWire.ts` 已 import `toolApprovalWire.ts`,
468
- // 反向 import 会成环,所以两条腿共用的那一组挪进一个两边都能到达的独立模块。
469
130
  export * from './hitl/hitlBridge.js';
470
- // 0.74.3 CC-73:durable suspended.reopened 三态读口(cli L-56 ②)
471
131
  export * from './hitl/suspendedReopen.js';
472
- // 0.74.5 CC-88:流内帧腿审批结局 → 宿主便签的单源映射(三端手拼退役)
473
132
  export * from './hitl/approvalOutcomeNote.js';
474
- // CC-77 ①:「一次审批决断最后怎么了」的单源判别联合 + 唯一映射口(additive;既有结局型面一字不动)
475
133
  export * from './hitl/approvalResolution.js';
476
- // [C93] P0 直讨(0.17.1):toolEndOutputText 单一真源导出——web/desktop 被点名「两端务必接」的
477
- // 6.0.0 output content-block 归一,此前 frameRouter 内私有,两端手抄=漂移温床。frameRouter 只
478
- // 挑名导出这一件(整星导出会把路由内部面全泄进公面)。
479
134
  export { toolEndOutputText, ENGINE_ABORT_TOOL_RESULT } from './hitl/frameRouter.js';
480
- // 0.18.0:isAskTool 规范判据导出(壳 askParkReopen 抄件收编——toolName 是 UNTRUSTED wire 位,
481
- // approvals.list 行不经 normalizeToolNames,判据必须单源;壳到货换 import 删抄件)。
482
135
  export { isAskTool } from './hitl/frameRouter.js';
483
136
  export * from './hitl/hitlHostSurface.js';
484
137
  export * from './hitl/toolApprovalWire.js';
485
- // ── #225 编辑臂预检的转出口([5076] 自领件,0.42.0)————————————————————————————————————
486
- // core 5.57.0 导出了 `precheckEditedRuleText`(与 `confirmRuleApproval` **同一函数体**的 text×command
487
- // 三步门)。本包**不能**做 value 级 re-export —— `@sema-agent/core` 的 barrel 值级拉 `node:crypto`/
488
- // `node:fs`/`node:path`,而 portability 门的 `EXPECTED_PACKAGES_INDEX` 是等值门 + ③ 段拿 esbuild
489
- // `--platform=browser` 真打包,一条这样的边会把整台引擎焊进 web/desktop 的产物。
490
- // ⇒ 转出口取「类型面 + 注入口 + 诚实缺席读口」三件(逐条理由见模块头注)。
491
138
  export * from './hitl/editedRuleTextPrecheck.js';
492
- // CC-07(0.69.0):core **值级**面十件的端口注入口(cli L-249 core-value 桶清零;同 editedRuleTextPrecheck 形:包声明端口 + 诚实缺席读口)。
493
139
  export * from './coreValuePorts.js';
494
140
  export * from './hitl/askGateWire.js';
495
141
  export * from './hitl/planReviewWire.js';
496
- // ── A-028.2/.3(#244 族A,2026-08-12):决断卡链的键词汇/呈现台账/归属判据三件 ————————————
497
- // · gateIdentity:三条身份键字面(hitl-ask:/callKey/plan-review:,外加 hitl-frame: 同族)的唯一
498
- // 铸口 —— 包内三处铸口与呈现台账的键推导同源;壳侧 armedGateRegistry/askParkReopen 的手抄字面
499
- // 换 import 删本地(提货批);desktop session-host 的 plan:/durable: 前缀族收敛候后续对齐。
500
- // · armedGateRegistry:per-session 呈现台账(firstSight 文案分形的唯一判据);sessionSlot 键支持
501
- // 多会话宿主(desktop session-host 多引擎会话),cli 走 DEFAULT_SESSION_KEY 零参兼容层。
502
- // · parkOwnership:ask park 重开腿的纯判据三件(fail-closed 归属证明/questions 结构判定/
503
- // HitlSafetyError duck 判型)—— cli 换包导入删抄件;desktop refreshPendingApprovals 的自写
504
- // 归属判定收敛到同一判据。approvals.list 编排与 stderr 留各端。
505
142
  export * from './hitl/gateIdentity.js';
506
143
  export * from './hitl/armedGateRegistry.js';
507
144
  export * from './hitl/parkOwnership.js';
508
- // ── #265(2026-08-14):C1-C5「决策卡死墙」病族的三端公共判定层上收(源形 = cli 五模块的判据半场;
509
- // 呈现/编排留端)。四件都是纯判定,零宿主端口:
510
- // · parkRowBirthWait:「待决行还没出生」这个第三态的有界可中断重查环 —— 把「行不在 pending 表」
511
- // 从单义的「已决」拆成 row/unborn/settled 三态,`settled` 必须由正面证据得出。
512
- // · approvalDecisionNoteAudit:回决备注(decisionNote/noteRecorded)三态读面 + 人话行,
513
- // `unknown ⇒ 整行不渲`(缺席 ≠ false)。
514
- // · askParkRowRouting:ask park 重开链的四问(队列三态分类 / 行身份 / 问答臂 vs 工具门臂 /
515
- // 「行已消失」两义分臂)+ 行级单活闸工厂(一个待决项至多一张卡)。
516
- // · resumeRunningCard:resume 撞上在飞 run 的三选卡(默认焦点 = 零动作那一项 / 活性证据缺席整行
517
- // 不渲 / 无 UI 臂的机读三选指路与专码退出)。
518
145
  export * from './hitl/parkRowBirthWait.js';
519
146
  export * from './hitl/approvalDecisionNoteAudit.js';
520
147
  export * from './hitl/askParkRowRouting.js';
521
148
  export * from './hitl/resumeRunningCard.js';
522
- // ── A-028.14 / #244 F2(2026-08-14):HITL 规则侧上收 —— 持久规则车道通用判定半场 + durable 腿
523
- // 本地落规则判定骨架(源形 = cli persistedRulesWire / localAllowRuleWrite 的纯判定面)。
524
- // · persistedRulesWire:能力位双段 gate(permissionRules / permissionRulesRevoke 合取)、
525
- // RulesFailure 处置分类(404 两支绝不共用一格)、keyset 翻页收口(游标失效重列 + 页数硬帽)、
526
- // skipped.reason 前缀分类、persist-ack 三态读口 —— 读口与 `readToolApprovalRespondAck`
527
- // **合成一处**(census top-08 #1 的双份台账收口本体);CC settings 三层 fs 读、SDK facade
528
- // 装配、通知呈现留宿主。0.76.1 CC-102 补 persistedRulesWriteAvailable:单步写入口便利口,
529
- // 只派生自 permissionRulesWriteCapability 的四态读数,与撤销面那只合取式刻意不同源。
530
- // · localAllowRule:parseLocalAllowRule 窄化五步(①整工具拒/②工具名对齐/③字面锚/⑤裸解释器
531
- // 前缀/⑤b canonical 危险谓词)骨架;危险谓词与规则语法经 `LocalAllowRuleDeps` 注入
532
- // (parkOwnership deps 同形)—— 谓词表本体(BARE_SHELL_PREFIXES / dangerousPatterns)留宿主,
533
- // 包内绝不自建第二份名单。🔴 安全面等值契约:拒绝集文案是三端可观察行为,cli 常驻套逐字锚。
534
149
  export * from './hitl/persistedRulesWire.js';
535
150
  export * from './hitl/localAllowRule.js';
536
- // ── 0.77.0 CC-105:会话策略写端口(per-session 工具规则的窄读 + 收紧编排)────────────────────────
537
- // · sessionPolicyWire:与上面那条**持久规则**面是两个面(那面跨会话、按内容寻址、可撤销;本面是一条会话上的
538
- // 一份记录、只许收紧、带乐观并发键),故不并进那个文件;失败分类与回执读口的姿势照它。
539
- // 🔴 写口语义是**整份替换**:省掉的桶等于清空 ⇒ 「追加一条限制」必须「已有 ∪ 新增」整份回写,
540
- // 桶名集合由引擎型面派生(加桶即编译红,而不是静默丢一桶 + 回执说已生效)。
541
- // 🔴 收紧判据只有引擎一个判官:放宽方向被拒**原样上报、不吞不重试**;窄读「读不懂」绝不折成「空策略」;
542
- // 写回执读不懂答 `unknown` 绝不答已写;并发冲突**只重读重写一次**(结构上无循环),第二次仍冲突即如实上报。
543
151
  export * from './hitl/sessionPolicyWire.js';
544
- // B7 ③(census G20,**行为改动**不是搬迁):pending-approvals 推送 feed(stream 优先 / 断流回落
545
- // 轮询 / 定期再试)。🔴 它**不替换** D-1 的取件 —— 那三处必须继续走权威 `list()`(见文件头)。
546
152
  export * from './hitl/approvalsFeed.js';
547
- // 0.72.14:悬挂的流内 ask(`GET /v1/approvals` 的 `livePending` 段)的读面、视图、去重账与决断口。
548
153
  export * from './hitl/livePendingAsk.js';
549
- // ── L-38:`/v1/approvals` additive 键 `crashConverged` 的读面 + 纯投影 ─────────────────────────
550
- // local 引擎崩在审批门上时,那些孤儿 ask 被 server 重启后收敛成 DENIED 同码;这一键把「上一条命
551
- // 留下了什么」交到端手上。收在库里的理由是**两处判定**三端各写一遍必然各错一遍:① **缺席 vs
552
- // 空数组**是两件事(键缺席 ⇒ `undefined`,端零渲染;空数组 ⇒ server 明说「一条都没有」),折成
553
- // 「0 个」就是替 server 下一个它没说过的断言;② **分桶只有一个合取**(零执行 ∧ 按记录看安全),
554
- // decided 臂与任何说不清的组合一律落人工确认侧 —— 判错「安全」会让人闭眼重跑一件已经落过副作用
555
- // 的事。🔴 `resumeSafe` 是以账本完整为前提的**缺省值不是铁证**,文案纪律见文件头 caveat。
556
154
  export * from './hitl/crashConverged.js';
557
- // ── #363 件③(0.47.0):交互 Esc 的**停止判定**三端公共上收 ──────────────────────────────────
558
- // 「Esc ⇒ 先发 turn 级 halt;只有那一发连判决都拿不到、而屏上又确实挂着审批卡时,才升级成 run 级
559
- // cancel」——TUI/desktop/web 三端都会 Esc、都会撞同一个 parked 格,判定本该在库里。此前整条住在
560
- // cli 壳(`seamQuery.bestEffortInteractiveHalt` + `interruptWire.needsRunLevelStop`),那也是壳侧
561
- // 「裸 fetch 直拨 interrupt」那条网络面豁免**唯一**的退役条件。本模块只出**判据**(纯函数 + 引擎
562
- // 升级码闭集);发射/台账/留痕/UI 反馈仍归各端。🔴 零 IO、零 import、零 module 级状态。
563
155
  export * from './interactiveHalt.js';
564
- // ── B6 余项③(P5):补偿层登记表 —— 把「哪条补偿拆了、拆缝对面是谁、什么时候能退休」做成数据。
565
- // 🔴 它**不是** `ADAPTER_DIVERGENCES`(那张表说的是 adapt 与 cli 行为不同的地方;本表里的东西
566
- // 两侧行为相同)。自检口 `compensationSplitViolations()` 恒应为空。
567
156
  export * from './compensations.js';
568
- // ── B8 批:print lane 收编(2026-07-27,设计稿 §8-5 裁决 —— 总线末批)──────────────────────────
569
- // `task_notification` 字段集合一:`-p` 的 SDK 出口帧从 6 位手写字面量换成与交互面**同一把闸**
570
- // (normalizeTaskNotification)+ 一张逐字段对照表;残局归因(stoppedBy/resumable/partial/
571
- // exitCode/…)从此不在 print 出口丢失。🔴 车道差异只剩 `status` 的 killed⇒stopped 一条(表里留注)。
572
- // 去重键**不出第二个名字**:print 侧那份手写算法废除,直接用 `taskNotificationDedupKeyFromWire`。
573
- // 请求面同批补上可执行判据 `unregisteredRequestKeys`(见 request/taskRequest.ts 文件末)。
574
157
  export * from './request/printNotification.js';
575
- // ── B18 批:desktop/web 座位 IPC 契约单一真源(design/159,2026-07-29)────────────────────────
576
- // 修的是一条**静默漂移通道**:同一份座位契约此前有两份声明(desktop `shared/localSessions.ts`
577
- // 15 型生产端 / web `lib/desktop/local-sessions-transport.ts` 9 型 `Seat*` 消费端),两边名字零重合
578
- // ⇒ 编译器永远不会告诉你它们漂了。实测已漂,其中 `LocalSessionEvent.outcome` 在 web 镜像里整位
579
- // 缺席 = [1947] 红③ 一直销不掉账的机制原因(宿主发了词,消费端连接词的位都没有)。
580
- // 🔴 纯类型 + 常量 + 纯谓词,**零 import** —— portability 门的三个 EXPECTED_PACKAGES 一个字不变。
581
- // 🔴 防再漂钉在文件末:`LocalSessionsApi` 的 verb/store 名由类型结构式派生 → 名字常量(编译期钉)
582
- // → `LOCAL_SESSIONS_SPEC` 键集(run-seat-contract-keys-test 运行期对账)。加 verb 忘了加 SPEC
583
- // 的后果不是报错而是 preload 不注册 channel、渲染端读到 undefined(假 affordance 家族)。
584
158
  export * from './seatContract.js';
585
- // ── design/161 实现批 A:后台任务归一视图平行入口(2026-07-30)────────────────────────────────
586
- // 契约收敛物 contract.ts 随首件实现落地转正常出口(「实现落地一件出口一件」——
587
- // createBackgroundView 是第一件;portability 门 TYPE_ONLY_MODULES 同批摘除该登记)。
588
- // contract.ts 仍是纯类型零运行时,`export *` 在 dist 里是空转发 —— 类型面从此进公面。
589
159
  export * from './agentSession/contract.js';
590
- // 两源(assistant.tasks 跨 session 调度总览 + fleet 常驻 SSE 快照)独立拉取独立降级的归一投影;
591
- // 两张 status 映射表 never 卫兵穷举;'not-configured' 判别姿势见文件头注。
592
160
  export * from './agentSession/backgroundView.js';
593
- // ── design/160 需求②:模型 provider 目录公用化(2026-07-31)──────────────────────────────────
594
- // 三层源解析(线上 URL 可配 → 包内 providerPresets 兜底 → 用户自定义覆盖)+ **来源标注**。
595
- // 🔴 零 Node、零全局 fetch:线上腿的取数走注入的 `CatalogFetchJson` 端口,宿主没给 ⇒ 线上腿
596
- // 整条不启用(`online.reason = 'no-fetch-port'`),与 host.ts 的缺席语义同一条纪律。
597
- // 🔴 本文件零默认 URL:目录仓位候裁(设计档待裁点 3),机制先行、地址由调用方传。
598
- // 🔴 绝不半解析:schemaVersion 超区间/任一行形状坏 ⇒ 整份弃用走兜底(端渲「内置版本(离线)」
599
- // 靠 `source` + `online.reason`,所以「静默用兜底」在本层是可观测的)。
600
161
  export * from './model/catalog.js';
601
- // ── design/166(2026-08-04):目录客户端消费链 —— 候选链 loader + 供应商凭证双轨 seam ──────────
602
- // 🔴 `model/catalogLoader.ts` 是 catalog.ts 的**宿主面**,不是第二个解析器:候选链遍历 +
603
- // 传输硬门(https + 域白名单,**重定向目标过同一道门**)+ `catalog.sha256` 旁签 + 缓存信封,
604
- // 载荷判决(schemaVersion/逐行形状/整份弃)全部委托 `resolveModelCatalog`,一行不重写。
605
- // 🔴 缓存**落盘**走注入口 `CatalogCachePort`(本包 index 闭包零 Node 内建是机械门守着的硬法;
606
- // tmp+rename 的原子性是实现方的契约,参考实现在 catalogLoader.ts 的类型注释里)。
607
162
  export * from './model/catalogLoader.js';
608
- // 🔴 `model/providerAuth.ts` 与 registry SSO(cloudAuth)**物理分文件、零共享代码**
609
- // ([reuse-single-sso-no-parallel-auth]:它是模型供应商凭证轨,不是 sema 登录轨)。
610
- // `DEVICE_AUTH_PROVIDERS` 今天是**空表**(宁空勿假:没有我们自己名下的 client_id 之前,
611
- // 填别的编辑器插件的 app id = 冒用,与 §6 判 C 档出局同一条判据),因此
612
- // `supportsDeviceCodeAuth` 对每一家如实返回 false、UI 不显示该选项 —— 注册一家 = 加一行。
613
163
  export * from './model/providerAuth.js';
614
- // ── F4 族D(A-028.17/.18,2026-08-15):配置/模型表单的**折表与词表**单源 ─────────────────────
615
- // 🔴 `model/providerCatalog.ts` = 46 家表的规范折表层(表→目录行的那一次投影 + 行级文案判定)。
616
- // 此前 cli/web 各折各的(共三份),两侧常驻全表门靠人工对齐。三条约束成文在文件头:
617
- // 单一真源现算 / 全表不重排不过滤 / 诚实缺席(零模型家说 "model id typed in" 不编 "0 models")。
618
164
  export * from './model/providerCatalog.js';
619
- // 🔴 `model/tierVocabulary.ts` = 档位五档词表 + CC 别名 + isTier 校验 + resolveTierBinding
620
- // fail-open 降档派生。此前跨两仓三份;settings 读写那半场仍归宿主(cli tierCore 只留存储)。
621
165
  export * from './model/tierVocabulary.js';
622
- // 🔴 `model/modelSupplyRules.ts` = **Model Hub 供给面的三端公共判定**(#318 件③ 上收,cli [4752]
623
- // 预告的三纯函数):vision 生效值+来源三态 / 删除断链核(拒删)/ 删除降级后果(照删但必说)。
624
- // 零 IO —— 读盘那半场留各端(壳 modelChannels 读完再调这里);`doc === null` 的两义由调用方分流。
625
166
  export * from './model/modelSupplyRules.js';
626
- // ── 搜索 provider 目录 + 地域预选(2026-07-31)──────────────────────────────────────────────────
627
- // `websearch/searchProviderPresets` = model 目录的**同形不同表**姊妹件:数据在 json、类型与查询
628
- // 在 ts。它编译出来的不是模型目录而是**引擎部署 env**(`WEB_SEARCH_*`)。
629
- // 🔴 `buildWebSearchEnv` 的硬纪律:用户没配 ⇒ 空对象,绝不产出空串键 —— 引擎看到「键在场」
630
- // 就当作配了,空串能把「没开搜索」变成「开了一个必然失败的搜索」。
631
- // 🔴 provider 枚举**不在这里再声明一份**:`WebSearchProvider` 单向 type-import 自 webSearchWireCaps
632
- // (两份枚举漂了编译器永远不会告诉你)。
633
167
  export * from './websearch/searchProviderPresets.js';
634
- // `env/localeGeo` = 零网络的地域预选(locale + IANA 时区两个信号,`unknown` ≠ `intl`)。
635
- // 🔴 零耦合约束(clay 令 2026-07-31):**模型 provider 目录不吃地域信号** —— 模型表恒全表呈现、
636
- // 顺序不随地域变,选哪家 100% 是用户的事。故本件不导出任何 provider 排序/过滤函数,
637
- // `src/model/**` 也不许 import 它(pure 门 GEO 段有机械断言)。合法用途只有搜索 provider /
638
- // 镜像源地址这类「取哪个地址更可达」的**默认值**预选。
639
168
  export * from './env/localeGeo.js';
640
- // ── F4 族D(A-028.20,2026-08-15):locale tag 手术单源 + UI 语言词表/判定 ────────────────────
641
- // 🔴 双出口成文(localeTag.ts 文件头):tag **手术**(剥 codeset/modifier、切子标签)单源一份;
642
- // **判定**两个且输出域语义不同,刻意不收敛 —— `pickUiLanguage` 答「界面用哪种文字」
643
- // (en/zh,未知回落可读的 en),`resolveRegionHint` 答「哪个地址更可达」(cn/intl/unknown,
644
- // 未知绝不猜)。`zh-Hant` 在前者是 zh、在后者是 intl —— 这是设计,不是漂移。
645
169
  export * from './env/localeTag.js';
646
170
  export * from './env/uiLanguage.js';