@multiplayer-app/ai-agent-mongo 0.1.0-beta.7 → 0.1.0-beta.71

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 (147) hide show
  1. package/dist/cjs/__tests__/helpers.cjs +1 -1
  2. package/dist/cjs/__tests__/helpers.cjs.map +1 -1
  3. package/dist/cjs/__tests__/repositories/MongoActivityRepository.test.cjs +365 -0
  4. package/dist/cjs/__tests__/repositories/MongoActivityRepository.test.cjs.map +1 -0
  5. package/dist/cjs/__tests__/repositories/MongoActivityRepository.test.d.ts +2 -0
  6. package/dist/cjs/__tests__/repositories/MongoActivityRepository.test.d.ts.map +1 -0
  7. package/dist/cjs/__tests__/repositories/MongoAgentChatRepository.test.cjs +12 -68
  8. package/dist/cjs/__tests__/repositories/MongoAgentChatRepository.test.cjs.map +1 -1
  9. package/dist/cjs/__tests__/repositories/MongoAgentConfigRepository.test.cjs +67 -0
  10. package/dist/cjs/__tests__/repositories/MongoAgentConfigRepository.test.cjs.map +1 -0
  11. package/dist/cjs/__tests__/repositories/MongoAgentConfigRepository.test.d.ts +2 -0
  12. package/dist/cjs/__tests__/repositories/MongoAgentConfigRepository.test.d.ts.map +1 -0
  13. package/dist/cjs/__tests__/repositories/MongoAgentMessageRepository.test.cjs +92 -0
  14. package/dist/cjs/__tests__/repositories/MongoAgentMessageRepository.test.cjs.map +1 -1
  15. package/dist/cjs/__tests__/schemas/AgentChatSchema.test.cjs +20 -14
  16. package/dist/cjs/__tests__/schemas/AgentChatSchema.test.cjs.map +1 -1
  17. package/dist/cjs/__tests__/schemas/AgentConfigPreferenceSchema.test.cjs +62 -0
  18. package/dist/cjs/__tests__/schemas/AgentConfigPreferenceSchema.test.cjs.map +1 -0
  19. package/dist/cjs/__tests__/schemas/AgentConfigPreferenceSchema.test.d.ts +2 -0
  20. package/dist/cjs/__tests__/schemas/AgentConfigPreferenceSchema.test.d.ts.map +1 -0
  21. package/dist/cjs/__tests__/schemas/AgentMessageSchema.test.cjs +11 -0
  22. package/dist/cjs/__tests__/schemas/AgentMessageSchema.test.cjs.map +1 -1
  23. package/dist/cjs/index.cjs +11 -1
  24. package/dist/cjs/index.cjs.map +1 -1
  25. package/dist/cjs/index.d.ts +5 -0
  26. package/dist/cjs/index.d.ts.map +1 -1
  27. package/dist/cjs/repositories/MongoActivityRepository.cjs +403 -0
  28. package/dist/cjs/repositories/MongoActivityRepository.cjs.map +1 -0
  29. package/dist/cjs/repositories/MongoActivityRepository.d.ts +64 -0
  30. package/dist/cjs/repositories/MongoActivityRepository.d.ts.map +1 -0
  31. package/dist/cjs/repositories/MongoAgentChatRepository.cjs +36 -141
  32. package/dist/cjs/repositories/MongoAgentChatRepository.cjs.map +1 -1
  33. package/dist/cjs/repositories/MongoAgentChatRepository.d.ts +4 -14
  34. package/dist/cjs/repositories/MongoAgentChatRepository.d.ts.map +1 -1
  35. package/dist/cjs/repositories/MongoAgentConfigRepository.cjs +126 -0
  36. package/dist/cjs/repositories/MongoAgentConfigRepository.cjs.map +1 -0
  37. package/dist/cjs/repositories/MongoAgentConfigRepository.d.ts +25 -0
  38. package/dist/cjs/repositories/MongoAgentConfigRepository.d.ts.map +1 -0
  39. package/dist/cjs/repositories/MongoAgentMessageRepository.cjs +66 -14
  40. package/dist/cjs/repositories/MongoAgentMessageRepository.cjs.map +1 -1
  41. package/dist/cjs/repositories/MongoAgentMessageRepository.d.ts +11 -2
  42. package/dist/cjs/repositories/MongoAgentMessageRepository.d.ts.map +1 -1
  43. package/dist/cjs/repositories/MongoTenantAICredentialRepository.cjs +129 -0
  44. package/dist/cjs/repositories/MongoTenantAICredentialRepository.cjs.map +1 -0
  45. package/dist/cjs/repositories/MongoTenantAICredentialRepository.d.ts +25 -0
  46. package/dist/cjs/repositories/MongoTenantAICredentialRepository.d.ts.map +1 -0
  47. package/dist/cjs/repositories/index.cjs +3 -0
  48. package/dist/cjs/repositories/index.cjs.map +1 -1
  49. package/dist/cjs/repositories/index.d.ts +3 -0
  50. package/dist/cjs/repositories/index.d.ts.map +1 -1
  51. package/dist/cjs/schemas/ActivitySchema.cjs +34 -0
  52. package/dist/cjs/schemas/ActivitySchema.cjs.map +1 -0
  53. package/dist/cjs/schemas/ActivitySchema.d.ts +30 -0
  54. package/dist/cjs/schemas/ActivitySchema.d.ts.map +1 -0
  55. package/dist/cjs/schemas/AgentChatSchema.cjs +3 -2
  56. package/dist/cjs/schemas/AgentChatSchema.cjs.map +1 -1
  57. package/dist/cjs/schemas/AgentChatSchema.d.ts.map +1 -1
  58. package/dist/cjs/schemas/AgentConfigPreferenceSchema.cjs +24 -0
  59. package/dist/cjs/schemas/AgentConfigPreferenceSchema.cjs.map +1 -0
  60. package/dist/cjs/schemas/AgentConfigPreferenceSchema.d.ts +24 -0
  61. package/dist/cjs/schemas/AgentConfigPreferenceSchema.d.ts.map +1 -0
  62. package/dist/cjs/schemas/AgentMessageSchema.cjs +8 -4
  63. package/dist/cjs/schemas/AgentMessageSchema.cjs.map +1 -1
  64. package/dist/cjs/schemas/AgentMessageSchema.d.ts.map +1 -1
  65. package/dist/cjs/schemas/TenantAICredentialSchema.cjs +17 -0
  66. package/dist/cjs/schemas/TenantAICredentialSchema.cjs.map +1 -0
  67. package/dist/cjs/schemas/TenantAICredentialSchema.d.ts +20 -0
  68. package/dist/cjs/schemas/TenantAICredentialSchema.d.ts.map +1 -0
  69. package/dist/cjs/schemas/index.cjs +3 -0
  70. package/dist/cjs/schemas/index.cjs.map +1 -1
  71. package/dist/cjs/schemas/index.d.ts +3 -0
  72. package/dist/cjs/schemas/index.d.ts.map +1 -1
  73. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  74. package/dist/esm/__tests__/helpers.js +1 -1
  75. package/dist/esm/__tests__/helpers.js.map +1 -1
  76. package/dist/esm/__tests__/repositories/MongoActivityRepository.test.d.ts +2 -0
  77. package/dist/esm/__tests__/repositories/MongoActivityRepository.test.d.ts.map +1 -0
  78. package/dist/esm/__tests__/repositories/MongoActivityRepository.test.js +363 -0
  79. package/dist/esm/__tests__/repositories/MongoActivityRepository.test.js.map +1 -0
  80. package/dist/esm/__tests__/repositories/MongoAgentChatRepository.test.js +12 -68
  81. package/dist/esm/__tests__/repositories/MongoAgentChatRepository.test.js.map +1 -1
  82. package/dist/esm/__tests__/repositories/MongoAgentConfigRepository.test.d.ts +2 -0
  83. package/dist/esm/__tests__/repositories/MongoAgentConfigRepository.test.d.ts.map +1 -0
  84. package/dist/esm/__tests__/repositories/MongoAgentConfigRepository.test.js +65 -0
  85. package/dist/esm/__tests__/repositories/MongoAgentConfigRepository.test.js.map +1 -0
  86. package/dist/esm/__tests__/repositories/MongoAgentMessageRepository.test.js +92 -0
  87. package/dist/esm/__tests__/repositories/MongoAgentMessageRepository.test.js.map +1 -1
  88. package/dist/esm/__tests__/schemas/AgentChatSchema.test.js +20 -14
  89. package/dist/esm/__tests__/schemas/AgentChatSchema.test.js.map +1 -1
  90. package/dist/esm/__tests__/schemas/AgentConfigPreferenceSchema.test.d.ts +2 -0
  91. package/dist/esm/__tests__/schemas/AgentConfigPreferenceSchema.test.d.ts.map +1 -0
  92. package/dist/esm/__tests__/schemas/AgentConfigPreferenceSchema.test.js +60 -0
  93. package/dist/esm/__tests__/schemas/AgentConfigPreferenceSchema.test.js.map +1 -0
  94. package/dist/esm/__tests__/schemas/AgentMessageSchema.test.js +11 -0
  95. package/dist/esm/__tests__/schemas/AgentMessageSchema.test.js.map +1 -1
  96. package/dist/esm/index.d.ts +5 -0
  97. package/dist/esm/index.d.ts.map +1 -1
  98. package/dist/esm/index.js +5 -0
  99. package/dist/esm/index.js.map +1 -1
  100. package/dist/esm/repositories/MongoActivityRepository.d.ts +64 -0
  101. package/dist/esm/repositories/MongoActivityRepository.d.ts.map +1 -0
  102. package/dist/esm/repositories/MongoActivityRepository.js +398 -0
  103. package/dist/esm/repositories/MongoActivityRepository.js.map +1 -0
  104. package/dist/esm/repositories/MongoAgentChatRepository.d.ts +4 -14
  105. package/dist/esm/repositories/MongoAgentChatRepository.d.ts.map +1 -1
  106. package/dist/esm/repositories/MongoAgentChatRepository.js +36 -141
  107. package/dist/esm/repositories/MongoAgentChatRepository.js.map +1 -1
  108. package/dist/esm/repositories/MongoAgentConfigRepository.d.ts +25 -0
  109. package/dist/esm/repositories/MongoAgentConfigRepository.d.ts.map +1 -0
  110. package/dist/esm/repositories/MongoAgentConfigRepository.js +122 -0
  111. package/dist/esm/repositories/MongoAgentConfigRepository.js.map +1 -0
  112. package/dist/esm/repositories/MongoAgentMessageRepository.d.ts +11 -2
  113. package/dist/esm/repositories/MongoAgentMessageRepository.d.ts.map +1 -1
  114. package/dist/esm/repositories/MongoAgentMessageRepository.js +66 -14
  115. package/dist/esm/repositories/MongoAgentMessageRepository.js.map +1 -1
  116. package/dist/esm/repositories/MongoTenantAICredentialRepository.d.ts +25 -0
  117. package/dist/esm/repositories/MongoTenantAICredentialRepository.d.ts.map +1 -0
  118. package/dist/esm/repositories/MongoTenantAICredentialRepository.js +125 -0
  119. package/dist/esm/repositories/MongoTenantAICredentialRepository.js.map +1 -0
  120. package/dist/esm/repositories/index.d.ts +3 -0
  121. package/dist/esm/repositories/index.d.ts.map +1 -1
  122. package/dist/esm/repositories/index.js +3 -0
  123. package/dist/esm/repositories/index.js.map +1 -1
  124. package/dist/esm/schemas/ActivitySchema.d.ts +30 -0
  125. package/dist/esm/schemas/ActivitySchema.d.ts.map +1 -0
  126. package/dist/esm/schemas/ActivitySchema.js +31 -0
  127. package/dist/esm/schemas/ActivitySchema.js.map +1 -0
  128. package/dist/esm/schemas/AgentChatSchema.d.ts.map +1 -1
  129. package/dist/esm/schemas/AgentChatSchema.js +3 -2
  130. package/dist/esm/schemas/AgentChatSchema.js.map +1 -1
  131. package/dist/esm/schemas/AgentConfigPreferenceSchema.d.ts +24 -0
  132. package/dist/esm/schemas/AgentConfigPreferenceSchema.d.ts.map +1 -0
  133. package/dist/esm/schemas/AgentConfigPreferenceSchema.js +21 -0
  134. package/dist/esm/schemas/AgentConfigPreferenceSchema.js.map +1 -0
  135. package/dist/esm/schemas/AgentMessageSchema.d.ts.map +1 -1
  136. package/dist/esm/schemas/AgentMessageSchema.js +8 -4
  137. package/dist/esm/schemas/AgentMessageSchema.js.map +1 -1
  138. package/dist/esm/schemas/TenantAICredentialSchema.d.ts +20 -0
  139. package/dist/esm/schemas/TenantAICredentialSchema.d.ts.map +1 -0
  140. package/dist/esm/schemas/TenantAICredentialSchema.js +14 -0
  141. package/dist/esm/schemas/TenantAICredentialSchema.js.map +1 -0
  142. package/dist/esm/schemas/index.d.ts +3 -0
  143. package/dist/esm/schemas/index.d.ts.map +1 -1
  144. package/dist/esm/schemas/index.js +3 -0
  145. package/dist/esm/schemas/index.js.map +1 -1
  146. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  147. package/package.json +48 -43
