@multiplayer-app/ai-agent-mongo 0.1.0-beta.1 → 0.1.0-beta.100

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 (245) hide show
  1. package/dist/cjs/__tests__/helpers.cjs +82 -0
  2. package/dist/cjs/__tests__/helpers.cjs.map +1 -0
  3. package/dist/cjs/__tests__/helpers.d.ts.map +1 -0
  4. package/dist/cjs/__tests__/repositories/MongoActivityRepository.test.cjs +385 -0
  5. package/dist/cjs/__tests__/repositories/MongoActivityRepository.test.cjs.map +1 -0
  6. package/dist/cjs/__tests__/repositories/MongoActivityRepository.test.d.ts +2 -0
  7. package/dist/cjs/__tests__/repositories/MongoActivityRepository.test.d.ts.map +1 -0
  8. package/dist/cjs/__tests__/repositories/MongoAgentChatRepository.test.cjs +195 -0
  9. package/dist/cjs/__tests__/repositories/MongoAgentChatRepository.test.cjs.map +1 -0
  10. package/dist/cjs/__tests__/repositories/MongoAgentChatRepository.test.d.ts.map +1 -0
  11. package/dist/cjs/__tests__/repositories/MongoAgentConfigRepository.test.cjs +67 -0
  12. package/dist/cjs/__tests__/repositories/MongoAgentConfigRepository.test.cjs.map +1 -0
  13. package/dist/cjs/__tests__/repositories/MongoAgentConfigRepository.test.d.ts +2 -0
  14. package/dist/cjs/__tests__/repositories/MongoAgentConfigRepository.test.d.ts.map +1 -0
  15. package/dist/cjs/__tests__/repositories/MongoAgentMessageRepository.test.cjs +402 -0
  16. package/dist/cjs/__tests__/repositories/MongoAgentMessageRepository.test.cjs.map +1 -0
  17. package/dist/cjs/__tests__/repositories/MongoAgentMessageRepository.test.d.ts.map +1 -0
  18. package/dist/cjs/__tests__/schemas/AgentChatSchema.test.cjs +128 -0
  19. package/dist/cjs/__tests__/schemas/AgentChatSchema.test.cjs.map +1 -0
  20. package/dist/cjs/__tests__/schemas/AgentChatSchema.test.d.ts.map +1 -0
  21. package/dist/cjs/__tests__/schemas/AgentConfigPreferenceSchema.test.cjs +62 -0
  22. package/dist/cjs/__tests__/schemas/AgentConfigPreferenceSchema.test.cjs.map +1 -0
  23. package/dist/cjs/__tests__/schemas/AgentConfigPreferenceSchema.test.d.ts +2 -0
  24. package/dist/cjs/__tests__/schemas/AgentConfigPreferenceSchema.test.d.ts.map +1 -0
  25. package/dist/cjs/__tests__/schemas/AgentMessageSchema.test.cjs +301 -0
  26. package/dist/cjs/__tests__/schemas/AgentMessageSchema.test.cjs.map +1 -0
  27. package/dist/cjs/__tests__/schemas/AgentMessageSchema.test.d.ts.map +1 -0
  28. package/dist/cjs/__tests__/setup.cjs +30 -0
  29. package/dist/cjs/__tests__/setup.cjs.map +1 -0
  30. package/dist/{__tests__ → cjs/__tests__}/setup.d.ts.map +1 -1
  31. package/dist/cjs/index.cjs +36 -0
  32. package/dist/cjs/index.cjs.map +1 -0
  33. package/dist/cjs/index.d.ts +16 -0
  34. package/dist/cjs/index.d.ts.map +1 -0
  35. package/dist/cjs/mongo/config.cjs +13 -0
  36. package/dist/cjs/mongo/config.cjs.map +1 -0
  37. package/dist/cjs/mongo/config.d.ts.map +1 -0
  38. package/dist/cjs/mongo/index.cjs +96 -0
  39. package/dist/cjs/mongo/index.cjs.map +1 -0
  40. package/dist/{mongo → cjs/mongo}/index.d.ts +0 -3
  41. package/dist/cjs/mongo/index.d.ts.map +1 -0
  42. package/dist/cjs/mongo/logger.cjs +40 -0
  43. package/dist/cjs/mongo/logger.cjs.map +1 -0
  44. package/dist/cjs/mongo/logger.d.ts.map +1 -0
  45. package/dist/cjs/repositories/MongoActivityRepository.cjs +400 -0
  46. package/dist/cjs/repositories/MongoActivityRepository.cjs.map +1 -0
  47. package/dist/cjs/repositories/MongoActivityRepository.d.ts +68 -0
  48. package/dist/cjs/repositories/MongoActivityRepository.d.ts.map +1 -0
  49. package/dist/cjs/repositories/MongoAgentChatRepository.cjs +160 -0
  50. package/dist/cjs/repositories/MongoAgentChatRepository.cjs.map +1 -0
  51. package/dist/{repositories → cjs/repositories}/MongoAgentChatRepository.d.ts +7 -16
  52. package/dist/cjs/repositories/MongoAgentChatRepository.d.ts.map +1 -0
  53. package/dist/cjs/repositories/MongoAgentConfigRepository.cjs +126 -0
  54. package/dist/cjs/repositories/MongoAgentConfigRepository.cjs.map +1 -0
  55. package/dist/cjs/repositories/MongoAgentConfigRepository.d.ts +25 -0
  56. package/dist/cjs/repositories/MongoAgentConfigRepository.d.ts.map +1 -0
  57. package/dist/cjs/repositories/MongoAgentMessageRepository.cjs +201 -0
  58. package/dist/cjs/repositories/MongoAgentMessageRepository.cjs.map +1 -0
  59. package/dist/{repositories → cjs/repositories}/MongoAgentMessageRepository.d.ts +12 -2
  60. package/dist/cjs/repositories/MongoAgentMessageRepository.d.ts.map +1 -0
  61. package/dist/cjs/repositories/MongoTenantAICredentialRepository.cjs +129 -0
  62. package/dist/cjs/repositories/MongoTenantAICredentialRepository.cjs.map +1 -0
  63. package/dist/cjs/repositories/MongoTenantAICredentialRepository.d.ts +25 -0
  64. package/dist/cjs/repositories/MongoTenantAICredentialRepository.d.ts.map +1 -0
  65. package/dist/cjs/repositories/index.cjs +22 -0
  66. package/dist/cjs/repositories/index.cjs.map +1 -0
  67. package/dist/cjs/repositories/index.d.ts +6 -0
  68. package/dist/cjs/repositories/index.d.ts.map +1 -0
  69. package/dist/cjs/schemas/ActivitySchema.cjs +34 -0
  70. package/dist/cjs/schemas/ActivitySchema.cjs.map +1 -0
  71. package/dist/cjs/schemas/ActivitySchema.d.ts +30 -0
  72. package/dist/cjs/schemas/ActivitySchema.d.ts.map +1 -0
  73. package/dist/cjs/schemas/AgentChatSchema.cjs +36 -0
  74. package/dist/cjs/schemas/AgentChatSchema.cjs.map +1 -0
  75. package/dist/cjs/schemas/AgentChatSchema.d.ts.map +1 -0
  76. package/dist/cjs/schemas/AgentConfigPreferenceSchema.cjs +24 -0
  77. package/dist/cjs/schemas/AgentConfigPreferenceSchema.cjs.map +1 -0
  78. package/dist/cjs/schemas/AgentConfigPreferenceSchema.d.ts +24 -0
  79. package/dist/cjs/schemas/AgentConfigPreferenceSchema.d.ts.map +1 -0
  80. package/dist/cjs/schemas/AgentMessageSchema.cjs +85 -0
  81. package/dist/cjs/schemas/AgentMessageSchema.cjs.map +1 -0
  82. package/dist/cjs/schemas/AgentMessageSchema.d.ts.map +1 -0
  83. package/dist/cjs/schemas/TenantAICredentialSchema.cjs +17 -0
  84. package/dist/cjs/schemas/TenantAICredentialSchema.cjs.map +1 -0
  85. package/dist/cjs/schemas/TenantAICredentialSchema.d.ts +20 -0
  86. package/dist/cjs/schemas/TenantAICredentialSchema.d.ts.map +1 -0
  87. package/dist/cjs/schemas/index.cjs +22 -0
  88. package/dist/cjs/schemas/index.cjs.map +1 -0
  89. package/dist/cjs/schemas/index.d.ts +6 -0
  90. package/dist/cjs/schemas/index.d.ts.map +1 -0
  91. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -0
  92. package/dist/esm/__tests__/helpers.d.ts +22 -0
  93. package/dist/esm/__tests__/helpers.d.ts.map +1 -0
  94. package/dist/{__tests__ → esm/__tests__}/helpers.js +1 -1
  95. package/dist/esm/__tests__/helpers.js.map +1 -0
  96. package/dist/esm/__tests__/repositories/MongoActivityRepository.test.d.ts +2 -0
  97. package/dist/esm/__tests__/repositories/MongoActivityRepository.test.d.ts.map +1 -0
  98. package/dist/esm/__tests__/repositories/MongoActivityRepository.test.js +383 -0
  99. package/dist/esm/__tests__/repositories/MongoActivityRepository.test.js.map +1 -0
  100. package/dist/esm/__tests__/repositories/MongoAgentChatRepository.test.d.ts +2 -0
  101. package/dist/esm/__tests__/repositories/MongoAgentChatRepository.test.d.ts.map +1 -0
  102. package/dist/{__tests__ → esm/__tests__}/repositories/MongoAgentChatRepository.test.js +20 -76
  103. package/dist/esm/__tests__/repositories/MongoAgentChatRepository.test.js.map +1 -0
  104. package/dist/esm/__tests__/repositories/MongoAgentConfigRepository.test.d.ts +2 -0
  105. package/dist/esm/__tests__/repositories/MongoAgentConfigRepository.test.d.ts.map +1 -0
  106. package/dist/esm/__tests__/repositories/MongoAgentConfigRepository.test.js +65 -0
  107. package/dist/esm/__tests__/repositories/MongoAgentConfigRepository.test.js.map +1 -0
  108. package/dist/esm/__tests__/repositories/MongoAgentMessageRepository.test.d.ts +2 -0
  109. package/dist/esm/__tests__/repositories/MongoAgentMessageRepository.test.d.ts.map +1 -0
  110. package/dist/{__tests__ → esm/__tests__}/repositories/MongoAgentMessageRepository.test.js +103 -14
  111. package/dist/esm/__tests__/repositories/MongoAgentMessageRepository.test.js.map +1 -0
  112. package/dist/esm/__tests__/schemas/AgentChatSchema.test.d.ts +2 -0
  113. package/dist/esm/__tests__/schemas/AgentChatSchema.test.d.ts.map +1 -0
  114. package/dist/{__tests__ → esm/__tests__}/schemas/AgentChatSchema.test.js +23 -17
  115. package/dist/esm/__tests__/schemas/AgentChatSchema.test.js.map +1 -0
  116. package/dist/esm/__tests__/schemas/AgentConfigPreferenceSchema.test.d.ts +2 -0
  117. package/dist/esm/__tests__/schemas/AgentConfigPreferenceSchema.test.d.ts.map +1 -0
  118. package/dist/esm/__tests__/schemas/AgentConfigPreferenceSchema.test.js +60 -0
  119. package/dist/esm/__tests__/schemas/AgentConfigPreferenceSchema.test.js.map +1 -0
  120. package/dist/esm/__tests__/schemas/AgentMessageSchema.test.d.ts +2 -0
  121. package/dist/esm/__tests__/schemas/AgentMessageSchema.test.d.ts.map +1 -0
  122. package/dist/{__tests__ → esm/__tests__}/schemas/AgentMessageSchema.test.js +20 -14
  123. package/dist/esm/__tests__/schemas/AgentMessageSchema.test.js.map +1 -0
  124. package/dist/esm/__tests__/setup.d.ts +2 -0
  125. package/dist/esm/__tests__/setup.d.ts.map +1 -0
  126. package/dist/esm/__tests__/setup.js.map +1 -0
  127. package/dist/esm/index.d.ts +16 -0
  128. package/dist/esm/index.d.ts.map +1 -0
  129. package/dist/esm/index.js +19 -0
  130. package/dist/esm/index.js.map +1 -0
  131. package/dist/esm/mongo/config.d.ts +10 -0
  132. package/dist/esm/mongo/config.d.ts.map +1 -0
  133. package/dist/esm/mongo/config.js.map +1 -0
  134. package/dist/esm/mongo/index.d.ts +22 -0
  135. package/dist/esm/mongo/index.d.ts.map +1 -0
  136. package/dist/{mongo → esm/mongo}/index.js +2 -18
  137. package/dist/esm/mongo/index.js.map +1 -0
  138. package/dist/esm/mongo/logger.d.ts +31 -0
  139. package/dist/esm/mongo/logger.d.ts.map +1 -0
  140. package/dist/esm/mongo/logger.js.map +1 -0
  141. package/dist/esm/repositories/MongoActivityRepository.d.ts +68 -0
  142. package/dist/esm/repositories/MongoActivityRepository.d.ts.map +1 -0
  143. package/dist/esm/repositories/MongoActivityRepository.js +395 -0
  144. package/dist/esm/repositories/MongoActivityRepository.js.map +1 -0
  145. package/dist/esm/repositories/MongoAgentChatRepository.d.ts +28 -0
  146. package/dist/esm/repositories/MongoAgentChatRepository.d.ts.map +1 -0
  147. package/dist/esm/repositories/MongoAgentChatRepository.js +156 -0
  148. package/dist/esm/repositories/MongoAgentChatRepository.js.map +1 -0
  149. package/dist/esm/repositories/MongoAgentConfigRepository.d.ts +25 -0
  150. package/dist/esm/repositories/MongoAgentConfigRepository.d.ts.map +1 -0
  151. package/dist/esm/repositories/MongoAgentConfigRepository.js +122 -0
  152. package/dist/esm/repositories/MongoAgentConfigRepository.js.map +1 -0
  153. package/dist/esm/repositories/MongoAgentMessageRepository.d.ts +34 -0
  154. package/dist/esm/repositories/MongoAgentMessageRepository.d.ts.map +1 -0
  155. package/dist/{repositories → esm/repositories}/MongoAgentMessageRepository.js +71 -14
  156. package/dist/esm/repositories/MongoAgentMessageRepository.js.map +1 -0
  157. package/dist/esm/repositories/MongoTenantAICredentialRepository.d.ts +25 -0
  158. package/dist/esm/repositories/MongoTenantAICredentialRepository.d.ts.map +1 -0
  159. package/dist/esm/repositories/MongoTenantAICredentialRepository.js +125 -0
  160. package/dist/esm/repositories/MongoTenantAICredentialRepository.js.map +1 -0
  161. package/dist/esm/repositories/index.d.ts +6 -0
  162. package/dist/esm/repositories/index.d.ts.map +1 -0
  163. package/dist/esm/repositories/index.js +6 -0
  164. package/dist/esm/repositories/index.js.map +1 -0
  165. package/dist/esm/schemas/ActivitySchema.d.ts +30 -0
  166. package/dist/esm/schemas/ActivitySchema.d.ts.map +1 -0
  167. package/dist/esm/schemas/ActivitySchema.js +31 -0
  168. package/dist/esm/schemas/ActivitySchema.js.map +1 -0
  169. package/dist/esm/schemas/AgentChatSchema.d.ts +29 -0
  170. package/dist/esm/schemas/AgentChatSchema.d.ts.map +1 -0
  171. package/dist/{schemas → esm/schemas}/AgentChatSchema.js +10 -3
  172. package/dist/esm/schemas/AgentChatSchema.js.map +1 -0
  173. package/dist/esm/schemas/AgentConfigPreferenceSchema.d.ts +24 -0
  174. package/dist/esm/schemas/AgentConfigPreferenceSchema.d.ts.map +1 -0
  175. package/dist/esm/schemas/AgentConfigPreferenceSchema.js +21 -0
  176. package/dist/esm/schemas/AgentConfigPreferenceSchema.js.map +1 -0
  177. package/dist/esm/schemas/AgentMessageSchema.d.ts +30 -0
  178. package/dist/esm/schemas/AgentMessageSchema.d.ts.map +1 -0
  179. package/dist/{schemas → esm/schemas}/AgentMessageSchema.js +32 -4
  180. package/dist/esm/schemas/AgentMessageSchema.js.map +1 -0
  181. package/dist/esm/schemas/TenantAICredentialSchema.d.ts +20 -0
  182. package/dist/esm/schemas/TenantAICredentialSchema.d.ts.map +1 -0
  183. package/dist/esm/schemas/TenantAICredentialSchema.js +14 -0
  184. package/dist/esm/schemas/TenantAICredentialSchema.js.map +1 -0
  185. package/dist/esm/schemas/index.d.ts +6 -0
  186. package/dist/esm/schemas/index.d.ts.map +1 -0
  187. package/dist/esm/schemas/index.js +6 -0
  188. package/dist/esm/schemas/index.js.map +1 -0
  189. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -0
  190. package/package.json +42 -35
  191. package/dist/__tests__/helpers.d.ts.map +0 -1
  192. package/dist/__tests__/helpers.js.map +0 -1
  193. package/dist/__tests__/repositories/MongoAgentChatRepository.test.d.ts.map +0 -1
  194. package/dist/__tests__/repositories/MongoAgentChatRepository.test.js.map +0 -1
  195. package/dist/__tests__/repositories/MongoAgentMessageRepository.test.d.ts.map +0 -1
  196. package/dist/__tests__/repositories/MongoAgentMessageRepository.test.js.map +0 -1
  197. package/dist/__tests__/schemas/AgentChatSchema.test.d.ts.map +0 -1
  198. package/dist/__tests__/schemas/AgentChatSchema.test.js.map +0 -1
  199. package/dist/__tests__/schemas/AgentMessageSchema.test.d.ts.map +0 -1
  200. package/dist/__tests__/schemas/AgentMessageSchema.test.js.map +0 -1
  201. package/dist/__tests__/setup.js.map +0 -1
  202. package/dist/index.d.ts +0 -9
  203. package/dist/index.d.ts.map +0 -1
  204. package/dist/index.js +0 -9
  205. package/dist/index.js.map +0 -1
  206. package/dist/mongo/config.d.ts.map +0 -1
  207. package/dist/mongo/config.js.map +0 -1
  208. package/dist/mongo/encryption.d.ts +0 -66
  209. package/dist/mongo/encryption.d.ts.map +0 -1
  210. package/dist/mongo/encryption.js +0 -140
  211. package/dist/mongo/encryption.js.map +0 -1
  212. package/dist/mongo/index.d.ts.map +0 -1
  213. package/dist/mongo/index.js.map +0 -1
  214. package/dist/mongo/logger.d.ts.map +0 -1
  215. package/dist/mongo/logger.js.map +0 -1
  216. package/dist/repositories/MongoAgentChatRepository.d.ts.map +0 -1
  217. package/dist/repositories/MongoAgentChatRepository.js +0 -235
  218. package/dist/repositories/MongoAgentChatRepository.js.map +0 -1
  219. package/dist/repositories/MongoAgentMessageRepository.d.ts.map +0 -1
  220. package/dist/repositories/MongoAgentMessageRepository.js.map +0 -1
  221. package/dist/repositories/index.d.ts +0 -3
  222. package/dist/repositories/index.d.ts.map +0 -1
  223. package/dist/repositories/index.js +0 -3
  224. package/dist/repositories/index.js.map +0 -1
  225. package/dist/schemas/AgentChatSchema.d.ts.map +0 -1
  226. package/dist/schemas/AgentChatSchema.js.map +0 -1
  227. package/dist/schemas/AgentMessageSchema.d.ts.map +0 -1
  228. package/dist/schemas/AgentMessageSchema.js.map +0 -1
  229. package/dist/schemas/index.d.ts +0 -3
  230. package/dist/schemas/index.d.ts.map +0 -1
  231. package/dist/schemas/index.js +0 -3
  232. package/dist/schemas/index.js.map +0 -1
  233. /package/dist/{__tests__ → cjs/__tests__}/helpers.d.ts +0 -0
  234. /package/dist/{__tests__ → cjs/__tests__}/repositories/MongoAgentChatRepository.test.d.ts +0 -0
  235. /package/dist/{__tests__ → cjs/__tests__}/repositories/MongoAgentMessageRepository.test.d.ts +0 -0
  236. /package/dist/{__tests__ → cjs/__tests__}/schemas/AgentChatSchema.test.d.ts +0 -0
  237. /package/dist/{__tests__ → cjs/__tests__}/schemas/AgentMessageSchema.test.d.ts +0 -0
  238. /package/dist/{__tests__ → cjs/__tests__}/setup.d.ts +0 -0
  239. /package/dist/{mongo → cjs/mongo}/config.d.ts +0 -0
  240. /package/dist/{mongo → cjs/mongo}/logger.d.ts +0 -0
  241. /package/dist/{schemas → cjs/schemas}/AgentChatSchema.d.ts +0 -0
  242. /package/dist/{schemas → cjs/schemas}/AgentMessageSchema.d.ts +0 -0
  243. /package/dist/{__tests__ → esm/__tests__}/setup.js +0 -0
  244. /package/dist/{mongo → esm/mongo}/config.js +0 -0
  245. /package/dist/{mongo → esm/mongo}/logger.js +0 -0
