@nicia-ai/typegraph 0.42.0 → 0.43.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 (63) hide show
  1. package/dist/backend/postgres/index.cjs +2 -2
  2. package/dist/backend/postgres/index.js +1 -1
  3. package/dist/backend/postgres/pglite-store.cjs +7 -7
  4. package/dist/backend/postgres/pglite-store.d.cts +1 -1
  5. package/dist/backend/postgres/pglite-store.d.ts +1 -1
  6. package/dist/backend/postgres/pglite-store.js +5 -5
  7. package/dist/backend/postgres/pglite.cjs +3 -3
  8. package/dist/backend/postgres/pglite.js +2 -2
  9. package/dist/backend/sqlite/local-store.cjs +4 -4
  10. package/dist/backend/sqlite/local-store.d.cts +1 -1
  11. package/dist/backend/sqlite/local-store.d.ts +1 -1
  12. package/dist/backend/sqlite/local-store.js +3 -3
  13. package/dist/{chunk-RTUCOEIO.cjs → chunk-5Q3P6OIC.cjs} +4 -4
  14. package/dist/{chunk-RTUCOEIO.cjs.map → chunk-5Q3P6OIC.cjs.map} +1 -1
  15. package/dist/{chunk-7TOT7RKY.cjs → chunk-5ZPRE4CV.cjs} +97 -57
  16. package/dist/chunk-5ZPRE4CV.cjs.map +1 -0
  17. package/dist/{chunk-5P6IPIT6.cjs → chunk-64LERBFM.cjs} +17 -17
  18. package/dist/{chunk-5P6IPIT6.cjs.map → chunk-64LERBFM.cjs.map} +1 -1
  19. package/dist/{chunk-K2HHCWZO.cjs → chunk-BLBG2VZ5.cjs} +51 -51
  20. package/dist/{chunk-K2HHCWZO.cjs.map → chunk-BLBG2VZ5.cjs.map} +1 -1
  21. package/dist/{chunk-EVFL2ZY5.js → chunk-CTWZPYJW.js} +2 -2
  22. package/dist/chunk-CTWZPYJW.js.map +1 -0
  23. package/dist/{chunk-DP7KC6CL.js → chunk-JNXZQBN3.js} +72 -25
  24. package/dist/chunk-JNXZQBN3.js.map +1 -0
  25. package/dist/{chunk-2SO5I5AI.cjs → chunk-KDRF3NR2.cjs} +2 -2
  26. package/dist/chunk-KDRF3NR2.cjs.map +1 -0
  27. package/dist/{chunk-WYQILW5V.js → chunk-L2BYRYHC.js} +4 -4
  28. package/dist/{chunk-WYQILW5V.js.map → chunk-L2BYRYHC.js.map} +1 -1
  29. package/dist/{chunk-6NB73BXV.js → chunk-L5AUCL5P.js} +3 -3
  30. package/dist/{chunk-6NB73BXV.js.map → chunk-L5AUCL5P.js.map} +1 -1
  31. package/dist/{chunk-277UZV7X.cjs → chunk-NDQLPKBX.cjs} +315 -268
  32. package/dist/chunk-NDQLPKBX.cjs.map +1 -0
  33. package/dist/{chunk-LTVBD56M.js → chunk-NXIZL7ZZ.js} +3 -3
  34. package/dist/{chunk-LTVBD56M.js.map → chunk-NXIZL7ZZ.js.map} +1 -1
  35. package/dist/{chunk-BGXKXGDI.js → chunk-YPVQYM3L.js} +99 -59
  36. package/dist/chunk-YPVQYM3L.js.map +1 -0
  37. package/dist/graph-merge/index.cjs +25 -25
  38. package/dist/graph-merge/index.d.cts +1 -1
  39. package/dist/graph-merge/index.d.ts +1 -1
  40. package/dist/graph-merge/index.js +4 -4
  41. package/dist/index.cjs +49 -49
  42. package/dist/index.d.cts +2 -2
  43. package/dist/index.d.ts +2 -2
  44. package/dist/index.js +3 -3
  45. package/dist/interchange/index.cjs +22 -22
  46. package/dist/interchange/index.d.cts +1 -1
  47. package/dist/interchange/index.d.ts +1 -1
  48. package/dist/interchange/index.js +3 -3
  49. package/dist/profiler/index.d.cts +1 -1
  50. package/dist/profiler/index.d.ts +1 -1
  51. package/dist/provenance/index.cjs +10 -10
  52. package/dist/provenance/index.d.cts +1 -1
  53. package/dist/provenance/index.d.ts +1 -1
  54. package/dist/provenance/index.js +1 -1
  55. package/dist/{store-view-CNcOG8bQ.d.cts → store-view-D1F6KqsE.d.cts} +18 -1
  56. package/dist/{store-view-6C2vTWqf.d.ts → store-view-DdwBNjZQ.d.ts} +18 -1
  57. package/package.json +1 -1
  58. package/dist/chunk-277UZV7X.cjs.map +0 -1
  59. package/dist/chunk-2SO5I5AI.cjs.map +0 -1
  60. package/dist/chunk-7TOT7RKY.cjs.map +0 -1
  61. package/dist/chunk-BGXKXGDI.js.map +0 -1
  62. package/dist/chunk-DP7KC6CL.js.map +0 -1
  63. package/dist/chunk-EVFL2ZY5.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunk7TOT7RKY_cjs = require('../../chunk-7TOT7RKY.cjs');
3
+ var chunk5ZPRE4CV_cjs = require('../../chunk-5ZPRE4CV.cjs');
4
4
  require('../../chunk-O7XVCLXW.cjs');
5
5
  require('../../chunk-33PAKPED.cjs');
6
6
  require('../../chunk-VGMNGWBR.cjs');
@@ -24,7 +24,7 @@ require('../../chunk-TDXIBCGY.cjs');
24
24
 
25
25
  Object.defineProperty(exports, "createPostgresBackend", {
26
26
  enumerable: true,
27
- get: function () { return chunk7TOT7RKY_cjs.createPostgresBackend; }
27
+ get: function () { return chunk5ZPRE4CV_cjs.createPostgresBackend; }
28
28
  });
