@falai/agent 0.3.12 → 0.3.21

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 (69) hide show
  1. package/README.md +74 -0
  2. package/dist/adapters/MemoryAdapter.d.ts +47 -0
  3. package/dist/adapters/MemoryAdapter.d.ts.map +1 -0
  4. package/dist/adapters/MemoryAdapter.js +178 -0
  5. package/dist/adapters/MemoryAdapter.js.map +1 -0
  6. package/dist/adapters/MongoAdapter.d.ts +97 -0
  7. package/dist/adapters/MongoAdapter.d.ts.map +1 -0
  8. package/dist/adapters/MongoAdapter.js +163 -0
  9. package/dist/adapters/MongoAdapter.js.map +1 -0
  10. package/dist/adapters/PostgreSQLAdapter.d.ts +71 -0
  11. package/dist/adapters/PostgreSQLAdapter.d.ts.map +1 -0
  12. package/dist/adapters/PostgreSQLAdapter.js +256 -0
  13. package/dist/adapters/PostgreSQLAdapter.js.map +1 -0
  14. package/dist/adapters/RedisAdapter.d.ts +71 -0
  15. package/dist/adapters/RedisAdapter.d.ts.map +1 -0
  16. package/dist/adapters/RedisAdapter.js +226 -0
  17. package/dist/adapters/RedisAdapter.js.map +1 -0
  18. package/dist/adapters/SQLiteAdapter.d.ts +69 -0
  19. package/dist/adapters/SQLiteAdapter.d.ts.map +1 -0
  20. package/dist/adapters/SQLiteAdapter.js +307 -0
  21. package/dist/adapters/SQLiteAdapter.js.map +1 -0
  22. package/dist/adapters/index.d.ts +9 -0
  23. package/dist/adapters/index.d.ts.map +1 -1
  24. package/dist/adapters/index.js +5 -0
  25. package/dist/adapters/index.js.map +1 -1
  26. package/dist/cjs/adapters/MemoryAdapter.d.ts +47 -0
  27. package/dist/cjs/adapters/MemoryAdapter.d.ts.map +1 -0
  28. package/dist/cjs/adapters/MemoryAdapter.js +182 -0
  29. package/dist/cjs/adapters/MemoryAdapter.js.map +1 -0
  30. package/dist/cjs/adapters/MongoAdapter.d.ts +97 -0
  31. package/dist/cjs/adapters/MongoAdapter.d.ts.map +1 -0
  32. package/dist/cjs/adapters/MongoAdapter.js +167 -0
  33. package/dist/cjs/adapters/MongoAdapter.js.map +1 -0
  34. package/dist/cjs/adapters/PostgreSQLAdapter.d.ts +71 -0
  35. package/dist/cjs/adapters/PostgreSQLAdapter.d.ts.map +1 -0
  36. package/dist/cjs/adapters/PostgreSQLAdapter.js +260 -0
  37. package/dist/cjs/adapters/PostgreSQLAdapter.js.map +1 -0
  38. package/dist/cjs/adapters/RedisAdapter.d.ts +71 -0
  39. package/dist/cjs/adapters/RedisAdapter.d.ts.map +1 -0
  40. package/dist/cjs/adapters/RedisAdapter.js +230 -0
  41. package/dist/cjs/adapters/RedisAdapter.js.map +1 -0
  42. package/dist/cjs/adapters/SQLiteAdapter.d.ts +69 -0
  43. package/dist/cjs/adapters/SQLiteAdapter.d.ts.map +1 -0
  44. package/dist/cjs/adapters/SQLiteAdapter.js +311 -0
  45. package/dist/cjs/adapters/SQLiteAdapter.js.map +1 -0
  46. package/dist/cjs/adapters/index.d.ts +9 -0
  47. package/dist/cjs/adapters/index.d.ts.map +1 -1
  48. package/dist/cjs/adapters/index.js +11 -1
  49. package/dist/cjs/adapters/index.js.map +1 -1
  50. package/dist/cjs/index.d.ts +9 -0
  51. package/dist/cjs/index.d.ts.map +1 -1
  52. package/dist/cjs/index.js +11 -1
  53. package/dist/cjs/index.js.map +1 -1
  54. package/dist/index.d.ts +9 -0
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +5 -0
  57. package/dist/index.js.map +1 -1
  58. package/docs/ADAPTERS.md +151 -0
  59. package/docs/API_REFERENCE.md +448 -0
  60. package/docs/PERSISTENCE.md +176 -6
  61. package/examples/redis-persistence.ts +89 -0
  62. package/package.json +26 -2
  63. package/src/adapters/MemoryAdapter.ts +245 -0
  64. package/src/adapters/MongoAdapter.ts +295 -0
  65. package/src/adapters/PostgreSQLAdapter.ts +417 -0
  66. package/src/adapters/RedisAdapter.ts +365 -0
  67. package/src/adapters/SQLiteAdapter.ts +449 -0
  68. package/src/adapters/index.ts +27 -0
  69. package/src/index.ts +22 -0
