@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,51 +1,11 @@
1
- /**
2
- * workflow 车道纯函数 + workflow-agent 台账。
3
- *
4
- * 沿革(B1 批,2026-07-27):0.2.0 时本文件是 cli `footerRowBelt.ts` / `workflowTaskOutputProjection.ts`
5
- * 的**双份抄件**;B1 批按设计稿 §2.4.1-A/B 裁决「以壳侧现文件为真身、包内不留两份实现」:
6
- * · `parseWorkflowPollEnvelope` / `projectWorkflowTaskOutput` = cli `workflowTaskOutputProjection.ts`
7
- * 的逐字搬入(0.2.0 抄件漏了 `agent_runs[].errorCode` 类型位,已按真身补齐);
8
- * · `rowIdTail` / `isWorkflowAgentTaskId` / `recordWorkflowAgentTaskId` / `isKnownWorkflowAgentTaskId`
9
- * = cli `footerRowBelt.ts` 的**belt 半场**(判据①④),按设计稿 §2.4.1-B「拆」搬入。
10
- * ⚠️ 留在 TUI 的是 `isFooterTaskRow` / `filterFooterTaskRows`(判据②③)—— 那两条含
11
- * 「丢弃所有无 parentId 顶层行」的**端专属决策**(主 run 头部行由壳侧 fleetClient 合成渲染,
12
- * 设计稿 §2.4.2-B),壳侧文件改成 import 本包的四个出口 + 自留那两个函数。
13
- * 🔴 台账(`workflowAgentTaskIds`)是 module 级单实例:壳侧 bridge 的 task_progress lane 门写、
14
- * 壳侧 belt 的 `isFooterTaskRow` 读 —— 两边都必须走**本包同一个模块实例**,否则台账写进一个
15
- * 副本、读另一个副本(判据④ 静默失效,幽灵行回归)。
16
- *
17
- * 围栏见 cli 仓 frameLaneGuards / taskOutputWorkflowEnvelope / footerRowBelt 套;
18
- * [1617] 幽灵行家族的判别资产。
19
- */
20
- /** 复合行键(`<runId> <taskId>`,fleet-bus fleetRunPublisher.childId)的尾段 = 引擎 taskId。
21
- * 导出给壳侧 belt 半场复用(判据②③ 的行 id 归一)。REF-CC-042(fleet2-04,P3 wave2):
22
- * `fleetAgentPanelProjection.ts` 曾就地维护同语义私有副本(理由是「保持零依赖」,但该文件早已
23
- * import 了 `engineAgentPanelStore.js`,前提本就不成立)——已改 import 本函数,单源。 */
24
1
  export declare function rowIdTail(id: string): string;
25
- /** core 1.356 BCE 合成 workflow-agent id 形:wa+16hex(判据①)。
26
- * 真实 fleet 子行 id 是 `${runId} ${engineTaskId}` 复合形——必须取空白分隔尾段再匹配
27
- * (cli footerRowBelt 原版语义;对抗复审抓的等价性破坏,0.1.1 修)。
28
- * upstreamBridge 的 task_progress 前台 lane 门在 wire 无 workflowRunId 时(server <a76bd77,
29
- * [1619]:1.272.0 投影白名单仍剥该键)以此为次级判别——与 belt 双判据同模板。 */
30
2
  export declare function isWorkflowAgentTaskId(taskId: string): boolean;
31
3
  export declare function recordWorkflowAgentTaskId(taskId: string): void;
32
4
  export declare function isKnownWorkflowAgentTaskId(taskId: string): boolean;
33
- /** 测试钩:清台账(壳侧原版无此口——module 级 Set 在壳里靠进程边界隔离;包内多组断言同进程跑,
34
- * 必须能清,否则前一组的登记污染后一组)。 */
35
5
  export declare function __resetWorkflowAgentTaskIdsForTests(): void;
36
- /**
37
- * TaskOutput legacy 腿(tool_end 无 structured)的 workflow 信封识别(#49 C3)。
38
- * 判据=core task-registry formatWorkflowRun 真形:`{task_id, type:"workflow", status, name?, …}`
39
- * ——type 判别位 + task_id 字符串双门,非该形返回 null(绝不误吞 bash/agent 轮询)。
40
- */
41
6
  export declare function parseWorkflowPollEnvelope(body: string): {
42
7
  taskId: string;
43
8
  status: string;
44
9
  name?: string;
45
10
  } | null;
