@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,160 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MongoAgentChatRepository = void 0;
4
+ const ai_agent_types_1 = require("@multiplayer-app/ai-agent-types");
5
+ const AgentChatSchema_1 = require("../schemas/AgentChatSchema.cjs");
6
+ const AgentMessageSchema_1 = require("../schemas/AgentMessageSchema.cjs");
7
+ /**
8
+ * Helper function to convert Mongoose document to AgentChat type
9
+ */
10
+ function toAgentChat(doc) {
11
+ if (!doc)
12
+ return null;
13
+ const chat = doc.toObject ? doc.toObject() : doc;
14
+ const tenants = chat.tenants instanceof Map ? Object.fromEntries(chat.tenants.entries()) : (chat.tenants ?? {});
15
+ return {
16
+ id: doc._id.toString(),
17
+ title: chat.title,
18
+ type: chat.type || ai_agent_types_1.ChatType.Chat,
19
+ status: chat.status,
20
+ sessionKind: chat.sessionKind,
21
+ parentChatId: chat.parentChatId,
22
+ parentMessageId: chat.parentMessageId,
23
+ parentToolCallId: chat.parentToolCallId,
24
+ contextKey: chat.contextKey,
25
+ userId: chat.userId,
26
+ tenants,
27
+ model: chat.model,
28
+ createdAt: chat.createdAt,
29
+ updatedAt: chat.updatedAt,
30
+ metadata: chat.metadata,
31
+ participantIds: chat.participantIds || []
32
+ };
33
+ }
34
+ /**
35
+ * MongoDB implementation of AgentChatRepository
36
+ */
37
+ class MongoAgentChatRepository {
38
+ applyFilter(query, filter) {
39
+ if (!filter)
40
+ return;
41
+ if (filter.id)
42
+ query._id = filter.id;
43
+ if (filter.userId !== undefined) {
44
+ query.$or = [
45
+ { userId: filter.userId },
46
+ { participantIds: filter.userId },
47
+ { 'tenants.userId': filter.userId }
48
+ ];
49
+ }
50
+ if (filter.contextKey !== undefined)
51
+ query.contextKey = filter.contextKey;
52
+ if (filter.type !== undefined)
53
+ query.type = filter.type;
54
+ if (filter.status !== undefined)
55
+ query.status = filter.status;
56
+ if (filter.sessionKind !== undefined) {
57
+ query.sessionKind = filter.sessionKind === ai_agent_types_1.AgentSessionKind.ROOT
58
+ ? { $ne: ai_agent_types_1.AgentSessionKind.SUBAGENT }
59
+ : filter.sessionKind;
60
+ }
61
+ if (filter.parentChatId !== undefined)
62
+ query.parentChatId = filter.parentChatId;
63
+ if (filter.parentMessageId !== undefined)
64
+ query.parentMessageId = filter.parentMessageId;
65
+ if (filter.parentToolCallId !== undefined)
66
+ query.parentToolCallId = filter.parentToolCallId;
67
+ if (filter.model !== undefined)
68
+ query.model = filter.model;
69
+ if (filter.tenants !== undefined)
70
+ query.tenants = filter.tenants;
71
+ if (filter.multiUser !== undefined) {
72
+ query.$expr = {
73
+ [filter.multiUser ? '$gt' : '$lte']: [
74
+ { $size: { $ifNull: ['$participantIds', []] } },
75
+ 1
76
+ ]
77
+ };
78
+ }
79
+ }
80
+ async findById(id) {
81
+ const doc = await AgentChatSchema_1.AgentChatModel.findById(id).exec();
82
+ return toAgentChat(doc);
83
+ }
84
+ async findOne(filter) {
85
+ const query = {};
86
+ const { id, ...rest } = filter;
87
+ if (id) {
88
+ query._id = id;
89
+ }
90
+ Object.assign(query, rest);
91
+ const doc = await AgentChatSchema_1.AgentChatModel.findOne(query).exec();
92
+ return toAgentChat(doc);
93
+ }
94
+ async create(entity) {
95
+ const now = new Date().toISOString();
96
+ const doc = new AgentChatSchema_1.AgentChatModel({
97
+ ...entity,
98
+ createdAt: now,
99
+ updatedAt: now,
100
+ });
101
+ const saved = await doc.save();
102
+ const result = toAgentChat(saved);
103
+ if (!result) {
104
+ throw new Error('Failed to create chat');
105
+ }
106
+ return result;
107
+ }
108
+ async update(id, updates) {
109
+ const doc = await AgentChatSchema_1.AgentChatModel.findByIdAndUpdate(id, { $set: { ...updates, updatedAt: new Date().toISOString() } }, { new: true }).exec();
110
+ return toAgentChat(doc);
111
+ }
112
+ async delete(id) {
113
+ // Delete all related messages first
114
+ await AgentMessageSchema_1.AgentMessageModel.deleteMany({ chat: id }).exec();
115
+ // Then delete the chat
116
+ const result = await AgentChatSchema_1.AgentChatModel.findByIdAndDelete(id).exec();
117
+ return !!result;
118
+ }
119
+ async exists(id) {
120
+ const count = await AgentChatSchema_1.AgentChatModel.countDocuments({ _id: id }).exec();
121
+ return count > 0;
122
+ }
123
+ async count(filter) {
124
+ const query = {};
125
+ this.applyFilter(query, filter);
126
+ return AgentChatSchema_1.AgentChatModel.countDocuments(query).exec();
127
+ }
128
+ async updateTitle(id, title) {
129
+ const doc = await AgentChatSchema_1.AgentChatModel.findByIdAndUpdate(id, { $set: { title, updatedAt: new Date().toISOString() } }, { new: true }).exec();
130
+ return toAgentChat(doc);
131
+ }
132
+ async deleteByUserId(userId) {
133
+ const result = await AgentChatSchema_1.AgentChatModel.deleteMany({ 'tenants.userId': userId }).exec();
134
+ return result.deletedCount || 0;
135
+ }
136
+ async deleteByContextKey(contextKey) {
137
+ const result = await AgentChatSchema_1.AgentChatModel.deleteMany({ contextKey }).exec();
138
+ return result.deletedCount || 0;
139
+ }
140
+ async find(filter, options) {
141
+ const query = {};
142
+ this.applyFilter(query, filter);
143
+ let qb = AgentChatSchema_1.AgentChatModel.find(query);
144
+ if (options?.sort) {
145
+ const sortField = options.sort.field === 'id' ? '_id' : options.sort.field;
146
+ const sortOrder = options.sort.order === ai_agent_types_1.SortOrder.Asc ? 1 : -1;
147
+ qb = qb.sort({ [sortField]: sortOrder });
148
+ }
149
+ if (options?.skip) {
150
+ qb = qb.skip(options.skip);
151
+ }
152
+ if (options?.limit) {
153
+ qb = qb.limit(options.limit);
154
+ }
155
+ const docs = await qb.exec();
156
+ return docs.map((doc) => toAgentChat(doc)).filter(Boolean);
157
+ }
158
+ }
159
+ exports.MongoAgentChatRepository = MongoAgentChatRepository;
160
+ //# sourceMappingURL=MongoAgentChatRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MongoAgentChatRepository.js","sourceRoot":"","sources":["../../../src/repositories/MongoAgentChatRepository.ts"],"names":[],"mappings":"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"}
@@ -1,37 +1,28 @@
1
- import type { AgentChat, AgentChatResponse } from '@multiplayer-app/ai-agent-types';
1
+ import type { AgentChat } from '@multiplayer-app/ai-agent-types';
2
2
  import { SortOrder } from '@multiplayer-app/ai-agent-types';