@@ -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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"}
@@ -0,0 +1,34 @@
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
+ /**
4
+ * MongoDB implementation of AgentMessageRepository
5
+ */
6
+ export declare class MongoAgentMessageRepository implements AgentMessageRepository {
7
+ findById(id: string): Promise<AgentMessage | null>;
8
+ find(filter?: Partial<AgentMessage>): Promise<AgentMessage[]>;
9
+ findOne(filter: Partial<AgentMessage>): Promise<AgentMessage | null>;
10
+ create(entity: Omit<AgentMessage, 'id' | 'createdAt'>, id?: string): Promise<AgentMessage>;
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>;
18
+ delete(id: string): Promise<boolean>;
19
+ exists(id: string): Promise<boolean>;
20
+ count(filter?: Partial<AgentMessage>): Promise<number>;
21
+ findByChatId(chatId: string): Promise<AgentMessage[]>;
22
+ findByChatIdPaginated(chatId: string, options?: FindMessagesPaginatedOptions): Promise<{
23
+ messages: AgentMessage[];
24
+ hasMore: boolean;
25
+ }>;
26
+ findByRole(role: MessageRole): Promise<AgentMessage[]>;
27
+ findByChatIdAndRole(chatId: string, role?: MessageRole): Promise<AgentMessage[]>;
28
+ findWithToolCalls(chatId?: string): Promise<AgentMessage[]>;
29
+ findWithAttachments(chatId?: string): Promise<AgentMessage[]>;
30
+ deleteByChatId(chatId: string): Promise<number>;
31
+ deleteByRole(role: MessageRole): Promise<number>;
32
+ deleteByChatIdAndRole(chatId: string, role: MessageRole): Promise<number>;
33
+ }
34
+ //# sourceMappingURL=MongoAgentMessageRepository.d.ts.map
@@ -0,0 +1 @@
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;AA8BzG;;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"}
@@ -11,14 +11,18 @@ function toAgentMessage(doc) {
11
11
  id: doc._id.toString(),
12
12
  chat: doc.chat.toString(),
13
13
  role: message.role,
14
- content: message.content,
14
+ content: message.content || '',
15
15
  createdAt: message.createdAt,
16
+ activity: message.activity,
16
17
  reasoning: message.reasoning,
18
+ ...(message.parts ? { parts: message.parts } : {}),
17
19
  toolCalls: message.toolCalls || [],
18
20
  attachments: message.attachments || [],
19
21
  annotations: message.annotations,
20
22
  tokens: message.tokens,
21
23
  agentName: message.agentName,
24
+ sender: message.sender,
25
+ mentions: message.mentions || [],
22
26
  };
