@substrat-run/contracts 0.141.0 → 0.143.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.
Files changed (48) hide show
  1. package/dist/capability.d.ts +215 -5
  2. package/dist/capability.d.ts.map +1 -1
  3. package/dist/capability.js +105 -6
  4. package/dist/capability.js.map +1 -1
  5. package/dist/control-plane.d.ts +141 -19
  6. package/dist/control-plane.d.ts.map +1 -1
  7. package/dist/control-plane.js +84 -15
  8. package/dist/control-plane.js.map +1 -1
  9. package/dist/deploy.d.ts +20 -0
  10. package/dist/deploy.d.ts.map +1 -1
  11. package/dist/errors.d.ts +12 -0
  12. package/dist/errors.d.ts.map +1 -1
  13. package/dist/errors.js +15 -0
  14. package/dist/errors.js.map +1 -1
  15. package/dist/invocation-record.d.ts +1 -1
  16. package/dist/invocation-record.js +1 -1
  17. package/dist/kernel-events.d.ts.map +1 -1
  18. package/dist/kernel-events.js +2 -1
  19. package/dist/kernel-events.js.map +1 -1
  20. package/dist/manifest.d.ts +9 -0
  21. package/dist/manifest.d.ts.map +1 -1
  22. package/dist/manifest.js +9 -0
  23. package/dist/manifest.js.map +1 -1
  24. package/dist/model.d.ts +73 -0
  25. package/dist/model.d.ts.map +1 -1
  26. package/dist/model.js +20 -0
  27. package/dist/model.js.map +1 -1
  28. package/dist/operations.d.ts +112 -14
  29. package/dist/operations.d.ts.map +1 -1
  30. package/dist/operations.js +365 -4
  31. package/dist/operations.js.map +1 -1
  32. package/dist/platform-request.d.ts +92 -0
  33. package/dist/platform-request.d.ts.map +1 -1
  34. package/dist/platform-request.js +38 -1
  35. package/dist/platform-request.js.map +1 -1
  36. package/dist/tenancy.d.ts +8 -0
  37. package/dist/tenancy.d.ts.map +1 -1
  38. package/dist/tenancy.js +8 -0
  39. package/dist/tenancy.js.map +1 -1
  40. package/dist/wire-auth.d.ts +33 -0
  41. package/dist/wire-auth.d.ts.map +1 -0
  42. package/dist/wire-auth.js +67 -0
  43. package/dist/wire-auth.js.map +1 -0
  44. package/dist/wire-headers.d.ts +13 -0
  45. package/dist/wire-headers.d.ts.map +1 -1
  46. package/dist/wire-headers.js +10 -0
  47. package/dist/wire-headers.js.map +1 -1
  48. package/package.json +5 -1
@@ -26,7 +26,7 @@
26
26
  */
27
27
  import { LIST_PAGE_MAX } from './pagination.js';
28
28
  import { z } from 'zod';
29
- import { primaryKeyOf } from './model.js';
29
+ import { DERIVED_KINDS, primaryKeyOf, } from './model.js';
30
30
  // ---------------------------------------------------------------------------
31
31
  // The composer.
32
32
  // ---------------------------------------------------------------------------
@@ -61,6 +61,7 @@ export function defineOperations(entities, _permissions, engines) {
61
61
  assertFieldBagsDeclareConcurrency(operations, entities, engines ?? []);
62
62
  assertPatchInputs(operations);
63
63
  assertTrashedDeclarations(operations, entities);
64
+ assertHandlersDeclared(operations, entities);
64
65
  return operations;
65
66
  };
66
67
  }
@@ -475,10 +476,370 @@ function assertPatchInputs(operations) {
475
476
  }
476
477
  }
477
478
  }
