@nicia-ai/typegraph 0.14.0 → 0.15.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 +32 -26
  2. package/dist/backend/postgres/index.cjs.map +1 -1
  3. package/dist/backend/postgres/index.d.cts +5 -5
  4. package/dist/backend/postgres/index.d.ts +5 -5
  5. package/dist/backend/postgres/index.js +14 -8
  6. package/dist/backend/postgres/index.js.map +1 -1
  7. package/dist/backend/sqlite/index.cjs +12 -12
  8. package/dist/backend/sqlite/index.d.cts +5 -5
  9. package/dist/backend/sqlite/index.d.ts +5 -5
  10. package/dist/backend/sqlite/index.js +2 -2
  11. package/dist/backend/sqlite/local.cjs +5 -5
  12. package/dist/backend/sqlite/local.cjs.map +1 -1
  13. package/dist/backend/sqlite/local.d.cts +3 -3
  14. package/dist/backend/sqlite/local.d.ts +3 -3
  15. package/dist/backend/sqlite/local.js +5 -5
  16. package/dist/backend/sqlite/local.js.map +1 -1
  17. package/dist/{chunk-QFZ5QB2J.cjs → chunk-3HQLOKS5.cjs} +25 -3
  18. package/dist/chunk-3HQLOKS5.cjs.map +1 -0
  19. package/dist/{chunk-OEKH5PWL.cjs → chunk-56RQFK7U.cjs} +22 -15
  20. package/dist/chunk-56RQFK7U.cjs.map +1 -0
  21. package/dist/{chunk-KE2BL3JZ.cjs → chunk-CRMN2NOM.cjs} +179 -179
  22. package/dist/chunk-CRMN2NOM.cjs.map +1 -0
  23. package/dist/{chunk-BNIBR5U2.js → chunk-HWWF3FOP.js} +91 -91
  24. package/dist/chunk-HWWF3FOP.js.map +1 -0
  25. package/dist/{chunk-KLOSTZDQ.js → chunk-L4ON6RJF.js} +25 -3
  26. package/dist/chunk-L4ON6RJF.js.map +1 -0
  27. package/dist/{chunk-RVUEBUBH.js → chunk-XZBAGJJH.js} +15 -8
  28. package/dist/chunk-XZBAGJJH.js.map +1 -0
  29. package/dist/{ddl-BJg93HDN.d.cts → ddl-BBo2EcFc.d.cts} +2 -2
  30. package/dist/{ddl-CsfWcl_B.d.ts → ddl-D4jlcOH_.d.ts} +2 -2
  31. package/dist/index.cjs +67 -73
  32. package/dist/index.cjs.map +1 -1
  33. package/dist/index.d.cts +6 -6
  34. package/dist/index.d.ts +6 -6
  35. package/dist/index.js +36 -42
  36. package/dist/index.js.map +1 -1
  37. package/dist/indexes/index.d.cts +2 -2
  38. package/dist/indexes/index.d.ts +2 -2
  39. package/dist/interchange/index.d.cts +3 -3
  40. package/dist/interchange/index.d.ts +3 -3
  41. package/dist/{manager-oh2mTMvy.d.cts → manager-Bj1UEnhE.d.cts} +2 -2
  42. package/dist/{manager-qRSdnKEO.d.ts → manager-Chhrq1vl.d.ts} +2 -2
  43. package/dist/profiler/index.d.cts +3 -3
  44. package/dist/profiler/index.d.ts +3 -3
  45. package/dist/schema/index.cjs +20 -20
  46. package/dist/schema/index.d.cts +4 -4
  47. package/dist/schema/index.d.ts +4 -4
  48. package/dist/schema/index.js +2 -2
  49. package/dist/{sqlite-DVca_IIy.d.cts → sqlite-Blq-AhmK.d.ts} +1 -1
  50. package/dist/{sqlite-H01wIXvB.d.ts → sqlite-DE-6NWtC.d.cts} +1 -1
  51. package/dist/{store-BJPIoe8u.d.cts → store-BNercm8P.d.cts} +51 -16
  52. package/dist/{store-B9ItxA-Q.d.ts → store-CD_0yf2s.d.ts} +51 -16
  53. package/dist/{types-Ckfwgv9l.d.cts → types-B3mmOMJV.d.cts} +8 -0
  54. package/dist/{types-C8Ra3ROE.d.cts → types-CZd2PEOc.d.cts} +8 -2
  55. package/dist/{types-CC8eB0PB.d.ts → types-Ceb01czq.d.ts} +8 -2
  56. package/dist/{types-5t_MIcvv.d.ts → types-ThB4cFLp.d.ts} +8 -0
  57. package/package.json +1 -1
  58. package/dist/chunk-BNIBR5U2.js.map +0 -1
  59. package/dist/chunk-KE2BL3JZ.cjs.map +0 -1
  60. package/dist/chunk-KLOSTZDQ.js.map +0 -1
  61. package/dist/chunk-OEKH5PWL.cjs.map +0 -1
  62. package/dist/chunk-QFZ5QB2J.cjs.map +0 -1
  63. package/dist/chunk-RVUEBUBH.js.map +0 -1
