@multiplayer-app/ai-agent-mongo 0.1.0-beta.8 → 0.1.0-beta.81

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 (163) 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 +385 -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/mongo/index.cjs +2 -17
  28. package/dist/cjs/mongo/index.cjs.map +1 -1
  29. package/dist/cjs/mongo/index.d.ts +0 -3
  30. package/dist/cjs/mongo/index.d.ts.map +1 -1
  31. package/dist/cjs/repositories/MongoActivityRepository.cjs +400 -0
  32. package/dist/cjs/repositories/MongoActivityRepository.cjs.map +1 -0
  33. package/dist/cjs/repositories/MongoActivityRepository.d.ts +68 -0
  34. package/dist/cjs/repositories/MongoActivityRepository.d.ts.map +1 -0
  35. package/dist/cjs/repositories/MongoAgentChatRepository.cjs +67 -146
  36. package/dist/cjs/repositories/MongoAgentChatRepository.cjs.map +1 -1
  37. package/dist/cjs/repositories/MongoAgentChatRepository.d.ts +7 -16
  38. package/dist/cjs/repositories/MongoAgentChatRepository.d.ts.map +1 -1
  39. package/dist/cjs/repositories/MongoAgentConfigRepository.cjs +126 -0
  40. package/dist/cjs/repositories/MongoAgentConfigRepository.cjs.map +1 -0
  41. package/dist/cjs/repositories/MongoAgentConfigRepository.d.ts +25 -0
  42. package/dist/cjs/repositories/MongoAgentConfigRepository.d.ts.map +1 -0
  43. package/dist/cjs/repositories/MongoAgentMessageRepository.cjs +70 -14
  44. package/dist/cjs/repositories/MongoAgentMessageRepository.cjs.map +1 -1
  45. package/dist/cjs/repositories/MongoAgentMessageRepository.d.ts +12 -2
  46. package/dist/cjs/repositories/MongoAgentMessageRepository.d.ts.map +1 -1
  47. package/dist/cjs/repositories/MongoTenantAICredentialRepository.cjs +129 -0
  48. package/dist/cjs/repositories/MongoTenantAICredentialRepository.cjs.map +1 -0
  49. package/dist/cjs/repositories/MongoTenantAICredentialRepository.d.ts +25 -0
  50. package/dist/cjs/repositories/MongoTenantAICredentialRepository.d.ts.map +1 -0
  51. package/dist/cjs/repositories/index.cjs +3 -0
  52. package/dist/cjs/repositories/index.cjs.map +1 -1
  53. package/dist/cjs/repositories/index.d.ts +3 -0
  54. package/dist/cjs/repositories/index.d.ts.map +1 -1
  55. package/dist/cjs/schemas/ActivitySchema.cjs +34 -0
  56. package/dist/cjs/schemas/ActivitySchema.cjs.map +1 -0
  57. package/dist/cjs/schemas/ActivitySchema.d.ts +30 -0
  58. package/dist/cjs/schemas/ActivitySchema.d.ts.map +1 -0
  59. package/dist/cjs/schemas/AgentChatSchema.cjs +9 -2
  60. package/dist/cjs/schemas/AgentChatSchema.cjs.map +1 -1
  61. package/dist/cjs/schemas/AgentChatSchema.d.ts.map +1 -1
  62. package/dist/cjs/schemas/AgentConfigPreferenceSchema.cjs +24 -0
  63. package/dist/cjs/schemas/AgentConfigPreferenceSchema.cjs.map +1 -0
  64. package/dist/cjs/schemas/AgentConfigPreferenceSchema.d.ts +24 -0
  65. package/dist/cjs/schemas/AgentConfigPreferenceSchema.d.ts.map +1 -0
  66. package/dist/cjs/schemas/AgentMessageSchema.cjs +21 -4
  67. package/dist/cjs/schemas/AgentMessageSchema.cjs.map +1 -1
  68. package/dist/cjs/schemas/AgentMessageSchema.d.ts.map +1 -1
  69. package/dist/cjs/schemas/TenantAICredentialSchema.cjs +17 -0
  70. package/dist/cjs/schemas/TenantAICredentialSchema.cjs.map +1 -0
  71. package/dist/cjs/schemas/TenantAICredentialSchema.d.ts +20 -0
  72. package/dist/cjs/schemas/TenantAICredentialSchema.d.ts.map +1 -0
  73. package/dist/cjs/schemas/index.cjs +3 -0
  74. package/dist/cjs/schemas/index.cjs.map +1 -1
  75. package/dist/cjs/schemas/index.d.ts +3 -0
  76. package/dist/cjs/schemas/index.d.ts.map +1 -1
  77. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  78. package/dist/esm/__tests__/helpers.js +1 -1
  79. package/dist/esm/__tests__/helpers.js.map +1 -1
  80. package/dist/esm/__tests__/repositories/MongoActivityRepository.test.d.ts +2 -0
  81. package/dist/esm/__tests__/repositories/MongoActivityRepository.test.d.ts.map +1 -0
  82. package/dist/esm/__tests__/repositories/MongoActivityRepository.test.js +383 -0
  83. package/dist/esm/__tests__/repositories/MongoActivityRepository.test.js.map +1 -0
  84. package/dist/esm/__tests__/repositories/MongoAgentChatRepository.test.js +12 -68
  85. package/dist/esm/__tests__/repositories/MongoAgentChatRepository.test.js.map +1 -1
  86. package/dist/esm/__tests__/repositories/MongoAgentConfigRepository.test.d.ts +2 -0
  87. package/dist/esm/__tests__/repositories/MongoAgentConfigRepository.test.d.ts.map +1 -0
  88. package/dist/esm/__tests__/repositories/MongoAgentConfigRepository.test.js +65 -0
  89. package/dist/esm/__tests__/repositories/MongoAgentConfigRepository.test.js.map +1 -0
  90. package/dist/esm/__tests__/repositories/MongoAgentMessageRepository.test.js +92 -0
  91. package/dist/esm/__tests__/repositories/MongoAgentMessageRepository.test.js.map +1 -1
  92. package/dist/esm/__tests__/schemas/AgentChatSchema.test.js +20 -14
  93. package/dist/esm/__tests__/schemas/AgentChatSchema.test.js.map +1 -1
  94. package/dist/esm/__tests__/schemas/AgentConfigPreferenceSchema.test.d.ts +2 -0
  95. package/dist/esm/__tests__/schemas/AgentConfigPreferenceSchema.test.d.ts.map +1 -0
  96. package/dist/esm/__tests__/schemas/AgentConfigPreferenceSchema.test.js +60 -0
  97. package/dist/esm/__tests__/schemas/AgentConfigPreferenceSchema.test.js.map +1 -0
  98. package/dist/esm/__tests__/schemas/AgentMessageSchema.test.js +11 -0
  99. package/dist/esm/__tests__/schemas/AgentMessageSchema.test.js.map +1 -1
  100. package/dist/esm/index.d.ts +5 -0
  101. package/dist/esm/index.d.ts.map +1 -1
  102. package/dist/esm/index.js +5 -0
  103. package/dist/esm/index.js.map +1 -1
  104. package/dist/esm/mongo/index.d.ts +0 -3
  105. package/dist/esm/mongo/index.d.ts.map +1 -1
  106. package/dist/esm/mongo/index.js +1 -16
  107. package/dist/esm/mongo/index.js.map +1 -1
  108. package/dist/esm/repositories/MongoActivityRepository.d.ts +68 -0
  109. package/dist/esm/repositories/MongoActivityRepository.d.ts.map +1 -0
  110. package/dist/esm/repositories/MongoActivityRepository.js +395 -0
  111. package/dist/esm/repositories/MongoActivityRepository.js.map +1 -0
  112. package/dist/esm/repositories/MongoAgentChatRepository.d.ts +7 -16
  113. package/dist/esm/repositories/MongoAgentChatRepository.d.ts.map +1 -1
  114. package/dist/esm/repositories/MongoAgentChatRepository.js +68 -147
  115. package/dist/esm/repositories/MongoAgentChatRepository.js.map +1 -1
  116. package/dist/esm/repositories/MongoAgentConfigRepository.d.ts +25 -0
  117. package/dist/esm/repositories/MongoAgentConfigRepository.d.ts.map +1 -0
  118. package/dist/esm/repositories/MongoAgentConfigRepository.js +122 -0
  119. package/dist/esm/repositories/MongoAgentConfigRepository.js.map +1 -0
  120. package/dist/esm/repositories/MongoAgentMessageRepository.d.ts +12 -2
  121. package/dist/esm/repositories/MongoAgentMessageRepository.d.ts.map +1 -1
  122. package/dist/esm/repositories/MongoAgentMessageRepository.js +70 -14
  123. package/dist/esm/repositories/MongoAgentMessageRepository.js.map +1 -1
  124. package/dist/esm/repositories/MongoTenantAICredentialRepository.d.ts +25 -0
  125. package/dist/esm/repositories/MongoTenantAICredentialRepository.d.ts.map +1 -0
  126. package/dist/esm/repositories/MongoTenantAICredentialRepository.js +125 -0
  127. package/dist/esm/repositories/MongoTenantAICredentialRepository.js.map +1 -0
  128. package/dist/esm/repositories/index.d.ts +3 -0
  129. package/dist/esm/repositories/index.d.ts.map +1 -1
  130. package/dist/esm/repositories/index.js +3 -0
  131. package/dist/esm/repositories/index.js.map +1 -1
  132. package/dist/esm/schemas/ActivitySchema.d.ts +30 -0
  133. package/dist/esm/schemas/ActivitySchema.d.ts.map +1 -0
  134. package/dist/esm/schemas/ActivitySchema.js +31 -0
  135. package/dist/esm/schemas/ActivitySchema.js.map +1 -0
  136. package/dist/esm/schemas/AgentChatSchema.d.ts.map +1 -1
  137. package/dist/esm/schemas/AgentChatSchema.js +10 -3
  138. package/dist/esm/schemas/AgentChatSchema.js.map +1 -1
  139. package/dist/esm/schemas/AgentConfigPreferenceSchema.d.ts +24 -0
  140. package/dist/esm/schemas/AgentConfigPreferenceSchema.d.ts.map +1 -0
  141. package/dist/esm/schemas/AgentConfigPreferenceSchema.js +21 -0
  142. package/dist/esm/schemas/AgentConfigPreferenceSchema.js.map +1 -0
  143. package/dist/esm/schemas/AgentMessageSchema.d.ts.map +1 -1
  144. package/dist/esm/schemas/AgentMessageSchema.js +21 -4
  145. package/dist/esm/schemas/AgentMessageSchema.js.map +1 -1
  146. package/dist/esm/schemas/TenantAICredentialSchema.d.ts +20 -0
  147. package/dist/esm/schemas/TenantAICredentialSchema.d.ts.map +1 -0
  148. package/dist/esm/schemas/TenantAICredentialSchema.js +14 -0
  149. package/dist/esm/schemas/TenantAICredentialSchema.js.map +1 -0
  150. package/dist/esm/schemas/index.d.ts +3 -0
  151. package/dist/esm/schemas/index.d.ts.map +1 -1
  152. package/dist/esm/schemas/index.js +3 -0
  153. package/dist/esm/schemas/index.js.map +1 -1
  154. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  155. package/package.json +4 -5
  156. package/dist/cjs/mongo/encryption.cjs +0 -149
  157. package/dist/cjs/mongo/encryption.cjs.map +0 -1
  158. package/dist/cjs/mongo/encryption.d.ts +0 -66
  159. package/dist/cjs/mongo/encryption.d.ts.map +0 -1
  160. package/dist/esm/mongo/encryption.d.ts +0 -66
  161. package/dist/esm/mongo/encryption.d.ts.map +0 -1
  162. package/dist/esm/mongo/encryption.js +0 -140
  163. package/dist/esm/mongo/encryption.js.map +0 -1
