@sema-agent/client-core 0.77.1 → 0.78.0

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 +42 -1
  2. package/README.md +6 -5
  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 +3 -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 +23 -371
  182. package/dist/hitl/persistedRulesWire.js +62 -329
  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 +1 -249
  284. package/dist/request/taskRequest.js +20 -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 +78 -5
  382. package/package.json +3 -3
@@ -1,36 +1,2 @@
1
- /**
2
- * src/oneShotWireCaps.ts — PURE projection: the headless `-p` submission's one-shot declaration →
3
- * the TOP-LEVEL `TaskRequest.oneShot` boolean the SERVICE consumes(server ≥7.12.0 wire-types:
4
- * boolean 才投影进 TaskSpec、缺席不写键、非 boolean 400)。Mirrors retainBackgroundWireCaps
5
- * (the verified top-of-body wire pattern)。
6
- *
7
- * 语义(SDK `TaskRequest.oneShot` 契约,core ≥5.23.0 `TaskSpec.oneShot`):
8
- * `true` = 本次提交是一次性的 —— 不存在一个后续回合能接住异步的后台通知(原型就是 headless
9
- * `sema -p`:回合一结束进程就退了)。core 只把它当**给模型的指引**用:`RunWorkflow`/委派回执里
10
- * 那句「结束回合等通知」改成「用 `TaskOutput({block:true})` 主动阻塞等」。不发,headless 调用方
11
- * 会丢后台结果;发了也只是尽力而为,不是完成契约。
12
- *
13
- * 提交体是**开集**:还没接这个键的老 worker 收下 `oneShot: true`、回 200、键被静默忽略(=现状
14
- * 行为,零回归)——所以本键与姊妹键 `interactiveTools`/`retainBackgroundProcesses` 同款,发送侧
15
- * 不做能力位前置门(`capabilities.oneShot` 是「键被消费」的观测位,同步 caps 缓存在 `-p` 单回合
16
- * 车道上探测大概率未回,前置门会把键变死键)。
17
- *
18
- * 三问(宪法 NO-SHIP 检查):
19
- * 谁需要:headless `-p` 用户 —— 模型在 `-p` 里收到「结束回合等通知」的指引会白等(没有下一
20
- * 回合),后台委派/workflow 的结果就丢了;stamp 后 core 换发 block-wait 指引。
21
- * 谁受害:无 —— 键只改模型指引文案,不授予权限、不改门;交互车道不 stamp(有后续回合,
22
- * 指引「等通知」本来就对)。
23
- * 补偿机制:`SEMA_HEADLESS_ONE_SHOT=0|false|no|off` 逃生口 ⇒ 不 stamp ⇒ 引擎缺省(交互态
24
- * 指引)生效;老引擎静默忽略本键。
25
- *
26
- * 语义:缺省 ON —— unset / 未识别值 ⇒ `true`(stamp);显式 truthy(1/true/yes/on)⇒ `true`;
27
- * 只有显式 falsy(0/false/no/off)⇒ `undefined`(不 stamp)。返回型刻意是 `true | undefined`
28
- * —— opt-out 一律表达为**不 stamp**,绝不发 `false`(形状诚实,与缺席在 wire 上同义,发小的
29
- * 那个)。PURE — callers pass `env`;caller gates to LIVE mode(mock request shape 不变)。
30
- */
31
1
  import { type EnvLike } from './hostEnv.js';
32
- /**
33
- * ENV source → `true`(缺省 ON = `-p` 提交的一次性本性),只有显式 falsy 逃生口
34
- * ({@link envFlagOff} 拼写集)⇒ `undefined`(不 stamp ⇒ 引擎缺省交互态指引)。
35
- */
36
2
  export declare function oneShotFromEnv(env?: EnvLike): true | undefined;
