@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
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// models/threads.model.ts
|
|
2
|
+
import { ThreadType } from "@ainetwork/adk/types/memory";
|
|
3
|
+
import { Schema } from "mongoose";
|
|
4
|
+
import mongoose from "mongoose";
|
|
5
|
+
var ThreadObjectSchema = new Schema(
|
|
6
|
+
{
|
|
7
|
+
type: {
|
|
8
|
+
type: String,
|
|
9
|
+
enum: Object.values(ThreadType),
|
|
10
|
+
required: true
|
|
11
|
+
},
|
|
12
|
+
threadId: {
|
|
13
|
+
type: String,
|
|
14
|
+
required: true,
|
|
15
|
+
index: true
|
|
16
|
+
},
|
|
17
|
+
userId: {
|
|
18
|
+
type: String,
|
|
19
|
+
required: true,
|
|
20
|
+
index: true
|
|
21
|
+
},
|
|
22
|
+
title: {
|
|
23
|
+
type: String,
|
|
24
|
+
required: false
|
|
25
|
+
},
|
|
26
|
+
created_at: {
|
|
27
|
+
type: Number,
|
|
28
|
+
required: true
|
|
29
|
+
},
|
|
30
|
+
updated_at: {
|
|
31
|
+
type: Number,
|
|
32
|
+
required: true
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
);
|
|
36
|
+
var ThreadModel = mongoose.model("Thread", ThreadObjectSchema);
|
|
37
|
+
|
|
38
|
+
export {
|
|
39
|
+
ThreadObjectSchema,
|
|
40
|
+
ThreadModel
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=chunk-GPOFS7ZT.js.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,SAAS,kBAAkB;AAC3B,SAAwB,cAAc;AACtC,OAAO,cAAc;AAEd,IAAM,qBAAqB,IAAI;AAAA,EACrC;AAAA,IACC,MAAM;AAAA,MACL,MAAM;AAAA,MACN,MAAM,OAAO,OAAO,UAAU;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,SAAS,MAAsB,UAAU,kBAAkB;","names":[]}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
// models/messages.model.ts
|
|
2
|
+
import { MessageRole } from "@ainetwork/adk/types/memory";
|
|
3
|
+
import { Schema } from "mongoose";
|
|
4
|
+
import mongoose from "mongoose";
|
|
5
|
+
var MessageContentObjectSchema = new Schema(
|
|
6
|
+
{
|
|
7
|
+
type: { type: String, required: true },
|
|
8
|
+
parts: { type: [Schema.Types.Mixed], required: true }
|
|
9
|
+
},
|
|
10
|
+
{ _id: false }
|
|
11
|
+
);
|
|
12
|
+
var MessageObjectSchema = new Schema(
|
|
13
|
+
{
|
|
14
|
+
threadId: {
|
|
15
|
+
type: String,
|
|
16
|
+
required: true,
|
|
17
|
+
index: true
|
|
18
|
+
},
|
|
19
|
+
userId: {
|
|
20
|
+
type: String,
|
|
21
|
+
required: true,
|
|
22
|
+
index: true
|
|
23
|
+
},
|
|
24
|
+
role: {
|
|
25
|
+
type: String,
|
|
26
|
+
enum: Object.values(MessageRole),
|
|
27
|
+
required: true
|
|
28
|
+
},
|
|
29
|
+
content: {
|
|
30
|
+
type: MessageContentObjectSchema,
|
|
31
|
+
required: true
|
|
32
|
+
},
|
|
33
|
+
timestamp: {
|
|
34
|
+
type: Number,
|
|
35
|
+
required: true
|
|
36
|
+
},
|
|
37
|
+
metadata: {
|
|
38
|
+
type: Schema.Types.Mixed,
|
|
39
|
+
default: {}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
);
|
|
43
|
+
var MessageModel = mongoose.model("Message", MessageObjectSchema);
|
|
44
|
+
|
|
45
|
+
export {
|
|
46
|
+
MessageContentObjectSchema,
|
|
47
|
+
MessageObjectSchema,
|
|
48
|
+
MessageModel
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=chunk-MLPXPX2L.js.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,SAAS,mBAAmB;AAC5B,SAAwB,cAAc;AACtC,OAAO,cAAc;AAGd,IAAM,6BAA6B,IAAI;AAAA,EAC7C;AAAA,IACC,MAAM,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACrC,OAAO,EAAE,MAAM,CAAC,OAAO,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,WAAW;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,OAAO,MAAM;AAAA,MACnB,SAAS,CAAC;AAAA,IACX;AAAA,EACD;AACD;AAgBO,IAAM,eAAe,SAAS,MAAuB,WAAW,mBAAmB;","names":[]}
|
package/dist/index.cjs
CHANGED
|
@@ -39,25 +39,26 @@ module.exports = __toCommonJS(index_exports);
|
|
|
39
39
|
var import_node_crypto = require("crypto");
|
|
40
40
|
|
|
41
41
|
// implements/base.memory.ts
|
|
42
|
-
var import_mongoose = require("mongoose");
|
|
42
|
+
var import_mongoose = __toESM(require("mongoose"), 1);
|
|
43
43
|
var import_logger = require("@ainetwork/adk/utils/logger");
|
|
44
44
|
var MongoDBMemory = class {
|
|
45
45
|
_isConnected = false;
|
|
46
46
|
_uri;
|
|
47
|
-
_mongoose;
|
|
48
47
|
constructor(uri) {
|
|
49
48
|
this._uri = uri;
|
|
50
|
-
this._mongoose = new import_mongoose.Mongoose();
|
|
51
|
-
}
|
|
52
|
-
getInstance() {
|
|
53
|
-
return this._mongoose;
|
|
54
49
|
}
|
|
55
50
|
async connect() {
|
|
56
51
|
if (this._isConnected) {
|
|
57
52
|
return;
|
|
58
53
|
}
|
|
59
54
|
try {
|
|
60
|
-
await
|
|
55
|
+
await import_mongoose.default.connect(this._uri, {
|
|
56
|
+
maxPoolSize: 1,
|
|
57
|
+
serverSelectionTimeoutMS: 3e4,
|
|
58
|
+
socketTimeoutMS: 45e3,
|
|
59
|
+
connectTimeoutMS: 3e4,
|
|
60
|
+
bufferCommands: false
|
|
61
|
+
});
|
|
61
62
|
this._isConnected = true;
|
|
62
63
|
import_logger.loggers.agent.info("MongoDB connected successfully");
|
|
63
64
|
} catch (error) {
|
|
@@ -70,7 +71,7 @@ var MongoDBMemory = class {
|
|
|
70
71
|
return;
|
|
71
72
|
}
|
|
72
73
|
try {
|
|
73
|
-
await
|
|
74
|
+
await import_mongoose.default.disconnect();
|
|
74
75
|
this._isConnected = false;
|
|
75
76
|
import_logger.loggers.agent.info("MongoDB disconnected successfully");
|
|
76
77
|
} catch (error) {
|
|
@@ -83,9 +84,10 @@ var MongoDBMemory = class {
|
|
|
83
84
|
}
|
|
84
85
|
};
|
|
85
86
|
|
|
86
|
-
// models/
|
|
87
|
+
// models/threads.model.ts
|
|
87
88
|
var import_memory = require("@ainetwork/adk/types/memory");
|
|
88
89
|
var import_mongoose2 = require("mongoose");
|
|
90
|
+
var import_mongoose3 = __toESM(require("mongoose"), 1);
|
|
89
91
|
var ThreadObjectSchema = new import_mongoose2.Schema(
|
|
90
92
|
{
|
|
91
93
|
type: {
|
|
@@ -117,14 +119,20 @@ var ThreadObjectSchema = new import_mongoose2.Schema(
|
|
|
117
119
|
}
|
|
118
120
|
}
|
|
119
121
|
);
|
|
120
|
-
var
|
|
122
|
+
var ThreadModel = import_mongoose3.default.model("Thread", ThreadObjectSchema);
|
|
123
|
+
|
|
124
|
+
// models/messages.model.ts
|
|
125
|
+
var import_memory2 = require("@ainetwork/adk/types/memory");
|
|
126
|
+
var import_mongoose4 = require("mongoose");
|
|
127
|
+
var import_mongoose5 = __toESM(require("mongoose"), 1);
|
|
128
|
+
var MessageContentObjectSchema = new import_mongoose4.Schema(
|
|
121
129
|
{
|
|
122
130
|
type: { type: String, required: true },
|
|
123
|
-
parts: { type: [
|
|
131
|
+
parts: { type: [import_mongoose4.Schema.Types.Mixed], required: true }
|
|
124
132
|
},
|
|
125
133
|
{ _id: false }
|
|
126
134
|
);
|
|
127
|
-
var
|
|
135
|
+
var MessageObjectSchema = new import_mongoose4.Schema(
|
|
128
136
|
{
|
|
129
137
|
threadId: {
|
|
130
138
|
type: String,
|
|
@@ -138,11 +146,11 @@ var ChatObjectSchema = new import_mongoose2.Schema(
|
|
|
138
146
|
},
|
|
139
147
|
role: {
|
|
140
148
|
type: String,
|
|
141
|
-
enum: Object.values(
|
|
149
|
+
enum: Object.values(import_memory2.MessageRole),
|
|
142
150
|
required: true
|
|
143
151
|
},
|
|
144
152
|
content: {
|
|
145
|
-
type:
|
|
153
|
+
type: MessageContentObjectSchema,
|
|
146
154
|
required: true
|
|
147
155
|
},
|
|
148
156
|
timestamp: {
|
|
@@ -150,49 +158,45 @@ var ChatObjectSchema = new import_mongoose2.Schema(
|
|
|
150
158
|
required: true
|
|
151
159
|
},
|
|
152
160
|
metadata: {
|
|
153
|
-
type:
|
|
161
|
+
type: import_mongoose4.Schema.Types.Mixed,
|
|
154
162
|
default: {}
|
|
155
163
|
}
|
|
156
164
|
}
|
|
157
165
|
);
|
|
166
|
+
var MessageModel = import_mongoose5.default.model("Message", MessageObjectSchema);
|
|
158
167
|
|
|
159
168
|
// implements/thread.memory.ts
|
|
160
169
|
var import_logger2 = require("@ainetwork/adk/utils/logger");
|
|
161
170
|
var MongoDBThread = class extends MongoDBMemory {
|
|
162
|
-
chatModel;
|
|
163
|
-
threadModel;
|
|
164
171
|
constructor(uri) {
|
|
165
172
|
super(uri);
|
|
166
|
-
const _mongoose = super.getInstance();
|
|
167
|
-
this.chatModel = _mongoose.model("Chat", ChatObjectSchema);
|
|
168
|
-
this.threadModel = _mongoose.model("Thread", ThreadObjectSchema);
|
|
169
173
|
}
|
|
170
|
-
async getThread(
|
|
171
|
-
const thread = await
|
|
172
|
-
const
|
|
174
|
+
async getThread(userId, threadId) {
|
|
175
|
+
const thread = await ThreadModel.findOne({ threadId, userId });
|
|
176
|
+
const messages = await MessageModel.find({ threadId, userId }).sort({
|
|
173
177
|
timestamp: 1
|
|
174
178
|
});
|
|
175
179
|
if (!thread) return void 0;
|
|
176
|
-
import_logger2.loggers.agent.debug(`Found ${
|
|
180
|
+
import_logger2.loggers.agent.debug(`Found ${messages.length} messages for thread ${threadId}`);
|
|
177
181
|
const threadObject = {
|
|
178
182
|
type: thread.type,
|
|
179
|
-
title: thread.title || "New
|
|
183
|
+
title: thread.title || "New thread",
|
|
180
184
|
messages: {}
|
|
181
185
|
};
|
|
182
|
-
|
|
183
|
-
const
|
|
184
|
-
threadObject.messages[
|
|
185
|
-
role:
|
|
186
|
-
content:
|
|
187
|
-
timestamp:
|
|
188
|
-
metadata:
|
|
186
|
+
messages.forEach((message) => {
|
|
187
|
+
const messageId = message._id?.toString() || message.id;
|
|
188
|
+
threadObject.messages[messageId] = {
|
|
189
|
+
role: message.role,
|
|
190
|
+
content: message.content,
|
|
191
|
+
timestamp: message.timestamp,
|
|
192
|
+
metadata: message.metadata
|
|
189
193
|
};
|
|
190
194
|
});
|
|
191
195
|
return threadObject;
|
|
192
196
|
}
|
|
193
197
|
async createThread(type, userId, threadId, title) {
|
|
194
198
|
const now = Date.now();
|
|
195
|
-
await
|
|
199
|
+
await ThreadModel.create({
|
|
196
200
|
type,
|
|
197
201
|
userId,
|
|
198
202
|
threadId,
|
|
@@ -203,34 +207,37 @@ var MongoDBThread = class extends MongoDBMemory {
|
|
|
203
207
|
return { type, threadId, title, updatedAt: now };
|
|
204
208
|
}
|
|
205
209
|
async addMessagesToThread(userId, threadId, messages) {
|
|
206
|
-
await
|
|
210
|
+
await ThreadModel.updateOne({ threadId, userId }, {
|
|
207
211
|
updated_at: Date.now()
|
|
208
212
|
});
|
|
213
|
+
const messageIds = [];
|
|
209
214
|
for (const message of messages) {
|
|
210
215
|
const newId = (0, import_node_crypto.randomUUID)();
|
|
211
|
-
await
|
|
216
|
+
await MessageModel.create({
|
|
212
217
|
threadId,
|
|
213
|
-
|
|
218
|
+
messageId: newId,
|
|
214
219
|
userId,
|
|
215
220
|
role: message.role,
|
|
216
221
|
content: message.content,
|
|
217
222
|
timestamp: message.timestamp,
|
|
218
223
|
metadata: message.metadata
|
|
219
224
|
});
|
|
225
|
+
messageIds.push(newId);
|
|
220
226
|
}
|
|
227
|
+
return messageIds;
|
|
221
228
|
}
|
|
222
229
|
async deleteThread(userId, threadId) {
|
|
223
|
-
const
|
|
230
|
+
const messages = await MessageModel.find({ userId, threadId }).sort({
|
|
224
231
|
timestamp: 1
|
|
225
232
|
});
|
|
226
|
-
|
|
227
|
-
|
|
233
|
+
messages?.forEach((message) => {
|
|
234
|
+
message.deleteOne();
|
|
228
235
|
});
|
|
229
|
-
const thread = await
|
|
236
|
+
const thread = await ThreadModel.findOne({ userId, threadId });
|
|
230
237
|
thread?.deleteOne();
|
|
231
238
|
}
|
|
232
239
|
async listThreads(userId) {
|
|
233
|
-
const threads = await
|
|
240
|
+
const threads = await ThreadModel.find({ userId }).sort({
|
|
234
241
|
updated_at: -1
|
|
235
242
|
});
|
|
236
243
|
const data = threads.map((thread) => {
|
|
@@ -245,12 +252,9 @@ var MongoDBThread = class extends MongoDBMemory {
|
|
|
245
252
|
}
|
|
246
253
|
};
|
|
247
254
|
|
|
248
|
-
// implements/intent.memory.ts
|
|
249
|
-
var import_node_crypto2 = require("crypto");
|
|
250
|
-
|
|
251
255
|
// models/intent.model.ts
|
|
252
|
-
var
|
|
253
|
-
var IntentObjectSchema = new
|
|
256
|
+
var import_mongoose6 = __toESM(require("mongoose"), 1);
|
|
257
|
+
var IntentObjectSchema = new import_mongoose6.Schema(
|
|
254
258
|
{
|
|
255
259
|
name: {
|
|
256
260
|
type: String,
|
|
@@ -271,12 +275,25 @@ var IntentObjectSchema = new import_mongoose3.Schema(
|
|
|
271
275
|
}
|
|
272
276
|
}
|
|
273
277
|
);
|
|
274
|
-
var IntentModel =
|
|
278
|
+
var IntentModel = import_mongoose6.default.model("Intent", IntentObjectSchema);
|
|
275
279
|
|
|
276
280
|
// implements/intent.memory.ts
|
|
281
|
+
var import_mongoose7 = require("mongoose");
|
|
277
282
|
var MongoDBIntent = class extends MongoDBMemory {
|
|
278
283
|
async getIntent(intentId) {
|
|
279
|
-
const intent = await IntentModel.findById(intentId);
|
|
284
|
+
const intent = await IntentModel.findById(new import_mongoose7.Types.ObjectId(intentId));
|
|
285
|
+
if (intent) {
|
|
286
|
+
return {
|
|
287
|
+
name: intent.name,
|
|
288
|
+
description: intent.description,
|
|
289
|
+
prompt: intent.prompt,
|
|
290
|
+
llm: intent.llm
|
|
291
|
+
};
|
|
292
|
+
}
|
|
293
|
+
return void 0;
|
|
294
|
+
}
|
|
295
|
+
async getIntentByName(intentName) {
|
|
296
|
+
const intent = await IntentModel.findOne({ name: intentName });
|
|
280
297
|
if (intent) {
|
|
281
298
|
return {
|
|
282
299
|
name: intent.name,
|
|
@@ -288,9 +305,7 @@ var MongoDBIntent = class extends MongoDBMemory {
|
|
|
288
305
|
return void 0;
|
|
289
306
|
}
|
|
290
307
|
async saveIntent(intent) {
|
|
291
|
-
const newId = (0, import_node_crypto2.randomUUID)();
|
|
292
308
|
await IntentModel.create({
|
|
293
|
-
_id: newId,
|
|
294
309
|
name: intent.name,
|
|
295
310
|
description: intent.description,
|
|
296
311
|
prompt: intent.prompt,
|
|
@@ -299,7 +314,7 @@ var MongoDBIntent = class extends MongoDBMemory {
|
|
|
299
314
|
}
|
|
300
315
|
async updateIntent(intentId, intent) {
|
|
301
316
|
await IntentModel.updateOne({
|
|
302
|
-
_id: intentId
|
|
317
|
+
_id: new import_mongoose7.Types.ObjectId(intentId)
|
|
303
318
|
}, {
|
|
304
319
|
name: intent.name,
|
|
305
320
|
description: intent.description,
|
|
@@ -308,7 +323,7 @@ var MongoDBIntent = class extends MongoDBMemory {
|
|
|
308
323
|
});
|
|
309
324
|
}
|
|
310
325
|
async deleteIntent(intentId) {
|
|
311
|
-
await IntentModel.deleteOne({ _id: intentId });
|
|
326
|
+
await IntentModel.deleteOne({ _id: new import_mongoose7.Types.ObjectId(intentId) });
|
|
312
327
|
}
|
|
313
328
|
async listIntents() {
|
|
314
329
|
const intents = await IntentModel.find();
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../index.ts","../implements/thread.memory.ts","../implements/base.memory.ts","../models/chats.model.ts","../implements/intent.memory.ts","../models/intent.model.ts"],"sourcesContent":["export { MongoDBThread } from \"./implements/thread.memory\";\nexport { MongoDBIntent } from \"./implements/intent.memory\";","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 { MessageRole, ThreadType } from \"@ainetwork/adk/types/memory\";\nimport { type Document, Schema } 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\n// ChatContentObject schema\nexport const ChatContentObjectSchema = 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// ChatObject schema - 개별 문서로 저장\nexport const ChatObjectSchema = 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: ChatContentObjectSchema,\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// Chat Document interface\nexport interface ChatDocument 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","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}","import mongoose, { type Document, Schema } from \"mongoose\";\n\nconst IntentObjectSchema = new Schema(\n\t{\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t\tindex: true,\n\t\t},\n\t\tdescription: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tprompt: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t},\n\t\tllm: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t},\n\t}\n);\n\nexport interface IntentDocument extends Document {\n\tname: string;\n\tdescription: string;\n\tprompt?: string;\n\tllm?: string;\n}\n\nexport const IntentModel = mongoose.model<IntentDocument>(\"Intent\", IntentObjectSchema);"],"mappings":"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","names":["import_mongoose","import_logger","import_node_crypto","import_mongoose","mongoose"]}
|
|
1
|
+
{"version":3,"sources":["../index.ts","../implements/thread.memory.ts","../implements/base.memory.ts","../models/threads.model.ts","../models/messages.model.ts","../models/intent.model.ts","../implements/intent.memory.ts"],"sourcesContent":["export { MongoDBThread } from \"./implements/thread.memory\";\nexport { MongoDBIntent } from \"./implements/intent.memory\";","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 { 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","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);","import mongoose, { type Document, Schema } from \"mongoose\";\n\nconst IntentObjectSchema = new Schema(\n\t{\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t\tindex: true,\n\t\t},\n\t\tdescription: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tprompt: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t},\n\t\tllm: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t},\n\t}\n);\n\nexport interface IntentDocument extends Document {\n\tname: string;\n\tdescription: string;\n\tprompt?: string;\n\tllm?: string;\n}\n\nexport const IntentModel = mongoose.model<IntentDocument>(\"Intent\", IntentObjectSchema);","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":["mongoose","import_mongoose","mongoose","import_memory","import_mongoose","mongoose","import_logger","import_mongoose","mongoose","import_mongoose"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -1,32 +1,28 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ThreadObject, ThreadType, ThreadMetadata, MessageObject, Intent } from '@ainetwork/adk/types/memory';
|
|
2
2
|
import { IThreadMemory, IIntentMemory } from '@ainetwork/adk/modules';
|
|
3
3
|
import { IMemory } from 'node_modules/@ainetwork/adk/dist/esm/modules/memory/base.memory';
|
|
4
|
-
import { Mongoose } from 'mongoose';
|
|
5
4
|
|
|
6
5
|
declare class MongoDBMemory implements IMemory {
|
|
7
6
|
private _isConnected;
|
|
8
7
|
private _uri;
|
|
9
|
-
private _mongoose;
|
|
10
8
|
constructor(uri: string);
|
|
11
|
-
getInstance(): Mongoose;
|
|
12
9
|
connect(): Promise<void>;
|
|
13
10
|
disconnect(): Promise<void>;
|
|
14
11
|
isConnected(): boolean;
|
|
15
12
|
}
|
|
16
13
|
|
|
17
14
|
declare class MongoDBThread extends MongoDBMemory implements IThreadMemory {
|
|
18
|
-
private chatModel;
|
|
19
|
-
private threadModel;
|
|
20
15
|
constructor(uri: string);
|
|
21
|
-
getThread(
|
|
16
|
+
getThread(userId: string, threadId: string): Promise<ThreadObject | undefined>;
|
|
22
17
|
createThread(type: ThreadType, userId: string, threadId: string, title: string): Promise<ThreadMetadata>;
|
|
23
|
-
addMessagesToThread(userId: string, threadId: string, messages: MessageObject[]): Promise<
|
|
18
|
+
addMessagesToThread(userId: string, threadId: string, messages: MessageObject[]): Promise<string[]>;
|
|
24
19
|
deleteThread(userId: string, threadId: string): Promise<void>;
|
|
25
20
|
listThreads(userId: string): Promise<ThreadMetadata[]>;
|
|
26
21
|
}
|
|
27
22
|
|
|
28
23
|
declare class MongoDBIntent extends MongoDBMemory implements IIntentMemory {
|
|
29
24
|
getIntent(intentId: string): Promise<Intent | undefined>;
|
|
25
|
+
getIntentByName(intentName: string): Promise<Intent | undefined>;
|
|
30
26
|
saveIntent(intent: Intent): Promise<void>;
|
|
31
27
|
updateIntent(intentId: string, intent: Intent): Promise<void>;
|
|
32
28
|
deleteIntent(intentId: string): Promise<void>;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,32 +1,28 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ThreadObject, ThreadType, ThreadMetadata, MessageObject, Intent } from '@ainetwork/adk/types/memory';
|
|
2
2
|
import { IThreadMemory, IIntentMemory } from '@ainetwork/adk/modules';
|
|
3
3
|
import { IMemory } from 'node_modules/@ainetwork/adk/dist/esm/modules/memory/base.memory';
|
|
4
|
-
import { Mongoose } from 'mongoose';
|
|
5
4
|
|
|
6
5
|
declare class MongoDBMemory implements IMemory {
|
|
7
6
|
private _isConnected;
|
|
8
7
|
private _uri;
|
|
9
|
-
private _mongoose;
|
|
10
8
|
constructor(uri: string);
|
|
11
|
-
getInstance(): Mongoose;
|
|
12
9
|
connect(): Promise<void>;
|
|
13
10
|
disconnect(): Promise<void>;
|
|
14
11
|
isConnected(): boolean;
|
|
15
12
|
}
|
|
16
13
|
|
|
17
14
|
declare class MongoDBThread extends MongoDBMemory implements IThreadMemory {
|
|
18
|
-
private chatModel;
|
|
19
|
-
private threadModel;
|
|
20
15
|
constructor(uri: string);
|
|
21
|
-
getThread(
|
|
16
|
+
getThread(userId: string, threadId: string): Promise<ThreadObject | undefined>;
|
|
22
17
|
createThread(type: ThreadType, userId: string, threadId: string, title: string): Promise<ThreadMetadata>;
|
|
23
|
-
addMessagesToThread(userId: string, threadId: string, messages: MessageObject[]): Promise<
|
|
18
|
+
addMessagesToThread(userId: string, threadId: string, messages: MessageObject[]): Promise<string[]>;
|
|
24
19
|
deleteThread(userId: string, threadId: string): Promise<void>;
|
|
25
20
|
listThreads(userId: string): Promise<ThreadMetadata[]>;
|
|
26
21
|
}
|
|
27
22
|
|
|
28
23
|
declare class MongoDBIntent extends MongoDBMemory implements IIntentMemory {
|
|
29
24
|
getIntent(intentId: string): Promise<Intent | undefined>;
|
|
25
|
+
getIntentByName(intentName: string): Promise<Intent | undefined>;
|
|
30
26
|
saveIntent(intent: Intent): Promise<void>;
|
|
31
27
|
updateIntent(intentId: string, intent: Intent): Promise<void>;
|
|
32
28
|
deleteIntent(intentId: string): Promise<void>;
|