@nicia-ai/typegraph 0.29.0 → 0.30.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 (142) hide show
  1. package/dist/backend/postgres/index.cjs +19 -19
  2. package/dist/backend/postgres/index.d.cts +5 -5
  3. package/dist/backend/postgres/index.d.ts +5 -5
  4. package/dist/backend/postgres/index.js +9 -9
  5. package/dist/backend/postgres/pglite.cjs +14 -14
  6. package/dist/backend/postgres/pglite.d.cts +2 -2
  7. package/dist/backend/postgres/pglite.d.ts +2 -2
  8. package/dist/backend/postgres/pglite.js +9 -9
  9. package/dist/backend/sqlite/index.cjs +17 -17
  10. package/dist/backend/sqlite/index.d.cts +11 -6
  11. package/dist/backend/sqlite/index.d.ts +11 -6
  12. package/dist/backend/sqlite/index.js +8 -8
  13. package/dist/backend/sqlite/libsql.cjs +13 -13
  14. package/dist/backend/sqlite/libsql.d.cts +2 -2
  15. package/dist/backend/sqlite/libsql.d.ts +2 -2
  16. package/dist/backend/sqlite/libsql.js +9 -9
  17. package/dist/backend/sqlite/local.cjs +16 -15
  18. package/dist/backend/sqlite/local.cjs.map +1 -1
  19. package/dist/backend/sqlite/local.d.cts +8 -2
  20. package/dist/backend/sqlite/local.d.ts +8 -2
  21. package/dist/backend/sqlite/local.js +11 -10
  22. package/dist/backend/sqlite/local.js.map +1 -1
  23. package/dist/{chunk-UP4QAJND.cjs → chunk-26HWIIVS.cjs} +65 -65
  24. package/dist/{chunk-UP4QAJND.cjs.map → chunk-26HWIIVS.cjs.map} +1 -1
  25. package/dist/{chunk-GPUNAJFH.js → chunk-2QA5EHEN.js} +3 -3
  26. package/dist/{chunk-GPUNAJFH.js.map → chunk-2QA5EHEN.js.map} +1 -1
  27. package/dist/{chunk-CUZGBWFT.js → chunk-3IRMLJEK.js} +3 -3
  28. package/dist/{chunk-CUZGBWFT.js.map → chunk-3IRMLJEK.js.map} +1 -1
  29. package/dist/{chunk-MRMD7S7E.js → chunk-3JLRHQ67.js} +7 -7
  30. package/dist/{chunk-MRMD7S7E.js.map → chunk-3JLRHQ67.js.map} +1 -1
  31. package/dist/{chunk-UPBXUOW7.cjs → chunk-4BXHVEFB.cjs} +15 -15
  32. package/dist/{chunk-UPBXUOW7.cjs.map → chunk-4BXHVEFB.cjs.map} +1 -1
  33. package/dist/{chunk-RU5BBUU2.cjs → chunk-4LBO6KIF.cjs} +70 -67
  34. package/dist/chunk-4LBO6KIF.cjs.map +1 -0
  35. package/dist/{chunk-HKN622O4.js → chunk-633N7DSE.js} +9 -5
  36. package/dist/chunk-633N7DSE.js.map +1 -0
  37. package/dist/{chunk-R2LA6MKR.cjs → chunk-7JGLPAFV.cjs} +8 -8
  38. package/dist/{chunk-R2LA6MKR.cjs.map → chunk-7JGLPAFV.cjs.map} +1 -1
  39. package/dist/{chunk-7KLVFWXR.js → chunk-AI3RNREM.js} +30 -4
  40. package/dist/chunk-AI3RNREM.js.map +1 -0
  41. package/dist/{chunk-SFNUHFON.js → chunk-ENDUY2CD.js} +4 -4
  42. package/dist/{chunk-SFNUHFON.js.map → chunk-ENDUY2CD.js.map} +1 -1
  43. package/dist/{chunk-7V335GHG.cjs → chunk-FLRCVI2G.cjs} +12 -2
  44. package/dist/chunk-FLRCVI2G.cjs.map +1 -0
  45. package/dist/{chunk-IE2TPFBT.js → chunk-FVIGJTS7.js} +3 -3
  46. package/dist/{chunk-IE2TPFBT.js.map → chunk-FVIGJTS7.js.map} +1 -1
  47. package/dist/{chunk-Q5ASTPM4.cjs → chunk-FWBVPATK.cjs} +19 -19
  48. package/dist/{chunk-Q5ASTPM4.cjs.map → chunk-FWBVPATK.cjs.map} +1 -1
  49. package/dist/{chunk-KGAJ5HFO.cjs → chunk-IE6GN7L3.cjs} +17 -17
  50. package/dist/{chunk-KGAJ5HFO.cjs.map → chunk-IE6GN7L3.cjs.map} +1 -1
  51. package/dist/{chunk-A4H6QMV4.js → chunk-IUIJJYPI.js} +14 -11
  52. package/dist/chunk-IUIJJYPI.js.map +1 -0
  53. package/dist/{chunk-BMDF2S7S.js → chunk-IX7RE7CG.js} +3 -3
  54. package/dist/{chunk-BMDF2S7S.js.map → chunk-IX7RE7CG.js.map} +1 -1
  55. package/dist/{chunk-G6P3OVDY.cjs → chunk-JIEJCTDS.cjs} +18 -2
  56. package/dist/chunk-JIEJCTDS.cjs.map +1 -0
  57. package/dist/{chunk-XTQHSOIC.cjs → chunk-K4N35E7B.cjs} +86 -86
  58. package/dist/{chunk-XTQHSOIC.cjs.map → chunk-K4N35E7B.cjs.map} +1 -1
  59. package/dist/{chunk-NZ5PMBTG.js → chunk-K5P5OZXS.js} +12 -3
  60. package/dist/chunk-K5P5OZXS.js.map +1 -0
  61. package/dist/{chunk-Y52UNT66.js → chunk-K5VREXMZ.js} +7 -7
  62. package/dist/{chunk-Y52UNT66.js.map → chunk-K5VREXMZ.js.map} +1 -1
  63. package/dist/chunk-LUHU4T2F.cjs +12 -0
  64. package/dist/{chunk-Q3ZZLU3O.cjs.map → chunk-LUHU4T2F.cjs.map} +1 -1
  65. package/dist/{chunk-Z36W5WUM.js → chunk-MAQJYNJR.js} +3 -3
  66. package/dist/{chunk-Z36W5WUM.js.map → chunk-MAQJYNJR.js.map} +1 -1
  67. package/dist/{chunk-N3VVQDMA.js → chunk-MXE2U3EX.js} +3 -3
  68. package/dist/{chunk-N3VVQDMA.js.map → chunk-MXE2U3EX.js.map} +1 -1
  69. package/dist/{chunk-3DTLDGIM.js → chunk-N2OEOGBB.js} +6 -6
  70. package/dist/{chunk-3DTLDGIM.js.map → chunk-N2OEOGBB.js.map} +1 -1
  71. package/dist/{chunk-OGUH56BB.js → chunk-R4JOBEJU.js} +4 -4
  72. package/dist/{chunk-OGUH56BB.js.map → chunk-R4JOBEJU.js.map} +1 -1
  73. package/dist/{chunk-HM6XMR3E.cjs → chunk-SGPXKJ4A.cjs} +18 -18
  74. package/dist/{chunk-HM6XMR3E.cjs.map → chunk-SGPXKJ4A.cjs.map} +1 -1
  75. package/dist/{chunk-MB363HT5.js → chunk-TQOYM4LN.js} +18 -3
  76. package/dist/chunk-TQOYM4LN.js.map +1 -0
  77. package/dist/{chunk-C2RWFIYP.cjs → chunk-UESTHN47.cjs} +34 -6
  78. package/dist/chunk-UESTHN47.cjs.map +1 -0
  79. package/dist/{chunk-4K6IHUW6.cjs → chunk-VFX3LC76.cjs} +14 -14
  80. package/dist/{chunk-4K6IHUW6.cjs.map → chunk-VFX3LC76.cjs.map} +1 -1
  81. package/dist/{chunk-F2Q76CQ4.cjs → chunk-WEMZM7J7.cjs} +11 -7
  82. package/dist/chunk-WEMZM7J7.cjs.map +1 -0
  83. package/dist/{chunk-ZYQEXGYC.cjs → chunk-WFCECD6Q.cjs} +84 -84
  84. package/dist/{chunk-ZYQEXGYC.cjs.map → chunk-WFCECD6Q.cjs.map} +1 -1
  85. package/dist/{chunk-VGU26WIU.cjs → chunk-YQGLVWB2.cjs} +4 -4
  86. package/dist/{chunk-VGU26WIU.cjs.map → chunk-YQGLVWB2.cjs.map} +1 -1
  87. package/dist/{ddl-D3o-RmsV.d.cts → ddl-BSFlbGQF.d.cts} +3 -3
  88. package/dist/{ddl-BwH00BB6.d.ts → ddl-EdkIiFVU.d.ts} +3 -3
  89. package/dist/graph-extension/index.cjs +19 -19
  90. package/dist/graph-extension/index.d.cts +1 -1
  91. package/dist/graph-extension/index.d.ts +1 -1
  92. package/dist/graph-extension/index.js +4 -4
  93. package/dist/{index-CapHwi1a.d.ts → index-DzeIiMO3.d.ts} +9 -1
  94. package/dist/{index-jPPexxM5.d.cts → index-Ln_KHTGA.d.cts} +9 -1
  95. package/dist/index.cjs +780 -515
  96. package/dist/index.cjs.map +1 -1
  97. package/dist/index.d.cts +8 -8
  98. package/dist/index.d.ts +8 -8
  99. package/dist/index.js +314 -53
  100. package/dist/index.js.map +1 -1
  101. package/dist/indexes/index.cjs +18 -18
  102. package/dist/indexes/index.d.cts +4 -4
  103. package/dist/indexes/index.d.ts +4 -4
  104. package/dist/indexes/index.js +4 -4
  105. package/dist/interchange/index.cjs +7 -7
  106. package/dist/interchange/index.d.cts +3 -3
  107. package/dist/interchange/index.d.ts +3 -3
  108. package/dist/interchange/index.js +2 -2
  109. package/dist/{manager-BUugwCYz.d.ts → manager-BbdyNhkv.d.ts} +1 -1
  110. package/dist/{manager-DpIpn1HQ.d.cts → manager-wTDgjoXG.d.cts} +1 -1
  111. package/dist/{postgres-CQL9UIn2.d.cts → postgres-CK2ByP1q.d.cts} +1 -1
  112. package/dist/{postgres-CcRLaxz0.d.ts → postgres-ymXYC6Rr.d.ts} +1 -1
  113. package/dist/profiler/index.cjs +9 -9
  114. package/dist/profiler/index.d.cts +5 -5
  115. package/dist/profiler/index.d.ts +5 -5
  116. package/dist/profiler/index.js +2 -2
  117. package/dist/schema/index.cjs +31 -31
  118. package/dist/schema/index.d.cts +5 -5
  119. package/dist/schema/index.d.ts +5 -5
  120. package/dist/schema/index.js +8 -8
  121. package/dist/{sqlite-Rj3xu4It.d.cts → sqlite-DxH1lrwD.d.cts} +1 -1
  122. package/dist/{sqlite-CZDFUfHS.d.ts → sqlite-R8YGOqVQ.d.ts} +1 -1
  123. package/dist/{store-B43FpOVX.d.cts → store--z1Tmk7U.d.cts} +43 -3
  124. package/dist/{store-De0Y33wP.d.ts → store-CNKM334w.d.ts} +43 -3
  125. package/dist/{types-CmAT-Z47.d.ts → types-BBiDqJCU.d.ts} +2 -0
  126. package/dist/{types-B5GSeE3t.d.ts → types-CMvxx2kd.d.ts} +1 -1
  127. package/dist/{types-Bwlp_yvu.d.cts → types-D5B6Be5c.d.cts} +1 -1
  128. package/dist/{types-DXCSyxac.d.cts → types-dL-clxO3.d.cts} +2 -0
  129. package/dist/{where-CP4qGIHd.d.ts → where-CAo6wsBZ.d.ts} +1 -1
  130. package/dist/{where-2dsyYt3d.d.cts → where-bJjuOCeV.d.cts} +1 -1
  131. package/package.json +1 -1
  132. package/dist/chunk-7KLVFWXR.js.map +0 -1
  133. package/dist/chunk-7V335GHG.cjs.map +0 -1
  134. package/dist/chunk-A4H6QMV4.js.map +0 -1
  135. package/dist/chunk-C2RWFIYP.cjs.map +0 -1
  136. package/dist/chunk-F2Q76CQ4.cjs.map +0 -1
  137. package/dist/chunk-G6P3OVDY.cjs.map +0 -1
  138. package/dist/chunk-HKN622O4.js.map +0 -1
  139. package/dist/chunk-MB363HT5.js.map +0 -1
  140. package/dist/chunk-NZ5PMBTG.js.map +0 -1
  141. package/dist/chunk-Q3ZZLU3O.cjs +0 -12
  142. package/dist/chunk-RU5BBUU2.cjs.map +0 -1