23
27
  }
24
28
  /**
@@ -32,22 +36,22 @@ export class MongoAgentMessageRepository {
32
36
  async find(filter) {
33
37
  const query = {};
34
38
  if (filter) {
35
- if (filter.id) {
36
- query._id = filter.id;
37
- delete filter.id;
39
+ const { id, ...rest } = filter;
40
+ if (id) {
41
+ query._id = id;
38
42
  }
39
- Object.assign(query, filter);
43
+ Object.assign(query, rest);
40
44
  }
41
45
  const docs = await AgentMessageModel.find(query).exec();
42
46
  return docs.map(doc => toAgentMessage(doc)).filter(Boolean);
43
47
  }
44
48
  async findOne(filter) {
45
49
  const query = {};
46
- if (filter.id) {
47
- query._id = filter.id;
48
- delete filter.id;
50
+ const { id, ...rest } = filter;
51
+ if (id) {
52
+ query._id = id;
49
53
  }
50
- Object.assign(query, filter);
54
+ Object.assign(query, rest);
51
55
  const doc = await AgentMessageModel.findOne(query).exec();
52
56
  return toAgentMessage(doc);
53
57
  }
@@ -66,7 +70,32 @@ export class MongoAgentMessageRepository {
66
70
  return result;
67
71
  }
68
72
  async update(id, updates) {
69
- const doc = await AgentMessageModel.findByIdAndUpdate(id, { $set: updates }, { new: true }).exec();
73
+ const doc = await AgentMessageModel.findByIdAndUpdate(id, { $set: updates }, { new: true, runValidators: true }).exec();
74
+ return toAgentMessage(doc);
75
+ }
76
+ async updateToolCall(messageId, toolCallId, updates) {
77
+ const setUpdates = {};
78
+ if (updates.input !== undefined) {
79
+ setUpdates['toolCalls.$.input'] = updates.input;
80
+ }
81
+ if (updates.output !== undefined) {
82
+ setUpdates['toolCalls.$.output'] = updates.output;
83
+ }
84
+ if (updates.status !== undefined) {
85
+ setUpdates['toolCalls.$.status'] = updates.status;
86
+ }
87
+ if (updates.subagentChatId !== undefined) {
88
+ setUpdates['toolCalls.$.subagentChatId'] = updates.subagentChatId;
89
+ }
90
+ if (Object.keys(setUpdates).length === 0) {
91
+ return this.findById(messageId);
92
+ }
93
+ const doc = await AgentMessageModel.findOneAndUpdate({
94
+ _id: messageId,
95
+ 'toolCalls.id': toolCallId,
96
+ }, {
97
+ $set: setUpdates,
98
+ }, { new: true, runValidators: true }).exec();
70
99
  return toAgentMessage(doc);
71
100
  }
72
101
  async delete(id) {
@@ -80,11 +109,11 @@ export class MongoAgentMessageRepository {
80
109
  async count(filter) {
81
110
  const query = {};
82
111
  if (filter) {
83
- if (filter.id) {
84
- query._id = filter.id;
85
- delete filter.id;
112
+ const { id, ...rest } = filter;
113
+ if (id) {
114
+ query._id = id;
86
115
  }
87
- Object.assign(query, filter);
116
+ Object.assign(query, rest);
88
117
  }
89
118
  return AgentMessageModel.countDocuments(query).exec();
90
119
  }
@@ -92,6 +121,34 @@ export class MongoAgentMessageRepository {
92
121
  const docs = await AgentMessageModel.find({ chat: chatId }).exec();
93
122
  return docs.map(doc => toAgentMessage(doc)).filter(Boolean);
94
123
  }
124
+ async findByChatIdPaginated(chatId, options) {
125
+ const { limit, before } = options ?? {};
126
+ if (limit == null || limit <= 0) {
127
+ const messages = await this.findByChatId(chatId);
128
+ return { messages, hasMore: false };
129
+ }
130
+ const query = { chat: chatId };
131
+ if (before) {
132
+ const cursorMessage = await AgentMessageModel.findById(before).exec();
133
+ if (!cursorMessage || cursorMessage.chat.toString() !== chatId) {
134
+ throw new Error('Message not found or does not belong to this chat');
135
+ }
136
+ const cursorCreatedAt = cursorMessage.createdAt ?? cursorMessage.get?.('createdAt');
137
+ if (cursorCreatedAt) {
138
+ query.createdAt = { $lt: cursorCreatedAt };
139
+ }
140
+ }
141
+ const take = limit + 1;
142
+ const docs = await AgentMessageModel.find(query)
143
+ .sort({ createdAt: -1 })
144
+ .limit(take)
145
+ .exec();
146
+ const hasMore = docs.length > limit;
147
+ const slice = hasMore ? docs.slice(0, limit) : docs;
148
+ const messages = slice.map(doc => toAgentMessage(doc)).filter(Boolean);
149
+ messages.reverse();
150
+ return { messages, hasMore };
151
+ }
95
152
  async findByRole(role) {
96
153
  const docs = await AgentMessageModel.find({ role }).exec();
97
154
  return docs.map(doc => toAgentMessage(doc)).filter(Boolean);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MongoAgentMessageRepository.js","sourceRoot":"","sources":["../../../src/repositories/MongoAgentMessageRepository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { TenantAICredential, AIProvider } from '@multiplayer-app/ai-agent-types';
2
+ import type { TenantAICredentialRepository } from '@multiplayer-app/ai-agent-db';
3
+ import { SortOrder } from '@multiplayer-app/ai-agent-types';
4
+ export declare class MongoTenantAICredentialRepository implements TenantAICredentialRepository {
5
+ findById(id: string): Promise<TenantAICredential | null>;
6
+ find(filter?: Partial<TenantAICredential>, options?: {
7
+ sort?: {
8
+ field: string;
9
+ order: SortOrder;
10
+ };
11
+ skip?: number;
12
+ limit?: number;
13
+ }): Promise<TenantAICredential[]>;
14
+ findOne(filter: Partial<TenantAICredential>): Promise<TenantAICredential | null>;
15
+ create(entity: Omit<TenantAICredential, 'id' | 'createdAt' | 'updatedAt'>): Promise<TenantAICredential>;
16
+ update(id: string, updates: Partial<Omit<TenantAICredential, 'id' | 'createdAt'>>): Promise<TenantAICredential | null>;
17
+ delete(id: string): Promise<boolean>;
18
+ exists(id: string): Promise<boolean>;
19
+ count(filter?: Partial<TenantAICredential>): Promise<number>;
20
+ findByTenantKey(tenantKey: string): Promise<TenantAICredential[]>;
21
+ findByTenantKeyAndProvider(tenantKey: string, provider: AIProvider): Promise<TenantAICredential | null>;
22
+ upsertByTenantKeyAndProvider(tenantKey: string, tenants: Record<string, string>, provider: AIProvider, encryptedApiKey: string, baseUrl?: string): Promise<TenantAICredential>;
23
+ deleteByTenantKeyAndProvider(tenantKey: string, provider: AIProvider): Promise<boolean>;
24
+ }
25
+ //# sourceMappingURL=MongoTenantAICredentialRepository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MongoTenantAICredentialRepository.d.ts","sourceRoot":"","sources":["../../../src/repositories/MongoTenantAICredentialRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AA4B5D,qBAAa,iCAAkC,YAAW,4BAA4B;IAC9E,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAKxD,IAAI,CACR,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACpC,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,kBAAkB,EAAE,CAAC;IAqB1B,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAUhF,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAQvG,MAAM,CACV,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,GAAG,WAAW,CAAC,CAAC,GAC7D,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAS/B,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,kBAAkB,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAU5D,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAKjE,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAKvG,4BAA4B,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,QAAQ,EAAE,UAAU,EACpB,eAAe,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,kBAAkB,CAAC;IAwBxB,4BAA4B,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;CAI9F"}
@@ -0,0 +1,125 @@
1
+ import { SortOrder } from '@multiplayer-app/ai-agent-types';
2
+ import { TenantAICredentialModel, } from '../schemas/TenantAICredentialSchema';
3
+ function toTenantAICredential(doc) {
4
+ if (!doc)
5
+ return null;
6
+ const value = doc.toObject ? doc.toObject() : doc;
7
+ const tenantsValue = value.tenants;
8
+ const tenants = tenantsValue instanceof Map
9
+ ? Object.fromEntries(tenantsValue.entries())
10
+ : (tenantsValue ?? {});
11
+ return {
12
+ id: doc._id.toString(),
13
+ tenantKey: value.tenantKey,
14
+ tenants,
15
+ provider: value.provider,
16
+ encryptedApiKey: value.encryptedApiKey,
17
+ baseUrl: value.baseUrl,
18
+ createdAt: value.createdAt?.toISOString?.() ?? value.createdAt,
19
+ updatedAt: value.updatedAt?.toISOString?.() ?? value.updatedAt,
20
+ };
21
+ }
22
+ export class MongoTenantAICredentialRepository {
23
+ async findById(id) {
24
+ const doc = await TenantAICredentialModel.findById(id).exec();
25
+ return toTenantAICredential(doc);
26
+ }
27
+ async find(filter, options) {
28
+ const query = {};
29
+ if (filter) {
30
+ if (filter.id)
31
+ query._id = filter.id;
32
+ if (filter.tenantKey !== undefined)
33
+ query.tenantKey = filter.tenantKey;
34
+ if (filter.provider !== undefined)
35
+ query.provider = filter.provider;
36
+ }
37
+ let qb = TenantAICredentialModel.find(query);
38
+ if (options?.sort) {
39
+ const sortField = options.sort.field === 'id' ? '_id' : options.sort.field;
40
+ const sortOrder = options.sort.order === SortOrder.Asc ? 1 : -1;
41
+ qb = qb.sort({ [sortField]: sortOrder });
42
+ }
43
+ if (options?.skip)
44
+ qb = qb.skip(options.skip);
45
+ if (options?.limit)
46
+ qb = qb.limit(options.limit);
47
+ const docs = await qb.exec();
48
+ return docs.map((doc) => toTenantAICredential(doc)).filter(Boolean);
49
+ }
50
+ async findOne(filter) {
51
+ const query = {};
52
+ if (filter.id)
53
+ query._id = filter.id;
54
+ if (filter.tenantKey !== undefined)
55
+ query.tenantKey = filter.tenantKey;
56
+ if (filter.provider !== undefined)
57
+ query.provider = filter.provider;
58
+ const doc = await TenantAICredentialModel.findOne(query).exec();
59
+ return toTenantAICredential(doc);
60
+ }
61
+ async create(entity) {
62
+ const doc = new TenantAICredentialModel(entity);
63
+ const saved = await doc.save();
64
+ const result = toTenantAICredential(saved);
65
+ if (!result)
66
+ throw new Error('Failed to create tenant AI credential');
67
+ return result;
68
+ }
69
+ async update(id, updates) {
70
+ const doc = await TenantAICredentialModel.findByIdAndUpdate(id, { $set: updates }, { new: true, runValidators: true }).exec();
71
+ return toTenantAICredential(doc);
72
+ }
73
+ async delete(id) {
74
+ const result = await TenantAICredentialModel.findByIdAndDelete(id).exec();
75
+ return !!result;
76
+ }
77
+ async exists(id) {
78
+ const count = await TenantAICredentialModel.countDocuments({ _id: id }).exec();
79
+ return count > 0;
80
+ }
81
+ async count(filter) {
82
+ const query = {};
83
+ if (filter) {
84
+ if (filter.id)
85
+ query._id = filter.id;
86
+ if (filter.tenantKey !== undefined)
87
+ query.tenantKey = filter.tenantKey;
88
+ if (filter.provider !== undefined)
89
+ query.provider = filter.provider;
90
+ }
91
+ return TenantAICredentialModel.countDocuments(query).exec();
92
+ }
93
+ async findByTenantKey(tenantKey) {
94
+ const docs = await TenantAICredentialModel.find({ tenantKey }).exec();
95
+ return docs.map((doc) => toTenantAICredential(doc)).filter(Boolean);
96
+ }
97
+ async findByTenantKeyAndProvider(tenantKey, provider) {
98
+ const doc = await TenantAICredentialModel.findOne({ tenantKey, provider }).exec();
99
+ return toTenantAICredential(doc);
100
+ }
101
+ async upsertByTenantKeyAndProvider(tenantKey, tenants, provider, encryptedApiKey, baseUrl) {
102
+ const doc = await TenantAICredentialModel.findOneAndUpdate({ tenantKey, provider }, {
103
+ $set: {
104
+ tenantKey,
105
+ tenants,
106
+ provider,
107
+ encryptedApiKey,
108
+ baseUrl,
109
+ },
110
+ }, {
111
+ new: true,
112
+ upsert: true,
113
+ runValidators: true,
114
+ }).exec();
115
+ const result = toTenantAICredential(doc);
116
+ if (!result)
117
+ throw new Error('Failed to upsert tenant AI credential');
118
+ return result;
119
+ }
120
+ async deleteByTenantKeyAndProvider(tenantKey, provider) {
121
+ const result = await TenantAICredentialModel.findOneAndDelete({ tenantKey, provider }).exec();
122
+ return !!result;
123
+ }
124
+ }
125
+ //# sourceMappingURL=MongoTenantAICredentialRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MongoTenantAICredentialRepository.js","sourceRoot":"","sources":["../../../src/repositories/MongoTenantAICredentialRepository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export * from './MongoAgentChatRepository';
2
+ export * from './MongoAgentMessageRepository';
3
+ export * from './MongoActivityRepository';
4
+ export * from './MongoAgentConfigRepository';
5
+ export * from './MongoTenantAICredentialRepository';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/repositories/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qCAAqC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from './MongoAgentChatRepository';
2
+ export * from './MongoAgentMessageRepository';
3
+ export * from './MongoActivityRepository';
4
+ export * from './MongoAgentConfigRepository';
5
+ export * from './MongoTenantAICredentialRepository';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repositories/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qCAAqC,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { type ObjectId, type Document } from '../mongo';
2
+ import type { Activity } from '@multiplayer-app/ai-agent-types';
3
+ /**
4
+ * Mongoose document interface for Activity
5
+ */
6
+ export interface ActivityDocument extends Omit<Activity, 'id'>, Document {
7
+ _id: ObjectId;
8
+ systemCost: number;
9
+ }
10
+ /**
11
+ * Mongoose schema for Activity
12
+ */
13
+ export declare const ActivitySchema: import("mongoose").Schema<ActivityDocument, import("mongoose").Model<ActivityDocument, any, any, any, Document<unknown, any, ActivityDocument, any, {}> & ActivityDocument & Required<{
14
+ _id: import("mongoose").Types.ObjectId;
15
+ }> & {
16
+ __v: number;
17
+ }, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, ActivityDocument, Document<unknown, {}, import("mongoose").FlatRecord<ActivityDocument>, {}, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & import("mongoose").FlatRecord<ActivityDocument> & Required<{
18
+ _id: import("mongoose").Types.ObjectId;
19
+ }> & {
20
+ __v: number;
21
+ }>;
22
+ /**
23
+ * Mongoose model for Activity
24
+ */
25
+ export declare const ActivityModel: import("mongoose").Model<ActivityDocument, {}, {}, {}, Document<unknown, {}, ActivityDocument, {}, {}> & ActivityDocument & Required<{
26
+ _id: import("mongoose").Types.ObjectId;
27
+ }> & {
28
+ __v: number;
29
+ }, any>;
30
+ //# sourceMappingURL=ActivitySchema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActivitySchema.d.ts","sourceRoot":"","sources":["../../../src/schemas/ActivitySchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,QAAQ;IACtE,GAAG,EAAE,QAAQ,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;EAczB,CAAC;AAYH;;GAEG;AACH,eAAO,MAAM,aAAa;;;;OAA+D,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { mongoose, Schema } from '../mongo';
2
+ /**
3
+ * Mongoose schema for Activity
4
+ */
5
+ export const ActivitySchema = new Schema({
6
+ ownerId: { type: String, required: true, index: true },
7
+ groupId: { type: String, required: true, index: true },
8
+ name: { type: String, required: true, index: true },
9
+ description: { type: String, required: false },
10
+ parentId: { type: String, required: false, index: true, sparse: true },
11
+ tenants: { type: Map, of: String, required: true, default: {} },
12
+ sourceId: { type: String, required: true, index: true, default: '' },
13
+ sourceType: { type: String, required: true, index: true, default: 'Unknown' },
14
+ metadata: { type: Schema.Types.Mixed, required: true },
15
+ systemCost: { type: Number, required: false, default: 0, select: false }
16
+ }, {
17
+ timestamps: true,
18
+ _id: true,
19
+ });
20
+ // Create indexes for common queries
21
+ ActivitySchema.index({ "tenants.workspace": 1 });
22
+ ActivitySchema.index({ "tenants.project": 1 });
23
+ ActivitySchema.index({ "tenants.account": 1 });
24
+ ActivitySchema.index({ "tenants.$**": 1 });
25
+ ActivitySchema.index({ ownerId: 1, groupId: 1 });
26
+ ActivitySchema.index({ ownerId: 1, sourceId: 1 });
27
+ /**
28
+ * Mongoose model for Activity
29
+ */
30
+ export const ActivityModel = mongoose.model('Activity', ActivitySchema);
31
+ //# sourceMappingURL=ActivitySchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActivitySchema.js","sourceRoot":"","sources":["../../../src/schemas/ActivitySchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAgC,MAAM,UAAU,CAAC;AAW1E;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,MAAM,CAAmB;IACzD,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;IACtD,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;IACtD,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;IACnD,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IAC9C,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;IACtE,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;IAC/D,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;IACpE,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE;IAC7E,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;IACtD,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE;CACzE,EAAE;IACD,UAAU,EAAE,IAAI;IAChB,GAAG,EAAE,IAAI;CACV,CAAC,CAAC;AAEH,oCAAoC;AAEpC,cAAc,CAAC,KAAK,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC;AACjD,cAAc,CAAC,KAAK,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC,CAAC;AAC/C,cAAc,CAAC,KAAK,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC,CAAC;AAC/C,cAAc,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;AAE3C,cAAc,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AACjD,cAAc,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;AAElD;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAmB,UAAU,EAAE,cAAc,CAAC,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { type ObjectId, type Document } from '../mongo';
2
+ import type { AgentChat } from '@multiplayer-app/ai-agent-types';
3
+ /**
4
+ * Mongoose document interface for AgentChat
5
+ */
6
+ export interface AgentChatDocument extends Omit<AgentChat, 'id'>, Omit<Document, 'model'> {
7
+ _id: ObjectId;
8
+ }
9
+ /**
10
+ * Mongoose schema for AgentChat
11
+ */
12
+ export declare const AgentChatSchema: import("mongoose").Schema<AgentChatDocument, import("mongoose").Model<AgentChatDocument, any, any, any, Document<unknown, any, AgentChatDocument, any, {}> & AgentChatDocument & Required<{
13
+ _id: import("mongoose").Types.ObjectId;
14
+ }> & {
15
+ __v: number;
16
+ }, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, AgentChatDocument, Document<unknown, {}, import("mongoose").FlatRecord<AgentChatDocument>, {}, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & import("mongoose").FlatRecord<AgentChatDocument> & Required<{
17
+ _id: import("mongoose").Types.ObjectId;
18
+ }> & {
19
+ __v: number;
20
+ }>;
21
+ /**
22
+ * Mongoose model for AgentChat
23
+ */
24
+ export declare const AgentChatModel: import("mongoose").Model<AgentChatDocument, {}, {}, {}, Document<unknown, {}, AgentChatDocument, {}, {}> & AgentChatDocument & Required<{
25
+ _id: import("mongoose").Types.ObjectId;
26
+ }> & {
27
+ __v: number;
28
+ }, any>;
29
+ //# sourceMappingURL=AgentChatSchema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentChatSchema.d.ts","sourceRoot":"","sources":["../../../src/schemas/AgentChatSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAGjE;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC;IACvF,GAAG,EAAE,QAAQ,CAAC;CACf;AAED;;GAEG;AACD,eAAO,MAAM,eAAe;;;;;;;;EAmB5B,CAAC;AAMH;;GAEG;AACH,eAAO,MAAM,cAAc;;;;OAAkE,CAAC"}