@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.
- package/README.md +23 -30
- package/dist/adapters/MemoryAdapter.d.ts +1 -1
- package/dist/adapters/MemoryAdapter.js +1 -1
- package/dist/adapters/MongoAdapter.d.ts +1 -1
- package/dist/adapters/MongoAdapter.js +1 -1
- package/dist/adapters/PostgreSQLAdapter.d.ts +1 -1
- package/dist/adapters/PostgreSQLAdapter.js +1 -1
- package/dist/adapters/PrismaAdapter.d.ts +1 -1
- package/dist/adapters/PrismaAdapter.js +1 -1
- package/dist/adapters/RedisAdapter.d.ts +1 -1
- package/dist/adapters/RedisAdapter.js +1 -1
- package/dist/adapters/SQLiteAdapter.d.ts +1 -1
- package/dist/adapters/SQLiteAdapter.js +1 -1
- package/dist/cjs/adapters/MemoryAdapter.d.ts +1 -1
- package/dist/cjs/adapters/MemoryAdapter.js +1 -1
- package/dist/cjs/adapters/MongoAdapter.d.ts +1 -1
- package/dist/cjs/adapters/MongoAdapter.js +1 -1
- package/dist/cjs/adapters/PostgreSQLAdapter.d.ts +1 -1
- package/dist/cjs/adapters/PostgreSQLAdapter.js +1 -1
- package/dist/cjs/adapters/PrismaAdapter.d.ts +1 -1
- package/dist/cjs/adapters/PrismaAdapter.js +1 -1
- package/dist/cjs/adapters/RedisAdapter.d.ts +1 -1
- package/dist/cjs/adapters/RedisAdapter.js +1 -1
- package/dist/cjs/adapters/SQLiteAdapter.d.ts +1 -1
- package/dist/cjs/adapters/SQLiteAdapter.js +1 -1
- package/dist/cjs/core/Agent.d.ts +8 -8
- package/dist/cjs/core/Agent.d.ts.map +1 -1
- package/dist/cjs/core/Agent.js +10 -10
- package/dist/cjs/core/Agent.js.map +1 -1
- package/dist/cjs/core/PersistenceManager.d.ts +10 -10
- package/dist/cjs/core/PersistenceManager.d.ts.map +1 -1
- package/dist/cjs/core/PersistenceManager.js +9 -9
- package/dist/cjs/core/PersistenceManager.js.map +1 -1
- package/dist/cjs/core/RoutingEngine.d.ts +5 -5
- package/dist/cjs/core/RoutingEngine.d.ts.map +1 -1
- package/dist/cjs/core/RoutingEngine.js +5 -5
- package/dist/cjs/core/RoutingEngine.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/types/agent.d.ts +3 -3
- package/dist/cjs/types/agent.d.ts.map +1 -1
- package/dist/cjs/types/session.d.ts +9 -9
- package/dist/cjs/types/session.d.ts.map +1 -1
- package/dist/cjs/types/session.js +2 -2
- package/dist/cjs/types/session.js.map +1 -1
- package/dist/core/Agent.d.ts +8 -8
- package/dist/core/Agent.d.ts.map +1 -1
- package/dist/core/Agent.js +10 -10
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/PersistenceManager.d.ts +10 -10
- package/dist/core/PersistenceManager.d.ts.map +1 -1
- package/dist/core/PersistenceManager.js +9 -9
- package/dist/core/PersistenceManager.js.map +1 -1
- package/dist/core/RoutingEngine.d.ts +5 -5
- package/dist/core/RoutingEngine.d.ts.map +1 -1
- package/dist/core/RoutingEngine.js +5 -5
- package/dist/core/RoutingEngine.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/types/agent.d.ts +3 -3
- package/dist/types/agent.d.ts.map +1 -1
- package/dist/types/session.d.ts +9 -9
- package/dist/types/session.d.ts.map +1 -1
- package/dist/types/session.js +2 -2
- package/dist/types/session.js.map +1 -1
- package/docs/ADAPTERS.md +1 -1
- package/docs/AGENT.md +9 -9
- package/docs/API_REFERENCE.md +15 -15
- package/docs/CONTEXT_MANAGEMENT.md +6 -6
- package/docs/CONTRIBUTING.md +3 -3
- package/docs/DOMAINS.md +2 -2
- package/docs/EXAMPLES.md +1 -1
- package/docs/GETTING_STARTED.md +3 -3
- package/docs/PERSISTENCE.md +11 -11
- package/docs/PROVIDERS.md +4 -4
- package/examples/business-onboarding.ts +1 -1
- package/examples/company-qna-agent.ts +1 -1
- package/examples/custom-database-persistence.ts +8 -8
- package/examples/declarative-agent.ts +1 -1
- package/examples/domain-scoping.ts +2 -2
- package/examples/extracted-data-modification.ts +1 -1
- package/examples/healthcare-agent.ts +1 -1
- package/examples/openai-agent.ts +1 -1
- package/examples/opensearch-persistence.ts +4 -4
- package/examples/persistent-onboarding.ts +2 -2
- package/examples/prisma-persistence.ts +4 -4
- package/examples/redis-persistence.ts +5 -5
- package/examples/route-transitions.ts +4 -4
- package/examples/rules-prohibitions.ts +3 -3
- package/examples/streaming-agent.ts +5 -5
- package/examples/travel-agent.ts +1 -1
- package/package.json +1 -1
- package/src/adapters/MemoryAdapter.ts +1 -1
- package/src/adapters/MongoAdapter.ts +1 -1
- package/src/adapters/PostgreSQLAdapter.ts +1 -1
- package/src/adapters/PrismaAdapter.ts +1 -1
- package/src/adapters/RedisAdapter.ts +1 -1
- package/src/adapters/SQLiteAdapter.ts +1 -1
- package/src/core/Agent.ts +23 -23
- package/src/core/PersistenceManager.ts +13 -13
- package/src/core/RoutingEngine.ts +15 -13
- package/src/index.ts +1 -1
- package/src/types/agent.ts +3 -3
- 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
|
|
92
|
-
- **
|
|
93
|
-
- **
|
|
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
|
-
- **
|
|
116
|
-
- **
|
|
117
|
-
- **
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
224
|
-
apiKey: process.env.
|
|
225
|
-
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
|
-
*
|
|
21
|
+
* provider: provider,
|
|
22
22
|
* persistence: {
|
|
23
23
|
* adapter: new MemoryAdapter(),
|
|
24
24
|
* 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
|
-
*
|
|
21
|
+
* provider: provider,
|
|
22
22
|
* persistence: {
|
|
23
23
|
* adapter: new MemoryAdapter(),
|
|
24
24
|
* userId: "user_123",
|
package/dist/cjs/core/Agent.d.ts
CHANGED
|
@@ -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 {
|
|
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?:
|
|
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?:
|
|
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?:
|
|
107
|
+
session?: SessionState;
|
|
108
108
|
contextOverride?: Partial<TContext>;
|
|
109
109
|
signal?: AbortSignal;
|
|
110
110
|
}): Promise<{
|
|
111
111
|
message: string;
|
|
112
|
-
session?:
|
|
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:
|
|
163
|
+
setCurrentSession(session: SessionState): void;
|
|
164
164
|
/**
|
|
165
165
|
* Get the current session (if set)
|
|
166
166
|
*/
|
|
167
|
-
getCurrentSession():
|
|
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?:
|
|
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":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../../src/core/Agent.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/core/Agent.js
CHANGED
|
@@ -298,7 +298,7 @@ class Agent {
|
|
|
298
298
|
description: this.options.description,
|
|
299
299
|
personality: this.options.personality,
|
|
300
300
|
},
|
|
301
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|