479
+ /**
480
+ * Every derived declaration's plan, keyed by the declaration object itself. Keyed per operation
481
+ * rather than per map so a module that spreads its operations into a larger map still reaches
482
+ * them, and module-private so nothing but `defineOperations` can say what a handler does.
483
+ */
484
+ const DERIVATION_PLANS = new WeakMap();
485
+ /**
486
+ * The plan `defineOperations` recorded for a `derive` declaration — `undefined` for anything else,
487
+ * including a declaration that never passed through `defineOperations`.
488
+ */
489
+ export function derivationPlanOf(operation) {
490
+ return DERIVATION_PLANS.get(operation);
491
+ }
492
+ /**
493
+ * A schema read structurally, through the wrappers that only change optionality: the zod def
494
+ * underneath, and whether any wrapper on the way admits `null`.
495
+ */
496
+ function unwrapped(schema) {
497
+ let current = schema;
498
+ let nullable = false;
499
+ for (let depth = 0; depth < 8; depth++) {
500
+ const def = current?._zod?.def;
501
+ if (!def)
502
+ return { base: undefined, nullable };
503
+ if (def.type === 'nullable' || def.type === 'nullish')
504
+ nullable = true;
505
+ else if (def.type !== 'optional' && def.type !== 'readonly')
506
+ return { base: def, nullable };
507
+ current = def.innerType;
508
+ }
509
+ return { base: undefined, nullable };
510
+ }
511
+ const baseDefOf = (schema) => unwrapped(schema).base;
512
+ const acceptsNull = (schema) => unwrapped(schema).nullable;
513
+ /** The column kinds a derived write binds as they arrive: a JSON or boolean column needs encoding. */
514
+ const DERIVED_WRITE_KINDS = new Set(['string', 'number', 'literal']);
515
+ /** This module's entity whose `fields` the output IS, by identity — a projection is not the row. */
516
+ function entityOfOutput(output, entities) {
517
+ return Object.keys(entities).find((name) => entities[name]?.fields === output);
518
+ }
519
+ /** The entity's definition and the plan's shared head, or the clause the entity fails. */
520
+ function derivableEntity(entityName, entities) {
521
+ const def = entities[entityName];
522
+ if (!def)
523
+ return `'${entityName}' is not this module's entity — a composed engine's table is the engine's to read`;
524
+ const primaryKey = primaryKeyOf(entityName, def);
525
+ if (primaryKey.length !== 1)
526
+ return `'${entityName}' has a composite primary key, so no one id addresses a row`;
527
+ return {
528
+ def,
529
+ head: { entity: entityName, table: def.table, primaryKey: primaryKey[0], columns: Object.keys(def.fields.shape) },
530
+ };
531
+ }
532
+ /** The leading check, read back: a scope key, `{ key, entity, idFrom }`, or the clause it fails. */
533
+ function plainPermission(permission) {
534
+ if (typeof permission === 'string')
535
+ return { key: permission };
536
+ const p = permission;
537
+ if (typeof p?.key === 'string' && typeof p.entity === 'string' && typeof p.idFrom === 'string') {
538
+ return { key: p.key, entity: p.entity, idFrom: p.idFrom };
539
+ }
540
+ return 'its permission is resolved, carried in a ref, or narrowed per row — the derived check is a scope key or `{ key, entity, idFrom }`';
541
+ }
542
+ function emitOf(decl) {
543
+ const e = decl.emits ?? {};
544
+ return {
545
+ type: e.type,
546
+ schemaVersion: e.schemaVersion,
547
+ piiClass: e.piiClass,
548
+ ...(typeof e.subjectId === 'string' ? { subjectId: e.subjectId } : {}),
549
+ payload: [...(e.payload ?? [])],
550
+ };
551
+ }
552
+ /** The input's fields, split by whether a caller may omit them. */
553
+ function inputFields(decl) {
554
+ const required = [];
555
+ const optional = [];
556
+ for (const [field, schema] of Object.entries(decl.input?.shape ?? {})) {
557
+ (isOptionalSchema(schema) ? optional : required).push(field);
558
+ }
559
+ return { required, optional };
560
+ }
561
+ /** Clauses every derived shape shares: no per-row walk, no per-field projection, no bin access. */
562
+ function commonClause(decl, kind) {
563
+ if (decl.narrows !== undefined)
564
+ return 'it narrows per row (`narrows`), which is a walk the handler composes';
565
+ if (decl.gates !== undefined)
566
+ return 'it gates fields (`gates`), a projection the handler applies';
567
+ if (decl.inputOptional !== undefined)
568
+ return 'it declares `inputOptional`';
569
+ if (decl.trashed !== undefined && !(kind === 'delete' && decl.trashed === 'purges')) {
570
+ return `it declares \`trashed: '${String(decl.trashed)}'\` — reaching the bin is authored`;
571
+ }
572
+ return null;
573
+ }
574
+ function getPlan(decl, entities) {
575
+ if (decl.paged !== undefined)
576
+ return 'it is paged — a page is a `list`';
577
+ if (decl.emits !== undefined)
578
+ return 'it emits, and a read announces nothing';
579
+ // An invoke-only operation that emits nothing may still write — a silent transition reads the
580
+ // same from here — so a `get` is one the declaration itself SERVES as a read.
581
+ if (decl.http?.method !== 'GET')
582
+ return 'it is not served as GET, the method that says it only reads';
583
+ const name = entityOfOutput(decl.output, entities);
584
+ if (name === undefined)
585
+ return "its output is not one of this module's entities' own `fields`";
586
+ const base = derivableEntity(name, entities);
587
+ if (typeof base === 'string')
588
+ return base;
589
+ const { required, optional } = inputFields(decl);
590
+ if (required.length !== 1 || optional.length !== 0)
591
+ return 'its input is not the id alone';
592
+ const idFrom = required[0];
593
+ const permission = plainPermission(decl.permission);
594
+ if (typeof permission === 'string')
595
+ return permission;
596
+ if (permission.entity !== undefined && (permission.entity !== name || permission.idFrom !== idFrom)) {
597
+ return `its check narrows to '${permission.entity}' by '${String(permission.idFrom)}', not to the row it reads`;
598
+ }
599
+ if (permission.entity === undefined && base.def.trash !== undefined) {
600
+ return `'${name}' declares \`trash\`, and only a check narrowed to the row lets the host refuse a binned one`;
601
+ }
602
+ return { kind: 'get', ...base.head, permission, idFrom };
603
+ }
604
+ /** The column kinds a derived filter binds as they arrive — a boolean filter over a 0/1 column needs encoding. */
605
+ const DERIVED_FILTER_KINDS = new Set(['string', 'number', 'literal', 'enum']);
606
+ /** A derived page binds the input value as the filter, so the two must be the same kind. */
607
+ function filterTypeIssue(decl, field, column, entity) {
608
+ const columnKind = baseDefOf(entity.fields.shape[column])?.type;
609
+ if (!columnKind || !DERIVED_FILTER_KINDS.has(columnKind)) {
610
+ return `filter column '${column}' is not a string, number or enum column`;
611
+ }
612
+ if (baseDefOf(decl.input?.shape[field])?.type !== columnKind) {
613
+ return `input field '${field}' is not the same type as filter column '${column}', so the handler maps it`;
614
+ }
615
+ return null;
616
+ }
617
+ function listPlan(decl, entities) {
618
+ const over = decl.paged?.over;
619
+ if (over === undefined)
620
+ return 'it is not a kernel-composed page (`paged.over`)';
621
+ // A page is a read, matched as exactly as a `get`: a paged command that emits, or one served
622
+ // as anything but GET, writes as well as reads, and its handler is its own.
623
+ if (decl.emits !== undefined)
624
+ return 'it emits, and a read announces nothing';
625
+ if (decl.http?.method !== 'GET')
626
+ return 'it is not served as GET, the method that says it only reads';
627
+ const name = over.entity;
628
+ if (decl.output !== entities[name]?.fields)
629
+ return `its output is not '${name}'s own \`fields\``;
630
+ const base = derivableEntity(name, entities);
631
+ if (typeof base === 'string')
632
+ return base;
633
+ const permission = plainPermission(decl.permission);
634
+ if (typeof permission === 'string')
635
+ return permission;
636
+ const filterable = new Set(over.filterable ?? []);
637
+ const filters = [];
638
+ const { required, optional } = inputFields(decl);
639
+ if (permission.entity !== undefined) {
640
+ if (!(base.def.parents ?? []).includes(permission.entity)) {
641
+ return `its check narrows to '${permission.entity}', which is not a parent of '${name}'`;
642
+ }
643
+ const idFrom = permission.idFrom;
644
+ const column = snakeCaseField(idFrom);
645
+ // The filter is what scopes the page to the checked parent, so it must BE the link to that
646
+ // parent — a filter on any other column passes the check on one row and pages another set.
647
+ const link = `${snakeCaseField(permission.entity)}_id`;
648
+ if (column !== link) {
649
+ return `the parent's id '${idFrom}' filters column '${column}', which is not the link to '${permission.entity}' ('${link}')`;
650
+ }
651
+ if (!required.includes(idFrom) || !filterable.has(column)) {
652
+ return `the parent's id '${idFrom}' is not a required input filtering the declared \`filterable\` column '${column}'`;
653
+ }
654
+ const issue = filterTypeIssue(decl, idFrom, column, base.def);
655
+ if (issue)
656
+ return issue;
657
+ filters.push({ field: idFrom, column });
658
+ }
659
+ for (const field of required) {
660
+ if (field !== permission.idFrom)
661
+ return `input field '${field}' is required, and only the parent's id may be`;
662
+ }
663
+ for (const field of optional) {
664
+ const column = snakeCaseField(field);
665
+ if (!filterable.has(column))
666
+ return `input field '${field}' is not a declared \`filterable\` column`;
667
+ if (inputDefaultIssue(decl.input?.shape[field]) !== null)
668
+ return `input field '${field}' has a default`;
669
+ const issue = filterTypeIssue(decl, field, column, base.def);
670
+ if (issue)
671
+ return issue;
672
+ filters.push({ field, column });
673
+ }
674
+ return { kind: 'list', ...base.head, permission, filters, total: decl.paged?.total === true };
675
+ }
676
+ /** The clauses a derived write shares: narrowed to the row it writes, announcing it, by that row's id. */
677
+ function writeTarget(decl, entities) {
678
+ const permission = plainPermission(decl.permission);
679
+ if (typeof permission === 'string')
680
+ return permission;
681
+ if (permission.entity === undefined)
682
+ return 'its check is scope-wide, and a derived write is narrowed to the row it writes';
683
+ const name = permission.entity;
684
+ const base = derivableEntity(name, entities);
685
+ if (typeof base === 'string')
686
+ return base;
687
+ if (decl.emits?.entity !== name)
688
+ return `it does not emit about '${name}', the row it writes`;
689
+ if (decl.emits.entityIdFrom !== base.head.primaryKey) {
690
+ return `its event takes its subject from '${String(decl.emits.entityIdFrom)}', not the row's id '${base.head.primaryKey}'`;
691
+ }
692
+ const idFrom = permission.idFrom;
693
+ return { name, base, idFrom, permission: { key: permission.key, entity: name, idFrom } };
694
+ }
695
+ function updatePlan(decl, entities) {
696
+ if (decl.http?.method !== 'PATCH')
697
+ return 'it is not served as PATCH, the method whose absent fields stay untouched';
698
+ if (decl.patchException !== undefined)
699
+ return 'it declares `patchException`, so its body is not a field bag';
700
+ if (decl.paged !== undefined)
701
+ return 'it is paged';
702
+ const target = writeTarget(decl, entities);
703
+ if (typeof target === 'string')
704
+ return target;
705
+ const { name, base, idFrom } = target;
706
+ if (decl.output !== base.def.fields)
707
+ return `its output is not '${name}'s own \`fields\``;
708
+ if (decl.concurrency?.over !== name || decl.concurrency.idFrom !== idFrom) {
709
+ return `it declares no \`concurrency: { over: '${name}', idFrom: '${idFrom}' }\`, and a field bag without one loses updates`;
710
+ }
711
+ const { required, optional } = inputFields(decl);
712
+ if (required.length !== 1 || required[0] !== idFrom)
713
+ return `its input requires more than the id '${idFrom}'`;
714
+ if (optional.length === 0)
715
+ return 'its input has no field to write';
716
+ const columnShape = base.def.fields.shape;
717
+ const fields = [];
718
+ for (const field of optional) {
719
+ const column = snakeCaseField(field);
720
+ const columnSchema = columnShape[column];
721
+ if (columnSchema === undefined)
722
+ return `body field '${field}' is not a column of '${name}'`;
723
+ if (column === base.head.primaryKey)
724
+ return `body field '${field}' would rewrite the row's id`;
725
+ const fieldSchema = decl.input?.shape[field];
726
+ const kind = baseDefOf(columnSchema)?.type;
727
+ if (kind === 'enum') {
728
+ return `column '${column}' is an enum — a change of state is a lifecycle edge with its own operation`;
729
+ }
730
+ if (!kind || !DERIVED_WRITE_KINDS.has(kind))
731
+ return `column '${column}' is not a string or number column`;
732
+ if (baseDefOf(fieldSchema)?.type !== kind)
733
+ return `body field '${field}' is not the same type as column '${column}'`;
734
+ if (acceptsNull(fieldSchema) && !acceptsNull(columnSchema)) {
735
+ return `body field '${field}' accepts null, and column '${column}' cannot be cleared`;
736
+ }
737
+ fields.push({ field, column });
738
+ }
739
+ return { kind: 'update', ...base.head, permission: target.permission, idFrom, fields, emit: emitOf(decl) };
740
+ }
741
+ function deletePlan(decl, entities) {
742
+ if (decl.http?.method !== 'DELETE')
743
+ return 'it is not served as DELETE, the method that says it removes the row';
744
+ if (decl.paged !== undefined)
745
+ return 'it is paged';
746
+ const target = writeTarget(decl, entities);
747
+ if (typeof target === 'string')
748
+ return target;
749
+ const { name, base, idFrom } = target;
750
+ const outputKeys = Object.keys(decl.output?.shape ?? {}).sort();
751
+ if (outputKeys.join() !== 'deleted,id')
752
+ return 'its output is not `{ id, deleted }`';
753
+ const { required, optional } = inputFields(decl);
754
+ if (required.length !== 1 || required[0] !== idFrom || optional.length !== 0)
755
+ return `its input is not the id '${idFrom}' alone`;
756
+ const children = Object.keys(entities).filter((child) => (entities[child]?.parents ?? []).includes(name));
757
+ if (children.length > 0) {
758
+ return `${children.map((c) => `'${c}'`).join(', ')} declare${children.length === 1 ? 's' : ''} '${name}' as parent, so a delete would orphan them — a cascade is authored`;
759
+ }
760
+ return { kind: 'delete', ...base.head, permission: target.permission, idFrom, emit: emitOf(decl) };
761
+ }
762
+ const PLANNERS = {
763
+ get: getPlan,
764
+ list: listPlan,
765
+ update: updatePlan,
766
+ delete: deletePlan,
767
+ };
768
+ /** The plan for one shape, or the clause the declaration fails — the shared clauses first. */
769
+ function planFor(kind, decl, entities) {
770
+ return commonClause(decl, kind) ?? PLANNERS[kind](decl, entities);
771
+ }
772
+ /**
773
+ * The shape the platform could derive this operation's handler as, read off its declaration and
774
+ * the module's entities alone — `undefined` when it matches none of `DerivedKind`. Pure: this
775
+ * classifies, and `defineOperations` is what refuses. At most one shape matches: a `get` is
776
+ * served as GET and not paged, a `list` is paged, an `update` is a PATCH that emits, a `delete`
777
+ * is a DELETE answering `{ id, deleted }`.
778
+ */
779
+ export function derivationOf(decl, entities) {
780
+ for (const kind of DERIVED_KINDS) {
781
+ const plan = planFor(kind, decl, entities);
782
+ if (typeof plan !== 'string')
783
+ return plan;
784
+ }
785
+ return undefined;
786
+ }
787
+ /**
788
+ * A handler the platform could write is either written by it or excused, by name (#1773).
789
+ *
790
+ * Runs at module load, beside the PATCH and paged gates, and for their reason: it fires in every
791
+ * build, test, dev server and `lint:model --check`, so it cannot be true only of the modules a
792
+ * tool knew about. A derivable operation declaring neither `derive` nor `authored` is refused;
793
+ * so are a `derive` whose shape does not match (with the clause that fails), an `authored` on
794
+ * an operation nothing could derive, and the two together.
795
+ */
796
+ function assertHandlersDeclared(operations, entities) {
797
+ for (const [name, op] of Object.entries(operations)) {
798
+ const decl = op;
799
+ const { derive, authored } = decl;
800
+ if (derive !== undefined && authored !== undefined) {
801
+ throw new Error(`model: '${name}' declares both \`derive\` and \`authored\` — a handler is written by the platform or by you, not both.\n` +
802
+ ' Remedy: keep `derive` and delete the handler, or keep `authored` and drop `derive`.');
803
+ }
804
+ if (authored !== undefined && (typeof authored !== 'string' || authored.trim() === '')) {
805
+ throw new Error(`model: '${name}' declares \`authored\` without a reason.\n` +
806
+ ' Remedy: say what the derived handler would get wrong here, or declare `derive` and delete the handler.');
807
+ }
808
+ if (derive !== undefined) {
809
+ if (!DERIVED_KINDS.includes(derive)) {
810
+ throw new Error(`model: '${name}' declares \`derive: '${String(derive)}'\` — the derivable shapes are ${DERIVED_KINDS.join(', ')}.\n` +
811
+ ' Remedy: declare one of them, or drop `derive` and write the handler.');
812
+ }
813
+ const plan = planFor(derive, decl, entities);
814
+ if (typeof plan === 'string') {
815
+ throw new Error(`model: '${name}' declares \`derive: '${String(derive)}'\`, but ${plan}.\n` +
816
+ ' Remedy: make the declaration the shape it derives, or drop `derive` and write the handler.');
817
+ }
818
+ DERIVATION_PLANS.set(op, plan);
819
+ continue;
820
+ }
821
+ const plan = derivationOf(decl, entities);
822
+ if (plan === undefined) {
823
+ if (authored !== undefined) {
824
+ throw new Error(`model: '${name}' declares \`authored\`, but nothing about it is derivable — it matches none of ` +
825
+ `${DERIVED_KINDS.join(', ')}, so every handler for it is authored already.\n` +
826
+ ' Remedy: remove `authored`.');
827
+ }
828
+ continue;
829
+ }
830
+ if (authored !== undefined)
831
+ continue;
832
+ throw new Error(`model: '${name}' is derivable from the model as \`${plan.kind}\` over '${plan.entity}', and declares neither ` +
833
+ '`derive` nor `authored`.\n' +
834
+ ` A hand-written ${plan.kind} restates its declaration, and each restatement drifts (#1773).\n` +
835
+ ` Remedy: declare \`derive: '${plan.kind}'\` and delete its handler, or declare ` +
836
+ `\`authored: '<why the derived ${plan.kind} is wrong here>'\`.`);
837
+ }
838
+ }
478
839
  /**
479
840
  * The concurrency each operation declares, for the host (#129).
480
841
  *
481
- * Handed over beside `operationInputs` and read the same way — the adapter
842
+ * Handed over as `operations.concurrency`, beside the inputs, and read the same way — the adapter
482
843
  * compares versions from this map rather than each handler being trusted to. Same
483
844
  * argument as the parse: one place that cannot be forgotten beats a rule every
484
845
  * new operation has to remember.
@@ -497,8 +858,8 @@ export function operationConcurrencyOf(operations) {
497
858
  * name → the entity each operation addresses by id, for the host (#119).
498
859
  *
499
860
  * Every operation whose leading check is `{ entity, idFrom }`, whether or not its entity
500
- * declares `trash` — the host keeps the ones whose entity does. Handed over beside
501
- * `operationInputs`, and required by the host from any module with a trashable entity, so a
861
+ * declares `trash` — the host keeps the ones whose entity does. Carried by `operations.inputs`,
862
+ * and required by the host from any module with a trashable entity, so a
502
863
  * module cannot leave its binned entities reachable by forgetting the line.
503
864
  */
504
865
  export function operationTargetsOf(operations) {
@@ -1 +1 @@
1
- {"version":3,"file":"operations.js","sourceRoot":"","sources":["../src/operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../src/operations.ts"],"names":[],"mappings":"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"}