@framers/sql-storage-adapter 0.5.3 → 0.6.0

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 (73) hide show
  1. package/README.md +99 -1
  2. package/dist/adapters/betterSqliteAdapter.d.ts.map +1 -1
  3. package/dist/adapters/capacitorSqliteAdapter.d.ts.map +1 -1
  4. package/dist/adapters/electron/preload.d.ts.map +1 -1
  5. package/dist/adapters/sqlJsAdapter.d.ts.map +1 -1
  6. package/dist/codecs/BrowserBlobCodec.d.ts +14 -0
  7. package/dist/codecs/BrowserBlobCodec.d.ts.map +1 -0
  8. package/dist/codecs/BrowserBlobCodec.js +30 -0
  9. package/dist/codecs/BrowserBlobCodec.js.map +1 -0
  10. package/dist/codecs/NodeBlobCodec.d.ts +14 -0
  11. package/dist/codecs/NodeBlobCodec.d.ts.map +1 -0
  12. package/dist/codecs/NodeBlobCodec.js +31 -0
  13. package/dist/codecs/NodeBlobCodec.js.map +1 -0
  14. package/dist/core/contracts/blobCodec.d.ts +15 -0
  15. package/dist/core/contracts/blobCodec.d.ts.map +1 -0
  16. package/dist/core/contracts/blobCodec.js +2 -0
  17. package/dist/core/contracts/blobCodec.js.map +1 -0
  18. package/dist/core/contracts/dialect.d.ts +55 -0
  19. package/dist/core/contracts/dialect.d.ts.map +1 -0
  20. package/dist/core/contracts/dialect.js +2 -0
  21. package/dist/core/contracts/dialect.js.map +1 -0
  22. package/dist/core/contracts/exporter.d.ts +13 -0
  23. package/dist/core/contracts/exporter.d.ts.map +1 -0
  24. package/dist/core/contracts/exporter.js +2 -0
  25. package/dist/core/contracts/exporter.js.map +1 -0
  26. package/dist/core/contracts/features.d.ts +25 -0
  27. package/dist/core/contracts/features.d.ts.map +1 -0
  28. package/dist/core/contracts/features.js +25 -0
  29. package/dist/core/contracts/features.js.map +1 -0
  30. package/dist/core/contracts/fts.d.ts +66 -0
  31. package/dist/core/contracts/fts.d.ts.map +1 -0
  32. package/dist/core/contracts/fts.js +2 -0
  33. package/dist/core/contracts/fts.js.map +1 -0
  34. package/dist/core/contracts/index.d.ts +6 -0
  35. package/dist/core/contracts/index.d.ts.map +1 -1
  36. package/dist/core/contracts/index.js +1 -0
  37. package/dist/core/contracts/index.js.map +1 -1
  38. package/dist/core/resolver.d.ts.map +1 -1
  39. package/dist/dialects/PostgresDialect.d.ts +19 -0
  40. package/dist/dialects/PostgresDialect.d.ts.map +1 -0
  41. package/dist/dialects/PostgresDialect.js +45 -0
  42. package/dist/dialects/PostgresDialect.js.map +1 -0
  43. package/dist/dialects/SqliteDialect.d.ts +19 -0
  44. package/dist/dialects/SqliteDialect.d.ts.map +1 -0
  45. package/dist/dialects/SqliteDialect.js +34 -0
  46. package/dist/dialects/SqliteDialect.js.map +1 -0
  47. package/dist/exporters/PostgresExporter.d.ts +14 -0
  48. package/dist/exporters/PostgresExporter.d.ts.map +1 -0
  49. package/dist/exporters/PostgresExporter.js +32 -0
  50. package/dist/exporters/PostgresExporter.js.map +1 -0
  51. package/dist/exporters/SqliteFileExporter.d.ts +16 -0
  52. package/dist/exporters/SqliteFileExporter.d.ts.map +1 -0
  53. package/dist/exporters/SqliteFileExporter.js +26 -0
  54. package/dist/exporters/SqliteFileExporter.js.map +1 -0
  55. package/dist/features/sync/conflicts/conflictResolver.d.ts.map +1 -1
  56. package/dist/features/sync/crossPlatformSync.d.ts.map +1 -1
  57. package/dist/features/sync/devices/deviceManager.d.ts.map +1 -1
  58. package/dist/features/sync/transport/httpTransport.d.ts.map +1 -1
  59. package/dist/features/sync/transport/websocketTransport.d.ts.map +1 -1
  60. package/dist/fts/PostgresFts.d.ts +28 -0
  61. package/dist/fts/PostgresFts.d.ts.map +1 -0
  62. package/dist/fts/PostgresFts.js +58 -0
  63. package/dist/fts/PostgresFts.js.map +1 -0
  64. package/dist/fts/SqliteFts5.d.ts +22 -0
  65. package/dist/fts/SqliteFts5.d.ts.map +1 -0
  66. package/dist/fts/SqliteFts5.js +44 -0
  67. package/dist/fts/SqliteFts5.js.map +1 -0
  68. package/dist/index.d.ts +9 -0
  69. package/dist/index.d.ts.map +1 -1
  70. package/dist/index.js +10 -0
  71. package/dist/index.js.map +1 -1
  72. package/dist/shared/parameterUtils.d.ts.map +1 -1
  73. package/package.json +1 -1
