@falai/agent 0.7.0 → 0.8.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 (75) hide show
  1. package/README.md +23 -30
  2. package/dist/adapters/MemoryAdapter.d.ts +1 -1
  3. package/dist/adapters/MemoryAdapter.js +1 -1
  4. package/dist/adapters/MongoAdapter.d.ts +1 -1
  5. package/dist/adapters/MongoAdapter.js +1 -1
  6. package/dist/adapters/PostgreSQLAdapter.d.ts +1 -1
  7. package/dist/adapters/PostgreSQLAdapter.js +1 -1
  8. package/dist/adapters/PrismaAdapter.d.ts +1 -1
  9. package/dist/adapters/PrismaAdapter.js +1 -1
  10. package/dist/adapters/RedisAdapter.d.ts +1 -1
  11. package/dist/adapters/RedisAdapter.js +1 -1
  12. package/dist/adapters/SQLiteAdapter.d.ts +1 -1
  13. package/dist/adapters/SQLiteAdapter.js +1 -1
  14. package/dist/cjs/adapters/MemoryAdapter.d.ts +1 -1
  15. package/dist/cjs/adapters/MemoryAdapter.js +1 -1
  16. package/dist/cjs/adapters/MongoAdapter.d.ts +1 -1
  17. package/dist/cjs/adapters/MongoAdapter.js +1 -1
  18. package/dist/cjs/adapters/PostgreSQLAdapter.d.ts +1 -1
  19. package/dist/cjs/adapters/PostgreSQLAdapter.js +1 -1
  20. package/dist/cjs/adapters/PrismaAdapter.d.ts +1 -1
  21. package/dist/cjs/adapters/PrismaAdapter.js +1 -1
  22. package/dist/cjs/adapters/RedisAdapter.d.ts +1 -1
  23. package/dist/cjs/adapters/RedisAdapter.js +1 -1
  24. package/dist/cjs/adapters/SQLiteAdapter.d.ts +1 -1
  25. package/dist/cjs/adapters/SQLiteAdapter.js +1 -1
  26. package/dist/cjs/core/Agent.js +8 -8
  27. package/dist/cjs/core/Agent.js.map +1 -1
  28. package/dist/cjs/core/RoutingEngine.d.ts +1 -1
  29. package/dist/cjs/core/RoutingEngine.d.ts.map +1 -1
  30. package/dist/cjs/core/RoutingEngine.js +5 -5
  31. package/dist/cjs/core/RoutingEngine.js.map +1 -1
  32. package/dist/cjs/types/agent.d.ts +1 -1
  33. package/dist/cjs/types/agent.d.ts.map +1 -1
  34. package/dist/core/Agent.js +8 -8
  35. package/dist/core/Agent.js.map +1 -1
  36. package/dist/core/RoutingEngine.d.ts +1 -1
  37. package/dist/core/RoutingEngine.d.ts.map +1 -1
  38. package/dist/core/RoutingEngine.js +5 -5
  39. package/dist/core/RoutingEngine.js.map +1 -1
  40. package/dist/types/agent.d.ts +1 -1
  41. package/dist/types/agent.d.ts.map +1 -1
  42. package/docs/AGENT.md +7 -7
  43. package/docs/CONTEXT_MANAGEMENT.md +3 -3
  44. package/docs/CONTRIBUTING.md +3 -3
  45. package/docs/DOMAINS.md +2 -2
  46. package/docs/EXAMPLES.md +1 -1
  47. package/docs/GETTING_STARTED.md +3 -3
  48. package/docs/PERSISTENCE.md +4 -4
  49. package/docs/PROVIDERS.md +4 -4
  50. package/examples/business-onboarding.ts +1 -1
  51. package/examples/company-qna-agent.ts +1 -1
  52. package/examples/custom-database-persistence.ts +2 -2
  53. package/examples/declarative-agent.ts +1 -1
  54. package/examples/domain-scoping.ts +2 -2
  55. package/examples/extracted-data-modification.ts +1 -1
  56. package/examples/healthcare-agent.ts +1 -1
  57. package/examples/openai-agent.ts +1 -1
  58. package/examples/opensearch-persistence.ts +3 -3
  59. package/examples/persistent-onboarding.ts +2 -2
  60. package/examples/prisma-persistence.ts +3 -3
  61. package/examples/redis-persistence.ts +3 -3
  62. package/examples/route-transitions.ts +1 -1
  63. package/examples/rules-prohibitions.ts +3 -3
  64. package/examples/streaming-agent.ts +5 -5
  65. package/examples/travel-agent.ts +1 -1
  66. package/package.json +1 -1
  67. package/src/adapters/MemoryAdapter.ts +1 -1
  68. package/src/adapters/MongoAdapter.ts +1 -1
  69. package/src/adapters/PostgreSQLAdapter.ts +1 -1
  70. package/src/adapters/PrismaAdapter.ts +1 -1
  71. package/src/adapters/RedisAdapter.ts +1 -1
  72. package/src/adapters/SQLiteAdapter.ts +1 -1
  73. package/src/core/Agent.ts +8 -8
  74. package/src/core/RoutingEngine.ts +9 -7
  75. package/src/types/agent.ts +1 -1
