pipework 0.160.0 → 0.162.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 +8 -0
- package/REFERENCE.md +11 -0
- package/dist/async/jobs/execute.d.ts.map +1 -1
- package/dist/async/jobs/execute.js +14 -8
- package/dist/async/jobs/execute.js.map +1 -1
- package/dist/data/migrate/apply.d.ts +2 -0
- package/dist/data/migrate/apply.d.ts.map +1 -1
- package/dist/data/migrate/apply.js +18 -4
- package/dist/data/migrate/apply.js.map +1 -1
- package/dist/data/migrate/pragma.d.ts +10 -3
- package/dist/data/migrate/pragma.d.ts.map +1 -1
- package/dist/data/migrate/pragma.js +27 -7
- package/dist/data/migrate/pragma.js.map +1 -1
- package/dist/request/di/builder.d.ts +7 -1
- package/dist/request/di/builder.d.ts.map +1 -1
- package/dist/request/di/builder.js +4 -0
- package/dist/request/di/builder.js.map +1 -1
- package/dist/request/di/resolve.d.ts +3 -1
- package/dist/request/di/resolve.d.ts.map +1 -1
- package/dist/request/di/resolve.js +9 -2
- package/dist/request/di/resolve.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.162.0
|
|
4
|
+
|
|
5
|
+
- **Added: a job handler gets an abort signal** (#697). Handlers built with `.job()` now receive `signal` beside `input`, `auth` and `checkpoint`. When `jobs.execute` gives the job up while the handler is still running (a shutdown abort that returns it to pending, a job timeout), `signal` aborts with the same error `execute` rejects with, so the handler can stop before acting outside the database: `if (signal.aborted) return`, or pass `signal` to `fetch`. After that, `checkpoint(...)` rejects with the abort reason and writes nothing. A handler that returns or throws on its own never sees its signal abort.
|
|
6
|
+
|
|
7
|
+
## 0.161.0
|
|
8
|
+
|
|
9
|
+
- **Fixed: applied migrations may gain `-- pipework:expect-*` lines** (#334). A database that starts empty replays every migration through the safety gate, so history that raises a hazard needs its pragma; but adding one changed the file's hash, and every database that had already applied it refused with "file content has changed". The tracker now also accepts the hash of the file with its `expect-*` pragma lines removed, so annotating an applied migration is allowed on every database, and a fresh one replays it through the gate. Any other change to an applied file (SQL, whitespace, other comments) is still refused. A file recorded with a pragma must keep it.
|
|
10
|
+
|
|
3
11
|
## 0.160.0
|
|
4
12
|
|
|
5
13
|
- **Changed: `.tsx` files are linted and doctrine-scanned by default, and a run says what its lint globs leave out** (#348). The default lint globs are now `src/**/*.ts` and `src/**/*.tsx` (and the same pair for each workspace package's `src`); before, every `.tsx` file was type-checked but never linted or doctrine-scanned while the module reported Lint ✓. The doctrine, flow, cardinality and coverage scans now include `.tsx` (not `.test.tsx`) and parse it with JSX. When source files under a module's `src/` match none of its lint globs (a configured `lint.include` that leaves some out), `check` prints `<module>: N source file(s) under src/ are outside the lint globs (...)`; it is a warning, not a failure. **Behavior change:** a package with `.tsx` files will see lint findings in them for the first time, and its tsconfig must include them for type-aware lint.
|
package/REFERENCE.md
CHANGED
|
@@ -246,6 +246,15 @@ Creates a job queue with claim/complete/fail lifecycle, heartbeat, and dead lett
|
|
|
246
246
|
|
|
247
247
|
Executes a fitting handler as a background job with its own Flow context. `attempt?` (1-based) sets `flow.jobAttempt`; the worker surface passes the claim's attempt, counting attempts a lost (reaped) worker used, so a handler reads `getContext()?.jobAttempt` (1 on the first run). It is `null` on request and test Flows and when `attempt` is omitted.
|
|
248
248
|
|
|
249
|
+
A job handler's deps include `signal: AbortSignal`, aborted when the job is no longer this handler's (returned to pending on a shutdown abort, ended by a job timeout): `executeJob` rejects with an error and `signal.reason` is that same error. The handler keeps running after that, so check `signal` before any effect outside the database. It does not abort when the handler itself returns or throws, and `execute` without a signal still hands the handler one. Once it is aborted, `checkpoint(...)` rejects with `signal.reason` without touching the database.
|
|
250
|
+
|
|
251
|
+
```ts
|
|
252
|
+
fitting.job('pr.check').fit(async ({ signal }) => {
|
|
253
|
+
if (signal.aborted) return
|
|
254
|
+
await fetch(url, { signal })
|
|
255
|
+
})
|
|
256
|
+
```
|
|
257
|
+
|
|
249
258
|
### `jobs.parseCron`
|
|
250
259
|
|
|
251
260
|
Parses a 5-field cron expression into a CronSchedule (minute, hour, dom, month, dow).
|
|
@@ -774,6 +783,8 @@ where(filter.arrayAny(t.allowedPaths, a => filter.arrayAny(changedPaths, p => fi
|
|
|
774
783
|
|
|
775
784
|
Runs migrations for all configured databases.
|
|
776
785
|
|
|
786
|
+
An applied migration is immutable: a changed file is refused. The one exception is `-- pipework:expect-destructive`, `expect-locking` and `expect-dynamic` lines, which may be added to an applied file so a fresh database can replay history through the safety gate. The recorded hash is unchanged; the check also accepts the file with those lines removed.
|
|
787
|
+
|
|
777
788
|
### `pipe.migrateOne`
|
|
778
789
|
|
|
779
790
|
Runs migrations for a single named database.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../../src/async/jobs/execute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAQ9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AASrE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,QAAQ,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB;;;;OAIG;IACH,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;IAClC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,8EAA8E;IAC9E,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B;;;;OAIG;IACH,MAAM,CAAC,EAAE,cAAc,GAAG,IAAI,CAAA;IAC9B,mGAAmG;IACnG,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;IAC1B;;;;OAIG;IACH,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,aAAa,GAAG,OAAO,CAAC;QAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;IAC3G;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAED,wBAAsB,UAAU,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAC7E,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,EAChC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../../src/async/jobs/execute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAQ9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AASrE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,QAAQ,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB;;;;OAIG;IACH,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;IAClC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,8EAA8E;IAC9E,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B;;;;OAIG;IACH,MAAM,CAAC,EAAE,cAAc,GAAG,IAAI,CAAA;IAC9B,mGAAmG;IACnG,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;IAC1B;;;;OAIG;IACH,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,aAAa,GAAG,OAAO,CAAC;QAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;IAC3G;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAED,wBAAsB,UAAU,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAC7E,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,EAChC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,OAAO,CAAC,CAoGlB"}
|
|
@@ -55,6 +55,9 @@ export async function executeJob(handler, options) {
|
|
|
55
55
|
error: null,
|
|
56
56
|
});
|
|
57
57
|
}
|
|
58
|
+
// The handler's own signal: aborted, with the error `executeJob` rejects with,
|
|
59
|
+
// whenever the job stops being the handler's while it may still be running.
|
|
60
|
+
const own = new AbortController();
|
|
58
61
|
const ctx = createJobContext(jobCtxOptions);
|
|
59
62
|
const databases = resolveHandlerDatabases(handler, options.instance);
|
|
60
63
|
const timeoutMs = options.transactionTimeoutMs ?? DEFAULT_JOB_TRANSACTION_TIMEOUT_MS;
|
|
@@ -63,18 +66,18 @@ export async function executeJob(handler, options) {
|
|
|
63
66
|
// tenant-scoped transaction per call (re-establishing the tenant session vars
|
|
64
67
|
// so database-side RLS sees the tenant) and commits it independently.
|
|
65
68
|
if (handler.meta.jobTransaction === 'manual') {
|
|
66
|
-
const checkpoint = buildCheckpoint(handler, ctx, databases, options.tenantConfig ?? null, timeoutMs, options.signal);
|
|
67
|
-
return finalizeTrace(options.instance, ctx.trace, untilAborted(runInContext(ctx, () => resolveAndExecute(handler, options.input, undefined, undefined, { checkpoint })), options.signal, label));
|
|
69
|
+
const checkpoint = buildCheckpoint(handler, ctx, databases, options.tenantConfig ?? null, timeoutMs, options.signal, own.signal);
|
|
70
|
+
return finalizeTrace(options.instance, ctx.trace, untilAborted(runInContext(ctx, () => resolveAndExecute(handler, options.input, undefined, undefined, { checkpoint, signal: own.signal })), options.signal, label, own));
|
|
68
71
|
}
|
|
69
|
-
const run = () => resolveAndExecute(handler, options.input);
|
|
72
|
+
const run = () => resolveAndExecute(handler, options.input, undefined, undefined, { signal: own.signal });
|
|
70
73
|
// No tenant: app-level scoping does not apply, so there is nothing to
|
|
71
74
|
// propagate to Postgres — run the handler directly as before.
|
|
72
75
|
if (ctx.tenant === null || databases.length === 0) {
|
|
73
|
-
return finalizeTrace(options.instance, ctx.trace, untilAborted(runInContext(ctx, run), options.signal, label));
|
|
76
|
+
return finalizeTrace(options.instance, ctx.trace, untilAborted(runInContext(ctx, run), options.signal, label, own));
|
|
74
77
|
}
|
|
75
78
|
// Tenant job: wrap in a transaction and propagate session vars so
|
|
76
79
|
// database-side RLS sees the tenant — consistent with the HTTP surface.
|
|
77
|
-
return finalizeTrace(options.instance, ctx.trace, untilAborted(executeInTransaction(ctx, databases, options.tenantConfig ?? null, timeoutMs, run, options.signal), options.signal, label));
|
|
80
|
+
return finalizeTrace(options.instance, ctx.trace, untilAborted(executeInTransaction(ctx, databases, options.tenantConfig ?? null, timeoutMs, run, options.signal), options.signal, label, own));
|
|
78
81
|
}
|
|
79
82
|
/** `[type] id`, `[type]`, `id`, or `(anonymous)` — whatever the caller gave us to name the job by. */
|
|
80
83
|
function jobLabel(options) {
|
|
@@ -102,15 +105,18 @@ function abortReason(signal, label) {
|
|
|
102
105
|
* Rejects when the signal aborts, even if the handler is still running — the
|
|
103
106
|
* caller's deadline is the caller's, not the handler's. The work promise's own
|
|
104
107
|
* rejection is swallowed once we have rejected, so a later unwind (the cancelled
|
|
105
|
-
* query surfacing) does not become an unhandled rejection.
|
|
108
|
+
* query surfacing) does not become an unhandled rejection. The handler's own
|
|
109
|
+
* signal aborts with that same rejection first, so it sees the abort while it runs on.
|
|
106
110
|
*/
|
|
107
|
-
function untilAborted(work, signal, label) {
|
|
111
|
+
function untilAborted(work, signal, label, own) {
|
|
108
112
|
if (signal === undefined)
|
|
109
113
|
return work;
|
|
110
114
|
return new Promise((resolve, reject) => {
|
|
111
115
|
const onAbort = () => {
|
|
112
116
|
work.catch(() => { });
|
|
113
|
-
|
|
117
|
+
const reason = abortReason(signal, label);
|
|
118
|
+
own.abort(reason);
|
|
119
|
+
reject(reason);
|
|
114
120
|
};
|
|
115
121
|
if (signal.aborted) {
|
|
116
122
|
onAbort();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../src/async/jobs/execute.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../src/async/jobs/execute.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,8 @@ export interface ApplyOptions {
|
|
|
25
25
|
export interface Migration {
|
|
26
26
|
tag: string;
|
|
27
27
|
hash: string;
|
|
28
|
+
/** Hash of the file with `expect-*` pragma lines removed; also accepted as the recorded one. */
|
|
29
|
+
pragmaFreeHash?: string;
|
|
28
30
|
folderMillis: number;
|
|
29
31
|
statements: string[];
|
|
30
32
|
noTransaction: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../../src/data/migrate/apply.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../../src/data/migrate/apply.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,YAAY;IAC3B,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,EAAE,MAAM,CAAA;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjE;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CACvE;AASD,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,gGAAgG;IAChG,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,aAAa,EAAE,OAAO,CAAA;CACvB;AAED,wBAAsB,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAqI5E;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,YAAY,GAAG,SAAS,EAAE,CA8CjE;AAeD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAErD;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,EACpD,eAAe,EAAE,MAAM,GACtB,MAAM,CAiBR;AAMD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEtD"}
|
|
@@ -2,6 +2,7 @@ import { readFileSync, existsSync } from 'node:fs';
|
|
|
2
2
|
import { createHash } from 'node:crypto';
|
|
3
3
|
import postgres from 'postgres';
|
|
4
4
|
import { scanStatements } from './statements.js';
|
|
5
|
+
import { stripPragmaLines } from './pragma.js';
|
|
5
6
|
const NO_TRANSACTION_PRAGMA = '-- pipework:no-transaction';
|
|
6
7
|
export async function applyMigrations(options) {
|
|
7
8
|
const migrations = readMigrations(options);
|
|
@@ -65,11 +66,11 @@ export async function applyMigrations(options) {
|
|
|
65
66
|
for (const migration of migrations) {
|
|
66
67
|
const appliedHash = appliedHashByTag.get(migration.tag);
|
|
67
68
|
if (appliedHash !== undefined) {
|
|
68
|
-
if (appliedHash
|
|
69
|
+
if (!hashMatches(appliedHash, migration)) {
|
|
69
70
|
throw new Error(`Migration "${migration.tag}" is recorded as applied in ${options.migrationsTable}, but its ` +
|
|
70
71
|
`file content has changed (recorded sha256 ${appliedHash.slice(0, 12)}…, file is now ` +
|
|
71
72
|
`${migration.hash.slice(0, 12)}…). Applied migrations are immutable history — put schema ` +
|
|
72
|
-
`changes in a NEW migration (\`pipework generate\`) instead of editing an applied one. If two ` +
|
|
73
|
+
`changes in a NEW migration (\`pipework generate\`) instead of editing an applied one (adding "-- pipework:expect-*" lines is allowed). If two ` +
|
|
73
74
|
`manifolds share this database and both declare a migration tagged "${migration.tag}", that is ` +
|
|
74
75
|
`a schema-level collision no tracker can reconcile — give them separate databases or distinct ` +
|
|
75
76
|
`migrationTable names.`);
|
|
@@ -132,9 +133,11 @@ export function readMigrations(options) {
|
|
|
132
133
|
raw = makeTablesUnlogged(raw);
|
|
133
134
|
}
|
|
134
135
|
const statements = parseStatements(raw);
|
|
136
|
+
const fileText = readFileSync(filePath, 'utf-8');
|
|
135
137
|
migrations.push({
|
|
136
138
|
tag: entry.tag,
|
|
137
|
-
hash:
|
|
139
|
+
hash: sha256(fileText),
|
|
140
|
+
pragmaFreeHash: sha256(stripPragmaLines(fileText)),
|
|
138
141
|
folderMillis: entry.when,
|
|
139
142
|
statements,
|
|
140
143
|
noTransaction,
|
|
@@ -142,6 +145,17 @@ export function readMigrations(options) {
|
|
|
142
145
|
}
|
|
143
146
|
return migrations;
|
|
144
147
|
}
|
|
148
|
+
function sha256(text) {
|
|
149
|
+
return createHash('sha256').update(text).digest('hex');
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* True when a recorded hash is this migration's: the raw file hash, or the
|
|
153
|
+
* hash with `expect-*` pragma lines removed (those lines may be added to an
|
|
154
|
+
* applied file; nothing else may change).
|
|
155
|
+
*/
|
|
156
|
+
function hashMatches(recorded, migration) {
|
|
157
|
+
return recorded === migration.hash || recorded === migration.pragmaFreeHash;
|
|
158
|
+
}
|
|
145
159
|
/**
|
|
146
160
|
* Split migration SQL into individual statements, honoring drizzle's
|
|
147
161
|
* `--> statement-breakpoint` as an explicit separator.
|
|
@@ -168,7 +182,7 @@ export function progressTableName(migrationsTable) {
|
|
|
168
182
|
export function resumePoint(migration, recorded, migrationsTable) {
|
|
169
183
|
if (recorded === undefined)
|
|
170
184
|
return 0;
|
|
171
|
-
if (recorded.hash
|
|
185
|
+
if (!hashMatches(recorded.hash, migration)) {
|
|
172
186
|
throw new Error(`Migration "${migration.tag}" is half applied — ${recorded.done} of its statements ran before the ` +
|
|
173
187
|
`runner stopped, recorded in ${progressTableName(migrationsTable)} — and its file content has ` +
|
|
174
188
|
`changed since (recorded sha256 ${recorded.hash.slice(0, 12)}…, file is now ` +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../src/data/migrate/apply.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,QAAQ,MAAM,UAAU,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../src/data/migrate/apply.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,9 +18,9 @@
|
|
|
18
18
|
* The deploy command stays a bare `pipework migrate` forever, which means
|
|
19
19
|
* there is no flag to erode.
|
|
20
20
|
*
|
|
21
|
-
* The migration tracker
|
|
22
|
-
*
|
|
23
|
-
*
|
|
21
|
+
* The migration tracker records a content hash per applied migration and
|
|
22
|
+
* refuses edited-but-applied files. Only `expect-*` lines are ignored by that
|
|
23
|
+
* hash, so annotating history is allowed and nothing else about it is.
|
|
24
24
|
*/
|
|
25
25
|
export declare const PRAGMA_PREFIX = "-- pipework:";
|
|
26
26
|
/** Hazard classes that require a per-migration declaration. */
|
|
@@ -32,4 +32,11 @@ export declare const PRAGMA_FOR: Record<PragmaKind, string>;
|
|
|
32
32
|
* authorize anything.
|
|
33
33
|
*/
|
|
34
34
|
export declare function hasPragma(sql: string, kind: PragmaKind): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* `sql` with every `expect-*` pragma line removed, line terminator included.
|
|
37
|
+
* A pragma declares a hazard; it does not change what the migration does, so
|
|
38
|
+
* the tracker's immutability check ignores it: an app may annotate an applied
|
|
39
|
+
* file so a fresh database can replay history through the gate.
|
|
40
|
+
*/
|
|
41
|
+
export declare function stripPragmaLines(sql: string): string;
|
|
35
42
|
//# sourceMappingURL=pragma.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pragma.d.ts","sourceRoot":"","sources":["../../../src/data/migrate/pragma.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,eAAO,MAAM,aAAa,iBAAiB,CAAA;AAE3C,+DAA+D;AAC/D,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,CAAA;AAE9D,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAIjD,CAAA;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"pragma.d.ts","sourceRoot":"","sources":["../../../src/data/migrate/pragma.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,eAAO,MAAM,aAAa,iBAAiB,CAAA;AAE3C,+DAA+D;AAC/D,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,CAAA;AAE9D,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAIjD,CAAA;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAMhE;AAWD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQpD"}
|
|
@@ -18,9 +18,9 @@
|
|
|
18
18
|
* The deploy command stays a bare `pipework migrate` forever, which means
|
|
19
19
|
* there is no flag to erode.
|
|
20
20
|
*
|
|
21
|
-
* The migration tracker
|
|
22
|
-
*
|
|
23
|
-
*
|
|
21
|
+
* The migration tracker records a content hash per applied migration and
|
|
22
|
+
* refuses edited-but-applied files. Only `expect-*` lines are ignored by that
|
|
23
|
+
* hash, so annotating history is allowed and nothing else about it is.
|
|
24
24
|
*/
|
|
25
25
|
export const PRAGMA_PREFIX = '-- pipework:';
|
|
26
26
|
export const PRAGMA_FOR = {
|
|
@@ -36,12 +36,32 @@ export const PRAGMA_FOR = {
|
|
|
36
36
|
export function hasPragma(sql, kind) {
|
|
37
37
|
const wanted = PRAGMA_FOR[kind];
|
|
38
38
|
for (const line of sql.split('\n')) {
|
|
39
|
-
|
|
40
|
-
if (!trimmed.startsWith('--'))
|
|
41
|
-
continue;
|
|
42
|
-
if (trimmed.slice(2).trim() === wanted)
|
|
39
|
+
if (pragmaOfLine(line) === wanted)
|
|
43
40
|
return true;
|
|
44
41
|
}
|
|
45
42
|
return false;
|
|
46
43
|
}
|
|
44
|
+
const DECLARED = new Set(Object.values(PRAGMA_FOR));
|
|
45
|
+
/** The pragma a single line declares, or undefined when it declares none. */
|
|
46
|
+
function pragmaOfLine(line) {
|
|
47
|
+
const trimmed = line.trim();
|
|
48
|
+
if (!trimmed.startsWith('--'))
|
|
49
|
+
return undefined;
|
|
50
|
+
return trimmed.slice(2).trim();
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* `sql` with every `expect-*` pragma line removed, line terminator included.
|
|
54
|
+
* A pragma declares a hazard; it does not change what the migration does, so
|
|
55
|
+
* the tracker's immutability check ignores it: an app may annotate an applied
|
|
56
|
+
* file so a fresh database can replay history through the gate.
|
|
57
|
+
*/
|
|
58
|
+
export function stripPragmaLines(sql) {
|
|
59
|
+
const lines = sql.match(/[^\n]*\n|[^\n]+$/g) ?? [];
|
|
60
|
+
return lines
|
|
61
|
+
.filter((line) => {
|
|
62
|
+
const pragma = pragmaOfLine(line);
|
|
63
|
+
return pragma === undefined || !DECLARED.has(pragma);
|
|
64
|
+
})
|
|
65
|
+
.join('');
|
|
66
|
+
}
|
|
47
67
|
//# sourceMappingURL=pragma.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pragma.js","sourceRoot":"","sources":["../../../src/data/migrate/pragma.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,cAAc,CAAA;AAK3C,MAAM,CAAC,MAAM,UAAU,GAA+B;IACpD,WAAW,EAAE,6BAA6B;IAC1C,OAAO,EAAE,yBAAyB;IAClC,OAAO,EAAE,yBAAyB;CACnC,CAAA;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,GAAW,EAAE,IAAgB;IACrD,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IAC/B,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"pragma.js","sourceRoot":"","sources":["../../../src/data/migrate/pragma.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,cAAc,CAAA;AAK3C,MAAM,CAAC,MAAM,UAAU,GAA+B;IACpD,WAAW,EAAE,6BAA6B;IAC1C,OAAO,EAAE,yBAAyB;IAClC,OAAO,EAAE,yBAAyB;CACnC,CAAA;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,GAAW,EAAE,IAAgB;IACrD,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IAC/B,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,MAAM;YAAE,OAAO,IAAI,CAAA;IAChD,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;AAE3D,6EAA6E;AAC7E,SAAS,YAAY,CAAC,IAAY;IAChC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;IAC3B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAA;IAC/C,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;AAChC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAA;IAClD,OAAO,KAAK;SACT,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;QACjC,OAAO,MAAM,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACtD,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAA;AACb,CAAC"}
|
|
@@ -80,7 +80,13 @@ export declare class Builder<TDeps extends Record<string, unknown>, TDb extends
|
|
|
80
80
|
* when the server is built.
|
|
81
81
|
*/
|
|
82
82
|
rateLimit(name: string | false): Builder<TDeps, TDb>;
|
|
83
|
-
|
|
83
|
+
/**
|
|
84
|
+
* Marks this handler a job. Its deps gain `signal`: aborted when the job is no longer this
|
|
85
|
+
* handler's (returned to pending on shutdown, ...); check it before any outside effect.
|
|
86
|
+
*/
|
|
87
|
+
job(type?: string): Builder<TDeps & {
|
|
88
|
+
signal: AbortSignal;
|
|
89
|
+
}, TDb>;
|
|
84
90
|
/**
|
|
85
91
|
* Selects how this handler's database transaction(s) are managed. Applies to
|
|
86
92
|
* a job and to a route alike.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../src/request/di/builder.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../src/request/di/builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAA;AAEhD,OAAO,KAAK,EAAE,OAAO,EAAe,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAC/Q,OAAO,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACzF,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAG7E,UAAU,YAAY;IACpB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,YAAY,EAAE,OAAO,CAAA;IACrB,eAAe,EAAE,eAAe,CAAA;IAChC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,KAAK,EAAE,SAAS,GAAG,IAAI,CAAA;IACvB,IAAI,EAAE,UAAU,GAAG,KAAK,GAAG,IAAI,CAAA;IAC/B,SAAS,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAAA;IAChC,KAAK,EAAE,OAAO,CAAA;IACd,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAA;IAC/B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,cAAc,EAAE,kBAAkB,CAAA;IAClC,UAAU,EAAE,cAAc,GAAG,IAAI,CAAA;IACjC,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAA;IACnC,YAAY,EAAE,OAAO,CAAA;IACrB,aAAa,EAAE,OAAO,CAAA;IACtB,YAAY,EAAE,OAAO,CAAA;IACrB,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;IAC3B,IAAI,EAAE,UAAU,GAAG,IAAI,CAAA;CACxB;AAED;;;;;GAKG;AACH,KAAK,UAAU,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG;IAAE,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAA;CAAE,CAAA;AAEtF,qBAAa,OAAO,CAClB,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;IAElD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;gBAExB,KAAK,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC;IA2BzC,GAAG,IAAI,OAAO,CAAC,KAAK,GAAG;QAAE,EAAE,EAAE,EAAE,CAAA;KAAE,EAAE,GAAG,GAAG;QAAE,EAAE,EAAE,EAAE,CAAA;KAAE,CAAC;IACpD,GAAG,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAUnF,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,GAAG;QAAE,IAAI,EAAE,KAAK,CAAA;KAAE,EAAE,GAAG,CAAC;IAQpD,YAAY,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,GAAG;QAAE,IAAI,EAAE,KAAK,GAAG,IAAI,CAAA;KAAE,EAAE,GAAG,CAAC;IAQnE,MAAM,IAAI,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;IAQ7B,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;KAAE,EAAE,GAAG,CAAC;IAO7E,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;KAAE,EAAE,GAAG,CAAC;IAO7E,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,GAAG;QAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;KAAE,EAAE,GAAG,CAAC;IAO/E,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;IACxD,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;IAmBxE,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;IAYpH;;;;OAIG;IACH,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;IAIpD;;;;;OAKG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;IAIpD;;;OAGG;IACH,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG;QAAE,MAAM,EAAE,WAAW,CAAA;KAAE,EAAE,GAAG,CAAC;IAQjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;IAC9C,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC;IASjE,KAAK,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;IAOlD,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;IAOxC,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;IAUjF,QAAQ,CAAC,MAAM,GAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;IAUxF,OAAO,IAAI,OAAO,CAAC,KAAK,GAAG;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE,EAAE,GAAG,CAAC;IAOzD,QAAQ,IAAI,OAAO,CAAC,KAAK,GAAG;QAAE,QAAQ,EAAE,YAAY,CAAA;KAAE,EAAE,GAAG,CAAC;IAO5D,OAAO,IAAI,OAAO,CAAC,KAAK,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,CAAC;IAOpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkDG;IACH,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,GAAG;QAAE,MAAM,EAAE,YAAY,CAAA;KAAE,EAAE,GAAG,CAAC;IAClF,MAAM,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,KAAK,GAAG;QAAE,MAAM,EAAE,eAAe,CAAA;KAAE,EAAE,GAAG,CAAC;IAkBxF;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,IAAI,CAAC,MAAM,EAAE;QAAE,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;IAcrF,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IAepF,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC;CAqE7E;AAED,wBAAgB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAE7D"}
|
|
@@ -118,6 +118,10 @@ export class Builder {
|
|
|
118
118
|
rateLimit(name) {
|
|
119
119
|
return new Builder({ ...this.state, rateLimit: name });
|
|
120
120
|
}
|
|
121
|
+
/**
|
|
122
|
+
* Marks this handler a job. Its deps gain `signal`: aborted when the job is no longer this
|
|
123
|
+
* handler's (returned to pending on shutdown, ...); check it before any outside effect.
|
|
124
|
+
*/
|
|
121
125
|
job(type) {
|
|
122
126
|
return new Builder({
|
|
123
127
|
...this.state,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/request/di/builder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAIvC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAmCrD,MAAM,OAAO,OAAO;IAID,KAAK,CAAc;IAEpC,YAAY,KAA6B;QACvC,IAAI,CAAC,KAAK,GAAG;YACX,SAAS,EAAE,KAAK,EAAE,SAAS,IAAI,EAAE;YACjC,YAAY,EAAE,KAAK,EAAE,YAAY,IAAI,KAAK;YAC1C,eAAe,EAAE,KAAK,EAAE,eAAe,IAAI,MAAM;YACjD,WAAW,EAAE,KAAK,EAAE,WAAW,IAAI,IAAI;YACvC,aAAa,EAAE,KAAK,EAAE,aAAa,IAAI,IAAI,GAAG,EAAE;YAChD,WAAW,EAAE,KAAK,EAAE,WAAW,IAAI,IAAI;YACvC,YAAY,EAAE,KAAK,EAAE,YAAY,IAAI,IAAI;YACzC,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,IAAI;YAC3B,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,IAAI;YACzB,SAAS,EAAE,KAAK,EAAE,SAAS,IAAI,IAAI;YACnC,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,KAAK;YAC5B,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,IAAI;YAC/B,QAAQ,EAAE,KAAK,EAAE,QAAQ,IAAI,IAAI;YACjC,UAAU,EAAE,KAAK,EAAE,UAAU,IAAI,IAAI;YACrC,cAAc,EAAE,KAAK,EAAE,cAAc,IAAI,MAAM;YAC/C,UAAU,EAAE,KAAK,EAAE,UAAU,IAAI,IAAI;YACrC,UAAU,EAAE,KAAK,EAAE,UAAU,IAAI,IAAI;YACrC,YAAY,EAAE,KAAK,EAAE,YAAY,IAAI,KAAK;YAC1C,aAAa,EAAE,KAAK,EAAE,aAAa,IAAI,KAAK;YAC5C,YAAY,EAAE,KAAK,EAAE,YAAY,IAAI,KAAK;YAC1C,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,IAAI;YAC7B,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,IAAI;SAC1B,CAAA;IACH,CAAC;IAID,8DAA8D;IAC9D,GAAG,CAAC,IAAa;QACf,MAAM,QAAQ,GAAG,IAAI,IAAI,UAAU,CAAA;QACnC,OAAO,IAAI,OAAO,CAAC;YACjB,GAAG,IAAI,CAAC,KAAK;YACb,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC;SAC/C,CAAC,CAAA;IACJ,CAAC;IAED,IAAI;QACF,OAAO,IAAI,OAAO,CAA+B;YAC/C,GAAG,IAAI,CAAC,KAAK;YACb,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,UAAU;SAC5B,CAAC,CAAA;IACJ,CAAC;IAED,YAAY;QACV,OAAO,IAAI,OAAO,CAAsC;YACtD,GAAG,IAAI,CAAC,KAAK;YACb,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,UAAU;SAC5B,CAAC,CAAA;IACJ,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,OAAO,CAAa;YAC7B,GAAG,IAAI,CAAC,KAAK;YACb,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,MAAM;SACxB,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAmB,MAAS;QAC/B,OAAO,IAAI,OAAO,CAAmC;YACnD,GAAG,IAAI,CAAC,KAAK;YACb,WAAW,EAAE,MAAM;SACpB,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAmB,MAAS;QAC/B,OAAO,IAAI,OAAO,CAAmC;YACnD,GAAG,IAAI,CAAC,KAAK;YACb,WAAW,EAAE,MAAM;SACpB,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,CAAmB,MAAS;QAChC,OAAO,IAAI,OAAO,CAAoC;YACpD,GAAG,IAAI,CAAC,KAAK;YACb,YAAY,EAAE,MAAM;SACrB,CAAC,CAAA;IACJ,CAAC;IAID,MAAM,CAAC,cAA+B,EAAE,WAAoB;QAC1D,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;QACjD,MAAM,MAAM,GAAG,OAAO,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAA;QACxE,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YAC/F,MAAM,IAAI,KAAK,CACb,wCAAwC,MAAM,SAAS,KAAK,OAAO;gBACnE,8HAA8H;gBAC9H,kBAAkB,MAAM,oEAAoE,MAAM,kCAAkC,CACrI,CAAA;QACH,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAA;QACvF,OAAO,IAAI,OAAO,CAAa;YAC7B,GAAG,IAAI,CAAC,KAAK;YACb,aAAa,EAAE,OAAO;SACvB,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,MAAkB,EAAE,IAAY,EAAE,OAAsD;QAC5F,OAAO,IAAI,OAAO,CAAa;YAC7B,GAAG,IAAI,CAAC,KAAK;YACb,KAAK,EAAE;gBACL,MAAM;gBACN,IAAI;gBACJ,GAAG,CAAC,OAAO,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7E,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACrE;SACF,CAAC,CAAA;IACJ,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAC,KAAyB;QAC5B,OAAO,IAAI,OAAO,CAAa,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IAChE,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,IAAoB;QAC5B,OAAO,IAAI,OAAO,CAAa,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACpE,CAAC;IAED,GAAG,CAAC,IAAa;QACf,OAAO,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/request/di/builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,8 @@ export interface ResolveOptions {
|
|
|
16
16
|
* would be a footgun.
|
|
17
17
|
*/
|
|
18
18
|
readonly checkpoint?: CheckpointFn;
|
|
19
|
+
/** A job's own signal, injected as the `signal` dep. */
|
|
20
|
+
readonly signal?: AbortSignal;
|
|
19
21
|
}
|
|
20
22
|
/**
|
|
21
23
|
* Resolves the database deps a handler declared with `.use()` into the deps
|
|
@@ -52,5 +54,5 @@ export declare function resolveHandlerDatabases<TDeps extends Record<string, unk
|
|
|
52
54
|
* Shared by the job surface and the HTTP surface so the two cannot drift in
|
|
53
55
|
* what a checkpoint is.
|
|
54
56
|
*/
|
|
55
|
-
export declare function buildCheckpoint<TDeps extends Record<string, unknown>, TReturn>(handler: Handler<TDeps, TReturn>, ctx: Flow, databases: readonly string[], tenant: TenantConfig | null, timeoutMs: number, signal?: AbortSignal): CheckpointFn;
|
|
57
|
+
export declare function buildCheckpoint<TDeps extends Record<string, unknown>, TReturn>(handler: Handler<TDeps, TReturn>, ctx: Flow, databases: readonly string[], tenant: TenantConfig | null, timeoutMs: number, signal?: AbortSignal, refuseWhenAborted?: AbortSignal): CheckpointFn;
|
|
56
58
|
//# sourceMappingURL=resolve.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../src/request/di/resolve.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACtF,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAE9D,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAOjE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAA;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAA;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,eAAe,CAAA;IAChD;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../src/request/di/resolve.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACtF,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAE9D,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAOjE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAA;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAA;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,eAAe,CAAA;IAChD;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,YAAY,CAAA;IAClC,wDAAwD;IACxD,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAC9B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,GAAG,EAAE,IAAI,EACT,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GACtC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAyBpB;AAED,wBAAsB,iBAAiB,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EACpF,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,EAChC,QAAQ,CAAC,EAAE,OAAO,EAClB,QAAQ,CAAC,EAAE,OAAO,EAClB,SAAS,CAAC,EAAE,OAAO,EACnB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,OAAO,CAAC,CA6GlB;AAOD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EACpF,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,EAChC,QAAQ,EAAE,QAAQ,GACjB,MAAM,EAAE,CAMV;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAC5E,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,EAChC,GAAG,EAAE,IAAI,EACT,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,MAAM,EAAE,YAAY,GAAG,IAAI,EAC3B,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,WAAW,EACpB,iBAAiB,CAAC,EAAE,WAAW,GAC9B,YAAY,CAYd"}
|
|
@@ -64,6 +64,11 @@ export async function resolveAndExecute(handler, rawInput, rawQuery, rawParams,
|
|
|
64
64
|
else {
|
|
65
65
|
Object.assign(deps, resolveDatabaseDeps(handler.meta.databases, ctx));
|
|
66
66
|
}
|
|
67
|
+
// A job handler's type promises `signal`; one run outside executeJob gets a signal that never aborts.
|
|
68
|
+
if (options?.signal !== undefined)
|
|
69
|
+
deps['signal'] = options.signal;
|
|
70
|
+
else if (handler.meta.isJob)
|
|
71
|
+
deps['signal'] = new AbortController().signal;
|
|
67
72
|
if (handler.meta.requiresAuth) {
|
|
68
73
|
if (ctx.auth === null) {
|
|
69
74
|
throw new UnauthorizedError();
|
|
@@ -158,7 +163,9 @@ export function resolveHandlerDatabases(handler, instance) {
|
|
|
158
163
|
* Shared by the job surface and the HTTP surface so the two cannot drift in
|
|
159
164
|
* what a checkpoint is.
|
|
160
165
|
*/
|
|
161
|
-
export function buildCheckpoint(handler, ctx, databases, tenant, timeoutMs, signal) {
|
|
162
|
-
return (fn) =>
|
|
166
|
+
export function buildCheckpoint(handler, ctx, databases, tenant, timeoutMs, signal, refuseWhenAborted) {
|
|
167
|
+
return (fn) => refuseWhenAborted?.aborted === true
|
|
168
|
+
? Promise.reject(refuseWhenAborted.reason)
|
|
169
|
+
: executeInTransaction(ctx, databases, tenant, timeoutMs, () => fn(resolveDatabaseDeps(handler.meta.databases, requireContext(), { scoped: false })), signal);
|
|
163
170
|
}
|
|
164
171
|
//# sourceMappingURL=resolve.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../src/request/di/resolve.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAMvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAA;AAEvE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC/E,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../src/request/di/resolve.ts"],"names":[],"mappings":"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"}
|