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

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 (123) hide show
  1. package/dist/cjs/__tests__/helpers.cjs +1 -0
  2. package/dist/cjs/__tests__/helpers.cjs.map +1 -1
  3. package/dist/cjs/__tests__/helpers.d.ts.map +1 -1
  4. package/dist/cjs/__tests__/repositories/MongoActivityRepository.test.cjs +365 -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 +2 -58
  9. package/dist/cjs/__tests__/repositories/MongoAgentChatRepository.test.cjs.map +1 -1
  10. package/dist/cjs/__tests__/repositories/MongoAgentConfigRepository.test.cjs +67 -0
  11. package/dist/cjs/__tests__/repositories/MongoAgentConfigRepository.test.cjs.map +1 -0
  12. package/dist/cjs/__tests__/repositories/MongoAgentConfigRepository.test.d.ts +2 -0
  13. package/dist/cjs/__tests__/repositories/MongoAgentConfigRepository.test.d.ts.map +1 -0
  14. package/dist/cjs/__tests__/repositories/MongoAgentMessageRepository.test.cjs +84 -0
  15. package/dist/cjs/__tests__/repositories/MongoAgentMessageRepository.test.cjs.map +1 -1
  16. package/dist/cjs/__tests__/schemas/AgentConfigPreferenceSchema.test.cjs +62 -0
  17. package/dist/cjs/__tests__/schemas/AgentConfigPreferenceSchema.test.cjs.map +1 -0
  18. package/dist/cjs/__tests__/schemas/AgentConfigPreferenceSchema.test.d.ts +2 -0
  19. package/dist/cjs/__tests__/schemas/AgentConfigPreferenceSchema.test.d.ts.map +1 -0
  20. package/dist/cjs/index.cjs +7 -1
  21. package/dist/cjs/index.cjs.map +1 -1
  22. package/dist/cjs/index.d.ts +3 -0
  23. package/dist/cjs/index.d.ts.map +1 -1
  24. package/dist/cjs/repositories/MongoActivityRepository.cjs +403 -0
  25. package/dist/cjs/repositories/MongoActivityRepository.cjs.map +1 -0
  26. package/dist/cjs/repositories/MongoActivityRepository.d.ts +64 -0
  27. package/dist/cjs/repositories/MongoActivityRepository.d.ts.map +1 -0
  28. package/dist/cjs/repositories/MongoAgentChatRepository.cjs +22 -131
  29. package/dist/cjs/repositories/MongoAgentChatRepository.cjs.map +1 -1
  30. package/dist/cjs/repositories/MongoAgentChatRepository.d.ts +4 -14
  31. package/dist/cjs/repositories/MongoAgentChatRepository.d.ts.map +1 -1
  32. package/dist/cjs/repositories/MongoAgentConfigRepository.cjs +126 -0
  33. package/dist/cjs/repositories/MongoAgentConfigRepository.cjs.map +1 -0
  34. package/dist/cjs/repositories/MongoAgentConfigRepository.d.ts +25 -0
  35. package/dist/cjs/repositories/MongoAgentConfigRepository.d.ts.map +1 -0
  36. package/dist/cjs/repositories/MongoAgentMessageRepository.cjs +53 -2
  37. package/dist/cjs/repositories/MongoAgentMessageRepository.cjs.map +1 -1
  38. package/dist/cjs/repositories/MongoAgentMessageRepository.d.ts +11 -2
  39. package/dist/cjs/repositories/MongoAgentMessageRepository.d.ts.map +1 -1
  40. package/dist/cjs/repositories/index.cjs +2 -0
  41. package/dist/cjs/repositories/index.cjs.map +1 -1
  42. package/dist/cjs/repositories/index.d.ts +2 -0
  43. package/dist/cjs/repositories/index.d.ts.map +1 -1
  44. package/dist/cjs/schemas/ActivitySchema.cjs +34 -0
  45. package/dist/cjs/schemas/ActivitySchema.cjs.map +1 -0
  46. package/dist/cjs/schemas/ActivitySchema.d.ts +30 -0
  47. package/dist/cjs/schemas/ActivitySchema.d.ts.map +1 -0
  48. package/dist/cjs/schemas/AgentChatSchema.cjs +1 -1
  49. package/dist/cjs/schemas/AgentChatSchema.cjs.map +1 -1
  50. package/dist/cjs/schemas/AgentConfigPreferenceSchema.cjs +24 -0
  51. package/dist/cjs/schemas/AgentConfigPreferenceSchema.cjs.map +1 -0
  52. package/dist/cjs/schemas/AgentConfigPreferenceSchema.d.ts +24 -0
  53. package/dist/cjs/schemas/AgentConfigPreferenceSchema.d.ts.map +1 -0
  54. package/dist/cjs/schemas/AgentMessageSchema.cjs +7 -4
  55. package/dist/cjs/schemas/AgentMessageSchema.cjs.map +1 -1
  56. package/dist/cjs/schemas/AgentMessageSchema.d.ts.map +1 -1
  57. package/dist/cjs/schemas/index.cjs +2 -0
  58. package/dist/cjs/schemas/index.cjs.map +1 -1
  59. package/dist/cjs/schemas/index.d.ts +2 -0
  60. package/dist/cjs/schemas/index.d.ts.map +1 -1
  61. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  62. package/dist/esm/__tests__/helpers.d.ts.map +1 -1
  63. package/dist/esm/__tests__/helpers.js +1 -0
  64. package/dist/esm/__tests__/helpers.js.map +1 -1
  65. package/dist/esm/__tests__/repositories/MongoActivityRepository.test.d.ts +2 -0
  66. package/dist/esm/__tests__/repositories/MongoActivityRepository.test.d.ts.map +1 -0
  67. package/dist/esm/__tests__/repositories/MongoActivityRepository.test.js +363 -0
  68. package/dist/esm/__tests__/repositories/MongoActivityRepository.test.js.map +1 -0
  69. package/dist/esm/__tests__/repositories/MongoAgentChatRepository.test.js +2 -58
  70. package/dist/esm/__tests__/repositories/MongoAgentChatRepository.test.js.map +1 -1
  71. package/dist/esm/__tests__/repositories/MongoAgentConfigRepository.test.d.ts +2 -0
  72. package/dist/esm/__tests__/repositories/MongoAgentConfigRepository.test.d.ts.map +1 -0
  73. package/dist/esm/__tests__/repositories/MongoAgentConfigRepository.test.js +65 -0
  74. package/dist/esm/__tests__/repositories/MongoAgentConfigRepository.test.js.map +1 -0
  75. package/dist/esm/__tests__/repositories/MongoAgentMessageRepository.test.js +84 -0
  76. package/dist/esm/__tests__/repositories/MongoAgentMessageRepository.test.js.map +1 -1
  77. package/dist/esm/__tests__/schemas/AgentConfigPreferenceSchema.test.d.ts +2 -0
  78. package/dist/esm/__tests__/schemas/AgentConfigPreferenceSchema.test.d.ts.map +1 -0
  79. package/dist/esm/__tests__/schemas/AgentConfigPreferenceSchema.test.js +60 -0
  80. package/dist/esm/__tests__/schemas/AgentConfigPreferenceSchema.test.js.map +1 -0
  81. package/dist/esm/index.d.ts +3 -0
  82. package/dist/esm/index.d.ts.map +1 -1
  83. package/dist/esm/index.js +3 -0
  84. package/dist/esm/index.js.map +1 -1
  85. package/dist/esm/repositories/MongoActivityRepository.d.ts +64 -0
  86. package/dist/esm/repositories/MongoActivityRepository.d.ts.map +1 -0
  87. package/dist/esm/repositories/MongoActivityRepository.js +398 -0
  88. package/dist/esm/repositories/MongoActivityRepository.js.map +1 -0
  89. package/dist/esm/repositories/MongoAgentChatRepository.d.ts +4 -14
  90. package/dist/esm/repositories/MongoAgentChatRepository.d.ts.map +1 -1
  91. package/dist/esm/repositories/MongoAgentChatRepository.js +22 -131
  92. package/dist/esm/repositories/MongoAgentChatRepository.js.map +1 -1
  93. package/dist/esm/repositories/MongoAgentConfigRepository.d.ts +25 -0
  94. package/dist/esm/repositories/MongoAgentConfigRepository.d.ts.map +1 -0
  95. package/dist/esm/repositories/MongoAgentConfigRepository.js +122 -0
  96. package/dist/esm/repositories/MongoAgentConfigRepository.js.map +1 -0
  97. package/dist/esm/repositories/MongoAgentMessageRepository.d.ts +11 -2
  98. package/dist/esm/repositories/MongoAgentMessageRepository.d.ts.map +1 -1
  99. package/dist/esm/repositories/MongoAgentMessageRepository.js +53 -2
  100. package/dist/esm/repositories/MongoAgentMessageRepository.js.map +1 -1
  101. package/dist/esm/repositories/index.d.ts +2 -0
  102. package/dist/esm/repositories/index.d.ts.map +1 -1
  103. package/dist/esm/repositories/index.js +2 -0
  104. package/dist/esm/repositories/index.js.map +1 -1
  105. package/dist/esm/schemas/ActivitySchema.d.ts +30 -0
  106. package/dist/esm/schemas/ActivitySchema.d.ts.map +1 -0
  107. package/dist/esm/schemas/ActivitySchema.js +31 -0
  108. package/dist/esm/schemas/ActivitySchema.js.map +1 -0
  109. package/dist/esm/schemas/AgentChatSchema.js +1 -1
  110. package/dist/esm/schemas/AgentChatSchema.js.map +1 -1
  111. package/dist/esm/schemas/AgentConfigPreferenceSchema.d.ts +24 -0
  112. package/dist/esm/schemas/AgentConfigPreferenceSchema.d.ts.map +1 -0
  113. package/dist/esm/schemas/AgentConfigPreferenceSchema.js +21 -0
  114. package/dist/esm/schemas/AgentConfigPreferenceSchema.js.map +1 -0
  115. package/dist/esm/schemas/AgentMessageSchema.d.ts.map +1 -1
  116. package/dist/esm/schemas/AgentMessageSchema.js +7 -4
  117. package/dist/esm/schemas/AgentMessageSchema.js.map +1 -1
  118. package/dist/esm/schemas/index.d.ts +2 -0
  119. package/dist/esm/schemas/index.d.ts.map +1 -1
  120. package/dist/esm/schemas/index.js +2 -0
  121. package/dist/esm/schemas/index.js.map +1 -1
  122. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  123. package/package.json +42 -43