@@ -0,0 +1,311 @@
1
+ "use strict";
2
+ /**
3
+ * SQLite adapter for persistence
4
+ * Lightweight, file-based database perfect for local development
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.SQLiteAdapter = void 0;
8
+ /**
9
+ * SQLite Adapter - Provider-style API for SQLite persistence
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * import Database from 'better-sqlite3';
14
+ * import { Agent, SQLiteAdapter } from '@falai/agent';
15
+ *
16
+ * const db = new Database('agent.db');
17
+ *
18
+ * const agent = new Agent({
19
+ * name: "My Agent",
20
+ * ai: provider,
21
+ * persistence: {
22
+ * adapter: new SQLiteAdapter({ db }),
23
+ * userId: "user_123",
24
+ * },
25
+ * });
26
+ * ```
27
+ */
28
+ class SQLiteAdapter {
29
+ constructor(options) {
30
+ this.db = options.db;
31
+ const sessionTable = options.tables?.sessions || "agent_sessions";
32
+ const messageTable = options.tables?.messages || "agent_messages";
33
+ this.sessionRepository = new SQLiteSessionRepository(this.db, sessionTable);
34
+ this.messageRepository = new SQLiteMessageRepository(this.db, messageTable);
35
+ }
36
+ async initialize() {
37
+ const sessionTable = "agent_sessions";
38
+ const messageTable = "agent_messages";
39
+ // Create sessions table
40
+ this.db.exec(`
41
+ CREATE TABLE IF NOT EXISTS ${sessionTable} (
42
+ id TEXT PRIMARY KEY,
43
+ user_id TEXT,
44
+ agent_name TEXT,
45
+ status TEXT DEFAULT 'active',
46
+ current_route TEXT,
47
+ current_state TEXT,
48
+ collected_data TEXT,
49
+ message_count INTEGER DEFAULT 0,
50
+ last_message_at TEXT,
51
+ completed_at TEXT,
52
+ created_at TEXT NOT NULL,
53
+ updated_at TEXT NOT NULL
54
+ )
55
+ `);
56
+ // Create indexes for sessions
57
+ this.db.exec(`
58
+ CREATE INDEX IF NOT EXISTS idx_sessions_user_id ON ${sessionTable}(user_id);
59
+ CREATE INDEX IF NOT EXISTS idx_sessions_status ON ${sessionTable}(status);
60
+ `);
61
+ // Create messages table
62
+ this.db.exec(`
63
+ CREATE TABLE IF NOT EXISTS ${messageTable} (
64
+ id TEXT PRIMARY KEY,
65
+ session_id TEXT NOT NULL,
66
+ user_id TEXT,
67
+ role TEXT NOT NULL,
68
+ content TEXT NOT NULL,
69
+ route TEXT,
70
+ state TEXT,
71
+ tool_calls TEXT,
72
+ event TEXT,
73
+ created_at TEXT NOT NULL,
74
+ FOREIGN KEY (session_id) REFERENCES ${sessionTable}(id) ON DELETE CASCADE
75
+ )
76
+ `);
77
+ // Create indexes for messages
78
+ this.db.exec(`
79
+ CREATE INDEX IF NOT EXISTS idx_messages_session_id ON ${messageTable}(session_id);
80
+ CREATE INDEX IF NOT EXISTS idx_messages_user_id ON ${messageTable}(user_id);
81
+ `);
82
+ await Promise.resolve();
83
+ }
84
+ async disconnect() {
85
+ this.db.close();
86
+ await Promise.resolve();
87
+ }
88
+ }
89
+ exports.SQLiteAdapter = SQLiteAdapter;
90
+ /**
91
+ * SQLite Session Repository
92
+ */
93
+ class SQLiteSessionRepository {
94
+ constructor(db, tableName) {
95
+ this.db = db;
96
+ this.tableName = tableName;
97
+ }
98
+ create(data) {
99
+ const id = `session_${Date.now()}_${Math.random().toString(36).slice(2)}`;
100
+ const now = new Date();
101
+ const session = {
102
+ ...data,
103
+ id,
104
+ status: data.status || "active",
105
+ messageCount: data.messageCount || 0,
106
+ createdAt: now,
107
+ updatedAt: now,
108
+ };
109
+ const stmt = this.db.prepare(`
110
+ INSERT INTO ${this.tableName}
111
+ (id, user_id, agent_name, status, collected_data, message_count, created_at, updated_at)
112
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?)
113
+ `);
114
+ stmt.run(id, data.userId || null, data.agentName || null, session.status, JSON.stringify(data.collectedData || {}), session.messageCount, now.toISOString(), now.toISOString());
115
+ return Promise.resolve(session);
116
+ }
117
+ findById(id) {
118
+ const stmt = this.db.prepare(`SELECT * FROM ${this.tableName} WHERE id = ?`);
119
+ const row = stmt.get(id);
120
+ return Promise.resolve(row ? this.deserializeSession(row) : null);
121
+ }
122
+ findActiveByUserId(userId) {
123
+ const stmt = this.db.prepare(`SELECT * FROM ${this.tableName}
124
+ WHERE user_id = ? AND status = 'active'
125
+ ORDER BY created_at DESC
126
+ LIMIT 1`);
127
+ const row = stmt.get(userId);
128
+ return Promise.resolve(row ? this.deserializeSession(row) : null);
129
+ }
130
+ findByUserId(userId, limit = 100) {
131
+ const stmt = this.db.prepare(`SELECT * FROM ${this.tableName}
132
+ WHERE user_id = ?
133
+ ORDER BY created_at DESC
134
+ LIMIT ?`);
135
+ const rows = stmt.all(userId, limit);
136
+ return Promise.resolve(rows.map((row) => this.deserializeSession(row)));
137
+ }
138
+ async update(id, data) {
139
+ const fields = [];
140
+ const values = [];
141
+ if (data.status !== undefined) {
142
+ fields.push("status = ?");
143
+ values.push(data.status);
144
+ }
145
+ if (data.collectedData !== undefined) {
146
+ fields.push("collected_data = ?");
147
+ values.push(JSON.stringify(data.collectedData));
148
+ }
149
+ if (data.currentRoute !== undefined) {
150
+ fields.push("current_route = ?");
151
+ values.push(data.currentRoute);
152
+ }
153
+ if (data.currentState !== undefined) {
154
+ fields.push("current_state = ?");
155
+ values.push(data.currentState);
156
+ }
157
+ if (data.messageCount !== undefined) {
158
+ fields.push("message_count = ?");
159
+ values.push(data.messageCount);
160
+ }
161
+ if (data.lastMessageAt !== undefined) {
162
+ fields.push("last_message_at = ?");
163
+ values.push(data.lastMessageAt.toISOString());
164
+ }
165
+ if (data.completedAt !== undefined) {
166
+ fields.push("completed_at = ?");
167
+ values.push(data.completedAt.toISOString());
168
+ }
169
+ fields.push("updated_at = ?");
170
+ values.push(new Date().toISOString());
171
+ values.push(id);
172
+ const stmt = this.db.prepare(`UPDATE ${this.tableName}
173
+ SET ${fields.join(", ")}
174
+ WHERE id = ?`);
175
+ const result = stmt.run(...values);
176
+ if (result.changes === 0)
177
+ return null;
178
+ return await this.findById(id);
179
+ }
180
+ async updateStatus(id, status, completedAt) {
181
+ return await this.update(id, { status, completedAt });
182
+ }
183
+ async updateCollectedData(id, collectedData) {
184
+ return await this.update(id, { collectedData });
185
+ }
186
+ async updateRouteState(id, route, state) {
187
+ return await this.update(id, {
188
+ currentRoute: route,
189
+ currentState: state,
190
+ });
191
+ }
192
+ async incrementMessageCount(id) {
193
+ const stmt = this.db.prepare(`UPDATE ${this.tableName}
194
+ SET message_count = message_count + 1,
195
+ last_message_at = ?,
196
+ updated_at = ?
197
+ WHERE id = ?`);
198
+ const now = new Date();
199
+ const result = stmt.run(now.toISOString(), now.toISOString(), id);
200
+ if (result.changes === 0)
201
+ return null;
202
+ return await this.findById(id);
203
+ }
204
+ delete(id) {
205
+ const stmt = this.db.prepare(`DELETE FROM ${this.tableName} WHERE id = ?`);
206
+ const result = stmt.run(id);
207
+ return Promise.resolve(result.changes > 0);
208
+ }
209
+ deserializeSession(row) {
210
+ return {
211
+ id: row.id,
212
+ userId: row.user_id || undefined,
213
+ agentName: row.agent_name || undefined,
214
+ status: row.status,
215
+ currentRoute: row.current_route || undefined,
216
+ currentState: row.current_state || undefined,
217
+ collectedData: row.collected_data
218
+ ? JSON.parse(row.collected_data)
219
+ : undefined,
220
+ messageCount: row.message_count || 0,
221
+ lastMessageAt: row.last_message_at
222
+ ? new Date(row.last_message_at)
223
+ : undefined,
224
+ completedAt: row.completed_at
225
+ ? new Date(row.completed_at)
226
+ : undefined,
227
+ createdAt: new Date(row.created_at),
228
+ updatedAt: new Date(row.updated_at),
229
+ };
230
+ }
231
+ }
232
+ /**
233
+ * SQLite Message Repository
234
+ */
235
+ class SQLiteMessageRepository {
236
+ constructor(db, tableName) {
237
+ this.db = db;
238
+ this.tableName = tableName;
239
+ }
240
+ create(data) {
241
+ const id = `msg_${Date.now()}_${Math.random().toString(36).slice(2)}`;
242
+ const now = new Date();
243
+ const message = {
244
+ ...data,
245
+ id,
246
+ createdAt: now,
247
+ };
248
+ const stmt = this.db.prepare(`
249
+ INSERT INTO ${this.tableName}
250
+ (id, session_id, user_id, role, content, route, state, tool_calls, event, created_at)
251
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
252
+ `);
253
+ stmt.run(id, data.sessionId, data.userId || null, data.role, data.content, data.route || null, data.state || null, JSON.stringify(data.toolCalls || null), JSON.stringify(data.event || null), now.toISOString());
254
+ return Promise.resolve(message);
255
+ }
256
+ findById(id) {
257
+ const stmt = this.db.prepare(`SELECT * FROM ${this.tableName} WHERE id = ?`);
258
+ const row = stmt.get(id);
259
+ return Promise.resolve(row ? this.deserializeMessage(row) : null);
260
+ }
261
+ findBySessionId(sessionId, limit = 1000) {
262
+ const stmt = this.db.prepare(`SELECT * FROM ${this.tableName}
263
+ WHERE session_id = ?
264
+ ORDER BY created_at ASC
265
+ LIMIT ?`);
266
+ const rows = stmt.all(sessionId, limit);
267
+ return Promise.resolve(rows.map((row) => this.deserializeMessage(row)));
268
+ }
269
+ findByUserId(userId, limit = 100) {
270
+ const stmt = this.db.prepare(`SELECT * FROM ${this.tableName}
271
+ WHERE user_id = ?
272
+ ORDER BY created_at DESC
273
+ LIMIT ?`);
274
+ const rows = stmt.all(userId, limit);
275
+ return Promise.resolve(rows.map((row) => this.deserializeMessage(row)));
276
+ }
277
+ delete(id) {
278
+ const stmt = this.db.prepare(`DELETE FROM ${this.tableName} WHERE id = ?`);
279
+ const result = stmt.run(id);
280
+ return Promise.resolve(result.changes > 0);
281
+ }
282
+ deleteBySessionId(sessionId) {
283
+ const stmt = this.db.prepare(`DELETE FROM ${this.tableName} WHERE session_id = ?`);
284
+ const result = stmt.run(sessionId);
285
+ return Promise.resolve(result.changes);
286
+ }
287
+ deleteByUserId(userId) {
288
+ const stmt = this.db.prepare(`DELETE FROM ${this.tableName} WHERE user_id = ?`);
289
+ const result = stmt.run(userId);
290
+ return Promise.resolve(result.changes);
291
+ }
292
+ deserializeMessage(row) {
293
+ return {
294
+ id: row.id,
295
+ sessionId: row.session_id,
296
+ userId: row.user_id || undefined,
297
+ role: row.role,
298
+ content: row.content,
299
+ route: row.route || undefined,
300
+ state: row.state || undefined,
301
+ toolCalls: row.tool_calls
302
+ ? JSON.parse(row.tool_calls)
303
+ : undefined,
304
+ event: row.event
305
+ ? JSON.parse(row.event)
306
+ : undefined,
307
+ createdAt: new Date(row.created_at),
308
+ };
309
+ }
310
+ }
311
+ //# sourceMappingURL=SQLiteAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SQLiteAdapter.js","sourceRoot":"","sources":["../../../src/adapters/SQLiteAdapter.ts"],"names":[],"mappings":"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"}
@@ -3,4 +3,13 @@
3
3
  */
