@ainetwork/adk-provider-memory-mongodb 0.1.7 → 0.2.0

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 (37) hide show
  1. package/dist/chunk-GPOFS7ZT.js +42 -0
  2. package/dist/chunk-GPOFS7ZT.js.map +1 -0
  3. package/dist/chunk-MLPXPX2L.js +50 -0
  4. package/dist/chunk-MLPXPX2L.js.map +1 -0
  5. package/dist/index.cjs +67 -52
  6. package/dist/index.cjs.map +1 -1
  7. package/dist/index.d.cts +4 -8
  8. package/dist/index.d.ts +4 -8
  9. package/dist/index.js +55 -44
  10. package/dist/index.js.map +1 -1
  11. package/dist/models/intent.model.d.cts +2 -2
  12. package/dist/models/intent.model.d.ts +2 -2
  13. package/dist/models/messages.model.cjs +86 -0
  14. package/dist/models/messages.model.cjs.map +1 -0
  15. package/dist/models/messages.model.d.cts +75 -0
  16. package/dist/models/messages.model.d.ts +75 -0
  17. package/dist/models/messages.model.js +11 -0
  18. package/dist/models/{chats.model.cjs → threads.model.cjs} +19 -47
  19. package/dist/models/threads.model.cjs.map +1 -0
  20. package/dist/models/threads.model.d.cts +44 -0
  21. package/dist/models/threads.model.d.ts +44 -0
  22. package/dist/models/threads.model.js +9 -0
  23. package/dist/models/threads.model.js.map +1 -0
  24. package/implements/base.memory.ts +9 -9
  25. package/implements/intent.memory.ts +18 -6
  26. package/implements/thread.memory.ts +26 -35
  27. package/models/messages.model.ts +61 -0
  28. package/models/threads.model.ts +46 -0
  29. package/package.json +3 -3
  30. package/dist/chunk-S537KQMN.js +0 -79
  31. package/dist/chunk-S537KQMN.js.map +0 -1
  32. package/dist/models/chats.model.cjs.map +0 -1
  33. package/dist/models/chats.model.d.cts +0 -105
  34. package/dist/models/chats.model.d.ts +0 -105
  35. package/dist/models/chats.model.js +0 -11
  36. package/models/chats.model.ts +0 -99
  37. /package/dist/models/{chats.model.js.map → messages.model.js.map} +0 -0
package/dist/index.js CHANGED
@@ -1,34 +1,37 @@
1
- import {
2
- ChatObjectSchema,
3
- ThreadObjectSchema
4
- } from "./chunk-S537KQMN.js";
5
1
  import {
6
2
  IntentModel
7
3
  } from "./chunk-JCE5NAY5.js";
4
+ import {
5
+ MessageModel
6
+ } from "./chunk-MLPXPX2L.js";
7
+ import {
8
+ ThreadModel
9
+ } from "./chunk-GPOFS7ZT.js";
8
10
 
9
11
  // implements/thread.memory.ts
10
12
  import { randomUUID } from "crypto";
11
13
 
12
14
  // implements/base.memory.ts
13
- import { Mongoose } from "mongoose";
15
+ import mongoose from "mongoose";
14
16
  import { loggers } from "@ainetwork/adk/utils/logger";
