@falai/agent 0.7.0 → 0.8.1

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 (104) 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.d.ts +8 -8
  27. package/dist/cjs/core/Agent.d.ts.map +1 -1
  28. package/dist/cjs/core/Agent.js +10 -10
  29. package/dist/cjs/core/Agent.js.map +1 -1
  30. package/dist/cjs/core/PersistenceManager.d.ts +10 -10
  31. package/dist/cjs/core/PersistenceManager.d.ts.map +1 -1
  32. package/dist/cjs/core/PersistenceManager.js +9 -9
  33. package/dist/cjs/core/PersistenceManager.js.map +1 -1
  34. package/dist/cjs/core/RoutingEngine.d.ts +5 -5
  35. package/dist/cjs/core/RoutingEngine.d.ts.map +1 -1
  36. package/dist/cjs/core/RoutingEngine.js +5 -5
  37. package/dist/cjs/core/RoutingEngine.js.map +1 -1
  38. package/dist/cjs/index.d.ts +1 -1
  39. package/dist/cjs/index.d.ts.map +1 -1
  40. package/dist/cjs/types/agent.d.ts +3 -3
  41. package/dist/cjs/types/agent.d.ts.map +1 -1
  42. package/dist/cjs/types/session.d.ts +9 -9
  43. package/dist/cjs/types/session.d.ts.map +1 -1
  44. package/dist/cjs/types/session.js +2 -2
  45. package/dist/cjs/types/session.js.map +1 -1
  46. package/dist/core/Agent.d.ts +8 -8
  47. package/dist/core/Agent.d.ts.map +1 -1
  48. package/dist/core/Agent.js +10 -10
  49. package/dist/core/Agent.js.map +1 -1
  50. package/dist/core/PersistenceManager.d.ts +10 -10
  51. package/dist/core/PersistenceManager.d.ts.map +1 -1
  52. package/dist/core/PersistenceManager.js +9 -9
  53. package/dist/core/PersistenceManager.js.map +1 -1
  54. package/dist/core/RoutingEngine.d.ts +5 -5
  55. package/dist/core/RoutingEngine.d.ts.map +1 -1
  56. package/dist/core/RoutingEngine.js +5 -5
  57. package/dist/core/RoutingEngine.js.map +1 -1
  58. package/dist/index.d.ts +1 -1
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/types/agent.d.ts +3 -3
  61. package/dist/types/agent.d.ts.map +1 -1
  62. package/dist/types/session.d.ts +9 -9
  63. package/dist/types/session.d.ts.map +1 -1
  64. package/dist/types/session.js +2 -2
  65. package/dist/types/session.js.map +1 -1
  66. package/docs/ADAPTERS.md +1 -1
  67. package/docs/AGENT.md +9 -9
  68. package/docs/API_REFERENCE.md +15 -15
  69. package/docs/CONTEXT_MANAGEMENT.md +6 -6
  70. package/docs/CONTRIBUTING.md +3 -3
  71. package/docs/DOMAINS.md +2 -2
  72. package/docs/EXAMPLES.md +1 -1
  73. package/docs/GETTING_STARTED.md +3 -3
  74. package/docs/PERSISTENCE.md +11 -11
  75. package/docs/PROVIDERS.md +4 -4
  76. package/examples/business-onboarding.ts +1 -1
  77. package/examples/company-qna-agent.ts +1 -1
  78. package/examples/custom-database-persistence.ts +8 -8
  79. package/examples/declarative-agent.ts +1 -1
  80. package/examples/domain-scoping.ts +2 -2
  81. package/examples/extracted-data-modification.ts +1 -1
  82. package/examples/healthcare-agent.ts +1 -1
  83. package/examples/openai-agent.ts +1 -1
  84. package/examples/opensearch-persistence.ts +4 -4
  85. package/examples/persistent-onboarding.ts +2 -2
  86. package/examples/prisma-persistence.ts +4 -4
  87. package/examples/redis-persistence.ts +5 -5
  88. package/examples/route-transitions.ts +4 -4
  89. package/examples/rules-prohibitions.ts +3 -3
  90. package/examples/streaming-agent.ts +5 -5
  91. package/examples/travel-agent.ts +1 -1
  92. package/package.json +1 -1
  93. package/src/adapters/MemoryAdapter.ts +1 -1
  94. package/src/adapters/MongoAdapter.ts +1 -1
  95. package/src/adapters/PostgreSQLAdapter.ts +1 -1
  96. package/src/adapters/PrismaAdapter.ts +1 -1
  97. package/src/adapters/RedisAdapter.ts +1 -1
  98. package/src/adapters/SQLiteAdapter.ts +1 -1
  99. package/src/core/Agent.ts +23 -23
  100. package/src/core/PersistenceManager.ts +13 -13
  101. package/src/core/RoutingEngine.ts +15 -13
  102. package/src/index.ts +1 -1
  103. package/src/types/agent.ts +3 -3
  104. package/src/types/session.ts +15 -15
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",
@@ -4,7 +4,7 @@
4
4
  import type { AgentOptions, Term, Guideline, Capability } from "../types/agent";
