@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.
Files changed (44) hide show
  1. package/dist/chunker.d.ts +2 -27
  2. package/dist/chunker.d.ts.map +1 -1
  3. package/dist/chunker.js +2 -36
  4. package/dist/chunker.js.map +1 -1
  5. package/dist/context-builder.d.ts +18 -6
  6. package/dist/context-builder.d.ts.map +1 -1
  7. package/dist/context-builder.js +48 -24
  8. package/dist/context-builder.js.map +1 -1
  9. package/dist/embedder.d.ts.map +1 -1
  10. package/dist/embedder.js +6 -0
  11. package/dist/embedder.js.map +1 -1
  12. package/dist/index.d.ts +4 -8
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +1 -3
  15. package/dist/index.js.map +1 -1
  16. package/dist/local-store.d.ts +24 -31
  17. package/dist/local-store.d.ts.map +1 -1
  18. package/dist/local-store.js +81 -331
  19. package/dist/local-store.js.map +1 -1
  20. package/dist/memory-facts-search.d.ts +33 -0
  21. package/dist/memory-facts-search.d.ts.map +1 -0
  22. package/dist/memory-facts-search.js +143 -0
  23. package/dist/memory-facts-search.js.map +1 -0
  24. package/dist/read-path.d.ts +22 -13
  25. package/dist/read-path.d.ts.map +1 -1
  26. package/dist/read-path.js +19 -15
  27. package/dist/read-path.js.map +1 -1
  28. package/dist/schema.d.ts +13 -8
  29. package/dist/schema.d.ts.map +1 -1
  30. package/dist/schema.js +63 -83
  31. package/dist/schema.js.map +1 -1
  32. package/dist/scorer.d.ts +12 -10
  33. package/dist/scorer.d.ts.map +1 -1
  34. package/dist/scorer.js +13 -10
  35. package/dist/scorer.js.map +1 -1
  36. package/dist/store.d.ts +1 -6
  37. package/dist/store.d.ts.map +1 -1
  38. package/dist/types.d.ts +27 -1
  39. package/dist/types.d.ts.map +1 -1
  40. package/dist/wasm-db.d.ts +17 -20
  41. package/dist/wasm-db.d.ts.map +1 -1
  42. package/dist/wasm-db.js +51 -56
  43. package/dist/wasm-db.js.map +1 -1
  44. 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
- readonly rawLogCount: number;
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
@@ -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,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,IAAI,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B"}
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 to the wasm oo1 style
23
- * used throughout local-store.ts, fact-search.ts, and raw-log-search.ts.
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 adapting better-sqlite3 to the wasm oo1 API surface
44
- * used by local-store.ts and schema.ts.
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 CompatDb {
43
+ declare class WasmDbImpl {
47
44
  #private;
48
- constructor(path: string);
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 = CompatDb;
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
- * Returns a promise for API compatibility with the previous wasm implementation.
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 {};
@@ -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;;;GAGG;AACH,cAAM,eAAe;;gBAOP,IAAI,EAAE,QAAQ,CAAC,SAAS;IAIpC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI;IAI7B;;;OAGG;IACH,IAAI,IAAI,OAAO;IAqBf;;;;OAIG;IACH,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO;IAgBxD,QAAQ,IAAI,IAAI;CAMjB;AAED;;;GAGG;AACH,cAAM,QAAQ;;gBAGA,IAAI,EAAE,MAAM;IAIxB;;;;OAIG;IACH,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,OAAO,EAAE,GAAG,IAAI;IAYvD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe;IAKrC;;OAEG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAKjC,KAAK,IAAI,IAAI;CAGd;AAED,MAAM,MAAM,MAAM,GAAG,QAAQ,CAAC;AAE9B;;;;GAIG;AACH,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE1D"}
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 to the wasm oo1 style
18
- * used throughout local-store.ts, fact-search.ts, and raw-log-search.ts.
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
- #columnNames = [];
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.#stmt.reader) {
38
- // SELECTcache all rows on first call
39
- if (this.#rows === null) {
40
- const raw = this.#stmt.raw(true).all(...this.#params);
41
- this.#rows = raw;
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
- if (this.#rowIndex < this.#rows.length) {
46
- this.#rowIndex++;
47
- return true;
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
- else {
52
- // Write statement
53
- this.#stmt.run(...this.#params);
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 === null || this.#rowIndex === 0)
64
- return null;
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 — zip column names with row values
72
- const obj = {};
73
- for (let i = 0; i < this.#columnNames.length; i++) {
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 obj;
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 adapting better-sqlite3 to the wasm oo1 API surface
87
- * used by local-store.ts and schema.ts.
77
+ * Thin database wrapper for better-sqlite3.
78
+ * Provides a WasmDb-compatible interface for local-store.ts and schema.ts.
88
79
  */
89
- class CompatDb {
80
+ class WasmDbImpl {
90
81
  #db;
91
- constructor(path) {
92
- this.#db = new Database(path);
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 rows
105
- const { sql } = sqlOrOpts;
106
- const rows = this.#db.prepare(sql).all();
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 row = this.#db.prepare(sql).raw(true).get();
118
- return row ? row[0] : null;
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
- * Returns a promise for API compatibility with the previous wasm implementation.
120
+ * Uses native SQLite bindings (better-sqlite3) for real filesystem access.
128
121
  */
129
122
  export async function openDb(path) {
130
- return new CompatDb(path);
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
@@ -1 +1 @@
1
- {"version":3,"file":"wasm-db.js","sourceRoot":"","sources":["../src/wasm-db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wasm-db.js","sourceRoot":"","sources":["../src/wasm-db.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAQtC;;;;;;;;;GASG;AACH,MAAM,eAAe;IACV,KAAK,CAAqB;IACnC,OAAO,GAAc,EAAE,CAAC;IACxB,KAAK,GAAqC,IAAI,CAAC;IAC/C,SAAS,GAAG,CAAC,CAAC;IACd,MAAM,GAAG,KAAK,CAAC;IAEf,YAAY,IAAwB;QAClC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,IAAI,CAAC,MAAiB;QACpB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACxC,kDAAkD;YAClD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBACtB,iCAAiC;gBACjC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAA8B,CAAC;gBAC1E,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,2CAA2C;gBAC3C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;gBAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,OAAO,KAAK,CAAC,CAAC,qBAAqB;YACrC,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC9D,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,GAAG,CAAC,QAA0C;QAC5C,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACjD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;QACD,2DAA2D;QAC3D,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7C,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QACtB,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,QAAQ;QACN,6DAA6D;IAC/D,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU;IACL,GAAG,CAAoB;IAEhC,YAAY,EAAqB;QAC/B,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAC,SAA+B;QAClC,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACzB,OAAO;QACT,CAAC;QACD,oDAAoD;QACpD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,GAAG,EAAe,CAAC;IACjC,CAAC;IAED,OAAO,CAAC,GAAW;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACnC,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,GAAW;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAyC,CAAC;QAC9D,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,SAAS,CAAC;QACxD,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;CACF;AAID;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAY;IACvC,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9B,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAChC,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;AAC5B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getplumb/core",
3
- "version": "0.4.3",
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
- "@sqlite.org/sqlite-wasm": "3.47.2-build1",
47
- "better-sqlite3": "^12.6.2",
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",