@agentuity/postgres 1.0.15 → 1.0.17

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.
@@ -0,0 +1,241 @@
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 const LEADING_COMMENTS_RE = /^(?:\s+|\/\*[\s\S]*?\*\/|--[^\n]*\n)*/;
9
+ /**
10
+ * Strips leading whitespace and SQL comments from a query string.
11
+ * Supports nested block comments.
12
+ * Returns the remaining query text starting at the first non-comment token.
13
+ */
14
+ function stripLeadingComments(query) {
15
+ let i = 0;
16
+ const len = query.length;
17
+ while (i < len) {
18
+ const ch = query[i];
19
+ // Skip whitespace
20
+ if (ch === ' ' || ch === '\t' || ch === '\n' || ch === '\r') {
21
+ i++;
22
+ continue;
23
+ }
24
+ // Skip line comment: -- ...\n
25
+ if (ch === '-' && i + 1 < len && query[i + 1] === '-') {
26
+ i += 2;
27
+ while (i < len && query[i] !== '\n')
28
+ i++;
29
+ if (i < len)
30
+ i++; // skip newline
31
+ continue;
32
+ }
33
+ // Skip block comment with nesting: /* ... /* ... */ ... */
34
+ if (ch === '/' && i + 1 < len && query[i + 1] === '*') {
35
+ let commentDepth = 1;
36
+ i += 2;
37
+ while (i < len && commentDepth > 0) {
38
+ if (query[i] === '/' && i + 1 < len && query[i + 1] === '*') {
39
+ commentDepth++;
40
+ i += 2;
41
+ }
42
+ else if (query[i] === '*' && i + 1 < len && query[i + 1] === '/') {
43
+ commentDepth--;
44
+ i += 2;
45
+ }
46
+ else {
47
+ i++;
48
+ }
49
+ }
50
+ continue;
51
+ }
52
+ break;
53
+ }
54
+ return query.substring(i);
55
+ }
56
+ /** Regex matching the first keyword of a mutation statement. */
57
+ const MUTATION_KEYWORD_RE = /^(INSERT|UPDATE|DELETE|COPY|TRUNCATE|MERGE|CALL|DO)\b/i;
58
+ /**
59
+ * Determines whether a SQL query is a mutation that requires transaction
60
+ * wrapping for safe retry.
61
+ *
62
+ * Detected mutation types: INSERT, UPDATE, DELETE, COPY, TRUNCATE, MERGE,
63
+ * CALL, DO. EXPLAIN queries are never wrapped (read-only analysis, even
64
+ * when the explained statement is a mutation like `EXPLAIN INSERT INTO ...`).
65
+ *
66
+ * Mutation statements wrapped in a transaction can be safely retried because
67
+ * PostgreSQL guarantees that uncommitted transactions are rolled back when
68
+ * the connection drops. This prevents:
69
+ * - Duplicate rows from retried INSERTs
70
+ * - Double-applied changes from retried UPDATEs (e.g., counter increments)
71
+ * - Repeated side effects from retried DELETEs (e.g., cascade triggers)
72
+ *
73
+ * Handles three patterns:
74
+ * 1. Direct mutations: `INSERT INTO ...`, `UPDATE ... SET`, `DELETE FROM ...`,
75
+ * `COPY ...`, `TRUNCATE ...`, `MERGE ...`, `CALL ...`, `DO ...`
76
+ * (with optional leading comments/whitespace)
77
+ * 2. CTE mutations: `WITH cte AS (...) INSERT|UPDATE|DELETE|... ...` — scans
78
+ * past the WITH clause by tracking parenthesis depth to skip CTE
79
+ * subexpressions, then checks if the first top-level DML keyword is a
80
+ * mutation. The scanner treats single-quoted strings, double-quoted
81
+ * identifiers, dollar-quoted strings, line comments (--), and block
82
+ * comments (including nested) as atomic regions so parentheses inside
83
+ * them do not corrupt depth tracking.
84
+ * 3. Multi-statement queries: `SELECT 1; INSERT INTO items VALUES (1)` —
85
+ * scans past semicolons at depth 0 to find mutation keywords in
86
+ * subsequent statements.
87
+ *
88
+ * @see https://github.com/agentuity/sdk/issues/911
89
+ */
90
+ export function isMutationStatement(query) {
91
+ // Strip leading whitespace and SQL comments (supports nested block comments)
92
+ const stripped = stripLeadingComments(query);
93
+ // EXPLAIN never mutates (even EXPLAIN INSERT INTO...)
94
+ if (/^EXPLAIN\b/i.test(stripped))
95
+ return false;
96
+ // Fast path: direct mutation statement
97
+ if (MUTATION_KEYWORD_RE.test(stripped)) {
98
+ return true;
99
+ }
100
+ // Fast path: no CTE prefix and no multi-statement separator → not a mutation
101
+ if (!/^WITH\s/i.test(stripped) && !stripped.includes(';')) {
102
+ return false;
103
+ }
104
+ // Full scan: walk the entire query character-by-character.
105
+ // Track parenthesis depth and check for mutation keywords at depth 0.
106
+ // This handles both CTE queries (WITH ... AS (...) DML ...) and
107
+ // multi-statement queries (SELECT ...; INSERT ...).
108
+ let depth = 0;
109
+ let i = 0;
110
+ const len = stripped.length;
111
+ while (i < len) {
112
+ const ch = stripped[i];
113
+ // ── Skip atomic regions (at any depth) ──────────────────────
114
+ // These regions may contain parentheses that must not affect depth.
115
+ // Single-quoted string: 'it''s a (test)'
116
+ if (ch === "'") {
117
+ i++;
118
+ while (i < len) {
119
+ if (stripped[i] === "'") {
120
+ i++;
121
+ if (i < len && stripped[i] === "'") {
122
+ i++; // escaped '' → still inside string
123
+ }
124
+ else {
125
+ break; // end of string
126
+ }
127
+ }
128
+ else {
129
+ i++;
130
+ }
131
+ }
132
+ continue;
133
+ }
134
+ // Double-quoted identifier: "col(1)"
135
+ if (ch === '"') {
136
+ i++;
137
+ while (i < len) {
138
+ if (stripped[i] === '"') {
139
+ i++;
140
+ if (i < len && stripped[i] === '"') {
141
+ i++; // escaped "" → still inside identifier
142
+ }
143
+ else {
144
+ break;
145
+ }
146
+ }
147
+ else {
148
+ i++;
149
+ }
150
+ }
151
+ continue;
152
+ }
153
+ // Line comment: -- has (parens)\n
154
+ if (ch === '-' && i + 1 < len && stripped[i + 1] === '-') {
155
+ i += 2;
156
+ while (i < len && stripped[i] !== '\n')
157
+ i++;
158
+ if (i < len)
159
+ i++; // skip newline
160
+ continue;
161
+ }
162
+ // Block comment: /* has (parens) */ — supports nesting
163
+ if (ch === '/' && i + 1 < len && stripped[i + 1] === '*') {
164
+ let commentDepth = 1;
165
+ i += 2;
166
+ while (i < len && commentDepth > 0) {
167
+ if (stripped[i] === '/' && i + 1 < len && stripped[i + 1] === '*') {
168
+ commentDepth++;
169
+ i += 2;
170
+ }
171
+ else if (stripped[i] === '*' && i + 1 < len && stripped[i + 1] === '/') {
172
+ commentDepth--;
173
+ i += 2;
174
+ }
175
+ else {
176
+ i++;
177
+ }
178
+ }
179
+ continue;
180
+ }
181
+ // Dollar-quoted string: $$has (parens)$$ or $tag$...$tag$
182
+ if (ch === '$') {
183
+ let tagEnd = i + 1;
184
+ while (tagEnd < len && /[a-zA-Z0-9_]/.test(stripped[tagEnd]))
185
+ tagEnd++;
186
+ if (tagEnd < len && stripped[tagEnd] === '$') {
187
+ const tag = stripped.substring(i, tagEnd + 1);
188
+ i = tagEnd + 1;
189
+ const closeIdx = stripped.indexOf(tag, i);
190
+ if (closeIdx !== -1) {
191
+ i = closeIdx + tag.length;
192
+ }
193
+ else {
194
+ i = len; // unterminated — skip to end
195
+ }
196
+ continue;
197
+ }
198
+ // Not a dollar-quote tag, fall through
199
+ }
200
+ // ── Track parenthesis depth ─────────────────────────────────
201
+ if (ch === '(') {
202
+ depth++;
203
+ i++;
204
+ continue;
205
+ }
206
+ if (ch === ')') {
207
+ depth--;
208
+ i++;
209
+ continue;
210
+ }
211
+ // Only inspect keywords at top level (depth === 0)
212
+ if (depth === 0) {
213
+ // Skip whitespace at top level
214
+ if (ch === ' ' || ch === '\t' || ch === '\n' || ch === '\r') {
215
+ i++;
216
+ continue;
217
+ }
218
+ // Skip semicolons and commas between CTEs or statements
219
+ if (ch === ';' || ch === ',') {
220
+ i++;
221
+ continue;
222
+ }
223
+ // Check for mutation keyword or skip other words
224
+ // (CTE names, AS, RECURSIVE, SELECT, WITH, etc.)
225
+ if (/\w/.test(ch)) {
226
+ const rest = stripped.substring(i);
227
+ if (MUTATION_KEYWORD_RE.test(rest)) {
228
+ return true;
229
+ }
230
+ // Skip past this word
231
+ while (i < len && /\w/.test(stripped[i])) {
232
+ i++;
233
+ }
234
+ continue;
235
+ }
236
+ }
237
+ i++;
238
+ }
239
+ return false;
240
+ }
241
+ //# sourceMappingURL=mutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutation.js","sourceRoot":"","sources":["../src/mutation.ts"],"names":[],"mappings":"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"}
@@ -71,6 +71,11 @@ export declare class Transaction {
71
71
  * @throws {TransactionError} If the transaction is not active or rollback fails.
72
72
  */
73
73
  rollback(): Promise<void>;
74
+ /**
75
+ * Releases the underlying reserved connection back to the pool.
76
+ * Called automatically on commit or rollback. Safe to call multiple times.
77
+ */
78
+ private _releaseConnection;
74
79
  /**
75
80
  * Ensures the transaction is still active.
76
81
  */
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAGzC;;;;;GAKG;AACH,qBAAa,WAAW;IACvB,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,WAAW,CAAW;IAC9B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,iBAAiB,CAAK;gBAElB,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ;IAK1C;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,OAAO,CAExB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ;IAKpE;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IA2BlD;;;;OAIG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAe7B;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAe/B;;OAEG;IACH,OAAO,CAAC,aAAa;CAcrB;AAED;;GAEG;AACH,qBAAa,SAAS;IACrB,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAS;gBAEhB,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM;IAKlC;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,OAAO,CAExB;IAED;;;;;OAKG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B/B;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAgB9B;AAED;;;;;GAKG;AACH,qBAAa,kBAAkB;IAC9B,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,SAAS,CAAS;gBAEd,GAAG,EAAE,GAAG;IAIpB;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ;IASpE;;OAEG;IACH,OAAO,IAAI,IAAI;CAQf"}
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAGzC;;;;;GAKG;AACH,qBAAa,WAAW;IACvB,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,WAAW,CAAW;IAC9B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,iBAAiB,CAAK;gBAElB,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ;IAK1C;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,OAAO,CAExB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ;IAKpE;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IA2BlD;;;;OAIG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB7B;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB/B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAO1B;;OAEG;IACH,OAAO,CAAC,aAAa;CAcrB;AAED;;GAEG;AACH,qBAAa,SAAS;IACrB,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAS;gBAEhB,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM;IAKlC;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,OAAO,CAExB;IAED;;;;;OAKG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B/B;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAgB9B;AAED;;;;;GAKG;AACH,qBAAa,kBAAkB;IAC9B,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,SAAS,CAAS;gBAEd,GAAG,EAAE,GAAG;IAIpB;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ;IASpE;;OAEG;IACH,OAAO,IAAI,IAAI;CAQf"}
@@ -112,6 +112,9 @@ export class Transaction {
112
112
  cause: error,
113
113
  });