@@ -1,41 +1,6 @@
1
- /**
2
- * src/oneShotWireCaps.ts — PURE projection: the headless `-p` submission's one-shot declaration →
3
- * the TOP-LEVEL `TaskRequest.oneShot` boolean the SERVICE consumes(server ≥7.12.0 wire-types:
4
- * boolean 才投影进 TaskSpec、缺席不写键、非 boolean 400)。Mirrors retainBackgroundWireCaps
5
- * (the verified top-of-body wire pattern)。
6
- *
7
- * 语义(SDK `TaskRequest.oneShot` 契约,core ≥5.23.0 `TaskSpec.oneShot`):
8
- * `true` = 本次提交是一次性的 —— 不存在一个后续回合能接住异步的后台通知(原型就是 headless
9
- * `sema -p`:回合一结束进程就退了)。core 只把它当**给模型的指引**用:`RunWorkflow`/委派回执里
10
- * 那句「结束回合等通知」改成「用 `TaskOutput({block:true})` 主动阻塞等」。不发,headless 调用方
11
- * 会丢后台结果;发了也只是尽力而为,不是完成契约。
12
- *
13
- * 提交体是**开集**:还没接这个键的老 worker 收下 `oneShot: true`、回 200、键被静默忽略(=现状
14
- * 行为,零回归)——所以本键与姊妹键 `interactiveTools`/`retainBackgroundProcesses` 同款,发送侧
15
- * 不做能力位前置门(`capabilities.oneShot` 是「键被消费」的观测位,同步 caps 缓存在 `-p` 单回合
16
- * 车道上探测大概率未回,前置门会把键变死键)。
17
- *
18
- * 三问(宪法 NO-SHIP 检查):
19
- * 谁需要:headless `-p` 用户 —— 模型在 `-p` 里收到「结束回合等通知」的指引会白等(没有下一
20
- * 回合),后台委派/workflow 的结果就丢了;stamp 后 core 换发 block-wait 指引。
21
- * 谁受害:无 —— 键只改模型指引文案,不授予权限、不改门;交互车道不 stamp(有后续回合,
22
- * 指引「等通知」本来就对)。
23
- * 补偿机制:`SEMA_HEADLESS_ONE_SHOT=0|false|no|off` 逃生口 ⇒ 不 stamp ⇒ 引擎缺省(交互态
24
- * 指引)生效;老引擎静默忽略本键。
25
- *
26
- * 语义:缺省 ON —— unset / 未识别值 ⇒ `true`(stamp);显式 truthy(1/true/yes/on)⇒ `true`;
27
- * 只有显式 falsy(0/false/no/off)⇒ `undefined`(不 stamp)。返回型刻意是 `true | undefined`
28
- * —— opt-out 一律表达为**不 stamp**,绝不发 `false`(形状诚实,与缺席在 wire 上同义,发小的
29
- * 那个)。PURE — callers pass `env`;caller gates to LIVE mode(mock request shape 不变)。
30
- */
31
1
  import { hostEnv } from './hostEnv.js';
32
2
  import { envFlagOff } from './envFlag.js';
33
- /** The env key the shell reads(SEMA_ 命名空间;`-p` 车道 per-request 意图面,非引擎部署面)。 */
34
3
  const ONE_SHOT_ENV = 'SEMA_HEADLESS_ONE_SHOT';
35
- /**
36
- * ENV source → `true`(缺省 ON = `-p` 提交的一次性本性),只有显式 falsy 逃生口
37
- * ({@link envFlagOff} 拼写集)⇒ `undefined`(不 stamp ⇒ 引擎缺省交互态指引)。
38
- */
39
4
  export function oneShotFromEnv(env = hostEnv()) {
40
5
  return envFlagOff(env[ONE_SHOT_ENV]) ? undefined : true;
41
6
  }
