@falai/agent 0.9.0 → 0.9.2

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 (145) hide show
  1. package/README.md +42 -34
  2. package/dist/cjs/src/core/Agent.d.ts +19 -5
  3. package/dist/cjs/src/core/Agent.d.ts.map +1 -1
  4. package/dist/cjs/src/core/Agent.js +79 -35
  5. package/dist/cjs/src/core/Agent.js.map +1 -1
  6. package/dist/cjs/src/core/ResponseModal.d.ts +9 -3
  7. package/dist/cjs/src/core/ResponseModal.d.ts.map +1 -1
  8. package/dist/cjs/src/core/ResponseModal.js +121 -55
  9. package/dist/cjs/src/core/ResponseModal.js.map +1 -1
  10. package/dist/cjs/src/core/ResponsePipeline.d.ts +8 -4
  11. package/dist/cjs/src/core/ResponsePipeline.d.ts.map +1 -1
  12. package/dist/cjs/src/core/ResponsePipeline.js +47 -19
  13. package/dist/cjs/src/core/ResponsePipeline.js.map +1 -1
  14. package/dist/cjs/src/core/Route.d.ts +12 -5
  15. package/dist/cjs/src/core/Route.d.ts.map +1 -1
  16. package/dist/cjs/src/core/Route.js +26 -5
  17. package/dist/cjs/src/core/Route.js.map +1 -1
  18. package/dist/cjs/src/core/RoutingEngine.d.ts +5 -0
  19. package/dist/cjs/src/core/RoutingEngine.d.ts.map +1 -1
  20. package/dist/cjs/src/core/RoutingEngine.js +37 -25
  21. package/dist/cjs/src/core/RoutingEngine.js.map +1 -1
  22. package/dist/cjs/src/core/SessionManager.d.ts +9 -1
  23. package/dist/cjs/src/core/SessionManager.d.ts.map +1 -1
  24. package/dist/cjs/src/core/SessionManager.js +27 -5
  25. package/dist/cjs/src/core/SessionManager.js.map +1 -1
  26. package/dist/cjs/src/core/Step.d.ts +60 -7
  27. package/dist/cjs/src/core/Step.d.ts.map +1 -1
  28. package/dist/cjs/src/core/Step.js +151 -4
  29. package/dist/cjs/src/core/Step.js.map +1 -1
  30. package/dist/cjs/src/core/ToolManager.d.ts +234 -0
  31. package/dist/cjs/src/core/ToolManager.d.ts.map +1 -0
  32. package/dist/cjs/src/core/ToolManager.js +1117 -0
  33. package/dist/cjs/src/core/ToolManager.js.map +1 -0
  34. package/dist/cjs/src/index.d.ts +2 -3
  35. package/dist/cjs/src/index.d.ts.map +1 -1
  36. package/dist/cjs/src/index.js +5 -3
  37. package/dist/cjs/src/index.js.map +1 -1
  38. package/dist/cjs/src/types/agent.d.ts +1 -1
  39. package/dist/cjs/src/types/agent.d.ts.map +1 -1
  40. package/dist/cjs/src/types/index.d.ts +3 -2
  41. package/dist/cjs/src/types/index.d.ts.map +1 -1
  42. package/dist/cjs/src/types/index.js +3 -1
  43. package/dist/cjs/src/types/index.js.map +1 -1
  44. package/dist/cjs/src/types/route.d.ts +6 -4
  45. package/dist/cjs/src/types/route.d.ts.map +1 -1
  46. package/dist/cjs/src/types/tool.d.ts +84 -14
  47. package/dist/cjs/src/types/tool.d.ts.map +1 -1
  48. package/dist/cjs/src/types/tool.js +13 -0
  49. package/dist/cjs/src/types/tool.js.map +1 -1
  50. package/dist/src/core/Agent.d.ts +19 -5
  51. package/dist/src/core/Agent.d.ts.map +1 -1
  52. package/dist/src/core/Agent.js +79 -35
  53. package/dist/src/core/Agent.js.map +1 -1
  54. package/dist/src/core/ResponseModal.d.ts +9 -3
  55. package/dist/src/core/ResponseModal.d.ts.map +1 -1
  56. package/dist/src/core/ResponseModal.js +121 -55
  57. package/dist/src/core/ResponseModal.js.map +1 -1
  58. package/dist/src/core/ResponsePipeline.d.ts +8 -4
  59. package/dist/src/core/ResponsePipeline.d.ts.map +1 -1
  60. package/dist/src/core/ResponsePipeline.js +47 -19
  61. package/dist/src/core/ResponsePipeline.js.map +1 -1
  62. package/dist/src/core/Route.d.ts +12 -5
  63. package/dist/src/core/Route.d.ts.map +1 -1
  64. package/dist/src/core/Route.js +26 -5
  65. package/dist/src/core/Route.js.map +1 -1
  66. package/dist/src/core/RoutingEngine.d.ts +5 -0
  67. package/dist/src/core/RoutingEngine.d.ts.map +1 -1
  68. package/dist/src/core/RoutingEngine.js +37 -25
  69. package/dist/src/core/RoutingEngine.js.map +1 -1
  70. package/dist/src/core/SessionManager.d.ts +9 -1
  71. package/dist/src/core/SessionManager.d.ts.map +1 -1
  72. package/dist/src/core/SessionManager.js +27 -5
  73. package/dist/src/core/SessionManager.js.map +1 -1
  74. package/dist/src/core/Step.d.ts +60 -7
  75. package/dist/src/core/Step.d.ts.map +1 -1
  76. package/dist/src/core/Step.js +151 -4
  77. package/dist/src/core/Step.js.map +1 -1
  78. package/dist/src/core/ToolManager.d.ts +234 -0
  79. package/dist/src/core/ToolManager.d.ts.map +1 -0
  80. package/dist/src/core/ToolManager.js +1111 -0
  81. package/dist/src/core/ToolManager.js.map +1 -0
  82. package/dist/src/index.d.ts +2 -3
  83. package/dist/src/index.d.ts.map +1 -1
  84. package/dist/src/index.js +1 -1
  85. package/dist/src/index.js.map +1 -1
  86. package/dist/src/types/agent.d.ts +1 -1
  87. package/dist/src/types/agent.d.ts.map +1 -1
  88. package/dist/src/types/index.d.ts +3 -2
  89. package/dist/src/types/index.d.ts.map +1 -1
  90. package/dist/src/types/index.js +1 -0
  91. package/dist/src/types/index.js.map +1 -1
  92. package/dist/src/types/route.d.ts +6 -4
  93. package/dist/src/types/route.d.ts.map +1 -1
  94. package/dist/src/types/tool.d.ts +84 -14
  95. package/dist/src/types/tool.d.ts.map +1 -1
  96. package/dist/src/types/tool.js +12 -1
  97. package/dist/src/types/tool.js.map +1 -1
  98. package/docs/CONTRIBUTING.md +40 -0
  99. package/docs/README.md +12 -5
  100. package/docs/api/README.md +75 -45
  101. package/docs/api/overview.md +74 -32
  102. package/docs/core/agent/session-management.md +152 -5
  103. package/docs/core/ai-integration/response-processing.md +115 -4
  104. package/docs/core/conversation-flows/routes.md +130 -0
  105. package/docs/core/error-handling.md +638 -0
  106. package/docs/core/tools/tool-definition.md +684 -60
  107. package/docs/core/tools/tool-scoping.md +244 -53
  108. package/docs/guides/error-handling-patterns.md +578 -0
  109. package/docs/guides/getting-started/README.md +139 -28
  110. package/examples/advanced-patterns/knowledge-based-agent.ts +6 -6
  111. package/examples/advanced-patterns/persistent-onboarding.ts +30 -43
  112. package/examples/ai-providers/anthropic-integration.ts +9 -5
  113. package/examples/ai-providers/openai-integration.ts +11 -7
  114. package/examples/core-concepts/basic-agent.ts +106 -67
  115. package/examples/core-concepts/schema-driven-extraction.ts +10 -7
  116. package/examples/core-concepts/session-management.ts +71 -18
  117. package/examples/integrations/healthcare-integration.ts +15 -29
  118. package/examples/integrations/server-session-management.ts +3 -3
  119. package/examples/persistence/memory-sessions.ts +3 -3
  120. package/examples/tools/basic-tools.ts +293 -89
  121. package/examples/tools/data-enrichment-tools.ts +185 -75
  122. package/package.json +1 -1
  123. package/src/core/Agent.ts +98 -44
  124. package/src/core/ResponseModal.ts +148 -72
  125. package/src/core/ResponsePipeline.ts +82 -56
  126. package/src/core/Route.ts +39 -12
  127. package/src/core/RoutingEngine.ts +46 -42
  128. package/src/core/SessionManager.ts +39 -7
  129. package/src/core/Step.ts +198 -20
  130. package/src/core/ToolManager.ts +1394 -0
  131. package/src/index.ts +8 -3
  132. package/src/types/agent.ts +1 -1
  133. package/src/types/index.ts +13 -2
  134. package/src/types/route.ts +6 -4
  135. package/src/types/tool.ts +116 -25
  136. package/dist/cjs/src/core/ToolExecutor.d.ts +0 -45
  137. package/dist/cjs/src/core/ToolExecutor.d.ts.map +0 -1
  138. package/dist/cjs/src/core/ToolExecutor.js +0 -84
  139. package/dist/cjs/src/core/ToolExecutor.js.map +0 -1
  140. package/dist/src/core/ToolExecutor.d.ts +0 -45
  141. package/dist/src/core/ToolExecutor.d.ts.map +0 -1
  142. package/dist/src/core/ToolExecutor.js +0 -80
  143. package/dist/src/core/ToolExecutor.js.map +0 -1
  144. package/docs/core/tools/tool-execution.md +0 -815
  145. package/src/core/ToolExecutor.ts +0 -126
