sietch 0.10.0 → 0.10.1

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.
@@ -54,5 +54,15 @@ export declare class PostgreSQLDatabaseAdapter implements DatabaseAdapter {
54
54
  close(): Promise<void>;
55
55
  /** Escape a string for use inside AGE cypher literals. */
56
56
  private escapeAg;
57
+ /** SQL-literal-quote a value for inline use (doubles single quotes). */
58
+ private quoteSqlLiteral;
59
+ /**
60
+ * Run a cypher block against AGE. Centralises the LOAD/SET ritual and
61
+ * inlines the graph name as a SQL literal — AGE's cypher() rejects the
62
+ * graph name when passed via a bind parameter ("a name constant is
63
+ * expected"). Constructor validation guarantees graphName is identifier-
64
+ * shaped; the literal quote is defence-in-depth.
65
+ */
66
+ private runCypher;
57
67
  }
58
68
  export {};
@@ -21,6 +21,14 @@ export class PostgreSQLDatabaseAdapter {
21
21
  graphName;
22
22
  vectorDims;
23
23
  constructor(config, graphName = 'sietch', vectorDims = 768) {
24
+ // AGE's cypher() and create_graph() require the graph name as a SQL string
25
+ // literal at parse time — bind parameters are rejected with "a name
26
+ // constant is expected". We inline the graph name into the SQL text
27
+ // instead, so it must be a safe identifier shape (defence-in-depth on top
28
+ // of the literal-quote helper used in runCypher).
29
+ if (!/^[A-Za-z0-9_]+$/.test(graphName)) {
30
+ throw new Error(`PostgreSQLDatabaseAdapter: graphName must match /^[A-Za-z0-9_]+$/, got ${JSON.stringify(graphName)}`);
31
+ }
24
32
  this.pool = new Pool(typeof config === 'string' ? { connectionString: config } : config);
25
33
  this.graphName = graphName;
26
34
  this.vectorDims = vectorDims;
@@ -79,10 +87,14 @@ export class PostgreSQLDatabaseAdapter {
79
87
  await client.query('CREATE EXTENSION IF NOT EXISTS age');
80
88
  await client.query(`LOAD 'age'`);
81
89
  await client.query(`SET search_path = ag_catalog, "$user", public`);
82
- // Check if graph exists before creating
90
+ // Check if graph exists before creating. The catalog lookup uses a
91
+ // bind parameter (safe — `name` is a regular column), but
92
+ // create_graph() rejects bind parameters the same way cypher() does,
93
+ // so the graph name is inlined as a SQL literal. Constructor
94
+ // validation ensures graphName matches /^[A-Za-z0-9_]+$/.
83
95
  const graphCheck = await client.query(`SELECT 1 FROM ag_catalog.ag_graph WHERE name = $1`, [this.graphName]);
84
96
  if (graphCheck.rows.length === 0) {
85
- await client.query(`SELECT create_graph($1)`, [this.graphName]);
97
+ await client.query(`SELECT create_graph(${this.quoteSqlLiteral(this.graphName)})`);
86
98
  }
87
99
  }
88
100
  catch {
@@ -147,36 +159,19 @@ export class PostgreSQLDatabaseAdapter {
147
159
  ON CONFLICT (subtree_id) DO UPDATE SET yjs_state = $2, updated_at = now()`, [subtreeId, Buffer.from(yjsState)]);
148
160
  }
149
161
  async addGraphEdge(source, label, target) {
150
- const client = await this.pool.connect();
151
- try {
152
- await client.query(`LOAD 'age'`);
153
- await client.query(`SET search_path = ag_catalog, "$user", public`);
154
- // Ensure vertex label exists, create source/target vertices, add edge
155
- const safeLabel = label.replace(/[^a-zA-Z0-9_]/g, '_');
156
- await client.query(`SELECT * FROM cypher($1, $$
157
- MERGE (s:Node {id: '${this.escapeAg(source)}'})
158
- MERGE (t:Node {id: '${this.escapeAg(target)}'})
159
- MERGE (s)-[:${safeLabel}]->(t)
160
- $$) AS (v agtype)`, [this.graphName]);
161
- }
162
- finally {
163
- client.release();
164
- }
162
+ const safeLabel = label.replace(/[^a-zA-Z0-9_]/g, '_');
163
+ await this.runCypher(`
164
+ MERGE (s:Node {id: '${this.escapeAg(source)}'})
165
+ MERGE (t:Node {id: '${this.escapeAg(target)}'})
166
+ MERGE (s)-[:${safeLabel}]->(t)
167
+ `);
165
168
  }
166
169
  async removeGraphEdge(source, label, target) {
167
- const client = await this.pool.connect();
168
- try {
169
- await client.query(`LOAD 'age'`);
170
- await client.query(`SET search_path = ag_catalog, "$user", public`);
171
- const safeLabel = label.replace(/[^a-zA-Z0-9_]/g, '_');
172
- await client.query(`SELECT * FROM cypher($1, $$
173
- MATCH (s:Node {id: '${this.escapeAg(source)}'})-[e:${safeLabel}]->(t:Node {id: '${this.escapeAg(target)}'})
174
- DELETE e
175
- $$) AS (v agtype)`, [this.graphName]);
176
- }
177
- finally {
178
- client.release();
179
- }
170
+ const safeLabel = label.replace(/[^a-zA-Z0-9_]/g, '_');
171
+ await this.runCypher(`
172
+ MATCH (s:Node {id: '${this.escapeAg(source)}'})-[e:${safeLabel}]->(t:Node {id: '${this.escapeAg(target)}'})
173
+ DELETE e
174
+ `);
180
175
  }
181
176
  async upsertVector(nodeId, subtree, embedding) {
182
177
  const vecStr = `[${embedding.join(',')}]`;
@@ -185,25 +180,17 @@ export class PostgreSQLDatabaseAdapter {
185
180
  ON CONFLICT (node_id) DO UPDATE SET embedding = $3::halfvec, subtree = $2, updated_at = now()`, [nodeId, subtree, vecStr]);
186
181
  }
187
182
  async cypherQuery(query, _params) {
188
- const client = await this.pool.connect();
189
- try {
190
- await client.query(`LOAD 'age'`);
191
- await client.query(`SET search_path = ag_catalog, "$user", public`);
192
- const result = await client.query(`SELECT * FROM cypher($1, $$ ${query} $$) AS (v agtype)`, [this.graphName]);
193
- return result.rows.map((row) => {
194
- const val = row.v;
195
- if (typeof val === 'string') {
196
- try {
197
- return JSON.parse(val);
198
- }
199
- catch { /* fall through */ }
183
+ const result = await this.runCypher(query);
184
+ return result.rows.map((row) => {
185
+ const val = row.v;
186
+ if (typeof val === 'string') {
187
+ try {
188
+ return JSON.parse(val);
200
189
  }
201
- return { v: val };
202
- });
203
- }
204
- finally {
205
- client.release();
206
- }
190
+ catch { /* fall through */ }
191
+ }
192
+ return { v: val };
193
+ });
207
194
  }
208
195
  async vectorSearch(embedding, k) {
209
196
  const vecStr = `[${embedding.join(',')}]`;
@@ -246,5 +233,28 @@ export class PostgreSQLDatabaseAdapter {
246
233
  escapeAg(value) {
247
234
  return value.replace(/\\/g, '\\\\').replace(/'/g, "\\'");
248
235
  }
236
+ /** SQL-literal-quote a value for inline use (doubles single quotes). */
237
+ quoteSqlLiteral(value) {
238
+ return `'${value.replace(/'/g, "''")}'`;
239
+ }
240
+ /**
241
+ * Run a cypher block against AGE. Centralises the LOAD/SET ritual and
242
+ * inlines the graph name as a SQL literal — AGE's cypher() rejects the
243
+ * graph name when passed via a bind parameter ("a name constant is
244
+ * expected"). Constructor validation guarantees graphName is identifier-
245
+ * shaped; the literal quote is defence-in-depth.
246
+ */
247
+ async runCypher(cypherText) {
248
+ const client = await this.pool.connect();
249
+ try {
250
+ await client.query(`LOAD 'age'`);
251
+ await client.query(`SET search_path = ag_catalog, "$user", public`);
252
+ const graph = this.quoteSqlLiteral(this.graphName);
253
+ return await client.query(`SELECT * FROM cypher(${graph}, $$ ${cypherText} $$) AS (v agtype)`);
254
+ }
255
+ finally {
256
+ client.release();
257
+ }
258
+ }
249
259
  }
250
260
  //# sourceMappingURL=pg-adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pg-adapter.js","sourceRoot":"","sources":["../../src/server/pg-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AAGpB,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AAGpB,aAAa;AACb,aAAa;AACb,aAAa;AACb,aAAa;AACb,aAAa;AACb,aAAa;AACb,MAAM,OAAO,yBAAyB;IAC5B,IAAI,CAAU;IACd,WAAW,GAAG,KAAK,CAAC;IACpB,SAAS,CAAS;IAClB,UAAU,CAAS;IAE3B,YAAY,MAA2B,EAAE,SAAS,GAAG,QAAQ,EAAE,UAAU,GAAG,GAAG;QAC7E,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACzF,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY;QAChB,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAE7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACzC,IAAI,CAAC;YACH,aAAa;YACb,MAAM,MAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;YACjE,MAAM,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;YAE5D,cAAc;YACd,MAAM,MAAM,CAAC,KAAK,CAAC;;;;;;;OAOlB,CAAC,CAAC;YAEH,MAAM,MAAM,CAAC,KAAK,CAAC;;;;;;;;OAQlB,CAAC,CAAC;YAEH,MAAM,MAAM,CAAC,KAAK,CAAC;;;;;;OAMlB,CAAC,CAAC;YAEH,MAAM,MAAM,CAAC,KAAK,CAAC;;;;8BAIK,IAAI,CAAC,UAAU;;;OAGtC,CAAC,CAAC;YAEH,UAAU;YACV,MAAM,MAAM,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;YACtF,MAAM,MAAM,CAAC,KAAK,CAAC,8EAA8E,CAAC,CAAC;YACnG,MAAM,MAAM,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;YAE1F,yDAAyD;YACzD,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;gBACzD,MAAM,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBACjC,MAAM,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBAEpE,wCAAwC;gBACxC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,KAAK,CACnC,mDAAmD,EACnD,CAAC,IAAI,CAAC,SAAS,CAAC,CACjB,CAAC;gBACF,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACjC,MAAM,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,qEAAqE;YACvE,CAAC;YAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,8DAA8D;IAE9D,KAAK,CAAC,UAAU,CAAC,EAAU,EAAE,OAAe,EAAE,IAA6B;QACzE,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CACnB;;kFAE4E,EAC5E,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACpC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAClC,+DAA+D,EAC/D,CAAC,EAAE,CAAC,CACL,CAAC;QACF,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC;QAC5B,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAY;YACpB,OAAO,EAAE,GAAG,CAAC,OAAiB;YAC9B,IAAI,EAAE,GAAG,CAAC,IAA+B;YACzC,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAoB,CAAC;SAC9C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAgB;QAC9B,MAAM,KAAK,GAAG,OAAO,KAAK,SAAS;YACjC,CAAC,CAAC,gFAAgF;YAClF,CAAC,CAAC,6DAA6D,CAAC;QAClE,MAAM,MAAM,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACpD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC/B,EAAE,EAAE,GAAG,CAAC,EAAY;YACpB,OAAO,EAAE,GAAG,CAAC,OAAiB;YAC9B,IAAI,EAAE,GAAG,CAAC,IAA+B;YACzC,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAoB,CAAC;SAC9C,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAU,EAAE,OAAe,EAAE,IAA6B;QAC5E,wEAAwE;QACxE,wEAAwE;QACxE,wEAAwE;QACxE,sEAAsE;QACtE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAC7E,MAAM,IAAI,SAAS,CACjB,2CAA2C,EAAE,kDAAkD,MAAM,CAAC,OAAO,CAAC,EAAE,CACjH,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CACnB;;4CAEsC,EACtC,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACpC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAU;QAC5B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAClC,iFAAiF,EACjF,CAAC,EAAE,CAAC,CACL,CAAC;QACF,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,WAAqB,EAAE,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,SAAiB,EAAE,QAAoB;QAC7D,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CACnB;;iFAE2E,EAC3E,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CACnC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,KAAa,EAAE,MAAc;QAC9D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACjC,MAAM,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;YAEpE,sEAAsE;YACtE,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;YACvD,MAAM,MAAM,CAAC,KAAK,CAChB;gCACwB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gCACrB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;wBAC7B,SAAS;0BACP,EAClB,CAAC,IAAI,CAAC,SAAS,CAAC,CACjB,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAc,EAAE,KAAa,EAAE,MAAc;QACjE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACjC,MAAM,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;YAEpE,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;YACvD,MAAM,MAAM,CAAC,KAAK,CAChB;gCACwB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,SAAS,oBAAoB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;;0BAEvF,EAClB,CAAC,IAAI,CAAC,SAAS,CAAC,CACjB,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,OAAe,EAAE,SAAmB;QACrE,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QAC1C,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CACnB;;qGAE+F,EAC/F,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAC1B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAa,EAAE,OAAiC;QAChE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACjC,MAAM,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;YAEpE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAC/B,+BAA+B,KAAK,oBAAoB,EACxD,CAAC,IAAI,CAAC,SAAS,CAAC,CACjB,CAAC;YAEF,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC7B,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;gBAClB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;oBAC5B,IAAI,CAAC;wBAAC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;gBACzF,CAAC;gBACD,OAAO,EAAE,CAAC,EAAE,GAAG,EAA6B,CAAC;YAC/C,CAAC,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,SAAmB,EAAE,CAAS;QAC/C,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAClC;;;gBAGU,EACV,CAAC,MAAM,EAAE,CAAC,CAAC,CACZ,CAAC;QAEF,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC/B,MAAM,EAAE,GAAG,CAAC,OAAiB;YAC7B,QAAQ,EAAE,UAAU,CAAC,GAAG,CAAC,QAAkB,CAAC;SAC7C,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,UAAU,CACd,EAAU,EACV,WAAoB;QAEpB,MAAM,KAAK,GAAG,WAAW,KAAK,SAAS;YACrC,CAAC,CAAC,qGAAqG;YACvG,CAAC,CAAC,mFAAmF,CAAC;QAExF,MAAM,MAAM,GAAG,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAEpD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC/B,OAAO,EAAE,GAAG,CAAC,OAAiB;YAC9B,IAAI,EAAE,GAAG,CAAC,IAA+B;YACzC,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAoB,CAAC;SAC9C,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,EAAU,EAAE,SAAe;QACrD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAClC;;;eAGS,EACT,CAAC,EAAE,EAAE,SAAS,CAAC,CAChB,CAAC;QAEF,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1C,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAA+B,CAAC;IACzD,CAAC;IAED,8DAA8D;IAE9D,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IACxB,CAAC;IAED,8DAA8D;IAE9D,0DAA0D;IAClD,QAAQ,CAAC,KAAa;QAC5B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC;CACF"}
1
+ {"version":3,"file":"pg-adapter.js","sourceRoot":"","sources":["../../src/server/pg-adapter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sietch",
3
- "version": "0.10.0",
3
+ "version": "0.10.1",
4
4
  "description": "Offline-first database with CRDT sync, post-quantum encryption, and per-subtree ACL",
5
5
  "keywords": [
6
6
  "offline-first",