@falai/agent 2.6.1 → 2.7.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 (320) hide show
  1. package/README.md +1 -1
  2. package/dist/adapters/MemoryAdapter.js +29 -33
  3. package/dist/adapters/MemoryAdapter.js.map +1 -1
  4. package/dist/adapters/PostgreSQLAdapter.d.ts.map +1 -1
  5. package/dist/adapters/PostgreSQLAdapter.js +16 -11
  6. package/dist/adapters/PostgreSQLAdapter.js.map +1 -1
  7. package/dist/adapters/RedisAdapter.d.ts +1 -0
  8. package/dist/adapters/RedisAdapter.d.ts.map +1 -1
  9. package/dist/adapters/RedisAdapter.js +75 -25
  10. package/dist/adapters/RedisAdapter.js.map +1 -1
  11. package/dist/adapters/SQLiteAdapter.d.ts.map +1 -1
  12. package/dist/adapters/SQLiteAdapter.js +7 -29
  13. package/dist/adapters/SQLiteAdapter.js.map +1 -1
  14. package/dist/adapters/sessionRow.d.ts +22 -0
  15. package/dist/adapters/sessionRow.d.ts.map +1 -0
  16. package/dist/adapters/sessionRow.js +48 -0
  17. package/dist/adapters/sessionRow.js.map +1 -0
  18. package/dist/cjs/adapters/MemoryAdapter.js +29 -33
  19. package/dist/cjs/adapters/MemoryAdapter.js.map +1 -1
  20. package/dist/cjs/adapters/PostgreSQLAdapter.d.ts.map +1 -1
  21. package/dist/cjs/adapters/PostgreSQLAdapter.js +16 -11
  22. package/dist/cjs/adapters/PostgreSQLAdapter.js.map +1 -1
  23. package/dist/cjs/adapters/RedisAdapter.d.ts +1 -0
  24. package/dist/cjs/adapters/RedisAdapter.d.ts.map +1 -1
  25. package/dist/cjs/adapters/RedisAdapter.js +75 -25
  26. package/dist/cjs/adapters/RedisAdapter.js.map +1 -1
  27. package/dist/cjs/adapters/SQLiteAdapter.d.ts.map +1 -1
  28. package/dist/cjs/adapters/SQLiteAdapter.js +7 -29
  29. package/dist/cjs/adapters/SQLiteAdapter.js.map +1 -1
  30. package/dist/cjs/adapters/sessionRow.d.ts +22 -0
  31. package/dist/cjs/adapters/sessionRow.d.ts.map +1 -0
  32. package/dist/cjs/adapters/sessionRow.js +52 -0
  33. package/dist/cjs/adapters/sessionRow.js.map +1 -0
  34. package/dist/cjs/core/Agent.d.ts +8 -0
  35. package/dist/cjs/core/Agent.d.ts.map +1 -1
  36. package/dist/cjs/core/Agent.js +40 -2
  37. package/dist/cjs/core/Agent.js.map +1 -1
  38. package/dist/cjs/core/AutoChainExecutor.d.ts +8 -18
  39. package/dist/cjs/core/AutoChainExecutor.d.ts.map +1 -1
  40. package/dist/cjs/core/AutoChainExecutor.js +23 -26
  41. package/dist/cjs/core/AutoChainExecutor.js.map +1 -1
  42. package/dist/cjs/core/CompactionEngine.d.ts +14 -1
  43. package/dist/cjs/core/CompactionEngine.d.ts.map +1 -1
  44. package/dist/cjs/core/CompactionEngine.js +30 -6
  45. package/dist/cjs/core/CompactionEngine.js.map +1 -1
  46. package/dist/cjs/core/FlowRouter.d.ts.map +1 -1
  47. package/dist/cjs/core/FlowRouter.js +32 -10
  48. package/dist/cjs/core/FlowRouter.js.map +1 -1
  49. package/dist/cjs/core/ResponseGenerationError.d.ts.map +1 -1
  50. package/dist/cjs/core/ResponseGenerationError.js +3 -5
  51. package/dist/cjs/core/ResponseGenerationError.js.map +1 -1
  52. package/dist/cjs/core/ResponseModal.d.ts +29 -0
  53. package/dist/cjs/core/ResponseModal.d.ts.map +1 -1
  54. package/dist/cjs/core/ResponseModal.js +141 -18
  55. package/dist/cjs/core/ResponseModal.js.map +1 -1
  56. package/dist/cjs/core/ResponsePipeline.d.ts +36 -6
  57. package/dist/cjs/core/ResponsePipeline.d.ts.map +1 -1
  58. package/dist/cjs/core/ResponsePipeline.js +208 -73
  59. package/dist/cjs/core/ResponsePipeline.js.map +1 -1
  60. package/dist/cjs/core/SessionFinalizer.d.ts.map +1 -1
  61. package/dist/cjs/core/SessionFinalizer.js +30 -3
  62. package/dist/cjs/core/SessionFinalizer.js.map +1 -1
  63. package/dist/cjs/core/SessionManager.d.ts +10 -1
  64. package/dist/cjs/core/SessionManager.d.ts.map +1 -1
  65. package/dist/cjs/core/SessionManager.js +43 -16
  66. package/dist/cjs/core/SessionManager.js.map +1 -1
  67. package/dist/cjs/core/SignalProcessor.d.ts.map +1 -1
  68. package/dist/cjs/core/SignalProcessor.js +5 -77
  69. package/dist/cjs/core/SignalProcessor.js.map +1 -1
  70. package/dist/cjs/core/Step.d.ts.map +1 -1
  71. package/dist/cjs/core/Step.js +50 -2
  72. package/dist/cjs/core/Step.js.map +1 -1
  73. package/dist/cjs/core/StepLifecycle.d.ts +16 -6
  74. package/dist/cjs/core/StepLifecycle.d.ts.map +1 -1
  75. package/dist/cjs/core/StepLifecycle.js +97 -14
  76. package/dist/cjs/core/StepLifecycle.js.map +1 -1
  77. package/dist/cjs/core/StreamingToolExecutor.d.ts.map +1 -1
  78. package/dist/cjs/core/StreamingToolExecutor.js +28 -4
  79. package/dist/cjs/core/StreamingToolExecutor.js.map +1 -1
  80. package/dist/cjs/core/ToolLoopExecutor.d.ts +5 -1
  81. package/dist/cjs/core/ToolLoopExecutor.d.ts.map +1 -1
  82. package/dist/cjs/core/ToolLoopExecutor.js +155 -63
  83. package/dist/cjs/core/ToolLoopExecutor.js.map +1 -1
  84. package/dist/cjs/core/ToolManager.d.ts +1 -1
  85. package/dist/cjs/core/ToolManager.d.ts.map +1 -1
  86. package/dist/cjs/core/ToolManager.js +40 -17
  87. package/dist/cjs/core/ToolManager.js.map +1 -1
  88. package/dist/cjs/core/flow-namespace.d.ts +15 -0
  89. package/dist/cjs/core/flow-namespace.d.ts.map +1 -1
  90. package/dist/cjs/core/flow-namespace.js +22 -0
  91. package/dist/cjs/core/flow-namespace.js.map +1 -1
  92. package/dist/cjs/index.d.ts +4 -1
  93. package/dist/cjs/index.d.ts.map +1 -1
  94. package/dist/cjs/index.js +5 -2
  95. package/dist/cjs/index.js.map +1 -1
  96. package/dist/cjs/providers/AnthropicProvider.d.ts +10 -3
  97. package/dist/cjs/providers/AnthropicProvider.d.ts.map +1 -1
  98. package/dist/cjs/providers/AnthropicProvider.js +54 -73
  99. package/dist/cjs/providers/AnthropicProvider.js.map +1 -1
  100. package/dist/cjs/providers/GeminiProvider.d.ts +9 -3
  101. package/dist/cjs/providers/GeminiProvider.d.ts.map +1 -1
  102. package/dist/cjs/providers/GeminiProvider.js +24 -68
  103. package/dist/cjs/providers/GeminiProvider.js.map +1 -1
  104. package/dist/cjs/providers/OpenAICompatibleProvider.d.ts +9 -0
  105. package/dist/cjs/providers/OpenAICompatibleProvider.d.ts.map +1 -1
  106. package/dist/cjs/providers/OpenAICompatibleProvider.js +101 -74
  107. package/dist/cjs/providers/OpenAICompatibleProvider.js.map +1 -1
  108. package/dist/cjs/providers/OpenAIProvider.d.ts +1 -1
  109. package/dist/cjs/providers/OpenAIProvider.d.ts.map +1 -1
  110. package/dist/cjs/providers/OpenAIProvider.js +1 -1
  111. package/dist/cjs/providers/errorClassification.d.ts +7 -0
  112. package/dist/cjs/providers/errorClassification.d.ts.map +1 -1
  113. package/dist/cjs/providers/errorClassification.js +27 -0
  114. package/dist/cjs/providers/errorClassification.js.map +1 -1
  115. package/dist/cjs/types/agent.d.ts +26 -0
  116. package/dist/cjs/types/agent.d.ts.map +1 -1
  117. package/dist/cjs/types/flow.d.ts +49 -32
  118. package/dist/cjs/types/flow.d.ts.map +1 -1
  119. package/dist/cjs/types/index.d.ts +1 -1
  120. package/dist/cjs/types/index.d.ts.map +1 -1
  121. package/dist/cjs/types/index.js.map +1 -1
  122. package/dist/cjs/types/tool.d.ts +2 -0
  123. package/dist/cjs/types/tool.d.ts.map +1 -1
  124. package/dist/cjs/types/tool.js.map +1 -1
  125. package/dist/cjs/utils/index.d.ts +4 -4
  126. package/dist/cjs/utils/index.d.ts.map +1 -1
  127. package/dist/cjs/utils/index.js +10 -1
  128. package/dist/cjs/utils/index.js.map +1 -1
  129. package/dist/cjs/utils/retry.d.ts +99 -1
  130. package/dist/cjs/utils/retry.d.ts.map +1 -1
  131. package/dist/cjs/utils/retry.js +140 -3
  132. package/dist/cjs/utils/retry.js.map +1 -1
  133. package/dist/cjs/utils/serialize.d.ts +17 -0
  134. package/dist/cjs/utils/serialize.d.ts.map +1 -1
  135. package/dist/cjs/utils/serialize.js +33 -0
  136. package/dist/cjs/utils/serialize.js.map +1 -1
  137. package/dist/cjs/utils/session.d.ts +21 -1
  138. package/dist/cjs/utils/session.d.ts.map +1 -1
  139. package/dist/cjs/utils/session.js +36 -4
  140. package/dist/cjs/utils/session.js.map +1 -1
  141. package/dist/core/Agent.d.ts +8 -0
  142. package/dist/core/Agent.d.ts.map +1 -1
  143. package/dist/core/Agent.js +40 -2
  144. package/dist/core/Agent.js.map +1 -1
  145. package/dist/core/AutoChainExecutor.d.ts +8 -18
  146. package/dist/core/AutoChainExecutor.d.ts.map +1 -1
  147. package/dist/core/AutoChainExecutor.js +23 -26
  148. package/dist/core/AutoChainExecutor.js.map +1 -1
  149. package/dist/core/CompactionEngine.d.ts +14 -1
  150. package/dist/core/CompactionEngine.d.ts.map +1 -1
  151. package/dist/core/CompactionEngine.js +30 -6
  152. package/dist/core/CompactionEngine.js.map +1 -1
  153. package/dist/core/FlowRouter.d.ts.map +1 -1
  154. package/dist/core/FlowRouter.js +32 -10
  155. package/dist/core/FlowRouter.js.map +1 -1
  156. package/dist/core/ResponseGenerationError.d.ts.map +1 -1
  157. package/dist/core/ResponseGenerationError.js +3 -5
  158. package/dist/core/ResponseGenerationError.js.map +1 -1
  159. package/dist/core/ResponseModal.d.ts +29 -0
  160. package/dist/core/ResponseModal.d.ts.map +1 -1
  161. package/dist/core/ResponseModal.js +142 -19
  162. package/dist/core/ResponseModal.js.map +1 -1
  163. package/dist/core/ResponsePipeline.d.ts +36 -6
  164. package/dist/core/ResponsePipeline.d.ts.map +1 -1
  165. package/dist/core/ResponsePipeline.js +208 -73
  166. package/dist/core/ResponsePipeline.js.map +1 -1
  167. package/dist/core/SessionFinalizer.d.ts.map +1 -1
  168. package/dist/core/SessionFinalizer.js +31 -4
  169. package/dist/core/SessionFinalizer.js.map +1 -1
  170. package/dist/core/SessionManager.d.ts +10 -1
  171. package/dist/core/SessionManager.d.ts.map +1 -1
  172. package/dist/core/SessionManager.js +44 -17
  173. package/dist/core/SessionManager.js.map +1 -1
  174. package/dist/core/SignalProcessor.d.ts.map +1 -1
  175. package/dist/core/SignalProcessor.js +5 -77
  176. package/dist/core/SignalProcessor.js.map +1 -1
  177. package/dist/core/Step.d.ts.map +1 -1
  178. package/dist/core/Step.js +50 -2
  179. package/dist/core/Step.js.map +1 -1
  180. package/dist/core/StepLifecycle.d.ts +16 -6
  181. package/dist/core/StepLifecycle.d.ts.map +1 -1
  182. package/dist/core/StepLifecycle.js +97 -14
  183. package/dist/core/StepLifecycle.js.map +1 -1
  184. package/dist/core/StreamingToolExecutor.d.ts.map +1 -1
  185. package/dist/core/StreamingToolExecutor.js +28 -4
  186. package/dist/core/StreamingToolExecutor.js.map +1 -1
  187. package/dist/core/ToolLoopExecutor.d.ts +5 -1
  188. package/dist/core/ToolLoopExecutor.d.ts.map +1 -1
  189. package/dist/core/ToolLoopExecutor.js +155 -63
  190. package/dist/core/ToolLoopExecutor.js.map +1 -1
  191. package/dist/core/ToolManager.d.ts +1 -1
  192. package/dist/core/ToolManager.d.ts.map +1 -1
  193. package/dist/core/ToolManager.js +41 -18
  194. package/dist/core/ToolManager.js.map +1 -1
  195. package/dist/core/flow-namespace.d.ts +15 -0
  196. package/dist/core/flow-namespace.d.ts.map +1 -1
  197. package/dist/core/flow-namespace.js +22 -0
  198. package/dist/core/flow-namespace.js.map +1 -1
  199. package/dist/index.d.ts +4 -1
  200. package/dist/index.d.ts.map +1 -1
  201. package/dist/index.js +2 -1
  202. package/dist/index.js.map +1 -1
  203. package/dist/providers/AnthropicProvider.d.ts +10 -3
  204. package/dist/providers/AnthropicProvider.d.ts.map +1 -1
  205. package/dist/providers/AnthropicProvider.js +56 -75
  206. package/dist/providers/AnthropicProvider.js.map +1 -1
  207. package/dist/providers/GeminiProvider.d.ts +9 -3
  208. package/dist/providers/GeminiProvider.d.ts.map +1 -1
  209. package/dist/providers/GeminiProvider.js +26 -70
  210. package/dist/providers/GeminiProvider.js.map +1 -1
  211. package/dist/providers/OpenAICompatibleProvider.d.ts +9 -0
  212. package/dist/providers/OpenAICompatibleProvider.d.ts.map +1 -1
  213. package/dist/providers/OpenAICompatibleProvider.js +103 -76
  214. package/dist/providers/OpenAICompatibleProvider.js.map +1 -1
  215. package/dist/providers/OpenAIProvider.d.ts +1 -1
  216. package/dist/providers/OpenAIProvider.d.ts.map +1 -1
  217. package/dist/providers/OpenAIProvider.js +1 -1
  218. package/dist/providers/errorClassification.d.ts +7 -0
  219. package/dist/providers/errorClassification.d.ts.map +1 -1
  220. package/dist/providers/errorClassification.js +26 -0
  221. package/dist/providers/errorClassification.js.map +1 -1
  222. package/dist/types/agent.d.ts +26 -0
  223. package/dist/types/agent.d.ts.map +1 -1
  224. package/dist/types/flow.d.ts +49 -32
  225. package/dist/types/flow.d.ts.map +1 -1
  226. package/dist/types/index.d.ts +1 -1
  227. package/dist/types/index.d.ts.map +1 -1
  228. package/dist/types/index.js.map +1 -1
  229. package/dist/types/tool.d.ts +2 -0
  230. package/dist/types/tool.d.ts.map +1 -1
  231. package/dist/types/tool.js.map +1 -1
  232. package/dist/utils/index.d.ts +4 -4
  233. package/dist/utils/index.d.ts.map +1 -1
  234. package/dist/utils/index.js +3 -3
  235. package/dist/utils/index.js.map +1 -1
  236. package/dist/utils/retry.d.ts +99 -1
  237. package/dist/utils/retry.d.ts.map +1 -1
  238. package/dist/utils/retry.js +137 -3
  239. package/dist/utils/retry.js.map +1 -1
  240. package/dist/utils/serialize.d.ts +17 -0
  241. package/dist/utils/serialize.d.ts.map +1 -1
  242. package/dist/utils/serialize.js +31 -0
  243. package/dist/utils/serialize.js.map +1 -1
  244. package/dist/utils/session.d.ts +21 -1
  245. package/dist/utils/session.d.ts.map +1 -1
  246. package/dist/utils/session.js +33 -4
  247. package/dist/utils/session.js.map +1 -1
  248. package/docs/concepts/architecture.md +3 -3
  249. package/docs/concepts/directives.md +1 -1
  250. package/docs/guides/error-handling.md +46 -45
  251. package/docs/guides/flow-control.md +8 -1
  252. package/docs/guides/instructions.md +15 -6
  253. package/docs/guides/persistence.md +12 -5
  254. package/docs/guides/streaming.md +10 -0
  255. package/docs/migration/README.md +4 -0
  256. package/docs/migration/v2-3-to-v2-4.md +4 -0
  257. package/docs/migration/v2-6-to-v2-7.md +246 -0
  258. package/docs/reference/adapters.md +15 -1
  259. package/docs/reference/create-agent.md +28 -0
  260. package/docs/reference/directive.md +1 -1
  261. package/docs/reference/errors.md +29 -31
  262. package/docs/reference/providers.md +23 -19
  263. package/docs/reference/step.md +28 -21
  264. package/docs/reference/tool.md +14 -5
  265. package/docs/start/02-first-agent.md +8 -4
  266. package/docs/start/03-collect-data.md +19 -10
  267. package/examples/01-quickstart.ts +1 -1
  268. package/examples/02-data-extraction.ts +1 -1
  269. package/examples/03-tools.ts +1 -1
  270. package/examples/04-instructions.ts +1 -1
  271. package/examples/05-branching.ts +1 -1
  272. package/examples/06-flow-control.ts +3 -3
  273. package/examples/07-streaming.ts +1 -1
  274. package/examples/08-persistence.ts +1 -1
  275. package/examples/09-signals.ts +1 -1
  276. package/package.json +2 -2
  277. package/src/adapters/MemoryAdapter.ts +29 -33
  278. package/src/adapters/PostgreSQLAdapter.ts +23 -18
  279. package/src/adapters/RedisAdapter.ts +81 -34
  280. package/src/adapters/SQLiteAdapter.ts +10 -31
  281. package/src/adapters/sessionRow.ts +57 -0
  282. package/src/core/Agent.ts +48 -2
  283. package/src/core/AutoChainExecutor.ts +37 -50
  284. package/src/core/CompactionEngine.ts +40 -6
  285. package/src/core/FlowRouter.ts +38 -12
  286. package/src/core/ResponseGenerationError.ts +3 -6
  287. package/src/core/ResponseModal.ts +185 -19
  288. package/src/core/ResponsePipeline.ts +259 -85
  289. package/src/core/SessionFinalizer.ts +35 -5
  290. package/src/core/SessionManager.ts +55 -21
  291. package/src/core/SignalProcessor.ts +5 -85
  292. package/src/core/Step.ts +79 -2
  293. package/src/core/StepLifecycle.ts +125 -22
  294. package/src/core/StreamingToolExecutor.ts +31 -6
  295. package/src/core/ToolLoopExecutor.ts +200 -74
  296. package/src/core/ToolManager.ts +45 -18
  297. package/src/core/flow-namespace.ts +29 -0
  298. package/src/index.ts +4 -1
  299. package/src/providers/AnthropicProvider.ts +83 -131
  300. package/src/providers/GeminiProvider.ts +42 -116
  301. package/src/providers/OpenAICompatibleProvider.ts +132 -133
  302. package/src/providers/OpenAIProvider.ts +2 -2
  303. package/src/providers/errorClassification.ts +34 -0
  304. package/src/types/agent.ts +25 -0
  305. package/src/types/flow.ts +37 -39
  306. package/src/types/index.ts +1 -0
  307. package/src/types/tool.ts +2 -0
  308. package/src/utils/index.ts +22 -3
  309. package/src/utils/retry.ts +251 -2
  310. package/src/utils/serialize.ts +38 -0
  311. package/src/utils/session.ts +41 -4
  312. package/dist/cjs/core/DirectiveBus.d.ts +0 -88
  313. package/dist/cjs/core/DirectiveBus.d.ts.map +0 -1
  314. package/dist/cjs/core/DirectiveBus.js +0 -196
  315. package/dist/cjs/core/DirectiveBus.js.map +0 -1
  316. package/dist/core/DirectiveBus.d.ts +0 -88
  317. package/dist/core/DirectiveBus.d.ts.map +0 -1
  318. package/dist/core/DirectiveBus.js +0 -192
  319. package/dist/core/DirectiveBus.js.map +0 -1
  320. package/src/core/DirectiveBus.ts +0 -248
