@agentuity/postgres 1.0.14 → 1.0.16
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.
- package/dist/client.d.ts +68 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +173 -0
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/mutation.d.ts +42 -0
- package/dist/mutation.d.ts.map +1 -0
- package/dist/mutation.js +241 -0
- package/dist/mutation.js.map +1 -0
- package/dist/types.d.ts +76 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/client.ts +197 -1
- package/src/index.ts +9 -1
- package/src/mutation.ts +245 -0
- package/src/types.ts +83 -2
package/dist/client.d.ts
CHANGED
|
@@ -1,6 +1,26 @@
|
|
|
1
1
|
import { SQL as BunSQL, type SQLQuery } from 'bun';
|
|
2
|
-
import type { PostgresConfig, ConnectionStats, TransactionOptions, ReserveOptions } from './types';
|
|
2
|
+
import type { PostgresConfig, ConnectionStats, TransactionOptions, ReserveOptions, UnsafeQueryResult } from './types';
|
|
3
3
|
import { Transaction, ReservedConnection } from './transaction';
|
|
4
|
+
/**
|
|
5
|
+
* Creates a lazy thenable with format locking for safe query execution.
|
|
6
|
+
*
|
|
7
|
+
* The returned object implements the {@link UnsafeQueryResult} interface: it is
|
|
8
|
+
* thenable (`.then()`, `.catch()`, `.finally()`) and exposes a `.values()`
|
|
9
|
+
* method for array-format results. Execution is deferred until the first
|
|
10
|
+
* consumption method is called.
|
|
11
|
+
*
|
|
12
|
+
* **Format locking:** The first access (`.then()` or `.values()`) determines
|
|
13
|
+
* the result format for the lifetime of the thenable. Attempting the other
|
|
14
|
+
* format afterwards throws an error, preventing accidental duplicate execution.
|
|
15
|
+
*
|
|
16
|
+
* @param makeExecutor - Factory that creates the execution promise.
|
|
17
|
+
* Called with `true` for array format (`.values()`) or `false` for row-object
|
|
18
|
+
* format (`.then()`).
|
|
19
|
+
* @returns A lazy thenable with `.values()` support
|
|
20
|
+
*
|
|
21
|
+
* @internal Exported for use by `@agentuity/drizzle` — not part of the public API.
|
|
22
|
+
*/
|
|
23
|
+
export declare function createThenable(makeExecutor: (useValues: boolean) => Promise<unknown>): UnsafeQueryResult;
|
|
4
24
|
/**
|
|
5
25
|
* A resilient PostgreSQL client with automatic reconnection.
|
|
6
26
|
*
|
|
@@ -138,6 +158,52 @@ export declare class PostgresClient {
|
|
|
138
158
|
* @param query - The raw SQL query string
|
|
139
159
|
*/
|
|
140
160
|
unsafe(query: string): SQLQuery;
|
|
161
|
+
/**
|
|
162
|
+
* Execute a raw SQL query with automatic retry and transaction wrapping for mutations.
|
|
163
|
+
*
|
|
164
|
+
* Unlike {@link unsafe}, this method:
|
|
165
|
+
* - Automatically retries on retryable errors (connection drops, resets)
|
|
166
|
+
* - Wraps mutation statements in transactions for safe retry
|
|
167
|
+
* - Returns a thenable with `.values()` support matching Bun's SQLQuery interface
|
|
168
|
+
*
|
|
169
|
+
* Detected mutation types: INSERT, UPDATE, DELETE, COPY, TRUNCATE, MERGE, CALL, DO.
|
|
170
|
+
* EXPLAIN queries are never wrapped (read-only analysis).
|
|
171
|
+
*
|
|
172
|
+
* For SELECT queries, retries without transaction wrapping (idempotent).
|
|
173
|
+
* For mutations, wraps in BEGIN/COMMIT so PostgreSQL auto-rolls back
|
|
174
|
+
* uncommitted transactions on connection drop, making retry safe.
|
|
175
|
+
*
|
|
176
|
+
* **⚠️ COMMIT Uncertainty Window:**
|
|
177
|
+
* If the connection drops after the server processes COMMIT but before the client
|
|
178
|
+
* receives confirmation (~<1ms window), changes ARE committed but the client sees
|
|
179
|
+
* a failure. Retry will then duplicate the mutation. This is an inherent limitation
|
|
180
|
+
* of retry-based approaches. Use application-level idempotency (e.g., unique
|
|
181
|
+
* constraints with ON CONFLICT) for critical operations.
|
|
182
|
+
*
|
|
183
|
+
* **⚠️ Result Format Locking:**
|
|
184
|
+
* Each unsafeQuery() result can only be consumed via ONE access pattern — either
|
|
185
|
+
* `await result` (row objects) or `await result.values()` (arrays), not both.
|
|
186
|
+
* Attempting the second pattern throws an error to prevent accidental duplicate execution.
|
|
187
|
+
*
|
|
188
|
+
* @param query - The raw SQL query string
|
|
189
|
+
* @param params - Optional query parameters
|
|
190
|
+
* @returns A thenable that resolves to rows (objects) or arrays via `.values()`
|
|
191
|
+
*
|
|
192
|
+
* @see https://github.com/agentuity/sdk/issues/911
|
|
193
|
+
*
|
|
194
|
+
* @example
|
|
195
|
+
* ```typescript
|
|
196
|
+
* // INSERT with safe retry
|
|
197
|
+
* const rows = await client.unsafeQuery('INSERT INTO items (name) VALUES ($1) RETURNING *', ['test']);
|
|
198
|
+
*
|
|
199
|
+
* // SELECT with retry (no transaction overhead)
|
|
200
|
+
* const items = await client.unsafeQuery('SELECT * FROM items WHERE id = $1', [42]);
|
|
201
|
+
*
|
|
202
|
+
* // Get raw arrays via .values()
|
|
203
|
+
* const arrays = await client.unsafeQuery('SELECT id, name FROM items').values();
|
|
204
|
+
* ```
|
|
205
|
+
*/
|
|
206
|
+
unsafeQuery(query: string, params?: unknown[]): UnsafeQueryResult;
|
|
141
207
|
/**
|
|
142
208
|
* Registers signal handlers to detect application shutdown.
|
|
143
209
|
* When shutdown is detected, reconnection is disabled.
|
|
@@ -223,6 +289,7 @@ export declare class PostgresClient {
|
|
|
223
289
|
*/
|
|
224
290
|
export type CallablePostgresClient = PostgresClient & {
|
|
225
291
|
(strings: TemplateStringsArray, ...values: unknown[]): Promise<unknown[]>;
|
|
292
|
+
unsafeQuery(query: string, params?: unknown[]): UnsafeQueryResult;
|
|
226
293
|
};
|
|
227
294
|
/**
|
|
228
295
|
* Creates a PostgresClient that can be called as a tagged template literal.
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,IAAI,MAAM,EAAE,KAAK,QAAQ,EAAY,MAAM,KAAK,CAAC;AAC7D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -4,6 +4,60 @@ import { computeBackoff, sleep, mergeReconnectConfig } from './reconnect';
|
|
|
4
4
|
import { Transaction } from './transaction';
|
|
5
5
|
import { registerClient, unregisterClient } from './registry';
|
|
6
6
|
import { injectSslMode } from './tls';
|
|
7
|
+
import { isMutationStatement } from './mutation';
|
|
8
|
+
/**
|
|
9
|
+
* Creates a lazy thenable with format locking for safe query execution.
|
|
10
|
+
*
|
|
11
|
+
* The returned object implements the {@link UnsafeQueryResult} interface: it is
|
|
12
|
+
* thenable (`.then()`, `.catch()`, `.finally()`) and exposes a `.values()`
|
|
13
|
+
* method for array-format results. Execution is deferred until the first
|
|
14
|
+
* consumption method is called.
|
|
15
|
+
*
|
|
16
|
+
* **Format locking:** The first access (`.then()` or `.values()`) determines
|
|
17
|
+
* the result format for the lifetime of the thenable. Attempting the other
|
|
18
|
+
* format afterwards throws an error, preventing accidental duplicate execution.
|
|
19
|
+
*
|
|
20
|
+
* @param makeExecutor - Factory that creates the execution promise.
|
|
21
|
+
* Called with `true` for array format (`.values()`) or `false` for row-object
|
|
22
|
+
* format (`.then()`).
|
|
23
|
+
* @returns A lazy thenable with `.values()` support
|
|
24
|
+
*
|
|
25
|
+
* @internal Exported for use by `@agentuity/drizzle` — not part of the public API.
|
|
26
|
+
*/
|
|
27
|
+
export function createThenable(makeExecutor) {
|
|
28
|
+
let started = null;
|
|
29
|
+
let executionMode = null; // tracks useValues for first call
|
|
30
|
+
const startExecution = (useValues) => {
|
|
31
|
+
if (started) {
|
|
32
|
+
if (executionMode !== useValues) {
|
|
33
|
+
throw new Error(`Cannot access .${useValues ? 'values()' : 'then()'} after .${!useValues ? 'values()' : 'then()'} ` +
|
|
34
|
+
'on the same query result. The result format is locked to the first access mode ' +
|
|
35
|
+
'to prevent duplicate query execution. Create a new unsafeQuery() call for a different format.');
|
|
36
|
+
}
|
|
37
|
+
return started;
|
|
38
|
+
}
|
|
39
|
+
executionMode = useValues;
|
|
40
|
+
started = makeExecutor(useValues);
|
|
41
|
+
return started;
|
|
42
|
+
};
|
|
43
|
+
return new Proxy({}, {
|
|
44
|
+
get(_target, prop) {
|
|
45
|
+
if (prop === 'then') {
|
|
46
|
+
return (onfulfilled, onrejected) => startExecution(false).then(onfulfilled, onrejected);
|
|
47
|
+
}
|
|
48
|
+
if (prop === 'catch') {
|
|
49
|
+
return (onrejected) => startExecution(false).catch(onrejected);
|
|
50
|
+
}
|
|
51
|
+
if (prop === 'finally') {
|
|
52
|
+
return (onfinally) => startExecution(false).finally(onfinally ?? undefined);
|
|
53
|
+
}
|
|
54
|
+
if (prop === 'values') {
|
|
55
|
+
return () => startExecution(true);
|
|
56
|
+
}
|
|
57
|
+
return undefined;
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
}
|
|
7
61
|
/**
|
|
8
62
|
* A resilient PostgreSQL client with automatic reconnection.
|
|
9
63
|
*
|
|
@@ -124,8 +178,30 @@ export class PostgresClient {
|
|
|
124
178
|
* ```
|
|
125
179
|
*/
|
|
126
180
|
query(strings, ...values) {
|
|
181
|
+
// Reconstruct query shape for mutation detection.
|
|
182
|
+
// Space as separator is safe — doesn't affect SQL keyword detection.
|
|
183
|
+
const queryShape = strings.join(' ');
|
|
184
|
+
const mutation = isMutationStatement(queryShape);
|
|
127
185
|
return this._executeWithRetry(async () => {
|
|
128
186
|
const sql = await this._ensureConnectedAsync();
|
|
187
|
+
if (mutation) {
|
|
188
|
+
await sql.unsafe('BEGIN');
|
|
189
|
+
try {
|
|
190
|
+
const result = await sql(strings, ...values);
|
|
191
|
+
await sql.unsafe('COMMIT');
|
|
192
|
+
return result;
|
|
193
|
+
}
|
|
194
|
+
catch (error) {
|
|
195
|
+
try {
|
|
196
|
+
await sql.unsafe('ROLLBACK');
|
|
197
|
+
}
|
|
198
|
+
catch {
|
|
199
|
+
// Connection may already be dead; Postgres auto-rolls
|
|
200
|
+
// back uncommitted transactions on connection close.
|
|
201
|
+
}
|
|
202
|
+
throw error;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
129
205
|
return sql(strings, ...values);
|
|
130
206
|
});
|
|
131
207
|
}
|
|
@@ -238,6 +314,83 @@ export class PostgresClient {
|
|
|
238
314
|
const sql = this._ensureConnected();
|
|
239
315
|
return sql.unsafe(query);
|
|
240
316
|
}
|
|
317
|
+
/**
|
|
318
|
+
* Execute a raw SQL query with automatic retry and transaction wrapping for mutations.
|
|
319
|
+
*
|
|
320
|
+
* Unlike {@link unsafe}, this method:
|
|
321
|
+
* - Automatically retries on retryable errors (connection drops, resets)
|
|
322
|
+
* - Wraps mutation statements in transactions for safe retry
|
|
323
|
+
* - Returns a thenable with `.values()` support matching Bun's SQLQuery interface
|
|
324
|
+
*
|
|
325
|
+
* Detected mutation types: INSERT, UPDATE, DELETE, COPY, TRUNCATE, MERGE, CALL, DO.
|
|
326
|
+
* EXPLAIN queries are never wrapped (read-only analysis).
|
|
327
|
+
*
|
|
328
|
+
* For SELECT queries, retries without transaction wrapping (idempotent).
|
|
329
|
+
* For mutations, wraps in BEGIN/COMMIT so PostgreSQL auto-rolls back
|
|
330
|
+
* uncommitted transactions on connection drop, making retry safe.
|
|
331
|
+
*
|
|
332
|
+
* **⚠️ COMMIT Uncertainty Window:**
|
|
333
|
+
* If the connection drops after the server processes COMMIT but before the client
|
|
334
|
+
* receives confirmation (~<1ms window), changes ARE committed but the client sees
|
|
335
|
+
* a failure. Retry will then duplicate the mutation. This is an inherent limitation
|
|
336
|
+
* of retry-based approaches. Use application-level idempotency (e.g., unique
|
|
337
|
+
* constraints with ON CONFLICT) for critical operations.
|
|
338
|
+
*
|
|
339
|
+
* **⚠️ Result Format Locking:**
|
|
340
|
+
* Each unsafeQuery() result can only be consumed via ONE access pattern — either
|
|
341
|
+
* `await result` (row objects) or `await result.values()` (arrays), not both.
|
|
342
|
+
* Attempting the second pattern throws an error to prevent accidental duplicate execution.
|
|
343
|
+
*
|
|
344
|
+
* @param query - The raw SQL query string
|
|
345
|
+
* @param params - Optional query parameters
|
|
346
|
+
* @returns A thenable that resolves to rows (objects) or arrays via `.values()`
|
|
347
|
+
*
|
|
348
|
+
* @see https://github.com/agentuity/sdk/issues/911
|
|
349
|
+
*
|
|
350
|
+
* @example
|
|
351
|
+
* ```typescript
|
|
352
|
+
* // INSERT with safe retry
|
|
353
|
+
* const rows = await client.unsafeQuery('INSERT INTO items (name) VALUES ($1) RETURNING *', ['test']);
|
|
354
|
+
*
|
|
355
|
+
* // SELECT with retry (no transaction overhead)
|
|
356
|
+
* const items = await client.unsafeQuery('SELECT * FROM items WHERE id = $1', [42]);
|
|
357
|
+
*
|
|
358
|
+
* // Get raw arrays via .values()
|
|
359
|
+
* const arrays = await client.unsafeQuery('SELECT id, name FROM items').values();
|
|
360
|
+
* ```
|
|
361
|
+
*/
|
|
362
|
+
unsafeQuery(query, params) {
|
|
363
|
+
if (isMutationStatement(query)) {
|
|
364
|
+
const makeTransactionalExecutor = (useValues) => this._executeWithRetry(async () => {
|
|
365
|
+
const raw = this._ensureConnected();
|
|
366
|
+
await raw.unsafe('BEGIN');
|
|
367
|
+
try {
|
|
368
|
+
const q = params ? raw.unsafe(query, params) : raw.unsafe(query);
|
|
369
|
+
const result = useValues ? await q.values() : await q;
|
|
370
|
+
await raw.unsafe('COMMIT');
|
|
371
|
+
return result;
|
|
372
|
+
}
|
|
373
|
+
catch (error) {
|
|
374
|
+
try {
|
|
375
|
+
await raw.unsafe('ROLLBACK');
|
|
376
|
+
}
|
|
377
|
+
catch {
|
|
378
|
+
// Connection may already be dead; Postgres auto-rolls
|
|
379
|
+
// back uncommitted transactions on connection close.
|
|
380
|
+
}
|
|
381
|
+
throw error;
|
|
382
|
+
}
|
|
383
|
+
});
|
|
384
|
+
return createThenable(makeTransactionalExecutor);
|
|
385
|
+
}
|
|
386
|
+
// Non-mutation: plain retry without transaction overhead
|
|
387
|
+
const makeExecutor = (useValues) => this._executeWithRetry(async () => {
|
|
388
|
+
const raw = this._ensureConnected();
|
|
389
|
+
const q = params ? raw.unsafe(query, params) : raw.unsafe(query);
|
|
390
|
+
return useValues ? q.values() : q;
|
|
391
|
+
});
|
|
392
|
+
return createThenable(makeExecutor);
|
|
393
|
+
}
|
|
241
394
|
/**
|
|
242
395
|
* Registers signal handlers to detect application shutdown.
|
|
243
396
|
* When shutdown is detected, reconnection is disabled.
|
|
@@ -292,12 +445,16 @@ export class PostgresClient {
|
|
|
292
445
|
bunOptions.password = this._config.password;
|
|
293
446
|
if (this._config.database)
|
|
294
447
|
bunOptions.database = this._config.database;
|
|
448
|
+
if (this._config.path)
|
|
449
|
+
bunOptions.path = this._config.path;
|
|
295
450
|
if (this._config.max)
|
|
296
451
|
bunOptions.max = this._config.max;
|
|
297
452
|
if (this._config.idleTimeout !== undefined)
|
|
298
453
|
bunOptions.idleTimeout = this._config.idleTimeout;
|
|
299
454
|
if (this._config.connectionTimeout !== undefined)
|
|
300
455
|
bunOptions.connectionTimeout = this._config.connectionTimeout;
|
|
456
|
+
if (this._config.maxLifetime !== undefined)
|
|
457
|
+
bunOptions.maxLifetime = this._config.maxLifetime;
|
|
301
458
|
// Handle TLS configuration
|
|
302
459
|
if (this._config.tls !== undefined) {
|
|
303
460
|
if (typeof this._config.tls === 'boolean') {
|
|
@@ -307,6 +464,21 @@ export class PostgresClient {
|
|
|
307
464
|
bunOptions.tls = this._config.tls;
|
|
308
465
|
}
|
|
309
466
|
}
|
|
467
|
+
// Postgres client runtime configuration (search_path, statement_timeout, etc.)
|
|
468
|
+
if (this._config.connection)
|
|
469
|
+
bunOptions.connection = this._config.connection;
|
|
470
|
+
// Default to unnamed prepared statements (prepare: false) to prevent
|
|
471
|
+
// "prepared statement did not exist" errors when backend connections
|
|
472
|
+
// rotate (e.g., connection poolers, hot reloads, server restarts).
|
|
473
|
+
// See: https://github.com/agentuity/sdk/issues/1005
|
|
474
|
+
bunOptions.prepare = this._config.prepare ?? false;
|
|
475
|
+
// BigInt handling for integers outside i32 range
|
|
476
|
+
if (this._config.bigint !== undefined)
|
|
477
|
+
bunOptions.bigint = this._config.bigint;
|
|
478
|
+
// Set up onconnect handler
|
|
479
|
+
if (this._config.onconnect) {
|
|
480
|
+
bunOptions.onconnect = this._config.onconnect;
|
|
481
|
+
}
|
|
310
482
|
// Set up onclose handler for reconnection
|
|
311
483
|
bunOptions.onclose = (err) => {
|
|
312
484
|
this._handleClose(err ?? undefined);
|
|
@@ -682,6 +854,7 @@ export function createCallableClient(config) {
|
|
|
682
854
|
callable.close = client.close.bind(client);
|
|
683
855
|
callable.shutdown = client.shutdown.bind(client);
|
|
684
856
|
callable.unsafe = client.unsafe.bind(client);
|
|
857
|
+
callable.unsafeQuery = client.unsafeQuery.bind(client);
|
|
685
858
|
callable.waitForConnection = client.waitForConnection.bind(client);
|
|
686
859
|
callable.executeWithRetry = client.executeWithRetry.bind(client);
|
|
687
860
|
return callable;
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -31,11 +31,12 @@
|
|
|
31
31
|
* @packageDocumentation
|
|
32
32
|
*/
|
|
33
33
|
export { postgres, default } from './postgres';
|
|
34
|
-
export { PostgresClient, createCallableClient, type CallablePostgresClient } from './client';
|
|
34
|
+
export { PostgresClient, createCallableClient, createThenable, type CallablePostgresClient, } from './client';
|
|
35
35
|
export { PostgresPool, Pool, createPool } from './pool';
|
|
36
36
|
export { Transaction, Savepoint, ReservedConnection } from './transaction';
|
|
37
37
|
export { patchBunSQL, isPatched, SQL } from './patch';
|
|
38
38
|
export { injectSslMode } from './tls';
|
|
39
|
+
export { isMutationStatement } from './mutation';
|
|
39
40
|
export type { PostgresConfig, ReconnectConfig, ConnectionStats, TLSConfig, TransactionOptions, ReserveOptions, PoolConfig, PoolStats, PoolSSLConfig, } from './types';
|
|
40
41
|
export { PostgresError, ConnectionClosedError, ReconnectFailedError, QueryTimeoutError, TransactionError, UnsupportedOperationError, isRetryableError, } from './errors';
|
|
41
42
|
export { computeBackoff, sleep, mergeReconnectConfig, DEFAULT_RECONNECT_CONFIG } from './reconnect';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAGH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG/C,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAGH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG/C,OAAO,EACN,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,KAAK,sBAAsB,GAC3B,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAGxD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAG3E,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAGtD,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGjD,YAAY,EACX,cAAc,EACd,eAAe,EACf,eAAe,EACf,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,SAAS,EACT,aAAa,GACb,MAAM,SAAS,CAAC;AAGjB,OAAO,EACN,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,yBAAyB,EACzB,gBAAgB,GAChB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAGpG,OAAO,EACN,WAAW,EACX,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,KAAK,WAAW,GAChB,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
// Main factory function
|
|
34
34
|
export { postgres, default } from './postgres';
|
|
35
35
|
// Client class for advanced usage
|
|
36
|
-
export { PostgresClient, createCallableClient } from './client';
|
|
36
|
+
export { PostgresClient, createCallableClient, createThenable, } from './client';
|
|
37
37
|
// Pool class for pg.Pool-based connections
|
|
38
38
|
export { PostgresPool, Pool, createPool } from './pool';
|
|
39
39
|
// Transaction and reserved connection classes
|
|
@@ -42,6 +42,8 @@ export { Transaction, Savepoint, ReservedConnection } from './transaction';
|
|
|
42
42
|
export { patchBunSQL, isPatched, SQL } from './patch';
|
|
43
43
|
// TLS utilities
|
|
44
44
|
export { injectSslMode } from './tls';
|
|
45
|
+
// Mutation detection utility
|
|
46
|
+
export { isMutationStatement } from './mutation';
|
|
45
47
|
// Errors
|
|
46
48
|
export { PostgresError, ConnectionClosedError, ReconnectFailedError, QueryTimeoutError, TransactionError, UnsupportedOperationError, isRetryableError, } from './errors';
|
|
47
49
|
// Reconnection utilities
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,wBAAwB;AACxB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE/C,kCAAkC;AAClC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,wBAAwB;AACxB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE/C,kCAAkC;AAClC,OAAO,EACN,cAAc,EACd,oBAAoB,EACpB,cAAc,GAEd,MAAM,UAAU,CAAC;AAElB,2CAA2C;AAC3C,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAExD,8CAA8C;AAC9C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE3E,gDAAgD;AAChD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAEtD,gBAAgB;AAChB,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,6BAA6B;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAejD,SAAS;AACT,OAAO,EACN,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,yBAAyB,EACzB,gBAAgB,GAChB,MAAM,UAAU,CAAC;AAElB,yBAAyB;AACzB,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAEpG,2CAA2C;AAC3C,OAAO,EACN,WAAW,EACX,cAAc,EACd,UAAU,EACV,gBAAgB,GAEhB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Strips leading whitespace and SQL comments (block and line) from a query string.
|
|
3
|
+
* Returns the remaining query text starting at the first non-comment token.
|
|
4
|
+
*
|
|
5
|
+
* Note: This regex does NOT support nested block comments. Use
|
|
6
|
+
* {@link stripLeadingComments} for full nested comment support.
|
|
7
|
+
*/
|
|
8
|
+
export declare const LEADING_COMMENTS_RE: RegExp;
|
|
9
|
+
/**
|
|
10
|
+
* Determines whether a SQL query is a mutation that requires transaction
|
|
11
|
+
* wrapping for safe retry.
|
|
12
|
+
*
|
|
13
|
+
* Detected mutation types: INSERT, UPDATE, DELETE, COPY, TRUNCATE, MERGE,
|
|
14
|
+
* CALL, DO. EXPLAIN queries are never wrapped (read-only analysis, even
|
|
15
|
+
* when the explained statement is a mutation like `EXPLAIN INSERT INTO ...`).
|
|
16
|
+
*
|
|
17
|
+
* Mutation statements wrapped in a transaction can be safely retried because
|
|
18
|
+
* PostgreSQL guarantees that uncommitted transactions are rolled back when
|
|
19
|
+
* the connection drops. This prevents:
|
|
20
|
+
* - Duplicate rows from retried INSERTs
|
|
21
|
+
* - Double-applied changes from retried UPDATEs (e.g., counter increments)
|
|
22
|
+
* - Repeated side effects from retried DELETEs (e.g., cascade triggers)
|
|
23
|
+
*
|
|
24
|
+
* Handles three patterns:
|
|
25
|
+
* 1. Direct mutations: `INSERT INTO ...`, `UPDATE ... SET`, `DELETE FROM ...`,
|
|
26
|
+
* `COPY ...`, `TRUNCATE ...`, `MERGE ...`, `CALL ...`, `DO ...`
|
|
27
|
+
* (with optional leading comments/whitespace)
|
|
28
|
+
* 2. CTE mutations: `WITH cte AS (...) INSERT|UPDATE|DELETE|... ...` — scans
|
|
29
|
+
* past the WITH clause by tracking parenthesis depth to skip CTE
|
|
30
|
+
* subexpressions, then checks if the first top-level DML keyword is a
|
|
31
|
+
* mutation. The scanner treats single-quoted strings, double-quoted
|
|
32
|
+
* identifiers, dollar-quoted strings, line comments (--), and block
|
|
33
|
+
* comments (including nested) as atomic regions so parentheses inside
|
|
34
|
+
* them do not corrupt depth tracking.
|
|
35
|
+
* 3. Multi-statement queries: `SELECT 1; INSERT INTO items VALUES (1)` —
|
|
36
|
+
* scans past semicolons at depth 0 to find mutation keywords in
|
|
37
|
+
* subsequent statements.
|
|
38
|
+
*
|
|
39
|
+
* @see https://github.com/agentuity/sdk/issues/911
|
|
40
|
+
*/
|
|
41
|
+
export declare function isMutationStatement(query: string): boolean;
|
|
42
|
+
//# sourceMappingURL=mutation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutation.d.ts","sourceRoot":"","sources":["../src/mutation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,QAA0C,CAAC;AAiD3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CA4J1D"}
|