@nifrajs/core 2.2.0 → 2.4.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/README.md +2 -2
- package/dist/assurance.d.ts +48 -4
- package/dist/assurance.d.ts.map +1 -1
- package/dist/assurance.js +87 -9
- package/dist/assurance.js.map +1 -1
- package/dist/binary.d.ts +54 -0
- package/dist/binary.d.ts.map +1 -0
- package/dist/binary.js +90 -0
- package/dist/binary.js.map +1 -0
- package/dist/budget.d.ts +1 -1
- package/dist/budget.js +1 -1
- package/dist/capabilities.d.ts +19 -2
- package/dist/capabilities.d.ts.map +1 -1
- package/dist/capabilities.js +60 -8
- package/dist/capabilities.js.map +1 -1
- package/dist/classification.d.ts +1 -1
- package/dist/classification.js +1 -1
- package/dist/diff.d.ts +6 -6
- package/dist/diff.js +6 -6
- package/dist/durable-adapters.d.ts.map +1 -1
- package/dist/durable-adapters.js +36 -70
- package/dist/durable-adapters.js.map +1 -1
- package/dist/durable-execution.d.ts +2 -2
- package/dist/durable-execution.js +2 -2
- package/dist/idempotency.d.ts +3 -3
- package/dist/idempotency.js +4 -4
- package/dist/index.d.ts +3 -3
- package/dist/index.js +3 -3
- package/dist/internal/brand.d.ts +1 -1
- package/dist/internal/brand.js +1 -1
- package/dist/internal/route-catalog.d.ts +58 -0
- package/dist/internal/route-catalog.d.ts.map +1 -0
- package/dist/internal/route-catalog.js +58 -0
- package/dist/internal/route-catalog.js.map +1 -0
- package/dist/internal/route-execution.d.ts +75 -0
- package/dist/internal/route-execution.d.ts.map +1 -0
- package/dist/internal/route-execution.js +2 -0
- package/dist/internal/route-execution.js.map +1 -0
- package/dist/internal/same-origin.d.ts +29 -0
- package/dist/internal/same-origin.d.ts.map +1 -0
- package/dist/internal/same-origin.js +47 -0
- package/dist/internal/same-origin.js.map +1 -0
- package/dist/internal/secret.d.ts +1 -1
- package/dist/internal/secret.js +1 -1
- package/dist/ledger.d.ts +9 -9
- package/dist/ledger.js +5 -5
- package/dist/reflection.d.ts +1 -1
- package/dist/router/pattern.d.ts +9 -0
- package/dist/router/pattern.d.ts.map +1 -1
- package/dist/router/pattern.js +13 -4
- package/dist/router/pattern.js.map +1 -1
- package/dist/router/router.js +3 -3
- package/dist/schema/standard.d.ts +2 -2
- package/dist/schema/standard.js +2 -2
- package/dist/seo.d.ts +3 -3
- package/dist/seo.js +4 -4
- package/dist/server/body.d.ts +2 -2
- package/dist/server/body.js +2 -2
- package/dist/server/context.d.ts +18 -18
- package/dist/server/contract.d.ts +7 -7
- package/dist/server/contract.js +3 -3
- package/dist/server/cookies.d.ts +4 -4
- package/dist/server/cookies.js +8 -8
- package/dist/server/edge.d.ts +83 -0
- package/dist/server/edge.d.ts.map +1 -0
- package/dist/server/edge.js +71 -0
- package/dist/server/edge.js.map +1 -0
- package/dist/server/install.d.ts +2 -0
- package/dist/server/install.d.ts.map +1 -1
- package/dist/server/install.js +2 -0
- package/dist/server/install.js.map +1 -1
- package/dist/server/logger.d.ts +7 -7
- package/dist/server/logger.js +4 -4
- package/dist/server/registry.d.ts +5 -5
- package/dist/server/response-contract-lane.d.ts +91 -0
- package/dist/server/response-contract-lane.d.ts.map +1 -0
- package/dist/server/response-contract-lane.js +81 -0
- package/dist/server/response-contract-lane.js.map +1 -0
- package/dist/server/server.d.ts +52 -91
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +130 -186
- package/dist/server/server.js.map +1 -1
- package/dist/server/sse.d.ts +4 -4
- package/dist/server/sse.js +7 -7
- package/dist/server/webhook.d.ts +1 -1
- package/dist/server/webhook.js +5 -5
- package/dist/server/websocket.d.ts +19 -19
- package/dist/server/websocket.js +9 -9
- package/dist/server/ws-bun.d.ts +4 -4
- package/dist/server/ws-bun.js +3 -3
- package/dist/server.d.ts +3 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +3 -1
- package/dist/server.js.map +1 -1
- package/dist/transport-codec.d.ts +12 -0
- package/dist/transport-codec.d.ts.map +1 -1
- package/dist/transport-codec.js +19 -4
- package/dist/transport-codec.js.map +1 -1
- package/package.json +12 -2
- package/src/assurance.ts +154 -8
- package/src/binary.ts +128 -0
- package/src/budget.ts +1 -1
- package/src/capabilities.ts +71 -9
- package/src/classification.ts +1 -1
- package/src/diff.ts +8 -8
- package/src/durable-adapters.ts +40 -70
- package/src/durable-execution.ts +2 -2
- package/src/idempotency.ts +4 -4
- package/src/index.ts +3 -3
- package/src/internal/brand.ts +1 -1
- package/src/internal/route-catalog.ts +94 -0
- package/src/internal/route-execution.ts +106 -0
- package/src/internal/same-origin.ts +43 -0
- package/src/internal/secret.ts +1 -1
- package/src/ledger.ts +11 -11
- package/src/reflection.ts +1 -1
- package/src/router/pattern.ts +16 -4
- package/src/router/router.ts +5 -5
- package/src/schema/standard.ts +2 -2
- package/src/seo.ts +6 -6
- package/src/server/body.ts +2 -2
- package/src/server/context.ts +18 -18
- package/src/server/contract.ts +13 -13
- package/src/server/cookies.ts +8 -8
- package/src/server/edge.ts +150 -0
- package/src/server/install.ts +5 -0
- package/src/server/logger.ts +8 -8
- package/src/server/registry.ts +5 -5
- package/src/server/response-contract-lane.ts +164 -0
- package/src/server/server.ts +159 -366
- package/src/server/sse.ts +11 -11
- package/src/server/webhook.ts +5 -5
- package/src/server/websocket.ts +22 -22
- package/src/server/ws-bun.ts +4 -4
- package/src/server.ts +8 -5
- package/src/transport-codec.ts +24 -5
package/dist/capabilities.js
CHANGED
|
@@ -9,6 +9,29 @@ import { effectScopeForContext } from "./internal/effect-execution.js";
|
|
|
9
9
|
import { NIFRA_ASSURANCE_IDS } from "./internal/route-assurance.js";
|
|
10
10
|
import { effectLedgerOf, normalizeEffectMetadata, } from "./ledger.js";
|
|
11
11
|
import { reflectRoutes } from "./reflection.js";
|
|
12
|
+
const EXECUTION_JOURNAL = Symbol("nifra.capability.journal");
|
|
13
|
+
/**
|
|
14
|
+
* Framework wiring: put a journal on a request context so every `executeCapability` on that request is
|
|
15
|
+
* journaled without each call site threading it. Not for application code - install the
|
|
16
|
+
* `durableCommand()` adapter, which calls this and declares the assurance evidence that goes with it.
|
|
17
|
+
*
|
|
18
|
+
* Symbol-keyed, mirroring `attachEffectLedger`: it cannot collide with an application field and does
|
|
19
|
+
* not show up in a context spread or a log of it.
|
|
20
|
+
*
|
|
21
|
+
* Deliberately here rather than beside the journal TYPE in `internal/capability-runtime.ts`. That
|
|
22
|
+
* module is reachable from a bare server - it holds the route-capability guard - so a seam living
|
|
23
|
+
* there ships to every app, while here it arrives only with `executeCapability`, the one thing that
|
|
24
|
+
* reads it. Measured rather than assumed: in the internal module this cost every bundle row in the
|
|
25
|
+
* size matrix 10-18 bytes gzip, enough to put `nifra-mcp` over its ceiling.
|
|
26
|
+
*/
|
|
27
|
+
export function attachCapabilityJournal(context, journal) {
|
|
28
|
+
;
|
|
29
|
+
context[EXECUTION_JOURNAL] = journal;
|
|
30
|
+
}
|
|
31
|
+
/** The journal installed for this request, if any. */
|
|
32
|
+
export function capabilityJournalOf(context) {
|
|
33
|
+
return context[EXECUTION_JOURNAL];
|
|
34
|
+
}
|
|
12
35
|
const SAFE_METHODS = new Set(["GET", "HEAD"]);
|
|
13
36
|
export { validCapabilityId };
|
|
14
37
|
function normalizedIds(values, label) {
|
|
@@ -162,16 +185,37 @@ export function evaluateCapabilityAssurance(source, policyInput, evidenceSet) {
|
|
|
162
185
|
message: `${route.method} ${route.path} has no static provenance coverage`,
|
|
163
186
|
});
|
|
164
187
|
}
|
|
188
|
+
// A safe-method route that REACHES a domain write without declaring it used to draw two findings
|
|
189
|
+
// giving opposite advice: declare it (evidence exceeds its declaration) and do not declare it (a
|
|
190
|
+
// safe method cannot carry a domain write). Both are right and together they are a dead end - the
|
|
191
|
+
// route cannot declare its way out, because the problem is not the declaration. Reach is computed
|
|
192
|
+
// from the module that registers the route, so a read endpoint sitting beside a write seam has
|
|
193
|
+
// write powers in scope, and the only fix is to confine them. Report that once, and say so.
|
|
194
|
+
const unconfined = new Set();
|
|
165
195
|
for (const id of evidenceIds) {
|
|
166
|
-
if (
|
|
196
|
+
if (declared.includes(id))
|
|
197
|
+
continue;
|
|
198
|
+
const definition = definitions.get(id);
|
|
199
|
+
if (SAFE_METHODS.has(route.method) &&
|
|
200
|
+
definition?.zone === "domain" &&
|
|
201
|
+
definition.access === "write") {
|
|
202
|
+
unconfined.add(id);
|
|
167
203
|
findings.push({
|
|
168
|
-
code: "
|
|
204
|
+
code: "unconfined-write-reach",
|
|
169
205
|
method: route.method,
|
|
170
206
|
path: route.path,
|
|
171
207
|
capability: id,
|
|
172
|
-
message: `${route.method} ${route.path}
|
|
208
|
+
message: `${route.method} ${route.path} can reach domain write capability ${id} without declaring it, and a safe method may not declare one - move the route or the effect so the write is not in its module's reach`,
|
|
173
209
|
});
|
|
210
|
+
continue;
|
|
174
211
|
}
|
|
212
|
+
findings.push({
|
|
213
|
+
code: "undeclared-capability-evidence",
|
|
214
|
+
method: route.method,
|
|
215
|
+
path: route.path,
|
|
216
|
+
capability: id,
|
|
217
|
+
message: `${route.method} ${route.path} evidence exceeds its declaration: ${id}`,
|
|
218
|
+
});
|
|
175
219
|
}
|
|
176
220
|
const effective = new Set([...declared, ...evidenceIds]);
|
|
177
221
|
const assuranceIds = new Set((route.assurance ?? []).map((item) => item.id));
|
|
@@ -181,7 +225,10 @@ export function evaluateCapabilityAssurance(source, policyInput, evidenceSet) {
|
|
|
181
225
|
continue;
|
|
182
226
|
if (SAFE_METHODS.has(route.method) &&
|
|
183
227
|
definition.zone === "domain" &&
|
|
184
|
-
definition.access === "write"
|
|
228
|
+
definition.access === "write" &&
|
|
229
|
+
// Already reported as unconfined reach, with the fix that case actually has. Repeating "cannot
|
|
230
|
+
// carry" here is the half of the dead end that sends the reader back the way they came.
|
|
231
|
+
!unconfined.has(id)) {
|
|
185
232
|
findings.push({
|
|
186
233
|
code: "safe-method-domain-write",
|
|
187
234
|
method: route.method,
|
|
@@ -403,6 +450,11 @@ export async function executeCapability(context, capability, options, executor)
|
|
|
403
450
|
}
|
|
404
451
|
const guard = guardFor(context, capability);
|
|
405
452
|
const ledger = effectLedgerOf(context);
|
|
453
|
+
// An explicitly passed journal wins, so every existing call site behaves exactly as it did. The
|
|
454
|
+
// context journal is what the `durableCommand()` adapter installs, so that declaring the adapter
|
|
455
|
+
// once journals every effect on the request rather than each call site remembering to thread it -
|
|
456
|
+
// and so the `nifra.durable-command` evidence it declares is backed by something.
|
|
457
|
+
const journal = options.journal ?? capabilityJournalOf(context);
|
|
406
458
|
const effectId = crypto.randomUUID();
|
|
407
459
|
const metadata = normalizeEffectMetadata(options);
|
|
408
460
|
const trace = effectTraceParentOf(context);
|
|
@@ -443,7 +495,7 @@ export async function executeCapability(context, capability, options, executor)
|
|
|
443
495
|
transitions: {
|
|
444
496
|
async intent(execution) {
|
|
445
497
|
ledger?.append({ capability, effectId: execution.effectId, ...metadata, phase: "intent" });
|
|
446
|
-
await
|
|
498
|
+
await journal?.intent({
|
|
447
499
|
effectId: execution.effectId,
|
|
448
500
|
capability,
|
|
449
501
|
...(metadata.target === undefined ? {} : { target: metadata.target }),
|
|
@@ -454,11 +506,11 @@ export async function executeCapability(context, capability, options, executor)
|
|
|
454
506
|
});
|
|
455
507
|
},
|
|
456
508
|
async executing(execution) {
|
|
457
|
-
await
|
|
509
|
+
await journal?.executing(execution.effectId);
|
|
458
510
|
},
|
|
459
511
|
async committed(execution) {
|
|
460
512
|
try {
|
|
461
|
-
await
|
|
513
|
+
await journal?.committed(execution.effectId);
|
|
462
514
|
}
|
|
463
515
|
catch {
|
|
464
516
|
throw new CapabilityJournalTransitionError(capability, execution.effectId, "committed");
|
|
@@ -466,7 +518,7 @@ export async function executeCapability(context, capability, options, executor)
|
|
|
466
518
|
},
|
|
467
519
|
async failed(execution, failure) {
|
|
468
520
|
try {
|
|
469
|
-
await
|
|
521
|
+
await journal?.failed(execution.effectId, {
|
|
470
522
|
began: failure.began,
|
|
471
523
|
errorCode: failure.errorCode,
|
|
472
524
|
});
|
package/dist/capabilities.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"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"}
|
package/dist/classification.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Response data-classification tags. A route can declare the highest sensitivity its response body
|
|
3
|
-
* carries (`schema.classification`). This is a declarative, compile-time + introspection fact
|
|
3
|
+
* carries (`schema.classification`). This is a declarative, compile-time + introspection fact - never
|
|
4
4
|
* read on the request hot path and never enforced at runtime here. Downstream consumers use it: a
|
|
5
5
|
* partner-API surface refuses to expose a route whose response is `pii`/`secret`, privacy tooling
|
|
6
6
|
* learns which routes emit regulated data, and the capability lockfile records it so a route that
|
package/dist/classification.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Response data-classification tags. A route can declare the highest sensitivity its response body
|
|
3
|
-
* carries (`schema.classification`). This is a declarative, compile-time + introspection fact
|
|
3
|
+
* carries (`schema.classification`). This is a declarative, compile-time + introspection fact - never
|
|
4
4
|
* read on the request hot path and never enforced at runtime here. Downstream consumers use it: a
|
|
5
5
|
* partner-API surface refuses to expose a route whose response is `pii`/`secret`, privacy tooling
|
|
6
6
|
* learns which routes emit regulated data, and the capability lockfile records it so a route that
|
package/dist/diff.d.ts
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* API breaking-change detection over route reflection.
|
|
3
3
|
*
|
|
4
|
-
* `snapshotRoutes` turns an app (or reflected descriptors) into a plain-JSON snapshot
|
|
4
|
+
* `snapshotRoutes` turns an app (or reflected descriptors) into a plain-JSON snapshot - the
|
|
5
5
|
* `standard` validators are dropped, so a snapshot survives `JSON.stringify` and can be committed
|
|
6
6
|
* as a CI baseline. `diffRouteSnapshots` compares two snapshots and classifies every change by
|
|
7
7
|
* wire compatibility, direction-aware:
|
|
8
8
|
*
|
|
9
|
-
* request direction (body/query
|
|
9
|
+
* request direction (body/query - what clients SEND): a new required field, a removed field, or
|
|
10
10
|
* a narrowed type breaks existing callers; widening (new optional field, enum superset,
|
|
11
11
|
* required→optional) is compatible.
|
|
12
|
-
* response direction (response/sse/errors
|
|
12
|
+
* response direction (response/sse/errors - what clients RECEIVE): a removed field, a field made
|
|
13
13
|
* optional, or a widened type breaks existing readers; narrowing (new field, optional→required,
|
|
14
14
|
* enum subset) is compatible.
|
|
15
15
|
*
|
|
16
16
|
* The classifier FAILS CLOSED: a schema change it cannot prove compatible is reported as breaking.
|
|
17
17
|
* Schemas without JSON Schema metadata (validation-only Standard Schemas) cannot be compared and
|
|
18
|
-
* yield `info`
|
|
18
|
+
* yield `info` - never a silent pass presented as proof.
|
|
19
19
|
*/
|
|
20
20
|
import { type JsonSchema, type ReflectedSchemaField } from "./reflection.js";
|
|
21
21
|
/** One schema position in a snapshot: JSON Schema metadata only, no validator. */
|
|
@@ -30,7 +30,7 @@ export interface RouteSnapshotSchema {
|
|
|
30
30
|
readonly sse?: SchemaSnapshot;
|
|
31
31
|
readonly errors?: Readonly<Record<string, SchemaSnapshot>>;
|
|
32
32
|
}
|
|
33
|
-
/** One route in a snapshot
|
|
33
|
+
/** One route in a snapshot - plain JSON, safe to persist as a CI baseline. */
|
|
34
34
|
export interface RouteSnapshot {
|
|
35
35
|
readonly method: string;
|
|
36
36
|
readonly path: string;
|
|
@@ -49,7 +49,7 @@ export interface RouteChange {
|
|
|
49
49
|
}
|
|
50
50
|
export interface RoutesDiff {
|
|
51
51
|
readonly changes: readonly RouteChange[];
|
|
52
|
-
/** True when any change is `breaking`
|
|
52
|
+
/** True when any change is `breaking` - the CI-gate signal. */
|
|
53
53
|
readonly hasBreaking: boolean;
|
|
54
54
|
}
|
|
55
55
|
/**
|
package/dist/diff.js
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* API breaking-change detection over route reflection.
|
|
3
3
|
*
|
|
4
|
-
* `snapshotRoutes` turns an app (or reflected descriptors) into a plain-JSON snapshot
|
|
4
|
+
* `snapshotRoutes` turns an app (or reflected descriptors) into a plain-JSON snapshot - the
|
|
5
5
|
* `standard` validators are dropped, so a snapshot survives `JSON.stringify` and can be committed
|
|
6
6
|
* as a CI baseline. `diffRouteSnapshots` compares two snapshots and classifies every change by
|
|
7
7
|
* wire compatibility, direction-aware:
|
|
8
8
|
*
|
|
9
|
-
* request direction (body/query
|
|
9
|
+
* request direction (body/query - what clients SEND): a new required field, a removed field, or
|
|
10
10
|
* a narrowed type breaks existing callers; widening (new optional field, enum superset,
|
|
11
11
|
* required→optional) is compatible.
|
|
12
|
-
* response direction (response/sse/errors
|
|
12
|
+
* response direction (response/sse/errors - what clients RECEIVE): a removed field, a field made
|
|
13
13
|
* optional, or a widened type breaks existing readers; narrowing (new field, optional→required,
|
|
14
14
|
* enum subset) is compatible.
|
|
15
15
|
*
|
|
16
16
|
* The classifier FAILS CLOSED: a schema change it cannot prove compatible is reported as breaking.
|
|
17
17
|
* Schemas without JSON Schema metadata (validation-only Standard Schemas) cannot be compared and
|
|
18
|
-
* yield `info`
|
|
18
|
+
* yield `info` - never a silent pass presented as proof.
|
|
19
19
|
*/
|
|
20
20
|
import { reflectRoutes, } from "./reflection.js";
|
|
21
21
|
const schemaSnapshot = (reflection) => {
|
|
@@ -166,9 +166,9 @@ const diffSchemaSection = (ctx, before, after) => {
|
|
|
166
166
|
return;
|
|
167
167
|
}
|
|
168
168
|
if (before.jsonSchema === undefined || after.jsonSchema === undefined) {
|
|
169
|
-
// Validation-only schemas expose no JSON Schema metadata
|
|
169
|
+
// Validation-only schemas expose no JSON Schema metadata - nothing provable either way.
|
|
170
170
|
if (before.jsonSchema !== after.jsonSchema || before.fields !== after.fields) {
|
|
171
|
-
push(ctx, "info", `${ctx.section} schema is not introspectable
|
|
171
|
+
push(ctx, "info", `${ctx.section} schema is not introspectable - cannot verify compatibility`);
|
|
172
172
|
}
|
|
173
173
|
return;
|
|
174
174
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"durable-adapters.d.ts","sourceRoot":"","sources":["../src/durable-adapters.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"durable-adapters.d.ts","sourceRoot":"","sources":["../src/durable-adapters.ts"],"names":[],"mappings":"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"}
|
package/dist/durable-adapters.js
CHANGED
|
@@ -292,10 +292,24 @@ export async function runDurableExecutionAdapterConformance(adapter) {
|
|
|
292
292
|
return { effects: true, approvals: true, sagas: true, leases: true };
|
|
293
293
|
}
|
|
294
294
|
function sqlIdentifier(value) {
|
|
295
|
-
|
|
295
|
+
// PostgreSQL truncates identifiers to 63 bytes. Reserve `_records_reconcile` (18 bytes), the
|
|
296
|
+
// longest suffix this adapter appends, so two accepted prefixes can never collapse to one name.
|
|
297
|
+
if (!/^[a-z_][a-z0-9_]{0,44}$/u.test(value))
|
|
296
298
|
throw new TypeError("invalid SQL table prefix");
|
|
297
299
|
return value;
|
|
298
300
|
}
|
|
301
|
+
/** Explicit static-analysis boundary: every substitution is a validated, internal SQL fragment. */
|
|
302
|
+
function sqlIdentifiers(strings, ...values) {
|
|
303
|
+
for (const value of values) {
|
|
304
|
+
if (!/^(?:[a-z_][a-z0-9_]{0,62}|\?(?:,\?)*)$/u.test(value)) {
|
|
305
|
+
throw new TypeError("invalid SQL identifier fragment");
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
return strings.reduce((sql, part, index) => sql + part + (values[index] ?? ""), "");
|
|
309
|
+
}
|
|
310
|
+
function sqlPlaceholders(count) {
|
|
311
|
+
return Array.from({ length: count }, () => "?").join(",");
|
|
312
|
+
}
|
|
299
313
|
function recordFromRow(row) {
|
|
300
314
|
if (row === undefined)
|
|
301
315
|
return undefined;
|
|
@@ -317,22 +331,12 @@ export class PostgresDurableRecordBackend {
|
|
|
317
331
|
this.leasesTable = `${prefix}_leases`;
|
|
318
332
|
}
|
|
319
333
|
async migrate() {
|
|
320
|
-
await this.client.query(
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
await this.client.query("CREATE INDEX IF NOT EXISTS " +
|
|
324
|
-
this.recordsTable +
|
|
325
|
-
"_reconcile ON " +
|
|
326
|
-
this.recordsTable +
|
|
327
|
-
" (kind, state, updated_at, id)");
|
|
328
|
-
await this.client.query("CREATE TABLE IF NOT EXISTS " +
|
|
329
|
-
this.leasesTable +
|
|
330
|
-
" (name TEXT PRIMARY KEY, owner TEXT, token TEXT, expires_at BIGINT NOT NULL DEFAULT 0, cursor TEXT)");
|
|
334
|
+
await this.client.query(sqlIdentifiers `CREATE TABLE IF NOT EXISTS ${this.recordsTable} (kind TEXT NOT NULL, id TEXT NOT NULL, state TEXT NOT NULL, updated_at BIGINT NOT NULL, version BIGINT NOT NULL, payload JSONB NOT NULL, PRIMARY KEY (kind, id))`);
|
|
335
|
+
await this.client.query(sqlIdentifiers `CREATE INDEX IF NOT EXISTS ${this.recordsTable}_reconcile ON ${this.recordsTable} (kind, state, updated_at, id)`);
|
|
336
|
+
await this.client.query(sqlIdentifiers `CREATE TABLE IF NOT EXISTS ${this.leasesTable} (name TEXT PRIMARY KEY, owner TEXT, token TEXT, expires_at BIGINT NOT NULL DEFAULT 0, cursor TEXT)`);
|
|
331
337
|
}
|
|
332
338
|
async create(kind, id, record) {
|
|
333
|
-
const result = await this.client.query(
|
|
334
|
-
this.recordsTable +
|
|
335
|
-
" (kind,id,state,updated_at,version,payload) VALUES ($1,$2,$3,$4,$5,$6::jsonb) ON CONFLICT DO NOTHING RETURNING id", [
|
|
339
|
+
const result = await this.client.query(sqlIdentifiers `INSERT INTO ${this.recordsTable} (kind,id,state,updated_at,version,payload) VALUES ($1,$2,$3,$4,$5,$6::jsonb) ON CONFLICT DO NOTHING RETURNING id`, [
|
|
336
340
|
kind,
|
|
337
341
|
id,
|
|
338
342
|
record.state ?? "",
|
|
@@ -343,15 +347,13 @@ export class PostgresDurableRecordBackend {
|
|
|
343
347
|
return result.rows.length === 1;
|
|
344
348
|
}
|
|
345
349
|
async get(kind, id) {
|
|
346
|
-
const result = await this.client.query(`SELECT payload FROM ${this.recordsTable} WHERE kind=$1 AND id=$2`, [kind, id]);
|
|
350
|
+
const result = await this.client.query(sqlIdentifiers `SELECT payload FROM ${this.recordsTable} WHERE kind=$1 AND id=$2`, [kind, id]);
|
|
347
351
|
return recordFromRow(result.rows[0]);
|
|
348
352
|
}
|
|
349
353
|
async compareAndSet(kind, id, expectedVersion, record) {
|
|
350
354
|
if (record.version !== expectedVersion + 1)
|
|
351
355
|
return false;
|
|
352
|
-
const result = await this.client.query(
|
|
353
|
-
this.recordsTable +
|
|
354
|
-
" SET state=$4,updated_at=$5,version=$6,payload=$7::jsonb WHERE kind=$1 AND id=$2 AND version=$3 RETURNING id", [
|
|
356
|
+
const result = await this.client.query(sqlIdentifiers `UPDATE ${this.recordsTable} SET state=$4,updated_at=$5,version=$6,payload=$7::jsonb WHERE kind=$1 AND id=$2 AND version=$3 RETURNING id`, [
|
|
355
357
|
kind,
|
|
356
358
|
id,
|
|
357
359
|
expectedVersion,
|
|
@@ -363,9 +365,7 @@ export class PostgresDurableRecordBackend {
|
|
|
363
365
|
return result.rows.length === 1;
|
|
364
366
|
}
|
|
365
367
|
async scan(kind, input) {
|
|
366
|
-
const result = await this.client.query(
|
|
367
|
-
this.recordsTable +
|
|
368
|
-
" WHERE kind=$1 AND state = ANY($2::text[]) AND ($3::bigint IS NULL OR updated_at <= $3) AND ($4::text IS NULL OR id > $4) ORDER BY id LIMIT $5", [kind, input.states, input.updatedBefore ?? null, input.cursor ?? null, input.limit + 1]);
|
|
368
|
+
const result = await this.client.query(sqlIdentifiers `SELECT id,payload FROM ${this.recordsTable} WHERE kind=$1 AND state = ANY($2::text[]) AND ($3::bigint IS NULL OR updated_at <= $3) AND ($4::text IS NULL OR id > $4) ORDER BY id LIMIT $5`, [kind, input.states, input.updatedBefore ?? null, input.cursor ?? null, input.limit + 1]);
|
|
369
369
|
const hasMore = result.rows.length > input.limit;
|
|
370
370
|
const rows = result.rows.slice(0, input.limit);
|
|
371
371
|
return Object.freeze({
|
|
@@ -376,11 +376,7 @@ export class PostgresDurableRecordBackend {
|
|
|
376
376
|
async acquireLease(input) {
|
|
377
377
|
const token = crypto.randomUUID();
|
|
378
378
|
const expiresAt = input.now + input.leaseMs;
|
|
379
|
-
const result = await this.client.query(
|
|
380
|
-
this.leasesTable +
|
|
381
|
-
" (name,owner,token,expires_at) VALUES ($1,$2,$3,$4) ON CONFLICT (name) DO UPDATE SET owner=EXCLUDED.owner,token=EXCLUDED.token,expires_at=EXCLUDED.expires_at WHERE " +
|
|
382
|
-
this.leasesTable +
|
|
383
|
-
".expires_at <= $5 RETURNING name,owner,token,expires_at,cursor", [input.name, input.owner, token, expiresAt, input.now]);
|
|
379
|
+
const result = await this.client.query(sqlIdentifiers `INSERT INTO ${this.leasesTable} (name,owner,token,expires_at) VALUES ($1,$2,$3,$4) ON CONFLICT (name) DO UPDATE SET owner=EXCLUDED.owner,token=EXCLUDED.token,expires_at=EXCLUDED.expires_at WHERE ${this.leasesTable}.expires_at <= $5 RETURNING name,owner,token,expires_at,cursor`, [input.name, input.owner, token, expiresAt, input.now]);
|
|
384
380
|
const row = result.rows[0];
|
|
385
381
|
if (row === undefined)
|
|
386
382
|
return undefined;
|
|
@@ -393,21 +389,15 @@ export class PostgresDurableRecordBackend {
|
|
|
393
389
|
});
|
|
394
390
|
}
|
|
395
391
|
async renewLease(input) {
|
|
396
|
-
const result = await this.client.query(
|
|
397
|
-
this.leasesTable +
|
|
398
|
-
" SET expires_at=$4 WHERE name=$1 AND owner=$2 AND token=$3 AND expires_at>$5 RETURNING name", [input.name, input.owner, input.token, input.now + input.leaseMs, input.now]);
|
|
392
|
+
const result = await this.client.query(sqlIdentifiers `UPDATE ${this.leasesTable} SET expires_at=$4 WHERE name=$1 AND owner=$2 AND token=$3 AND expires_at>$5 RETURNING name`, [input.name, input.owner, input.token, input.now + input.leaseMs, input.now]);
|
|
399
393
|
return result.rows.length === 1;
|
|
400
394
|
}
|
|
401
395
|
async checkpointLease(input) {
|
|
402
|
-
const result = await this.client.query(
|
|
403
|
-
this.leasesTable +
|
|
404
|
-
" SET cursor=$4 WHERE name=$1 AND owner=$2 AND token=$3 RETURNING name", [input.name, input.owner, input.token, input.cursor ?? null]);
|
|
396
|
+
const result = await this.client.query(sqlIdentifiers `UPDATE ${this.leasesTable} SET cursor=$4 WHERE name=$1 AND owner=$2 AND token=$3 RETURNING name`, [input.name, input.owner, input.token, input.cursor ?? null]);
|
|
405
397
|
return result.rows.length === 1;
|
|
406
398
|
}
|
|
407
399
|
async releaseLease(input) {
|
|
408
|
-
const result = await this.client.query(
|
|
409
|
-
this.leasesTable +
|
|
410
|
-
" SET owner=NULL,token=NULL,expires_at=0 WHERE name=$1 AND owner=$2 AND token=$3 RETURNING name", [input.name, input.owner, input.token]);
|
|
400
|
+
const result = await this.client.query(sqlIdentifiers `UPDATE ${this.leasesTable} SET owner=NULL,token=NULL,expires_at=0 WHERE name=$1 AND owner=$2 AND token=$3 RETURNING name`, [input.name, input.owner, input.token]);
|
|
411
401
|
return result.rows.length === 1;
|
|
412
402
|
}
|
|
413
403
|
}
|
|
@@ -440,29 +430,17 @@ export class SQLiteDurableRecordBackend {
|
|
|
440
430
|
this.leasesTable = `${prefix}_leases`;
|
|
441
431
|
}
|
|
442
432
|
migrate() {
|
|
443
|
-
this.client.exec(
|
|
444
|
-
this.recordsTable +
|
|
445
|
-
" (kind TEXT NOT NULL, id TEXT NOT NULL, state TEXT NOT NULL, updated_at INTEGER NOT NULL, version INTEGER NOT NULL, payload TEXT NOT NULL, PRIMARY KEY (kind,id));" +
|
|
446
|
-
"CREATE INDEX IF NOT EXISTS " +
|
|
447
|
-
this.recordsTable +
|
|
448
|
-
"_reconcile ON " +
|
|
449
|
-
this.recordsTable +
|
|
450
|
-
" (kind,state,updated_at,id);" +
|
|
451
|
-
"CREATE TABLE IF NOT EXISTS " +
|
|
452
|
-
this.leasesTable +
|
|
453
|
-
" (name TEXT PRIMARY KEY, owner TEXT, token TEXT, expires_at INTEGER NOT NULL DEFAULT 0, cursor TEXT);");
|
|
433
|
+
this.client.exec(sqlIdentifiers `CREATE TABLE IF NOT EXISTS ${this.recordsTable} (kind TEXT NOT NULL, id TEXT NOT NULL, state TEXT NOT NULL, updated_at INTEGER NOT NULL, version INTEGER NOT NULL, payload TEXT NOT NULL, PRIMARY KEY (kind,id));CREATE INDEX IF NOT EXISTS ${this.recordsTable}_reconcile ON ${this.recordsTable} (kind,state,updated_at,id);CREATE TABLE IF NOT EXISTS ${this.leasesTable} (name TEXT PRIMARY KEY, owner TEXT, token TEXT, expires_at INTEGER NOT NULL DEFAULT 0, cursor TEXT);`);
|
|
454
434
|
}
|
|
455
435
|
async create(kind, id, record) {
|
|
456
436
|
const result = this.client
|
|
457
|
-
.query(
|
|
458
|
-
this.recordsTable +
|
|
459
|
-
" (kind,id,state,updated_at,version,payload) VALUES (?,?,?,?,?,?)")
|
|
437
|
+
.query(sqlIdentifiers `INSERT OR IGNORE INTO ${this.recordsTable} (kind,id,state,updated_at,version,payload) VALUES (?,?,?,?,?,?)`)
|
|
460
438
|
.run(kind, id, record.state ?? "", record.updatedAt ?? 0, record.version, serializeRecord(record));
|
|
461
439
|
return result.changes === 1;
|
|
462
440
|
}
|
|
463
441
|
async get(kind, id) {
|
|
464
442
|
const row = this.client
|
|
465
|
-
.query(`SELECT payload FROM ${this.recordsTable} WHERE kind=? AND id=?`)
|
|
443
|
+
.query(sqlIdentifiers `SELECT payload FROM ${this.recordsTable} WHERE kind=? AND id=?`)
|
|
466
444
|
.get(kind, id);
|
|
467
445
|
return recordFromRow(row ?? undefined);
|
|
468
446
|
}
|
|
@@ -470,22 +448,16 @@ export class SQLiteDurableRecordBackend {
|
|
|
470
448
|
if (record.version !== expectedVersion + 1)
|
|
471
449
|
return false;
|
|
472
450
|
const result = this.client
|
|
473
|
-
.query(
|
|
474
|
-
this.recordsTable +
|
|
475
|
-
" SET state=?,updated_at=?,version=?,payload=? WHERE kind=? AND id=? AND version=?")
|
|
451
|
+
.query(sqlIdentifiers `UPDATE ${this.recordsTable} SET state=?,updated_at=?,version=?,payload=? WHERE kind=? AND id=? AND version=?`)
|
|
476
452
|
.run(record.state ?? "", record.updatedAt ?? 0, record.version, serializeRecord(record), kind, id, expectedVersion);
|
|
477
453
|
return result.changes === 1;
|
|
478
454
|
}
|
|
479
455
|
async scan(kind, input) {
|
|
480
456
|
if (input.states.length === 0)
|
|
481
457
|
return { records: [] };
|
|
482
|
-
const placeholders = input.states.
|
|
458
|
+
const placeholders = sqlPlaceholders(input.states.length);
|
|
483
459
|
const rows = this.client
|
|
484
|
-
.query(
|
|
485
|
-
this.recordsTable +
|
|
486
|
-
" WHERE kind=? AND state IN (" +
|
|
487
|
-
placeholders +
|
|
488
|
-
") AND (? IS NULL OR updated_at <= ?) AND (? IS NULL OR id > ?) ORDER BY id LIMIT ?")
|
|
460
|
+
.query(sqlIdentifiers `SELECT id,payload FROM ${this.recordsTable} WHERE kind=? AND state IN (${placeholders}) AND (? IS NULL OR updated_at <= ?) AND (? IS NULL OR id > ?) ORDER BY id LIMIT ?`)
|
|
489
461
|
.all(kind, ...input.states, input.updatedBefore ?? null, input.updatedBefore ?? null, input.cursor ?? null, input.cursor ?? null, input.limit + 1);
|
|
490
462
|
const present = rows.filter((row) => row !== undefined);
|
|
491
463
|
const hasMore = present.length > input.limit;
|
|
@@ -499,11 +471,7 @@ export class SQLiteDurableRecordBackend {
|
|
|
499
471
|
const token = crypto.randomUUID();
|
|
500
472
|
const expiresAt = input.now + input.leaseMs;
|
|
501
473
|
const row = this.client
|
|
502
|
-
.query(
|
|
503
|
-
this.leasesTable +
|
|
504
|
-
" (name,owner,token,expires_at) VALUES (?,?,?,?) ON CONFLICT(name) DO UPDATE SET owner=excluded.owner,token=excluded.token,expires_at=excluded.expires_at WHERE " +
|
|
505
|
-
this.leasesTable +
|
|
506
|
-
".expires_at <= ? RETURNING name,owner,token,expires_at,cursor")
|
|
474
|
+
.query(sqlIdentifiers `INSERT INTO ${this.leasesTable} (name,owner,token,expires_at) VALUES (?,?,?,?) ON CONFLICT(name) DO UPDATE SET owner=excluded.owner,token=excluded.token,expires_at=excluded.expires_at WHERE ${this.leasesTable}.expires_at <= ? RETURNING name,owner,token,expires_at,cursor`)
|
|
507
475
|
.get(input.name, input.owner, token, expiresAt, input.now);
|
|
508
476
|
if (row === undefined || row === null)
|
|
509
477
|
return undefined;
|
|
@@ -517,20 +485,18 @@ export class SQLiteDurableRecordBackend {
|
|
|
517
485
|
}
|
|
518
486
|
async renewLease(input) {
|
|
519
487
|
return (this.client
|
|
520
|
-
.query(`UPDATE ${this.leasesTable} SET expires_at=? WHERE name=? AND owner=? AND token=? AND expires_at>?`)
|
|
488
|
+
.query(sqlIdentifiers `UPDATE ${this.leasesTable} SET expires_at=? WHERE name=? AND owner=? AND token=? AND expires_at>?`)
|
|
521
489
|
.run(input.now + input.leaseMs, input.name, input.owner, input.token, input.now).changes ===
|
|
522
490
|
1);
|
|
523
491
|
}
|
|
524
492
|
async checkpointLease(input) {
|
|
525
493
|
return (this.client
|
|
526
|
-
.query(`UPDATE ${this.leasesTable} SET cursor=? WHERE name=? AND owner=? AND token=?`)
|
|
494
|
+
.query(sqlIdentifiers `UPDATE ${this.leasesTable} SET cursor=? WHERE name=? AND owner=? AND token=?`)
|
|
527
495
|
.run(input.cursor ?? null, input.name, input.owner, input.token).changes === 1);
|
|
528
496
|
}
|
|
529
497
|
async releaseLease(input) {
|
|
530
498
|
return (this.client
|
|
531
|
-
.query(
|
|
532
|
-
this.leasesTable +
|
|
533
|
-
" SET owner=NULL,token=NULL,expires_at=0 WHERE name=? AND owner=? AND token=?")
|
|
499
|
+
.query(sqlIdentifiers `UPDATE ${this.leasesTable} SET owner=NULL,token=NULL,expires_at=0 WHERE name=? AND owner=? AND token=?`)
|
|
534
500
|
.run(input.name, input.owner, input.token).changes === 1);
|
|
535
501
|
}
|
|
536
502
|
}
|