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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. package/dist/cjs/__tests__/helpers.cjs +1 -1
  2. package/dist/cjs/__tests__/helpers.cjs.map +1 -1
  3. package/dist/cjs/__tests__/repositories/MongoActivityRepository.test.cjs +385 -0
  4. package/dist/cjs/__tests__/repositories/MongoActivityRepository.test.cjs.map +1 -0
  5. package/dist/cjs/__tests__/repositories/MongoActivityRepository.test.d.ts +2 -0
  6. package/dist/cjs/__tests__/repositories/MongoActivityRepository.test.d.ts.map +1 -0
  7. package/dist/cjs/__tests__/repositories/MongoAgentChatRepository.test.cjs +12 -68
  8. package/dist/cjs/__tests__/repositories/MongoAgentChatRepository.test.cjs.map +1 -1
  9. package/dist/cjs/__tests__/repositories/MongoAgentConfigRepository.test.cjs +67 -0
  10. package/dist/cjs/__tests__/repositories/MongoAgentConfigRepository.test.cjs.map +1 -0
  11. package/dist/cjs/__tests__/repositories/MongoAgentConfigRepository.test.d.ts +2 -0
  12. package/dist/cjs/__tests__/repositories/MongoAgentConfigRepository.test.d.ts.map +1 -0
  13. package/dist/cjs/__tests__/repositories/MongoAgentMessageRepository.test.cjs +92 -0
  14. package/dist/cjs/__tests__/repositories/MongoAgentMessageRepository.test.cjs.map +1 -1
  15. package/dist/cjs/__tests__/schemas/AgentChatSchema.test.cjs +20 -14
  16. package/dist/cjs/__tests__/schemas/AgentChatSchema.test.cjs.map +1 -1
  17. package/dist/cjs/__tests__/schemas/AgentConfigPreferenceSchema.test.cjs +62 -0
  18. package/dist/cjs/__tests__/schemas/AgentConfigPreferenceSchema.test.cjs.map +1 -0
  19. package/dist/cjs/__tests__/schemas/AgentConfigPreferenceSchema.test.d.ts +2 -0
  20. package/dist/cjs/__tests__/schemas/AgentConfigPreferenceSchema.test.d.ts.map +1 -0
  21. package/dist/cjs/__tests__/schemas/AgentMessageSchema.test.cjs +11 -0
  22. package/dist/cjs/__tests__/schemas/AgentMessageSchema.test.cjs.map +1 -1
  23. package/dist/cjs/index.cjs +11 -1
  24. package/dist/cjs/index.cjs.map +1 -1
  25. package/dist/cjs/index.d.ts +5 -0
  26. package/dist/cjs/index.d.ts.map +1 -1
  27. package/dist/cjs/mongo/index.cjs +2 -17
  28. package/dist/cjs/mongo/index.cjs.map +1 -1
  29. package/dist/cjs/mongo/index.d.ts +0 -3
  30. package/dist/cjs/mongo/index.d.ts.map +1 -1
  31. package/dist/cjs/repositories/MongoActivityRepository.cjs +400 -0
  32. package/dist/cjs/repositories/MongoActivityRepository.cjs.map +1 -0
  33. package/dist/cjs/repositories/MongoActivityRepository.d.ts +68 -0
  34. package/dist/cjs/repositories/MongoActivityRepository.d.ts.map +1 -0
  35. package/dist/cjs/repositories/MongoAgentChatRepository.cjs +67 -146
  36. package/dist/cjs/repositories/MongoAgentChatRepository.cjs.map +1 -1
  37. package/dist/cjs/repositories/MongoAgentChatRepository.d.ts +7 -16
  38. package/dist/cjs/repositories/MongoAgentChatRepository.d.ts.map +1 -1
  39. package/dist/cjs/repositories/MongoAgentConfigRepository.cjs +126 -0
  40. package/dist/cjs/repositories/MongoAgentConfigRepository.cjs.map +1 -0
  41. package/dist/cjs/repositories/MongoAgentConfigRepository.d.ts +25 -0
  42. package/dist/cjs/repositories/MongoAgentConfigRepository.d.ts.map +1 -0
  43. package/dist/cjs/repositories/MongoAgentMessageRepository.cjs +70 -14
  44. package/dist/cjs/repositories/MongoAgentMessageRepository.cjs.map +1 -1
  45. package/dist/cjs/repositories/MongoAgentMessageRepository.d.ts +12 -2
  46. package/dist/cjs/repositories/MongoAgentMessageRepository.d.ts.map +1 -1
  47. package/dist/cjs/repositories/MongoTenantAICredentialRepository.cjs +129 -0
  48. package/dist/cjs/repositories/MongoTenantAICredentialRepository.cjs.map +1 -0
  49. package/dist/cjs/repositories/MongoTenantAICredentialRepository.d.ts +25 -0
  50. package/dist/cjs/repositories/MongoTenantAICredentialRepository.d.ts.map +1 -0
  51. package/dist/cjs/repositories/index.cjs +3 -0
  52. package/dist/cjs/repositories/index.cjs.map +1 -1
  53. package/dist/cjs/repositories/index.d.ts +3 -0
  54. package/dist/cjs/repositories/index.d.ts.map +1 -1
  55. package/dist/cjs/schemas/ActivitySchema.cjs +34 -0
  56. package/dist/cjs/schemas/ActivitySchema.cjs.map +1 -0
  57. package/dist/cjs/schemas/ActivitySchema.d.ts +30 -0
  58. package/dist/cjs/schemas/ActivitySchema.d.ts.map +1 -0
  59. package/dist/cjs/schemas/AgentChatSchema.cjs +9 -2
  60. package/dist/cjs/schemas/AgentChatSchema.cjs.map +1 -1
  61. package/dist/cjs/schemas/AgentChatSchema.d.ts.map +1 -1
  62. package/dist/cjs/schemas/AgentConfigPreferenceSchema.cjs +24 -0
  63. package/dist/cjs/schemas/AgentConfigPreferenceSchema.cjs.map +1 -0
  64. package/dist/cjs/schemas/AgentConfigPreferenceSchema.d.ts +24 -0
  65. package/dist/cjs/schemas/AgentConfigPreferenceSchema.d.ts.map +1 -0
  66. package/dist/cjs/schemas/AgentMessageSchema.cjs +21 -4
  67. package/dist/cjs/schemas/AgentMessageSchema.cjs.map +1 -1
  68. package/dist/cjs/schemas/AgentMessageSchema.d.ts.map +1 -1
  69. package/dist/cjs/schemas/TenantAICredentialSchema.cjs +17 -0
  70. package/dist/cjs/schemas/TenantAICredentialSchema.cjs.map +1 -0
  71. package/dist/cjs/schemas/TenantAICredentialSchema.d.ts +20 -0
  72. package/dist/cjs/schemas/TenantAICredentialSchema.d.ts.map +1 -0
  73. package/dist/cjs/schemas/index.cjs +3 -0
  74. package/dist/cjs/schemas/index.cjs.map +1 -1
  75. package/dist/cjs/schemas/index.d.ts +3 -0
  76. package/dist/cjs/schemas/index.d.ts.map +1 -1
  77. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  78. package/dist/esm/__tests__/helpers.js +1 -1
  79. package/dist/esm/__tests__/helpers.js.map +1 -1
  80. package/dist/esm/__tests__/repositories/MongoActivityRepository.test.d.ts +2 -0
  81. package/dist/esm/__tests__/repositories/MongoActivityRepository.test.d.ts.map +1 -0
  82. package/dist/esm/__tests__/repositories/MongoActivityRepository.test.js +383 -0
  83. package/dist/esm/__tests__/repositories/MongoActivityRepository.test.js.map +1 -0
  84. package/dist/esm/__tests__/repositories/MongoAgentChatRepository.test.js +12 -68
  85. package/dist/esm/__tests__/repositories/MongoAgentChatRepository.test.js.map +1 -1
  86. package/dist/esm/__tests__/repositories/MongoAgentConfigRepository.test.d.ts +2 -0
  87. package/dist/esm/__tests__/repositories/MongoAgentConfigRepository.test.d.ts.map +1 -0
  88. package/dist/esm/__tests__/repositories/MongoAgentConfigRepository.test.js +65 -0
  89. package/dist/esm/__tests__/repositories/MongoAgentConfigRepository.test.js.map +1 -0
  90. package/dist/esm/__tests__/repositories/MongoAgentMessageRepository.test.js +92 -0
  91. package/dist/esm/__tests__/repositories/MongoAgentMessageRepository.test.js.map +1 -1
  92. package/dist/esm/__tests__/schemas/AgentChatSchema.test.js +20 -14
  93. package/dist/esm/__tests__/schemas/AgentChatSchema.test.js.map +1 -1
  94. package/dist/esm/__tests__/schemas/AgentConfigPreferenceSchema.test.d.ts +2 -0
  95. package/dist/esm/__tests__/schemas/AgentConfigPreferenceSchema.test.d.ts.map +1 -0
  96. package/dist/esm/__tests__/schemas/AgentConfigPreferenceSchema.test.js +60 -0
  97. package/dist/esm/__tests__/schemas/AgentConfigPreferenceSchema.test.js.map +1 -0
  98. package/dist/esm/__tests__/schemas/AgentMessageSchema.test.js +11 -0
  99. package/dist/esm/__tests__/schemas/AgentMessageSchema.test.js.map +1 -1
  100. package/dist/esm/index.d.ts +5 -0
  101. package/dist/esm/index.d.ts.map +1 -1
  102. package/dist/esm/index.js +5 -0
  103. package/dist/esm/index.js.map +1 -1
  104. package/dist/esm/mongo/index.d.ts +0 -3
  105. package/dist/esm/mongo/index.d.ts.map +1 -1
  106. package/dist/esm/mongo/index.js +1 -16
  107. package/dist/esm/mongo/index.js.map +1 -1
  108. package/dist/esm/repositories/MongoActivityRepository.d.ts +68 -0
  109. package/dist/esm/repositories/MongoActivityRepository.d.ts.map +1 -0
  110. package/dist/esm/repositories/MongoActivityRepository.js +395 -0
  111. package/dist/esm/repositories/MongoActivityRepository.js.map +1 -0
  112. package/dist/esm/repositories/MongoAgentChatRepository.d.ts +7 -16
  113. package/dist/esm/repositories/MongoAgentChatRepository.d.ts.map +1 -1
  114. package/dist/esm/repositories/MongoAgentChatRepository.js +68 -147
  115. package/dist/esm/repositories/MongoAgentChatRepository.js.map +1 -1
  116. package/dist/esm/repositories/MongoAgentConfigRepository.d.ts +25 -0
  117. package/dist/esm/repositories/MongoAgentConfigRepository.d.ts.map +1 -0
  118. package/dist/esm/repositories/MongoAgentConfigRepository.js +122 -0
  119. package/dist/esm/repositories/MongoAgentConfigRepository.js.map +1 -0
  120. package/dist/esm/repositories/MongoAgentMessageRepository.d.ts +12 -2
  121. package/dist/esm/repositories/MongoAgentMessageRepository.d.ts.map +1 -1
  122. package/dist/esm/repositories/MongoAgentMessageRepository.js +70 -14
  123. package/dist/esm/repositories/MongoAgentMessageRepository.js.map +1 -1
  124. package/dist/esm/repositories/MongoTenantAICredentialRepository.d.ts +25 -0
  125. package/dist/esm/repositories/MongoTenantAICredentialRepository.d.ts.map +1 -0
  126. package/dist/esm/repositories/MongoTenantAICredentialRepository.js +125 -0
  127. package/dist/esm/repositories/MongoTenantAICredentialRepository.js.map +1 -0
  128. package/dist/esm/repositories/index.d.ts +3 -0
  129. package/dist/esm/repositories/index.d.ts.map +1 -1
  130. package/dist/esm/repositories/index.js +3 -0
  131. package/dist/esm/repositories/index.js.map +1 -1
  132. package/dist/esm/schemas/ActivitySchema.d.ts +30 -0
  133. package/dist/esm/schemas/ActivitySchema.d.ts.map +1 -0
  134. package/dist/esm/schemas/ActivitySchema.js +31 -0
  135. package/dist/esm/schemas/ActivitySchema.js.map +1 -0
  136. package/dist/esm/schemas/AgentChatSchema.d.ts.map +1 -1
  137. package/dist/esm/schemas/AgentChatSchema.js +10 -3
  138. package/dist/esm/schemas/AgentChatSchema.js.map +1 -1
  139. package/dist/esm/schemas/AgentConfigPreferenceSchema.d.ts +24 -0
  140. package/dist/esm/schemas/AgentConfigPreferenceSchema.d.ts.map +1 -0
  141. package/dist/esm/schemas/AgentConfigPreferenceSchema.js +21 -0
  142. package/dist/esm/schemas/AgentConfigPreferenceSchema.js.map +1 -0
  143. package/dist/esm/schemas/AgentMessageSchema.d.ts.map +1 -1
  144. package/dist/esm/schemas/AgentMessageSchema.js +21 -4
  145. package/dist/esm/schemas/AgentMessageSchema.js.map +1 -1
  146. package/dist/esm/schemas/TenantAICredentialSchema.d.ts +20 -0
  147. package/dist/esm/schemas/TenantAICredentialSchema.d.ts.map +1 -0
  148. package/dist/esm/schemas/TenantAICredentialSchema.js +14 -0
  149. package/dist/esm/schemas/TenantAICredentialSchema.js.map +1 -0
  150. package/dist/esm/schemas/index.d.ts +3 -0
  151. package/dist/esm/schemas/index.d.ts.map +1 -1
  152. package/dist/esm/schemas/index.js +3 -0
  153. package/dist/esm/schemas/index.js.map +1 -1
  154. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  155. package/package.json +4 -5
  156. package/dist/cjs/mongo/encryption.cjs +0 -149
  157. package/dist/cjs/mongo/encryption.cjs.map +0 -1
  158. package/dist/cjs/mongo/encryption.d.ts +0 -66
  159. package/dist/cjs/mongo/encryption.d.ts.map +0 -1
  160. package/dist/esm/mongo/encryption.d.ts +0 -66
  161. package/dist/esm/mongo/encryption.d.ts.map +0 -1
  162. package/dist/esm/mongo/encryption.js +0 -140
  163. package/dist/esm/mongo/encryption.js.map +0 -1