package/dist/ownKey.d.ts CHANGED
@@ -1,34 +1 @@
1
- /**
2
- * src/ownKey.ts — 「拿 **wire 给的串**当对象键」时的**唯一落键姿势**(0.68.0 / L-246 B2 单源化)。
3
- *
4
- * ── 病形(0.67.1 在 `terminalToSdkResult.ts` 上定谳,同批在 `hitl/parkResolver.ts` 上又长了一份)──
5
- * `Object.prototype.__proto__` 是一个 **accessor**:在一只普通对象上写 `o["__proto__"] = v` 走的是
6
- * 那只 setter ——
7
- * · **不产生自有属性** ⇒ 那一行在 `Object.keys` / `JSON.stringify` 里**整条消失**,连行数都少一;
8
- * · `v` 是对象时还**顺手改了 `o` 的原型**。
9
- * 而这几张表的键全都来自 wire(taskId / modelId / core 开集的 costBreakdown 键名 / 一条问题正文),
10
- * 没有任何一条保证它们不等于这个字面。⇒ 落键一律走 `defineProperty`。
11
- *
12
- * ── 为什么要单源(本文件存在的理由)────────────────────────────────────────────────────────
13
- * 修前同一条处置有**两份实现**(`terminalToSdkResult.ts` 的 `putOwn` 与 `parkResolver.ts` 里那只
14
- * 内联 `put`),而且两份都带着各自的一段说明。两份同形实现的代价不是重复几行,是**下一次只修一处**:
15
- * 这条落键姿势将来若要再收紧(例如连 `constructor` 一类也要拦),漏掉的那一份会静默地把老病留住。
16
- * 本仓「同形存量」纪律的直接落点。
17
- *
18
- * 🔴 **不改成 null 原型对象交付**:端拿到的仍是一只正常对象(`hasOwnProperty` / `toString` 都在),
19
- * 本模块只管「落键」这一步,不改交付形 —— 换原型会在宿主侧造出一类新的 `TypeError`。
20
- * 描述符与普通赋值**逐位相同**(`writable` / `enumerable` / `configurable` 三真),所以除了
21
- * `__proto__` 这一个字面,其余每一个键的行为一个字节都没变。
22
- *
23
- * 🔴 **零 import**(纯叶):它进 runStream 内核闭包与 index 闭包两条传递闭包,自己一条 import 都没有
24
- * ⇒ 不可能把任何东西拖进去(portability 门真正守的三件 —— 零 Node 内建 / 零 react·ink /
25
- * 外部包等值集 —— 一件都不动)。
26
- */
27
- /**
28
- * 把 `value` 落在 `table[key]` 上,**保证产生一个自有属性**(`key` 可以是任何 wire 串,含 `__proto__`)。
29
- *
30
- * @param table 目标表(交付形不变:仍是一只普通对象)
31
- * @param key 来自 wire 的键串
32
- * @param value 要落的值
33
- */
34
1
  export declare function putOwnKey<T>(table: Record<string, T>, key: string, value: T): void;
package/dist/ownKey.js CHANGED
@@ -1,36 +1,3 @@
1
- /**
2
- * src/ownKey.ts — 「拿 **wire 给的串**当对象键」时的**唯一落键姿势**(0.68.0 / L-246 B2 单源化)。
3
- *
4
- * ── 病形(0.67.1 在 `terminalToSdkResult.ts` 上定谳,同批在 `hitl/parkResolver.ts` 上又长了一份)──
5
- * `Object.prototype.__proto__` 是一个 **accessor**:在一只普通对象上写 `o["__proto__"] = v` 走的是
6
- * 那只 setter ——
7
- * · **不产生自有属性** ⇒ 那一行在 `Object.keys` / `JSON.stringify` 里**整条消失**,连行数都少一;
8
- * · `v` 是对象时还**顺手改了 `o` 的原型**。
9
- * 而这几张表的键全都来自 wire(taskId / modelId / core 开集的 costBreakdown 键名 / 一条问题正文),
10
- * 没有任何一条保证它们不等于这个字面。⇒ 落键一律走 `defineProperty`。
11
- *
12
- * ── 为什么要单源(本文件存在的理由)────────────────────────────────────────────────────────
13
- * 修前同一条处置有**两份实现**(`terminalToSdkResult.ts` 的 `putOwn` 与 `parkResolver.ts` 里那只
14
- * 内联 `put`),而且两份都带着各自的一段说明。两份同形实现的代价不是重复几行,是**下一次只修一处**:
15
- * 这条落键姿势将来若要再收紧(例如连 `constructor` 一类也要拦),漏掉的那一份会静默地把老病留住。
16
- * 本仓「同形存量」纪律的直接落点。
17
- *
18
- * 🔴 **不改成 null 原型对象交付**:端拿到的仍是一只正常对象(`hasOwnProperty` / `toString` 都在),
19
- * 本模块只管「落键」这一步,不改交付形 —— 换原型会在宿主侧造出一类新的 `TypeError`。
20
- * 描述符与普通赋值**逐位相同**(`writable` / `enumerable` / `configurable` 三真),所以除了
21
- * `__proto__` 这一个字面,其余每一个键的行为一个字节都没变。
22
- *
23
- * 🔴 **零 import**(纯叶):它进 runStream 内核闭包与 index 闭包两条传递闭包,自己一条 import 都没有
24
- * ⇒ 不可能把任何东西拖进去(portability 门真正守的三件 —— 零 Node 内建 / 零 react·ink /
25
- * 外部包等值集 —— 一件都不动)。
26
- */
27
- /**
28
- * 把 `value` 落在 `table[key]` 上,**保证产生一个自有属性**(`key` 可以是任何 wire 串,含 `__proto__`)。
29
- *
30
- * @param table 目标表(交付形不变:仍是一只普通对象)
31
- * @param key 来自 wire 的键串
32
- * @param value 要落的值
33
- */
34
1
  export function putOwnKey(table, key, value) {
35
2
  Object.defineProperty(table, key, { value, enumerable: true, writable: true, configurable: true });
36
3
  }
