@venturekit/data 0.0.0-dev.20260721010452 → 0.0.0-dev.20260721112635

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.
@@ -15,6 +15,8 @@
15
15
  * - DB_SSL_INSECURE ("true" to skip certificate verification — NOT recommended)
16
16
  * - DB_POOL_MAX (default 10)
17
17
  * - DB_CONNECT_TIMEOUT_MS (default 5000)
18
+ * - DB_QUERY_TIMEOUT_MS (client-side per-query ceiling; default 0 = disabled)
19
+ * - DB_KEEPALIVE_INITIAL_DELAY_MS (TCP keepalive first-probe delay; default 10000)
18
20
  *
19
21
  * The connection-timeout default is intentionally well below the 10 s
20
22
  * Lambda timeout used by the `nano` / `micro` presets: an unreachable
@@ -31,6 +33,44 @@ import { Pool, type PoolConfig } from 'pg';
31
33
  * to RDS Postgres) don't get false-positive aborts.
32
34
  */
33
35
  export declare const DEFAULT_CONNECT_TIMEOUT_MS = 5000;
36
+ /**
37
+ * Default `pg.Client#query_timeout` — a CLIENT-side per-query ceiling, in ms.
38
+ *
39
+ * `0` (the default) leaves it disabled, preserving pre-existing behavior.
40
+ * Unlike a server-side `statement_timeout`, a client-side timeout fires
41
+ * even when the TCP connection is a black hole — the server never receives
42
+ * the query and so can never cancel it. That is exactly the failure mode of
43
+ * a pooled connection reused after a Lambda freeze/thaw, where the socket
44
+ * died mid-freeze: without a client ceiling the query hangs until the OS TCP
45
+ * retransmit budget is exhausted (minutes), which is how a fire-and-forget
46
+ * write can surface as a ~300 s "connection timeout".
47
+ *
48
+ * It is pool-wide (inherited by every pooled client, transaction clients
49
+ * included), so it is DISABLED by default and must be opted into via
50
+ * `DB_QUERY_TIMEOUT_MS` on runtime Lambdas ONLY — never in the migration
51
+ * runner, whose long index builds run with `statementTimeoutMs: 0` and would
52
+ * be aborted client-side by it.
53
+ */
54
+ export declare const DEFAULT_QUERY_TIMEOUT_MS = 0;
55
+ /**
56
+ * Resolve the client-side `query_timeout` (ms) from `DB_QUERY_TIMEOUT_MS`.
57
+ * Falls back to the (disabled) default on unset / non-finite / negative
58
+ * values, matching `resolveConnectionTimeoutMs`. Exported for the unit tests.
59
+ */
60
+ export declare function resolveQueryTimeoutMs(): number;
61
+ /**
62
+ * Default TCP-keepalive first-probe delay (ms). `keepAlive` is enabled
63
+ * unconditionally on the pool so a peer that vanished while the socket sat
64
+ * idle (e.g. an RDS connection dropped during a Lambda freeze) is detected
65
+ * by the OS rather than lingering as a half-open connection. This value maps
66
+ * to TCP_KEEPIDLE — how long the socket is idle before the first probe.
67
+ */
68
+ export declare const DEFAULT_KEEPALIVE_INITIAL_DELAY_MS = 10000;
69
+ /**
70
+ * Resolve the TCP-keepalive first-probe delay (ms) from
71
+ * `DB_KEEPALIVE_INITIAL_DELAY_MS`. Exported for the unit tests.
72
+ */
73
+ export declare function resolveKeepAliveInitialDelayMs(): number;
34
74
  /**
35
75
  * Bridge `DATABASE_URL` into the granular `DB_*` slots `getPool()` reads.
36
76
  * Idempotent — only fills slots that aren't already set, so the granular
@@ -1 +1 @@
1
- {"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../src/query/pool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,IAAI,EAAE,KAAK,UAAU,EAAE,MAAM,IAAI,CAAC;AAM3C;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,OAAQ,CAAC;AAShD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAoC5C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAG3D;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACvB,IAAI,EAAE,KAAK,GAAG,UAAU,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,oBAAoB,CAAC;CAChG,CAAC;AAEF,8DAA8D;AAC9D,wBAAgB,UAAU,IAAI,WAAW,CA8CxC;AAED,wBAAgB,OAAO,IAAI,IAAI,CAsD9B"}
1
+ {"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../src/query/pool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,IAAI,EAAE,KAAK,UAAU,EAAE,MAAM,IAAI,CAAC;AAM3C;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,OAAQ,CAAC;AAShD;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAK9C;AAED;;;;;;GAMG;AACH,eAAO,MAAM,kCAAkC,QAAS,CAAC;AAEzD;;;GAGG;AACH,wBAAgB,8BAA8B,IAAI,MAAM,CAKvD;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAoC5C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAG3D;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACvB,IAAI,EAAE,KAAK,GAAG,UAAU,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,oBAAoB,CAAC;CAChG,CAAC;AAEF,8DAA8D;AAC9D,wBAAgB,UAAU,IAAI,WAAW,CA8CxC;AAED,wBAAgB,OAAO,IAAI,IAAI,CAqE9B"}
@@ -15,6 +15,8 @@
15
15
  * - DB_SSL_INSECURE ("true" to skip certificate verification — NOT recommended)
16
16
  * - DB_POOL_MAX (default 10)
17
17
  * - DB_CONNECT_TIMEOUT_MS (default 5000)
18
+ * - DB_QUERY_TIMEOUT_MS (client-side per-query ceiling; default 0 = disabled)
19
+ * - DB_KEEPALIVE_INITIAL_DELAY_MS (TCP keepalive first-probe delay; default 10000)
18
20
  *
19
21
  * The connection-timeout default is intentionally well below the 10 s
20
22
  * Lambda timeout used by the `nano` / `micro` presets: an unreachable
@@ -41,6 +43,56 @@ function resolveConnectionTimeoutMs() {
41
43
  const n = Number.parseInt(raw, 10);
42
44
  return Number.isFinite(n) && n >= 0 ? n : DEFAULT_CONNECT_TIMEOUT_MS;
43
45
  }
46
+ /**
47
+ * Default `pg.Client#query_timeout` — a CLIENT-side per-query ceiling, in ms.
48
+ *
49
+ * `0` (the default) leaves it disabled, preserving pre-existing behavior.
50
+ * Unlike a server-side `statement_timeout`, a client-side timeout fires
51
+ * even when the TCP connection is a black hole — the server never receives
52
+ * the query and so can never cancel it. That is exactly the failure mode of
53
+ * a pooled connection reused after a Lambda freeze/thaw, where the socket
54
+ * died mid-freeze: without a client ceiling the query hangs until the OS TCP
55
+ * retransmit budget is exhausted (minutes), which is how a fire-and-forget
56
+ * write can surface as a ~300 s "connection timeout".
57
+ *
58
+ * It is pool-wide (inherited by every pooled client, transaction clients
59
+ * included), so it is DISABLED by default and must be opted into via
60
+ * `DB_QUERY_TIMEOUT_MS` on runtime Lambdas ONLY — never in the migration
61
+ * runner, whose long index builds run with `statementTimeoutMs: 0` and would
62
+ * be aborted client-side by it.
63
+ */
64
+ export const DEFAULT_QUERY_TIMEOUT_MS = 0;
65
+ /**
66
+ * Resolve the client-side `query_timeout` (ms) from `DB_QUERY_TIMEOUT_MS`.
67
+ * Falls back to the (disabled) default on unset / non-finite / negative
68
+ * values, matching `resolveConnectionTimeoutMs`. Exported for the unit tests.
69
+ */
70
+ export function resolveQueryTimeoutMs() {
71
+ const raw = process.env.DB_QUERY_TIMEOUT_MS;
72
+ if (!raw)
73
+ return DEFAULT_QUERY_TIMEOUT_MS;
74
+ const n = Number.parseInt(raw, 10);
75
+ return Number.isFinite(n) && n >= 0 ? n : DEFAULT_QUERY_TIMEOUT_MS;
76
+ }
77
+ /**
78
+ * Default TCP-keepalive first-probe delay (ms). `keepAlive` is enabled
79
+ * unconditionally on the pool so a peer that vanished while the socket sat
80
+ * idle (e.g. an RDS connection dropped during a Lambda freeze) is detected
81
+ * by the OS rather than lingering as a half-open connection. This value maps
82
+ * to TCP_KEEPIDLE — how long the socket is idle before the first probe.
83
+ */
84
+ export const DEFAULT_KEEPALIVE_INITIAL_DELAY_MS = 10_000;
85
+ /**
86
+ * Resolve the TCP-keepalive first-probe delay (ms) from
87
+ * `DB_KEEPALIVE_INITIAL_DELAY_MS`. Exported for the unit tests.
88
+ */
89
+ export function resolveKeepAliveInitialDelayMs() {
90
+ const raw = process.env.DB_KEEPALIVE_INITIAL_DELAY_MS;
91
+ if (!raw)
92
+ return DEFAULT_KEEPALIVE_INITIAL_DELAY_MS;
93
+ const n = Number.parseInt(raw, 10);
94
+ return Number.isFinite(n) && n >= 0 ? n : DEFAULT_KEEPALIVE_INITIAL_DELAY_MS;
95
+ }
44
96
  /**
45
97
  * Bridge `DATABASE_URL` into the granular `DB_*` slots `getPool()` reads.
46
98
  * Idempotent — only fills slots that aren't already set, so the granular
@@ -157,6 +209,8 @@ export function getPool() {
157
209
  const { ssl, mode: sslMode } = resolveSsl();
158
210
  const max = Number(process.env.DB_POOL_MAX ?? 10);
159
211
  const connectionTimeoutMillis = resolveConnectionTimeoutMs();
212
+ const queryTimeoutMillis = resolveQueryTimeoutMs();
213
+ const keepAliveInitialDelayMillis = resolveKeepAliveInitialDelayMs();
160
214
  const host = process.env.DB_HOST;
161
215
  const port = Number(process.env.DB_PORT ?? 5432);
162
216
  const database = process.env.DB_NAME;
@@ -180,6 +234,9 @@ export function getPool() {
180
234
  sslMode,
181
235
  max,
182
236
  connectionTimeoutMillis,
237
+ // 0 = disabled; any positive value is a hard client-side ceiling.
238
+ queryTimeoutMillis,
239
+ keepAliveInitialDelayMillis,
183
240
  });
184
241
  pool = new Pool({
185
242
  host,
@@ -190,6 +247,16 @@ export function getPool() {
190
247
  ssl,
191
248
  max,
192
249
  connectionTimeoutMillis,
250
+ // Enable TCP keepalive so a connection whose peer disappeared while
251
+ // this Lambda was frozen is detected by the OS instead of looking
252
+ // healthy until the next query hangs on the dead socket.
253
+ keepAlive: true,
254
+ keepAliveInitialDelayMillis,
255
+ // Only set query_timeout when explicitly enabled (> 0). Left off by
256
+ // default so the migration runner (long index builds via
257
+ // beginTransaction({ statementTimeoutMs: 0 })) is never aborted
258
+ // client-side. Enable via DB_QUERY_TIMEOUT_MS on runtime Lambdas.
259
+ ...(queryTimeoutMillis > 0 ? { query_timeout: queryTimeoutMillis } : {}),
193
260
  });
194
261
  // Async pool errors (e.g. an idle client losing its TCP connection)
195
262
  // would otherwise crash the Lambda with no breadcrumb. Capture them
@@ -1 +1 @@
1
- {"version":3,"file":"pool.js","sourceRoot":"","sources":["../../src/query/pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pool.js","sourceRoot":"","sources":["../../src/query/pool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,IAAI,EAAmB,MAAM,IAAI,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,IAAI,IAAI,GAAgB,IAAI,CAAC;AAE7B;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,CAAC;AAEhD,SAAS,0BAA0B;IACjC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAC9C,IAAI,CAAC,GAAG;QAAE,OAAO,0BAA0B,CAAC;IAC5C,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACnC,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC;AACvE,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAE1C;;;;GAIG;AACH,MAAM,UAAU,qBAAqB;IACnC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IAC5C,IAAI,CAAC,GAAG;QAAE,OAAO,wBAAwB,CAAC;IAC1C,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACnC,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC;AACrE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,MAAM,CAAC;AAEzD;;;GAGG;AACH,MAAM,UAAU,8BAA8B;IAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC;IACtD,IAAI,CAAC,GAAG;QAAE,OAAO,kCAAkC,CAAC;IACpD,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACnC,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kCAAkC,CAAC;AAC/E,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB;IACnC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IACrC,IAAI,CAAC,GAAG;QAAE,OAAO;IAEjB,IAAI,MAAW,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO;QAAE,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC;IAChE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO;QAAE,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC;IACtE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAChD,IAAI,IAAI;YAAE,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;IACvC,CAAC;IAED,8DAA8D;IAC9D,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC/C,IACE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM;QACnB,CAAC,OAAO,KAAK,SAAS;YACpB,OAAO,KAAK,WAAW;YACvB,OAAO,KAAK,aAAa;YACzB,OAAO,KAAK,MAAM,CAAC,EACrB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;IAC9B,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,SAAS,CAAC,IAAwB;IAChD,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;AAC7C,CAAC;AAeD,8DAA8D;AAC9D,MAAM,UAAU,UAAU;IACxB,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAE1E,iFAAiF;IACjF,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,MAAM,EAAE,CAAC;QAE3C,OAAO,CAAC,IAAI,CACV,uEAAuE;YACrE,uEAAuE;YACvE,sEAAsE;YACtE,qCAAqC,CACxC,CAAC;QACF,OAAO,EAAE,GAAG,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAClE,CAAC;IAED,4DAA4D;IAC5D,EAAE;IACF,gEAAgE;IAChE,mEAAmE;IACnE,2DAA2D;IAC3D,EAAE;IACF,mEAAmE;IACnE,8CAA8C;IAC9C,+DAA+D;IAC/D,mEAAmE;IACnE,kEAAkE;IAClE,kEAAkE;IAClE,iDAAiD;IACjD,sEAAsE;IACtE,EAAE;IACF,+DAA+D;IAC/D,kEAAkE;IAClE,iEAAiE;IACjE,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAC1B,OAAO;YACL,GAAG,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE;YAC5D,IAAI,EAAE,oBAAoB;SAC3B,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,OAAO;YACL,GAAG,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,EAAE,iBAAiB,EAAE;YACxD,IAAI,EAAE,qBAAqB;SAC5B,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,OAAO;IACrB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,qBAAqB,EAAE,CAAC;QACxB,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,CAAC;QAC5C,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QAClD,MAAM,uBAAuB,GAAG,0BAA0B,EAAE,CAAC;QAC7D,MAAM,kBAAkB,GAAG,qBAAqB,EAAE,CAAC;QACnD,MAAM,2BAA2B,GAAG,8BAA8B,EAAE,CAAC;QACrE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;QACjC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;QAErC,gEAAgE;QAChE,iEAAiE;QACjE,gEAAgE;QAChE,gEAAgE;QAChE,iEAAiE;QACjE,EAAE;QACF,oEAAoE;QACpE,gEAAgE;QAChE,kEAAkE;QAClE,gEAAgE;QAChE,KAAK,CAAC,IAAI,CAAC,wBAAwB,EAAE;YACnC,IAAI;YACJ,IAAI;YACJ,QAAQ;YACR,mEAAmE;YACnE,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;YACzC,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;YACjD,OAAO;YACP,GAAG;YACH,uBAAuB;YACvB,kEAAkE;YAClE,kBAAkB;YAClB,2BAA2B;SAC5B,CAAC,CAAC;QAEH,IAAI,GAAG,IAAI,IAAI,CAAC;YACd,IAAI;YACJ,IAAI;YACJ,QAAQ;YACR,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO;YACzB,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW;YACjC,GAAG;YACH,GAAG;YACH,uBAAuB;YACvB,oEAAoE;YACpE,kEAAkE;YAClE,yDAAyD;YACzD,SAAS,EAAE,IAAI;YACf,2BAA2B;YAC3B,oEAAoE;YACpE,yDAAyD;YACzD,gEAAgE;YAChE,kEAAkE;YAClE,GAAG,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzE,CAAC,CAAC;QAEH,oEAAoE;QACpE,oEAAoE;QACpE,0DAA0D;QAC1D,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;YAC9B,KAAK,CAAC,KAAK,CAAC,mCAAmC,EAAE;gBAC/C,SAAS,EAAE,GAAG,CAAC,IAAI;gBACnB,YAAY,EAAE,GAAG,CAAC,OAAO;aAC1B,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@venturekit/data",
3
- "version": "0.0.0-dev.20260721010452",
3
+ "version": "0.0.0-dev.20260721112635",
4
4
  "description": "Database and data layer for VentureKit",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -30,7 +30,7 @@
30
30
  },
31
31
  "dependencies": {
32
32
  "@aws-sdk/client-secrets-manager": "^3.1068.0",
33
- "@venturekit/core": "0.0.0-dev.20260721010452",
33
+ "@venturekit/core": "0.0.0-dev.20260721112635",
34
34
  "pg": "^8.12.0"
35
35
  },
36
36
  "devDependencies": {