@@ -3,10 +3,30 @@
3
3
  var chunk44SXEVF4_cjs = require('./chunk-44SXEVF4.cjs');
4
4
  var chunkLELLOHJK_cjs = require('./chunk-LELLOHJK.cjs');
5
5
  var chunkMME3H4ZF_cjs = require('./chunk-MME3H4ZF.cjs');
6
- var sqliteCore = require('drizzle-orm/sqlite-core');
7
6
  var pgCore = require('drizzle-orm/pg-core');
7
+ var sqliteCore = require('drizzle-orm/sqlite-core');
8
8
  var drizzleOrm = require('drizzle-orm');
9
9
 
10
+ var vector = pgCore.customType({
11
+ dataType(config) {
12
+ return config?.dimensions ? `vector(${config.dimensions})` : "vector";
13
+ },
14
+ toDriver(value) {
15
+ return `[${value.join(",")}]`;
16
+ },
17
+ fromDriver(value) {
18
+ if (Array.isArray(value)) {
19
+ return value;
20
+ }
21
+ const content = value.slice(1, -1);
22
+ if (content === "") {
23
+ return [];
24
+ }
25
+ return content.split(",").map((s) => Number.parseFloat(s.trim()));
26
+ }
27
+ });
28
+
29
+ // src/backend/drizzle/schema/postgres.ts
10
30
  var DEFAULT_TABLE_NAMES = {
11
31
  nodes: "typegraph_nodes",
12
32
  edges: "typegraph_edges",
@@ -14,60 +34,60 @@ var DEFAULT_TABLE_NAMES = {
14
34
  schemaVersions: "typegraph_schema_versions",
15
35
  embeddings: "typegraph_node_embeddings"
16
36
  };
17
- function createSqliteTables(names = {}, options = {}) {
37
+ function createPostgresTables(names = {}, options = {}) {
18
38
  const n = { ...DEFAULT_TABLE_NAMES, ...names };
19
39
  const indexes = options.indexes ?? [];
20
- const nodes3 = sqliteCore.sqliteTable(
40
+ const nodes3 = pgCore.pgTable(
21
41
  n.nodes,
22
42
  {
23
- graphId: sqliteCore.text("graph_id").notNull(),
24
- kind: sqliteCore.text("kind").notNull(),
25
- id: sqliteCore.text("id").notNull(),
26
- props: sqliteCore.text("props").notNull(),
27
- version: sqliteCore.integer("version").notNull().default(1),
28
- validFrom: sqliteCore.text("valid_from"),
29
- validTo: sqliteCore.text("valid_to"),
30
- createdAt: sqliteCore.text("created_at").notNull(),
31
- updatedAt: sqliteCore.text("updated_at").notNull(),
32
- deletedAt: sqliteCore.text("deleted_at")
43
+ graphId: pgCore.text("graph_id").notNull(),
44
+ kind: pgCore.text("kind").notNull(),
45
+ id: pgCore.text("id").notNull(),
46
+ props: pgCore.jsonb("props").notNull(),
47
+ version: pgCore.integer("version").notNull().default(1),
48
+ validFrom: pgCore.timestamp("valid_from", { withTimezone: true }),
49
+ validTo: pgCore.timestamp("valid_to", { withTimezone: true }),
50
+ createdAt: pgCore.timestamp("created_at", { withTimezone: true }).notNull(),
51
+ updatedAt: pgCore.timestamp("updated_at", { withTimezone: true }).notNull(),
52
+ deletedAt: pgCore.timestamp("deleted_at", { withTimezone: true })
33
53
  },
34
54
  (t) => [
35
- sqliteCore.primaryKey({ columns: [t.graphId, t.kind, t.id] }),
36
- sqliteCore.index(`${n.nodes}_kind_idx`).on(t.graphId, t.kind),
37
- sqliteCore.index(`${n.nodes}_kind_created_idx`).on(
55
+ pgCore.primaryKey({ columns: [t.graphId, t.kind, t.id] }),
56
+ pgCore.index(`${n.nodes}_kind_idx`).on(t.graphId, t.kind),
57
+ pgCore.index(`${n.nodes}_kind_created_idx`).on(
38
58
  t.graphId,
39
59
  t.kind,
40
60
  t.deletedAt,
41
61
  t.createdAt
42
62
  ),
43
- sqliteCore.index(`${n.nodes}_deleted_idx`).on(t.graphId, t.deletedAt),
44
- sqliteCore.index(`${n.nodes}_valid_idx`).on(t.graphId, t.validFrom, t.validTo),
45
- ...chunkLELLOHJK_cjs.buildSqliteNodeIndexBuilders(t, indexes)
63
+ pgCore.index(`${n.nodes}_deleted_idx`).on(t.graphId, t.deletedAt),
64
+ pgCore.index(`${n.nodes}_valid_idx`).on(t.graphId, t.validFrom, t.validTo),
65
+ ...chunkLELLOHJK_cjs.buildPostgresNodeIndexBuilders(t, indexes)
46
66
  ]
47
67
  );
48
- const edges3 = sqliteCore.sqliteTable(
68
+ const edges3 = pgCore.pgTable(
49
69
  n.edges,
50
70
  {
51
- graphId: sqliteCore.text("graph_id").notNull(),
52
- id: sqliteCore.text("id").notNull(),
53
- kind: sqliteCore.text("kind").notNull(),
54
- fromKind: sqliteCore.text("from_kind").notNull(),
55
- fromId: sqliteCore.text("from_id").notNull(),
56
- toKind: sqliteCore.text("to_kind").notNull(),
57
- toId: sqliteCore.text("to_id").notNull(),
58
- props: sqliteCore.text("props").notNull(),
59
- validFrom: sqliteCore.text("valid_from"),
60
- validTo: sqliteCore.text("valid_to"),
61
- createdAt: sqliteCore.text("created_at").notNull(),
62
- updatedAt: sqliteCore.text("updated_at").notNull(),
63
- deletedAt: sqliteCore.text("deleted_at")
71
+ graphId: pgCore.text("graph_id").notNull(),
72
+ id: pgCore.text("id").notNull(),
73
+ kind: pgCore.text("kind").notNull(),
74
+ fromKind: pgCore.text("from_kind").notNull(),
75
+ fromId: pgCore.text("from_id").notNull(),
76
+ toKind: pgCore.text("to_kind").notNull(),
77
+ toId: pgCore.text("to_id").notNull(),
78
+ props: pgCore.jsonb("props").notNull(),
79
+ validFrom: pgCore.timestamp("valid_from", { withTimezone: true }),
80
+ validTo: pgCore.timestamp("valid_to", { withTimezone: true }),
81
+ createdAt: pgCore.timestamp("created_at", { withTimezone: true }).notNull(),
82
+ updatedAt: pgCore.timestamp("updated_at", { withTimezone: true }).notNull(),
83
+ deletedAt: pgCore.timestamp("deleted_at", { withTimezone: true })
64
84
  },
65
85
  (t) => [
66
- sqliteCore.primaryKey({ columns: [t.graphId, t.id] }),
67
- sqliteCore.index(`${n.edges}_kind_idx`).on(t.graphId, t.kind),
86
+ pgCore.primaryKey({ columns: [t.graphId, t.id] }),
87
+ pgCore.index(`${n.edges}_kind_idx`).on(t.graphId, t.kind),
68
88
  // Directional traversal index (outgoing): supports endpoint lookups
69
89
  // and extra filtering by edge kind / target kind.
70
- sqliteCore.index(`${n.edges}_from_idx`).on(
90
+ pgCore.index(`${n.edges}_from_idx`).on(
71
91
  t.graphId,
72
92
  t.fromKind,
73
93
  t.fromId,
@@ -77,7 +97,7 @@ function createSqliteTables(names = {}, options = {}) {
77
97
  t.validTo
78
98
  ),
79
99
  // Directional traversal index (incoming): mirrors from_idx for reverse traversals.
80
- sqliteCore.index(`${n.edges}_to_idx`).on(
100
+ pgCore.index(`${n.edges}_to_idx`).on(
81
101
  t.graphId,
82
102
  t.toKind,
83
103
  t.toId,
@@ -86,87 +106,83 @@ function createSqliteTables(names = {}, options = {}) {
86
106
  t.deletedAt,
87
107
  t.validTo
88
108
  ),
89
- sqliteCore.index(`${n.edges}_kind_created_idx`).on(
109
+ pgCore.index(`${n.edges}_kind_created_idx`).on(
90
110
  t.graphId,
91
111
  t.kind,
92
112
  t.deletedAt,
93
113
  t.createdAt
94
114
  ),
95
- sqliteCore.index(`${n.edges}_deleted_idx`).on(t.graphId, t.deletedAt),
96
- sqliteCore.index(`${n.edges}_valid_idx`).on(t.graphId, t.validFrom, t.validTo),
97
- sqliteCore.index(`${n.edges}_cardinality_idx`).on(
115
+ pgCore.index(`${n.edges}_deleted_idx`).on(t.graphId, t.deletedAt),
116
+ pgCore.index(`${n.edges}_valid_idx`).on(t.graphId, t.validFrom, t.validTo),
117
+ pgCore.index(`${n.edges}_cardinality_idx`).on(
98
118
  t.graphId,
99
119
  t.kind,
100
120
  t.fromKind,
101
121
  t.fromId,
102
122
  t.validTo
103
123
  ),
104
- ...chunkLELLOHJK_cjs.buildSqliteEdgeIndexBuilders(t, indexes)
124
+ ...chunkLELLOHJK_cjs.buildPostgresEdgeIndexBuilders(t, indexes)
105
125
  ]
106
126
  );
107
- const uniques3 = sqliteCore.sqliteTable(
127
+ const uniques3 = pgCore.pgTable(
108
128
  n.uniques,
109
129
  {
110
- graphId: sqliteCore.text("graph_id").notNull(),
111
- nodeKind: sqliteCore.text("node_kind").notNull(),
112
- constraintName: sqliteCore.text("constraint_name").notNull(),
113
- key: sqliteCore.text("key").notNull(),
114
- nodeId: sqliteCore.text("node_id").notNull(),
115
- concreteKind: sqliteCore.text("concrete_kind").notNull(),
116
- deletedAt: sqliteCore.text("deleted_at")
130
+ graphId: pgCore.text("graph_id").notNull(),
131
+ nodeKind: pgCore.text("node_kind").notNull(),
132
+ constraintName: pgCore.text("constraint_name").notNull(),
133
+ key: pgCore.text("key").notNull(),
134
+ nodeId: pgCore.text("node_id").notNull(),
135
+ concreteKind: pgCore.text("concrete_kind").notNull(),
136
+ deletedAt: pgCore.timestamp("deleted_at", { withTimezone: true })
117
137
  },
118
138
  (t) => [
119
- sqliteCore.primaryKey({
139
+ pgCore.primaryKey({
120
140
  columns: [t.graphId, t.nodeKind, t.constraintName, t.key]
121
141
  }),
122
- sqliteCore.index(`${n.uniques}_node_idx`).on(t.graphId, t.concreteKind, t.nodeId)
142
+ pgCore.index(`${n.uniques}_node_idx`).on(t.graphId, t.concreteKind, t.nodeId)
123
143
  ]
124
144
  );
125
- const schemaVersions3 = sqliteCore.sqliteTable(
145
+ const schemaVersions3 = pgCore.pgTable(
126
146
  n.schemaVersions,
127
147
  {
128
- graphId: sqliteCore.text("graph_id").notNull(),
129
- version: sqliteCore.integer("version").notNull(),
130
- schemaHash: sqliteCore.text("schema_hash").notNull(),
131
- schemaDoc: sqliteCore.text("schema_doc").notNull(),
132
- createdAt: sqliteCore.text("created_at").notNull(),
133
- isActive: sqliteCore.integer("is_active", { mode: "boolean" }).notNull().default(false)
148
+ graphId: pgCore.text("graph_id").notNull(),
149
+ version: pgCore.integer("version").notNull(),
150
+ schemaHash: pgCore.text("schema_hash").notNull(),
151
+ schemaDoc: pgCore.jsonb("schema_doc").notNull(),
152
+ createdAt: pgCore.timestamp("created_at", { withTimezone: true }).notNull(),
153
+ isActive: pgCore.boolean("is_active").notNull().default(false)
134
154
  },
135
155
  (t) => [
136
- sqliteCore.primaryKey({ columns: [t.graphId, t.version] }),
137
- sqliteCore.index(`${n.schemaVersions}_active_idx`).on(t.graphId, t.isActive)
156
+ pgCore.primaryKey({ columns: [t.graphId, t.version] }),
157
+ pgCore.index(`${n.schemaVersions}_active_idx`).on(t.graphId, t.isActive)
138
158
  ]
139
159
  );
140
- const embeddings3 = sqliteCore.sqliteTable(
160
+ const embeddings3 = pgCore.pgTable(
141
161
  n.embeddings,
142
162
  {
143
- graphId: sqliteCore.text("graph_id").notNull(),
144
- nodeKind: sqliteCore.text("node_kind").notNull(),
145
- nodeId: sqliteCore.text("node_id").notNull(),
146
- fieldPath: sqliteCore.text("field_path").notNull(),
147
- /**
148
- * Embedding vector.
149
- * Stored as BLOB for sqlite-vec binary format, or JSON text for fallback.
150
- * For sqlite-vec: use vec_f32() to convert JSON array to binary.
151
- */
152
- embedding: sqliteCore.blob("embedding", { mode: "buffer" }).notNull(),
163
+ graphId: pgCore.text("graph_id").notNull(),
164
+ nodeKind: pgCore.text("node_kind").notNull(),
165
+ nodeId: pgCore.text("node_id").notNull(),
166
+ fieldPath: pgCore.text("field_path").notNull(),
167
+ /** Embedding vector stored as native pgvector type */
168
+ embedding: vector("embedding").notNull(),
153
169
  /** Number of dimensions (for validation) */
154
- dimensions: sqliteCore.integer("dimensions").notNull(),
155
- createdAt: sqliteCore.text("created_at").notNull(),
156
- updatedAt: sqliteCore.text("updated_at").notNull()
170
+ dimensions: pgCore.integer("dimensions").notNull(),
171
+ createdAt: pgCore.timestamp("created_at", { withTimezone: true }).notNull(),
172
+ updatedAt: pgCore.timestamp("updated_at", { withTimezone: true }).notNull()
157
173
  },
158
174
  (t) => [
159
- sqliteCore.primaryKey({
175
+ pgCore.primaryKey({
160
176
  columns: [t.graphId, t.nodeKind, t.nodeId, t.fieldPath]
161
177
  }),
162
178
  // Index for looking up embeddings by node
163
- sqliteCore.index(`${n.embeddings}_node_idx`).on(
179
+ pgCore.index(`${n.embeddings}_node_idx`).on(
164
180
  t.graphId,
165
181
  t.nodeKind,
166
182
  t.nodeId
167
183
  ),
168
184
  // Index for filtering by kind and field (used in vector search)
169
- sqliteCore.index(`${n.embeddings}_kind_field_idx`).on(
185
+ pgCore.index(`${n.embeddings}_kind_field_idx`).on(
170
186
  t.graphId,
171
187
  t.nodeKind,
172
188
  t.fieldPath
@@ -175,28 +191,8 @@ function createSqliteTables(names = {}, options = {}) {
175
191
  );
176
192
  return { nodes: nodes3, edges: edges3, uniques: uniques3, schemaVersions: schemaVersions3, embeddings: embeddings3 };
177
193
  }
178
- var tables = createSqliteTables();
194
+ var tables = createPostgresTables();
179
195
  var { nodes, edges, uniques, schemaVersions, embeddings } = tables;
180
- var vector = pgCore.customType({
181
- dataType(config) {
182
- return config?.dimensions ? `vector(${config.dimensions})` : "vector";
183
- },
184
- toDriver(value) {
185
- return `[${value.join(",")}]`;
186
- },
187
- fromDriver(value) {
188
- if (Array.isArray(value)) {
189
- return value;
190
- }
191
- const content = value.slice(1, -1);
192
- if (content === "") {
193
- return [];
194
- }
195
- return content.split(",").map((s) => Number.parseFloat(s.trim()));
196
- }
197
- });
198
-
199
- // src/backend/drizzle/schema/postgres.ts
200
196
  var DEFAULT_TABLE_NAMES2 = {
201
197
  nodes: "typegraph_nodes",
202
198
  edges: "typegraph_edges",
@@ -204,60 +200,60 @@ var DEFAULT_TABLE_NAMES2 = {
204
200
  schemaVersions: "typegraph_schema_versions",
205
201
  embeddings: "typegraph_node_embeddings"
206
202
  };
207
- function createPostgresTables(names = {}, options = {}) {
203
+ function createSqliteTables(names = {}, options = {}) {
208
204
  const n = { ...DEFAULT_TABLE_NAMES2, ...names };
209
205
  const indexes = options.indexes ?? [];
210
- const nodes3 = pgCore.pgTable(
206
+ const nodes3 = sqliteCore.sqliteTable(
211
207
  n.nodes,
212
208
  {
213
- graphId: pgCore.text("graph_id").notNull(),
214
- kind: pgCore.text("kind").notNull(),
215
- id: pgCore.text("id").notNull(),
216
- props: pgCore.jsonb("props").notNull(),
217
- version: pgCore.integer("version").notNull().default(1),
218
- validFrom: pgCore.timestamp("valid_from", { withTimezone: true }),
219
- validTo: pgCore.timestamp("valid_to", { withTimezone: true }),
220
- createdAt: pgCore.timestamp("created_at", { withTimezone: true }).notNull(),
221
- updatedAt: pgCore.timestamp("updated_at", { withTimezone: true }).notNull(),
222
- deletedAt: pgCore.timestamp("deleted_at", { withTimezone: true })
209
+ graphId: sqliteCore.text("graph_id").notNull(),
210
+ kind: sqliteCore.text("kind").notNull(),
211
+ id: sqliteCore.text("id").notNull(),
212
+ props: sqliteCore.text("props").notNull(),
213
+ version: sqliteCore.integer("version").notNull().default(1),
214
+ validFrom: sqliteCore.text("valid_from"),
215
+ validTo: sqliteCore.text("valid_to"),
216
+ createdAt: sqliteCore.text("created_at").notNull(),
217
+ updatedAt: sqliteCore.text("updated_at").notNull(),
218
+ deletedAt: sqliteCore.text("deleted_at")
223
219
  },
224
220
  (t) => [
225
- pgCore.primaryKey({ columns: [t.graphId, t.kind, t.id] }),
226
- pgCore.index(`${n.nodes}_kind_idx`).on(t.graphId, t.kind),
227
- pgCore.index(`${n.nodes}_kind_created_idx`).on(
221
+ sqliteCore.primaryKey({ columns: [t.graphId, t.kind, t.id] }),
222
+ sqliteCore.index(`${n.nodes}_kind_idx`).on(t.graphId, t.kind),
223
+ sqliteCore.index(`${n.nodes}_kind_created_idx`).on(
228
224
  t.graphId,
229
225
  t.kind,
230
226
  t.deletedAt,
231
227
  t.createdAt
232
228
  ),
233
- pgCore.index(`${n.nodes}_deleted_idx`).on(t.graphId, t.deletedAt),
234
- pgCore.index(`${n.nodes}_valid_idx`).on(t.graphId, t.validFrom, t.validTo),
235
- ...chunkLELLOHJK_cjs.buildPostgresNodeIndexBuilders(t, indexes)
229
+ sqliteCore.index(`${n.nodes}_deleted_idx`).on(t.graphId, t.deletedAt),
230
+ sqliteCore.index(`${n.nodes}_valid_idx`).on(t.graphId, t.validFrom, t.validTo),
231
+ ...chunkLELLOHJK_cjs.buildSqliteNodeIndexBuilders(t, indexes)
236
232
  ]
237
233
  );
238
- const edges3 = pgCore.pgTable(
234
+ const edges3 = sqliteCore.sqliteTable(
239
235
  n.edges,
240
236
  {
241
- graphId: pgCore.text("graph_id").notNull(),
242
- id: pgCore.text("id").notNull(),
243
- kind: pgCore.text("kind").notNull(),
244
- fromKind: pgCore.text("from_kind").notNull(),
245
- fromId: pgCore.text("from_id").notNull(),
246
- toKind: pgCore.text("to_kind").notNull(),
247
- toId: pgCore.text("to_id").notNull(),
248
- props: pgCore.jsonb("props").notNull(),
249
- validFrom: pgCore.timestamp("valid_from", { withTimezone: true }),
250
- validTo: pgCore.timestamp("valid_to", { withTimezone: true }),
251
- createdAt: pgCore.timestamp("created_at", { withTimezone: true }).notNull(),
252
- updatedAt: pgCore.timestamp("updated_at", { withTimezone: true }).notNull(),
253
- deletedAt: pgCore.timestamp("deleted_at", { withTimezone: true })
237
+ graphId: sqliteCore.text("graph_id").notNull(),
238
+ id: sqliteCore.text("id").notNull(),
239
+ kind: sqliteCore.text("kind").notNull(),
240
+ fromKind: sqliteCore.text("from_kind").notNull(),
241
+ fromId: sqliteCore.text("from_id").notNull(),
242
+ toKind: sqliteCore.text("to_kind").notNull(),
243
+ toId: sqliteCore.text("to_id").notNull(),
244
+ props: sqliteCore.text("props").notNull(),
245
+ validFrom: sqliteCore.text("valid_from"),
246
+ validTo: sqliteCore.text("valid_to"),
247
+ createdAt: sqliteCore.text("created_at").notNull(),
248
+ updatedAt: sqliteCore.text("updated_at").notNull(),
249
+ deletedAt: sqliteCore.text("deleted_at")
254
250
  },
255
251
  (t) => [
256
- pgCore.primaryKey({ columns: [t.graphId, t.id] }),
257
- pgCore.index(`${n.edges}_kind_idx`).on(t.graphId, t.kind),
252
+ sqliteCore.primaryKey({ columns: [t.graphId, t.id] }),
253
+ sqliteCore.index(`${n.edges}_kind_idx`).on(t.graphId, t.kind),
258
254
  // Directional traversal index (outgoing): supports endpoint lookups
259
255
  // and extra filtering by edge kind / target kind.
260
- pgCore.index(`${n.edges}_from_idx`).on(
256
+ sqliteCore.index(`${n.edges}_from_idx`).on(
261
257
  t.graphId,
262
258
  t.fromKind,
263
259
  t.fromId,
@@ -267,7 +263,7 @@ function createPostgresTables(names = {}, options = {}) {
267
263
  t.validTo
268
264
  ),
269
265
  // Directional traversal index (incoming): mirrors from_idx for reverse traversals.
270
- pgCore.index(`${n.edges}_to_idx`).on(
266
+ sqliteCore.index(`${n.edges}_to_idx`).on(
271
267
  t.graphId,
272
268
  t.toKind,
273
269
  t.toId,
@@ -276,83 +272,87 @@ function createPostgresTables(names = {}, options = {}) {
276
272
  t.deletedAt,
277
273
  t.validTo
278
274
  ),
279
- pgCore.index(`${n.edges}_kind_created_idx`).on(
275
+ sqliteCore.index(`${n.edges}_kind_created_idx`).on(
280
276
  t.graphId,
281
277
  t.kind,
282
278
  t.deletedAt,
283
279
  t.createdAt
284
280
  ),
285
- pgCore.index(`${n.edges}_deleted_idx`).on(t.graphId, t.deletedAt),
286
- pgCore.index(`${n.edges}_valid_idx`).on(t.graphId, t.validFrom, t.validTo),
287
- pgCore.index(`${n.edges}_cardinality_idx`).on(
281
+ sqliteCore.index(`${n.edges}_deleted_idx`).on(t.graphId, t.deletedAt),
282
+ sqliteCore.index(`${n.edges}_valid_idx`).on(t.graphId, t.validFrom, t.validTo),
283
+ sqliteCore.index(`${n.edges}_cardinality_idx`).on(
288
284
  t.graphId,
289
285
  t.kind,
290
286
  t.fromKind,
291
287
  t.fromId,
292
288
  t.validTo
293
289
  ),
294
- ...chunkLELLOHJK_cjs.buildPostgresEdgeIndexBuilders(t, indexes)
290
+ ...chunkLELLOHJK_cjs.buildSqliteEdgeIndexBuilders(t, indexes)
295
291
  ]
296
292
  );
297
- const uniques3 = pgCore.pgTable(
293
+ const uniques3 = sqliteCore.sqliteTable(
298
294
  n.uniques,
299
295
  {
300
- graphId: pgCore.text("graph_id").notNull(),
301
- nodeKind: pgCore.text("node_kind").notNull(),
302
- constraintName: pgCore.text("constraint_name").notNull(),
303
- key: pgCore.text("key").notNull(),
304
- nodeId: pgCore.text("node_id").notNull(),
305
- concreteKind: pgCore.text("concrete_kind").notNull(),
306
- deletedAt: pgCore.timestamp("deleted_at", { withTimezone: true })
296
+ graphId: sqliteCore.text("graph_id").notNull(),
297
+ nodeKind: sqliteCore.text("node_kind").notNull(),
298
+ constraintName: sqliteCore.text("constraint_name").notNull(),
299
+ key: sqliteCore.text("key").notNull(),
300
+ nodeId: sqliteCore.text("node_id").notNull(),
301
+ concreteKind: sqliteCore.text("concrete_kind").notNull(),
302
+ deletedAt: sqliteCore.text("deleted_at")
307
303
  },
308
304
  (t) => [
309
- pgCore.primaryKey({
305
+ sqliteCore.primaryKey({
310
306
  columns: [t.graphId, t.nodeKind, t.constraintName, t.key]
311
307
  }),
312
- pgCore.index(`${n.uniques}_node_idx`).on(t.graphId, t.concreteKind, t.nodeId)
308
+ sqliteCore.index(`${n.uniques}_node_idx`).on(t.graphId, t.concreteKind, t.nodeId)
313
309
  ]
314
310
  );
315
- const schemaVersions3 = pgCore.pgTable(
311
+ const schemaVersions3 = sqliteCore.sqliteTable(
316
312
  n.schemaVersions,
317
313
  {
318
- graphId: pgCore.text("graph_id").notNull(),
319
- version: pgCore.integer("version").notNull(),
320
- schemaHash: pgCore.text("schema_hash").notNull(),
321
- schemaDoc: pgCore.jsonb("schema_doc").notNull(),
322
- createdAt: pgCore.timestamp("created_at", { withTimezone: true }).notNull(),
323
- isActive: pgCore.boolean("is_active").notNull().default(false)
314
+ graphId: sqliteCore.text("graph_id").notNull(),
315
+ version: sqliteCore.integer("version").notNull(),
316
+ schemaHash: sqliteCore.text("schema_hash").notNull(),
317
+ schemaDoc: sqliteCore.text("schema_doc").notNull(),
318
+ createdAt: sqliteCore.text("created_at").notNull(),
319
+ isActive: sqliteCore.integer("is_active", { mode: "boolean" }).notNull().default(false)
324
320
  },
325
321
  (t) => [
326
- pgCore.primaryKey({ columns: [t.graphId, t.version] }),
327
- pgCore.index(`${n.schemaVersions}_active_idx`).on(t.graphId, t.isActive)
322
+ sqliteCore.primaryKey({ columns: [t.graphId, t.version] }),
323
+ sqliteCore.index(`${n.schemaVersions}_active_idx`).on(t.graphId, t.isActive)
328
324
  ]
329
325
  );
330
- const embeddings3 = pgCore.pgTable(
326
+ const embeddings3 = sqliteCore.sqliteTable(
331
327
  n.embeddings,
332
328
  {
333
- graphId: pgCore.text("graph_id").notNull(),
334
- nodeKind: pgCore.text("node_kind").notNull(),
335
- nodeId: pgCore.text("node_id").notNull(),
336
- fieldPath: pgCore.text("field_path").notNull(),
337
- /** Embedding vector stored as native pgvector type */
338
- embedding: vector("embedding").notNull(),
329
+ graphId: sqliteCore.text("graph_id").notNull(),
330
+ nodeKind: sqliteCore.text("node_kind").notNull(),
331
+ nodeId: sqliteCore.text("node_id").notNull(),
332
+ fieldPath: sqliteCore.text("field_path").notNull(),
333
+ /**
334
+ * Embedding vector.
335
+ * Stored as BLOB for sqlite-vec binary format, or JSON text for fallback.
336
+ * For sqlite-vec: use vec_f32() to convert JSON array to binary.
337
+ */
338
+ embedding: sqliteCore.blob("embedding", { mode: "buffer" }).notNull(),
339
339
  /** Number of dimensions (for validation) */
340
- dimensions: pgCore.integer("dimensions").notNull(),
341
- createdAt: pgCore.timestamp("created_at", { withTimezone: true }).notNull(),
342
- updatedAt: pgCore.timestamp("updated_at", { withTimezone: true }).notNull()
340
+ dimensions: sqliteCore.integer("dimensions").notNull(),
341
+ createdAt: sqliteCore.text("created_at").notNull(),
342
+ updatedAt: sqliteCore.text("updated_at").notNull()
343
343
  },
344
344
  (t) => [
345
- pgCore.primaryKey({
345
+ sqliteCore.primaryKey({
346
346
  columns: [t.graphId, t.nodeKind, t.nodeId, t.fieldPath]
347
347
  }),
348
348
  // Index for looking up embeddings by node
349
- pgCore.index(`${n.embeddings}_node_idx`).on(
349
+ sqliteCore.index(`${n.embeddings}_node_idx`).on(
350
350
  t.graphId,
351
351
  t.nodeKind,
352
352
  t.nodeId
353
353
  ),
354
354
  // Index for filtering by kind and field (used in vector search)
355
- pgCore.index(`${n.embeddings}_kind_field_idx`).on(
355
+ sqliteCore.index(`${n.embeddings}_kind_field_idx`).on(
356
356
  t.graphId,
357
357
  t.nodeKind,
358
358
  t.fieldPath
@@ -361,7 +361,7 @@ function createPostgresTables(names = {}, options = {}) {
361
361
  );
362
362
  return { nodes: nodes3, edges: edges3, uniques: uniques3, schemaVersions: schemaVersions3, embeddings: embeddings3 };
363
363
  }
364
- var tables2 = createPostgresTables();
364
+ var tables2 = createSqliteTables();
365
365
  var { nodes: nodes2, edges: edges2, uniques: uniques2, schemaVersions: schemaVersions2, embeddings: embeddings2 } = tables2;
366
366
  function getSqliteColumnType(column) {
367
367
  switch (column.columnType) {
@@ -481,7 +481,7 @@ function generateSqliteCreateIndexSQL(table) {
481
481
  }
482
482
  return statements;
483
483
  }
484
- function generateSqliteDDL(tables3 = tables) {
484
+ function generateSqliteDDL(tables3 = tables2) {
485
485
  const statements = [];
486
486
  for (const table of Object.values(tables3)) {
487
487
  statements.push(generateSqliteCreateTableSQL(table));
@@ -491,7 +491,7 @@ function generateSqliteDDL(tables3 = tables) {
491
491
  }
492
492
  return statements;
493
493
  }
494
- function generateSqliteMigrationSQL(tables3 = tables) {
494
+ function generateSqliteMigrationSQL(tables3 = tables2) {
495
495
  return generateSqliteDDL(tables3).join("\n\n");
496
496
  }
497
497
  function getPgColumnType(column) {
@@ -573,7 +573,7 @@ function generatePgCreateIndexSQL(table) {
573
573
  }
574
574
  return statements;
575
575
  }
576
- function generatePostgresDDL(tables3 = tables2) {
576
+ function generatePostgresDDL(tables3 = tables) {
577
577
  const statements = [];
578
578
  for (const table of Object.values(tables3)) {
579
579
  statements.push(generatePgCreateTableSQL(table));
@@ -583,7 +583,7 @@ function generatePostgresDDL(tables3 = tables2) {
583
583
  }
584
584
  return statements;
585
585
  }
586
- function generatePostgresMigrationSQL(tables3 = tables2) {
586
+ function generatePostgresMigrationSQL(tables3 = tables) {
587
587
  const extensionSql = "-- Enable pgvector extension for vector similarity search\nCREATE EXTENSION IF NOT EXISTS vector;";
588
588
  const ddlSql = generatePostgresDDL(tables3).join("\n\n");
589
589
  return `${extensionSql}
@@ -2160,5 +2160,5 @@ exports.tables = tables;
2160
2160
  exports.tables2 = tables2;
2161
2161
  exports.uniques = uniques;
2162
2162
  exports.uniques2 = uniques2;
2163
- //# sourceMappingURL=chunk-KE2BL3JZ.cjs.map
2164
- //# sourceMappingURL=chunk-KE2BL3JZ.cjs.map
2163
+ //# sourceMappingURL=chunk-CRMN2NOM.cjs.map
2164
+ //# sourceMappingURL=chunk-CRMN2NOM.cjs.map