@@ -1,58 +1,58 @@
1
1
  'use strict';
2
2
 
3
- var chunkUP4QAJND_cjs = require('../../chunk-UP4QAJND.cjs');
4
- require('../../chunk-KGAJ5HFO.cjs');
5
- var chunkZYQEXGYC_cjs = require('../../chunk-ZYQEXGYC.cjs');
6
- require('../../chunk-F2Q76CQ4.cjs');
3
+ var chunk26HWIIVS_cjs = require('../../chunk-26HWIIVS.cjs');
4
+ require('../../chunk-IE6GN7L3.cjs');
5
+ var chunkWFCECD6Q_cjs = require('../../chunk-WFCECD6Q.cjs');
6
+ require('../../chunk-WEMZM7J7.cjs');
7
7
  require('../../chunk-RP7YITHX.cjs');
8
- require('../../chunk-C2RWFIYP.cjs');
9
- require('../../chunk-UPBXUOW7.cjs');
10
- require('../../chunk-VGU26WIU.cjs');
8
+ require('../../chunk-UESTHN47.cjs');
9
+ require('../../chunk-4BXHVEFB.cjs');
10
+ require('../../chunk-YQGLVWB2.cjs');
11
11
  require('../../chunk-ZFWNO3GE.cjs');
12
- require('../../chunk-G6P3OVDY.cjs');
13
- require('../../chunk-7V335GHG.cjs');
12
+ require('../../chunk-JIEJCTDS.cjs');
13
+ require('../../chunk-FLRCVI2G.cjs');
14
14
 
15
15
 
16
16
 
17
17
  Object.defineProperty(exports, "createPostgresBackend", {
18
18
  enumerable: true,
19
- get: function () { return chunkUP4QAJND_cjs.createPostgresBackend; }
19
+ get: function () { return chunk26HWIIVS_cjs.createPostgresBackend; }
20
20
  });
21
21
  Object.defineProperty(exports, "createPostgresTables", {
22
22
  enumerable: true,
23
- get: function () { return chunkZYQEXGYC_cjs.createPostgresTables; }
23
+ get: function () { return chunkWFCECD6Q_cjs.createPostgresTables; }
24
24
  });
25
25
  Object.defineProperty(exports, "edges", {
26
26
  enumerable: true,
27
- get: function () { return chunkZYQEXGYC_cjs.edges; }
27
+ get: function () { return chunkWFCECD6Q_cjs.edges; }
28
28
  });
29
29
  Object.defineProperty(exports, "fulltext", {
30
30
  enumerable: true,
31
- get: function () { return chunkZYQEXGYC_cjs.fulltext; }
31
+ get: function () { return chunkWFCECD6Q_cjs.fulltext; }
32
32
  });
33
33
  Object.defineProperty(exports, "generatePostgresDDL", {
34
34
  enumerable: true,
35
- get: function () { return chunkZYQEXGYC_cjs.generatePostgresDDL; }
35
+ get: function () { return chunkWFCECD6Q_cjs.generatePostgresDDL; }
36
36
  });
37
37
  Object.defineProperty(exports, "generatePostgresMigrationSQL", {
38
38
  enumerable: true,
39
- get: function () { return chunkZYQEXGYC_cjs.generatePostgresMigrationSQL; }
39
+ get: function () { return chunkWFCECD6Q_cjs.generatePostgresMigrationSQL; }
40
40
  });
41
41
  Object.defineProperty(exports, "nodes", {
42
42
  enumerable: true,
43
- get: function () { return chunkZYQEXGYC_cjs.nodes; }
43
+ get: function () { return chunkWFCECD6Q_cjs.nodes; }
44
44
  });