4
4
  export { PrismaAdapter } from "./PrismaAdapter";
5
5
  export type { PrismaClient, FieldMappings, PrismaAdapterOptions, } from "./PrismaAdapter";
6
+ export { RedisAdapter } from "./RedisAdapter";
7
+ export type { RedisClient, RedisAdapterOptions } from "./RedisAdapter";
8
+ export { MongoAdapter } from "./MongoAdapter";
9
+ export type { MongoClient, MongoDatabase, MongoCollection, MongoAdapterOptions, } from "./MongoAdapter";
10
+ export { PostgreSQLAdapter } from "./PostgreSQLAdapter";
11
+ export type { PgClient, PgQueryResult, PostgreSQLAdapterOptions, } from "./PostgreSQLAdapter";
12
+ export { SQLiteAdapter } from "./SQLiteAdapter";
13
+ export type { SqliteDatabase, SqliteStatement, SQLiteAdapterOptions, } from "./SQLiteAdapter";
14
+ export { MemoryAdapter } from "./MemoryAdapter";
6
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +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"}
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;AAEzB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EACV,WAAW,EACX,aAAa,EACb,eAAe,EACf,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EACV,QAAQ,EACR,aAAa,EACb,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EACV,cAAc,EACd,eAAe,EACf,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
@@ -3,7 +3,17 @@
3
3
  * Database adapters for persistence
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.PrismaAdapter = void 0;
6
+ exports.MemoryAdapter = exports.SQLiteAdapter = exports.PostgreSQLAdapter = exports.MongoAdapter = exports.RedisAdapter = exports.PrismaAdapter = void 0;
7
7
  var PrismaAdapter_1 = require("./PrismaAdapter");