@@ -0,0 +1,363 @@
1
+ import { beforeEach, describe, expect, it } from 'vitest';
2
+ import { SortOrder } from '@multiplayer-app/ai-agent-types';
3
+ import { MongoActivityRepository } from '../../repositories/MongoActivityRepository';
4
+ import { ActivityModel } from '../../schemas/ActivitySchema';
5
+ import { clearCollections } from '../helpers';
6
+ function createTestActivity(overrides) {
7
+ return {
8
+ ownerId: 'owner-1',
9
+ groupId: 'group-1',
10
+ name: 'Test Activity',
11
+ description: 'test description',
12
+ tenants: { workspace: 'tenant-1' },
13
+ sourceId: 'source-1',
14
+ sourceType: 'User',
15
+ metadata: {},
16
+ ...overrides,
17
+ };
18
+ }
19
+ describe('MongoActivityRepository', () => {
20
+ let repository;
21
+ beforeEach(async () => {
22
+ repository = new MongoActivityRepository();
23
+ await clearCollections();
24
+ });
25
+ describe('create', () => {
26
+ it('should create a new activity', async () => {
27
+ const created = await repository.create(createTestActivity({ name: 'New Activity' }));
28
+ expect(created).toBeDefined();
29
+ expect(created.id).toBeDefined();
30
+ expect(created.name).toBe('New Activity');
31
+ expect(created.ownerId).toBe('owner-1');
32
+ expect(created.groupId).toBe('group-1');
33
+ expect(created.tenants).toEqual({ workspace: 'tenant-1' });
34
+ });
35
+ it('should create activity with explicit id when provided', async () => {
36
+ const explicitId = '507f1f77bcf86cd799439011';
37
+ const created = await repository.create(createTestActivity(), explicitId);
38
+ expect(created.id).toBe(explicitId);
39
+ });
40
+ });
41
+ describe('findById', () => {
42
+ it('should find activity by id', async () => {
43
+ const created = await repository.create(createTestActivity({ name: 'Find Me' }));
44
+ const found = await repository.findById(created.id);
45
+ expect(found).toBeDefined();
46
+ expect(found?.id).toBe(created.id);
47
+ expect(found?.name).toBe('Find Me');
48
+ });
49
+ it('should return null when activity is not found', async () => {
50
+ const found = await repository.findById('507f1f77bcf86cd799439099');
51
+ expect(found).toBeNull();
52
+ });
53
+ });
54
+ describe('find', () => {
55
+ it('should find activities by filter', async () => {
56
+ await repository.create(createTestActivity({ ownerId: 'owner-a', name: 'A1' }));
57
+ await repository.create(createTestActivity({ ownerId: 'owner-a', name: 'A2' }));
58
+ await repository.create(createTestActivity({ ownerId: 'owner-b', name: 'B1' }));
59
+ const activities = await repository.find({ ownerId: 'owner-a' });
60
+ expect(activities).toHaveLength(2);
61
+ expect(activities.every(a => a.ownerId === 'owner-a')).toBe(true);
62
+ });
63
+ it('should support id in filter', async () => {
64
+ const created = await repository.create(createTestActivity({ name: 'Specific' }));
65
+ const activities = await repository.find({ id: created.id });
66
+ expect(activities).toHaveLength(1);
67
+ expect(activities[0].id).toBe(created.id);
68
+ });
69
+ it('should support sort, limit, and skip options', async () => {
70
+ await repository.create(createTestActivity({ name: 'Charlie', ownerId: 'owner-sort' }));
71
+ await repository.create(createTestActivity({ name: 'Alpha', ownerId: 'owner-sort' }));
72
+ await repository.create(createTestActivity({ name: 'Bravo', ownerId: 'owner-sort' }));
73
+ const activities = await repository.find({ ownerId: 'owner-sort' }, { sort: { field: 'name', order: SortOrder.Asc }, skip: 1, limit: 1 });
74
+ expect(activities).toHaveLength(1);
75
+ expect(activities[0].name).toBe('Bravo');
76
+ });
77
+ });
78
+ describe('findOne', () => {
79
+ it('should find one activity matching filter', async () => {
80
+ await repository.create(createTestActivity({ ownerId: 'owner-one', name: 'Only One' }));
81
+ const found = await repository.findOne({ ownerId: 'owner-one' });
82
+ expect(found).toBeDefined();
83
+ expect(found?.name).toBe('Only One');
84
+ });
85
+ it('should return null when no activity matches', async () => {
86
+ const found = await repository.findOne({ ownerId: 'missing-owner' });
87
+ expect(found).toBeNull();
88
+ });
89
+ });
90
+ describe('update', () => {
91
+ it('should update an activity', async () => {
92
+ const created = await repository.create(createTestActivity({ name: 'Before' }));
93
+ const updated = await repository.update(created.id, { name: 'After' });
94
+ expect(updated).toBeDefined();
95
+ expect(updated?.name).toBe('After');
96
+ });
97
+ it('should update metadata usage without overriding metadata', async () => {
98
+ const created = await repository.create(createTestActivity({
99
+ metadata: {
100
+ traceId: 'trace-1',
101
+ usage: {
102
+ inputTokens: 10,
103
+ outputTokens: 5,
104
+ cost: 1.2
105
+ }
106
+ }
107
+ }));
108
+ const updated = await repository.update(created.id, {
109
+ metadata: {
110
+ usage: {
111
+ inputTokens: 100
112
+ }
113
+ }
114
+ });
115
+ expect(updated).toBeDefined();
116
+ expect(updated?.metadata?.traceId).toBe('trace-1');
117
+ expect(updated?.metadata?.usage).toEqual({
118
+ inputTokens: 100,
119
+ outputTokens: 5,
120
+ cost: 1.2
121
+ });
122
+ });
123
+ it('should return null when updating missing activity', async () => {
124
+ const updated = await repository.update('507f1f77bcf86cd799439088', { name: 'After' });
125
+ expect(updated).toBeNull();
126
+ });
127
+ });
128
+ describe('delete and exists', () => {
129
+ it('should delete activity by id', async () => {
130
+ const created = await repository.create(createTestActivity());
131
+ const deleted = await repository.delete(created.id);
132
+ expect(deleted).toBe(true);
133
+ expect(await repository.exists(created.id)).toBe(false);
134
+ });
135
+ it('should return false when deleting missing activity', async () => {
136
+ const deleted = await repository.delete('507f1f77bcf86cd799439077');
137
+ expect(deleted).toBe(false);
138
+ });
139
+ });
140
+ describe('count', () => {
141
+ it('should count all and filtered activities', async () => {
142
+ await repository.create(createTestActivity({ ownerId: 'owner-count' }));
143
+ await repository.create(createTestActivity({ ownerId: 'owner-count' }));
144
+ await repository.create(createTestActivity({ ownerId: 'other-owner' }));
145
+ expect(await repository.count()).toBe(3);
146
+ expect(await repository.count({ ownerId: 'owner-count' })).toBe(2);
147
+ });
148
+ });
149
+ describe('findByParentId and countByParentId', () => {
150
+ it('should find and count root activities when parentId is not provided', async () => {
151
+ await repository.create(createTestActivity({ ownerId: 'owner-root', name: 'Root 1' }));
152
+ await repository.create(createTestActivity({ ownerId: 'owner-root', name: 'Root 2' }));
153
+ await repository.create(createTestActivity({ ownerId: 'owner-root', name: 'Child', parentId: 'p-1' }));
154
+ const roots = await repository.findByParentId({ ownerId: 'owner-root' });
155
+ const rootCount = await repository.countByParentId({ ownerId: 'owner-root' });
156
+ expect(roots).toHaveLength(2);
157
+ expect(roots.every(a => !a.parentId)).toBe(true);
158
+ expect(rootCount).toBe(2);
159
+ });
160
+ it('should filter by parentId and support sort/skip/limit', async () => {
161
+ await repository.create(createTestActivity({ parentId: 'parent-1', ownerId: 'owner-p', name: 'Child C' }));
162
+ await repository.create(createTestActivity({ parentId: 'parent-1', ownerId: 'owner-p', name: 'Child A' }));
163
+ await repository.create(createTestActivity({ parentId: 'parent-1', ownerId: 'owner-p', name: 'Child B' }));
164
+ await repository.create(createTestActivity({ parentId: 'parent-2', ownerId: 'owner-p', name: 'Other Parent Child' }));
165
+ const children = await repository.findByParentId({ ownerId: 'owner-p', parentId: 'parent-1' }, { sort: { field: 'name', order: SortOrder.Asc }, skip: 1, limit: 1 });
166
+ const count = await repository.countByParentId({ ownerId: 'owner-p', parentId: 'parent-1' });
167
+ expect(children).toHaveLength(1);
168
+ expect(children[0].name).toBe('Child B');
169
+ expect(count).toBe(3);
170
+ });
171
+ it('should filter by tenants for parent queries', async () => {
172
+ await repository.create(createTestActivity({ parentId: 'tenant-parent', tenants: { workspace: 'tenant-a' }, ownerId: 'owner-t' }));
173
+ await repository.create(createTestActivity({ parentId: 'tenant-parent', tenants: { workspace: 'tenant-b' }, ownerId: 'owner-t' }));
174
+ const filtered = await repository.findByParentId({
175
+ parentId: 'tenant-parent',
176
+ ownerId: 'owner-t',
177
+ tenants: { workspace: 'tenant-a' },
178
+ });
179
+ expect(filtered).toHaveLength(1);
180
+ expect(filtered[0].tenants).toEqual({ workspace: 'tenant-a' });
181
+ });
182
+ });
183
+ describe('deleteByOwnerId and deleteByGroupId', () => {
184
+ it('should delete all activities by ownerId', async () => {
185
+ await repository.create(createTestActivity({ ownerId: 'owner-delete', groupId: 'group-1' }));
186
+ await repository.create(createTestActivity({ ownerId: 'owner-delete', groupId: 'group-2' }));
187
+ await repository.create(createTestActivity({ ownerId: 'owner-keep', groupId: 'group-1' }));
188
+ const deletedCount = await repository.deleteByOwnerId('owner-delete');
189
+ expect(deletedCount).toBe(2);
190
+ expect(await repository.count({ ownerId: 'owner-delete' })).toBe(0);
191
+ expect(await repository.count({ ownerId: 'owner-keep' })).toBe(1);
192
+ });
193
+ it('should delete all activities by groupId', async () => {
194
+ await repository.create(createTestActivity({ groupId: 'group-delete', ownerId: 'owner-1' }));
195
+ await repository.create(createTestActivity({ groupId: 'group-delete', ownerId: 'owner-2' }));
196
+ await repository.create(createTestActivity({ groupId: 'group-keep', ownerId: 'owner-3' }));
197
+ const deletedCount = await repository.deleteByGroupId('group-delete');
198
+ expect(deletedCount).toBe(2);
199
+ expect(await repository.count({ groupId: 'group-delete' })).toBe(0);
200
+ expect(await repository.count({ groupId: 'group-keep' })).toBe(1);
201
+ });
202
+ });
203
+ describe('getActivitySummary', () => {
204
+ it('should return totals grouped by model by default', async () => {
205
+ await repository.create(createTestActivity({
206
+ ownerId: 'user-1',
207
+ parentId: 'root-1',
208
+ metadata: { modelId: 'gpt-4o', usage: { totalTokens: 120, cost: 1.2 } },
209
+ }));
210
+ await repository.create(createTestActivity({
211
+ ownerId: 'user-2',
212
+ parentId: 'root-2',
213
+ metadata: { modelId: 'gpt-4o', usage: { totalTokens: 80, cost: 0.8 } },
214
+ }));
215
+ await repository.create(createTestActivity({
216
+ ownerId: 'user-1',
217
+ parentId: 'root-3',
218
+ metadata: { modelId: 'claude-3-5-sonnet', usage: { totalTokens: 50, cost: 0.5 } },
219
+ }));
220
+ const summary = await repository.getActivitySummary();
221
+ const byModel = Object.fromEntries(summary.map(item => [item.model, item]));
222
+ expect(summary).toHaveLength(2);
223
+ expect(byModel['gpt-4o']).toEqual({
224
+ model: 'gpt-4o',
225
+ totalRequests: 2,
226
+ totalTokens: 200,
227
+ totalCost: 2,
228
+ });
229
+ expect(byModel['claude-3-5-sonnet']).toEqual({
230
+ model: 'claude-3-5-sonnet',
231
+ totalRequests: 1,
232
+ totalTokens: 50,
233
+ totalCost: 0.5,
234
+ });
235
+ });
236
+ it('should filter by tenant and group by userId', async () => {
237
+ await repository.create(createTestActivity({
238
+ ownerId: 'user-a',
239
+ parentId: 'root-a',
240
+ tenants: { workspace: 'tenant-a' },
241
+ metadata: { modelId: 'gpt-4o', usage: { totalTokens: 10, cost: 0.1 } },
242
+ }));
243
+ await repository.create(createTestActivity({
244
+ ownerId: 'user-b',
245
+ parentId: 'root-b',
246
+ tenants: { workspace: 'tenant-a' },
247
+ metadata: { modelId: 'gpt-4o', usage: { totalTokens: 20, cost: 0.2 } },
248
+ }));
249
+ await repository.create(createTestActivity({
250
+ ownerId: 'user-a',
251
+ parentId: 'root-c',
252
+ tenants: { workspace: 'tenant-b' },
253
+ metadata: { modelId: 'gpt-4o', usage: { totalTokens: 30, cost: 0.3 } },
254
+ }));
255
+ const summary = await repository.getActivitySummary({
256
+ tenant: { workspace: 'tenant-a' },
257
+ groupBy: ['userId'],
258
+ });
259
+ const byUser = Object.fromEntries(summary.map(item => [item.userId, item]));
260
+ expect(summary).toHaveLength(2);
261
+ expect(byUser['user-a']).toEqual({
262
+ userId: 'user-a',
263
+ totalRequests: 1,
264
+ totalTokens: 10,
265
+ totalCost: 0.1,
266
+ });
267
+ expect(byUser['user-b']).toEqual({
268
+ userId: 'user-b',
269
+ totalRequests: 1,
270
+ totalTokens: 20,
271
+ totalCost: 0.2,
272
+ });
273
+ });
274
+ it('should ignore root activities without parentId', async () => {
275
+ await repository.create(createTestActivity({
276
+ ownerId: 'user-1',
277
+ metadata: { modelId: 'gpt-4o', usage: { totalTokens: 100, cost: 1 } },
278
+ }));
279
+ await repository.create(createTestActivity({
280
+ ownerId: 'user-1',
281
+ parentId: 'root-1',
282
+ metadata: { modelId: 'gpt-4o', usage: { totalTokens: 25, cost: 0.25 } },
283
+ }));
284
+ const summary = await repository.getActivitySummary({ groupBy: ['model'] });
285
+ expect(summary).toHaveLength(1);
286
+ expect(summary[0]).toEqual({
287
+ model: 'gpt-4o',
288
+ totalRequests: 1,
289
+ totalTokens: 25,
290
+ totalCost: 0.25,
291
+ });
292
+ });
293
+ it('should support grouping by day using timeBucket', async () => {
294
+ await ActivityModel.collection.insertMany([
295
+ {
296
+ ownerId: 'user-1',
297
+ groupId: 'group-1',
298
+ name: 'Test Activity',
299
+ description: 'test description',
300
+ parentId: 'root-1',
301
+ tenants: { workspace: 'tenant-1' },
302
+ sourceId: 'source-1',
303
+ sourceType: 'User',
304
+ metadata: { modelId: 'gpt-4o', usage: { totalTokens: 10, cost: 0.1 } },
305
+ createdAt: new Date('2026-02-01T10:00:00.000Z'),
306
+ updatedAt: new Date('2026-02-01T10:00:00.000Z'),
307
+ },
308
+ {
309
+ ownerId: 'user-1',
310
+ groupId: 'group-1',
311
+ name: 'Test Activity',
312
+ description: 'test description',
313
+ parentId: 'root-2',
314
+ tenants: { workspace: 'tenant-1' },
315
+ sourceId: 'source-2',
316
+ sourceType: 'User',
317
+ metadata: { modelId: 'gpt-4o', usage: { totalTokens: 15, cost: 0.15 } },
318
+ createdAt: new Date('2026-02-01T18:00:00.000Z'),
319
+ updatedAt: new Date('2026-02-01T18:00:00.000Z'),
320
+ },
321
+ {
322
+ ownerId: 'user-1',
323
+ groupId: 'group-1',
324
+ name: 'Test Activity',
325
+ description: 'test description',
326
+ parentId: 'root-3',
327
+ tenants: { workspace: 'tenant-1' },
328
+ sourceId: 'source-3',
329
+ sourceType: 'User',
330
+ metadata: { modelId: 'gpt-4o', usage: { totalTokens: 20, cost: 0.2 } },
331
+ createdAt: new Date('2026-02-02T09:00:00.000Z'),
332
+ updatedAt: new Date('2026-02-02T09:00:00.000Z'),
333
+ },
334
+ ]);
335
+ const summary = await repository.getActivitySummary({
336
+ period: {
337
+ from: '2026-02-01T00:00:00.000Z',
338
+ to: '2026-02-28T23:59:59.999Z',
339
+ },
340
+ timeBucket: 'day',
341
+ groupBy: ['model'],
342
+ });
343
+ expect(summary).toHaveLength(2);
344
+ expect(summary).toEqual([
345
+ {
346
+ model: 'gpt-4o',
347
+ periodStart: '2026-02-01T00:00:00.000Z',
348
+ totalRequests: 2,
349
+ totalTokens: 25,
350
+ totalCost: 0.25,
351
+ },
352
+ {
353
+ model: 'gpt-4o',
354
+ periodStart: '2026-02-02T00:00:00.000Z',
355
+ totalRequests: 1,
356
+ totalTokens: 20,
357
+ totalCost: 0.2,
358
+ },
359
+ ]);
360
+ });
361
+ });
362
+ });
363
+ //# sourceMappingURL=MongoActivityRepository.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MongoActivityRepository.test.js","sourceRoot":"","sources":["../../../../src/__tests__/repositories/MongoActivityRepository.test.ts"],"names":[],"mappings":"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"}
@@ -23,16 +23,6 @@ describe('MongoAgentChatRepository', () => {
23
23
  expect(chat.createdAt).toBeDefined();
24
24
  expect(chat.updatedAt).toBeDefined();
25
25
  });