15
17
  var MongoDBMemory = class {
16
18
  _isConnected = false;
17
19
  _uri;
18
- _mongoose;
19
20
  constructor(uri) {
20
21
  this._uri = uri;
21
- this._mongoose = new Mongoose();
22
- }
23
- getInstance() {
24
- return this._mongoose;
25
22
  }
26
23
  async connect() {
27
24
  if (this._isConnected) {
28
25
  return;
29
26
  }
30
27
  try {
31
- await this._mongoose.connect(this._uri);
28
+ await mongoose.connect(this._uri, {
29
+ maxPoolSize: 1,
30
+ serverSelectionTimeoutMS: 3e4,
31
+ socketTimeoutMS: 45e3,
32
+ connectTimeoutMS: 3e4,
33
+ bufferCommands: false
34
+ });
32
35
  this._isConnected = true;
33
36
  loggers.agent.info("MongoDB connected successfully");
34
37
  } catch (error) {
@@ -41,7 +44,7 @@ var MongoDBMemory = class {
41
44
  return;
42
45
  }
43
46
  try {
44
- await this._mongoose?.disconnect();
47
+ await mongoose.disconnect();
45
48
  this._isConnected = false;
46
49
  loggers.agent.info("MongoDB disconnected successfully");
47
50
  } catch (error) {
@@ -57,40 +60,35 @@ var MongoDBMemory = class {
57
60
  // implements/thread.memory.ts
58
61
  import { loggers as loggers2 } from "@ainetwork/adk/utils/logger";
59
62
  var MongoDBThread = class extends MongoDBMemory {
60
- chatModel;
61
- threadModel;
62
63
  constructor(uri) {
63
64
  super(uri);
64
- const _mongoose = super.getInstance();
65
- this.chatModel = _mongoose.model("Chat", ChatObjectSchema);
66
- this.threadModel = _mongoose.model("Thread", ThreadObjectSchema);
67
65
  }
68
- async getThread(type, userId, threadId) {
69
- const thread = await this.threadModel.findOne({ type, threadId, userId });
70
- const chats = await this.chatModel.find({ threadId, userId }).sort({
66
+ async getThread(userId, threadId) {
67
+ const thread = await ThreadModel.findOne({ threadId, userId });
68
+ const messages = await MessageModel.find({ threadId, userId }).sort({
71
69
  timestamp: 1
72
70
  });
73
71
  if (!thread) return void 0;
74
- loggers2.agent.debug(`Found ${chats.length} chats for thread ${threadId}`);
72
+ loggers2.agent.debug(`Found ${messages.length} messages for thread ${threadId}`);
75
73
  const threadObject = {
76
74
  type: thread.type,
77
- title: thread.title || "New chats",
75
+ title: thread.title || "New thread",
78
76
  messages: {}
79
77
  };
80
- chats.forEach((chat) => {
81
- const chatId = chat._id?.toString() || chat.id;
82
- threadObject.messages[chatId] = {
83
- role: chat.role,
84
- content: chat.content,
85
- timestamp: chat.timestamp,
86
- metadata: chat.metadata
78
+ messages.forEach((message) => {
79
+ const messageId = message._id?.toString() || message.id;
80
+ threadObject.messages[messageId] = {
81
+ role: message.role,
82
+ content: message.content,
83
+ timestamp: message.timestamp,
84
+ metadata: message.metadata
87
85
  };
88
86
  });
89
87
  return threadObject;
90
88
  }
91
89
  async createThread(type, userId, threadId, title) {
92
90
  const now = Date.now();
93
- await this.threadModel.create({
91
+ await ThreadModel.create({
94
92
  type,
95
93
  userId,
96
94
  threadId,
@@ -101,34 +99,37 @@ var MongoDBThread = class extends MongoDBMemory {
101
99
  return { type, threadId, title, updatedAt: now };
102
100
  }
103
101
  async addMessagesToThread(userId, threadId, messages) {
104
- await this.threadModel.updateOne({ threadId, userId }, {
102
+ await ThreadModel.updateOne({ threadId, userId }, {
105
103
  updated_at: Date.now()
106
104
  });
105
+ const messageIds = [];
107
106
  for (const message of messages) {
108
107
  const newId = randomUUID();
109
- await this.chatModel.create({
108
+ await MessageModel.create({
110
109
  threadId,
111
- chatId: newId,
110
+ messageId: newId,
112
111
  userId,
113
112
  role: message.role,
114
113
  content: message.content,
115
114
  timestamp: message.timestamp,
116
115
  metadata: message.metadata
117
116
  });
117
+ messageIds.push(newId);
118
118
  }
119
+ return messageIds;
119
120
  }
120
121
  async deleteThread(userId, threadId) {
121
- const chats = await this.chatModel.find({ userId, threadId }).sort({
122
+ const messages = await MessageModel.find({ userId, threadId }).sort({
122
123
  timestamp: 1
123
124
  });
124
- chats?.forEach((chat) => {
125
- chat.deleteOne();
125
+ messages?.forEach((message) => {
126
+ message.deleteOne();
126
127
  });
127
- const thread = await this.threadModel.findOne({ userId, threadId });
128
+ const thread = await ThreadModel.findOne({ userId, threadId });
128
129
  thread?.deleteOne();
129
130
  }
130
131
  async listThreads(userId) {
131
- const threads = await this.threadModel.find({ userId }).sort({
132
+ const threads = await ThreadModel.find({ userId }).sort({
132
133
  updated_at: -1
133
134
  });
134
135
  const data = threads.map((thread) => {
@@ -144,10 +145,22 @@ var MongoDBThread = class extends MongoDBMemory {
144
145
  };
145
146
 
146
147
  // implements/intent.memory.ts
147
- import { randomUUID as randomUUID2 } from "crypto";
148
+ import { Types } from "mongoose";
148
149
  var MongoDBIntent = class extends MongoDBMemory {
149
150
  async getIntent(intentId) {
150
- const intent = await IntentModel.findById(intentId);
151
+ const intent = await IntentModel.findById(new Types.ObjectId(intentId));
152
+ if (intent) {
153
+ return {
154
+ name: intent.name,
155
+ description: intent.description,
156
+ prompt: intent.prompt,
157
+ llm: intent.llm
158
+ };
159
+ }
160
+ return void 0;
161
+ }
162
+ async getIntentByName(intentName) {
163
+ const intent = await IntentModel.findOne({ name: intentName });
151
164
  if (intent) {
152
165
  return {
153
166
  name: intent.name,
@@ -159,9 +172,7 @@ var MongoDBIntent = class extends MongoDBMemory {
159
172
  return void 0;
160
173
  }
161
174
  async saveIntent(intent) {
162
- const newId = randomUUID2();
163
175
  await IntentModel.create({
164
- _id: newId,
165
176
  name: intent.name,
166
177
  description: intent.description,
167
178
  prompt: intent.prompt,
@@ -170,7 +181,7 @@ var MongoDBIntent = class extends MongoDBMemory {
170
181
  }
171
182
  async updateIntent(intentId, intent) {
172
183
  await IntentModel.updateOne({
173
- _id: intentId
184
+ _id: new Types.ObjectId(intentId)
174
185
  }, {
175
186
  name: intent.name,
176
187
  description: intent.description,
@@ -179,7 +190,7 @@ var MongoDBIntent = class extends MongoDBMemory {
179
190
  });
180
191
  }
181
192
  async deleteIntent(intentId) {
182
- await IntentModel.deleteOne({ _id: intentId });
193
+ await IntentModel.deleteOne({ _id: new Types.ObjectId(intentId) });
183
194
  }
184
195
  async listIntents() {
185
196
  const intents = await IntentModel.find();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../implements/thread.memory.ts","../implements/base.memory.ts","../implements/intent.memory.ts"],"sourcesContent":["import { randomUUID } from \"node:crypto\";\nimport type { MessageObject, ThreadMetadata, ThreadObject, ThreadType } from \"@ainetwork/adk/types/memory\";\nimport { MessageRole } from \"@ainetwork/adk/types/memory\";\nimport { IThreadMemory } from \"@ainetwork/adk/modules\";\nimport { MongoDBMemory } from \"./base.memory\";\nimport {\n\tChatDocument,\n ChatObjectSchema,\n ThreadObjectSchema,\n ThreadDocument\n} from \"../models/chats.model\";\nimport { loggers } from \"@ainetwork/adk/utils/logger\";\nimport { Model } from \"mongoose\";\n\nexport class MongoDBThread extends MongoDBMemory implements IThreadMemory {\n private chatModel: Model<ChatDocument>;\n private threadModel: Model<ThreadDocument>;\n\n constructor(uri: string) {\n super(uri);\n const _mongoose = super.getInstance();\n this.chatModel = _mongoose.model<ChatDocument>(\"Chat\", ChatObjectSchema);\n this.threadModel = _mongoose.model<ThreadDocument>(\"Thread\", ThreadObjectSchema);\n }\n\n public async getThread(\n type: ThreadType,\n userId: string,\n threadId: string\n ): Promise<ThreadObject | undefined> {\n const thread = await this.threadModel.findOne({ type, threadId, userId });\n\t\tconst chats = await this.chatModel.find({ threadId, userId }).sort({\n\t\t\ttimestamp: 1,\n\t\t});\n\n if (!thread) return undefined;\n\n\t\tloggers.agent.debug(`Found ${chats.length} chats for thread ${threadId}`);\n\n\t\tconst threadObject: ThreadObject = { \n type: thread.type as ThreadType,\n title: thread.title || \"New chats\",\n messages: {}\n };\n\t\tchats.forEach((chat: ChatDocument) => {\n\t\t\tconst chatId = chat._id?.toString() || chat.id;\n\t\t\tthreadObject.messages[chatId] = {\n\t\t\t\trole: chat.role as MessageRole,\n\t\t\t\tcontent: chat.content,\n\t\t\t\ttimestamp: chat.timestamp,\n\t\t\t\tmetadata: chat.metadata,\n\t\t\t};\n\t\t});\n\n\t\treturn threadObject;\n };\n\n\tpublic async createThread(\n\t\ttype: ThreadType,\n\t\tuserId: string,\n\t\tthreadId: string,\n\t\ttitle: string,\n ): Promise<ThreadMetadata> {\n const now = Date.now();\n await this.threadModel.create({\n type,\n userId,\n threadId,\n title,\n updated_at: now,\n created_at: now,\n });\n\n return { type, threadId, title, updatedAt: now };\n };\n\n\tpublic async addMessagesToThread(\n userId: string,\n threadId: string,\n messages: MessageObject[]\n ): Promise<void> {\n await this.threadModel.updateOne({ threadId, userId }, {\n updated_at: Date.now(),\n });\n for (const message of messages) {\n const newId = randomUUID();\n await this.chatModel.create({\n threadId,\n chatId: newId,\n userId,\n role: message.role,\n content: message.content,\n timestamp: message.timestamp,\n metadata: message.metadata,\n });\n }\n };\n\n\tpublic async deleteThread(userId: string, threadId: string): Promise<void> {\n\t\tconst chats = await this.chatModel.find({ userId, threadId }).sort({\n\t\t\ttimestamp: 1,\n\t\t});\n\n\t\tchats?.forEach((chat: ChatDocument) => {\n chat.deleteOne();\n\t\t});\n \n const thread = await this.threadModel.findOne({ userId, threadId });\n thread?.deleteOne();\n };\n\n\tpublic async listThreads(userId: string): Promise<ThreadMetadata[]> {\n const threads = await this.threadModel.find({ userId }).sort({\n updated_at: -1,\n });\n const data: ThreadMetadata[] = threads.map((thread: ThreadDocument) => {\n return {\n type: thread.type,\n threadId: thread.threadId,\n title: thread.title,\n updatedAt: thread.updated_at\n } as ThreadMetadata;\n })\n return data;\n };\n}","import { IMemory } from \"node_modules/@ainetwork/adk/dist/esm/modules/memory/base.memory\";\nimport mongoose, { Mongoose } from \"mongoose\";\nimport { loggers } from \"@ainetwork/adk/utils/logger\";\n\nexport class MongoDBMemory implements IMemory {\n private _isConnected: boolean = false;\n private _uri: string;\n private _mongoose: Mongoose;\n\n constructor(uri: string) {\n this._uri = uri;\n this._mongoose = new Mongoose();\n }\n\n public getInstance(): Mongoose {\n return this._mongoose;\n }\n\n public async connect(): Promise<void> {\n\t\tif (this._isConnected) {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n await this._mongoose.connect(this._uri);\n\t\t\tthis._isConnected = true;\n\t\t\tloggers.agent.info(\"MongoDB connected successfully\");\n\t\t} catch (error) {\n\t\t\tloggers.agent.error(\"Failed to connect to MongoDB:\", error);\n\t\t\tthrow error;\n\t\t}\n }\n\n public async disconnect(): Promise<void> {\n\t\tif (!this.isConnected) {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tawait this._mongoose?.disconnect();\n\t\t\tthis._isConnected = false;\n\t\t\tloggers.agent.info(\"MongoDB disconnected successfully\");\n\t\t} catch (error) {\n\t\t\tloggers.agent.error(\"Failed to disconnect from MongoDB:\", error);\n\t\t\tthrow error;\n\t\t}\n }\n\n public isConnected(): boolean {\n return this._isConnected;\n }\n}","import { randomUUID } from \"node:crypto\";\nimport type { Intent } from \"@ainetwork/adk/types/memory\";\nimport { IIntentMemory } from \"@ainetwork/adk/modules\";\nimport { MongoDBMemory } from \"./base.memory\";\nimport { IntentModel } from \"../models/intent.model\";\n\nexport class MongoDBIntent extends MongoDBMemory implements IIntentMemory {\n public async getIntent(intentId: string): Promise<Intent | undefined> {\n const intent = await IntentModel.findById(intentId);\n if (intent) {\n return {\n name: intent.name,\n description: intent.description,\n prompt: intent.prompt,\n llm: intent.llm,\n } as Intent;\n }\n return undefined;\n };\n\n\tpublic async saveIntent(intent: Intent): Promise<void> {\n const newId = randomUUID();\n await IntentModel.create({\n _id: newId,\n name: intent.name,\n description: intent.description,\n prompt: intent.prompt,\n llm: intent.llm,\n });\n };\n\n\tpublic async updateIntent(intentId: string, intent: Intent): Promise<void> {\n await IntentModel.updateOne({\n _id: intentId,\n },{\n name: intent.name,\n description: intent.description,\n prompt: intent.prompt,\n llm: intent.llm,\n });\n };\n\n\tpublic async deleteIntent(intentId: string): Promise<void> {\n await IntentModel.deleteOne({ _id: intentId });\n };\n\n\tpublic async listIntents(): Promise<Intent[]> {\n const intents = await IntentModel.find();\n return intents.map(intent => ({\n name: intent.name,\n description: intent.description,\n prompt: intent.prompt,\n llm: intent.llm,\n } as Intent));\n };\n}"],"mappings":";;;;;;;;;AAAA,SAAS,kBAAkB;;;ACC3B,SAAmB,gBAAgB;AACnC,SAAS,eAAe;AAEjB,IAAM,gBAAN,MAAuC;AAAA,EACpC,eAAwB;AAAA,EACxB;AAAA,EACA;AAAA,EAER,YAAY,KAAa;AACvB,SAAK,OAAO;AACZ,SAAK,YAAY,IAAI,SAAS;AAAA,EAChC;AAAA,EAEO,cAAwB;AAC7B,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,MAAa,UAAyB;AACtC,QAAI,KAAK,cAAc;AACtB;AAAA,IACD;AAEA,QAAI;AACA,YAAM,KAAK,UAAU,QAAQ,KAAK,IAAI;AACzC,WAAK,eAAe;AACpB,cAAQ,MAAM,KAAK,gCAAgC;AAAA,IACpD,SAAS,OAAO;AACf,cAAQ,MAAM,MAAM,iCAAiC,KAAK;AAC1D,YAAM;AAAA,IACP;AAAA,EACA;AAAA,EAEA,MAAa,aAA4B;AACzC,QAAI,CAAC,KAAK,aAAa;AACtB;AAAA,IACD;AAEA,QAAI;AACH,YAAM,KAAK,WAAW,WAAW;AACjC,WAAK,eAAe;AACpB,cAAQ,MAAM,KAAK,mCAAmC;AAAA,IACvD,SAAS,OAAO;AACf,cAAQ,MAAM,MAAM,sCAAsC,KAAK;AAC/D,YAAM;AAAA,IACP;AAAA,EACA;AAAA,EAEO,cAAuB;AAC5B,WAAO,KAAK;AAAA,EACd;AACF;;;ADxCA,SAAS,WAAAA,gBAAe;AAGjB,IAAM,gBAAN,cAA4B,cAAuC;AAAA,EAChE;AAAA,EACA;AAAA,EAER,YAAY,KAAa;AACvB,UAAM,GAAG;AACT,UAAM,YAAY,MAAM,YAAY;AACpC,SAAK,YAAY,UAAU,MAAoB,QAAQ,gBAAgB;AACvE,SAAK,cAAc,UAAU,MAAsB,UAAU,kBAAkB;AAAA,EACjF;AAAA,EAEA,MAAa,UACX,MACA,QACA,UACmC;AACnC,UAAM,SAAS,MAAM,KAAK,YAAY,QAAQ,EAAE,MAAM,UAAU,OAAO,CAAC;AAC1E,UAAM,QAAQ,MAAM,KAAK,UAAU,KAAK,EAAE,UAAU,OAAO,CAAC,EAAE,KAAK;AAAA,MAClE,WAAW;AAAA,IACZ,CAAC;AAEC,QAAI,CAAC,OAAQ,QAAO;AAEtB,IAAAA,SAAQ,MAAM,MAAM,SAAS,MAAM,MAAM,qBAAqB,QAAQ,EAAE;AAExE,UAAM,eAA6B;AAAA,MAC/B,MAAM,OAAO;AAAA,MACb,OAAO,OAAO,SAAS;AAAA,MACvB,UAAU,CAAC;AAAA,IACb;AACF,UAAM,QAAQ,CAAC,SAAuB;AACrC,YAAM,SAAS,KAAK,KAAK,SAAS,KAAK,KAAK;AAC5C,mBAAa,SAAS,MAAM,IAAI;AAAA,QAC/B,MAAM,KAAK;AAAA,QACX,SAAS,KAAK;AAAA,QACd,WAAW,KAAK;AAAA,QAChB,UAAU,KAAK;AAAA,MAChB;AAAA,IACD,CAAC;AAED,WAAO;AAAA,EACP;AAAA,EAED,MAAa,aACZ,MACA,QACA,UACA,OAC2B;AACzB,UAAM,MAAM,KAAK,IAAI;AACrB,UAAM,KAAK,YAAY,OAAO;AAAA,MAC5B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAY;AAAA,MACZ,YAAY;AAAA,IACd,CAAC;AAED,WAAO,EAAE,MAAM,UAAU,OAAO,WAAW,IAAI;AAAA,EACjD;AAAA,EAED,MAAa,oBACV,QACA,UACA,UACe;AACf,UAAM,KAAK,YAAY,UAAU,EAAE,UAAU,OAAO,GAAG;AAAA,MACrD,YAAY,KAAK,IAAI;AAAA,IACvB,CAAC;AACD,eAAW,WAAW,UAAU;AAC9B,YAAM,QAAQ,WAAW;AACzB,YAAM,KAAK,UAAU,OAAO;AAAA,QAC1B;AAAA,QACA,QAAQ;AAAA,QACR;AAAA,QACA,MAAM,QAAQ;AAAA,QACd,SAAS,QAAQ;AAAA,QACjB,WAAW,QAAQ;AAAA,QACnB,UAAU,QAAQ;AAAA,MACpB,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EAED,MAAa,aAAa,QAAgB,UAAiC;AAC1E,UAAM,QAAQ,MAAM,KAAK,UAAU,KAAK,EAAE,QAAQ,SAAS,CAAC,EAAE,KAAK;AAAA,MAClE,WAAW;AAAA,IACZ,CAAC;AAED,WAAO,QAAQ,CAAC,SAAuB;AACnC,WAAK,UAAU;AAAA,IACnB,CAAC;AAEC,UAAM,SAAS,MAAM,KAAK,YAAY,QAAQ,EAAE,QAAQ,SAAS,CAAC;AAClE,YAAQ,UAAU;AAAA,EACpB;AAAA,EAED,MAAa,YAAY,QAA2C;AACjE,UAAM,UAAU,MAAM,KAAK,YAAY,KAAK,EAAE,OAAO,CAAC,EAAE,KAAK;AAAA,MAC3D,YAAY;AAAA,IACd,CAAC;AACD,UAAM,OAAyB,QAAQ,IAAI,CAAC,WAA2B;AACrE,aAAO;AAAA,QACL,MAAM,OAAO;AAAA,QACb,UAAU,OAAO;AAAA,QACjB,OAAO,OAAO;AAAA,QACd,WAAW,OAAO;AAAA,MACpB;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AACF;;;AE7HA,SAAS,cAAAC,mBAAkB;AAMpB,IAAM,gBAAN,cAA4B,cAAuC;AAAA,EACxE,MAAa,UAAU,UAA+C;AACpE,UAAM,SAAS,MAAM,YAAY,SAAS,QAAQ;AAClD,QAAI,QAAQ;AACV,aAAO;AAAA,QACL,MAAM,OAAO;AAAA,QACb,aAAa,OAAO;AAAA,QACpB,QAAQ,OAAO;AAAA,QACf,KAAK,OAAO;AAAA,MACd;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EAED,MAAa,WAAW,QAA+B;AACpD,UAAM,QAAQC,YAAW;AACzB,UAAM,YAAY,OAAO;AAAA,MACvB,KAAK;AAAA,MACL,MAAM,OAAO;AAAA,MACb,aAAa,OAAO;AAAA,MACpB,QAAQ,OAAO;AAAA,MACf,KAAK,OAAO;AAAA,IACd,CAAC;AAAA,EACH;AAAA,EAED,MAAa,aAAa,UAAkB,QAA+B;AACxE,UAAM,YAAY,UAAU;AAAA,MAC1B,KAAK;AAAA,IACP,GAAE;AAAA,MACA,MAAM,OAAO;AAAA,MACb,aAAa,OAAO;AAAA,MACpB,QAAQ,OAAO;AAAA,MACf,KAAK,OAAO;AAAA,IACd,CAAC;AAAA,EACH;AAAA,EAED,MAAa,aAAa,UAAiC;AACxD,UAAM,YAAY,UAAU,EAAE,KAAK,SAAS,CAAC;AAAA,EAC/C;AAAA,EAED,MAAa,cAAiC;AAC3C,UAAM,UAAU,MAAM,YAAY,KAAK;AACvC,WAAO,QAAQ,IAAI,aAAW;AAAA,MAC5B,MAAM,OAAO;AAAA,MACb,aAAa,OAAO;AAAA,MACpB,QAAQ,OAAO;AAAA,MACf,KAAK,OAAO;AAAA,IACd,EAAY;AAAA,EACd;AACF;","names":["loggers","randomUUID","randomUUID"]}
1
+ {"version":3,"sources":["../implements/thread.memory.ts","../implements/base.memory.ts","../implements/intent.memory.ts"],"sourcesContent":["import { randomUUID } from \"node:crypto\";\nimport type { MessageObject, ThreadMetadata, ThreadObject, ThreadType } from \"@ainetwork/adk/types/memory\";\nimport { MessageRole } from \"@ainetwork/adk/types/memory\";\nimport { IThreadMemory } from \"@ainetwork/adk/modules\";\nimport { MongoDBMemory } from \"./base.memory\";\nimport { ThreadDocument, ThreadModel } from \"../models/threads.model\";\nimport { MessageDocument, MessageModel } from \"../models/messages.model\";\nimport { loggers } from \"@ainetwork/adk/utils/logger\";\n\nexport class MongoDBThread extends MongoDBMemory implements IThreadMemory {\n constructor(uri: string) {\n super(uri);\n }\n\n public async getThread(\n userId: string,\n threadId: string\n ): Promise<ThreadObject | undefined> {\n const thread = await ThreadModel.findOne({ threadId, userId });\n\t\tconst messages = await MessageModel.find({ threadId, userId }).sort({\n\t\t\ttimestamp: 1,\n\t\t});\n\n if (!thread) return undefined;\n\n\t\tloggers.agent.debug(`Found ${messages.length} messages for thread ${threadId}`);\n\n\t\tconst threadObject: ThreadObject = { \n type: thread.type as ThreadType,\n title: thread.title || \"New thread\",\n messages: {}\n };\n\t\tmessages.forEach((message: MessageDocument) => {\n\t\t\tconst messageId = message._id?.toString() || message.id;\n\t\t\tthreadObject.messages[messageId] = {\n\t\t\t\trole: message.role as MessageRole,\n\t\t\t\tcontent: message.content,\n\t\t\t\ttimestamp: message.timestamp,\n\t\t\t\tmetadata: message.metadata,\n\t\t\t};\n\t\t});\n\n\t\treturn threadObject;\n };\n\n\tpublic async createThread(\n\t\ttype: ThreadType,\n\t\tuserId: string,\n\t\tthreadId: string,\n\t\ttitle: string,\n ): Promise<ThreadMetadata> {\n const now = Date.now();\n await ThreadModel.create({\n type,\n userId,\n threadId,\n title,\n updated_at: now,\n created_at: now,\n });\n\n return { type, threadId, title, updatedAt: now };\n };\n\n\tpublic async addMessagesToThread(\n userId: string,\n threadId: string,\n messages: MessageObject[]\n ): Promise<string[]> {\n await ThreadModel.updateOne({ threadId, userId }, {\n updated_at: Date.now(),\n });\n const messageIds: string[] = [];\n for (const message of messages) {\n const newId = randomUUID();\n await MessageModel.create({\n threadId,\n messageId: newId,\n userId,\n role: message.role,\n content: message.content,\n timestamp: message.timestamp,\n metadata: message.metadata,\n });\n messageIds.push(newId);\n }\n return messageIds;\n };\n\n\tpublic async deleteThread(userId: string, threadId: string): Promise<void> {\n\t\tconst messages = await MessageModel.find({ userId, threadId }).sort({\n\t\t\ttimestamp: 1,\n\t\t});\n\n\t\tmessages?.forEach((message: MessageDocument) => {\n message.deleteOne();\n\t\t});\n \n const thread = await ThreadModel.findOne({ userId, threadId });\n thread?.deleteOne();\n };\n\n\tpublic async listThreads(userId: string): Promise<ThreadMetadata[]> {\n const threads = await ThreadModel.find({ userId }).sort({\n updated_at: -1,\n });\n const data: ThreadMetadata[] = threads.map((thread: ThreadDocument) => {\n return {\n type: thread.type,\n threadId: thread.threadId,\n title: thread.title,\n updatedAt: thread.updated_at\n } as ThreadMetadata;\n })\n return data;\n };\n}","import { IMemory } from \"node_modules/@ainetwork/adk/dist/esm/modules/memory/base.memory\";\nimport mongoose from \"mongoose\";\nimport { loggers } from \"@ainetwork/adk/utils/logger\";\n\nexport class MongoDBMemory implements IMemory {\n private _isConnected: boolean = false;\n private _uri: string;\n\n constructor(uri: string) {\n this._uri = uri;\n }\n\n public async connect(): Promise<void> {\n\t\tif (this._isConnected) {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n await mongoose.connect(this._uri, {\n maxPoolSize: 1,\n serverSelectionTimeoutMS: 30000,\n socketTimeoutMS: 45000,\n connectTimeoutMS: 30000,\n bufferCommands: false,\n });\n\t\t\tthis._isConnected = true;\n\t\t\tloggers.agent.info(\"MongoDB connected successfully\");\n\t\t} catch (error) {\n\t\t\tloggers.agent.error(\"Failed to connect to MongoDB:\", error);\n\t\t\tthrow error;\n\t\t}\n }\n\n public async disconnect(): Promise<void> {\n\t\tif (!this.isConnected) {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tawait mongoose.disconnect();\n\t\t\tthis._isConnected = false;\n\t\t\tloggers.agent.info(\"MongoDB disconnected successfully\");\n\t\t} catch (error) {\n\t\t\tloggers.agent.error(\"Failed to disconnect from MongoDB:\", error);\n\t\t\tthrow error;\n\t\t}\n }\n\n public isConnected(): boolean {\n return this._isConnected;\n }\n}","import type { Intent } from \"@ainetwork/adk/types/memory\";\nimport { IIntentMemory } from \"@ainetwork/adk/modules\";\nimport { MongoDBMemory } from \"./base.memory\";\nimport { IntentModel } from \"../models/intent.model\";\nimport { Types } from \"mongoose\";\n\nexport class MongoDBIntent extends MongoDBMemory implements IIntentMemory {\n public async getIntent(intentId: string): Promise<Intent | undefined> {\n const intent = await IntentModel.findById(new Types.ObjectId(intentId));\n if (intent) {\n return {\n name: intent.name,\n description: intent.description,\n prompt: intent.prompt,\n llm: intent.llm,\n } as Intent;\n }\n return undefined;\n };\n\n\tpublic async getIntentByName(intentName: string): Promise<Intent | undefined> {\n\t\tconst intent = await IntentModel.findOne({ name: intentName });\n\t\tif (intent) {\n\t\t\treturn {\n\t\t\t\tname: intent.name,\n\t\t\t\tdescription: intent.description,\n\t\t\t\tprompt: intent.prompt,\n\t\t\t\tllm: intent.llm,\n\t\t\t} as Intent;\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tpublic async saveIntent(intent: Intent): Promise<void> {\n // ObjectId automatically generated (MongoDB automatically generates)\n await IntentModel.create({\n name: intent.name,\n description: intent.description,\n prompt: intent.prompt,\n llm: intent.llm,\n });\n };\n\n\tpublic async updateIntent(intentId: string, intent: Intent): Promise<void> {\n await IntentModel.updateOne({\n _id: new Types.ObjectId(intentId),\n },{\n name: intent.name,\n description: intent.description,\n prompt: intent.prompt,\n llm: intent.llm,\n });\n };\n\n\tpublic async deleteIntent(intentId: string): Promise<void> {\n await IntentModel.deleteOne({ _id: new Types.ObjectId(intentId) });\n };\n\n\tpublic async listIntents(): Promise<Intent[]> {\n const intents = await IntentModel.find();\n return intents.map(intent => ({\n name: intent.name,\n description: intent.description,\n prompt: intent.prompt,\n llm: intent.llm,\n } as Intent));\n };\n}"],"mappings":";;;;;;;;;;;AAAA,SAAS,kBAAkB;;;ACC3B,OAAO,cAAc;AACrB,SAAS,eAAe;AAEjB,IAAM,gBAAN,MAAuC;AAAA,EACpC,eAAwB;AAAA,EACxB;AAAA,EAER,YAAY,KAAa;AACvB,SAAK,OAAO;AAAA,EACd;AAAA,EAEA,MAAa,UAAyB;AACtC,QAAI,KAAK,cAAc;AACtB;AAAA,IACD;AAEA,QAAI;AACA,YAAM,SAAS,QAAQ,KAAK,MAAM;AAAA,QAChC,aAAa;AAAA,QACb,0BAA0B;AAAA,QAC1B,iBAAiB;AAAA,QACjB,kBAAkB;AAAA,QAClB,gBAAgB;AAAA,MAClB,CAAC;AACJ,WAAK,eAAe;AACpB,cAAQ,MAAM,KAAK,gCAAgC;AAAA,IACpD,SAAS,OAAO;AACf,cAAQ,MAAM,MAAM,iCAAiC,KAAK;AAC1D,YAAM;AAAA,IACP;AAAA,EACA;AAAA,EAEA,MAAa,aAA4B;AACzC,QAAI,CAAC,KAAK,aAAa;AACtB;AAAA,IACD;AAEA,QAAI;AACH,YAAM,SAAS,WAAW;AAC1B,WAAK,eAAe;AACpB,cAAQ,MAAM,KAAK,mCAAmC;AAAA,IACvD,SAAS,OAAO;AACf,cAAQ,MAAM,MAAM,sCAAsC,KAAK;AAC/D,YAAM;AAAA,IACP;AAAA,EACA;AAAA,EAEO,cAAuB;AAC5B,WAAO,KAAK;AAAA,EACd;AACF;;;AD5CA,SAAS,WAAAA,gBAAe;AAEjB,IAAM,gBAAN,cAA4B,cAAuC;AAAA,EACxE,YAAY,KAAa;AACvB,UAAM,GAAG;AAAA,EACX;AAAA,EAEA,MAAa,UACX,QACA,UACmC;AACnC,UAAM,SAAS,MAAM,YAAY,QAAQ,EAAE,UAAU,OAAO,CAAC;AAC/D,UAAM,WAAW,MAAM,aAAa,KAAK,EAAE,UAAU,OAAO,CAAC,EAAE,KAAK;AAAA,MACnE,WAAW;AAAA,IACZ,CAAC;AAEC,QAAI,CAAC,OAAQ,QAAO;AAEtB,IAAAA,SAAQ,MAAM,MAAM,SAAS,SAAS,MAAM,wBAAwB,QAAQ,EAAE;AAE9E,UAAM,eAA6B;AAAA,MAC/B,MAAM,OAAO;AAAA,MACb,OAAO,OAAO,SAAS;AAAA,MACvB,UAAU,CAAC;AAAA,IACb;AACF,aAAS,QAAQ,CAAC,YAA6B;AAC9C,YAAM,YAAY,QAAQ,KAAK,SAAS,KAAK,QAAQ;AACrD,mBAAa,SAAS,SAAS,IAAI;AAAA,QAClC,MAAM,QAAQ;AAAA,QACd,SAAS,QAAQ;AAAA,QACjB,WAAW,QAAQ;AAAA,QACnB,UAAU,QAAQ;AAAA,MACnB;AAAA,IACD,CAAC;AAED,WAAO;AAAA,EACP;AAAA,EAED,MAAa,aACZ,MACA,QACA,UACA,OAC2B;AACzB,UAAM,MAAM,KAAK,IAAI;AACrB,UAAM,YAAY,OAAO;AAAA,MACvB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAY;AAAA,MACZ,YAAY;AAAA,IACd,CAAC;AAED,WAAO,EAAE,MAAM,UAAU,OAAO,WAAW,IAAI;AAAA,EACjD;AAAA,EAED,MAAa,oBACV,QACA,UACA,UACmB;AACnB,UAAM,YAAY,UAAU,EAAE,UAAU,OAAO,GAAG;AAAA,MAChD,YAAY,KAAK,IAAI;AAAA,IACvB,CAAC;AACD,UAAM,aAAuB,CAAC;AAC9B,eAAW,WAAW,UAAU;AAC9B,YAAM,QAAQ,WAAW;AACzB,YAAM,aAAa,OAAO;AAAA,QACxB;AAAA,QACA,WAAW;AAAA,QACX;AAAA,QACA,MAAM,QAAQ;AAAA,QACd,SAAS,QAAQ;AAAA,QACjB,WAAW,QAAQ;AAAA,QACnB,UAAU,QAAQ;AAAA,MACpB,CAAC;AACD,iBAAW,KAAK,KAAK;AAAA,IACvB;AACA,WAAO;AAAA,EACT;AAAA,EAED,MAAa,aAAa,QAAgB,UAAiC;AAC1E,UAAM,WAAW,MAAM,aAAa,KAAK,EAAE,QAAQ,SAAS,CAAC,EAAE,KAAK;AAAA,MACnE,WAAW;AAAA,IACZ,CAAC;AAED,cAAU,QAAQ,CAAC,YAA6B;AAC5C,cAAQ,UAAU;AAAA,IACtB,CAAC;AAEC,UAAM,SAAS,MAAM,YAAY,QAAQ,EAAE,QAAQ,SAAS,CAAC;AAC7D,YAAQ,UAAU;AAAA,EACpB;AAAA,EAED,MAAa,YAAY,QAA2C;AACjE,UAAM,UAAU,MAAM,YAAY,KAAK,EAAE,OAAO,CAAC,EAAE,KAAK;AAAA,MACtD,YAAY;AAAA,IACd,CAAC;AACD,UAAM,OAAyB,QAAQ,IAAI,CAAC,WAA2B;AACrE,aAAO;AAAA,QACL,MAAM,OAAO;AAAA,QACb,UAAU,OAAO;AAAA,QACjB,OAAO,OAAO;AAAA,QACd,WAAW,OAAO;AAAA,MACpB;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AACF;;;AEhHA,SAAS,aAAa;AAEf,IAAM,gBAAN,cAA4B,cAAuC;AAAA,EACxE,MAAa,UAAU,UAA+C;AACpE,UAAM,SAAS,MAAM,YAAY,SAAS,IAAI,MAAM,SAAS,QAAQ,CAAC;AACtE,QAAI,QAAQ;AACV,aAAO;AAAA,QACL,MAAM,OAAO;AAAA,QACb,aAAa,OAAO;AAAA,QACpB,QAAQ,OAAO;AAAA,QACf,KAAK,OAAO;AAAA,MACd;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EAED,MAAa,gBAAgB,YAAiD;AAC7E,UAAM,SAAS,MAAM,YAAY,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC7D,QAAI,QAAQ;AACX,aAAO;AAAA,QACN,MAAM,OAAO;AAAA,QACb,aAAa,OAAO;AAAA,QACpB,QAAQ,OAAO;AAAA,QACf,KAAK,OAAO;AAAA,MACb;AAAA,IACD;AACA,WAAO;AAAA,EACR;AAAA,EAEA,MAAa,WAAW,QAA+B;AAEpD,UAAM,YAAY,OAAO;AAAA,MACvB,MAAM,OAAO;AAAA,MACb,aAAa,OAAO;AAAA,MACpB,QAAQ,OAAO;AAAA,MACf,KAAK,OAAO;AAAA,IACd,CAAC;AAAA,EACH;AAAA,EAED,MAAa,aAAa,UAAkB,QAA+B;AACxE,UAAM,YAAY,UAAU;AAAA,MAC1B,KAAK,IAAI,MAAM,SAAS,QAAQ;AAAA,IAClC,GAAE;AAAA,MACA,MAAM,OAAO;AAAA,MACb,aAAa,OAAO;AAAA,MACpB,QAAQ,OAAO;AAAA,MACf,KAAK,OAAO;AAAA,IACd,CAAC;AAAA,EACH;AAAA,EAED,MAAa,aAAa,UAAiC;AACxD,UAAM,YAAY,UAAU,EAAE,KAAK,IAAI,MAAM,SAAS,QAAQ,EAAE,CAAC;AAAA,EACnE;AAAA,EAED,MAAa,cAAiC;AAC3C,UAAM,UAAU,MAAM,YAAY,KAAK;AACvC,WAAO,QAAQ,IAAI,aAAW;AAAA,MAC5B,MAAM,OAAO;AAAA,MACb,aAAa,OAAO;AAAA,MACpB,QAAQ,OAAO;AAAA,MACf,KAAK,OAAO;AAAA,IACd,EAAY;AAAA,EACd;AACF;","names":["loggers"]}
@@ -1,4 +1,4 @@
1
- import mongoose__default, { Document } from 'mongoose';
1
+ import mongoose, { Document } from 'mongoose';
2
2
 
3
3
  interface IntentDocument extends Document {
4
4
  name: string;
@@ -6,7 +6,7 @@ interface IntentDocument extends Document {
6
6
  prompt?: string;
7
7
  llm?: string;
8
8
  }
9
- declare const IntentModel: mongoose__default.Model<IntentDocument, {}, {}, {}, mongoose__default.Document<unknown, {}, IntentDocument, {}> & IntentDocument & Required<{
9
+ declare const IntentModel: mongoose.Model<IntentDocument, {}, {}, {}, mongoose.Document<unknown, {}, IntentDocument, {}> & IntentDocument & Required<{
10
10
  _id: unknown;
11
11
  }> & {
12
12
  __v: number;
@@ -1,4 +1,4 @@
1
- import mongoose__default, { Document } from 'mongoose';
1
+ import mongoose, { Document } from 'mongoose';
2
2
 
3
3
  interface IntentDocument extends Document {
4
4
  name: string;
@@ -6,7 +6,7 @@ interface IntentDocument extends Document {
6
6
  prompt?: string;
7
7
  llm?: string;
8
8
  }
9
- declare const IntentModel: mongoose__default.Model<IntentDocument, {}, {}, {}, mongoose__default.Document<unknown, {}, IntentDocument, {}> & IntentDocument & Required<{
9
+ declare const IntentModel: mongoose.Model<IntentDocument, {}, {}, {}, mongoose.Document<unknown, {}, IntentDocument, {}> & IntentDocument & Required<{
10
10
  _id: unknown;
11
11
  }> & {
12
12
  __v: number;
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // models/messages.model.ts
31
+ var messages_model_exports = {};
32
+ __export(messages_model_exports, {
33
+ MessageContentObjectSchema: () => MessageContentObjectSchema,
34
+ MessageModel: () => MessageModel,
35
+ MessageObjectSchema: () => MessageObjectSchema
36
+ });
37
+ module.exports = __toCommonJS(messages_model_exports);
38
+ var import_memory = require("@ainetwork/adk/types/memory");
39
+ var import_mongoose = require("mongoose");
40
+ var import_mongoose2 = __toESM(require("mongoose"), 1);
41
+ var MessageContentObjectSchema = new import_mongoose.Schema(
42
+ {
43
+ type: { type: String, required: true },
44
+ parts: { type: [import_mongoose.Schema.Types.Mixed], required: true }
45
+ },
46
+ { _id: false }
47
+ );
48
+ var MessageObjectSchema = new import_mongoose.Schema(
49
+ {
50
+ threadId: {
51
+ type: String,
52
+ required: true,
53
+ index: true
54
+ },
55
+ userId: {
56
+ type: String,
57
+ required: true,
58
+ index: true
59
+ },
60
+ role: {
61
+ type: String,
62
+ enum: Object.values(import_memory.MessageRole),
63
+ required: true
64
+ },
65
+ content: {
66
+ type: MessageContentObjectSchema,
67
+ required: true
68
+ },
69
+ timestamp: {
70
+ type: Number,
71
+ required: true
72
+ },
73
+ metadata: {
74
+ type: import_mongoose.Schema.Types.Mixed,
75
+ default: {}
76
+ }
77
+ }
78
+ );
79
+ var MessageModel = import_mongoose2.default.model("Message", MessageObjectSchema);
80
+ // Annotate the CommonJS export names for ESM import in node:
81
+ 0 && (module.exports = {
82
+ MessageContentObjectSchema,
83
+ MessageModel,
84
+ MessageObjectSchema
85
+ });
86
+ //# sourceMappingURL=messages.model.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../models/messages.model.ts"],"sourcesContent":["import { MessageRole } from \"@ainetwork/adk/types/memory\";\nimport { type Document, Schema } from \"mongoose\";\nimport mongoose from \"mongoose\";\n\n// MessageContentObject schema\nexport const MessageContentObjectSchema = new Schema(\n\t{\n\t\ttype: { type: String, required: true },\n\t\tparts: { type: [Schema.Types.Mixed], required: true },\n\t},\n\t{ _id: false },\n);\n\n// MessageObject schema - 개별 문서로 저장\nexport const MessageObjectSchema = new Schema(\n\t{\n\t\tthreadId: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t\tindex: true,\n\t\t},\n\t\tuserId: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t\tindex: true,\n\t\t},\n\t\trole: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(MessageRole),\n\t\t\trequired: true,\n\t\t},\n\t\tcontent: {\n\t\t\ttype: MessageContentObjectSchema,\n\t\t\trequired: true,\n\t\t},\n\t\ttimestamp: {\n\t\t\ttype: Number,\n\t\t\trequired: true,\n\t\t},\n\t\tmetadata: {\n\t\t\ttype: Schema.Types.Mixed,\n\t\t\tdefault: {},\n\t\t},\n\t},\n);\n\n// Message Document interface\nexport interface MessageDocument extends Document {\n\tthreadId: string;\n\trole: MessageRole;\n\tcontent: {\n\t\ttype: string;\n\t\tparts: any[];\n\t};\n\ttimestamp: number;\n\tmetadata?: { [key: string]: unknown };\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\nexport const MessageModel = mongoose.model<MessageDocument>(\"Message\", MessageObjectSchema);"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA4B;AAC5B,sBAAsC;AACtC,IAAAA,mBAAqB;AAGd,IAAM,6BAA6B,IAAI;AAAA,EAC7C;AAAA,IACC,MAAM,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACrC,OAAO,EAAE,MAAM,CAAC,uBAAO,MAAM,KAAK,GAAG,UAAU,KAAK;AAAA,EACrD;AAAA,EACA,EAAE,KAAK,MAAM;AACd;AAGO,IAAM,sBAAsB,IAAI;AAAA,EACtC;AAAA,IACC,UAAU;AAAA,MACT,MAAM;AAAA,MACN,UAAU;AAAA,MACV,OAAO;AAAA,IACR;AAAA,IACA,QAAQ;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,MACV,OAAO;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACL,MAAM;AAAA,MACN,MAAM,OAAO,OAAO,yBAAW;AAAA,MAC/B,UAAU;AAAA,IACX;AAAA,IACA,SAAS;AAAA,MACR,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,IACA,WAAW;AAAA,MACV,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACT,MAAM,uBAAO,MAAM;AAAA,MACnB,SAAS,CAAC;AAAA,IACX;AAAA,EACD;AACD;AAgBO,IAAM,eAAe,iBAAAC,QAAS,MAAuB,WAAW,mBAAmB;","names":["import_mongoose","mongoose"]}
@@ -0,0 +1,75 @@
1
+ import { MessageRole } from '@ainetwork/adk/types/memory';
2
+ import mongoose, { Schema, Document } from 'mongoose';
3
+
4
+ declare const MessageContentObjectSchema: Schema<any, mongoose.Model<any, any, any, any, any, any>, {}, {}, {}, {}, {
5
+ _id: false;
6
+ }, {
7
+ type: string;
8
+ parts: any[];
9
+ }, Document<unknown, {}, mongoose.FlatRecord<{
10
+ type: string;
11
+ parts: any[];
12
+ }>, {}> & mongoose.FlatRecord<{
13
+ type: string;
14
+ parts: any[];
15
+ }> & {
16
+ _id: mongoose.Types.ObjectId;
17
+ } & {
18
+ __v: number;
19
+ }>;
20
+ declare const MessageObjectSchema: Schema<any, mongoose.Model<any, any, any, any, any, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, {
21
+ threadId: string;
22
+ userId: string;
23
+ role: MessageRole;
24
+ content: {
25
+ type: string;
26
+ parts: any[];
27
+ };
28
+ timestamp: number;
29
+ metadata: any;
30
+ }, Document<unknown, {}, mongoose.FlatRecord<{
31
+ threadId: string;
32
+ userId: string;
33
+ role: MessageRole;
34
+ content: {
35
+ type: string;
36
+ parts: any[];
37
+ };
38
+ timestamp: number;
39
+ metadata: any;
40
+ }>, {}> & mongoose.FlatRecord<{
41
+ threadId: string;
42
+ userId: string;
43
+ role: MessageRole;
44
+ content: {
45
+ type: string;
46
+ parts: any[];
47
+ };
48
+ timestamp: number;
49
+ metadata: any;
50
+ }> & {
51
+ _id: mongoose.Types.ObjectId;
52
+ } & {
53
+ __v: number;
54
+ }>;
55
+ interface MessageDocument extends Document {
56
+ threadId: string;
57
+ role: MessageRole;
58
+ content: {
59
+ type: string;
60
+ parts: any[];
61
+ };
62
+ timestamp: number;
63
+ metadata?: {
64
+ [key: string]: unknown;
65
+ };
66
+ createdAt: Date;
67
+ updatedAt: Date;
68
+ }
69
+ declare const MessageModel: mongoose.Model<MessageDocument, {}, {}, {}, Document<unknown, {}, MessageDocument, {}> & MessageDocument & Required<{
70
+ _id: unknown;
71
+ }> & {
72
+ __v: number;
73
+ }, any>;
74
+
75
+ export { MessageContentObjectSchema, type MessageDocument, MessageModel, MessageObjectSchema };
@@ -0,0 +1,75 @@
1
+ import { MessageRole } from '@ainetwork/adk/types/memory';
2
+ import mongoose, { Schema, Document } from 'mongoose';
3
+
4
+ declare const MessageContentObjectSchema: Schema<any, mongoose.Model<any, any, any, any, any, any>, {}, {}, {}, {}, {
5
+ _id: false;
6
+ }, {
7
+ type: string;
8
+ parts: any[];
9
+ }, Document<unknown, {}, mongoose.FlatRecord<{
10
+ type: string;
11
+ parts: any[];
12
+ }>, {}> & mongoose.FlatRecord<{
13
+ type: string;
14
+ parts: any[];
15
+ }> & {
16
+ _id: mongoose.Types.ObjectId;
17
+ } & {
18
+ __v: number;
19
+ }>;
20
+ declare const MessageObjectSchema: Schema<any, mongoose.Model<any, any, any, any, any, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, {
21
+ threadId: string;
22
+ userId: string;
23
+ role: MessageRole;
24
+ content: {
25
+ type: string;
26
+ parts: any[];
27
+ };
28
+ timestamp: number;
29
+ metadata: any;
30
+ }, Document<unknown, {}, mongoose.FlatRecord<{
31
+ threadId: string;
32
+ userId: string;
33
+ role: MessageRole;
34
+ content: {
35
+ type: string;
36
+ parts: any[];
37
+ };
38
+ timestamp: number;
39
+ metadata: any;
40
+ }>, {}> & mongoose.FlatRecord<{
41
+ threadId: string;
42
+ userId: string;
43
+ role: MessageRole;
44
+ content: {
45
+ type: string;
46
+ parts: any[];
47
+ };
48
+ timestamp: number;
49
+ metadata: any;
50
+ }> & {
51
+ _id: mongoose.Types.ObjectId;
52
+ } & {
53
+ __v: number;
54
+ }>;
55
+ interface MessageDocument extends Document {
56
+ threadId: string;
57
+ role: MessageRole;
58
+ content: {
59
+ type: string;
60
+ parts: any[];
61
+ };
62
+ timestamp: number;
63
+ metadata?: {
64
+ [key: string]: unknown;
65
+ };
66
+ createdAt: Date;
67
+ updatedAt: Date;
68
+ }
69
+ declare const MessageModel: mongoose.Model<MessageDocument, {}, {}, {}, Document<unknown, {}, MessageDocument, {}> & MessageDocument & Required<{
70
+ _id: unknown;
71
+ }> & {
72
+ __v: number;
73
+ }, any>;
74
+
75
+ export { MessageContentObjectSchema, type MessageDocument, MessageModel, MessageObjectSchema };
@@ -0,0 +1,11 @@
1
+ import {
2
+ MessageContentObjectSchema,
3
+ MessageModel,
4
+ MessageObjectSchema
5
+ } from "../chunk-MLPXPX2L.js";
6
+ export {
7
+ MessageContentObjectSchema,
8
+ MessageModel,
9
+ MessageObjectSchema
10
+ };
11
+ //# sourceMappingURL=messages.model.js.map
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
+ var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
5
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
8
  var __export = (target, all) => {
7
9
  for (var name in all)
@@ -15,18 +17,26 @@ var __copyProps = (to, from, except, desc) => {
15
17
  }
16
18
  return to;
17
19
  };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
18
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
29
 
20
- // models/chats.model.ts
21
- var chats_model_exports = {};
22
- __export(chats_model_exports, {
23
- ChatContentObjectSchema: () => ChatContentObjectSchema,
24
- ChatObjectSchema: () => ChatObjectSchema,
30
+ // models/threads.model.ts
31
+ var threads_model_exports = {};
32
+ __export(threads_model_exports, {
33
+ ThreadModel: () => ThreadModel,
25
34
  ThreadObjectSchema: () => ThreadObjectSchema
26
35
  });
27
- module.exports = __toCommonJS(chats_model_exports);
36
+ module.exports = __toCommonJS(threads_model_exports);
28
37
  var import_memory = require("@ainetwork/adk/types/memory");
29
38
  var import_mongoose = require("mongoose");
39
+ var import_mongoose2 = __toESM(require("mongoose"), 1);
30
40
  var ThreadObjectSchema = new import_mongoose.Schema(
31
41
  {
32
42
  type: {
@@ -58,48 +68,10 @@ var ThreadObjectSchema = new import_mongoose.Schema(
58
68
  }
59
69
  }
60
70
  );
61
- var ChatContentObjectSchema = new import_mongoose.Schema(
62
- {
63
- type: { type: String, required: true },
64
- parts: { type: [import_mongoose.Schema.Types.Mixed], required: true }
65
- },
66
- { _id: false }
67
- );
68
- var ChatObjectSchema = new import_mongoose.Schema(
69
- {
70
- threadId: {
71
- type: String,
72
- required: true,
73
- index: true
74
- },
75
- userId: {
76
- type: String,
77
- required: true,
78
- index: true
79
- },
80
- role: {
81
- type: String,
82
- enum: Object.values(import_memory.MessageRole),
83
- required: true
84
- },
85
- content: {
86
- type: ChatContentObjectSchema,
87
- required: true
88
- },
89
- timestamp: {
90
- type: Number,
91
- required: true
92
- },
93
- metadata: {
94
- type: import_mongoose.Schema.Types.Mixed,
95
- default: {}
96
- }
97
- }
98
- );
71
+ var ThreadModel = import_mongoose2.default.model("Thread", ThreadObjectSchema);
99
72
  // Annotate the CommonJS export names for ESM import in node:
100
73
  0 && (module.exports = {
101
- ChatContentObjectSchema,
102
- ChatObjectSchema,
74
+ ThreadModel,
103
75
  ThreadObjectSchema
104
76
  });
105
- //# sourceMappingURL=chats.model.cjs.map
77
+ //# sourceMappingURL=threads.model.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../models/threads.model.ts"],"sourcesContent":["import { ThreadType } from \"@ainetwork/adk/types/memory\";\nimport { type Document, Schema } from \"mongoose\";\nimport mongoose from \"mongoose\";\n\nexport const ThreadObjectSchema = new Schema(\n\t{\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(ThreadType),\n\t\t\trequired: true,\n\t\t},\n\t\tthreadId: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t\tindex: true,\n\t\t},\n\t\tuserId: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t\tindex: true,\n\t\t},\n\t\ttitle: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t},\n\t\tcreated_at: {\n\t\t\ttype: Number,\n\t\t\trequired: true,\n\t\t},\n\t\tupdated_at: {\n\t\t\ttype: Number,\n\t\t\trequired: true,\n\t\t}\n\t},\n);\n\nexport interface ThreadDocument extends Document {\n\ttype: ThreadType;\n\tthreadId: string;\n\tuserId: string;\n\ttitle: string;\n\tcreated_at: number;\n\tupdated_at: number;\n}\n\nexport const ThreadModel = mongoose.model<ThreadDocument>(\"Thread\", ThreadObjectSchema);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAC3B,sBAAsC;AACtC,IAAAA,mBAAqB;AAEd,IAAM,qBAAqB,IAAI;AAAA,EACrC;AAAA,IACC,MAAM;AAAA,MACL,MAAM;AAAA,MACN,MAAM,OAAO,OAAO,wBAAU;AAAA,MAC9B,UAAU;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACT,MAAM;AAAA,MACN,UAAU;AAAA,MACV,OAAO;AAAA,IACR;AAAA,IACA,QAAQ;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,MACV,OAAO;AAAA,IACR;AAAA,IACA,OAAO;AAAA,MACN,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,IACA,YAAY;AAAA,MACX,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,IACA,YAAY;AAAA,MACX,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,EACD;AACD;AAWO,IAAM,cAAc,iBAAAC,QAAS,MAAsB,UAAU,kBAAkB;","names":["import_mongoose","mongoose"]}