@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.
- 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 +63 -51
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -5
- package/dist/index.d.ts +1 -5
- package/dist/index.js +51 -43
- 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 +22 -33
- 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
66
|
async getThread(type, userId, threadId) {
|
|
69
|
-
const thread = await
|
|
70
|
-
const
|
|
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 ${
|
|
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,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
|
|
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
|
|
107
|
+
await MessageModel.create({
|
|
110
108
|
threadId,
|
|
111
|
-
|
|
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
|
|
119
|
+
const messages = await MessageModel.find({ userId, threadId }).sort({
|
|
122
120
|
timestamp: 1
|
|
123
121
|
});
|
|
124
|
-
|
|
125
|
-
|
|
122
|
+
messages?.forEach((message) => {
|
|
123
|
+
message.deleteOne();
|
|
126
124
|
});
|
|
127
|
-
const thread = await
|
|
125
|
+
const thread = await ThreadModel.findOne({ userId, threadId });
|
|
128
126
|
thread?.deleteOne();
|
|
129
127
|
}
|
|
130
128
|
async listThreads(userId) {
|
|
131
|
-
const threads = await
|
|
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 {
|
|
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":"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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"]}
|