@falai/agent 3.4.2 → 3.4.3

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 (110) hide show
  1. package/package.json +1 -1
  2. package/dist/cjs/adapters/MemoryAdapter.d.ts +0 -47
  3. package/dist/cjs/adapters/MemoryAdapter.d.ts.map +0 -1
  4. package/dist/cjs/adapters/MemoryAdapter.js +0 -208
  5. package/dist/cjs/adapters/MemoryAdapter.js.map +0 -1
  6. package/dist/cjs/adapters/MongoAdapter.d.ts +0 -97
  7. package/dist/cjs/adapters/MongoAdapter.d.ts.map +0 -1
  8. package/dist/cjs/adapters/MongoAdapter.js +0 -200
  9. package/dist/cjs/adapters/MongoAdapter.js.map +0 -1
  10. package/dist/cjs/adapters/OpenSearchAdapter.d.ts +0 -169
  11. package/dist/cjs/adapters/OpenSearchAdapter.d.ts.map +0 -1
  12. package/dist/cjs/adapters/OpenSearchAdapter.js +0 -475
  13. package/dist/cjs/adapters/OpenSearchAdapter.js.map +0 -1
  14. package/dist/cjs/adapters/PostgreSQLAdapter.d.ts +0 -85
  15. package/dist/cjs/adapters/PostgreSQLAdapter.d.ts.map +0 -1
  16. package/dist/cjs/adapters/PostgreSQLAdapter.js +0 -312
  17. package/dist/cjs/adapters/PostgreSQLAdapter.js.map +0 -1
  18. package/dist/cjs/adapters/PrismaAdapter.d.ts +0 -115
  19. package/dist/cjs/adapters/PrismaAdapter.d.ts.map +0 -1
  20. package/dist/cjs/adapters/PrismaAdapter.js +0 -410
  21. package/dist/cjs/adapters/PrismaAdapter.js.map +0 -1
  22. package/dist/cjs/adapters/RedisAdapter.d.ts +0 -72
  23. package/dist/cjs/adapters/RedisAdapter.d.ts.map +0 -1
  24. package/dist/cjs/adapters/RedisAdapter.js +0 -290
  25. package/dist/cjs/adapters/RedisAdapter.js.map +0 -1
  26. package/dist/cjs/adapters/SQLiteAdapter.d.ts +0 -86
  27. package/dist/cjs/adapters/SQLiteAdapter.d.ts.map +0 -1
  28. package/dist/cjs/adapters/SQLiteAdapter.js +0 -341
  29. package/dist/cjs/adapters/SQLiteAdapter.js.map +0 -1
  30. package/dist/cjs/adapters/index.d.ts +0 -17
  31. package/dist/cjs/adapters/index.d.ts.map +0 -1
  32. package/dist/cjs/adapters/index.js +0 -21
  33. package/dist/cjs/adapters/index.js.map +0 -1
  34. package/dist/cjs/adapters/sessionRow.d.ts +0 -22
  35. package/dist/cjs/adapters/sessionRow.d.ts.map +0 -1
  36. package/dist/cjs/adapters/sessionRow.js +0 -52
  37. package/dist/cjs/adapters/sessionRow.js.map +0 -1
  38. package/dist/cjs/constants/index.d.ts +0 -1
  39. package/dist/cjs/constants/index.d.ts.map +0 -1
  40. package/dist/cjs/constants/index.js +0 -4
  41. package/dist/cjs/constants/index.js.map +0 -1
  42. package/dist/cjs/core/Agent.d.ts +0 -382
  43. package/dist/cjs/core/Agent.d.ts.map +0 -1
  44. package/dist/cjs/core/Agent.js +0 -1198
  45. package/dist/cjs/core/Agent.js.map +0 -1
  46. package/dist/cjs/core/ResponseModal.d.ts +0 -305
  47. package/dist/cjs/core/ResponseModal.d.ts.map +0 -1
  48. package/dist/cjs/core/ResponseModal.js +0 -1414
  49. package/dist/cjs/core/ResponseModal.js.map +0 -1
  50. package/dist/cjs/core/ToolLoopExecutor.d.ts +0 -133
  51. package/dist/cjs/core/ToolLoopExecutor.d.ts.map +0 -1
  52. package/dist/cjs/core/ToolLoopExecutor.js +0 -568
  53. package/dist/cjs/core/ToolLoopExecutor.js.map +0 -1
  54. package/dist/cjs/core/createAgent.d.ts +0 -35
  55. package/dist/cjs/core/createAgent.d.ts.map +0 -1
  56. package/dist/cjs/core/createAgent.js +0 -39
  57. package/dist/cjs/core/createAgent.js.map +0 -1
  58. package/dist/cjs/index.d.ts +0 -61
  59. package/dist/cjs/index.d.ts.map +0 -1
  60. package/dist/cjs/index.js +0 -113
  61. package/dist/cjs/index.js.map +0 -1
  62. package/dist/cjs/package.json +0 -1
  63. package/dist/cjs/providers/AnthropicProvider.d.ts +0 -46
  64. package/dist/cjs/providers/AnthropicProvider.d.ts.map +0 -1
  65. package/dist/cjs/providers/AnthropicProvider.js +0 -50
  66. package/dist/cjs/providers/AnthropicProvider.js.map +0 -1
  67. package/dist/cjs/providers/DeepSeekProvider.d.ts +0 -47
  68. package/dist/cjs/providers/DeepSeekProvider.d.ts.map +0 -1
  69. package/dist/cjs/providers/DeepSeekProvider.js +0 -42
  70. package/dist/cjs/providers/DeepSeekProvider.js.map +0 -1
  71. package/dist/cjs/providers/FallbackAiProvider.d.ts +0 -26
  72. package/dist/cjs/providers/FallbackAiProvider.d.ts.map +0 -1
  73. package/dist/cjs/providers/FallbackAiProvider.js +0 -54
  74. package/dist/cjs/providers/FallbackAiProvider.js.map +0 -1
  75. package/dist/cjs/providers/GeminiProvider.d.ts +0 -51
  76. package/dist/cjs/providers/GeminiProvider.d.ts.map +0 -1
  77. package/dist/cjs/providers/GeminiProvider.js +0 -53
  78. package/dist/cjs/providers/GeminiProvider.js.map +0 -1
  79. package/dist/cjs/providers/GenericOpenAICompatibleProvider.d.ts +0 -80
  80. package/dist/cjs/providers/GenericOpenAICompatibleProvider.d.ts.map +0 -1
  81. package/dist/cjs/providers/GenericOpenAICompatibleProvider.js +0 -89
  82. package/dist/cjs/providers/GenericOpenAICompatibleProvider.js.map +0 -1
  83. package/dist/cjs/providers/OpenAICompatibleProvider.d.ts +0 -61
  84. package/dist/cjs/providers/OpenAICompatibleProvider.d.ts.map +0 -1
  85. package/dist/cjs/providers/OpenAICompatibleProvider.js +0 -58
  86. package/dist/cjs/providers/OpenAICompatibleProvider.js.map +0 -1
  87. package/dist/cjs/providers/OpenAIProvider.d.ts +0 -40
  88. package/dist/cjs/providers/OpenAIProvider.d.ts.map +0 -1
  89. package/dist/cjs/providers/OpenAIProvider.js +0 -42
  90. package/dist/cjs/providers/OpenAIProvider.js.map +0 -1
  91. package/dist/cjs/providers/OpenRouterProvider.d.ts +0 -56
  92. package/dist/cjs/providers/OpenRouterProvider.d.ts.map +0 -1
  93. package/dist/cjs/providers/OpenRouterProvider.js +0 -45
  94. package/dist/cjs/providers/OpenRouterProvider.js.map +0 -1
  95. package/dist/cjs/providers/ProviderAdapter.d.ts +0 -126
  96. package/dist/cjs/providers/ProviderAdapter.d.ts.map +0 -1
  97. package/dist/cjs/providers/ProviderAdapter.js +0 -313
  98. package/dist/cjs/providers/ProviderAdapter.js.map +0 -1
  99. package/dist/cjs/providers/ZaiProvider.d.ts +0 -45
  100. package/dist/cjs/providers/ZaiProvider.d.ts.map +0 -1
  101. package/dist/cjs/providers/ZaiProvider.js +0 -51
  102. package/dist/cjs/providers/ZaiProvider.js.map +0 -1
  103. package/dist/cjs/providers/index.d.ts +0 -26
  104. package/dist/cjs/providers/index.d.ts.map +0 -1
  105. package/dist/cjs/providers/index.js +0 -30
  106. package/dist/cjs/providers/index.js.map +0 -1
  107. package/dist/cjs/utils/streamingMessage.d.ts +0 -48
  108. package/dist/cjs/utils/streamingMessage.d.ts.map +0 -1
  109. package/dist/cjs/utils/streamingMessage.js +0 -210
  110. package/dist/cjs/utils/streamingMessage.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@falai/agent",