@@ -4,7 +4,6 @@ exports.MongoAgentChatRepository = void 0;
4
4
  const ai_agent_types_1 = require("@multiplayer-app/ai-agent-types");
5
5
  const AgentChatSchema_1 = require("../schemas/AgentChatSchema.cjs");
6
6
  const AgentMessageSchema_1 = require("../schemas/AgentMessageSchema.cjs");
7
- const mongo_1 = require("../mongo/index.cjs");
8
7
  /**
9
8
  * Helper function to convert Mongoose document to AgentChat type
10
9
  */
@@ -12,6 +11,7 @@ function toAgentChat(doc) {
12
11
  if (!doc)
13
12
  return null;
14
13
  const chat = doc.toObject ? doc.toObject() : doc;
14
+ const tenants = chat.tenants instanceof Map ? Object.fromEntries(chat.tenants.entries()) : (chat.tenants ?? {});
15
15
  return {
16
16
  id: doc._id.toString(),
17
17
  title: chat.title,
@@ -22,7 +22,7 @@ function toAgentChat(doc) {
22
22
  createdAt: chat.createdAt,
23
23
  updatedAt: chat.updatedAt,
24
24
  metadata: chat.metadata,
25
- userId: chat.userId
25
+ tenants
26
26
  };
27
27
  }
28
28
  /**
@@ -33,35 +33,13 @@ class MongoAgentChatRepository {
33
33
  const doc = await AgentChatSchema_1.AgentChatModel.findById(id).exec();
34
34
  return toAgentChat(doc);
35
35
  }
36
- async find(filter, options) {
37
- const query = {};
38
- if (filter) {
39
- if (filter.id) {
40
- query._id = filter.id;
41
- delete filter.id;
42
- }
43
- Object.assign(query, filter);
44
- }
45
- let queryBuilder = AgentChatSchema_1.AgentChatModel.find(query);
46
- // Apply sorting
47
- if (options?.sort) {
48
- const sortOrder = options.sort.order === ai_agent_types_1.SortOrder.Asc ? 1 : -1;
49
- queryBuilder = queryBuilder.sort({ [options.sort.field]: sortOrder });
50
- }
51
- // Apply limit
52
- if (options?.limit) {
53
- queryBuilder = queryBuilder.limit(options.limit);
54
- }
55
- const docs = await queryBuilder.exec();
56
- return docs.map(doc => toAgentChat(doc)).filter(Boolean);
57
- }
58
36
  async findOne(filter) {
59
37
  const query = {};
60
- if (filter.id) {
61
- query._id = filter.id;
62
- delete filter.id;
38
+ const { id, ...rest } = filter;
39
+ if (id) {
40
+ query._id = id;
63
41
  }
64
- Object.assign(query, filter);
42
+ Object.assign(query, rest);
65
43
  const doc = await AgentChatSchema_1.AgentChatModel.findOne(query).exec();
66
44
  return toAgentChat(doc);
67
45
  }
@@ -97,142 +75,59 @@ class MongoAgentChatRepository {
97
75
  async count(filter) {
98
76
  const query = {};
99
77
  if (filter) {
100
- if (filter.id) {
101
- query._id = filter.id;
102
- delete filter.id;
78
+ const { id, ...rest } = filter;
79
+ if (id) {
80
+ query._id = id;
103
81
  }
104
- Object.assign(query, filter);
82
+ Object.assign(query, rest);
105
83
  }
106
84
  return AgentChatSchema_1.AgentChatModel.countDocuments(query).exec();
107
85
  }
108
- async findByUserId(userId) {
109
- const docs = await AgentChatSchema_1.AgentChatModel.find({ userId }).exec();
110
- return docs.map(doc => toAgentChat(doc)).filter(Boolean);
111
- }
112
- async findByContextKey(contextKey) {
113
- const docs = await AgentChatSchema_1.AgentChatModel.find({ contextKey }).exec();
114
- return docs.map(doc => toAgentChat(doc)).filter(Boolean);
115
- }
116
- async findByUserIdAndContextKey(userId, contextKey) {
117
- const docs = await AgentChatSchema_1.AgentChatModel.find({ userId, contextKey }).exec();
118
- return docs.map(doc => toAgentChat(doc)).filter(Boolean);
119
- }
120
- async findGuestChatsByContextKey(contextKey) {
121
- const docs = await AgentChatSchema_1.AgentChatModel.find({
122
- contextKey,
123
- userId: { $exists: false }
124
- }).exec();
125
- return docs.map(doc => toAgentChat(doc)).filter(Boolean);
126
- }
127
86
  async updateTitle(id, title) {
128
87
  const doc = await AgentChatSchema_1.AgentChatModel.findByIdAndUpdate(id, { $set: { title, updatedAt: new Date().toISOString() } }, { new: true }).exec();
129
88
  return toAgentChat(doc);
130
89
  }
131
90
  async deleteByUserId(userId) {
132
- const result = await AgentChatSchema_1.AgentChatModel.deleteMany({ userId }).exec();
91
+ const result = await AgentChatSchema_1.AgentChatModel.deleteMany({ 'tenants.userId': userId }).exec();
133
92
  return result.deletedCount || 0;
134
93
  }
135
94
  async deleteByContextKey(contextKey) {
136
95
  const result = await AgentChatSchema_1.AgentChatModel.deleteMany({ contextKey }).exec();
137
96
  return result.deletedCount || 0;
138
97
  }
139
- async findWithMessages(filter, options) {
140
- // Build match stage for filtering
141
- const matchStage = {};
98
+ async find(filter, options) {
99
+ const query = {};
142
100
  if (filter) {
143
- if (filter.id) {
144
- matchStage._id = new mongo_1.ObjectId(filter.id);
145
- }
146
- if (filter.userId !== undefined) {
147
- matchStage.userId = filter.userId;
148
- }
149
- if (filter.contextKey !== undefined) {
150
- matchStage.contextKey = filter.contextKey;
151
- }
152
- if (filter.type !== undefined) {
153
- matchStage.type = filter.type;
154
- }
155
- if (filter.status !== undefined) {
156
- matchStage.status = filter.status;
157
- }
158
- if (filter.model !== undefined) {
159
- matchStage.model = filter.model;
160
- }
101
+ if (filter.id)
102
+ query._id = filter.id;
103
+ if (filter.tenants !== undefined)
104
+ query.tenants = filter.tenants;
105
+ const legacyUserId = filter.userId;
106
+ if (legacyUserId !== undefined)
107
+ query['tenants.userId'] = legacyUserId;
108
+ if (filter.contextKey !== undefined)
109
+ query.contextKey = filter.contextKey;
110
+ if (filter.type !== undefined)
111
+ query.type = filter.type;
112
+ if (filter.status !== undefined)
113
+ query.status = filter.status;
114
+ if (filter.model !== undefined)
115
+ query.model = filter.model;
161
116
  }
162
- // Build aggregation pipeline
163
- const pipeline = [
164
- { $match: matchStage }
165
- ];
166
- // Add sort stage before lookup (for better performance)
117
+ let qb = AgentChatSchema_1.AgentChatModel.find(query);
167
118
  if (options?.sort) {
168
119
  const sortField = options.sort.field === 'id' ? '_id' : options.sort.field;
169
120
  const sortOrder = options.sort.order === ai_agent_types_1.SortOrder.Asc ? 1 : -1;
170
- pipeline.push({ $sort: { [sortField]: sortOrder } });
121
+ qb = qb.sort({ [sortField]: sortOrder });
122
+ }
123
+ if (options?.skip) {
124
+ qb = qb.skip(options.skip);
171
125
  }
172
- // Add limit before lookup if specified (for better performance)
173
126
  if (options?.limit) {
174
- pipeline.push({ $limit: options.limit });
127
+ qb = qb.limit(options.limit);
175
128
  }
176
- // Lookup messages
177
- pipeline.push({
178
- $lookup: {
179
- from: 'agentmessages',
180
- localField: '_id',
181
- foreignField: 'chat',
182
- as: 'messages'
183
- }
184
- });
185
- // Transform messages
186
- pipeline.push({
187
- $addFields: {
188
- messages: {
189
- $map: {
190
- input: { $sortArray: { input: '$messages', sortBy: { createdAt: 1 } } },
191
- as: 'msg',
192
- in: {
193
- id: { $toString: '$$msg._id' },
194
- chat: { $toString: '$$msg.chat' },
195
- role: '$$msg.role',
196
- content: '$$msg.content',
197
- createdAt: '$$msg.createdAt',
198
- toolCalls: { $ifNull: ['$$msg.toolCalls', []] },
199
- attachments: { $ifNull: ['$$msg.attachments', []] },
200
- annotations: '$$msg.annotations'
201
- }
202
- }
203
- }
204
- }
205
- });
206
- // Project final shape
207
- pipeline.push({
208
- $project: {
209
- id: { $toString: '$_id' },
210
- title: 1,
211
- type: { $ifNull: ['$type', ai_agent_types_1.ChatType.Chat] },
212
- status: 1,
213
- contextKey: 1,
214
- model: 1,
215
- createdAt: 1,
216
- updatedAt: 1,
217
- metadata: 1,
218
- userId: 1,
219
- messages: 1
220
- }
221
- });
222
- const results = await AgentChatSchema_1.AgentChatModel.aggregate(pipeline).exec();
223
- return results.map((result) => ({
224
- id: result.id,
225
- title: result.title,
226
- type: result.type || ai_agent_types_1.ChatType.Chat,
227
- status: result.status,
228
- contextKey: result.contextKey,
229
- model: result.model,
230
- createdAt: result.createdAt,
231
- updatedAt: result.updatedAt,
232
- metadata: result.metadata,
233
- userId: result.userId,
234
- messages: result.messages || []
235
- }));
129
+ const docs = await qb.exec();
130
+ return docs.map((doc) => toAgentChat(doc)).filter(Boolean);
236
131
  }
237
132
  }
238
133
  exports.MongoAgentChatRepository = MongoAgentChatRepository;
@@ -1 +1 @@
1
- {"version":3,"file":"MongoAgentChatRepository.js","sourceRoot":"","sources":["../../../src/repositories/MongoAgentChatRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MongoAgentChatRepository.js","sourceRoot":"","sources":["../../../src/repositories/MongoAgentChatRepository.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { AgentChat, AgentChatResponse } from '@multiplayer-app/ai-agent-types';
1
+ import type { AgentChat } from '@multiplayer-app/ai-agent-types';
2
2
  import { SortOrder } from '@multiplayer-app/ai-agent-types';
3
3
  import type { AgentChatRepository } from '@multiplayer-app/ai-agent-db';
4
4
  /**
@@ -6,32 +6,22 @@ import type { AgentChatRepository } from '@multiplayer-app/ai-agent-db';
6
6
  */
7
7
  export declare class MongoAgentChatRepository implements AgentChatRepository {
8
8
  findById(id: string): Promise<AgentChat | null>;
9
- find(filter?: Partial<AgentChat>, options?: {
10
- sort?: {
11
- field: string;
12
- order: SortOrder;
13
- };
14
- limit?: number;
15
- }): Promise<AgentChat[]>;
16
9
  findOne(filter: Partial<AgentChat>): Promise<AgentChat | null>;
17
10
  create(entity: Omit<AgentChat, 'id' | 'createdAt' | 'updatedAt'>): Promise<AgentChat>;
18
11
  update(id: string, updates: Partial<Omit<AgentChat, 'id' | 'createdAt'>>): Promise<AgentChat | null>;
19
12
  delete(id: string): Promise<boolean>;
20
13
  exists(id: string): Promise<boolean>;
21
14
  count(filter?: Partial<AgentChat>): Promise<number>;
22
- findByUserId(userId: string): Promise<AgentChat[]>;
23
- findByContextKey(contextKey: string): Promise<AgentChat[]>;
24
- findByUserIdAndContextKey(userId: string, contextKey: string): Promise<AgentChat[]>;
25
- findGuestChatsByContextKey(contextKey: string): Promise<AgentChat[]>;
26
15
  updateTitle(id: string, title: string): Promise<AgentChat | null>;
27
16
  deleteByUserId(userId: string): Promise<number>;
28
17
  deleteByContextKey(contextKey: string): Promise<number>;
29
- findWithMessages(filter?: Partial<AgentChat>, options?: {
18
+ find(filter?: Partial<AgentChat>, options?: {
30
19
  sort?: {
31
20
  field: string;
32
21
  order: SortOrder;
33
22
  };
23
+ skip?: number;
34
24
  limit?: number;
35
- }): Promise<AgentChatResponse[]>;
25
+ }): Promise<AgentChat[]>;
36
26
  }
37
27
  //# sourceMappingURL=MongoAgentChatRepository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MongoAgentChatRepository.d.ts","sourceRoot":"","sources":["../../../src/repositories/MongoAgentChatRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,EAAY,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AA0BxE;;GAEG;AACH,qBAAa,wBAAyB,YAAW,mBAAmB;IAC5D,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAK/C,IAAI,CACR,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,EAC3B,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,SAAS,CAAA;SAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GACvE,OAAO,CAAC,SAAS,EAAE,CAAC;IA4BjB,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAa9D,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;IAgBrF,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAUpG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUpC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKpC,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAcnD,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAKlD,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAK1D,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAKnF,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAQpE,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAUjE,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK/C,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKvD,gBAAgB,CACpB,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,EAC3B,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,SAAS,CAAA;SAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GACvE,OAAO,CAAC,iBAAiB,EAAE,CAAC;CA2GhC"}
1
+ {"version":3,"file":"MongoAgentChatRepository.d.ts","sourceRoot":"","sources":["../../../src/repositories/MongoAgentChatRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAY,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AA2BxE;;GAEG;AACH,qBAAa,wBAAyB,YAAW,mBAAmB;IAC5D,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAK/C,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAa9D,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;IAgBrF,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAUpG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUpC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKpC,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAcnD,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAUjE,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK/C,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKvD,IAAI,CACR,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,EAC3B,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,SAAS,CAAA;SAAE,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GACtF,OAAO,CAAC,SAAS,EAAE,CAAC;CAiCxB"}
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MongoAgentConfigRepository = void 0;
4
+ const ai_agent_types_1 = require("@multiplayer-app/ai-agent-types");
5
+ const AgentConfigPreferenceSchema_1 = require("../schemas/AgentConfigPreferenceSchema.cjs");
6
+ function toAgentConfigPreference(doc) {
7
+ if (!doc)
8
+ return null;
9
+ const value = doc.toObject ? doc.toObject() : doc;
10
+ const toolsValue = value.tools;
11
+ const tools = toolsValue instanceof Map
12
+ ? Object.fromEntries(toolsValue.entries())
13
+ : (toolsValue ?? {});
14
+ return {
15
+ id: doc._id.toString(),
16
+ userId: value.userId,
17
+ agentName: value.agentName,
18
+ tools,
19
+ createdAt: value.createdAt?.toISOString?.() ?? value.createdAt,
20
+ updatedAt: value.updatedAt?.toISOString?.() ?? value.updatedAt,
21
+ };
22
+ }
23
+ class MongoAgentConfigRepository {
24
+ async findById(id) {
25
+ const doc = await AgentConfigPreferenceSchema_1.AgentConfigPreferenceModel.findById(id).exec();
26
+ return toAgentConfigPreference(doc);
27
+ }
28
+ async find(filter, options) {
29
+ const query = {};
30
+ if (filter) {
31
+ if (filter.id)
32
+ query._id = filter.id;
33
+ if (filter.userId !== undefined)
34
+ query.userId = filter.userId;
35
+ if (filter.agentName !== undefined)
36
+ query.agentName = filter.agentName;
37
+ }
38
+ let qb = AgentConfigPreferenceSchema_1.AgentConfigPreferenceModel.find(query);
39
+ if (options?.sort) {
40
+ const sortField = options.sort.field === 'id' ? '_id' : options.sort.field;
41
+ const sortOrder = options.sort.order === ai_agent_types_1.SortOrder.Asc ? 1 : -1;
42
+ qb = qb.sort({ [sortField]: sortOrder });
43
+ }
44
+ if (options?.skip)
45
+ qb = qb.skip(options.skip);
46
+ if (options?.limit)
47
+ qb = qb.limit(options.limit);
48
+ const docs = await qb.exec();
49
+ return docs.map((doc) => toAgentConfigPreference(doc)).filter(Boolean);
50
+ }
51
+ async findOne(filter) {
52
+ const query = {};
53
+ if (filter.id)
54
+ query._id = filter.id;
55
+ if (filter.userId !== undefined)
56
+ query.userId = filter.userId;
57
+ if (filter.agentName !== undefined)
58
+ query.agentName = filter.agentName;
59
+ const doc = await AgentConfigPreferenceSchema_1.AgentConfigPreferenceModel.findOne(query).exec();
60
+ return toAgentConfigPreference(doc);
61
+ }
62
+ async create(entity) {
63
+ const doc = new AgentConfigPreferenceSchema_1.AgentConfigPreferenceModel({
64
+ ...entity,
65
+ tools: entity.tools ?? {},
66
+ });
67
+ const saved = await doc.save();
68
+ const result = toAgentConfigPreference(saved);
69
+ if (!result)
70
+ throw new Error('Failed to create agent config preference');
71
+ return result;
72
+ }
73
+ async update(id, updates) {
74
+ const doc = await AgentConfigPreferenceSchema_1.AgentConfigPreferenceModel.findByIdAndUpdate(id, { $set: updates }, { new: true, runValidators: true }).exec();
75
+ return toAgentConfigPreference(doc);
76
+ }
77
+ async delete(id) {
78
+ const result = await AgentConfigPreferenceSchema_1.AgentConfigPreferenceModel.findByIdAndDelete(id).exec();
79
+ return !!result;
80
+ }
81
+ async exists(id) {
82
+ const count = await AgentConfigPreferenceSchema_1.AgentConfigPreferenceModel.countDocuments({ _id: id }).exec();
83
+ return count > 0;
84
+ }
85
+ async count(filter) {
86
+ const query = {};
87
+ if (filter) {
88
+ if (filter.id)
89
+ query._id = filter.id;
90
+ if (filter.userId !== undefined)
91
+ query.userId = filter.userId;
92
+ if (filter.agentName !== undefined)
93
+ query.agentName = filter.agentName;
94
+ }
95
+ return AgentConfigPreferenceSchema_1.AgentConfigPreferenceModel.countDocuments(query).exec();
96
+ }
97
+ async findByUserId(userId) {
98
+ const docs = await AgentConfigPreferenceSchema_1.AgentConfigPreferenceModel.find({ userId }).exec();
99
+ return docs.map((doc) => toAgentConfigPreference(doc)).filter(Boolean);
100
+ }
101
+ async findByUserIdAndAgentName(userId, agentName) {
102
+ const doc = await AgentConfigPreferenceSchema_1.AgentConfigPreferenceModel.findOne({ userId, agentName }).exec();
103
+ return toAgentConfigPreference(doc);
104
+ }
105
+ async upsertByUserIdAndAgentName(userId, agentName, updates) {
106
+ const doc = await AgentConfigPreferenceSchema_1.AgentConfigPreferenceModel.findOneAndUpdate({ userId, agentName }, {
107
+ $set: {
108
+ tools: updates.tools ?? {},
109
+ },
110
+ }, {
111
+ new: true,
112
+ upsert: true,
113
+ runValidators: true,
114
+ }).exec();
115
+ const result = toAgentConfigPreference(doc);
116
+ if (!result)
117
+ throw new Error('Failed to upsert agent config preference');
118
+ return result;
119
+ }
120
+ async deleteByUserId(userId) {
121
+ const result = await AgentConfigPreferenceSchema_1.AgentConfigPreferenceModel.deleteMany({ userId }).exec();
122
+ return result.deletedCount || 0;
123
+ }
124
+ }
125
+ exports.MongoAgentConfigRepository = MongoAgentConfigRepository;
126
+ //# sourceMappingURL=MongoAgentConfigRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MongoAgentConfigRepository.js","sourceRoot":"","sources":["../../../src/repositories/MongoAgentConfigRepository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { AgentConfigPreference } from '@multiplayer-app/ai-agent-types';
2
+ import type { AgentConfigRepository } from '@multiplayer-app/ai-agent-db';
3
+ import { SortOrder } from '@multiplayer-app/ai-agent-types';
4
+ export declare class MongoAgentConfigRepository implements AgentConfigRepository {
5
+ findById(id: string): Promise<AgentConfigPreference | null>;
6
+ find(filter?: Partial<AgentConfigPreference>, options?: {
7
+ sort?: {
8
+ field: string;
9
+ order: SortOrder;
10
+ };
11
+ skip?: number;
12
+ limit?: number;
13
+ }): Promise<AgentConfigPreference[]>;
14
+ findOne(filter: Partial<AgentConfigPreference>): Promise<AgentConfigPreference | null>;
15
+ create(entity: Omit<AgentConfigPreference, 'id' | 'createdAt' | 'updatedAt'>): Promise<AgentConfigPreference>;
16
+ update(id: string, updates: Partial<Omit<AgentConfigPreference, 'id' | 'createdAt'>>): Promise<AgentConfigPreference | null>;
17
+ delete(id: string): Promise<boolean>;
18
+ exists(id: string): Promise<boolean>;
19
+ count(filter?: Partial<AgentConfigPreference>): Promise<number>;
20
+ findByUserId(userId: string): Promise<AgentConfigPreference[]>;
21
+ findByUserIdAndAgentName(userId: string, agentName: string): Promise<AgentConfigPreference | null>;
22
+ upsertByUserIdAndAgentName(userId: string, agentName: string, updates: Pick<AgentConfigPreference, 'tools'>): Promise<AgentConfigPreference>;
23
+ deleteByUserId(userId: string): Promise<number>;
24
+ }
25
+ //# sourceMappingURL=MongoAgentConfigRepository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MongoAgentConfigRepository.d.ts","sourceRoot":"","sources":["../../../src/repositories/MongoAgentConfigRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAyB5D,qBAAa,0BAA2B,YAAW,qBAAqB;IAChE,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAK3D,IAAI,CACR,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,EACvC,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,SAAS,CAAA;SAAE,CAAC;QAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GACA,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAqB7B,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAUtF,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,qBAAqB,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAW7G,MAAM,CACV,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,GAAG,WAAW,CAAC,CAAC,GAChE,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IASlC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKpC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKpC,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAU/D,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAK9D,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAKlG,0BAA0B,CAC9B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,GAC5C,OAAO,CAAC,qBAAqB,CAAC;IAoB3B,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAItD"}
@@ -14,14 +14,16 @@ function toAgentMessage(doc) {
14
14
  id: doc._id.toString(),
15
15
  chat: doc.chat.toString(),
16
16
  role: message.role,
17
- content: message.content,
17
+ content: message.content || '',
18
18
  createdAt: message.createdAt,
19
+ activity: message.activity,
19
20
  reasoning: message.reasoning,
20
21
  toolCalls: message.toolCalls || [],
21
22
  attachments: message.attachments || [],
22
23
  annotations: message.annotations,
23
24
  tokens: message.tokens,
24
25
  agentName: message.agentName,
26
+ userId: message.userId,
25
27
  };
26
28
  }
27
29
  /**
@@ -35,22 +37,22 @@ class MongoAgentMessageRepository {
35
37
  async find(filter) {
36
38
  const query = {};
37
39
  if (filter) {
38
- if (filter.id) {
39
- query._id = filter.id;
40
- delete filter.id;
40
+ const { id, ...rest } = filter;
41
+ if (id) {
42
+ query._id = id;
41
43
  }
42
- Object.assign(query, filter);
44
+ Object.assign(query, rest);
43
45
  }
44
46
  const docs = await AgentMessageSchema_1.AgentMessageModel.find(query).exec();
45
47
  return docs.map(doc => toAgentMessage(doc)).filter(Boolean);
46
48
  }
47
49
  async findOne(filter) {
48
50
  const query = {};
49
- if (filter.id) {
50
- query._id = filter.id;
51
- delete filter.id;
51
+ const { id, ...rest } = filter;
52
+ if (id) {
53
+ query._id = id;
52
54
  }
53
- Object.assign(query, filter);
55
+ Object.assign(query, rest);
54
56
  const doc = await AgentMessageSchema_1.AgentMessageModel.findOne(query).exec();
55
57
  return toAgentMessage(doc);
56
58
  }
@@ -69,7 +71,29 @@ class MongoAgentMessageRepository {
69
71
  return result;
70
72
  }
71
73
  async update(id, updates) {
72
- const doc = await AgentMessageSchema_1.AgentMessageModel.findByIdAndUpdate(id, { $set: updates }, { new: true }).exec();
74
+ const doc = await AgentMessageSchema_1.AgentMessageModel.findByIdAndUpdate(id, { $set: updates }, { new: true, runValidators: true }).exec();
75
+ return toAgentMessage(doc);
76
+ }
77
+ async updateToolCall(messageId, toolCallId, updates) {
78
+ const setUpdates = {};
79
+ if (updates.input !== undefined) {
80
+ setUpdates['toolCalls.$.input'] = updates.input;
81
+ }
82
+ if (updates.output !== undefined) {
83
+ setUpdates['toolCalls.$.output'] = updates.output;
84
+ }
85
+ if (updates.status !== undefined) {
86
+ setUpdates['toolCalls.$.status'] = updates.status;
87
+ }
88
+ if (Object.keys(setUpdates).length === 0) {
89
+ return this.findById(messageId);
90
+ }
91
+ const doc = await AgentMessageSchema_1.AgentMessageModel.findOneAndUpdate({
92
+ _id: messageId,
93
+ 'toolCalls.id': toolCallId,
94
+ }, {
95
+ $set: setUpdates,
96
+ }, { new: true, runValidators: true }).exec();
73
97
  return toAgentMessage(doc);
74
98
  }
75
99
  async delete(id) {
@@ -83,11 +107,11 @@ class MongoAgentMessageRepository {
83
107
  async count(filter) {
84
108
  const query = {};
85
109
  if (filter) {
86
- if (filter.id) {
87
- query._id = filter.id;
88
- delete filter.id;
110
+ const { id, ...rest } = filter;
111
+ if (id) {
112
+ query._id = id;
89
113
  }
90
- Object.assign(query, filter);
114
+ Object.assign(query, rest);
91
115
  }
92
116
  return AgentMessageSchema_1.AgentMessageModel.countDocuments(query).exec();
93
117
  }
@@ -95,6 +119,34 @@ class MongoAgentMessageRepository {
95
119
  const docs = await AgentMessageSchema_1.AgentMessageModel.find({ chat: chatId }).exec();
96
120
  return docs.map(doc => toAgentMessage(doc)).filter(Boolean);
97
121
  }
122
+ async findByChatIdPaginated(chatId, options) {
123
+ const { limit, before } = options ?? {};
124
+ if (limit == null || limit <= 0) {
125
+ const messages = await this.findByChatId(chatId);
126
+ return { messages, hasMore: false };
127
+ }
128
+ const query = { chat: chatId };
129
+ if (before) {
130
+ const cursorMessage = await AgentMessageSchema_1.AgentMessageModel.findById(before).exec();
131
+ if (!cursorMessage || cursorMessage.chat.toString() !== chatId) {
132
+ throw new Error('Message not found or does not belong to this chat');
133
+ }
134
+ const cursorCreatedAt = cursorMessage.createdAt ?? cursorMessage.get?.('createdAt');
135
+ if (cursorCreatedAt) {
136
+ query.createdAt = { $lt: cursorCreatedAt };
137
+ }
138
+ }
139
+ const take = limit + 1;
140
+ const docs = await AgentMessageSchema_1.AgentMessageModel.find(query)
141
+ .sort({ createdAt: -1 })
142
+ .limit(take)
143
+ .exec();
144
+ const hasMore = docs.length > limit;
145
+ const slice = hasMore ? docs.slice(0, limit) : docs;
146
+ const messages = slice.map(doc => toAgentMessage(doc)).filter(Boolean);
147
+ messages.reverse();
148
+ return { messages, hasMore };
149
+ }
98
150
  async findByRole(role) {
99
151
  const docs = await AgentMessageSchema_1.AgentMessageModel.find({ role }).exec();
100
152
  return docs.map(doc => toAgentMessage(doc)).filter(Boolean);