8
8
  Object.defineProperty(exports, "PrismaAdapter", { enumerable: true, get: function () { return PrismaAdapter_1.PrismaAdapter; } });
9
+ var RedisAdapter_1 = require("./RedisAdapter");
10
+ Object.defineProperty(exports, "RedisAdapter", { enumerable: true, get: function () { return RedisAdapter_1.RedisAdapter; } });
11
+ var MongoAdapter_1 = require("./MongoAdapter");
12
+ Object.defineProperty(exports, "MongoAdapter", { enumerable: true, get: function () { return MongoAdapter_1.MongoAdapter; } });
13
+ var PostgreSQLAdapter_1 = require("./PostgreSQLAdapter");
14
+ Object.defineProperty(exports, "PostgreSQLAdapter", { enumerable: true, get: function () { return PostgreSQLAdapter_1.PostgreSQLAdapter; } });
15
+ var SQLiteAdapter_1 = require("./SQLiteAdapter");
16
+ Object.defineProperty(exports, "SQLiteAdapter", { enumerable: true, get: function () { return SQLiteAdapter_1.SQLiteAdapter; } });
17
+ var MemoryAdapter_1 = require("./MemoryAdapter");
18
+ Object.defineProperty(exports, "MemoryAdapter", { enumerable: true, get: function () { return MemoryAdapter_1.MemoryAdapter; } });
9
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,iDAAgD;AAAvC,8GAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AAOtB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AAGrB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AAQrB,yDAAwD;AAA/C,sHAAA,iBAAiB,OAAA;AAO1B,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AAOtB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA"}
@@ -25,6 +25,15 @@ export { AnthropicProvider } from "./providers/AnthropicProvider";
25
25
  export type { AnthropicProviderOptions } from "./providers/AnthropicProvider";
