pipework 0.16.0 → 0.17.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.
- package/CHANGELOG.md +17 -0
- package/REFERENCE.md +33 -1
- package/dist/core/config/load.d.ts +3 -0
- package/dist/core/config/load.d.ts.map +1 -1
- package/dist/core/config/load.js +1 -0
- package/dist/core/config/load.js.map +1 -1
- package/dist/core/config/namespace.d.ts +1 -0
- package/dist/core/config/namespace.d.ts.map +1 -1
- package/dist/core/config/schema.d.ts +3 -0
- package/dist/core/config/schema.d.ts.map +1 -1
- package/dist/core/config/schema.js +7 -0
- package/dist/core/config/schema.js.map +1 -1
- package/dist/core/config/statement-observer.d.ts +48 -0
- package/dist/core/config/statement-observer.d.ts.map +1 -0
- package/dist/core/config/statement-observer.js +2 -0
- package/dist/core/config/statement-observer.js.map +1 -0
- package/dist/core/surface/types.d.ts +1 -0
- package/dist/core/surface/types.d.ts.map +1 -1
- package/dist/data/db/instrumentation.d.ts +17 -1
- package/dist/data/db/instrumentation.d.ts.map +1 -1
- package/dist/data/db/instrumentation.js +31 -1
- package/dist/data/db/instrumentation.js.map +1 -1
- package/dist/data/db/pool.d.ts +7 -0
- package/dist/data/db/pool.d.ts.map +1 -1
- package/dist/data/db/pool.js +11 -2
- package/dist/data/db/pool.js.map +1 -1
- package/dist/data/db/raw-client-warning.d.ts +19 -0
- package/dist/data/db/raw-client-warning.d.ts.map +1 -0
- package/dist/data/db/raw-client-warning.js +32 -0
- package/dist/data/db/raw-client-warning.js.map +1 -0
- package/dist/data/query/postgres-js/driver-error-boundary.d.ts +47 -0
- package/dist/data/query/postgres-js/driver-error-boundary.d.ts.map +1 -0
- package/dist/data/query/postgres-js/driver-error-boundary.js +144 -0
- package/dist/data/query/postgres-js/driver-error-boundary.js.map +1 -0
- package/dist/data/query/postgres-js/session.d.ts.map +1 -1
- package/dist/data/query/postgres-js/session.js +15 -12
- package/dist/data/query/postgres-js/session.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/test/plugin.d.ts +2 -1
- package/dist/test/plugin.d.ts.map +1 -1
- package/dist/test/plugin.js +13 -5
- package/dist/test/plugin.js.map +1 -1
- package/package.json +1 -1
- package/dist/REFERENCE.md +0 -1190
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Keeps a statement observer from widening what a query error serializes.
|
|
3
|
+
*
|
|
4
|
+
* postgres.js defines `stack`/`query`/`parameters`/`args`/`types` on every
|
|
5
|
+
* query error it raises, and makes them ENUMERABLE exactly when its `debug`
|
|
6
|
+
* option is truthy (`connection.js`, `queryError`). Pipework sets `debug` to
|
|
7
|
+
* install a per-statement observer — so, absent this boundary, merely observing
|
|
8
|
+
* statements would start leaking bind parameters into every log drain that
|
|
9
|
+
* serializes errors. Observation must not change what an error exposes.
|
|
10
|
+
*
|
|
11
|
+
* Why this is a closed set rather than a best-effort sweep: enumerability only
|
|
12
|
+
* changes where `debug` is truthy, and only three sites in pipework construct a
|
|
13
|
+
* connection carrying the observer — `createManagedConnection`,
|
|
14
|
+
* `createIsolatedConnection`, and `createSetupConnection`. Every other
|
|
15
|
+
* `postgres()` in the codebase (migrations, CLI, startup validation, reaper,
|
|
16
|
+
* `tap()`) leaves `debug` unset, so its errors keep these fields
|
|
17
|
+
* non-enumerable already and need no treatment.
|
|
18
|
+
*
|
|
19
|
+
* The one gap, deliberate and announced: `ManagedConnection.client` is the
|
|
20
|
+
* sanctioned raw-driver door, and errors from queries issued through it do not
|
|
21
|
+
* pass this boundary. Reading `.client` on an observed connection logs a
|
|
22
|
+
* one-time warning saying so. Wrapping the `Sql` to close that gap was
|
|
23
|
+
* considered and REJECTED: it means proxying a callable tagged-template whose
|
|
24
|
+
* `begin`/`savepoint` hand out fresh client instances needing recursive
|
|
25
|
+
* re-wrapping, on the hottest path in the system — more risk than the narrow,
|
|
26
|
+
* documented gap it would close. Do not "clean this up" by adding one.
|
|
27
|
+
*/
|
|
28
|
+
/** Records that this client's `debug` hook came from a statement observer alone. */
|
|
29
|
+
export declare function markObservedConnection(client: unknown): void;
|
|
30
|
+
/** True when this client's `debug` hook came from a statement observer alone. */
|
|
31
|
+
export declare function isObservedConnection(client: unknown): boolean;
|
|
32
|
+
/** Carries observed-ness onto a transaction- or savepoint-scoped client. */
|
|
33
|
+
export declare function propagateObserved(from: unknown, to: unknown): void;
|
|
34
|
+
/**
|
|
35
|
+
* Returns the error to propagate with the driver-added fields hidden from
|
|
36
|
+
* serialization, following `cause` because the driver error usually arrives
|
|
37
|
+
* wrapped by drizzle. Returns the original untouched when there is nothing to
|
|
38
|
+
* hide.
|
|
39
|
+
*/
|
|
40
|
+
export declare function withoutDriverAddedFields(err: unknown): unknown;
|
|
41
|
+
/**
|
|
42
|
+
* Runs driver work, hiding the fields postgres.js only exposed because a
|
|
43
|
+
* statement observer is attached. Pure pass-through when the connection is not
|
|
44
|
+
* observed, and never alters the error itself — only what it serializes.
|
|
45
|
+
*/
|
|
46
|
+
export declare function throughErrorBoundary<T>(client: unknown, run: () => Promise<T>): Promise<T>;
|
|
47
|
+
//# sourceMappingURL=driver-error-boundary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"driver-error-boundary.d.ts","sourceRoot":"","sources":["../../../../src/data/query/postgres-js/driver-error-boundary.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AA+BH,oFAAoF;AACpF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAG5D;AAED,iFAAiF;AACjF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAG7D;AAED,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,GAAG,IAAI,CAElE;AAkCD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAsB9D;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAOhG"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Keeps a statement observer from widening what a query error serializes.
|
|
3
|
+
*
|
|
4
|
+
* postgres.js defines `stack`/`query`/`parameters`/`args`/`types` on every
|
|
5
|
+
* query error it raises, and makes them ENUMERABLE exactly when its `debug`
|
|
6
|
+
* option is truthy (`connection.js`, `queryError`). Pipework sets `debug` to
|
|
7
|
+
* install a per-statement observer — so, absent this boundary, merely observing
|
|
8
|
+
* statements would start leaking bind parameters into every log drain that
|
|
9
|
+
* serializes errors. Observation must not change what an error exposes.
|
|
10
|
+
*
|
|
11
|
+
* Why this is a closed set rather than a best-effort sweep: enumerability only
|
|
12
|
+
* changes where `debug` is truthy, and only three sites in pipework construct a
|
|
13
|
+
* connection carrying the observer — `createManagedConnection`,
|
|
14
|
+
* `createIsolatedConnection`, and `createSetupConnection`. Every other
|
|
15
|
+
* `postgres()` in the codebase (migrations, CLI, startup validation, reaper,
|
|
16
|
+
* `tap()`) leaves `debug` unset, so its errors keep these fields
|
|
17
|
+
* non-enumerable already and need no treatment.
|
|
18
|
+
*
|
|
19
|
+
* The one gap, deliberate and announced: `ManagedConnection.client` is the
|
|
20
|
+
* sanctioned raw-driver door, and errors from queries issued through it do not
|
|
21
|
+
* pass this boundary. Reading `.client` on an observed connection logs a
|
|
22
|
+
* one-time warning saying so. Wrapping the `Sql` to close that gap was
|
|
23
|
+
* considered and REJECTED: it means proxying a callable tagged-template whose
|
|
24
|
+
* `begin`/`savepoint` hand out fresh client instances needing recursive
|
|
25
|
+
* re-wrapping, on the hottest path in the system — more risk than the narrow,
|
|
26
|
+
* documented gap it would close. Do not "clean this up" by adding one.
|
|
27
|
+
*/
|
|
28
|
+
/**
|
|
29
|
+
* postgres.js properties whose enumerability its `debug` option flips — all
|
|
30
|
+
* five defined in one `Object.defineProperties` call, so requiring the whole
|
|
31
|
+
* set is a precise signature for "this error was decorated by the driver".
|
|
32
|
+
* `stack` is included because an enumerable own `stack` is itself a departure
|
|
33
|
+
* from ordinary Error semantics, and it carries the query origin.
|
|
34
|
+
*/
|
|
35
|
+
const DRIVER_ADDED_FIELDS = ['stack', 'query', 'parameters', 'args', 'types'];
|
|
36
|
+
/**
|
|
37
|
+
* Connections whose `debug` hook exists ONLY to drive a statement observer.
|
|
38
|
+
* Keyed on the options object, which is stable for the lifetime of one
|
|
39
|
+
* `postgres()` client. `logAllQueries` connections are deliberately absent:
|
|
40
|
+
* that mode already opted into verbose errors, and its behavior is unchanged.
|
|
41
|
+
*/
|
|
42
|
+
const observedOptions = new WeakSet();
|
|
43
|
+
/**
|
|
44
|
+
* The identity a client is tracked under: its options object where it has one,
|
|
45
|
+
* else the client itself. Transaction- and savepoint-scoped clients — the ones
|
|
46
|
+
* postgres.js hands to a `begin`/`savepoint` callback — expose no `options`, so
|
|
47
|
+
* they are tracked directly and marked by `propagateObserved` as they are made.
|
|
48
|
+
*/
|
|
49
|
+
function identity(client) {
|
|
50
|
+
if (client === null || typeof client !== 'object' && typeof client !== 'function')
|
|
51
|
+
return undefined;
|
|
52
|
+
const options = client.options;
|
|
53
|
+
return typeof options === 'object' && options !== null ? options : client;
|
|
54
|
+
}
|
|
55
|
+
/** Records that this client's `debug` hook came from a statement observer alone. */
|
|
56
|
+
export function markObservedConnection(client) {
|
|
57
|
+
const key = identity(client);
|
|
58
|
+
if (key !== undefined)
|
|
59
|
+
observedOptions.add(key);
|
|
60
|
+
}
|
|
61
|
+
/** True when this client's `debug` hook came from a statement observer alone. */
|
|
62
|
+
export function isObservedConnection(client) {
|
|
63
|
+
const key = identity(client);
|
|
64
|
+
return key !== undefined && observedOptions.has(key);
|
|
65
|
+
}
|
|
66
|
+
/** Carries observed-ness onto a transaction- or savepoint-scoped client. */
|
|
67
|
+
export function propagateObserved(from, to) {
|
|
68
|
+
if (isObservedConnection(from))
|
|
69
|
+
markObservedConnection(to);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Identifies an error postgres.js decorated because `debug` was installed.
|
|
73
|
+
* Keyed on the full set it adds together, so drizzle's own wrapper — which
|
|
74
|
+
* carries `query` and `params` but never `parameters`/`args`/`types` — is left
|
|
75
|
+
* alone. That wrapper's exposure predates this feature and is not ours to
|
|
76
|
+
* change here.
|
|
77
|
+
*/
|
|
78
|
+
function hasDriverAddedFields(err) {
|
|
79
|
+
return DRIVER_ADDED_FIELDS.every(field => {
|
|
80
|
+
const descriptor = Object.getOwnPropertyDescriptor(err, field);
|
|
81
|
+
return descriptor?.enumerable === true;
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* postgres.js defines these with `Object.defineProperties` and no descriptor
|
|
86
|
+
* flags, which makes them non-configurable — their enumerability cannot be
|
|
87
|
+
* flipped in place. So the error is rebuilt: same prototype, same own
|
|
88
|
+
* properties and values, with the driver-added four defined non-enumerable.
|
|
89
|
+
* `instanceof`, `message`, `stack`, `code` and every server field survive; only
|
|
90
|
+
* what a serializer walks changes.
|
|
91
|
+
*/
|
|
92
|
+
function withDriverFieldsHidden(err) {
|
|
93
|
+
const clone = Object.create(Object.getPrototypeOf(err));
|
|
94
|
+
for (const key of Reflect.ownKeys(err)) {
|
|
95
|
+
const descriptor = Object.getOwnPropertyDescriptor(err, key);
|
|
96
|
+
const hide = typeof key === 'string' && DRIVER_ADDED_FIELDS.includes(key);
|
|
97
|
+
Object.defineProperty(clone, key, hide ? { ...descriptor, enumerable: false, configurable: true } : descriptor);
|
|
98
|
+
}
|
|
99
|
+
return clone;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Returns the error to propagate with the driver-added fields hidden from
|
|
103
|
+
* serialization, following `cause` because the driver error usually arrives
|
|
104
|
+
* wrapped by drizzle. Returns the original untouched when there is nothing to
|
|
105
|
+
* hide.
|
|
106
|
+
*/
|
|
107
|
+
export function withoutDriverAddedFields(err) {
|
|
108
|
+
if (!(err instanceof Error))
|
|
109
|
+
return err;
|
|
110
|
+
const root = hasDriverAddedFields(err) ? withDriverFieldsHidden(err) : err;
|
|
111
|
+
for (let current = root, depth = 0; depth < 8; depth++) {
|
|
112
|
+
const cause = current.cause;
|
|
113
|
+
if (!(cause instanceof Error))
|
|
114
|
+
break;
|
|
115
|
+
if (hasDriverAddedFields(cause)) {
|
|
116
|
+
const hidden = withDriverFieldsHidden(cause);
|
|
117
|
+
const descriptor = Object.getOwnPropertyDescriptor(current, 'cause');
|
|
118
|
+
if (descriptor?.writable === true || descriptor?.configurable === true) {
|
|
119
|
+
Object.defineProperty(current, 'cause', { ...descriptor, value: hidden });
|
|
120
|
+
}
|
|
121
|
+
current = hidden;
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
current = cause;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
return root;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Runs driver work, hiding the fields postgres.js only exposed because a
|
|
131
|
+
* statement observer is attached. Pure pass-through when the connection is not
|
|
132
|
+
* observed, and never alters the error itself — only what it serializes.
|
|
133
|
+
*/
|
|
134
|
+
export async function throughErrorBoundary(client, run) {
|
|
135
|
+
if (!isObservedConnection(client))
|
|
136
|
+
return run();
|
|
137
|
+
try {
|
|
138
|
+
return await run();
|
|
139
|
+
}
|
|
140
|
+
catch (err) {
|
|
141
|
+
throw withoutDriverAddedFields(err);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=driver-error-boundary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"driver-error-boundary.js","sourceRoot":"","sources":["../../../../src/data/query/postgres-js/driver-error-boundary.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/data/query/postgres-js/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAkB,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,KAAK,KAAK,EAAa,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AACvF,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACxG,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACtF,OAAO,EAAoB,KAAK,KAAK,EAAE,MAAM,eAAe,CAAC;AAE7D,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/data/query/postgres-js/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ import { PgPreparedQuery, PgSession } from '../pg-core/session.js';
|
|
|
6
6
|
import { fillPlaceholders } from '../sql/sql.js';
|
|
7
7
|
import { tracer } from '../tracing.js';
|
|
8
8
|
import { mapResultRow } from '../utils.js';
|
|
9
|
+
import { propagateObserved, throughErrorBoundary } from './driver-error-boundary.js';
|
|
9
10
|
export class PostgresJsPreparedQuery extends PgPreparedQuery {
|
|
10
11
|
client;
|
|
11
12
|
queryString;
|
|
@@ -36,9 +37,9 @@ export class PostgresJsPreparedQuery extends PgPreparedQuery {
|
|
|
36
37
|
const { fields, queryString: query, client, joinsNotNullableMap, customResultMapper } = this;
|
|
37
38
|
if (!fields && !customResultMapper) {
|
|
38
39
|
return tracer.startActiveSpan('drizzle.driver.execute', () => {
|
|
39
|
-
return this.queryWithCache(query, params, async () => {
|
|
40
|
+
return throughErrorBoundary(client, () => this.queryWithCache(query, params, async () => {
|
|
40
41
|
return await client.unsafe(query, params);
|
|
41
|
-
});
|
|
42
|
+
}));
|
|
42
43
|
});
|
|
43
44
|
}
|
|
44
45
|
const rows = await tracer.startActiveSpan('drizzle.driver.execute', () => {
|
|
@@ -46,9 +47,9 @@ export class PostgresJsPreparedQuery extends PgPreparedQuery {
|
|
|
46
47
|
'drizzle.query.text': query,
|
|
47
48
|
'drizzle.query.params': JSON.stringify(params),
|
|
48
49
|
});
|
|
49
|
-
return this.queryWithCache(query, params, async () => {
|
|
50
|
+
return throughErrorBoundary(client, () => this.queryWithCache(query, params, async () => {
|
|
50
51
|
return await client.unsafe(query, params).values();
|
|
51
|
-
});
|
|
52
|
+
}));
|
|
52
53
|
});
|
|
53
54
|
return tracer.startActiveSpan('drizzle.mapResponse', () => {
|
|
54
55
|
return customResultMapper
|
|
@@ -70,9 +71,9 @@ export class PostgresJsPreparedQuery extends PgPreparedQuery {
|
|
|
70
71
|
'drizzle.query.text': this.queryString,
|
|
71
72
|
'drizzle.query.params': JSON.stringify(params),
|
|
72
73
|
});
|
|
73
|
-
return this.queryWithCache(this.queryString, params, async () => {
|
|
74
|
+
return throughErrorBoundary(this.client, () => this.queryWithCache(this.queryString, params, async () => {
|
|
74
75
|
return this.client.unsafe(this.queryString, params);
|
|
75
|
-
});
|
|
76
|
+
}));
|
|
76
77
|
});
|
|
77
78
|
});
|
|
78
79
|
}
|
|
@@ -103,20 +104,21 @@ export class PostgresJsSession extends PgSession {
|
|
|
103
104
|
}
|
|
104
105
|
query(query, params) {
|
|
105
106
|
this.logger.logQuery(query, params);
|
|
106
|
-
return this.client.unsafe(query, params).values();
|
|
107
|
+
return throughErrorBoundary(this.client, () => this.client.unsafe(query, params).values());
|
|
107
108
|
}
|
|
108
109
|
queryObjects(query, params) {
|
|
109
|
-
return this.client.unsafe(query, params);
|
|
110
|
+
return throughErrorBoundary(this.client, () => this.client.unsafe(query, params));
|
|
110
111
|
}
|
|
111
112
|
transaction(transaction, config) {
|
|
112
|
-
return this.client.begin(async (client) => {
|
|
113
|
+
return throughErrorBoundary(this.client, () => this.client.begin(async (client) => {
|
|
114
|
+
propagateObserved(this.client, client);
|
|
113
115
|
const session = new PostgresJsSession(client, this.dialect, this.schema, this.options);
|
|
114
116
|
const tx = new PostgresJsTransaction(this.dialect, session, this.schema);
|
|
115
117
|
if (config) {
|
|
116
118
|
await tx.setTransaction(config);
|
|
117
119
|
}
|
|
118
120
|
return transaction(tx);
|
|
119
|
-
});
|
|
121
|
+
}));
|
|
120
122
|
}
|
|
121
123
|
}
|
|
122
124
|
export class PostgresJsTransaction extends PgTransaction {
|
|
@@ -129,11 +131,12 @@ export class PostgresJsTransaction extends PgTransaction {
|
|
|
129
131
|
this.session = session;
|
|
130
132
|
}
|
|
131
133
|
transaction(transaction) {
|
|
132
|
-
return this.session.client.savepoint((client) => {
|
|
134
|
+
return throughErrorBoundary(this.session.client, () => this.session.client.savepoint((client) => {
|
|
135
|
+
propagateObserved(this.session.client, client);
|
|
133
136
|
const session = new PostgresJsSession(client, this.dialect, this.schema, this.session.options);
|
|
134
137
|
const tx = new PostgresJsTransaction(this.dialect, session, this.schema);
|
|
135
138
|
return transaction(tx);
|
|
136
|
-
});
|
|
139
|
+
}));
|
|
137
140
|
}
|
|
138
141
|
}
|
|
139
142
|
//# sourceMappingURL=session.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../../src/data/query/postgres-js/session.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAc,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAe,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../../src/data/query/postgres-js/session.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export type { ValueColumnDef } from './data/db/values.js';
|
|
|
7
7
|
export type { SerializableOptions } from './data/db/serializable.js';
|
|
8
8
|
export { tap } from './data/db/pool.js';
|
|
9
9
|
export type { ManagedConnection, ConnectOptions } from './data/db/pool.js';
|
|
10
|
+
export type { StatementObserver, StatementEvent } from './core/config/statement-observer.js';
|
|
10
11
|
export type { DefinedTable, DomainDefinition, DefinitionMethods, FieldDescriptor, FieldModifiers, FieldMeta, DefineOptions, FactoryBuilder, FactoryOptions, TraitDefinition, FieldColumn, ProjectedColumns, EffectiveDatedFields, AuditedFields, SoftDeletedFields, Branded, Brand, InferSelect, InferFieldOutput } from './data/domain/index.js';
|
|
11
12
|
export { schema } from './data/schema/namespace.js';
|
|
12
13
|
export type { JsonSchema } from './data/schema/namespace.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAE7G,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAC/D,YAAY,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AACvF,YAAY,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,YAAY,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAKpE,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AACvC,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAGnD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAM/D,wFAAwF;AACxF,wFAAwF;AACxF,yFAAyF;AACzF,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAGnD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAM/D,wFAAwF;AACxF,wFAAwF;AACxF,yFAAyF;AACzF,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AASvC,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAInD,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;AAIxD,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAA;AAOlD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAQ/C,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAA;AAGlD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAGnD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAI/C,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAKlD,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAA;AAKhD,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAIlD,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;AAKxD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAGvD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAGnD,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AAEjD,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AAUjD,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAA;AAIxD,OAAO,EAAE,KAAK,EAAE,MAAM,oCAAoC,CAAA;AAI1D,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAA;AAI1D,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;AAGxD,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAA;AAIzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAGhE,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AACtD,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAKtF,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AAMrD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,EAAE,cAAc,EACvF,eAAe,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAEhE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAInD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEpD,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAA;AAGjD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA"}
|
package/dist/test/plugin.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import type { Manifold } from '../core/pipework.js';
|
|
|
3
3
|
import { type TestDatabase } from './setup.js';
|
|
4
4
|
import { runInContext } from '../request/context/store.js';
|
|
5
5
|
import type { Flow } from '../request/context/types.js';
|
|
6
|
+
import type { ResolvedObservability } from '../core/config/load.js';
|
|
6
7
|
export interface TestDatabaseConnections {
|
|
7
8
|
[name: string]: PostgresJsDatabase;
|
|
8
9
|
}
|
|
@@ -14,7 +15,7 @@ export declare function beginTestIsolation(instance: Manifold): Promise<TestCont
|
|
|
14
15
|
export declare function endTestIsolation(instance: Manifold, ctx: TestContext): Promise<void>;
|
|
15
16
|
export declare function createTestContext(instance: Manifold, testConnections: TestContext, auth?: unknown, tenant?: string | null): Flow;
|
|
16
17
|
export declare function propagateTestSessionVars(instance: Manifold, testConnections: TestContext, tenant: string): Promise<void>;
|
|
17
|
-
export declare function createSetupConnection(testDb: TestDatabase): {
|
|
18
|
+
export declare function createSetupConnection(testDb: TestDatabase, observability?: ResolvedObservability): {
|
|
18
19
|
drizzle: PostgresJsDatabase;
|
|
19
20
|
close: () => Promise<void>;
|
|
20
21
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/test/plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,KAAK,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AAErF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,YAAY,CAAA;AAE/D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/test/plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,KAAK,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AAErF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,YAAY,CAAA;AAE/D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAA;AAIvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAEnE,MAAM,WAAW,uBAAuB;IACtC,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAAA;CACnC;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,EAAE,EAAE,uBAAuB,CAAA;CAC5B;AASD,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,CAyBjF;AAED,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB1F;AAmBD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAMhI;AAED,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,WAAW,EAC5B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAOf;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,YAAY,EACpB,aAAa,CAAC,EAAE,qBAAqB,GACpC;IAAE,OAAO,EAAE,kBAAkB,CAAC;IAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAM7D;AAED,OAAO,EAAE,YAAY,EAAE,CAAA"}
|
package/dist/test/plugin.js
CHANGED
|
@@ -5,6 +5,8 @@ import { getTestDatabase } from './setup.js';
|
|
|
5
5
|
import { createTestContext as createCtx } from '../request/context/create.js';
|
|
6
6
|
import { runInContext } from '../request/context/store.js';
|
|
7
7
|
import { randomUUID } from 'node:crypto';
|
|
8
|
+
import { createDebugFn, isObserverOnly } from '../data/db/instrumentation.js';
|
|
9
|
+
import { markObservedConnection } from '../data/query/postgres-js/driver-error-boundary.js';
|
|
8
10
|
const contextConnections = new Map();
|
|
9
11
|
export async function beginTestIsolation(instance) {
|
|
10
12
|
const dbConnections = {};
|
|
@@ -15,7 +17,7 @@ export async function beginTestIsolation(instance) {
|
|
|
15
17
|
if (!testDb) {
|
|
16
18
|
throw new Error(`[pipework] Test database not set up for "${name}". Did setupTestDatabases() run?`);
|
|
17
19
|
}
|
|
18
|
-
const conn = await createIsolatedConnection(testDb, connections, name);
|
|
20
|
+
const conn = await createIsolatedConnection(testDb, connections, name, instance.config.observability);
|
|
19
21
|
dbConnections[name] = conn;
|
|
20
22
|
instance.pool.override(name, {
|
|
21
23
|
name,
|
|
@@ -52,8 +54,11 @@ export async function endTestIsolation(instance, ctx) {
|
|
|
52
54
|
contextConnections.delete(ctx.id);
|
|
53
55
|
instance.isolation.markEnd();
|
|
54
56
|
}
|
|
55
|
-
async function createIsolatedConnection(testDb, connections, name) {
|
|
56
|
-
const
|
|
57
|
+
async function createIsolatedConnection(testDb, connections, name, observability) {
|
|
58
|
+
const debug = createDebugFn(observability);
|
|
59
|
+
const client = postgres(testDb.url, { max: 1, onnotice: () => { }, ...(debug ? { debug } : {}) });
|
|
60
|
+
if (isObserverOnly(observability))
|
|
61
|
+
markObservedConnection(client);
|
|
57
62
|
const db = drizzle(client);
|
|
58
63
|
await db.execute(sql.raw('BEGIN'));
|
|
59
64
|
connections.set(name, { client, drizzle: db });
|
|
@@ -74,8 +79,11 @@ export async function propagateTestSessionVars(instance, testConnections, tenant
|
|
|
74
79
|
}
|
|
75
80
|
}
|
|
76
81
|
}
|
|
77
|
-
export function createSetupConnection(testDb) {
|
|
78
|
-
const
|
|
82
|
+
export function createSetupConnection(testDb, observability) {
|
|
83
|
+
const debug = observability ? createDebugFn(observability) : undefined;
|
|
84
|
+
const client = postgres(testDb.url, { max: 1, onnotice: () => { }, ...(debug ? { debug } : {}) });
|
|
85
|
+
if (observability && isObserverOnly(observability))
|
|
86
|
+
markObservedConnection(client);
|
|
79
87
|
const db = drizzle(client);
|
|
80
88
|
return { drizzle: db, close: () => client.end() };
|
|
81
89
|
}
|
package/dist/test/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/test/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAA;AAC/B,OAAO,EAAE,OAAO,EAA2B,MAAM,oCAAoC,CAAA;AACrF,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAA;AAE5C,OAAO,EAAE,eAAe,EAAqB,MAAM,YAAY,CAAA;AAC/D,OAAO,EAAE,iBAAiB,IAAI,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/test/plugin.ts"],"names":[],"mappings":"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"}
|