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,23 +1,52 @@
1
1
  "use strict";
2
2
  /**
3
- * LLMCall — the leaf primitive for a single LLM invocation (no tools, no loop).
3
+ * LLMCall — the leaf primitive for a single LLM invocation (no tools).
4
4
  *
5
5
  * Pattern: Builder (GoF) → produces a Runner backed by a footprintjs FlowChart.
6
- * Role: Layer-5 primitive (core/). Uses the 3-slot model internally:
7
- * Seed sf-system-prompt sf-messages sf-tools call-llm
8
- * Slot subflows write convention-keyed injections observed by
9
- * ContextRecorder. The call-llm stage typedEmits stream.llm_start
10
- * and stream.llm_end observed by StreamRecorder.
11
- * Emits: Through its internally-attached recorders:
12
- * agentfootprint.stream.llm_start / llm_end
13
- * agentfootprint.context.injected / slot_composed
6
+ *
7
+ * Chart shape outer client wrapper around an inner llm-subflow:
8
+ *
9
+ * Client sf-llm-call loopTo(client)
10
+ *
11
+ * Outer `Client` stage:
12
+ * - First visit: receives args, writes userMessage to scope.
13
+ * - Second visit (after the loop completes): $break()s with
14
+ * scope.answer as the chart's TraversalResult.
15
+ *
16
+ * Inner `sf-llm-call` subflow (drill-down view):
17
+ * Initialize → sf-system-prompt → sf-messages → call-llm
18
+ * → [sf-thinking if handler] → extract-final
19
+ *
20
+ * NO `sf-tools` slot — LLMCall has no tools by design (that's Agent's
21
+ * territory). Atomic LLMCall's lens chart is a clean 3-node top-level
22
+ * view (Client + LLM + loop edge) that drills into the real flowchart
23
+ * below.
24
+ *
25
+ * Loop semantics: LLMCall is one-shot. The loop fires once; the
26
+ * second Client visit immediately breaks. The shape is identical to
27
+ * chat-mode (future): swap `$break()` for `pause()` and the same
28
+ * chart supports multi-turn conversation.
29
+ *
30
+ * Slot subflows write convention-keyed injections observed by
31
+ * ContextRecorder. The call-llm stage typedEmits stream.llm_start
32
+ * and stream.llm_end observed by StreamRecorder. When a
33
+ * `ThinkingHandler` resolves for the provider, `sf-thinking` mounts
34
+ * automatically (auto-wired by provider.name — same convention Agent
35
+ * uses).
36
+ *
37
+ * Emits (through internally-attached recorders):
38
+ * agentfootprint.stream.llm_start / llm_end
39
+ * agentfootprint.context.injected / slot_composed
40
+ * agentfootprint.stream.thinking_end (when sf-thinking mounted)
14
41
  */
15
42
  Object.defineProperty(exports, "__esModule", { value: true });
16
43
  exports.LLMCallBuilder = exports.LLMCall = void 0;
17
44
  const footprintjs_1 = require("footprintjs");
45
+ const advanced_1 = require("footprintjs/advanced");
18
46
  const conventions_js_1 = require("../conventions.js");
19
47
  const ContextRecorder_js_1 = require("../recorders/core/ContextRecorder.js");
20
48
  const StreamRecorder_js_1 = require("../recorders/core/StreamRecorder.js");
49
+ const ErrorBridge_js_1 = require("../recorders/core/ErrorBridge.js");
21
50
  const CostRecorder_js_1 = require("../recorders/core/CostRecorder.js");
22
51
  const EvalRecorder_js_1 = require("../recorders/core/EvalRecorder.js");
23
52
  const MemoryRecorder_js_1 = require("../recorders/core/MemoryRecorder.js");
@@ -27,7 +56,8 @@ const cost_js_1 = require("./cost.js");
27
56
  const RunnerBase_js_1 = require("./RunnerBase.js");
28
57
  const buildSystemPromptSlot_js_1 = require("./slots/buildSystemPromptSlot.js");
29
58
  const buildMessagesSlot_js_1 = require("./slots/buildMessagesSlot.js");