package/README.md CHANGED
@@ -88,12 +88,9 @@ After building production AI applications, we found existing solutions either:
88
88
  ### 🛤️ **Data-Driven Conversations**
89
89
 
90
90
  - **Schema-First Extraction** - Define data contracts with JSON Schema
91
- - **Session Step Management** - Track conversation progress across turns
92
- - **AI-Driven Step Transitions** - Smart step selection based on conversation context
93
- - **Text-Based Conditions** - Human-readable transition conditions for the AI to evaluate
94
- - **Code-Based Logic** - Deterministic step progression with `skipIf` and `requires`
95
- - **Always-On Routing** - Context-aware routing respects user intent changes
96
- - **Route Transitions** - Automatic transitions between routes with `onComplete` for seamless workflows
91
+ - **Session Step Management** - Track progress across conversation turns
92
+ - **Flexible Step Transitions** - Use AI, text, or code (`skipIf`) for flow control
93
+ - **Always-On Routing** - Context-aware routing between different flows
97
94
 
98
95
  </td>
99
96
  <td width="50%">
@@ -103,7 +100,6 @@ After building production AI applications, we found existing solutions either:
103
100
  - **Data-Aware Tools** - Tools access collected data directly via `data` context
104
101
  - **Enrichment Hooks** - Tools can modify collected data with `dataUpdate`
105
102
  - **Action Flags** - Tools set flags for conditional execution
106
- - **Type-Safe Tools** - Define tools with full type inference
107
103
 
108
104
  </td>
109
105
  </tr>
@@ -112,13 +108,9 @@ After building production AI applications, we found existing solutions either:
112
108
 
113
109
  ### 💾 **Optional Persistence**
114
110
 
115
- - **Session Step Integration** - Automatic saving of collected data & conversation progress
116
- - **Provider Pattern** - Simple API like AI providers
117
- - **Multiple Adapters** - Prisma, Redis, MongoDB, PostgreSQL, SQLite, OpenSearch, Memory
118
- - **Custom Database Support** - Manual session step management for existing schemas
119
- - **Auto-save** - Automatic session step & message persistence
120
- - **Type-Safe** - Full TypeScript support with generics
121
- - **Extensible** - Create adapters for any database
111
+ - **Auto-Save** - Automatically persist conversation data and progress
112
+ - **Extensible Adapters** - Use built-in (Prisma, Redis, etc.) or create your own
113
+ - **Custom DB Support** - Integrate with your existing database schemas
122
114
 
123
115
  </td>
124
116
  <td width="50%">
@@ -128,7 +120,6 @@ After building production AI applications, we found existing solutions either:
128
120
  - **Always-On Routing** - Users can change their mind mid-conversation
129
121
  - **Context Awareness** - Router sees current progress and collected data
130
122
  - **Session Step** - Track conversation progress across turns
131
- - **Deterministic IDs** - Consistent identifiers across restarts
132
123
 
133
124
  </td>
134
125
  </tr>
