@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.
- package/dist/chunk-GPOFS7ZT.js +42 -0
- package/dist/chunk-GPOFS7ZT.js.map +1 -0
- package/dist/chunk-MLPXPX2L.js +50 -0
- package/dist/chunk-MLPXPX2L.js.map +1 -0
- package/dist/index.cjs +67 -52
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +4 -8
- package/dist/index.d.ts +4 -8
- package/dist/index.js +55 -44
- package/dist/index.js.map +1 -1
- package/dist/models/intent.model.d.cts +2 -2
- package/dist/models/intent.model.d.ts +2 -2
- package/dist/models/messages.model.cjs +86 -0
- package/dist/models/messages.model.cjs.map +1 -0
- package/dist/models/messages.model.d.cts +75 -0
- package/dist/models/messages.model.d.ts +75 -0
- package/dist/models/messages.model.js +11 -0
- package/dist/models/{chats.model.cjs → threads.model.cjs} +19 -47
- package/dist/models/threads.model.cjs.map +1 -0
- package/dist/models/threads.model.d.cts +44 -0
- package/dist/models/threads.model.d.ts +44 -0
- package/dist/models/threads.model.js +9 -0
- package/dist/models/threads.model.js.map +1 -0
- package/implements/base.memory.ts +9 -9
- package/implements/intent.memory.ts +18 -6
- package/implements/thread.memory.ts +26 -35
- package/models/messages.model.ts +61 -0
- package/models/threads.model.ts +46 -0
- package/package.json +3 -3
- package/dist/chunk-S537KQMN.js +0 -79
- package/dist/chunk-S537KQMN.js.map +0 -1
- package/dist/models/chats.model.cjs.map +0 -1
- package/dist/models/chats.model.d.cts +0 -105
- package/dist/models/chats.model.d.ts +0 -105
- package/dist/models/chats.model.js +0 -11
- package/models/chats.model.ts +0 -99
- /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
|
|
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
|
|
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
|
|
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(
|
|
69
|
-
const thread = await
|
|
70
|
-
const
|
|
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 ${
|
|
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
|
|
75
|
+
title: thread.title || "New thread",
|
|
78
76
|
messages: {}
|
|
79
77
|
};
|
|
80
|
-
|
|
81
|
-
const
|
|
82
|
-
threadObject.messages[
|
|
83
|
-
role:
|
|
84
|
-
content:
|
|
85
|
-
timestamp:
|
|
86
|
-
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
|
|
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
|
|
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
|
|
108
|
+
await MessageModel.create({
|
|
110
109
|
threadId,
|
|
111
|
-
|
|
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
|
|
122
|
+
const messages = await MessageModel.find({ userId, threadId }).sort({
|
|
122
123
|
timestamp: 1
|
|
123
124
|
});
|
|
124
|
-
|
|
125
|
-
|
|
125
|
+
messages?.forEach((message) => {
|
|
126
|
+
message.deleteOne();
|
|
126
127
|
});
|
|
127
|
-
const thread = await
|
|
128
|
+
const thread = await ThreadModel.findOne({ userId, threadId });
|
|
128
129
|
thread?.deleteOne();
|
|
129
130
|
}
|
|
130
131
|
async listThreads(userId) {
|
|
131
|
-
const threads = await
|
|
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 {
|
|
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":"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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 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":"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","names":["loggers"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
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:
|
|
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
|
|
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:
|
|
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 };
|
|
@@ -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/
|
|
21
|
-
var
|
|
22
|
-
__export(
|
|
23
|
-
|
|
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(
|
|
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
|
|
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
|
-
|
|
102
|
-
ChatObjectSchema,
|
|
74
|
+
ThreadModel,
|
|
103
75
|
ThreadObjectSchema
|
|
104
76
|
});
|
|
105
|
-
//# sourceMappingURL=
|
|
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"]}
|