@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.
Files changed (74) hide show
  1. package/dist/browser/adapter.d.ts +157 -0
  2. package/dist/browser/adapter.d.ts.map +1 -0
  3. package/dist/browser/adapter.js +636 -0
  4. package/dist/browser/adapter.js.map +1 -0
  5. package/dist/browser/generated/specs/specs.d.ts +55 -0
  6. package/dist/browser/generated/specs/specs.d.ts.map +1 -0
  7. package/dist/browser/generated/specs/specs.js +35 -0
  8. package/dist/browser/generated/specs/specs.js.map +1 -0
  9. package/dist/browser/hnsw.d.ts +45 -0
  10. package/dist/browser/hnsw.d.ts.map +1 -0
  11. package/dist/browser/hnsw.js +291 -0
  12. package/dist/browser/hnsw.js.map +1 -0
  13. package/dist/browser/index.browser.d.ts +11 -0
  14. package/dist/browser/index.browser.d.ts.map +1 -0
  15. package/dist/browser/index.browser.js +42 -0
  16. package/dist/browser/index.browser.js.map +1 -0
  17. package/dist/browser/index.d.ts +2 -0
  18. package/dist/browser/index.d.ts.map +1 -0
  19. package/dist/browser/index.js +3 -0
  20. package/dist/browser/index.js.map +1 -0
  21. package/dist/browser/index.node.d.ts +11 -0
  22. package/dist/browser/index.node.d.ts.map +1 -0
  23. package/dist/browser/index.node.js +43 -0
  24. package/dist/browser/index.node.js.map +1 -0
  25. package/dist/browser/storage-browser.d.ts +23 -0
  26. package/dist/browser/storage-browser.d.ts.map +1 -0
  27. package/dist/browser/storage-browser.js +118 -0
  28. package/dist/browser/storage-browser.js.map +1 -0
  29. package/dist/browser/storage-node.d.ts +22 -0
  30. package/dist/browser/storage-node.d.ts.map +1 -0
  31. package/dist/browser/storage-node.js +156 -0
  32. package/dist/browser/storage-node.js.map +1 -0
  33. package/dist/browser/types.d.ts +50 -0
  34. package/dist/browser/types.d.ts.map +1 -0
  35. package/dist/browser/types.js +15 -0
  36. package/dist/browser/types.js.map +1 -0
  37. package/dist/index.d.ts +2 -0
  38. package/dist/node/adapter.d.ts +157 -0
  39. package/dist/node/adapter.d.ts.map +1 -0
  40. package/dist/node/adapter.js +636 -0
  41. package/dist/node/adapter.js.map +1 -0
  42. package/dist/node/generated/specs/specs.d.ts +55 -0
  43. package/dist/node/generated/specs/specs.d.ts.map +1 -0
  44. package/dist/node/generated/specs/specs.js +35 -0
  45. package/dist/node/generated/specs/specs.js.map +1 -0
  46. package/dist/node/hnsw.d.ts +45 -0
  47. package/dist/node/hnsw.d.ts.map +1 -0
  48. package/dist/node/hnsw.js +291 -0
  49. package/dist/node/hnsw.js.map +1 -0
  50. package/dist/node/index.browser.d.ts +11 -0
  51. package/dist/node/index.browser.d.ts.map +1 -0
  52. package/dist/node/index.browser.js +42 -0
  53. package/dist/node/index.browser.js.map +1 -0
  54. package/dist/node/index.d.ts +2 -0
  55. package/dist/node/index.d.ts.map +1 -0
  56. package/dist/node/index.js +3 -0
  57. package/dist/node/index.js.map +1 -0
  58. package/dist/node/index.node.d.ts +11 -0
  59. package/dist/node/index.node.d.ts.map +1 -0
  60. package/dist/node/index.node.js +43 -0
  61. package/dist/node/index.node.js.map +1 -0
  62. package/dist/node/storage-browser.d.ts +23 -0
  63. package/dist/node/storage-browser.d.ts.map +1 -0
  64. package/dist/node/storage-browser.js +118 -0
  65. package/dist/node/storage-browser.js.map +1 -0
  66. package/dist/node/storage-node.d.ts +22 -0
  67. package/dist/node/storage-node.d.ts.map +1 -0
  68. package/dist/node/storage-node.js +156 -0
  69. package/dist/node/storage-node.js.map +1 -0
  70. package/dist/node/types.d.ts +50 -0
  71. package/dist/node/types.d.ts.map +1 -0
  72. package/dist/node/types.js +15 -0
  73. package/dist/node/types.js.map +1 -0
  74. 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/package.json ADDED
@@ -0,0 +1,64 @@
1
+ {
2
+ "name": "@elizaos/plugin-localdb",
3
+ "version": "2.0.0-alpha.1",
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",
17
+ "exports": {
18
+ "./package.json": "./package.json",
19
+ ".": {
20
+ "types": "./dist/index.d.ts",
21
+ "browser": {
22
+ "types": "./dist/browser/index.browser.d.ts",
23
+ "import": "./dist/browser/index.browser.js",
24
+ "default": "./dist/browser/index.browser.js"
25
+ },
26
+ "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"
34
+ },
35
+ "default": "./dist/node/index.node.js"
36
+ }
37
+ },
38
+ "sideEffects": false,
39
+ "files": [
40
+ "dist"
41
+ ],
42
+ "dependencies": {
43
+ "@elizaos/core": "workspace:*"
44
+ },
45
+ "devDependencies": {
46
+ "@types/node": "^25.0.3",
47
+ "typescript": "^5.9.3",
48
+ "@biomejs/biome": "^2.3.11"
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 __tests__/",
57
+ "test:watch": "vitest",
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"
62
+ },
63
+ "gitHead": "255e37c0e4a76da0b776219db5ebb9dadf20e89f"
64
+ }