@substrat-run/contracts 0.87.0 → 0.89.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.
@@ -15,12 +15,16 @@
15
15
  *
16
16
  * ## `input`, and the transcription that is not here
17
17
  *
18
- * `input` is the Zod object the handler already parses the same object, not a
19
- * description of it. That is the whole reason the model is TypeScript (#680): a
20
- * schema language would need the shape written twice, and transcription is what
21
- * produced 40 wrong argument names in the one app where this was measured.
18
+ * `input` is a real Zod object, not a description of one. That is the whole
19
+ * reason the model is TypeScript (#680): a schema language would need the shape
20
+ * written twice, and transcription is what produced 40 wrong argument names in
21
+ * the one app where this was measured.
22
+ *
23
+ * Being real is also what lets the HOST parse with it (#893) — the declaration
24
+ * is the thing that refuses a malformed call, rather than a description of a
25
+ * refusal each handler was trusted to implement.
22
26
  */
23
- import type { CountedPage, Page } from './pagination.js';
27
+ import { type CountedPage, type Page } from './pagination.js';
24
28
  import { z } from 'zod';
25
29
  import { type EntityDef, type EntityFields } from './model.js';
26
30
  /** `{var}` names in a literal path. */
@@ -108,11 +112,24 @@ type PiiShape<O, OutKeys extends string> = O extends {
108
112
  * checks the LIST it sits on — say `resolved` instead with the reason. That
109
113
  * still records the thing that matters (this is not a node check) while being
110
114
  * honest that the handler has to find the entity itself.
115
+ *
116
+ * An engine narrowing to a ref the caller owns says `refFrom` and names the field
117
+ * carrying it whole (#896) — see `PermissionRefCheck` below.
118
+ *
119
+ * An operation that narrows to more than one type says `entityFrom` in place of
120
+ * `entity`, naming the input field that carries the type (#890). The admissible
121
+ * types come from that field's own schema — `z.enum(['workorder', 'protocol'])` —
122
+ * so the set is stated once and cannot drift from a second list. `entity` remains
123
+ * the right answer wherever there is one type, and an open `z.string()` behind
124
+ * `entityFrom` remains undrivable by the conformance kit, which reports it rather
125
+ * than picking a type.
111
126
  */
112
127
  type PermissionCheck<O, Entities, Engines, PermKey extends string> = {
113
128
  readonly key: PermKey;
129
+ } & ({
114
130
  /**
115
- * The entity type the check narrows to — this module's, or a composed engine's.
131
+ * The entity type the check narrows to — this module's, or a composed
132
+ * engine's.
116
133
  *
117
134
  * Pointable only. A narrowed check is a grant against ONE entity id, and
118
135
  * `idFrom` names the single input field carrying it, so a composite-keyed
@@ -128,13 +145,85 @@ type PermissionCheck<O, Entities, Engines, PermKey extends string> = {
128
145
  primaryKey: readonly [unknown, unknown, ...unknown[]];
129
146
  } ? never : K;
130
147
  }[keyof R] & string : never : never);
131
- } & ({
148
+ readonly entityFrom?: never;
149
+ } | {
150
+ /**
151
+ * The input field carrying the entity TYPE, when one operation narrows to
152
+ * more than one (#890).
153
+ *
154
+ * Both timelines are this shape: `callout/timeline` reads the spine of a
155
+ * work order for the app and of a protocol for the signing beat, checking
156
+ * `workorder:read` on whichever the caller names. Declaring `entity:
157
+ * 'workorder'` was true of most callers and narrower than the operation,
158
+ * and the artifact being narrower than the code is still the artifact
159
+ * being wrong.
160
+ *
161
+ * The admissible types are NOT listed here. They are read off the schema at
162
+ * this field, so the model states them once — `z.enum(['workorder',
163
+ * 'protocol'])` — and a list that could go stale never exists. Leave that
164
+ * field an open `z.string()` and the conformance kit reports the operation
165
+ * as uncovered rather than guessing a type to drive.
166
+ *
167
+ * This is the bounded answer, not "any entity at all": an unbounded type
168
+ * field is what makes an operation unsafe to bind to a URL, and it stays
169
+ * unsafe. What changed is that the declaration can now say which few types
170
+ * it means.
171
+ */
172
+ readonly entityFrom: InputKeys<O>;
173
+ readonly entity?: never;
174
+ }) & ({
132
175
  readonly idFrom: InputKeys<O>;
133
176
  readonly resolved?: never;
134
177
  } | {
135
178
  readonly resolved: string;
136
179
  readonly idFrom?: never;
137
180
  });
181
+ /**
182
+ * A check narrowed to a ref the caller supplies WHOLE — type and id together
183
+ * (#896).
184
+ *
185
+ * This is the engine case, and it is not the same shape as `entityFrom`.
186
+ * `entityFrom` still ends at a type someone declared: the field names it, the
187
+ * schema bounds it, and the kit creates one. An engine composed by a vertical
188
+ * narrows to a noun that is in NO registry it can see — `engines/absence` checks
189
+ * `absence:read` against `input.subject`, and the subject is Meridian's
190
+ * `employee`, which absence cannot name and by design does not know:
191
+ *
192
+ * > It knows NOTHING about who a subject is (the vertical owns the directory).
193
+ *
194
+ * So the declaration stops trying to name the type and names the FIELD carrying
195
+ * the ref instead. One field, both halves: an `EntityRef` is `{ entityType,
196
+ * entityId }`, so there is nothing left for `entity` or `idFrom` to add, and
197
+ * declaring either alongside is a compile error rather than a second opinion.
198
+ *
199
+ * What is still stated — and it is the thing that matters — is *this is not a
200
+ * node check*. That is the whole distinction #736 was filed about, and the one an
201
+ * engine most needs to make: a handler that checked `absence:read` at the node
202
+ * would let anyone holding the key anywhere in the scope read anyone's ledger,
203
+ * with every test green.
204
+ *
205
+ * The conformance kit drives these: it creates an entity of a type its own
206
+ * FIXTURE names, grants the key narrowed to that ref, and requires the handler to
207
+ * honour it — which is exactly the check, since the engine is supposed to accept
208
+ * whatever noun it is handed.
209
+ */
210
+ type PermissionRefCheck<O, PermKey extends string> = {
211
+ readonly key: PermKey;
212
+ /**
213
+ * The input field holding the whole `EntityRef`.
214
+ *
215
+ * A dotted path reaches one level in, for a ref that arrives inside a larger
216
+ * object — absence's `request` takes `subject: { ref, dataSubjectId }`, where
217
+ * the erasure key travels beside the ref and only the ref is checked. The first
218
+ * segment is held to the input's own fields; the second cannot be, and a path
219
+ * that does not resolve is reported by the kit rather than driven.
220
+ */
221
+ readonly refFrom: InputKeys<O> | `${InputKeys<O> & string}.${string}`;
222
+ readonly entity?: never;
223
+ readonly entityFrom?: never;
224
+ readonly idFrom?: never;
225
+ readonly resolved?: never;
226
+ };
138
227
  type OpAuthority<O, Entities, Engines, PermKey extends string> = O extends {
139
228
  narrows: unknown;
140
229
  } ? {
@@ -159,7 +248,7 @@ type OpAuthority<O, Entities, Engines, PermKey extends string> = O extends {
159
248
  };
160
249
  readonly permission?: never;
161
250
  } : {
162
- readonly permission: PermKey | PermissionCheck<O, Entities, Engines, PermKey>;
251
+ readonly permission: PermKey | PermissionCheck<O, Entities, Engines, PermKey> | PermissionRefCheck<O, PermKey>;
163
252
  readonly narrows?: never;
164
253
  };
165
254
  /**
@@ -291,6 +380,72 @@ export type PagedShape<O, Entities, Engines> = (PagedCommon & {
291
380
  readonly over: PagedOver<O, Entities, Engines>;
292
381
  readonly sortKey?: never;
293
382
  });
383
+ /**
384
+ * Optimistic concurrency over one entity (#129).
385
+ *
386
+ * Present means the caller's `If-Match` is compared against the entity's version
387
+ * INSIDE the operation's transaction, before the guards and before any engine
388
+ * call, and a mismatch raises `precondition_failed` (412). The response carries
389
+ * the entity's version as an `ETag` either way, so a read hands the client the
390
+ * token its next write will send.
391
+ *
392
+ * ```ts
393
+ * 'acme/update-customer': {
394
+ * input: z.object({ customerId: z.string(), name: z.string().optional() }),
395
+ * concurrency: { over: 'customer', idFrom: 'customerId' },
396
+ * emits: { entity: 'customer', entityIdFrom: 'id', … },
397
+ * }
398
+ * ```
399
+ *
400
+ * ## Why this is declared rather than blanket
401
+ *
402
+ * #129 originally asked that every write require `If-Match`. That was reasoned
403
+ * from a premise the model has since falsified — *"routes are hand-written thin
404
+ * over engine in-scope functions"* — and the operations the model actually
405
+ * produced are command-shaped, not resource-shaped. Two concurrent
406
+ * `todo/rename-list` calls do not lose an update: the second caller sent a name,
407
+ * not a whole entity it read and echoed back. A mandatory precondition there is a
408
+ * forced GET round-trip guarding nothing, on every write in the fleet.
409
+ *
410
+ * The shape that DOES lose updates is the field-bag PATCH, and it is not left to
411
+ * an author's memory: `assertFieldBagsDeclareConcurrency` refuses one that omits
412
+ * this.
413
+ *
414
+ * ## `over` is the entity the operation EMITS about, and that is checked
415
+ *
416
+ * A version is the ULID of the last event about the entity, so an operation that
417
+ * guards an entity it does not announce a change to is not merely unprotected —
418
+ * it is WORSE than unprotected. Both writers pass their `If-Match`, neither moves
419
+ * the version, both commit, and the 200s carry an `ETag` asserting the write was
420
+ * serialised. `assertConcurrencyMovesVersion` refuses that at module load; see
421
+ * `entity-version.ts`, which asks for this check by name.
422
+ */
423
+ export type ConcurrencyShape<O, Entities, Engines> = {
424
+ /**
425
+ * The entity whose version the precondition compares — this module's, or a
426
+ * composed engine's.
427
+ *
428
+ * Pointable only, for the reason every other narrowed position is: a version is
429
+ * read for ONE entity id, and `idFrom` names the single input field carrying it,
430
+ * so a composite-keyed table has nothing to point at. Inlined rather than
431
+ * aliased, per `PointableName` in `model.ts`.
432
+ */
433
+ readonly over: ({
434
+ readonly [K in keyof Entities]: Entities[K] extends {
435
+ primaryKey: readonly [unknown, unknown, ...unknown[]];
436
+ } ? never : K;
437
+ }[keyof Entities] & string) | (Engines extends readonly (infer R)[] ? R extends Record<string, EntityDef> ? {
438
+ readonly [K in keyof R]: R[K] extends {
439
+ primaryKey: readonly [unknown, unknown, ...unknown[]];
440
+ } ? never : K;
441
+ }[keyof R] & string : never : never);
442
+ /**
443
+ * The input field carrying that entity's id — the same compile-checked join as
444
+ * `permission.idFrom`, and load-bearing for the same reason: a precondition read
445
+ * against the wrong row admits every stale write while looking like it works.
446
+ */
447
+ readonly idFrom: InputKeys<O>;
448
+ };
294
449
  /**
295
450
  * The per-operation constraint, self-referential in `O`.
296
451
  *
@@ -303,12 +458,27 @@ type OperationShape<O, Entities, Engines, PermKey extends string> = {
303
458
  /** One line, imperative — what invoking this does. Feeds the API document. */
304
459
  readonly summary: string;
305
460
  /**
306
- * The request body — the SAME Zod object the handler parses.
461
+ * The request body — the schema the HOST parses this operation's input with.
462
+ *
463
+ * **The handler does not have to parse it, and should not need to.** A module
464
+ * hands its derived schemas over as `operationInputs` (see
465
+ * `operationInputsOf`), and the scope host parses every invocation against
466
+ * them before the guards and the handler run — over HTTP, from a test, from a
467
+ * seed, from a schedule. So a handler's declared input type is a fact about
468
+ * what it receives rather than a claim about what it was sent.
469
+ *
470
+ * This used to read *"the SAME Zod object the handler parses"*, and across the
471
+ * fleet it mostly was not: of ~85 declared inputs, 40 were parsed, and
472
+ * `demos/rally` declared 32 and parsed 2 (#893). The declaration was true
473
+ * about the shape and false about the parsing.
307
474
  *
308
475
  * **Omitted means no body at all**, and the handler then takes `undefined`.
309
476
  * Found by the first adopter: three of Callout's six operations take no input,
310
477
  * and a required `z.object({})` cannot say so — a handler accepting only
311
- * `undefined` is not assignable to one accepting `{}`.
478
+ * `undefined` is not assignable to one accepting `{}`. A paged operation is
479
+ * the exception in both directions: the platform supplies its page whether one
480
+ * was declared or not, and materialises an empty one for an in-process caller
481
+ * that passes nothing.
312
482
  *
313
483
  * This mirrors `ApiOperationDoc.input` ("Omit = no body") rather than
314
484
  * inventing a second vocabulary for the same fact.
@@ -350,6 +520,49 @@ type OperationShape<O, Entities, Engines, PermKey extends string> = {
350
520
  * shifts between requests, so pages drop and duplicate.
351
521
  */
352
522
  readonly paged?: PagedShape<O, Entities, Engines>;
523
+ /**
524
+ * This operation participates in optimistic concurrency (#129).
525
+ *
526
+ * One declaration, two consequences that follow from HTTP's own method
527
+ * semantics rather than from a second flag: the response always carries an
528
+ * `ETag`, and an UNSAFE method (POST/PUT/PATCH/DELETE) additionally honours
529
+ * `If-Match` and refuses a stale one with 412. So the same line on a read hands
530
+ * out the token, and on a write requires it back.
531
+ *
532
+ * See `ConcurrencyShape` for why `over` must be the entity the operation emits
533
+ * about, and why this is opt-in rather than blanket.
534
+ */
535
+ readonly concurrency?: ConcurrencyShape<O, Entities, Engines>;
536
+ /**
537
+ * Opt OUT of request idempotency (#116). Only `false` is a legal value.
538
+ *
539
+ * Every operation on an unsafe method honours `Idempotency-Key` by default,
540
+ * because a retried write creating a second entity is a hazard on all of them —
541
+ * unlike a lost update, which is a hazard on the field-bag shape alone and is
542
+ * why `concurrency` above is opt-IN. The client opts in by sending the header;
543
+ * the server never requires one.
544
+ *
545
+ * What honouring it costs, and therefore what this field is for: the response
546
+ * is recorded in the scope database for `IDEMPOTENCY_RETENTION_MS` so that the
547
+ * retry can be answered with it. An operation whose result must not be stored —
548
+ * a freshly minted secret, a one-time token, a body carrying personal data the
549
+ * erasure sweep would never find — says so here, and the host then REFUSES the
550
+ * header rather than quietly storing the response or quietly executing twice.
551
+ *
552
+ * ```ts
553
+ * 'acme/mint-token': {
554
+ * idempotency: false, // the response is a credential; do not record it
555
+ * …
556
+ * }
557
+ * ```
558
+ *
559
+ * Opt-out rather than opt-in because the two read differently in a diff. A
560
+ * missing opt-in is invisible — nobody reviews an absence — while `idempotency:
561
+ * false` is a line someone wrote, and a reviewer can ask why. It is the same
562
+ * reasoning `narrows` applies to a permission that is deliberately not
563
+ * node-level: state the exception, never the rule.
564
+ */
565
+ readonly idempotency?: false;
353
566
  readonly emits?: {
354
567
  /**
355
568
  * The entity the event is about — one of THIS module's entities, or one of a
@@ -428,7 +641,29 @@ type OperationShape<O, Entities, Engines, PermKey extends string> = {
428
641
  * });
429
642
  * ```
430
643
  */
431
- export declare function defineOperations<const Entities extends Record<string, EntityDef>, const Perms extends readonly string[], const Engines extends readonly Record<string, EntityDef>[] = []>(_entities: Entities, _permissions: Perms, _engines?: Engines): <const Ops extends { readonly [K in keyof Ops]: OperationShape<Ops[K], Entities, Engines, Perms[number]>; }>(operations: Ops) => Ops;
644
+ export declare function defineOperations<const Entities extends Record<string, EntityDef>, const Perms extends readonly string[], const Engines extends readonly Record<string, EntityDef>[] = []>(entities: Entities, _permissions: Perms, engines?: Engines): <const Ops extends { readonly [K in keyof Ops]: OperationShape<Ops[K], Entities, Engines, Perms[number]>; }>(operations: Ops) => Ops;
645
+ /**
646
+ * The concurrency each operation declares, for the host (#129).
647
+ *
648
+ * Handed over beside `operationInputs` and read the same way — the adapter
649
+ * compares versions from this map rather than each handler being trusted to. Same
650
+ * argument as the parse: one place that cannot be forgotten beats a rule every
651
+ * new operation has to remember.
652
+ */
653
+ export declare function operationConcurrencyOf(operations: Readonly<Record<string, object>>): Record<string, {
654
+ entity: string;
655
+ idFrom: string;
656
+ }>;
657
+ /**
658
+ * The operations that opted OUT of request idempotency (#116).
659
+ *
660
+ * A set of names rather than a map, because there is nothing to configure: the
661
+ * declaration is a refusal, and its only content is which operations made it.
662
+ *
663
+ * Read structurally, like every other extractor here — a module hands the host
664
+ * its plain operations object and the host never sees the declaration's types.
665
+ */
666
+ export declare function operationIdempotencyOptOutsOf(operations: Readonly<Record<string, object>>): string[];
432
667
  /**
433
668
  * The permission keys an operation set actually requires, for the manifest.
434
669
  *
@@ -604,6 +839,43 @@ export declare function manifestOperations<const Ops extends Record<string, obje
604
839
  }[];
605
840
  };
606
841
  };
842
+ /**
843
+ * name → the schema the host parses an invocation's input against (#893).
844
+ *
845
+ * ## Why this is derived rather than parsed in the handler
846
+ *
847
+ * `input` documents itself as *"the SAME Zod object the handler parses"*, and
848
+ * across the fleet it mostly was not: of ~85 declared inputs, 40 were parsed.
849
+ * Rally declared 32 and parsed 2. The declaration was true about the shape —
850
+ * `idFrom` and `entityIdFrom` are held to it by the compiler — and false about
851
+ * the parsing, which is the half that actually refuses a malformed call.
852
+ *
853
+ * A lint rule was the other candidate and is strictly weaker. It can only ask
854
+ * whether *some* `.parse` appears in a handler body, not whether it is the
855
+ * declared schema, at the boundary, before the first read of a field. And it is
856
+ * unfulfillable where the schema is declared inline (`input: z.object({…})`) —
857
+ * callout, handlebar and todo declare 25 inputs with no identifier a handler
858
+ * could name, and the reference implementation is one of them.
859
+ *
860
+ * So the host parses instead, from the same declaration that already produces
861
+ * the manifest, the routes and the OpenAPI document. `mountOperations` already
862
+ * does exactly this for the page trio, and for the same stated reason: it is
863
+ * what makes the ceiling *"true of every paged endpoint rather than of the ones
864
+ * whose author remembered"*.
865
+ *
866
+ * ## What it means for a handler
867
+ *
868
+ * The input a handler receives is parsed, so unknown keys are gone and every
869
+ * declared field has its declared type. A handler that parsed for itself may
870
+ * keep doing so — the second parse is a no-op on an already-parsed value — but
871
+ * it no longer has to, and a new operation cannot forget.
872
+ *
873
+ * An operation with no declared `input` is absent from the map: it takes
874
+ * `undefined`, and `z.object({})` cannot say that (see `input` above). A paged
875
+ * operation is always present even with no `input`, because the platform hands
876
+ * it a page whether it declared one or not.
877
+ */
878
+ export declare function operationInputsOf<const Ops extends Record<string, object>>(operations: Ops): Record<string, z.ZodType>;
607
879
  /**
608
880
  * Where one composed-engine operation lives in THIS vertical's HTTP surface.
609
881
  *
@@ -1 +1 @@
1
- {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../src/operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../src/operations.ts"],"names":[],"mappings":"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"}