@@ -0,0 +1,45 @@
1
+ /**
2
+ * PostgreSQL dialect implementation.
3
+ *
4
+ * Generates Postgres-compatible SQL syntax including `ON CONFLICT DO NOTHING`,
5
+ * `ON CONFLICT ... DO UPDATE SET`, `jsonb` extraction operators, `COALESCE()`,
6
+ * `GENERATED ALWAYS AS IDENTITY`, and `$N` positional placeholders.
7
+ */
8
+ export class PostgresDialect {
9
+ constructor() {
10
+ this.name = 'postgres';
11
+ }
12
+ insertOrIgnore(table, columns, placeholders) {
13
+ return `INSERT INTO ${table} (${columns.join(', ')}) VALUES (${placeholders.join(', ')}) ON CONFLICT DO NOTHING`;
14
+ }
15
+ insertOrReplace(table, columns, placeholders, primaryKey) {
16
+ const pk = primaryKey ?? columns[0];
17
+ const updates = columns
18
+ .filter((col) => col !== pk)
19
+ .map((col) => `${col} = EXCLUDED.${col}`)
20
+ .join(', ');
21
+ return `INSERT INTO ${table} (${columns.join(', ')}) VALUES (${placeholders.join(', ')}) ON CONFLICT (${pk}) DO UPDATE SET ${updates}`;
22
+ }
23
+ jsonExtract(column, jsonPath) {
24
+ const path = jsonPath.replace(/^\$\./, '');
25
+ const parts = path.split('.');
26
+ if (parts.length === 1) {
27
+ return `(${column}::jsonb)->>'${parts[0]}'`;
28
+ }
29
+ const args = parts.map((p) => `'${p}'`).join(', ');
30
+ return `jsonb_extract_path_text(${column}::jsonb, ${args})`;
31
+ }
32
+ ifnull(expr, fallback) {
33
+ return `COALESCE(${expr}, ${fallback})`;
34
+ }
35
+ autoIncrementPrimaryKey() {
36
+ return 'INTEGER GENERATED ALWAYS AS IDENTITY PRIMARY KEY';
37
+ }
38
+ pragma(_key, _value) {
39
+ return null;
40
+ }
41
+ placeholder(index) {
42
+ return `$${index + 1}`;
43
+ }
44
+ }
45
+ //# sourceMappingURL=PostgresDialect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PostgresDialect.js","sourceRoot":"","sources":["../../src/dialects/PostgresDialect.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,OAAO,eAAe;IAA5B;QACW,SAAI,GAAG,UAAmB,CAAC;IAwCtC,CAAC;IAtCC,cAAc,CAAC,KAAa,EAAE,OAAiB,EAAE,YAAsB;QACrE,OAAO,eAAe,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC;IACnH,CAAC;IAED,eAAe,CAAC,KAAa,EAAE,OAAiB,EAAE,YAAsB,EAAE,UAAmB;QAC3F,MAAM,EAAE,GAAG,UAAU,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,OAAO;aACpB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC;aAC3B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,eAAe,GAAG,EAAE,CAAC;aACxC,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,OAAO,eAAe,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,mBAAmB,OAAO,EAAE,CAAC;IACzI,CAAC;IAED,WAAW,CAAC,MAAc,EAAE,QAAgB;QAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,MAAM,eAAe,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;QAC9C,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,OAAO,2BAA2B,MAAM,YAAY,IAAI,GAAG,CAAC;IAC9D,CAAC;IAED,MAAM,CAAC,IAAY,EAAE,QAAgB;QACnC,OAAO,YAAY,IAAI,KAAK,QAAQ,GAAG,CAAC;IAC1C,CAAC;IAED,uBAAuB;QACrB,OAAO,kDAAkD,CAAC;IAC5D,CAAC;IAED,MAAM,CAAC,IAAY,EAAE,MAAc;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW,CAAC,KAAa;QACvB,OAAO,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;IACzB,CAAC;CACF"}
@@ -0,0 +1,19 @@
1
+ import type { SqlDialect } from '../core/contracts/dialect.js';
2
+ /**
3
+ * SQLite dialect implementation.
4
+ *
5
+ * Generates standard SQLite SQL syntax including `INSERT OR IGNORE`,
6
+ * `INSERT OR REPLACE`, `json_extract()`, `ifnull()`, `PRAGMA`, and
7
+ * positional `?` placeholders.
8
+ */
9
+ export declare class SqliteDialect implements SqlDialect {
10
+ readonly name: "sqlite";
11
+ insertOrIgnore(table: string, columns: string[], placeholders: string[]): string;
12
+ insertOrReplace(table: string, columns: string[], placeholders: string[], _primaryKey?: string): string;
13
+ jsonExtract(column: string, jsonPath: string): string;
14
+ ifnull(expr: string, fallback: string): string;
15
+ autoIncrementPrimaryKey(): string;
16
+ pragma(key: string, value: string): string | null;
17
+ placeholder(_index: number): string;
18
+ }
19
+ //# sourceMappingURL=SqliteDialect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SqliteDialect.d.ts","sourceRoot":"","sources":["../../src/dialects/SqliteDialect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE/D;;;;;;GAMG;AACH,qBAAa,aAAc,YAAW,UAAU;IAC9C,QAAQ,CAAC,IAAI,EAAG,QAAQ,CAAU;IAElC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM;IAIhF,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM;IAIvG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAIrD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAI9C,uBAAuB,IAAI,MAAM;IAIjC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIjD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAGpC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * SQLite dialect implementation.
3
+ *
4
+ * Generates standard SQLite SQL syntax including `INSERT OR IGNORE`,
5
+ * `INSERT OR REPLACE`, `json_extract()`, `ifnull()`, `PRAGMA`, and
6
+ * positional `?` placeholders.
7
+ */
8
+ export class SqliteDialect {
9
+ constructor() {
10
+ this.name = 'sqlite';
11
+ }
12
+ insertOrIgnore(table, columns, placeholders) {
13
+ return `INSERT OR IGNORE INTO ${table} (${columns.join(', ')}) VALUES (${placeholders.join(', ')})`;
14
+ }
15
+ insertOrReplace(table, columns, placeholders, _primaryKey) {
16
+ return `INSERT OR REPLACE INTO ${table} (${columns.join(', ')}) VALUES (${placeholders.join(', ')})`;
17
+ }
18
+ jsonExtract(column, jsonPath) {
19
+ return `json_extract(${column}, '${jsonPath}')`;
20
+ }
21
+ ifnull(expr, fallback) {
22
+ return `ifnull(${expr}, ${fallback})`;
23
+ }
24
+ autoIncrementPrimaryKey() {
25
+ return 'INTEGER PRIMARY KEY AUTOINCREMENT';
26
+ }
27
+ pragma(key, value) {
28
+ return `PRAGMA ${key} = ${value}`;
29
+ }
30
+ placeholder(_index) {
31
+ return '?';
32
+ }
33
+ }
34
+ //# sourceMappingURL=SqliteDialect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SqliteDialect.js","sourceRoot":"","sources":["../../src/dialects/SqliteDialect.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,OAAO,aAAa;IAA1B;QACW,SAAI,GAAG,QAAiB,CAAC;IA6BpC,CAAC;IA3BC,cAAc,CAAC,KAAa,EAAE,OAAiB,EAAE,YAAsB;QACrE,OAAO,yBAAyB,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACtG,CAAC;IAED,eAAe,CAAC,KAAa,EAAE,OAAiB,EAAE,YAAsB,EAAE,WAAoB;QAC5F,OAAO,0BAA0B,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACvG,CAAC;IAED,WAAW,CAAC,MAAc,EAAE,QAAgB;QAC1C,OAAO,gBAAgB,MAAM,MAAM,QAAQ,IAAI,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,IAAY,EAAE,QAAgB;QACnC,OAAO,UAAU,IAAI,KAAK,QAAQ,GAAG,CAAC;IACxC,CAAC;IAED,uBAAuB;QACrB,OAAO,mCAAmC,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,GAAW,EAAE,KAAa;QAC/B,OAAO,UAAU,GAAG,MAAM,KAAK,EAAE,CAAC;IACpC,CAAC;IAED,WAAW,CAAC,MAAc;QACxB,OAAO,GAAG,CAAC;IACb,CAAC;CACF"}
@@ -0,0 +1,14 @@
1
+ import type { IDatabaseExporter } from '../core/contracts/exporter.js';
2
+ /**
3
+ * PostgreSQL database exporter using `pg_dump`.
4
+ *
5
+ * Requires a valid connection string and `pg_dump` to be available on
6
+ * the system PATH. Supports both file-based and byte-array exports.
7
+ */
8
+ export declare class PostgresExporter implements IDatabaseExporter {
9
+ private readonly connectionString?;
10
+ constructor(connectionString?: string | undefined);
11
+ exportToFile(outputPath: string): Promise<void>;
12
+ exportToBytes(): Promise<Uint8Array>;
13
+ }
14
+ //# sourceMappingURL=PostgresExporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PostgresExporter.d.ts","sourceRoot":"","sources":["../../src/exporters/PostgresExporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAEvE;;;;;GAKG;AACH,qBAAa,gBAAiB,YAAW,iBAAiB;IAC5C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBAAjB,gBAAgB,CAAC,EAAE,MAAM,YAAA;IAEhD,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU/C,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC;CAW3C"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * PostgreSQL database exporter using `pg_dump`.
3
+ *
4
+ * Requires a valid connection string and `pg_dump` to be available on
5
+ * the system PATH. Supports both file-based and byte-array exports.
6
+ */
7
+ export class PostgresExporter {
8
+ constructor(connectionString) {
9
+ this.connectionString = connectionString;
10
+ }
11
+ async exportToFile(outputPath) {
12
+ if (!this.connectionString) {
13
+ throw new Error('PostgresExporter requires a connection string for pg_dump.');
14
+ }
15
+ const { execSync } = await import('node:child_process');
16
+ execSync(`pg_dump "${this.connectionString}" --file="${outputPath}" --format=custom`, {
17
+ stdio: 'pipe',
18
+ });
19
+ }
20
+ async exportToBytes() {
21
+ if (!this.connectionString) {
22
+ throw new Error('PostgresExporter requires a connection string for pg_dump.');
23
+ }
24
+ const { execSync } = await import('node:child_process');
25
+ const buf = execSync(`pg_dump "${this.connectionString}" --format=custom`, {
26
+ stdio: ['pipe', 'pipe', 'pipe'],
27
+ maxBuffer: 256 * 1024 * 1024,
28
+ });
29
+ return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength);
30
+ }
31
+ }
32
+ //# sourceMappingURL=PostgresExporter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PostgresExporter.js","sourceRoot":"","sources":["../../src/exporters/PostgresExporter.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,OAAO,gBAAgB;IAC3B,YAA6B,gBAAyB;QAAzB,qBAAgB,GAAhB,gBAAgB,CAAS;IAAG,CAAC;IAE1D,KAAK,CAAC,YAAY,CAAC,UAAkB;QACnC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;QACD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACxD,QAAQ,CAAC,YAAY,IAAI,CAAC,gBAAgB,aAAa,UAAU,mBAAmB,EAAE;YACpF,KAAK,EAAE,MAAM;SACd,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;QACD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACxD,MAAM,GAAG,GAAG,QAAQ,CAAC,YAAY,IAAI,CAAC,gBAAgB,mBAAmB,EAAE;YACzE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YAC/B,SAAS,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI;SAC7B,CAAC,CAAC;QACH,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IACpE,CAAC;CACF"}
@@ -0,0 +1,16 @@
1
+ import type { StorageAdapter } from '../core/contracts/index.js';
2
+ import type { IDatabaseExporter } from '../core/contracts/exporter.js';
3
+ /**
4
+ * SQLite database exporter.
5
+ *
6
+ * Uses `VACUUM INTO` for file-based exports (better-sqlite3) and delegates
7
+ * to the adapter's `exportDatabase()` method for in-memory exports (sql.js,
8
+ * IndexedDB adapters).
9
+ */
10
+ export declare class SqliteFileExporter implements IDatabaseExporter {
11
+ private readonly adapter;
12
+ constructor(adapter: StorageAdapter);
13
+ exportToFile(outputPath: string): Promise<void>;
14
+ exportToBytes(): Promise<Uint8Array>;
15
+ }
16
+ //# sourceMappingURL=SqliteFileExporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SqliteFileExporter.d.ts","sourceRoot":"","sources":["../../src/exporters/SqliteFileExporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAEvE;;;;;;GAMG;AACH,qBAAa,kBAAmB,YAAW,iBAAiB;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,cAAc;IAE9C,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/C,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC;CAW3C"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * SQLite database exporter.
3
+ *
4
+ * Uses `VACUUM INTO` for file-based exports (better-sqlite3) and delegates
5
+ * to the adapter's `exportDatabase()` method for in-memory exports (sql.js,
6
+ * IndexedDB adapters).
7
+ */
8
+ export class SqliteFileExporter {
9
+ constructor(adapter) {
10
+ this.adapter = adapter;
11
+ }
12
+ async exportToFile(outputPath) {
13
+ const escaped = outputPath.replace(/'/g, "''");
14
+ await this.adapter.exec(`VACUUM INTO '${escaped}'`);
15
+ }
16
+ async exportToBytes() {
17
+ const exportable = this.adapter;
18
+ if (typeof exportable.exportDatabase === 'function') {
19
+ const result = exportable.exportDatabase();
20
+ return result instanceof Promise ? result : result;
21
+ }
22
+ throw new Error(`SqliteFileExporter.exportToBytes() is not supported for adapter "${this.adapter.kind}". ` +
23
+ 'Use exportToFile() instead, or use an adapter that supports exportDatabase() (sql.js, IndexedDB).');
24
+ }
25
+ }
26
+ //# sourceMappingURL=SqliteFileExporter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SqliteFileExporter.js","sourceRoot":"","sources":["../../src/exporters/SqliteFileExporter.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,MAAM,OAAO,kBAAkB;IAC7B,YAA6B,OAAuB;QAAvB,YAAO,GAAP,OAAO,CAAgB;IAAG,CAAC;IAExD,KAAK,CAAC,YAAY,CAAC,UAAkB;QACnC,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/C,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,OAAO,GAAG,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAsE,CAAC;QAC/F,IAAI,OAAO,UAAU,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;YACpD,MAAM,MAAM,GAAG,UAAU,CAAC,cAAc,EAAE,CAAC;YAC3C,OAAO,MAAM,YAAY,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QACrD,CAAC;QACD,MAAM,IAAI,KAAK,CACb,oEAAoE,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK;YAC1F,mGAAmG,CACpG,CAAC;IACJ,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"conflictResolver.d.ts","sourceRoot":"","sources":["../../../../src/features/sync/conflicts/conflictResolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conflictResolver.d.ts","sourceRoot":"","sources":["../../../../src/features/sync/conflicts/conflictResolver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"crossPlatformSync.d.ts","sourceRoot":"","sources":["../../../src/features/sync/crossPlatformSync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crossPlatformSync.d.ts","sourceRoot":"","sources":["../../../src/features/sync/crossPlatformSync.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"deviceManager.d.ts","sourceRoot":"","sources":["../../../../src/features/sync/devices/deviceManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deviceManager.d.ts","sourceRoot":"","sources":["../../../../src/features/sync/devices/deviceManager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"httpTransport.d.ts","sourceRoot":"","sources":["../../../../src/features/sync/transport/httpTransport.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,aAAa,EAGb,KAAK,gBAAgB,EACtB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D,uCAAuC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,yCAAyC;IACzC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,oDAAoD;IACpD,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,2CAA2C;IAC3C,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,kCAAkC;IAClC,mBAAmB,CAAC,EAAE,OAAO,KAAK,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,aAAc,SAAQ,aAAa;IAC9C,QAAQ,CAAC,IAAI,SAAmB;IAEhC,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,gBAAgB,CAAgC;IACxD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,WAAW,CAA8C;IACjE,OAAO,CAAC,gBAAgB,CAIT;gBAEH,OAAO,EAAE,oBAAoB;IAazC;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAyB9B;;OAEG;IACG,UAAU,CAAC,MAAM,SAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAY7D;;OAEG;IACG,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB/C;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IA0B3E;;OAEG;YACW,UAAU;IA6BxB;;OAEG;IACH,OAAO,CAAC,aAAa;IAMrB;;OAEG;IACH,OAAO,CAAC,YAAY;IAmBpB;;OAEG;YACW,KAAK;IA4CnB;;OAEG;YACW,cAAc;IAkD5B;;OAEG;IACH,OAAO,CAAC,cAAc;IA2BtB;;OAEG;IACH,OAAO,CAAC,cAAc;IAYtB;;OAEG;YACW,WAAW;IAqDzB;;OAEG;YACW,MAAM;IAsDpB;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAO9B;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,YACrB,oBAAoB,KAC5B,aAEF,CAAC"}
1
+ {"version":3,"file":"httpTransport.d.ts","sourceRoot":"","sources":["../../../../src/features/sync/transport/httpTransport.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,aAAa,EAGb,KAAK,gBAAgB,EACtB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D,uCAAuC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,yCAAyC;IACzC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,oDAAoD;IACpD,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,2CAA2C;IAC3C,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,kCAAkC;IAClC,mBAAmB,CAAC,EAAE,OAAO,KAAK,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,aAAc,SAAQ,aAAa;IAC9C,QAAQ,CAAC,IAAI,EAAG,MAAM,CAAU;IAEhC,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,gBAAgB,CAAgC;IACxD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,WAAW,CAA8C;IACjE,OAAO,CAAC,gBAAgB,CAIT;gBAEH,OAAO,EAAE,oBAAoB;IAazC;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAyB9B;;OAEG;IACG,UAAU,CAAC,MAAM,SAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAY7D;;OAEG;IACG,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB/C;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IA0B3E;;OAEG;YACW,UAAU;IA6BxB;;OAEG;IACH,OAAO,CAAC,aAAa;IAMrB;;OAEG;IACH,OAAO,CAAC,YAAY;IAmBpB;;OAEG;YACW,KAAK;IA4CnB;;OAEG;YACW,cAAc;IAkD5B;;OAEG;IACH,OAAO,CAAC,cAAc;IA2BtB;;OAEG;IACH,OAAO,CAAC,cAAc;IAYtB;;OAEG;YACW,WAAW;IAqDzB;;OAEG;YACW,MAAM;IAsDpB;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAO9B;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC9B,SAAS,oBAAoB,KAC5B,aAEF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"websocketTransport.d.ts","sourceRoot":"","sources":["../../../../src/features/sync/transport/websocketTransport.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,aAAa,EAGb,KAAK,gBAAgB,EACtB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,gBAAgB;IACjE,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAErB,4BAA4B;IAC5B,UAAU,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC;IAEpC,kCAAkC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAWD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,kBAAmB,SAAQ,aAAa;IACnD,QAAQ,CAAC,IAAI,cAAwB;IAErC,OAAO,CAAC,GAAG,CAA0B;IACrC,OAAO,CAAC,eAAe,CAA+C;IACtE,OAAO,CAAC,eAAe,CAA8C;IACrE,OAAO,CAAC,gBAAgB,CAA0C;IAClE,OAAO,CAAC,UAAU,CAAsC;IACxD,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,gBAAgB,CAAS;gBAErB,OAAO,EAAE,yBAAyB;IAW9C;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB9B;;OAEG;IACG,UAAU,CAAC,MAAM,SAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB7D;;OAEG;IACG,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B/C;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IA0B3E;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkEzB;;OAEG;IACH,OAAO,CAAC,SAAS;IAWjB;;OAEG;IACH,OAAO,CAAC,cAAc;IA6DtB;;OAEG;IACH,OAAO,CAAC,YAAY;IAwBpB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA+B1B;;OAEG;IACH,OAAO,CAAC,eAAe;IA0BvB;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;OAEG;IACH,OAAO,CAAC,YAAY;IASpB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAQzB;;OAEG;IACH,OAAO,CAAC,UAAU;IAKlB;;OAEG;IACH,OAAO,CAAC,YAAY;IAWpB;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAI/B;AAED;;GAEG;AACH,eAAO,MAAM,wBAAwB,YAC1B,yBAAyB,KACjC,kBAEF,CAAC"}
1
+ {"version":3,"file":"websocketTransport.d.ts","sourceRoot":"","sources":["../../../../src/features/sync/transport/websocketTransport.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,aAAa,EAGb,KAAK,gBAAgB,EACtB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,gBAAgB;IACjE,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAErB,4BAA4B;IAC5B,UAAU,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC;IAEpC,kCAAkC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAWD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,kBAAmB,SAAQ,aAAa;IACnD,QAAQ,CAAC,IAAI,EAAG,WAAW,CAAU;IAErC,OAAO,CAAC,GAAG,CAA0B;IACrC,OAAO,CAAC,eAAe,CAA+C;IACtE,OAAO,CAAC,eAAe,CAA8C;IACrE,OAAO,CAAC,gBAAgB,CAA0C;IAClE,OAAO,CAAC,UAAU,CAAsC;IACxD,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,gBAAgB,CAAS;gBAErB,OAAO,EAAE,yBAAyB;IAW9C;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB9B;;OAEG;IACG,UAAU,CAAC,MAAM,SAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB7D;;OAEG;IACG,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B/C;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IA0B3E;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkEzB;;OAEG;IACH,OAAO,CAAC,SAAS;IAWjB;;OAEG;IACH,OAAO,CAAC,cAAc;IA6DtB;;OAEG;IACH,OAAO,CAAC,YAAY;IAwBpB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA+B1B;;OAEG;IACH,OAAO,CAAC,eAAe;IA0BvB;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;OAEG;IACH,OAAO,CAAC,YAAY;IASpB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAQzB;;OAEG;IACH,OAAO,CAAC,UAAU;IAKlB;;OAEG;IACH,OAAO,CAAC,YAAY;IAWpB;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAI/B;AAED;;GAEG;AACH,eAAO,MAAM,wBAAwB,GACnC,SAAS,yBAAyB,KACjC,kBAEF,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { IFullTextSearch } from '../core/contracts/fts.js';
2
+ /**
3
+ * Postgres full-text search using tsvector columns and GIN indexes.
4
+ *
5
+ * Unlike FTS5 (separate virtual table), Postgres stores the tsvector
6
+ * as a column `_tsv` on the content table itself. The `createIndex()`
7
+ * call adds the column, creates the GIN index, and backfills existing rows.
8
+ */
9
+ export declare class PostgresFts implements IFullTextSearch {
10
+ /** The content table is stored during createIndex for use by other methods. */
11
+ private _contentTable;
12
+ private _columns;
13
+ createIndex(config: {
14
+ table: string;
15
+ columns: string[];
16
+ contentTable?: string;
17
+ tokenizer?: string;
18
+ }): string;
19
+ matchClause(_indexName: string, queryPlaceholder: string): string;
20
+ rankExpression(_indexName: string, queryPlaceholder?: string): string;
21
+ rebuildCommand(_indexName: string): string;
22
+ syncInsert(_indexName: string, rowIdExpr: string, columns: string[]): string;
23
+ sanitizeQuery(input: string): string;
24
+ joinClause(contentTable: string, contentAlias: string, _ftsAlias: string, _indexName: string): string;
25
+ /** Map FTS5-style tokenizer strings to Postgres text search configurations. */
26
+ private _tokenizerToLang;
27
+ }
28
+ //# sourceMappingURL=PostgresFts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PostgresFts.d.ts","sourceRoot":"","sources":["../../src/fts/PostgresFts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE;;;;;;GAMG;AACH,qBAAa,WAAY,YAAW,eAAe;IACjD,+EAA+E;IAC/E,OAAO,CAAC,aAAa,CAAM;IAC3B,OAAO,CAAC,QAAQ,CAAgB;IAEhC,WAAW,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAc5G,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,MAAM;IAIjE,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM;IAKrE,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAM1C,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM;IAM5E,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIpC,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAIrG,+EAA+E;IAC/E,OAAO,CAAC,gBAAgB;CAKzB"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Postgres full-text search using tsvector columns and GIN indexes.
3
+ *
4
+ * Unlike FTS5 (separate virtual table), Postgres stores the tsvector
5
+ * as a column `_tsv` on the content table itself. The `createIndex()`
6
+ * call adds the column, creates the GIN index, and backfills existing rows.
7
+ */
8
+ export class PostgresFts {
9
+ constructor() {
10
+ /** The content table is stored during createIndex for use by other methods. */
11
+ this._contentTable = '';
12
+ this._columns = [];
13
+ }
14
+ createIndex(config) {
15
+ const ct = config.contentTable ?? config.table;
16
+ this._contentTable = ct;
17
+ this._columns = config.columns;
18
+ const colConcat = config.columns.map((c) => `COALESCE(${c}, '')`).join(" || ' ' || ");
19
+ const lang = this._tokenizerToLang(config.tokenizer);
20
+ return [
21
+ `ALTER TABLE ${ct} ADD COLUMN IF NOT EXISTS _tsv tsvector`,
22
+ `CREATE INDEX IF NOT EXISTS idx_${config.table}_tsv ON ${ct} USING GIN(_tsv)`,
23
+ `UPDATE ${ct} SET _tsv = to_tsvector('${lang}', ${colConcat}) WHERE _tsv IS NULL`,
24
+ ].join(';\n');
25
+ }
26
+ matchClause(_indexName, queryPlaceholder) {
27
+ return `_tsv @@ plainto_tsquery('english', ${queryPlaceholder})`;
28
+ }
29
+ rankExpression(_indexName, queryPlaceholder) {
30
+ const qp = queryPlaceholder ?? '$1';
31
+ return `ts_rank(_tsv, plainto_tsquery('english', ${qp}))`;
32
+ }
33
+ rebuildCommand(_indexName) {
34
+ const ct = this._contentTable;
35
+ const colConcat = this._columns.map((c) => `COALESCE(${c}, '')`).join(" || ' ' || ");
36
+ return `UPDATE ${ct} SET _tsv = to_tsvector('english', ${colConcat})`;
37
+ }
38
+ syncInsert(_indexName, rowIdExpr, columns) {
39
+ const ct = this._contentTable;
40
+ const colConcat = columns.map((c) => `COALESCE(${c}, '')`).join(" || ' ' || ");
41
+ return `UPDATE ${ct} SET _tsv = to_tsvector('english', ${colConcat}) WHERE rowid = ${rowIdExpr}`;
42
+ }
43
+ sanitizeQuery(input) {
44
+ return input;
45
+ }
46
+ joinClause(contentTable, contentAlias, _ftsAlias, _indexName) {
47
+ return `${contentTable} ${contentAlias}`;
48
+ }
49
+ /** Map FTS5-style tokenizer strings to Postgres text search configurations. */
50
+ _tokenizerToLang(tokenizer) {
51
+ if (!tokenizer)
52
+ return 'english';
53
+ if (tokenizer.includes('porter'))
54
+ return 'english';
55
+ return 'simple';
56
+ }
57
+ }
58
+ //# sourceMappingURL=PostgresFts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PostgresFts.js","sourceRoot":"","sources":["../../src/fts/PostgresFts.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,OAAO,WAAW;IAAxB;QACE,+EAA+E;QACvE,kBAAa,GAAG,EAAE,CAAC;QACnB,aAAQ,GAAa,EAAE,CAAC;IAmDlC,CAAC;IAjDC,WAAW,CAAC,MAAuF;QACjG,MAAM,EAAE,GAAG,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,KAAK,CAAC;QAC/C,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACtF,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAErD,OAAO;YACL,eAAe,EAAE,yCAAyC;YAC1D,kCAAkC,MAAM,CAAC,KAAK,WAAW,EAAE,kBAAkB;YAC7E,UAAU,EAAE,4BAA4B,IAAI,MAAM,SAAS,sBAAsB;SAClF,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,UAAkB,EAAE,gBAAwB;QACtD,OAAO,sCAAsC,gBAAgB,GAAG,CAAC;IACnE,CAAC;IAED,cAAc,CAAC,UAAkB,EAAE,gBAAyB;QAC1D,MAAM,EAAE,GAAG,gBAAgB,IAAI,IAAI,CAAC;QACpC,OAAO,4CAA4C,EAAE,IAAI,CAAC;IAC5D,CAAC;IAED,cAAc,CAAC,UAAkB;QAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACrF,OAAO,UAAU,EAAE,sCAAsC,SAAS,GAAG,CAAC;IACxE,CAAC;IAED,UAAU,CAAC,UAAkB,EAAE,SAAiB,EAAE,OAAiB;QACjE,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QAC9B,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/E,OAAO,UAAU,EAAE,sCAAsC,SAAS,mBAAmB,SAAS,EAAE,CAAC;IACnG,CAAC;IAED,aAAa,CAAC,KAAa;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,UAAU,CAAC,YAAoB,EAAE,YAAoB,EAAE,SAAiB,EAAE,UAAkB;QAC1F,OAAO,GAAG,YAAY,IAAI,YAAY,EAAE,CAAC;IAC3C,CAAC;IAED,+EAA+E;IACvE,gBAAgB,CAAC,SAAkB;QACzC,IAAI,CAAC,SAAS;YAAE,OAAO,SAAS,CAAC;QACjC,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,SAAS,CAAC;QACnD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}
@@ -0,0 +1,22 @@
1
+ import type { IFullTextSearch } from '../core/contracts/fts.js';
2
+ /**
3
+ * SQLite FTS5 full-text search implementation.
4
+ *
5
+ * Uses FTS5 virtual tables with external-content support, porter/ascii
6
+ * tokenizers, and rowid-based joins to the content table.
7
+ */
8
+ export declare class SqliteFts5 implements IFullTextSearch {
9
+ createIndex(config: {
10
+ table: string;
11
+ columns: string[];
12
+ contentTable?: string;
13
+ tokenizer?: string;
14
+ }): string;
15
+ matchClause(indexName: string, queryPlaceholder: string): string;
16
+ rankExpression(indexName: string, _queryPlaceholder?: string): string;
17
+ rebuildCommand(indexName: string): string;
18
+ syncInsert(indexName: string, rowIdExpr: string, columns: string[]): string;
19
+ sanitizeQuery(input: string): string;
20
+ joinClause(contentTable: string, contentAlias: string, ftsAlias: string, indexName: string): string;
21
+ }
22
+ //# sourceMappingURL=SqliteFts5.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SqliteFts5.d.ts","sourceRoot":"","sources":["../../src/fts/SqliteFts5.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE;;;;;GAKG;AACH,qBAAa,UAAW,YAAW,eAAe;IAChD,WAAW,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAY5G,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,MAAM;IAIhE,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM;IAIrE,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAIzC,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM;IAK3E,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IASpC,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;CAGpG"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * SQLite FTS5 full-text search implementation.
3
+ *
4
+ * Uses FTS5 virtual tables with external-content support, porter/ascii
5
+ * tokenizers, and rowid-based joins to the content table.
6
+ */
7
+ export class SqliteFts5 {
8
+ createIndex(config) {
9
+ const parts = [...config.columns];
10
+ if (config.contentTable) {
11
+ parts.push(`content='${config.contentTable}'`);
12
+ parts.push(`content_rowid='rowid'`);
13
+ }
14
+ if (config.tokenizer) {
15
+ parts.push(`tokenize='${config.tokenizer}'`);
16
+ }
17
+ return `CREATE VIRTUAL TABLE IF NOT EXISTS ${config.table} USING fts5(${parts.join(', ')})`;
18
+ }
19
+ matchClause(indexName, queryPlaceholder) {
20
+ return `${indexName} MATCH ${queryPlaceholder}`;
21
+ }
22
+ rankExpression(indexName, _queryPlaceholder) {
23
+ return `${indexName}.rank`;
24
+ }
25
+ rebuildCommand(indexName) {
26
+ return `INSERT INTO ${indexName}(${indexName}) VALUES('rebuild')`;
27
+ }
28
+ syncInsert(indexName, rowIdExpr, columns) {
29
+ const placeholders = columns.map(() => '?').join(', ');
30
+ return `INSERT INTO ${indexName} (rowid, ${columns.join(', ')}) VALUES (${rowIdExpr}, ${placeholders})`;
31
+ }
32
+ sanitizeQuery(input) {
33
+ return input
34
+ .replace(/[*()":^~{}[\]\\]/g, '')
35
+ .split(/\s+/)
36
+ .filter((w) => w.length > 0)
37
+ .map((w) => `"${w}"`)
38
+ .join(' OR ');
39
+ }
40
+ joinClause(contentTable, contentAlias, ftsAlias, indexName) {
41
+ return `${indexName} ${ftsAlias} JOIN ${contentTable} ${contentAlias} ON ${contentAlias}.rowid = ${ftsAlias}.rowid`;
42
+ }
43
+ }
44
+ //# sourceMappingURL=SqliteFts5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SqliteFts5.js","sourceRoot":"","sources":["../../src/fts/SqliteFts5.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,OAAO,UAAU;IACrB,WAAW,CAAC,MAAuF;QACjG,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC;YAC/C,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,sCAAsC,MAAM,CAAC,KAAK,eAAe,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IAC9F,CAAC;IAED,WAAW,CAAC,SAAiB,EAAE,gBAAwB;QACrD,OAAO,GAAG,SAAS,UAAU,gBAAgB,EAAE,CAAC;IAClD,CAAC;IAED,cAAc,CAAC,SAAiB,EAAE,iBAA0B;QAC1D,OAAO,GAAG,SAAS,OAAO,CAAC;IAC7B,CAAC;IAED,cAAc,CAAC,SAAiB;QAC9B,OAAO,eAAe,SAAS,IAAI,SAAS,qBAAqB,CAAC;IACpE,CAAC;IAED,UAAU,CAAC,SAAiB,EAAE,SAAiB,EAAE,OAAiB;QAChE,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,OAAO,eAAe,SAAS,YAAY,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,SAAS,KAAK,YAAY,GAAG,CAAC;IAC1G,CAAC;IAED,aAAa,CAAC,KAAa;QACzB,OAAO,KAAK;aACT,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC;aAChC,KAAK,CAAC,KAAK,CAAC;aACZ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;aAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;aACpB,IAAI,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAED,UAAU,CAAC,YAAoB,EAAE,YAAoB,EAAE,QAAgB,EAAE,SAAiB;QACxF,OAAO,GAAG,SAAS,IAAI,QAAQ,SAAS,YAAY,IAAI,YAAY,OAAO,YAAY,YAAY,QAAQ,QAAQ,CAAC;IACtH,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -14,4 +14,13 @@ export * from './features/migrations/dataImport';
14
14
  export * from './features/migrations/migration';
15
15
  export * from './features/sync/syncManager';
16
16
  export * from './shared/parameterUtils';
17
+ export { SqliteDialect } from './dialects/SqliteDialect';
18
+ export { PostgresDialect } from './dialects/PostgresDialect';
19
+ export { SqliteFts5 } from './fts/SqliteFts5';
20
+ export { PostgresFts } from './fts/PostgresFts';
21
+ export { NodeBlobCodec } from './codecs/NodeBlobCodec';
22
+ export { BrowserBlobCodec } from './codecs/BrowserBlobCodec';
23
+ export { SqliteFileExporter } from './exporters/SqliteFileExporter';
24
+ export { PostgresExporter } from './exporters/PostgresExporter';
25
+ export { createStorageFeatures } from './core/contracts/features';
17
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,SAAS,CAAC;AAGxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAGhC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAQ9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAM5C,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,SAAS,CAAC;AAGxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAGhC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAQ9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAM5C,cAAc,yBAAyB,CAAC;AAGxC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC"}
package/dist/index.js CHANGED
@@ -25,4 +25,14 @@ export * from './features/sync/syncManager.js';
25
25
  // Usage: import { createCrossPlatformSync } from '@framers/sql-storage-adapter/sync';
26
26
  // Shared utilities -----------------------------------------------------------
27
27
  export * from './shared/parameterUtils.js';
28
+ // Dialect & feature abstractions -----------------------------------------------
29
+ export { SqliteDialect } from './dialects/SqliteDialect.js';
30
+ export { PostgresDialect } from './dialects/PostgresDialect.js';
31
+ export { SqliteFts5 } from './fts/SqliteFts5.js';
32
+ export { PostgresFts } from './fts/PostgresFts.js';
33
+ export { NodeBlobCodec } from './codecs/NodeBlobCodec.js';
34
+ export { BrowserBlobCodec } from './codecs/BrowserBlobCodec.js';
35
+ export { SqliteFileExporter } from './exporters/SqliteFileExporter.js';
36
+ export { PostgresExporter } from './exporters/PostgresExporter.js';
37
+ export { createStorageFeatures } from './core/contracts/features.js';
28
38
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,cAAc,SAAS,CAAC;AAExB,8EAA8E;AAC9E,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAEhC,+EAA+E;AAC/E,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAE9C,wEAAwE;AACxE,yDAAyD;AACzD,2HAA2H;AAC3H,mEAAmE;AAEnE,+EAA+E;AAC/E,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAE5C,uFAAuF;AACvF,sFAAsF;AAEtF,+EAA+E;AAC/E,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,cAAc,SAAS,CAAC;AAExB,8EAA8E;AAC9E,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAEhC,+EAA+E;AAC/E,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAE9C,wEAAwE;AACxE,yDAAyD;AACzD,2HAA2H;AAC3H,mEAAmE;AAEnE,+EAA+E;AAC/E,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAE5C,uFAAuF;AACvF,sFAAsF;AAEtF,+EAA+E;AAC/E,cAAc,yBAAyB,CAAC;AAExC,iFAAiF;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"parameterUtils.d.ts","sourceRoot":"","sources":["../../src/shared/parameterUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D;;GAEG;AACH,eAAO,MAAM,mBAAmB,gBACjB,iBAAiB,KAC7B;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,UAAU,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;CAehE,CAAC"}
1
+ {"version":3,"file":"parameterUtils.d.ts","sourceRoot":"","sources":["../../src/shared/parameterUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC9B,aAAa,iBAAiB,KAC7B;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,UAAU,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;CAehE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@framers/sql-storage-adapter",
3
- "version": "0.5.3",
3
+ "version": "0.6.0",
4
4
  "description": "Robust cross-platform SQL storage abstraction with automatic fallbacks and runtime detection",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",