@@ -0,0 +1,68 @@
1
+ import { Activity, ActivitySummary, ActivitySummaryParams, SortOrder } from '@multiplayer-app/ai-agent-types';
2
+ import type { ActivityRepository } from '@multiplayer-app/ai-agent-db';
3
+ type ActivityParentListFilter = {
4
+ ownerId?: string;
5
+ groupId?: string;
6
+ parentId?: string;
7
+ tenants?: Record<string, string>;
8
+ period?: {
9
+ from?: string | Date;
10
+ to?: string | Date;
11
+ };
12
+ sourceType?: string;
13
+ };
14
+ /**
15
+ * MongoDB implementation of ActivityRepository
16
+ */
17
+ export declare class MongoActivityRepository implements ActivityRepository {
18
+ getActivitySummary(params?: ActivitySummaryParams): Promise<ActivitySummary[]>;
19
+ findById(id: string): Promise<Activity | null>;
20
+ find(filter?: Partial<Activity>, options?: {
21
+ sort?: {
22
+ field: string;
23
+ order: SortOrder;
24
+ };
25
+ limit?: number;
26
+ skip?: number;
27
+ }): Promise<Activity[]>;
28
+ findOne(filter: Partial<Activity>): Promise<Activity | null>;
29
+ create(entity: Omit<Activity, 'id' | 'createdAt' | 'updatedAt'>, id?: string): Promise<Activity>;
30
+ update(id: string, updates: Partial<Omit<Activity, 'id' | 'createdAt'>>): Promise<Activity | null>;
31
+ updateMetadata(id: string, metadata: Partial<Activity['metadata']>): Promise<Activity | null>;
32
+ delete(id: string): Promise<boolean>;
33
+ exists(id: string): Promise<boolean>;
34
+ findByParentId(filter?: ActivityParentListFilter, options?: {
35
+ sort?: {
36
+ field: string;
37
+ order: SortOrder;
38
+ };
39
+ limit?: number;
40
+ skip?: number;
41
+ }): Promise<Activity[]>;
42
+ countByParentId(filter?: ActivityParentListFilter): Promise<number>;
43
+ distinctSourceTypes(filter?: {
44
+ ownerId?: string;
45
+ groupId?: string;
46
+ parentId?: string;
47
+ tenants?: Record<string, string>;
48
+ period?: {
49
+ from?: string | Date;
50
+ to?: string | Date;
51
+ };
52
+ }): Promise<string[]>;
53
+ count(filter?: Partial<Activity>): Promise<number>;
54
+ deleteByOwnerId(ownerId: string): Promise<number>;
55
+ deleteByGroupId(groupId: string): Promise<number>;
56
+ getGroupedMetadataByParentId(parentId: string): Promise<{
57
+ inputTokens: number;
58
+ outputTokens: number;
59
+ cost: number;
60
+ childCount: number;
61
+ totalTokens: number;
62
+ reasoningTokens: number;
63
+ cachedInputTokens: number;
64
+ }>;
65
+ calculateCost(activityData: Partial<Activity>): Promise<number>;
66
+ }
67
+ export {};
68
+ //# sourceMappingURL=MongoActivityRepository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MongoActivityRepository.d.ts","sourceRoot":"","sources":["../../../src/repositories/MongoActivityRepository.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,6 @@ exports.MongoAgentChatRepository = void 0;
4
4
  const ai_agent_types_1 = require("@multiplayer-app/ai-agent-types");