45
45
  Object.defineProperty(exports, "schemaVersions", {
46
46
  enumerable: true,
47
- get: function () { return chunkZYQEXGYC_cjs.schemaVersions; }
47
+ get: function () { return chunkWFCECD6Q_cjs.schemaVersions; }
48
48
  });
49
49
  Object.defineProperty(exports, "tables", {
50
50
  enumerable: true,
51
- get: function () { return chunkZYQEXGYC_cjs.tables; }
51
+ get: function () { return chunkWFCECD6Q_cjs.tables; }
52
52
  });
53
53
  Object.defineProperty(exports, "uniques", {
54
54
  enumerable: true,
55
- get: function () { return chunkZYQEXGYC_cjs.uniques; }
55
+ get: function () { return chunkWFCECD6Q_cjs.uniques; }
56
56
  });
57
57
  //# sourceMappingURL=index.cjs.map
58
58
  //# sourceMappingURL=index.cjs.map
@@ -1,13 +1,13 @@
1
- import { F as FulltextStrategy, V as VectorStrategy, B as BackendCapabilities, b as AnyPgDatabase, G as GraphBackend } from '../../types-DXCSyxac.cjs';
2
- import { P as PostgresTables } from '../../postgres-CQL9UIn2.cjs';
3
- export { C as CreatePostgresTablesOptions, a as PostgresTableNames, c as createPostgresTables, e as edges, f as fulltext, n as nodes, s as schemaVersions, t as tables, u as uniques } from '../../postgres-CQL9UIn2.cjs';
4
- export { b as generatePostgresDDL, c as generatePostgresMigrationSQL } from '../../ddl-D3o-RmsV.cjs';
1
+ import { F as FulltextStrategy, V as VectorStrategy, B as BackendCapabilities, b as AnyPgDatabase, G as GraphBackend } from '../../types-dL-clxO3.cjs';
2
+ import { P as PostgresTables } from '../../postgres-CK2ByP1q.cjs';
3
+ export { C as CreatePostgresTablesOptions, a as PostgresTableNames, c as createPostgresTables, e as edges, f as fulltext, n as nodes, s as schemaVersions, t as tables, u as uniques } from '../../postgres-CK2ByP1q.cjs';
4
+ export { b as generatePostgresDDL, c as generatePostgresMigrationSQL } from '../../ddl-BSFlbGQF.cjs';
5
5
  import 'zod';
6
6
  import '../../extension-types-CwHV-Uk4.cjs';
7
7
  import 'drizzle-orm';
8
8
  import 'drizzle-orm/pg-core';
9
9
  import 'drizzle-orm/sqlite-core';
10
- import '../../sqlite-Rj3xu4It.cjs';
10
+ import '../../sqlite-DxH1lrwD.cjs';
11
11
 
