@elizaos/plugin-localdb 2.0.0-alpha.6 → 2.0.0-beta.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.
Files changed (87) hide show
  1. package/dist/index.browser.d.ts +7 -0
  2. package/dist/index.browser.js +113 -0
  3. package/dist/index.browser.js.map +1 -0
  4. package/dist/index.d.ts +7 -2
  5. package/dist/index.js +128 -0
  6. package/dist/index.js.map +1 -0
  7. package/package.json +38 -51
  8. package/dist/browser/adapter.d.ts +0 -164
  9. package/dist/browser/adapter.d.ts.map +0 -1
  10. package/dist/browser/adapter.js +0 -670
  11. package/dist/browser/adapter.js.map +0 -1
  12. package/dist/browser/generated/specs/specs.d.ts +0 -55
  13. package/dist/browser/generated/specs/specs.d.ts.map +0 -1
  14. package/dist/browser/generated/specs/specs.js +0 -35
  15. package/dist/browser/generated/specs/specs.js.map +0 -1
  16. package/dist/browser/hnsw.d.ts +0 -45
  17. package/dist/browser/hnsw.d.ts.map +0 -1
  18. package/dist/browser/hnsw.js +0 -291
  19. package/dist/browser/hnsw.js.map +0 -1
  20. package/dist/browser/index.browser.d.ts +0 -11
  21. package/dist/browser/index.browser.d.ts.map +0 -1
  22. package/dist/browser/index.browser.js +0 -42
  23. package/dist/browser/index.browser.js.map +0 -1
  24. package/dist/browser/index.d.ts +0 -2
  25. package/dist/browser/index.d.ts.map +0 -1
  26. package/dist/browser/index.js +0 -3
  27. package/dist/browser/index.js.map +0 -1
  28. package/dist/browser/index.node.d.ts +0 -11
  29. package/dist/browser/index.node.d.ts.map +0 -1
  30. package/dist/browser/index.node.js +0 -43
  31. package/dist/browser/index.node.js.map +0 -1
  32. package/dist/browser/storage-browser.d.ts +0 -23
  33. package/dist/browser/storage-browser.d.ts.map +0 -1
  34. package/dist/browser/storage-browser.js +0 -118
  35. package/dist/browser/storage-browser.js.map +0 -1
  36. package/dist/browser/storage-node.d.ts +0 -22
  37. package/dist/browser/storage-node.d.ts.map +0 -1
  38. package/dist/browser/storage-node.js +0 -156
  39. package/dist/browser/storage-node.js.map +0 -1
  40. package/dist/browser/types.d.ts +0 -52
  41. package/dist/browser/types.d.ts.map +0 -1
  42. package/dist/browser/types.js +0 -17
  43. package/dist/browser/types.js.map +0 -1
  44. package/dist/browser/vitest.config.d.ts +0 -3
  45. package/dist/browser/vitest.config.d.ts.map +0 -1
  46. package/dist/browser/vitest.config.js +0 -9
  47. package/dist/browser/vitest.config.js.map +0 -1
  48. package/dist/node/adapter.d.ts +0 -164
  49. package/dist/node/adapter.d.ts.map +0 -1
  50. package/dist/node/adapter.js +0 -670
  51. package/dist/node/adapter.js.map +0 -1
  52. package/dist/node/generated/specs/specs.d.ts +0 -55
  53. package/dist/node/generated/specs/specs.d.ts.map +0 -1
  54. package/dist/node/generated/specs/specs.js +0 -35
  55. package/dist/node/generated/specs/specs.js.map +0 -1
  56. package/dist/node/hnsw.d.ts +0 -45
  57. package/dist/node/hnsw.d.ts.map +0 -1
  58. package/dist/node/hnsw.js +0 -291
  59. package/dist/node/hnsw.js.map +0 -1
  60. package/dist/node/index.browser.d.ts +0 -11
  61. package/dist/node/index.browser.d.ts.map +0 -1
  62. package/dist/node/index.browser.js +0 -42
  63. package/dist/node/index.browser.js.map +0 -1
  64. package/dist/node/index.d.ts +0 -2
  65. package/dist/node/index.d.ts.map +0 -1
  66. package/dist/node/index.js +0 -3
  67. package/dist/node/index.js.map +0 -1
  68. package/dist/node/index.node.d.ts +0 -11
  69. package/dist/node/index.node.d.ts.map +0 -1
  70. package/dist/node/index.node.js +0 -43
  71. package/dist/node/index.node.js.map +0 -1
  72. package/dist/node/storage-browser.d.ts +0 -23
  73. package/dist/node/storage-browser.d.ts.map +0 -1
  74. package/dist/node/storage-browser.js +0 -118
  75. package/dist/node/storage-browser.js.map +0 -1
  76. package/dist/node/storage-node.d.ts +0 -22
  77. package/dist/node/storage-node.d.ts.map +0 -1
  78. package/dist/node/storage-node.js +0 -156
  79. package/dist/node/storage-node.js.map +0 -1
  80. package/dist/node/types.d.ts +0 -52
  81. package/dist/node/types.d.ts.map +0 -1
  82. package/dist/node/types.js +0 -17
  83. package/dist/node/types.js.map +0 -1
  84. package/dist/node/vitest.config.d.ts +0 -3
  85. package/dist/node/vitest.config.d.ts.map +0 -1
  86. package/dist/node/vitest.config.js +0 -9
  87. package/dist/node/vitest.config.js.map +0 -1
