@ai.ntellect/core 0.7.7 → 1.0.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/README.md +158 -81
- package/index.ts +462 -22
- package/package copy.json +21 -0
- package/package.json +9 -44
- package/tsconfig.json +108 -22
- package/types.ts +62 -0
- package/utils/executor.ts +42 -0
- package/.mocharc.json +0 -5
- package/dist/graph/controller.d.ts +0 -31
- package/dist/graph/controller.d.ts.map +0 -1
- package/dist/graph/controller.js +0 -71
- package/dist/graph/controller.js.map +0 -1
- package/dist/graph/event-manager.d.ts +0 -92
- package/dist/graph/event-manager.d.ts.map +0 -1
- package/dist/graph/event-manager.js +0 -244
- package/dist/graph/event-manager.js.map +0 -1
- package/dist/graph/index.d.ts +0 -159
- package/dist/graph/index.d.ts.map +0 -1
- package/dist/graph/index.js +0 -303
- package/dist/graph/index.js.map +0 -1
- package/dist/graph/logger.d.ts +0 -46
- package/dist/graph/logger.d.ts.map +0 -1
- package/dist/graph/logger.js +0 -69
- package/dist/graph/logger.js.map +0 -1
- package/dist/graph/node.d.ts +0 -92
- package/dist/graph/node.d.ts.map +0 -1
- package/dist/graph/node.js +0 -249
- package/dist/graph/node.js.map +0 -1
- package/dist/graph/observer.d.ts +0 -113
- package/dist/graph/observer.d.ts.map +0 -1
- package/dist/graph/observer.js +0 -198
- package/dist/graph/observer.js.map +0 -1
- package/dist/index.d.ts +0 -26
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -42
- package/dist/index.js.map +0 -1
- package/dist/interfaces/index.d.ts +0 -447
- package/dist/interfaces/index.d.ts.map +0 -1
- package/dist/interfaces/index.js +0 -75
- package/dist/interfaces/index.js.map +0 -1
- package/dist/modules/agenda/adapters/node-cron/index.d.ts +0 -17
- package/dist/modules/agenda/adapters/node-cron/index.d.ts.map +0 -1
- package/dist/modules/agenda/adapters/node-cron/index.js +0 -30
- package/dist/modules/agenda/adapters/node-cron/index.js.map +0 -1
- package/dist/modules/agenda/index.d.ts +0 -63
- package/dist/modules/agenda/index.d.ts.map +0 -1
- package/dist/modules/agenda/index.js +0 -141
- package/dist/modules/agenda/index.js.map +0 -1
- package/dist/modules/embedding/adapters/ai/index.d.ts +0 -29
- package/dist/modules/embedding/adapters/ai/index.d.ts.map +0 -1
- package/dist/modules/embedding/adapters/ai/index.js +0 -58
- package/dist/modules/embedding/adapters/ai/index.js.map +0 -1
- package/dist/modules/embedding/index.d.ts +0 -36
- package/dist/modules/embedding/index.d.ts.map +0 -1
- package/dist/modules/embedding/index.js +0 -60
- package/dist/modules/embedding/index.js.map +0 -1
- package/dist/modules/memory/adapters/in-memory/index.d.ts +0 -120
- package/dist/modules/memory/adapters/in-memory/index.d.ts.map +0 -1
- package/dist/modules/memory/adapters/in-memory/index.js +0 -211
- package/dist/modules/memory/adapters/in-memory/index.js.map +0 -1
- package/dist/modules/memory/adapters/meilisearch/index.d.ts +0 -110
- package/dist/modules/memory/adapters/meilisearch/index.d.ts.map +0 -1
- package/dist/modules/memory/adapters/meilisearch/index.js +0 -321
- package/dist/modules/memory/adapters/meilisearch/index.js.map +0 -1
- package/dist/modules/memory/adapters/redis/index.d.ts +0 -82
- package/dist/modules/memory/adapters/redis/index.d.ts.map +0 -1
- package/dist/modules/memory/adapters/redis/index.js +0 -159
- package/dist/modules/memory/adapters/redis/index.js.map +0 -1
- package/dist/modules/memory/index.d.ts +0 -67
- package/dist/modules/memory/index.d.ts.map +0 -1
- package/dist/modules/memory/index.js +0 -104
- package/dist/modules/memory/index.js.map +0 -1
- package/dist/types/index.d.ts +0 -166
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -3
- package/dist/types/index.js.map +0 -1
- package/dist/utils/generate-action-schema.d.ts +0 -5
- package/dist/utils/generate-action-schema.d.ts.map +0 -1
- package/dist/utils/generate-action-schema.js +0 -44
- package/dist/utils/generate-action-schema.js.map +0 -1
- package/dist/utils/header-builder.d.ts +0 -12
- package/dist/utils/header-builder.d.ts.map +0 -1
- package/dist/utils/header-builder.js +0 -35
- package/dist/utils/header-builder.js.map +0 -1
- package/graph/controller.ts +0 -74
- package/graph/event-manager.ts +0 -295
- package/graph/index.ts +0 -397
- package/graph/logger.ts +0 -70
- package/graph/node.ts +0 -305
- package/graph/observer.ts +0 -368
- package/interfaces/index.ts +0 -545
- package/modules/agenda/adapters/node-cron/index.ts +0 -25
- package/modules/agenda/index.ts +0 -146
- package/modules/embedding/adapters/ai/index.ts +0 -42
- package/modules/embedding/index.ts +0 -45
- package/modules/memory/adapters/in-memory/index.ts +0 -207
- package/modules/memory/adapters/meilisearch/index.ts +0 -361
- package/modules/memory/adapters/redis/index.ts +0 -164
- package/modules/memory/index.ts +0 -93
- package/test/graph/controller.test.ts +0 -187
- package/test/graph/event-manager.test.ts +0 -72
- package/test/graph/index.test.ts +0 -768
- package/test/graph/node.test.ts +0 -510
- package/test/graph/observer.test.ts +0 -398
- package/test/modules/agenda/node-cron.test.ts +0 -307
- package/test/modules/memory/adapters/in-memory.test.ts +0 -153
- package/test/modules/memory/adapters/meilisearch.test.ts +0 -287
- package/test/modules/memory/base.test.ts +0 -230
- package/types/index.ts +0 -184
- package/utils/generate-action-schema.ts +0 -46
- package/utils/header-builder.ts +0 -40
@@ -1,211 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
-
});
|
10
|
-
};
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
12
|
-
exports.InMemoryAdapter = void 0;
|
13
|
-
/**
|
14
|
-
* @module InMemoryAdapter
|
15
|
-
* @description In-memory implementation of the memory storage adapter.
|
16
|
-
* Provides a simple Map-based storage solution
|
17
|
-
* @implements {IMemoryAdapter}
|
18
|
-
*/
|
19
|
-
class InMemoryAdapter {
|
20
|
-
/**
|
21
|
-
* Creates an instance of InMemoryAdapter
|
22
|
-
*/
|
23
|
-
constructor() {
|
24
|
-
this.storage = new Map();
|
25
|
-
this.jobs = new Map();
|
26
|
-
this.requests = new Map();
|
27
|
-
}
|
28
|
-
/**
|
29
|
-
* Initializes storage for a room
|
30
|
-
* @param {string} roomId - Room identifier
|
31
|
-
* @returns {Promise<void>}
|
32
|
-
*/
|
33
|
-
init(roomId) {
|
34
|
-
return __awaiter(this, void 0, void 0, function* () {
|
35
|
-
if (!this.storage.has(roomId)) {
|
36
|
-
this.storage.set(roomId, []);
|
37
|
-
}
|
38
|
-
});
|
39
|
-
}
|
40
|
-
/**
|
41
|
-
* Creates a new memory entry
|
42
|
-
* @param {CreateMemoryInput & { embedding?: number[] }} input - Memory data with optional embedding
|
43
|
-
* @returns {Promise<BaseMemoryType | undefined>} Created memory or existing memory if duplicate
|
44
|
-
*/
|
45
|
-
createMemory(input) {
|
46
|
-
return __awaiter(this, void 0, void 0, function* () {
|
47
|
-
yield this.init(input.roomId);
|
48
|
-
// Check if memory already exists
|
49
|
-
const memories = this.storage.get(input.roomId) || [];
|
50
|
-
const existingMemory = memories.find((m) => m.data === input.data);
|
51
|
-
if (existingMemory) {
|
52
|
-
return existingMemory;
|
53
|
-
}
|
54
|
-
// Create new memory
|
55
|
-
const memory = {
|
56
|
-
id: input.id || crypto.randomUUID(),
|
57
|
-
data: input.data,
|
58
|
-
embedding: input.embedding,
|
59
|
-
roomId: input.roomId,
|
60
|
-
createdAt: new Date(),
|
61
|
-
};
|
62
|
-
memories.push(memory);
|
63
|
-
this.storage.set(input.roomId, memories);
|
64
|
-
return memory;
|
65
|
-
});
|
66
|
-
}
|
67
|
-
/**
|
68
|
-
* Retrieves a memory by ID and room ID
|
69
|
-
* @param {string} id - Memory identifier
|
70
|
-
* @param {string} roomId - Room identifier
|
71
|
-
* @returns {Promise<BaseMemoryType | null>} Memory entry or null if not found
|
72
|
-
*/
|
73
|
-
getMemoryById(id, roomId) {
|
74
|
-
return __awaiter(this, void 0, void 0, function* () {
|
75
|
-
const memories = this.storage.get(roomId) || [];
|
76
|
-
return memories.find((m) => m.id === id) || null;
|
77
|
-
});
|
78
|
-
}
|
79
|
-
/**
|
80
|
-
* Searches for memories based on query and options
|
81
|
-
* @param {string} query - Search query
|
82
|
-
* @param {Object} options - Search options
|
83
|
-
* @param {string} options.roomId - Room identifier
|
84
|
-
* @param {number} [options.limit] - Maximum number of results
|
85
|
-
* @returns {Promise<BaseMemoryType[]>} Array of matching memories
|
86
|
-
*/
|
87
|
-
getMemoryByIndex(query, options) {
|
88
|
-
return __awaiter(this, void 0, void 0, function* () {
|
89
|
-
const memories = this.storage.get(options.roomId) || [];
|
90
|
-
const filtered = memories.filter((m) => m.data.includes(query));
|
91
|
-
return filtered.slice(0, options.limit || filtered.length);
|
92
|
-
});
|
93
|
-
}
|
94
|
-
/**
|
95
|
-
* Retrieves all memories for a room
|
96
|
-
* @param {string} roomId - Room identifier
|
97
|
-
* @returns {Promise<BaseMemoryType[]>} Array of all memories
|
98
|
-
*/
|
99
|
-
getAllMemories(roomId) {
|
100
|
-
return __awaiter(this, void 0, void 0, function* () {
|
101
|
-
return this.storage.get(roomId) || [];
|
102
|
-
});
|
103
|
-
}
|
104
|
-
/**
|
105
|
-
* Deletes a specific memory
|
106
|
-
* @param {string} id - Memory identifier
|
107
|
-
* @param {string} roomId - Room identifier
|
108
|
-
* @returns {Promise<void>}
|
109
|
-
*/
|
110
|
-
clearMemoryById(id, roomId) {
|
111
|
-
return __awaiter(this, void 0, void 0, function* () {
|
112
|
-
const memories = this.storage.get(roomId) || [];
|
113
|
-
const filtered = memories.filter((m) => m.id !== id);
|
114
|
-
this.storage.set(roomId, filtered);
|
115
|
-
});
|
116
|
-
}
|
117
|
-
/**
|
118
|
-
* Clears all memories across all rooms
|
119
|
-
* @returns {Promise<void>}
|
120
|
-
*/
|
121
|
-
clearAllMemories() {
|
122
|
-
return __awaiter(this, void 0, void 0, function* () {
|
123
|
-
this.storage.clear();
|
124
|
-
this.jobs.clear();
|
125
|
-
this.requests.clear();
|
126
|
-
});
|
127
|
-
}
|
128
|
-
/**
|
129
|
-
* Saves a job to the internal storage
|
130
|
-
* @param {string} id - Job identifier
|
131
|
-
* @param {ICronJob} job - Job data
|
132
|
-
* @returns {Promise<void>}
|
133
|
-
*/
|
134
|
-
saveJob(id, job) {
|
135
|
-
return __awaiter(this, void 0, void 0, function* () {
|
136
|
-
this.jobs.set(id, job);
|
137
|
-
});
|
138
|
-
}
|
139
|
-
/**
|
140
|
-
* Saves a request to the internal storage
|
141
|
-
* @param {string} id - Request identifier
|
142
|
-
* @param {ScheduledRequest} request - Request data
|
143
|
-
* @returns {Promise<void>}
|
144
|
-
*/
|
145
|
-
saveRequest(id, request) {
|
146
|
-
return __awaiter(this, void 0, void 0, function* () {
|
147
|
-
this.requests.set(id, request);
|
148
|
-
});
|
149
|
-
}
|
150
|
-
/**
|
151
|
-
* Retrieves a job by ID
|
152
|
-
* @param {string} id - Job identifier
|
153
|
-
* @returns {Promise<ICronJob | undefined>} Job data or undefined if not found
|
154
|
-
*/
|
155
|
-
getJob(id) {
|
156
|
-
return __awaiter(this, void 0, void 0, function* () {
|
157
|
-
return this.jobs.get(id);
|
158
|
-
});
|
159
|
-
}
|
160
|
-
/**
|
161
|
-
* Retrieves a request by ID
|
162
|
-
* @param {string} id - Request identifier
|
163
|
-
* @returns {Promise<ScheduledRequest | undefined>} Request data or undefined if not found
|
164
|
-
*/
|
165
|
-
getRequest(id) {
|
166
|
-
return __awaiter(this, void 0, void 0, function* () {
|
167
|
-
return this.requests.get(id);
|
168
|
-
});
|
169
|
-
}
|
170
|
-
/**
|
171
|
-
* Deletes a job by ID
|
172
|
-
* @param {string} id - Job identifier
|
173
|
-
* @returns {Promise<void>}
|
174
|
-
*/
|
175
|
-
deleteJob(id) {
|
176
|
-
return __awaiter(this, void 0, void 0, function* () {
|
177
|
-
this.jobs.delete(id);
|
178
|
-
});
|
179
|
-
}
|
180
|
-
/**
|
181
|
-
* Deletes a request by ID
|
182
|
-
* @param {string} id - Request identifier
|
183
|
-
* @returns {Promise<void>}
|
184
|
-
*/
|
185
|
-
deleteRequest(id) {
|
186
|
-
return __awaiter(this, void 0, void 0, function* () {
|
187
|
-
this.requests.delete(id);
|
188
|
-
});
|
189
|
-
}
|
190
|
-
/**
|
191
|
-
* Retrieves all requests
|
192
|
-
* @returns {Promise<ScheduledRequest[]>} Array of all requests
|
193
|
-
*/
|
194
|
-
getAllRequests() {
|
195
|
-
return __awaiter(this, void 0, void 0, function* () {
|
196
|
-
return Array.from(this.requests.values());
|
197
|
-
});
|
198
|
-
}
|
199
|
-
/**
|
200
|
-
* Clears all jobs and requests
|
201
|
-
* @returns {Promise<void>}
|
202
|
-
*/
|
203
|
-
clear() {
|
204
|
-
return __awaiter(this, void 0, void 0, function* () {
|
205
|
-
this.jobs.clear();
|
206
|
-
this.requests.clear();
|
207
|
-
});
|
208
|
-
}
|
209
|
-
}
|
210
|
-
exports.InMemoryAdapter = InMemoryAdapter;
|
211
|
-
//# sourceMappingURL=index.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../modules/memory/adapters/in-memory/index.ts"],"names":[],"mappings":"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"}
|
@@ -1,110 +0,0 @@
|
|
1
|
-
import { IMemoryAdapter } from "../../../../interfaces";
|
2
|
-
import { BaseMemoryType, CreateMemoryInput, MeilisearchConfig } from "../../../../types";
|
3
|
-
/**
|
4
|
-
* @module MeilisearchAdapter
|
5
|
-
* @description Adapter implementation for Meilisearch as a memory storage solution.
|
6
|
-
* Provides integration with Meilisearch for storing and retrieving memory entries.
|
7
|
-
* @implements {IMemoryAdapter}
|
8
|
-
*/
|
9
|
-
export declare class MeilisearchAdapter implements IMemoryAdapter {
|
10
|
-
private readonly config;
|
11
|
-
/**
|
12
|
-
* Creates an instance of MeilisearchAdapter
|
13
|
-
* @param {MeilisearchConfig} config - Configuration for Meilisearch connection
|
14
|
-
*/
|
15
|
-
constructor(config: MeilisearchConfig);
|
16
|
-
/**
|
17
|
-
* Makes an HTTP request to the Meilisearch API
|
18
|
-
* @private
|
19
|
-
* @param {string} path - API endpoint path
|
20
|
-
* @param {RequestInit} [options] - Fetch request options
|
21
|
-
* @returns {Promise<any>} Response data
|
22
|
-
* @throws {Error} If the request fails
|
23
|
-
*/
|
24
|
-
private makeRequest;
|
25
|
-
/**
|
26
|
-
* Initializes a storage index for a room
|
27
|
-
* @private
|
28
|
-
* @param {string} roomId - Room identifier to create index for
|
29
|
-
* @returns {Promise<void>}
|
30
|
-
*/
|
31
|
-
private initializeStorage;
|
32
|
-
/**
|
33
|
-
* Adds documents to the Meilisearch index
|
34
|
-
* @private
|
35
|
-
* @param {BaseMemoryType[]} documents - Documents to add
|
36
|
-
* @param {string} roomId - Room identifier
|
37
|
-
* @returns {Promise<void>}
|
38
|
-
*/
|
39
|
-
private addDocuments;
|
40
|
-
/**
|
41
|
-
* Deletes a storage index for a room
|
42
|
-
* @private
|
43
|
-
* @param {string} roomId - Room identifier
|
44
|
-
* @returns {Promise<void>}
|
45
|
-
*/
|
46
|
-
private deleteStorage;
|
47
|
-
/**
|
48
|
-
* Initializes the adapter for a specific room
|
49
|
-
* @param {string} roomId - Room identifier
|
50
|
-
* @returns {Promise<void>}
|
51
|
-
*/
|
52
|
-
init(roomId: string): Promise<void>;
|
53
|
-
/**
|
54
|
-
* Performs a search in the Meilisearch index
|
55
|
-
* @private
|
56
|
-
* @param {string} query - Search query
|
57
|
-
* @param {string} roomId - Room identifier
|
58
|
-
* @param {Object} [options] - Search options
|
59
|
-
* @param {number} [options.limit] - Maximum number of results
|
60
|
-
* @param {number} [options.threshold] - Minimum score threshold
|
61
|
-
* @returns {Promise<SearchResult[]>} Search results
|
62
|
-
*/
|
63
|
-
private search;
|
64
|
-
/**
|
65
|
-
* Creates a new memory entry
|
66
|
-
* @param {CreateMemoryInput & { embedding?: number[] }} input - Memory data with optional embedding
|
67
|
-
* @returns {Promise<BaseMemoryType | undefined>} Created memory or undefined
|
68
|
-
*/
|
69
|
-
createMemory(input: CreateMemoryInput & {
|
70
|
-
embedding?: number[];
|
71
|
-
}): Promise<BaseMemoryType | undefined>;
|
72
|
-
/**
|
73
|
-
* Retrieves a memory by ID and room ID
|
74
|
-
* @param {string} id - Memory identifier
|
75
|
-
* @param {string} roomId - Room identifier
|
76
|
-
* @returns {Promise<BaseMemoryType | null>} Memory entry or null if not found
|
77
|
-
*/
|
78
|
-
getMemoryById(id: string, roomId: string): Promise<BaseMemoryType | null>;
|
79
|
-
/**
|
80
|
-
* Searches for memories based on query and options
|
81
|
-
* @param {string} query - Search query
|
82
|
-
* @param {Object} options - Search options
|
83
|
-
* @param {string} options.roomId - Room identifier
|
84
|
-
* @param {number} [options.limit] - Maximum number of results
|
85
|
-
* @returns {Promise<BaseMemoryType[]>} Array of matching memories
|
86
|
-
*/
|
87
|
-
getMemoryByIndex(query: string, options: {
|
88
|
-
roomId: string;
|
89
|
-
limit?: number;
|
90
|
-
}): Promise<BaseMemoryType[]>;
|
91
|
-
/**
|
92
|
-
* Retrieves all memories for a room
|
93
|
-
* @param {string} roomId - Room identifier
|
94
|
-
* @returns {Promise<BaseMemoryType[]>} Array of all memories
|
95
|
-
*/
|
96
|
-
getAllMemories(roomId: string): Promise<BaseMemoryType[]>;
|
97
|
-
/**
|
98
|
-
* Deletes a specific memory
|
99
|
-
* @param {string} id - Memory identifier
|
100
|
-
* @param {string} roomId - Room identifier
|
101
|
-
* @returns {Promise<void>}
|
102
|
-
*/
|
103
|
-
clearMemoryById(id: string, roomId: string): Promise<void>;
|
104
|
-
/**
|
105
|
-
* Clears all memories across all rooms
|
106
|
-
* @returns {Promise<void>}
|
107
|
-
*/
|
108
|
-
clearAllMemories(): Promise<void>;
|
109
|
-
}
|
110
|
-
//# sourceMappingURL=index.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../modules/memory/adapters/meilisearch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAE3B;;;;;GAKG;AACH,qBAAa,kBAAmB,YAAW,cAAc;IAK3C,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJnC;;;OAGG;gBAC0B,MAAM,EAAE,iBAAiB;IAEtD;;;;;;;OAOG;YACW,WAAW;IA8BzB;;;;;OAKG;YACW,iBAAiB;IA6C/B;;;;;;OAMG;YACW,YAAY;IAU1B;;;;;OAKG;YACW,aAAa;IAM3B;;;;OAIG;IACG,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYzC;;;;;;;;;OASG;YACW,MAAM;IA6BpB;;;;OAIG;IACG,YAAY,CAChB,KAAK,EAAE,iBAAiB,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAClD,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAyBtC;;;;;OAKG;IACG,aAAa,CACjB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAmBjC;;;;;;;OAOG;IACG,gBAAgB,CACpB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1C,OAAO,CAAC,cAAc,EAAE,CAAC;IAe5B;;;;OAIG;IACG,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAe/D;;;;;OAKG;IACG,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBhE;;;OAGG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;CAgBxC"}
|
@@ -1,321 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
-
});
|
10
|
-
};
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
12
|
-
exports.MeilisearchAdapter = void 0;
|
13
|
-
/**
|
14
|
-
* @module MeilisearchAdapter
|
15
|
-
* @description Adapter implementation for Meilisearch as a memory storage solution.
|
16
|
-
* Provides integration with Meilisearch for storing and retrieving memory entries.
|
17
|
-
* @implements {IMemoryAdapter}
|
18
|
-
*/
|
19
|
-
class MeilisearchAdapter {
|
20
|
-
/**
|
21
|
-
* Creates an instance of MeilisearchAdapter
|
22
|
-
* @param {MeilisearchConfig} config - Configuration for Meilisearch connection
|
23
|
-
*/
|
24
|
-
constructor(config) {
|
25
|
-
this.config = config;
|
26
|
-
}
|
27
|
-
/**
|
28
|
-
* Makes an HTTP request to the Meilisearch API
|
29
|
-
* @private
|
30
|
-
* @param {string} path - API endpoint path
|
31
|
-
* @param {RequestInit} [options] - Fetch request options
|
32
|
-
* @returns {Promise<any>} Response data
|
33
|
-
* @throws {Error} If the request fails
|
34
|
-
*/
|
35
|
-
makeRequest(path, options) {
|
36
|
-
return __awaiter(this, void 0, void 0, function* () {
|
37
|
-
try {
|
38
|
-
const url = `${this.config.host}${path}`;
|
39
|
-
const response = yield fetch(url, Object.assign(Object.assign({}, options), { headers: Object.assign({ "Content-Type": "application/json", Authorization: `Bearer ${this.config.apiKey}` }, options === null || options === void 0 ? void 0 : options.headers) }));
|
40
|
-
if (!response.ok) {
|
41
|
-
const errorBody = yield response.text();
|
42
|
-
throw new Error(`HTTP ${response.status}: ${errorBody || response.statusText}`);
|
43
|
-
}
|
44
|
-
return response.json();
|
45
|
-
}
|
46
|
-
catch (error) {
|
47
|
-
if (error instanceof TypeError && error.message === "Failed to fetch") {
|
48
|
-
throw new Error(`Network error: Unable to connect to Meilisearch at ${this.config.host}`);
|
49
|
-
}
|
50
|
-
throw error;
|
51
|
-
}
|
52
|
-
});
|
53
|
-
}
|
54
|
-
/**
|
55
|
-
* Initializes a storage index for a room
|
56
|
-
* @private
|
57
|
-
* @param {string} roomId - Room identifier to create index for
|
58
|
-
* @returns {Promise<void>}
|
59
|
-
*/
|
60
|
-
initializeStorage(roomId) {
|
61
|
-
return __awaiter(this, void 0, void 0, function* () {
|
62
|
-
try {
|
63
|
-
let indexExists = false;
|
64
|
-
try {
|
65
|
-
yield this.makeRequest(`/indexes/${roomId}`);
|
66
|
-
indexExists = true;
|
67
|
-
}
|
68
|
-
catch (error) {
|
69
|
-
if (!indexExists) {
|
70
|
-
const createResponse = yield this.makeRequest("/indexes", {
|
71
|
-
method: "POST",
|
72
|
-
body: JSON.stringify({
|
73
|
-
uid: roomId,
|
74
|
-
primaryKey: "id",
|
75
|
-
}),
|
76
|
-
});
|
77
|
-
console.log("✅ Index creation response:", createResponse);
|
78
|
-
}
|
79
|
-
}
|
80
|
-
// Appliquer les settings seulement si l'index existe bien
|
81
|
-
yield this.makeRequest(`/indexes/${roomId}/settings`, {
|
82
|
-
method: "PATCH",
|
83
|
-
body: JSON.stringify({
|
84
|
-
searchableAttributes: this.config.searchableAttributes || [
|
85
|
-
"data",
|
86
|
-
"query",
|
87
|
-
],
|
88
|
-
sortableAttributes: this.config.sortableAttributes || ["createdAt"],
|
89
|
-
}),
|
90
|
-
});
|
91
|
-
}
|
92
|
-
catch (error) {
|
93
|
-
const errorMessage = error instanceof Error ? error.message : "Unknown error";
|
94
|
-
console.error(`❌ Error initializing storage for index ${roomId}:`, errorMessage);
|
95
|
-
throw new Error(`Failed to initialize storage for index ${roomId}: ${errorMessage}`);
|
96
|
-
}
|
97
|
-
});
|
98
|
-
}
|
99
|
-
/**
|
100
|
-
* Adds documents to the Meilisearch index
|
101
|
-
* @private
|
102
|
-
* @param {BaseMemoryType[]} documents - Documents to add
|
103
|
-
* @param {string} roomId - Room identifier
|
104
|
-
* @returns {Promise<void>}
|
105
|
-
*/
|
106
|
-
addDocuments(documents, roomId) {
|
107
|
-
return __awaiter(this, void 0, void 0, function* () {
|
108
|
-
yield this.makeRequest(`/indexes/${roomId}/documents`, {
|
109
|
-
method: "POST",
|
110
|
-
body: JSON.stringify(documents),
|
111
|
-
});
|
112
|
-
});
|
113
|
-
}
|
114
|
-
/**
|
115
|
-
* Deletes a storage index for a room
|
116
|
-
* @private
|
117
|
-
* @param {string} roomId - Room identifier
|
118
|
-
* @returns {Promise<void>}
|
119
|
-
*/
|
120
|
-
deleteStorage(roomId) {
|
121
|
-
return __awaiter(this, void 0, void 0, function* () {
|
122
|
-
yield this.makeRequest(`/indexes/${roomId}`, {
|
123
|
-
method: "DELETE",
|
124
|
-
});
|
125
|
-
});
|
126
|
-
}
|
127
|
-
/**
|
128
|
-
* Initializes the adapter for a specific room
|
129
|
-
* @param {string} roomId - Room identifier
|
130
|
-
* @returns {Promise<void>}
|
131
|
-
*/
|
132
|
-
init(roomId) {
|
133
|
-
return __awaiter(this, void 0, void 0, function* () {
|
134
|
-
try {
|
135
|
-
// Initialize the default "memories" index
|
136
|
-
yield this.initializeStorage(roomId);
|
137
|
-
}
|
138
|
-
catch (error) {
|
139
|
-
const errorMessage = error instanceof Error ? error.message : "Unknown error";
|
140
|
-
console.error("Failed to initialize default index:", errorMessage);
|
141
|
-
throw new Error(`Failed to initialize default index: ${errorMessage}`);
|
142
|
-
}
|
143
|
-
});
|
144
|
-
}
|
145
|
-
/**
|
146
|
-
* Performs a search in the Meilisearch index
|
147
|
-
* @private
|
148
|
-
* @param {string} query - Search query
|
149
|
-
* @param {string} roomId - Room identifier
|
150
|
-
* @param {Object} [options] - Search options
|
151
|
-
* @param {number} [options.limit] - Maximum number of results
|
152
|
-
* @param {number} [options.threshold] - Minimum score threshold
|
153
|
-
* @returns {Promise<SearchResult[]>} Search results
|
154
|
-
*/
|
155
|
-
search(query, roomId, options) {
|
156
|
-
return __awaiter(this, void 0, void 0, function* () {
|
157
|
-
const searchResults = yield this.makeRequest(`/indexes/${roomId}/search`, {
|
158
|
-
method: "POST",
|
159
|
-
body: JSON.stringify({
|
160
|
-
q: query,
|
161
|
-
limit: (options === null || options === void 0 ? void 0 : options.limit) || 10,
|
162
|
-
}),
|
163
|
-
});
|
164
|
-
if (!searchResults.hits) {
|
165
|
-
return [];
|
166
|
-
}
|
167
|
-
return searchResults.hits.map((hit) => ({
|
168
|
-
document: {
|
169
|
-
id: hit.id,
|
170
|
-
data: hit.data,
|
171
|
-
embedding: hit.embedding,
|
172
|
-
roomId: hit.roomId,
|
173
|
-
createdAt: hit.createdAt,
|
174
|
-
},
|
175
|
-
score: hit._score || 0,
|
176
|
-
}));
|
177
|
-
});
|
178
|
-
}
|
179
|
-
/**
|
180
|
-
* Creates a new memory entry
|
181
|
-
* @param {CreateMemoryInput & { embedding?: number[] }} input - Memory data with optional embedding
|
182
|
-
* @returns {Promise<BaseMemoryType | undefined>} Created memory or undefined
|
183
|
-
*/
|
184
|
-
createMemory(input) {
|
185
|
-
return __awaiter(this, void 0, void 0, function* () {
|
186
|
-
// Initialize storage for this roomId if needed
|
187
|
-
yield this.initializeStorage(input.roomId);
|
188
|
-
// Check if the memory already exists
|
189
|
-
const existingMemory = yield this.search(input.data, input.roomId, {
|
190
|
-
limit: 1,
|
191
|
-
});
|
192
|
-
if (existingMemory.length > 0) {
|
193
|
-
return existingMemory[0].document;
|
194
|
-
}
|
195
|
-
// If not found, create new memory
|
196
|
-
const memory = {
|
197
|
-
id: input.id || crypto.randomUUID(),
|
198
|
-
data: input.data,
|
199
|
-
embedding: input.embedding,
|
200
|
-
roomId: input.roomId,
|
201
|
-
createdAt: new Date(),
|
202
|
-
};
|
203
|
-
yield this.addDocuments([memory], input.roomId);
|
204
|
-
return memory;
|
205
|
-
});
|
206
|
-
}
|
207
|
-
/**
|
208
|
-
* Retrieves a memory by ID and room ID
|
209
|
-
* @param {string} id - Memory identifier
|
210
|
-
* @param {string} roomId - Room identifier
|
211
|
-
* @returns {Promise<BaseMemoryType | null>} Memory entry or null if not found
|
212
|
-
*/
|
213
|
-
getMemoryById(id, roomId) {
|
214
|
-
return __awaiter(this, void 0, void 0, function* () {
|
215
|
-
try {
|
216
|
-
const result = yield this.makeRequest(`/indexes/${roomId}/documents/${id}`);
|
217
|
-
return result
|
218
|
-
? {
|
219
|
-
id: result.id,
|
220
|
-
data: result.data,
|
221
|
-
embedding: result.embedding,
|
222
|
-
roomId: result.roomId,
|
223
|
-
createdAt: result.createdAt,
|
224
|
-
}
|
225
|
-
: null;
|
226
|
-
}
|
227
|
-
catch (_a) {
|
228
|
-
return null;
|
229
|
-
}
|
230
|
-
});
|
231
|
-
}
|
232
|
-
/**
|
233
|
-
* Searches for memories based on query and options
|
234
|
-
* @param {string} query - Search query
|
235
|
-
* @param {Object} options - Search options
|
236
|
-
* @param {string} options.roomId - Room identifier
|
237
|
-
* @param {number} [options.limit] - Maximum number of results
|
238
|
-
* @returns {Promise<BaseMemoryType[]>} Array of matching memories
|
239
|
-
*/
|
240
|
-
getMemoryByIndex(query, options) {
|
241
|
-
return __awaiter(this, void 0, void 0, function* () {
|
242
|
-
const results = yield this.search(query, options.roomId, {
|
243
|
-
limit: options.limit,
|
244
|
-
});
|
245
|
-
return results
|
246
|
-
.filter((result) => result.document.roomId === options.roomId)
|
247
|
-
.map((result) => ({
|
248
|
-
id: result.document.id,
|
249
|
-
data: result.document.data,
|
250
|
-
embedding: result.document.embedding,
|
251
|
-
roomId: result.document.roomId,
|
252
|
-
createdAt: result.document.createdAt,
|
253
|
-
}));
|
254
|
-
});
|
255
|
-
}
|
256
|
-
/**
|
257
|
-
* Retrieves all memories for a room
|
258
|
-
* @param {string} roomId - Room identifier
|
259
|
-
* @returns {Promise<BaseMemoryType[]>} Array of all memories
|
260
|
-
*/
|
261
|
-
getAllMemories(roomId) {
|
262
|
-
return __awaiter(this, void 0, void 0, function* () {
|
263
|
-
const results = yield this.makeRequest(`/indexes/${roomId}/documents`);
|
264
|
-
if (results.total === 0) {
|
265
|
-
return [];
|
266
|
-
}
|
267
|
-
return results.results.map((doc) => ({
|
268
|
-
id: doc.id,
|
269
|
-
data: doc.data,
|
270
|
-
embedding: doc.embedding,
|
271
|
-
roomId: doc.roomId,
|
272
|
-
createdAt: doc.createdAt,
|
273
|
-
}));
|
274
|
-
});
|
275
|
-
}
|
276
|
-
/**
|
277
|
-
* Deletes a specific memory
|
278
|
-
* @param {string} id - Memory identifier
|
279
|
-
* @param {string} roomId - Room identifier
|
280
|
-
* @returns {Promise<void>}
|
281
|
-
*/
|
282
|
-
clearMemoryById(id, roomId) {
|
283
|
-
return __awaiter(this, void 0, void 0, function* () {
|
284
|
-
try {
|
285
|
-
// Ensure the index exists before attempting to delete
|
286
|
-
yield this.initializeStorage(roomId);
|
287
|
-
yield this.makeRequest(`/indexes/${roomId}/documents/${id}`, {
|
288
|
-
method: "DELETE",
|
289
|
-
});
|
290
|
-
}
|
291
|
-
catch (error) {
|
292
|
-
const errorMessage = error instanceof Error ? error.message : "Unknown error";
|
293
|
-
console.error(`Error clearing memory ${id} from index ${roomId}:`, errorMessage);
|
294
|
-
throw new Error(`Failed to clear memory ${id} from index ${roomId}: ${errorMessage}`);
|
295
|
-
}
|
296
|
-
});
|
297
|
-
}
|
298
|
-
/**
|
299
|
-
* Clears all memories across all rooms
|
300
|
-
* @returns {Promise<void>}
|
301
|
-
*/
|
302
|
-
clearAllMemories() {
|
303
|
-
return __awaiter(this, void 0, void 0, function* () {
|
304
|
-
try {
|
305
|
-
// Get all indexes
|
306
|
-
const response = yield this.makeRequest("/indexes");
|
307
|
-
const indexes = response.results || [];
|
308
|
-
// Delete each index
|
309
|
-
for (const index of indexes) {
|
310
|
-
yield this.deleteStorage(index.uid);
|
311
|
-
}
|
312
|
-
}
|
313
|
-
catch (error) {
|
314
|
-
const errorMessage = error instanceof Error ? error.message : "Unknown error";
|
315
|
-
throw new Error(`Failed to clear all memories: ${errorMessage}`);
|
316
|
-
}
|
317
|
-
});
|
318
|
-
}
|
319
|
-
}
|
320
|
-
exports.MeilisearchAdapter = MeilisearchAdapter;
|
321
|
-
//# sourceMappingURL=index.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../modules/memory/adapters/meilisearch/index.ts"],"names":[],"mappings":"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"}
|