12
12
  /**
13
13
  * Options for creating a PostgreSQL backend.
@@ -1,13 +1,13 @@
1
- import { F as FulltextStrategy, V as VectorStrategy, B as BackendCapabilities, b as AnyPgDatabase, G as GraphBackend } from '../../types-CmAT-Z47.js';
2
- import { P as PostgresTables } from '../../postgres-CcRLaxz0.js';
3
- export { C as CreatePostgresTablesOptions, a as PostgresTableNames, c as createPostgresTables, e as edges, f as fulltext, n as nodes, s as schemaVersions, t as tables, u as uniques } from '../../postgres-CcRLaxz0.js';
4
- export { b as generatePostgresDDL, c as generatePostgresMigrationSQL } from '../../ddl-BwH00BB6.js';
1
+ import { F as FulltextStrategy, V as VectorStrategy, B as BackendCapabilities, b as AnyPgDatabase, G as GraphBackend } from '../../types-BBiDqJCU.js';
2
+ import { P as PostgresTables } from '../../postgres-ymXYC6Rr.js';
3
+ export { C as CreatePostgresTablesOptions, a as PostgresTableNames, c as createPostgresTables, e as edges, f as fulltext, n as nodes, s as schemaVersions, t as tables, u as uniques } from '../../postgres-ymXYC6Rr.js';
4
+ export { b as generatePostgresDDL, c as generatePostgresMigrationSQL } from '../../ddl-EdkIiFVU.js';
5
5
  import 'zod';
6
6
  import '../../extension-types-CwHV-Uk4.js';
7
7
  import 'drizzle-orm';
8
8
  import 'drizzle-orm/pg-core';
9
9
  import 'drizzle-orm/sqlite-core';
10
- import '../../sqlite-CZDFUfHS.js';
10
+ import '../../sqlite-R8YGOqVQ.js';
11
11
 
12
12
  /**
13
13
  * Options for creating a PostgreSQL backend.
@@ -1,13 +1,13 @@
1
- export { createPostgresBackend } from '../../chunk-Y52UNT66.js';
2
- import '../../chunk-IE2TPFBT.js';
3
- export { createPostgresTables, edges, fulltext, generatePostgresDDL, generatePostgresMigrationSQL, nodes, schemaVersions, tables, uniques } from '../../chunk-3DTLDGIM.js';
4
- import '../../chunk-HKN622O4.js';
1
+ export { createPostgresBackend } from '../../chunk-K5VREXMZ.js';
2
+ import '../../chunk-FVIGJTS7.js';
3
+ export { createPostgresTables, edges, fulltext, generatePostgresDDL, generatePostgresMigrationSQL, nodes, schemaVersions, tables, uniques } from '../../chunk-N2OEOGBB.js';
4
+ import '../../chunk-633N7DSE.js';
5
5
  import '../../chunk-M6OC455F.js';
6
- import '../../chunk-7KLVFWXR.js';
7
- import '../../chunk-OGUH56BB.js';
8
- import '../../chunk-N3VVQDMA.js';
6
+ import '../../chunk-AI3RNREM.js';
7
+ import '../../chunk-R4JOBEJU.js';
8
+ import '../../chunk-MXE2U3EX.js';
9
9
  import '../../chunk-454I6GDF.js';
10
- import '../../chunk-MB363HT5.js';
11
- import '../../chunk-NZ5PMBTG.js';
10
+ import '../../chunk-TQOYM4LN.js';
11
+ import '../../chunk-K5P5OZXS.js';
12
12
  //# sourceMappingURL=index.js.map
13
13
  //# sourceMappingURL=index.js.map
@@ -1,16 +1,16 @@
1
1
  'use strict';
2
2
 
3
- var chunkUP4QAJND_cjs = require('../../chunk-UP4QAJND.cjs');
4
- require('../../chunk-KGAJ5HFO.cjs');
5
- var chunkZYQEXGYC_cjs = require('../../chunk-ZYQEXGYC.cjs');
6
- var chunkF2Q76CQ4_cjs = require('../../chunk-F2Q76CQ4.cjs');
3
+ var chunk26HWIIVS_cjs = require('../../chunk-26HWIIVS.cjs');
4
+ require('../../chunk-IE6GN7L3.cjs');
5
+ var chunkWFCECD6Q_cjs = require('../../chunk-WFCECD6Q.cjs');
6
+ var chunkWEMZM7J7_cjs = require('../../chunk-WEMZM7J7.cjs');
7
7
  require('../../chunk-RP7YITHX.cjs');
8
- require('../../chunk-C2RWFIYP.cjs');
9
- require('../../chunk-UPBXUOW7.cjs');
10
- require('../../chunk-VGU26WIU.cjs');
8
+ require('../../chunk-UESTHN47.cjs');
9
+ require('../../chunk-4BXHVEFB.cjs');
10
+ require('../../chunk-YQGLVWB2.cjs');
11
11
  require('../../chunk-ZFWNO3GE.cjs');
12
- var chunkG6P3OVDY_cjs = require('../../chunk-G6P3OVDY.cjs');
13
- require('../../chunk-7V335GHG.cjs');
12
+ var chunkJIEJCTDS_cjs = require('../../chunk-JIEJCTDS.cjs');
13
+ require('../../chunk-FLRCVI2G.cjs');
14
14
  var pglite = require('@electric-sql/pglite');
15
15
  var pglite$1 = require('drizzle-orm/pglite');
16
16
 
@@ -19,7 +19,7 @@ async function loadDefaultPgvectorExtension() {
19
19
  const module_ = await import('@electric-sql/pglite-pgvector');
20
20
  return module_.vector;
21
21
  } catch (error) {
22
- throw new chunkG6P3OVDY_cjs.ConfigurationError(
22
+ throw new chunkJIEJCTDS_cjs.ConfigurationError(
23
23
  "createLocalPgliteBackend needs the pgvector extension but `@electric-sql/pglite-pgvector` could not be loaded. Install it (`pnpm add @electric-sql/pglite-pgvector`), pass your own `vector` extension, or set `vector: false` to disable vector support.",
24
24
  { backend: "pglite", dependency: "@electric-sql/pglite-pgvector" },
25
25
  { cause: error }
@@ -27,21 +27,21 @@ async function loadDefaultPgvectorExtension() {
27
27
  }
28
28
  }
29
29
  async function createLocalPgliteBackend(options = {}) {
30
- const tables2 = options.tables ?? chunkZYQEXGYC_cjs.tables;
30
+ const tables2 = options.tables ?? chunkWFCECD6Q_cjs.tables;
31
31
  const vectorExtension = options.vector === false ? void 0 : options.vector ?? await loadDefaultPgvectorExtension();
32
32
  const vectorEnabled = vectorExtension !== void 0;
33
33
  const client = await pglite.PGlite.create({
34
34
  ...options.dataDir === void 0 ? {} : { dataDir: options.dataDir },
35
35
  ...vectorExtension === void 0 ? {} : { extensions: { vector: vectorExtension } }
36
36
  });
37
- const migrationSql = vectorEnabled ? chunkZYQEXGYC_cjs.generatePostgresMigrationSQL(tables2) : chunkZYQEXGYC_cjs.generatePostgresDDL(tables2).join("\n\n");
37
+ const migrationSql = vectorEnabled ? chunkWFCECD6Q_cjs.generatePostgresMigrationSQL(tables2) : chunkWFCECD6Q_cjs.generatePostgresDDL(tables2).join("\n\n");
38
38
  await client.exec(migrationSql);
39
39
  const db = pglite$1.drizzle(client);
40
- const backend = chunkUP4QAJND_cjs.createPostgresBackend(db, {
40
+ const backend = chunk26HWIIVS_cjs.createPostgresBackend(db, {
41
41
  tables: tables2,
42
42
  ...vectorEnabled ? {} : { vector: false }
43
43
  });
44
- const managedBackend = chunkF2Q76CQ4_cjs.wrapWithManagedClose(backend, async () => {
44
+ const managedBackend = chunkWEMZM7J7_cjs.wrapWithManagedClose(backend, async () => {
45
45
  await client.close();
46
46
  });
47
47
  return { backend: managedBackend, db, client };
@@ -1,7 +1,7 @@
1
1
  import { Extension, PGlite } from '@electric-sql/pglite';
2
2
  import { PgliteDatabase } from 'drizzle-orm/pglite';
3
- import { G as GraphBackend } from '../../types-DXCSyxac.cjs';
4
- import { P as PostgresTables } from '../../postgres-CQL9UIn2.cjs';
3
+ import { G as GraphBackend } from '../../types-dL-clxO3.cjs';
4
+ import { P as PostgresTables } from '../../postgres-CK2ByP1q.cjs';
5
5
  import 'zod';
6
6
  import '../../extension-types-CwHV-Uk4.cjs';
7
7
  import 'drizzle-orm';
@@ -1,7 +1,7 @@
1
1
  import { Extension, PGlite } from '@electric-sql/pglite';
2
2
  import { PgliteDatabase } from 'drizzle-orm/pglite';
3
- import { G as GraphBackend } from '../../types-CmAT-Z47.js';
4
- import { P as PostgresTables } from '../../postgres-CcRLaxz0.js';
3
+ import { G as GraphBackend } from '../../types-BBiDqJCU.js';
4
+ import { P as PostgresTables } from '../../postgres-ymXYC6Rr.js';
5
5
  import 'zod';
6
6
  import '../../extension-types-CwHV-Uk4.js';
7
7
  import 'drizzle-orm';
@@ -1,14 +1,14 @@
1
- import { createPostgresBackend } from '../../chunk-Y52UNT66.js';
2
- import '../../chunk-IE2TPFBT.js';
3
- import { tables, generatePostgresMigrationSQL, generatePostgresDDL } from '../../chunk-3DTLDGIM.js';
4
- import { wrapWithManagedClose } from '../../chunk-HKN622O4.js';
1
+ import { createPostgresBackend } from '../../chunk-K5VREXMZ.js';
2
+ import '../../chunk-FVIGJTS7.js';
3
+ import { tables, generatePostgresMigrationSQL, generatePostgresDDL } from '../../chunk-N2OEOGBB.js';
4
+ import { wrapWithManagedClose } from '../../chunk-633N7DSE.js';
5
5
  import '../../chunk-M6OC455F.js';
6
- import '../../chunk-7KLVFWXR.js';
7
- import '../../chunk-OGUH56BB.js';
8
- import '../../chunk-N3VVQDMA.js';
6
+ import '../../chunk-AI3RNREM.js';
7
+ import '../../chunk-R4JOBEJU.js';
8
+ import '../../chunk-MXE2U3EX.js';
9
9
  import '../../chunk-454I6GDF.js';
10
- import { ConfigurationError } from '../../chunk-MB363HT5.js';
11
- import '../../chunk-NZ5PMBTG.js';
10
+ import { ConfigurationError } from '../../chunk-TQOYM4LN.js';
11
+ import '../../chunk-K5P5OZXS.js';
12
12
  import { PGlite } from '@electric-sql/pglite';
13
13
  import { drizzle } from 'drizzle-orm/pglite';
14
14
 
@@ -1,53 +1,53 @@
1
1
  'use strict';
2
2
 
3
- var chunkRU5BBUU2_cjs = require('../../chunk-RU5BBUU2.cjs');
4
- var chunkZYQEXGYC_cjs = require('../../chunk-ZYQEXGYC.cjs');
5
- var chunkF2Q76CQ4_cjs = require('../../chunk-F2Q76CQ4.cjs');
3
+ var chunk4LBO6KIF_cjs = require('../../chunk-4LBO6KIF.cjs');
4
+ var chunkWFCECD6Q_cjs = require('../../chunk-WFCECD6Q.cjs');
5
+ var chunkWEMZM7J7_cjs = require('../../chunk-WEMZM7J7.cjs');
6
6
  require('../../chunk-RP7YITHX.cjs');
7
- require('../../chunk-C2RWFIYP.cjs');
8
- require('../../chunk-UPBXUOW7.cjs');
9
- require('../../chunk-VGU26WIU.cjs');
7
+ require('../../chunk-UESTHN47.cjs');
8
+ require('../../chunk-4BXHVEFB.cjs');
9
+ require('../../chunk-YQGLVWB2.cjs');
10
10
  require('../../chunk-ZFWNO3GE.cjs');
11
- require('../../chunk-G6P3OVDY.cjs');
12
- require('../../chunk-7V335GHG.cjs');
11
+ require('../../chunk-JIEJCTDS.cjs');
12
+ require('../../chunk-FLRCVI2G.cjs');
13
13
 
14
14
 
15
15
 
16
16
  Object.defineProperty(exports, "createSqliteBackend", {
17
17
  enumerable: true,
18
- get: function () { return chunkRU5BBUU2_cjs.createSqliteBackend; }
18
+ get: function () { return chunk4LBO6KIF_cjs.createSqliteBackend; }
19
19
  });
20
20
  Object.defineProperty(exports, "generateSqliteDDL", {
21
21
  enumerable: true,
22
- get: function () { return chunkZYQEXGYC_cjs.generateSqliteDDL; }
22
+ get: function () { return chunkWFCECD6Q_cjs.generateSqliteDDL; }
23
23
  });
24
24
  Object.defineProperty(exports, "generateSqliteMigrationSQL", {
25
25
  enumerable: true,
26
- get: function () { return chunkZYQEXGYC_cjs.generateSqliteMigrationSQL; }
26
+ get: function () { return chunkWFCECD6Q_cjs.generateSqliteMigrationSQL; }
27
27
  });
28
28
  Object.defineProperty(exports, "createSqliteTables", {
29
29
  enumerable: true,
30
- get: function () { return chunkF2Q76CQ4_cjs.createSqliteTables; }
30
+ get: function () { return chunkWEMZM7J7_cjs.createSqliteTables; }
31
31
  });
32
32
  Object.defineProperty(exports, "edges", {
33
33
  enumerable: true,
34
- get: function () { return chunkF2Q76CQ4_cjs.edges; }
34
+ get: function () { return chunkWEMZM7J7_cjs.edges; }
35
35
  });
36
36
  Object.defineProperty(exports, "nodes", {
37
37
  enumerable: true,
38
- get: function () { return chunkF2Q76CQ4_cjs.nodes; }
38
+ get: function () { return chunkWEMZM7J7_cjs.nodes; }
39
39
  });
40
40
  Object.defineProperty(exports, "schemaVersions", {
41
41
  enumerable: true,
42
- get: function () { return chunkF2Q76CQ4_cjs.schemaVersions; }
42
+ get: function () { return chunkWEMZM7J7_cjs.schemaVersions; }
43
43
  });
44
44
  Object.defineProperty(exports, "tables", {
45
45
  enumerable: true,
46
- get: function () { return chunkF2Q76CQ4_cjs.tables; }
46
+ get: function () { return chunkWEMZM7J7_cjs.tables; }
47
47
  });
48
48
  Object.defineProperty(exports, "uniques", {
49
49
  enumerable: true,
50
- get: function () { return chunkF2Q76CQ4_cjs.uniques; }
50
+ get: function () { return chunkWEMZM7J7_cjs.uniques; }
51
51
  });
52
52
  //# sourceMappingURL=index.cjs.map
53
53
  //# sourceMappingURL=index.cjs.map
@@ -1,14 +1,14 @@
1
- import { S as SqliteExecutionProfileHints, F as FulltextStrategy, V as VectorStrategy, A as AnySqliteDatabase, G as GraphBackend } from '../../types-DXCSyxac.cjs';
2
- export { a as SqliteTransactionMode } from '../../types-DXCSyxac.cjs';
3
- import { S as SqliteTables } from '../../sqlite-Rj3xu4It.cjs';
4
- export { C as CreateSqliteTablesOptions, a as SqliteTableNames, c as createSqliteTables, e as edges, n as nodes, s as schemaVersions, t as tables, u as uniques } from '../../sqlite-Rj3xu4It.cjs';
5
- export { g as generateSqliteDDL, a as generateSqliteMigrationSQL } from '../../ddl-D3o-RmsV.cjs';
1
+ import { S as SqliteExecutionProfileHints, F as FulltextStrategy, V as VectorStrategy, B as BackendCapabilities, A as AnySqliteDatabase, G as GraphBackend } from '../../types-dL-clxO3.cjs';
2
+ export { a as SqliteTransactionMode } from '../../types-dL-clxO3.cjs';
3
+ import { S as SqliteTables } from '../../sqlite-DxH1lrwD.cjs';
4
+ export { C as CreateSqliteTablesOptions, a as SqliteTableNames, c as createSqliteTables, e as edges, n as nodes, s as schemaVersions, t as tables, u as uniques } from '../../sqlite-DxH1lrwD.cjs';
5
+ export { g as generateSqliteDDL, a as generateSqliteMigrationSQL } from '../../ddl-BSFlbGQF.cjs';
6
6
  import 'zod';
7
7
  import '../../extension-types-CwHV-Uk4.cjs';
8
8
  import 'drizzle-orm';
9
9
  import 'drizzle-orm/pg-core';
10
10
  import 'drizzle-orm/sqlite-core';
11
- import '../../postgres-CQL9UIn2.cjs';
11
+ import '../../postgres-CK2ByP1q.cjs';
12
12
 
13
13
  /**
14
14
  * Options for creating a SQLite backend.
@@ -43,6 +43,11 @@ type SqliteBackendOptions = Readonly<{
43
43
  * connections without a vector extension.
44
44
  */