26
26
  export { PrismaAdapter } from "./adapters/PrismaAdapter";
27
27
  export type { PrismaClient, FieldMappings, PrismaAdapterOptions, } from "./adapters/PrismaAdapter";
28
+ export { RedisAdapter } from "./adapters/RedisAdapter";
29
+ export type { RedisClient, RedisAdapterOptions } from "./adapters/RedisAdapter";
30
+ export { MongoAdapter } from "./adapters/MongoAdapter";
31
+ export type { MongoClient, MongoDatabase, MongoCollection, MongoAdapterOptions, } from "./adapters/MongoAdapter";
32
+ export { PostgreSQLAdapter } from "./adapters/PostgreSQLAdapter";
33
+ export type { PgClient, PgQueryResult, PostgreSQLAdapterOptions, } from "./adapters/PostgreSQLAdapter";
34
+ export { SQLiteAdapter } from "./adapters/SQLiteAdapter";
35
+ export type { SqliteDatabase, SqliteStatement, SQLiteAdapterOptions, } from "./adapters/SQLiteAdapter";
36
+ export { MemoryAdapter } from "./adapters/MemoryAdapter";
28
37
  export { END_ROUTE } from "./constants";
29
38
  export { generateRouteId, generateStateId, generateObservationId, generateToolId, } from "./utils/id";
30
39
  export type { AgentOptions, Term, Guideline, Capability, GuidelineMatch, ContextLifecycleHooks, ContextProvider, } from "./types/agent";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG/D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,YAAY,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,YAAY,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,YAAY,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,YAAY,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAG9E,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,YAAY,EACV,YAAY,EACZ,aAAa,EACb,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,OAAO,EACL,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,cAAc,GACf,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,YAAY,EACZ,IAAI,EACJ,SAAS,EACT,UAAU,EACV,cAAc,EACd,qBAAqB,EACrB,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,YAAY,EACV,KAAK,EACL,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,WAAW,GACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEzD,YAAY,EACV,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,WAAW,EACX,UAAU,EACV,WAAW,EACX,OAAO,GACR,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,UAAU,EACV,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,aAAa,EACb,eAAe,EACf,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,YAAY,EACV,WAAW,IAAI,YAAY,EAC3B,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACV,WAAW,EACX,WAAW,EACX,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/cjs/index.js CHANGED
@@ -5,7 +5,7 @@
5
5
  * A strongly-typed, modular agent framework with route DSL and AI provider strategy
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.SectionStatus = exports.EventSource = exports.EventKind = exports.CompositionMode = exports.generateToolId = exports.generateObservationId = exports.generateStateId = exports.generateRouteId = exports.END_ROUTE = exports.PrismaAdapter = exports.AnthropicProvider = exports.OpenRouterProvider = exports.OpenAIProvider = exports.GeminiProvider = exports.PersistenceManager = exports.BuiltInSection = exports.PromptBuilder = exports.createToolEvent = exports.createMessageEvent = exports.adaptEvent = exports.DomainRegistry = exports.defineTool = exports.Observation = exports.Transition = exports.State = exports.Route = exports.Agent = void 0;
8
+ exports.SectionStatus = exports.EventSource = exports.EventKind = exports.CompositionMode = exports.generateToolId = exports.generateObservationId = exports.generateStateId = exports.generateRouteId = exports.END_ROUTE = exports.MemoryAdapter = exports.SQLiteAdapter = exports.PostgreSQLAdapter = exports.MongoAdapter = exports.RedisAdapter = exports.PrismaAdapter = exports.AnthropicProvider = exports.OpenRouterProvider = exports.OpenAIProvider = exports.GeminiProvider = exports.PersistenceManager = exports.BuiltInSection = exports.PromptBuilder = exports.createToolEvent = exports.createMessageEvent = exports.adaptEvent = exports.DomainRegistry = exports.defineTool = exports.Observation = exports.Transition = exports.State = exports.Route = exports.Agent = void 0;
9
9
  // Core
10
10
  var Agent_1 = require("./core/Agent");
11
11
  Object.defineProperty(exports, "Agent", { enumerable: true, get: function () { return Agent_1.Agent; } });
