@elizaos/plugin-localdb 2.0.0-alpha.1
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/browser/adapter.d.ts +157 -0
- package/dist/browser/adapter.d.ts.map +1 -0
- package/dist/browser/adapter.js +636 -0
- package/dist/browser/adapter.js.map +1 -0
- package/dist/browser/generated/specs/specs.d.ts +55 -0
- package/dist/browser/generated/specs/specs.d.ts.map +1 -0
- package/dist/browser/generated/specs/specs.js +35 -0
- package/dist/browser/generated/specs/specs.js.map +1 -0
- package/dist/browser/hnsw.d.ts +45 -0
- package/dist/browser/hnsw.d.ts.map +1 -0
- package/dist/browser/hnsw.js +291 -0
- package/dist/browser/hnsw.js.map +1 -0
- package/dist/browser/index.browser.d.ts +11 -0
- package/dist/browser/index.browser.d.ts.map +1 -0
- package/dist/browser/index.browser.js +42 -0
- package/dist/browser/index.browser.js.map +1 -0
- package/dist/browser/index.d.ts +2 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +3 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/index.node.d.ts +11 -0
- package/dist/browser/index.node.d.ts.map +1 -0
- package/dist/browser/index.node.js +43 -0
- package/dist/browser/index.node.js.map +1 -0
- package/dist/browser/storage-browser.d.ts +23 -0
- package/dist/browser/storage-browser.d.ts.map +1 -0
- package/dist/browser/storage-browser.js +118 -0
- package/dist/browser/storage-browser.js.map +1 -0
- package/dist/browser/storage-node.d.ts +22 -0
- package/dist/browser/storage-node.d.ts.map +1 -0
- package/dist/browser/storage-node.js +156 -0
- package/dist/browser/storage-node.js.map +1 -0
- package/dist/browser/types.d.ts +50 -0
- package/dist/browser/types.d.ts.map +1 -0
- package/dist/browser/types.js +15 -0
- package/dist/browser/types.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/node/adapter.d.ts +157 -0
- package/dist/node/adapter.d.ts.map +1 -0
- package/dist/node/adapter.js +636 -0
- package/dist/node/adapter.js.map +1 -0
- package/dist/node/generated/specs/specs.d.ts +55 -0
- package/dist/node/generated/specs/specs.d.ts.map +1 -0
- package/dist/node/generated/specs/specs.js +35 -0
- package/dist/node/generated/specs/specs.js.map +1 -0
- package/dist/node/hnsw.d.ts +45 -0
- package/dist/node/hnsw.d.ts.map +1 -0
- package/dist/node/hnsw.js +291 -0
- package/dist/node/hnsw.js.map +1 -0
- package/dist/node/index.browser.d.ts +11 -0
- package/dist/node/index.browser.d.ts.map +1 -0
- package/dist/node/index.browser.js +42 -0
- package/dist/node/index.browser.js.map +1 -0
- package/dist/node/index.d.ts +2 -0
- package/dist/node/index.d.ts.map +1 -0
- package/dist/node/index.js +3 -0
- package/dist/node/index.js.map +1 -0
- package/dist/node/index.node.d.ts +11 -0
- package/dist/node/index.node.d.ts.map +1 -0
- package/dist/node/index.node.js +43 -0
- package/dist/node/index.node.js.map +1 -0
- package/dist/node/storage-browser.d.ts +23 -0
- package/dist/node/storage-browser.d.ts.map +1 -0
- package/dist/node/storage-browser.js +118 -0
- package/dist/node/storage-browser.js.map +1 -0
- package/dist/node/storage-node.d.ts +22 -0
- package/dist/node/storage-node.d.ts.map +1 -0
- package/dist/node/storage-node.js +156 -0
- package/dist/node/storage-node.js.map +1 -0
- package/dist/node/types.d.ts +50 -0
- package/dist/node/types.d.ts.map +1 -0
- package/dist/node/types.js +15 -0
- package/dist/node/types.js.map +1 -0
- package/package.json +64 -0
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
export class BrowserStorage {
|
|
2
|
+
prefix;
|
|
3
|
+
ready = false;
|
|
4
|
+
constructor(prefix = "elizaos") {
|
|
5
|
+
this.prefix = prefix;
|
|
6
|
+
}
|
|
7
|
+
async init() {
|
|
8
|
+
this.ready = typeof localStorage !== "undefined";
|
|
9
|
+
if (!this.ready) {
|
|
10
|
+
throw new Error("localStorage is not available in this environment");
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
async close() {
|
|
14
|
+
this.ready = false;
|
|
15
|
+
}
|
|
16
|
+
async isReady() {
|
|
17
|
+
return this.ready;
|
|
18
|
+
}
|
|
19
|
+
getKey(collection, id) {
|
|
20
|
+
return `${this.prefix}:${collection}:${id}`;
|
|
21
|
+
}
|
|
22
|
+
getCollectionPrefix(collection) {
|
|
23
|
+
return `${this.prefix}:${collection}:`;
|
|
24
|
+
}
|
|
25
|
+
getAllKeysForCollection(collection) {
|
|
26
|
+
const prefix = this.getCollectionPrefix(collection);
|
|
27
|
+
const keys = [];
|
|
28
|
+
for (let i = 0; i < localStorage.length; i++) {
|
|
29
|
+
const key = localStorage.key(i);
|
|
30
|
+
if (key?.startsWith(prefix)) {
|
|
31
|
+
keys.push(key);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return keys;
|
|
35
|
+
}
|
|
36
|
+
async get(collection, id) {
|
|
37
|
+
try {
|
|
38
|
+
const key = this.getKey(collection, id);
|
|
39
|
+
const data = localStorage.getItem(key);
|
|
40
|
+
if (!data)
|
|
41
|
+
return null;
|
|
42
|
+
return JSON.parse(data);
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
async getAll(collection) {
|
|
49
|
+
const keys = this.getAllKeysForCollection(collection);
|
|
50
|
+
const items = [];
|
|
51
|
+
for (const key of keys) {
|
|
52
|
+
try {
|
|
53
|
+
const data = localStorage.getItem(key);
|
|
54
|
+
if (data) {
|
|
55
|
+
items.push(JSON.parse(data));
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
// Skip invalid items
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return items;
|
|
63
|
+
}
|
|
64
|
+
async getWhere(collection, predicate) {
|
|
65
|
+
const all = await this.getAll(collection);
|
|
66
|
+
return all.filter(predicate);
|
|
67
|
+
}
|
|
68
|
+
async set(collection, id, data) {
|
|
69
|
+
const key = this.getKey(collection, id);
|
|
70
|
+
localStorage.setItem(key, JSON.stringify(data));
|
|
71
|
+
}
|
|
72
|
+
async delete(collection, id) {
|
|
73
|
+
const key = this.getKey(collection, id);
|
|
74
|
+
if (localStorage.getItem(key) === null) {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
localStorage.removeItem(key);
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
async deleteMany(collection, ids) {
|
|
81
|
+
for (const id of ids) {
|
|
82
|
+
await this.delete(collection, id);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
async deleteWhere(collection, predicate) {
|
|
86
|
+
const keys = this.getAllKeysForCollection(collection);
|
|
87
|
+
for (const key of keys) {
|
|
88
|
+
try {
|
|
89
|
+
const data = localStorage.getItem(key);
|
|
90
|
+
if (data) {
|
|
91
|
+
const item = JSON.parse(data);
|
|
92
|
+
if (predicate(item)) {
|
|
93
|
+
localStorage.removeItem(key);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
// Skip invalid items
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
async count(collection, predicate) {
|
|
103
|
+
if (!predicate) {
|
|
104
|
+
return this.getAllKeysForCollection(collection).length;
|
|
105
|
+
}
|
|
106
|
+
const items = await this.getAll(collection);
|
|
107
|
+
return items.filter(predicate).length;
|
|
108
|
+
}
|
|
109
|
+
async saveRaw(filename, data) {
|
|
110
|
+
const key = `${this.prefix}:_raw:${filename}`;
|
|
111
|
+
localStorage.setItem(key, data);
|
|
112
|
+
}
|
|
113
|
+
async loadRaw(filename) {
|
|
114
|
+
const key = `${this.prefix}:_raw:${filename}`;
|
|
115
|
+
return localStorage.getItem(key);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=storage-browser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage-browser.js","sourceRoot":"","sources":["../../storage-browser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { IStorage } from "./types";
|
|
2
|
+
export declare class NodeStorage implements IStorage {
|
|
3
|
+
private dataDir;
|
|
4
|
+
private ready;
|
|
5
|
+
constructor(dataDir: string);
|
|
6
|
+
init(): Promise<void>;
|
|
7
|
+
close(): Promise<void>;
|
|
8
|
+
isReady(): Promise<boolean>;
|
|
9
|
+
private getCollectionDir;
|
|
10
|
+
private getFilePath;
|
|
11
|
+
get<T>(collection: string, id: string): Promise<T | null>;
|
|
12
|
+
getAll<T>(collection: string): Promise<T[]>;
|
|
13
|
+
getWhere<T>(collection: string, predicate: (item: T) => boolean): Promise<T[]>;
|
|
14
|
+
set<T>(collection: string, id: string, data: T): Promise<void>;
|
|
15
|
+
delete(collection: string, id: string): Promise<boolean>;
|
|
16
|
+
deleteMany(collection: string, ids: string[]): Promise<void>;
|
|
17
|
+
deleteWhere<T = Record<string, unknown>>(collection: string, predicate: (item: T) => boolean): Promise<void>;
|
|
18
|
+
count<T = Record<string, unknown>>(collection: string, predicate?: (item: T) => boolean): Promise<number>;
|
|
19
|
+
saveRaw(filename: string, data: string): Promise<void>;
|
|
20
|
+
loadRaw(filename: string): Promise<string | null>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=storage-node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage-node.d.ts","sourceRoot":"","sources":["../../storage-node.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,qBAAa,WAAY,YAAW,QAAQ;IAC1C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAS;gBAEV,OAAO,EAAE,MAAM;IAIrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAOrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAIjC,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,WAAW;IAKb,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAazD,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAuB3C,QAAQ,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAK9E,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAS9D,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAaxD,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5D,WAAW,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3C,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAC9B,OAAO,CAAC,IAAI,CAAC;IAwBV,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAC/B,OAAO,CAAC,MAAM,CAAC;IAkBZ,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAStD,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAWxD"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { existsSync } from "node:fs";
|
|
2
|
+
import { mkdir, readdir, readFile, rm, writeFile } from "node:fs/promises";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
export class NodeStorage {
|
|
5
|
+
dataDir;
|
|
6
|
+
ready = false;
|
|
7
|
+
constructor(dataDir) {
|
|
8
|
+
this.dataDir = dataDir;
|
|
9
|
+
}
|
|
10
|
+
async init() {
|
|
11
|
+
if (!existsSync(this.dataDir)) {
|
|
12
|
+
await mkdir(this.dataDir, { recursive: true });
|
|
13
|
+
}
|
|
14
|
+
this.ready = true;
|
|
15
|
+
}
|
|
16
|
+
async close() {
|
|
17
|
+
this.ready = false;
|
|
18
|
+
}
|
|
19
|
+
async isReady() {
|
|
20
|
+
return this.ready;
|
|
21
|
+
}
|
|
22
|
+
getCollectionDir(collection) {
|
|
23
|
+
return join(this.dataDir, collection);
|
|
24
|
+
}
|
|
25
|
+
getFilePath(collection, id) {
|
|
26
|
+
const safeId = id.replace(/[^a-zA-Z0-9-_]/g, "_");
|
|
27
|
+
return join(this.getCollectionDir(collection), `${safeId}.json`);
|
|
28
|
+
}
|
|
29
|
+
async get(collection, id) {
|
|
30
|
+
const filePath = this.getFilePath(collection, id);
|
|
31
|
+
try {
|
|
32
|
+
if (!existsSync(filePath)) {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
const content = await readFile(filePath, "utf-8");
|
|
36
|
+
return JSON.parse(content);
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
async getAll(collection) {
|
|
43
|
+
const collectionDir = this.getCollectionDir(collection);
|
|
44
|
+
try {
|
|
45
|
+
if (!existsSync(collectionDir)) {
|
|
46
|
+
return [];
|
|
47
|
+
}
|
|
48
|
+
const files = await readdir(collectionDir);
|
|
49
|
+
const items = [];
|
|
50
|
+
for (const file of files) {
|
|
51
|
+
if (!file.endsWith(".json"))
|
|
52
|
+
continue;
|
|
53
|
+
try {
|
|
54
|
+
const content = await readFile(join(collectionDir, file), "utf-8");
|
|
55
|
+
items.push(JSON.parse(content));
|
|
56
|
+
}
|
|
57
|
+
catch { }
|
|
58
|
+
}
|
|
59
|
+
return items;
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
return [];
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
async getWhere(collection, predicate) {
|
|
66
|
+
const all = await this.getAll(collection);
|
|
67
|
+
return all.filter(predicate);
|
|
68
|
+
}
|
|
69
|
+
async set(collection, id, data) {
|
|
70
|
+
const collectionDir = this.getCollectionDir(collection);
|
|
71
|
+
if (!existsSync(collectionDir)) {
|
|
72
|
+
await mkdir(collectionDir, { recursive: true });
|
|
73
|
+
}
|
|
74
|
+
const filePath = this.getFilePath(collection, id);
|
|
75
|
+
await writeFile(filePath, JSON.stringify(data, null, 2), "utf-8");
|
|
76
|
+
}
|
|
77
|
+
async delete(collection, id) {
|
|
78
|
+
const filePath = this.getFilePath(collection, id);
|
|
79
|
+
try {
|
|
80
|
+
if (!existsSync(filePath)) {
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
await rm(filePath);
|
|
84
|
+
return true;
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
async deleteMany(collection, ids) {
|
|
91
|
+
await Promise.all(ids.map((id) => this.delete(collection, id)));
|
|
92
|
+
}
|
|
93
|
+
async deleteWhere(collection, predicate) {
|
|
94
|
+
const collectionDir = this.getCollectionDir(collection);
|
|
95
|
+
try {
|
|
96
|
+
if (!existsSync(collectionDir)) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
const files = await readdir(collectionDir);
|
|
100
|
+
for (const file of files) {
|
|
101
|
+
if (!file.endsWith(".json"))
|
|
102
|
+
continue;
|
|
103
|
+
try {
|
|
104
|
+
const filePath = join(collectionDir, file);
|
|
105
|
+
const content = await readFile(filePath, "utf-8");
|
|
106
|
+
const item = JSON.parse(content);
|
|
107
|
+
if (predicate(item)) {
|
|
108
|
+
await rm(filePath);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
catch { }
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
catch {
|
|
115
|
+
// Ignore errors
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
async count(collection, predicate) {
|
|
119
|
+
if (!predicate) {
|
|
120
|
+
const collectionDir = this.getCollectionDir(collection);
|
|
121
|
+
try {
|
|
122
|
+
if (!existsSync(collectionDir)) {
|
|
123
|
+
return 0;
|
|
124
|
+
}
|
|
125
|
+
const files = await readdir(collectionDir);
|
|
126
|
+
return files.filter((f) => f.endsWith(".json")).length;
|
|
127
|
+
}
|
|
128
|
+
catch {
|
|
129
|
+
return 0;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
const items = await this.getAll(collection);
|
|
133
|
+
return items.filter(predicate).length;
|
|
134
|
+
}
|
|
135
|
+
async saveRaw(filename, data) {
|
|
136
|
+
const filePath = join(this.dataDir, filename);
|
|
137
|
+
const dir = join(this.dataDir, filename.split("/").slice(0, -1).join("/"));
|
|
138
|
+
if (dir && dir !== this.dataDir && !existsSync(dir)) {
|
|
139
|
+
await mkdir(dir, { recursive: true });
|
|
140
|
+
}
|
|
141
|
+
await writeFile(filePath, data, "utf-8");
|
|
142
|
+
}
|
|
143
|
+
async loadRaw(filename) {
|
|
144
|
+
const filePath = join(this.dataDir, filename);
|
|
145
|
+
try {
|
|
146
|
+
if (!existsSync(filePath)) {
|
|
147
|
+
return null;
|
|
148
|
+
}
|
|
149
|
+
return await readFile(filePath, "utf-8");
|
|
150
|
+
}
|
|
151
|
+
catch {
|
|
152
|
+
return null;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=storage-node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage-node.js","sourceRoot":"","sources":["../../storage-node.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export interface IStorage {
|
|
2
|
+
saveRaw(filename: string, data: string): Promise<void>;
|
|
3
|
+
loadRaw(filename: string): Promise<string | null>;
|
|
4
|
+
init(): Promise<void>;
|
|
5
|
+
close(): Promise<void>;
|
|
6
|
+
isReady(): Promise<boolean>;
|
|
7
|
+
get<T>(collection: string, id: string): Promise<T | null>;
|
|
8
|
+
getAll<T>(collection: string): Promise<T[]>;
|
|
9
|
+
getWhere<T>(collection: string, predicate: (item: T) => boolean): Promise<T[]>;
|
|
10
|
+
set<T>(collection: string, id: string, data: T): Promise<void>;
|
|
11
|
+
delete(collection: string, id: string): Promise<boolean>;
|
|
12
|
+
deleteMany(collection: string, ids: string[]): Promise<void>;
|
|
13
|
+
deleteWhere<T = Record<string, string | number | boolean | null | undefined | string[]>>(collection: string, predicate: (item: T) => boolean): Promise<void>;
|
|
14
|
+
count<T = Record<string, string | number | boolean | null | undefined | string[]>>(collection: string, predicate?: (item: T) => boolean): Promise<number>;
|
|
15
|
+
}
|
|
16
|
+
export interface IVectorStorage {
|
|
17
|
+
init(dimension: number): Promise<void>;
|
|
18
|
+
add(id: string, vector: number[]): Promise<void>;
|
|
19
|
+
remove(id: string): Promise<void>;
|
|
20
|
+
search(query: number[], k: number, threshold?: number): Promise<VectorSearchResult[]>;
|
|
21
|
+
save(): Promise<void>;
|
|
22
|
+
load(): Promise<void>;
|
|
23
|
+
}
|
|
24
|
+
export interface VectorSearchResult {
|
|
25
|
+
id: string;
|
|
26
|
+
distance: number;
|
|
27
|
+
similarity: number;
|
|
28
|
+
}
|
|
29
|
+
export interface StoredItem<T> {
|
|
30
|
+
id: string;
|
|
31
|
+
data: T;
|
|
32
|
+
createdAt: number;
|
|
33
|
+
updatedAt: number;
|
|
34
|
+
}
|
|
35
|
+
export declare const COLLECTIONS: {
|
|
36
|
+
readonly AGENTS: "agents";
|
|
37
|
+
readonly ENTITIES: "entities";
|
|
38
|
+
readonly MEMORIES: "memories";
|
|
39
|
+
readonly ROOMS: "rooms";
|
|
40
|
+
readonly WORLDS: "worlds";
|
|
41
|
+
readonly COMPONENTS: "components";
|
|
42
|
+
readonly RELATIONSHIPS: "relationships";
|
|
43
|
+
readonly PARTICIPANTS: "participants";
|
|
44
|
+
readonly TASKS: "tasks";
|
|
45
|
+
readonly CACHE: "cache";
|
|
46
|
+
readonly LOGS: "logs";
|
|
47
|
+
readonly EMBEDDINGS: "embeddings";
|
|
48
|
+
};
|
|
49
|
+
export type CollectionName = (typeof COLLECTIONS)[keyof typeof COLLECTIONS];
|
|
50
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export const COLLECTIONS = {
|
|
2
|
+
AGENTS: "agents",
|
|
3
|
+
ENTITIES: "entities",
|
|
4
|
+
MEMORIES: "memories",
|
|
5
|
+
ROOMS: "rooms",
|
|
6
|
+
WORLDS: "worlds",
|
|
7
|
+
COMPONENTS: "components",
|
|
8
|
+
RELATIONSHIPS: "relationships",
|
|
9
|
+
PARTICIPANTS: "participants",
|
|
10
|
+
TASKS: "tasks",
|
|
11
|
+
CACHE: "cache",
|
|
12
|
+
LOGS: "logs",
|
|
13
|
+
EMBEDDINGS: "embeddings",
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../types.ts"],"names":[],"mappings":"AA4CA,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;IACxB,aAAa,EAAE,eAAe;IAC9B,YAAY,EAAE,cAAc;IAC5B,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,YAAY;CAChB,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { type Agent, type Component, DatabaseAdapter, type Entity, type Log, type LogBody, type Memory, type MemoryMetadata, type Metadata, type Participant, type Relationship, type Room, type Task, type UUID, type World } from "@elizaos/core";
|
|
2
|
+
import { type IStorage } from "./types";
|
|
3
|
+
export declare class LocalDatabaseAdapter extends DatabaseAdapter<IStorage> {
|
|
4
|
+
private storage;
|
|
5
|
+
private vectorIndex;
|
|
6
|
+
private embeddingDimension;
|
|
7
|
+
private ready;
|
|
8
|
+
private agentId;
|
|
9
|
+
constructor(storage: IStorage, agentId: UUID);
|
|
10
|
+
initialize(): Promise<void>;
|
|
11
|
+
init(): Promise<void>;
|
|
12
|
+
runPluginMigrations(_plugins: Array<{
|
|
13
|
+
name: string;
|
|
14
|
+
schema?: Record<string, unknown>;
|
|
15
|
+
}>, _options?: {
|
|
16
|
+
verbose?: boolean;
|
|
17
|
+
force?: boolean;
|
|
18
|
+
dryRun?: boolean;
|
|
19
|
+
}): Promise<void>;
|
|
20
|
+
isReady(): Promise<boolean>;
|
|
21
|
+
close(): Promise<void>;
|
|
22
|
+
getConnection(): Promise<IStorage>;
|
|
23
|
+
getAgent(agentId: UUID): Promise<Agent | null>;
|
|
24
|
+
getAgents(): Promise<Partial<Agent>[]>;
|
|
25
|
+
createAgent(agent: Partial<Agent>): Promise<boolean>;
|
|
26
|
+
updateAgent(agentId: UUID, agent: Partial<Agent>): Promise<boolean>;
|
|
27
|
+
deleteAgent(agentId: UUID): Promise<boolean>;
|
|
28
|
+
ensureEmbeddingDimension(dimension: number): Promise<void>;
|
|
29
|
+
getEntitiesByIds(entityIds: UUID[]): Promise<Entity[] | null>;
|
|
30
|
+
getEntitiesForRoom(roomId: UUID, includeComponents?: boolean): Promise<Entity[]>;
|
|
31
|
+
createEntities(entities: Entity[]): Promise<boolean>;
|
|
32
|
+
updateEntity(entity: Entity): Promise<void>;
|
|
33
|
+
getComponent(entityId: UUID, type: string, worldId?: UUID, sourceEntityId?: UUID): Promise<Component | null>;
|
|
34
|
+
getComponents(entityId: UUID, worldId?: UUID, sourceEntityId?: UUID): Promise<Component[]>;
|
|
35
|
+
createComponent(component: Component): Promise<boolean>;
|
|
36
|
+
updateComponent(component: Component): Promise<void>;
|
|
37
|
+
deleteComponent(componentId: UUID): Promise<void>;
|
|
38
|
+
getMemories(params: {
|
|
39
|
+
entityId?: UUID;
|
|
40
|
+
agentId?: UUID;
|
|
41
|
+
count?: number;
|
|
42
|
+
offset?: number;
|
|
43
|
+
unique?: boolean;
|
|
44
|
+
tableName: string;
|
|
45
|
+
start?: number;
|
|
46
|
+
end?: number;
|
|
47
|
+
roomId?: UUID;
|
|
48
|
+
worldId?: UUID;
|
|
49
|
+
}): Promise<Memory[]>;
|
|
50
|
+
getMemoriesByRoomIds(params: {
|
|
51
|
+
roomIds: UUID[];
|
|
52
|
+
tableName: string;
|
|
53
|
+
limit?: number;
|
|
54
|
+
}): Promise<Memory[]>;
|
|
55
|
+
getMemoryById(id: UUID): Promise<Memory | null>;
|
|
56
|
+
getMemoriesByIds(memoryIds: UUID[], tableName?: string): Promise<Memory[]>;
|
|
57
|
+
getCachedEmbeddings(params: {
|
|
58
|
+
query_table_name: string;
|
|
59
|
+
query_threshold: number;
|
|
60
|
+
query_input: string;
|
|
61
|
+
query_field_name: string;
|
|
62
|
+
query_field_sub_name: string;
|
|
63
|
+
query_match_count: number;
|
|
64
|
+
}): Promise<{
|
|
65
|
+
embedding: number[];
|
|
66
|
+
levenshtein_score: number;
|
|
67
|
+
}[]>;
|
|
68
|
+
private simpleStringScore;
|
|
69
|
+
log(params: {
|
|
70
|
+
body: LogBody;
|
|
71
|
+
entityId: UUID;
|
|
72
|
+
roomId: UUID;
|
|
73
|
+
type: string;
|
|
74
|
+
}): Promise<void>;
|
|
75
|
+
getLogs(params: {
|
|
76
|
+
entityId?: UUID;
|
|
77
|
+
roomId?: UUID;
|
|
78
|
+
type?: string;
|
|
79
|
+
count?: number;
|
|
80
|
+
offset?: number;
|
|
81
|
+
}): Promise<Log[]>;
|
|
82
|
+
deleteLog(logId: UUID): Promise<void>;
|
|
83
|
+
searchMemories(params: {
|
|
84
|
+
tableName: string;
|
|
85
|
+
embedding: number[];
|
|
86
|
+
match_threshold?: number;
|
|
87
|
+
count?: number;
|
|
88
|
+
unique?: boolean;
|
|
89
|
+
query?: string;
|
|
90
|
+
roomId?: UUID;
|
|
91
|
+
worldId?: UUID;
|
|
92
|
+
entityId?: UUID;
|
|
93
|
+
}): Promise<Memory[]>;
|
|
94
|
+
createMemory(memory: Memory, tableName: string, unique?: boolean): Promise<UUID>;
|
|
95
|
+
updateMemory(memory: Partial<Memory> & {
|
|
96
|
+
id: UUID;
|
|
97
|
+
metadata?: MemoryMetadata;
|
|
98
|
+
}): Promise<boolean>;
|
|
99
|
+
deleteMemory(memoryId: UUID): Promise<void>;
|
|
100
|
+
deleteManyMemories(memoryIds: UUID[]): Promise<void>;
|
|
101
|
+
deleteAllMemories(roomId: UUID, tableName: string): Promise<void>;
|
|
102
|
+
countMemories(roomId: UUID, unique?: boolean, tableName?: string): Promise<number>;
|
|
103
|
+
getMemoriesByWorldId(params: {
|
|
104
|
+
worldId: UUID;
|
|
105
|
+
count?: number;
|
|
106
|
+
tableName?: string;
|
|
107
|
+
}): Promise<Memory[]>;
|
|
108
|
+
createWorld(world: World): Promise<UUID>;
|
|
109
|
+
getWorld(id: UUID): Promise<World | null>;
|
|
110
|
+
removeWorld(id: UUID): Promise<void>;
|
|
111
|
+
getAllWorlds(): Promise<World[]>;
|
|
112
|
+
updateWorld(world: World): Promise<void>;
|
|
113
|
+
getRoomsByIds(roomIds: UUID[]): Promise<Room[] | null>;
|
|
114
|
+
createRooms(rooms: Room[]): Promise<UUID[]>;
|
|
115
|
+
deleteRoom(roomId: UUID): Promise<void>;
|
|
116
|
+
deleteRoomsByWorldId(worldId: UUID): Promise<void>;
|
|
117
|
+
updateRoom(room: Room): Promise<void>;
|
|
118
|
+
getRoomsForParticipant(entityId: UUID): Promise<UUID[]>;
|
|
119
|
+
getRoomsForParticipants(userIds: UUID[]): Promise<UUID[]>;
|
|
120
|
+
getRoomsByWorld(worldId: UUID): Promise<Room[]>;
|
|
121
|
+
removeParticipant(entityId: UUID, roomId: UUID): Promise<boolean>;
|
|
122
|
+
getParticipantsForEntity(entityId: UUID): Promise<Participant[]>;
|
|
123
|
+
getParticipantsForRoom(roomId: UUID): Promise<UUID[]>;
|
|
124
|
+
isRoomParticipant(roomId: UUID, entityId: UUID): Promise<boolean>;
|
|
125
|
+
addParticipantsRoom(entityIds: UUID[], roomId: UUID): Promise<boolean>;
|
|
126
|
+
getParticipantUserState(roomId: UUID, entityId: UUID): Promise<"FOLLOWED" | "MUTED" | null>;
|
|
127
|
+
setParticipantUserState(roomId: UUID, entityId: UUID, state: "FOLLOWED" | "MUTED" | null): Promise<void>;
|
|
128
|
+
createRelationship(params: {
|
|
129
|
+
sourceEntityId: UUID;
|
|
130
|
+
targetEntityId: UUID;
|
|
131
|
+
tags?: string[];
|
|
132
|
+
metadata?: Metadata;
|
|
133
|
+
}): Promise<boolean>;
|
|
134
|
+
getRelationship(params: {
|
|
135
|
+
sourceEntityId: UUID;
|
|
136
|
+
targetEntityId: UUID;
|
|
137
|
+
}): Promise<Relationship | null>;
|
|
138
|
+
getRelationships(params: {
|
|
139
|
+
entityId: UUID;
|
|
140
|
+
tags?: string[];
|
|
141
|
+
}): Promise<Relationship[]>;
|
|
142
|
+
updateRelationship(relationship: Relationship): Promise<void>;
|
|
143
|
+
getCache<T>(key: string): Promise<T | undefined>;
|
|
144
|
+
setCache<T>(key: string, value: T): Promise<boolean>;
|
|
145
|
+
deleteCache(key: string): Promise<boolean>;
|
|
146
|
+
createTask(task: Task): Promise<UUID>;
|
|
147
|
+
getTasks(params: {
|
|
148
|
+
roomId?: UUID;
|
|
149
|
+
tags?: string[];
|
|
150
|
+
entityId?: UUID;
|
|
151
|
+
}): Promise<Task[]>;
|
|
152
|
+
getTask(id: UUID): Promise<Task | null>;
|
|
153
|
+
getTasksByName(name: string): Promise<Task[]>;
|
|
154
|
+
updateTask(id: UUID, task: Partial<Task>): Promise<void>;
|
|
155
|
+
deleteTask(id: UUID): Promise<void>;
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../adapter.ts"],"names":[],"mappings":"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"}
|