5
5
  import type { Event, StepRef } from "../types/index";
6
6
  import type { RouteOptions } from "../types/route";
7
- import type { SessionStep } from "../types/session";
7
+ import type { SessionState } from "../types/session";
8
8
  import { Route } from "./Route";
9
9
  import { DomainRegistry } from "./DomainRegistry";
10
10
  import { PersistenceManager } from "./PersistenceManager";
@@ -84,14 +84,14 @@ export declare class Agent<TContext = unknown> {
84
84
  respondStream(params: {
85
85
  history: Event[];
86
86
  step?: StepRef;
87
- session?: SessionStep;
87
+ session?: SessionState;
88
88
  contextOverride?: Partial<TContext>;
89
89
  signal?: AbortSignal;
90
90
  }): AsyncGenerator<{
91
91
  delta: string;
92
92
  accumulated: string;
93
93
  done: boolean;
94
- session?: SessionStep;
94
+ session?: SessionState;
95
95
  toolCalls?: Array<{
96
96
  toolName: string;
97
97
  arguments: Record<string, unknown>;
@@ -104,12 +104,12 @@ export declare class Agent<TContext = unknown> {
104
104
  respond(params: {
105
105
  history: Event[];
106
106
  step?: StepRef;
107
- session?: SessionStep;
107
+ session?: SessionState;
108
108
  contextOverride?: Partial<TContext>;
109
109
  signal?: AbortSignal;
110
110
  }): Promise<{
111
111
  message: string;
112
- session?: SessionStep;
112
+ session?: SessionState;
113
113
  toolCalls?: Array<{
114
114
  toolName: string;
115
115
  arguments: Record<string, unknown>;
@@ -160,11 +160,11 @@ export declare class Agent<TContext = unknown> {
160
160
  * Set the current session for convenience methods
161
161
  * @param session - Session step to use for subsequent calls
162
162
  */
163
- setCurrentSession(session: SessionStep): void;
163
+ setCurrentSession(session: SessionState): void;
164
164
  /**
165
165
  * Get the current session (if set)
166
166
  */
167
- getCurrentSession(): SessionStep | undefined;
167
+ getCurrentSession(): SessionState | undefined;
168
168
  /**
169
169
  * Clear the current session
170
170
  */
@@ -192,6 +192,6 @@ export declare class Agent<TContext = unknown> {
192
192
  * const nextResponse = await agent.respond({ history, session: updatedSession });
193
193
  * }
194
194
  */
195
- nextStepRoute(routeIdOrTitle: string, session?: SessionStep, condition?: string): SessionStep;
195
+ nextStepRoute(routeIdOrTitle: string, session?: SessionState, condition?: string): SessionState;
196
196
  }
197
197
  //# sourceMappingURL=Agent.d.ts.map
@@ -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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"}
@@ -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,
@@ -390,7 +390,7 @@ class Agent {
390
390
  this.persistenceManager &&
391
391
  session.id &&
392
392
  this.options.persistence?.autoSave !== false) {
393
- await this.persistenceManager.saveSessionStep(session.id, session);
393
+ await this.persistenceManager.saveSessionState(session.id, session);
394
394
  logger_1.logger.debug(`[Agent] Auto-saved session step to persistence: ${session.id}`);
395
395
  }
396
396
  // Update current session if we have one
@@ -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,
@@ -799,7 +799,7 @@ class Agent {
799
799
  if (this.persistenceManager &&
800
800
  session.id &&
801
801
  this.options.persistence?.autoSave !== false) {
802
- await this.persistenceManager.saveSessionStep(session.id, session);
802
+ await this.persistenceManager.saveSessionState(session.id, session);
803
803
  logger_1.logger.debug(`[Agent] Auto-saved session step to persistence: ${session.id}`);
804
804
  }
805
805
  // Update current session if we have one