@@ -43,6 +43,16 @@ Object.defineProperty(exports, "AnthropicProvider", { enumerable: true, get: fun
43
43
  // Adapters
44
44
  var PrismaAdapter_1 = require("./adapters/PrismaAdapter");
45
45
  Object.defineProperty(exports, "PrismaAdapter", { enumerable: true, get: function () { return PrismaAdapter_1.PrismaAdapter; } });
46
+ var RedisAdapter_1 = require("./adapters/RedisAdapter");
47
+ Object.defineProperty(exports, "RedisAdapter", { enumerable: true, get: function () { return RedisAdapter_1.RedisAdapter; } });
48
+ var MongoAdapter_1 = require("./adapters/MongoAdapter");
49
+ Object.defineProperty(exports, "MongoAdapter", { enumerable: true, get: function () { return MongoAdapter_1.MongoAdapter; } });
50
+ var PostgreSQLAdapter_1 = require("./adapters/PostgreSQLAdapter");
51
+ Object.defineProperty(exports, "PostgreSQLAdapter", { enumerable: true, get: function () { return PostgreSQLAdapter_1.PostgreSQLAdapter; } });
52
+ var SQLiteAdapter_1 = require("./adapters/SQLiteAdapter");
53
+ Object.defineProperty(exports, "SQLiteAdapter", { enumerable: true, get: function () { return SQLiteAdapter_1.SQLiteAdapter; } });
54
+ var MemoryAdapter_1 = require("./adapters/MemoryAdapter");
55
+ Object.defineProperty(exports, "MemoryAdapter", { enumerable: true, get: function () { return MemoryAdapter_1.MemoryAdapter; } });
46
56
  // Constants
47
57
  var constants_1 = require("./constants");
48
58
  Object.defineProperty(exports, "END_ROUTE", { enumerable: true, get: function () { return constants_1.END_ROUTE; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,OAAO;AACP,sCAAqC;AAA5B,8FAAA,KAAK,OAAA;AACd,sCAAqC;AAA5B,8FAAA,KAAK,OAAA;AACd,sCAAqC;AAA5B,8FAAA,KAAK,OAAA;AACd,gDAA+C;AAAtC,wGAAA,UAAU,OAAA;AACnB,kDAAiD;AAAxC,0GAAA,WAAW,OAAA;AACpB,oCAAyC;AAAhC,kGAAA,UAAU,OAAA;AACnB,wDAAuD;AAA9C,gHAAA,cAAc,OAAA;AACvB,wCAAgF;AAAvE,oGAAA,UAAU,OAAA;AAAE,4GAAA,kBAAkB,OAAA;AAAE,yGAAA,eAAe,OAAA;AACxD,sDAAqD;AAA5C,8GAAA,aAAa,OAAA;AAEtB,sDAAsD;AAA7C,+GAAA,cAAc,OAAA;AACvB,gEAA+D;AAAtD,wHAAA,kBAAkB,OAAA;AAE3B,YAAY;AACZ,6DAA4D;AAAnD,gHAAA,cAAc,OAAA;AAEvB,6DAA4D;AAAnD,gHAAA,cAAc,OAAA;AAEvB,qEAAoE;AAA3D,wHAAA,kBAAkB,OAAA;AAE3B,mEAAkE;AAAzD,sHAAA,iBAAiB,OAAA;AAG1B,WAAW;AACX,0DAAyD;AAAhD,8GAAA,aAAa,OAAA;AAOtB,YAAY;AACZ,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAElB,QAAQ;AACR,iCAKoB;AAJlB,qGAAA,eAAe,OAAA;AACf,qGAAA,eAAe,OAAA;AACf,2GAAA,qBAAqB,OAAA;AACrB,oGAAA,cAAc,OAAA;AAahB,uCAAgD;AAAvC,wGAAA,eAAe,OAAA;AAUxB,2CAAyD;AAAhD,oGAAA,SAAS,OAAA;AAAE,sGAAA,WAAW,OAAA;AA8B/B,yCAA+C;AAAtC,uGAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,OAAO;AACP,sCAAqC;AAA5B,8FAAA,KAAK,OAAA;AACd,sCAAqC;AAA5B,8FAAA,KAAK,OAAA;AACd,sCAAqC;AAA5B,8FAAA,KAAK,OAAA;AACd,gDAA+C;AAAtC,wGAAA,UAAU,OAAA;AACnB,kDAAiD;AAAxC,0GAAA,WAAW,OAAA;AACpB,oCAAyC;AAAhC,kGAAA,UAAU,OAAA;AACnB,wDAAuD;AAA9C,gHAAA,cAAc,OAAA;AACvB,wCAAgF;AAAvE,oGAAA,UAAU,OAAA;AAAE,4GAAA,kBAAkB,OAAA;AAAE,yGAAA,eAAe,OAAA;AACxD,sDAAqD;AAA5C,8GAAA,aAAa,OAAA;AAEtB,sDAAsD;AAA7C,+GAAA,cAAc,OAAA;AACvB,gEAA+D;AAAtD,wHAAA,kBAAkB,OAAA;AAE3B,YAAY;AACZ,6DAA4D;AAAnD,gHAAA,cAAc,OAAA;AAEvB,6DAA4D;AAAnD,gHAAA,cAAc,OAAA;AAEvB,qEAAoE;AAA3D,wHAAA,kBAAkB,OAAA;AAE3B,mEAAkE;AAAzD,sHAAA,iBAAiB,OAAA;AAG1B,WAAW;AACX,0DAAyD;AAAhD,8GAAA,aAAa,OAAA;AAMtB,wDAAuD;AAA9C,4GAAA,YAAY,OAAA;AAErB,wDAAuD;AAA9C,4GAAA,YAAY,OAAA;AAOrB,kEAAiE;AAAxD,sHAAA,iBAAiB,OAAA;AAM1B,0DAAyD;AAAhD,8GAAA,aAAa,OAAA;AAMtB,0DAAyD;AAAhD,8GAAA,aAAa,OAAA;AAEtB,YAAY;AACZ,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAElB,QAAQ;AACR,iCAKoB;AAJlB,qGAAA,eAAe,OAAA;AACf,qGAAA,eAAe,OAAA;AACf,2GAAA,qBAAqB,OAAA;AACrB,oGAAA,cAAc,OAAA;AAahB,uCAAgD;AAAvC,wGAAA,eAAe,OAAA;AAUxB,2CAAyD;AAAhD,oGAAA,SAAS,OAAA;AAAE,sGAAA,WAAW,OAAA;AA8B/B,yCAA+C;AAAtC,uGAAA,aAAa,OAAA"}
package/dist/index.d.ts CHANGED
@@ -25,6 +25,15 @@ export { AnthropicProvider } from "./providers/AnthropicProvider";
25
25
  export type { AnthropicProviderOptions } from "./providers/AnthropicProvider";
26
26
  export { PrismaAdapter } from "./adapters/PrismaAdapter";
27
27
  export type { PrismaClient, FieldMappings, PrismaAdapterOptions, } from "./adapters/PrismaAdapter";
28
+ export { RedisAdapter } from "./adapters/RedisAdapter";
29
+ export type { RedisClient, RedisAdapterOptions } from "./adapters/RedisAdapter";
30
+ export { MongoAdapter } from "./adapters/MongoAdapter";
31
+ export type { MongoClient, MongoDatabase, MongoCollection, MongoAdapterOptions, } from "./adapters/MongoAdapter";
32
+ export { PostgreSQLAdapter } from "./adapters/PostgreSQLAdapter";
33
+ export type { PgClient, PgQueryResult, PostgreSQLAdapterOptions, } from "./adapters/PostgreSQLAdapter";
34
+ export { SQLiteAdapter } from "./adapters/SQLiteAdapter";
35
+ export type { SqliteDatabase, SqliteStatement, SQLiteAdapterOptions, } from "./adapters/SQLiteAdapter";
36
+ export { MemoryAdapter } from "./adapters/MemoryAdapter";
28
37
  export { END_ROUTE } from "./constants";
29
38
  export { generateRouteId, generateStateId, generateObservationId, generateToolId, } from "./utils/id";
30
39
  export type { AgentOptions, Term, Guideline, Capability, GuidelineMatch, ContextLifecycleHooks, ContextProvider, } from "./types/agent";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG/D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,YAAY,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,YAAY,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,YAAY,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,YAAY,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAG9E,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,YAAY,EACV,YAAY,EACZ,aAAa,EACb,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,OAAO,EACL,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,cAAc,GACf,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,YAAY,EACZ,IAAI,EACJ,SAAS,EACT,UAAU,EACV,cAAc,EACd,qBAAqB,EACrB,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,YAAY,EACV,KAAK,EACL,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,WAAW,GACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEzD,YAAY,EACV,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,WAAW,EACX,UAAU,EACV,WAAW,EACX,OAAO,GACR,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,UAAU,EACV,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,aAAa,EACb,eAAe,EACf,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,YAAY,EACV,WAAW,IAAI,YAAY,EAC3B,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACV,WAAW,EACX,WAAW,EACX,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -22,6 +22,11 @@ export { OpenRouterProvider } from "./providers/OpenRouterProvider";
22
22
  export { AnthropicProvider } from "./providers/AnthropicProvider";
23
23
  // Adapters
24
24
  export { PrismaAdapter } from "./adapters/PrismaAdapter";
25
+ export { RedisAdapter } from "./adapters/RedisAdapter";
26
+ export { MongoAdapter } from "./adapters/MongoAdapter";
27
+ export { PostgreSQLAdapter } from "./adapters/PostgreSQLAdapter";
28
+ export { SQLiteAdapter } from "./adapters/SQLiteAdapter";
29
+ export { MemoryAdapter } from "./adapters/MemoryAdapter";
25
30
  // Constants
26
31
  export { END_ROUTE } from "./constants";
27
32
  // Utils
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO;AACP,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,YAAY;AACZ,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGlE,WAAW;AACX,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAOzD,YAAY;AACZ,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,QAAQ;AACR,OAAO,EACL,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,cAAc,GACf,MAAM,YAAY,CAAC;AAYpB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAUhD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AA8BzD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO;AACP,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,YAAY;AACZ,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGlE,WAAW;AACX,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAMzD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAOvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAMjE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAMzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,YAAY;AACZ,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,QAAQ;AACR,OAAO,EACL,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,cAAc,GACf,MAAM,YAAY,CAAC;AAYpB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAUhD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AA8BzD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,151 @@
1
+ # Persistence Adapters Summary
2
+
3
+ All adapters follow the **provider pattern** - no dependencies required in the package, users install only what they need.
4
+
5
+ ## ✅ Implemented Adapters
6
+
7
+ ### 1. **PrismaAdapter**
8
+
9
+ - **Use case:** Type-safe ORM with migrations
10
+ - **Install:** `npm install @prisma/client`
11
+ - **Features:**
12
+ - Auto-migration support
13
+ - Custom field mappings
14
+ - Works with any Prisma-supported database
15
+
16
+ ### 2. **RedisAdapter**
17
+
18
+ - **Use case:** High-throughput, real-time apps
19
+ - **Install:** `npm install ioredis` or `npm install redis`
20
+ - **Features:**
21
+ - Fast in-memory storage
22
+ - Configurable TTLs
23
+ - Custom key prefixes
24
+
25
+ ### 3. **MongoAdapter**
26
+
27
+ - **Use case:** Flexible document storage
28
+ - **Install:** `npm install mongodb`
29
+ - **Features:**
30
+ - Schema-less design
31
+ - Custom collection names
32
+ - Native MongoDB queries
33
+
34
+ ### 4. **PostgreSQLAdapter**
35
+
36
+ - **Use case:** Raw SQL with custom schemas
37
+ - **Install:** `npm install pg`
38
+ - **Features:**
39
+ - Auto table/index creation
40
+ - Foreign key constraints
41
+ - Full SQL control
42
+
43
+ ### 5. **SQLiteAdapter**
44
+
45
+ - **Use case:** Lightweight local database
46
+ - **Install:** `npm install better-sqlite3`
47
+ - **Features:**
48
+ - File-based database
49
+ - Perfect for local development
50
+ - Auto table/index creation
51
+ - Zero configuration
52
+
53
+ ### 6. **MemoryAdapter**
54
+
55
+ - **Use case:** Testing & development
56
+ - **Install:** Built-in (no dependencies required) ✨
57
+ - **Features:**
58
+ - In-memory storage
59
+ - No setup required
60
+ - Perfect for unit tests
61
+ - Data snapshot/clear utilities
62
+
63
+ ## 🎯 Usage Pattern
64
+
65
+ All adapters follow the same simple pattern:
66
+
67
+ ```typescript
68
+ import { Agent, [Adapter]Adapter } from "@falai/agent";
69
+
70
+ const adapter = new [Adapter]Adapter({
71
+ client: yourClientInstance,
72
+ // ... adapter-specific options
73
+ });
74
+
75
+ const agent = new Agent({
76
+ persistence: {
77
+ adapter,
78
+ userId: "user_123",
79
+ autoSave: true,
80
+ },
81
+ });
82
+ ```
83
+
84
+ ## 🔌 Optional Dependencies
85
+
86
+ All database clients are **optional peer dependencies** - they won't be installed unless you explicitly add them:
87
+
88
+ ```json
89
+ {
90
+ "peerDependencies": {
91
+ "@prisma/client": "^6.0.0",
92
+ "ioredis": "^5.7.0",
93
+ "redis": "^4.6.0 || ^5.0.0",
94
+ "mongodb": "^6.0.0 || ^7.0.0",
95
+ "pg": "^8.11.0",
96
+ "mysql2": "^3.2.0",
97
+ "better-sqlite3": "^11.0.0 || ^12.0.0"
98
+ },
99
+ "peerDependenciesMeta": {
100
+ "@prisma/client": { "optional": true },
101
+ "ioredis": { "optional": true },
102
+ "redis": { "optional": true },
103
+ "mongodb": { "optional": true },
104
+ "pg": { "optional": true },
105
+ "mysql2": { "optional": true },
106
+ "better-sqlite3": { "optional": true }
107
+ }
108
+ }
109
+ ```
110
+
111
+ ## 🛠️ Creating Custom Adapters
112
+
113
+ Implement the `PersistenceAdapter` interface:
114
+
115
+ ```typescript
116
+ import type { PersistenceAdapter } from "@falai/agent";
117
+
118
+ export class MyCustomAdapter implements PersistenceAdapter {
119
+ sessionRepository: SessionRepository;
120
+ messageRepository: MessageRepository;
121
+
122
+ constructor(options: MyAdapterOptions) {
123
+ this.sessionRepository = new MySessionRepository(options);
124
+ this.messageRepository = new MyMessageRepository(options);
125
+ }
126
+
127
+ async initialize?(): Promise<void> {
128
+ // Optional: setup tables, indexes, etc.
129
+ }
130
+
131
+ async disconnect?(): Promise<void> {
132
+ // Optional: cleanup
133
+ }
134
+ }
135
+ ```
136
+
137
+ ## 📝 Type Safety
138
+
139
+ All adapters are fully typed with **zero `any` types** (except for Prisma's dynamic model access):
140
+
141
+ - Generic client interfaces
142
+ - Typed repository methods
143
+ - Full IDE autocomplete
144
+
145
+ ## 🚀 Coming Soon
146
+
147
+ - **MySQLAdapter**: Traditional relational database (similar to PostgreSQL)
148
+ - **ElasticsearchAdapter**: Full-text search integration
149
+ - **DynamoDBAdapter**: AWS serverless storage
150
+
151
+ All adapters are production-ready and fully tested!