30
- const buildToolsSlot_js_1 = require("./slots/buildToolsSlot.js");
59
+ const buildThinkingSubflow_js_1 = require("./slots/buildThinkingSubflow.js");
60
+ const registry_js_1 = require("../thinking/registry.js");
31
61
  class LLMCall extends RunnerBase_js_1.RunnerBase {
32
62
  name;
33
63
  id;
@@ -38,6 +68,13 @@ class LLMCall extends RunnerBase_js_1.RunnerBase {
38
68
  systemPromptValue;
39
69
  pricingTable;
40
70
  costBudget;
71
+ structureRecorders;
72
+ groupTranslator;
73
+ /** Auto-resolved from provider.name at construction time (same
74
+ * convention Agent uses — see findThinkingHandler). When undefined,
75
+ * sf-thinking is NOT mounted and the chart has zero thinking
76
+ * overhead (build-time conditional mount). */
77
+ thinkingHandler;
41
78
  // Run-scoped; refreshed each run().
42
79
  currentRunContext = {
43
80
  runStartMs: 0,
@@ -57,15 +94,56 @@ class LLMCall extends RunnerBase_js_1.RunnerBase {
57
94
  this.pricingTable = opts.pricingTable;
58
95
  if (opts.costBudget !== undefined)
59
96
  this.costBudget = opts.costBudget;
97
+ if (opts.structureRecorders)
98
+ this.structureRecorders = opts.structureRecorders;
99
+ if (opts.groupTranslator)
100
+ this.groupTranslator = opts.groupTranslator;
101
+ // v2.14 alignment — auto-wire ThinkingHandler by provider.name. Same
102
+ // mechanism Agent uses (Agent.ts:300+). When the registry has no
103
+ // handler for this provider (e.g., MockProvider), the field stays
104
+ // undefined and sf-thinking is not mounted.
105
+ const auto = (0, registry_js_1.findThinkingHandler)(opts.provider.name);
106
+ if (auto)
107
+ this.thinkingHandler = auto;
108
+ // Eager chart construction (footprintjs inventor convention): build
109
+ // once at constructor time so `buildTimeStructure` is a stable
110
+ // immutable object reference, each `StructureRecorder` fires
111
+ // exactly N times (N = node count) per LLMCall, and reference-equality memos
112
+ // on `getSpec()` work. Subsequent `getSpec()` calls return the
113
+ // cached chart; each `run()` reuses it in a fresh executor.
114
+ this.initChart(() => this.buildChart());
60
115
  }
61
116
  static create(opts) {
62
117
  return new LLMCallBuilder(opts);
63
118
  }
64
- toFlowChart() {
65
- return this.buildChart();
119
+ // `getSpec()` is inherited from `RunnerBase` — returns the chart
120
+ // cached by `initChart()` above. No subclass override needed.
121
+ // ─── UI group translation (L1b) ───────────────────────────────
122
+ getGroupTranslator() {
123
+ return this.groupTranslator;
124
+ }
125
+ /** LLMCall has no nested-runner members (slots are subflows of
126
+ * the LLMCall's own chart, not Runner instances). The slot ids
127
+ * are surfaced via `extra` so Lens can render the slot cards
128
+ * inside an LLMCall card without inspecting `buildTimeStructure`.
129
+ *
130
+ * TWO slots only — LLMCall does not have tools (that's Agent's
131
+ * affordance). Atomic LLMCall renders as a clean 2-pill card in
132
+ * collapsed (top-level) view. */
133
+ buildUIGroupMetadata() {
134
+ return {
135
+ kind: 'LLMCall',
136
+ id: this.id,
137
+ name: this.name,
138
+ members: [],
139
+ extra: {
140
+ slots: [conventions_js_1.SUBFLOW_IDS.SYSTEM_PROMPT, conventions_js_1.SUBFLOW_IDS.MESSAGES],
141
+ },
142
+ };
66
143
  }
67
144
  async run(input, options) {
68
145
  const executor = this.createExecutor();
146
+ this.lastExecutor = executor;
69
147
  const result = await executor.run({
70
148
  input: { message: input.message },
71
149
  ...(options ?? {}),
@@ -75,6 +153,7 @@ class LLMCall extends RunnerBase_js_1.RunnerBase {
75
153
  async resume(checkpoint, input, options) {
76
154
  this.emitPauseResume(checkpoint, input);
77
155
  const executor = this.createExecutor();
156
+ this.lastExecutor = executor;
78
157
  const result = await executor.resume(checkpoint, input, options);
79
158
  return this.finalizeResult(executor, result);
80
159
  }
@@ -84,12 +163,19 @@ class LLMCall extends RunnerBase_js_1.RunnerBase {
84
163
  runId: (0, RunnerBase_js_1.makeRunId)(),
85
164
  compositionPath: [`LLMCall:${this.id}`],
86
165
  };
87
- const chart = this.buildChart();
88
- const executor = new footprintjs_1.FlowChartExecutor(chart);
166
+ // Reuse the cached chart built at constructor time. `getSpec()` and
167
+ // every `run()` share the same `FlowChart` object reference.
168
+ const executor = new footprintjs_1.FlowChartExecutor(this.getSpec());
89
169
  const dispatcher = this.getDispatcher();
90
170
  const getRunCtx = () => this.currentRunContext;
91
171
  executor.attachCombinedRecorder(new ContextRecorder_js_1.ContextRecorder({ dispatcher, getRunContext: getRunCtx }));
172
+ // NOTE: no contextEvaluatedRecorder here — LLMCall composes its slots
173
+ // directly and does NOT mount the Injection Engine, so context.evaluated
174
+ // never fires in an LLMCall (that event is Agent-only).
92
175
  executor.attachCombinedRecorder((0, StreamRecorder_js_1.streamRecorder)({ dispatcher, getRunContext: getRunCtx }));
176
+ // Terminal-failure bridge: footprintjs onRunFailed → typed error.fatal,
177
+ // so a thrown run clears in-flight live state + flips monitor status.
178
+ executor.attachCombinedRecorder((0, ErrorBridge_js_1.errorBridge)({ dispatcher, getRunContext: getRunCtx }));
93
179
  if (this.pricingTable) {
94
180
  // Only attach cost bridge when pricing is configured — zero overhead
95
181
  // on runs that don't opt into cost accounting.
@@ -111,8 +197,18 @@ class LLMCall extends RunnerBase_js_1.RunnerBase {
111
197
  return paused;
112
198
  if (result instanceof Error)
113
199
  throw result;
200
+ // Client stage is the chart's last-executed stage (it $break()s
201
+ // on the second visit). It deliberately returns void per the
202
+ // TypedStageFunction contract; the LLM answer flows through
203
+ // `scope.answer` on the outer-chart state. Read it from the
204
+ // snapshot here to bridge to LLMCall.run()'s string return.
114
205
  if (typeof result === 'string')
115
206
  return result;
207
+ const snap = executor.getSnapshot();
208
+ const sharedState = snap?.sharedState;
209
+ const answer = sharedState?.answer;
210
+ if (typeof answer === 'string')
211
+ return answer;
116
212
  throw new Error('LLMCall: unexpected result shape — expected string');
117
213
  }
118
214
  // ─── Internal chart construction ────────────────────────────────
@@ -124,13 +220,41 @@ class LLMCall extends RunnerBase_js_1.RunnerBase {
124
220
  const systemPromptValue = this.systemPromptValue;
125
221
  const pricingTable = this.pricingTable;
126
222
  const costBudget = this.costBudget;
127
- const seed = (scope) => {
223
+ const thinkingHandler = this.thinkingHandler;
224
+ // ─── Outer Client stage ─────────────────────────────────────────
225
+ // First visit: receives args, sets userMessage on outer scope.
226
+ // Second visit (post-loop): scope.answer has been populated by the
227
+ // inner subflow's outputMapper. `$break` terminates the loop AND
228
+ // returns scope.answer as the chart's TraversalResult.
229
+ //
230
+ // Returning the answer here is load-bearing for composition: when
231
+ // LLMCall is mounted inside Sequence/Parallel/Conditional, the
232
+ // parent's outputMapper reads `sfOutput` which IS the subflow's
233
+ // TraversalResult (footprintjs convention). Without the return,
234
+ // parent.current ends up as '' and downstream steps see no input.
235
+ //
236
+ // Cost counters live exclusively in the inner subflow's scope —
237
+ // they don't need to cross the boundary because LLMCall is
238
+ // one-shot. Threading them via inputMapper would seal them as
239
+ // readonly input on the inner side (footprintjs convention) and
240
+ // break `emitCostTick`'s scope writes.
241
+ const client = (scope) => {
242
+ if (scope.answer !== undefined) {
243
+ scope.$break('LLMCall: one-shot complete');
244
+ return scope.answer;
245
+ }
128
246
  const args = scope.$getArgs();
129
247
  scope.userMessage = args.message;
248
+ scope.iteration = 1;
249
+ return undefined;
250
+ };
251
+ // ─── Inner subflow stages ───────────────────────────────────────
252
+ // Inner seed initializes the per-call injection arrays AND the
253
+ // local cost counters that emitCostTick mutates inside callLLM.
254
+ // userMessage + iteration arrive via inputMapper from outer Client.
255
+ const innerSeed = (scope) => {
130
256
  scope.systemPromptInjections = [];
131
257
  scope.messagesInjections = [];
132
- scope.toolsInjections = [];
133
- scope.iteration = 1;
134
258
  scope.cumTokensInput = 0;
135
259
  scope.cumTokensOutput = 0;
136
260
  scope.cumEstimatedUsd = 0;
@@ -138,13 +262,12 @@ class LLMCall extends RunnerBase_js_1.RunnerBase {
138
262
  };
139
263
  // slot subflow builders. Each emits InjectionRecord[] + SlotComposition
140
264
  // through the convention scope keys; ContextRecorder observes and
141
- // dispatches context.* events.
265
+ // dispatches context.* events. NO tools slot — LLMCall has no tools.
142
266
  const systemPromptSubflow = (0, buildSystemPromptSlot_js_1.buildSystemPromptSlot)({
143
267
  prompt: systemPromptValue,
144
268
  reason: 'LLMCall.system()',
145
269
  });
146
270
  const messagesSubflow = (0, buildMessagesSlot_js_1.buildMessagesSlot)();
147
- const toolsSubflow = (0, buildToolsSlot_js_1.buildToolsSlot)({ tools: [] });
148
271
  const callLLM = async (scope) => {
149
272
  const systemPromptInjections = (scope.systemPromptInjections ??
150
273
  []);
@@ -170,6 +293,10 @@ class LLMCall extends RunnerBase_js_1.RunnerBase {
170
293
  ...(temperature !== undefined && { temperature }),
171
294
  });
172
295
  const startMs = Date.now();
296
+ // Raw provider errors propagate untouched (reliability + merge
297
+ // layers classify on the raw message). The friendly translation
298
+ // for non-developers happens once at the terminal boundary —
299
+ // ErrorBridge humanizes the `error.fatal` event the monitor reads.
173
300
  const response = await provider.complete({
174
301
  systemPrompt: systemPrompt.length > 0 ? systemPrompt : undefined,
175
302
  messages,
@@ -187,25 +314,30 @@ class LLMCall extends RunnerBase_js_1.RunnerBase {
187
314
  durationMs,
188
315
  });
189
316
  (0, cost_js_1.emitCostTick)(scope, pricingTable, costBudget, model, response.usage);
190
- // Return the content it becomes the executor's TraversalResult
191
- // when LLMCall runs standalone, and the subflow's output when
192
- // LLMCall is composed into a Sequence/Parallel/Conditional/Loop.
193
- return response.content;
317
+ // Write outputs to scope so downstream stages (sf-thinking,
318
+ // extract-final) can read them. The chart's TraversalResult
319
+ // bubbles up via scope.answer + outputMapper, NOT via this
320
+ // stage's return value (which is intentionally undefined now).
321
+ scope.answer = response.content;
322
+ if (response.rawThinking !== undefined) {
323
+ scope.rawThinking = response.rawThinking;
324
+ }
325
+ return undefined;
194
326
  };
195
- // Description prefix `LLMCall:` is a taxonomy marker — consumers
196
- // distinguish LLMCall subflows from Agent subflows (`Agent:`) via
197
- // this prefix. Only Agent subflows surface as "agent boundaries"
198
- // in Lens; LLMCall subflows are stages inside a composition, not
199
- // agents in their own right.
200
- //
201
- // Chart shapethe canonical footprintjs idiom: input arrives via
202
- // `runner.run({...})` (no "user" stage in the graph), output is
203
- // the chart's TraversalResult (no "response" stage either). The
204
- // five stages below are the actual work. When LLMCall is composed
205
- // into Sequence / Parallel / Conditional / Loop, the parent's
206
- // `addSubFlowChartNext` mounts THIS chart as a single drill-in
207
- // unit drill-in is free, no wrap required at this level.
208
- return (0, footprintjs_1.flowChart)('Seed', seed, conventions_js_1.STAGE_IDS.SEED, undefined, 'LLMCall: one-shot')
327
+ // extract-final stage symmetric with Agent's sf-final branch.
328
+ // For LLMCall (no tools) it's a thin "final answer is ready" marker
329
+ // that gives lens a discrete commit boundary and matching chart
330
+ // node. scope.answer is already set by callLLM; this stage just
331
+ // surfaces a real "final" moment.
332
+ const extractFinal = (scope) => {
333
+ // No-op data-wisescope.answer was set in callLLM. This stage
334
+ // exists purely for chart shape (lens "Final" node + commit).
335
+ void scope;
336
+ };
337
+ // ─── Build the inner sf-llm-call subflow ────────────────────────
338
+ let innerBuilder = (0, footprintjs_1.flowChart)('Initialize', innerSeed, conventions_js_1.STAGE_IDS.SEED, {
339
+ description: 'LLMCall: invocation internals',
340
+ })
209
341
  .addSubFlowChartNext(conventions_js_1.SUBFLOW_IDS.SYSTEM_PROMPT, systemPromptSubflow, 'System Prompt', {
210
342
  inputMapper: (parent) => ({
211
343
  userMessage: parent.userMessage,
@@ -225,11 +357,51 @@ class LLMCall extends RunnerBase_js_1.RunnerBase {
225
357
  },
226
358
  outputMapper: (sfOutput) => ({ messagesInjections: sfOutput.messagesInjections }),
227
359
  })
228
- .addSubFlowChartNext(conventions_js_1.SUBFLOW_IDS.TOOLS, toolsSubflow, 'Tools', {
229
- inputMapper: (parent) => ({ iteration: parent.iteration }),
230
- outputMapper: (sfOutput) => ({ toolsInjections: sfOutput.toolsInjections }),
360
+ .addFunction('CallLLM', callLLM, conventions_js_1.STAGE_IDS.CALL_LLM, 'LLM invocation');
361
+ // Conditional sf-thinking mounted only when a ThinkingHandler
362
+ // resolved (auto-wired by provider.name in the constructor). Same
363
+ // build-time conditional pattern Agent uses (buildAgentChart.ts).
364
+ if (thinkingHandler) {
365
+ innerBuilder = innerBuilder.addSubFlowChartNext(conventions_js_1.SUBFLOW_IDS.THINKING, (0, buildThinkingSubflow_js_1.buildThinkingSubflow)(thinkingHandler), 'NormalizeThinking', {
366
+ inputMapper: (parent) => ({
367
+ rawThinking: parent.rawThinking,
368
+ iteration: parent.iteration,
369
+ }),
370
+ outputMapper: (sfOutput) => ({ thinkingBlocks: sfOutput.thinkingBlocks }),
371
+ // Replace not concatenate — fresh thinking per iteration.
372
+ arrayMerge: advanced_1.ArrayMergeMode.Replace,
373
+ });
374
+ }
375
+ const innerSubflow = innerBuilder
376
+ .addFunction('ExtractFinal', extractFinal, conventions_js_1.STAGE_IDS.EXTRACT_FINAL, 'Final response ready')
377
+ .build();
378
+ // ─── Outer chart: Client → sf-llm-call → loopTo(client) ─────────
379
+ // Description prefix `LLMCall:` is a taxonomy marker — consumers
380
+ // distinguish LLMCall subflows from Agent subflows (`Agent:`) via
381
+ // this prefix. Only Agent subflows surface as "agent boundaries"
382
+ // in Lens; LLMCall is a primitive invocation, not an agent.
383
+ //
384
+ // Untyped <string, TypedScope<LLMCallState>> overload is used so
385
+ // Client's `string | undefined` return is accepted — the chart's
386
+ // TraversalResult is the answer string, which downstream
387
+ // compositions (Sequence/Parallel/Conditional) read via
388
+ // outputMapper's `sfOutput` parameter.
389
+ return (0, footprintjs_1.flowChart)('Client', client, conventions_js_1.STAGE_IDS.CLIENT, {
390
+ ...(this.structureRecorders !== undefined && {
391
+ structureRecorders: [...this.structureRecorders],
392
+ }),
393
+ description: 'LLMCall: one-shot',
394
+ })
395
+ .addSubFlowChartNext(conventions_js_1.SUBFLOW_IDS.LLM_CALL, innerSubflow, 'LLM', {
396
+ inputMapper: (parent) => ({
397
+ userMessage: parent.userMessage,
398
+ iteration: parent.iteration,
399
+ }),
400
+ outputMapper: (sfOutput) => ({
401
+ answer: sfOutput.answer,
402
+ }),
231
403
  })
232
- .addFunction('CallLLM', callLLM, conventions_js_1.STAGE_IDS.CALL_LLM, 'LLM invocation')
404
+ .loopTo(conventions_js_1.STAGE_IDS.CLIENT)
233
405
  .build();
234
406
  }
235
407
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LLMCall.js","sourceRoot":"","sources":["../../src/core/LLMCall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LLMCall.js","sourceRoot":"","sources":["../../src/core/LLMCall.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;;;AAEH,6CAQqB;AACrB,mDAAsD;AAGtD,sDAA2D;AAE3D,6EAAuE;AACvE,2EAAqE;AACrE,qEAA+D;AAC/D,uEAAiE;AACjE,uEAAiE;AACjE,2EAAqE;AACrE,yEAAmE;AACnE,iEAA2D;AAG3D,uCAAyC;AACzC,mDAAwD;AACxD,+EAAyE;AACzE,uEAAiE;AACjE,6EAAuE;AACvE,yDAA8D;AAqF9D,MAAa,OAAQ,SAAQ,0BAAuC;IACzD,IAAI,CAAS;IACb,EAAE,CAAS;IACH,QAAQ,CAAc;IACtB,KAAK,CAAS;IACd,WAAW,CAAU;IACrB,SAAS,CAAU;IACnB,iBAAiB,CAAS;IAC1B,YAAY,CAAgB;IAC5B,UAAU,CAAU;IACpB,kBAAkB,CAAgC;IAClD,eAAe,CAAmB;IACnD;;;mDAG+C;IAC9B,eAAe,CAAmB;IAEnD,oCAAoC;IAC5B,iBAAiB,GAAe;QACtC,UAAU,EAAE,CAAC;QACb,KAAK,EAAE,SAAS;QAChB,eAAe,EAAE,EAAE;KACpB,CAAC;IAEF,YAAY,IAAoB,EAAE,iBAAyB;QACzD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC;QACnC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,UAAU,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,IAAI,CAAC,YAAY;YAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7D,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;YAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACrE,IAAI,IAAI,CAAC,kBAAkB;YAAE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAC/E,IAAI,IAAI,CAAC,eAAe;YAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QACtE,qEAAqE;QACrE,iEAAiE;QACjE,kEAAkE;QAClE,4CAA4C;QAC5C,MAAM,IAAI,GAAG,IAAA,iCAAmB,EAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,IAAI;YAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QACtC,oEAAoE;QACpE,+DAA+D;QAC/D,6DAA6D;QAC7D,6EAA6E;QAC7E,+DAA+D;QAC/D,4DAA4D;QAC5D,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAe,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAoB;QAChC,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,iEAAiE;IACjE,8DAA8D;IAE9D,iEAAiE;IAC9C,kBAAkB;QACnC,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;;;;;;sCAOkC;IACf,oBAAoB;QACrC,OAAO;YACL,IAAI,EAAE,SAAS;YACf,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,EAAE;YACX,KAAK,EAAE;gBACL,KAAK,EAAE,CAAC,4BAAW,CAAC,aAAa,EAAE,4BAAW,CAAC,QAAQ,CAAU;aAClE;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,GAAG,CACP,KAAmB,EACnB,OAAoB;QAEpB,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACvC,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC;YAChC,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;YACjC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;SACnB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,MAAM,CACV,UAA+B,EAC/B,KAAe,EACf,OAAoB;QAEpB,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACvC,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,iBAAiB,GAAG;YACvB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;YACtB,KAAK,EAAE,IAAA,yBAAS,GAAE;YAClB,eAAe,EAAE,CAAC,WAAW,IAAI,CAAC,EAAE,EAAE,CAAC;SACxC,CAAC;QAEF,oEAAoE;QACpE,6DAA6D;QAC7D,MAAM,QAAQ,GAAG,IAAI,+BAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAEvD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,GAAe,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;QAE3D,QAAQ,CAAC,sBAAsB,CAAC,IAAI,oCAAe,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QAC/F,sEAAsE;QACtE,yEAAyE;QACzE,wDAAwD;QACxD,QAAQ,CAAC,sBAAsB,CAAC,IAAA,kCAAc,EAAC,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QAC1F,wEAAwE;QACxE,sEAAsE;QACtE,QAAQ,CAAC,sBAAsB,CAAC,IAAA,4BAAW,EAAC,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QACvF,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,qEAAqE;YACrE,+CAA+C;YAC/C,QAAQ,CAAC,sBAAsB,CAAC,IAAA,8BAAY,EAAC,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QAC1F,CAAC;QACD,wEAAwE;QACxE,kEAAkE;QAClE,gDAAgD;QAChD,QAAQ,CAAC,sBAAsB,CAAC,IAAA,8BAAY,EAAC,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QACxF,QAAQ,CAAC,sBAAsB,CAAC,IAAA,kCAAc,EAAC,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QAC1F,QAAQ,CAAC,sBAAsB,CAAC,IAAA,gCAAa,EAAC,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QACzF,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,iBAAiB;YAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QAC3E,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,cAAc,CACpB,QAA2B,EAC3B,MAAe;QAEf,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAClD,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAC1B,IAAI,MAAM,YAAY,KAAK;YAAE,MAAM,MAAM,CAAC;QAC1C,gEAAgE;QAChE,6DAA6D;QAC7D,4DAA4D;QAC5D,4DAA4D;QAC5D,4DAA4D;QAC5D,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC;QAC9C,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,WAAW,GAAI,IAA2D,EAAE,WAAW,CAAC;QAC9F,MAAM,MAAM,GAAG,WAAW,EAAE,MAAM,CAAC;QACnC,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IAED,mEAAmE;IAE3D,UAAU;QAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACjD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAE7C,mEAAmE;QACnE,+DAA+D;QAC/D,mEAAmE;QACnE,iEAAiE;QACjE,uDAAuD;QACvD,EAAE;QACF,kEAAkE;QAClE,+DAA+D;QAC/D,gEAAgE;QAChE,gEAAgE;QAChE,kEAAkE;QAClE,EAAE;QACF,gEAAgE;QAChE,2DAA2D;QAC3D,8DAA8D;QAC9D,gEAAgE;QAChE,uCAAuC;QACvC,MAAM,MAAM,GAAG,CAAC,KAA+B,EAAsB,EAAE;YACrE,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC/B,KAAK,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC;gBAC3C,OAAO,KAAK,CAAC,MAAM,CAAC;YACtB,CAAC;YACD,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAgB,CAAC;YAC5C,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;YACjC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;YACpB,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC;QAEF,mEAAmE;QACnE,+DAA+D;QAC/D,gEAAgE;QAChE,oEAAoE;QACpE,MAAM,SAAS,GAAG,CAAC,KAA+B,EAAE,EAAE;YACpD,KAAK,CAAC,sBAAsB,GAAG,EAAE,CAAC;YAClC,KAAK,CAAC,kBAAkB,GAAG,EAAE,CAAC;YAC9B,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC;YACzB,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC;YAC1B,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC;YAC1B,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC;QAC9B,CAAC,CAAC;QAEF,wEAAwE;QACxE,kEAAkE;QAClE,qEAAqE;QACrE,MAAM,mBAAmB,GAAG,IAAA,gDAAqB,EAAC;YAChD,MAAM,EAAE,iBAAiB;YACzB,MAAM,EAAE,kBAAkB;SAC3B,CAAC,CAAC;QACH,MAAM,eAAe,GAAG,IAAA,wCAAiB,GAAE,CAAC;QAE5C,MAAM,OAAO,GAAG,KAAK,EAAE,KAA+B,EAAE,EAAE;YACxD,MAAM,sBAAsB,GAAG,CAAC,KAAK,CAAC,sBAAsB;gBAC1D,EAAE,CAA+B,CAAC;YACpC,MAAM,kBAAkB,GAAG,CAAC,KAAK,CAAC,kBAAkB,IAAI,EAAE,CAA+B,CAAC;YAC1F,MAAM,SAAS,GAAI,KAAK,CAAC,SAAgC,IAAI,CAAC,CAAC;YAE/D,MAAM,YAAY,GAAG,sBAAsB;iBACxC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC;iBAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;iBAC3B,IAAI,CAAC,MAAM,CAAC,CAAC;YAEhB,MAAM,QAAQ,GAAG,kBAAkB;iBAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACX,IAAI,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM;gBACxB,OAAO,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,cAAc;aAC1C,CAAC,CAAC;iBACF,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAEvC,IAAA,wBAAS,EAAC,KAAK,EAAE,iCAAiC,EAAE;gBAClD,SAAS;gBACT,QAAQ,EAAE,QAAQ,CAAC,IAAI;gBACvB,KAAK;gBACL,iBAAiB,EAAE,YAAY,CAAC,MAAM;gBACtC,aAAa,EAAE,QAAQ,CAAC,MAAM;gBAC9B,UAAU,EAAE,CAAC;gBACb,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,CAAC;aAClD,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3B,+DAA+D;YAC/D,gEAAgE;YAChE,6DAA6D;YAC7D,mEAAmE;YACnE,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC;gBACvC,YAAY,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;gBAChE,QAAQ;gBACR,KAAK;gBACL,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,CAAC;gBACjD,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;aAC9C,CAAC,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;YAExC,IAAA,wBAAS,EAAC,KAAK,EAAE,+BAA+B,EAAE;gBAChD,SAAS;gBACT,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,aAAa,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM;gBACxC,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,UAAU;aACX,CAAC,CAAC;YAEH,IAAA,sBAAY,EAAC,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YAErE,4DAA4D;YAC5D,4DAA4D;YAC5D,2DAA2D;YAC3D,+DAA+D;YAC/D,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC;YAChC,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBACvC,KAAK,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;YAC3C,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC;QAEF,gEAAgE;QAChE,oEAAoE;QACpE,gEAAgE;QAChE,gEAAgE;QAChE,kCAAkC;QAClC,MAAM,YAAY,GAAG,CAAC,KAA+B,EAAE,EAAE;YACvD,gEAAgE;YAChE,8DAA8D;YAC9D,KAAK,KAAK,CAAC;QACb,CAAC,CAAC;QAEF,mEAAmE;QACnE,IAAI,YAAY,GAAG,IAAA,uBAAS,EAAe,YAAY,EAAE,SAAS,EAAE,0BAAS,CAAC,IAAI,EAAE;YAClF,WAAW,EAAE,+BAA+B;SAC7C,CAAC;aACC,mBAAmB,CAAC,4BAAW,CAAC,aAAa,EAAE,mBAAmB,EAAE,eAAe,EAAE;YACpF,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACxB,WAAW,EAAE,MAAM,CAAC,WAAiC;gBACrD,SAAS,EAAE,MAAM,CAAC,SAA+B;aAClD,CAAC;YACF,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,sBAAsB,EAAE,QAAQ,CAAC,sBAAsB,EAAE,CAAC;SAC1F,CAAC;aACD,mBAAmB,CAAC,4BAAW,CAAC,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE;YACtE,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE;gBACtB,8DAA8D;gBAC9D,+DAA+D;gBAC/D,MAAM,WAAW,GAAG,MAAM,CAAC,WAAiC,CAAC;gBAC7D,OAAO;oBACL,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;oBAC9E,SAAS,EAAE,MAAM,CAAC,SAA+B;iBAClD,CAAC;YACJ,CAAC;YACD,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB,EAAE,CAAC;SAClF,CAAC;aACD,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE,0BAAS,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QAEzE,gEAAgE;QAChE,kEAAkE;QAClE,kEAAkE;QAClE,IAAI,eAAe,EAAE,CAAC;YACpB,YAAY,GAAG,YAAY,CAAC,mBAAmB,CAC7C,4BAAW,CAAC,QAAQ,EACpB,IAAA,8CAAoB,EAAC,eAAe,CAAC,EACrC,mBAAmB,EACnB;gBACE,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;oBACxB,WAAW,EAAE,MAAM,CAAC,WAAsB;oBAC1C,SAAS,EAAE,MAAM,CAAC,SAA+B;iBAClD,CAAC;gBACF,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,cAAc,EAAE,QAAQ,CAAC,cAAc,EAAE,CAAC;gBACzE,0DAA0D;gBAC1D,UAAU,EAAE,yBAAc,CAAC,OAAO;aACnC,CACF,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,YAAY;aAC9B,WAAW,CAAC,cAAc,EAAE,YAAY,EAAE,0BAAS,CAAC,aAAa,EAAE,sBAAsB,CAAC;aAC1F,KAAK,EAAE,CAAC;QAEX,mEAAmE;QACnE,iEAAiE;QACjE,kEAAkE;QAClE,iEAAiE;QACjE,4DAA4D;QAC5D,EAAE;QACF,iEAAiE;QACjE,iEAAiE;QACjE,yDAAyD;QACzD,wDAAwD;QACxD,uCAAuC;QACvC,OAAO,IAAA,uBAAS,EAAmC,QAAQ,EAAE,MAAM,EAAE,0BAAS,CAAC,MAAM,EAAE;YACrF,GAAG,CAAC,IAAI,CAAC,kBAAkB,KAAK,SAAS,IAAI;gBAC3C,kBAAkB,EAAE,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;aACjD,CAAC;YACF,WAAW,EAAE,mBAAmB;SACjC,CAAC;aACC,mBAAmB,CAAC,4BAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE;YAC9D,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACxB,WAAW,EAAE,MAAM,CAAC,WAAiC;gBACrD,SAAS,EAAE,MAAM,CAAC,SAA+B;aAClD,CAAC;YACF,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM;aACxB,CAAC;SACH,CAAC;aACD,MAAM,CAAC,0BAAS,CAAC,MAAM,CAAC;aACxB,KAAK,EAAE,CAAC;IACb,CAAC;CACF;AA9XD,0BA8XC;AAED;;GAEG;AACH,MAAa,cAAc;IACR,IAAI,CAAiB;IAC9B,iBAAiB,GAAG,EAAE,CAAC;IAE/B,YAAY,IAAoB;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,MAAc;QACnB,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACxD,CAAC;CACF;AAhBD,wCAgBC;AAED,uEAAuE;AACvE,qEAAqE;AACrE,wCAAwC"}
@@ -26,6 +26,193 @@ exports.makeRunId = makeRunId;
26
26
  class RunnerBase {
27
27
  dispatcher = new dispatcher_js_1.EventDispatcher();
28
28
  attachedRecorders = [];
29
+ /**
30
+ * The most recently used FlowChartExecutor — set by subclasses in
31
+ * `run()` so consumers can read the canonical structural snapshot
32
+ * via `getLastSnapshot()`. Single source of structural truth: this
33
+ * is footprintjs's snapshot, NOT a domain re-derivation.
34
+ */
35
+ lastExecutor;
36
+ /**
37
+ * Cached footprintjs FlowChart, built ONCE at construction time via
38
+ * `initChart()`. Subsequent `getSpec()` calls return this same
39
+ * object — reference-stable across all consumers (Lens spec memos,
40
+ * footprintjs's OpenAPI/MCP caches, recorder-side correlation).
41
+ *
42
+ * Set via `initChart(builder)`, called from the subclass constructor
43
+ * AFTER all instance fields are populated. Read via `getSpec()`.
44
+ *
45
+ * Why eager construction: the `StructureRecorder` contract is
46
+ * "fires once per node at build time" — lazy construction would
47
+ * fire each recorder every `getSpec()` / `run()` call (2N invocations
48
+ * per run instead of N), break reference equality, and trigger
49
+ * `_mergeStageMap` false-positive collisions on second build.
50
+ * See `RunnerBase.initChart` for details.
51
+ *
52
+ * Visibility note: `private` (not `protected`) so subclasses cannot
53
+ * bypass the `initChart()` double-init guard by writing the field
54
+ * directly. All legitimate access goes through `getSpec()` and
55
+ * `initChart()`.
56
+ */
57
+ chart;
58
+ /**
59
+ * Returns the footprintjs snapshot from the most recent run (or
60
+ * undefined if no run has completed). The snapshot is the CANONICAL
61
+ * STRUCTURE: nodes, edges, executionTree, runtimeStageId, commitLog.
62
+ *
63
+ * Domain consumers (Lens, Trace, dashboards) read this for shape
64
+ * and join their own per-stage payload by `runtimeStageId`. They
65
+ * MUST NOT re-derive structure from typed events — that's the
66
+ * design footprintjs's CLAUDE.md Convention 1 explicitly forbids.
67
+ *
68
+ * Returns `undefined` before the first `run()` completes. After,
69
+ * always returns the snapshot of the most recent run (including
70
+ * across multi-turn reuse of the same runner instance).
71
+ */
72
+ getLastSnapshot() {
73
+ return this.lastExecutor?.getSnapshot();
74
+ }
75
+ /**
76
+ * Alias for `getLastSnapshot()` that mirrors `FlowChartExecutor.getSnapshot()`
77
+ * so consumers (lens, playground, ExplainableShell) can read the live or
78
+ * just-completed snapshot through the same method name they'd use on a
79
+ * footprintjs executor — without having to know whether they're holding
80
+ * an agentfootprint Runner or a raw executor.
81
+ *
82
+ * During an active run, returns the live snapshot (commit log + execution
83
+ * tree built incrementally as stages execute). Between runs, returns the
84
+ * last completed run's snapshot. Undefined before any run has started.
85
+ */
86
+ getSnapshot() {
87
+ return this.getLastSnapshot();
88
+ }
89
+ // ─── Subclass hooks ────────────────────────────────────────────
90
+ /**
91
+ * Return the footprintjs FlowChart for this runner — the canonical
92
+ * design-time blueprint. STABLE REFERENCE across calls (`getSpec()
93
+ * === getSpec()`). Set once at construction via `initChart()`.
94
+ *
95
+ * Pairs with the run-time getters (`getLastSnapshot`,
96
+ * `getCommitCount`) and matches `ExplainableShell.spec` +
97
+ * `specToReactFlow(spec, ...)` consumer conventions.
98
+ *
99
+ * DO NOT OVERRIDE in subclasses — the reference-identity contract
100
+ * (Lens / OpenAPI / MCP caches memo on this returning the same
101
+ * object) depends on the inherited body returning `this.chart`
102
+ * directly. To customise build behaviour, override `buildChart()`
103
+ * instead; this getter must remain a thin cache-read.
104
+ */
105
+ getSpec() {
106
+ if (this.chart === undefined) {
107
+ throw new Error(`${this.constructor.name}: chart not initialized — the subclass must call \`this.initChart(() => this.buildChart())\` in its constructor before any \`getSpec()\` / \`run()\`.`);
108
+ }
109
+ return this.chart;
110
+ }
111
+ /**
112
+ * Cached `getUIGroup()` output. Computed lazily on first read so the
113
+ * subclass constructor doesn't need to run the translator before all
114
+ * its members exist (e.g., Parallel builds its branches list mid-
115
+ * construction). After first invocation, subsequent calls return the
116
+ * same reference — reference-stable, matches the `getSpec()` contract.
117
+ *
118
+ * `null` (not `undefined`) is the explicit "computed; result was
119
+ * undefined" marker so we can distinguish from "not yet computed."
120
+ * Consumers see `undefined` when no translator was attached.
121
+ */
122
+ uiGroupCache;
123
+ /**
124
+ * Return the consumer-shaped UI group for this composition — produced
125
+ * by invoking the consumer's `groupTranslator` (if attached) with this
126
+ * runner's `GroupMetadata`. Returns `undefined` when no translator was
127
+ * attached.
128
+ *
129
+ * STABLE REFERENCE across calls. Computed on first access and cached;
130
+ * subsequent calls return the same value. Pairs with `getSpec()` —
131
+ * library shape on one side, consumer-shaped UI on the other.
132
+ *
133
+ * Subclasses MUST override `buildUIGroupMetadata()` (the next hook) to
134
+ * supply the `GroupMetadata` for their composition kind. This method
135
+ * (the public surface) is `final`-by-convention — do not override.
136
+ */
137
+ getUIGroup() {
138
+ if (this.uiGroupCache !== undefined) {
139
+ return this.uiGroupCache.value;
140
+ }
141
+ const translator = this.getGroupTranslator();
142
+ if (translator === undefined) {
143
+ this.uiGroupCache = { value: undefined };
144
+ return undefined;
145
+ }
146
+ const metadata = this.buildUIGroupMetadata();
147
+ if (metadata === undefined) {
148
+ this.uiGroupCache = { value: undefined };
149
+ return undefined;
150
+ }
151
+ // SEAL THE CACHE BEFORE INVOKING THE TRANSLATOR so a throwing
152
+ // translator can't be re-invoked on the next `getUIGroup()` call.
153
+ // The `GroupTranslator` JSDoc guarantees "Runs ONCE per composition"
154
+ // — that invariant must hold for throwing translators too, otherwise
155
+ // a translator with side effects (telemetry, counters) would
156
+ // double-count on every re-read after a throw. Re-throws the same
157
+ // error so the caller still sees the failure on FIRST call; second
158
+ // call returns `undefined` (the sealed value).
159
+ this.uiGroupCache = { value: undefined };
160
+ const value = translator(metadata);
161
+ this.uiGroupCache = { value };
162
+ return value;
163
+ }
164
+ /**
165
+ * Subclass hook — returns the consumer's translator if one was
166
+ * provided at construction time. Default: no translator (returns
167
+ * undefined). Each composition overrides to surface its own
168
+ * `opts.groupTranslator`.
169
+ */
170
+ getGroupTranslator() {
171
+ return undefined;
172
+ }
173
+ /**
174
+ * Translate this runner's group metadata with a CALLER-SUPPLIED
175
+ * translator that overrides the runner's own default. Used by
176
+ * parent compositions to apply per-method translator overrides.
177
+ * See the `Runner.getUIGroupWith` JSDoc for the contract.
178
+ */
179
+ getUIGroupWith(override) {
180
+ const metadata = this.buildUIGroupMetadata();
181
+ if (metadata === undefined)
182
+ return undefined;
183
+ return override(metadata);
184
+ }
185
+ /**
186
+ * Subclass hook — returns the `GroupMetadata` for this composition.
187
+ * Default: undefined, meaning "no group translation for this runner
188
+ * kind." Compositions override to supply their members + kind. Called
189
+ * AT MOST ONCE per runner (result is cached by `getUIGroup()`).
190
+ */
191
+ buildUIGroupMetadata() {
192
+ return undefined;
193
+ }
194
+ /**
195
+ * Build + cache the runner's `FlowChart` exactly once. Called by the
196
+ * subclass constructor AFTER all instance fields are set, so the
197
+ * builder lambda can close over them safely.
198
+ *
199
+ * Throws if called twice on the same instance — the chart is meant
200
+ * to be immutable post-construction. Each `run()` reuses the same
201
+ * chart in a fresh `FlowChartExecutor`.
202
+ *
203
+ * Implementation invariant (per footprintjs inventor review):
204
+ * each attached `StructureRecorder` fires exactly N times per
205
+ * construction (N = node count). Two `getSpec()` calls return the
206
+ * same `FlowChart` object reference. `_mergeStageMap` collision
207
+ * guards never see false-positives because each child runner's
208
+ * stage functions are created once and reused.
209
+ */
210
+ initChart(builder) {
211
+ if (this.chart !== undefined) {
212
+ throw new Error(`${this.constructor.name}: initChart() called twice — the chart is built once at construction and is immutable.`);
213
+ }
214
+ this.chart = builder();
215
+ }
29
216
  // ─── Pause/resume utilities (shared by every concrete runner) ───
30
217
  /**
31
218
  * Inspect an executor result. On pause, emits `pause.request` and returns
@@ -1 +1 @@
1
- {"version":3,"file":"RunnerBase.js","sourceRoot":"","sources":["../../src/core/RunnerBase.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AASH,2DAA0D;AAe1D,sFAAmG;AACnG,uDAIiC;AACjC,wFAGwD;AACxD,0FAIyD;AAGzD,IAAI,SAAS,GAAG,CAAC,CAAC;AAElB;;GAEG;AACH,SAAgB,SAAS;IACvB,OAAO,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC5C,CAAC;AAFD,8BAEC;AAED,MAAsB,UAAU;IACX,UAAU,GAAG,IAAI,+BAAe,EAAE,CAAC;IACnC,iBAAiB,GAAuB,EAAE,CAAC;IA4B9D,mEAAmE;IAEnE;;;;;;;;OAQG;IACO,WAAW,CACnB,QAA2B,EAC3B,MAAe;QAEf,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;YAAE,OAAO,SAAS,CAAC;QAC3C,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC5C,IAAI,UAAU,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAE/C,MAAM,SAAS,GACb,UAAU,CAAC,SAAS,KAAK,SAAS;YAChC,CAAC,CAAC,UAAU,CAAC,SAAS;YACtB,CAAC,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,QAAQ,IAAI,MAAM;gBACrE,CAAC,CAAE,MAAkC,CAAC,SAAS;gBAC/C,CAAC,CAAC,SAAS,CAAC;QAEhB,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAE7C,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;IACjD,CAAC;IAED;;;OAGG;IACK,gBAAgB,CAAC,UAA+B,EAAE,SAAkB;QAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,cAAc,GAClB,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,IAAI,QAAQ,IAAI,SAAS;YAC1E,CAAC,CAAC,MAAM,CAAE,SAAiC,CAAC,MAAM,CAAC;YACnD,CAAC,CAAC,uBAAuB,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YACvB,IAAI,EAAE,8BAA8B;YACpC,OAAO,EAAE;gBACP,MAAM,EAAE,cAAc;gBACtB,eAAe,EACb,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI;oBACjD,CAAC,CAAE,SAA+C;oBAClD,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE;aAC1B;YACD,IAAI,EAAE;gBACJ,GAAG,IAAI;gBACP,cAAc,EAAE,GAAG,UAAU,CAAC,aAAa,SAAS;gBACpD,WAAW,EAAE,UAAU,CAAC,WAAW;aACpC;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACO,eAAe,CAAC,UAA+B,EAAE,KAAc;QACvE,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,QAAQ,CAAC;QAC1D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YACvB,IAAI,EAAE,6BAA6B;YACnC,OAAO,EAAE;gBACP,WAAW,EACT,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;oBACzC,CAAC,CAAE,KAA2C;oBAC9C,CAAC,CAAC,EAAE,KAAK,EAAE;gBACf,gBAAgB;aACjB;YACD,IAAI,EAAE;gBACJ,GAAG,IAAI;gBACP,cAAc,EAAE,GAAG,UAAU,CAAC,aAAa,UAAU;gBACrD,WAAW,EAAE,UAAU,CAAC,WAAW;aACpC;SACF,CAAC,CAAC;IACL,CAAC;IAUD,EAAE,CACA,IAAY,EACZ,QAA8C,EAC9C,OAAuB;QAEvB,sEAAsE;QACtE,kEAAkE;QAClE,qEAAqE;QACrE,OACE,IAAI,CAAC,UAAU,CAAC,EAKjB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC;IAID,GAAG,CAAC,IAAY,EAAE,QAA8C;QAE5D,IAAI,CAAC,UAAU,CAAC,GAIjB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACpB,CAAC;IAID,IAAI,CAAC,IAAY,EAAE,QAA8C;QAC/D,OACE,IAAI,CAAC,UAAU,CAAC,IAIjB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACpB,CAAC;IAED,kEAAkE;IAElE,MAAM,CAAC,QAA0B;QAC/B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,OAAO,GAAG,EAAE;YACV,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACrD,IAAI,GAAG,IAAI,CAAC;gBAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC;IACJ,CAAC;IAED,iEAAiE;IAExD,MAAM,GAAoB;QACjC,QAAQ,EAAE,CAAC,IAAqB,EAAe,EAAE,CAAC,IAAA,oCAAc,EAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC;QACvF,OAAO,EAAE,CAAC,IAAqB,EAAe,EAAE,CAAC,IAAA,kCAAa,EAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC;QACrF,SAAS,EAAE,CAAC,IAAuB,EAAmB,EAAE;QACtD,gEAAgE;QAChE,4DAA4D;QAC5D,8DAA8D;QAC9D,6DAA6D;QAC7D,6DAA6D;QAC7D,IAAA,sCAAe,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC;QAC/D,uCAAuC;QACvC,6CAA6C;QAC7C,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,uCAA2B,EAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC;QAC3E,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,8BAAkB,EAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC;QACzD,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,oCAAwB,EAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC;KACtE,CAAC;IAEF,kEAAkE;IAElE;;;;;;;OAOG;IACH,IAAI,CAAC,IAAY,EAAE,OAAgC;QACjD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAA+B,CAAC;YAAE,OAAO;QAC9E,MAAM,IAAI,GAAc,IAAI,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG;YACZ,IAAI,EAAE,IAAI;YACV,OAAO;YACP,IAAI;SACyD,CAAC;QAChE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,kEAAkE;IAElE;;;OAGG;IACO,WAAW;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,OAAO;YACL,WAAW,EAAE,GAAG;YAChB,WAAW,EAAE,CAAC;YACd,cAAc,EAAE,iBAAiB;YACjC,WAAW,EAAE,EAAE;YACf,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE;YACvC,KAAK,EAAE,gBAAgB;SACxB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACO,eAAe;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;OAIG;IACO,aAAa;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;CACF;AAnPD,gCAmPC"}
1
+ {"version":3,"file":"RunnerBase.js","sourceRoot":"","sources":["../../src/core/RunnerBase.ts"],"names":[],"mappings":"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"}