45
45
  vector?: VectorStrategy;
46
+ /**
47
+ * Override specific backend capabilities. Useful for custom SQLite builds
48
+ * or tests that need to simulate an engine-level capability gap.
49
+ */
50
+ capabilities?: Partial<BackendCapabilities>;
46
51
  }>;
47
52
  declare function createSqliteBackend(db: AnySqliteDatabase, options?: SqliteBackendOptions): GraphBackend;
48
53
 
@@ -1,14 +1,14 @@
1
- import { S as SqliteExecutionProfileHints, F as FulltextStrategy, V as VectorStrategy, A as AnySqliteDatabase, G as GraphBackend } from '../../types-CmAT-Z47.js';
2
- export { a as SqliteTransactionMode } from '../../types-CmAT-Z47.js';
3
- import { S as SqliteTables } from '../../sqlite-CZDFUfHS.js';
4
- export { C as CreateSqliteTablesOptions, a as SqliteTableNames, c as createSqliteTables, e as edges, n as nodes, s as schemaVersions, t as tables, u as uniques } from '../../sqlite-CZDFUfHS.js';
5
- export { g as generateSqliteDDL, a as generateSqliteMigrationSQL } from '../../ddl-BwH00BB6.js';
1
+ import { S as SqliteExecutionProfileHints, F as FulltextStrategy, V as VectorStrategy, B as BackendCapabilities, A as AnySqliteDatabase, G as GraphBackend } from '../../types-BBiDqJCU.js';
2
+ export { a as SqliteTransactionMode } from '../../types-BBiDqJCU.js';
3
+ import { S as SqliteTables } from '../../sqlite-R8YGOqVQ.js';
4
+ export { C as CreateSqliteTablesOptions, a as SqliteTableNames, c as createSqliteTables, e as edges, n as nodes, s as schemaVersions, t as tables, u as uniques } from '../../sqlite-R8YGOqVQ.js';
5
+ export { g as generateSqliteDDL, a as generateSqliteMigrationSQL } from '../../ddl-EdkIiFVU.js';
6
6
  import 'zod';
7
7
  import '../../extension-types-CwHV-Uk4.js';
8
8
  import 'drizzle-orm';
9
9
  import 'drizzle-orm/pg-core';
10
10
  import 'drizzle-orm/sqlite-core';
11
- import '../../postgres-CcRLaxz0.js';
11
+ import '../../postgres-ymXYC6Rr.js';
12
12
 
13
13
  /**
14
14
  * Options for creating a SQLite backend.
@@ -43,6 +43,11 @@ type SqliteBackendOptions = Readonly<{
43
43
  * connections without a vector extension.
44
44
  */
45
45
  vector?: VectorStrategy;
46
+ /**
47
+ * Override specific backend capabilities. Useful for custom SQLite builds
48
+ * or tests that need to simulate an engine-level capability gap.
49
+ */
50
+ capabilities?: Partial<BackendCapabilities>;
46
51
  }>;
47
52
  declare function createSqliteBackend(db: AnySqliteDatabase, options?: SqliteBackendOptions): GraphBackend;
48
53
 
@@ -1,12 +1,12 @@
1
- export { createSqliteBackend } from '../../chunk-A4H6QMV4.js';
2
- export { generateSqliteDDL, generateSqliteMigrationSQL } from '../../chunk-3DTLDGIM.js';
3
- export { createSqliteTables, edges, nodes, schemaVersions, tables, uniques } from '../../chunk-HKN622O4.js';
1
+ export { createSqliteBackend } from '../../chunk-IUIJJYPI.js';
2
+ export { generateSqliteDDL, generateSqliteMigrationSQL } from '../../chunk-N2OEOGBB.js';
3
+ export { createSqliteTables, edges, nodes, schemaVersions, tables, uniques } from '../../chunk-633N7DSE.js';
4
4
  import '../../chunk-M6OC455F.js';
5
- import '../../chunk-7KLVFWXR.js';
6
- import '../../chunk-OGUH56BB.js';
7
- import '../../chunk-N3VVQDMA.js';
5
+ import '../../chunk-AI3RNREM.js';
6
+ import '../../chunk-R4JOBEJU.js';
7
+ import '../../chunk-MXE2U3EX.js';
8
8
  import '../../chunk-454I6GDF.js';
9
- import '../../chunk-MB363HT5.js';
10
- import '../../chunk-NZ5PMBTG.js';
9
+ import '../../chunk-TQOYM4LN.js';
10
+ import '../../chunk-K5P5OZXS.js';
11
11
  //# sourceMappingURL=index.js.map
12
12
  //# sourceMappingURL=index.js.map
@@ -1,24 +1,24 @@
1
1
  'use strict';
2
2
 