5
5
  const AgentChatSchema_1 = require("../schemas/AgentChatSchema.cjs");
6
6
  const AgentMessageSchema_1 = require("../schemas/AgentMessageSchema.cjs");
7
- const mongo_1 = require("../mongo/index.cjs");
8
7
  /**
9
8
  * Helper function to convert Mongoose document to AgentChat type
10
9
  */
@@ -12,56 +11,83 @@ function toAgentChat(doc) {
12
11
  if (!doc)
13
12
  return null;
14
13
  const chat = doc.toObject ? doc.toObject() : doc;
14
+ const tenants = chat.tenants instanceof Map ? Object.fromEntries(chat.tenants.entries()) : (chat.tenants ?? {});
15
15
  return {
16
16
  id: doc._id.toString(),
17
17
  title: chat.title,
18
18
  type: chat.type || ai_agent_types_1.ChatType.Chat,
19
19
  status: chat.status,
20
+ sessionKind: chat.sessionKind,
21
+ parentChatId: chat.parentChatId,
22
+ parentMessageId: chat.parentMessageId,
23
+ parentToolCallId: chat.parentToolCallId,
20
24
  contextKey: chat.contextKey,
25
+ userId: chat.userId,
26
+ tenants,
21
27
  model: chat.model,
22
28
  createdAt: chat.createdAt,
23
29
  updatedAt: chat.updatedAt,
24
30
  metadata: chat.metadata,
25
- userId: chat.userId
31
+ participantIds: chat.participantIds || []
26
32
  };
27
33
  }
