@falai/agent 2.6.0 → 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 +43 -3
  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 +156 -64
  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 +35 -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 +43 -3
  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 +156 -64
  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 +35 -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 +30 -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 +51 -3
  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 +201 -75
  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 +34 -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
@@ -29,6 +29,23 @@ function hasDirectivePositionField(directive) {
29
29
  return false;
30
30
  return DIRECTIVE_POSITION_FIELDS.some((field) => directive[field] !== undefined);
31
31
  }
32
+ /**
33
+ * Compute the per-key data writes the signal phase applied to a session.
34
+ * The signal phase and routing start from the same input session, so any
35
+ * key whose value differs between the input and the signal output was
36
+ * written by the signal phase alone (handler `updateData` calls).
37
+ */
38
+ function diffSignalDataWrites(before, after) {
39
+ const beforeData = (before ?? {});
40
+ const afterData = (after ?? {});
41
+ const writes = {};
42
+ for (const key of Object.keys(afterData)) {
43
+ if (afterData[key] !== beforeData[key]) {
44
+ writes[key] = afterData[key];
45
+ }
46
+ }
47
+ return writes;
48
+ }
32
49
  /**
33
50
  * Shared response processing logic between respond() and respondStream() methods
34
51
  */
@@ -89,7 +106,7 @@ class ResponsePipeline {
89
106
  * Handle routing and step selection logic
90
107
  */
91
108
  async handleRoutingAndStepSelection(params) {
92
- const { session, history, context, signal } = params;
109
+ const { session, history, context, signal, allowedFlows } = params;
93
110
  // PHASE 2: ROUTING + STEP SELECTION - Determine which flow and step to use (combined)
94
111
  let selectedFlow;
95
112
  let responseDirectives;
@@ -97,8 +114,19 @@ class ResponsePipeline {
97
114
  let isFlowComplete = false;
98
115
  let completedFlows = [];
99
116
  let targetSession = session;
117
+ // Flows exited this turn via pendingDirective redirect/reset
118
+ const endedFlows = [];
119
+ let exitPrevFlowId;
120
+ let exitPrevFlowTitle;
121
+ let exitReason;
100
122
  // Get flows early since we need them for pending directives
101
123
  const flows = this.getFlows();
124
+ // Routing candidates may be narrowed for this turn (entry pins); the
125
+ // pendingDirective applier below still resolves targets against the FULL
126
+ // registry so declared redirects always resolve.
127
+ const routingFlows = allowedFlows && allowedFlows.length > 0
128
+ ? flows.filter((f) => allowedFlows.includes(f.id) || allowedFlows.includes(f.title))
129
+ : flows;
102
130
  // Check for pending directive from previous flow completion or external dispatch
103
131
  if (targetSession.pendingDirective) {
104
132
  const directive = targetSession.pendingDirective;
@@ -118,8 +146,15 @@ class ResponsePipeline {
118
146
  ...targetSession,
119
147
  pendingDirective: nextDirective,
120
148
  };
149
+ // Capture the flow we're leaving so directive-driven exits surface on
150
+ // the response (endedFlows).
151
+ exitPrevFlowId = targetSession.currentFlow?.id;
152
+ exitPrevFlowTitle = exitPrevFlowId
153
+ ? flows.find((f) => f.id === exitPrevFlowId)?.title
154
+ : undefined;
121
155
  // Apply the directive: resolve position field to a flow/step
122
156
  if (directive.goTo) {
157
+ exitReason = 'goto';
123
158
  const flowTarget = typeof directive.goTo === 'string'
124
159
  ? directive.goTo
125
160
  : directive.goTo.flow;
@@ -185,6 +220,7 @@ class ResponsePipeline {
185
220
  }
186
221
  }
187
222
  else if (directive.reset) {
223
+ exitReason = 'reset';
188
224
  // Reset current flow
189
225
  if (targetSession.currentFlow) {
190
226
  const currentFlow = flows.find(r => r.id === targetSession.currentFlow?.id);
@@ -216,10 +252,16 @@ class ResponsePipeline {
216
252
  }
217
253
  // Skip FlowRouter.decideFlowAndStep — the directive resolved the position
218
254
  }
219
- // If no pending transition or transition handled, do normal routing
220
- if (flows.length > 0 && !selectedFlow) {
255
+ if (exitReason &&
256
+ exitPrevFlowId &&
257
+ (!selectedFlow || selectedFlow.id !== exitPrevFlowId)) {
258
+ endedFlows.push({ flowId: exitPrevFlowId, title: exitPrevFlowTitle, reason: exitReason });
259
+ }
260
+ // If no pending transition or transition handled, do normal routing.
261
+ // Candidates honor allowedFlows; completion scoring runs over the same set.
262
+ if (routingFlows.length > 0 && !selectedFlow) {
221
263
  const orchestration = await this.flowRouter.decideFlowAndStep({
222
- flows: flows,
264
+ flows: routingFlows,
223
265
  session: targetSession,
224
266
  history,
225
267
  agentOptions: this.options,
@@ -245,8 +287,29 @@ class ResponsePipeline {
245
287
  session: targetSession,
246
288
  isFlowComplete,
247
289
  completedFlows,
290
+ ...(endedFlows.length > 0 ? { endedFlows } : {}),
248
291
  };
249
292
  }
293
+ /**
294
+ * Combine a routing-derived session with the signal phase's non-position
295
+ * mutations. The routing session is the base — it owns position state AND
296
+ * data merges such as flow initialData and directive-carried writes; the
297
+ * signal phase's mutations (trigger recording under `signals`, handler
298
+ * data writes) are re-applied on top. Both phases start from the same
299
+ * input session, so their mutations cannot silently collide.
300
+ */
301
+ combineRoutingAndSignalSessions(params) {
302
+ const { inputSession, signalSession, routingSession } = params;
303
+ let combined = routingSession;
304
+ if (signalSession.signals !== inputSession.signals) {
305
+ combined = { ...combined, signals: signalSession.signals };
306
+ }
307
+ const signalWrites = diffSignalDataWrites(inputSession.data, signalSession.data);
308
+ if (Object.keys(signalWrites).length > 0) {
309
+ combined = (0, utils_1.mergeCollected)(combined, signalWrites);
310
+ }
311
+ return combined;
312
+ }
250
313
  /**
251
314
  * Determine next step and update session
252
315
  */
@@ -485,17 +548,20 @@ class ResponsePipeline {
485
548
  // Create a fresh chain tracker for this turn (Requirement 22.1)
486
549
  this.createChainTracker();
487
550
  // ROUTING SKIP OPTIMIZATION (Requirements 20.1, 20.2, 20.3):
488
- // When the current step has collect fields AND pre-extraction populates at least
489
- // one of those fields, skip FlowRouter.decideFlowAndStep for this turn.
490
- const routingSkipResult = await this.attemptRoutingSkipForCollect(params);
491
- if (routingSkipResult) {
551
+ // When the current step has collect fields AND step-scoped pre-extraction
552
+ // populates at least one of those fields, skip FlowRouter.decideFlowAndStep
553
+ // for this turn. The check's extraction result is reused by the fallthrough
554
+ // paths below so a turn costs at most ONE extraction LLM call.
555
+ const routingSkipCheck = await this.attemptRoutingSkipForCollect(params);
556
+ if (routingSkipCheck.skipResult) {
557
+ const skipResult = routingSkipCheck.skipResult;
492
558
  // Even when routing is skipped, run pre-signal phase if processor is present
493
559
  if (this.signalCoordinator.enabled) {
494
560
  const signalResult = await this.signalCoordinator.runPrePhase(params.session, params.context, params.history);
495
561
  // If signal halts, override the routing skip result
496
562
  if (signalResult.mergedDirective?.halt) {
497
563
  return {
498
- ...routingSkipResult,
564
+ ...skipResult,
499
565
  session: signalResult.updatedSession,
500
566
  signalFirings: signalResult.firings,
501
567
  signalHalted: true,
@@ -506,15 +572,20 @@ class ResponsePipeline {
506
572
  if (hasDirectivePositionField(signalResult.mergedDirective)) {
507
573
  return this.signalCoordinator.applyPositionDirective(signalResult);
508
574
  }
509
- // Non-position directive: propagate for pre-LLM augmentation
575
+ // Non-position directive: keep the skip result (extraction merges,
576
+ // step entry) and re-apply the signal phase's non-position mutations
510
577
  return {
511
- ...routingSkipResult,
512
- session: signalResult.updatedSession,
578
+ ...skipResult,
579
+ session: this.combineRoutingAndSignalSessions({
580
+ inputSession: params.session,
581
+ signalSession: signalResult.updatedSession,
582
+ routingSession: skipResult.session,
583
+ }),
513
584
  signalFirings: signalResult.firings,
514
585
  signalPreDirective: signalResult.mergedDirective || undefined,
515
586
  };
516
587
  }
517
- return routingSkipResult;
588
+ return skipResult;
518
589
  }
519
590
  // ── PARALLEL PRE-SIGNAL PHASE + ROUTING (Algorithm 5) ────────────────
520
591
  // When signalProcessor is present, run pre-signals in parallel with routing.
@@ -528,6 +599,7 @@ class ResponsePipeline {
528
599
  history: params.history,
529
600
  context: params.context,
530
601
  signal: params.signal,
602
+ allowedFlows: params.allowedFlows,
531
603
  }),
532
604
  ]);
533
605
  // ── Requirement 8.2: halt → discard routing, skip LLM ────────────
@@ -548,38 +620,41 @@ class ResponsePipeline {
548
620
  }
549
621
  // ── Requirement 8.4: non-position directive → use routing, propagate augmentation ──
550
622
  // ── Requirement 8.5: no directive → use routing as-is ─────────────
551
- let updatedSession = signalResult.updatedSession;
552
- // Apply data/context updates from signal to the routed session
623
+ // Base = routed session (position state AND router data merges such as
624
+ // flow initialData survive); the signal phase's non-position mutations
625
+ // (trigger state, handler data writes) are re-applied on top.
626
+ let updatedSession = this.combineRoutingAndSignalSessions({
627
+ inputSession: params.session,
628
+ signalSession: signalResult.updatedSession,
629
+ routingSession: routingResult.session,
630
+ });
631
+ // Explicit dataUpdate from the signal's merged directive lands last
553
632
  if (signalResult.mergedDirective?.dataUpdate) {
554
633
  updatedSession = (0, utils_1.mergeCollected)(updatedSession, signalResult.mergedDirective.dataUpdate);
555
634
  }
556
- // Use routing result for flow/step, but carry signal session state
557
- // Merge routing session changes on top of signal session
558
- const routingSession = routingResult.session;
559
- updatedSession = {
560
- ...updatedSession,
561
- currentFlow: routingSession.currentFlow,
562
- currentStep: routingSession.currentStep,
563
- flowHistory: routingSession.flowHistory,
564
- pendingDirective: routingSession.pendingDirective,
565
- };
566
635
  const isFlowComplete = routingResult.isFlowComplete;
567
- // PRE-EXTRACTION: same logic as below — extract data from user message
636
+ // PRE-EXTRACTION: same logic as below — extract data from user message.
637
+ // Reuses the routing-skip check's step-scoped extraction when it already
638
+ // ran this turn (at most ONE extraction LLM call per turn).
568
639
  if (routingResult.selectedFlow && !isFlowComplete) {
569
- if (this.shouldPreExtractData(routingResult.selectedFlow)) {
640
+ let extractedData;
641
+ if (routingSkipCheck.extractionRan) {
642
+ extractedData = routingSkipCheck.extractedData;
643
+ }
644
+ else if (this.shouldPreExtractData(routingResult.selectedFlow)) {
570
645
  utils_1.logger.debug(`[ResponsePipeline] Pre-extracting data for flow: ${routingResult.selectedFlow.title}`);
571
- const extractedData = await this.preExtractFlowData({
646
+ extractedData = await this.preExtractFlowData({
572
647
  route: routingResult.selectedFlow,
573
648
  history: params.history,
574
649
  context: params.context,
575
650
  session: updatedSession,
576
651
  signal: params.signal,
577
652
  });
578
- if (extractedData && Object.keys(extractedData).length > 0) {
579
- utils_1.logger.debug(`[ResponsePipeline] Pre-extracted data:`, extractedData);
580
- updatedSession = (0, utils_1.mergeCollected)(updatedSession, extractedData);
581
- await this.updateCollectedData(extractedData);
582
- }
653
+ }
654
+ if (extractedData && Object.keys(extractedData).length > 0) {
655
+ utils_1.logger.debug(`[ResponsePipeline] Pre-extracted data:`, extractedData);
656
+ updatedSession = (0, utils_1.mergeCollected)(updatedSession, extractedData);
657
+ await this.updateCollectedData(extractedData);
583
658
  }
584
659
  }
585
660
  // Determine next step
@@ -598,6 +673,7 @@ class ResponsePipeline {
598
673
  isFlowComplete: stepResult.flowChanged ? false : isFlowComplete,
599
674
  signalFirings: signalResult.firings,
600
675
  signalPreDirective: signalResult.mergedDirective || undefined,
676
+ endedFlows: routingResult.endedFlows,
601
677
  };
602
678
  }
603
679
  // ── No signal processor: existing behavior (zero overhead) ────────────
@@ -606,30 +682,37 @@ class ResponsePipeline {
606
682
  history: params.history,
607
683
  context: params.context,
608
684
  signal: params.signal,
685
+ allowedFlows: params.allowedFlows,
609
686
  });
610
687
  let updatedSession = routingResult.session;
611
688
  const isFlowComplete = routingResult.isFlowComplete;
612
689
  // PRE-EXTRACTION: If entering a flow that collects data, extract data from user message first
613
- // This allows us to skip steps whose data is already provided
690
+ // This allows us to skip steps whose data is already provided.
691
+ // Reuses the routing-skip check's step-scoped extraction when it already
692
+ // ran this turn — at most ONE extraction LLM call per turn.
614
693
  if (routingResult.selectedFlow && !isFlowComplete) {
615
694
  // Always pre-extract when flow collects data (not just on new flow entry)
616
695
  // This ensures step selection has the most up-to-date data
617
- if (this.shouldPreExtractData(routingResult.selectedFlow)) {
696
+ let extractedData;
697
+ if (routingSkipCheck.extractionRan) {
698
+ extractedData = routingSkipCheck.extractedData;
699
+ }
700
+ else if (this.shouldPreExtractData(routingResult.selectedFlow)) {
618
701
  utils_1.logger.debug(`[ResponsePipeline] Pre-extracting data for flow: ${routingResult.selectedFlow.title}`);
619
- const extractedData = await this.preExtractFlowData({
702
+ extractedData = await this.preExtractFlowData({
620
703
  route: routingResult.selectedFlow,
621
704
  history: params.history,
622
705
  context: params.context,
623
706
  session: updatedSession,
624
707
  signal: params.signal,
625
708
  });
626
- if (extractedData && Object.keys(extractedData).length > 0) {
627
- utils_1.logger.debug(`[ResponsePipeline] Pre-extracted data:`, extractedData);
628
- // Merge pre-extracted data into session before step selection
629
- updatedSession = (0, utils_1.mergeCollected)(updatedSession, extractedData);
630
- // Also update agent's collected data
631
- await this.updateCollectedData(extractedData);
632
- }
709
+ }
710
+ if (extractedData && Object.keys(extractedData).length > 0) {
711
+ utils_1.logger.debug(`[ResponsePipeline] Pre-extracted data:`, extractedData);
712
+ // Merge pre-extracted data into session before step selection
713
+ updatedSession = (0, utils_1.mergeCollected)(updatedSession, extractedData);
714
+ // Also update agent's collected data
715
+ await this.updateCollectedData(extractedData);
633
716
  }
634
717
  }
635
718
  // Determine next step using pipeline method for consistency
@@ -647,6 +730,7 @@ class ResponsePipeline {
647
730
  session: stepResult.session,
648
731
  // If a branch changed the flow, the original isFlowComplete no longer applies
649
732
  isFlowComplete: stepResult.flowChanged ? false : isFlowComplete,
733
+ endedFlows: routingResult.endedFlows,
650
734
  };
651
735
  }
652
736
  catch (error) {
@@ -741,61 +825,80 @@ class ResponsePipeline {
741
825
  return { nextStep, session, flowTransition: false };
742
826
  }
743
827
  /**
744
- * Routing skip optimization (Requirements 20.1, 20.2, 20.3):
745
- * When the current step declares `collect` fields AND pre-extraction populates
746
- * at least one of those fields from the user's message, skip routing for this turn.
828
+ * Routing skip check (Requirements 20.1, 20.2, 20.3):
829
+ * When the current step declares `collect` fields AND step-scoped extraction
830
+ * populates at least one of those fields from the user's message, the caller
831
+ * skips routing for this turn (`skipResult`).
832
+ *
833
+ * The extraction is scoped to EXACTLY this step's collect fields — incidental
834
+ * mentions of other (e.g. other-flow) fields cannot pin the routing decision.
835
+ * It is skipped entirely when every collect field is already populated.
747
836
  *
748
- * Returns the routing result if the skip applies, or undefined to fall through
749
- * to normal routing.
837
+ * Always returns what the check did so the caller can reuse the single
838
+ * extraction result in its normal path instead of extracting twice:
839
+ * - `extractionRan` — whether an extraction LLM call was made this turn.
840
+ * - `extractedData` — that call's result (empty when nothing found / not run).
750
841
  */
751
842
  async attemptRoutingSkipForCollect(params) {
752
843
  const { session } = params;
844
+ const notApplicable = { extractionRan: false, extractedData: {} };
753
845
  // Only applies when we already have a current flow and step
754
846
  if (!session.currentFlow || !session.currentStep) {
755
- return undefined;
847
+ return notApplicable;
756
848
  }
757
849
  // Also skip this optimization if there's a pending directive (it takes priority)
758
850
  if (session.pendingDirective) {
759
- return undefined;
851
+ return notApplicable;
760
852
  }
761
853
  // Look up the actual Flow and Step objects to access `collect`
762
854
  const currentFlow = this.getFlows().find((f) => f.id === session.currentFlow?.id);
763
855
  if (!currentFlow) {
764
- return undefined;
856
+ return notApplicable;
765
857
  }
766
858
  const currentStep = currentFlow.getStep(session.currentStep.id);
767
859
  if (!currentStep || !currentStep.collect || currentStep.collect.length === 0) {
768
- return undefined;
860
+ return notApplicable;
769
861
  }
770
- // We have a step with collect fields. Run pre-extraction to see if the
771
- // user's message populates any of them.
772
862
  const collectFields = currentStep.collect;
863
+ // Every relevant field already set — the skip cannot fire; don't spend
864
+ // an extraction LLM call probing for it.
865
+ const sessionRecord = (session.data ?? {});
866
+ const allPopulated = collectFields.every((field) => {
867
+ const value = sessionRecord[String(field)];
868
+ return value !== undefined && value !== null;
869
+ });
870
+ if (allPopulated) {
871
+ return notApplicable;
872
+ }
773
873
  // Snapshot current data for comparison
774
- const dataBefore = { ...session.data };
775
- // Run pre-extraction against the current flow
874
+ const dataBefore = { ...sessionRecord };
875
+ // Step-scoped pre-extraction: see if the user's message populates any of
876
+ // THIS step's collect fields.
776
877
  const extractedData = await this.preExtractFlowData({
777
878
  route: currentFlow,
778
879
  history: params.history,
779
880
  context: params.context,
780
881
  session,
781
882
  signal: params.signal,
883
+ restrictToFields: collectFields.map(String),
782
884
  });
783
885
  if (!extractedData || Object.keys(extractedData).length === 0) {
784
- return undefined;
886
+ return { extractionRan: true, extractedData: {} };
785
887
  }
786
888
  // Determine which collect fields were newly populated by pre-extraction
889
+ const extractedRecord = extractedData;
787
890
  const populatedCollectFields = [];
788
891
  for (const field of collectFields) {
789
- const key = field;
790
- const hadValue = dataBefore[field] !== undefined && dataBefore[field] !== null;
791
- const hasNewValue = extractedData[field] !== undefined && extractedData[field] !== null;
892
+ const key = String(field);
893
+ const hadValue = dataBefore[key] !== undefined && dataBefore[key] !== null;
894
+ const hasNewValue = extractedRecord[key] !== undefined && extractedRecord[key] !== null;
792
895
  if (hasNewValue && !hadValue) {
793
896
  populatedCollectFields.push(key);
794
897
  }
795
898
  }
796
899
  if (populatedCollectFields.length === 0) {
797
900
  // Pre-extraction didn't populate any declared collect field — no skip
798
- return undefined;
901
+ return { extractionRan: true, extractedData };
799
902
  }
800
903
  // ROUTING SKIP: pre-extraction populated collect fields → retain current flow/step
801
904
  utils_1.logger.debug(`[ResponsePipeline] Routing skip: pre-extraction populated collect fields [${populatedCollectFields.join(', ')}] for step "${currentStep.id}" — skipping FlowRouter`);
@@ -812,11 +915,15 @@ class ResponsePipeline {
812
915
  context: params.context,
813
916
  });
814
917
  return {
815
- selectedFlow: stepResult.flowChanged || currentFlow,
816
- selectedStep: stepResult.nextStep,
817
- responseDirectives: undefined,
818
- session: stepResult.session,
819
- isFlowComplete: false,
918
+ extractionRan: true,
919
+ extractedData,
920
+ skipResult: {
921
+ selectedFlow: stepResult.flowChanged || currentFlow,
922
+ selectedStep: stepResult.nextStep,
923
+ responseDirectives: undefined,
924
+ session: stepResult.session,
925
+ isFlowComplete: false,
926
+ },
820
927
  };
821
928
  }
822
929
  /**
@@ -835,18 +942,41 @@ class ResponsePipeline {
835
942
  const hasDataCollectionSteps = steps.some(step => step.collect && step.collect.length > 0);
836
943
  return hasDataCollectionSteps;
837
944
  }
945
+ /**
946
+ * Build an extraction schema limited to the given subset of agent schema
947
+ * fields. Used by the routing-skip probe so only the current step's collect
948
+ * fields are visible to the extractor.
949
+ */
950
+ buildFieldRestrictedSchema(agentSchema, fields) {
951
+ const properties = {};
952
+ for (const field of fields) {
953
+ const prop = agentSchema.properties?.[field];
954
+ if (prop) {
955
+ properties[field] = prop;
956
+ }
957
+ }
958
+ return {
959
+ type: "object",
960
+ description: `Extraction restricted to these fields: ${fields.join(', ')}`,
961
+ properties,
962
+ additionalProperties: false,
963
+ };
964
+ }
838
965
  /**
839
966
  * Pre-extract data from user message when entering a flow
840
967
  * This allows skipping steps whose data is already provided
841
968
  */
842
969
  async preExtractFlowData(params) {
843
- const { route: flow, history, signal } = params;
970
+ const { route: flow, history, signal, restrictToFields } = params;
844
971
  // Build a schema for data extraction based on flow's fields
845
- const extractionSchema = this.getSchema();
846
- if (!extractionSchema) {
972
+ const agentSchema = this.getSchema();
973
+ if (!agentSchema) {
847
974
  utils_1.logger.warn(`[ResponsePipeline] No schema available for pre-extraction`);
848
975
  return {};
849
976
  }
977
+ const extractionSchema = restrictToFields
978
+ ? this.buildFieldRestrictedSchema(agentSchema, restrictToFields)
979
+ : agentSchema;
850
980
  // Get last user message
851
981
  const lastMessage = (0, utils_1.getLastMessageFromHistory)(history);
852
982
  // Build extraction prompt
@@ -859,11 +989,16 @@ class ResponsePipeline {
859
989
  `Extract data for these fields if present:`,
860
990
  ];
861
991
  // Add field descriptions
862
- if (flow.requiredFields) {
863
- extractionPrompt.push(`Required fields: ${flow.requiredFields.join(', ')}`);
992
+ if (restrictToFields) {
993
+ extractionPrompt.push(`Only these fields: ${restrictToFields.join(', ')}`);
864
994
  }
865
- if (flow.optionalFields) {
866
- extractionPrompt.push(`Optional fields: ${flow.optionalFields.join(', ')}`);
995
+ else {
996
+ if (flow.requiredFields) {
997
+ extractionPrompt.push(`Required fields: ${flow.requiredFields.join(', ')}`);
998
+ }
999
+ if (flow.optionalFields) {
1000
+ extractionPrompt.push(`Optional fields: ${flow.optionalFields.join(', ')}`);
1001
+ }
867
1002
  }
868
1003
  extractionPrompt.push(``, `Return ONLY the extracted data as JSON. If no data can be extracted, return an empty object {}.`);
869
1004
  // Convert Event[] to HistoryItem[] for provider call
@@ -1 +1 @@
1
- {"version":3,"file":"ResponsePipeline.js","sourceRoot":"","sources":["../../../src/core/ResponsePipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ResponsePipeline.js","sourceRoot":"","sources":["../../../src/core/ResponsePipeline.ts"],"names":[],"mappings":"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"}