@ainetwork/adk-provider-memory-mongodb 0.1.6 → 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.
- 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 +107 -87
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +10 -14
- package/dist/index.d.ts +10 -14
- package/dist/index.js +85 -69
- 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/{chats.model.cjs → messages.model.cjs} +29 -50
- 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/threads.model.cjs +77 -0
- 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 +115 -0
- package/index.ts +1 -1
- package/models/messages.model.ts +61 -0
- package/models/threads.model.ts +46 -0
- package/package.json +7 -5
- package/dist/chunk-N5FAVJ4Z.js +0 -80
- package/dist/chunk-N5FAVJ4Z.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 -13
- package/implements/session.memory.ts +0 -104
- 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
|
-
SessionObjectSchema
|
|
4
|
-
} from "./chunk-N5FAVJ4Z.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
|
-
// implements/
|
|
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) {
|
|
@@ -54,81 +57,84 @@ var MongoDBMemory = class {
|
|
|
54
57
|
}
|
|
55
58
|
};
|
|
56
59
|
|
|
57
|
-
// implements/
|
|
60
|
+
// implements/thread.memory.ts
|
|
58
61
|
import { loggers as loggers2 } from "@ainetwork/adk/utils/logger";
|
|
59
|
-
var
|
|
60
|
-
chatModel;
|
|
61
|
-
sessionModel;
|
|
62
|
+
var MongoDBThread = class extends MongoDBMemory {
|
|
62
63
|
constructor(uri) {
|
|
63
64
|
super(uri);
|
|
64
|
-
const _mongoose = super.getInstance();
|
|
65
|
-
this.chatModel = _mongoose.model("Chat", ChatObjectSchema);
|
|
66
|
-
this.sessionModel = _mongoose.model("Session", SessionObjectSchema);
|
|
67
65
|
}
|
|
68
|
-
async
|
|
69
|
-
const
|
|
66
|
+
async getThread(type, userId, threadId) {
|
|
67
|
+
const thread = await ThreadModel.findOne({ type, threadId, userId });
|
|
68
|
+
const messages = await MessageModel.find({ threadId, userId }).sort({
|
|
70
69
|
timestamp: 1
|
|
71
70
|
});
|
|
72
|
-
|
|
73
|
-
loggers2.agent.debug(`Found ${
|
|
74
|
-
const
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
71
|
+
if (!thread) return void 0;
|
|
72
|
+
loggers2.agent.debug(`Found ${messages.length} messages for thread ${threadId}`);
|
|
73
|
+
const threadObject = {
|
|
74
|
+
type: thread.type,
|
|
75
|
+
title: thread.title || "New thread",
|
|
76
|
+
messages: {}
|
|
77
|
+
};
|
|
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
|
|
83
85
|
};
|
|
84
86
|
});
|
|
85
|
-
return
|
|
87
|
+
return threadObject;
|
|
86
88
|
}
|
|
87
|
-
async
|
|
89
|
+
async createThread(type, userId, threadId, title) {
|
|
88
90
|
const now = Date.now();
|
|
89
|
-
await
|
|
90
|
-
|
|
91
|
+
await ThreadModel.create({
|
|
92
|
+
type,
|
|
91
93
|
userId,
|
|
94
|
+
threadId,
|
|
92
95
|
title,
|
|
93
96
|
updated_at: now,
|
|
94
97
|
created_at: now
|
|
95
98
|
});
|
|
96
|
-
return {
|
|
99
|
+
return { type, threadId, title, updatedAt: now };
|
|
97
100
|
}
|
|
98
|
-
async
|
|
99
|
-
|
|
100
|
-
await this.sessionModel.updateOne({ sessionId, userId }, {
|
|
101
|
+
async addMessagesToThread(userId, threadId, messages) {
|
|
102
|
+
await ThreadModel.updateOne({ threadId, userId }, {
|
|
101
103
|
updated_at: Date.now()
|
|
102
104
|
});
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
105
|
+
for (const message of messages) {
|
|
106
|
+
const newId = randomUUID();
|
|
107
|
+
await MessageModel.create({
|
|
108
|
+
threadId,
|
|
109
|
+
messageId: newId,
|
|
110
|
+
userId,
|
|
111
|
+
role: message.role,
|
|
112
|
+
content: message.content,
|
|
113
|
+
timestamp: message.timestamp,
|
|
114
|
+
metadata: message.metadata
|
|
115
|
+
});
|
|
116
|
+
}
|
|
112
117
|
}
|
|
113
|
-
async
|
|
114
|
-
const
|
|
118
|
+
async deleteThread(userId, threadId) {
|
|
119
|
+
const messages = await MessageModel.find({ userId, threadId }).sort({
|
|
115
120
|
timestamp: 1
|
|
116
121
|
});
|
|
117
|
-
|
|
118
|
-
|
|
122
|
+
messages?.forEach((message) => {
|
|
123
|
+
message.deleteOne();
|
|
119
124
|
});
|
|
120
|
-
const
|
|
121
|
-
|
|
125
|
+
const thread = await ThreadModel.findOne({ userId, threadId });
|
|
126
|
+
thread?.deleteOne();
|
|
122
127
|
}
|
|
123
|
-
async
|
|
124
|
-
const
|
|
128
|
+
async listThreads(userId) {
|
|
129
|
+
const threads = await ThreadModel.find({ userId }).sort({
|
|
125
130
|
updated_at: -1
|
|
126
131
|
});
|
|
127
|
-
const data =
|
|
132
|
+
const data = threads.map((thread) => {
|
|
128
133
|
return {
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
134
|
+
type: thread.type,
|
|
135
|
+
threadId: thread.threadId,
|
|
136
|
+
title: thread.title,
|
|
137
|
+
updatedAt: thread.updated_at
|
|
132
138
|
};
|
|
133
139
|
});
|
|
134
140
|
return data;
|
|
@@ -136,10 +142,22 @@ var MongoDBSession = class extends MongoDBMemory {
|
|
|
136
142
|
};
|
|
137
143
|
|
|
138
144
|
// implements/intent.memory.ts
|
|
139
|
-
import {
|
|
145
|
+
import { Types } from "mongoose";
|
|
140
146
|
var MongoDBIntent = class extends MongoDBMemory {
|
|
141
147
|
async getIntent(intentId) {
|
|
142
|
-
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 });
|
|
143
161
|
if (intent) {
|
|
144
162
|
return {
|
|
145
163
|
name: intent.name,
|
|
@@ -151,9 +169,7 @@ var MongoDBIntent = class extends MongoDBMemory {
|
|
|
151
169
|
return void 0;
|
|
152
170
|
}
|
|
153
171
|
async saveIntent(intent) {
|
|
154
|
-
const newId = randomUUID2();
|
|
155
172
|
await IntentModel.create({
|
|
156
|
-
_id: newId,
|
|
157
173
|
name: intent.name,
|
|
158
174
|
description: intent.description,
|
|
159
175
|
prompt: intent.prompt,
|
|
@@ -162,7 +178,7 @@ var MongoDBIntent = class extends MongoDBMemory {
|
|
|
162
178
|
}
|
|
163
179
|
async updateIntent(intentId, intent) {
|
|
164
180
|
await IntentModel.updateOne({
|
|
165
|
-
_id: intentId
|
|
181
|
+
_id: new Types.ObjectId(intentId)
|
|
166
182
|
}, {
|
|
167
183
|
name: intent.name,
|
|
168
184
|
description: intent.description,
|
|
@@ -171,7 +187,7 @@ var MongoDBIntent = class extends MongoDBMemory {
|
|
|
171
187
|
});
|
|
172
188
|
}
|
|
173
189
|
async deleteIntent(intentId) {
|
|
174
|
-
await IntentModel.deleteOne({ _id: intentId });
|
|
190
|
+
await IntentModel.deleteOne({ _id: new Types.ObjectId(intentId) });
|
|
175
191
|
}
|
|
176
192
|
async listIntents() {
|
|
177
193
|
const intents = await IntentModel.find();
|
|
@@ -185,6 +201,6 @@ var MongoDBIntent = class extends MongoDBMemory {
|
|
|
185
201
|
};
|
|
186
202
|
export {
|
|
187
203
|
MongoDBIntent,
|
|
188
|
-
|
|
204
|
+
MongoDBThread
|
|
189
205
|
};
|
|
190
206
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../implements/session.memory.ts","../implements/base.memory.ts","../implements/intent.memory.ts"],"sourcesContent":["import { randomUUID } from \"node:crypto\";\nimport type { ChatObject, SessionMetadata, SessionObject } from \"@ainetwork/adk/types/memory\";\nimport { ISessionMemory } from \"@ainetwork/adk/modules\";\nimport { MongoDBMemory } from \"./base.memory\";\nimport {\n\tChatDocument,\n\tChatRole,\n ChatObjectSchema,\n SessionObjectSchema,\n SessionDocument\n} from \"../models/chats.model\";\nimport { loggers } from \"@ainetwork/adk/utils/logger\";\nimport { Model } from \"mongoose\";\n\nexport class MongoDBSession extends MongoDBMemory implements ISessionMemory {\n private chatModel: Model<ChatDocument>;\n private sessionModel: Model<SessionDocument>;\n\n constructor(uri: string) {\n super(uri);\n const _mongoose = super.getInstance();\n this.chatModel = _mongoose.model<ChatDocument>(\"Chat\", ChatObjectSchema);\n this.sessionModel = _mongoose.model<SessionDocument>(\"Session\", SessionObjectSchema);\n }\n\n public async getSession(userId: string, sessionId: string): Promise<SessionObject | undefined> {\n\t\tconst chats = await this.chatModel.find({ sessionId, userId }).sort({\n\t\t\ttimestamp: 1,\n\t\t});\n const session = await this.sessionModel.findOne({ sessionId, userId });\n\n\t\tloggers.agent.debug(`Found ${chats.length} chats for session ${sessionId}`);\n\n\t\tconst sessionObject: SessionObject = { chats: {} };\n sessionObject.title = session?.title;\n\t\tchats.forEach((chat: ChatDocument) => {\n\t\t\tconst chatId = chat._id?.toString() || chat.id;\n\t\t\tsessionObject.chats[chatId] = {\n\t\t\t\trole: chat.role as ChatRole,\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 sessionObject;\n };\n\n\tpublic async createSession(userId: string, sessionId: string, title: string): Promise<SessionMetadata> {\n const now = Date.now();\n await this.sessionModel.create({\n sessionId,\n userId,\n title,\n updated_at: now,\n created_at: now,\n });\n\n return { title, sessionId, updatedAt: now };\n };\n\n\tpublic async addChatToSession(userId: string, sessionId: string, chat: ChatObject): Promise<void> {\n const newId = randomUUID();\n await this.sessionModel.updateOne({ sessionId, userId }, {\n updated_at: Date.now(),\n });\n\t\tawait this.chatModel.create({\n\t\t\tsessionId,\n chatId: newId,\n userId,\n\t\t\trole: chat.role,\n\t\t\tcontent: chat.content,\n\t\t\ttimestamp: chat.timestamp,\n\t\t\tmetadata: chat.metadata,\n\t\t});\n };\n\n\tpublic async deleteSession(userId: string, sessionId: string): Promise<void> {\n\t\tconst chats = await this.chatModel.find({ userId, sessionId }).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 session = await this.sessionModel.findOne({ sessionId, userId });\n session?.deleteOne();\n };\n\n\tpublic async listSessions(userId: string): Promise<SessionMetadata[]> {\n const sessions = await this.sessionModel.find({ userId }).sort({\n updated_at: -1,\n });\n const data: SessionMetadata[] = sessions.map((session: SessionDocument) => {\n return {\n sessionId: session.sessionId,\n title: session.title,\n updatedAt: session.updated_at\n } as SessionMetadata;\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
|
|
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;
|
|
@@ -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,60 +17,37 @@ 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
|
-
|
|
25
|
-
|
|
26
|
-
SessionObjectSchema: () => SessionObjectSchema
|
|
30
|
+
// models/messages.model.ts
|
|
31
|
+
var messages_model_exports = {};
|
|
32
|
+
__export(messages_model_exports, {
|
|
33
|
+
MessageContentObjectSchema: () => MessageContentObjectSchema,
|
|
34
|
+
MessageModel: () => MessageModel,
|
|
35
|
+
MessageObjectSchema: () => MessageObjectSchema
|
|
27
36
|
});
|
|
28
|
-
module.exports = __toCommonJS(
|
|
37
|
+
module.exports = __toCommonJS(messages_model_exports);
|
|
38
|
+
var import_memory = require("@ainetwork/adk/types/memory");
|
|
29
39
|
var import_mongoose = require("mongoose");
|
|
30
|
-
var
|
|
31
|
-
|
|
32
|
-
ChatRole2["SYSTEM"] = "SYSTEM";
|
|
33
|
-
ChatRole2["MODEL"] = "MODEL";
|
|
34
|
-
return ChatRole2;
|
|
35
|
-
})(ChatRole || {});
|
|
36
|
-
var SessionObjectSchema = new import_mongoose.Schema(
|
|
37
|
-
{
|
|
38
|
-
sessionId: {
|
|
39
|
-
type: String,
|
|
40
|
-
required: true,
|
|
41
|
-
index: true
|
|
42
|
-
},
|
|
43
|
-
userId: {
|
|
44
|
-
type: String,
|
|
45
|
-
required: true,
|
|
46
|
-
index: true
|
|
47
|
-
},
|
|
48
|
-
title: {
|
|
49
|
-
type: String,
|
|
50
|
-
required: false
|
|
51
|
-
},
|
|
52
|
-
created_at: {
|
|
53
|
-
type: Number,
|
|
54
|
-
required: true
|
|
55
|
-
},
|
|
56
|
-
updated_at: {
|
|
57
|
-
type: Number,
|
|
58
|
-
required: true
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
);
|
|
62
|
-
var ChatContentObjectSchema = new import_mongoose.Schema(
|
|
40
|
+
var import_mongoose2 = __toESM(require("mongoose"), 1);
|
|
41
|
+
var MessageContentObjectSchema = new import_mongoose.Schema(
|
|
63
42
|
{
|
|
64
43
|
type: { type: String, required: true },
|
|
65
44
|
parts: { type: [import_mongoose.Schema.Types.Mixed], required: true }
|
|
66
45
|
},
|
|
67
46
|
{ _id: false }
|
|
68
47
|
);
|
|
69
|
-
var
|
|
48
|
+
var MessageObjectSchema = new import_mongoose.Schema(
|
|
70
49
|
{
|
|
71
|
-
|
|
50
|
+
threadId: {
|
|
72
51
|
type: String,
|
|
73
52
|
required: true,
|
|
74
53
|
index: true
|
|
@@ -80,11 +59,11 @@ var ChatObjectSchema = new import_mongoose.Schema(
|
|
|
80
59
|
},
|
|
81
60
|
role: {
|
|
82
61
|
type: String,
|
|
83
|
-
enum: Object.values(
|
|
62
|
+
enum: Object.values(import_memory.MessageRole),
|
|
84
63
|
required: true
|
|
85
64
|
},
|
|
86
65
|
content: {
|
|
87
|
-
type:
|
|
66
|
+
type: MessageContentObjectSchema,
|
|
88
67
|
required: true
|
|
89
68
|
},
|
|
90
69
|
timestamp: {
|
|
@@ -97,11 +76,11 @@ var ChatObjectSchema = new import_mongoose.Schema(
|
|
|
97
76
|
}
|
|
98
77
|
}
|
|
99
78
|
);
|
|
79
|
+
var MessageModel = import_mongoose2.default.model("Message", MessageObjectSchema);
|
|
100
80
|
// Annotate the CommonJS export names for ESM import in node:
|
|
101
81
|
0 && (module.exports = {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
SessionObjectSchema
|
|
82
|
+
MessageContentObjectSchema,
|
|
83
|
+
MessageModel,
|
|
84
|
+
MessageObjectSchema
|
|
106
85
|
});
|
|
107
|
-
//# sourceMappingURL=
|
|
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 };
|