3
- var chunkQ5ASTPM4_cjs = require('../../chunk-Q5ASTPM4.cjs');
4
- var chunkRU5BBUU2_cjs = require('../../chunk-RU5BBUU2.cjs');
5
- var chunkZYQEXGYC_cjs = require('../../chunk-ZYQEXGYC.cjs');
6
- var chunkF2Q76CQ4_cjs = require('../../chunk-F2Q76CQ4.cjs');
3
+ var chunkFWBVPATK_cjs = require('../../chunk-FWBVPATK.cjs');
4
+ var chunk4LBO6KIF_cjs = require('../../chunk-4LBO6KIF.cjs');
5
+ var chunkWFCECD6Q_cjs = require('../../chunk-WFCECD6Q.cjs');
6
+ var chunkWEMZM7J7_cjs = require('../../chunk-WEMZM7J7.cjs');
7
7
  require('../../chunk-RP7YITHX.cjs');
8
- require('../../chunk-C2RWFIYP.cjs');
9
- require('../../chunk-UPBXUOW7.cjs');
10
- require('../../chunk-VGU26WIU.cjs');
8
+ require('../../chunk-UESTHN47.cjs');
9
+ require('../../chunk-4BXHVEFB.cjs');
10
+ require('../../chunk-YQGLVWB2.cjs');
11
11
  require('../../chunk-ZFWNO3GE.cjs');
12
- require('../../chunk-G6P3OVDY.cjs');
13
- require('../../chunk-7V335GHG.cjs');
12
+ require('../../chunk-JIEJCTDS.cjs');
13
+ require('../../chunk-FLRCVI2G.cjs');
14
14
  var libsql = require('drizzle-orm/libsql');
15
15
 