@@ -1,49 +1,21 @@
1
1
  export declare function notePanelRowRunning(taskId: string): void;
2
- /** 结掉了(任何 lane 的 end 递达):历史不再需要。 */
3
2
  export declare function retirePanelRowRunning(taskId: string): void;
4
- /** 结过的行 → 那条 end 的周期身份(两键都可缺席 = 判不出代际);投影据此分「同代的最终用量到了」与「结过之后复活的新一代」。 */
5
3
  export interface PanelRowEndedIdentity {
6
4
  cycleSeq?: number;
7
5
  startedAt?: number;
8
6
  }
9
- /**
10
- * 单调写(异源复审 R3 [high]:旧 end 后到不许把已结周期倒写回前代):`older(cycle, existing)` 由调用方(漏斗)用陈旧判据算 ——
11
- * 可证更旧 ⇒ 不写;同代 / 判不出 ⇒ 与已有记录合并(保留已知的另一半身份);可证更新 ⇒ 调用方传 older=false,本函数整只替换已知键。
12
- */
13
7
  export declare function notePanelRowEnded(taskId: string, cycle: PanelRowEndedIdentity, older: boolean): void;
14
- /** 本进程递达过这一行的 end ⇒ 那条 end 的周期身份;没有 ⇒ undefined。 */
15
8
  export declare function panelRowEndedIdentity(taskId: string): PanelRowEndedIdentity | undefined;
16
- /** 首见即终态且**确知**消费端没有这一行(running 表没溢出、不在 running 表、也没递达过 end)⇒ 历史行。 */
17
9
  export declare function panelRowUnknownToConsumer(taskId: string): boolean;
18
10
  export declare function holdNewbornTerminalRow(taskId: string, ev: object): void;
19
11
  export declare function peekHeldNewbornTerminalRow<T extends object>(taskId: string): T | undefined;
20
12
  export declare function takeHeldNewbornTerminalRow<T extends object>(taskId: string): T | undefined;
21
13
  export declare function dropHeldNewbornTerminalRow(taskId: string): void;
22
- /** 一条缓行**自带**的 wire 侧身份键(它是一条 fleet 行帧,两把键都可缺席)。 */
23
14
  export interface HeldNewbornTerminalRef {
24
- /** 缓行在本表里的键 = fleet 行 id 尾段。 */
25
15
  readonly taskId: string;
26
16
  readonly transcriptId?: string;
27
17
  readonly parentToolCallId?: string;
28
18
  }
29
- /**
30
- * 0.75.1(实测反例):`end` 归一的三把可能的键里,**后两把只在行帧真发布过时才登记**
31
- * (`transcriptId → 尾段` 钥匙表与 `尾段 → UUID` 反向所有权都由 `publishEngineAgentPanelEvent`
32
- * 的 fleet-row 臂写),而缓行的定义就是「还没发布」⇒ `tick{UUID}` 先上屏、终态行 `{尾段,
33
- * transcriptId: UUID}` 被缓住、`end{UUID}` 到达时三把键全查不到,缓行永远放不出、短命子代的
34
- * 最终用量丢。所以漏斗还需要第四条腿:按缓行**自己带着的** wire 侧键反查。
35
- *
36
- * 🔴 **为什么是遍历、不是第六本索引**:面板这一族已经有五本账(running 历史 / ended 账 / 缓行 /
37
- * 所有权 / 周期水位),再加一张 `transcriptId → 缓行键` 的索引就要在 hold / take / drop / 容量淘汰
38
- * 四个写口上各维护一次同步 —— 那是本族出过真回归的形(一本账写了另一本没写 ⇒ 缓行放两次或永不放)。
39
- * 缓行表有界 4096 且只在 **`end` 递达**时被扫(不是每拍;一条子代一生至多几次),所以遍历的成本
40
- * 上限是一条 end 读 4096 个小对象,换来的是「缓行表自己就是唯一真源」。
41
- */
42
19
  export declare function heldNewbornTerminalRefs(): HeldNewbornTerminalRef[];