114
114
  }
115
+ finally {
116
+ this._releaseConnection();
117
+ }
115
118
  }
116
119
  /**
117
120
  * Rollback the transaction.
@@ -131,6 +134,19 @@ export class Transaction {
131
134
  cause: error,
132
135
  });
133
136
  }
137
+ finally {
138
+ this._releaseConnection();
139
+ }
140
+ }
141
+ /**
142
+ * Releases the underlying reserved connection back to the pool.
143
+ * Called automatically on commit or rollback. Safe to call multiple times.
144
+ */
145
+ _releaseConnection() {
146
+ const sql = this._sql;
147
+ if (typeof sql.release === 'function') {
148
+ sql.release();
149
+ }
134
150
  }
135
151
  /**
136
152
  * Ensures the transaction is still active.
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,4 +1,10 @@
1
1
  import type pg from 'pg';
2
+ export type UnsafeQueryResult = {
3
+ then: Promise<unknown>['then'];
4
+ catch: Promise<unknown>['catch'];
5
+ finally: Promise<unknown>['finally'];
6
+ values: () => Promise<unknown>;
7
+ };
2
8
  /**
3
9
  * TLS configuration options for PostgreSQL connections.
4
10
  */
@@ -125,17 +131,46 @@ export interface PostgresConfig {
125
131
  */
126
132
  username?: string;
127
133
  /**
128
- * Database password.
134
+ * Database password for authentication.
135
+ * Can be a string or a function that returns the password (sync or async).
136
+ * Using a function enables rotating credentials (e.g., AWS RDS IAM tokens,
137
+ * GCP Cloud SQL IAM authentication).
129
138
  */
130
- password?: string;
139
+ password?: string | (() => string | Promise<string>);
131
140
  /**
132
141
  * Database name.
133
142
  */
134
143
  database?: string;
144
+ /**
145
+ * Unix domain socket path for local PostgreSQL connections.
146
+ * Alternative to hostname/port for same-machine connections.
147
+ *
148
+ * @example '/var/run/postgresql/.s.PGSQL.5432'
149
+ */
150
+ path?: string;
135
151
  /**
136
152
  * TLS configuration.
137
153
  */
138
154
  tls?: TLSConfig | boolean;
155
+ /**
156
+ * PostgreSQL client runtime configuration parameters sent during
157
+ * connection startup.
158
+ *
159
+ * These correspond to PostgreSQL runtime configuration settings.
160
+ *
161
+ * @see https://www.postgresql.org/docs/current/runtime-config-client.html
162
+ *
163
+ * @example
164
+ * ```typescript
165
+ * {
166
+ * search_path: 'myapp,public',
167
+ * statement_timeout: '30s',
168
+ * application_name: 'my-service',
169
+ * timezone: 'UTC',
170
+ * }
171
+ * ```
172
+ */
173
+ connection?: Record<string, string | boolean | number>;
139
174
  /**
140
175
  * Maximum number of connections in the pool.
141
176
  * @default 10
@@ -151,6 +186,40 @@ export interface PostgresConfig {
151
186
  * @default 0 (no timeout)
152
187
  */
153
188
  idleTimeout?: number;
189
+ /**
190
+ * Maximum lifetime of a connection in seconds.
191
+ * After this time, the connection is closed and a new one is created.
192
+ * Set to `0` for no maximum lifetime.
193
+ *
194
+ * This is useful in pooled environments to prevent stale connections
195
+ * and coordinate with connection pooler behavior.
196
+ *
197
+ * @default 0 (no maximum lifetime)
198
+ */
199
+ maxLifetime?: number;
200
+ /**
201
+ * Whether to use named prepared statements.
202
+ *
203
+ * When `true`, Bun's SQL driver caches named prepared statements on the
204
+ * server for better performance with repeated queries.
205
+ *
206
+ * When `false`, queries use unnamed prepared statements that are parsed
207
+ * fresh each time. This is required when using connection poolers like
208
+ * PGBouncer (in transaction mode) or Supavisor, where the backend
209
+ * connection may change between queries, invalidating cached statements.
210
+ *
211
+ * @default false
212
+ */
213
+ prepare?: boolean;
214
+ /**
215
+ * Whether to return large integers as BigInt instead of strings.
216
+ *
217
+ * When `true`, integers outside the i32 range are returned as `BigInt`.
218
+ * When `false`, they are returned as strings.
219
+ *
220
+ * @default false
221
+ */
222
+ bigint?: boolean;
154
223
  /**
155
224
  * Reconnection configuration.
156
225
  */
@@ -167,6 +236,11 @@ export interface PostgresConfig {
167
236
  * @default false
168
237
  */
169
238
  preconnect?: boolean;
239
+ /**
240
+ * Callback invoked when a connection attempt completes.
241
+ * Receives an Error on failure, or null on success.
242
+ */
243
+ onconnect?: (error: Error | null) => void;
170
244
  /**
171
245
  * Callback invoked when the connection is closed.
172
246
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentuity/postgres",
3
- "version": "1.0.15",
3
+ "version": "1.0.17",
4
4
  "license": "Apache-2.0",
5
5
  "author": "Agentuity employees and contributors",
6
6
  "type": "module",
@@ -31,11 +31,11 @@
31
31
  "prepublishOnly": "bun run clean && bun run build"
32
32
  },
33
33
  "dependencies": {
34
- "@agentuity/core": "1.0.15",
34
+ "@agentuity/core": "1.0.17",
35
35
  "pg": "^8.13.1"
36
36
  },
37
37
  "peerDependencies": {
38
- "@agentuity/runtime": "1.0.15"
38
+ "@agentuity/runtime": "1.0.17"
39
39
  },
40
40
  "peerDependenciesMeta": {
41
41
  "@agentuity/runtime": {
@@ -43,8 +43,8 @@
43
43
  }
44
44
  },
45
45
  "devDependencies": {
46
- "@agentuity/runtime": "1.0.15",
47
- "@agentuity/test-utils": "1.0.15",
46
+ "@agentuity/runtime": "1.0.17",
47
+ "@agentuity/test-utils": "1.0.17",
48
48
  "@types/bun": "latest",
49
49
  "@types/pg": "^8.11.14",
50
50
  "bun-types": "latest",