16
16
  async function createLibsqlBackend(client, options = {}) {
17
- const tables2 = options.tables ?? chunkF2Q76CQ4_cjs.tables;
17
+ const tables2 = options.tables ?? chunkWEMZM7J7_cjs.tables;
18
18
  const db = libsql.drizzle(client);
19
- const ddlStatements = chunkZYQEXGYC_cjs.generateSqliteDDL(tables2);
19
+ const ddlStatements = chunkWFCECD6Q_cjs.generateSqliteDDL(tables2);
20
20
  await client.executeMultiple(ddlStatements.join(";\n"));
21
- const backend = chunkRU5BBUU2_cjs.createSqliteBackend(db, {
21
+ const backend = chunk4LBO6KIF_cjs.createSqliteBackend(db, {
22
22
  executionProfile: {
23
23
  isSync: false,
24
24
  transactionMode: "drizzle"
@@ -26,7 +26,7 @@ async function createLibsqlBackend(client, options = {}) {
26
26
  tables: tables2,
27
27
  // libSQL ships native vector search in core — no extension to load —
28
28
  // so the strategy is wired unconditionally.
29
- vector: chunkQ5ASTPM4_cjs.libsqlVectorStrategy
29
+ vector: chunkFWBVPATK_cjs.libsqlVectorStrategy
30
30
  });
31
31
  return { backend, db };
32
32
  }
@@ -1,7 +1,7 @@
1
1
  import { Client } from '@libsql/client';
2
2
  import { LibSQLDatabase } from 'drizzle-orm/libsql';
3
- import { G as GraphBackend } from '../../types-DXCSyxac.cjs';
4
- import { S as SqliteTables } from '../../sqlite-Rj3xu4It.cjs';
3
+ import { G as GraphBackend } from '../../types-dL-clxO3.cjs';
4
+ import { S as SqliteTables } from '../../sqlite-DxH1lrwD.cjs';
5
5
  import 'zod';
6
6
  import '../../extension-types-CwHV-Uk4.cjs';
7
7
  import 'drizzle-orm';
@@ -1,7 +1,7 @@
1
1
  import { Client } from '@libsql/client';
2
2
  import { LibSQLDatabase } from 'drizzle-orm/libsql';
3
- import { G as GraphBackend } from '../../types-CmAT-Z47.js';
4
- import { S as SqliteTables } from '../../sqlite-CZDFUfHS.js';
3
+ import { G as GraphBackend } from '../../types-BBiDqJCU.js';
4
+ import { S as SqliteTables } from '../../sqlite-R8YGOqVQ.js';
5
5
  import 'zod';
6
6
  import '../../extension-types-CwHV-Uk4.js';
7
7
  import 'drizzle-orm';
@@ -1,14 +1,14 @@
1
- import { libsqlVectorStrategy } from '../../chunk-CUZGBWFT.js';
2
- import { createSqliteBackend } from '../../chunk-A4H6QMV4.js';
3
- import { generateSqliteDDL } from '../../chunk-3DTLDGIM.js';
4
- import { tables } from '../../chunk-HKN622O4.js';
1
+ import { libsqlVectorStrategy } from '../../chunk-3IRMLJEK.js';
2
+ import { createSqliteBackend } from '../../chunk-IUIJJYPI.js';
3
+ import { generateSqliteDDL } from '../../chunk-N2OEOGBB.js';
4
+ import { tables } from '../../chunk-633N7DSE.js';
5
5
  import '../../chunk-M6OC455F.js';
6
- import '../../chunk-7KLVFWXR.js';
7
- import '../../chunk-OGUH56BB.js';
8
- import '../../chunk-N3VVQDMA.js';
6
+ import '../../chunk-AI3RNREM.js';
7
+ import '../../chunk-R4JOBEJU.js';
8
+ import '../../chunk-MXE2U3EX.js';
9
9
  import '../../chunk-454I6GDF.js';
10
- import '../../chunk-MB363HT5.js';
11
- import '../../chunk-NZ5PMBTG.js';
10
+ import '../../chunk-TQOYM4LN.js';
11
+ import '../../chunk-K5P5OZXS.js';
12
12
  import { drizzle } from 'drizzle-orm/libsql';
13
13
 
14
14
  async function createLibsqlBackend(client, options = {}) {
@@ -1,16 +1,16 @@
1
1
  'use strict';
2
2
 
3
- var chunk4K6IHUW6_cjs = require('../../chunk-4K6IHUW6.cjs');
4
- var chunkRU5BBUU2_cjs = require('../../chunk-RU5BBUU2.cjs');
5
- var chunkZYQEXGYC_cjs = require('../../chunk-ZYQEXGYC.cjs');
6
- var chunkF2Q76CQ4_cjs = require('../../chunk-F2Q76CQ4.cjs');
3
+ var chunkVFX3LC76_cjs = require('../../chunk-VFX3LC76.cjs');
4
+ var chunk4LBO6KIF_cjs = require('../../chunk-4LBO6KIF.cjs');
5
+ var chunkWFCECD6Q_cjs = require('../../chunk-WFCECD6Q.cjs');
6
+ var chunkWEMZM7J7_cjs = require('../../chunk-WEMZM7J7.cjs');
7
7
  require('../../chunk-RP7YITHX.cjs');
8
- require('../../chunk-C2RWFIYP.cjs');
9
- require('../../chunk-UPBXUOW7.cjs');
10
- require('../../chunk-VGU26WIU.cjs');
8
+ require('../../chunk-UESTHN47.cjs');
9
+ require('../../chunk-4BXHVEFB.cjs');
10
+ require('../../chunk-YQGLVWB2.cjs');
11
11
  require('../../chunk-ZFWNO3GE.cjs');
12
- var chunkG6P3OVDY_cjs = require('../../chunk-G6P3OVDY.cjs');
13
- require('../../chunk-7V335GHG.cjs');
12
+ var chunkJIEJCTDS_cjs = require('../../chunk-JIEJCTDS.cjs');
13
+ require('../../chunk-FLRCVI2G.cjs');
14
14
  var module$1 = require('module');
15
15
  var Database = require('better-sqlite3');
16
16
  var betterSqlite3 = require('drizzle-orm/better-sqlite3');
@@ -42,7 +42,7 @@ function createDatabase(path) {
42
42
  const message = getUnknownErrorMessage(error);
43
43
  const mismatch = parseNodeModuleVersionMismatchMessage(message);
44
44
  if (!mismatch) throw error;
45
- throw new chunkG6P3OVDY_cjs.ConfigurationError(
45
+ throw new chunkJIEJCTDS_cjs.ConfigurationError(
46
46
  [
47
47
  "Failed to load better-sqlite3 native addon.",
48
48
  `It was compiled for NODE_MODULE_VERSION ${mismatch.compiled}, but this Node.js runtime requires ${mismatch.required}.`,
@@ -61,22 +61,23 @@ function createDatabase(path) {
61
61
  }
62
62
  function createLocalSqliteBackend(options = {}) {
63
63
  const path = options.path ?? ":memory:";
64
- const tables2 = options.tables ?? chunkF2Q76CQ4_cjs.tables;
64
+ const tables2 = options.tables ?? chunkWEMZM7J7_cjs.tables;
65
65
  const sqlite = createDatabase(path);
66
66
  const hasSqliteVec = tryLoadSqliteVec(sqlite);
67
67
  const db = betterSqlite3.drizzle(sqlite);
68
- const ddlStatements = chunkZYQEXGYC_cjs.generateSqliteDDL(tables2);
68
+ const ddlStatements = chunkWFCECD6Q_cjs.generateSqliteDDL(tables2);
69
69
  for (const statement of ddlStatements) {
70
70
  sqlite.exec(statement);
71
71
  }
72
- const backend = chunkRU5BBUU2_cjs.createSqliteBackend(db, {
72
+ const backend = chunk4LBO6KIF_cjs.createSqliteBackend(db, {
73
73
  executionProfile: {
74
74
  isSync: true
75
75
  },
76
76
  tables: tables2,
77
- ...hasSqliteVec ? { vector: chunk4K6IHUW6_cjs.sqliteVecStrategy } : {}
77
+ ...hasSqliteVec ? { vector: chunkVFX3LC76_cjs.sqliteVecStrategy } : {},
78
+ ...options.capabilities ? { capabilities: options.capabilities } : {}
78
79
  });
79
- const managedBackend = chunkF2Q76CQ4_cjs.wrapWithManagedClose(backend, () => {
80
+ const managedBackend = chunkWEMZM7J7_cjs.wrapWithManagedClose(backend, () => {
80
81
  sqlite.close();
81
82
  });
82
83
  return { backend: managedBackend, db };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/backend/sqlite/local.ts"],"names":["createRequire","Database","ConfigurationError","tables","drizzle","generateSqliteDDL","createSqliteBackend","sqliteVecStrategy","wrapWithManagedClose"],"mappings":"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","file":"local.cjs","sourcesContent":["/**\n * Local SQLite backend using better-sqlite3.\n *\n * This module depends on the `better-sqlite3` native addon and should only\n * be imported in Node.js environments. For bundler-friendly SQLite DDL\n * generation and Drizzle backend creation, import from `@nicia-ai/typegraph/sqlite`.\n *\n * @example In-memory database (default)\n * ```typescript\n * import { createLocalSqliteBackend } from \"@nicia-ai/typegraph/sqlite/local\";\n *\n * const { backend, db } = createLocalSqliteBackend();\n * const store = createStore(graph, backend);\n * ```\n *\n * @example File-based database for persistent local development\n * ```typescript\n * import { createLocalSqliteBackend } from \"@nicia-ai/typegraph/sqlite/local\";\n *\n * const { backend, db } = createLocalSqliteBackend({ path: \"./dev.db\" });\n * const store = createStore(graph, backend);\n * ```\n */\nimport { createRequire } from \"node:module\";\n\nimport Database from \"better-sqlite3\";\nimport {\n type BetterSQLite3Database,\n drizzle,\n} from \"drizzle-orm/better-sqlite3\";\n\nimport { ConfigurationError } from \"../../errors\";\nimport { sqliteVecStrategy } from \"../../query/dialect/vector/sqlite-vec-strategy\";\nimport { generateSqliteDDL } from \"../drizzle/ddl\";\nimport {\n createSqliteBackend,\n type SqliteTables,\n tables as defaultTables,\n} from \"../drizzle/sqlite\";\nimport { type GraphBackend, wrapWithManagedClose } from \"../types\";\n\nconst nodeRequire = createRequire(import.meta.url);\n\n// ============================================================\n// Native Addon Helpers\n// ============================================================\n\ntype NodeModuleVersionMismatch = Readonly<{\n compiled: number;\n required: number;\n}>;\n\nfunction getUnknownErrorMessage(error: unknown): string {\n if (error instanceof Error) return error.message;\n return String(error);\n}\n\nfunction parseNodeModuleVersionMismatchMessage(\n message: string,\n): NodeModuleVersionMismatch | undefined {\n const regexp =\n /NODE_MODULE_VERSION (?<compiled>\\d+)[\\s\\S]*?NODE_MODULE_VERSION (?<required>\\d+)/;\n const match = regexp.exec(message);\n if (!match?.groups) return undefined;\n\n const compiled = Number(match.groups.compiled);\n const required = Number(match.groups.required);\n\n if (!Number.isFinite(compiled) || !Number.isFinite(required))\n return undefined;\n\n return { compiled, required };\n}\n\nfunction createDatabase(path: string): Database.Database {\n try {\n return new Database(path);\n } catch (error) {\n const message = getUnknownErrorMessage(error);\n const mismatch = parseNodeModuleVersionMismatchMessage(message);\n if (!mismatch) throw error;\n\n throw new ConfigurationError(\n [\n \"Failed to load better-sqlite3 native addon.\",\n `It was compiled for NODE_MODULE_VERSION ${mismatch.compiled}, but this Node.js runtime requires ${mismatch.required}.`,\n \"This usually happens after switching Node versions without rebuilding native dependencies.\",\n \"Rebuild with: pnpm rebuild better-sqlite3 (or npm rebuild better-sqlite3).\",\n ].join(\" \"),\n {\n nodeVersion: process.version,\n nodeModuleVersion: process.versions.modules,\n compiledNodeModuleVersion: mismatch.compiled,\n requiredNodeModuleVersion: mismatch.required,\n },\n { cause: error },\n );\n }\n}\n\n// ============================================================\n// Types\n// ============================================================\n\n/**\n * Options for creating a local SQLite backend.\n */\nexport type LocalSqliteBackendOptions = Readonly<{\n /**\n * Path to the SQLite database file.\n * Defaults to \":memory:\" for an in-memory database.\n */\n path?: string;\n\n /**\n * Custom table definitions.\n * Defaults to standard TypeGraph table names.\n */\n tables?: SqliteTables;\n}>;\n\n/**\n * Result of creating a local SQLite backend.\n */\nexport type LocalSqliteBackendResult = Readonly<{\n /**\n * The GraphBackend instance for use with createStore.\n */\n backend: GraphBackend;\n\n /**\n * The underlying Drizzle database instance.\n * Useful for direct SQL access or cleanup.\n */\n db: BetterSQLite3Database;\n}>;\n\n// ============================================================\n// Factory Function\n// ============================================================\n\n/**\n * Creates a SQLite backend with minimal configuration.\n *\n * This is a convenience function for local development and testing.\n * It handles database creation, schema migration, and backend setup.\n *\n * For production deployments or custom configurations, use createSqliteBackend\n * directly with your own Drizzle database instance.\n *\n * @param options - Configuration options\n * @returns Backend and database instances\n *\n * @example In-memory database (default)\n * ```typescript\n * const { backend } = createLocalSqliteBackend();\n * const store = createStore(graph, backend);\n * ```\n *\n * @example File-based database\n * ```typescript\n * const { backend, db } = createLocalSqliteBackend({ path: \"./data.db\" });\n * const store = createStore(graph, backend);\n * ```\n */\nexport function createLocalSqliteBackend(\n options: LocalSqliteBackendOptions = {},\n): LocalSqliteBackendResult {\n const path = options.path ?? \":memory:\";\n const tables = options.tables ?? defaultTables;\n\n const sqlite = createDatabase(path);\n\n // Best-effort: load sqlite-vec so embedding fields are persisted to\n // per-`(kind, field)` `vec0` storage. Without it, nodes with\n // `embedding()` fields validate and insert but their vectors are silently\n // dropped. When the user has installed sqlite-vec as a peer dep we load\n // it and wire the strategy; otherwise we proceed without vector support.\n const hasSqliteVec = tryLoadSqliteVec(sqlite);\n\n const db = drizzle(sqlite);\n\n // Generate and execute DDL from schema\n const ddlStatements = generateSqliteDDL(tables);\n for (const statement of ddlStatements) {\n sqlite.exec(statement);\n }\n\n const backend = createSqliteBackend(db, {\n executionProfile: {\n isSync: true,\n },\n tables,\n ...(hasSqliteVec ? { vector: sqliteVecStrategy } : {}),\n });\n const managedBackend = wrapWithManagedClose(backend, () => {\n sqlite.close();\n });\n\n return { backend: managedBackend, db };\n}\n\nfunction tryLoadSqliteVec(sqlite: Database.Database): boolean {\n try {\n // `sqlite-vec` is an optional peer dep; resolved via createRequire so\n // bundlers don't mark it as a hard import. Node resolves the package\n // only when it's actually installed.\n const module_: unknown = nodeRequire(\"sqlite-vec\");\n if (\n typeof module_ === \"object\" &&\n module_ !== null &&\n \"load\" in module_ &&\n typeof module_.load === \"function\"\n ) {\n (module_ as { load: (db: Database.Database) => void }).load(sqlite);\n return true;\n }\n return false;\n } catch {\n return false;\n }\n}\n"]}
1
+ {"version":3,"sources":["../../../src/backend/sqlite/local.ts"],"names":["createRequire","Database","ConfigurationError","tables","drizzle","generateSqliteDDL","createSqliteBackend","sqliteVecStrategy","wrapWithManagedClose"],"mappings":"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","file":"local.cjs","sourcesContent":["/**\n * Local SQLite backend using better-sqlite3.\n *\n * This module depends on the `better-sqlite3` native addon and should only\n * be imported in Node.js environments. For bundler-friendly SQLite DDL\n * generation and Drizzle backend creation, import from `@nicia-ai/typegraph/sqlite`.\n *\n * @example In-memory database (default)\n * ```typescript\n * import { createLocalSqliteBackend } from \"@nicia-ai/typegraph/sqlite/local\";\n *\n * const { backend, db } = createLocalSqliteBackend();\n * const store = createStore(graph, backend);\n * ```\n *\n * @example File-based database for persistent local development\n * ```typescript\n * import { createLocalSqliteBackend } from \"@nicia-ai/typegraph/sqlite/local\";\n *\n * const { backend, db } = createLocalSqliteBackend({ path: \"./dev.db\" });\n * const store = createStore(graph, backend);\n * ```\n */\nimport { createRequire } from \"node:module\";\n\nimport Database from \"better-sqlite3\";\nimport {\n type BetterSQLite3Database,\n drizzle,\n} from \"drizzle-orm/better-sqlite3\";\n\nimport { ConfigurationError } from \"../../errors\";\nimport { sqliteVecStrategy } from \"../../query/dialect/vector/sqlite-vec-strategy\";\nimport { generateSqliteDDL } from \"../drizzle/ddl\";\nimport {\n createSqliteBackend,\n type SqliteTables,\n tables as defaultTables,\n} from \"../drizzle/sqlite\";\nimport {\n type BackendCapabilities,\n type GraphBackend,\n wrapWithManagedClose,\n} from \"../types\";\n\nconst nodeRequire = createRequire(import.meta.url);\n\n// ============================================================\n// Native Addon Helpers\n// ============================================================\n\ntype NodeModuleVersionMismatch = Readonly<{\n compiled: number;\n required: number;\n}>;\n\nfunction getUnknownErrorMessage(error: unknown): string {\n if (error instanceof Error) return error.message;\n return String(error);\n}\n\nfunction parseNodeModuleVersionMismatchMessage(\n message: string,\n): NodeModuleVersionMismatch | undefined {\n const regexp =\n /NODE_MODULE_VERSION (?<compiled>\\d+)[\\s\\S]*?NODE_MODULE_VERSION (?<required>\\d+)/;\n const match = regexp.exec(message);\n if (!match?.groups) return undefined;\n\n const compiled = Number(match.groups.compiled);\n const required = Number(match.groups.required);\n\n if (!Number.isFinite(compiled) || !Number.isFinite(required))\n return undefined;\n\n return { compiled, required };\n}\n\nfunction createDatabase(path: string): Database.Database {\n try {\n return new Database(path);\n } catch (error) {\n const message = getUnknownErrorMessage(error);\n const mismatch = parseNodeModuleVersionMismatchMessage(message);\n if (!mismatch) throw error;\n\n throw new ConfigurationError(\n [\n \"Failed to load better-sqlite3 native addon.\",\n `It was compiled for NODE_MODULE_VERSION ${mismatch.compiled}, but this Node.js runtime requires ${mismatch.required}.`,\n \"This usually happens after switching Node versions without rebuilding native dependencies.\",\n \"Rebuild with: pnpm rebuild better-sqlite3 (or npm rebuild better-sqlite3).\",\n ].join(\" \"),\n {\n nodeVersion: process.version,\n nodeModuleVersion: process.versions.modules,\n compiledNodeModuleVersion: mismatch.compiled,\n requiredNodeModuleVersion: mismatch.required,\n },\n { cause: error },\n );\n }\n}\n\n// ============================================================\n// Types\n// ============================================================\n\n/**\n * Options for creating a local SQLite backend.\n */\nexport type LocalSqliteBackendOptions = Readonly<{\n /**\n * Path to the SQLite database file.\n * Defaults to \":memory:\" for an in-memory database.\n */\n path?: string;\n\n /**\n * Custom table definitions.\n * Defaults to standard TypeGraph table names.\n */\n tables?: SqliteTables;\n\n /**\n * Override specific backend capabilities — e.g. to simulate an engine-level\n * gap like missing SQL window functions in tests. Forwarded to\n * createSqliteBackend.\n */\n capabilities?: Partial<BackendCapabilities>;\n}>;\n\n/**\n * Result of creating a local SQLite backend.\n */\nexport type LocalSqliteBackendResult = Readonly<{\n /**\n * The GraphBackend instance for use with createStore.\n */\n backend: GraphBackend;\n\n /**\n * The underlying Drizzle database instance.\n * Useful for direct SQL access or cleanup.\n */\n db: BetterSQLite3Database;\n}>;\n\n// ============================================================\n// Factory Function\n// ============================================================\n\n/**\n * Creates a SQLite backend with minimal configuration.\n *\n * This is a convenience function for local development and testing.\n * It handles database creation, schema migration, and backend setup.\n *\n * For production deployments or custom configurations, use createSqliteBackend\n * directly with your own Drizzle database instance.\n *\n * @param options - Configuration options\n * @returns Backend and database instances\n *\n * @example In-memory database (default)\n * ```typescript\n * const { backend } = createLocalSqliteBackend();\n * const store = createStore(graph, backend);\n * ```\n *\n * @example File-based database\n * ```typescript\n * const { backend, db } = createLocalSqliteBackend({ path: \"./data.db\" });\n * const store = createStore(graph, backend);\n * ```\n */\nexport function createLocalSqliteBackend(\n options: LocalSqliteBackendOptions = {},\n): LocalSqliteBackendResult {\n const path = options.path ?? \":memory:\";\n const tables = options.tables ?? defaultTables;\n\n const sqlite = createDatabase(path);\n\n // Best-effort: load sqlite-vec so embedding fields are persisted to\n // per-`(kind, field)` `vec0` storage. Without it, nodes with\n // `embedding()` fields validate and insert but their vectors are silently\n // dropped. When the user has installed sqlite-vec as a peer dep we load\n // it and wire the strategy; otherwise we proceed without vector support.\n const hasSqliteVec = tryLoadSqliteVec(sqlite);\n\n const db = drizzle(sqlite);\n\n // Generate and execute DDL from schema\n const ddlStatements = generateSqliteDDL(tables);\n for (const statement of ddlStatements) {\n sqlite.exec(statement);\n }\n\n const backend = createSqliteBackend(db, {\n executionProfile: {\n isSync: true,\n },\n tables,\n ...(hasSqliteVec ? { vector: sqliteVecStrategy } : {}),\n ...(options.capabilities ? { capabilities: options.capabilities } : {}),\n });\n const managedBackend = wrapWithManagedClose(backend, () => {\n sqlite.close();\n });\n\n return { backend: managedBackend, db };\n}\n\nfunction tryLoadSqliteVec(sqlite: Database.Database): boolean {\n try {\n // `sqlite-vec` is an optional peer dep; resolved via createRequire so\n // bundlers don't mark it as a hard import. Node resolves the package\n // only when it's actually installed.\n const module_: unknown = nodeRequire(\"sqlite-vec\");\n if (\n typeof module_ === \"object\" &&\n module_ !== null &&\n \"load\" in module_ &&\n typeof module_.load === \"function\"\n ) {\n (module_ as { load: (db: Database.Database) => void }).load(sqlite);\n return true;\n }\n return false;\n } catch {\n return false;\n }\n}\n"]}