43
- /**
44
- * 测试钩。清四样:① 「发布过 running 且还没结」的行 id 集合 ② 溢出标(溢出后读口一律答保守)③ 「递达过 end」的行 id 集合 ④ 缓着的首见终态行。
45
- * 🔴 连续场景中途别调:清掉之后,「首见即终态」的判定会把此前见过 running / 结过的行当成从没见过。
46
- */
47
20
  export declare function __resetPanelRunningHistoryForTests(): void;
48
- /** 测试 / 诊断读面。 */
49
21
  export declare function __panelRunningHistorySize(): number;
@@ -1,11 +1,3 @@
1
- /**
2
- * panelRunningHistory — 「本进程**发布过 running 而尚未结掉**的面板行 id」(0.74.5 CC-86;包内共享叶,不出公面)。
3
- *
4
- * 写方 = fleet 投影(非终态帧);读方 = fleet 投影的终态分支(首见即终态 ∧ 从没发布过 running ⇒ 历史行,零事件);
5
- * **结掉的写方 = 面板漏斗的 `end` 递达**(异源复审 0.74.5 R2 [medium]:通知车道的 end 不经投影,只在投影里删会让完成过的 id 永远留在表里、
6
- * 最终溢出把压制永久关掉)—— 任何 lane 的 end 到漏斗都在这里销账,且**只销当代**(前代迟到的 end 不擦新一代的 running 历史)。
7
- * 作用域 = 面板订阅作用域(进程级,不按 sessionKey 分桶);有界 4096,溢出后转保守(不再压制)直到整表重置。
8
- */
9
1
  const MAX_IDS = 4096;
10
2
  const ids = new Set();
11
3
  let overflowed = false;
@@ -20,22 +12,11 @@ export function notePanelRowRunning(taskId) {
20
12
  ids.delete(oldest);
21
13
  }
22
14
  }
23
- /** 结掉了(任何 lane 的 end 递达):历史不再需要。 */
24
15
  export function retirePanelRowRunning(taskId) {
25
16
  ids.delete(taskId);
26
17
  }
27
- /**
28
- * 0.75.0 W2(test 0.74.5 复验读数):「没发布过 running」不等于「消费端没有这一行」—— 短命子代在两拍之间起步并结束时,通知车道的 end
29
- * 已经递达(消费端建了行、状态 ended),终态 fleet-row 再被零事件吞掉 = 那一行的最终用量丢了(它是唯一带全 usage 的一帧)。
30
- * ⇒ 第二本账:本进程**递达过 end** 的行 id(任何 lane;只记当代 —— 与销 running 历史同一个陈旧判据)。有界 FIFO 4096;被挤掉的 id 之后
31
- * 若再来终态行会被当历史行(用量丢),这是有界的代价,不是压制永久关掉。
32
- */
33
18
  const MAX_ENDED = 4096;
34
19
  const endedIds = new Map();
35
- /**
36
- * 单调写(异源复审 R3 [high]:旧 end 后到不许把已结周期倒写回前代):`older(cycle, existing)` 由调用方(漏斗)用陈旧判据算 ——
37
- * 可证更旧 ⇒ 不写;同代 / 判不出 ⇒ 与已有记录合并(保留已知的另一半身份);可证更新 ⇒ 调用方传 older=false,本函数整只替换已知键。
38
- */
39
20
  export function notePanelRowEnded(taskId, cycle, older) {
40
21
  const existing = endedIds.get(taskId);
41
22
  if (existing !== undefined && older)
@@ -48,18 +29,12 @@ export function notePanelRowEnded(taskId, cycle, older) {
48
29
  endedIds.delete(oldest);
49
30
  }
50
31
  }
51
- /** 本进程递达过这一行的 end ⇒ 那条 end 的周期身份;没有 ⇒ undefined。 */
52
32
  export function panelRowEndedIdentity(taskId) {
53
33
  return endedIds.get(taskId);
54
34
  }