26
- it('should create a guest chat (no userId)', async () => {
27
- const chatData = createTestChat({
28
- title: 'Guest Chat',
29
- contextKey: 'test-context',
30
- });
31
- delete chatData.userId;
32
- const chat = await repository.create(chatData);
33
- expect(chat).toBeDefined();
34
- expect(chat.userId).toBeUndefined();
35
- });
36
26
  it('should include metadata when provided', async () => {
37
27
  const chatData = createTestChat({
38
28
  metadata: { key: 'value', count: 42 },
@@ -158,52 +148,6 @@ describe('MongoAgentChatRepository', () => {
158
148
  expect(count).toBe(2);
159
149
  });
160
150
  });
161
- describe('findByUserId', () => {
162
- it('should find all chats for a user', async () => {
163
- await repository.create(createTestChat({ userId: 'user-1' }));
164
- await repository.create(createTestChat({ userId: 'user-1' }));
165
- await repository.create(createTestChat({ userId: 'user-2' }));
166
- const chats = await repository.findByUserId('user-1');
167
- expect(chats).toHaveLength(2);
168
- expect(chats.every(c => c.userId === 'user-1')).toBe(true);
169
- });
170
- it('should return empty array if user has no chats', async () => {
171
- const chats = await repository.findByUserId('non-existent');
172
- expect(chats).toHaveLength(0);
173
- });
174
- });
175
- describe('findByContextKey', () => {
176
- it('should find all chats for a context key', async () => {
177
- await repository.create(createTestChat({ contextKey: 'ctx-1' }));
178
- await repository.create(createTestChat({ contextKey: 'ctx-1' }));
179
- await repository.create(createTestChat({ contextKey: 'ctx-2' }));
180
- const chats = await repository.findByContextKey('ctx-1');
181
- expect(chats).toHaveLength(2);
182
- expect(chats.every(c => c.contextKey === 'ctx-1')).toBe(true);
183
- });
184
- });
185
- describe('findByUserIdAndContextKey', () => {
186
- it('should find chats matching both userId and contextKey', async () => {
187
- await repository.create(createTestChat({ userId: 'user-1', contextKey: 'ctx-1' }));
188
- await repository.create(createTestChat({ userId: 'user-1', contextKey: 'ctx-1' }));
189
- await repository.create(createTestChat({ userId: 'user-1', contextKey: 'ctx-2' }));
190
- await repository.create(createTestChat({ userId: 'user-2', contextKey: 'ctx-1' }));
191
- const chats = await repository.findByUserIdAndContextKey('user-1', 'ctx-1');
192
- expect(chats).toHaveLength(2);
193
- expect(chats.every(c => c.userId === 'user-1' && c.contextKey === 'ctx-1')).toBe(true);
194
- });
195
- });
196
- describe('findGuestChatsByContextKey', () => {
197
- it('should find guest chats (no userId) for a context key', async () => {
198
- await repository.create(createTestChat({ contextKey: 'ctx-1' })); // guest
199
- await repository.create(createTestChat({ contextKey: 'ctx-1' })); // guest
200
- await repository.create(createTestChat({ userId: 'user-1', contextKey: 'ctx-1' }));
201
- await repository.create(createTestChat({ contextKey: 'ctx-2' })); // guest
202
- const chats = await repository.findGuestChatsByContextKey('ctx-1');
203
- expect(chats).toHaveLength(2);
204
- expect(chats.every(c => !c.userId && c.contextKey === 'ctx-1')).toBe(true);
205
- });
206
- });
207
151
  describe('updateTitle', () => {
208
152
  it('should update chat title', async () => {
209
153
  const created = await repository.create(createTestChat({ title: 'Old Title' }));
@@ -226,7 +170,7 @@ describe('MongoAgentChatRepository', () => {
226
170
  await repository.create(createTestChat({ userId: 'user-2' }));
227
171
  const deletedCount = await repository.deleteByUserId('user-1');
228
172
  expect(deletedCount).toBe(2);
229
- const remaining = await repository.findByUserId('user-1');
173
+ const remaining = await repository.find({ userId: 'user-1' });
230
174
  expect(remaining).toHaveLength(0);
231
175
  });
232
176
  it('should return 0 if user has no chats', async () => {
@@ -241,7 +185,7 @@ describe('MongoAgentChatRepository', () => {
241
185
  await repository.create(createTestChat({ contextKey: 'ctx-2' }));
242
186
  const deletedCount = await repository.deleteByContextKey('ctx-1');
243
187
  expect(deletedCount).toBe(2);
244
- const remaining = await repository.findByContextKey('ctx-1');
188
+ const remaining = await repository.find({ contextKey: 'ctx-1' });
245
189
  expect(remaining).toHaveLength(0);
246
190
  });
247
191
  });
@@ -1 +1 @@
1
- {"version":3,"file":"MongoAgentChatRepository.test.js","sourceRoot":"","sources":["../../../../src/__tests__/repositories/MongoAgentChatRepository.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MongoAgentChatRepository.test.js","sourceRoot":"","sources":["../../../../src/__tests__/repositories/MongoAgentChatRepository.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=MongoAgentConfigRepository.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MongoAgentConfigRepository.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/repositories/MongoAgentConfigRepository.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,65 @@
1
+ import { describe, it, expect, beforeEach } from 'vitest';
2
+ import { MongoAgentConfigRepository } from '../../repositories/MongoAgentConfigRepository';
3
+ import { clearCollections } from '../helpers';
4
+ describe('MongoAgentConfigRepository', () => {
5
+ let repository;
6
+ beforeEach(async () => {
7
+ repository = new MongoAgentConfigRepository();
8
+ await clearCollections();
9
+ });
10
+ it('creates and finds preferences by id', async () => {
11
+ const created = await repository.create({
12
+ userId: 'user-1',
13
+ agentName: 'support-agent',
14
+ tools: { lookupOrder: true, web_search: false },
15
+ });
16
+ const found = await repository.findById(created.id);
17
+ expect(found).toBeDefined();
18
+ expect(found?.userId).toBe('user-1');
19
+ expect(found?.agentName).toBe('support-agent');
20
+ });
21
+ it('finds preferences by userId and agentName', async () => {
22
+ await repository.create({
23
+ userId: 'user-1',
24
+ agentName: 'support-agent',
25
+ tools: { lookupOrder: true },
26
+ });
27
+ const found = await repository.findByUserIdAndAgentName('user-1', 'support-agent');
28
+ expect(found).toBeDefined();
29
+ expect(found?.tools).toEqual({ lookupOrder: true });
30
+ });
31
+ it('upserts preferences by userId and agentName', async () => {
32
+ const first = await repository.upsertByUserIdAndAgentName('user-1', 'support-agent', {
33
+ tools: { lookupOrder: true },
34
+ });
35
+ expect(first.tools).toEqual({ lookupOrder: true });
36
+ const second = await repository.upsertByUserIdAndAgentName('user-1', 'support-agent', {
37
+ tools: { lookupOrder: false },
38
+ });
39
+ expect(second.tools).toEqual({ lookupOrder: false });
40
+ const all = await repository.findByUserId('user-1');
41
+ expect(all).toHaveLength(1);
42
+ });
43
+ it('deletes all preferences by userId', async () => {
44
+ await repository.create({
45
+ userId: 'user-1',
46
+ agentName: 'support-agent',
47
+ tools: { lookupOrder: true },
48
+ });
49
+ await repository.create({
50
+ userId: 'user-1',
51
+ agentName: 'sales-agent',
52
+ tools: { web_search: false },
53
+ });
54
+ await repository.create({
55
+ userId: 'user-2',
56
+ agentName: 'support-agent',
57
+ tools: { lookupOrder: true },
58
+ });
59
+ const deleted = await repository.deleteByUserId('user-1');
60
+ expect(deleted).toBe(2);
61
+ expect(await repository.findByUserId('user-1')).toHaveLength(0);
62
+ expect(await repository.findByUserId('user-2')).toHaveLength(1);
63
+ });
64
+ });
65
+ //# sourceMappingURL=MongoAgentConfigRepository.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MongoAgentConfigRepository.test.js","sourceRoot":"","sources":["../../../../src/__tests__/repositories/MongoAgentConfigRepository.test.ts"],"names":[],"mappings":"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"}