@substrat-run/kernel 0.142.0 → 0.144.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/dist/attachment-extractor.d.ts +0 -9
- package/dist/attachment-extractor.d.ts.map +1 -1
- package/dist/attachment-extractor.js +2 -2
- package/dist/attachment-extractor.js.map +1 -1
- package/dist/attachment-text.d.ts +0 -5
- package/dist/attachment-text.d.ts.map +1 -1
- package/dist/attachment-text.js +0 -4
- package/dist/attachment-text.js.map +1 -1
- package/dist/attribution.d.ts +0 -7
- package/dist/attribution.d.ts.map +1 -1
- package/dist/attribution.js +0 -7
- package/dist/attribution.js.map +1 -1
- package/dist/audit-outcome.d.ts +60 -2
- package/dist/audit-outcome.d.ts.map +1 -1
- package/dist/audit-outcome.js +63 -3
- package/dist/audit-outcome.js.map +1 -1
- package/dist/capability.d.ts +20 -13
- package/dist/capability.d.ts.map +1 -1
- package/dist/capability.js +76 -16
- package/dist/capability.js.map +1 -1
- package/dist/connector-calls.d.ts +0 -5
- package/dist/connector-calls.d.ts.map +1 -1
- package/dist/connector-calls.js +1 -1
- package/dist/connector-calls.js.map +1 -1
- package/dist/denial-query.d.ts +0 -14
- package/dist/denial-query.d.ts.map +1 -1
- package/dist/denial-query.js +1 -1
- package/dist/denial-query.js.map +1 -1
- package/dist/derived-handlers.d.ts +17 -0
- package/dist/derived-handlers.d.ts.map +1 -0
- package/dist/derived-handlers.js +198 -0
- package/dist/derived-handlers.js.map +1 -0
- package/dist/entity-binding.d.ts +121 -0
- package/dist/entity-binding.d.ts.map +1 -0
- package/dist/entity-binding.js +235 -0
- package/dist/entity-binding.js.map +1 -0
- package/dist/entity-grant-shape.d.ts +127 -12
- package/dist/entity-grant-shape.d.ts.map +1 -1
- package/dist/entity-grant-shape.js +399 -137
- package/dist/entity-grant-shape.js.map +1 -1
- package/dist/entity-grant.d.ts +5 -7
- package/dist/entity-grant.d.ts.map +1 -1
- package/dist/entity-grant.js +6 -7
- package/dist/entity-grant.js.map +1 -1
- package/dist/entity-state.d.ts +0 -17
- package/dist/entity-state.d.ts.map +1 -1
- package/dist/entity-state.js +2 -2
- package/dist/entity-state.js.map +1 -1
- package/dist/entity-trash.d.ts +2 -2
- package/dist/entity-trash.d.ts.map +1 -1
- package/dist/entity-trash.js +6 -6
- package/dist/entity-trash.js.map +1 -1
- package/dist/grant-scoped-read.d.ts +0 -2
- package/dist/grant-scoped-read.d.ts.map +1 -1
- package/dist/grant-scoped-read.js +2 -2
- package/dist/grant-scoped-read.js.map +1 -1
- package/dist/index.d.ts +53 -55
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +51 -53
- package/dist/index.js.map +1 -1
- package/dist/job-run.d.ts +0 -39
- package/dist/job-run.d.ts.map +1 -1
- package/dist/job-run.js +6 -6
- package/dist/job-run.js.map +1 -1
- package/dist/list-index.d.ts +0 -45
- package/dist/list-index.d.ts.map +1 -1
- package/dist/list-index.js +2 -39
- package/dist/list-index.js.map +1 -1
- package/dist/membership-executor.d.ts +2 -1
- package/dist/membership-executor.d.ts.map +1 -1
- package/dist/membership-executor.js +1 -1
- package/dist/membership-executor.js.map +1 -1
- package/dist/migration-digest.d.ts +0 -12
- package/dist/migration-digest.d.ts.map +1 -1
- package/dist/migration-digest.js +1 -1
- package/dist/migration-digest.js.map +1 -1
- package/dist/module-erasure.d.ts +2 -1
- package/dist/module-erasure.d.ts.map +1 -1
- package/dist/module-erasure.js +12 -1
- package/dist/module-erasure.js.map +1 -1
- package/dist/module-operations.d.ts +146 -0
- package/dist/module-operations.d.ts.map +1 -0
- package/dist/module-operations.js +174 -0
- package/dist/module-operations.js.map +1 -0
- package/dist/peer.d.ts +0 -2
- package/dist/peer.d.ts.map +1 -1
- package/dist/peer.js +0 -4
- package/dist/peer.js.map +1 -1
- package/dist/platform-request-query.d.ts +6 -6
- package/dist/platform-request-query.d.ts.map +1 -1
- package/dist/platform-request-query.js +23 -7
- package/dist/platform-request-query.js.map +1 -1
- package/dist/platform-sweep.d.ts +26 -2
- package/dist/platform-sweep.d.ts.map +1 -1
- package/dist/platform-sweep.js +6 -2
- package/dist/platform-sweep.js.map +1 -1
- package/dist/refusal-query.d.ts +0 -11
- package/dist/refusal-query.d.ts.map +1 -1
- package/dist/refusal-query.js +1 -1
- package/dist/refusal-query.js.map +1 -1
- package/dist/refusals.d.ts +1 -3
- package/dist/refusals.d.ts.map +1 -1
- package/dist/refusals.js +0 -2
- package/dist/refusals.js.map +1 -1
- package/dist/row-decode.d.ts +16 -1
- package/dist/row-decode.d.ts.map +1 -1
- package/dist/row-decode.js +18 -6
- package/dist/row-decode.js.map +1 -1
- package/dist/scope-copy-ledger.d.ts +0 -2
- package/dist/scope-copy-ledger.d.ts.map +1 -1
- package/dist/scope-copy-ledger.js +1 -1
- package/dist/scope-copy-ledger.js.map +1 -1
- package/dist/scope-host.d.ts +47 -101
- package/dist/scope-host.d.ts.map +1 -1
- package/dist/scope-host.js +0 -17
- package/dist/scope-host.js.map +1 -1
- package/dist/scope-lifecycle.d.ts +0 -21
- package/dist/scope-lifecycle.d.ts.map +1 -1
- package/dist/scope-lifecycle.js +1 -1
- package/dist/scope-lifecycle.js.map +1 -1
- package/dist/scope-role-admin.d.ts +0 -6
- package/dist/scope-role-admin.d.ts.map +1 -1
- package/dist/scope-role-admin.js +1 -1
- package/dist/scope-role-admin.js.map +1 -1
- package/dist/search-index.d.ts +0 -23
- package/dist/search-index.d.ts.map +1 -1
- package/dist/search-index.js +2 -24
- package/dist/search-index.js.map +1 -1
- package/dist/spine-restore.d.ts +0 -22
- package/dist/spine-restore.d.ts.map +1 -1
- package/dist/spine-restore.js +2 -2
- package/dist/spine-restore.js.map +1 -1
- package/dist/sql-identifier.d.ts +3 -0
- package/dist/sql-identifier.d.ts.map +1 -1
- package/dist/sql-identifier.js +2 -0
- package/dist/sql-identifier.js.map +1 -1
- package/dist/sql-limits.d.ts +4 -0
- package/dist/sql-limits.d.ts.map +1 -1
- package/dist/sql-limits.js +4 -0
- package/dist/sql-limits.js.map +1 -1
- package/dist/subject-redaction.d.ts +0 -38
- package/dist/subject-redaction.d.ts.map +1 -1
- package/dist/subject-redaction.js +4 -4
- package/dist/subject-redaction.js.map +1 -1
- package/dist/system-switch-record.d.ts +0 -4
- package/dist/system-switch-record.d.ts.map +1 -1
- package/dist/system-switch-record.js +2 -2
- package/dist/system-switch-record.js.map +1 -1
- package/dist/system-switch.d.ts +5 -23
- package/dist/system-switch.d.ts.map +1 -1
- package/dist/system-switch.js +8 -1
- package/dist/system-switch.js.map +1 -1
- package/dist/table-ownership.d.ts +0 -32
- package/dist/table-ownership.d.ts.map +1 -1
- package/dist/table-ownership.js +5 -5
- package/dist/table-ownership.js.map +1 -1
- package/dist/testing.d.ts +17 -0
- package/dist/testing.d.ts.map +1 -0
- package/dist/testing.js +15 -0
- package/dist/testing.js.map +1 -0
- package/dist/vertical-events.d.ts +1 -7
- package/dist/vertical-events.d.ts.map +1 -1
- package/dist/vertical-events.js +2 -10
- package/dist/vertical-events.js.map +1 -1
- package/package.json +6 -2
- package/dist/connect-state.d.ts +0 -103
- package/dist/connect-state.d.ts.map +0 -1
- package/dist/connect-state.js +0 -128
- package/dist/connect-state.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration-digest.js","sourceRoot":"","sources":["../src/migration-digest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAqB,MAAM,iBAAiB,CAAC;AAKtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,OAAO,gBAAgB,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,+FAA+F;AAC/F,MAAM,CAAC,MAAM,uBAAuB,GAAG,QAAQ,CAAC;AAEhD;;;;GAIG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,gFAAgF,CAAC;AAE7H;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;;;;;;CAWzC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,
|
|
1
|
+
{"version":3,"file":"migration-digest.js","sourceRoot":"","sources":["../src/migration-digest.ts"],"names":[],"mappings":"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"}
|
package/dist/module-erasure.d.ts
CHANGED
|
@@ -130,7 +130,8 @@ export declare const SECURE_DELETE_MIN_SQLITE = "3.42.0";
|
|
|
130
130
|
* transaction the spine redaction runs in, so a throw from here rolls both back.
|
|
131
131
|
*
|
|
132
132
|
* Order between the two halves: declared first, hooks after, so a hook reading a declared
|
|
133
|
-
* entity sees it already blank and a hook that deletes cannot strand a declared blank.
|
|
133
|
+
* entity sees it already blank and a hook that deletes cannot strand a declared blank. A record a
|
|
134
|
+
* binding shape binds (#1686) is released LAST, from rows read before either half ran. Order
|
|
134
135
|
* between modules is registration order, which nothing here depends on: each touches its own
|
|
135
136
|
* tables only.
|
|
136
137
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-erasure.d.ts","sourceRoot":"","sources":["../src/module-erasure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,EAKL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,EAC9B,KAAK,eAAe,EACrB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"module-erasure.d.ts","sourceRoot":"","sources":["../src/module-erasure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,EAKL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,EAC9B,KAAK,eAAe,EACrB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAY,MAAM,iBAAiB,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAKzD,+EAA+E;AAC/E,MAAM,WAAW,qBAAqB;IACpC;;;;;;OAMG;IACH,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;IACxB,4FAA4F;IAC5F,GAAG,IAAI,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,qBAAqB,EAAE,OAAO,EAAE;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,KAAK,IAAI,CAAC;AAE5G,uEAAuE;AACvE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,yBAAyB,CAAC;IAChD,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC;IAChC;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACzC;AAED,+EAA+E;AAC/E,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,iBAAiB,EAAE,eAAe,EAAE,CAAC;CACtC;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,SAAS;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAW5F;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,kBAAkB,GAAG,iBAAiB,GAAG,SAAS,CAyCjG;AAkBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAqEtG;AAoCD;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,WAAW,CAAC;AA0BjD;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC7C,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAChD,4FAA4F;IAC5F,QAAQ,CAAC,cAAc,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,4GAA4G;IAC5G,QAAQ,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CACpF,GAAG,mBAAmB,CAyJtB;AAED,0GAA0G;AAC1G,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAEpE;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAIlF"}
|
package/dist/module-erasure.js
CHANGED
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
* written down in kernel-design.md §13.1 rather than implied.
|
|
34
34
|
*/
|
|
35
35
|
import { namesSpineTable, substratError, subjectErasureDeclaration, tokenizeSql, } from '@substrat-run/contracts';
|
|
36
|
+
import { captureBoundOf, releaseBound } from './entity-binding.js';
|
|
36
37
|
import { guardSpine } from './spine-guard.js';
|
|
37
38
|
import { assertSqlIdentifier } from './sql-identifier.js';
|
|
38
39
|
import { assertTablesOwned, tableStatements } from './table-ownership.js';
|
|
@@ -276,7 +277,8 @@ const ident = (name) => assertSqlIdentifier('erasure', 'an identifier', name, 'a
|
|
|
276
277
|
* transaction the spine redaction runs in, so a throw from here rolls both back.
|
|
277
278
|
*
|
|
278
279
|
* Order between the two halves: declared first, hooks after, so a hook reading a declared
|
|
279
|
-
* entity sees it already blank and a hook that deletes cannot strand a declared blank.
|
|
280
|
+
* entity sees it already blank and a hook that deletes cannot strand a declared blank. A record a
|
|
281
|
+
* binding shape binds (#1686) is released LAST, from rows read before either half ran. Order
|
|
280
282
|
* between modules is registration order, which nothing here depends on: each touches its own
|
|
281
283
|
* tables only.
|
|
282
284
|
*/
|
|
@@ -290,6 +292,10 @@ export function eraseSubjectFromModules(input) {
|
|
|
290
292
|
if (plans.some((p) => p.ownTables.size > 0)) {
|
|
291
293
|
assertNoTempShadow(sql, new Set(plans.flatMap((p) => [...p.ownTables])));
|
|
292
294
|
}
|
|
295
|
+
// #1686: every record bound to the subject, or that IS the subject, read before anything below
|
|
296
|
+
// blanks or deletes it — a hook may look the rows up by the binding column, and a `delete` or a
|
|
297
|
+
// hook may remove the row, so the release after the hooks works from this capture.
|
|
298
|
+
const bound = captureBoundOf(sql, subjectId);
|
|
293
299
|
// FTS5 keeps a deleted row's terms in the older index segments until they merge, so an
|
|
294
300
|
// erased word stays in the database file after search stops finding it. `secure-delete`
|
|
295
301
|
// makes a delete remove the entry from the segment it sits in instead — at the cost of that
|
|
@@ -418,6 +424,11 @@ export function eraseSubjectFromModules(input) {
|
|
|
418
424
|
}
|
|
419
425
|
out.hookRows.push({ module: plan.moduleId, rows });
|
|
420
426
|
}
|
|
427
|
+
// #1686: the erased record no longer names its person, and the erased person holds nothing
|
|
428
|
+
// through a record — the column cleared where the row survived, the shape taken back either way.
|
|
429
|
+
for (const { binding } of bound.columns)
|
|
430
|
+
secure(binding.table);
|
|
431
|
+
releaseBound(sql, bound, at);
|
|
421
432
|
for (const idx of secured)
|
|
422
433
|
sql.exec(`INSERT INTO ${idx}(${idx}, rank) VALUES('secure-delete', 0)`);
|
|
423
434
|
return out;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-erasure.js","sourceRoot":"","sources":["../src/module-erasure.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"module-erasure.js","sourceRoot":"","sources":["../src/module-erasure.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The handler map a module registers, joined to its declaration by a type (#1835).
|
|
3
|
+
*
|
|
4
|
+
* `ModuleRegistration.operations` used to be a `Record<string, OperationHandler<never, unknown>>`,
|
|
5
|
+
* which accepts any handler under any name, and the schemas the host parses with were a second
|
|
6
|
+
* field nothing tied to it. What held the two to the module's declared operations was a text
|
|
7
|
+
* rule looking for a `satisfies` clause — and a `satisfies` is invisible to every test, so
|
|
8
|
+
* deleting one compiled and passed exactly like keeping it (#959).
|
|
9
|
+
*
|
|
10
|
+
* Now the field takes `BoundOperations` — the handlers and the maps derived from their
|
|
11
|
+
* declaration, as one value — which only two functions produce:
|
|
12
|
+
*
|
|
13
|
+
* - `operationsFor(declaration)(handlers)` — the handlers are held EXACTLY to the declaration
|
|
14
|
+
* (a missing, extra, mistyped or cast entry is a compile error), and the input schemas, the
|
|
15
|
+
* concurrency map and the idempotency opt-outs come from the same object, so "the same
|
|
16
|
+
* declaration" holds by construction rather than by a reviewer comparing two identifiers.
|
|
17
|
+
* - `undeclaredOperations(reason, handlers)` — the exception, for a module that declares no
|
|
18
|
+
* operation surface at all, and it has to say why.
|
|
19
|
+
*
|
|
20
|
+
* A plain object literal no longer compiles, which is the point: binding a declared module by
|
|
21
|
+
* hand is not a shape that can be written by accident. What the type cannot see is an `as`
|
|
22
|
+
* applied to the whole map, since `never` and `any` are assignable to anything; boundary-lint
|
|
23
|
+
* **R11** refuses that at the registration.
|
|
24
|
+
*
|
|
25
|
+
* The brand is an ES-private field, so it holds at run time as well: both adapters refuse an
|
|
26
|
+
* `operations` value the binder did not make (`assertBoundOperations`).
|
|
27
|
+
*/
|
|
28
|
+
import { type DerivedKeys, type OperationImpl } from '@substrat-run/contracts';
|
|
29
|
+
import type { OperationContext, OperationHandler } from './scope-host.js';
|
|
30
|
+
/** name → handler, as the host reads it. */
|
|
31
|
+
export type HandlerMap = Readonly<Record<string, OperationHandler<never, unknown>>>;
|
|
32
|
+
/** The derived maps, as the constructor takes them. */
|
|
33
|
+
interface DerivedMaps {
|
|
34
|
+
readonly inputs?: Readonly<Record<string, {
|
|
35
|
+
parse(value: unknown): unknown;
|
|
36
|
+
}>>;
|
|
37
|
+
readonly concurrency?: Readonly<Record<string, {
|
|
38
|
+
entity: string;
|
|
39
|
+
idFrom: string;
|
|
40
|
+
}>>;
|
|
41
|
+
readonly idempotencyOptOuts?: readonly string[];
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* The key to the constructor. Module-private to the kernel: `operationsFor`,
|
|
45
|
+
* `undeclaredOperations` and the test seam in `./testing` hold it, and nothing a module can
|
|
46
|
+
* import does. Exported from this file only so `testing.ts` can reach it — never from the index.
|
|
47
|
+
*/
|
|
48
|
+
export declare const MINT: unique symbol;
|
|
49
|
+
/**
|
|
50
|
+
* Everything a module hands the host about its operations, in one value only `operationsFor` and
|
|
51
|
+
* `undeclaredOperations` produce — never written by hand.
|
|
52
|
+
*
|
|
53
|
+
* The handlers and the three maps derived from their declaration travel together, so a
|
|
54
|
+
* registration cannot carry one without the others or pair a handler map with another
|
|
55
|
+
* declaration's schemas. `H` keeps each handler's own type, so a module can still call one.
|
|
56
|
+
*
|
|
57
|
+
* **A class with an ES-private brand, so a copy is not one** (#2155 review). A symbol-keyed brand
|
|
58
|
+
* survives an object spread, so `{ ...bound, inputs: undefined }` type-checked as the bound value
|
|
59
|
+
* with its schemas gone. A `#private` field is nominal to TypeScript and absent from any copy, so
|
|
60
|
+
* that spread does not compile. At run time the adapters ask for `BRAND` instead, which a spread,
|
|
61
|
+
* `Object.assign` or a literal does not carry either, so they refuse such a copy at registration
|
|
62
|
+
* too. (The field cannot be the run-time check: it is private to one copy of this class, and a
|
|
63
|
+
* process can hold two — a test that resets its modules does, and #2155's suite found one.)
|
|
64
|
+
*/
|
|
65
|
+
export declare class BoundOperations<H = HandlerMap> {
|
|
66
|
+
#private;
|
|
67
|
+
/** name → handler. */
|
|
68
|
+
readonly handlers: H & HandlerMap;
|
|
69
|
+
/**
|
|
70
|
+
* name → the schema the host parses an invocation's input against, before the guards and the
|
|
71
|
+
* handler (#893). The map `operationInputsOf` returned, as returned: it also carries the
|
|
72
|
+
* declared surface the host derives its trash refusal from (#119). Absent for a module that
|
|
73
|
+
* declares no operations, where nothing is parsed.
|
|
74
|
+
*/
|
|
75
|
+
readonly inputs?: Readonly<Record<string, {
|
|
76
|
+
parse(value: unknown): unknown;
|
|
77
|
+
}>>;
|
|
78
|
+
/** name → the entity whose version an `If-Match` on that operation is compared against (#129). */
|
|
79
|
+
readonly concurrency?: Readonly<Record<string, {
|
|
80
|
+
entity: string;
|
|
81
|
+
idFrom: string;
|
|
82
|
+
}>>;
|
|
83
|
+
/** The operations that declared `idempotency: false`, and so refuse an `Idempotency-Key` (#116). */
|
|
84
|
+
readonly idempotencyOptOuts?: readonly string[];
|
|
85
|
+
constructor(mint: typeof MINT, handlers: H & HandlerMap, derived?: DerivedMaps);
|
|
86
|
+
/** Was this value made by the binder — not a copy, a spread or a literal shaped like one? */
|
|
87
|
+
static is(value: unknown): value is BoundOperations;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* The adapters' registration check: a module's `operations` is a value the binder made, or the
|
|
91
|
+
* module does not register. A copy has no brand; nor does one made by a second copy of the kernel,
|
|
92
|
+
* which is the same refusal for the same reason — its maps are not the ones this host can trust.
|
|
93
|
+
*/
|
|
94
|
+
export declare function assertBoundOperations(moduleId: string, operations: unknown): asserts operations is BoundOperations | undefined;
|
|
95
|
+
type IsAny<T> = 0 extends 1 & T ? true : false;
|
|
96
|
+
/** Does this function type take or return `any` anywhere a handler's contract lives? */
|
|
97
|
+
type TypedLoosely<F> = F extends (...args: infer P) => infer R ? true extends IsAny<R> | IsAny<Awaited<R>> | {
|
|
98
|
+
[I in keyof P]: IsAny<P[I]>;
|
|
99
|
+
}[number] ? true : false : false;
|
|
100
|
+
/**
|
|
101
|
+
* The keys whose handler type was erased at the map: an entry cast `as never` or `as any`, or one
|
|
102
|
+
* whose parameters or return are `any` — `addOp as (...a: any[]) => any`, or an untyped
|
|
103
|
+
* `(c: any, i: any) => i`, which `OperationImpl` accepts because `any` fits every slot.
|
|
104
|
+
*/
|
|
105
|
+
type ErasedKeys<H> = {
|
|
106
|
+
[K in keyof H]-?: IsAny<H[K]> extends true ? K : [H[K]] extends [never] ? K : TypedLoosely<H[K]> extends true ? K : never;
|
|
107
|
+
}[keyof H];
|
|
108
|
+
/**
|
|
109
|
+
* What the handler map must also be, beyond `OperationImpl`: no key the declaration does not
|
|
110
|
+
* name, and no entry whose type was erased. An erased entry is assignable to any slot, so it
|
|
111
|
+
* cannot be refused AT the slot; it is refused by demanding a property the literal does not have.
|
|
112
|
+
*/
|
|
113
|
+
type Exact<Ops, H> = {
|
|
114
|
+
readonly [K in Exclude<keyof H, keyof Ops>]: never;
|
|
115
|
+
} & ([ErasedKeys<H>] extends [never] ? unknown : {
|
|
116
|
+
readonly 'a handler type was erased with a cast': ErasedKeys<H>;
|
|
117
|
+
});
|
|
118
|
+
/**
|
|
119
|
+
* Bind a module's handlers to its declared operations.
|
|
120
|
+
*
|
|
121
|
+
* ```ts
|
|
122
|
+
* export const todoModule: ModuleRegistration = {
|
|
123
|
+
* manifest: todoManifest,
|
|
124
|
+
* migrations: todoMigrations,
|
|
125
|
+
* ...operationsFor(todoOperations)({
|
|
126
|
+
* 'todo/add': addOp,
|
|
127
|
+
* …
|
|
128
|
+
* }),
|
|
129
|
+
* };
|
|
130
|
+
* ```
|
|
131
|
+
*
|
|
132
|
+
* Curried, like `consumersFor`, so the declaration is inferred before the handlers are checked
|
|
133
|
+
* against it.
|
|
134
|
+
*/
|
|
135
|
+
export declare function operationsFor<const Ops extends Record<string, object>>(declaration: Ops): <const H extends OperationImpl<Ops, OperationContext>>(handlers: H & Exact<Omit<Ops, DerivedKeys<Ops>>, H>) => {
|
|
136
|
+
operations: BoundOperations<H>;
|
|
137
|
+
};
|
|
138
|
+
/**
|
|
139
|
+
* The declared exception: a module whose operations have no declaration to bind to, so the
|
|
140
|
+
* host parses nothing for them. The reason is required, and is what a reviewer reads.
|
|
141
|
+
*/
|
|
142
|
+
export declare function undeclaredOperations(reason: string, handlers: HandlerMap): {
|
|
143
|
+
operations: BoundOperations;
|
|
144
|
+
};
|
|
145
|
+
export {};
|
|
146
|
+
//# sourceMappingURL=module-operations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module-operations.d.ts","sourceRoot":"","sources":["../src/module-operations.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The handler map a module registers, joined to its declaration by a type (#1835).
|
|
3
|
+
*
|
|
4
|
+
* `ModuleRegistration.operations` used to be a `Record<string, OperationHandler<never, unknown>>`,
|
|
5
|
+
* which accepts any handler under any name, and the schemas the host parses with were a second
|
|
6
|
+
* field nothing tied to it. What held the two to the module's declared operations was a text
|
|
7
|
+
* rule looking for a `satisfies` clause — and a `satisfies` is invisible to every test, so
|
|
8
|
+
* deleting one compiled and passed exactly like keeping it (#959).
|
|
9
|
+
*
|
|
10
|
+
* Now the field takes `BoundOperations` — the handlers and the maps derived from their
|
|
11
|
+
* declaration, as one value — which only two functions produce:
|
|
12
|
+
*
|
|
13
|
+
* - `operationsFor(declaration)(handlers)` — the handlers are held EXACTLY to the declaration
|
|
14
|
+
* (a missing, extra, mistyped or cast entry is a compile error), and the input schemas, the
|
|
15
|
+
* concurrency map and the idempotency opt-outs come from the same object, so "the same
|
|
16
|
+
* declaration" holds by construction rather than by a reviewer comparing two identifiers.
|
|
17
|
+
* - `undeclaredOperations(reason, handlers)` — the exception, for a module that declares no
|
|
18
|
+
* operation surface at all, and it has to say why.
|
|
19
|
+
*
|
|
20
|
+
* A plain object literal no longer compiles, which is the point: binding a declared module by
|
|
21
|
+
* hand is not a shape that can be written by accident. What the type cannot see is an `as`
|
|
22
|
+
* applied to the whole map, since `never` and `any` are assignable to anything; boundary-lint
|
|
23
|
+
* **R11** refuses that at the registration.
|
|
24
|
+
*
|
|
25
|
+
* The brand is an ES-private field, so it holds at run time as well: both adapters refuse an
|
|
26
|
+
* `operations` value the binder did not make (`assertBoundOperations`).
|
|
27
|
+
*/
|
|
28
|
+
import { derivationPlanOf, operationConcurrencyOf, operationIdempotencyOptOutsOf, operationInputsOf, } from '@substrat-run/contracts';
|
|
29
|
+
import { derivedHandler } from './derived-handlers.js';
|
|
30
|
+
/**
|
|
31
|
+
* The key to the constructor. Module-private to the kernel: `operationsFor`,
|
|
32
|
+
* `undeclaredOperations` and the test seam in `./testing` hold it, and nothing a module can
|
|
33
|
+
* import does. Exported from this file only so `testing.ts` can reach it — never from the index.
|
|
34
|
+
*/
|
|
35
|
+
export const MINT = Symbol('BoundOperations.mint');
|
|
36
|
+
/**
|
|
37
|
+
* The run-time mark, a REGISTERED symbol held as a non-enumerable own property. Registered, so a
|
|
38
|
+
* second copy of the kernel in one process — a bundle that resolved two, or a test that reset its
|
|
39
|
+
* module graph — recognises the binder's value; non-enumerable, so a spread, `Object.assign` or a
|
|
40
|
+
* structured clone leaves it behind, exactly as they leave the `#bound` field behind at compile time.
|
|
41
|
+
*/
|
|
42
|
+
const BRAND = Symbol.for('substrat.kernel.boundOperations');
|
|
43
|
+
/**
|
|
44
|
+
* Everything a module hands the host about its operations, in one value only `operationsFor` and
|
|
45
|
+
* `undeclaredOperations` produce — never written by hand.
|
|
46
|
+
*
|
|
47
|
+
* The handlers and the three maps derived from their declaration travel together, so a
|
|
48
|
+
* registration cannot carry one without the others or pair a handler map with another
|
|
49
|
+
* declaration's schemas. `H` keeps each handler's own type, so a module can still call one.
|
|
50
|
+
*
|
|
51
|
+
* **A class with an ES-private brand, so a copy is not one** (#2155 review). A symbol-keyed brand
|
|
52
|
+
* survives an object spread, so `{ ...bound, inputs: undefined }` type-checked as the bound value
|
|
53
|
+
* with its schemas gone. A `#private` field is nominal to TypeScript and absent from any copy, so
|
|
54
|
+
* that spread does not compile. At run time the adapters ask for `BRAND` instead, which a spread,
|
|
55
|
+
* `Object.assign` or a literal does not carry either, so they refuse such a copy at registration
|
|
56
|
+
* too. (The field cannot be the run-time check: it is private to one copy of this class, and a
|
|
57
|
+
* process can hold two — a test that resets its modules does, and #2155's suite found one.)
|
|
58
|
+
*/
|
|
59
|
+
export class BoundOperations {
|
|
60
|
+
#bound = true;
|
|
61
|
+
/** name → handler. */
|
|
62
|
+
handlers;
|
|
63
|
+
/**
|
|
64
|
+
* name → the schema the host parses an invocation's input against, before the guards and the
|
|
65
|
+
* handler (#893). The map `operationInputsOf` returned, as returned: it also carries the
|
|
66
|
+
* declared surface the host derives its trash refusal from (#119). Absent for a module that
|
|
67
|
+
* declares no operations, where nothing is parsed.
|
|
68
|
+
*/
|
|
69
|
+
inputs;
|
|
70
|
+
/** name → the entity whose version an `If-Match` on that operation is compared against (#129). */
|
|
71
|
+
concurrency;
|
|
72
|
+
/** The operations that declared `idempotency: false`, and so refuse an `Idempotency-Key` (#116). */
|
|
73
|
+
idempotencyOptOuts;
|
|
74
|
+
constructor(mint, handlers, derived = {}) {
|
|
75
|
+
if (mint !== MINT) {
|
|
76
|
+
throw new Error('BoundOperations: made by operationsFor or undeclaredOperations, never constructed directly');
|
|
77
|
+
}
|
|
78
|
+
Object.defineProperty(this, BRAND, { value: true });
|
|
79
|
+
// Frozen, all the way to what the adapters read (#2155 review): `readonly` does not stop
|
|
80
|
+
// `Object.assign(bound, { inputs: undefined })`, and an edit in place keeps the brand, so the
|
|
81
|
+
// value would register with its schemas gone or a handler added that nothing parses for.
|
|
82
|
+
// Frozen, each of those throws at module load — ES modules are strict.
|
|
83
|
+
this.handlers = Object.freeze({ ...handlers });
|
|
84
|
+
// In place, not copied: the map `operationInputsOf` returned is the key its declared surface
|
|
85
|
+
// is recorded under (#119), and it arrives frozen already. A test seam's map gets the same.
|
|
86
|
+
if (derived.inputs !== undefined)
|
|
87
|
+
this.inputs = Object.freeze(derived.inputs);
|
|
88
|
+
if (derived.concurrency !== undefined) {
|
|
89
|
+
this.concurrency = Object.freeze(Object.fromEntries(Object.entries(derived.concurrency).map(([name, at]) => [name, Object.freeze({ ...at })])));
|
|
90
|
+
}
|
|
91
|
+
if (derived.idempotencyOptOuts !== undefined)
|
|
92
|
+
this.idempotencyOptOuts = Object.freeze([...derived.idempotencyOptOuts]);
|
|
93
|
+
Object.freeze(this);
|
|
94
|
+
}
|
|
95
|
+
/** Was this value made by the binder — not a copy, a spread or a literal shaped like one? */
|
|
96
|
+
static is(value) {
|
|
97
|
+
return typeof value === 'object' && value !== null && Object.prototype.hasOwnProperty.call(value, BRAND);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* The adapters' registration check: a module's `operations` is a value the binder made, or the
|
|
102
|
+
* module does not register. A copy has no brand; nor does one made by a second copy of the kernel,
|
|
103
|
+
* which is the same refusal for the same reason — its maps are not the ones this host can trust.
|
|
104
|
+
*/
|
|
105
|
+
export function assertBoundOperations(moduleId, operations) {
|
|
106
|
+
if (operations === undefined || BoundOperations.is(operations))
|
|
107
|
+
return;
|
|
108
|
+
throw new Error(`${moduleId}: \`operations\` is not a value operationsFor or undeclaredOperations made — a copy, a spread ` +
|
|
109
|
+
'or a literal shaped like one carries maps nothing bound to the handlers (or the module was built ' +
|
|
110
|
+
'against a second copy of @substrat-run/kernel).\n Remedy: `...operationsFor(ops)({ … })`, as returned.');
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Bind a module's handlers to its declared operations.
|
|
114
|
+
*
|
|
115
|
+
* ```ts
|
|
116
|
+
* export const todoModule: ModuleRegistration = {
|
|
117
|
+
* manifest: todoManifest,
|
|
118
|
+
* migrations: todoMigrations,
|
|
119
|
+
* ...operationsFor(todoOperations)({
|
|
120
|
+
* 'todo/add': addOp,
|
|
121
|
+
* …
|
|
122
|
+
* }),
|
|
123
|
+
* };
|
|
124
|
+
* ```
|
|
125
|
+
*
|
|
126
|
+
* Curried, like `consumersFor`, so the declaration is inferred before the handlers are checked
|
|
127
|
+
* against it.
|
|
128
|
+
*/
|
|
129
|
+
export function operationsFor(declaration) {
|
|
130
|
+
return (handlers) => ({
|
|
131
|
+
operations: new BoundOperations(MINT, withDerivedHandlers(declaration, handlers), {
|
|
132
|
+
inputs: operationInputsOf(declaration),
|
|
133
|
+
concurrency: operationConcurrencyOf(declaration),
|
|
134
|
+
idempotencyOptOuts: operationIdempotencyOptOutsOf(declaration),
|
|
135
|
+
}),
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* The authored handlers, plus one written from each `derive` declaration's plan (#1773).
|
|
140
|
+
*
|
|
141
|
+
* The type already leaves a derived key out of the map it accepts; this is the runtime half, for
|
|
142
|
+
* the map that reached here through a cast. A handler handed to a derived operation is refused
|
|
143
|
+
* rather than preferred, since a hand-written one standing in silently for the derived one is the
|
|
144
|
+
* restatement `derive` exists to remove.
|
|
145
|
+
*/
|
|
146
|
+
function withDerivedHandlers(declaration, handlers) {
|
|
147
|
+
const out = { ...handlers };
|
|
148
|
+
for (const [name, op] of Object.entries(declaration)) {
|
|
149
|
+
if (op.derive === undefined)
|
|
150
|
+
continue;
|
|
151
|
+
if (Object.hasOwn(out, name)) {
|
|
152
|
+
throw new Error(`operationsFor: '${name}' is derived (\`derive\`) and must not be handed a handler — delete it, ` +
|
|
153
|
+
'or declare `authored` in place of `derive`');
|
|
154
|
+
}
|
|
155
|
+
const plan = derivationPlanOf(op);
|
|
156
|
+
if (plan === undefined) {
|
|
157
|
+
throw new Error(`operationsFor: '${name}' declares \`derive\`, but its declaration did not pass through ` +
|
|
158
|
+
'`defineOperations`, which is what decides whether it is derivable');
|
|
159
|
+
}
|
|
160
|
+
out[name] = derivedHandler(plan);
|
|
161
|
+
}
|
|
162
|
+
// The authored handlers keep their types; the derived ones are keys `H` never named.
|
|
163
|
+
return out;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* The declared exception: a module whose operations have no declaration to bind to, so the
|
|
167
|
+
* host parses nothing for them. The reason is required, and is what a reviewer reads.
|
|
168
|
+
*/
|
|
169
|
+
export function undeclaredOperations(reason, handlers) {
|
|
170
|
+
if (reason.trim() === '')
|
|
171
|
+
throw new Error('undeclaredOperations: give the reason this module declares no operations');
|
|
172
|
+
return { operations: new BoundOperations(MINT, handlers) };
|
|
173
|
+
}
|
|
174
|
+
//# sourceMappingURL=module-operations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module-operations.js","sourceRoot":"","sources":["../src/module-operations.ts"],"names":[],"mappings":"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"}
|
package/dist/peer.d.ts
CHANGED
|
@@ -97,8 +97,6 @@ export declare function switchPeer(db: SwitchSql, input: {
|
|
|
97
97
|
tenantHeld?: boolean;
|
|
98
98
|
fence?: string;
|
|
99
99
|
}): SwitchOutcome;
|
|
100
|
-
/** Is this peer switched off on the scope `db` is? */
|
|
101
|
-
export declare function peerSwitchedOff(db: SwitchSql, vertical: string): boolean;
|
|
102
100
|
/** One peer's position on one scope, as `peerGrantsStatus` enumerates them. */
|
|
103
101
|
export interface PeerGrantsRow {
|
|
104
102
|
vertical: string;
|
package/dist/peer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peer.d.ts","sourceRoot":"","sources":["../src/peer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,KAAK,KAAK,EACV,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACxB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,mBAAmB,EAEnB,cAAc,EAId,KAAK,aAAa,EAClB,KAAK,SAAS,EACf,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,CAAC;AAE/C,wFAAwF;AACxF,eAAO,MAAM,iBAAiB,0XAU7B,CAAC;AAEF,0EAA0E;AAC1E,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,2DAA2D;IAC3D,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACzC,6DAA6D;IAC7D,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC3C;AACD,MAAM,MAAM,gBAAgB,GAAG,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAEpE;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC;IAAE,KAAK,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAA;CAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAe/G;AAED,iFAAiF;AACjF,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,GAAG,QAAQ,EAAE,CAQ9E;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACvB,EAAE,EAAE,SAAS,EACb,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,MAAM,GAAG,IAAI,GACvB,YAAY,CAuBd;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CACxB,EAAE,EAAE,SAAS,EACb,KAAK,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,IAAI,GAAG,KAAK,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/G,aAAa,CAGf;AAED
|
|
1
|
+
{"version":3,"file":"peer.d.ts","sourceRoot":"","sources":["../src/peer.ts"],"names":[],"mappings":"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"}
|
package/dist/peer.js
CHANGED
|
@@ -126,10 +126,6 @@ export function switchPeer(db, input) {
|
|
|
126
126
|
const { vertical, ...rest } = input;
|
|
127
127
|
return moveSwitch(db, 'peer', { key: vertical, ...rest });
|
|
128
128
|
}
|
|
129
|
-
/** Is this peer switched off on the scope `db` is? */
|
|
130
|
-
export function peerSwitchedOff(db, vertical) {
|
|
131
|
-
return subjectSwitchedOff(db, peerSubjectRef(vertical));
|
|
132
|
-
}
|
|
133
129
|
/**
|
|
134
130
|
* Every peer this scope holds or has held grants for, and where each stands (#1706) — the
|
|
135
131
|
* read half of the kill switch, and `systemGrantsStatus`'s shape with the subject swapped.
|
package/dist/peer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peer.js","sourceRoot":"","sources":["../src/peer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"peer.js","sourceRoot":"","sources":["../src/peer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type Actor, type
|
|
1
|
+
import { type Actor, type PlatformRequestEntry, type PlatformRequestFilter } from '@substrat-run/contracts';
|
|
2
2
|
/**
|
|
3
3
|
* The one SELECT behind every read of a scope's intent journal (#618).
|
|
4
4
|
*
|
|
@@ -58,10 +58,10 @@ export declare const UNDECODED_REQUESTER: Actor;
|
|
|
58
58
|
* refuse — a consumer switching on `status` or passing `id` on as a branded id can trust both.
|
|
59
59
|
* The price is the REQUIRED scalars (`id`, `kind`, `status`, `attempts`, `requested_at`): they
|
|
60
60
|
* have no empty value, so a row that breaks one of them cannot be a `PlatformRequest` without
|
|
61
|
-
* lying
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
61
|
+
* lying. It comes back as the OTHER half of the entry instead (#1637), an
|
|
62
|
+
* `UndecodablePlatformRequest`: those five columns as stored, as text, and `decodeError` naming
|
|
63
|
+
* every column it broke. It used to throw, which kept #1588's whole consequence — one row and
|
|
64
|
+
* the scope's journal was unreadable on all three reads — for exactly these columns.
|
|
65
65
|
*
|
|
66
66
|
* A row the kernel wrote decodes whole and carries no `decodeError` at all, so a healthy list
|
|
67
67
|
* is exactly what it was. This is the READ's half of #1587's rule — strict where work happens,
|
|
@@ -72,5 +72,5 @@ export declare const UNDECODED_REQUESTER: Actor;
|
|
|
72
72
|
* another world, or one edited by hand, is enough. The field-by-field mechanics are
|
|
73
73
|
* `rowDecoder`'s, shared with the history and denial reads (#1636).
|
|
74
74
|
*/
|
|
75
|
-
export declare function platformRequestOf(row: PlatformRequestRawRow):
|
|
75
|
+
export declare function platformRequestOf(row: PlatformRequestRawRow): PlatformRequestEntry;
|
|
76
76
|
//# sourceMappingURL=platform-request-query.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-request-query.d.ts","sourceRoot":"","sources":["../src/platform-request-query.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,KAAK,
|
|
1
|
+
{"version":3,"file":"platform-request-query.d.ts","sourceRoot":"","sources":["../src/platform-request-query.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,KAAK,EAEV,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAE3B,MAAM,yBAAyB,CAAC;AAGjC;;;;;;;;;;GAUG;AAEH,0FAA0F;AAC1F,eAAO,MAAM,wBAAwB,iIAC2F,CAAC;AAEjI,wBAAgB,2BAA2B,CAAC,MAAM,CAAC,EAAE,qBAAqB,GAAG;IAC3E,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;CAC7B,CAoBA;AAED,4FAA4F;AAC5F,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAuB,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,qBAAqB,GAAG,oBAAoB,CAyBlF"}
|