55
- /** 首见即终态且**确知**消费端没有这一行(running 表没溢出、不在 running 表、也没递达过 end)⇒ 历史行。 */
56
35
  export function panelRowUnknownToConsumer(taskId) {
57
36
  return !overflowed && !ids.has(taskId) && !endedIds.has(taskId);
58
37
  }
59
- /**
60
- * 反序(终态 fleet-row 先到、通知 end 后到):终态行先缓住(投影把它当历史行零事件),end 到漏斗时先放行再放 end —— 用量不丢、也不为真历史行建行。
61
- * 有界 FIFO 4096(与两本 id 账同量级;挤掉 = 那一行的用量丢,触发条件 = 同一进程里 4096 条首见终态行都还没等到 end);任何后到的行帧把缓着的作废。
62
- */
63
38
  const MAX_HELD = 4096;
64
39
  const heldNewborn = new Map();
65
40
  export function holdNewbornTerminalRow(taskId, ev) {
@@ -84,19 +59,6 @@ export function takeHeldNewbornTerminalRow(taskId) {
84
59
  export function dropHeldNewbornTerminalRow(taskId) {
85
60
  heldNewborn.delete(taskId);
86
61
  }
87
- /**
88
- * 0.75.1(实测反例):`end` 归一的三把可能的键里,**后两把只在行帧真发布过时才登记**
89
- * (`transcriptId → 尾段` 钥匙表与 `尾段 → UUID` 反向所有权都由 `publishEngineAgentPanelEvent`
90
- * 的 fleet-row 臂写),而缓行的定义就是「还没发布」⇒ `tick{UUID}` 先上屏、终态行 `{尾段,
91
- * transcriptId: UUID}` 被缓住、`end{UUID}` 到达时三把键全查不到,缓行永远放不出、短命子代的
92
- * 最终用量丢。所以漏斗还需要第四条腿:按缓行**自己带着的** wire 侧键反查。
93
- *
94
- * 🔴 **为什么是遍历、不是第六本索引**:面板这一族已经有五本账(running 历史 / ended 账 / 缓行 /
95
- * 所有权 / 周期水位),再加一张 `transcriptId → 缓行键` 的索引就要在 hold / take / drop / 容量淘汰
96
- * 四个写口上各维护一次同步 —— 那是本族出过真回归的形(一本账写了另一本没写 ⇒ 缓行放两次或永不放)。
97
- * 缓行表有界 4096 且只在 **`end` 递达**时被扫(不是每拍;一条子代一生至多几次),所以遍历的成本
98
- * 上限是一条 end 读 4096 个小对象,换来的是「缓行表自己就是唯一真源」。
99
- */
100
62
  export function heldNewbornTerminalRefs() {
101
63
  const out = [];
102
64
  for (const [taskId, ev] of heldNewborn) {
@@ -109,17 +71,12 @@ export function heldNewbornTerminalRefs() {
109
71
  }
110
72
  return out;
111
73
  }
112
- /**
113
- * 测试钩。清四样:① 「发布过 running 且还没结」的行 id 集合 ② 溢出标(溢出后读口一律答保守)③ 「递达过 end」的行 id 集合 ④ 缓着的首见终态行。
114
- * 🔴 连续场景中途别调:清掉之后,「首见即终态」的判定会把此前见过 running / 结过的行当成从没见过。
115
- */
116
74
  export function __resetPanelRunningHistoryForTests() {
117
75
  ids.clear();
118
76
  overflowed = false;
119
77
  endedIds.clear();
120
78
  heldNewborn.clear();
121
79
  }
122
- /** 测试 / 诊断读面。 */
123
80
  export function __panelRunningHistorySize() {
124
81
  return ids.size;
125
82
  }
@@ -1,70 +1,20 @@
1
- /**
2
- * peerFrames.ts — design/385 的三条**引擎注入帧**在客户端的类型化投影(判定单源在包,端只装配)。
3
- *
4
- * ── 这一件守的是什么 ────────────────────────────────────────────────────────────────
5
- * 引擎把三类东西塞进 **同一条** `task_notification` 车道,而它们在模型面根本不是同一种东西
6
- * (core `renderTaskNotificationXml` 对这三类**不套** `<task-notification>` 壳):
7
- * · `agentMessage` 同进程子代 → 父会话的 uplink(`SendMessage("main")`,§1.4 d1);
8
- * · `crossSessionMessage` 另一个会话的消息,从本会话自己的信箱里 drain 出来(§4.1);
9
- * · `crossSessionNotice` 关于**本会话自己发出去的**那条消息的回执 / idle 通知(§4.4 / §5.2)。
10
- * 端如果照 `task_notification` 泛化卡去渲,用户看到的是一张「后台任务完成」卡,而模型读到的是
11
- * 一条同事发来的话 —— 两个面说的不是同一件事。
12
- *
13
- * 🔴 **判别位是类型化载体的在场,永远不是 `summary` 文本**。这三条载体只有引擎的注入腿铸得出
14
- * (`ExternalNotificationInput` 是 `TaskNotificationPayload` 的**真子集**,外部 `notify()` 一个
15
- * 都穿不上);而 `summary`/`result` 是任何一条通知都填的字段,拿它做判据 = 任何一个后台任务
16
- * 只要把 `<agent-message from="…">` 写进 summary 就能冒充一条同事消息。
17
- *
18
- * 🔴 **身份三条等式**:`_sema_provenance` 必须在场、`kind` 与车道相符,且 `from`/`taskId`/`seq`
19
- * 与载体和载荷逐一相等(三条都由 core 铸点直证,见 `provenanceAgrees`)。只核 `kind` 拦得住
20
- * 半截载荷,拦不住**同 kind 的伪造**——载体署一个可信名字、provenance 三位全不对,屏上照样
21
- * 出现一条署着那个名字的消息。
22
- *
23
- * 🔴 **fail-closed**:载体在场但形不合(`from` 空、`body` 非串、notice 的 `kind` 不在闭集里)⇒
24
- * 返回 `null` = 退回泛化卡。退回泛化卡是**诚实降级**(用户仍看得见这条通知,只是没有专用形);
25
- * 而放一个半截形出去,端就会拿 `undefined` 去渲一张署名为空的「来自 @undefined 的消息」卡。
26
- *
27
- * 🔴 **优先序照抄 core 的渲染腿**(`agentMessage` → `crossSessionMessage` → `crossSessionNotice`)。
28
- * 多载体同时在场是矛盾载荷,但**模型那一面已经按 core 的顺序读过了** —— 端按同一个顺序判,
29
- * 两个面才说同一件事;这里另立一套「矛盾就退泛化」会让屏上那张卡与模型读到的帧对不上。
30
- *
31
- * ── 为什么渲染/解析两半都在包里 ─────────────────────────────────────────────────────
32
- * 端的消息面(CC 血统:`UserTextMessage` 按标签分派)拿到的只有**文本**,没有帧。所以包必须同时
33
- * 给出「帧 → 文本」与「文本 → 帧」两半,且**同源**(同一组标签常量、同一套属性序),端才可能
34
- * 做到零字符串判定。两半的往返在常驻门里逐形对拍。
35
- *
36
- * ── 与上游的锚 ──────────────────────────────────────────────────────────────────────
37
- * 两个标签字面量是 core 的铸点镜像(`core/task-notification.js::AGENT_MESSAGE_TAG` /
38
- * `agents/cross-session-envelope.js::CROSS_SESSION_MESSAGE_TAG`),登记在壳的 wire 锚契约表里
39
- * (cli `scripts/wire-anchor-registry.mjs`)—— core 改词当天那道门就红,而不是等到用户发现
40
- * 「同事消息又变回一张后台任务卡了」。
41
- */
42
- /** core `core/task-notification.ts::AGENT_MESSAGE_TAG` 的镜像(同进程 uplink 的模型面标签)。 */
43
1
  export declare const AGENT_MESSAGE_TAG = "agent-message";
44
- /** core `agents/cross-session-envelope.ts::CROSS_SESSION_MESSAGE_TAG` 的镜像(跨会话信封标签)。 */
45
2
  export declare const CROSS_SESSION_MESSAGE_TAG = "cross-session-message";
46
- /** core `_sema_provenance.kind` 的闭集(7.4.0 三员;7.2.0 只有第一员 —— 缺员按「上游还没发」处理,
47
- * 不是「上游改词」:本模块从不要求 provenance 在场,只要求**在场时不自相矛盾**)。 */
48
3
  export declare const PEER_FRAME_LANES: readonly ["agent_message", "cross_session_message", "cross_session_notice"];
49
4
  export type PeerFrameLane = (typeof PEER_FRAME_LANES)[number];
50
- /** core `crossSessionNotice.kind` 的闭集(§4.4:投递回执 / idle 回执两形)。 */
51
5
  export declare const CROSS_SESSION_NOTICE_KINDS: readonly ["delivery_notice", "idle_notice"];
52
6
  export type CrossSessionNoticeKind = (typeof CROSS_SESSION_NOTICE_KINDS)[number];
53
- /** core `PermissionModeClass`(发送方**自述**的权限模式类,不是被证实的事实)。 */
54
7
  export declare const PEER_MODE_CLASSES: readonly ["bypass", "prompting"];
55
8
  export type PeerModeClass = (typeof PEER_MODE_CLASSES)[number];
56
9
  export type AgentMessageFrame = {
57
10
  lane: 'agent_message';
58
- /** 帧的 `from="…"` 属性所拼的那个署名(子代的名字 / 标签)。 */
59
11
  from: string;
60
12
  body: string;
61
13
  agentType?: string;
62
- /** 生产者的 per-frame 计数器(= 本 payload 的 `seq`);缺席不补 0。 */
63
14
  seq?: number;
64
15
  };
65
16
  export type CrossSessionMessageFrame = {
66
17
  lane: 'cross_session_message';
67
- /** 发送方的**地址**(可回信的那一个;§4.1 provenance 的 `from` 同值)。 */
68
18
  from: string;
69
19
  body: string;
70
20
  fromSession?: string;
@@ -76,31 +26,10 @@ export type CrossSessionMessageFrame = {
76
26
  export type CrossSessionNoticeFrame = {
77
27
  lane: 'cross_session_notice';
78
28
  kind: CrossSessionNoticeKind;
79
- /** 引擎自铸的整行文本(`[Cross-session delivery notice] …` / `[Cross-session idle notice] …`)。
80
- * 🔴 端**原样渲一行**:这行是引擎按类型化 `peerMeta.notice` 铸的,端再解析一遍就是拿散文当数据。 */
81
29
  text: string;
82
30
  };
83
31
  export type PeerFrameProjection = AgentMessageFrame | CrossSessionMessageFrame | CrossSessionNoticeFrame;
84
- /**
85
- * `task_notification` 原始 wire 载荷 → 三条引擎注入车道之一;认不出 ⇒ `null`(= 泛化通知,
86
- * 调用方照旧走 `normalizeTaskNotification` / `renderTaskNotificationXml`)。
87
- *
88
- * 入参是**原始**载荷(snake_case `task_id` 那一份),不是 `normalizeTaskNotification` 的产物 ——
89
- * 后者是一张 15 键白名单,这三条载体一个都不在里面。
90
- */
91
32
  export declare function classifyPeerNotification(n: Record<string, unknown>): PeerFrameProjection | null;
92
- /**
93
- * 投影 → 转录行文本(端的消息面按标签分派的那一份)。
94
- *
95
- * 🔴 这**不是** core 模型面信封的逐字副本,也不该是:core 那一份是给**模型**读的(带纪律块、
96
- * 带 CC 逐字属性语法、带 round-trip 拒收);这一份是**端的转录回显**,只需要与本模块的解析腿
97
- * 往返一致。刻意不复刻 core 的语法契约 —— 复刻一份对不上的副本比不复刻更坏
98
- * (它会让人以为端这一行是模型读到的那一行)。属性序仍照 core 的规范序排,便于人肉比对。
99
- */
100
33
  export declare function renderPeerFrameTranscriptText(p: PeerFrameProjection): string;
101
34
  export declare function parsePeerFrameText(text: string): AgentMessageFrame | CrossSessionMessageFrame | null;
102
- /**
103
- * 端渲「@谁」时该用的那个名字 —— 判定在包,端不许自己排优先序。
104
- * 跨会话:`fromName`(人取的名)优先于 `from`(地址);同进程:只有 `from`。
105
- */
106
35
  export declare function peerFrameDisplayName(p: AgentMessageFrame | CrossSessionMessageFrame): string;