@@ -1,7 +1,6 @@
1
- import { ChatType, SortOrder } from '@multiplayer-app/ai-agent-types';
1
+ import { AgentSessionKind, ChatType, SortOrder } from '@multiplayer-app/ai-agent-types';
2
2
  import { AgentChatModel } from '../schemas/AgentChatSchema';
3
3
  import { AgentMessageModel } from '../schemas/AgentMessageSchema';
4
- import { ObjectId } from '../mongo';
5
4
  /**
6
5
  * Helper function to convert Mongoose document to AgentChat type
7
6
  */
@@ -9,56 +8,83 @@ function toAgentChat(doc) {
9
8
  if (!doc)
10
9
  return null;
11
10
  const chat = doc.toObject ? doc.toObject() : doc;
11
+ const tenants = chat.tenants instanceof Map ? Object.fromEntries(chat.tenants.entries()) : (chat.tenants ?? {});
12
12
  return {
13
13
  id: doc._id.toString(),
14
14
  title: chat.title,
15
15
  type: chat.type || ChatType.Chat,
16
16
  status: chat.status,
17
+ sessionKind: chat.sessionKind,
18
+ parentChatId: chat.parentChatId,
19
+ parentMessageId: chat.parentMessageId,
20
+ parentToolCallId: chat.parentToolCallId,
17
21
  contextKey: chat.contextKey,
22
+ userId: chat.userId,
23
+ tenants,
18
24
  model: chat.model,
19
25
  createdAt: chat.createdAt,
20
26
  updatedAt: chat.updatedAt,
21
27
  metadata: chat.metadata,
22
- userId: chat.userId
28
+ participantIds: chat.participantIds || []
23
29
  };
24
30
  }