28
34
  /**
29
35
  * MongoDB implementation of AgentChatRepository
30
36
  */
31
37
  class MongoAgentChatRepository {
32
- async findById(id) {
33
- const doc = await AgentChatSchema_1.AgentChatModel.findById(id).exec();
34
- return toAgentChat(doc);
35
- }
36
- async find(filter, options) {
37
- const query = {};
38
- if (filter) {
39
- if (filter.id) {
40
- query._id = filter.id;
41
- delete filter.id;
42
- }
43
- Object.assign(query, filter);
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
+ ];
44
49
  }
45
- let queryBuilder = AgentChatSchema_1.AgentChatModel.find(query);
46
- // Apply sorting
47
- if (options?.sort) {
48
- const sortOrder = options.sort.order === ai_agent_types_1.SortOrder.Asc ? 1 : -1;
49
- queryBuilder = queryBuilder.sort({ [options.sort.field]: sortOrder });
50
+ 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;
50
60
  }
51
- // Apply limit
52
- if (options?.limit) {
53
- queryBuilder = queryBuilder.limit(options.limit);
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
+ };
54
78
  }
55
- const docs = await queryBuilder.exec();
56
- return docs.map(doc => toAgentChat(doc)).filter(Boolean);
79
+ }
80
+ async findById(id) {
81
+ const doc = await AgentChatSchema_1.AgentChatModel.findById(id).exec();
82
+ return toAgentChat(doc);
57
83
  }