3
- "version": "3.4.2",
3
+ "version": "3.4.3",
4
4
  "description": "Conversational state engine for TypeScript where the AI understands, but the code is in control",
5
5
  "type": "module",
6
6
  "main": "./dist/cjs/index.js",
@@ -1,47 +0,0 @@
1
- /**
2
- * Memory adapter for persistence
3
- * In-memory storage for testing and development (no database required)
4
- */
5
- import type { MessageData, MessageRepository, PersistenceAdapter, SessionData, SessionRepository } from "../types/index.js";
6
- /**
7
- * Memory Adapter - Provider-style API for in-memory persistence
8
- *
9
- * Perfect for:
10
- * - Testing
11
- * - Development
12
- * - Prototyping
13
- * - No database setup required
14
- *
15
- * @example
16
- * ```typescript
17
- * import { Agent, MemoryAdapter } from '@falai/agent';
18
- *
19
- * const agent = new Agent({
20
- * name: "My Agent",
21
- * provider: provider,
22
- * persistence: {
23
- * adapter: new MemoryAdapter(),
24
- * userId: "user_123",
25
- * },
26
- * });
27
- * ```
28
- */
29
- export declare class MemoryAdapter<TData = Record<string, unknown>> implements PersistenceAdapter<TData> {
30
- readonly sessionRepository: SessionRepository<TData>;
31
- readonly messageRepository: MessageRepository;
32
- private sessions;
33
- private messages;
34
- constructor();
35
- /**
36
- * Clear all data (useful for testing)
37
- */
38
- clear(): void;
39
- /**
40
- * Get data snapshot (useful for debugging)
41
- */
42
- getSnapshot(): {
43
- sessions: SessionData<TData>[];
44
- messages: MessageData[];
45
- };
46
- }
47
- //# sourceMappingURL=MemoryAdapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MemoryAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/MemoryAdapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAEV,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,iBAAiB,EAIlB,MAAM,mBAAmB,CAAC;AAK3B;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,aAAa,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAE,YAAW,kBAAkB,CAAC,KAAK,CAAC;IAC9F,SAAgB,iBAAiB,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC5D,SAAgB,iBAAiB,EAAE,iBAAiB,CAAC;IACrD,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,QAAQ,CAA2B;;IAU3C;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,WAAW,IAAI;QACb,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,QAAQ,EAAE,WAAW,EAAE,CAAC;KACzB;CAMF"}
@@ -1,208 +0,0 @@
1
- "use strict";
2
- /**
3
- * Memory adapter for persistence
4
- * In-memory storage for testing and development (no database required)
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.MemoryAdapter = void 0;
8
- const errors_js_1 = require("../types/errors.js");
9
- const clone_js_1 = require("../utils/clone.js");
10
- const index_js_1 = require("../utils/index.js");
11
- /**
12
- * Memory Adapter - Provider-style API for in-memory persistence
13
- *
14
- * Perfect for:
15
- * - Testing
16
- * - Development
17
- * - Prototyping
18
- * - No database setup required
19
- *
20
- * @example
21
- * ```typescript
22
- * import { Agent, MemoryAdapter } from '@falai/agent';
23
- *
24
- * const agent = new Agent({
25
- * name: "My Agent",
26
- * provider: provider,
27
- * persistence: {
28
- * adapter: new MemoryAdapter(),
29
- * userId: "user_123",
30
- * },
31
- * });
32
- * ```
33
- */
34
- class MemoryAdapter {
35
- constructor() {
36
- this.sessions = new Map();
37
- this.messages = new Map();
38
- this.sessionRepository = new MemorySessionRepository(this.sessions);
39
- this.messageRepository = new MemoryMessageRepository(this.messages);
40
- }
41
- /**
42
- * Clear all data (useful for testing)
43
- */
44
- clear() {
45
- this.sessions.clear();
46
- this.messages.clear();
47
- }
48
- /**
49
- * Get data snapshot (useful for debugging)
50
- */
51
- getSnapshot() {
52
- return {
53
- sessions: Array.from(this.sessions.values()),
54
- messages: Array.from(this.messages.values()),
55
- };
56
- }
57
- }
58
- exports.MemoryAdapter = MemoryAdapter;
59
- /**
60
- * Memory Session Repository
61
- */
62
- class MemorySessionRepository {
63
- constructor(sessions) {
64
- this.sessions = sessions;
65
- }
66
- create(data) {
67
- const id = data.id || (0, index_js_1.createSessionId)();
68
- const now = new Date();
69
- const session = {
70
- ...data,
71
- id,
72
- status: data.status || "active",
73
- messageCount: data.messageCount || 0,
74
- version: data.version ?? 1,
75
- createdAt: now,
76
- updatedAt: now,
77
- };
78
- this.sessions.set(id, (0, clone_js_1.cloneDeep)(session));
79
- return Promise.resolve((0, clone_js_1.cloneDeep)(session));
80
- }
81
- findById(id) {
82
- const session = this.sessions.get(id);
83
- return Promise.resolve(session ? (0, clone_js_1.cloneDeep)(session) : null);
84
- }
85
- async findActiveByUserId(userId) {
86
- const sessions = Array.from(this.sessions.values())
87
- .filter((s) => s.userId === userId && s.status === "active")
88
- .sort((a, b) => b.createdAt.getTime() - a.createdAt.getTime());
89
- return Promise.resolve(sessions[0] || null);
90
- }
91
- async findByUserId(userId, limit = 100) {
92
- const sessions = Array.from(this.sessions.values())
93
- .filter((s) => s.userId === userId)
94
- .sort((a, b) => b.createdAt.getTime() - a.createdAt.getTime())
95
- .slice(0, limit);
96
- return Promise.resolve(sessions);
97
- }
98
- async update(id, data, options) {
99
- const existing = this.sessions.get(id);
100
- if (!existing)
101
- return null;
102
- // Compare-and-swap: rows without a stored version (pre-2.4) are accepted
103
- if (options?.expectedVersion !== undefined &&
104
- existing.version !== undefined &&
105
- existing.version !== options.expectedVersion) {
106
- throw new errors_js_1.SessionConflictError(id, options.expectedVersion, existing.version);
107
- }
108
- const updated = {
109
- ...existing,
110
- ...data,
111
- version: (existing.version ?? options?.expectedVersion ?? 0) + 1,
112
- updatedAt: new Date(),
113
- };
114
- this.sessions.set(id, (0, clone_js_1.cloneDeep)(updated));
115
- return Promise.resolve((0, clone_js_1.cloneDeep)(updated));
116
- }
117
- // Derived updaters route through update() so every state write shares one
118
- // semantic across adapters: version bump + updatedAt refresh (the SQL
119
- // adapters delegate to their update() the same way).
120
- async updateStatus(id, status, completedAt) {
121
- // An undefined completedAt must be omitted, not spread — update() writes
122
- // whatever keys it receives, and SQL skips undefined columns.
123
- return this.update(id, completedAt ? { status, completedAt } : { status });
124
- }
125
- async updateCollectedData(id, collectedData) {
126
- return this.update(id, { collectedData });
127
- }
128
- async updateFlowStep(id, flow, step) {
129
- // Mirror SQL's conditional column assembly: only defined values are written.
130
- return this.update(id, {
131
- ...(flow !== undefined && { currentFlow: flow }),
132
- ...(step !== undefined && { currentStep: step }),
133
- });
134
- }
135
- async incrementMessageCount(id) {
136
- // Bookkeeping write, deliberately NOT routed through update(): count bumps
137
- // run alongside saveSessionState's version CAS every turn, so they must not
138
- // move `version` (matches the SQL adapters' dedicated statement).
139
- const session = this.sessions.get(id);
140
- if (!session)
141
- return Promise.resolve(null);
142
- const updated = {
143
- ...session,
144
- messageCount: (session.messageCount || 0) + 1,
145
- lastMessageAt: new Date(),
146
- updatedAt: new Date(),
147
- };
148
- this.sessions.set(id, (0, clone_js_1.cloneDeep)(updated));
149
- return Promise.resolve((0, clone_js_1.cloneDeep)(updated));
150
- }
151
- async delete(id) {
152
- const result = this.sessions.delete(id);
153
- return Promise.resolve(result);
154
- }
155
- }
156
- /**
157
- * Memory Message Repository
158
- */
159
- class MemoryMessageRepository {
160
- constructor(messages) {
161
- this.messages = messages;
162
- }
163
- async create(data) {
164
- const id = `msg_${Date.now()}_${Math.random().toString(36).slice(2)}`;
165
- const message = {
166
- ...data,
167
- id,
168
- createdAt: new Date(),
169
- };
170
- // Clone on store and on return so callers can't mutate the stored row —
171
- // same isolation the session repository provides.
172
- this.messages.set(id, (0, clone_js_1.cloneDeep)(message));
173
- return Promise.resolve((0, clone_js_1.cloneDeep)(message));
174
- }
175
- async findById(id) {
176
- const message = this.messages.get(id) || null;
177
- return Promise.resolve(message);
178
- }
179
- async findBySessionId(sessionId, limit = 1000) {
180
- const messages = Array.from(this.messages.values())
181
- .filter((m) => m.sessionId === sessionId)
182
- .sort((a, b) => a.createdAt.getTime() - b.createdAt.getTime())
183
- .slice(0, limit);
184
- return Promise.resolve(messages);
185
- }
186
- async findByUserId(userId, limit = 100) {
187
- const messages = Array.from(this.messages.values())
188
- .filter((m) => m.userId === userId)
189
- .sort((a, b) => b.createdAt.getTime() - a.createdAt.getTime())
190
- .slice(0, limit);
191
- return Promise.resolve(messages);
192
- }
193
- async delete(id) {
194
- const result = this.messages.delete(id);
195
- return Promise.resolve(result);
196
- }
197
- async deleteBySessionId(sessionId) {
198
- const toDelete = Array.from(this.messages.values()).filter((m) => m.sessionId === sessionId);
199
- toDelete.forEach((m) => this.messages.delete(m.id));
200
- return Promise.resolve(toDelete.length);
201
- }
202
- async deleteByUserId(userId) {
203
- const toDelete = Array.from(this.messages.values()).filter((m) => m.userId === userId);
204
- toDelete.forEach((m) => this.messages.delete(m.id));
205
- return Promise.resolve(toDelete.length);
206
- }
207
- }
208
- //# sourceMappingURL=MemoryAdapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MemoryAdapter.js","sourceRoot":"","sources":["../../../src/adapters/MemoryAdapter.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAaH,kDAA0D;AAC1D,gDAA8C;AAC9C,gDAAoD;AAEpD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAa,aAAa;IAMxB;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QAE1B,IAAI,CAAC,iBAAiB,GAAG,IAAI,uBAAuB,CAAQ,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3E,IAAI,CAAC,iBAAiB,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,WAAW;QAIT,OAAO;YACL,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC5C,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;SAC7C,CAAC;IACJ,CAAC;CACF;AAlCD,sCAkCC;AAED;;GAEG;AACH,MAAM,uBAAuB;IAE3B,YAAoB,QAAyC;QAAzC,aAAQ,GAAR,QAAQ,CAAiC;IAAI,CAAC;IAElE,MAAM,CAAC,IAA8B;QACnC,MAAM,EAAE,GACN,IAAI,CAAC,EAAE,IAAI,IAAA,0BAAe,GAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QAEvB,MAAM,OAAO,GAAuB;YAClC,GAAG,IAAI;YACP,EAAE;YACF,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,QAAQ;YAC/B,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,CAAC;YACpC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,CAAC;YAC1B,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;SACf,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,IAAA,oBAAS,EAAC,OAAO,CAAC,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC,OAAO,CAAC,IAAA,oBAAS,EAAC,OAAO,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,QAAQ,CAAC,EAAU;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtC,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,oBAAS,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,MAAc;QACrC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;aAChD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC;aAC3D,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;QAEjE,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,MAAc,EACd,KAAK,GAAG,GAAG;QAEX,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;aAChD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC;aAClC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;aAC7D,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnB,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,MAAM,CACV,EAAU,EACV,IAA2D,EAC3D,OAA8B;QAE9B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE3B,yEAAyE;QACzE,IACE,OAAO,EAAE,eAAe,KAAK,SAAS;YACtC,QAAQ,CAAC,OAAO,KAAK,SAAS;YAC9B,QAAQ,CAAC,OAAO,KAAK,OAAO,CAAC,eAAe,EAC5C,CAAC;YACD,MAAM,IAAI,gCAAoB,CAAC,EAAE,EAAE,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QAChF,CAAC;QAED,MAAM,OAAO,GAAuB;YAClC,GAAG,QAAQ;YACX,GAAG,IAAI;YACP,OAAO,EAAE,CAAC,QAAQ,CAAC,OAAO,IAAI,OAAO,EAAE,eAAe,IAAI,CAAC,CAAC,GAAG,CAAC;YAChE,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,IAAA,oBAAS,EAAC,OAAO,CAAC,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC,OAAO,CAAC,IAAA,oBAAS,EAAC,OAAO,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,0EAA0E;IAC1E,sEAAsE;IACtE,qDAAqD;IAErD,KAAK,CAAC,YAAY,CAChB,EAAU,EACV,MAAqB,EACrB,WAAkB;QAElB,yEAAyE;QACzE,8DAA8D;QAC9D,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,EAAU,EACV,aAAwC;QAExC,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,EAAU,EACV,IAAa,EACb,IAAa;QAEb,6EAA6E;QAC7E,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;YACrB,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;YAChD,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;SACjD,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,EAAU;QACpC,2EAA2E;QAC3E,4EAA4E;QAC5E,kEAAkE;QAClE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAuB;YAClC,GAAG,OAAO;YACV,YAAY,EAAE,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC;YAC7C,aAAa,EAAE,IAAI,IAAI,EAAE;YACzB,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,IAAA,oBAAS,EAAC,OAAO,CAAC,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC,OAAO,CAAC,IAAA,oBAAS,EAAC,OAAO,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxC,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,uBAAuB;IAC3B,YAAoB,QAAkC;QAAlC,aAAQ,GAAR,QAAQ,CAA0B;IAAI,CAAC;IAE3D,KAAK,CAAC,MAAM,CACV,IAA2C;QAE3C,MAAM,EAAE,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,MAAM,OAAO,GAAgB;YAC3B,GAAG,IAAI;YACP,EAAE;YACF,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;QAEF,wEAAwE;QACxE,kDAAkD;QAClD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,IAAA,oBAAS,EAAC,OAAO,CAAC,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC,OAAO,CAAC,IAAA,oBAAS,EAAC,OAAO,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,EAAU;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;QAC9C,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,SAAiB,EACjB,KAAK,GAAG,IAAI;QAEZ,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;aAChD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC;aACxC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;aAC7D,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnB,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,KAAK,GAAG,GAAG;QAC5C,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;aAChD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC;aAClC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;aAC7D,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnB,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxC,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,SAAiB;QACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CACxD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CACjC,CAAC;QAEF,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpD,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAc;QACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CACxD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAC3B,CAAC;QAEF,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpD,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;CACF"}
@@ -1,97 +0,0 @@
1
- /**
2
- * MongoDB adapter for persistence
3
- * Document-based storage with flexible schema
4
- */
5
- import type { MessageRepository, PersistenceAdapter, SessionRepository } from "../types/index.js";
6
- /**
7
- * MongoDB collection interface - matches mongodb driver
8
- */
9
- export interface MongoCollection<T = Record<string, unknown>> {
10
- insertOne(doc: T): Promise<{
11
- insertedId: unknown;
12
- }>;
13
- findOne(filter: Record<string, unknown>): Promise<T | null>;
14
- find(filter: Record<string, unknown>): {
15
- sort(sort: Record<string, number>): {
16
- limit(limit: number): {
17
- toArray(): Promise<T[]>;
18
- };
19
- };
20
- toArray(): Promise<T[]>;
21
- };
22
- updateOne(filter: Record<string, unknown>, update: Record<string, unknown>): Promise<{
23
- matchedCount: number;
24
- }>;
25
- deleteOne(filter: Record<string, unknown>): Promise<{
26
- deletedCount: number;
27
- }>;
28
- deleteMany(filter: Record<string, unknown>): Promise<{
29
- deletedCount: number;
30
- }>;
31
- }
32
- /**
33
- * MongoDB database interface
34
- */
35
- export interface MongoDatabase {
36
- collection<T = Record<string, unknown>>(name: string): MongoCollection<T>;
37
- }
38
- /**
39
- * MongoDB client interface
40
- */
41
- export interface MongoClient {
42
- db(name?: string): MongoDatabase;
43
- close(): Promise<void>;
44
- }
45
- /**
46
- * Options for MongoDB adapter
47
- */
48
- export interface MongoAdapterOptions {
49
- /**
50
- * MongoDB client instance
51
- */
52
- client: MongoClient;
53
- /**
54
- * Database name
55
- */
56
- databaseName: string;
57
- /**
58
- * Collection names (default: "agent_sessions" and "agent_messages")
59
- */
60
- collections?: {
61
- sessions?: string;
62
- messages?: string;
63
- };
64
- }
65
- /**
66
- * MongoDB Adapter - Provider-style API for MongoDB persistence
67
- *
68
- * @example
69
- * ```typescript
70
- * import { MongoClient } from 'mongodb';
71
- * import { Agent, MongoAdapter } from '@falai/agent';
72
- *
73
- * const client = new MongoClient('mongodb://localhost:27017');
74
- * await client.connect();
75
- *
76
- * const agent = new Agent({
77
- * name: "My Agent",
78
- * provider: provider,
79
- * persistence: {
80
- * adapter: new MongoAdapter({
81
- * client,
82
- * databaseName: 'myapp',
83
- * }),
84
- * userId: "user_123",
85
- * },
86
- * });
87
- * ```
88
- */
89
- export declare class MongoAdapter<TData = Record<string, unknown>> implements PersistenceAdapter<TData> {
90
- readonly sessionRepository: SessionRepository<TData>;
91
- readonly messageRepository: MessageRepository;
92
- private client;
93
- private db;
94
- constructor(options: MongoAdapterOptions);
95
- disconnect(): Promise<void>;
96
- }
97
- //# sourceMappingURL=MongoAdapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MongoAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/MongoAdapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAEV,iBAAiB,EACjB,kBAAkB,EAElB,iBAAiB,EAKlB,MAAM,mBAAmB,CAAC;AAI3B;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1D,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACpD,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC5D,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QACrC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;YAClC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG;gBACpB,OAAO,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;aACzB,CAAC;SACH,CAAC;QACF,OAAO,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;KACzB,CAAC;IACF,SAAS,CACP,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9E,UAAU,CACR,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;CAC3E;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;IACjC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,MAAM,EAAE,WAAW,CAAC;IAEpB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,WAAW,CAAC,EAAE;QACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,YAAY,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAE,YAAW,kBAAkB,CAAC,KAAK,CAAC;IAC7F,SAAgB,iBAAiB,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC5D,SAAgB,iBAAiB,EAAE,iBAAiB,CAAC;IACrD,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,EAAE,CAAgB;gBAEd,OAAO,EAAE,mBAAmB;IAgBlC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAGlC"}
@@ -1,200 +0,0 @@
1
- "use strict";
2
- /**
3
- * MongoDB adapter for persistence
4
- * Document-based storage with flexible schema
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.MongoAdapter = void 0;
8
- const errors_js_1 = require("../types/errors.js");
9
- const index_js_1 = require("../utils/index.js");
10
- /**
11
- * MongoDB Adapter - Provider-style API for MongoDB persistence
12
- *
13
- * @example
14
- * ```typescript
15
- * import { MongoClient } from 'mongodb';
16
- * import { Agent, MongoAdapter } from '@falai/agent';
17
- *
18
- * const client = new MongoClient('mongodb://localhost:27017');
19
- * await client.connect();
20
- *
21
- * const agent = new Agent({
22
- * name: "My Agent",
23
- * provider: provider,
24
- * persistence: {
25
- * adapter: new MongoAdapter({
26
- * client,
27
- * databaseName: 'myapp',
28
- * }),
29
- * userId: "user_123",
30
- * },
31
- * });
32
- * ```
33
- */
34
- class MongoAdapter {
35
- constructor(options) {
36
- this.client = options.client;
37
- this.db = options.client.db(options.databaseName);
38
- const sessionCollection = options.collections?.sessions || "agent_sessions";
39
- const messageCollection = options.collections?.messages || "agent_messages";
40
- this.sessionRepository = new MongoSessionRepository(this.db.collection(sessionCollection));
41
- this.messageRepository = new MongoMessageRepository(this.db.collection(messageCollection));
42
- }
43
- async disconnect() {
44
- await this.client.close();
45
- }
46
- }
47
- exports.MongoAdapter = MongoAdapter;
48
- /**
49
- * MongoDB Session Repository
50
- */
51
- class MongoSessionRepository {
52
- constructor(collection) {
53
- this.collection = collection;
54
- }
55
- async create(data) {
56
- const now = new Date();
57
- const session = {
58
- ...data,
59
- id: data.id ||
60
- (0, index_js_1.createSessionId)(),
61
- status: data.status || "active",
62
- messageCount: data.messageCount || 0,
63
- version: data.version ?? 1,
64
- createdAt: now,
65
- updatedAt: now,
66
- };
67
- await this.collection.insertOne(session);
68
- return session;
69
- }
70
- async findById(id) {
71
- return await this.collection.findOne({ id });
72
- }
73
- async findActiveByUserId(userId) {
74
- return await this.collection.findOne({ userId, status: "active" });
75
- }
76
- async findByUserId(userId, limit = 100) {
77
- return await this.collection
78
- .find({ userId })
79
- .sort({ createdAt: -1 })
80
- .limit(limit)
81
- .toArray();
82
- }
83
- async update(id, data, options) {
84
- if (options?.expectedVersion !== undefined) {
85
- const expectedVersion = options.expectedVersion;
86
- // Compare-and-swap via the filter: docs without a stored version
87
- // (pre-2.4) are accepted and adopt expectedVersion as their base
88
- const result = await this.collection.updateOne({
89
- id,
90
- $or: [
91
- { version: { $exists: false } },
92
- { version: null },
93
- { version: expectedVersion },
94
- ],
95
- }, { $set: { ...data, version: expectedVersion + 1, updatedAt: new Date() } });
96
- if (result.matchedCount === 0) {
97
- const existing = await this.collection.findOne({ id });
98
- if (!existing)
99
- return null;
100
- throw new errors_js_1.SessionConflictError(id, expectedVersion, existing.version);
101
- }
102
- return await this.findById(id);
103
- }
104
- const existing = await this.collection.findOne({ id });
105
- if (!existing)
106
- return null;
107
- const result = await this.collection.updateOne({ id }, {
108
- $set: {
109
- ...data,
110
- version: (existing.version ?? 0) + 1,
111
- updatedAt: new Date(),
112
- },
113
- });
114
- if (result.matchedCount === 0)
115
- return null;
116
- return await this.findById(id);
117
- }
118
- async updateStatus(id, status, completedAt) {
119
- const updateData = {
120
- status,
121
- updatedAt: new Date(),
122
- };
123
- if (completedAt) {
124
- updateData.completedAt = completedAt;
125
- }
126
- const result = await this.collection.updateOne({ id }, { $set: updateData });
127
- if (result.matchedCount === 0)
128
- return null;
129
- return await this.findById(id);
130
- }
131
- async updateCollectedData(id, collectedData) {
132
- return await this.update(id, { collectedData });
133
- }
134
- async updateFlowStep(id, flow, step) {
135
- return await this.update(id, {
136
- currentFlow: flow,
137
- currentStep: step,
138
- });
139
- }
140
- async incrementMessageCount(id) {
141
- const result = await this.collection.updateOne({ id }, {
142
- $inc: { messageCount: 1 },
143
- $set: { lastMessageAt: new Date(), updatedAt: new Date() },
144
- });
145
- if (result.matchedCount === 0)
146
- return null;
147
- return await this.findById(id);
148
- }
149
- async delete(id) {
150
- const result = await this.collection.deleteOne({ id });
151
- return result.deletedCount > 0;
152
- }
153
- }
154
- /**
155
- * MongoDB Message Repository
156
- */
157
- class MongoMessageRepository {
158
- constructor(collection) {
159
- this.collection = collection;
160
- }
161
- async create(data) {
162
- const message = {
163
- ...data,
164
- id: `msg_${Date.now()}_${Math.random().toString(36).slice(2)}`,
165
- createdAt: new Date(),
166
- };
167
- await this.collection.insertOne(message);
168
- return message;
169
- }
170
- async findById(id) {
171
- return await this.collection.findOne({ id });
172
- }
173
- async findBySessionId(sessionId, limit = 1000) {
174
- return await this.collection
175
- .find({ sessionId })
176
- .sort({ createdAt: 1 })
177
- .limit(limit)
178
- .toArray();
179
- }
180
- async findByUserId(userId, limit = 100) {
181
- return await this.collection
182
- .find({ userId })
183
- .sort({ createdAt: -1 })
184
- .limit(limit)
185
- .toArray();
186
- }
187
- async delete(id) {
188
- const result = await this.collection.deleteOne({ id });
189
- return result.deletedCount > 0;
190
- }
191
- async deleteBySessionId(sessionId) {
192
- const result = await this.collection.deleteMany({ sessionId });
193
- return result.deletedCount;
194
- }
195
- async deleteByUserId(userId) {
196
- const result = await this.collection.deleteMany({ userId });
197
- return result.deletedCount;
198
- }
199
- }
200
- //# sourceMappingURL=MongoAdapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MongoAdapter.js","sourceRoot":"","sources":["../../../src/adapters/MongoAdapter.ts"],"names":[],"mappings":"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"}