@@ -0,0 +1,7 @@
1
+ import { UUID, Plugin } from '@elizaos/core';
2
+ import { InMemoryDatabaseAdapter } from '@elizaos/plugin-inmemorydb';
3
+
4
+ declare function createDatabaseAdapter(agentId: UUID): InMemoryDatabaseAdapter;
5
+ declare const plugin: Plugin;
6
+
7
+ export { createDatabaseAdapter, plugin as default, plugin };
@@ -0,0 +1,113 @@
1
+ // index.browser.ts
2
+ import {
3
+ InMemoryDatabaseAdapter
4
+ } from "@elizaos/plugin-inmemorydb";
5
+ var BrowserLocalStorage = class {
6
+ constructor(key) {
7
+ this.key = key;
8
+ }
9
+ key;
10
+ collections = /* @__PURE__ */ new Map();
11
+ ready = false;
12
+ async init() {
13
+ const raw = globalThis.localStorage?.getItem(this.key);
14
+ if (raw) {
15
+ const parsed = JSON.parse(raw);
16
+ for (const [collection, entries] of Object.entries(parsed)) {
17
+ this.collections.set(collection, new Map(Object.entries(entries)));
18
+ }
19
+ }
20
+ this.ready = true;
21
+ }
22
+ async close() {
23
+ await this.flush();
24
+ this.ready = false;
25
+ }
26
+ async isReady() {
27
+ return this.ready;
28
+ }
29
+ getCollection(collection) {
30
+ let current = this.collections.get(collection);
31
+ if (!current) {
32
+ current = /* @__PURE__ */ new Map();
33
+ this.collections.set(collection, current);
34
+ }
35
+ return current;
36
+ }
37
+ async flush() {
38
+ const out = {};
39
+ for (const [collection, entries] of this.collections) {
40
+ out[collection] = Object.fromEntries(entries);
41
+ }
42
+ globalThis.localStorage?.setItem(this.key, JSON.stringify(out));
43
+ }
44
+ async get(collection, id) {
45
+ const item = this.getCollection(collection).get(id);
46
+ return item === void 0 ? null : item;
47
+ }
48
+ async getAll(collection) {
49
+ return Array.from(this.getCollection(collection).values());
50
+ }
51
+ async getWhere(collection, predicate) {
52
+ return (await this.getAll(collection)).filter(predicate);
53
+ }
54
+ async set(collection, id, data) {
55
+ this.getCollection(collection).set(id, data);
56
+ await this.flush();
57
+ }
58
+ async delete(collection, id) {
59
+ const deleted = this.getCollection(collection).delete(id);
60
+ if (deleted) await this.flush();
61
+ return deleted;
62
+ }
63
+ async deleteMany(collection, ids) {
64
+ const current = this.getCollection(collection);
65
+ for (const id of ids) current.delete(id);
66
+ await this.flush();
67
+ }
68
+ async deleteWhere(collection, predicate) {
69
+ const current = this.getCollection(collection);
70
+ for (const [id, item] of current) {
71
+ if (predicate(item)) current.delete(id);
72
+ }
73
+ await this.flush();
74
+ }
75
+ async count(collection, predicate) {
76
+ const current = this.getCollection(collection);
77
+ if (!predicate) return current.size;
78
+ let total = 0;
79
+ for (const item of current.values()) {
80
+ if (predicate(item)) total++;
81
+ }
82
+ return total;
83
+ }
84
+ async clear() {
85
+ this.collections.clear();
86
+ await this.flush();
87
+ }
88
+ };
89
+ function createDatabaseAdapter(agentId) {
90
+ return new InMemoryDatabaseAdapter(
91
+ new BrowserLocalStorage(`elizaos:localdb:${agentId}`),
92
+ agentId
93
+ );
94
+ }
95
+ var plugin = {
96
+ name: "@elizaos/plugin-localdb",
97
+ description: "Browser localStorage database storage for elizaOS examples.",
98
+ async init(_config, runtime) {
99
+ const r = runtime;
100
+ const hasAdapter = r.adapter !== void 0 || r.databaseAdapter !== void 0 || (r.hasDatabaseAdapter?.() ?? false);
101
+ if (hasAdapter) return;
102
+ const adapter = createDatabaseAdapter(runtime.agentId);
103
+ await adapter.initialize();
104
+ r.registerDatabaseAdapter?.(adapter);
105
+ }
106
+ };
107
+ var index_browser_default = plugin;
108
+ export {
109
+ createDatabaseAdapter,
110
+ index_browser_default as default,
111
+ plugin
112
+ };
113
+ //# sourceMappingURL=index.browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../index.browser.ts"],"sourcesContent":["import type {\n IAgentRuntime,\n IDatabaseAdapter,\n Plugin,\n UUID,\n} from \"@elizaos/core\";\nimport {\n InMemoryDatabaseAdapter,\n type IStorage,\n} from \"@elizaos/plugin-inmemorydb\";\n\ntype RuntimeWithDatabase = IAgentRuntime & {\n registerDatabaseAdapter?: (adapter: IDatabaseAdapter) => void;\n adapter?: IDatabaseAdapter;\n databaseAdapter?: IDatabaseAdapter;\n hasDatabaseAdapter?: () => boolean;\n};\n\nclass BrowserLocalStorage implements IStorage {\n private collections = new Map<string, Map<string, unknown>>();\n private ready = false;\n\n constructor(private readonly key: string) {}\n\n async init(): Promise<void> {\n const raw = globalThis.localStorage?.getItem(this.key);\n if (raw) {\n const parsed = JSON.parse(raw) as Record<string, Record<string, unknown>>;\n for (const [collection, entries] of Object.entries(parsed)) {\n this.collections.set(collection, new Map(Object.entries(entries)));\n }\n }\n this.ready = true;\n }\n\n async close(): Promise<void> {\n await this.flush();\n this.ready = false;\n }\n\n async isReady(): Promise<boolean> {\n return this.ready;\n }\n\n private getCollection(collection: string): Map<string, unknown> {\n let current = this.collections.get(collection);\n if (!current) {\n current = new Map();\n this.collections.set(collection, current);\n }\n return current;\n }\n\n private async flush(): Promise<void> {\n const out: Record<string, Record<string, unknown>> = {};\n for (const [collection, entries] of this.collections) {\n out[collection] = Object.fromEntries(entries);\n }\n globalThis.localStorage?.setItem(this.key, JSON.stringify(out));\n }\n\n async get<T>(collection: string, id: string): Promise<T | null> {\n const item = this.getCollection(collection).get(id);\n return item === undefined ? null : (item as T);\n }\n\n async getAll<T>(collection: string): Promise<T[]> {\n return Array.from(this.getCollection(collection).values()) as T[];\n }\n\n async getWhere<T>(\n collection: string,\n predicate: (item: T) => boolean,\n ): Promise<T[]> {\n return (await this.getAll<T>(collection)).filter(predicate);\n }\n\n async set<T>(collection: string, id: string, data: T): Promise<void> {\n this.getCollection(collection).set(id, data);\n await this.flush();\n }\n\n async delete(collection: string, id: string): Promise<boolean> {\n const deleted = this.getCollection(collection).delete(id);\n if (deleted) await this.flush();\n return deleted;\n }\n\n async deleteMany(collection: string, ids: string[]): Promise<void> {\n const current = this.getCollection(collection);\n for (const id of ids) current.delete(id);\n await this.flush();\n }\n\n async deleteWhere<T = Record<string, unknown>>(\n collection: string,\n predicate: (item: T) => boolean,\n ): Promise<void> {\n const current = this.getCollection(collection);\n for (const [id, item] of current) {\n if (predicate(item as T)) current.delete(id);\n }\n await this.flush();\n }\n\n async count<T = Record<string, unknown>>(\n collection: string,\n predicate?: (item: T) => boolean,\n ): Promise<number> {\n const current = this.getCollection(collection);\n if (!predicate) return current.size;\n let total = 0;\n for (const item of current.values()) {\n if (predicate(item as T)) total++;\n }\n return total;\n }\n\n async clear(): Promise<void> {\n this.collections.clear();\n await this.flush();\n }\n}\n\nexport function createDatabaseAdapter(agentId: UUID): InMemoryDatabaseAdapter {\n return new InMemoryDatabaseAdapter(\n new BrowserLocalStorage(`elizaos:localdb:${agentId}`),\n agentId,\n );\n}\n\nexport const plugin: Plugin = {\n name: \"@elizaos/plugin-localdb\",\n description: \"Browser localStorage database storage for elizaOS examples.\",\n\n async init(\n _config: Record<string, string>,\n runtime: IAgentRuntime,\n ): Promise<void> {\n const r = runtime as RuntimeWithDatabase;\n const hasAdapter =\n r.adapter !== undefined ||\n r.databaseAdapter !== undefined ||\n (r.hasDatabaseAdapter?.() ?? false);\n\n if (hasAdapter) return;\n\n const adapter = createDatabaseAdapter(runtime.agentId);\n await adapter.initialize();\n r.registerDatabaseAdapter?.(adapter);\n },\n};\n\nexport default plugin;\n"],"mappings":"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","names":[]}
package/dist/index.d.ts CHANGED
@@ -1,2 +1,7 @@
1
- export * from "./node/index";
2
- export { default } from "./node/index";
1
+ import { UUID, Plugin } from '@elizaos/core';
2
+ import { InMemoryDatabaseAdapter } from '@elizaos/plugin-inmemorydb';
3
+
4
+ declare function createDatabaseAdapter(agentId: UUID, dataDir: string): InMemoryDatabaseAdapter;
5
+ declare const plugin: Plugin;
6
+
7
+ export { createDatabaseAdapter, plugin as default, plugin };
package/dist/index.js ADDED
@@ -0,0 +1,128 @@
1
+ // index.ts
2
+ import { mkdir, readFile, writeFile } from "fs/promises";
3
+ import { dirname, join } from "path";
4
+ import { logger } from "@elizaos/core";
5
+ import {
6
+ InMemoryDatabaseAdapter
7
+ } from "@elizaos/plugin-inmemorydb";
8
+ var FileStorage = class {
9
+ collections = /* @__PURE__ */ new Map();
10
+ ready = false;
11
+ filePath;
12
+ constructor(dataDir) {
13
+ this.filePath = join(dataDir, "localdb.json");
14
+ }
15
+ async init() {
16
+ await mkdir(dirname(this.filePath), { recursive: true });
17
+ try {
18
+ const raw = await readFile(this.filePath, "utf8");
19
+ const parsed = JSON.parse(raw);
20
+ for (const [collection, entries] of Object.entries(parsed)) {
21
+ this.collections.set(collection, new Map(Object.entries(entries)));
22
+ }
23
+ } catch (error) {
24
+ if (error.code !== "ENOENT") throw error;
25
+ }
26
+ this.ready = true;
27
+ }
28
+ async close() {
29
+ await this.flush();
30
+ this.ready = false;
31
+ }
32
+ async isReady() {
33
+ return this.ready;
34
+ }
35
+ getCollection(collection) {
36
+ let current = this.collections.get(collection);
37
+ if (!current) {
38
+ current = /* @__PURE__ */ new Map();
39
+ this.collections.set(collection, current);
40
+ }
41
+ return current;
42
+ }
43
+ async flush() {
44
+ const out = {};
45
+ for (const [collection, entries] of this.collections) {
46
+ out[collection] = Object.fromEntries(entries);
47
+ }
48
+ await writeFile(this.filePath, JSON.stringify(out, null, 2), "utf8");
49
+ }
50
+ async get(collection, id) {
51
+ const item = this.getCollection(collection).get(id);
52
+ return item === void 0 ? null : item;
53
+ }
54
+ async getAll(collection) {
55
+ return Array.from(this.getCollection(collection).values());
56
+ }
57
+ async getWhere(collection, predicate) {
58
+ return (await this.getAll(collection)).filter(predicate);
59
+ }
60
+ async set(collection, id, data) {
61
+ this.getCollection(collection).set(id, data);
62
+ await this.flush();
63
+ }
64
+ async delete(collection, id) {
65
+ const deleted = this.getCollection(collection).delete(id);
66
+ if (deleted) await this.flush();
67
+ return deleted;
68
+ }
69
+ async deleteMany(collection, ids) {
70
+ const current = this.getCollection(collection);
71
+ for (const id of ids) current.delete(id);
72
+ await this.flush();
73
+ }
74
+ async deleteWhere(collection, predicate) {
75
+ const current = this.getCollection(collection);
76
+ for (const [id, item] of current) {
77
+ if (predicate(item)) current.delete(id);
78
+ }
79
+ await this.flush();
80
+ }
81
+ async count(collection, predicate) {
82
+ const current = this.getCollection(collection);
83
+ if (!predicate) return current.size;
84
+ let total = 0;
85
+ for (const item of current.values()) {
86
+ if (predicate(item)) total++;
87
+ }
88
+ return total;
89
+ }
90
+ async clear() {
91
+ this.collections.clear();
92
+ await this.flush();
93
+ }
94
+ };
95
+ function getDataDir(runtime) {
96
+ const configured = runtime.getSetting?.("LOCALDB_DATA_DIR");
97
+ if (typeof configured === "string" && configured.length > 0) {
98
+ return configured;
99
+ }
100
+ const envDir = process.env.LOCALDB_DATA_DIR;
101
+ if (typeof envDir === "string" && envDir.length > 0) {
102
+ return envDir;
103
+ }
104
+ return join(process.cwd(), ".eliza-localdb");
105
+ }
106
+ function createDatabaseAdapter(agentId, dataDir) {
107
+ return new InMemoryDatabaseAdapter(new FileStorage(dataDir), agentId);
108
+ }
109
+ var plugin = {
110
+ name: "@elizaos/plugin-localdb",
111
+ description: "Local JSON-file database storage for elizaOS examples.",
112
+ async init(_config, runtime) {
113
+ const r = runtime;
114
+ const hasAdapter = r.adapter !== void 0 || r.databaseAdapter !== void 0 || (r.hasDatabaseAdapter?.() ?? false);
115
+ if (hasAdapter) return;
116
+ const adapter = createDatabaseAdapter(runtime.agentId, getDataDir(r));
117
+ await adapter.initialize();
118
+ r.registerDatabaseAdapter?.(adapter);
119
+ logger.info({ src: "plugin:localdb" }, "Local database adapter registered");
120
+ }
121
+ };
122
+ var index_default = plugin;
123
+ export {
124
+ createDatabaseAdapter,
125
+ index_default as default,
126
+ plugin
127
+ };
128
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../index.ts"],"sourcesContent":["import { mkdir, readFile, writeFile } from \"node:fs/promises\";\nimport { dirname, join } from \"node:path\";\nimport type {\n IAgentRuntime,\n IDatabaseAdapter,\n Plugin,\n UUID,\n} from \"@elizaos/core\";\nimport { logger } from \"@elizaos/core\";\nimport {\n InMemoryDatabaseAdapter,\n type IStorage,\n} from \"@elizaos/plugin-inmemorydb\";\n\ntype RuntimeWithDatabase = IAgentRuntime & {\n registerDatabaseAdapter?: (adapter: IDatabaseAdapter) => void;\n adapter?: IDatabaseAdapter;\n databaseAdapter?: IDatabaseAdapter;\n hasDatabaseAdapter?: () => boolean;\n getSetting?: (key: string) => string | undefined;\n};\n\nclass FileStorage implements IStorage {\n private collections = new Map<string, Map<string, unknown>>();\n private ready = false;\n private readonly filePath: string;\n\n constructor(dataDir: string) {\n this.filePath = join(dataDir, \"localdb.json\");\n }\n\n async init(): Promise<void> {\n await mkdir(dirname(this.filePath), { recursive: true });\n try {\n const raw = await readFile(this.filePath, \"utf8\");\n const parsed = JSON.parse(raw) as Record<string, Record<string, unknown>>;\n for (const [collection, entries] of Object.entries(parsed)) {\n this.collections.set(collection, new Map(Object.entries(entries)));\n }\n } catch (error) {\n if ((error as { code?: string }).code !== \"ENOENT\") throw error;\n }\n this.ready = true;\n }\n\n async close(): Promise<void> {\n await this.flush();\n this.ready = false;\n }\n\n async isReady(): Promise<boolean> {\n return this.ready;\n }\n\n private getCollection(collection: string): Map<string, unknown> {\n let current = this.collections.get(collection);\n if (!current) {\n current = new Map();\n this.collections.set(collection, current);\n }\n return current;\n }\n\n private async flush(): Promise<void> {\n const out: Record<string, Record<string, unknown>> = {};\n for (const [collection, entries] of this.collections) {\n out[collection] = Object.fromEntries(entries);\n }\n await writeFile(this.filePath, JSON.stringify(out, null, 2), \"utf8\");\n }\n\n async get<T>(collection: string, id: string): Promise<T | null> {\n const item = this.getCollection(collection).get(id);\n return item === undefined ? null : (item as T);\n }\n\n async getAll<T>(collection: string): Promise<T[]> {\n return Array.from(this.getCollection(collection).values()) as T[];\n }\n\n async getWhere<T>(\n collection: string,\n predicate: (item: T) => boolean,\n ): Promise<T[]> {\n return (await this.getAll<T>(collection)).filter(predicate);\n }\n\n async set<T>(collection: string, id: string, data: T): Promise<void> {\n this.getCollection(collection).set(id, data);\n await this.flush();\n }\n\n async delete(collection: string, id: string): Promise<boolean> {\n const deleted = this.getCollection(collection).delete(id);\n if (deleted) await this.flush();\n return deleted;\n }\n\n async deleteMany(collection: string, ids: string[]): Promise<void> {\n const current = this.getCollection(collection);\n for (const id of ids) current.delete(id);\n await this.flush();\n }\n\n async deleteWhere<T = Record<string, unknown>>(\n collection: string,\n predicate: (item: T) => boolean,\n ): Promise<void> {\n const current = this.getCollection(collection);\n for (const [id, item] of current) {\n if (predicate(item as T)) current.delete(id);\n }\n await this.flush();\n }\n\n async count<T = Record<string, unknown>>(\n collection: string,\n predicate?: (item: T) => boolean,\n ): Promise<number> {\n const current = this.getCollection(collection);\n if (!predicate) return current.size;\n let total = 0;\n for (const item of current.values()) {\n if (predicate(item as T)) total++;\n }\n return total;\n }\n\n async clear(): Promise<void> {\n this.collections.clear();\n await this.flush();\n }\n}\n\nfunction getDataDir(runtime: RuntimeWithDatabase): string {\n const configured = runtime.getSetting?.(\"LOCALDB_DATA_DIR\");\n if (typeof configured === \"string\" && configured.length > 0) {\n return configured;\n }\n\n const envDir = process.env.LOCALDB_DATA_DIR;\n if (typeof envDir === \"string\" && envDir.length > 0) {\n return envDir;\n }\n\n return join(process.cwd(), \".eliza-localdb\");\n}\n\nexport function createDatabaseAdapter(\n agentId: UUID,\n dataDir: string,\n): InMemoryDatabaseAdapter {\n return new InMemoryDatabaseAdapter(new FileStorage(dataDir), agentId);\n}\n\nexport const plugin: Plugin = {\n name: \"@elizaos/plugin-localdb\",\n description: \"Local JSON-file database storage for elizaOS examples.\",\n\n async init(\n _config: Record<string, string>,\n runtime: IAgentRuntime,\n ): Promise<void> {\n const r = runtime as RuntimeWithDatabase;\n const hasAdapter =\n r.adapter !== undefined ||\n r.databaseAdapter !== undefined ||\n (r.hasDatabaseAdapter?.() ?? false);\n\n if (hasAdapter) return;\n\n const adapter = createDatabaseAdapter(runtime.agentId, getDataDir(r));\n await adapter.initialize();\n r.registerDatabaseAdapter?.(adapter);\n logger.info({ src: \"plugin:localdb\" }, \"Local database adapter registered\");\n },\n};\n\nexport default plugin;\n"],"mappings":"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","names":[]}
package/package.json CHANGED
@@ -1,75 +1,62 @@
1
1
  {
2
2
  "name": "@elizaos/plugin-localdb",
3
- "version": "2.0.0-alpha.6",
3
+ "version": "2.0.0-beta.1",
4
4
  "type": "module",
5
- "main": "dist/node/index.node.js",
6
- "module": "dist/node/index.node.js",
7
- "types": "dist/index.d.ts",
8
- "description": "Simple JSON-based local database storage for elizaOS - no SQL, no migrations",
9
- "repository": {
10
- "type": "git",
11
- "url": "https://github.com/elizaos-plugins/plugin-localdb"
12
- },
13
- "publishConfig": {
14
- "access": "public"
15
- },
16
- "browser": "dist/browser/index.browser.js",
5
+ "description": "File-backed (Node) and localStorage (browser) persistence via plugin-inmemorydb; ships compiled ESM in dist/.",
6
+ "main": "./dist/index.js",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "browser": "./dist/index.browser.js",
17
10
  "exports": {
18
11
  "./package.json": "./package.json",
19
12
  ".": {
20
13
  "types": "./dist/index.d.ts",
21
14
  "browser": {
22
- "types": "./dist/browser/index.browser.d.ts",
23
- "import": "./dist/browser/index.browser.js",
24
- "default": "./dist/browser/index.browser.js"
15
+ "types": "./dist/index.browser.d.ts",
16
+ "import": "./dist/index.browser.js",
17
+ "default": "./dist/index.browser.js"
25
18
  },
26
19
  "node": {
27
- "types": "./dist/node/index.node.d.ts",
28
- "import": "./dist/node/index.node.js",
29
- "default": "./dist/node/index.node.js"
30
- },
31
- "bun": {
32
- "types": "./dist/node/index.node.d.ts",
33
- "default": "./dist/node/index.node.js"
20
+ "types": "./dist/index.d.ts",
21
+ "import": "./dist/index.js",
22
+ "default": "./dist/index.js"
34
23
  },
35
- "default": "./dist/node/index.node.js"
24
+ "import": "./dist/index.js",
25
+ "default": "./dist/index.js"
36
26
  }
37
27
  },
38
28
  "sideEffects": false,
39
29
  "files": [
40
30
  "dist"
41
31
  ],
32
+ "scripts": {
33
+ "build": "tsup --config tsup.config.ts",
34
+ "dev": "tsup --config tsup.config.ts --watch",
35
+ "clean": "rm -rf dist .turbo",
36
+ "typecheck": "tsc --noEmit -p tsconfig.json",
37
+ "lint": "echo \"Lint skipped\"",
38
+ "lint:check": "bun run lint",
39
+ "test": "echo \"No tests\""
40
+ },
42
41
  "dependencies": {
43
- "@elizaos/core": "2.0.0-alpha.3"
42
+ "@elizaos/core": "2.0.0-beta.1",
43
+ "@elizaos/plugin-inmemorydb": "2.0.0-beta.1"
44
44
  },
45
45
  "devDependencies": {
46
- "@biomejs/biome": "^2.3.11",
47
- "@types/node": "^25.0.3",
48
- "typescript": "^5.9.3"
46
+ "@types/node": "25.6.2",
47
+ "tsup": "8.5.1",
48
+ "typescript": "^6.0.3"
49
49
  },
50
- "scripts": {
51
- "dev": "bun run build.ts --watch",
52
- "typecheck": "tsc --noEmit -p tsconfig.json",
53
- "clean": "rm -rf dist .turbo node_modules .turbo-tsconfig.json *.tsbuildinfo",
54
- "format": "bunx @biomejs/biome format --write .",
55
- "format:check": "bunx @biomejs/biome format .",
56
- "test": "vitest run --config vitest.config.ts --passWithNoTests",
57
- "test:watch": "vitest --config vitest.config.ts",
58
- "lint": "bunx @biomejs/biome check --write --unsafe .",
59
- "lint:check": "bunx @biomejs/biome check .",
60
- "build": "bun run build.ts",
61
- "build:ts": "bun run build.ts"
50
+ "peerDependencies": {
51
+ "@elizaos/core": "2.0.0-beta.1",
52
+ "@elizaos/plugin-inmemorydb": "2.0.0-beta.1"
62
53
  },
63
- "gitHead": "255e37c0e4a76da0b776219db5ebb9dadf20e89f",
64
- "milady": {
65
- "platforms": [
66
- "browser",
67
- "node"
68
- ],
69
- "runtime": "both",
70
- "platformDetails": {
71
- "browser": "Browser-compatible build available via exports.browser",
72
- "node": "Node.js build available via exports.node"
73
- }
54
+ "publishConfig": {
55
+ "access": "public"
56
+ },
57
+ "repository": {
58
+ "type": "git",
59
+ "url": "git+https://github.com/elizaos/eliza.git",
60
+ "directory": "plugins/plugin-localdb"
74
61
  }
75
62
  }
@@ -1,164 +0,0 @@
1
- import { type Agent, type Component, DatabaseAdapter, type Entity, type Log, type LogBody, type Memory, type MemoryMetadata, type Metadata, type PairingAllowlistEntry, type PairingChannel, type PairingRequest, 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
- getPairingRequests(channel: PairingChannel, agentId: UUID): Promise<PairingRequest[]>;
157
- createPairingRequest(request: PairingRequest): Promise<UUID>;
158
- updatePairingRequest(request: PairingRequest): Promise<void>;
159
- deletePairingRequest(id: UUID): Promise<void>;
160
- getPairingAllowlist(channel: PairingChannel, agentId: UUID): Promise<PairingAllowlistEntry[]>;
161
- createPairingAllowlistEntry(entry: PairingAllowlistEntry): Promise<UUID>;
162
- deletePairingAllowlistEntry(id: UUID): Promise<void>;
163
- }
164
- //# sourceMappingURL=adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../adapter.ts"],"names":[],"mappings":"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"}