46
- /**
47
- * workflow 轮询 JSON → 人话多行投影(agents 汇总行 + per-agent ✓/✗ 明细 + note/error 尾透传);
48
- * 非 JSON 原样返回(fail-soft,`description [status]` 行仍在)。
49
- * 输入=引擎 formatWorkflowRun 的 JSON 原文(core 1.352 起带 agent_runs per-agent 明细 + 失败 note 指路)。
50
- */
51
11
  export declare function projectWorkflowTaskOutput(jsonSrc: string): string;
package/dist/workflow.js CHANGED
@@ -1,41 +1,9 @@
1
- /**
2
- * workflow 车道纯函数 + workflow-agent 台账。
3
- *
4
- * 沿革(B1 批,2026-07-27):0.2.0 时本文件是 cli `footerRowBelt.ts` / `workflowTaskOutputProjection.ts`
5
- * 的**双份抄件**;B1 批按设计稿 §2.4.1-A/B 裁决「以壳侧现文件为真身、包内不留两份实现」:
6
- * · `parseWorkflowPollEnvelope` / `projectWorkflowTaskOutput` = cli `workflowTaskOutputProjection.ts`
7
- * 的逐字搬入(0.2.0 抄件漏了 `agent_runs[].errorCode` 类型位,已按真身补齐);
8
- * · `rowIdTail` / `isWorkflowAgentTaskId` / `recordWorkflowAgentTaskId` / `isKnownWorkflowAgentTaskId`
9
- * = cli `footerRowBelt.ts` 的**belt 半场**(判据①④),按设计稿 §2.4.1-B「拆」搬入。
10
- * ⚠️ 留在 TUI 的是 `isFooterTaskRow` / `filterFooterTaskRows`(判据②③)—— 那两条含
11
- * 「丢弃所有无 parentId 顶层行」的**端专属决策**(主 run 头部行由壳侧 fleetClient 合成渲染,
12
- * 设计稿 §2.4.2-B),壳侧文件改成 import 本包的四个出口 + 自留那两个函数。
13
- * 🔴 台账(`workflowAgentTaskIds`)是 module 级单实例:壳侧 bridge 的 task_progress lane 门写、
14
- * 壳侧 belt 的 `isFooterTaskRow` 读 —— 两边都必须走**本包同一个模块实例**,否则台账写进一个
15
- * 副本、读另一个副本(判据④ 静默失效,幽灵行回归)。
16
- *
17
- * 围栏见 cli 仓 frameLaneGuards / taskOutputWorkflowEnvelope / footerRowBelt 套;
18
- * [1617] 幽灵行家族的判别资产。
19
- */
20
- /** 复合行键(`<runId> <taskId>`,fleet-bus fleetRunPublisher.childId)的尾段 = 引擎 taskId。
21
- * 导出给壳侧 belt 半场复用(判据②③ 的行 id 归一)。REF-CC-042(fleet2-04,P3 wave2):
22
- * `fleetAgentPanelProjection.ts` 曾就地维护同语义私有副本(理由是「保持零依赖」,但该文件早已
23
- * import 了 `engineAgentPanelStore.js`,前提本就不成立)——已改 import 本函数,单源。 */
24
1
  export function rowIdTail(id) {
25
2
  return id.split(/\s+/).pop() ?? id;
26
3
  }
27
- /** core 1.356 BCE 合成 workflow-agent id 形:wa+16hex(判据①)。
28
- * 真实 fleet 子行 id 是 `${runId} ${engineTaskId}` 复合形——必须取空白分隔尾段再匹配
29
- * (cli footerRowBelt 原版语义;对抗复审抓的等价性破坏,0.1.1 修)。
30
- * upstreamBridge 的 task_progress 前台 lane 门在 wire 无 workflowRunId 时(server <a76bd77,
31
- * [1619]:1.272.0 投影白名单仍剥该键)以此为次级判别——与 belt 双判据同模板。 */
32
4
  export function isWorkflowAgentTaskId(taskId) {
33
5
  return /^wa[0-9a-f]{16}$/.test(rowIdTail(taskId));
34
6
  }