3
- import type { AgentChatRepository } from '@multiplayer-app/ai-agent-db';
3
+ import type { AgentChatFilter, AgentChatRepository } from '@multiplayer-app/ai-agent-db';
4
4
  /**
5
5
  * MongoDB implementation of AgentChatRepository
6
6
  */
7
7
  export declare class MongoAgentChatRepository implements AgentChatRepository {
8
+ private applyFilter;
8
9
  findById(id: string): Promise<AgentChat | null>;
9
- find(filter?: Partial<AgentChat>, options?: {
10
- sort?: {
11
- field: string;
12
- order: SortOrder;
13
- };
14
- limit?: number;
15
- }): Promise<AgentChat[]>;
16
10
  findOne(filter: Partial<AgentChat>): Promise<AgentChat | null>;
17
11
  create(entity: Omit<AgentChat, 'id' | 'createdAt' | 'updatedAt'>): Promise<AgentChat>;
18
12
  update(id: string, updates: Partial<Omit<AgentChat, 'id' | 'createdAt'>>): Promise<AgentChat | null>;
19
13
  delete(id: string): Promise<boolean>;
20
14
  exists(id: string): Promise<boolean>;
21
- count(filter?: Partial<AgentChat>): Promise<number>;
22
- findByUserId(userId: string): Promise<AgentChat[]>;
23
- findByContextKey(contextKey: string): Promise<AgentChat[]>;
24
- findByUserIdAndContextKey(userId: string, contextKey: string): Promise<AgentChat[]>;
25
- findGuestChatsByContextKey(contextKey: string): Promise<AgentChat[]>;
15
+ count(filter?: AgentChatFilter): Promise<number>;
26
16
  updateTitle(id: string, title: string): Promise<AgentChat | null>;
27
17
  deleteByUserId(userId: string): Promise<number>;
28
18
  deleteByContextKey(contextKey: string): Promise<number>;
29
- findWithMessages(filter?: Partial<AgentChat>, options?: {
19
+ find(filter?: AgentChatFilter, options?: {
30
20
  sort?: {
31
21
  field: string;
32
22
  order: SortOrder;
33
23
  };
24
+ skip?: number;
34
25
  limit?: number;
35
- }): Promise<AgentChatResponse[]>;
26
+ }): Promise<AgentChat[]>;
36
27
  }