package/README.md CHANGED
@@ -185,7 +185,7 @@ const agent = new Agent({
185
185
  name: "Assistant",
186
186
  description: "A helpful assistant",
187
187
  provider: new GeminiProvider({
188
- apiKey: process.env.GEMINI_API_KEY,
188
+ apiKey: process.env.GEMINI_API_KEY!,
189
189
  model: "models/gemini-2.5-flash",
190
190
  }),
191
191
  });
@@ -216,44 +216,41 @@ console.log(response.message);
216
216
 
217
217
  ## 🔧 Advanced Step Configuration
218
218
 
219
- ### Using Tools as Prepare/Finalize Hooks
219
+ ### Simple Tool Creation
220
220
 
221
- Steps can use tools for `prepare` and `finalize` lifecycle hooks, enabling powerful data processing and side effects:
221
+ Create tools with minimal boilerplate using the unified Tool interface:
222
222
 
223
223
  ```typescript
224
- // Define a preparation tool
225
- const validateUser = {
224
+ // Create a simple tool with the unified interface
225
+ agent.addTool({
226
226
  id: "validate_user",
227
+ name: "User Data Validator",
227
228
  description: "Validate user data before processing",
228
229
  parameters: { type: "object", properties: {} },
229
- handler: ({ context, data }) => {
230
- // Validation logic
230
+ handler: async ({ context, data, updateData }) => {
231
+ // Validation logic with helper methods
231
232
  if (!data.email?.includes("@")) {
232
233
  throw new Error("Invalid email address");
233
234
  }
234
- return { data: "User validated" };
235
+
236
+ // Mark as validated using helper method
237
+ await updateData({ emailValidated: true });
238
+
239
+ return "User validation completed successfully";
235
240
  },
236
- };
241
+ });
237
242
 
238
- // Use tools in step lifecycle
243
+ // Use tools in conversation flows and step lifecycle
239
244
  agent.createRoute({
240
245
  title: "User Registration",
241
- schema: {
242
- /* ... */
243
- },
244
246
  steps: [
245
247
  {
246
248
  id: "collect_info",
247
249
  description: "Collect user information",
248
250
  collect: ["name", "email"],
249
251
  prompt: "Please provide your name and email.",
250
- finalize: validateUser, // Tool validates data after collection
251
- },
252
- {
253
- id: "send_welcome",
254
- description: "Send welcome email",
255
- prompt: "Welcome! Check your email for confirmation.",
256
- prepare: "send_welcome_email", // Tool ID string - sends email before AI responds
252
+ prepare: "validate_user", // Tool executes before AI response
253
+ tools: ["validate_user"], // Tool available during conversation
257
254
  },
258
255
  ],
259
256
  });
@@ -261,10 +258,11 @@ agent.createRoute({
261
258
 
262
259
  **Benefits:**
263
260
 
264
- - ✅ **Reusable Logic** - Tools can be shared across steps and routes
265
- - ✅ **Error Handling** - Tool execution includes automatic error handling
266
- - ✅ **Context Access** - Tools receive full context and collected data
267
- - ✅ **Data Updates** - Tools can modify collected data or agent context
261
+ - ✅ **Simple API** - Unified Tool interface with minimal complexity
262
+ - ✅ **Type Safety** - Full TypeScript support with automatic inference
263
+ - ✅ **Flexible Returns** - Return simple values or complex ToolResult objects
264
+ - ✅ **Helper Methods** - Built-in context and data update utilities
265
+ - ✅ **Lifecycle Integration** - Use tools as prepare/finalize hooks in steps
268
266
 
269
267
  ---
270
268
 
@@ -278,7 +276,6 @@ import {
278
276
  OpenAIProvider,
279
277
  createMessageEvent,
280
278
  EventSource,
281
- type Tool,
282
279
  } from "@falai/agent";
283
280
 
284
281
  // 1️⃣ Define the data you want to collect
@@ -320,18 +317,29 @@ const agent = new Agent<{}, HotelBookingData>({
320
317
  }
321
318
  });
322
319
 
323
- // 3️⃣ Define a tool that uses the agent-level collected data
324
- const bookHotel: Tool<unknown, [], string, HotelBookingData> = {
320
+ // 3️⃣ Define a tool using the unified Tool interface
321
+ agent.addTool({
325
322
  id: "book_hotel",
323
+ name: "Hotel Booking System",
326
324
  description: "Books a hotel once all information is collected.",
327
325
  parameters: { type: "object", properties: {} },
328
- handler: ({ data }) => {
329
- // Tool receives complete agent data
330
- return {
331
- data: `Booking confirmed for ${data.guests} guests at ${data.hotelName} on ${data.date}!`,
332
- };
326
+ handler: async ({ context, data, updateContext }) => {
327
+ // Tool receives complete agent data with simplified context and helper methods
328
+ const bookingId = await hotelAPI.createBooking({
329
+ hotel: data.hotelName,
330
+ date: data.date,
331
+ guests: data.guests,
332
+ });
333
+
334
+ // Use helper method to update context
335
+ await updateContext({
336
+ lastBookingId: bookingId,
337
+ lastBookingDate: new Date().toISOString(),
338
+ });
339
+
340
+ return `Booking confirmed! Confirmation #${bookingId} for ${data.guests} guests at ${data.hotelName} on ${data.date}`;
333
341
  },