35
- // ── 判据④:bridge task_progress lane 门台账([1641])────────────────────────────────────────────
36
- // bridge 的 workflow lane 门(帧带 workflowRunId 的权威判定)把子代 taskId 登记进来,行按尾段查。
37
- // ③④ 互为兜底:③(集合级双生识别,TUI 半场)不依赖时序但要求 wa 行在场;④ 不依赖 wa 行但要求
38
- // 本壳在读该 run 的会话流。
39
7
  const workflowAgentTaskIds = new Set();
40
8
  const MAX_WORKFLOW_TASK_IDS = 4096;
41
9
  export function recordWorkflowAgentTaskId(taskId) {
@@ -52,16 +20,9 @@ export function recordWorkflowAgentTaskId(taskId) {
52
20
  export function isKnownWorkflowAgentTaskId(taskId) {
53
21
  return workflowAgentTaskIds.has(taskId);
54
22
  }
55
- /** 测试钩:清台账(壳侧原版无此口——module 级 Set 在壳里靠进程边界隔离;包内多组断言同进程跑,
56
- * 必须能清,否则前一组的登记污染后一组)。 */
57
23
  export function __resetWorkflowAgentTaskIdsForTests() {
58
24
  workflowAgentTaskIds.clear();
59
25
  }
60
- /**
61
- * TaskOutput legacy 腿(tool_end 无 structured)的 workflow 信封识别(#49 C3)。
62
- * 判据=core task-registry formatWorkflowRun 真形:`{task_id, type:"workflow", status, name?, …}`
63
- * ——type 判别位 + task_id 字符串双门,非该形返回 null(绝不误吞 bash/agent 轮询)。
64
- */
65
26
  export function parseWorkflowPollEnvelope(body) {
66
27
  try {
67
28
  const j = JSON.parse(body);
@@ -69,8 +30,6 @@ export function parseWorkflowPollEnvelope(body) {
69
30
  return null;
70
31
  return {
71
32
  taskId: j.task_id,
72
- // 0.72.12 CC-50(#59 A-07):缺 status ⇒ 'unknown'。此前折成 'completed',而 'completed' ∈ WF_TERMINAL ⇒
73
- // 消费点顺手 markEngineWorkflowNotified,把真完成通知的补发通道一起缴械。缺席不是终局。
74
33
  status: typeof j.status === 'string' && j.status.length > 0 ? j.status : 'unknown',
75
34
  ...(typeof j.name === 'string' && j.name.length > 0 ? { name: j.name } : {}),
76
35
  };
@@ -79,11 +38,6 @@ export function parseWorkflowPollEnvelope(body) {
79
38
  return null;
80
39
  }
81
40
  }
82
- /**
83
- * workflow 轮询 JSON → 人话多行投影(agents 汇总行 + per-agent ✓/✗ 明细 + note/error 尾透传);
84
- * 非 JSON 原样返回(fail-soft,`description [status]` 行仍在)。
85
- * 输入=引擎 formatWorkflowRun 的 JSON 原文(core 1.352 起带 agent_runs per-agent 明细 + 失败 note 指路)。
86
- */
87
41
  export function projectWorkflowTaskOutput(jsonSrc) {
88
42
  try {
89
43
  const j = JSON.parse(jsonSrc);
@@ -91,16 +45,11 @@ export function projectWorkflowTaskOutput(jsonSrc) {
91
45
  if (j.agents && typeof j.agents.done === 'number' && typeof j.agents.total === 'number') {
92
46
  parts.push(`agents: ${j.agents.done}/${j.agents.total} done${typeof j.agents.failed === 'number' && j.agents.failed > 0 ? ` (${j.agents.failed} failed)` : ''}`);
93
47
  }
94
- // per-agent 明细([1411]③/[1408] 围栏 M1):✓/✗ label [status] — error 首行/output 摘要。
95
- // 缺席(老 core)零行=形状不变。
96
48
  if (Array.isArray(j.agent_runs)) {
97
49
  for (const r of j.agent_runs) {
98
50
  if (!r || typeof r !== 'object')
99
51
  continue;
100
52
  const label = typeof r.label === 'string' && r.label.length > 0 ? r.label : '(agent)';
101
- // 🔴 与 `parseWorkflowPollEnvelope` **同一判**(0.63.1,G-20 附带②):同一条 wire 上的
102
- // 同一个字段,两条链路的「在场」判据必须同形。空串走 `typeof` 单门会被当成一个读数
103
- // 渲成 `[]` —— 一对什么也没说的方括号,还长得像一个真答案。空串 = 缺席。
104
53
  const st = typeof r.status === 'string' && r.status.length > 0 ? r.status : '?';
105
54
  const errLine = typeof r.error === 'string' && r.error.length > 0
106
55
  ? ` — ${r.error.split('\n')[0].slice(0, 120)}`
@@ -111,7 +60,6 @@ export function projectWorkflowTaskOutput(jsonSrc) {
111
60
  parts.push(` ${st === 'completed' ? '✓' : st === 'failed' ? '✗' : '·'} ${label} [${st}]${errLine}${outLine}`);
112
61
  }
113
62
  }
114
- // note 尾透传(core 失败指路:TaskOutput+resumeFromRunId)——不留死胡同(围栏 M2)。
115
63
  if (typeof j.note === 'string' && j.note.length > 0)
116
64
  parts.push(j.note);
117
65
  if (typeof j.error === 'string' && j.error.length > 0)
@@ -1,56 +1,18 @@
1
1
  import type { WorkflowRun, WorkflowStreamEvent } from '@sema-agent/sdk';
2
2
  import type { WorkflowRunState, WorkflowToolCall } from './workflowMonitor.js';
3
- /** The live controller the host drives — a projected-snapshot reader + diagnostics + teardown. */
4
3
  export interface LiveWorkflowController {
5
- /** the latest projected run state, or null (not yet resolved / degraded 501-404 / empty). */
6
4
  snapshot(): WorkflowRunState | null;
7
- /** connection + degrade diagnostics for the empty/degraded render + verify cross-check. */
8
5
  status(): {
9
6
  connected: boolean;
10
- /** true when the endpoint is unavailable (501 = S8 flag off) / the run is absent (404) / the list is empty. */
11
7
  degraded: boolean;
12
- /** the HTTP status behind a degrade (501 / 404), else null. */
13
8
  code: number | null;
14
- /** the resolved workflow run id (null until list()/config resolves one). */
15
9
  runId: string | null;
16
10
  lastError: string | null;
17
11
  };
18
- /**
19
- * Subscribe to "the projected snapshot changed" — fired on the FIRST successful `get()` and on every
20
- * subsequent re-project. Returns an unsubscribe.
21
- *
22
- * WHY (clay 2026-07-30 症状②「入场蹲卡」): every host polls `snapshot()` on its own 1s interval, so a
23
- * `get()` that answered in 50ms still took up to 1s to reach the screen — a purely self-inflicted delay,
24
- * and during that window the panel renders its not-yet-resolved fill. The interval stays (it also drives
25
- * the wall-clock cells: idle/duration/waiting), but the FIRST resolve no longer waits for a tick.
26
- *
27
- * 🔴 SUBSCRIBE-AND-RECONCILE: if a snapshot has ALREADY resolved by the time you subscribe, the callback fires
28
- * ONCE synchronously from `subscribe` itself. Without this the notify arm and the subscribe arm do not share a
29
- * premise — a host that renders (snapshot null) → subscribes in an effect loses the notify entirely whenever
30
- * `get()` won that race, and falls back to waiting a full poll tick. That is exactly the residual outlier the
31
- * entry-latency fence caught (2 of 3 runs ≈200-340ms, 1 run ≈1026ms = one whole tick).
32
- *
33
- * Contract: the callback runs INSIDE the source's own loop (or synchronously from `subscribe`) — hosts must only
34
- * schedule a re-render from it, never re-enter the controller synchronously. A throwing callback is swallowed so
35
- * one bad subscriber cannot kill the background consumer.
36
- */
37
12
  subscribe(onChange: () => void): () => void;
38
- /** abort the underlying SSE stream + stop the background loop (host unmount). */
39
13
  dispose(): void;
40
- /**
41
- * CC-38(0.72.2):把 `snapshot()` 的 `null` 三义**拆开**的读口 —— 宿主此前只能按「问了 N 秒还是 null」猜
42
- * (cli 曾以 3 s 宽限窗权宜),现在按 `kind` 分派:
43
- * · `pending`:循环在跑、首发 `get()` 还没答上来(含纯连接错误退避中 —— `lastError` 带原因);**不是**引擎说不可用;
44
- * · `degraded`:引擎**明说** —— 501 端点不可用 / 404 run 不存在或非 owner;`code` 就是那个数字;
45
- * · `empty`:没配 `workflowId` 且 owner 名下零 run(list 空)—— 不是错误,下一轮会再问;
46
- * · `unavailable`:client 根本造不出来(baseUrl / 凭证非法)—— 永远不会答上来,别等;
47
- * · `live`:有快照,`state` 与 `snapshot()` 同一份;
48
- * · `stale`:曾经 live、之后引擎又说 501/404(run 被清)—— `state` 是最后一份快照,`code` 说明为什么不再新鲜。
49
- * 纯读、不改内部状态;`snapshot()` 契约不变(live / stale 时非 null,其余 null)。
50
- */
51
14
  resolution(): WorkflowResolution;
52
15
  }
53
- /** {@link LiveWorkflowController.resolution} 的六态。 */
54
16
  export type WorkflowResolution = {
55
17
  kind: 'pending';
56
18
  lastError: string | null;
@@ -74,104 +36,42 @@ export type WorkflowResolution = {
74
36
  };
75
37
  export interface LiveWorkflowConfig {
76
38
  baseUrl: string;
77
- /** Bearer 串,或 `{ mode: 'same-origin-relay' }`([C175],0.29.0)—— 浏览器同源宿主形:凭证由
78
- * 同源反代承载,`baseUrl` 该形下可为相对路径;直传 {@link makeEngineWireClient} 的同名放宽位
79
- * (唯一构造点纪律不破:relay 形也走那一个铸口)。串形语义与 0.28.x 字节不变。 */
80
39
  authToken: string | {
81
40
  mode: 'same-origin-relay';
82
41
  };
83
- /** SDK Principal(workflows are owner-scoped by principal)。缺席=不发 x-agent-principal 头
84
- * (owner-null,F-011 停发;两侧同缺席仍对齐)。 */
85
42
  principal: string | undefined;
86
- /** explicit workflow run id; when absent the source picks the first RUNNING run from list() (else the first). */
87
43
  workflowId?: string;
88
- /**
89
- * Test/host injection seam for the underlying HTTP transport (mirrors `EngineWireClientConfig.fetchImpl`
90
- * on `makeEngineWireClient` — same purpose, forwarded verbatim). Absent ⇒ the SDK's real `fetch`. Lets a
91
- * deterministic fake transport drive `noteDegrade`'s branches without a real socket (REF-CC-153 regression
92
- * coverage).
93
- */
94
44
  fetchImpl?: typeof fetch;
95
45
  }
96
- /** THE projector: SDK `WorkflowRun` (client.workflows.get) → the monitor's `WorkflowRunState`. Pure/total —
97
- * tolerates absent/permissive fields and never throws (the graceful-degrade contract lives above, in the
98
- * source loop; this just maps a well-formed run). Exported for the mock-parity unit cross-check. */
99
46
  export declare function projectWorkflowRun(run: WorkflowRun): WorkflowRunState;
100
- /** `parks[]` 的一行 —— **恰好三键**,凭据席位在本型上不存在(见上段 ①)。 */
101
47
  export interface WorkflowParkRowView {
102
- /** 这只 park 属于哪一次调用(与 `agents[].callKey` join 得上)。 */
103
48
  callKey: string;
104
- /** 停着的那只审批属于哪个会话(宿主按它路由)。 */
105
49
  sessionId: string;
106
- /** 最初跑出这只 park 的那条 run。 */
107
50
  originRunId: string;
108
- /**
109
- * core 7.18.0 #755(0.68.3 CC-05):这一行**在记录上**,但还没有任何 journal 确认它属于谁 ——
110
- * `originRunId` 此时说的是「材料**属于**哪条 run」,不是「在哪条 run 上见过」,消费端**禁**当已确认读。
111
- * never-false:确认那一刻上游**删键**(绝不写 `false`)⇒ 缺席 = 已确认(与 7.18.0 之前写的行同读)。
112
- * 本包逐字投影(core 顶注:same projection obligation as `parks` —— 丢了就把一条未确认行读成已确认)。
113
- */
114
51
  originUnconfirmed?: true;
115
52
  }
116
- /**
117
- * `GET /v1/workflows/:id` 的 `parks[]` → 三键行;**整键缺席 ⇒ `undefined`**(与空数组逐字可分)。
118
- *
119
- * 🔴 **`undefined` 与 `[]` 不是一回事**,这是本读器最承重的一格:
120
- * · `undefined` —— 这条记录上没有 `parks` 这一键(旧引擎写的)⇒ **证不出**有没有 park;
121
- * · `[]` —— 这条记录有这一键且是空的 ⇒ 一句正面事实:这条 run 上没有 park。
122
- * 🔴 **坏行只丢自己**(与本包 `wiring_manifest.mcp[]` 的处置同尺):三键缺一 / 非串 / 空串 的行
123
- * 整条丢弃,其余行保序留下;**非空输入而全部坏行 ⇒ 返回 `[]`**?—— **不**:那会把「读不出」
124
- * 伪装成「零 park」。全坏 ⇒ `undefined`(诚实缺席)。
125
- * 🔴 `parks` 不是数组(对象 / 串 / null)⇒ 当整键缺席(非投影口喂进来的形)。
126
- * 🔴 纯函数、零副作用、**绝不抛**。
127
- */
128
53
  export declare function readWorkflowParks(run: unknown): readonly WorkflowParkRowView[] | undefined;
129
- /**
130
- * `GET /v1/workflows/:id` 的 `resumeAdmissionIncomplete`(core 7.18.0 #755,0.68.3 CC-05)——
131
- * 「这条 resume run 的准入**没有完成**」:记录从创建起带 `true`,准入完成那一刻**删键**。
132
- *
133
- * 🔴 **在场 = 不是 resume 基**(引擎自己会拒 `workflow.park_truth_unreadable` / `admission_incomplete`,
134
- * 且不从它派生候选);缺席 = 每条非 resume run 与每次完成了的准入的常态。⇒ 读者只认在场,
135
- * 缺席不是断言。never-false:严格 `true` 才算在场,其余一律缺席。
136
- * 🔴 与 {@link readWorkflowParks} **同一条投影义务**(core 顶注逐字:dropping it turns a refused record
137
- * back into an admissible one)—— 端渲 resume 候选 / 面板行时**必须**带上这一位;本包不把它折进
138
- * `parks` 的缺席(那一形有自己的两义,见 `readWorkflowParks` 顶注)。
139
- * 🔴 纯函数、零副作用、绝不抛;坏载体 ⇒ `false`(不是「读不出」:这一位没有第三态)。
140
- */
141
54
  export declare function readWorkflowResumeAdmissionIncomplete(run: unknown): boolean;
142
- /** 台账里的一个 agent(读口产物,只读快照;缺席 = 不知道,绝不渲成 0/空)。 */
143
55
  export interface WorkflowActivityAgentView {
144
- /** `ctx.agent` 调用的稳定身份(SSE 主键);老引擎/无 callKey 的帧上缺席。 */
145
56
  callKey?: string;
146
57
  label: string;
147
- /** `agent_end.toolCalls` 权威;缺席时 = `agent_activity` 的 start 相位计数(**下界**)。 */
148
58
  toolCalls: number;
149
- /** per-toolCallId 折好的 call 序(上限 {@link MAX_WORKFLOW_ACTIVITY_CALLS},超限丢最老)。 */
150
59
  activity: WorkflowToolCall[];
151
60
  lastToolName?: string;
152
61
  lastToolSummary?: string;
153
- /** `agent_start.model` —— **请求词原样**(不是生效模型)。 */
154
62
  requestedModel?: string;
155
- /** `agent_end.modelResolved` —— 实跑模型;core 的 workflow 记录从不折入它 ⇒ GET 结构上到不了。 */
156
63
  resolvedModel?: string;
157
- /** 尾条 beat 的 ts。 */
158
64
  lastProgressAt?: number;
159
65
  }
160
- /** 台账读口产物。`byLabel` **已排除**归属不可判的 label —— 端侧零重名逻辑。 */
161
66
  export interface WorkflowActivityLedgerView {
162
67
  workflowId: string;
163
68
  byCallKey: ReadonlyMap<string, WorkflowActivityAgentView>;
164
69
  byLabel: ReadonlyMap<string, WorkflowActivityAgentView>;
165
- /** 同 label 多个非 replay 的 agent_start ⇒ 归属不可判(诊断面;`byLabel` 已按它过滤)。 */
166
70
  ambiguousLabels: ReadonlySet<string>;
167
- /** 流已收口(run 终态 / 显式 stop)——数据保留只读,不再消费。 */
168
71
  closed: boolean;
169
- /** 已折入的帧数(反空转:0 = 这条台账一帧都没收到,「全都没有」不构成证据)。 */
170
72
  frames: number;
171
- /** 最近一次 SSE 错误的人话;从没出过错 = null。**诊断面**,不参与归属判定。 */
172
73
  lastError: string | null;
173
74
  }
174
- /** 预热口/单流化源共用的连线配置(与 {@link LiveWorkflowConfig} 同域,workflowId 必填)。 */
175
75
  export interface WorkflowActivityLedgerConfig {
176
76
  baseUrl: string;
177
77
  authToken: string | {
@@ -181,31 +81,9 @@ export interface WorkflowActivityLedgerConfig {
181
81
  workflowId: string;
182
82
  fetchImpl?: typeof fetch;
183
83
  }
184
- /** 台账读口:没有该 id 的台账 ⇒ **null**(不是空视图 —— 「没开过账」与「开了账但一帧没收到」
185
- * 是两件事,端侧据此分辨)。产物只读,按 frames/closed 缓存。 */
186
84
  export declare function readWorkflowActivityLedger(workflowId: string): WorkflowActivityLedgerView | null;
187
- /**
188
- * **预热口**(幂等):fleet 流上见到 running workflow 行就调 —— 从 workflow 起跑积累工具事实,
189
- * monitor 无论何时打开都有自那时起的完整台账。已有台账(哪怕已收口)即早退,**绝不开第二条流**。
190
- */
191
85
  export declare function ensureWorkflowActivityLedger(cfg: WorkflowActivityLedgerConfig): void;
192
- /** fleet 行终态/remove 的收口口(空流收口是主径;这里防重连定时器竞态)。数据保留只读。 */
193
86
  export declare function stopWorkflowActivityLedger(workflowId: string): void;
194
- /** 测试钩:清空全部台账(abort 在飞流)。 */
195
87
  export declare function resetWorkflowActivityLedgers(): void;
196
- /**
197
- * 测试钩:**不起 SSE 流**,直接把一帧喂进(缺则新建)指定 run 的台账 —— 折叠规则走产品那一份
198
- * `foldWorkflowActivityFrame`,不是测试自己抄一份。建出来的台账是 closed 的,后续
199
- * `ensureWorkflowActivityLedger` 命中它即早退,离线单测因此永不触网。
200
- */
201
88
  export declare function __feedWorkflowActivityFrameForTests(workflowId: string, frame: WorkflowStreamEvent): void;
202
- /**
203
- * createLiveWorkflowSource({ baseUrl, authToken, principal, workflowId? }) — the LIVE workflow-monitor source.
204
- *
205
- * Constructs the AgentClient and kicks off a background loop that (1) resolves a run id (explicit config, else
206
- * the first running run from `list()`), (2) snapshots it via `get()` → project → store, and (3) follows
207
- * `stream()` as a change-ticker (re-`get()` throttled on each frame). Every step is degrade-safe: a 501 (S8
208
- * off) / 404 (non-owner/absent) / empty list / connection error is RECORDED (status().degraded/code) and
209
- * leaves `snapshot()` null so the host falls back to the mock/empty state — the source never throws into it.
210
- */
211
89
  export declare function createLiveWorkflowSource(config: LiveWorkflowConfig): LiveWorkflowController;