37
28
  //# sourceMappingURL=MongoAgentChatRepository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MongoAgentChatRepository.d.ts","sourceRoot":"","sources":["../../../src/repositories/MongoAgentChatRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAA8B,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACxF,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAiCzF;;GAEG;AACH,qBAAa,wBAAyB,YAAW,mBAAmB;IAClE,OAAO,CAAC,WAAW;IAkCb,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAK/C,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAa9D,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;IAgBrF,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAUpG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUpC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKpC,KAAK,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAOhD,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAUjE,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK/C,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKvD,IAAI,CACR,MAAM,CAAC,EAAE,eAAe,EACxB,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,SAAS,CAAA;SAAE,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GACtF,OAAO,CAAC,SAAS,EAAE,CAAC;CAuBxB"}
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MongoAgentConfigRepository = void 0;
4
+ const ai_agent_types_1 = require("@multiplayer-app/ai-agent-types");
5
+ const AgentConfigPreferenceSchema_1 = require("../schemas/AgentConfigPreferenceSchema.cjs");
6
+ function toAgentConfigPreference(doc) {
7
+ if (!doc)
8
+ return null;
9
+ const value = doc.toObject ? doc.toObject() : doc;
10
+ const toolsValue = value.tools;
11
+ const tools = toolsValue instanceof Map
12
+ ? Object.fromEntries(toolsValue.entries())
13
+ : (toolsValue ?? {});
14
+ return {
15
+ id: doc._id.toString(),
16
+ userId: value.userId,
17
+ agentName: value.agentName,
18
+ tools,
19
+ createdAt: value.createdAt?.toISOString?.() ?? value.createdAt,
20
+ updatedAt: value.updatedAt?.toISOString?.() ?? value.updatedAt,
21
+ };
22
+ }
23
+ class MongoAgentConfigRepository {
24
+ async findById(id) {
25
+ const doc = await AgentConfigPreferenceSchema_1.AgentConfigPreferenceModel.findById(id).exec();
26
+ return toAgentConfigPreference(doc);
27
+ }
28
+ async find(filter, options) {
29
+ const query = {};
30
+ if (filter) {
31
+ if (filter.id)
32
+ query._id = filter.id;
33
+ if (filter.userId !== undefined)
34
+ query.userId = filter.userId;
35
+ if (filter.agentName !== undefined)
36
+ query.agentName = filter.agentName;
37
+ }
38
+ let qb = AgentConfigPreferenceSchema_1.AgentConfigPreferenceModel.find(query);
39
+ if (options?.sort) {
40
+ const sortField = options.sort.field === 'id' ? '_id' : options.sort.field;
41
+ const sortOrder = options.sort.order === ai_agent_types_1.SortOrder.Asc ? 1 : -1;
42
+ qb = qb.sort({ [sortField]: sortOrder });
43
+ }
44
+ if (options?.skip)
45
+ qb = qb.skip(options.skip);
46
+ if (options?.limit)
47
+ qb = qb.limit(options.limit);
48
+ const docs = await qb.exec();
49
+ return docs.map((doc) => toAgentConfigPreference(doc)).filter(Boolean);
50
+ }
51
+ async findOne(filter) {
52
+ const query = {};
53
+ if (filter.id)
54
+ query._id = filter.id;
55
+ if (filter.userId !== undefined)
56
+ query.userId = filter.userId;
57
+ if (filter.agentName !== undefined)
58
+ query.agentName = filter.agentName;
59
+ const doc = await AgentConfigPreferenceSchema_1.AgentConfigPreferenceModel.findOne(query).exec();
60
+ return toAgentConfigPreference(doc);
61
+ }
62
+ async create(entity) {
63
+ const doc = new AgentConfigPreferenceSchema_1.AgentConfigPreferenceModel({
64
+ ...entity,
65
+ tools: entity.tools ?? {},
66
+ });
67
+ const saved = await doc.save();
68
+ const result = toAgentConfigPreference(saved);
69
+ if (!result)
70
+ throw new Error('Failed to create agent config preference');
71
+ return result;
72
+ }
73
+ async update(id, updates) {
74
+ const doc = await AgentConfigPreferenceSchema_1.AgentConfigPreferenceModel.findByIdAndUpdate(id, { $set: updates }, { new: true, runValidators: true }).exec();
75
+ return toAgentConfigPreference(doc);
76
+ }
77
+ async delete(id) {
78
+ const result = await AgentConfigPreferenceSchema_1.AgentConfigPreferenceModel.findByIdAndDelete(id).exec();
79
+ return !!result;
80
+ }
81
+ async exists(id) {
82
+ const count = await AgentConfigPreferenceSchema_1.AgentConfigPreferenceModel.countDocuments({ _id: id }).exec();
83
+ return count > 0;
84
+ }
85
+ async count(filter) {
86
+ const query = {};
87
+ if (filter) {
88
+ if (filter.id)
89
+ query._id = filter.id;
90
+ if (filter.userId !== undefined)
91
+ query.userId = filter.userId;
92
+ if (filter.agentName !== undefined)
93
+ query.agentName = filter.agentName;
94
+ }
95
+ return AgentConfigPreferenceSchema_1.AgentConfigPreferenceModel.countDocuments(query).exec();
96
+ }
97
+ async findByUserId(userId) {
98
+ const docs = await AgentConfigPreferenceSchema_1.AgentConfigPreferenceModel.find({ userId }).exec();
99
+ return docs.map((doc) => toAgentConfigPreference(doc)).filter(Boolean);
100
+ }
101
+ async findByUserIdAndAgentName(userId, agentName) {
102
+ const doc = await AgentConfigPreferenceSchema_1.AgentConfigPreferenceModel.findOne({ userId, agentName }).exec();
103
+ return toAgentConfigPreference(doc);
104
+ }
105
+ async upsertByUserIdAndAgentName(userId, agentName, updates) {
106
+ const doc = await AgentConfigPreferenceSchema_1.AgentConfigPreferenceModel.findOneAndUpdate({ userId, agentName }, {
107
+ $set: {
108
+ tools: updates.tools ?? {},
109
+ },
110
+ }, {
111
+ new: true,
112
+ upsert: true,
113
+ runValidators: true,
114
+ }).exec();
115
+ const result = toAgentConfigPreference(doc);
116
+ if (!result)
117
+ throw new Error('Failed to upsert agent config preference');
118
+ return result;
119
+ }
120
+ async deleteByUserId(userId) {
121
+ const result = await AgentConfigPreferenceSchema_1.AgentConfigPreferenceModel.deleteMany({ userId }).exec();
122
+ return result.deletedCount || 0;
123
+ }
124
+ }
125
+ exports.MongoAgentConfigRepository = MongoAgentConfigRepository;
126
+ //# sourceMappingURL=MongoAgentConfigRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MongoAgentConfigRepository.js","sourceRoot":"","sources":["../../../src/repositories/MongoAgentConfigRepository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { AgentConfigPreference } from '@multiplayer-app/ai-agent-types';
2
+ import type { AgentConfigRepository } from '@multiplayer-app/ai-agent-db';
3
+ import { SortOrder } from '@multiplayer-app/ai-agent-types';
4
+ export declare class MongoAgentConfigRepository implements AgentConfigRepository {
5
+ findById(id: string): Promise<AgentConfigPreference | null>;
6
+ find(filter?: Partial<AgentConfigPreference>, options?: {
7
+ sort?: {
8
+ field: string;
9
+ order: SortOrder;
10
+ };
11
+ skip?: number;
12
+ limit?: number;
13
+ }): Promise<AgentConfigPreference[]>;
14
+ findOne(filter: Partial<AgentConfigPreference>): Promise<AgentConfigPreference | null>;
15
+ create(entity: Omit<AgentConfigPreference, 'id' | 'createdAt' | 'updatedAt'>): Promise<AgentConfigPreference>;
16
+ update(id: string, updates: Partial<Omit<AgentConfigPreference, 'id' | 'createdAt'>>): Promise<AgentConfigPreference | null>;
17
+ delete(id: string): Promise<boolean>;
18
+ exists(id: string): Promise<boolean>;
19
+ count(filter?: Partial<AgentConfigPreference>): Promise<number>;
20
+ findByUserId(userId: string): Promise<AgentConfigPreference[]>;
21
+ findByUserIdAndAgentName(userId: string, agentName: string): Promise<AgentConfigPreference | null>;
22
+ upsertByUserIdAndAgentName(userId: string, agentName: string, updates: Pick<AgentConfigPreference, 'tools'>): Promise<AgentConfigPreference>;
23
+ deleteByUserId(userId: string): Promise<number>;
24
+ }
25
+ //# sourceMappingURL=MongoAgentConfigRepository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MongoAgentConfigRepository.d.ts","sourceRoot":"","sources":["../../../src/repositories/MongoAgentConfigRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAyB5D,qBAAa,0BAA2B,YAAW,qBAAqB;IAChE,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAK3D,IAAI,CACR,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,EACvC,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,SAAS,CAAA;SAAE,CAAC;QAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GACA,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAqB7B,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAUtF,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,qBAAqB,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAW7G,MAAM,CACV,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,GAAG,WAAW,CAAC,CAAC,GAChE,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IASlC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKpC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKpC,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAU/D,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAK9D,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAKlG,0BAA0B,CAC9B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,GAC5C,OAAO,CAAC,qBAAqB,CAAC;IAoB3B,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAItD"}
@@ -0,0 +1,201 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MongoAgentMessageRepository = void 0;
4
+ const AgentMessageSchema_1 = require("../schemas/AgentMessageSchema.cjs");
5
+ /**
6
+ * Helper function to convert Mongoose document to AgentMessage type
7
+ */
8
+ function toAgentMessage(doc) {
9
+ if (!doc)
10
+ return null;
11
+ // Use toObject with proper options to ensure all fields are included
12
+ const message = doc.toObject ? doc.toObject({ getters: true, virtuals: false }) : doc;
13
+ return {
14
+ id: doc._id.toString(),
15
+ chat: doc.chat.toString(),
16
+ role: message.role,
17
+ content: message.content || '',
18
+ createdAt: message.createdAt,
19
+ activity: message.activity,
20
+ reasoning: message.reasoning,
21
+ ...(message.parts ? { parts: message.parts } : {}),
22
+ toolCalls: message.toolCalls || [],
23
+ attachments: message.attachments || [],
24
+ annotations: message.annotations,
25
+ tokens: message.tokens,
26
+ agentName: message.agentName,
27
+ sender: message.sender,
28
+ mentions: message.mentions || [],
29
+ };
30
+ }
31
+ /**
32
+ * MongoDB implementation of AgentMessageRepository
33
+ */
34
+ class MongoAgentMessageRepository {
35
+ async findById(id) {
36
+ const doc = await AgentMessageSchema_1.AgentMessageModel.findById(id).exec();
37
+ return toAgentMessage(doc);
38
+ }
39
+ async find(filter) {
40
+ const query = {};
41
+ if (filter) {
42
+ const { id, ...rest } = filter;
43
+ if (id) {
44
+ query._id = id;
45
+ }
46
+ Object.assign(query, rest);
47
+ }
48
+ const docs = await AgentMessageSchema_1.AgentMessageModel.find(query).exec();
49
+ return docs.map(doc => toAgentMessage(doc)).filter(Boolean);
50
+ }
51
+ async findOne(filter) {
52
+ const query = {};
53
+ const { id, ...rest } = filter;
54
+ if (id) {
55
+ query._id = id;
56
+ }
57
+ Object.assign(query, rest);
58
+ const doc = await AgentMessageSchema_1.AgentMessageModel.findOne(query).exec();
59
+ return toAgentMessage(doc);
60
+ }
61
+ async create(entity, id) {
62
+ const now = new Date().toISOString();
63
+ const doc = new AgentMessageSchema_1.AgentMessageModel({
64
+ ...entity,
65
+ ...(id ? { _id: id } : {}),
66
+ createdAt: now
67
+ });
68
+ const saved = await doc.save();
69
+ const result = toAgentMessage(saved);
70
+ if (!result) {
71
+ throw new Error('Failed to create message');
72
+ }
73
+ return result;
74
+ }
75
+ async update(id, updates) {
76
+ const doc = await AgentMessageSchema_1.AgentMessageModel.findByIdAndUpdate(id, { $set: updates }, { new: true, runValidators: true }).exec();
77
+ return toAgentMessage(doc);
78
+ }
79
+ async updateToolCall(messageId, toolCallId, updates) {
80
+ const setUpdates = {};
81
+ if (updates.input !== undefined) {
82
+ setUpdates['toolCalls.$.input'] = updates.input;
83
+ }
84
+ if (updates.output !== undefined) {
85
+ setUpdates['toolCalls.$.output'] = updates.output;
86
+ }
87
+ if (updates.status !== undefined) {
88
+ setUpdates['toolCalls.$.status'] = updates.status;
89
+ }
90
+ if (updates.subagentChatId !== undefined) {
91
+ setUpdates['toolCalls.$.subagentChatId'] = updates.subagentChatId;
92
+ }
93
+ if (Object.keys(setUpdates).length === 0) {
94
+ return this.findById(messageId);
95
+ }
96
+ const doc = await AgentMessageSchema_1.AgentMessageModel.findOneAndUpdate({
97
+ _id: messageId,
98
+ 'toolCalls.id': toolCallId,
99
+ }, {
100
+ $set: setUpdates,
101
+ }, { new: true, runValidators: true }).exec();
102
+ return toAgentMessage(doc);
103
+ }
104
+ async delete(id) {
105
+ const result = await AgentMessageSchema_1.AgentMessageModel.findByIdAndDelete(id).exec();
106
+ return !!result;
107
+ }
108
+ async exists(id) {
109
+ const count = await AgentMessageSchema_1.AgentMessageModel.countDocuments({ _id: id }).exec();
110
+ return count > 0;
111
+ }
112
+ async count(filter) {
113
+ const query = {};
114
+ if (filter) {
115
+ const { id, ...rest } = filter;
116
+ if (id) {
117
+ query._id = id;
118
+ }
119
+ Object.assign(query, rest);
120
+ }
121
+ return AgentMessageSchema_1.AgentMessageModel.countDocuments(query).exec();
122
+ }
123
+ async findByChatId(chatId) {
124
+ const docs = await AgentMessageSchema_1.AgentMessageModel.find({ chat: chatId }).exec();
125
+ return docs.map(doc => toAgentMessage(doc)).filter(Boolean);
126
+ }
127
+ async findByChatIdPaginated(chatId, options) {
128
+ const { limit, before } = options ?? {};
129
+ if (limit == null || limit <= 0) {
130
+ const messages = await this.findByChatId(chatId);
131
+ return { messages, hasMore: false };
132
+ }
133
+ const query = { chat: chatId };
134
+ if (before) {
135
+ const cursorMessage = await AgentMessageSchema_1.AgentMessageModel.findById(before).exec();
136
+ if (!cursorMessage || cursorMessage.chat.toString() !== chatId) {
137
+ throw new Error('Message not found or does not belong to this chat');
138
+ }
139
+ const cursorCreatedAt = cursorMessage.createdAt ?? cursorMessage.get?.('createdAt');
140
+ if (cursorCreatedAt) {
141
+ query.createdAt = { $lt: cursorCreatedAt };
142
+ }
143
+ }
144
+ const take = limit + 1;
145
+ const docs = await AgentMessageSchema_1.AgentMessageModel.find(query)
146
+ .sort({ createdAt: -1 })
147
+ .limit(take)
148
+ .exec();
149
+ const hasMore = docs.length > limit;
150
+ const slice = hasMore ? docs.slice(0, limit) : docs;
151
+ const messages = slice.map(doc => toAgentMessage(doc)).filter(Boolean);
152
+ messages.reverse();
153
+ return { messages, hasMore };
154
+ }
155
+ async findByRole(role) {
156
+ const docs = await AgentMessageSchema_1.AgentMessageModel.find({ role }).exec();
157
+ return docs.map(doc => toAgentMessage(doc)).filter(Boolean);
158
+ }
159
+ async findByChatIdAndRole(chatId, role) {
160
+ const query = { chat: chatId };
161
+ if (role) {
162
+ query.role = role;
163
+ }
164
+ const docs = await AgentMessageSchema_1.AgentMessageModel.find(query).exec();
165
+ return docs.map(doc => toAgentMessage(doc)).filter(Boolean);
166
+ }
167
+ async findWithToolCalls(chatId) {
168
+ const query = {
169
+ toolCalls: { $exists: true, $ne: [] }
170
+ };
171
+ if (chatId) {
172
+ query.chat = chatId;
173
+ }
174
+ const docs = await AgentMessageSchema_1.AgentMessageModel.find(query).exec();
175
+ return docs.map(doc => toAgentMessage(doc)).filter(Boolean);
176
+ }
177
+ async findWithAttachments(chatId) {
178
+ const query = {
179
+ attachments: { $exists: true, $ne: [] }
180
+ };
181
+ if (chatId) {
182
+ query.chat = chatId;
183
+ }
184
+ const docs = await AgentMessageSchema_1.AgentMessageModel.find(query).exec();
185
+ return docs.map(doc => toAgentMessage(doc)).filter(Boolean);
186
+ }
187
+ async deleteByChatId(chatId) {
188
+ const result = await AgentMessageSchema_1.AgentMessageModel.deleteMany({ chat: chatId }).exec();
189
+ return result.deletedCount || 0;
190
+ }
191
+ async deleteByRole(role) {
192
+ const result = await AgentMessageSchema_1.AgentMessageModel.deleteMany({ role }).exec();
193
+ return result.deletedCount || 0;
194
+ }
195
+ async deleteByChatIdAndRole(chatId, role) {
196
+ const result = await AgentMessageSchema_1.AgentMessageModel.deleteMany({ chat: chatId, role }).exec();
197
+ return result.deletedCount || 0;
198
+ }
199
+ }
200
+ exports.MongoAgentMessageRepository = MongoAgentMessageRepository;
201
+ //# sourceMappingURL=MongoAgentMessageRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MongoAgentMessageRepository.js","sourceRoot":"","sources":["../../../src/repositories/MongoAgentMessageRepository.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[]>;
@@ -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"}