@@ -166,8 +157,8 @@ import { Agent, GeminiProvider } from "@falai/agent";
166
157
  const agent = new Agent({
167
158
  name: "Assistant",
168
159
  description: "A helpful assistant",
169
- ai: new GeminiProvider({
170
- apiKey: process.env.GEMINI_API_KEY!,
160
+ provider: new GeminiProvider({
161
+ apiKey: process.env.GEMINI_API_KEY,
171
162
  model: "models/gemini-2.0-flash-exp",
172
163
  }),
173
164
  });
@@ -201,7 +192,7 @@ Now let's build an agent that intelligently collects structured data:
201
192
  ```typescript
202
193
  import {
203
194
  Agent,
204
- GeminiProvider,
195
+ OpenAIProvider,
205
196
  defineTool,
206
197
  createMessageEvent,
207
198
  EventSource,
@@ -220,9 +211,9 @@ interface HotelBookingData {
220
211
  const agent = new Agent({
221
212
  name: "BookingBot",
222
213
  description: "A hotel booking assistant that collects information.",
223
- ai: new GeminiProvider({
224
- apiKey: process.env.GEMINI_API_KEY!,
225
- model: "models/gemini-2.5-flash", // or your preferred model
214
+ provider: new OpenAIProvider({
215
+ apiKey: process.env.OPENAI_API_KEY,
216
+ model: "gpt-5", // or your preferred model
226
217
  }),
227
218
  });
228
219
 
@@ -238,20 +229,22 @@ const bookHotel = defineTool(
238
229
  { description: "Books a hotel once all information is collected." }
239
230
  );
240
231
 
232
+ const schema = {
233
+ type: "object",
234
+ properties: {
235
+ hotelName: { type: "string", description: "The name of the hotel." },
236
+ date: { type: "string", description: "The desired booking date." },
237
+ guests: { type: "number", description: "The number of guests." },
238
+ },
239
+ required: ["hotelName", "date", "guests"],
240
+ };
241
+
241
242
  // 4️⃣ Create a data-driven route
242
243
  const bookingRoute = agent.createRoute<HotelBookingData>({
243
244
  title: "Book Hotel",
244
245
  description: "Guides the user through the hotel booking process.",
245
246
  conditions: ["User wants to book a hotel"],
246
- schema: {
247
- type: "object",
248
- properties: {
249
- hotelName: { type: "string", description: "The name of the hotel." },
250
- date: { type: "string", description: "The desired booking date." },
251
- guests: { type: "number", description: "The number of guests." },
252
- },
253
- required: ["hotelName", "date", "guests"],
254
- },
247
+ schema,
255
248
  endStep: {
256
249
  instructions: "Confirm the booking details warmly and thank the user",
257
250
  },
@@ -18,7 +18,7 @@ import type { SessionRepository, MessageRepository, SessionData, MessageData, Pe
18
18
  *
19
19
  * const agent = new Agent({
20
20
  * name: "My Agent",
21
- * ai: provider,
21
+ * provider: provider,
22
22
  * persistence: {
23
23
  * adapter: new MemoryAdapter(),
24
24
  * userId: "user_123",
@@ -17,7 +17,7 @@
17
17
  *
18
18
  * const agent = new Agent({
19
19
  * name: "My Agent",
20
- * ai: provider,
20
+ * provider: provider,
21
21
  * persistence: {
22
22
  * adapter: new MemoryAdapter(),
23
23
  * userId: "user_123",
@@ -75,7 +75,7 @@ export interface MongoAdapterOptions {
75
75
  *
76
76
  * const agent = new Agent({
77
77
  * name: "My Agent",
78
- * ai: provider,
78
+ * provider: provider,
79
79
  * persistence: {
80
80
  * adapter: new MongoAdapter({
81
81
  * client,
@@ -15,7 +15,7 @@
15
15
  *
16
16
  * const agent = new Agent({
17
17
  * name: "My Agent",
18
- * ai: provider,
18
+ * provider: provider,
19
19
  * persistence: {
20
20
  * adapter: new MongoAdapter({
21
21
  * client,
@@ -52,7 +52,7 @@ export interface PostgreSQLAdapterOptions {
52
52
  *
53
53
  * const agent = new Agent({
54
54
  * name: "My Agent",
55
- * ai: provider,
55
+ * provider: provider,
56
56
  * persistence: {
57
57
  * adapter: new PostgreSQLAdapter({ client }),
58
58
  * userId: "user_123",
@@ -21,7 +21,7 @@
21
21
  *
22
22
  * const agent = new Agent({
23
23
  * name: "My Agent",
24
- * ai: provider,
24
+ * provider: provider,
25
25
  * persistence: {
26
26
  * adapter: new PostgreSQLAdapter({ client }),
27
27
  * userId: "user_123",
@@ -87,7 +87,7 @@ export interface PrismaAdapterOptions {
87
87
  *
88
88
  * const agent = new Agent({
89
89
  * name: "My Agent",
90
- * ai: provider,
90
+ * provider: provider,
91
91
  * persistence: {
92
92
  * adapter: new PrismaAdapter({ prisma }),
93
93
  * userId: "user_123",
@@ -14,7 +14,7 @@
14
14
  *
15
15
  * const agent = new Agent({
16
16
  * name: "My Agent",
17
- * ai: provider,
17
+ * provider: provider,
18
18
  * persistence: {
19
19
  * adapter: new PrismaAdapter({ prisma }),
20
20
  * userId: "user_123",
@@ -50,7 +50,7 @@ export interface RedisAdapterOptions {
50
50
  *
51
51
  * const agent = new Agent({
52
52
  * name: "My Agent",
53
- * ai: provider,
53
+ * provider: provider,
54
54
  * persistence: {
55
55
  * adapter: new RedisAdapter({ redis }),
56
56
  * userId: "user_123",
@@ -14,7 +14,7 @@
14
14
  *
15
15
  * const agent = new Agent({
16
16
  * name: "My Agent",
17
- * ai: provider,
17
+ * provider: provider,
18
18
  * persistence: {
19
19
  * adapter: new RedisAdapter({ redis }),
20
20
  * userId: "user_123",
@@ -50,7 +50,7 @@ export interface SQLiteAdapterOptions {
50
50
  *
51
51
  * const agent = new Agent({
52
52
  * name: "My Agent",
53
- * ai: provider,
53
+ * provider: provider,
54
54
  * persistence: {
55
55
  * adapter: new SQLiteAdapter({ db }),
56
56
  * userId: "user_123",
@@ -14,7 +14,7 @@
14
14
  *
15
15
  * const agent = new Agent({
16
16
  * name: "My Agent",
17
- * ai: provider,
17
+ * provider: provider,
18
18
  * persistence: {
19
19
  * adapter: new SQLiteAdapter({ db }),
20
20
  * userId: "user_123",
@@ -18,7 +18,7 @@ import type { SessionRepository, MessageRepository, SessionData, MessageData, Pe
18
18
  *
19
19
  * const agent = new Agent({
20
20
  * name: "My Agent",
21
- * ai: provider,
21
+ * provider: provider,
22
22
  * persistence: {
23
23
  * adapter: new MemoryAdapter(),
24
24
  * userId: "user_123",
@@ -20,7 +20,7 @@ exports.MemoryAdapter = void 0;
20
20
  *
21
21
  * const agent = new Agent({
22
22
  * name: "My Agent",
23
- * ai: provider,
23
+ * provider: provider,
24
24
  * persistence: {
25
25
  * adapter: new MemoryAdapter(),
26
26
  * userId: "user_123",
@@ -75,7 +75,7 @@ export interface MongoAdapterOptions {
75
75
  *
76
76
  * const agent = new Agent({
77
77
  * name: "My Agent",
78
- * ai: provider,
78
+ * provider: provider,
79
79
  * persistence: {
80
80
  * adapter: new MongoAdapter({
81
81
  * client,
@@ -18,7 +18,7 @@ exports.MongoAdapter = void 0;
18
18
  *
19
19
  * const agent = new Agent({
20
20
  * name: "My Agent",
21
- * ai: provider,
21
+ * provider: provider,
22
22
  * persistence: {
23
23
  * adapter: new MongoAdapter({
24
24
  * client,
@@ -52,7 +52,7 @@ export interface PostgreSQLAdapterOptions {
52
52
  *
53
53
  * const agent = new Agent({
54
54
  * name: "My Agent",
55
- * ai: provider,
55
+ * provider: provider,
56
56
  * persistence: {
57
57
  * adapter: new PostgreSQLAdapter({ client }),
58
58
  * userId: "user_123",
@@ -24,7 +24,7 @@ exports.PostgreSQLAdapter = void 0;
24
24
  *
25
25
  * const agent = new Agent({
26
26
  * name: "My Agent",
27
- * ai: provider,
27
+ * provider: provider,
28
28
  * persistence: {
29
29
  * adapter: new PostgreSQLAdapter({ client }),
30
30
  * userId: "user_123",
@@ -87,7 +87,7 @@ export interface PrismaAdapterOptions {
87
87
  *
88
88
  * const agent = new Agent({
89
89
  * name: "My Agent",
90
- * ai: provider,
90
+ * provider: provider,
91
91
  * persistence: {
92
92
  * adapter: new PrismaAdapter({ prisma }),
93
93
  * userId: "user_123",
@@ -17,7 +17,7 @@ exports.PrismaAdapter = void 0;
17
17
  *
18
18
  * const agent = new Agent({
19
19
  * name: "My Agent",
20
- * ai: provider,
20
+ * provider: provider,
21
21
  * persistence: {
22
22
  * adapter: new PrismaAdapter({ prisma }),
23
23
  * userId: "user_123",
@@ -50,7 +50,7 @@ export interface RedisAdapterOptions {
50
50
  *
51
51
  * const agent = new Agent({
52
52
  * name: "My Agent",
53
- * ai: provider,
53
+ * provider: provider,
54
54
  * persistence: {
55
55
  * adapter: new RedisAdapter({ redis }),
56
56
  * userId: "user_123",
@@ -17,7 +17,7 @@ exports.RedisAdapter = void 0;
17
17
  *
18
18
  * const agent = new Agent({
19
19
  * name: "My Agent",
20
- * ai: provider,
20
+ * provider: provider,
21
21
  * persistence: {
22
22
  * adapter: new RedisAdapter({ redis }),
23
23
  * userId: "user_123",
@@ -50,7 +50,7 @@ export interface SQLiteAdapterOptions {
50
50
  *
51
51
  * const agent = new Agent({
52
52
  * name: "My Agent",
53
- * ai: provider,
53
+ * provider: provider,
54
54
  * persistence: {
55
55
  * adapter: new SQLiteAdapter({ db }),
56
56
  * userId: "user_123",
@@ -17,7 +17,7 @@ exports.SQLiteAdapter = void 0;
17
17
  *
18
18
  * const agent = new Agent({
19
19
  * name: "My Agent",
20
- * ai: provider,
20
+ * provider: provider,
21
21
  * persistence: {
22
22
  * adapter: new SQLiteAdapter({ db }),
23
23
  * userId: "user_123",
@@ -298,7 +298,7 @@ class Agent {
298
298
  description: this.options.description,
299
299
  personality: this.options.personality,
300
300
  },
301
- ai: this.options.ai,
301
+ provider: this.options.provider,
302
302
  context: effectiveContext,
303
303
  signal,
304
304
  });
@@ -348,7 +348,7 @@ class Agent {
348
348
  personality: this.options.personality,
349
349
  });
350
350
  // Generate message stream using AI provider
351
- const stream = this.options.ai.generateMessageStream({
351
+ const stream = this.options.provider.generateMessageStream({
352
352
  prompt: responsePrompt,
353
353
  history,
354
354
  context: effectiveContext,
@@ -427,7 +427,7 @@ class Agent {
427
427
  personality: this.options.personality,
428
428
  });
429
429
  // Stream completion message using AI provider
430
- const stream = this.options.ai.generateMessageStream({
430
+ const stream = this.options.provider.generateMessageStream({
431
431
  prompt: completionPrompt,
432
432
  history,
433
433
  context: effectiveContext,
@@ -493,7 +493,7 @@ class Agent {
493
493
  .addGuidelines(this.guidelines)
494
494
  .addCapabilities(this.capabilities)
495
495
  .build();
496
- const stream = this.options.ai.generateMessageStream({
496
+ const stream = this.options.provider.generateMessageStream({
497
497
  prompt: fallbackPrompt,
498
498
  history,
499
499
  context: effectiveContext,
@@ -616,7 +616,7 @@ class Agent {
616
616
  description: this.options.description,
617
617
  personality: this.options.personality,
618
618
  },
619
- ai: this.options.ai,
619
+ provider: this.options.provider,
620
620
  context: effectiveContext,
621
621
  signal,
622
622
  });
@@ -668,7 +668,7 @@ class Agent {
668
668
  personality: this.options.personality,
669
669
  });
670
670
  // Generate message using AI provider
671
- const result = await this.options.ai.generateMessage({
671
+ const result = await this.options.provider.generateMessage({
672
672
  prompt: responsePrompt,
673
673
  history,
674
674
  context: effectiveContext,
@@ -723,7 +723,7 @@ class Agent {
723
723
  personality: this.options.personality,
724
724
  });
725
725
  // Generate completion message using AI provider
726
- const completionResult = await this.options.ai.generateMessage({
726
+ const completionResult = await this.options.provider.generateMessage({
727
727
  prompt: completionPrompt,
728
728
  history,
729
729
  context: effectiveContext,
@@ -776,7 +776,7 @@ class Agent {
776
776
  .addGuidelines(this.guidelines)
777
777
  .addCapabilities(this.capabilities)
778
778
  .build();
779
- const result = await this.options.ai.generateMessage({
779
+ const result = await this.options.provider.generateMessage({
780
780
  prompt: fallbackPrompt,
781
781
  history,
782
782
  context: effectiveContext,
@@ -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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"}
@@ -65,7 +65,7 @@ export declare class RoutingEngine<TContext = unknown> {
65
65
  description?: string;
66
66
  personality?: string;
67
67
  };
68
- ai: AiProvider;
68
+ provider: AiProvider;
69
69
  context: TContext;
70
70
  signal?: AbortSignal;
71
71
  }): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"RoutingEngine.d.ts","sourceRoot":"","sources":["../../../src/core/RoutingEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RoutingEngine.d.ts","sourceRoot":"","sources":["../../../src/core/RoutingEngine.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ class RoutingEngine {
15
15
  * @private
16
16
  */
17
17
  async decideSingleRouteStep(params) {
18
- const { route, session, history, agentMeta, ai, context, signal } = params;
18
+ const { route, session, history, agentMeta, provider, context, signal } = params;
19
19
  let updatedSession = session;
20
20
  const selectedRoute = route;
21
21
  // Enter route if not already in it
@@ -63,7 +63,7 @@ class RoutingEngine {
63
63
  const lastUserMessage = (0, event_1.getLastMessageFromHistory)(history);
64
64
  const stepPrompt = this.buildStepSelectionPrompt(route, currentStep, candidates, updatedSession.data || {}, history, lastUserMessage, agentMeta);
65
65
  const stepSchema = this.buildStepSelectionSchema(candidates.map((c) => c.step.id));
66
- const stepResult = await ai.generateMessage({
66
+ const stepResult = await provider.generateMessage({
67
67
  prompt: stepPrompt,
68
68
  history,
69
69
  context,
@@ -246,7 +246,7 @@ class RoutingEngine {
246
246
  * OPTIMIZATION: If there's only 1 route, skips route scoring and only does step selection.
247
247
  */
248
248
  async decideRouteAndStep(params) {
249
- const { routes, session, history, agentMeta, ai, context, signal } = params;
249
+ const { routes, session, history, agentMeta, provider, context, signal } = params;
250
250
  if (routes.length === 0) {
251
251
  return { session };
252
252
  }
@@ -257,7 +257,7 @@ class RoutingEngine {
257
257
  session,
258
258
  history,
259
259
  agentMeta,
260
- ai,
260
+ provider,
261
261
  context,
262
262
  signal,
263
263
  });
@@ -294,7 +294,7 @@ class RoutingEngine {
294
294
  }
295
295
  const routingSchema = this.buildDynamicRoutingSchema(routes, undefined, activeRouteSteps);
296
296
  const routingPrompt = this.buildRoutingPrompt(history, routes, lastUserMessage, agentMeta, session, activeRouteSteps);
297
- const routingResult = await ai.generateMessage({
297
+ const routingResult = await provider.generateMessage({
298
298
  prompt: routingPrompt,
299
299
  history,
300
300
  context,