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

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 +63 -51
  6. package/dist/index.cjs.map +1 -1
  7. package/dist/index.d.cts +1 -5
  8. package/dist/index.d.ts +1 -5
  9. package/dist/index.js +51 -43
  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 +22 -33
  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
66
  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({
67
+ const thread = await ThreadModel.findOne({ type, 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,14 +99,14 @@ 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
  });
107
105
  for (const message of messages) {
108
106
  const newId = randomUUID();
109
- await this.chatModel.create({
107
+ await MessageModel.create({
110
108
  threadId,
111
- chatId: newId,
109
+ messageId: newId,
112
110
  userId,
113
111
  role: message.role,
114
112
  content: message.content,
@@ -118,17 +116,17 @@ var MongoDBThread = class extends MongoDBMemory {
118
116
  }
119
117
  }
120
118
  async deleteThread(userId, threadId) {
121
- const chats = await this.chatModel.find({ userId, threadId }).sort({
119
+ const messages = await MessageModel.find({ userId, threadId }).sort({
122
120
  timestamp: 1
123
121
  });
124
- chats?.forEach((chat) => {
125
- chat.deleteOne();
122
+ messages?.forEach((message) => {
123
+ message.deleteOne();
126
124
  });
127
- const thread = await this.threadModel.findOne({ userId, threadId });
125
+ const thread = await ThreadModel.findOne({ userId, threadId });
128
126
  thread?.deleteOne();
129
127
  }
130
128
  async listThreads(userId) {
131
- const threads = await this.threadModel.find({ userId }).sort({
129
+ const threads = await ThreadModel.find({ userId }).sort({
132
130
  updated_at: -1
133
131
  });
134
132
  const data = threads.map((thread) => {
@@ -144,10 +142,22 @@ var MongoDBThread = class extends MongoDBMemory {
144
142
  };
145
143
 
146
144
  // implements/intent.memory.ts
147
- import { randomUUID as randomUUID2 } from "crypto";
145
+ import { Types } from "mongoose";
148
146
  var MongoDBIntent = class extends MongoDBMemory {
149
147
  async getIntent(intentId) {
150
- const intent = await IntentModel.findById(intentId);
148
+ const intent = await IntentModel.findById(new Types.ObjectId(intentId));
149
+ if (intent) {
150
+ return {
151
+ name: intent.name,
152
+ description: intent.description,
153
+ prompt: intent.prompt,
154
+ llm: intent.llm
155
+ };
156
+ }
157
+ return void 0;
158
+ }
159
+ async getIntentByName(intentName) {
160
+ const intent = await IntentModel.findOne({ name: intentName });
151
161
  if (intent) {
152
162
  return {
153
163
  name: intent.name,
@@ -159,9 +169,7 @@ var MongoDBIntent = class extends MongoDBMemory {
159
169
  return void 0;
160
170
  }
161
171
  async saveIntent(intent) {
162
- const newId = randomUUID2();
163
172
  await IntentModel.create({
164
- _id: newId,
165
173
  name: intent.name,
166
174
  description: intent.description,
167
175
  prompt: intent.prompt,
@@ -170,7 +178,7 @@ var MongoDBIntent = class extends MongoDBMemory {
170
178
  }
171
179
  async updateIntent(intentId, intent) {
172
180
  await IntentModel.updateOne({
173
- _id: intentId
181
+ _id: new Types.ObjectId(intentId)
174
182
  }, {
175
183
  name: intent.name,
176
184
  description: intent.description,
@@ -179,7 +187,7 @@ var MongoDBIntent = class extends MongoDBMemory {
179
187
  });
180
188
  }
181
189
  async deleteIntent(intentId) {
182
- await IntentModel.deleteOne({ _id: intentId });
190
+ await IntentModel.deleteOne({ _id: new Types.ObjectId(intentId) });
183
191
  }
184
192
  async listIntents() {
185
193
  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":"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","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 type: ThreadType,\n userId: string,\n threadId: string\n ): Promise<ThreadObject | undefined> {\n const thread = await ThreadModel.findOne({ type, 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<void> {\n await ThreadModel.updateOne({ threadId, userId }, {\n updated_at: Date.now(),\n });\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 }\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,MACA,QACA,UACmC;AACnC,UAAM,SAAS,MAAM,YAAY,QAAQ,EAAE,MAAM,UAAU,OAAO,CAAC;AACrE,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,UACe;AACf,UAAM,YAAY,UAAU,EAAE,UAAU,OAAO,GAAG;AAAA,MAChD,YAAY,KAAK,IAAI;AAAA,IACvB,CAAC;AACD,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;AAAA,IACH;AAAA,EACF;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;;;AE9GA,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"]}