agentfootprint 2.14.5 → 3.1.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 (314) hide show
  1. package/README.md +1 -1
  2. package/dist/cache/CacheDecisionSubflow.js +13 -16
  3. package/dist/cache/CacheDecisionSubflow.js.map +1 -1
  4. package/dist/cache/CacheGateDecider.js +18 -3
  5. package/dist/cache/CacheGateDecider.js.map +1 -1
  6. package/dist/cache/cacheRecorder.js +12 -3
  7. package/dist/cache/cacheRecorder.js.map +1 -1
  8. package/dist/conventions.js +155 -4
  9. package/dist/conventions.js.map +1 -1
  10. package/dist/core/Agent.js +115 -32
  11. package/dist/core/Agent.js.map +1 -1
  12. package/dist/core/LLMCall.js +213 -41
  13. package/dist/core/LLMCall.js.map +1 -1
  14. package/dist/core/RunnerBase.js +187 -0
  15. package/dist/core/RunnerBase.js.map +1 -1
  16. package/dist/core/agent/buildAgentChart.js +127 -48
  17. package/dist/core/agent/buildAgentChart.js.map +1 -1
  18. package/dist/core/agent/buildAgentMessageApiChart.js +201 -0
  19. package/dist/core/agent/buildAgentMessageApiChart.js.map +1 -0
  20. package/dist/core/agent/buildCacheSubflow.js +62 -0
  21. package/dist/core/agent/buildCacheSubflow.js.map +1 -0
  22. package/dist/core/agent/buildDynamicAgentChart.js +364 -0
  23. package/dist/core/agent/buildDynamicAgentChart.js.map +1 -0
  24. package/dist/core/agent/buildMessageApiChart.js +154 -0
  25. package/dist/core/agent/buildMessageApiChart.js.map +1 -0
  26. package/dist/core/agent/stages/callLLM.js +11 -0
  27. package/dist/core/agent/stages/callLLM.js.map +1 -1
  28. package/dist/core/agent/stages/reliabilityExecution.js +64 -9
  29. package/dist/core/agent/stages/reliabilityExecution.js.map +1 -1
  30. package/dist/core/humanizeLLMError.js +66 -0
  31. package/dist/core/humanizeLLMError.js.map +1 -0
  32. package/dist/core/runner.js +4 -3
  33. package/dist/core/runner.js.map +1 -1
  34. package/dist/core/slots/buildMessagesSlot.js +2 -2
  35. package/dist/core/slots/buildMessagesSlot.js.map +1 -1
  36. package/dist/core/slots/buildSystemPromptSlot.js +1 -1
  37. package/dist/core/slots/buildSystemPromptSlot.js.map +1 -1
  38. package/dist/core/slots/buildThinkingSubflow.js +1 -1
  39. package/dist/core/slots/buildThinkingSubflow.js.map +1 -1
  40. package/dist/core/slots/buildToolsSlot.js +3 -1
  41. package/dist/core/slots/buildToolsSlot.js.map +1 -1
  42. package/dist/core/translator.js +32 -0
  43. package/dist/core/translator.js.map +1 -0
  44. package/dist/core-flow/Conditional.js +72 -10
  45. package/dist/core-flow/Conditional.js.map +1 -1
  46. package/dist/core-flow/Loop.js +59 -16
  47. package/dist/core-flow/Loop.js.map +1 -1
  48. package/dist/core-flow/Parallel.js +239 -92
  49. package/dist/core-flow/Parallel.js.map +1 -1
  50. package/dist/core-flow/Sequence.js +50 -8
  51. package/dist/core-flow/Sequence.js.map +1 -1
  52. package/dist/esm/cache/CacheDecisionSubflow.js +11 -15
  53. package/dist/esm/cache/CacheDecisionSubflow.js.map +1 -1
  54. package/dist/esm/cache/CacheGateDecider.js +18 -3
  55. package/dist/esm/cache/CacheGateDecider.js.map +1 -1
  56. package/dist/esm/cache/cacheRecorder.js +12 -3
  57. package/dist/esm/cache/cacheRecorder.js.map +1 -1
  58. package/dist/esm/conventions.js +151 -3
  59. package/dist/esm/conventions.js.map +1 -1
  60. package/dist/esm/core/Agent.js +116 -33
  61. package/dist/esm/core/Agent.js.map +1 -1
  62. package/dist/esm/core/LLMCall.js +213 -41
  63. package/dist/esm/core/LLMCall.js.map +1 -1
  64. package/dist/esm/core/RunnerBase.js +187 -0
  65. package/dist/esm/core/RunnerBase.js.map +1 -1
  66. package/dist/esm/core/agent/buildAgentChart.js +128 -49
  67. package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
  68. package/dist/esm/core/agent/buildAgentMessageApiChart.js +197 -0
  69. package/dist/esm/core/agent/buildAgentMessageApiChart.js.map +1 -0
  70. package/dist/esm/core/agent/buildCacheSubflow.js +58 -0
  71. package/dist/esm/core/agent/buildCacheSubflow.js.map +1 -0
  72. package/dist/esm/core/agent/buildDynamicAgentChart.js +360 -0
  73. package/dist/esm/core/agent/buildDynamicAgentChart.js.map +1 -0
  74. package/dist/esm/core/agent/buildMessageApiChart.js +150 -0
  75. package/dist/esm/core/agent/buildMessageApiChart.js.map +1 -0
  76. package/dist/esm/core/agent/stages/callLLM.js +11 -0
  77. package/dist/esm/core/agent/stages/callLLM.js.map +1 -1
  78. package/dist/esm/core/agent/stages/reliabilityExecution.js +64 -9
  79. package/dist/esm/core/agent/stages/reliabilityExecution.js.map +1 -1
  80. package/dist/esm/core/humanizeLLMError.js +61 -0
  81. package/dist/esm/core/humanizeLLMError.js.map +1 -0
  82. package/dist/esm/core/runner.js +4 -3
  83. package/dist/esm/core/runner.js.map +1 -1
  84. package/dist/esm/core/slots/buildMessagesSlot.js +2 -2
  85. package/dist/esm/core/slots/buildMessagesSlot.js.map +1 -1
  86. package/dist/esm/core/slots/buildSystemPromptSlot.js +1 -1
  87. package/dist/esm/core/slots/buildSystemPromptSlot.js.map +1 -1
  88. package/dist/esm/core/slots/buildThinkingSubflow.js +1 -1
  89. package/dist/esm/core/slots/buildThinkingSubflow.js.map +1 -1
  90. package/dist/esm/core/slots/buildToolsSlot.js +3 -1
  91. package/dist/esm/core/slots/buildToolsSlot.js.map +1 -1
  92. package/dist/esm/core/translator.js +31 -0
  93. package/dist/esm/core/translator.js.map +1 -0
  94. package/dist/esm/core-flow/Conditional.js +72 -10
  95. package/dist/esm/core-flow/Conditional.js.map +1 -1
  96. package/dist/esm/core-flow/Loop.js +59 -16
  97. package/dist/esm/core-flow/Loop.js.map +1 -1
  98. package/dist/esm/core-flow/Parallel.js +240 -93
  99. package/dist/esm/core-flow/Parallel.js.map +1 -1
  100. package/dist/esm/core-flow/Sequence.js +50 -8
  101. package/dist/esm/core-flow/Sequence.js.map +1 -1
  102. package/dist/esm/events/registry.js +10 -0
  103. package/dist/esm/events/registry.js.map +1 -1
  104. package/dist/esm/index.js +22 -1
  105. package/dist/esm/index.js.map +1 -1
  106. package/dist/esm/lib/injection-engine/buildInjectionEngineSubflow.js +16 -9
  107. package/dist/esm/lib/injection-engine/buildInjectionEngineSubflow.js.map +1 -1
  108. package/dist/esm/memory/causal/snapshotPipeline.js +6 -2
  109. package/dist/esm/memory/causal/snapshotPipeline.js.map +1 -1
  110. package/dist/esm/memory/pipeline/auto.js +2 -2
  111. package/dist/esm/memory/pipeline/auto.js.map +1 -1
  112. package/dist/esm/memory/pipeline/default.js +4 -2
  113. package/dist/esm/memory/pipeline/default.js.map +1 -1
  114. package/dist/esm/memory/pipeline/ephemeral.js +3 -1
  115. package/dist/esm/memory/pipeline/ephemeral.js.map +1 -1
  116. package/dist/esm/memory/pipeline/fact.js +4 -2
  117. package/dist/esm/memory/pipeline/fact.js.map +1 -1
  118. package/dist/esm/memory/pipeline/narrative.js +4 -2
  119. package/dist/esm/memory/pipeline/narrative.js.map +1 -1
  120. package/dist/esm/memory/pipeline/semantic.js +2 -2
  121. package/dist/esm/memory/pipeline/semantic.js.map +1 -1
  122. package/dist/esm/observe.js +1 -1
  123. package/dist/esm/observe.js.map +1 -1
  124. package/dist/esm/patterns/MapReduce.js +5 -5
  125. package/dist/esm/patterns/MapReduce.js.map +1 -1
  126. package/dist/esm/patterns/Swarm.js +1 -1
  127. package/dist/esm/patterns/Swarm.js.map +1 -1
  128. package/dist/esm/recorders/core/ContextEvaluatedRecorder.js +31 -0
  129. package/dist/esm/recorders/core/ContextEvaluatedRecorder.js.map +1 -0
  130. package/dist/esm/recorders/core/ContextRecorder.js +12 -14
  131. package/dist/esm/recorders/core/ContextRecorder.js.map +1 -1
  132. package/dist/esm/recorders/core/ErrorBridge.js +59 -0
  133. package/dist/esm/recorders/core/ErrorBridge.js.map +1 -0
  134. package/dist/esm/recorders/core/ReliabilityRecorder.js +29 -0
  135. package/dist/esm/recorders/core/ReliabilityRecorder.js.map +1 -0
  136. package/dist/esm/recorders/observability/BoundaryRecorder.js +338 -36
  137. package/dist/esm/recorders/observability/BoundaryRecorder.js.map +1 -1
  138. package/dist/esm/recorders/observability/FlowchartRecorder.js +10 -0
  139. package/dist/esm/recorders/observability/FlowchartRecorder.js.map +1 -1
  140. package/dist/esm/recorders/observability/LiveStateRecorder.js +120 -21
  141. package/dist/esm/recorders/observability/LiveStateRecorder.js.map +1 -1
  142. package/dist/esm/recorders/observability/RunStepRecorder.js +652 -0
  143. package/dist/esm/recorders/observability/RunStepRecorder.js.map +1 -0
  144. package/dist/esm/recorders/observability/commentary/commentaryTemplates.js +1 -0
  145. package/dist/esm/recorders/observability/commentary/commentaryTemplates.js.map +1 -1
  146. package/dist/esm/recorders/observability/internal/ActorArrowClassifier.js +34 -0
  147. package/dist/esm/recorders/observability/internal/ActorArrowClassifier.js.map +1 -0
  148. package/dist/esm/recorders/observability/internal/CandidateAnswerBuffer.js +32 -0
  149. package/dist/esm/recorders/observability/internal/CandidateAnswerBuffer.js.map +1 -0
  150. package/dist/esm/recorders/observability/internal/ForkTracker.js +84 -0
  151. package/dist/esm/recorders/observability/internal/ForkTracker.js.map +1 -0
  152. package/dist/esm/recorders/observability/internal/RootInferrer.js +114 -0
  153. package/dist/esm/recorders/observability/internal/RootInferrer.js.map +1 -0
  154. package/dist/esm/recorders/observability/internal/SequenceSiblingTracker.js +31 -0
  155. package/dist/esm/recorders/observability/internal/SequenceSiblingTracker.js.map +1 -0
  156. package/dist/esm/recorders/observability/observeRunId.js +21 -0
  157. package/dist/esm/recorders/observability/observeRunId.js.map +1 -0
  158. package/dist/esm/reliability/buildReliabilityGateChart.js +11 -5
  159. package/dist/esm/reliability/buildReliabilityGateChart.js.map +1 -1
  160. package/dist/events/registry.js +10 -0
  161. package/dist/events/registry.js.map +1 -1
  162. package/dist/index.js +30 -3
  163. package/dist/index.js.map +1 -1
  164. package/dist/lib/injection-engine/buildInjectionEngineSubflow.js +16 -9
  165. package/dist/lib/injection-engine/buildInjectionEngineSubflow.js.map +1 -1
  166. package/dist/memory/causal/snapshotPipeline.js +6 -2
  167. package/dist/memory/causal/snapshotPipeline.js.map +1 -1
  168. package/dist/memory/pipeline/auto.js +2 -2
  169. package/dist/memory/pipeline/auto.js.map +1 -1
  170. package/dist/memory/pipeline/default.js +4 -2
  171. package/dist/memory/pipeline/default.js.map +1 -1
  172. package/dist/memory/pipeline/ephemeral.js +3 -1
  173. package/dist/memory/pipeline/ephemeral.js.map +1 -1
  174. package/dist/memory/pipeline/fact.js +4 -2
  175. package/dist/memory/pipeline/fact.js.map +1 -1
  176. package/dist/memory/pipeline/narrative.js +4 -2
  177. package/dist/memory/pipeline/narrative.js.map +1 -1
  178. package/dist/memory/pipeline/semantic.js +2 -2
  179. package/dist/memory/pipeline/semantic.js.map +1 -1
  180. package/dist/observe.js +1 -1
  181. package/dist/observe.js.map +1 -1
  182. package/dist/patterns/MapReduce.js +5 -5
  183. package/dist/patterns/MapReduce.js.map +1 -1
  184. package/dist/patterns/Swarm.js +1 -1
  185. package/dist/patterns/Swarm.js.map +1 -1
  186. package/dist/recorders/core/ContextEvaluatedRecorder.js +35 -0
  187. package/dist/recorders/core/ContextEvaluatedRecorder.js.map +1 -0
  188. package/dist/recorders/core/ContextRecorder.js +11 -13
  189. package/dist/recorders/core/ContextRecorder.js.map +1 -1
  190. package/dist/recorders/core/ErrorBridge.js +64 -0
  191. package/dist/recorders/core/ErrorBridge.js.map +1 -0
  192. package/dist/recorders/core/ReliabilityRecorder.js +33 -0
  193. package/dist/recorders/core/ReliabilityRecorder.js.map +1 -0
  194. package/dist/recorders/observability/BoundaryRecorder.js +337 -35
  195. package/dist/recorders/observability/BoundaryRecorder.js.map +1 -1
  196. package/dist/recorders/observability/FlowchartRecorder.js +10 -0
  197. package/dist/recorders/observability/FlowchartRecorder.js.map +1 -1
  198. package/dist/recorders/observability/LiveStateRecorder.js +119 -20
  199. package/dist/recorders/observability/LiveStateRecorder.js.map +1 -1
  200. package/dist/recorders/observability/RunStepRecorder.js +658 -0
  201. package/dist/recorders/observability/RunStepRecorder.js.map +1 -0
  202. package/dist/recorders/observability/commentary/commentaryTemplates.js +1 -0
  203. package/dist/recorders/observability/commentary/commentaryTemplates.js.map +1 -1
  204. package/dist/recorders/observability/internal/ActorArrowClassifier.js +38 -0
  205. package/dist/recorders/observability/internal/ActorArrowClassifier.js.map +1 -0
  206. package/dist/recorders/observability/internal/CandidateAnswerBuffer.js +36 -0
  207. package/dist/recorders/observability/internal/CandidateAnswerBuffer.js.map +1 -0
  208. package/dist/recorders/observability/internal/ForkTracker.js +88 -0
  209. package/dist/recorders/observability/internal/ForkTracker.js.map +1 -0
  210. package/dist/recorders/observability/internal/RootInferrer.js +118 -0
  211. package/dist/recorders/observability/internal/RootInferrer.js.map +1 -0
  212. package/dist/recorders/observability/internal/SequenceSiblingTracker.js +35 -0
  213. package/dist/recorders/observability/internal/SequenceSiblingTracker.js.map +1 -0
  214. package/dist/recorders/observability/observeRunId.js +25 -0
  215. package/dist/recorders/observability/observeRunId.js.map +1 -0
  216. package/dist/reliability/buildReliabilityGateChart.js +11 -5
  217. package/dist/reliability/buildReliabilityGateChart.js.map +1 -1
  218. package/dist/types/cache/CacheDecisionSubflow.d.ts +7 -10
  219. package/dist/types/cache/CacheDecisionSubflow.d.ts.map +1 -1
  220. package/dist/types/cache/CacheGateDecider.d.ts +16 -2
  221. package/dist/types/cache/CacheGateDecider.d.ts.map +1 -1
  222. package/dist/types/cache/cacheRecorder.d.ts.map +1 -1
  223. package/dist/types/conventions.d.ts +101 -1
  224. package/dist/types/conventions.d.ts.map +1 -1
  225. package/dist/types/core/Agent.d.ts +28 -18
  226. package/dist/types/core/Agent.d.ts.map +1 -1
  227. package/dist/types/core/LLMCall.d.ts +73 -11
  228. package/dist/types/core/LLMCall.d.ts.map +1 -1
  229. package/dist/types/core/RunnerBase.d.ts +136 -4
  230. package/dist/types/core/RunnerBase.d.ts.map +1 -1
  231. package/dist/types/core/agent/buildAgentChart.d.ts +38 -19
  232. package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
  233. package/dist/types/core/agent/buildAgentMessageApiChart.d.ts +41 -0
  234. package/dist/types/core/agent/buildAgentMessageApiChart.d.ts.map +1 -0
  235. package/dist/types/core/agent/buildCacheSubflow.d.ts +36 -0
  236. package/dist/types/core/agent/buildCacheSubflow.d.ts.map +1 -0
  237. package/dist/types/core/agent/buildDynamicAgentChart.d.ts +57 -0
  238. package/dist/types/core/agent/buildDynamicAgentChart.d.ts.map +1 -0
  239. package/dist/types/core/agent/buildMessageApiChart.d.ts +48 -0
  240. package/dist/types/core/agent/buildMessageApiChart.d.ts.map +1 -0
  241. package/dist/types/core/agent/stages/callLLM.d.ts.map +1 -1
  242. package/dist/types/core/agent/stages/reliabilityExecution.d.ts.map +1 -1
  243. package/dist/types/core/agent/types.d.ts +96 -0
  244. package/dist/types/core/agent/types.d.ts.map +1 -1
  245. package/dist/types/core/humanizeLLMError.d.ts +24 -0
  246. package/dist/types/core/humanizeLLMError.d.ts.map +1 -0
  247. package/dist/types/core/runner.d.ts +51 -5
  248. package/dist/types/core/runner.d.ts.map +1 -1
  249. package/dist/types/core/slots/buildMessagesSlot.d.ts.map +1 -1
  250. package/dist/types/core/slots/buildSystemPromptSlot.d.ts.map +1 -1
  251. package/dist/types/core/slots/buildThinkingSubflow.d.ts.map +1 -1
  252. package/dist/types/core/slots/buildToolsSlot.d.ts.map +1 -1
  253. package/dist/types/core/translator.d.ts +95 -0
  254. package/dist/types/core/translator.d.ts.map +1 -0
  255. package/dist/types/core-flow/Conditional.d.ts +48 -4
  256. package/dist/types/core-flow/Conditional.d.ts.map +1 -1
  257. package/dist/types/core-flow/Loop.d.ts +42 -3
  258. package/dist/types/core-flow/Loop.d.ts.map +1 -1
  259. package/dist/types/core-flow/Parallel.d.ts +99 -4
  260. package/dist/types/core-flow/Parallel.d.ts.map +1 -1
  261. package/dist/types/core-flow/Sequence.d.ts +49 -3
  262. package/dist/types/core-flow/Sequence.d.ts.map +1 -1
  263. package/dist/types/events/payloads.d.ts +99 -1
  264. package/dist/types/events/payloads.d.ts.map +1 -1
  265. package/dist/types/events/registry.d.ts +11 -1
  266. package/dist/types/events/registry.d.ts.map +1 -1
  267. package/dist/types/index.d.ts +8 -3
  268. package/dist/types/index.d.ts.map +1 -1
  269. package/dist/types/lib/injection-engine/buildInjectionEngineSubflow.d.ts.map +1 -1
  270. package/dist/types/memory/causal/snapshotPipeline.d.ts.map +1 -1
  271. package/dist/types/memory/pipeline/auto.d.ts.map +1 -1
  272. package/dist/types/memory/pipeline/default.d.ts.map +1 -1
  273. package/dist/types/memory/pipeline/ephemeral.d.ts.map +1 -1
  274. package/dist/types/memory/pipeline/fact.d.ts.map +1 -1
  275. package/dist/types/memory/pipeline/narrative.d.ts.map +1 -1
  276. package/dist/types/memory/pipeline/semantic.d.ts.map +1 -1
  277. package/dist/types/observe.d.ts +2 -2
  278. package/dist/types/observe.d.ts.map +1 -1
  279. package/dist/types/recorders/core/ContextEvaluatedRecorder.d.ts +24 -0
  280. package/dist/types/recorders/core/ContextEvaluatedRecorder.d.ts.map +1 -0
  281. package/dist/types/recorders/core/ContextRecorder.d.ts +0 -2
  282. package/dist/types/recorders/core/ContextRecorder.d.ts.map +1 -1
  283. package/dist/types/recorders/core/ErrorBridge.d.ts +39 -0
  284. package/dist/types/recorders/core/ErrorBridge.d.ts.map +1 -0
  285. package/dist/types/recorders/core/ReliabilityRecorder.d.ts +25 -0
  286. package/dist/types/recorders/core/ReliabilityRecorder.d.ts.map +1 -0
  287. package/dist/types/recorders/observability/BoundaryRecorder.d.ts +167 -6
  288. package/dist/types/recorders/observability/BoundaryRecorder.d.ts.map +1 -1
  289. package/dist/types/recorders/observability/FlowchartRecorder.d.ts.map +1 -1
  290. package/dist/types/recorders/observability/LiveStateRecorder.d.ts +42 -6
  291. package/dist/types/recorders/observability/LiveStateRecorder.d.ts.map +1 -1
  292. package/dist/types/recorders/observability/RunStepRecorder.d.ts +232 -0
  293. package/dist/types/recorders/observability/RunStepRecorder.d.ts.map +1 -0
  294. package/dist/types/recorders/observability/commentary/commentaryTemplates.d.ts.map +1 -1
  295. package/dist/types/recorders/observability/internal/ActorArrowClassifier.d.ts +26 -0
  296. package/dist/types/recorders/observability/internal/ActorArrowClassifier.d.ts.map +1 -0
  297. package/dist/types/recorders/observability/internal/CandidateAnswerBuffer.d.ts +29 -0
  298. package/dist/types/recorders/observability/internal/CandidateAnswerBuffer.d.ts.map +1 -0
  299. package/dist/types/recorders/observability/internal/ForkTracker.d.ts +61 -0
  300. package/dist/types/recorders/observability/internal/ForkTracker.d.ts.map +1 -0
  301. package/dist/types/recorders/observability/internal/RootInferrer.d.ts +52 -0
  302. package/dist/types/recorders/observability/internal/RootInferrer.d.ts.map +1 -0
  303. package/dist/types/recorders/observability/internal/SequenceSiblingTracker.d.ts +25 -0
  304. package/dist/types/recorders/observability/internal/SequenceSiblingTracker.d.ts.map +1 -0
  305. package/dist/types/recorders/observability/observeRunId.d.ts +37 -0
  306. package/dist/types/recorders/observability/observeRunId.d.ts.map +1 -0
  307. package/dist/types/reliability/buildReliabilityGateChart.d.ts.map +1 -1
  308. package/package.json +6 -5
  309. package/dist/core/agent/stages/iterationStart.js +0 -24
  310. package/dist/core/agent/stages/iterationStart.js.map +0 -1
  311. package/dist/esm/core/agent/stages/iterationStart.js +0 -20
  312. package/dist/esm/core/agent/stages/iterationStart.js.map +0 -1
  313. package/dist/types/core/agent/stages/iterationStart.d.ts +0 -16
  314. package/dist/types/core/agent/stages/iterationStart.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Conditional.js","sourceRoot":"","sources":["../../src/core-flow/Conditional.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Conditional.js","sourceRoot":"","sources":["../../src/core-flow/Conditional.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,10 @@ class Loop extends RunnerBase_js_1.RunnerBase {
33
33
  maxIterations;
34
34
  maxWallclockMs;
35
35
  until;
36
+ opts;
37
+ /** Per-method translator override on `.repeat()`, when set. Applies
38
+ * to the body member's `uiGroup`. */
39
+ bodyTranslator;
36
40
  currentRunContext = {
37
41
  runStartMs: 0,
38
42
  runId: 'pending',
@@ -40,21 +44,55 @@ class Loop extends RunnerBase_js_1.RunnerBase {
40
44
  };
41
45
  constructor(opts, body, config) {
42
46
  super();
47
+ this.opts = opts;
43
48
  this.name = opts.name ?? 'Loop';
44
49
  this.id = opts.id ?? 'loop';
45
50
  this.body = body;
46
51
  this.maxIterations = clampIterations(config.maxIterations);
47
52
  this.maxWallclockMs = config.maxWallclockMs;
48
53
  this.until = config.until;
54
+ this.bodyTranslator = config.bodyTranslator;
55
+ // Eager chart construction — see `RunnerBase.initChart` JSDoc.
56
+ this.initChart(() => this.buildChart());
49
57
  }
50
58
  static create(opts = {}) {
51
59
  return new LoopBuilder(opts);
52
60
  }
53
- toFlowChart() {
54
- return this.buildChart();
61
+ // `getSpec()` inherited from RunnerBase — returns the cached chart.
62
+ // ─── UI group translation (L1b) ───────────────────────────────
63
+ getGroupTranslator() {
64
+ return this.opts.groupTranslator;
65
+ }
66
+ /** Loop has a single body member + iteration budgets in `extra`.
67
+ * Per-method override (L1c) takes precedence over the body
68
+ * runner's own translator. */
69
+ buildUIGroupMetadata() {
70
+ const members = [
71
+ {
72
+ memberId: 'body',
73
+ runner: this.body,
74
+ uiGroup: this.bodyTranslator !== undefined
75
+ ? this.body.getUIGroupWith(this.bodyTranslator)
76
+ : this.body.getUIGroup(),
77
+ },
78
+ ];
79
+ return {
80
+ kind: 'Loop',
81
+ id: this.id,
82
+ name: this.name,
83
+ members,
84
+ extra: {
85
+ maxIterations: this.maxIterations,
86
+ ...(this.maxWallclockMs !== undefined && {
87
+ maxWallclockMs: this.maxWallclockMs,
88
+ }),
89
+ hasUntilGuard: this.until !== undefined,
90
+ },
91
+ };
55
92
  }
56
93
  async run(input, options) {
57
94
  const executor = this.createExecutor();
95
+ this.lastExecutor = executor;
58
96
  const result = await executor.run({
59
97
  input: { message: input.message },
60
98
  ...(options ?? {}),
@@ -73,8 +111,8 @@ class Loop extends RunnerBase_js_1.RunnerBase {
73
111
  runId: (0, RunnerBase_js_1.makeRunId)(),
74
112
  compositionPath: [`Loop:${this.id}`],
75
113
  };
76
- const chart = this.buildChart();
77
- const executor = new footprintjs_1.FlowChartExecutor(chart);
114
+ // Reuse the cached chart built at constructor time.
115
+ const executor = new footprintjs_1.FlowChartExecutor(this.getSpec());
78
116
  const dispatcher = this.getDispatcher();
79
117
  const getRunCtx = () => this.currentRunContext;
80
118
  executor.attachCombinedRecorder(new ContextRecorder_js_1.ContextRecorder({ dispatcher, getRunContext: getRunCtx }));
@@ -174,9 +212,14 @@ class Loop extends RunnerBase_js_1.RunnerBase {
174
212
  };
175
213
  // Root description prefix `Loop:` is the taxonomy marker — see
176
214
  // FlowchartRecorder.mapTopologyToSteps for the consumer side.
177
- return (0, footprintjs_1.flowChart)('Seed', seed, 'seed', undefined, 'Loop: iterated body')
215
+ return (0, footprintjs_1.flowChart)('Initialize', seed, 'seed', {
216
+ ...(this.opts.structureRecorders !== undefined && {
217
+ structureRecorders: [...this.opts.structureRecorders],
218
+ }),
219
+ description: 'Loop: iterated body',
220
+ })
178
221
  .addFunction('IterationStart', iterationStart, 'iteration-start', 'Loop iteration marker')
179
- .addSubFlowChartNext('body', body.toFlowChart(), 'body', {
222
+ .addSubFlowChartNext('body', body.getSpec(), 'body', {
180
223
  inputMapper: (parent) => ({ message: parent.current ?? '' }),
181
224
  // Body's string return becomes next iteration's input via `current`.
182
225
  outputMapper: (sfOutput) => ({
@@ -189,18 +232,10 @@ class Loop extends RunnerBase_js_1.RunnerBase {
189
232
  }
190
233
  }
191
234
  exports.Loop = Loop;
192
- /**
193
- * Fluent builder. Reads as natural English:
194
- * Loop.create().repeat(runner).times(10).forAtMost(30_000).until(fn).build()
195
- * → "Loop: repeat runner, up to 10 times, for at most 30 seconds, until fn."
196
- *
197
- * Enforces a body runner is supplied before .build(). Default budget is
198
- * 10 iterations (hard ceiling 500). Any of .times / .forAtMost / .until
199
- * can fire to exit the loop.
200
- */
201
235
  class LoopBuilder {
202
236
  opts;
203
237
  _body;
238
+ _bodyTranslator;
204
239
  _maxIterations;
205
240
  _maxWallclockMs;
206
241
  _until;
@@ -210,12 +245,19 @@ class LoopBuilder {
210
245
  /**
211
246
  * The runner that executes each iteration. Required.
212
247
  * Each iteration's output string becomes the next iteration's input `{ message }`.
248
+ *
249
+ * Optional second arg `opts.groupTranslator` overrides the body
250
+ * runner's own translator for THIS loop only — only its
251
+ * `member.uiGroup` flips to the override's output.
213
252
  */
214
- repeat(runner) {
253
+ repeat(runner, opts) {
215
254
  if (this._body !== undefined) {
216
255
  throw new Error('Loop.repeat(): already set');
217
256
  }
218
257
  this._body = runner;
258
+ if (opts?.groupTranslator !== undefined) {
259
+ this._bodyTranslator = opts.groupTranslator;
260
+ }
219
261
  return this;
220
262
  }
221
263
  /**
@@ -251,6 +293,7 @@ class LoopBuilder {
251
293
  maxIterations,
252
294
  ...(this._maxWallclockMs !== undefined && { maxWallclockMs: this._maxWallclockMs }),
253
295
  ...(this._until !== undefined && { until: this._until }),
296
+ ...(this._bodyTranslator !== undefined && { bodyTranslator: this._bodyTranslator }),
254
297
  });
255
298
  }
256
299
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Loop.js","sourceRoot":"","sources":["../../src/core-flow/Loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Loop.js","sourceRoot":"","sources":["../../src/core-flow/Loop.ts"],"names":[],"mappings":"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"}
@@ -25,13 +25,29 @@ class Parallel extends RunnerBase_js_1.RunnerBase {
25
25
  id;
26
26
  branches;
27
27
  merge;
28
+ opts;
28
29
  currentRunContext = {
29
30
  runStartMs: 0,
30
31
  runId: 'pending',
31
32
  compositionPath: [],
32
33
  };
34
+ /**
35
+ * Per-branch first-error messages captured during the current run.
36
+ *
37
+ * Filled by an internal CombinedRecorder attached in `createExecutor()`
38
+ * that observes footprintjs `FlowErrorEvent`s. Errors are keyed by the
39
+ * branch id (the first segment of `traversalContext.subflowPath`); only
40
+ * the first error per branch is kept so the surface mirrors the wrapper
41
+ * `try/catch` semantics that preceded the v0.x architectural refactor.
42
+ *
43
+ * Read by the Merge stage to populate strict-mode error messages and
44
+ * tolerant-mode `BranchOutcome.error` strings. Cleared at the start of
45
+ * every `run()` / `resume()`.
46
+ */
47
+ branchErrors = new Map();
33
48
  constructor(opts, branches, merge) {
34
49
  super();
50
+ this.opts = opts;
35
51
  this.name = opts.name ?? 'Parallel';
36
52
  this.id = opts.id ?? 'parallel';
37
53
  if (branches.length < 2) {
@@ -39,15 +55,53 @@ class Parallel extends RunnerBase_js_1.RunnerBase {
39
55
  }
40
56
  this.branches = branches;
41
57
  this.merge = merge;
58
+ // Eager chart construction — see `RunnerBase.initChart` JSDoc.
59
+ // Safe: the merge stage's closure captures `this.branchErrors`
60
+ // (an instance field initialized at declaration time, line 130),
61
+ // which is set BEFORE the constructor body runs.
62
+ this.initChart(() => this.buildChart());
42
63
  }
43
64
  static create(opts = {}) {
44
65
  return new ParallelBuilder(opts);
45
66
  }
46
- toFlowChart() {
47
- return this.buildChart();
67
+ // `getSpec()` inherited from RunnerBase — returns the cached chart.
68
+ // ─── UI group translation (L1b) ───────────────────────────────
69
+ getGroupTranslator() {
70
+ return this.opts.groupTranslator;
71
+ }
72
+ /**
73
+ * Build the Parallel's `GroupMetadata` — kind `'Parallel'`, with one
74
+ * `GroupMember` per branch. Each member exposes its `runner` plus
75
+ * the runner's own `getUIGroup()` output (when the consumer
76
+ * threaded the same translator through that branch's construction).
77
+ */
78
+ buildUIGroupMetadata() {
79
+ const members = this.branches.map((b) => ({
80
+ memberId: b.id,
81
+ runner: b.runner,
82
+ // Per-method override (L1c) takes precedence over the branch
83
+ // runner's own constructor-level translator. When present, the
84
+ // override runs against the branch runner's own GroupMetadata
85
+ // and its output becomes `member.uiGroup`. When absent, fall
86
+ // back to `branch.runner.getUIGroup()` which applies the
87
+ // runner's own translator (if any).
88
+ uiGroup: b.groupTranslator !== undefined
89
+ ? b.runner.getUIGroupWith(b.groupTranslator)
90
+ : b.runner.getUIGroup(),
91
+ }));
92
+ return {
93
+ kind: 'Parallel',
94
+ id: this.id,
95
+ name: this.name,
96
+ members,
97
+ extra: {
98
+ mergeStrategy: this.merge.kind,
99
+ },
100
+ };
48
101
  }
49
102
  async run(input, options) {
50
103
  const executor = this.createExecutor();
104
+ this.lastExecutor = executor;
51
105
  const result = await executor.run({
52
106
  input: { message: input.message },
53
107
  ...(options ?? {}),
@@ -66,18 +120,71 @@ class Parallel extends RunnerBase_js_1.RunnerBase {
66
120
  runId: (0, RunnerBase_js_1.makeRunId)(),
67
121
  compositionPath: [`Parallel:${this.id}`],
68
122
  };
69
- const chart = this.buildChart();
70
- const executor = new footprintjs_1.FlowChartExecutor(chart);
123
+ // Reset per-run branch-error capture. Fork children now mount the
124
+ // branch runner's own chart (no try/catch wrapper); errors are
125
+ // captured via FlowRecorder.onError correlation by subflow path.
126
+ this.branchErrors.clear();
127
+ // Reuse the cached chart built at constructor time.
128
+ const executor = new footprintjs_1.FlowChartExecutor(this.getSpec());
71
129
  const dispatcher = this.getDispatcher();
72
130
  const getRunCtx = () => this.currentRunContext;
73
131
  executor.attachCombinedRecorder(new ContextRecorder_js_1.ContextRecorder({ dispatcher, getRunContext: getRunCtx }));
74
132
  executor.attachCombinedRecorder((0, StreamRecorder_js_1.streamRecorder)({ dispatcher, getRunContext: getRunCtx }));
75
133
  executor.attachCombinedRecorder((0, AgentRecorder_js_1.agentRecorder)({ dispatcher, getRunContext: getRunCtx }));
76
134
  executor.attachCombinedRecorder((0, CompositionRecorder_js_1.compositionRecorder)({ dispatcher, getRunContext: getRunCtx }));
135
+ executor.attachCombinedRecorder(this.makeBranchErrorRecorder());
77
136
  for (const r of this.attachedRecorders)
78
137
  executor.attachCombinedRecorder(r);
79
138
  return executor;
80
139
  }
140
+ /**
141
+ * Build the internal recorder that captures first-error-per-branch.
142
+ *
143
+ * footprintjs's `SubflowExecutor` swallows subflow errors into
144
+ * `parentContext.debug.addError(...)` and skips the `outputMapper`,
145
+ * so the failed branch's error message never lands in parent scope.
146
+ * To preserve the per-branch error surface the wrapper-based design
147
+ * provided, we observe `FlowRecorder.onError` and correlate by the
148
+ * first segment of `traversalContext.subflowPath`.
149
+ *
150
+ * Only the FIRST error per branch is kept. Errors fired outside any
151
+ * branch (e.g., a Merge-stage error) are ignored.
152
+ */
153
+ makeBranchErrorRecorder() {
154
+ const branchIds = new Set(this.branches.map((b) => b.id));
155
+ return {
156
+ id: 'parallel-branch-errors',
157
+ onError: (event) => {
158
+ if (!(0, footprintjs_1.isFlowEvent)(event))
159
+ return;
160
+ const ctx = event.traversalContext;
161
+ if (!ctx)
162
+ return;
163
+ // The branch id is the first segment of the engine-prefixed
164
+ // `stageId` (e.g. `bad/call-llm` → branch `bad`). `subflowPath`
165
+ // is sometimes empty for first-level subflows, and `subflowId`
166
+ // can be deeper than the branch when LLMCall/Agent mount their
167
+ // own internal subflows. The stageId prefix is the canonical
168
+ // origin path.
169
+ const stageId = ctx.stageId ?? '';
170
+ const slash = stageId.indexOf('/');
171
+ const branchId = slash >= 0 ? stageId.slice(0, slash) : undefined;
172
+ if (branchId === undefined || !branchIds.has(branchId))
173
+ return;
174
+ if (!this.branchErrors.has(branchId)) {
175
+ // Strip the leading "Error: " that `error.toString()` adds
176
+ // for standard `Error` instances so the captured message
177
+ // matches the original `throw new Error(msg)` reason exactly
178
+ // (consumers expect the bare message). Non-Error throws
179
+ // never carry this prefix, so the strip is a no-op there.
180
+ const m = event.message.startsWith('Error: ')
181
+ ? event.message.slice('Error: '.length)
182
+ : event.message;
183
+ this.branchErrors.set(branchId, m);
184
+ }
185
+ },
186
+ };
187
+ }
81
188
  finalizeResult(executor, result) {
82
189
  const paused = this.detectPause(executor, result);
83
190
  if (paused)
@@ -110,36 +217,67 @@ class Parallel extends RunnerBase_js_1.RunnerBase {
110
217
  };
111
218
  // Root description prefix `Parallel:` is the taxonomy marker — see
112
219
  // FlowchartRecorder.mapTopologyToSteps for the consumer side.
113
- let builder = (0, footprintjs_1.flowChart)('Seed', seed, 'seed', undefined, `Parallel: ${branches.length}-way fanout`);
114
- // Fork children each branch is wrapped in a chart that runs the
115
- // branch runner in try/catch. The wrapper always succeeds (no error
116
- // propagates up), so the outputMapper always fires and records a
117
- // typed `BranchOutcome` for the Merge stage to inspect.
220
+ // The 4th arg threads the consumer's `structureRecorders` (when set)
221
+ // into footprintjs's builder so every node in this chart is observed
222
+ // by them at construction time.
223
+ let builder = (0, footprintjs_1.flowChart)('Initialize', seed, 'seed', {
224
+ ...(this.opts.structureRecorders !== undefined && {
225
+ structureRecorders: [...this.opts.structureRecorders],
226
+ }),
227
+ description: `Parallel: ${branches.length}-way fanout`,
228
+ });
229
+ // Fork children — each branch is mounted as a proper subflow via
230
+ // footprintjs's native fork mode. Multiple `addSubFlowChart` calls
231
+ // on the same builder cursor produce a fork node (`type: 'fork'`);
232
+ // `ChildrenExecutor` runs them concurrently via `Promise.allSettled`.
118
233
  //
119
- // Strict mode (default): Merge throws on any branch failure. Tolerant
120
- // mode: Merge passes the full outcomes map to the consumer's merge fn.
234
+ // The branch's OWN chart (its `getSpec()`) is mounted directly no
235
+ // wrapper. This preserves the parent's `runtimeStageId` address
236
+ // space across branch internals: every LLM call, tool execution,
237
+ // and commit inside a branch appears in the parent executor's
238
+ // commitLog with a globally-unique id. Recorder events flow
239
+ // naturally — no `scope.$emit` forwarding needed.
240
+ //
241
+ // Error handling: a failing branch's `outputMapper` does NOT fire
242
+ // (footprintjs convention: `subflowError` skips output mapping).
243
+ // The branch id is absent from `branchResults`. The merge stage
244
+ // detects this via `branches.map(b => b.id) \ keys(branchResults)`
245
+ // and either throws (strict mode) or synthesizes `BranchOutcome`
246
+ // entries for the tolerant `outcomes-fn` merge.
121
247
  for (const branch of branches) {
122
- builder = builder.addSubFlowChart(branch.id, buildBranchWrapperChart(branch), branch.name, {
248
+ builder = builder.addSubFlowChart(branch.id, branch.runner.getSpec(), branch.name, {
123
249
  inputMapper: (parent) => ({ message: parent.userMessage ?? '' }),
124
- // The wrapper's terminal stage returns a BranchOutcome. Stash it
125
- // under the branch id; shallow-merge across siblings produces
126
- // the full outcomes map.
127
250
  outputMapper: (sfOutput) => ({
128
- branchOutcomes: {
129
- [branch.id]: sfOutput,
251
+ branchResults: {
252
+ [branch.id]: typeof sfOutput === 'string' ? sfOutput : '',
130
253
  },
131
254
  }),
132
255
  });
133
256
  }
134
257
  // Merge stage — runs after all fork children complete (join point).
258
+ // Closes over `this.branchErrors` (populated by the internal
259
+ // `parallel-branch-errors` recorder) so per-branch error messages
260
+ // survive subflow boundary swallowing in footprintjs.
261
+ const branchErrors = this.branchErrors;
135
262
  const mergeStage = async (scope) => {
136
- const outcomes = scope.branchOutcomes ?? {};
137
- const failures = Object.entries(outcomes).filter(([, o]) => !o.ok);
263
+ const results = scope.branchResults ?? {};
264
+ // Detect failures by absence: any expected branch id missing
265
+ // from `branchResults` is a branch whose `outputMapper` didn't
266
+ // fire — i.e., one whose subflow errored. The specific error
267
+ // message comes from the recorder-captured `branchErrors` map.
268
+ //
269
+ // Caveat: footprintjs does NOT fire `FlowRecorder.onError` for
270
+ // errors thrown INSIDE `applyOutputMapping` (those are caught
271
+ // separately in `SubflowExecutor` and routed to
272
+ // `parentContext.addError('outputMapperError', ...)`). A branch
273
+ // whose subflow completed cleanly but whose outputMapper threw
274
+ // will therefore show up here as a missing id with no entry in
275
+ // `branchErrors` — strict-mode aggregation prints `unknown
276
+ // error` for it and tolerant-mode synthesizes the same string.
277
+ // This is a known gap; see `core-flow/README.md` Decision 8.
278
+ const failedIds = branches.map((b) => b.id).filter((id) => !(id in results));
138
279
  const isTolerant = merge.kind === 'outcomes-fn';
139
- if (failures.length > 0 && !isTolerant) {
140
- const details = failures
141
- .map(([id, o]) => ` ${id}: ${o.error}`)
142
- .join('\n');
280
+ if (failedIds.length > 0 && !isTolerant) {
143
281
  (0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.composition.exit', {
144
282
  kind: 'Parallel',
145
283
  id: compositionId,
@@ -147,34 +285,64 @@ class Parallel extends RunnerBase_js_1.RunnerBase {
147
285
  status: 'err',
148
286
  durationMs: Date.now() - this.currentRunContext.runStartMs,
149
287
  });
150
- throw new Error(`Parallel '${compositionId}': ${failures.length} branch(es) failed:\n${details}\n` +
288
+ const details = failedIds
289
+ .map((id) => ` ${id}: ${branchErrors.get(id) ?? 'unknown error'}`)
290
+ .join('\n');
291
+ throw new Error(`Parallel '${compositionId}': ${failedIds.length} branch(es) failed:\n${details}\n` +
151
292
  `(use .mergeOutcomesWithFn() for tolerant-mode partial-failure handling)`);
152
293
  }
294
+ // Run the merge strategy. Wrap in try/catch so that a merge-stage
295
+ // failure (e.g., merge LLM throws) still produces a
296
+ // `composition.exit` event with `status: 'err'` — without this the
297
+ // event stream would have a `composition.enter` without a matching
298
+ // `composition.exit`, breaking dashboards that pair the two.
153
299
  let merged;
154
- if (merge.kind === 'fn') {
155
- const results = {};
156
- for (const [id, o] of Object.entries(outcomes)) {
157
- if (o.ok)
158
- results[id] = o.value;
300
+ try {
301
+ if (merge.kind === 'fn') {
302
+ merged = merge.fn(results);
159
303
  }
160
- merged = merge.fn(results);
161
- }
162
- else if (merge.kind === 'llm') {
163
- const results = {};
164
- for (const [id, o] of Object.entries(outcomes)) {
165
- if (o.ok)
166
- results[id] = o.value;
304
+ else if (merge.kind === 'llm') {
305
+ merged = await mergeWithLLM(scope, merge.opts, results);
306
+ }
307
+ else {
308
+ // Tolerant-mode: synthesize BranchOutcome map for the consumer.
309
+ const outcomes = {};
310
+ for (const b of branches) {
311
+ if (b.id in results) {
312
+ outcomes[b.id] = { ok: true, value: results[b.id] };
313
+ }
314
+ else {
315
+ outcomes[b.id] = {
316
+ ok: false,
317
+ error: branchErrors.get(b.id) ?? 'unknown error',
318
+ };
319
+ }
320
+ }
321
+ merged = merge.fn(outcomes);
167
322
  }
168
- merged = await mergeWithLLM(scope, merge.opts, results);
169
323
  }
170
- else {
171
- merged = merge.fn(outcomes);
324
+ catch (err) {
325
+ (0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.composition.exit', {
326
+ kind: 'Parallel',
327
+ id: compositionId,
328
+ name: compositionName,
329
+ status: 'err',
330
+ durationMs: Date.now() - this.currentRunContext.runStartMs,
331
+ });
332
+ throw err;
172
333
  }
334
+ const succeededCount = Object.keys(results).length;
173
335
  (0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.composition.merge_end', {
174
336
  parentId: compositionId,
175
- strategy: merge.kind === 'outcomes-fn' ? 'fn' : merge.kind,
337
+ // Emit the merge.kind verbatim so consumers can distinguish
338
+ // tolerant (`outcomes-fn`) from strict (`fn` / `llm`).
339
+ strategy: merge.kind,
176
340
  resultSummary: truncate(merged, 80),
177
- mergedBranchCount: branches.length,
341
+ // Number of branches that actually contributed a result to the
342
+ // merge. Equals `totalBranchCount` on full success; smaller in
343
+ // tolerant-mode runs where some branches failed.
344
+ mergedBranchCount: succeededCount,
345
+ totalBranchCount: branches.length,
178
346
  });
179
347
  (0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.composition.exit', {
180
348
  kind: 'Parallel',
@@ -190,54 +358,6 @@ class Parallel extends RunnerBase_js_1.RunnerBase {
190
358
  }
191
359
  }
192
360
  exports.Parallel = Parallel;
193
- /**
194
- * Build a wrapper chart that runs a branch Runner in a try/catch and
195
- * emits its events to the Parallel's dispatcher. The chart's terminal
196
- * stage returns a `BranchOutcome` — never throws up to the traverser.
197
- *
198
- * Event forwarding: the branch runner has its own EventDispatcher. We
199
- * subscribe to the wildcard `'*'` during run() and re-dispatch each
200
- * event on Parallel's dispatcher so consumers who attach listeners at
201
- * the Parallel level see the branch's llm/context/agent events.
202
- */
203
- function buildBranchWrapperChart(branch) {
204
- const runBranch = async (scope) => {
205
- const args = scope.$getArgs();
206
- // Forward every branch-runner event via `scope.$emit` so it flows
207
- // through footprintjs's emit channel. That channel reaches every
208
- // EmitBridge attached to the CURRENT executor — including bridges
209
- // belonging to outer compositions when this Parallel is nested
210
- // (e.g., `Loop(Parallel(...))`). Forwarding directly to the
211
- // Parallel's own dispatcher would be invisible to outer layers.
212
- const unsubscribe = branch.runner.on('*', (e) => {
213
- // `e.payload` is the typed payload union for the specific event;
214
- // $emit accepts `unknown`, so no cast is needed — let it pass
215
- // through structurally.
216
- scope.$emit(e.type, e.payload);
217
- });
218
- try {
219
- const result = await branch.runner.run({ message: args.message ?? '' });
220
- if (typeof result === 'string') {
221
- return { ok: true, value: result };
222
- }
223
- // Paused outcome: surface as "ok" with empty value — pauses from
224
- // nested runners aren't failures, but Parallel doesn't yet propagate
225
- // them through the merge. Consumers who need pause-inside-Parallel
226
- // should set up nested pause handling at their own layer.
227
- return { ok: true, value: '' };
228
- }
229
- catch (err) {
230
- return {
231
- ok: false,
232
- error: err instanceof Error ? err.message : String(err),
233
- };
234
- }
235
- finally {
236
- unsubscribe();
237
- }
238
- };
239
- return (0, footprintjs_1.flowChart)('RunBranch', runBranch, 'run-branch', undefined, `Parallel branch '${branch.id}' — catches failures`).build();
240
- }
241
361
  /** Fluent builder. Requires at least 2 branches + one merge strategy. */
242
362
  class ParallelBuilder {
243
363
  opts;
@@ -247,13 +367,40 @@ class ParallelBuilder {
247
367
  constructor(opts) {
248
368
  this.opts = opts;
249
369
  }
250
- /** Add a branch. All branches run concurrently with the same input. */
251
- branch(id, runner, name) {
370
+ /**
371
+ * Add a branch. All branches run concurrently with the same input.
372
+ *
373
+ * Third arg accepts EITHER a legacy bare `name` string (back-compat
374
+ * with pre-L1c callers) OR a `ParallelBranchOptions` bag containing
375
+ * `name` and/or a per-method `groupTranslator` override. The
376
+ * override applies ONLY to this branch's `member.uiGroup` and does
377
+ * not affect any other branch or the runner's own translator.
378
+ */
379
+ branch(id, runner, nameOrOpts) {
252
380
  if (this.seenIds.has(id)) {
253
381
  throw new Error(`Parallel.branch(): duplicate branch id '${id}'`);
254
382
  }
383
+ // Branch errors are correlated back to the originating branch by the
384
+ // first `/`-separated segment of footprintjs's engine-prefixed
385
+ // `traversalContext.stageId` (e.g., `legal/call-llm` → branch
386
+ // `legal`). A branch id containing `/` would silently shadow that
387
+ // mapping and drop the error message into 'unknown error' fallback.
388
+ if (id.includes('/')) {
389
+ throw new Error(`Parallel.branch(): id '${id}' must not contain '/' — it collides with footprintjs's subflow-path separator used for per-branch error correlation`);
390
+ }
255
391
  this.seenIds.add(id);
256
- this.branches.push({ id, runner, name: name ?? id });
392
+ const opts = typeof nameOrOpts === 'string'
393
+ ? ({ name: nameOrOpts })
394
+ : nameOrOpts ?? {};
395
+ const entry = {
396
+ id,
397
+ runner,
398
+ name: opts.name ?? id,
399
+ ...(opts.groupTranslator !== undefined && {
400
+ groupTranslator: opts.groupTranslator,
401
+ }),
402
+ };
403
+ this.branches.push(entry);
257
404
  return this;
258
405
  }
259
406
  /**