@getplumb/core 0.4.3 → 0.4.5
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/chunker.d.ts +2 -27
- package/dist/chunker.d.ts.map +1 -1
- package/dist/chunker.js +2 -36
- package/dist/chunker.js.map +1 -1
- package/dist/context-builder.d.ts +18 -6
- package/dist/context-builder.d.ts.map +1 -1
- package/dist/context-builder.js +48 -24
- package/dist/context-builder.js.map +1 -1
- package/dist/embedder.d.ts.map +1 -1
- package/dist/embedder.js +6 -0
- package/dist/embedder.js.map +1 -1
- package/dist/index.d.ts +4 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -3
- package/dist/index.js.map +1 -1
- package/dist/local-store.d.ts +24 -31
- package/dist/local-store.d.ts.map +1 -1
- package/dist/local-store.js +81 -331
- package/dist/local-store.js.map +1 -1
- package/dist/memory-facts-search.d.ts +33 -0
- package/dist/memory-facts-search.d.ts.map +1 -0
- package/dist/memory-facts-search.js +143 -0
- package/dist/memory-facts-search.js.map +1 -0
- package/dist/read-path.d.ts +22 -13
- package/dist/read-path.d.ts.map +1 -1
- package/dist/read-path.js +19 -15
- package/dist/read-path.js.map +1 -1
- package/dist/schema.d.ts +13 -8
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +63 -83
- package/dist/schema.js.map +1 -1
- package/dist/scorer.d.ts +12 -10
- package/dist/scorer.d.ts.map +1 -1
- package/dist/scorer.js +13 -10
- package/dist/scorer.js.map +1 -1
- package/dist/store.d.ts +1 -6
- package/dist/store.d.ts.map +1 -1
- package/dist/types.d.ts +27 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/wasm-db.d.ts +17 -20
- package/dist/wasm-db.d.ts.map +1 -1
- package/dist/wasm-db.js +51 -56
- package/dist/wasm-db.js.map +1 -1
- package/package.json +5 -6
package/dist/types.d.ts
CHANGED
|
@@ -10,10 +10,36 @@ export interface MessageExchange {
|
|
|
10
10
|
export interface IngestResult {
|
|
11
11
|
readonly rawLogId: string;
|
|
12
12
|
readonly skipped?: boolean;
|
|
13
|
+
/** Number of facts extracted from this exchange (T-005, future). Always 0 for now. */
|
|
14
|
+
readonly factsExtracted: number;
|
|
15
|
+
/** IDs of extracted facts (T-005, future). Always [] for now. */
|
|
16
|
+
readonly factIds: string[];
|
|
13
17
|
}
|
|
14
18
|
export interface StoreStatus {
|
|
15
|
-
|
|
19
|
+
/** Count of curated memory facts (memory_facts table). */
|
|
20
|
+
readonly factCount: number;
|
|
16
21
|
readonly lastIngestion: Date | null;
|
|
17
22
|
readonly storageBytes: number;
|
|
18
23
|
}
|
|
24
|
+
export interface MemoryFact {
|
|
25
|
+
readonly id: string;
|
|
26
|
+
readonly userId: string;
|
|
27
|
+
readonly content: string;
|
|
28
|
+
readonly sourceSessionId: string;
|
|
29
|
+
readonly tags: readonly string[] | null;
|
|
30
|
+
readonly createdAt: string;
|
|
31
|
+
readonly embedStatus: string;
|
|
32
|
+
readonly embedError: string | null;
|
|
33
|
+
readonly embedModel: string | null;
|
|
34
|
+
readonly vecRowid: number | null;
|
|
35
|
+
}
|
|
36
|
+
export interface IngestMemoryFactInput {
|
|
37
|
+
readonly content: string;
|
|
38
|
+
readonly sourceSessionId: string;
|
|
39
|
+
readonly tags?: readonly string[];
|
|
40
|
+
/** Stored confidence value (0–1). Defaults to 0.95 if omitted. */
|
|
41
|
+
readonly confidence?: number;
|
|
42
|
+
/** Decay rate for time-based score decay. Defaults to 'slow' if omitted. */
|
|
43
|
+
readonly decayRate?: 'slow' | 'medium' | 'fast';
|
|
44
|
+
}
|
|
19
45
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa,GAAG,gBAAgB,CAAC;IAC/D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa,GAAG,gBAAgB,CAAC;IAC/D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,sFAAsF;IACtF,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,iEAAiE;IACjE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,0DAA0D;IAC1D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,IAAI,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,kEAAkE;IAClE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,4EAA4E;IAC5E,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;CACjD"}
|
package/dist/wasm-db.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* SQLite database wrapper using better-sqlite3.
|
|
3
3
|
*
|
|
4
4
|
* Replaces the previous @sqlite.org/sqlite-wasm implementation which cannot
|
|
5
|
-
* open real filesystem paths in a Node.js environment.
|
|
5
|
+
* open real filesystem paths (paths outside /tmp) in a Node.js/Emscripten environment.
|
|
6
6
|
*
|
|
7
7
|
* Exposes a WasmDb-compatible interface so local-store.ts and schema.ts
|
|
8
8
|
* require no changes:
|
|
@@ -19,37 +19,34 @@ type ExecOptions = {
|
|
|
19
19
|
returnValue?: 'resultRows';
|
|
20
20
|
};
|
|
21
21
|
/**
|
|
22
|
-
* Thin statement wrapper that adapts better-sqlite3's API
|
|
23
|
-
*
|
|
22
|
+
* Thin statement wrapper that adapts better-sqlite3's synchronous API
|
|
23
|
+
* to match the wasm oo1 Statement interface expected by local-store.ts and schema.ts.
|
|
24
|
+
*
|
|
25
|
+
* The wasm oo1 API is cursor-based: bind() → step() → get() → finalize().
|
|
26
|
+
* better-sqlite3 is all-at-once: prepare() → .all() or .run().
|
|
27
|
+
*
|
|
28
|
+
* We lazily detect on first step() whether this is a SELECT (has columns) or
|
|
29
|
+
* DML (INSERT/UPDATE/DELETE, no result set) and route accordingly.
|
|
24
30
|
*/
|
|
25
31
|
declare class CompatStatement {
|
|
26
32
|
#private;
|
|
27
33
|
constructor(stmt: Database.Statement);
|
|
28
34
|
bind(params: unknown[]): void;
|
|
29
|
-
/**
|
|
30
|
-
* Execute the statement. For SELECT statements, caches all rows for get().
|
|
31
|
-
* For write statements (INSERT/UPDATE/DELETE/PRAGMA writes), runs immediately.
|
|
32
|
-
*/
|
|
33
35
|
step(): boolean;
|
|
34
|
-
/**
|
|
35
|
-
* Get a value from the current row.
|
|
36
|
-
* - get(colIndex: number) → scalar at that column index
|
|
37
|
-
* - get({}) → plain object with column names as keys
|
|
38
|
-
*/
|
|
39
36
|
get(colOrObj: number | Record<string, unknown>): unknown;
|
|
40
37
|
finalize(): void;
|
|
41
38
|
}
|
|
42
39
|
/**
|
|
43
|
-
* Thin database wrapper
|
|
44
|
-
*
|
|
40
|
+
* Thin database wrapper for better-sqlite3.
|
|
41
|
+
* Provides a WasmDb-compatible interface for local-store.ts and schema.ts.
|
|
45
42
|
*/
|
|
46
|
-
declare class
|
|
43
|
+
declare class WasmDbImpl {
|
|
47
44
|
#private;
|
|
48
|
-
constructor(
|
|
45
|
+
constructor(db: Database.Database);
|
|
49
46
|
/**
|
|
50
47
|
* Execute SQL.
|
|
51
48
|
* - exec(sql: string) — plain execution, no return value
|
|
52
|
-
* - exec({ sql, returnValue: 'resultRows' }) — returns array of row objects
|
|
49
|
+
* - exec({ sql, returnValue: 'resultRows', rowMode: 'object' }) — returns array of row objects
|
|
53
50
|
*/
|
|
54
51
|
exec(sqlOrOpts: string | ExecOptions): unknown[] | void;
|
|
55
52
|
prepare(sql: string): CompatStatement;
|
|
@@ -59,11 +56,11 @@ declare class CompatDb {
|
|
|
59
56
|
selectValue(sql: string): unknown;
|
|
60
57
|
close(): void;
|
|
61
58
|
}
|
|
62
|
-
export type WasmDb =
|
|
59
|
+
export type WasmDb = WasmDbImpl;
|
|
63
60
|
/**
|
|
64
|
-
* Open a SQLite database file.
|
|
61
|
+
* Open a SQLite database file using better-sqlite3.
|
|
65
62
|
* Creates the file if it doesn't exist.
|
|
66
|
-
*
|
|
63
|
+
* Uses native SQLite bindings (better-sqlite3) for real filesystem access.
|
|
67
64
|
*/
|
|
68
65
|
export declare function openDb(path: string): Promise<WasmDb>;
|
|
69
66
|
export {};
|
package/dist/wasm-db.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wasm-db.d.ts","sourceRoot":"","sources":["../src/wasm-db.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC7B,WAAW,CAAC,EAAE,YAAY,CAAC;CAC5B,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"wasm-db.d.ts","sourceRoot":"","sources":["../src/wasm-db.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC7B,WAAW,CAAC,EAAE,YAAY,CAAC;CAC5B,CAAC;AAEF;;;;;;;;;GASG;AACH,cAAM,eAAe;;gBAOP,IAAI,EAAE,QAAQ,CAAC,SAAS;IAIpC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI;IAI7B,IAAI,IAAI,OAAO;IAqBf,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO;IAaxD,QAAQ,IAAI,IAAI;CAGjB;AAED;;;GAGG;AACH,cAAM,UAAU;;gBAGF,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAIjC;;;;OAIG;IACH,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,OAAO,EAAE,GAAG,IAAI;IAUvD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe;IAKrC;;OAEG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAOjC,KAAK,IAAI,IAAI;CAGd;AAED,MAAM,MAAM,MAAM,GAAG,UAAU,CAAC;AAEhC;;;;GAIG;AACH,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAI1D"}
|
package/dist/wasm-db.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* SQLite database wrapper using better-sqlite3.
|
|
3
3
|
*
|
|
4
4
|
* Replaces the previous @sqlite.org/sqlite-wasm implementation which cannot
|
|
5
|
-
* open real filesystem paths in a Node.js environment.
|
|
5
|
+
* open real filesystem paths (paths outside /tmp) in a Node.js/Emscripten environment.
|
|
6
6
|
*
|
|
7
7
|
* Exposes a WasmDb-compatible interface so local-store.ts and schema.ts
|
|
8
8
|
* require no changes:
|
|
@@ -14,97 +14,87 @@
|
|
|
14
14
|
*/
|
|
15
15
|
import Database from 'better-sqlite3';
|
|
16
16
|
/**
|
|
17
|
-
* Thin statement wrapper that adapts better-sqlite3's API
|
|
18
|
-
*
|
|
17
|
+
* Thin statement wrapper that adapts better-sqlite3's synchronous API
|
|
18
|
+
* to match the wasm oo1 Statement interface expected by local-store.ts and schema.ts.
|
|
19
|
+
*
|
|
20
|
+
* The wasm oo1 API is cursor-based: bind() → step() → get() → finalize().
|
|
21
|
+
* better-sqlite3 is all-at-once: prepare() → .all() or .run().
|
|
22
|
+
*
|
|
23
|
+
* We lazily detect on first step() whether this is a SELECT (has columns) or
|
|
24
|
+
* DML (INSERT/UPDATE/DELETE, no result set) and route accordingly.
|
|
19
25
|
*/
|
|
20
26
|
class CompatStatement {
|
|
21
27
|
#stmt;
|
|
22
28
|
#params = [];
|
|
23
29
|
#rows = null;
|
|
24
30
|
#rowIndex = 0;
|
|
25
|
-
#
|
|
31
|
+
#isDml = false;
|
|
26
32
|
constructor(stmt) {
|
|
27
33
|
this.#stmt = stmt;
|
|
28
34
|
}
|
|
29
35
|
bind(params) {
|
|
30
36
|
this.#params = params;
|
|
31
37
|
}
|
|
32
|
-
/**
|
|
33
|
-
* Execute the statement. For SELECT statements, caches all rows for get().
|
|
34
|
-
* For write statements (INSERT/UPDATE/DELETE/PRAGMA writes), runs immediately.
|
|
35
|
-
*/
|
|
36
38
|
step() {
|
|
37
|
-
if (this.#
|
|
38
|
-
//
|
|
39
|
-
if (this.#
|
|
40
|
-
|
|
41
|
-
this.#rows =
|
|
39
|
+
if (this.#rows === null && !this.#isDml) {
|
|
40
|
+
// First call — determine if this is DML or SELECT
|
|
41
|
+
if (this.#stmt.reader) {
|
|
42
|
+
// SELECT — get all rows up front
|
|
43
|
+
this.#rows = this.#stmt.all(...this.#params);
|
|
42
44
|
this.#rowIndex = 0;
|
|
43
|
-
this.#columnNames = this.#stmt.columns().map((c) => c.name);
|
|
44
45
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
else {
|
|
47
|
+
// DML (INSERT/UPDATE/DELETE) — run it once
|
|
48
|
+
this.#stmt.run(...this.#params);
|
|
49
|
+
this.#isDml = true;
|
|
50
|
+
return false; // No rows to iterate
|
|
48
51
|
}
|
|
49
|
-
return false;
|
|
50
52
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
return false;
|
|
53
|
+
if (this.#rows !== null && this.#rowIndex < this.#rows.length) {
|
|
54
|
+
this.#rowIndex++;
|
|
55
|
+
return true;
|
|
55
56
|
}
|
|
57
|
+
return false;
|
|
56
58
|
}
|
|
57
|
-
/**
|
|
58
|
-
* Get a value from the current row.
|
|
59
|
-
* - get(colIndex: number) → scalar at that column index
|
|
60
|
-
* - get({}) → plain object with column names as keys
|
|
61
|
-
*/
|
|
62
59
|
get(colOrObj) {
|
|
63
|
-
if (this.#rows
|
|
64
|
-
return
|
|
65
|
-
const row = this.#rows[this.#rowIndex - 1];
|
|
66
|
-
if (row === undefined)
|
|
67
|
-
return null;
|
|
60
|
+
if (!this.#rows || this.#rowIndex === 0)
|
|
61
|
+
return undefined;
|
|
62
|
+
const row = this.#rows[this.#rowIndex - 1] ?? {};
|
|
68
63
|
if (typeof colOrObj === 'number') {
|
|
69
|
-
return row[colOrObj];
|
|
64
|
+
return Object.values(row)[colOrObj];
|
|
70
65
|
}
|
|
71
|
-
// Object form —
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
obj[this.#columnNames[i]] = row[i];
|
|
66
|
+
// Object form — populate the passed object with row values
|
|
67
|
+
for (const [key, val] of Object.entries(row)) {
|
|
68
|
+
colOrObj[key] = val;
|
|
75
69
|
}
|
|
76
|
-
return
|
|
70
|
+
return colOrObj;
|
|
77
71
|
}
|
|
78
72
|
finalize() {
|
|
79
73
|
// better-sqlite3 statements don't need explicit finalization
|
|
80
|
-
this.#rows = null;
|
|
81
|
-
this.#rowIndex = 0;
|
|
82
|
-
this.#params = [];
|
|
83
74
|
}
|
|
84
75
|
}
|
|
85
76
|
/**
|
|
86
|
-
* Thin database wrapper
|
|
87
|
-
*
|
|
77
|
+
* Thin database wrapper for better-sqlite3.
|
|
78
|
+
* Provides a WasmDb-compatible interface for local-store.ts and schema.ts.
|
|
88
79
|
*/
|
|
89
|
-
class
|
|
80
|
+
class WasmDbImpl {
|
|
90
81
|
#db;
|
|
91
|
-
constructor(
|
|
92
|
-
this.#db =
|
|
82
|
+
constructor(db) {
|
|
83
|
+
this.#db = db;
|
|
93
84
|
}
|
|
94
85
|
/**
|
|
95
86
|
* Execute SQL.
|
|
96
87
|
* - exec(sql: string) — plain execution, no return value
|
|
97
|
-
* - exec({ sql, returnValue: 'resultRows' }) — returns array of row objects
|
|
88
|
+
* - exec({ sql, returnValue: 'resultRows', rowMode: 'object' }) — returns array of row objects
|
|
98
89
|
*/
|
|
99
90
|
exec(sqlOrOpts) {
|
|
100
91
|
if (typeof sqlOrOpts === 'string') {
|
|
101
92
|
this.#db.exec(sqlOrOpts);
|
|
102
93
|
return;
|
|
103
94
|
}
|
|
104
|
-
// Object form — run as query and return
|
|
105
|
-
const
|
|
106
|
-
|
|
107
|
-
return rows;
|
|
95
|
+
// Object form — run as query and return row objects
|
|
96
|
+
const stmt = this.#db.prepare(sqlOrOpts.sql);
|
|
97
|
+
return stmt.all();
|
|
108
98
|
}
|
|
109
99
|
prepare(sql) {
|
|
110
100
|
const stmt = this.#db.prepare(sql);
|
|
@@ -114,19 +104,24 @@ class CompatDb {
|
|
|
114
104
|
* Execute a single-value query and return the first column of the first row.
|
|
115
105
|
*/
|
|
116
106
|
selectValue(sql) {
|
|
117
|
-
const
|
|
118
|
-
|
|
107
|
+
const stmt = this.#db.prepare(sql);
|
|
108
|
+
const row = stmt.get();
|
|
109
|
+
if (row === undefined || row === null)
|
|
110
|
+
return undefined;
|
|
111
|
+
return Object.values(row)[0];
|
|
119
112
|
}
|
|
120
113
|
close() {
|
|
121
114
|
this.#db.close();
|
|
122
115
|
}
|
|
123
116
|
}
|
|
124
117
|
/**
|
|
125
|
-
* Open a SQLite database file.
|
|
118
|
+
* Open a SQLite database file using better-sqlite3.
|
|
126
119
|
* Creates the file if it doesn't exist.
|
|
127
|
-
*
|
|
120
|
+
* Uses native SQLite bindings (better-sqlite3) for real filesystem access.
|
|
128
121
|
*/
|
|
129
122
|
export async function openDb(path) {
|
|
130
|
-
|
|
123
|
+
const db = new Database(path);
|
|
124
|
+
db.pragma('journal_mode = WAL');
|
|
125
|
+
return new WasmDbImpl(db);
|
|
131
126
|
}
|
|
132
127
|
//# sourceMappingURL=wasm-db.js.map
|
package/dist/wasm-db.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wasm-db.js","sourceRoot":"","sources":["../src/wasm-db.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAQtC
|
|
1
|
+
{"version":3,"file":"wasm-db.js","sourceRoot":"","sources":["../src/wasm-db.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@getplumb/core",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.5",
|
|
4
4
|
"description": "Plumb memory engine — storage abstraction, types, and local SQLite driver",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Clay Waters <hello@plumb.run>",
|
|
@@ -38,14 +38,13 @@
|
|
|
38
38
|
"prepublishOnly": "pnpm build"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@types/better-sqlite3": "^7.6.13",
|
|
42
41
|
"tsx": "^4.0.0",
|
|
43
|
-
"typescript": "^5.4.0"
|
|
42
|
+
"typescript": "^5.4.0",
|
|
43
|
+
"@types/better-sqlite3": "^7.6.13"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"
|
|
47
|
-
"better-sqlite3": "^
|
|
48
|
-
"openai": "^4.80.0"
|
|
46
|
+
"openai": "^4.80.0",
|
|
47
|
+
"better-sqlite3": "^9.4.3"
|
|
49
48
|
},
|
|
50
49
|
"optionalDependencies": {
|
|
51
50
|
"@anthropic-ai/sdk": "^0.78.0",
|