29
29
  Object.defineProperty(exports, "createPostgresTables", {
30
30
  enumerable: true,
@@ -1,4 +1,4 @@
1
- export { createPostgresBackend } from '../../chunk-BGXKXGDI.js';
1
+ export { createPostgresBackend } from '../../chunk-YPVQYM3L.js';
2
2
  import '../../chunk-HHBKGPEI.js';
3
3
  import '../../chunk-ZGOUVMVS.js';
4
4
  import '../../chunk-ZOHCFYXE.js';
@@ -1,16 +1,16 @@
1
1
  'use strict';
2
2
 
3
- var chunkRTUCOEIO_cjs = require('../../chunk-RTUCOEIO.cjs');
4
- require('../../chunk-7TOT7RKY.cjs');
3
+ var chunk5Q3P6OIC_cjs = require('../../chunk-5Q3P6OIC.cjs');
4
+ require('../../chunk-5ZPRE4CV.cjs');
5
5
  require('../../chunk-O7XVCLXW.cjs');
6
- var chunk277UZV7X_cjs = require('../../chunk-277UZV7X.cjs');
6
+ var chunkNDQLPKBX_cjs = require('../../chunk-NDQLPKBX.cjs');
7
7
  require('../../chunk-33PAKPED.cjs');
8
8
  require('../../chunk-VGMNGWBR.cjs');
9
9
  require('../../chunk-AQR6BHB3.cjs');
10
10
  var chunkOMQ2NBOR_cjs = require('../../chunk-OMQ2NBOR.cjs');
11
11
  require('../../chunk-6TJ6PKPS.cjs');
12
- require('../../chunk-K2HHCWZO.cjs');
13
- require('../../chunk-2SO5I5AI.cjs');
12
+ require('../../chunk-BLBG2VZ5.cjs');
13
+ require('../../chunk-KDRF3NR2.cjs');
14
14
  require('../../chunk-ZDH3DX3C.cjs');
15
15
  require('../../chunk-CVK4T34X.cjs');
16
16
  var chunkECU53PMN_cjs = require('../../chunk-ECU53PMN.cjs');
@@ -45,13 +45,13 @@ require('../../chunk-TDXIBCGY.cjs');
45
45
  // src/backend/postgres/pglite-store.ts
46
46
  async function createLocalPgliteStore(graph, options = {}) {
47
47
  const tables = options.store?.schema === void 0 ? void 0 : chunkOMQ2NBOR_cjs.createPostgresTables(options.store.schema.tables);
48
- const { backend } = await chunkRTUCOEIO_cjs.createLocalPgliteBackend({
48
+ const { backend } = await chunk5Q3P6OIC_cjs.createLocalPgliteBackend({
49
49
  ...options.dataDir === void 0 ? {} : { dataDir: options.dataDir },
50
50
  ...options.vector === false ? { vector: false } : {},
51
51
  ...tables === void 0 ? {} : { tables }
52
52
  });
53
53
  try {
54
- const [store] = await chunk277UZV7X_cjs.createStoreWithSchema(graph, backend, {
54
+ const [store] = await chunkNDQLPKBX_cjs.createStoreWithSchema(graph, backend, {
55
55
  ...options.store,
56
56
  ...options.schemaManagement
57
57
  });
@@ -1,6 +1,6 @@
1
1
  import { G as GraphDef } from '../../define-graph-Byslw2OO.cjs';
2
2
  import { S as SchemaManagerOptions } from '../../manager-U9_zopqr.cjs';
3
- import { S as StoreOptions, U as UnboundLiveStoreOptions, a as Store, H as HistoryStoreOptions, b as HistoryStore, R as RecordedReadStoreOptions, c as RecordedReadStore, L as LiveStoreOptions } from '../../store-view-CNcOG8bQ.cjs';
3
+ import { S as StoreOptions, U as UnboundLiveStoreOptions, a as Store, H as HistoryStoreOptions, b as HistoryStore, R as RecordedReadStoreOptions, c as RecordedReadStore, L as LiveStoreOptions } from '../../store-view-D1F6KqsE.cjs';
4
4
  import '../../types-Dh-EgT-w.cjs';
5
5
  import 'zod';
6
6
  import '../../materialize-indexes-DzMCetZe.cjs';
@@ -1,6 +1,6 @@
1
1
  import { G as GraphDef } from '../../define-graph-DBFnc7u_.js';
2
2
  import { S as SchemaManagerOptions } from '../../manager-Dl0-er1G.js';
3
- import { S as StoreOptions, U as UnboundLiveStoreOptions, a as Store, H as HistoryStoreOptions, b as HistoryStore, R as RecordedReadStoreOptions, c as RecordedReadStore, L as LiveStoreOptions } from '../../store-view-6C2vTWqf.js';
3
+ import { S as StoreOptions, U as UnboundLiveStoreOptions, a as Store, H as HistoryStoreOptions, b as HistoryStore, R as RecordedReadStoreOptions, c as RecordedReadStore, L as LiveStoreOptions } from '../../store-view-DdwBNjZQ.js';
4
4
  import '../../types-Dh-EgT-w.js';
5
5
  import 'zod';
6
6
  import '../../materialize-indexes-BM3u0aXE.js';
@@ -1,14 +1,14 @@
1
- import { createLocalPgliteBackend } from '../../chunk-LTVBD56M.js';
2
- import '../../chunk-BGXKXGDI.js';
1
+ import { createLocalPgliteBackend } from '../../chunk-NXIZL7ZZ.js';
2
+ import '../../chunk-YPVQYM3L.js';
3
3
  import '../../chunk-HHBKGPEI.js';
4
- import { createStoreWithSchema } from '../../chunk-DP7KC6CL.js';
4
+ import { createStoreWithSchema } from '../../chunk-JNXZQBN3.js';
5
5
  import '../../chunk-ZGOUVMVS.js';
6
6
  import '../../chunk-ZOHCFYXE.js';
7
7
  import '../../chunk-CVNGKTHO.js';
8
8
  import { createPostgresTables } from '../../chunk-Z3WIL6S3.js';
9
9
  import '../../chunk-UJRWOV5B.js';
10
- import '../../chunk-6NB73BXV.js';
11
- import '../../chunk-EVFL2ZY5.js';
10
+ import '../../chunk-L5AUCL5P.js';
11
+ import '../../chunk-CTWZPYJW.js';
12
12
  import '../../chunk-35S6P5ZU.js';
13
13
  import '../../chunk-CDYRPI5U.js';
14
14
  import { closeAfterFailure } from '../../chunk-UZLEQFTV.js';
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkRTUCOEIO_cjs = require('../../chunk-RTUCOEIO.cjs');
4
- require('../../chunk-7TOT7RKY.cjs');
3
+ var chunk5Q3P6OIC_cjs = require('../../chunk-5Q3P6OIC.cjs');
4
+ require('../../chunk-5ZPRE4CV.cjs');
5
5
  require('../../chunk-O7XVCLXW.cjs');
6
6
  require('../../chunk-33PAKPED.cjs');
7
7
  require('../../chunk-VGMNGWBR.cjs');
@@ -25,7 +25,7 @@ require('../../chunk-TDXIBCGY.cjs');
25
25
 
26
26
  Object.defineProperty(exports, "createLocalPgliteBackend", {
27
27
  enumerable: true,
28
- get: function () { return chunkRTUCOEIO_cjs.createLocalPgliteBackend; }
28
+ get: function () { return chunk5Q3P6OIC_cjs.createLocalPgliteBackend; }
29
29
  });
30
30
  //# sourceMappingURL=pglite.cjs.map
31
31
  //# sourceMappingURL=pglite.cjs.map
@@ -1,5 +1,5 @@
1
- export { createLocalPgliteBackend } from '../../chunk-LTVBD56M.js';
2
- import '../../chunk-BGXKXGDI.js';
1
+ export { createLocalPgliteBackend } from '../../chunk-NXIZL7ZZ.js';
2
+ import '../../chunk-YPVQYM3L.js';
3
3
  import '../../chunk-HHBKGPEI.js';
4
4
  import '../../chunk-ZGOUVMVS.js';
5
5
  import '../../chunk-ZOHCFYXE.js';
@@ -3,14 +3,14 @@
3
3
  var chunkFY4VY5EV_cjs = require('../../chunk-FY4VY5EV.cjs');
4
4
  require('../../chunk-F2KVJ6FF.cjs');
5
5
  require('../../chunk-O7XVCLXW.cjs');
6
- var chunk277UZV7X_cjs = require('../../chunk-277UZV7X.cjs');
6
+ var chunkNDQLPKBX_cjs = require('../../chunk-NDQLPKBX.cjs');
7
7
  require('../../chunk-FFQGI67R.cjs');
8
8
  require('../../chunk-VGMNGWBR.cjs');
9
9
  require('../../chunk-AQR6BHB3.cjs');
10
10
  var chunkOMQ2NBOR_cjs = require('../../chunk-OMQ2NBOR.cjs');
11
11
  require('../../chunk-6TJ6PKPS.cjs');
12
- require('../../chunk-K2HHCWZO.cjs');
13
- require('../../chunk-2SO5I5AI.cjs');
12
+ require('../../chunk-BLBG2VZ5.cjs');
13
+ require('../../chunk-KDRF3NR2.cjs');
14
14
  require('../../chunk-ZDH3DX3C.cjs');
15
15
  require('../../chunk-CVK4T34X.cjs');
16
16
  var chunkECU53PMN_cjs = require('../../chunk-ECU53PMN.cjs');
@@ -52,7 +52,7 @@ async function createLocalSqliteStore(graph, options = {}) {
52
52
  ...tables === void 0 ? {} : { tables }
53
53
  });
54
54
  try {
55
- const [store] = await chunk277UZV7X_cjs.createStoreWithSchema(graph, backend, {
55
+ const [store] = await chunkNDQLPKBX_cjs.createStoreWithSchema(graph, backend, {
56
56
  ...options.store,
57
57
  ...options.schemaManagement
58
58
  });
@@ -1,6 +1,6 @@
1
1
  import { G as GraphDef } from '../../define-graph-Byslw2OO.cjs';
2
2
  import { S as SchemaManagerOptions } from '../../manager-U9_zopqr.cjs';
3
- import { S as StoreOptions, U as UnboundLiveStoreOptions, a as Store, H as HistoryStoreOptions, b as HistoryStore, R as RecordedReadStoreOptions, c as RecordedReadStore, L as LiveStoreOptions } from '../../store-view-CNcOG8bQ.cjs';
3
+ import { S as StoreOptions, U as UnboundLiveStoreOptions, a as Store, H as HistoryStoreOptions, b as HistoryStore, R as RecordedReadStoreOptions, c as RecordedReadStore, L as LiveStoreOptions } from '../../store-view-D1F6KqsE.cjs';
4
4
  import { B as BackendCapabilities } from '../../types-Dh-EgT-w.cjs';
5
5
  import { L as LocalSqlitePragmaOptions } from '../../local-options-CZ1BnIoF.cjs';
6
6
  export { D as DEFAULT_LOCAL_SQLITE_PRAGMAS, a as LocalSqliteJournalMode, b as LocalSqliteSynchronousMode } from '../../local-options-CZ1BnIoF.cjs';
@@ -1,6 +1,6 @@
1
1
  import { G as GraphDef } from '../../define-graph-DBFnc7u_.js';
2
2
  import { S as SchemaManagerOptions } from '../../manager-Dl0-er1G.js';
3
- import { S as StoreOptions, U as UnboundLiveStoreOptions, a as Store, H as HistoryStoreOptions, b as HistoryStore, R as RecordedReadStoreOptions, c as RecordedReadStore, L as LiveStoreOptions } from '../../store-view-6C2vTWqf.js';
3
+ import { S as StoreOptions, U as UnboundLiveStoreOptions, a as Store, H as HistoryStoreOptions, b as HistoryStore, R as RecordedReadStoreOptions, c as RecordedReadStore, L as LiveStoreOptions } from '../../store-view-DdwBNjZQ.js';
4
4
  import { B as BackendCapabilities } from '../../types-Dh-EgT-w.js';
5
5
  import { L as LocalSqlitePragmaOptions } from '../../local-options-CZ1BnIoF.js';
6
6
  export { D as DEFAULT_LOCAL_SQLITE_PRAGMAS, a as LocalSqliteJournalMode, b as LocalSqliteSynchronousMode } from '../../local-options-CZ1BnIoF.js';
@@ -2,14 +2,14 @@ import { createLocalSqliteBackend } from '../../chunk-LQLVJWUH.js';
2
2
  export { DEFAULT_LOCAL_SQLITE_PRAGMAS } from '../../chunk-LQLVJWUH.js';
3
3
  import '../../chunk-ZIRC2U6G.js';
4
4
  import '../../chunk-HHBKGPEI.js';
5
- import { createStoreWithSchema } from '../../chunk-DP7KC6CL.js';
5
+ import { createStoreWithSchema } from '../../chunk-JNXZQBN3.js';
6
6
  import '../../chunk-VC26BUNP.js';
7
7
  import '../../chunk-ZOHCFYXE.js';
8
8
  import '../../chunk-CVNGKTHO.js';
9
9
  import { createSqliteTables } from '../../chunk-Z3WIL6S3.js';
10
10
  import '../../chunk-UJRWOV5B.js';
11
- import '../../chunk-6NB73BXV.js';
12
- import '../../chunk-EVFL2ZY5.js';
11
+ import '../../chunk-L5AUCL5P.js';
12
+ import '../../chunk-CTWZPYJW.js';
13
13
  import '../../chunk-35S6P5ZU.js';
14
14
  import '../../chunk-CDYRPI5U.js';
15
15
  import { closeAfterFailure } from '../../chunk-UZLEQFTV.js';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunk7TOT7RKY_cjs = require('./chunk-7TOT7RKY.cjs');
3
+ var chunk5ZPRE4CV_cjs = require('./chunk-5ZPRE4CV.cjs');
4
4
  var chunkOMQ2NBOR_cjs = require('./chunk-OMQ2NBOR.cjs');
5
5
  var chunkECU53PMN_cjs = require('./chunk-ECU53PMN.cjs');
6
6
  var chunkKTBTSHU6_cjs = require('./chunk-KTBTSHU6.cjs');
@@ -31,7 +31,7 @@ async function createLocalPgliteBackend(options = {}) {
31
31
  const migrationSql = vectorEnabled ? chunkOMQ2NBOR_cjs.generatePostgresMigrationSQL(tables2) : chunkOMQ2NBOR_cjs.generatePostgresDDL(tables2).join("\n\n");
32
32
  await client.exec(migrationSql);
33
33
  const db = pglite$1.drizzle(client);
34
- const backend = chunk7TOT7RKY_cjs.createPostgresBackend(db, {
34
+ const backend = chunk5ZPRE4CV_cjs.createPostgresBackend(db, {
35
35
  tables: tables2,
36
36
  ...vectorEnabled ? {} : { vector: false }
37
37
  });
@@ -45,5 +45,5 @@ async function createLocalPgliteBackend(options = {}) {
45
45
  }
46
46
 
47
47
  exports.createLocalPgliteBackend = createLocalPgliteBackend;
48
- //# sourceMappingURL=chunk-RTUCOEIO.cjs.map
49
- //# sourceMappingURL=chunk-RTUCOEIO.cjs.map
48
+ //# sourceMappingURL=chunk-5Q3P6OIC.cjs.map
49
+ //# sourceMappingURL=chunk-5Q3P6OIC.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/backend/postgres/pglite.ts"],"names":["ConfigurationError","tables","PGlite","generatePostgresMigrationSQL","generatePostgresDDL","drizzle","createPostgresBackend","wrapWithManagedClose","closeAfterFailure"],"mappings":";;;;;;;;;AAiIA,eAAe,4BAAA,GAAmD;AAChE,EAAA,IAAI;AACF,IAAA,MAAM,OAAA,GAAU,MAAM,OAAO,+BAA+B,CAAA;AAC5D,IAAA,OAAO,OAAA,CAAQ,MAAA;AAAA,EACjB,SAAS,KAAA,EAAO;AACd,IAAA,MAAM,IAAIA,oCAAA;AAAA,MACR,2PAAA;AAAA,MAIA,EAAE,OAAA,EAAS,QAAA,EAAU,UAAA,EAAY,+BAAA,EAAgC;AAAA,MACjE,EAAE,OAAO,KAAA;AAAM,KACjB;AAAA,EACF;AACF;AAoBA,eAAsB,wBAAA,CACpB,OAAA,GAAqC,EAAC,EACH;AACnC,EAAA,MAAMC,OAAAA,GAAS,QAAQ,MAAA,IAAUA,wBAAA;AAMjC,EAAA,MAAM,eAAA,GACJ,QAAQ,MAAA,KAAW,KAAA,GACjB,SACC,OAAA,CAAQ,MAAA,IAAW,MAAM,4BAAA,EAA6B;AAC3D,EAAA,MAAM,gBAAgB,eAAA,KAAoB,MAAA;AAO1C,EAAA,MAAM,MAAA,GAAS,MAAMC,aAAA,CAAO,MAAA,CAAO;AAAA,IACjC,GAAI,QAAQ,OAAA,KAAY,MAAA,GAAY,EAAC,GAAI,EAAE,OAAA,EAAS,OAAA,CAAQ,OAAA,EAAQ;AAAA,IACpE,GAAI,eAAA,KAAoB,MAAA,GACtB,EAAC,GACD,EAAE,UAAA,EAAY,EAAE,MAAA,EAAQ,eAAA,EAAgB;AAAE,GAC7C,CAAA;AAED,EAAA,IAAI;AAGF,IAAA,MAAM,YAAA,GACJ,gBACEC,8CAAA,CAA6BF,OAAM,IACnCG,qCAAA,CAAoBH,OAAM,CAAA,CAAE,IAAA,CAAK,MAAM,CAAA;AAC3C,IAAA,MAAM,MAAA,CAAO,KAAK,YAAY,CAAA;AAE9B,IAAA,MAAM,EAAA,GAAKI,iBAAQ,MAAM,CAAA;AACzB,IAAA,MAAM,OAAA,GAAUC,wCAAsB,EAAA,EAAI;AAAA,MACxC,MAAA,EAAAL,OAAAA;AAAA,MACA,GAAI,aAAA,GAAgB,EAAC,GAAI,EAAE,QAAQ,KAAA;AAAM,KAC1C,CAAA;AACD,IAAA,MAAM,cAAA,GAAiBM,sCAAA,CAAqB,OAAA,EAAS,YAAY;AAC/D,MAAA,MAAM,OAAO,KAAA,EAAM;AAAA,IACrB,CAAC,CAAA;AAED,IAAA,OAAO,EAAE,OAAA,EAAS,cAAA,EAAgB,EAAA,EAAI,MAAA,EAAO;AAAA,EAC/C,SAAS,KAAA,EAAO;AACd,IAAA,OAAOC,mCAAA,CAAkB,QAAQ,KAAK,CAAA;AAAA,EACxC;AACF","file":"chunk-RTUCOEIO.cjs","sourcesContent":["/**\n * Local PGlite backend — Postgres-in-WASM, running in-process.\n *\n * [PGlite](https://pglite.dev/) is a full Postgres compiled to WebAssembly\n * that runs inside the Node/Bun/Deno/browser process with no server and no\n * native addon. This is the batteries-included Postgres analog of\n * `createLocalSqliteBackend`: it constructs a PGlite instance, loads the\n * pgvector extension, runs the schema DDL, and returns a ready\n * `{ backend, db }` pair whose `close()` disposes the engine.\n *\n * `@electric-sql/pglite` is an optional peer dependency. Vector support\n * additionally needs `@electric-sql/pglite-pgvector` (PGlite ≥ 0.5 ships\n * pgvector as a separate package). Install what you need:\n *\n * ```bash\n * pnpm add @electric-sql/pglite @electric-sql/pglite-pgvector\n * ```\n *\n * @example In-memory database (default, vector enabled)\n * ```typescript\n * import { createLocalPgliteBackend } from \"@nicia-ai/typegraph/adapters/drizzle/postgres/pglite\";\n *\n * const { backend } = await createLocalPgliteBackend();\n * const store = createStore(graph, backend);\n * ```\n *\n * @example Persistent on-disk database\n * ```typescript\n * const { backend, db } = await createLocalPgliteBackend({ dataDir: \"./pgdata\" });\n * ```\n *\n * @example No vector support (skip the pgvector extension)\n * ```typescript\n * const { backend } = await createLocalPgliteBackend({ vector: false });\n * ```\n *\n * PGlite is single-connection and serial: there is no pooling, so concurrent\n * `store.transaction()` calls queue rather than run in parallel.\n */\nimport { type Extension, PGlite } from \"@electric-sql/pglite\";\nimport { drizzle, type PgliteDatabase } from \"drizzle-orm/pglite\";\n\nimport { ConfigurationError } from \"../../errors\";\nimport {\n generatePostgresDDL,\n generatePostgresMigrationSQL,\n} from \"../drizzle/ddl\";\nimport { type AnyPgTransaction } from \"../drizzle/execution\";\nexport type { AnyPgDatabase, AnyPgTransaction } from \"../drizzle/execution\";\nimport {\n createPostgresBackend,\n type PostgresTables,\n tables as defaultTables,\n} from \"../drizzle/postgres\";\nimport {\n type AdapterBackend,\n closeAfterFailure,\n wrapWithManagedClose,\n} from \"../types\";\n\n// ============================================================\n// Types\n// ============================================================\n\n/**\n * Options for creating a local PGlite backend.\n */\nexport type LocalPgliteBackendOptions = Readonly<{\n /**\n * PGlite data directory. Omit for an in-memory database (the default).\n * Accepts any PGlite data-dir spec: a filesystem path (`\"./pgdata\"`),\n * `\"memory://\"`, or a browser/runtime-specific scheme such as\n * `\"idb://my-db\"`.\n */\n dataDir?: string;\n\n /**\n * Custom table definitions. Defaults to standard TypeGraph table names.\n */\n tables?: PostgresTables;\n\n /**\n * Controls the pgvector stack:\n *\n * - **omitted (default)** — load pgvector from `@electric-sql/pglite-pgvector`\n * and run `CREATE EXTENSION vector`, so embedding fields work out of the\n * box. Throws a {@link ConfigurationError} if the package isn't installed.\n * - **`false`** — skip the extension entirely; the backend advertises no\n * vector capability (mirroring a SQLite connection without sqlite-vec).\n * Use when a graph carries no embeddings, or to avoid the extension dep.\n * - **a PGlite `Extension`** — bring your own pgvector build or custom\n * extension packaging. Decouples this helper from a specific pgvector\n * package version.\n */\n vector?: false | Extension;\n}>;\n\n/**\n * Result of creating a local PGlite backend.\n */\nexport type LocalPgliteBackendResult = Readonly<{\n /**\n * The GraphBackend instance for use with createStore. Its `close()`\n * disposes the underlying PGlite engine.\n */\n backend: AdapterBackend<AnyPgTransaction>;\n\n /**\n * The underlying Drizzle database instance. Useful for direct SQL access.\n */\n db: PgliteDatabase;\n\n /**\n * The raw PGlite instance, for engine-specific operations such as\n * `dumpDataDir()` / `clone()` not surfaced through Drizzle.\n */\n client: PGlite;\n}>;\n\n// ============================================================\n// Vector extension loading\n// ============================================================\n\n/**\n * Dynamically loads the default pgvector extension from\n * `@electric-sql/pglite-pgvector`. Kept as a runtime import so the package\n * stays an optional peer dependency — callers using `vector: false` or\n * supplying their own extension never need it installed.\n */\nasync function loadDefaultPgvectorExtension(): Promise<Extension> {\n try {\n const module_ = await import(\"@electric-sql/pglite-pgvector\");\n return module_.vector;\n } catch (error) {\n throw new ConfigurationError(\n \"createLocalPgliteBackend needs the pgvector extension but \" +\n \"`@electric-sql/pglite-pgvector` could not be loaded. Install it \" +\n \"(`pnpm add @electric-sql/pglite-pgvector`), pass your own `vector` \" +\n \"extension, or set `vector: false` to disable vector support.\",\n { backend: \"pglite\", dependency: \"@electric-sql/pglite-pgvector\" },\n { cause: error },\n );\n }\n}\n\n// ============================================================\n// Factory Function\n// ============================================================\n\n/**\n * Creates a TypeGraph backend backed by an in-process PGlite database.\n *\n * Constructs the PGlite engine (loading pgvector unless disabled), executes\n * the schema DDL, and wires the standard Postgres backend. The returned\n * backend owns the engine: call `backend.close()` to dispose it.\n *\n * For production Postgres, or a PGlite instance you construct yourself,\n * use `createPostgresBackend` directly with your own Drizzle database — the\n * execution fast path detects PGlite and routes it correctly.\n *\n * @param options - Configuration options\n * @returns Backend, Drizzle database, and raw PGlite client\n */\nexport async function createLocalPgliteBackend(\n options: LocalPgliteBackendOptions = {},\n): Promise<LocalPgliteBackendResult> {\n const tables = options.tables ?? defaultTables;\n\n // pgvector lives in the WASM instance, so the extension must be passed at\n // construction — `CREATE EXTENSION vector` alone can't pull it in. An\n // explicitly supplied extension wins; `false` disables; otherwise load the\n // default package.\n const vectorExtension =\n options.vector === false ?\n undefined\n : (options.vector ?? (await loadDefaultPgvectorExtension()));\n const vectorEnabled = vectorExtension !== undefined;\n\n // Construct via the single options-object form (passing `dataDir` as a\n // field), not the positional `create(dataDir, options)` overload: with a\n // leading `undefined` dataDir, that overload silently drops `extensions`\n // (\"extension vector is not available\"). The options form loads them for\n // both the in-memory and on-disk cases.\n const client = await PGlite.create({\n ...(options.dataDir === undefined ? {} : { dataDir: options.dataDir }),\n ...(vectorExtension === undefined ?\n {}\n : { extensions: { vector: vectorExtension } }),\n });\n\n try {\n // `exec` runs a multi-statement batch (DDL + the pgvector `CREATE\n // EXTENSION` when enabled) in one round trip.\n const migrationSql =\n vectorEnabled ?\n generatePostgresMigrationSQL(tables)\n : generatePostgresDDL(tables).join(\"\\n\\n\");\n await client.exec(migrationSql);\n\n const db = drizzle(client);\n const backend = createPostgresBackend(db, {\n tables,\n ...(vectorEnabled ? {} : { vector: false }),\n });\n const managedBackend = wrapWithManagedClose(backend, async () => {\n await client.close();\n });\n\n return { backend: managedBackend, db, client };\n } catch (error) {\n return closeAfterFailure(client, error);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/backend/postgres/pglite.ts"],"names":["ConfigurationError","tables","PGlite","generatePostgresMigrationSQL","generatePostgresDDL","drizzle","createPostgresBackend","wrapWithManagedClose","closeAfterFailure"],"mappings":";;;;;;;;;AAiIA,eAAe,4BAAA,GAAmD;AAChE,EAAA,IAAI;AACF,IAAA,MAAM,OAAA,GAAU,MAAM,OAAO,+BAA+B,CAAA;AAC5D,IAAA,OAAO,OAAA,CAAQ,MAAA;AAAA,EACjB,SAAS,KAAA,EAAO;AACd,IAAA,MAAM,IAAIA,oCAAA;AAAA,MACR,2PAAA;AAAA,MAIA,EAAE,OAAA,EAAS,QAAA,EAAU,UAAA,EAAY,+BAAA,EAAgC;AAAA,MACjE,EAAE,OAAO,KAAA;AAAM,KACjB;AAAA,EACF;AACF;AAoBA,eAAsB,wBAAA,CACpB,OAAA,GAAqC,EAAC,EACH;AACnC,EAAA,MAAMC,OAAAA,GAAS,QAAQ,MAAA,IAAUA,wBAAA;AAMjC,EAAA,MAAM,eAAA,GACJ,QAAQ,MAAA,KAAW,KAAA,GACjB,SACC,OAAA,CAAQ,MAAA,IAAW,MAAM,4BAAA,EAA6B;AAC3D,EAAA,MAAM,gBAAgB,eAAA,KAAoB,MAAA;AAO1C,EAAA,MAAM,MAAA,GAAS,MAAMC,aAAA,CAAO,MAAA,CAAO;AAAA,IACjC,GAAI,QAAQ,OAAA,KAAY,MAAA,GAAY,EAAC,GAAI,EAAE,OAAA,EAAS,OAAA,CAAQ,OAAA,EAAQ;AAAA,IACpE,GAAI,eAAA,KAAoB,MAAA,GACtB,EAAC,GACD,EAAE,UAAA,EAAY,EAAE,MAAA,EAAQ,eAAA,EAAgB;AAAE,GAC7C,CAAA;AAED,EAAA,IAAI;AAGF,IAAA,MAAM,YAAA,GACJ,gBACEC,8CAAA,CAA6BF,OAAM,IACnCG,qCAAA,CAAoBH,OAAM,CAAA,CAAE,IAAA,CAAK,MAAM,CAAA;AAC3C,IAAA,MAAM,MAAA,CAAO,KAAK,YAAY,CAAA;AAE9B,IAAA,MAAM,EAAA,GAAKI,iBAAQ,MAAM,CAAA;AACzB,IAAA,MAAM,OAAA,GAAUC,wCAAsB,EAAA,EAAI;AAAA,MACxC,MAAA,EAAAL,OAAAA;AAAA,MACA,GAAI,aAAA,GAAgB,EAAC,GAAI,EAAE,QAAQ,KAAA;AAAM,KAC1C,CAAA;AACD,IAAA,MAAM,cAAA,GAAiBM,sCAAA,CAAqB,OAAA,EAAS,YAAY;AAC/D,MAAA,MAAM,OAAO,KAAA,EAAM;AAAA,IACrB,CAAC,CAAA;AAED,IAAA,OAAO,EAAE,OAAA,EAAS,cAAA,EAAgB,EAAA,EAAI,MAAA,EAAO;AAAA,EAC/C,SAAS,KAAA,EAAO;AACd,IAAA,OAAOC,mCAAA,CAAkB,QAAQ,KAAK,CAAA;AAAA,EACxC;AACF","file":"chunk-5Q3P6OIC.cjs","sourcesContent":["/**\n * Local PGlite backend — Postgres-in-WASM, running in-process.\n *\n * [PGlite](https://pglite.dev/) is a full Postgres compiled to WebAssembly\n * that runs inside the Node/Bun/Deno/browser process with no server and no\n * native addon. This is the batteries-included Postgres analog of\n * `createLocalSqliteBackend`: it constructs a PGlite instance, loads the\n * pgvector extension, runs the schema DDL, and returns a ready\n * `{ backend, db }` pair whose `close()` disposes the engine.\n *\n * `@electric-sql/pglite` is an optional peer dependency. Vector support\n * additionally needs `@electric-sql/pglite-pgvector` (PGlite ≥ 0.5 ships\n * pgvector as a separate package). Install what you need:\n *\n * ```bash\n * pnpm add @electric-sql/pglite @electric-sql/pglite-pgvector\n * ```\n *\n * @example In-memory database (default, vector enabled)\n * ```typescript\n * import { createLocalPgliteBackend } from \"@nicia-ai/typegraph/adapters/drizzle/postgres/pglite\";\n *\n * const { backend } = await createLocalPgliteBackend();\n * const store = createStore(graph, backend);\n * ```\n *\n * @example Persistent on-disk database\n * ```typescript\n * const { backend, db } = await createLocalPgliteBackend({ dataDir: \"./pgdata\" });\n * ```\n *\n * @example No vector support (skip the pgvector extension)\n * ```typescript\n * const { backend } = await createLocalPgliteBackend({ vector: false });\n * ```\n *\n * PGlite is single-connection and serial: there is no pooling, so concurrent\n * `store.transaction()` calls queue rather than run in parallel.\n */\nimport { type Extension, PGlite } from \"@electric-sql/pglite\";\nimport { drizzle, type PgliteDatabase } from \"drizzle-orm/pglite\";\n\nimport { ConfigurationError } from \"../../errors\";\nimport {\n generatePostgresDDL,\n generatePostgresMigrationSQL,\n} from \"../drizzle/ddl\";\nimport { type AnyPgTransaction } from \"../drizzle/execution\";\nexport type { AnyPgDatabase, AnyPgTransaction } from \"../drizzle/execution\";\nimport {\n createPostgresBackend,\n type PostgresTables,\n tables as defaultTables,\n} from \"../drizzle/postgres\";\nimport {\n type AdapterBackend,\n closeAfterFailure,\n wrapWithManagedClose,\n} from \"../types\";\n\n// ============================================================\n// Types\n// ============================================================\n\n/**\n * Options for creating a local PGlite backend.\n */\nexport type LocalPgliteBackendOptions = Readonly<{\n /**\n * PGlite data directory. Omit for an in-memory database (the default).\n * Accepts any PGlite data-dir spec: a filesystem path (`\"./pgdata\"`),\n * `\"memory://\"`, or a browser/runtime-specific scheme such as\n * `\"idb://my-db\"`.\n */\n dataDir?: string;\n\n /**\n * Custom table definitions. Defaults to standard TypeGraph table names.\n */\n tables?: PostgresTables;\n\n /**\n * Controls the pgvector stack:\n *\n * - **omitted (default)** — load pgvector from `@electric-sql/pglite-pgvector`\n * and run `CREATE EXTENSION vector`, so embedding fields work out of the\n * box. Throws a {@link ConfigurationError} if the package isn't installed.\n * - **`false`** — skip the extension entirely; the backend advertises no\n * vector capability (mirroring a SQLite connection without sqlite-vec).\n * Use when a graph carries no embeddings, or to avoid the extension dep.\n * - **a PGlite `Extension`** — bring your own pgvector build or custom\n * extension packaging. Decouples this helper from a specific pgvector\n * package version.\n */\n vector?: false | Extension;\n}>;\n\n/**\n * Result of creating a local PGlite backend.\n */\nexport type LocalPgliteBackendResult = Readonly<{\n /**\n * The GraphBackend instance for use with createStore. Its `close()`\n * disposes the underlying PGlite engine.\n */\n backend: AdapterBackend<AnyPgTransaction>;\n\n /**\n * The underlying Drizzle database instance. Useful for direct SQL access.\n */\n db: PgliteDatabase;\n\n /**\n * The raw PGlite instance, for engine-specific operations such as\n * `dumpDataDir()` / `clone()` not surfaced through Drizzle.\n */\n client: PGlite;\n}>;\n\n// ============================================================\n// Vector extension loading\n// ============================================================\n\n/**\n * Dynamically loads the default pgvector extension from\n * `@electric-sql/pglite-pgvector`. Kept as a runtime import so the package\n * stays an optional peer dependency — callers using `vector: false` or\n * supplying their own extension never need it installed.\n */\nasync function loadDefaultPgvectorExtension(): Promise<Extension> {\n try {\n const module_ = await import(\"@electric-sql/pglite-pgvector\");\n return module_.vector;\n } catch (error) {\n throw new ConfigurationError(\n \"createLocalPgliteBackend needs the pgvector extension but \" +\n \"`@electric-sql/pglite-pgvector` could not be loaded. Install it \" +\n \"(`pnpm add @electric-sql/pglite-pgvector`), pass your own `vector` \" +\n \"extension, or set `vector: false` to disable vector support.\",\n { backend: \"pglite\", dependency: \"@electric-sql/pglite-pgvector\" },\n { cause: error },\n );\n }\n}\n\n// ============================================================\n// Factory Function\n// ============================================================\n\n/**\n * Creates a TypeGraph backend backed by an in-process PGlite database.\n *\n * Constructs the PGlite engine (loading pgvector unless disabled), executes\n * the schema DDL, and wires the standard Postgres backend. The returned\n * backend owns the engine: call `backend.close()` to dispose it.\n *\n * For production Postgres, or a PGlite instance you construct yourself,\n * use `createPostgresBackend` directly with your own Drizzle database — the\n * execution fast path detects PGlite and routes it correctly.\n *\n * @param options - Configuration options\n * @returns Backend, Drizzle database, and raw PGlite client\n */\nexport async function createLocalPgliteBackend(\n options: LocalPgliteBackendOptions = {},\n): Promise<LocalPgliteBackendResult> {\n const tables = options.tables ?? defaultTables;\n\n // pgvector lives in the WASM instance, so the extension must be passed at\n // construction — `CREATE EXTENSION vector` alone can't pull it in. An\n // explicitly supplied extension wins; `false` disables; otherwise load the\n // default package.\n const vectorExtension =\n options.vector === false ?\n undefined\n : (options.vector ?? (await loadDefaultPgvectorExtension()));\n const vectorEnabled = vectorExtension !== undefined;\n\n // Construct via the single options-object form (passing `dataDir` as a\n // field), not the positional `create(dataDir, options)` overload: with a\n // leading `undefined` dataDir, that overload silently drops `extensions`\n // (\"extension vector is not available\"). The options form loads them for\n // both the in-memory and on-disk cases.\n const client = await PGlite.create({\n ...(options.dataDir === undefined ? {} : { dataDir: options.dataDir }),\n ...(vectorExtension === undefined ?\n {}\n : { extensions: { vector: vectorExtension } }),\n });\n\n try {\n // `exec` runs a multi-statement batch (DDL + the pgvector `CREATE\n // EXTENSION` when enabled) in one round trip.\n const migrationSql =\n vectorEnabled ?\n generatePostgresMigrationSQL(tables)\n : generatePostgresDDL(tables).join(\"\\n\\n\");\n await client.exec(migrationSql);\n\n const db = drizzle(client);\n const backend = createPostgresBackend(db, {\n tables,\n ...(vectorEnabled ? {} : { vector: false }),\n });\n const managedBackend = wrapWithManagedClose(backend, async () => {\n await client.close();\n });\n\n return { backend: managedBackend, db, client };\n } catch (error) {\n return closeAfterFailure(client, error);\n }\n}\n"]}
@@ -29,6 +29,10 @@ function isPgNativeClient(candidate) {
29
29
  function isPgliteClient(candidate) {
30
30
  return typeof candidate === "object" && hasFunctionProperty(candidate, "query") && hasFunctionProperty(candidate, "dumpDataDir");
31
31
  }
32
+ var PGLITE_MAX_BIND_PARAMETERS = 32767;
33
+ function isPgliteDatabase(db) {
34
+ return isPgliteClient(db.$client);
35
+ }
32
36
  function transactionSession(carrier) {
33
37
  return carrier.session ?? carrier._?.session;
34
38
  }
@@ -140,9 +144,10 @@ async function executeDrizzleQuery(db, query) {
140
144
  }
141
145
  return result.rows;
142
146
  }
143
- function createPgPreparedStatement(pgClient, sqlText) {
147
+ function createPgPreparedStatement(pgClient, sqlText, maxBindParameters) {
144
148
  return {
145
149
  async execute(params) {
150
+ assertWithinBindParameterLimit(params.length, maxBindParameters);
146
151
  const result = await pgClient.query(sqlText, params);
147
152
  return result.rows;
148
153
  }
@@ -151,6 +156,7 @@ function createPgPreparedStatement(pgClient, sqlText) {
151
156
  function createPostgresExecutionAdapter(db, options = {}) {
152
157
  const prepareStatements = options.prepareStatements ?? true;
153
158
  const cacheMax = options.preparedStatementCacheMax ?? DEFAULT_POSTGRES_STATEMENT_CACHE_MAX;
159
+ const maxBindParameters = options.maxBindParameters;
154
160
  const pgClient = resolvePgClient(
155
161
  db,
156
162
  prepareStatements,
@@ -160,10 +166,17 @@ function createPostgresExecutionAdapter(db, options = {}) {
160
166
  function compile(query) {
161
167
  return chunk6TJ6PKPS_cjs.compileQueryWithDialect(db, query, "PostgreSQL");
162
168
  }
169
+ function assertCompiledWithinBindParameterLimit(compiledQuery) {
170
+ assertWithinBindParameterLimit(
171
+ compiledQuery.params.length,
172
+ maxBindParameters
173
+ );
174
+ }
163
175
  if (pgClient === void 0) {
164
176
  return {
165
177
  compile,
166
178
  async execute(query) {
179
+ assertCompiledWithinBindParameterLimit(compile(query));
167
180
  return executeDrizzleQuery(
168
181
  db,
169
182
  chunkX2XOQZT3_cjs.isSqlFragment(query) ? chunk6TJ6PKPS_cjs.toDrizzleSql(query, "postgres") : query
@@ -173,6 +186,7 @@ function createPostgresExecutionAdapter(db, options = {}) {
173
186
  }
174
187
  const pgQueryClient = pgClient;
175
188
  async function executeCompiled(compiledQuery) {
189
+ assertCompiledWithinBindParameterLimit(compiledQuery);
176
190
  const result = await pgQueryClient.query(
177
191
  compiledQuery.sql,
178
192
  compiledQuery.params
@@ -183,6 +197,7 @@ function createPostgresExecutionAdapter(db, options = {}) {
183
197
  compile,
184
198
  async execute(query) {
185
199
  const compiled = compile(query);
200
+ assertCompiledWithinBindParameterLimit(compiled);
186
201
  if (chunkX2XOQZT3_cjs.isSqlFragment(query) && chunkX2XOQZT3_cjs.shouldForceCustomPlan(query)) {
187
202
  const result = await pgQueryClient.queryUnnamed(
188
203
  compiled.sql,
@@ -194,10 +209,30 @@ function createPostgresExecutionAdapter(db, options = {}) {
194
209
  },
195
210
  executeCompiled,
196
211
  prepare(sqlText) {
197
- return createPgPreparedStatement(pgQueryClient, sqlText);
212
+ return createPgPreparedStatement(
213
+ pgQueryClient,
214
+ sqlText,
215
+ maxBindParameters
216
+ );
198
217
  }
199
218
  };
200
219
  }
220
+ function assertWithinBindParameterLimit(parameterCount, maxBindParameters) {
221
+ if (maxBindParameters === void 0 || parameterCount <= maxBindParameters) {
222
+ return;
223
+ }
224
+ throw new chunkKTBTSHU6_cjs.ConfigurationError(
225
+ `PostgreSQL statement uses ${parameterCount} bound parameters, exceeding this backend's limit of ${maxBindParameters}.`,
226
+ {
227
+ capability: "maxBindParameters",
228
+ maxBindParameters,
229
+ parameterCount
230
+ },
231
+ {
232
+ suggestion: "Split the operation into smaller batches or lower the batch size before retrying."
233
+ }
234
+ );
235
+ }
201
236
 
202
237
  // src/backend/drizzle/execution/statement-queue.ts
203
238
  function ignoreOutcome() {
@@ -253,42 +288,52 @@ function createSerialExecutionAdapter(adapter) {
253
288
  // src/backend/drizzle/postgres.ts
254
289
  var NODE_INSERT_PARAM_COUNT = 9;
255
290
  var EDGE_INSERT_PARAM_COUNT = 12;
256
- var POSTGRES_NODE_INSERT_BATCH_SIZE = Math.max(
257
- 1,
258
- Math.floor(chunkECU53PMN_cjs.POSTGRES_MAX_BIND_PARAMETERS / NODE_INSERT_PARAM_COUNT)
259
- );
260
- var POSTGRES_EDGE_INSERT_BATCH_SIZE = Math.max(
261
- 1,
262
- Math.floor(chunkECU53PMN_cjs.POSTGRES_MAX_BIND_PARAMETERS / EDGE_INSERT_PARAM_COUNT)
263
- );
264
- var POSTGRES_GET_NODES_ID_CHUNK_SIZE = Math.max(
265
- 1,
266
- chunkECU53PMN_cjs.POSTGRES_MAX_BIND_PARAMETERS - 2
267
- );
268
- var POSTGRES_GET_EDGES_ID_CHUNK_SIZE = Math.max(
269
- 1,
270
- chunkECU53PMN_cjs.POSTGRES_MAX_BIND_PARAMETERS - 1
271
- );
291
+ var GET_NODES_FIXED_PARAM_COUNT = 2;
292
+ var GET_EDGES_FIXED_PARAM_COUNT = 1;
272
293
  var FULLTEXT_UPSERT_PARAM_COUNT = 6;
273
294
  var FULLTEXT_DELETE_FIXED_PARAM_COUNT = 2;
274
- var POSTGRES_FULLTEXT_UPSERT_BATCH_SIZE = Math.max(
275
- 1,
276
- Math.floor(chunkECU53PMN_cjs.POSTGRES_MAX_BIND_PARAMETERS / FULLTEXT_UPSERT_PARAM_COUNT)
277
- );
278
- var POSTGRES_FULLTEXT_DELETE_CHUNK_SIZE = Math.max(
279
- 1,
280
- chunkECU53PMN_cjs.POSTGRES_MAX_BIND_PARAMETERS - FULLTEXT_DELETE_FIXED_PARAM_COUNT
281
- );
282
295
  var CHECK_UNIQUE_BATCH_FIXED_PARAM_COUNT = 3;
283
- var POSTGRES_CHECK_UNIQUE_BATCH_CHUNK_SIZE = Math.max(
284
- 1,
285
- chunkECU53PMN_cjs.POSTGRES_MAX_BIND_PARAMETERS - CHECK_UNIQUE_BATCH_FIXED_PARAM_COUNT
286
- );
287
296
  var UNIQUE_INSERT_PARAM_COUNT = 6;
288
- var POSTGRES_UNIQUE_INSERT_BATCH_SIZE = Math.max(
289
- 1,
290
- Math.floor(chunkECU53PMN_cjs.POSTGRES_MAX_BIND_PARAMETERS / UNIQUE_INSERT_PARAM_COUNT)
291
- );
297
+ function computePostgresBatchChunkSizes(maxBindParameters) {
298
+ return {
299
+ checkUniqueBatchChunkSize: Math.max(
300
+ 1,
301
+ maxBindParameters - CHECK_UNIQUE_BATCH_FIXED_PARAM_COUNT
302
+ ),
303
+ edgeInsertBatchSize: Math.max(
304
+ 1,
305
+ Math.floor(maxBindParameters / EDGE_INSERT_PARAM_COUNT)
306
+ ),
307
+ embeddingUpsertBatchSize: Math.max(
308
+ 1,
309
+ Math.floor(maxBindParameters / chunkO7XVCLXW_cjs.EMBEDDING_UPSERT_PARAM_COUNT)
310
+ ),
311
+ fulltextDeleteChunkSize: Math.max(
312
+ 1,
313
+ maxBindParameters - FULLTEXT_DELETE_FIXED_PARAM_COUNT
314
+ ),
315
+ fulltextUpsertBatchSize: Math.max(
316
+ 1,
317
+ Math.floor(maxBindParameters / FULLTEXT_UPSERT_PARAM_COUNT)
318
+ ),
319
+ getEdgesChunkSize: Math.max(
320
+ 1,
321
+ maxBindParameters - GET_EDGES_FIXED_PARAM_COUNT
322
+ ),
323
+ getNodesChunkSize: Math.max(
324
+ 1,
325
+ maxBindParameters - GET_NODES_FIXED_PARAM_COUNT
326
+ ),
327
+ nodeInsertBatchSize: Math.max(
328
+ 1,
329
+ Math.floor(maxBindParameters / NODE_INSERT_PARAM_COUNT)
330
+ ),
331
+ uniqueInsertBatchSize: Math.max(
332
+ 1,
333
+ Math.floor(maxBindParameters / UNIQUE_INSERT_PARAM_COUNT)
334
+ )
335
+ };
336
+ }
292
337
  var toNodeRow = chunkAQR6BHB3_cjs.createNodeRowMapper(chunkAQR6BHB3_cjs.POSTGRES_ROW_MAPPER_CONFIG);
293
338
  var toEdgeRow = chunkAQR6BHB3_cjs.createEdgeRowMapper(chunkAQR6BHB3_cjs.POSTGRES_ROW_MAPPER_CONFIG);
294
339
  var toUniqueRow = chunkAQR6BHB3_cjs.createUniqueRowMapper(chunkAQR6BHB3_cjs.POSTGRES_ROW_MAPPER_CONFIG);
@@ -318,14 +363,23 @@ function createPostgresBackend(db, options = {}) {
318
363
  supported: false
319
364
  }
320
365
  } : {};
366
+ const configuredMaxBindParameters = options.capabilities?.maxBindParameters ?? chunkECU53PMN_cjs.POSTGRES_MAX_BIND_PARAMETERS;
367
+ const driverBindParameterOverrides = isPgliteDatabase(db) ? {
368
+ maxBindParameters: Math.min(
369
+ configuredMaxBindParameters,
370
+ PGLITE_MAX_BIND_PARAMETERS
371
+ )
372
+ } : {};
321
373
  const capabilities = chunkECU53PMN_cjs.normalizeGraphAnalyticsCapabilities({
322
374
  ...baseCapabilities,
323
375
  ...httpOnlyOverrides,
324
- ...options.capabilities
376
+ ...options.capabilities,
377
+ ...driverBindParameterOverrides
325
378
  });
326
379
  const adapterOptions = {
327
380
  ...options.prepareStatements === void 0 ? {} : { prepareStatements: options.prepareStatements },
328
- ...options.preparedStatementCacheMax === void 0 ? {} : { preparedStatementCacheMax: options.preparedStatementCacheMax }
381
+ ...options.preparedStatementCacheMax === void 0 ? {} : { preparedStatementCacheMax: options.preparedStatementCacheMax },
382
+ maxBindParameters: capabilities.maxBindParameters ?? chunkECU53PMN_cjs.POSTGRES_MAX_BIND_PARAMETERS
329
383
  };
330
384
  const executionAdapter = createPostgresExecutionAdapter(db, adapterOptions);
331
385
  const tableNames = {
@@ -948,23 +1002,9 @@ function createPostgresOperationBackend(options) {
948
1002
  return txAdapter.execute(query);
949
1003
  });
950
1004
  }
951
- const batchConfig = {
952
- checkUniqueBatchChunkSize: POSTGRES_CHECK_UNIQUE_BATCH_CHUNK_SIZE,
953
- edgeInsertBatchSize: POSTGRES_EDGE_INSERT_BATCH_SIZE,
954
- // Unlike the static siblings, the embedding upsert honors a runtime
955
- // `maxBindParameters` override so its chunk size tracks the connection's
956
- // actual bind budget.
957
- embeddingUpsertBatchSize: Math.max(
958
- 1,
959
- Math.floor(
960
- (capabilities.maxBindParameters ?? chunkECU53PMN_cjs.POSTGRES_MAX_BIND_PARAMETERS) / chunkO7XVCLXW_cjs.EMBEDDING_UPSERT_PARAM_COUNT
961
- )
962
- ),
963
- getEdgesChunkSize: POSTGRES_GET_EDGES_ID_CHUNK_SIZE,
964
- getNodesChunkSize: POSTGRES_GET_NODES_ID_CHUNK_SIZE,
965
- nodeInsertBatchSize: POSTGRES_NODE_INSERT_BATCH_SIZE,
966
- uniqueInsertBatchSize: POSTGRES_UNIQUE_INSERT_BATCH_SIZE
967
- };
1005
+ const batchConfig = computePostgresBatchChunkSizes(
1006
+ capabilities.maxBindParameters ?? chunkECU53PMN_cjs.POSTGRES_MAX_BIND_PARAMETERS
1007
+ );
968
1008
  const commonBackend = chunkO7XVCLXW_cjs.createCommonOperationBackend({
969
1009
  batchConfig,
970
1010
  execution: {
@@ -1207,7 +1247,7 @@ function createPostgresOperationBackend(options) {
1207
1247
  const timestamp = chunkAQR6BHB3_cjs.nowIso();
1208
1248
  for (const rows of chunkZDH3DX3C_cjs.chunk(
1209
1249
  params.rows,
1210
- POSTGRES_FULLTEXT_UPSERT_BATCH_SIZE
1250
+ batchConfig.fulltextUpsertBatchSize
1211
1251
  )) {
1212
1252
  const statements = operationStrategy.buildUpsertFulltextBatch(
1213
1253
  { ...params, rows },
@@ -1222,7 +1262,7 @@ function createPostgresOperationBackend(options) {
1222
1262
  if (params.nodeIds.length === 0) return;
1223
1263
  for (const nodeIds of chunkZDH3DX3C_cjs.chunk(
1224
1264
  params.nodeIds,
1225
- POSTGRES_FULLTEXT_DELETE_CHUNK_SIZE
1265
+ batchConfig.fulltextDeleteChunkSize
1226
1266
  )) {
1227
1267
  const statements = operationStrategy.buildDeleteFulltextBatch({
1228
1268
  ...params,
@@ -1295,5 +1335,5 @@ function createTransactionBackend(options) {
1295
1335
  }
1296
1336
 
1297
1337
  exports.createPostgresBackend = createPostgresBackend;
1298
- //# sourceMappingURL=chunk-7TOT7RKY.cjs.map
1299
- //# sourceMappingURL=chunk-7TOT7RKY.cjs.map
1338
+ //# sourceMappingURL=chunk-5ZPRE4CV.cjs.map
1339
+ //# sourceMappingURL=chunk-5ZPRE4CV.cjs.map