25
31
  /**
26
32
  * MongoDB implementation of AgentChatRepository
27
33
  */
28
34
  export class MongoAgentChatRepository {
29
- async findById(id) {
30
- const doc = await AgentChatModel.findById(id).exec();
31
- return toAgentChat(doc);
32
- }
33
- async find(filter, options) {
34
- const query = {};
35
- if (filter) {
36
- if (filter.id) {
37
- query._id = filter.id;
38
- delete filter.id;
39
- }
40
- Object.assign(query, filter);
35
+ applyFilter(query, filter) {
36
+ if (!filter)
37
+ return;
38
+ if (filter.id)
39
+ query._id = filter.id;
40
+ if (filter.userId !== undefined) {
41
+ query.$or = [
42
+ { userId: filter.userId },
43
+ { participantIds: filter.userId },
44
+ { 'tenants.userId': filter.userId }
45
+ ];
41
46
  }
42
- let queryBuilder = AgentChatModel.find(query);
43
- // Apply sorting
44
- if (options?.sort) {
45
- const sortOrder = options.sort.order === SortOrder.Asc ? 1 : -1;
46
- queryBuilder = queryBuilder.sort({ [options.sort.field]: sortOrder });
47
+ if (filter.contextKey !== undefined)
48
+ query.contextKey = filter.contextKey;
49
+ if (filter.type !== undefined)
50
+ query.type = filter.type;
51
+ if (filter.status !== undefined)
52
+ query.status = filter.status;
53
+ if (filter.sessionKind !== undefined) {
54
+ query.sessionKind = filter.sessionKind === AgentSessionKind.ROOT
55
+ ? { $ne: AgentSessionKind.SUBAGENT }
56
+ : filter.sessionKind;
47
57
  }
48
- // Apply limit
49
- if (options?.limit) {
50
- queryBuilder = queryBuilder.limit(options.limit);
58
+ if (filter.parentChatId !== undefined)
59
+ query.parentChatId = filter.parentChatId;
60
+ if (filter.parentMessageId !== undefined)
61
+ query.parentMessageId = filter.parentMessageId;
62
+ if (filter.parentToolCallId !== undefined)
63
+ query.parentToolCallId = filter.parentToolCallId;
64
+ if (filter.model !== undefined)
65
+ query.model = filter.model;
66
+ if (filter.tenants !== undefined)
67
+ query.tenants = filter.tenants;
68
+ if (filter.multiUser !== undefined) {
69
+ query.$expr = {
70
+ [filter.multiUser ? '$gt' : '$lte']: [
71
+ { $size: { $ifNull: ['$participantIds', []] } },
72
+ 1
73
+ ]
74
+ };
51
75
  }
52
- const docs = await queryBuilder.exec();
53
- return docs.map(doc => toAgentChat(doc)).filter(Boolean);
76
+ }
77
+ async findById(id) {
78
+ const doc = await AgentChatModel.findById(id).exec();
79
+ return toAgentChat(doc);
54
80
  }
55
81
  async findOne(filter) {
56
82
  const query = {};
57
- if (filter.id) {
58
- query._id = filter.id;
59
- delete filter.id;
83
+ const { id, ...rest } = filter;
84
+ if (id) {
85
+ query._id = id;
60
86
  }
61
- Object.assign(query, filter);
87
+ Object.assign(query, rest);
62
88
  const doc = await AgentChatModel.findOne(query).exec();
63
89
  return toAgentChat(doc);
64
90
  }
@@ -93,143 +119,38 @@ export class MongoAgentChatRepository {
93
119
  }
94
120
  async count(filter) {
95
121
  const query = {};
96
- if (filter) {
97
- if (filter.id) {
98
- query._id = filter.id;
99
- delete filter.id;
100
- }
101
- Object.assign(query, filter);
102
- }
122
+ this.applyFilter(query, filter);
103
123
  return AgentChatModel.countDocuments(query).exec();
104
124
  }
105
- async findByUserId(userId) {
106
- const docs = await AgentChatModel.find({ userId }).exec();
107
- return docs.map(doc => toAgentChat(doc)).filter(Boolean);
108
- }
109
- async findByContextKey(contextKey) {
110
- const docs = await AgentChatModel.find({ contextKey }).exec();
111
- return docs.map(doc => toAgentChat(doc)).filter(Boolean);
112
- }
113
- async findByUserIdAndContextKey(userId, contextKey) {
114
- const docs = await AgentChatModel.find({ userId, contextKey }).exec();
115
- return docs.map(doc => toAgentChat(doc)).filter(Boolean);
116
- }
117
- async findGuestChatsByContextKey(contextKey) {
118
- const docs = await AgentChatModel.find({
119
- contextKey,
120
- userId: { $exists: false }
121
- }).exec();
122
- return docs.map(doc => toAgentChat(doc)).filter(Boolean);
123
- }
124
125
  async updateTitle(id, title) {
125
126
  const doc = await AgentChatModel.findByIdAndUpdate(id, { $set: { title, updatedAt: new Date().toISOString() } }, { new: true }).exec();
126
127
  return toAgentChat(doc);
127
128
  }
128
129
  async deleteByUserId(userId) {
129
- const result = await AgentChatModel.deleteMany({ userId }).exec();
130
+ const result = await AgentChatModel.deleteMany({ 'tenants.userId': userId }).exec();
130
131
  return result.deletedCount || 0;
131
132
  }
132
133
  async deleteByContextKey(contextKey) {
133
134
  const result = await AgentChatModel.deleteMany({ contextKey }).exec();
134
135
  return result.deletedCount || 0;
135
136
  }
136
- async findWithMessages(filter, options) {
137
- // Build match stage for filtering
138
- const matchStage = {};
139
- if (filter) {
140
- if (filter.id) {
141
- matchStage._id = new ObjectId(filter.id);
142
- }
143
- if (filter.userId !== undefined) {
144
- matchStage.userId = filter.userId;
145
- }
146
- if (filter.contextKey !== undefined) {
147
- matchStage.contextKey = filter.contextKey;
148
- }
149
- if (filter.type !== undefined) {
150
- matchStage.type = filter.type;
151
- }
152
- if (filter.status !== undefined) {
153
- matchStage.status = filter.status;
154
- }
155
- if (filter.model !== undefined) {
156
- matchStage.model = filter.model;
157
- }
158
- }
159
- // Build aggregation pipeline
160
- const pipeline = [
161
- { $match: matchStage }
162
- ];
163
- // Add sort stage before lookup (for better performance)
137
+ async find(filter, options) {
138
+ const query = {};
139
+ this.applyFilter(query, filter);
140
+ let qb = AgentChatModel.find(query);
164
141
  if (options?.sort) {
165
142
  const sortField = options.sort.field === 'id' ? '_id' : options.sort.field;
166
143
  const sortOrder = options.sort.order === SortOrder.Asc ? 1 : -1;
167
- pipeline.push({ $sort: { [sortField]: sortOrder } });
144
+ qb = qb.sort({ [sortField]: sortOrder });
145
+ }
146
+ if (options?.skip) {
147
+ qb = qb.skip(options.skip);
168
148
  }
169
- // Add limit before lookup if specified (for better performance)
170
149
  if (options?.limit) {
171
- pipeline.push({ $limit: options.limit });
150
+ qb = qb.limit(options.limit);
172
151
  }
173
- // Lookup messages
174
- pipeline.push({
175
- $lookup: {
176
- from: 'agentmessages',
177
- localField: '_id',
178
- foreignField: 'chat',
179
- as: 'messages'
180
- }
181
- });
182
- // Transform messages
183
- pipeline.push({
184
- $addFields: {
185
- messages: {
186
- $map: {
187
- input: { $sortArray: { input: '$messages', sortBy: { createdAt: 1 } } },
188
- as: 'msg',
189
- in: {
190
- id: { $toString: '$$msg._id' },
191
- chat: { $toString: '$$msg.chat' },
192
- role: '$$msg.role',
193
- content: '$$msg.content',
194
- createdAt: '$$msg.createdAt',
195
- toolCalls: { $ifNull: ['$$msg.toolCalls', []] },
196
- attachments: { $ifNull: ['$$msg.attachments', []] },
197
- annotations: '$$msg.annotations'
198
- }
199
- }
200
- }
201
- }
202
- });
203
- // Project final shape
204
- pipeline.push({
205
- $project: {
206
- id: { $toString: '$_id' },
207
- title: 1,
208
- type: { $ifNull: ['$type', ChatType.Chat] },
209
- status: 1,
210
- contextKey: 1,
211
- model: 1,
212
- createdAt: 1,
213
- updatedAt: 1,
214
- metadata: 1,
215
- userId: 1,
216
- messages: 1
217
- }
218
- });
219
- const results = await AgentChatModel.aggregate(pipeline).exec();
220
- return results.map((result) => ({
221
- id: result.id,
222
- title: result.title,
223
- type: result.type || ChatType.Chat,
224
- status: result.status,
225
- contextKey: result.contextKey,
226
- model: result.model,
227
- createdAt: result.createdAt,
228
- updatedAt: result.updatedAt,
229
- metadata: result.metadata,
230
- userId: result.userId,
231
- messages: result.messages || []
232
- }));
152
+ const docs = await qb.exec();
153
+ return docs.map((doc) => toAgentChat(doc)).filter(Boolean);
233
154
  }
234
155
  }
235
156
  //# sourceMappingURL=MongoAgentChatRepository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MongoAgentChatRepository.js","sourceRoot":"","sources":["../../../src/repositories/MongoAgentChatRepository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,EAAE,cAAc,EAA0B,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC;;GAEG;AACH,SAAS,WAAW,CAAC,GAA6B;IAChD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAEtB,MAAM,IAAI,GAAI,GAAW,CAAC,QAAQ,CAAC,CAAC,CAAE,GAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IACnE,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE;QACtB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI;QAChC,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,wBAAwB;IACnC,KAAK,CAAC,QAAQ,CAAC,EAAU;QACvB,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACrD,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,IAAI,CACR,MAA2B,EAC3B,OAAwE;QAExE,MAAM,KAAK,GAAQ,EAAE,CAAC;QAEtB,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBACd,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC;gBACtB,OAAO,MAAM,CAAC,EAAE,CAAC;YACnB,CAAC;YACD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE9C,gBAAgB;QAChB,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,cAAc;QACd,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAA0B;QACtC,MAAM,KAAK,GAAQ,EAAE,CAAC;QAEtB,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;YACd,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC;YACtB,OAAO,MAAM,CAAC,EAAE,CAAC;QACnB,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAE7B,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QACvD,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAyD;QACpE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,cAAc,CAAC;YAC7B,GAAG,MAAM;YACT,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;SACf,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,OAAqD;QAC5E,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,iBAAiB,CAChD,EAAE,EACF,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,EAC7D,EAAE,GAAG,EAAE,IAAI,EAAE,CACd,CAAC,IAAI,EAAE,CAAC;QAET,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,oCAAoC;QACpC,MAAM,iBAAiB,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAExD,uBAAuB;QACvB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAEjE,OAAO,CAAC,CAAC,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACtE,OAAO,KAAK,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAA2B;QACrC,MAAM,KAAK,GAAQ,EAAE,CAAC;QAEtB,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBACd,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC;gBACtB,OAAO,MAAM,CAAC,EAAE,CAAC;YACnB,CAAC;YACD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc;QAC/B,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,UAAkB;QACvC,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9D,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,MAAc,EAAE,UAAkB;QAChE,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACtE,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,UAAkB;QACjD,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC;YACrC,UAAU;YACV,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;SAC3B,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAAU,EAAE,KAAa;QACzC,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,iBAAiB,CAChD,EAAE,EACF,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,EACxD,EAAE,GAAG,EAAE,IAAI,EAAE,CACd,CAAC,IAAI,EAAE,CAAC;QAET,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAc;QACjC,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAClE,OAAO,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,UAAkB;QACzC,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACtE,OAAO,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,MAA2B,EAC3B,OAAwE;QAExE,kCAAkC;QAClC,MAAM,UAAU,GAAQ,EAAE,CAAC;QAE3B,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBACd,UAAU,CAAC,GAAG,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC3C,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YACpC,CAAC;YACD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBACpC,UAAU,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;YAC5C,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC9B,UAAU,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YAChC,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YACpC,CAAC;YACD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC/B,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAClC,CAAC;QACH,CAAC;QAED,6BAA6B;QAC7B,MAAM,QAAQ,GAAU;YACtB,EAAE,MAAM,EAAE,UAAU,EAAE;SACvB,CAAC;QAEF,wDAAwD;QACxD,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;YAC3E,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,gEAAgE;QAChE,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,kBAAkB;QAClB,QAAQ,CAAC,IAAI,CAAC;YACZ,OAAO,EAAE;gBACP,IAAI,EAAE,eAAe;gBACrB,UAAU,EAAE,KAAK;gBACjB,YAAY,EAAE,MAAM;gBACpB,EAAE,EAAE,UAAU;aACf;SACF,CAAC,CAAC;QAEH,qBAAqB;QACrB,QAAQ,CAAC,IAAI,CAAC;YACZ,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE;wBACJ,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE;wBACvE,EAAE,EAAE,KAAK;wBACT,EAAE,EAAE;4BACF,EAAE,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE;4BAC9B,IAAI,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE;4BACjC,IAAI,EAAE,YAAY;4BAClB,OAAO,EAAE,eAAe;4BACxB,SAAS,EAAE,iBAAiB;4BAC5B,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,iBAAiB,EAAE,EAAE,CAAC,EAAE;4BAC/C,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,mBAAmB,EAAE,EAAE,CAAC,EAAE;4BACnD,WAAW,EAAE,mBAAmB;yBACjC;qBACF;iBACF;aACF;SACF,CAAC,CAAC;QAEH,sBAAsB;QACtB,QAAQ,CAAC,IAAI,CAAC;YACZ,QAAQ,EAAE;gBACR,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;gBACzB,KAAK,EAAE,CAAC;gBACR,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE;gBAC3C,MAAM,EAAE,CAAC;gBACT,UAAU,EAAE,CAAC;gBACb,KAAK,EAAE,CAAC;gBACR,SAAS,EAAE,CAAC;gBACZ,SAAS,EAAE,CAAC;gBACZ,QAAQ,EAAE,CAAC;gBACX,MAAM,EAAE,CAAC;gBACT,QAAQ,EAAE,CAAC;aACZ;SACF,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QAEhE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC9B,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI;YAClC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE;SAChC,CAAC,CAAC,CAAC;IACN,CAAC;CACF"}
1
+ {"version":3,"file":"MongoAgentChatRepository.js","sourceRoot":"","sources":["../../../src/repositories/MongoAgentChatRepository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAExF,OAAO,EAAE,cAAc,EAA0B,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE;;GAEG;AACH,SAAS,WAAW,CAAC,GAA6B;IAChD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAEtB,MAAM,IAAI,GAAI,GAAW,CAAC,QAAQ,CAAC,CAAC,CAAE,GAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IACnE,MAAM,OAAO,GACX,IAAI,CAAC,OAAO,YAAY,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAClG,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE;QACtB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI;QAChC,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO;QACP,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,EAAE;KAC1C,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,wBAAwB;IAC3B,WAAW,CAAC,KAA8B,EAAE,MAAwB;QAC1E,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,IAAI,MAAM,CAAC,EAAE;YAAE,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC;QACrC,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,KAAK,CAAC,GAAG,GAAG;gBACV,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;gBACzB,EAAE,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE;gBACjC,EAAE,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE;aACpC,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS;YAAE,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QAC1E,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;YAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC9D,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACrC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,KAAK,gBAAgB,CAAC,IAAI;gBAC9D,CAAC,CAAC,EAAE,GAAG,EAAE,gBAAgB,CAAC,QAAQ,EAAE;gBACpC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;QACzB,CAAC;QACD,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS;YAAE,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QAChF,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS;YAAE,KAAK,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;QACzF,IAAI,MAAM,CAAC,gBAAgB,KAAK,SAAS;YAAE,KAAK,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAC5F,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;YAAE,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3D,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;YAAE,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QACjE,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACnC,KAAK,CAAC,KAAK,GAAG;gBACZ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;oBACnC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE;oBAC/C,CAAC;iBACF;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,EAAU;QACvB,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACrD,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAA0B;QACtC,MAAM,KAAK,GAAQ,EAAE,CAAC;QACtB,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QAE/B,IAAI,EAAE,EAAE,CAAC;YACP,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC;QACjB,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAE3B,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QACvD,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAyD;QACpE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,cAAc,CAAC;YAC7B,GAAG,MAAM;YACT,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;SACf,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,OAAqD;QAC5E,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,iBAAiB,CAChD,EAAE,EACF,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,EAC7D,EAAE,GAAG,EAAE,IAAI,EAAE,CACd,CAAC,IAAI,EAAE,CAAC;QAET,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,oCAAoC;QACpC,MAAM,iBAAiB,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAExD,uBAAuB;QACvB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAEjE,OAAO,CAAC,CAAC,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACtE,OAAO,KAAK,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAwB;QAClC,MAAM,KAAK,GAA4B,EAAE,CAAC;QAC1C,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAEhC,OAAO,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAAU,EAAE,KAAa;QACzC,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,iBAAiB,CAChD,EAAE,EACF,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,EACxD,EAAE,GAAG,EAAE,IAAI,EAAE,CACd,CAAC,IAAI,EAAE,CAAC;QAET,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAc;QACjC,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACpF,OAAO,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,UAAkB;QACzC,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACtE,OAAO,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,IAAI,CACR,MAAwB,EACxB,OAAuF;QAEvF,MAAM,KAAK,GAA4B,EAAE,CAAC;QAC1C,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAEhC,IAAI,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEpC,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;YAC3E,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9D,CAAC;CACF"}
@@ -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"}
@@ -0,0 +1,122 @@
1
+ import { SortOrder } from '@multiplayer-app/ai-agent-types';
2
+ import { AgentConfigPreferenceModel, } from '../schemas/AgentConfigPreferenceSchema';
3
+ function toAgentConfigPreference(doc) {
4
+ if (!doc)
5
+ return null;
6
+ const value = doc.toObject ? doc.toObject() : doc;
7
+ const toolsValue = value.tools;
8
+ const tools = toolsValue instanceof Map
9
+ ? Object.fromEntries(toolsValue.entries())
10
+ : (toolsValue ?? {});
11
+ return {
12
+ id: doc._id.toString(),
13
+ userId: value.userId,
14
+ agentName: value.agentName,
15
+ tools,
16
+ createdAt: value.createdAt?.toISOString?.() ?? value.createdAt,
17
+ updatedAt: value.updatedAt?.toISOString?.() ?? value.updatedAt,
18
+ };
19
+ }
20
+ export class MongoAgentConfigRepository {
21
+ async findById(id) {
22
+ const doc = await AgentConfigPreferenceModel.findById(id).exec();
23
+ return toAgentConfigPreference(doc);
24
+ }
25
+ async find(filter, options) {
26
+ const query = {};
27
+ if (filter) {
28
+ if (filter.id)
29
+ query._id = filter.id;
30
+ if (filter.userId !== undefined)
31
+ query.userId = filter.userId;
32
+ if (filter.agentName !== undefined)
33
+ query.agentName = filter.agentName;
34
+ }
35
+ let qb = AgentConfigPreferenceModel.find(query);
36
+ if (options?.sort) {
37
+ const sortField = options.sort.field === 'id' ? '_id' : options.sort.field;
38
+ const sortOrder = options.sort.order === SortOrder.Asc ? 1 : -1;
39
+ qb = qb.sort({ [sortField]: sortOrder });
40
+ }
41
+ if (options?.skip)
42
+ qb = qb.skip(options.skip);
43
+ if (options?.limit)
44
+ qb = qb.limit(options.limit);
45
+ const docs = await qb.exec();
46
+ return docs.map((doc) => toAgentConfigPreference(doc)).filter(Boolean);
47
+ }
48
+ async findOne(filter) {
49
+ const query = {};
50
+ if (filter.id)
51
+ query._id = filter.id;
52
+ if (filter.userId !== undefined)
53
+ query.userId = filter.userId;
54
+ if (filter.agentName !== undefined)
55
+ query.agentName = filter.agentName;
56
+ const doc = await AgentConfigPreferenceModel.findOne(query).exec();
57
+ return toAgentConfigPreference(doc);
58
+ }
59
+ async create(entity) {
60
+ const doc = new AgentConfigPreferenceModel({
61
+ ...entity,
62
+ tools: entity.tools ?? {},
63
+ });
64
+ const saved = await doc.save();
65
+ const result = toAgentConfigPreference(saved);
66
+ if (!result)
67
+ throw new Error('Failed to create agent config preference');
68
+ return result;
69
+ }
70
+ async update(id, updates) {
71
+ const doc = await AgentConfigPreferenceModel.findByIdAndUpdate(id, { $set: updates }, { new: true, runValidators: true }).exec();
72
+ return toAgentConfigPreference(doc);
73
+ }
74
+ async delete(id) {
75
+ const result = await AgentConfigPreferenceModel.findByIdAndDelete(id).exec();
76
+ return !!result;
77
+ }
78
+ async exists(id) {
79
+ const count = await AgentConfigPreferenceModel.countDocuments({ _id: id }).exec();
80
+ return count > 0;
81
+ }
82
+ async count(filter) {
83
+ const query = {};
84
+ if (filter) {
85
+ if (filter.id)
86
+ query._id = filter.id;
87
+ if (filter.userId !== undefined)
88
+ query.userId = filter.userId;
89
+ if (filter.agentName !== undefined)
90
+ query.agentName = filter.agentName;
91
+ }
92
+ return AgentConfigPreferenceModel.countDocuments(query).exec();
93
+ }
94
+ async findByUserId(userId) {
95
+ const docs = await AgentConfigPreferenceModel.find({ userId }).exec();
96
+ return docs.map((doc) => toAgentConfigPreference(doc)).filter(Boolean);
97
+ }
98
+ async findByUserIdAndAgentName(userId, agentName) {
99
+ const doc = await AgentConfigPreferenceModel.findOne({ userId, agentName }).exec();
100
+ return toAgentConfigPreference(doc);
101
+ }
102
+ async upsertByUserIdAndAgentName(userId, agentName, updates) {
103
+ const doc = await AgentConfigPreferenceModel.findOneAndUpdate({ userId, agentName }, {
104
+ $set: {
105
+ tools: updates.tools ?? {},
106
+ },
107
+ }, {
108
+ new: true,
109
+ upsert: true,
110
+ runValidators: true,
111
+ }).exec();
112
+ const result = toAgentConfigPreference(doc);
113
+ if (!result)
114
+ throw new Error('Failed to upsert agent config preference');
115
+ return result;
116
+ }
117
+ async deleteByUserId(userId) {
118
+ const result = await AgentConfigPreferenceModel.deleteMany({ userId }).exec();
119
+ return result.deletedCount || 0;
120
+ }
121
+ }
122
+ //# 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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"}
@@ -1,5 +1,5 @@
1
- import type { AgentMessage, MessageRole } from '@multiplayer-app/ai-agent-types';
2
- import type { AgentMessageRepository } from '@multiplayer-app/ai-agent-db';
1
+ import { AgentToolCallStatus, type AgentMessage, type MessageRole } from '@multiplayer-app/ai-agent-types';
2
+ import type { AgentMessageRepository, FindMessagesPaginatedOptions } from '@multiplayer-app/ai-agent-db';
3
3
  /**
4
4
  * MongoDB implementation of AgentMessageRepository
5
5
  */
@@ -9,10 +9,20 @@ export declare class MongoAgentMessageRepository implements AgentMessageReposito
9
9
  findOne(filter: Partial<AgentMessage>): Promise<AgentMessage | null>;
10
10
  create(entity: Omit<AgentMessage, 'id' | 'createdAt'>, id?: string): Promise<AgentMessage>;
11
11
  update(id: string, updates: Partial<Omit<AgentMessage, 'id' | 'createdAt'>>): Promise<AgentMessage | null>;
12
+ updateToolCall(messageId: string, toolCallId: string, updates: {
13
+ input?: Record<string, unknown>;
14
+ output?: Record<string, unknown>;
15
+ status?: AgentToolCallStatus;
16
+ subagentChatId?: string;
17
+ }): Promise<AgentMessage | null>;
12
18
  delete(id: string): Promise<boolean>;
13
19
  exists(id: string): Promise<boolean>;
14
20
  count(filter?: Partial<AgentMessage>): Promise<number>;
15
21
  findByChatId(chatId: string): Promise<AgentMessage[]>;
22
+ findByChatIdPaginated(chatId: string, options?: FindMessagesPaginatedOptions): Promise<{
23
+ messages: AgentMessage[];
24
+ hasMore: boolean;
25
+ }>;
16
26
  findByRole(role: MessageRole): Promise<AgentMessage[]>;
17
27
  findByChatIdAndRole(chatId: string, role?: MessageRole): Promise<AgentMessage[]>;
18
28
  findWithToolCalls(chatId?: string): Promise<AgentMessage[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"MongoAgentMessageRepository.d.ts","sourceRoot":"","sources":["../../../src/repositories/MongoAgentMessageRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AA0B3E;;GAEG;AACH,qBAAa,2BAA4B,YAAW,sBAAsB;IAClE,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAKlD,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAe7D,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAapE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAgB1F,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAU1G,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,YAAY,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IActD,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAKrD,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAKtD,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAShF,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAa3D,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAa7D,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK/C,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAKhD,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;CAIhF"}
1
+ {"version":3,"file":"MongoAgentMessageRepository.d.ts","sourceRoot":"","sources":["../../../src/repositories/MongoAgentMessageRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC3G,OAAO,KAAK,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AA6BzG;;GAEG;AACH,qBAAa,2BAA4B,YAAW,sBAAsB;IAClE,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAKlD,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAe7D,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAapE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAgB1F,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAU1G,cAAc,CAClB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjC,MAAM,CAAC,EAAE,mBAAmB,CAAC;QAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,GACA,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAiCzB,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,YAAY,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IActD,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAKrD,qBAAqB,CACzB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,4BAA4B,GACrC,OAAO,CAAC;QAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAiCpD,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAKtD,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAShF,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAa3D,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAa7D,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK/C,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAKhD,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;CAIhF"}