@@ -1 +1 @@
1
- {"version":3,"file":"FlowRouter.d.ts","sourceRoot":"","sources":["../../src/core/FlowRouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FlowRouter.d.ts","sourceRoot":"","sources":["../../src/core/FlowRouter.ts"],"names":[],"mappings":"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"}
@@ -583,6 +583,17 @@ export class FlowRouter {
583
583
  updatedSession = this.enterFlowIfNeeded(updatedSession, selectedFlow);
584
584
  }
585
585
  }
586
+ else {
587
+ // Routing LLM output could not be parsed into the expected structured
588
+ // shape (no `flows` payload). The turn degrades to a fallback response
589
+ // with the flow position untouched — surface that loudly instead of
590
+ // failing silently.
591
+ const rawSnippet = (routingResult.message ?? "").trim().slice(0, 120);
592
+ logger.warn(`[FlowRouter] Routing output unparseable: routing LLM returned no structured "flows" payload` +
593
+ `${rawSnippet ? `; raw output: "${rawSnippet}"` : ""}. ` +
594
+ `This turn degrades to a generic fallback response and the flow position is left unchanged. ` +
595
+ `Check the provider's structured-output/JSON support or inspect the routing prompt for schema violations.`);
596
+ }
586
597
  return {
587
598
  selectedFlow,
588
599
  selectedStep,
@@ -673,20 +684,31 @@ export class FlowRouter {
673
684
  return undefined;
674
685
  }
675
686
  // Apply sticky routing: if there's a current route, only switch if the
676
- // best alternative exceeds the current flow's score by the configured margin
687
+ // best alternative exceeds the current flow's score by the configured margin.
688
+ // The margin applies symmetrically: even when the current flow has no
689
+ // weighted entry (the AI scored it 0 or omitted it), switching away
690
+ // requires clearing the margin over a zero baseline — shared agent-level
691
+ // data can otherwise zero out a mid-conversation flow.
677
692
  if (currentRouteId) {
678
693
  const currentEntry = weightedScores.find(e => e.route.id === currentRouteId);
679
694
  const bestEntry = weightedScores[0];
680
- if (currentEntry && bestEntry.route.id !== currentRouteId) {
681
- if (bestEntry.score < currentEntry.score + switchMargin) {
682
- logger.debug(`[FlowRouter] Staying on current flow: ${currentEntry.route.title} ` +
683
- `(current: ${currentEntry.score}, best alternative: ${bestEntry.score}, ` +
684
- `margin required: ${switchMargin})`);
685
- return currentEntry.route;
695
+ if (bestEntry && bestEntry.route.id !== currentRouteId) {
696
+ const currentScore = currentEntry ? currentEntry.score : 0;
697
+ if (bestEntry.score < currentScore + switchMargin) {
698
+ const currentRoute = currentEntry?.route ?? routes.find(r => r.id === currentRouteId);
699
+ if (currentRoute) {
700
+ logger.debug(`[FlowRouter] Staying on current flow: ${currentRoute.title} ` +
701
+ `(current: ${currentScore}, best alternative: ${bestEntry.score}, ` +
702
+ `margin required: ${switchMargin})`);
703
+ return currentRoute;
704
+ }
705
+ logger.debug(`[FlowRouter] Current flow ${currentRouteId} is no longer routable — selecting best alternative: ${bestEntry.route.title}`);
706
+ }
707
+ else {
708
+ logger.debug(`[FlowRouter] Switching flow: ${currentEntry?.route.title ?? currentRouteId} → ${bestEntry.route.title} ` +
709
+ `(current: ${currentScore}, alternative: ${bestEntry.score}, ` +
710
+ `margin: ${switchMargin})`);
686
711
  }
687
- logger.debug(`[FlowRouter] Switching flow: ${currentEntry.route.title} → ${bestEntry.route.title} ` +
688
- `(current: ${currentEntry.score}, alternative: ${bestEntry.score}, ` +
689
- `margin: ${switchMargin})`);
690
712
  }
691
713
  }
692
714
  logger.debug(`[FlowRouter] Selected optimal route: ${weightedScores[0].route.title} ` +
@@ -1 +1 @@
1
- {"version":3,"file":"FlowRouter.js","sourceRoot":"","sources":["../../src/core/FlowRouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FlowRouter.js","sourceRoot":"","sources":["../../src/core/FlowRouter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ResponseGenerationError.d.ts","sourceRoot":"","sources":["../../src/core/ResponseGenerationError.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,UAAU,8BAA8B;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;aAG1B,OAAO,CAAC,EAAE,8BAA8B;gBADxD,OAAO,EAAE,MAAM,EACC,OAAO,CAAC,EAAE,8BAA8B,YAAA;IAW5D;;OAEG;IACH,MAAM,CAAC,SAAS,CACZ,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,uBAAuB;IAS1B;;OAEG;IACH,MAAM,CAAC,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,uBAAuB;CAGrF"}
1
+ {"version":3,"file":"ResponseGenerationError.d.ts","sourceRoot":"","sources":["../../src/core/ResponseGenerationError.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,UAAU,8BAA8B;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;aAG1B,OAAO,CAAC,EAAE,8BAA8B;gBADxD,OAAO,EAAE,MAAM,EACC,OAAO,CAAC,EAAE,8BAA8B,YAAA;IAQ5D;;OAEG;IACH,MAAM,CAAC,SAAS,CACZ,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,uBAAuB;IAS1B;;OAEG;IACH,MAAM,CAAC,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,uBAAuB;CAGrF"}
@@ -7,13 +7,11 @@
7
7
  */
8
8
  export class ResponseGenerationError extends Error {
9
9
  constructor(message, details) {
10
- super(message);
10
+ // Native `cause` chain: `err.cause` is the original error, so
11
+ // consumers can reach ProviderError.code etc. without string matching.
12
+ super(message, { cause: details?.originalError });
11
13
  this.details = details;
12
14
  this.name = 'ResponseGenerationError';
13
- // Preserve stack trace from original error if available
14
- if (details?.originalError instanceof Error && details.originalError.stack) {
15
- this.stack = `${this.stack}\nCaused by: ${details.originalError.stack}`;
16
- }
17
15
  }
18
16
  /**
19
17
  * Create a ResponseGenerationError from an unknown error
@@ -1 +1 @@
1
- {"version":3,"file":"ResponseGenerationError.js","sourceRoot":"","sources":["../../src/core/ResponseGenerationError.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH;;GAEG;AACH,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAC9C,YACI,OAAe,EACC,OAAwC;QAExD,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,YAAO,GAAP,OAAO,CAAiC;QAGxD,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;QAEtC,wDAAwD;QACxD,IAAI,OAAO,EAAE,aAAa,YAAY,KAAK,IAAI,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YACzE,IAAI,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,KAAK,gBAAgB,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC5E,CAAC;IACL,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,SAAS,CACZ,KAAc,EACd,KAAa,EACb,MAAgC,EAChC,OAAiC;QAEjC,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,IAAI,uBAAuB,CAC9B,2DAA2D,KAAK,KAAK,OAAO,IAAI;YAChF,wCAAwC,KAAK,iBAAiB,EAC9D,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CACnD,CAAC;IACN,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,yBAAyB,CAAC,KAAc;QAC3C,OAAO,KAAK,YAAY,uBAAuB,CAAC;IACpD,CAAC;CACJ"}
1
+ {"version":3,"file":"ResponseGenerationError.js","sourceRoot":"","sources":["../../src/core/ResponseGenerationError.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH;;GAEG;AACH,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAC9C,YACI,OAAe,EACC,OAAwC;QAExD,8DAA8D;QAC9D,uEAAuE;QACvE,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;QAJlC,YAAO,GAAP,OAAO,CAAiC;QAKxD,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,SAAS,CACZ,KAAc,EACd,KAAa,EACb,MAAgC,EAChC,OAAiC;QAEjC,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,IAAI,uBAAuB,CAC9B,2DAA2D,KAAK,KAAK,OAAO,IAAI;YAChF,wCAAwC,KAAK,iBAAiB,EAC9D,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CACnD,CAAC;IACN,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,yBAAyB,CAAC,KAAc;QAC3C,OAAO,KAAK,YAAY,uBAAuB,CAAC;IACpD,CAAC;CACJ"}
@@ -58,6 +58,19 @@ export interface ResponseModalOptions {
58
58
  */
59
59
  export interface RespondParams<TContext = unknown, TData = unknown> extends Record<string, unknown> {
60
60
  history: History;
61
+ /**
62
+ * The user's message for this turn. When set, the engine appends it to the
63
+ * generation history AND to the returned session's history, then appends
64
+ * the assistant reply on top — callers who hold sessions no longer need to
65
+ * maintain history arrays by hand.
66
+ */
67
+ message?: string;
68
+ /**
69
+ * Restrict this turn's ROUTING candidates to these flow ids/titles.
70
+ * Directive targets (goTo etc.) still resolve against the full registry.
71
+ * Use for entry-pin funnels instead of cloning/filtering agents.
72
+ */
73
+ allowedFlows?: string[];
61
74
  step?: StepRef;
62
75
  session?: SessionState<TData>;
63
76
  contextOverride?: Partial<TContext>;
@@ -124,6 +137,22 @@ export declare class ResponseModal<TContext = unknown, TData = unknown> {
124
137
  * @private
125
138
  */
126
139
  private getToolManager;
140
+ /**
141
+ * Repair-parse a JSON-shaped protocol fragment (truncated output,
142
+ * fence-wrapped JSON) into a structured payload. Raw protocol fragments
143
+ * must never surface as the user-visible reply: if the repair parse fails,
144
+ * fail the turn LOUDLY so the caller's rollback/retry path engages instead
145
+ * of leaking `{"message": "…` to an end user. Plain prose (not JSON-shaped
146
+ * at all) never reaches this helper — the call sites gate on the fragment
147
+ * shape and pass it through untouched.
148
+ */
149
+ private salvageStructuredOutput;
150
+ /**
151
+ * Tool-emitted directives (ctx.dispatch / `{directive}` returns): state
152
+ * writes apply now; control flow queues for the next turn's
153
+ * pendingDirective applier (same deferred semantics as dispatch()).
154
+ */
155
+ private applyToolEmittedDirectives;
127
156
  /**
128
157
  * Collect scoped instructions from agent, flow, and step into a ScopedInstructions value.
129
158
  * @private
@@ -1 +1 @@
1
- {"version":3,"file":"ResponseModal.d.ts","sourceRoot":"","sources":["../../src/core/ResponseModal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ResponseModal.d.ts","sourceRoot":"","sources":["../../src/core/ResponseModal.ts"],"names":[],"mappings":"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"}
@@ -8,11 +8,14 @@ import { AutoChainExecutor } from "./AutoChainExecutor";
8
8
  import { StepLifecycle } from "./StepLifecycle";
9
9
  import { SessionFinalizer } from "./SessionFinalizer";
10
10
  import { ToolLoopExecutor } from "./ToolLoopExecutor";
11
+ import { flow } from "./flow-namespace";
11
12
  import { SignalCoordinator } from "./SignalCoordinator";
12
13
  import { ResponseGenerationError } from "./ResponseGenerationError";
13
- import { cloneDeep, mergeCollected, logger, historyToEvents, completeCurrentFlow, render } from "../utils";
14
+ import { ProviderError, SessionConflictError } from "../types/errors";
15
+ import { cloneDeep, mergeCollected, logger, historyToEvents, completeCurrentFlow, render, userMessage, assistantMessage } from "../utils";
14
16
  import { createTemplateContext } from "../utils/template";
15
17
  import { StreamingMessageDecoder } from "../utils/streamingMessage";
18
+ import { tryParseJSONResponse } from "../utils/json";
16
19
  /**
17
20
  * ResponseModal class that encapsulates all response generation logic
18
21
  * Uses unified approach for both streaming and non-streaming responses
@@ -81,6 +84,13 @@ export class ResponseModal {
81
84
  if (preTurnSession) {
82
85
  this.agent.session.syncSession(preTurnSession);
83
86
  }
87
+ // Typed library errors carry their own semantics (ProviderError.code,
88
+ // SessionConflictError) — rethrow bare so consumers can branch on
89
+ // them instead of string-matching. Everything else wraps with the
90
+ // original attached as `cause`.
91
+ if (error instanceof ProviderError || error instanceof SessionConflictError) {
92
+ throw error;
93
+ }
84
94
  throw new ResponseGenerationError(`[ResponseGenerationError] Response generation failed: ${error instanceof Error ? error.message : String(error)}. ` +
85
95
  `Check provider configuration and network connectivity.`, { originalError: error, params, phase: 'response_generation' });
86
96
  }
@@ -222,6 +232,44 @@ export class ResponseModal {
222
232
  getToolManager() {
223
233
  return this.agent.tool;
224
234
  }
235
+ /**
236
+ * Repair-parse a JSON-shaped protocol fragment (truncated output,
237
+ * fence-wrapped JSON) into a structured payload. Raw protocol fragments
238
+ * must never surface as the user-visible reply: if the repair parse fails,
239
+ * fail the turn LOUDLY so the caller's rollback/retry path engages instead
240
+ * of leaking `{"message": "…` to an end user. Plain prose (not JSON-shaped
241
+ * at all) never reaches this helper — the call sites gate on the fragment
242
+ * shape and pass it through untouched.
243
+ */
244
+ salvageStructuredOutput(raw, surface) {
245
+ const salvaged = tryParseJSONResponse(raw);
246
+ if (salvaged && typeof salvaged.message === "string") {
247
+ logger.warn(`[ResponseModal] Salvaged malformed structured output from ${surface} via JSON repair parse.`);
248
+ return { ...salvaged, message: salvaged.message };
249
+ }
250
+ throw ResponseGenerationError.fromError(new Error("Model returned a schema-mandated response that could not be parsed as JSON. " +
251
+ `The ${surface} was failed instead of delivering raw protocol output to the user.`), 'structured_output_malformed', { responseSchemaName: 'response_output' });
252
+ }
253
+ /**
254
+ * Tool-emitted directives (ctx.dispatch / `{directive}` returns): state
255
+ * writes apply now; control flow queues for the next turn's
256
+ * pendingDirective applier (same deferred semantics as dispatch()).
257
+ */
258
+ async applyToolEmittedDirectives(session, d) {
259
+ if (d.dataUpdate) {
260
+ session = mergeCollected(session, d.dataUpdate);
261
+ }
262
+ if (d.contextUpdate) {
263
+ await this.agent.updateContext(d.contextUpdate);
264
+ }
265
+ const control = { ...d };
266
+ delete control.dataUpdate;
267
+ delete control.contextUpdate;
268
+ if (Object.keys(control).length > 0) {
269
+ flow.queuePending(session, control);
270
+ }
271
+ return session;
272
+ }
225
273
  /**
226
274
  * Collect scoped instructions from agent, flow, and step into a ScopedInstructions value.
227
275
  * @private
@@ -242,16 +290,19 @@ export class ResponseModal {
242
290
  */
243
291
  async prepareUnifiedResponseContext(params) {
244
292
  try {
245
- const { history: simpleHistory, contextOverride, signal } = params;
293
+ const { history: simpleHistory, contextOverride, signal, message: turnMessage, allowedFlows } = params;
246
294
  // Validate input parameters
247
295
  if (!simpleHistory) {
248
296
  throw new ResponseGenerationError('[ResponseGenerationError] Missing history: history is required for response generation. ' +
249
- 'Pass a valid history array to the respond/stream method.', { params, phase: 'validation' });
297
+ 'Pass a valid history array (or pass `message` alongside an existing history base).', { params, phase: 'validation' });
250
298
  }
299
+ // `message` is the user turn: appended to what the model sees this
300
+ // turn AND recorded on the returned session's history.
301
+ const history = turnMessage
302
+ ? [...simpleHistory, userMessage(turnMessage)]
303
+ : simpleHistory;
251
304
  // Convert HistoryItem[] to Event[] for internal processing
252
- const historyEvents = historyToEvents(simpleHistory);
253
- // Keep original HistoryItem[] format for external APIs
254
- const history = simpleHistory;
305
+ const historyEvents = historyToEvents(history);
255
306
  // Use ResponsePipeline for context and session preparation; context
256
307
  // and session are passed explicitly — the pipeline holds no state
257
308
  let responseContext;
@@ -291,9 +342,22 @@ export class ResponseModal {
291
342
  throw ResponseGenerationError.fromError(error, 'data_merging', params, { stagedData });
292
343
  }
293
344
  }
345
+ // Record the user turn on the session's own history so the returned
346
+ // session carries the full exchange (respond owns session.history
347
+ // when `message` is used).
348
+ if (turnMessage) {
349
+ session.history = [...(session.history ?? []), userMessage(turnMessage)];
350
+ }
294
351
  // PHASE 1: PREPARE - Execute prepare function if current step has one
295
352
  try {
296
- await this.stepLifecycle.runPrepare(session, effectiveContext);
353
+ const prepareDirective = await this.stepLifecycle.runPrepare(session, effectiveContext);
354
+ // Queue the control-flow directive for THIS turn: routing
355
+ // (handleRoutingAndStepSelection) consumes session.pendingDirective
356
+ // before deciding flow/step, so a prepare-phase goTo/goToStep/
357
+ // reset steers the current turn.
358
+ if (prepareDirective) {
359
+ flow.queuePending(session, prepareDirective);
360
+ }
297
361
  }
298
362
  catch (error) {
299
363
  throw ResponseGenerationError.fromError(error, 'step_preparation', params, { session, effectiveContext });
@@ -307,6 +371,7 @@ export class ResponseModal {
307
371
  history: historyEvents,
308
372
  context: effectiveContext,
309
373
  signal,
374
+ allowedFlows,
310
375
  });
311
376
  }
312
377
  catch (error) {
@@ -316,6 +381,7 @@ export class ResponseModal {
316
381
  effectiveContext,
317
382
  session: routingResult.session,
318
383
  history,
384
+ turnMessage,
319
385
  selectedFlow: routingResult.selectedFlow,
320
386
  selectedStep: routingResult.selectedStep,
321
387
  responseDirectives: routingResult.responseDirectives,
@@ -325,6 +391,7 @@ export class ResponseModal {
325
391
  signalPreDirective: routingResult.signalPreDirective,
326
392
  signalHalted: routingResult.signalHalted,
327
393
  signalHaltReply: routingResult.signalHaltReply,
394
+ endedFlows: routingResult.endedFlows,
328
395
  };
329
396
  }
330
397
  catch (error) {
@@ -469,6 +536,8 @@ export class ResponseModal {
469
536
  let isFlowComplete = false;
470
537
  let appliedInstructions;
471
538
  let runPostPhase = true;
539
+ let tokensUsed;
540
+ const endedFlows = [...(responseContext.endedFlows ?? [])];
472
541
  switch (plan.outcome.kind) {
473
542
  case 'halt': {
474
543
  message = plan.outcome.message;
@@ -485,6 +554,11 @@ export class ResponseModal {
485
554
  });
486
555
  isFlowComplete = true;
487
556
  stoppedReason = plan.outcome.stoppedReason;
557
+ endedFlows.push({
558
+ flowId: plan.outcome.selectedFlow.id,
559
+ title: plan.outcome.selectedFlow.title,
560
+ reason: plan.outcome.stoppedReason,
561
+ });
488
562
  break;
489
563
  }
490
564
  case 'flowStep': {
@@ -506,6 +580,7 @@ export class ResponseModal {
506
580
  toolCalls = result.toolCalls;
507
581
  session = result.session;
508
582
  appliedInstructions = result.appliedInstructions;
583
+ tokensUsed = result.tokensUsed;
509
584
  if (plan.outcome.step) {
510
585
  executedSteps = [{ id: plan.outcome.step.id, flowId: plan.outcome.selectedFlow.id }];
511
586
  }
@@ -529,6 +604,13 @@ export class ResponseModal {
529
604
  const tail = await this.applyTurnPostPhase({
530
605
  session, context: effectiveContext, historyEvents, message, signalFirings, runPostPhase,
531
606
  });
607
+ // History ownership: with params.message the returned session carries
608
+ // the full exchange — the user turn was recorded pre-routing, the
609
+ // assistant tail lands here (post-phase, so overridden replies are the
610
+ // ones recorded). Empty tails are skipped.
611
+ if (responseContext.turnMessage && tail.message) {
612
+ tail.session.history = [...(tail.session.history ?? []), assistantMessage(tail.message)];
613
+ }
532
614
  return {
533
615
  message: tail.message,
534
616
  session: tail.session,
@@ -538,6 +620,8 @@ export class ResponseModal {
538
620
  stoppedReason,
539
621
  appliedInstructions,
540
622
  triggeredSignals: tail.triggeredSignals,
623
+ ...(tokensUsed !== undefined ? { metadata: { tokensUsed } } : {}),
624
+ ...(endedFlows.length > 0 ? { endedFlows } : {}),
541
625
  };
542
626
  }
543
627
  /**
@@ -622,16 +706,23 @@ export class ResponseModal {
622
706
  signal,
623
707
  parameters: responseSchema ? { jsonSchema: responseSchema, schemaName: "response_output" } : undefined,
624
708
  });
625
- let message = result.structured?.message || result.message;
626
- let toolCalls = result.structured?.toolCalls;
627
- // Debug: Log initial AI response
628
- logger.debug(`[ResponseModal] Initial AI response:`, {
629
- hasMessage: !!message,
630
- messageLength: message?.length || 0,
631
- hasToolCalls: !!toolCalls,
632
- toolCallsCount: toolCalls?.length || 0,
633
- toolNames: toolCalls?.map(tc => tc.toolName) || [],
634
- });
709
+ let structuredData = result.structured;
710
+ let message = structuredData?.message || result.message;
711
+ const tokensUsed = result.metadata?.tokensUsed;
712
+ // A schema was requested but the provider failed to parse the model's
713
+ // JSON (truncated output, fence-wrapped fragments). Raw protocol
714
+ // fragments must never surface as the user-visible reply: attempt one
715
+ // repair-parse, and if that fails fail the turn LOUDLY so the caller's
716
+ // rollback/retry path engages instead of leaking `{"message": "…` to
717
+ // an end user. Plain prose (not JSON-shaped at all) still passes
718
+ // through — it is not a protocol fragment.
719
+ if (!structuredData && responseSchema && message && /^\s*(```|{)/.test(message)) {
720
+ const salvaged = this.salvageStructuredOutput(message, "turn");
721
+ structuredData = salvaged;
722
+ message = salvaged.message;
723
+ }
724
+ const effectiveResult = structuredData ? { ...result, structured: structuredData } : result;
725
+ let toolCalls = structuredData?.toolCalls;
635
726
  // Execute tools with unified loop handling
636
727
  const toolResult = await this.toolLoopExecutor.runLoop({
637
728
  toolCalls,
@@ -649,13 +740,19 @@ export class ResponseModal {
649
740
  if (toolResult.finalMessage) {
650
741
  message = toolResult.finalMessage;
651
742
  }
743
+ // Tool-emitted directives (ctx.dispatch / `{directive}` returns):
744
+ // state writes apply now; control flow queues for the next turn's
745
+ // pendingDirective applier (same deferred semantics as dispatch()).
746
+ if (toolResult.directives) {
747
+ session = await this.applyToolEmittedDirectives(session, toolResult.directives);
748
+ }
652
749
  // Collect data from response
653
750
  // Use follow-up structured data from tool loop when available, fall back to original result
654
751
  const dataSource = toolResult.structured
655
752
  ? { structured: toolResult.structured }
656
- : result;
753
+ : effectiveResult;
657
754
  session = await this.collectDataFromResponse({ result: dataSource, selectedFlow, nextStep, session });
658
- return { message, toolCalls, session, appliedInstructions };
755
+ return { message, toolCalls, session, appliedInstructions, tokensUsed };
659
756
  }
660
757
  finally {
661
758
  // Drain the transient appendage at end of turn.
@@ -740,6 +837,13 @@ export class ResponseModal {
740
837
  });
741
838
  const accumulated = tail.message;
742
839
  const delta = tail.replyOverridden ? accumulated : chunk.delta;
840
+ // History ownership (parity with the sync tail): with
841
+ // params.message the returned session carries the full
842
+ // exchange — the user turn was recorded pre-routing, the
843
+ // assistant tail lands here, BEFORE finalize persists it.
844
+ if (responseContext.turnMessage && tail.message) {
845
+ tail.session.history = [...(tail.session.history ?? []), assistantMessage(tail.message)];
846
+ }
743
847
  // Single streaming exit: finalize the post-phase session so
744
848
  // post-signal mutations (e.g. pendingDirective) are persisted.
745
849
  await this.sessionFinalizer.finalize(tail.session, effectiveContext);
@@ -919,6 +1023,14 @@ export class ResponseModal {
919
1023
  });
920
1024
  session = batchResult.session;
921
1025
  toolCalls = batchResult.toolCalls;
1026
+ // Tool-emitted directives (ctx.dispatch / `{directive}`):
1027
+ // state writes apply now; control flow queues for the next
1028
+ // turn's pendingDirective applier (same deferred semantics
1029
+ // as dispatch()). A verbatim tool reply already replaced the
1030
+ // closing message inside runStreamingBatch.
1031
+ if (batchResult.directives) {
1032
+ session = await this.applyToolEmittedDirectives(session, batchResult.directives);
1033
+ }
922
1034
  // Prefer the post-tool follow-up structured for collection and
923
1035
  // emission whenever present — independent of whether a closing
924
1036
  // message was forced — matching the non-streaming path's
@@ -935,6 +1047,17 @@ export class ResponseModal {
935
1047
  : batchResult.finalMessage;
936
1048
  }
937
1049
  }
1050
+ // Streaming twin of the non-streaming salvage guard: a schema was
1051
+ // requested but no structured payload arrived, and the accumulated
1052
+ // text is JSON-shaped (a protocol fragment) — repair-parse it or
1053
+ // fail the turn rather than leaking raw output to the user.
1054
+ if (chunk.done && !finalStructured && responseSchema && finalAccumulated && /^\s*(```|{)/.test(finalAccumulated)) {
1055
+ const salvaged = this.salvageStructuredOutput(finalAccumulated, "stream");
1056
+ finalStructured = salvaged;
1057
+ finalDelta = salvaged.message.startsWith(finalAccumulated)
1058
+ ? salvaged.message.slice(finalAccumulated.length)
1059
+ : salvaged.message;
1060
+ }
938
1061
  // Collect data on the final chunk for any flow step — flow
939
1062
  // required/optional fields are valid targets even without a step
940
1063
  // `collect` — preferring the post-tool follow-up structured so a