@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
@@ -17,7 +17,13 @@
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.ToolLoopExecutor = void 0;
19
19
  const ResponseGenerationError_1 = require("./ResponseGenerationError");
20
+ const flow_namespace_1 = require("./flow-namespace");
20
21
  const utils_1 = require("../utils");
22
+ const executionFailure = (toolName, error) => JSON.stringify({
23
+ success: false,
24
+ error: `${toolName}: ${error instanceof Error ? error.message : String(error)}`,
25
+ });
26
+ const toolNotFoundFailure = (toolName) => JSON.stringify({ success: false, error: `Tool "${toolName}" is not registered in any scope.` });
21
27
  class ToolLoopExecutor {
22
28
  constructor(deps) {
23
29
  this.deps = deps;
@@ -34,19 +40,27 @@ class ToolLoopExecutor {
34
40
  // runFollowUpLoop; here toolCalls is only read.
35
41
  const { toolCalls } = params;
36
42
  let { session } = params;
43
+ // Directives emitted by tools this turn — consumed by the caller
44
+ const collectedDirectives = [];
37
45
  // Convert HistoryItem[] to Event[] for internal processing
38
46
  const historyEvents = (0, utils_1.historyToEvents)(history);
39
- // Map to store tool execution results for history
40
- const toolResultsMap = new Map();
41
- // Map to store tool call arguments for history reconstruction
42
- const toolArgsMap = new Map();
47
+ // Execution records keyed by call shared with the follow-up loop
48
+ const records = [];
43
49
  // Execute initial dynamic tool calls
44
50
  if (toolCalls && toolCalls.length > 0) {
45
51
  utils_1.logger.debug(`[ToolLoopExecutor] Executing ${toolCalls.length} dynamic tool calls:`, toolCalls.map(tc => tc.toolName));
46
- for (const toolCall of toolCalls) {
52
+ for (const [callIndex, toolCall] of toolCalls.entries()) {
53
+ const record = {
54
+ requestId: `init-${callIndex}-${toolCall.toolName}`,
55
+ toolName: toolCall.toolName,
56
+ arguments: toolCall.arguments,
57
+ round: 0,
58
+ };
59
+ records.push(record);
47
60
  const tool = this.findAvailableTool(toolCall.toolName, selectedFlow);
48
61
  if (!tool) {
49
- utils_1.logger.warn(`[ToolExecutionError] Tool not found: "${toolCall.toolName}" is not registered in any scope. Skipping this tool call. Register the tool or check the tool name.`);
62
+ utils_1.logger.warn(`[ToolExecutionError] Tool not found: "${toolCall.toolName}" is not registered in any scope. Register the tool or check the tool name.`);
63
+ record.result = toolNotFoundFailure(toolCall.toolName);
50
64
  continue;
51
65
  }
52
66
  try {
@@ -61,8 +75,11 @@ class ToolLoopExecutor {
61
75
  toolArguments: toolCall.arguments,
62
76
  });
63
77
  // Store the actual tool result data for history
64
- toolResultsMap.set(toolCall.toolName, (0, utils_1.serializeToolResult)(toolResult));
65
- toolArgsMap.set(toolCall.toolName, toolCall.arguments);
78
+ record.result = (0, utils_1.serializeToolResult)(toolResult);
79
+ // Collect tool-emitted directives (ctx.dispatch / {directive})
80
+ if (toolResult.directives?.length) {
81
+ collectedDirectives.push(...toolResult.directives);
82
+ }
66
83
  // Check if tool execution was successful
67
84
  if (!toolResult.success) {
68
85
  utils_1.logger.error(`[ToolLoopExecutor] Tool execution failed: ${toolCall.toolName} - ${toolResult.error}`);
@@ -94,19 +111,35 @@ class ToolLoopExecutor {
94
111
  }
95
112
  catch (error) {
96
113
  utils_1.logger.error(`[ToolLoopExecutor] Tool execution error for ${toolCall.toolName}:`, error);
97
- // Continue with other tools rather than failing the entire response
114
+ // A thrown handler must be visible to the model as a FAILED
115
+ // tool call — reporting success makes it confirm actions
116
+ // that never happened.
117
+ record.result = executionFailure(toolCall.toolName, error);
98
118
  continue;
99
119
  }
100
120
  }
101
121
  }
122
+ // A tool spoke verbatim this turn: its reply IS the final message —
123
+ // skip the follow-up LLM call (documented dispatch semantics).
124
+ const preLoopDirectives = flow_namespace_1.flow.mergeAll(collectedDirectives);
125
+ if (preLoopDirectives?.reply) {
126
+ utils_1.logger.debug("[ToolLoopExecutor] Tool directive reply short-circuits follow-up LLM call");
127
+ return {
128
+ session,
129
+ finalToolCalls: toolCalls,
130
+ finalMessage: preLoopDirectives.reply,
131
+ structured: { message: preLoopDirectives.reply },
132
+ directives: preLoopDirectives,
133
+ };
134
+ }
102
135
  // Hand off to the multi-round follow-up loop shared with the
103
136
  // streaming path. The initial batch above already executed
104
137
  // sequentially and populated the result maps.
105
138
  return await this.runFollowUpLoop({
106
139
  toolCalls,
107
140
  session,
108
- toolResultsMap,
109
- toolArgsMap,
141
+ records,
142
+ collectedDirectives,
110
143
  context,
111
144
  history,
112
145
  selectedFlow,
@@ -134,7 +167,7 @@ class ToolLoopExecutor {
134
167
  * maps; from here both paths behave identically.
135
168
  */
136
169
  async runFollowUpLoop(params) {
137
- const { context, history, selectedFlow, responsePrompt, availableTools, responseSchema, signal, toolResultsMap, toolArgsMap } = params;
170
+ const { context, history, selectedFlow, responsePrompt, availableTools, responseSchema, signal, records, collectedDirectives = [] } = params;
138
171
  let { toolCalls, session } = params;
139
172
  try {
140
173
  // TOOL LOOP: Allow AI to make follow-up tool calls after initial tool execution
@@ -148,34 +181,32 @@ class ToolLoopExecutor {
148
181
  while (hasToolCalls && toolLoopCount < MAX_TOOL_LOOPS) {
149
182
  toolLoopCount++;
150
183
  utils_1.logger.debug(`[ToolLoopExecutor] Starting tool loop ${toolLoopCount}/${MAX_TOOL_LOOPS} with ${toolCalls?.length || 0} tool calls`);
151
- // Create tool result history items
184
+ // Create tool result history items for the PREVIOUS round's
185
+ // calls. Failures are reported as failures — never as success.
186
+ const previousRound = toolLoopCount - 1;
187
+ const roundRecords = records.filter((r) => r.round === previousRound);
152
188
  const toolResultHistoryItems = [];
153
- for (const toolCall of toolCalls || []) {
154
- const tool = this.findAvailableTool(toolCall.toolName, selectedFlow);
155
- if (tool) {
156
- // assistant tool_call + tool result pair, via the shared
157
- // history factories (same as forceFinalTextFromTools).
158
- toolResultHistoryItems.push((0, utils_1.assistantMessage)(null, [
159
- { id: toolCall.toolName, name: toolCall.toolName, arguments: toolCall.arguments },
160
- ]), (0, utils_1.toolMessage)(toolCall.toolName, toolCall.toolName, toolResultsMap.get(toolCall.toolName) || "Tool executed successfully"));
161
- }
189
+ for (const record of roundRecords) {
190
+ toolResultHistoryItems.push((0, utils_1.assistantMessage)(null, [
191
+ { id: record.requestId, name: record.toolName, arguments: record.arguments },
192
+ ]), (0, utils_1.toolMessage)(record.toolName, record.requestId, record.result ?? toolNotFoundFailure(record.toolName)));
162
193
  }
163
194
  // Create updated history with tool results
164
195
  const updatedHistory = [...history, ...toolResultHistoryItems];
165
- // Make follow-up AI call to see if more tools are needed
166
- // After first iteration, don't provide tools to force a text response
196
+ // Make follow-up AI call to see if more tools are needed.
197
+ // Tools are offered EVERY iteration the loop is already bounded
198
+ // by MAX_TOOL_LOOPS, so withholding them after round only made
199
+ // maxToolLoops values above 2 unreachable.
167
200
  const agentOptions = this.deps.getAgentOptions();
168
- const shouldProvideTools = toolLoopCount === 1;
169
201
  utils_1.logger.debug(`[ToolLoopExecutor] Making follow-up AI call (loop ${toolLoopCount}):`, {
170
- providingTools: shouldProvideTools,
171
- toolsCount: shouldProvideTools ? availableTools.length : 0,
172
- addingTextInstruction: toolLoopCount > 1,
202
+ providingTools: true,
203
+ toolsCount: availableTools.length,
173
204
  });
174
205
  const followUpResult = await agentOptions.provider.generateMessage({
175
- prompt: responsePrompt + (toolLoopCount > 1 ? "\n\nProvide a text response to the user based on the tool results." : ""),
206
+ prompt: responsePrompt,
176
207
  history: updatedHistory, // Use HistoryItem[] for AI provider
177
208
  context,
178
- tools: shouldProvideTools ? availableTools : [], // Only provide tools on first iteration
209
+ tools: availableTools,
179
210
  parameters: responseSchema ? {
180
211
  jsonSchema: responseSchema,
181
212
  schemaName: "tool_followup",
@@ -195,10 +226,18 @@ class ToolLoopExecutor {
195
226
  if (hasToolCalls) {
196
227
  utils_1.logger.debug(`[ToolLoopExecutor] Follow-up call produced ${followUpToolCalls.length} additional tool calls`);
197
228
  // Execute the follow-up tool calls
198
- for (const toolCall of followUpToolCalls) {
229
+ for (const [callIndex, toolCall] of followUpToolCalls.entries()) {
230
+ const record = {
231
+ requestId: `fup-${toolLoopCount}-${callIndex}-${toolCall.toolName}`,
232
+ toolName: toolCall.toolName,
233
+ arguments: toolCall.arguments,
234
+ round: toolLoopCount,
235
+ };
236
+ records.push(record);
199
237
  const tool = this.findAvailableTool(toolCall.toolName, selectedFlow);
200
238
  if (!tool) {
201
- utils_1.logger.warn(`[ToolExecutionError] Tool not found in follow-up: "${toolCall.toolName}" is not registered in any scope. Skipping this tool call. Register the tool or check the tool name.`);
239
+ utils_1.logger.warn(`[ToolExecutionError] Tool not found in follow-up: "${toolCall.toolName}" is not registered in any scope. Register the tool or check the tool name.`);
240
+ record.result = toolNotFoundFailure(toolCall.toolName);
202
241
  continue;
203
242
  }
204
243
  try {
@@ -236,15 +275,31 @@ class ToolLoopExecutor {
236
275
  }
237
276
  }
238
277
  // Store the follow-up tool result for potential next loop iteration
239
- toolResultsMap.set(toolCall.toolName, (0, utils_1.serializeToolResult)(toolResult));
240
- toolArgsMap.set(toolCall.toolName, toolCall.arguments);
278
+ record.result = (0, utils_1.serializeToolResult)(toolResult);
279
+ // Collect tool-emitted directives (ctx.dispatch / {directive})
280
+ if (toolResult.directives?.length) {
281
+ collectedDirectives.push(...toolResult.directives);
282
+ }
241
283
  utils_1.logger.debug(`[ToolLoopExecutor] Executed follow-up tool: ${toolCall.toolName} (success: ${toolResult.success})`);
242
284
  }
243
285
  catch (error) {
244
286
  utils_1.logger.error(`[ToolLoopExecutor] Follow-up tool execution error for ${toolCall.toolName}:`, error);
287
+ // Visible failure beats a fabricated success.
288
+ record.result = executionFailure(toolCall.toolName, error);
245
289
  continue;
246
290
  }
247
291
  }
292
+ // A tool emitted a verbatim reply this round: it IS the final
293
+ // message — stop looping and skip any further LLM call.
294
+ const roundDirectives = flow_namespace_1.flow.mergeAll(collectedDirectives);
295
+ if (roundDirectives?.reply) {
296
+ utils_1.logger.debug("[ToolLoopExecutor] Tool directive reply short-circuits remaining tool loop");
297
+ finalMessage = roundDirectives.reply;
298
+ followUpStructured = { message: roundDirectives.reply };
299
+ hasToolCalls = false;
300
+ toolCalls = undefined;
301
+ break;
302
+ }
248
303
  // Update toolCalls for next iteration or final response
249
304
  toolCalls = followUpToolCalls;
250
305
  }
@@ -269,8 +324,7 @@ class ToolLoopExecutor {
269
324
  utils_1.logger.debug(`[ToolLoopExecutor] No final message after tool loop, making additional LLM call for text response`);
270
325
  const forced = await this.forceFinalTextFromTools({
271
326
  history,
272
- toolResultsMap,
273
- toolArgsMap,
327
+ records,
274
328
  responsePrompt,
275
329
  responseSchema,
276
330
  context,
@@ -294,6 +348,7 @@ class ToolLoopExecutor {
294
348
  finalToolCalls: toolCalls,
295
349
  finalMessage,
296
350
  structured: followUpStructured,
351
+ directives: flow_namespace_1.flow.mergeAll(collectedDirectives),
297
352
  };
298
353
  }
299
354
  catch (error) {
@@ -311,14 +366,17 @@ class ToolLoopExecutor {
311
366
  * or yields nothing, leaving the caller to fall back to its prior message.
312
367
  */
313
368
  async forceFinalTextFromTools(params) {
314
- const { history, toolResultsMap, toolArgsMap, responsePrompt, responseSchema, context, signal } = params;
369
+ const { history, records, responsePrompt, responseSchema, context, signal } = params;
315
370
  // Reconstruct assistant tool_call + tool result pairs so the follow-up
316
- // call can see what the tools returned.
371
+ // call can see what the tools returned — every executed call, keyed by
372
+ // its own request id.
317
373
  const finalToolResultHistoryItems = [];
318
- for (const [toolName, toolResult] of toolResultsMap) {
374
+ for (const record of records) {
375
+ if (!record.result)
376
+ continue;
319
377
  finalToolResultHistoryItems.push((0, utils_1.assistantMessage)(null, [
320
- { id: toolName, name: toolName, arguments: toolArgsMap.get(toolName) || {} },
321
- ]), (0, utils_1.toolMessage)(toolName, toolName, toolResult));
378
+ { id: record.requestId, name: record.toolName, arguments: record.arguments },
379
+ ]), (0, utils_1.toolMessage)(record.toolName, record.requestId, record.result));
322
380
  }
323
381
  const finalHistory = [...history, ...finalToolResultHistoryItems];
324
382
  const agentOptions = this.deps.getAgentOptions();
@@ -361,6 +419,8 @@ class ToolLoopExecutor {
361
419
  const { context, history, selectedFlow, step, accumulated, responsePrompt, availableTools, responseSchema, signal } = params;
362
420
  let { session } = params;
363
421
  let toolCalls = params.toolCalls;
422
+ // Directives emitted by tools this turn — surfaced to the caller
423
+ const collectedDirectives = [];
364
424
  // Use concurrent execution for the initial batch of tool calls
365
425
  const toolCallRequests = params.toolCalls.map((tc, i) => ({
366
426
  id: `${tc.toolName}-${i}-${Date.now()}`,
@@ -369,9 +429,15 @@ class ToolLoopExecutor {
369
429
  }));
370
430
  // Map request id -> request so completed results can be attributed back
371
431
  // to their tool name/arguments for the forced final-text call.
372
- const requestById = new Map(toolCallRequests.map((r) => [r.id, r]));
373
- const toolResultsMap = new Map();
374
- const toolArgsMap = new Map();
432
+ // Execution records keyed by call id — seeded at queue time so results
433
+ // (and failures) attach to the right call even for same-name calls.
434
+ const records = toolCallRequests.map((req) => ({
435
+ requestId: req.id,
436
+ toolName: req.toolName,
437
+ arguments: req.arguments,
438
+ round: 0,
439
+ }));
440
+ const recordById = new Map(records.map((r) => [r.requestId, r]));
375
441
  const historyEvents = (0, utils_1.historyToEvents)(history);
376
442
  let finalMessage;
377
443
  let structured;
@@ -405,10 +471,13 @@ class ToolLoopExecutor {
405
471
  }
406
472
  // Capture tool results for the forced final-text call
407
473
  if (update.result) {
408
- const req = requestById.get(update.toolCallId);
409
- if (req) {
410
- toolResultsMap.set(req.toolName, (0, utils_1.serializeToolResult)(update.result));
411
- toolArgsMap.set(req.toolName, req.arguments);
474
+ const record = recordById.get(update.toolCallId);
475
+ if (record) {
476
+ record.result = (0, utils_1.serializeToolResult)(update.result);
477
+ }
478
+ // Collect tool-emitted directives (ctx.dispatch / {directive})
479
+ if (update.result.directives?.length) {
480
+ collectedDirectives.push(...update.result.directives);
412
481
  }
413
482
  }
414
483
  // Yield progress updates immediately
@@ -433,8 +502,8 @@ class ToolLoopExecutor {
433
502
  const followUp = await this.runFollowUpLoop({
434
503
  toolCalls,
435
504
  session,
436
- toolResultsMap,
437
- toolArgsMap,
505
+ records,
506
+ collectedDirectives,
438
507
  context,
439
508
  history,
440
509
  selectedFlow,
@@ -449,20 +518,43 @@ class ToolLoopExecutor {
449
518
  structured = followUp.structured;
450
519
  }
451
520
  catch (error) {
452
- utils_1.logger.error(`[ToolLoopExecutor] Concurrent tool execution failed, falling back to sequential:`, error);
453
- // Fall back to the unified tool loop on failure. runLoop re-executes
454
- // the tools from scratch, so any partial results collected above are
455
- // intentionally discarded (it builds and forces its own).
456
- const toolResult = await this.runLoop({
457
- toolCalls, context, session, history, selectedFlow,
458
- responsePrompt, availableTools, responseSchema, signal,
459
- });
460
- session = toolResult.session;
461
- toolCalls = toolResult.finalToolCalls;
462
- finalMessage = toolResult.finalMessage;
463
- structured = toolResult.structured;
521
+ utils_1.logger.error(`[ToolLoopExecutor] Concurrent batch failed:`, error);
522
+ const executedRecords = records.filter((r) => r.result !== undefined);
523
+ if (executedRecords.length > 0) {
524
+ // Some tools already executed re-running them would duplicate
525
+ // real-world side effects (sends, writes, charges). Close the
526
+ // turn from the results we have instead.
527
+ utils_1.logger.warn(`[ToolLoopExecutor] ${executedRecords.length} tool(s) already executed; closing the turn from their results rather than re-executing.`);
528
+ const forced = await this.forceFinalTextFromTools({
529
+ history,
530
+ records,
531
+ responsePrompt,
532
+ responseSchema,
533
+ context,
534
+ signal,
535
+ });
536
+ if (forced.finalMessage) {
537
+ finalMessage = forced.finalMessage;
538
+ }
539
+ structured = structured ?? forced.structured;
540
+ }
541
+ else {
542
+ // Nothing executed — safe to fall back to the unified loop.
543
+ const toolResult = await this.runLoop({
544
+ toolCalls, context, session, history, selectedFlow,
545
+ responsePrompt, availableTools, responseSchema, signal,
546
+ });
547
+ session = toolResult.session;
548
+ toolCalls = toolResult.finalToolCalls;
549
+ finalMessage = toolResult.finalMessage;
550
+ structured = toolResult.structured;
551
+ if (toolResult.directives) {
552
+ collectedDirectives.length = 0;
553
+ collectedDirectives.push(toolResult.directives);
554
+ }
555
+ }
464
556
  }
465
- return { session, toolCalls, finalMessage, structured };
557
+ return { session, toolCalls, finalMessage, structured, directives: flow_namespace_1.flow.mergeAll(collectedDirectives) };
466
558
  }
467
559
  /**
468
560
  * Find an available tool by name for the given flow.
@@ -1 +1 @@
1
- {"version":3,"file":"ToolLoopExecutor.js","sourceRoot":"","sources":["../../../src/core/ToolLoopExecutor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ToolLoopExecutor.js","sourceRoot":"","sources":["../../../src/core/ToolLoopExecutor.ts"],"names":[],"mappings":"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"}
@@ -43,7 +43,7 @@ export declare class ToolManager<TContext = unknown, TData = unknown> {
43
43
  * Set the transient tool layer for the current turn.
44
44
  *
45
45
  * Accepts the merged `injectTools` array from pre-LLM emitters
46
- * (already concatenated in outer-to-inner order by the DirectiveBus).
46
+ * (concatenated in outer-to-inner order).
47
47
  * Deduplicates by tool `id` with last-definition-wins.
48
48
  *
49
49
  * Must be paired with `clearTransientTools()` in a try/finally guard
@@ -1 +1 @@
1
- {"version":3,"file":"ToolManager.d.ts","sourceRoot":"","sources":["../../../src/core/ToolManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ToolManager.d.ts","sourceRoot":"","sources":["../../../src/core/ToolManager.ts"],"names":[],"mappings":"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"}
@@ -54,7 +54,7 @@ class ToolManager {
54
54
  * Set the transient tool layer for the current turn.
55
55
  *
56
56
  * Accepts the merged `injectTools` array from pre-LLM emitters
57
- * (already concatenated in outer-to-inner order by the DirectiveBus).
57
+ * (concatenated in outer-to-inner order).
58
58
  * Deduplicates by tool `id` with last-definition-wins.
59
59
  *
60
60
  * Must be paired with `clearTransientTools()` in a try/finally guard
@@ -525,6 +525,7 @@ class ToolManager {
525
525
  async executeTool(params) {
526
526
  const { tool, context, updateContext, updateData, history, data, toolArguments } = params;
527
527
  const startTime = Date.now();
528
+ const executionTimeout = 30000; // 30 seconds default timeout
528
529
  try {
529
530
  // Validate tool before execution
530
531
  if (!tool || !tool.handler || typeof tool.handler !== 'function') {
@@ -566,20 +567,34 @@ class ToolManager {
566
567
  if (gateDenial) {
567
568
  return gateDenial;
568
569
  }
569
- // Execute tool with timeout protection
570
- const executionTimeout = 30000; // 30 seconds default timeout
570
+ // Execute tool with timeout protection. The timer is cleared when the
571
+ // race settles AND unref'd so a pending timer never delays process
572
+ // shutdown; a handler that loses the race keeps running detached (its
573
+ // result is discarded), which we surface in a warn.
574
+ let timeoutTimer;
571
575
  const timeoutPromise = new Promise((_, reject) => {
572
- setTimeout(() => reject(new Error(`Tool execution timeout after ${executionTimeout}ms`)), executionTimeout);
576
+ timeoutTimer = setTimeout(() => reject(new Error(`Tool execution timeout after ${executionTimeout}ms`)), executionTimeout);
577
+ timeoutTimer.unref?.();
573
578
  });
574
- const result = await Promise.race([
575
- tool.handler(toolContext, toolArguments),
576
- timeoutPromise
577
- ]);
579
+ let result;
580
+ try {
581
+ // Attach a no-op catch to the losing handler promise so a post-timeout
582
+ // rejection can't surface as an unhandled rejection and crash the process.
583
+ const handlerPromise = Promise.resolve(tool.handler(toolContext, toolArguments));
584
+ handlerPromise.catch(() => undefined);
585
+ result = await Promise.race([handlerPromise, timeoutPromise]);
586
+ }
587
+ finally {
588
+ clearTimeout(timeoutTimer);
589
+ }
578
590
  const executionTime = Date.now() - startTime;
579
591
  utils_1.logger.debug(`[ToolManager] Tool ${tool.id} completed in ${executionTime}ms`);
580
- // Handle different result types
592
+ // Handle different result types. Only SEMANTIC markers identify a
593
+ // ToolResult — bare `{data}` / `{error}` shapes are indistinguishable
594
+ // from ordinary business payloads (e.g. upstream API envelopes) and are
595
+ // wrapped as raw results instead.
581
596
  let toolResult;
582
- if (result && typeof result === 'object' && ('data' in result || 'success' in result || 'error' in result || 'directive' in result)) {
597
+ if ((0, utils_1.isToolResultLike)(result)) {
583
598
  // It's already a ToolResult-like object
584
599
  toolResult = result;
585
600
  }
@@ -590,10 +605,9 @@ class ToolManager {
590
605
  success: true
591
606
  };
592
607
  }
593
- // Collect directive from ToolResult.directive (if present)
594
- if (toolResult.directive) {
595
- collectedDirectives.push(toolResult.directive);
596
- }
608
+ // Collect directives from the result — singular and plural forms both
609
+ // count, ordered identically to the concurrent executor.
610
+ collectedDirectives.push(...(0, utils_1.extractResultDirectives)(toolResult));
597
611
  // Apply data updates from tool result with validation
598
612
  if (toolResult.dataUpdate) {
599
613
  try {
@@ -651,6 +665,13 @@ class ToolManager {
651
665
  catch (error) {
652
666
  const executionTime = Date.now() - startTime;
653
667
  utils_1.logger.error(`[ToolManager] Tool execution error for ${tool.id} after ${executionTime}ms:`, error);
668
+ if (error instanceof Error && error.message.includes("Tool execution timeout")) {
669
+ // The losing handler may still be running with captured callbacks.
670
+ // Its writes are NOT rolled back here — tools should stay idempotent
671
+ // or accept their own cancellation via interruptBehavior/abort.
672
+ utils_1.logger.warn(`[ToolManager] Handler for "${tool.id}" exceeded ${executionTimeout}ms and was abandoned while still running. ` +
673
+ `Its eventual side effects are not cancelled or rolled back.`);
674
+ }
654
675
  // Re-throw the error so callers can handle it
655
676
  throw error;
656
677
  }
@@ -697,9 +718,11 @@ class ToolManager {
697
718
  return data != null && key in data;
698
719
  },
699
720
  dispatch: (_directive) => {
700
- // Directives from concurrent execution are collected by the StreamingToolExecutor
701
- // and surfaced via ToolExecutionUpdate. This is a no-op placeholder;
702
- // full directive bus integration happens in ResponsePipeline (task 1.6).
721
+ // Handlers never see THIS context StreamingToolExecutor.executeTool
722
+ // wraps each call in a per-call context whose dispatch attributes the
723
+ // directive to that tool. Reaching here means a gate or future caller
724
+ // dispatched outside a tool execution; surface it instead of dropping.
725
+ utils_1.logger.warn("[ToolManager] ctx.dispatch called outside tool execution has no turn to attach to; directive dropped.");
703
726
  },
704
727
  };
705
728
  const executor = new StreamingToolExecutor_1.StreamingToolExecutor(toolContext, {