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
@@ -22,9 +22,12 @@ class ContextRecorder {
22
22
  id;
23
23
  dispatcher;
24
24
  getRunContext;
25
- // Active slot stack stacked because a slot subflow CAN nest another
26
- // (rare but possible if a custom source is a subflow itself).
27
- slotStack = [];
25
+ // Per-write slot attribution is resolved from each write's own
26
+ // runtimeStageId (see onWrite) NOT a "currently-open slot" stack.
27
+ // The 3 slot subflows run in PARALLEL (selector fan-out), so their
28
+ // entry/write/exit events interleave and a stack top would mis-route
29
+ // or drop writes. onSubflowEntry/Exit only manage the per-slot
30
+ // seen-set lifecycle below.
28
31
  // Previously seen injections per slot, by scope key. We diff old-vs-new
29
32
  // on each write to identify NEW injections (the builder may write the
30
33
  // whole array multiple times; we only emit events for the additions).
@@ -39,8 +42,8 @@ class ContextRecorder {
39
42
  const slot = event.subflowId ? (0, conventions_js_1.slotFromSubflowId)(event.subflowId) : undefined;
40
43
  if (!slot)
41
44
  return;
42
- this.slotStack.push(slot);
43
- // Reset the seen-set for this slot new iteration.
45
+ // Reset the seen-set for this slot — new iteration. Safe under parallel
46
+ // entry of all 3 slots: each slot owns its own seen-set key.
44
47
  this.seenInjections.set(slot, new Set());
45
48
  }
46
49
  onSubflowExit(event) {
@@ -49,15 +52,13 @@ class ContextRecorder {
49
52
  const slot = (0, conventions_js_1.slotFromSubflowId)(event.subflowId);
50
53
  if (!slot)
51
54
  return;
52
- // Pop only if this is the active top (defensive against mis-ordering).
53
- if (this.slotStack[this.slotStack.length - 1] === slot) {
54
- this.slotStack.pop();
55
- }
56
55
  this.seenInjections.delete(slot);
57
56
  }
58
57
  // ─── Scope writes — the injection / eviction / pressure signals ──
59
58
  onWrite(event) {
60
- const activeSlot = this.currentSlot();
59
+ // Resolve the slot from THIS write's own runtimeStageId path — correct
60
+ // even when the 3 slots run concurrently and their events interleave.
61
+ const activeSlot = (0, conventions_js_1.slotFromRuntimeStageId)(event.runtimeStageId);
61
62
  if (!activeSlot)
62
63
  return;
63
64
  const key = event.key;
@@ -91,9 +92,6 @@ class ContextRecorder {
91
92
  }
92
93
  }
93
94
  // ─── Internals ─────────────────────────────────────────────────
94
- currentSlot() {
95
- return this.slotStack[this.slotStack.length - 1];
96
- }
97
95
  handleInjectionsWrite(slot, event) {
98
96
  const records = this.asInjectionArray(event.value);
99
97
  if (!records)
@@ -1 +1 @@
1
- {"version":3,"file":"ContextRecorder.js","sourceRoot":"","sources":["../../../src/recorders/core/ContextRecorder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ContextRecorder.js","sourceRoot":"","sources":["../../../src/recorders/core/ContextRecorder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ /**
3
+ * ErrorBridge — translates footprintjs's STRUCTURAL `onRunFailed` (the
4
+ * terminal run-boundary event fired when a run throws a non-pause error)
5
+ * into agentfootprint's TYPED `agentfootprint.error.fatal` domain event.
6
+ *
7
+ * Pattern: Adapter (GoF) — same role as EmitBridge, different channel.
8
+ * Role: Close the "failed run is invisible" gap. footprintjs fires
9
+ * `onError` (stage-level) + `onRunFailed` (run-level) on the
10
+ * FlowRecorder channel, but agentfootprint's typed consumers
11
+ * (LiveStateRecorder clearing in-flight, monitors setting
12
+ * status) listen on the DISPATCHER. Without a bridge, a thrown
13
+ * LLM call left `isLLMInFlight()` stuck true ("Chatbot is
14
+ * thinking…" forever) and downstream STATUS showed "ok". This
15
+ * re-dispatches one terminal typed event so every consumer
16
+ * reacts uniformly.
17
+ * Emits: agentfootprint.error.fatal (once per failed top-level run).
18
+ *
19
+ * Fires at the TOP LEVEL only — footprintjs `onRunFailed` is a run
20
+ * boundary, not a per-stage event. Subflow errors propagate up and
21
+ * surface here once.
22
+ */
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.errorBridge = exports.ErrorBridge = void 0;
25
+ const eventMeta_js_1 = require("../../bridge/eventMeta.js");
26
+ const humanizeLLMError_js_1 = require("../../core/humanizeLLMError.js");
27
+ class ErrorBridge {
28
+ id;
29
+ dispatcher;
30
+ getRunContext;
31
+ constructor(options) {
32
+ this.dispatcher = options.dispatcher;
33
+ this.id = options.id ?? 'agentfootprint.error-bridge';
34
+ this.getRunContext = options.getRunContext;
35
+ }
36
+ onRunFailed(event) {
37
+ const ctx = event.traversalContext;
38
+ const meta = (0, eventMeta_js_1.buildEventMeta)({ runtimeStageId: ctx?.runtimeStageId, subflowPath: ctx?.subflowPath }, this.getRunContext());
39
+ // Dispatch unconditionally (no hasListenersFor guard): failures are
40
+ // rare, and a wildcard subscriber (the live monitor) must always see
41
+ // the terminal signal even if no error-specific listener is attached.
42
+ // Humanize HERE — the single terminal translation point. The raw
43
+ // error already propagated through the reliability/merge layers (which
44
+ // classify on the raw message) and out to the run()'s caller. This
45
+ // event is what the live monitor renders, so non-developers see a
46
+ // plain-language, actionable sentence ("Couldn't reach the AI model…")
47
+ // instead of "[browser-anthropic] Failed to fetch".
48
+ this.dispatcher.dispatch({
49
+ type: 'agentfootprint.error.fatal',
50
+ payload: {
51
+ error: (0, humanizeLLMError_js_1.humanizeLLMError)({ message: event.structuredError.message }),
52
+ stage: ctx?.stageName ?? '__root__',
53
+ scope: 'run',
54
+ },
55
+ meta,
56
+ });
57
+ }
58
+ }
59
+ exports.ErrorBridge = ErrorBridge;
60
+ function errorBridge(options) {
61
+ return new ErrorBridge(options);
62
+ }
63
+ exports.errorBridge = errorBridge;
64
+ //# sourceMappingURL=ErrorBridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorBridge.js","sourceRoot":"","sources":["../../../src/recorders/core/ErrorBridge.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;;AAIH,4DAA4E;AAC5E,wEAAkE;AASlE,MAAa,WAAW;IACb,EAAE,CAAS;IACH,UAAU,CAAkB;IAC5B,aAAa,CAAmB;IAEjD,YAAY,OAA2B;QACrC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,6BAA6B,CAAC;QACtD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAC7C,CAAC;IAED,WAAW,CAAC,KAAyB;QACnC,MAAM,GAAG,GAAG,KAAK,CAAC,gBAAgB,CAAC;QACnC,MAAM,IAAI,GAAG,IAAA,6BAAc,EACzB,EAAE,cAAc,EAAE,GAAG,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE,EACtE,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;QACF,oEAAoE;QACpE,qEAAqE;QACrE,sEAAsE;QACtE,iEAAiE;QACjE,uEAAuE;QACvE,mEAAmE;QACnE,kEAAkE;QAClE,uEAAuE;QACvE,oDAAoD;QACpD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YACvB,IAAI,EAAE,4BAA4B;YAClC,OAAO,EAAE;gBACP,KAAK,EAAE,IAAA,sCAAgB,EAAC,EAAE,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;gBACnE,KAAK,EAAE,GAAG,EAAE,SAAS,IAAI,UAAU;gBACnC,KAAK,EAAE,KAAK;aACb;YACD,IAAI;SACL,CAAC,CAAC;IACL,CAAC;CACF;AApCD,kCAoCC;AAED,SAAgB,WAAW,CAAC,OAA2B;IACrD,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC;AAFD,kCAEC"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ /**
3
+ * ReliabilityRecorder — forwards `agentfootprint.reliability.*` emits to
4
+ * the dispatcher.
5
+ *
6
+ * Pattern: Factory (GoF) returning an EmitBridge instance.
7
+ * Role: Bridges the rules-based reliability loop's telemetry
8
+ * (`reliability.fail_fast` / `reliability.retried` /
9
+ * `reliability.recovered`, emitted from `executeWithReliability`
10
+ * via `typedEmit`) to the EventDispatcher so typed consumer
11
+ * listeners (`agent.on('agentfootprint.reliability.retried', …)`)
12
+ * fire. Without this bridge those emits hit the footprintjs emit
13
+ * channel but never reach the dispatcher.
14
+ * Emits: agentfootprint.reliability.fail_fast / retried / recovered
15
+ *
16
+ * NOTE: this is the RULES-LOOP family. The generic `error.retried` /
17
+ * `error.recovered` events are reserved for the standalone provider
18
+ * decorators (withRetry/withFallback) and are NOT bridged here — see
19
+ * docs/MENTAL_MODEL.md §14.
20
+ */
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.reliabilityRecorder = void 0;
23
+ const EmitBridge_js_1 = require("./EmitBridge.js");
24
+ function reliabilityRecorder(options) {
25
+ return new EmitBridge_js_1.EmitBridge({
26
+ id: options.id ?? 'agentfootprint.reliability-recorder',
27
+ prefix: 'agentfootprint.reliability.',
28
+ dispatcher: options.dispatcher,
29
+ getRunContext: options.getRunContext,
30
+ });
31
+ }
32
+ exports.reliabilityRecorder = reliabilityRecorder;
33
+ //# sourceMappingURL=ReliabilityRecorder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReliabilityRecorder.js","sourceRoot":"","sources":["../../../src/recorders/core/ReliabilityRecorder.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;GAkBG;;;AAEH,mDAAqE;AAMrE,SAAgB,mBAAmB,CAAC,OAAmC;IACrE,OAAO,IAAI,0BAAU,CAAC;QACpB,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,qCAAqC;QACvD,MAAM,EAAE,6BAA6B;QACrC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,aAAa,EAAE,OAAO,CAAC,aAAa;KACrC,CAAC,CAAC;AACL,CAAC;AAPD,kDAOC"}