334
- };
342
+ });
335
343
 
336
344
  // 4️⃣ Create a route with required fields specification
337
345
  agent.createRoute({
@@ -369,7 +377,7 @@ agent.createRoute({
369
377
  id: "confirm_booking",
370
378
  description: "Confirm and book the hotel",
371
379
  prompt: "Let me confirm your booking details.",
372
- tools: [bookHotel], // Tool accesses complete agent data
380
+ tools: ["book_hotel"], // Reference tool by ID
373
381
  requires: ["hotelName", "date", "guests"],
374
382
  },
375
383
  ],
@@ -8,6 +8,7 @@ import { Step } from "./Step";
8
8
  import { PersistenceManager } from "./PersistenceManager";
9
9
  import { SessionManager } from "./SessionManager";
10
10
  import { RoutingEngine } from "./RoutingEngine";
11
+ import { ToolManager } from "./ToolManager";
11
12
  /**
12
13
  * Main Agent class with generic context and data support
13
14
  */
@@ -27,6 +28,8 @@ export declare class Agent<TContext = any, TData = any> {
27
28
  private collectedData;
28
29
  /** Public session manager for easy session management */
29
30
  session: SessionManager<TData>;
31
+ /** Public tool manager for simplified tool creation and management */
32
+ tool: ToolManager<TContext, TData>;
30
33
  constructor(options: AgentOptions<TContext, TData>);
31
34
  /**
32
35
  * Validate the agent-level schema structure
@@ -80,13 +83,19 @@ export declare class Agent<TContext = any, TData = any> {
80
83
  */
81
84
  createGuideline(guideline: Guideline<TContext, TData>): this;
82
85
  /**
83
- * Register a tool at the agent level
86
+ * Add a tool to the agent using the unified Tool interface
87
+ * Creates and adds the tool to agent scope in one operation (BREAKING CHANGE: replaces createTool)
84
88
  */
85
- createTool(tool: Tool<TContext, TData, unknown[], unknown>): this;
89
+ addTool<TResult = any>(tool: Tool<TContext, TData, TResult>): this;
90
+ /**
91
+ * Register a tool at the agent level (legacy method for backward compatibility)
92
+ * @deprecated Use addTool() with Tool interface instead
93
+ */
94
+ createTool<TResult = any>(tool: Tool<TContext, TData, TResult>): this;
86
95
  /**
87
96
  * Register multiple tools at the agent level
88
97
  */
89
- registerTools(tools: Tool<TContext, TData, unknown[], unknown>[]): this;
98
+ registerTools<TResult = any>(tools: Tool<TContext, TData, TResult>[]): this;
90
99
  /**
91
100
  * Update the agent's context
92
101
  * Triggers both agent-level and route-specific onContextUpdate lifecycle hooks if configured
@@ -140,7 +149,7 @@ export declare class Agent<TContext = any, TData = any> {
140
149
  /**
141
150
  * Get all tools
142
151
  */
143
- getTools(): Tool<TContext, TData, unknown[], unknown>[];
152
+ getTools(): Tool<TContext, TData>[];
144
153
  /**
145
154
  * Get all guidelines
146
155
  */
@@ -170,11 +179,16 @@ export declare class Agent<TContext = any, TData = any> {
170
179
  * Execute a prepare or finalize function/tool
171
180
  * @internal Used by ResponseModal
172
181
  */
173
- executePrepareFinalize(prepareOrFinalize: string | Tool<TContext, TData, unknown[], unknown> | ((context: TContext, data?: Partial<TData>) => void | Promise<void>) | undefined, context: TContext, data?: Partial<TData>, route?: Route<TContext, TData>, step?: Step<TContext, TData>): Promise<void>;
182
+ executePrepareFinalize(prepareOrFinalize: string | Tool<TContext, TData> | ((context: TContext, data?: Partial<TData>) => void | Promise<void>) | undefined, context: TContext, data?: Partial<TData>, route?: Route<TContext, TData>, step?: Step<TContext, TData>): Promise<void>;
174
183
  /**
175
184
  * Clear the current session
176
185
  */
177
186
  clearCurrentSession(): void;
187
+ /**
188
+ * Sync session data to agent collected data
189
+ * @internal Used to keep agent and session data in sync
190
+ */
191
+ private syncSessionDataToCollectedData;
178
192
  /**
179
193
  * Get collected data from current session or agent-level collected data
180
194
  * @param routeId - Optional route ID to get data for (uses current route if not provided)
@@ -1 +1 @@
1
- {"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../../../src/core/Agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../../../src/core/Agent.ts"],"names":[],"mappings":"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"}
@@ -9,8 +9,8 @@ const Route_1 = require("./Route");
9
9
  const PersistenceManager_1 = require("./PersistenceManager");
10
10
  const SessionManager_1 = require("./SessionManager");
11
11
  const RoutingEngine_1 = require("./RoutingEngine");
12
- const ToolExecutor_1 = require("./ToolExecutor");
13
12
  const ResponseModal_1 = require("./ResponseModal");
13
+ const ToolManager_1 = require("./ToolManager");
14
14
  /**
15
15
  * Error thrown when data validation fails
16
16
  */
@@ -134,12 +134,21 @@ class Agent {
134
134
  if (options.knowledgeBase) {
135
135
  this.knowledgeBase = { ...options.knowledgeBase };
136
136
  }
137
- // Initialize session manager
138
- this.session = new SessionManager_1.SessionManager(this.persistenceManager);
137
+ // Initialize session manager with reference to this agent for bidirectional sync
138
+ this.session = new SessionManager_1.SessionManager(this.persistenceManager, this);
139
+ // Initialize tool manager with proper type inference
140
+ this.tool = new ToolManager_1.ToolManager(this);
139
141
  // Store sessionId for later use in getOrCreate calls
140
142
  if (options.sessionId) {
143
+ this.session.setDefaultSessionId(options.sessionId);
141
144
  // The session will be loaded on first getOrCreate call
142
- this.session.getOrCreate(options.sessionId).catch((err) => {
145
+ this.session.getOrCreate(options.sessionId).then((session) => {
146
+ // Sync session data to agent collected data
147
+ if (session.data && Object.keys(session.data).length > 0) {
148
+ this.collectedData = { ...session.data };
149
+ utils_1.logger.debug("[Agent] Synced session data to collected data:", this.collectedData);
150
+ }
151
+ }).catch((err) => {
143
152
  utils_1.logger.error("Failed to start session", err);
144
153
  });
145
154
  }
@@ -221,6 +230,8 @@ class Agent {
221
230
  * Get the current collected data
222
231
  */
223
232
  getCollectedData() {
233
+ // Ensure agent collected data is synced with session
234
+ this.syncSessionDataToCollectedData();
224
235
  return { ...this.collectedData };
225
236
  }
226
237
  /**
@@ -252,6 +263,12 @@ class Agent {
252
263
  if (this.currentSession) {
253
264
  this.currentSession = (0, utils_1.mergeCollected)(this.currentSession, this.collectedData);
254
265
  }
266
+ // Also update the session manager's session data (avoid circular call)
267
+ const sessionManagerSession = this.session.current;
268
+ if (sessionManagerSession) {
269
+ sessionManagerSession.data = { ...this.collectedData };
270
+ sessionManagerSession.metadata.lastUpdatedAt = new Date();
271
+ }
255
272
  utils_1.logger.debug("[Agent] Collected data updated:", updates);
256
273
  }
257
274
  /**
@@ -298,7 +315,7 @@ class Agent {
298
315
  `Must be valid keys from agent schema. Available fields: ${Object.keys(this.schema.properties).join(', ')}.`);
299
316
  }
300
317
  }
301
- const route = new Route_1.Route(options);
318
+ const route = new Route_1.Route(options, this);
302
319
  this.routes.push(route);
303
320
  return route;
304
321
  }
@@ -322,17 +339,47 @@ class Agent {
322
339
  return this;
323
340
  }
324
341
  /**
325
- * Register a tool at the agent level
342
+ * Add a tool to the agent using the unified Tool interface
343
+ * Creates and adds the tool to agent scope in one operation (BREAKING CHANGE: replaces createTool)
326
344
  */
345
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
346
+ addTool(tool) {
347
+ // Validate tool before adding
348
+ if (!tool || !tool.id || !tool.handler) {
349
+ throw new Error('Invalid tool: must have id and handler properties');
350
+ }
351
+ // Add directly to agent's tools array, preserving the TResult type
352
+ this.tools.push(tool);
353
+ utils_1.logger.debug(`[Agent] Added tool to agent scope: ${tool.id}`);
354
+ return this;
355
+ }
356
+ /**
357
+ * Register a tool at the agent level (legacy method for backward compatibility)
358
+ * @deprecated Use addTool() with Tool interface instead
359
+ */
360
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
327
361
  createTool(tool) {
362
+ // Validate tool before adding
363
+ if (!tool || !tool.id || !tool.handler) {
364
+ throw new Error('Invalid tool: must have id and handler properties');
365
+ }
328
366
  this.tools.push(tool);
367
+ utils_1.logger.debug(`[Agent] Created tool (legacy): ${tool.id}`);
329
368
  return this;
330
369
  }
331
370
  /**
332
371
  * Register multiple tools at the agent level
333
372
  */
373
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
334
374
  registerTools(tools) {
335
- tools.forEach((tool) => this.createTool(tool));
375
+ tools.forEach((tool) => {
376
+ // Validate each tool before adding
377
+ if (!tool || !tool.id || !tool.handler) {
378
+ throw new Error(`Invalid tool in batch: must have id and handler properties (tool: ${tool?.id || 'unknown'})`);
379
+ }
380
+ this.tools.push(tool);
381
+ });
382
+ utils_1.logger.debug(`[Agent] Registered ${tools.length} tools`);
336
383
  return this;
337
384
  }
338
385
  /**
@@ -509,38 +556,22 @@ class Agent {
509
556
  // It's a tool reference - find and execute the tool
510
557
  let tool;
511
558
  if (typeof prepareOrFinalize === "string") {
512
- // Tool ID - find it in available tools
513
- const availableTools = new Map();
514
- // Add agent-level tools
515
- this.tools.forEach((t) => {
516
- availableTools.set(t.id, t);
517
- });
518
- // Add route-level tools
519
- if (route) {
520
- route.getTools().forEach((t) => {
521
- availableTools.set(t.id, t);
522
- });
523
- }
524
- // Add step-level tools
525
- if (step?.tools) {
526
- for (const toolRef of step.tools) {
527
- if (typeof toolRef === "string") {
528
- // Keep as is
529
- }
530
- else if (toolRef.id) {
531
- availableTools.set(toolRef.id, toolRef);
532
- }
533
- }
534
- }
535
- tool = availableTools.get(prepareOrFinalize);
559
+ // Tool ID - use ToolManager to find it across all scopes
560
+ tool = this.tool.find(prepareOrFinalize, undefined, step, route);
536
561
  }
537
562
  else {
538
- // Tool object - use directly
539
- tool = prepareOrFinalize;
563
+ // Tool object - validate it has required properties
564
+ if (prepareOrFinalize.id && typeof prepareOrFinalize.handler === 'function') {
565
+ tool = prepareOrFinalize;
566
+ }
567
+ else {
568
+ utils_1.logger.error(`[Agent] Invalid tool object for prepare/finalize: missing id or invalid handler`);
569
+ return;
570
+ }
540
571
  }
541
572
  if (tool) {
542
- const toolExecutor = new ToolExecutor_1.ToolExecutor();
543
- const result = await toolExecutor.executeTool({
573
+ // Use ToolManager for execution
574
+ const result = await this.tool.executeTool({
544
575
  tool,
545
576
  context,
546
577
  updateContext: this.updateContext.bind(this),
@@ -566,12 +597,25 @@ class Agent {
566
597
  clearCurrentSession() {
567
598
  this.currentSession = undefined;
568
599
  }
600
+ /**
601
+ * Sync session data to agent collected data
602
+ * @internal Used to keep agent and session data in sync
603
+ */
604
+ syncSessionDataToCollectedData() {
605
+ const sessionData = this.session.getData();
606
+ if (sessionData && Object.keys(sessionData).length > 0) {
607
+ this.collectedData = { ...sessionData };
608
+ utils_1.logger.debug("[Agent] Synced session data to collected data:", this.collectedData);
609
+ }
610
+ }
569
611
  /**
570
612
  * Get collected data from current session or agent-level collected data
571
613
  * @param routeId - Optional route ID to get data for (uses current route if not provided)
572
614
  * @returns The collected data from the current session or agent-level data
573
615
  */
574
616
  getData() {
617
+ // Ensure agent collected data is synced with session
618
+ this.syncSessionDataToCollectedData();
575
619
  // If we have a current session, use session data
576
620
  if (this.currentSession) {
577
621
  // With agent-level data, all routes share the same data structure
@@ -1 +1 @@
1
- {"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../../../src/core/Agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../../../src/core/Agent.ts"],"names":[],"mappings":"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"}
@@ -103,6 +103,11 @@ export declare class ResponseModal<TContext = unknown, TData = unknown> {
103
103
  * @internal
104
104
  */
105
105
  getResponsePipeline(): ResponsePipeline<TContext, TData>;
106
+ /**
107
+ * Get the ToolManager instance from the agent
108
+ * @private
109
+ */
110
+ private getToolManager;
106
111
  /**
107
112
  * Unified response preparation - handles context setup, session management, and routing
108
113
  * This consolidates common logic between streaming and non-streaming responses
@@ -180,13 +185,14 @@ export declare class ResponseModal<TContext = unknown, TData = unknown> {
180
185
  */
181
186
  private finalizeSession;
182
187
  /**
183
- * Find an available tool by name for the given route
184
- * Route-level tools take precedence over agent-level tools
188
+ * Find an available tool by name for the given route using ToolManager
189
+ * Delegates to ToolManager for unified tool resolution
185
190
  * @private
186
191
  */
187
192
  private findAvailableTool;
188
193
  /**
189
- * Collect all available tools for the given route and step context
194
+ * Collect all available tools for the given route and step context using ToolManager
195
+ * Delegates to ToolManager for unified tool resolution and deduplication
190
196
  * @private
191
197
  */
192
198
  private collectAvailableTools;
@@ -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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"}