58
84
  async findOne(filter) {
59
85
  const query = {};
60
- if (filter.id) {
61
- query._id = filter.id;
62
- delete filter.id;
86
+ const { id, ...rest } = filter;
87
+ if (id) {
88
+ query._id = id;
63
89
  }
64
- Object.assign(query, filter);
90
+ Object.assign(query, rest);
65
91
  const doc = await AgentChatSchema_1.AgentChatModel.findOne(query).exec();
66
92
  return toAgentChat(doc);
67
93
  }
@@ -96,143 +122,38 @@ class MongoAgentChatRepository {
96
122
  }
97
123
  async count(filter) {
98
124
  const query = {};
99
- if (filter) {
100
- if (filter.id) {
101
- query._id = filter.id;
102
- delete filter.id;
103
- }
104
- Object.assign(query, filter);
105
- }
125
+ this.applyFilter(query, filter);
106
126
  return AgentChatSchema_1.AgentChatModel.countDocuments(query).exec();
107
127
  }
108
- async findByUserId(userId) {
109
- const docs = await AgentChatSchema_1.AgentChatModel.find({ userId }).exec();
110
- return docs.map(doc => toAgentChat(doc)).filter(Boolean);
111
- }
112
- async findByContextKey(contextKey) {
113
- const docs = await AgentChatSchema_1.AgentChatModel.find({ contextKey }).exec();
114
- return docs.map(doc => toAgentChat(doc)).filter(Boolean);
115
- }
116
- async findByUserIdAndContextKey(userId, contextKey) {
117
- const docs = await AgentChatSchema_1.AgentChatModel.find({ userId, contextKey }).exec();
118
- return docs.map(doc => toAgentChat(doc)).filter(Boolean);
119
- }
120
- async findGuestChatsByContextKey(contextKey) {
121
- const docs = await AgentChatSchema_1.AgentChatModel.find({
122
- contextKey,
123
- userId: { $exists: false }
124
- }).exec();
125
- return docs.map(doc => toAgentChat(doc)).filter(Boolean);
126
- }
127
128
  async updateTitle(id, title) {
128
129
  const doc = await AgentChatSchema_1.AgentChatModel.findByIdAndUpdate(id, { $set: { title, updatedAt: new Date().toISOString() } }, { new: true }).exec();
129
130
  return toAgentChat(doc);
130
131
  }
131
132
  async deleteByUserId(userId) {
132
- const result = await AgentChatSchema_1.AgentChatModel.deleteMany({ userId }).exec();
133
+ const result = await AgentChatSchema_1.AgentChatModel.deleteMany({ 'tenants.userId': userId }).exec();
133
134
  return result.deletedCount || 0;
134
135
  }
135
136
  async deleteByContextKey(contextKey) {
136
137
  const result = await AgentChatSchema_1.AgentChatModel.deleteMany({ contextKey }).exec();
137
138
  return result.deletedCount || 0;
138
139
  }
139
- async findWithMessages(filter, options) {
140
- // Build match stage for filtering
141
- const matchStage = {};
142
- if (filter) {
143
- if (filter.id) {
144
- matchStage._id = new mongo_1.ObjectId(filter.id);
145
- }
146
- if (filter.userId !== undefined) {
147
- matchStage.userId = filter.userId;
148
- }
149
- if (filter.contextKey !== undefined) {
150
- matchStage.contextKey = filter.contextKey;
151
- }
152
- if (filter.type !== undefined) {
153
- matchStage.type = filter.type;
154
- }
155
- if (filter.status !== undefined) {
156
- matchStage.status = filter.status;
157
- }
158
- if (filter.model !== undefined) {
159
- matchStage.model = filter.model;
160
- }
161
- }
162
- // Build aggregation pipeline
163
- const pipeline = [
164
- { $match: matchStage }
165
- ];
166
- // Add sort stage before lookup (for better performance)
140
+ async find(filter, options) {
141
+ const query = {};
142
+ this.applyFilter(query, filter);
143
+ let qb = AgentChatSchema_1.AgentChatModel.find(query);
167
144
  if (options?.sort) {
168
145
  const sortField = options.sort.field === 'id' ? '_id' : options.sort.field;
169
146
  const sortOrder = options.sort.order === ai_agent_types_1.SortOrder.Asc ? 1 : -1;
170
- pipeline.push({ $sort: { [sortField]: sortOrder } });
147
+ qb = qb.sort({ [sortField]: sortOrder });
148
+ }
149
+ if (options?.skip) {
150
+ qb = qb.skip(options.skip);
171
151
  }
172
- // Add limit before lookup if specified (for better performance)
173
152
  if (options?.limit) {
174
- pipeline.push({ $limit: options.limit });
153
+ qb = qb.limit(options.limit);
175
154
  }
176
- // Lookup messages
177
- pipeline.push({
178
- $lookup: {
179
- from: 'agentmessages',
180
- localField: '_id',
181
- foreignField: 'chat',
182
- as: 'messages'
183
- }
184
- });
185
- // Transform messages
186
- pipeline.push({
187
- $addFields: {
188
- messages: {
189
- $map: {
190
- input: { $sortArray: { input: '$messages', sortBy: { createdAt: 1 } } },
191
- as: 'msg',
192
- in: {
193
- id: { $toString: '$$msg._id' },
194
- chat: { $toString: '$$msg.chat' },
195
- role: '$$msg.role',
196
- content: '$$msg.content',
197
- createdAt: '$$msg.createdAt',
198
- toolCalls: { $ifNull: ['$$msg.toolCalls', []] },
199
- attachments: { $ifNull: ['$$msg.attachments', []] },
200
- annotations: '$$msg.annotations'
201
- }
202
- }
203
- }
204
- }
205
- });
206
- // Project final shape
207
- pipeline.push({
208
- $project: {
209
- id: { $toString: '$_id' },
210
- title: 1,
211
- type: { $ifNull: ['$type', ai_agent_types_1.ChatType.Chat] },
212
- status: 1,
213
- contextKey: 1,
214
- model: 1,
215
- createdAt: 1,
216
- updatedAt: 1,
217
- metadata: 1,
218
- userId: 1,
219
- messages: 1
220
- }
221
- });
222
- const results = await AgentChatSchema_1.AgentChatModel.aggregate(pipeline).exec();
223
- return results.map((result) => ({
224
- id: result.id,
225
- title: result.title,
226
- type: result.type || ai_agent_types_1.ChatType.Chat,
227
- status: result.status,
228
- contextKey: result.contextKey,
229
- model: result.model,
230
- createdAt: result.createdAt,
231
- updatedAt: result.updatedAt,
232
- metadata: result.metadata,
233
- userId: result.userId,
234
- messages: result.messages || []
235
- }));
155
+ const docs = await qb.exec();
156
+ return docs.map((doc) => toAgentChat(doc)).filter(Boolean);
236
157
  }
237
158
  }
238
159
  exports.MongoAgentChatRepository = MongoAgentChatRepository;
@@ -1 +1 @@
1
- {"version":3,"file":"MongoAgentChatRepository.js","sourceRoot":"","sources":["../../../src/repositories/MongoAgentChatRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MongoAgentChatRepository.js","sourceRoot":"","sources":["../../../src/repositories/MongoAgentChatRepository.ts"],"names":[],"mappings":"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"}
@@ -1,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
@@ -1 +1 @@
1
- {"version":3,"file":"MongoAgentChatRepository.d.ts","sourceRoot":"","sources":["../../../src/repositories/MongoAgentChatRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,EAAY,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AA0BxE;;GAEG;AACH,qBAAa,wBAAyB,YAAW,mBAAmB;IAC5D,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAK/C,IAAI,CACR,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,EAC3B,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,SAAS,CAAA;SAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GACvE,OAAO,CAAC,SAAS,EAAE,CAAC;IA4BjB,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAa9D,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;IAgBrF,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAUpG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUpC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKpC,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAcnD,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAKlD,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAK1D,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAKnF,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAQpE,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAUjE,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK/C,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKvD,gBAAgB,CACpB,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,EAC3B,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,SAAS,CAAA;SAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GACvE,OAAO,CAAC,iBAAiB,EAAE,CAAC;CA2GhC"}
1
+ {"version":3,"file":"MongoAgentChatRepository.d.ts","sourceRoot":"","sources":["../../../src/repositories/MongoAgentChatRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,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"}