@falai/agent 0.3.10 → 0.3.12
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 +192 -16
- package/dist/adapters/PrismaAdapter.d.ts +115 -0
- package/dist/adapters/PrismaAdapter.d.ts.map +1 -0
- package/dist/adapters/PrismaAdapter.js +331 -0
- package/dist/adapters/PrismaAdapter.js.map +1 -0
- package/dist/adapters/index.d.ts +6 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +5 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/cjs/adapters/PrismaAdapter.d.ts +115 -0
- package/dist/cjs/adapters/PrismaAdapter.d.ts.map +1 -0
- package/dist/cjs/adapters/PrismaAdapter.js +335 -0
- package/dist/cjs/adapters/PrismaAdapter.js.map +1 -0
- package/dist/cjs/adapters/index.d.ts +6 -0
- package/dist/cjs/adapters/index.d.ts.map +1 -0
- package/dist/cjs/adapters/index.js +9 -0
- package/dist/cjs/adapters/index.js.map +1 -0
- package/dist/cjs/core/Agent.d.ts +35 -0
- package/dist/cjs/core/Agent.d.ts.map +1 -1
- package/dist/cjs/core/Agent.js +153 -0
- package/dist/cjs/core/Agent.js.map +1 -1
- package/dist/cjs/core/PersistenceManager.d.ts +77 -0
- package/dist/cjs/core/PersistenceManager.d.ts.map +1 -0
- package/dist/cjs/core/PersistenceManager.js +153 -0
- package/dist/cjs/core/PersistenceManager.js.map +1 -0
- package/dist/cjs/index.d.ts +6 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +8 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/providers/AnthropicProvider.d.ts +43 -0
- package/dist/cjs/providers/AnthropicProvider.d.ts.map +1 -0
- package/dist/cjs/providers/AnthropicProvider.js +328 -0
- package/dist/cjs/providers/AnthropicProvider.js.map +1 -0
- package/dist/cjs/providers/GeminiProvider.d.ts +4 -1
- package/dist/cjs/providers/GeminiProvider.d.ts.map +1 -1
- package/dist/cjs/providers/GeminiProvider.js +96 -0
- package/dist/cjs/providers/GeminiProvider.js.map +1 -1
- package/dist/cjs/providers/OpenAIProvider.d.ts +4 -1
- package/dist/cjs/providers/OpenAIProvider.d.ts.map +1 -1
- package/dist/cjs/providers/OpenAIProvider.js +115 -0
- package/dist/cjs/providers/OpenAIProvider.js.map +1 -1
- package/dist/cjs/providers/OpenRouterProvider.d.ts +4 -1
- package/dist/cjs/providers/OpenRouterProvider.d.ts.map +1 -1
- package/dist/cjs/providers/OpenRouterProvider.js +115 -0
- package/dist/cjs/providers/OpenRouterProvider.js.map +1 -1
- package/dist/cjs/providers/index.d.ts +13 -0
- package/dist/cjs/providers/index.d.ts.map +1 -0
- package/dist/cjs/providers/index.js +16 -0
- package/dist/cjs/providers/index.js.map +1 -0
- package/dist/cjs/types/agent.d.ts +3 -0
- package/dist/cjs/types/agent.d.ts.map +1 -1
- package/dist/cjs/types/agent.js.map +1 -1
- package/dist/cjs/types/ai.d.ts +28 -0
- package/dist/cjs/types/ai.d.ts.map +1 -1
- package/dist/cjs/types/index.d.ts +1 -0
- package/dist/cjs/types/index.d.ts.map +1 -1
- package/dist/cjs/types/persistence.d.ts +194 -0
- package/dist/cjs/types/persistence.d.ts.map +1 -0
- package/dist/cjs/types/persistence.js +7 -0
- package/dist/cjs/types/persistence.js.map +1 -0
- package/dist/core/Agent.d.ts +35 -0
- package/dist/core/Agent.d.ts.map +1 -1
- package/dist/core/Agent.js +153 -0
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/PersistenceManager.d.ts +77 -0
- package/dist/core/PersistenceManager.d.ts.map +1 -0
- package/dist/core/PersistenceManager.js +149 -0
- package/dist/core/PersistenceManager.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/providers/AnthropicProvider.d.ts +43 -0
- package/dist/providers/AnthropicProvider.d.ts.map +1 -0
- package/dist/providers/AnthropicProvider.js +321 -0
- package/dist/providers/AnthropicProvider.js.map +1 -0
- package/dist/providers/GeminiProvider.d.ts +4 -1
- package/dist/providers/GeminiProvider.d.ts.map +1 -1
- package/dist/providers/GeminiProvider.js +96 -0
- package/dist/providers/GeminiProvider.js.map +1 -1
- package/dist/providers/OpenAIProvider.d.ts +4 -1
- package/dist/providers/OpenAIProvider.d.ts.map +1 -1
- package/dist/providers/OpenAIProvider.js +115 -0
- package/dist/providers/OpenAIProvider.js.map +1 -1
- package/dist/providers/OpenRouterProvider.d.ts +4 -1
- package/dist/providers/OpenRouterProvider.d.ts.map +1 -1
- package/dist/providers/OpenRouterProvider.js +115 -0
- package/dist/providers/OpenRouterProvider.js.map +1 -1
- package/dist/providers/index.d.ts +13 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +9 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/types/agent.d.ts +3 -0
- package/dist/types/agent.d.ts.map +1 -1
- package/dist/types/agent.js.map +1 -1
- package/dist/types/ai.d.ts +28 -0
- package/dist/types/ai.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/persistence.d.ts +194 -0
- package/dist/types/persistence.d.ts.map +1 -0
- package/dist/types/persistence.js +6 -0
- package/dist/types/persistence.js.map +1 -0
- package/docs/API_REFERENCE.md +260 -2
- package/docs/PERSISTENCE.md +419 -0
- package/docs/PROVIDERS.md +139 -2
- package/examples/business-onboarding.ts +5 -4
- package/examples/declarative-agent.ts +1 -1
- package/examples/domain-scoping.ts +5 -4
- package/examples/healthcare-agent.ts +4 -4
- package/examples/openai-agent.ts +6 -4
- package/examples/prisma-persistence.ts +313 -0
- package/examples/prisma-schema.example.prisma +74 -0
- package/examples/rules-prohibitions.ts +4 -4
- package/examples/streaming-agent.ts +371 -0
- package/examples/travel-agent.ts +7 -4
- package/package.json +10 -1
- package/src/adapters/PrismaAdapter.ts +510 -0
- package/src/adapters/index.ts +10 -0
- package/src/core/Agent.ts +205 -0
- package/src/core/PersistenceManager.ts +222 -0
- package/src/index.ts +23 -0
- package/src/providers/AnthropicProvider.ts +467 -0
- package/src/providers/GeminiProvider.ts +135 -0
- package/src/providers/OpenAIProvider.ts +157 -0
- package/src/providers/OpenRouterProvider.ts +157 -0
- package/src/providers/index.ts +16 -0
- package/src/types/agent.ts +3 -0
- package/src/types/ai.ts +32 -0
- package/src/types/index.ts +14 -0
- package/src/types/persistence.ts +234 -0
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Prisma adapter for persistence
|
|
4
|
+
* Simple, provider-like API with automatic schema creation
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.PrismaAdapter = void 0;
|
|
8
|
+
/**
|
|
9
|
+
* Prisma Adapter - Provider-style API for Prisma persistence
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* import { PrismaClient } from '@prisma/client';
|
|
14
|
+
* import { Agent, PrismaAdapter } from '@falai/agent';
|
|
15
|
+
*
|
|
16
|
+
* const prisma = new PrismaClient();
|
|
17
|
+
*
|
|
18
|
+
* const agent = new Agent({
|
|
19
|
+
* name: "My Agent",
|
|
20
|
+
* ai: provider,
|
|
21
|
+
* persistence: {
|
|
22
|
+
* adapter: new PrismaAdapter({ prisma }),
|
|
23
|
+
* userId: "user_123",
|
|
24
|
+
* },
|
|
25
|
+
* });
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
class PrismaAdapter {
|
|
29
|
+
constructor(options) {
|
|
30
|
+
this.initialized = false;
|
|
31
|
+
this.prisma = options.prisma;
|
|
32
|
+
this.options = {
|
|
33
|
+
prisma: options.prisma,
|
|
34
|
+
tables: {
|
|
35
|
+
sessions: options.tables?.sessions || "agentSession",
|
|
36
|
+
messages: options.tables?.messages || "agentMessage",
|
|
37
|
+
},
|
|
38
|
+
fieldMappings: options.fieldMappings,
|
|
39
|
+
autoMigrate: options.autoMigrate ?? false,
|
|
40
|
+
};
|
|
41
|
+
// Initialize repositories
|
|
42
|
+
this.sessionRepository = new PrismaSessionRepository(this.prisma, this.options.tables.sessions, this.options.fieldMappings?.sessions);
|
|
43
|
+
this.messageRepository = new PrismaMessageRepository(this.prisma, this.options.tables.messages, this.options.fieldMappings?.messages);
|
|
44
|
+
// Auto-initialize if configured
|
|
45
|
+
if (this.options.autoMigrate) {
|
|
46
|
+
this.initialize().catch((error) => {
|
|
47
|
+
console.error("[PrismaAdapter] Auto-migration failed:", error);
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Initialize the adapter (check/create tables)
|
|
53
|
+
* Called automatically if autoMigrate is enabled
|
|
54
|
+
*/
|
|
55
|
+
async initialize() {
|
|
56
|
+
if (this.initialized)
|
|
57
|
+
return;
|
|
58
|
+
if (this.options.autoMigrate && this.prisma.$executeRaw) {
|
|
59
|
+
// Note: This is a simplified example. In production, use Prisma Migrate.
|
|
60
|
+
console.warn("[PrismaAdapter] autoMigrate is experimental. Use Prisma Migrate for production.");
|
|
61
|
+
// Table creation would go here, but it's database-specific
|
|
62
|
+
// Better to rely on Prisma Migrate
|
|
63
|
+
await Promise.resolve(); // Satisfy async requirement
|
|
64
|
+
}
|
|
65
|
+
this.initialized = true;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Disconnect from the database
|
|
69
|
+
*/
|
|
70
|
+
async disconnect() {
|
|
71
|
+
if (this.prisma.$disconnect) {
|
|
72
|
+
await this.prisma.$disconnect();
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
exports.PrismaAdapter = PrismaAdapter;
|
|
77
|
+
/**
|
|
78
|
+
* Prisma Session Repository
|
|
79
|
+
* Internal implementation - users should use PrismaAdapter instead
|
|
80
|
+
*/
|
|
81
|
+
class PrismaSessionRepository {
|
|
82
|
+
constructor(prismaClient, tableName, fieldMappings) {
|
|
83
|
+
this.prisma = prismaClient;
|
|
84
|
+
this.tableName = tableName;
|
|
85
|
+
this.fieldMap = fieldMappings || {};
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Map our standard field names to custom schema field names
|
|
89
|
+
*/
|
|
90
|
+
mapFields(data) {
|
|
91
|
+
const mapped = {};
|
|
92
|
+
for (const [key, value] of Object.entries(data)) {
|
|
93
|
+
const mappedKey = this.fieldMap[key] || key;
|
|
94
|
+
mapped[mappedKey] = value;
|
|
95
|
+
}
|
|
96
|
+
return mapped;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Map custom schema field names back to our standard field names
|
|
100
|
+
*/
|
|
101
|
+
unmapFields(data) {
|
|
102
|
+
if (!data)
|
|
103
|
+
return data;
|
|
104
|
+
const reverseMap = {};
|
|
105
|
+
for (const [standardKey, customKey] of Object.entries(this.fieldMap)) {
|
|
106
|
+
reverseMap[customKey] = standardKey;
|
|
107
|
+
}
|
|
108
|
+
const unmapped = {};
|
|
109
|
+
for (const [key, value] of Object.entries(data)) {
|
|
110
|
+
const unmappedKey = reverseMap[key] || key;
|
|
111
|
+
unmapped[unmappedKey] = value;
|
|
112
|
+
}
|
|
113
|
+
return unmapped;
|
|
114
|
+
}
|
|
115
|
+
getModel() {
|
|
116
|
+
return this.prisma[this.tableName];
|
|
117
|
+
}
|
|
118
|
+
async create(data) {
|
|
119
|
+
const mapped = this.mapFields(data);
|
|
120
|
+
const result = await this.getModel().create({
|
|
121
|
+
data: mapped,
|
|
122
|
+
});
|
|
123
|
+
return this.unmapFields(result);
|
|
124
|
+
}
|
|
125
|
+
async findById(id) {
|
|
126
|
+
const result = await this.getModel().findUnique({
|
|
127
|
+
where: { [this.fieldMap.id || "id"]: id },
|
|
128
|
+
});
|
|
129
|
+
return result ? this.unmapFields(result) : null;
|
|
130
|
+
}
|
|
131
|
+
async findActiveByUserId(userId) {
|
|
132
|
+
const result = await this.getModel().findFirst({
|
|
133
|
+
where: {
|
|
134
|
+
[this.fieldMap.userId || "userId"]: userId,
|
|
135
|
+
[this.fieldMap.status || "status"]: "active",
|
|
136
|
+
},
|
|
137
|
+
orderBy: {
|
|
138
|
+
[this.fieldMap.createdAt || "createdAt"]: "desc",
|
|
139
|
+
},
|
|
140
|
+
});
|
|
141
|
+
return result ? this.unmapFields(result) : null;
|
|
142
|
+
}
|
|
143
|
+
async findByUserId(userId, limit = 100) {
|
|
144
|
+
const results = await this.getModel().findMany({
|
|
145
|
+
where: {
|
|
146
|
+
[this.fieldMap.userId || "userId"]: userId,
|
|
147
|
+
},
|
|
148
|
+
orderBy: {
|
|
149
|
+
[this.fieldMap.createdAt || "createdAt"]: "desc",
|
|
150
|
+
},
|
|
151
|
+
take: limit,
|
|
152
|
+
});
|
|
153
|
+
return results.map((r) => this.unmapFields(r));
|
|
154
|
+
}
|
|
155
|
+
async update(id, data) {
|
|
156
|
+
const mapped = this.mapFields(data);
|
|
157
|
+
const result = await this.getModel().update({
|
|
158
|
+
where: { [this.fieldMap.id || "id"]: id },
|
|
159
|
+
data: {
|
|
160
|
+
...mapped,
|
|
161
|
+
[this.fieldMap.updatedAt || "updatedAt"]: new Date(),
|
|
162
|
+
},
|
|
163
|
+
});
|
|
164
|
+
return this.unmapFields(result);
|
|
165
|
+
}
|
|
166
|
+
async updateStatus(id, status, completedAt) {
|
|
167
|
+
const data = {
|
|
168
|
+
[this.fieldMap.status || "status"]: status,
|
|
169
|
+
[this.fieldMap.updatedAt || "updatedAt"]: new Date(),
|
|
170
|
+
};
|
|
171
|
+
if (completedAt) {
|
|
172
|
+
data[this.fieldMap.completedAt || "completedAt"] = completedAt;
|
|
173
|
+
}
|
|
174
|
+
const result = await this.getModel().update({
|
|
175
|
+
where: { [this.fieldMap.id || "id"]: id },
|
|
176
|
+
data,
|
|
177
|
+
});
|
|
178
|
+
return this.unmapFields(result);
|
|
179
|
+
}
|
|
180
|
+
async updateCollectedData(id, collectedData) {
|
|
181
|
+
const result = await this.getModel().update({
|
|
182
|
+
where: { [this.fieldMap.id || "id"]: id },
|
|
183
|
+
data: {
|
|
184
|
+
[this.fieldMap.collectedData || "collectedData"]: collectedData,
|
|
185
|
+
[this.fieldMap.updatedAt || "updatedAt"]: new Date(),
|
|
186
|
+
},
|
|
187
|
+
});
|
|
188
|
+
return this.unmapFields(result);
|
|
189
|
+
}
|
|
190
|
+
async updateRouteState(id, route, state) {
|
|
191
|
+
const data = {
|
|
192
|
+
[this.fieldMap.updatedAt || "updatedAt"]: new Date(),
|
|
193
|
+
};
|
|
194
|
+
if (route !== undefined) {
|
|
195
|
+
data[this.fieldMap.currentRoute || "currentRoute"] = route;
|
|
196
|
+
}
|
|
197
|
+
if (state !== undefined) {
|
|
198
|
+
data[this.fieldMap.currentState || "currentState"] = state;
|
|
199
|
+
}
|
|
200
|
+
const result = await this.getModel().update({
|
|
201
|
+
where: { [this.fieldMap.id || "id"]: id },
|
|
202
|
+
data,
|
|
203
|
+
});
|
|
204
|
+
return this.unmapFields(result);
|
|
205
|
+
}
|
|
206
|
+
async incrementMessageCount(id) {
|
|
207
|
+
const result = await this.getModel().update({
|
|
208
|
+
where: { [this.fieldMap.id || "id"]: id },
|
|
209
|
+
data: {
|
|
210
|
+
[this.fieldMap.messageCount || "messageCount"]: { increment: 1 },
|
|
211
|
+
[this.fieldMap.lastMessageAt || "lastMessageAt"]: new Date(),
|
|
212
|
+
[this.fieldMap.updatedAt || "updatedAt"]: new Date(),
|
|
213
|
+
},
|
|
214
|
+
});
|
|
215
|
+
return this.unmapFields(result);
|
|
216
|
+
}
|
|
217
|
+
async delete(id) {
|
|
218
|
+
try {
|
|
219
|
+
await this.getModel().delete({
|
|
220
|
+
where: { [this.fieldMap.id || "id"]: id },
|
|
221
|
+
});
|
|
222
|
+
return true;
|
|
223
|
+
}
|
|
224
|
+
catch {
|
|
225
|
+
return false;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Prisma Message Repository
|
|
231
|
+
* Internal implementation - users should use PrismaAdapter instead
|
|
232
|
+
*/
|
|
233
|
+
class PrismaMessageRepository {
|
|
234
|
+
constructor(prismaClient, tableName, fieldMappings) {
|
|
235
|
+
this.prisma = prismaClient;
|
|
236
|
+
this.tableName = tableName;
|
|
237
|
+
this.fieldMap = fieldMappings || {};
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Map our standard field names to custom schema field names
|
|
241
|
+
*/
|
|
242
|
+
mapFields(data) {
|
|
243
|
+
const mapped = {};
|
|
244
|
+
for (const [key, value] of Object.entries(data)) {
|
|
245
|
+
const mappedKey = this.fieldMap[key] || key;
|
|
246
|
+
mapped[mappedKey] = value;
|
|
247
|
+
}
|
|
248
|
+
return mapped;
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Map custom schema field names back to our standard field names
|
|
252
|
+
*/
|
|
253
|
+
unmapFields(data) {
|
|
254
|
+
if (!data)
|
|
255
|
+
return data;
|
|
256
|
+
const reverseMap = {};
|
|
257
|
+
for (const [standardKey, customKey] of Object.entries(this.fieldMap)) {
|
|
258
|
+
reverseMap[customKey] = standardKey;
|
|
259
|
+
}
|
|
260
|
+
const unmapped = {};
|
|
261
|
+
for (const [key, value] of Object.entries(data)) {
|
|
262
|
+
const unmappedKey = reverseMap[key] || key;
|
|
263
|
+
unmapped[unmappedKey] = value;
|
|
264
|
+
}
|
|
265
|
+
return unmapped;
|
|
266
|
+
}
|
|
267
|
+
getModel() {
|
|
268
|
+
return this.prisma[this.tableName];
|
|
269
|
+
}
|
|
270
|
+
async create(data) {
|
|
271
|
+
const mapped = this.mapFields(data);
|
|
272
|
+
const result = await this.getModel().create({
|
|
273
|
+
data: mapped,
|
|
274
|
+
});
|
|
275
|
+
return this.unmapFields(result);
|
|
276
|
+
}
|
|
277
|
+
async findById(id) {
|
|
278
|
+
const result = await this.getModel().findUnique({
|
|
279
|
+
where: { [this.fieldMap.id || "id"]: id },
|
|
280
|
+
});
|
|
281
|
+
return result ? this.unmapFields(result) : null;
|
|
282
|
+
}
|
|
283
|
+
async findBySessionId(sessionId, limit = 1000) {
|
|
284
|
+
const results = await this.getModel().findMany({
|
|
285
|
+
where: {
|
|
286
|
+
[this.fieldMap.sessionId || "sessionId"]: sessionId,
|
|
287
|
+
},
|
|
288
|
+
orderBy: {
|
|
289
|
+
[this.fieldMap.createdAt || "createdAt"]: "asc",
|
|
290
|
+
},
|
|
291
|
+
take: limit,
|
|
292
|
+
});
|
|
293
|
+
return results.map((r) => this.unmapFields(r));
|
|
294
|
+
}
|
|
295
|
+
async findByUserId(userId, limit = 100) {
|
|
296
|
+
const results = await this.getModel().findMany({
|
|
297
|
+
where: {
|
|
298
|
+
[this.fieldMap.userId || "userId"]: userId,
|
|
299
|
+
},
|
|
300
|
+
orderBy: {
|
|
301
|
+
[this.fieldMap.createdAt || "createdAt"]: "desc",
|
|
302
|
+
},
|
|
303
|
+
take: limit,
|
|
304
|
+
});
|
|
305
|
+
return results.map((r) => this.unmapFields(r));
|
|
306
|
+
}
|
|
307
|
+
async delete(id) {
|
|
308
|
+
try {
|
|
309
|
+
await this.getModel().delete({
|
|
310
|
+
where: { [this.fieldMap.id || "id"]: id },
|
|
311
|
+
});
|
|
312
|
+
return true;
|
|
313
|
+
}
|
|
314
|
+
catch {
|
|
315
|
+
return false;
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
async deleteBySessionId(sessionId) {
|
|
319
|
+
const result = await this.getModel().deleteMany({
|
|
320
|
+
where: {
|
|
321
|
+
[this.fieldMap.sessionId || "sessionId"]: sessionId,
|
|
322
|
+
},
|
|
323
|
+
});
|
|
324
|
+
return result.count || 0;
|
|
325
|
+
}
|
|
326
|
+
async deleteByUserId(userId) {
|
|
327
|
+
const result = await this.getModel().deleteMany({
|
|
328
|
+
where: {
|
|
329
|
+
[this.fieldMap.userId || "userId"]: userId,
|
|
330
|
+
},
|
|
331
|
+
});
|
|
332
|
+
return result.count || 0;
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
//# sourceMappingURL=PrismaAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrismaAdapter.js","sourceRoot":"","sources":["../../../src/adapters/PrismaAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EACV,YAAY,EACZ,aAAa,EACb,oBAAoB,GACrB,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Database adapters for persistence
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.PrismaAdapter = void 0;
|
|
7
|
+
var PrismaAdapter_1 = require("./PrismaAdapter");
|
|
8
|
+
Object.defineProperty(exports, "PrismaAdapter", { enumerable: true, get: function () { return PrismaAdapter_1.PrismaAdapter; } });
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,iDAAgD;AAAvC,8GAAA,aAAa,OAAA"}
|
package/dist/cjs/core/Agent.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ import type { RouteOptions } from "../types/route";
|
|
|
7
7
|
import { Route } from "./Route";
|
|
8
8
|
import { DomainRegistry } from "./DomainRegistry";
|
|
9
9
|
import { Observation } from "./Observation";
|
|
10
|
+
import { PersistenceManager } from "./PersistenceManager";
|
|
10
11
|
/**
|
|
11
12
|
* Main Agent class with generic context support
|
|
12
13
|
*/
|
|
@@ -19,6 +20,7 @@ export declare class Agent<TContext = unknown> {
|
|
|
19
20
|
private observations;
|
|
20
21
|
private domainRegistry;
|
|
21
22
|
private context;
|
|
23
|
+
private persistenceManager;
|
|
22
24
|
/**
|
|
23
25
|
* Dynamic domain property - populated via addDomain
|
|
24
26
|
*/
|
|
@@ -70,6 +72,31 @@ export declare class Agent<TContext = unknown> {
|
|
|
70
72
|
* @internal
|
|
71
73
|
*/
|
|
72
74
|
private getContext;
|
|
75
|
+
/**
|
|
76
|
+
* Generate a response based on history and context as a stream
|
|
77
|
+
*/
|
|
78
|
+
respondStream(params: {
|
|
79
|
+
history: Event[];
|
|
80
|
+
state?: StateRef;
|
|
81
|
+
contextOverride?: Partial<TContext>;
|
|
82
|
+
signal?: AbortSignal;
|
|
83
|
+
}): AsyncGenerator<{
|
|
84
|
+
delta: string;
|
|
85
|
+
accumulated: string;
|
|
86
|
+
done: boolean;
|
|
87
|
+
route?: {
|
|
88
|
+
id: string;
|
|
89
|
+
title: string;
|
|
90
|
+
} | null;
|
|
91
|
+
state?: {
|
|
92
|
+
id: string;
|
|
93
|
+
description?: string;
|
|
94
|
+
} | null;
|
|
95
|
+
toolCalls?: Array<{
|
|
96
|
+
toolName: string;
|
|
97
|
+
arguments: Record<string, unknown>;
|
|
98
|
+
}>;
|
|
99
|
+
}>;
|
|
73
100
|
/**
|
|
74
101
|
* Generate a response based on history and context
|
|
75
102
|
*/
|
|
@@ -117,6 +144,14 @@ export declare class Agent<TContext = unknown> {
|
|
|
117
144
|
* Get the domain registry
|
|
118
145
|
*/
|
|
119
146
|
getDomainRegistry(): DomainRegistry;
|
|
147
|
+
/**
|
|
148
|
+
* Get the persistence manager (if configured)
|
|
149
|
+
*/
|
|
150
|
+
getPersistenceManager(): PersistenceManager | undefined;
|
|
151
|
+
/**
|
|
152
|
+
* Check if persistence is enabled
|
|
153
|
+
*/
|
|
154
|
+
hasPersistence(): boolean;
|
|
120
155
|
/**
|
|
121
156
|
* Get allowed domains for a specific route
|
|
122
157
|
* @param routeId - Route ID to check
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../../src/core/Agent.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,IAAI,EACJ,SAAS,EAET,UAAU,EACX,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
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
|
@@ -8,6 +8,7 @@ const Route_1 = require("./Route");
|
|
|
8
8
|
const DomainRegistry_1 = require("./DomainRegistry");
|
|
9
9
|
const PromptBuilder_1 = require("./PromptBuilder");
|
|
10
10
|
const Observation_1 = require("./Observation");
|
|
11
|
+
const PersistenceManager_1 = require("./PersistenceManager");
|
|
11
12
|
/**
|
|
12
13
|
* Main Agent class with generic context support
|
|
13
14
|
*/
|
|
@@ -34,6 +35,16 @@ class Agent {
|
|
|
34
35
|
}
|
|
35
36
|
// Initialize context if provided
|
|
36
37
|
this.context = options.context;
|
|
38
|
+
// Initialize persistence if configured
|
|
39
|
+
if (options.persistence) {
|
|
40
|
+
this.persistenceManager = new PersistenceManager_1.PersistenceManager(options.persistence);
|
|
41
|
+
// Initialize the adapter if it has an initialize method
|
|
42
|
+
if (options.persistence.adapter.initialize) {
|
|
43
|
+
options.persistence.adapter.initialize().catch((error) => {
|
|
44
|
+
console.error("[Agent] Persistence adapter initialization failed:", error);
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
37
48
|
// Initialize from options
|
|
38
49
|
if (options.terms) {
|
|
39
50
|
this.terms = [...options.terms];
|
|
@@ -171,6 +182,136 @@ class Agent {
|
|
|
171
182
|
// Otherwise return the stored context
|
|
172
183
|
return this.context;
|
|
173
184
|
}
|
|
185
|
+
/**
|
|
186
|
+
* Generate a response based on history and context as a stream
|
|
187
|
+
*/
|
|
188
|
+
async *respondStream(params) {
|
|
189
|
+
const { history, contextOverride, signal } = params;
|
|
190
|
+
// Get current context (may fetch from provider)
|
|
191
|
+
let currentContext = await this.getContext();
|
|
192
|
+
// Call beforeRespond hook if configured
|
|
193
|
+
if (this.options.hooks?.beforeRespond && currentContext !== undefined) {
|
|
194
|
+
currentContext = await this.options.hooks.beforeRespond(currentContext);
|
|
195
|
+
// Update stored context with the result from beforeRespond
|
|
196
|
+
this.context = currentContext;
|
|
197
|
+
}
|
|
198
|
+
// Merge context with override
|
|
199
|
+
const effectiveContext = {
|
|
200
|
+
...currentContext,
|
|
201
|
+
...contextOverride,
|
|
202
|
+
};
|
|
203
|
+
// Build prompt (same as respond method)
|
|
204
|
+
const promptBuilder = new PromptBuilder_1.PromptBuilder();
|
|
205
|
+
// Add agent identity
|
|
206
|
+
if (this.options.description) {
|
|
207
|
+
promptBuilder.addAgentIdentity({
|
|
208
|
+
name: this.options.name,
|
|
209
|
+
description: this.options.description,
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
// Add interaction history
|
|
213
|
+
promptBuilder.addInteractionHistoryForMessageGeneration(history);
|
|
214
|
+
// Add glossary
|
|
215
|
+
if (this.terms.length > 0) {
|
|
216
|
+
promptBuilder.addGlossary(this.terms);
|
|
217
|
+
}
|
|
218
|
+
// Add guidelines (convert to GuidelineMatch format, filter enabled only)
|
|
219
|
+
const enabledGuidelines = this.guidelines.filter((g) => g.enabled !== false);
|
|
220
|
+
if (enabledGuidelines.length > 0) {
|
|
221
|
+
const guidelineMatches = enabledGuidelines.map((g) => ({
|
|
222
|
+
guideline: g,
|
|
223
|
+
}));
|
|
224
|
+
promptBuilder.addGuidelinesForMessageGeneration(guidelineMatches);
|
|
225
|
+
}
|
|
226
|
+
// Add capabilities
|
|
227
|
+
if (this.capabilities.length > 0) {
|
|
228
|
+
promptBuilder.addCapabilitiesForMessageGeneration(this.capabilities);
|
|
229
|
+
}
|
|
230
|
+
// Add observations
|
|
231
|
+
if (this.observations.length > 0) {
|
|
232
|
+
const observationsWithRoutes = this.observations
|
|
233
|
+
.map((obs) => ({
|
|
234
|
+
description: obs.description,
|
|
235
|
+
routes: obs.getRoutes().map((routeRef) => {
|
|
236
|
+
const route = this.routes.find((r) => r.id === routeRef.id);
|
|
237
|
+
return { title: route?.title || routeRef.id };
|
|
238
|
+
}),
|
|
239
|
+
}))
|
|
240
|
+
.filter((obs) => obs.routes.length > 0);
|
|
241
|
+
if (observationsWithRoutes.length > 0) {
|
|
242
|
+
promptBuilder.addObservations(observationsWithRoutes);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
// Add active routes with their rules and prohibitions
|
|
246
|
+
if (this.routes.length > 0) {
|
|
247
|
+
promptBuilder.addActiveRoutes(this.routes.map((r) => ({
|
|
248
|
+
title: r.title,
|
|
249
|
+
description: r.description,
|
|
250
|
+
conditions: r.conditions,
|
|
251
|
+
domains: r.getDomains(),
|
|
252
|
+
rules: r.getRules(),
|
|
253
|
+
prohibitions: r.getProhibitions(),
|
|
254
|
+
})));
|
|
255
|
+
}
|
|
256
|
+
// Add domains (tools) information if any domains are registered
|
|
257
|
+
const allDomains = this.domainRegistry.all();
|
|
258
|
+
if (Object.keys(allDomains).length > 0) {
|
|
259
|
+
promptBuilder.addDomains(allDomains);
|
|
260
|
+
}
|
|
261
|
+
// Add JSON response schema instructions
|
|
262
|
+
promptBuilder.addJsonResponseSchema();
|
|
263
|
+
// Build final prompt
|
|
264
|
+
const prompt = promptBuilder.build();
|
|
265
|
+
// Generate message stream using AI provider with JSON mode enabled
|
|
266
|
+
const stream = this.options.ai.generateMessageStream({
|
|
267
|
+
prompt,
|
|
268
|
+
history,
|
|
269
|
+
context: effectiveContext,
|
|
270
|
+
signal,
|
|
271
|
+
parameters: {
|
|
272
|
+
jsonMode: true,
|
|
273
|
+
},
|
|
274
|
+
});
|
|
275
|
+
// Stream chunks to caller
|
|
276
|
+
for await (const chunk of stream) {
|
|
277
|
+
// Extract route and state from structured response on final chunk
|
|
278
|
+
let route = null;
|
|
279
|
+
let state = null;
|
|
280
|
+
let toolCalls;
|
|
281
|
+
if (chunk.done && chunk.structured) {
|
|
282
|
+
// Find route by title
|
|
283
|
+
if (chunk.structured.route) {
|
|
284
|
+
const foundRoute = this.routes.find((r) => r.title === chunk.structured?.route);
|
|
285
|
+
if (foundRoute) {
|
|
286
|
+
route = {
|
|
287
|
+
id: foundRoute.id,
|
|
288
|
+
title: foundRoute.title,
|
|
289
|
+
};
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
// Create state reference if provided
|
|
293
|
+
if (chunk.structured.state) {
|
|
294
|
+
state = {
|
|
295
|
+
id: "dynamic_state",
|
|
296
|
+
description: chunk.structured.state,
|
|
297
|
+
};
|
|
298
|
+
}
|
|
299
|
+
// Extract tool calls
|
|
300
|
+
if (chunk.structured.toolCalls &&
|
|
301
|
+
chunk.structured.toolCalls.length > 0) {
|
|
302
|
+
toolCalls = chunk.structured.toolCalls;
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
yield {
|
|
306
|
+
delta: chunk.delta,
|
|
307
|
+
accumulated: chunk.accumulated,
|
|
308
|
+
done: chunk.done,
|
|
309
|
+
route: route || undefined,
|
|
310
|
+
state: state || undefined,
|
|
311
|
+
toolCalls,
|
|
312
|
+
};
|
|
313
|
+
}
|
|
314
|
+
}
|
|
174
315
|
/**
|
|
175
316
|
* Generate a response based on history and context
|
|
176
317
|
*/
|
|
@@ -335,6 +476,18 @@ class Agent {
|
|
|
335
476
|
getDomainRegistry() {
|
|
336
477
|
return this.domainRegistry;
|
|
337
478
|
}
|
|
479
|
+
/**
|
|
480
|
+
* Get the persistence manager (if configured)
|
|
481
|
+
*/
|
|
482
|
+
getPersistenceManager() {
|
|
483
|
+
return this.persistenceManager;
|
|
484
|
+
}
|
|
485
|
+
/**
|
|
486
|
+
* Check if persistence is enabled
|
|
487
|
+
*/
|
|
488
|
+
hasPersistence() {
|
|
489
|
+
return this.persistenceManager !== undefined;
|
|
490
|
+
}
|
|
338
491
|
/**
|
|
339
492
|
* Get allowed domains for a specific route
|
|
340
493
|
* @param routeId - Route ID to check
|