@xfabric/memory 0.2.6 → 0.2.7
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/search/fts.d.ts +2 -2
- package/dist/search/fts.d.ts.map +1 -1
- package/dist/search/fts.js.map +1 -1
- package/dist/search/vector.d.ts +4 -4
- package/dist/search/vector.d.ts.map +1 -1
- package/dist/search/vector.js.map +1 -1
- package/dist/storage/db-adapter.d.ts +41 -0
- package/dist/storage/db-adapter.d.ts.map +1 -0
- package/dist/storage/db-adapter.js +147 -0
- package/dist/storage/db-adapter.js.map +1 -0
- package/dist/storage/schema.d.ts +5 -5
- package/dist/storage/schema.d.ts.map +1 -1
- package/dist/storage/schema.js.map +1 -1
- package/dist/storage/sqlite-vec.d.ts +4 -3
- package/dist/storage/sqlite-vec.d.ts.map +1 -1
- package/dist/storage/sqlite-vec.js +14 -1
- package/dist/storage/sqlite-vec.js.map +1 -1
- package/dist/storage/sqlite.d.ts +3 -3
- package/dist/storage/sqlite.d.ts.map +1 -1
- package/dist/storage/sqlite.js +2 -2
- package/dist/storage/sqlite.js.map +1 -1
- package/package.json +1 -1
package/dist/search/fts.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { DatabaseAdapter } from "../storage/db-adapter.js";
|
|
2
2
|
import type { KeywordSearchResult, MemorySource } from "../types.js";
|
|
3
3
|
export type FtsSearchOptions = {
|
|
4
4
|
maxResults?: number;
|
|
@@ -7,5 +7,5 @@ export type FtsSearchOptions = {
|
|
|
7
7
|
/**
|
|
8
8
|
* Search using FTS5 full-text search
|
|
9
9
|
*/
|
|
10
|
-
export declare function searchFts(db:
|
|
10
|
+
export declare function searchFts(db: DatabaseAdapter, query: string, options?: FtsSearchOptions): KeywordSearchResult[];
|
|
11
11
|
//# sourceMappingURL=fts.d.ts.map
|
package/dist/search/fts.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fts.d.ts","sourceRoot":"","sources":["../../src/search/fts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"fts.d.ts","sourceRoot":"","sources":["../../src/search/fts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGrE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,wBAAgB,SAAS,CACvB,EAAE,EAAE,eAAe,EACnB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,gBAAqB,GAC7B,mBAAmB,EAAE,CA0DvB"}
|
package/dist/search/fts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fts.js","sourceRoot":"","sources":["../../src/search/fts.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAO7D;;GAEG;AACH,MAAM,UAAU,SAAS,CACvB,
|
|
1
|
+
{"version":3,"file":"fts.js","sourceRoot":"","sources":["../../src/search/fts.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAO7D;;GAEG;AACH,MAAM,UAAU,SAAS,CACvB,EAAmB,EACnB,KAAa,EACb,UAA4B,EAAE;IAE9B,MAAM,EAAE,UAAU,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAE5C,kBAAkB;IAClB,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC;QACH,0CAA0C;QAC1C,IAAI,GAAG,GAAG;;;;;;;;;;;KAWT,CAAC;QAEF,MAAM,MAAM,GAAwB,CAAC,QAAQ,CAAC,CAAC;QAE/C,IAAI,MAAM,EAAE,CAAC;YACX,GAAG,IAAI,iBAAiB,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;QAED,GAAG,IAAI,wBAAwB,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAExB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAQ5B,CAAC;QAEJ,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACxB,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,OAAO,EAAE,GAAG,CAAC,QAAQ;YACrB,MAAM,EAAE,GAAG,CAAC,MAAsB;YAClC,OAAO,EAAE,GAAG,CAAC,IAAI;YACjB,SAAS,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;SACrC,CAAC,CAAC,CAAC;IACN,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,2CAA2C;QAC3C,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
|
package/dist/search/vector.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { DatabaseAdapter } from "../storage/db-adapter.js";
|
|
2
2
|
import type { VectorSearchResult, MemorySource } from "../types.js";
|
|
3
3
|
export type VectorSearchOptions = {
|
|
4
4
|
maxResults?: number;
|
|
@@ -8,17 +8,17 @@ export type VectorSearchOptions = {
|
|
|
8
8
|
/**
|
|
9
9
|
* Search using vector similarity (cosine similarity) - JS fallback
|
|
10
10
|
*/
|
|
11
|
-
export declare function searchVector(db:
|
|
11
|
+
export declare function searchVector(db: DatabaseAdapter, queryEmbedding: number[], options?: VectorSearchOptions): VectorSearchResult[];
|
|
12
12
|
/**
|
|
13
13
|
* Search using sqlite-vec for database-side ANN search
|
|
14
14
|
* Falls back to JS cosine similarity if vec_chunks table doesn't exist
|
|
15
15
|
*/
|
|
16
|
-
export declare function searchVectorWithSqliteVec(db:
|
|
16
|
+
export declare function searchVectorWithSqliteVec(db: DatabaseAdapter, queryEmbedding: number[], options?: VectorSearchOptions): VectorSearchResult[];
|
|
17
17
|
/**
|
|
18
18
|
* Sync vec_chunks virtual table with chunks table
|
|
19
19
|
* Call this after bulk inserts to ensure ANN search data is up to date
|
|
20
20
|
*/
|
|
21
|
-
export declare function syncVectorTable(db:
|
|
21
|
+
export declare function syncVectorTable(db: DatabaseAdapter): {
|
|
22
22
|
synced: number;
|
|
23
23
|
errors: number;
|
|
24
24
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vector.d.ts","sourceRoot":"","sources":["../../src/search/vector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"vector.d.ts","sourceRoot":"","sources":["../../src/search/vector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGpE,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,wBAAgB,YAAY,CAC1B,EAAE,EAAE,eAAe,EACnB,cAAc,EAAE,MAAM,EAAE,EACxB,OAAO,GAAE,mBAAwB,GAChC,kBAAkB,EAAE,CA0DtB;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,eAAe,EACnB,cAAc,EAAE,MAAM,EAAE,EACxB,OAAO,GAAE,mBAAwB,GAChC,kBAAkB,EAAE,CAmEtB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,eAAe,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAkDvF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vector.js","sourceRoot":"","sources":["../../src/search/vector.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAQ5D;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,
|
|
1
|
+
{"version":3,"file":"vector.js","sourceRoot":"","sources":["../../src/search/vector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Database adapter that supports both better-sqlite3 (Node.js) and bun:sqlite (Bun)
|
|
3
|
+
* Provides a unified API for SQLite operations across runtimes.
|
|
4
|
+
*/
|
|
5
|
+
export declare const isBun: boolean;
|
|
6
|
+
export interface DatabaseAdapter {
|
|
7
|
+
pragma(statement: string): unknown;
|
|
8
|
+
exec(sql: string): void;
|
|
9
|
+
prepare(sql: string): StatementAdapter;
|
|
10
|
+
transaction<T>(fn: () => T): TransactionFunction<T>;
|
|
11
|
+
close(): void;
|
|
12
|
+
}
|
|
13
|
+
export interface StatementAdapter {
|
|
14
|
+
get(...params: unknown[]): unknown;
|
|
15
|
+
all(...params: unknown[]): unknown[];
|
|
16
|
+
run(...params: unknown[]): {
|
|
17
|
+
changes: number;
|
|
18
|
+
lastInsertRowid?: number | bigint;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export interface TransactionFunction<T> {
|
|
22
|
+
(): T;
|
|
23
|
+
immediate(): T;
|
|
24
|
+
deferred(): T;
|
|
25
|
+
exclusive(): T;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Create a database adapter for the current runtime
|
|
29
|
+
* Uses bun:sqlite in Bun, better-sqlite3 in Node.js
|
|
30
|
+
*/
|
|
31
|
+
export declare function createDatabaseAdapter(path: string): Promise<DatabaseAdapter>;
|
|
32
|
+
/**
|
|
33
|
+
* Synchronous version for compatibility - prefers Bun if available
|
|
34
|
+
*/
|
|
35
|
+
export declare function createDatabaseAdapterSync(path: string): DatabaseAdapter;
|
|
36
|
+
/**
|
|
37
|
+
* Load sqlite-vec extension if available
|
|
38
|
+
* Note: This may not work in Bun as it requires native module loading
|
|
39
|
+
*/
|
|
40
|
+
export declare function loadSqliteVecExtension(db: DatabaseAdapter): boolean;
|
|
41
|
+
//# sourceMappingURL=db-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"db-adapter.d.ts","sourceRoot":"","sources":["../../src/storage/db-adapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,eAAO,MAAM,KAAK,SAA6B,CAAC;AAEhD,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAC;IACvC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;IACpD,KAAK,IAAI,IAAI,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IACnC,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;IACrC,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACnF;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC,IAAI,CAAC,CAAC;IACN,SAAS,IAAI,CAAC,CAAC;IACf,QAAQ,IAAI,CAAC,CAAC;IACd,SAAS,IAAI,CAAC,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAMlF;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAYvE;AA6FD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,eAAe,GAAG,OAAO,CAmBnE"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Database adapter that supports both better-sqlite3 (Node.js) and bun:sqlite (Bun)
|
|
3
|
+
* Provides a unified API for SQLite operations across runtimes.
|
|
4
|
+
*/
|
|
5
|
+
// Detect if we're running in Bun
|
|
6
|
+
export const isBun = typeof Bun !== "undefined";
|
|
7
|
+
/**
|
|
8
|
+
* Create a database adapter for the current runtime
|
|
9
|
+
* Uses bun:sqlite in Bun, better-sqlite3 in Node.js
|
|
10
|
+
*/
|
|
11
|
+
export async function createDatabaseAdapter(path) {
|
|
12
|
+
if (isBun) {
|
|
13
|
+
return createBunAdapter(path);
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
return createNodeAdapter(path);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Synchronous version for compatibility - prefers Bun if available
|
|
21
|
+
*/
|
|
22
|
+
export function createDatabaseAdapterSync(path) {
|
|
23
|
+
if (isBun) {
|
|
24
|
+
// Dynamic import for bun:sqlite
|
|
25
|
+
const { Database } = require("bun:sqlite");
|
|
26
|
+
const db = new Database(path);
|
|
27
|
+
return wrapBunDatabase(db);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
// Dynamic require for better-sqlite3
|
|
31
|
+
const Database = require("better-sqlite3");
|
|
32
|
+
const db = new Database(path);
|
|
33
|
+
return wrapNodeDatabase(db);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
async function createBunAdapter(path) {
|
|
37
|
+
// Use dynamic require to avoid TypeScript module resolution
|
|
38
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
39
|
+
const { Database } = require("bun:sqlite");
|
|
40
|
+
const db = new Database(path);
|
|
41
|
+
return wrapBunDatabase(db);
|
|
42
|
+
}
|
|
43
|
+
async function createNodeAdapter(path) {
|
|
44
|
+
const Database = (await import("better-sqlite3")).default;
|
|
45
|
+
const db = new Database(path);
|
|
46
|
+
return wrapNodeDatabase(db);
|
|
47
|
+
}
|
|
48
|
+
function wrapBunDatabase(db) {
|
|
49
|
+
return {
|
|
50
|
+
pragma(statement) {
|
|
51
|
+
// Bun uses db.run for PRAGMA statements
|
|
52
|
+
return db.run(`PRAGMA ${statement}`);
|
|
53
|
+
},
|
|
54
|
+
exec(sql) {
|
|
55
|
+
db.exec(sql);
|
|
56
|
+
},
|
|
57
|
+
prepare(sql) {
|
|
58
|
+
const stmt = db.prepare(sql);
|
|
59
|
+
return {
|
|
60
|
+
get(...params) {
|
|
61
|
+
return stmt.get(...params);
|
|
62
|
+
},
|
|
63
|
+
all(...params) {
|
|
64
|
+
return stmt.all(...params);
|
|
65
|
+
},
|
|
66
|
+
run(...params) {
|
|
67
|
+
const result = stmt.run(...params);
|
|
68
|
+
return {
|
|
69
|
+
changes: result.changes,
|
|
70
|
+
lastInsertRowid: result.lastInsertRowid,
|
|
71
|
+
};
|
|
72
|
+
},
|
|
73
|
+
};
|
|
74
|
+
},
|
|
75
|
+
transaction(fn) {
|
|
76
|
+
const txn = db.transaction(fn);
|
|
77
|
+
// Bun's transaction function has the same interface as better-sqlite3
|
|
78
|
+
return txn;
|
|
79
|
+
},
|
|
80
|
+
close() {
|
|
81
|
+
db.close();
|
|
82
|
+
},
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
function wrapNodeDatabase(db) {
|
|
86
|
+
const adapter = {
|
|
87
|
+
pragma(statement) {
|
|
88
|
+
return db.pragma(statement);
|
|
89
|
+
},
|
|
90
|
+
exec(sql) {
|
|
91
|
+
db.exec(sql);
|
|
92
|
+
},
|
|
93
|
+
prepare(sql) {
|
|
94
|
+
const stmt = db.prepare(sql);
|
|
95
|
+
return {
|
|
96
|
+
get(...params) {
|
|
97
|
+
return stmt.get(...params);
|
|
98
|
+
},
|
|
99
|
+
all(...params) {
|
|
100
|
+
return stmt.all(...params);
|
|
101
|
+
},
|
|
102
|
+
run(...params) {
|
|
103
|
+
const result = stmt.run(...params);
|
|
104
|
+
return {
|
|
105
|
+
changes: result.changes,
|
|
106
|
+
lastInsertRowid: result.lastInsertRowid,
|
|
107
|
+
};
|
|
108
|
+
},
|
|
109
|
+
};
|
|
110
|
+
},
|
|
111
|
+
transaction(fn) {
|
|
112
|
+
const txn = db.transaction(fn);
|
|
113
|
+
return txn;
|
|
114
|
+
},
|
|
115
|
+
close() {
|
|
116
|
+
db.close();
|
|
117
|
+
},
|
|
118
|
+
};
|
|
119
|
+
// Expose underlying db for extension loading (e.g., sqlite-vec)
|
|
120
|
+
adapter._db = db;
|
|
121
|
+
return adapter;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Load sqlite-vec extension if available
|
|
125
|
+
* Note: This may not work in Bun as it requires native module loading
|
|
126
|
+
*/
|
|
127
|
+
export function loadSqliteVecExtension(db) {
|
|
128
|
+
if (isBun) {
|
|
129
|
+
// sqlite-vec extension loading not supported in Bun yet
|
|
130
|
+
// The extension uses native bindings that Bun can't load
|
|
131
|
+
console.warn("[memory] sqlite-vec extension not available in Bun runtime");
|
|
132
|
+
return false;
|
|
133
|
+
}
|
|
134
|
+
try {
|
|
135
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
136
|
+
const sqliteVec = require("sqlite-vec");
|
|
137
|
+
// Get the underlying better-sqlite3 database
|
|
138
|
+
// This is a bit of a hack but necessary for extension loading
|
|
139
|
+
const unwrapped = db._db || db;
|
|
140
|
+
sqliteVec.load(unwrapped);
|
|
141
|
+
return true;
|
|
142
|
+
}
|
|
143
|
+
catch {
|
|
144
|
+
return false;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=db-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"db-adapter.js","sourceRoot":"","sources":["../../src/storage/db-adapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,iCAAiC;AACjC,MAAM,CAAC,MAAM,KAAK,GAAG,OAAO,GAAG,KAAK,WAAW,CAAC;AAuBhD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,IAAY;IACtD,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,IAAY;IACpD,IAAI,KAAK,EAAE,CAAC;QACV,gCAAgC;QAChC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QAC3C,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9B,OAAO,eAAe,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,qCAAqC;QACrC,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC3C,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9B,OAAO,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,IAAY;IAC1C,4DAA4D;IAC5D,iEAAiE;IACjE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3C,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,eAAe,CAAC,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,IAAY;IAC3C,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1D,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,gBAAgB,CAAC,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,eAAe,CAAC,EAAO;IAC9B,OAAO;QACL,MAAM,CAAC,SAAiB;YACtB,wCAAwC;YACxC,OAAO,EAAE,CAAC,GAAG,CAAC,UAAU,SAAS,EAAE,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,GAAW;YACd,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;QACD,OAAO,CAAC,GAAW;YACjB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC7B,OAAO;gBACL,GAAG,CAAC,GAAG,MAAiB;oBACtB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;gBAC7B,CAAC;gBACD,GAAG,CAAC,GAAG,MAAiB;oBACtB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;gBAC7B,CAAC;gBACD,GAAG,CAAC,GAAG,MAAiB;oBACtB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;oBACnC,OAAO;wBACL,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,eAAe,EAAE,MAAM,CAAC,eAAe;qBACxC,CAAC;gBACJ,CAAC;aACF,CAAC;QACJ,CAAC;QACD,WAAW,CAAI,EAAW;YACxB,MAAM,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC/B,sEAAsE;YACtE,OAAO,GAA6B,CAAC;QACvC,CAAC;QACD,KAAK;YACH,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,EAAO;IAC/B,MAAM,OAAO,GAAoC;QAC/C,MAAM,CAAC,SAAiB;YACtB,OAAO,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,GAAW;YACd,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;QACD,OAAO,CAAC,GAAW;YACjB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC7B,OAAO;gBACL,GAAG,CAAC,GAAG,MAAiB;oBACtB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;gBAC7B,CAAC;gBACD,GAAG,CAAC,GAAG,MAAiB;oBACtB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;gBAC7B,CAAC;gBACD,GAAG,CAAC,GAAG,MAAiB;oBACtB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;oBACnC,OAAO;wBACL,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,eAAe,EAAE,MAAM,CAAC,eAAe;qBACxC,CAAC;gBACJ,CAAC;aACF,CAAC;QACJ,CAAC;QACD,WAAW,CAAI,EAAW;YACxB,MAAM,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC/B,OAAO,GAA6B,CAAC;QACvC,CAAC;QACD,KAAK;YACH,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,CAAC;KACF,CAAC;IACF,gEAAgE;IAC/D,OAAe,CAAC,GAAG,GAAG,EAAE,CAAC;IAC1B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,EAAmB;IACxD,IAAI,KAAK,EAAE,CAAC;QACV,wDAAwD;QACxD,yDAAyD;QACzD,OAAO,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;QAC3E,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,iEAAiE;QACjE,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QACxC,6CAA6C;QAC7C,8DAA8D;QAC9D,MAAM,SAAS,GAAI,EAAU,CAAC,GAAG,IAAI,EAAE,CAAC;QACxC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
package/dist/storage/schema.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { DatabaseAdapter } from "./db-adapter.js";
|
|
2
2
|
export declare const SCHEMA_VERSION = 2;
|
|
3
3
|
export type SchemaStatus = {
|
|
4
4
|
version: number;
|
|
@@ -8,17 +8,17 @@ export type SchemaStatus = {
|
|
|
8
8
|
/**
|
|
9
9
|
* Ensure a column exists in a table, adding it if necessary
|
|
10
10
|
*/
|
|
11
|
-
export declare function ensureColumn(db:
|
|
11
|
+
export declare function ensureColumn(db: DatabaseAdapter, table: string, column: string, definition: string): boolean;
|
|
12
12
|
/**
|
|
13
13
|
* Ensure the memory index schema exists in the database
|
|
14
14
|
*/
|
|
15
|
-
export declare function ensureMemoryIndexSchema(db:
|
|
15
|
+
export declare function ensureMemoryIndexSchema(db: DatabaseAdapter): SchemaStatus;
|
|
16
16
|
/**
|
|
17
17
|
* Get the current schema version from the database
|
|
18
18
|
*/
|
|
19
|
-
export declare function getSchemaVersion(db:
|
|
19
|
+
export declare function getSchemaVersion(db: DatabaseAdapter): number;
|
|
20
20
|
/**
|
|
21
21
|
* Migrate schema from one version to another
|
|
22
22
|
*/
|
|
23
|
-
export declare function migrateSchema(db:
|
|
23
|
+
export declare function migrateSchema(db: DatabaseAdapter, fromVersion: number): SchemaStatus;
|
|
24
24
|
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/storage/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/storage/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,wBAAgB,YAAY,CAC1B,EAAE,EAAE,eAAe,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,OAAO,CAaT;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,eAAe,GAAG,YAAY,CAmHzE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,eAAe,GAAG,MAAM,CAS5D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,GAAG,YAAY,CAuCpF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/storage/schema.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAQhC;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/storage/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { DatabaseAdapter } from "./db-adapter.js";
|
|
2
2
|
/**
|
|
3
3
|
* Try to load the sqlite-vec extension
|
|
4
|
+
* Note: sqlite-vec is not supported in Bun runtime
|
|
4
5
|
*/
|
|
5
|
-
export declare function loadSqliteVec(db:
|
|
6
|
+
export declare function loadSqliteVec(db: DatabaseAdapter): boolean;
|
|
6
7
|
/**
|
|
7
8
|
* Check if sqlite-vec is available
|
|
8
9
|
*/
|
|
@@ -10,7 +11,7 @@ export declare function isSqliteVecAvailable(): boolean;
|
|
|
10
11
|
/**
|
|
11
12
|
* Create a vec0 virtual table for vector search
|
|
12
13
|
*/
|
|
13
|
-
export declare function createVectorTable(db:
|
|
14
|
+
export declare function createVectorTable(db: DatabaseAdapter, tableName: string, dimensions: number): boolean;
|
|
14
15
|
/**
|
|
15
16
|
* Pure JS cosine similarity fallback
|
|
16
17
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-vec.d.ts","sourceRoot":"","sources":["../../src/storage/sqlite-vec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"sqlite-vec.d.ts","sourceRoot":"","sources":["../../src/storage/sqlite-vec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAMvD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,eAAe,GAAG,OAAO,CA2B1D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAgB9C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,eAAe,EACnB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAgBT;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAiBjE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C"}
|
|
@@ -1,9 +1,15 @@
|
|
|
1
|
+
import { isBun } from "./db-adapter.js";
|
|
1
2
|
let sqliteVecLoaded = false;
|
|
2
3
|
let loadError = null;
|
|
3
4
|
/**
|
|
4
5
|
* Try to load the sqlite-vec extension
|
|
6
|
+
* Note: sqlite-vec is not supported in Bun runtime
|
|
5
7
|
*/
|
|
6
8
|
export function loadSqliteVec(db) {
|
|
9
|
+
// sqlite-vec is not available in Bun
|
|
10
|
+
if (isBun) {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
7
13
|
if (loadError) {
|
|
8
14
|
return false;
|
|
9
15
|
}
|
|
@@ -13,7 +19,10 @@ export function loadSqliteVec(db) {
|
|
|
13
19
|
try {
|
|
14
20
|
// Dynamic import of sqlite-vec
|
|
15
21
|
const sqliteVec = require("sqlite-vec");
|
|
16
|
-
|
|
22
|
+
// sqlite-vec.load expects the underlying better-sqlite3 database
|
|
23
|
+
// Our adapter wraps it, so we need to access _db if available
|
|
24
|
+
const unwrapped = db._db || db;
|
|
25
|
+
sqliteVec.load(unwrapped);
|
|
17
26
|
sqliteVecLoaded = true;
|
|
18
27
|
return true;
|
|
19
28
|
}
|
|
@@ -26,6 +35,10 @@ export function loadSqliteVec(db) {
|
|
|
26
35
|
* Check if sqlite-vec is available
|
|
27
36
|
*/
|
|
28
37
|
export function isSqliteVecAvailable() {
|
|
38
|
+
// sqlite-vec is not available in Bun
|
|
39
|
+
if (isBun) {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
29
42
|
if (loadError) {
|
|
30
43
|
return false;
|
|
31
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-vec.js","sourceRoot":"","sources":["../../src/storage/sqlite-vec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sqlite-vec.js","sourceRoot":"","sources":["../../src/storage/sqlite-vec.ts"],"names":[],"mappings":"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"}
|
package/dist/storage/sqlite.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import Database from "better-sqlite3";
|
|
2
1
|
import { type SchemaStatus } from "./schema.js";
|
|
2
|
+
import { type DatabaseAdapter } from "./db-adapter.js";
|
|
3
3
|
export type StorageOptions = {
|
|
4
4
|
/** Path to SQLite database file, or ":memory:" for in-memory */
|
|
5
5
|
path: string;
|
|
@@ -7,7 +7,7 @@ export type StorageOptions = {
|
|
|
7
7
|
wal?: boolean;
|
|
8
8
|
};
|
|
9
9
|
export type CreateDatabaseResult = {
|
|
10
|
-
db:
|
|
10
|
+
db: DatabaseAdapter;
|
|
11
11
|
schemaStatus: SchemaStatus;
|
|
12
12
|
};
|
|
13
13
|
/**
|
|
@@ -25,7 +25,7 @@ export declare class MemoryStorage {
|
|
|
25
25
|
/**
|
|
26
26
|
* Get the underlying database connection
|
|
27
27
|
*/
|
|
28
|
-
get database():
|
|
28
|
+
get database(): DatabaseAdapter;
|
|
29
29
|
/**
|
|
30
30
|
* Get the schema status
|
|
31
31
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,cAAc,GAAG;IAC3B,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,EAAE,EAAE,eAAe,CAAC;IACpB,YAAY,EAAE,YAAY,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,oBAAoB,CA6C5E;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,EAAE,CAAkB;IAC5B,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,KAAK,CAAS;gBAEV,OAAO,EAAE,cAAc;IAOnC;;OAEG;IACH,IAAI,QAAQ,IAAI,eAAe,CAE9B;IAED;;OAEG;IACH,IAAI,YAAY,IAAI,YAAY,CAE/B;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,YAAY,IAAI,MAAM;IAWtB;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;;OAGG;IACH,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAK9B;;OAEG;IACH,gBAAgB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAKnC;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAOxC;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAIzC;;OAEG;IACH,OAAO,CACL,IAAI,EAAE,MAAM,GACX;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS;IAM1F;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE;QACf,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KACd,GAAG,IAAI;IASR;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI9B;;OAEG;IACH,WAAW,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE;IAU5F;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE;QACjB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,IAAI;IAmCR;;OAEG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAatC;;OAEG;IACH,YAAY,IAAI;QACd,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;KACnB,EAAE;IA4BH;;OAEG;IACH,kBAAkB,CAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,GACX,MAAM,EAAE,GAAG,SAAS;IAWvB;;OAEG;IACH,cAAc,CACZ,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EAAE,GAClB,IAAI;IAUP;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAQvC;;OAEG;IACH,eAAe,IAAI;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE;IAoBtE;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IA8BjE;;OAEG;IACH,iBAAiB,CACf,MAAM,EAAE,KAAK,CAAC;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC,GACD,IAAI;IAoDP;;OAEG;IACH,gBAAgB,CACd,MAAM,EAAE,MAAM,GACb;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE;IAsBpG;;OAEG;IACH,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAM5D;;OAEG;IACH,iBAAiB,CACf,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO,GAChD;QACD,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,EAAE,CAAC;KACrB,EAAE;CA+BJ"}
|
package/dist/storage/sqlite.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import Database from "better-sqlite3";
|
|
2
1
|
import { dirname } from "node:path";
|
|
3
2
|
import { mkdirSync, statSync } from "node:fs";
|
|
4
3
|
import { ensureMemoryIndexSchema, getSchemaVersion, migrateSchema, SCHEMA_VERSION, } from "./schema.js";
|
|
4
|
+
import { createDatabaseAdapterSync, } from "./db-adapter.js";
|
|
5
5
|
/**
|
|
6
6
|
* Create and initialize a SQLite database connection
|
|
7
7
|
*/
|
|
@@ -11,7 +11,7 @@ export function createDatabase(options) {
|
|
|
11
11
|
if (path !== ":memory:") {
|
|
12
12
|
mkdirSync(dirname(path), { recursive: true });
|
|
13
13
|
}
|
|
14
|
-
const db =
|
|
14
|
+
const db = createDatabaseAdapterSync(path);
|
|
15
15
|
// Enable WAL mode for better performance
|
|
16
16
|
if (wal && path !== ":memory:") {
|
|
17
17
|
db.pragma("journal_mode = WAL");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,aAAa,EACb,cAAc,GAEf,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,yBAAyB,GAE1B,MAAM,iBAAiB,CAAC;AAczB;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,OAAuB;IACpD,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAErC,6CAA6C;IAC7C,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,EAAE,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAE3C,yCAAyC;IACzC,IAAI,GAAG,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/B,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAClC,CAAC;IAED,4BAA4B;IAC5B,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAClC,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,aAAa;IAC/C,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAEjC,yBAAyB;IACzB,MAAM,cAAc,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAC5C,IAAI,YAA0B,CAAC;IAE/B,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;QACzB,sCAAsC;QACtC,YAAY,GAAG,uBAAuB,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC;SAAM,IAAI,cAAc,GAAG,cAAc,EAAE,CAAC;QAC3C,8BAA8B;QAC9B,YAAY,GAAG,aAAa,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IACnD,CAAC;SAAM,CAAC;QACN,qCAAqC;QACrC,YAAY,GAAG;YACb,OAAO,EAAE,cAAc;YACvB,YAAY,EAAE,KAAK;SACpB,CAAC;QACF,IAAI,CAAC;YACH,EAAE,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,GAAG,EAAE,CAAC;YACrD,YAAY,CAAC,YAAY,GAAG,IAAI,CAAC;QACnC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,YAAY,CAAC,QAAQ,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,aAAa;IAChB,EAAE,CAAkB;IACpB,aAAa,CAAe;IAC5B,KAAK,CAAS;IAEtB,YAAY,OAAuB;QACjC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;QAC1B,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACpB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,YAAY;QACV,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YAC9B,OAAO,CAAC,CAAC;QACX,CAAC;QACD,IAAI,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,WAAW,CAAI,EAAW;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACpC,OAAO,GAAG,EAAE,CAAC;IACf,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAI,EAAW;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACpC,OAAO,GAAG,CAAC,SAAS,EAAE,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,GAAW;QACjB,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC,GAAG,CAAC,GAAG,CAE9D,CAAC;QACd,OAAO,GAAG,EAAE,KAAK,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,GAAW,EAAE,KAAa;QAChC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,wDAAwD,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC5F,CAAC;IAED;;OAEG;IACH,OAAO,CACL,IAAY;QAEZ,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,GAAG,CAAC,IAAI,CAExD,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAMV;QACC,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;gCACwB,CACzB;aACA,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACnE,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAAY;QACrB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,GAAG,EAM9C,CAAC;IACN,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,KAWX;QACC,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAEtD,qCAAqC;QACrC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAErE,eAAe;QACf,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;+CAEuC,CACxC;aACA,GAAG,CACF,KAAK,CAAC,EAAE,EACR,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,aAAa,EACb,KAAK,CAAC,SAAS,CAChB,CAAC;QAEJ,kBAAkB;QAClB,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;sCAC8B,CAC/B;aACA,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACtG,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,IAAY;QAC7B,sBAAsB;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC,GAAG,CAAC,IAAI,CAE5E,CAAC;QAEJ,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACvE,CAAC;QAED,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACH,YAAY;QAYV,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,GAAG,EAWrD,CAAC;QAEJ,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACxB,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,OAAO,EAAE,GAAG,CAAC,QAAQ;YACrB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAa;YAChD,SAAS,EAAE,GAAG,CAAC,UAAU;SAC1B,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;OAEG;IACH,kBAAkB,CAChB,QAAgB,EAChB,KAAa,EACb,WAAmB,EACnB,IAAY;QAEZ,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE;aAChB,OAAO,CACN;4EACoE,CACrE;aACA,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,CAAsC,CAAC;QAEhF,OAAO,GAAG,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAc,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,CAAC;IAED;;OAEG;IACH,cAAc,CACZ,QAAgB,EAChB,KAAa,EACb,WAAmB,EACnB,IAAY,EACZ,SAAmB;QAEnB,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;sCAE8B,CAC/B;aACA,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACtG,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,QAAgB;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE;aACnB,OAAO,CAAC,kDAAkD,CAAC;aAC3D,GAAG,CAAC,MAAM,CAAC,CAAC;QACf,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,eAAe;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE;aAClB,OAAO,CAAC,6DAA6D,CAAC;aACtE,GAAG,EAAyC,CAAC;QAEhD,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE;aACnB,OAAO,CAAC,8DAA8D,CAAC;aACvE,GAAG,EAAyC,CAAC;QAEhD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEjE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACjE,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC1C,MAAM;YACN,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;YAC/B,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;SAClC,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,MAAc;QAC3B,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE;YAChC,mCAAmC;YACnC,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE;iBACnB,OAAO,CAAC,wCAAwC,CAAC;iBACjD,GAAG,CAAC,MAAM,CAAqB,CAAC;YAEnC,kBAAkB;YAClB,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC;YACzE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC1B,CAAC;YAED,gBAAgB;YAChB,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE;iBACxB,OAAO,CAAC,qCAAqC,CAAC;iBAC9C,GAAG,CAAC,MAAM,CAAC,CAAC;YAEf,eAAe;YACf,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE;iBACvB,OAAO,CAAC,oCAAoC,CAAC;iBAC7C,GAAG,CAAC,MAAM,CAAC,CAAC;YAEf,OAAO;gBACL,KAAK,EAAE,UAAU,CAAC,OAAO;gBACzB,MAAM,EAAE,WAAW,CAAC,OAAO;aAC5B,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,iBAAiB,CACf,MAcE;QAEF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEhC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE;YACzB,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC;YACzE,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CACjC;;wDAEgD,CACjD,CAAC;YACF,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAC/B;sCAC8B,CAC/B,CAAC;YAEF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAEtD,2BAA2B;gBAC3B,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAExB,eAAe;gBACf,WAAW,CAAC,GAAG,CACb,KAAK,CAAC,EAAE,EACR,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,aAAa,EACb,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,SAAS,IAAI,IAAI,EACvB,KAAK,CAAC,IAAI,IAAI,IAAI,EAClB,KAAK,CAAC,UAAU,IAAI,CAAC,CACtB,CAAC;gBAEF,kBAAkB;gBAClB,SAAS,CAAC,GAAG,CACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,EAAE,EACR,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,OAAO,CACd,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,gBAAgB,CACd,MAAc;QAEd,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CAAC,iFAAiF,CAAC;aAC1F,GAAG,CAAC,MAAM,CAOV,CAAC;QAEJ,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACxB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,UAAU,EAAE,GAAG,CAAC,WAAW,IAAI,CAAC;SACjC,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;OAEG;IACH,oBAAoB,CAAC,IAAY,EAAE,UAAkB;QACnD,IAAI,CAAC,EAAE;aACJ,OAAO,CAAC,iDAAiD,CAAC;aAC1D,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,iBAAiB,CACf,MAAc,EACd,UAA+C,EAAE;QAUjD,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC;QAEtC,IAAI,GAAG,GAAG,6FAA6F,CAAC;QACxG,MAAM,MAAM,GAAwB,CAAC,MAAM,CAAC,CAAC;QAE7C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,GAAG,IAAI,mBAAmB,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAQ5C,CAAC;QAEJ,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACxB,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,OAAO,EAAE,GAAG,CAAC,QAAQ;YACrB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAa;SACjD,CAAC,CAAC,CAAC;IACN,CAAC;CACF"}
|