@fougere/core 0.10.0-alpha.0 → 0.11.0-alpha.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 (105) hide show
  1. package/dist/CallIdentity.d.ts.map +1 -1
  2. package/dist/CallIdentity.js +2 -0
  3. package/dist/CallIdentity.js.map +1 -1
  4. package/dist/Constraint.d.ts +1 -1
  5. package/dist/Constraint.d.ts.map +1 -1
  6. package/dist/Source.d.ts.map +1 -1
  7. package/dist/Source.js +4 -3
  8. package/dist/Source.js.map +1 -1
  9. package/dist/boot/Hosting.d.ts +38 -0
  10. package/dist/boot/Hosting.d.ts.map +1 -0
  11. package/dist/boot/Hosting.js +2 -0
  12. package/dist/boot/Hosting.js.map +1 -0
  13. package/dist/boot/Peer.d.ts +16 -0
  14. package/dist/boot/Peer.d.ts.map +1 -0
  15. package/dist/boot/Peer.js +2 -0
  16. package/dist/boot/Peer.js.map +1 -0
  17. package/dist/boot/bootstrap.d.ts.map +1 -1
  18. package/dist/boot/bootstrap.js +122 -20
  19. package/dist/boot/bootstrap.js.map +1 -1
  20. package/dist/boot/declared.d.ts.map +1 -1
  21. package/dist/boot/declared.js +35 -3
  22. package/dist/boot/declared.js.map +1 -1
  23. package/dist/boot/install.d.ts +10 -0
  24. package/dist/boot/install.d.ts.map +1 -1
  25. package/dist/boot/install.js +11 -2
  26. package/dist/boot/install.js.map +1 -1
  27. package/dist/boot/peerOver.d.ts +4 -0
  28. package/dist/boot/peerOver.d.ts.map +1 -0
  29. package/dist/boot/peerOver.js +12 -0
  30. package/dist/boot/peerOver.js.map +1 -0
  31. package/dist/boot/relations.d.ts +54 -0
  32. package/dist/boot/relations.d.ts.map +1 -0
  33. package/dist/boot/relations.js +150 -0
  34. package/dist/boot/relations.js.map +1 -0
  35. package/dist/boot/together.d.ts +3 -0
  36. package/dist/boot/together.d.ts.map +1 -1
  37. package/dist/boot/together.js +2 -1
  38. package/dist/boot/together.js.map +1 -1
  39. package/dist/contract.d.ts +1 -0
  40. package/dist/contract.d.ts.map +1 -1
  41. package/dist/contract.js.map +1 -1
  42. package/dist/dispatch/Dependent.d.ts +19 -0
  43. package/dist/dispatch/Dependent.d.ts.map +1 -0
  44. package/dist/dispatch/Dependent.js +2 -0
  45. package/dist/dispatch/Dependent.js.map +1 -0
  46. package/dist/dispatch/Dispatcher.d.ts +14 -1
  47. package/dist/dispatch/Dispatcher.d.ts.map +1 -1
  48. package/dist/dispatch/Dispatcher.js +36 -8
  49. package/dist/dispatch/Dispatcher.js.map +1 -1
  50. package/dist/dispatch/Journal.d.ts +25 -0
  51. package/dist/dispatch/Journal.d.ts.map +1 -0
  52. package/dist/dispatch/Journal.js +3 -0
  53. package/dist/dispatch/Journal.js.map +1 -0
  54. package/dist/dispatch/RelationCheck.d.ts +22 -0
  55. package/dist/dispatch/RelationCheck.d.ts.map +1 -0
  56. package/dist/dispatch/RelationCheck.js +2 -0
  57. package/dist/dispatch/RelationCheck.js.map +1 -0
  58. package/dist/dispatch/Release.d.ts +36 -0
  59. package/dist/dispatch/Release.d.ts.map +1 -0
  60. package/dist/dispatch/Release.js +124 -0
  61. package/dist/dispatch/Release.js.map +1 -0
  62. package/dist/dispatch/StorageGuard.d.ts +18 -1
  63. package/dist/dispatch/StorageGuard.d.ts.map +1 -1
  64. package/dist/dispatch/StorageGuard.js +57 -1
  65. package/dist/dispatch/StorageGuard.js.map +1 -1
  66. package/dist/index.d.ts +5 -0
  67. package/dist/index.d.ts.map +1 -1
  68. package/dist/index.js +3 -0
  69. package/dist/index.js.map +1 -1
  70. package/dist/wire/Emit.d.ts +9 -0
  71. package/dist/wire/Emit.d.ts.map +1 -1
  72. package/dist/wire/Emit.js +16 -0
  73. package/dist/wire/Emit.js.map +1 -1
  74. package/dist/wire/Invocation.d.ts +2 -1
  75. package/dist/wire/Invocation.d.ts.map +1 -1
  76. package/dist/wire/Invocation.js +4 -1
  77. package/dist/wire/Invocation.js.map +1 -1
  78. package/dist/wire/InvocationContext.d.ts +2 -0
  79. package/dist/wire/InvocationContext.d.ts.map +1 -1
  80. package/dist/wire/SignedCall.d.ts +2 -0
  81. package/dist/wire/SignedCall.d.ts.map +1 -1
  82. package/package.json +4 -4
  83. package/src/CallIdentity.ts +2 -0
  84. package/src/Constraint.ts +1 -1
  85. package/src/Source.ts +3 -2
  86. package/src/boot/Hosting.ts +38 -0
  87. package/src/boot/Peer.ts +15 -0
  88. package/src/boot/bootstrap.ts +142 -20
  89. package/src/boot/declared.ts +35 -3
  90. package/src/boot/install.ts +23 -2
  91. package/src/boot/peerOver.ts +17 -0
  92. package/src/boot/relations.ts +172 -0
  93. package/src/boot/together.ts +5 -1
  94. package/src/contract.ts +1 -0
  95. package/src/dispatch/Dependent.ts +19 -0
  96. package/src/dispatch/Dispatcher.ts +43 -7
  97. package/src/dispatch/Journal.ts +26 -0
  98. package/src/dispatch/RelationCheck.ts +21 -0
  99. package/src/dispatch/Release.ts +156 -0
  100. package/src/dispatch/StorageGuard.ts +62 -0
  101. package/src/index.ts +5 -0
  102. package/src/wire/Emit.ts +23 -0
  103. package/src/wire/Invocation.ts +3 -1
  104. package/src/wire/InvocationContext.ts +2 -0
  105. package/src/wire/SignedCall.ts +2 -0
@@ -11,6 +11,7 @@ import { inheritsCrud, subjectOf } from '../prefab/CrudConstructor.js';
11
11
  import { repositoryKeyOf } from '../prefab/RepositoryConstructor.js';
12
12
  import { storageKeyOf } from '../storage/Storage.js';
13
13
  import { declares } from '../Source.js';
14
+ import { heldBy, refuseUnwritableNull, releasing } from './relations.js';
14
15
  import { presenterKeyOf } from '../prefab/presenter.js';
15
16
  import { collectorKeyOf } from '../prefab/collector.js';
16
17
  import { RouteAddress } from '../wire/RouteAddress.js';
@@ -34,6 +35,9 @@ export async function installFrond(frond, assembly) {
34
35
  }
35
36
  const scope = container.createScope();
36
37
  const frondLog = log.child(frond.name);
38
+ // The frond's own voice, a child of the APP logger and never of `log` — which is the
39
+ // boot's, so a service's line would have claimed `boot:` long after the boot was over.
40
+ scope.registerValue('Logger', container.resolve('Logger').child(frond.name));
37
41
  // `reads:` is what makes a cross-source reader exist here, and the list IS its
38
42
  // environment — a source holding none of these is never opened. Registered under
39
43
  // the type's own name, which is the key `depKeyOf` already derives for a plain
@@ -115,6 +119,7 @@ export async function installFrond(frond, assembly) {
115
119
  // When a handler declares Crud(Entity, Output), scope the storage via .output(Output)
116
120
  if (options.storageFactory) {
117
121
  const unenforced = [];
122
+ const release = releasing(assembly.hosting);
118
123
  for (const entity of frond.entities) {
119
124
  const key = storageKeyOf(entity.name);
120
125
  const source = options.sourceOf?.(entity.name) ?? 'db';
@@ -133,7 +138,10 @@ export async function installFrond(frond, assembly) {
133
138
  // arrived. Same order the client facade has held since `StorageGuard` existed.
134
139
  const linked = wrapping('Storage', seams.get('Storage') ?? [], scoped, (dep) => scope.resolve(dep));
135
140
  // Storage is a way out like the client surface — see `StorageGuard`.
136
- const guarded = new StorageGuard(entity.entityClass.getFields(), entity.name).guard(linked);
141
+ refused.push(...refuseUnwritableNull(entity.entityClass, entity.name, entity.filePath));
142
+ const relations = heldBy(entity.entityClass, entity.name, assembly.hosting);
143
+ assembly.relations.push(...relations);
144
+ const guarded = new StorageGuard(entity.entityClass.getFields(), entity.name, {}, relations, release).guard(linked);
137
145
  scope.registerValue(key, guarded);
138
146
  // The default repository IS the guarded port — it already answers every gesture a
139
147
  // declared one forwards, so the two forms have the same shape and a handler reads
@@ -175,6 +183,7 @@ export async function installFrond(frond, assembly) {
175
183
  sourceOf: options.sourceOf,
176
184
  transacts: options.transacts,
177
185
  transacted: options.transacted,
186
+ hosting: assembly.hosting,
178
187
  log: frondLog,
179
188
  }, refused);
180
189
  // Register presenters in scope — PascalCase type name (e.g. 'PostPresenter')
@@ -320,7 +329,7 @@ export async function installFrond(frond, assembly) {
320
329
  ? { view: outputSchema.getFields() }
321
330
  : {}),
322
331
  outOfView: (message) => frondLog.warn(message),
323
- }).guard(scoped);
332
+ }, heldBy(entity.entityClass, entity.name, assembly.hosting), releasing(assembly.hosting)).guard(scoped);
324
333
  surfaceScope.registerValue(storageKeyOf(entity.name), guarded);
325
334
  surfaceScope.registerValue(repositoryKeyOf(entity.name), guarded);
326
335
  }
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/boot/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/boot/install.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Transport } from '../wire/Transport.js';
2
+ import type { Peer } from './Peer.js';
3
+ export declare function peerOver(transport: Transport): Peer;
4
+ //# sourceMappingURL=peerOver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"peerOver.d.ts","sourceRoot":"","sources":["../../src/boot/peerOver.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC,wBAAgB,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAUnD"}
@@ -0,0 +1,12 @@
1
+ /** The two readings core serves everywhere, asked of one process over one transport. */
2
+ import { Invocation } from '../wire/Invocation.js';
3
+ import { RPC_ENTITY } from '../wire/RpcAnswer.js';
4
+ export function peerOver(transport) {
5
+ const ask = (op, params) => transport({ entity: RPC_ENTITY, op }, { ...Invocation.empty, params: params });
6
+ return {
7
+ missing: async (entity, keys) => (await ask('holds', { entity, keys })).missing,
8
+ dependents: (entity) => ask('dependents', { entity }),
9
+ release: async (entity, key, visited) => { await ask('release', { entity, key, visited }); },
10
+ };
11
+ }
12
+ //# sourceMappingURL=peerOver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"peerOver.js","sourceRoot":"","sources":["../../src/boot/peerOver.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAIlD,MAAM,UAAU,QAAQ,CAAC,SAAoB;IAC3C,MAAM,GAAG,GAAG,CAAC,EAAU,EAAE,MAA+B,EAAE,EAAE,CAC1D,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAe,EAAE,CAAC,CAAC;IAE1F,OAAO;QACL,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAC7B,CAAC,MAAM,GAAG,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAqC,CAAC,OAAO;QACrF,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,CAAC;QACrD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,GAAG,MAAM,GAAG,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;KAC7F,CAAC;AACJ,CAAC"}
@@ -0,0 +1,54 @@
1
+ /** Who holds a `ref()`: the source it lives in, this process, or nobody. */
2
+ import { type SchemaView } from '@fougere/schema';
3
+ import type { Dependent } from '../dispatch/Dependent.js';
4
+ import type { RelationCheck } from '../dispatch/RelationCheck.js';
5
+ import type { Hosting } from './Hosting.js';
6
+ import type { Diagnostic } from '../diagnostic.js';
7
+ import type { Releasing } from '../dispatch/Release.js';
8
+ /**
9
+ * The references a foreign key cannot hold, each as a read the guard makes before the write.
10
+ *
11
+ * Documented: [entities](https://fougere.dev/docs/schema/entities).
12
+ */
13
+ export declare function heldBy(entity: SchemaView, name: string, hosting: Hosting): RelationCheck[];
14
+ /**
15
+ * The rows that name this entity's, and what becomes of them — the dual of `heldBy`.
16
+ *
17
+ * Read over EVERY entity of the app, because a namer is declared wherever its own frond is,
18
+ * and the target learns of it from nowhere else. What a key already holds is left out: the
19
+ * engine answers it at the rows, inside the delete's own transaction.
20
+ *
21
+ * Documented: [entities](https://fougere.dev/docs/schema/entities).
22
+ */
23
+ export declare function dependentsOf(target: string, hosting: Hosting): Dependent[];
24
+ /**
25
+ * `set null` on a field that may not hold one — refused where the FIELD is, not in `ref()`.
26
+ *
27
+ * `optional()` wraps a `ref()` and is applied after it, so only the field the entity ended up
28
+ * declaring knows whether null is admitted. Asked here rather than at the target, because the
29
+ * declaration is the namer's and so is the fix.
30
+ */
31
+ export declare function refuseUnwritableNull(entity: SchemaView, name: string, filePath: string): Diagnostic[];
32
+ /** The checks nothing in this process can answer — asked once every frond has registered. */
33
+ export declare function unheldAmong(checks: readonly RelationCheck[], hosting: Hosting): string[];
34
+ /**
35
+ * What a release asks the boot, built once per app — the same `Hosting` the guard reads.
36
+ *
37
+ * `dependentsOf` is answered per call rather than cached: a frond installed after this one
38
+ * brings rows that name an entity already registered, and a table taken at boot would miss
39
+ * exactly the crossings this exists for.
40
+ */
41
+ export declare function releasing(hosting: Hosting): Releasing;
42
+ /**
43
+ * A release this process can START and cannot FINISH.
44
+ *
45
+ * Read from what is HERE and never asked of anyone: an entity states `cascade` or `set null`,
46
+ * and nothing registered a journal — both facts are local, so the line is too. The same shape
47
+ * as `unique declared, and the source does not enforce it`, one rung up: what is declared, and
48
+ * what this process cannot keep.
49
+ *
50
+ * Silent when a key holds every hop: the engine carries those out in one statement, and there
51
+ * is no half-done state for anybody to finish.
52
+ */
53
+ export declare function unfinishable(hosting: Hosting): string[];
54
+ //# sourceMappingURL=relations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relations.d.ts","sourceRoot":"","sources":["../../src/boot/relations.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,OAAO,EAA4B,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAQ,MAAM,wBAAwB,CAAC;AA4C9D;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,aAAa,EAAE,CA0B1F;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,SAAS,EAAE,CAI1E;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE,CAiBrG;AAED,6FAA6F;AAC7F,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAIxF;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAQrD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAYvD"}
@@ -0,0 +1,150 @@
1
+ /** Who holds a `ref()`: the source it lives in, this process, or nobody. */
2
+ import { lowerFirst, Role, Shapes } from '@fougere/schema';
3
+ /**
4
+ * Does a foreign key hold this reference? Both sides in ONE source that keeps relations — two
5
+ * databases share no constraint, and a frond behind `remotes:` registers no storage here at
6
+ * all. So the PAIR decides, never the engine.
7
+ *
8
+ * And the pair is not enough: an engine's cascade does not pass through the guard, so a hop it
9
+ * owns above a hop it does not would take rows out with nothing left to release THEIR rows. One
10
+ * unkeyed hop anywhere below and the guard takes the whole tree — the engine's own cascade then
11
+ * finds nothing left to do, since the guard walks deepest first and the row goes last.
12
+ */
13
+ function keyed(namer, target, hosting, seen = new Set()) {
14
+ const pair = hosting.hostedHere(namer)
15
+ && hosting.hostedHere(target)
16
+ && hosting.sourceOf(namer) === hosting.sourceOf(target)
17
+ && hosting.enforces(hosting.sourceOf(namer), 'relation');
18
+ if (!pair || seen.has(namer))
19
+ return pair;
20
+ seen.add(namer);
21
+ return referencesTo(namer, hosting).every(({ entity }) => keyed(entity, namer, hosting, seen));
22
+ }
23
+ /** Every field of every entity that names `target` — read over the whole app, both ways need it. */
24
+ function referencesTo(target, hosting) {
25
+ const found = [];
26
+ for (const [entity, schema] of hosting.entities()) {
27
+ for (const [field, declared] of Object.entries(schema.getFields())) {
28
+ const role = Role.of(declared);
29
+ if (role.isReference && role.target?.name && lowerFirst(role.target.name) === target) {
30
+ found.push({ entity, field, role });
31
+ }
32
+ }
33
+ }
34
+ return found;
35
+ }
36
+ /**
37
+ * The references a foreign key cannot hold, each as a read the guard makes before the write.
38
+ *
39
+ * Documented: [entities](https://fougere.dev/docs/schema/entities).
40
+ */
41
+ export function heldBy(entity, name, hosting) {
42
+ const checks = [];
43
+ for (const [field, declared] of Object.entries(entity.getFields())) {
44
+ const role = Role.of(declared);
45
+ if (!role.isReference || !role.target?.name)
46
+ continue;
47
+ const target = lowerFirst(role.target.name);
48
+ if (keyed(name, target, hosting))
49
+ continue;
50
+ checks.push({
51
+ field,
52
+ target,
53
+ missing: async (keys) => {
54
+ const storage = hosting.storageOf(target);
55
+ // Nothing here holds those rows — the process that does answers the same reading,
56
+ // so the question crosses rather than being given up on.
57
+ if (!storage)
58
+ return hosting.peerOf(target)?.missing(target, keys) ?? [];
59
+ const found = await storage.findByKeys(keys.map(String));
60
+ return keys.filter((key) => !found.has(String(key)));
61
+ },
62
+ });
63
+ }
64
+ return checks;
65
+ }
66
+ /**
67
+ * The rows that name this entity's, and what becomes of them — the dual of `heldBy`.
68
+ *
69
+ * Read over EVERY entity of the app, because a namer is declared wherever its own frond is,
70
+ * and the target learns of it from nowhere else. What a key already holds is left out: the
71
+ * engine answers it at the rows, inside the delete's own transaction.
72
+ *
73
+ * Documented: [entities](https://fougere.dev/docs/schema/entities).
74
+ */
75
+ export function dependentsOf(target, hosting) {
76
+ return referencesTo(target, hosting)
77
+ .filter(({ entity }) => !keyed(entity, target, hosting))
78
+ .map(({ entity, field, role }) => ({ entity, field, onDelete: role.onDelete ?? 'restrict' }));
79
+ }
80
+ /**
81
+ * `set null` on a field that may not hold one — refused where the FIELD is, not in `ref()`.
82
+ *
83
+ * `optional()` wraps a `ref()` and is applied after it, so only the field the entity ended up
84
+ * declaring knows whether null is admitted. Asked here rather than at the target, because the
85
+ * declaration is the namer's and so is the fix.
86
+ */
87
+ export function refuseUnwritableNull(entity, name, filePath) {
88
+ const refused = [];
89
+ for (const [field, declared] of Object.entries(entity.getFields())) {
90
+ if (Role.of(declared).onDelete !== 'set null' || Shapes.isNullable(declared.shape))
91
+ continue;
92
+ refused.push({
93
+ severity: 'blocking',
94
+ code: 'on-delete-null-refused',
95
+ filePath,
96
+ subject: `${name}.${field}`,
97
+ message: `${name}.${field} states onDelete 'set null', and the field admits no null — so the `
98
+ + 'row could neither be emptied nor kept. Wrap it in `optional()`, or state `cascade` '
99
+ + 'to take the row out with its target.',
100
+ });
101
+ }
102
+ return refused;
103
+ }
104
+ /** The checks nothing in this process can answer — asked once every frond has registered. */
105
+ export function unheldAmong(checks, hosting) {
106
+ return checks
107
+ .filter((check) => hosting.storageOf(check.target) === undefined)
108
+ .map((check) => `${check.field} → ${check.target}`);
109
+ }
110
+ /**
111
+ * What a release asks the boot, built once per app — the same `Hosting` the guard reads.
112
+ *
113
+ * `dependentsOf` is answered per call rather than cached: a frond installed after this one
114
+ * brings rows that name an entity already registered, and a table taken at boot would miss
115
+ * exactly the crossings this exists for.
116
+ */
117
+ export function releasing(hosting) {
118
+ return {
119
+ dependentsOf: (entity) => dependentsOf(entity, hosting),
120
+ rowsOf: (entity) => hosting.storageOf(entity),
121
+ schemaOf: (entity) => hosting.entities().get(entity),
122
+ peers: () => hosting.peers(),
123
+ journal: (entity) => hosting.journal(entity),
124
+ };
125
+ }
126
+ /**
127
+ * A release this process can START and cannot FINISH.
128
+ *
129
+ * Read from what is HERE and never asked of anyone: an entity states `cascade` or `set null`,
130
+ * and nothing registered a journal — both facts are local, so the line is too. The same shape
131
+ * as `unique declared, and the source does not enforce it`, one rung up: what is declared, and
132
+ * what this process cannot keep.
133
+ *
134
+ * Silent when a key holds every hop: the engine carries those out in one statement, and there
135
+ * is no half-done state for anybody to finish.
136
+ */
137
+ export function unfinishable(hosting) {
138
+ if (hosting.journal('') !== undefined)
139
+ return [];
140
+ const found = [];
141
+ for (const [entity] of hosting.entities()) {
142
+ for (const dependent of dependentsOf(entity, hosting)) {
143
+ if (dependent.onDelete === 'restrict')
144
+ continue;
145
+ found.push(`${dependent.entity}.${dependent.field} → ${entity} (${dependent.onDelete})`);
146
+ }
147
+ }
148
+ return found;
149
+ }
150
+ //# sourceMappingURL=relations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relations.js","sourceRoot":"","sources":["../../src/boot/relations.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import type { Container } from '@fougere/container';
3
3
  import { type StorageFactory } from '../storage/StorageFactory.js';
4
4
  import type { Logger } from '../builtin/Logger.js';
5
5
  import type { ProviderEntry } from '../descriptor/ProviderEntry.js';
6
+ import type { Hosting } from './Hosting.js';
6
7
  import type { Diagnostic } from '../diagnostic.js';
7
8
  /** Everything the boot knows that a frame needs, gathered once for every frond. */
8
9
  export interface FrameWorld {
@@ -16,6 +17,8 @@ export interface FrameWorld {
16
17
  /** Whether that source hands one out — asked before the frame is built, not at the call. */
17
18
  transacts?: (source: string) => boolean;
18
19
  transacted?: <R>(source: string, fn: (storageFactory: StorageFactory) => Promise<R>) => Promise<R>;
20
+ /** What a member's references ask before a write — the answer its frond's own storage gets. */
21
+ hosting: Hosting;
19
22
  log: Logger;
20
23
  }
21
24
  /** Register one frame per key a handler or provider of this frond asked for. */
@@ -1 +1 @@
1
- {"version":3,"file":"together.d.ts","sourceRoot":"","sources":["../../src/boot/together.ts"],"names":[],"mappings":"AAMA,OAAO,EAA0B,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAGpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,mFAAmF;AACnF,MAAM,WAAW,UAAU;IACzB,0FAA0F;IAC1F,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACtC,kFAAkF;IAClF,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACvC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1C,4FAA4F;IAC5F,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IACxC,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,cAAc,EAAE,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACnG,GAAG,EAAE,MAAM,CAAC;CACb;AAuHD,gFAAgF;AAChF,wBAAgB,cAAc,CAC5B,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,QAAQ,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,EACnD,SAAS,EAAE,SAAS,aAAa,EAAE,EACnC,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,UAAU,EAAE,GACpB,IAAI,CAqEN"}
1
+ {"version":3,"file":"together.d.ts","sourceRoot":"","sources":["../../src/boot/together.ts"],"names":[],"mappings":"AAMA,OAAO,EAA0B,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAGpE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,mFAAmF;AACnF,MAAM,WAAW,UAAU;IACzB,0FAA0F;IAC1F,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACtC,kFAAkF;IAClF,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACvC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1C,4FAA4F;IAC5F,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IACxC,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,cAAc,EAAE,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACnG,+FAA+F;IAC/F,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACb;AAuHD,gFAAgF;AAChF,wBAAgB,cAAc,CAC5B,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,QAAQ,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,EACnD,SAAS,EAAE,SAAS,aAAa,EAAE,EACnC,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,UAAU,EAAE,GACpB,IAAI,CAqEN"}
@@ -7,6 +7,7 @@ import { ambient } from '#ambient';
7
7
  import { upperFirst, lowerFirst } from '@fougere/schema';
8
8
  import { entityOfStorageKey, membersOfTogetherKey, storageKeyOf } from '../storage/Storage.js';
9
9
  import { StorageGuard } from '../dispatch/StorageGuard.js';
10
+ import { heldBy, releasing } from './relations.js';
10
11
  import { recording, unwind } from './frame.js';
11
12
  /** Each declared name, resolved to what it designates — or nothing, and why. */
12
13
  function resolve(names, declared, world, asked, refused) {
@@ -123,7 +124,7 @@ export function registerFrames(scope, wanted, providers, world, refused) {
123
124
  remoteMembers(members, world, asked, refused);
124
125
  uncoveredWrites(members, world, asked, refused);
125
126
  const sources = new Set(members.entities.map((member) => world.sourceOf?.(member.name) ?? 'db'));
126
- const validator = (storage, name, schema) => new StorageGuard(schema.getFields(), name).guard(storage);
127
+ const validator = (storage, name, schema) => new StorageGuard(schema.getFields(), name, {}, heldBy(schema, name, world.hosting), releasing(world.hosting)).guard(storage);
127
128
  // One engine and a way into it: the engine gives the unwind AND the isolation. The
128
129
  // question goes to the source these members live in — a composition answering for the
129
130
  // default one would compensate a frame whose own engine holds transactions.
@@ -1 +1 @@
1
- {"version":3,"file":"together.js","sourceRoot":"","sources":["../../src/boot/together.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"together.js","sourceRoot":"","sources":["../../src/boot/together.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ export type { Comparison } from './storage/Comparison.js';
7
7
  export { toPublicError } from './wire/http-error.js';
8
8
  export { Invocation } from './wire/Invocation.js';
9
9
  export type { InvocationContext } from './wire/InvocationContext.js';
10
+ export type { PartialInvocation } from './wire/PartialInvocation.js';
10
11
  export { Call } from './wire/Call.js';
11
12
  export { RouteAddress } from './wire/RouteAddress.js';
12
13
  export type { FrondCall } from './wire/FrondCall.js';
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG1E,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACtE,YAAY,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAG1D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,YAAY,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,YAAY,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,YAAY,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,mCAAmC;AACnC,OAAO,EAAE,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAChE,YAAY,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,YAAY,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,YAAY,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,YAAY,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,YAAY,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACtE,YAAY,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,YAAY,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACpD,YAAY,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,YAAY,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEjE,6DAA6D;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,8EAA8E;AAC9E,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,UAAU,EAAE,iBAAiB,CAAC;CAC/B;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,EACpC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,EAC/C,KAAK,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GACjC,SAAS,CAMX"}
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAIlD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC1E,qFAAqF;AACrF,uEAAuE;AACvE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAEtE,mFAAmF;AACnF,sFAAsF;AACtF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAItD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,uFAAuF;AACvF,gEAAgE;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGjD,wFAAwF;AACxF,8EAA8E;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG3D,mCAAmC;AACnC,OAAO,EAAE,UAAU,EAAkB,MAAM,oBAAoB,CAAC;AAkBhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEjE,6DAA6D;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAQ7C;;;GAGG;AACH,MAAM,UAAU,WAAW,CACzB,MAAoC,EACpC,SAA+C,EAC/C,KAAkC;IAElC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GACjB,OAAO,SAAS,KAAK,QAAQ;QAC3B,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAE,MAA2B,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,KAAK,CAAC;QACnF,CAAC,CAAC,CAAC,MAAmB,EAAE,SAAS,CAAC,CAAC;IACvC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAIlD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC1E,qFAAqF;AACrF,uEAAuE;AACvE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAEtE,mFAAmF;AACnF,sFAAsF;AACtF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGlD,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAItD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,uFAAuF;AACvF,gEAAgE;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGjD,wFAAwF;AACxF,8EAA8E;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG3D,mCAAmC;AACnC,OAAO,EAAE,UAAU,EAAkB,MAAM,oBAAoB,CAAC;AAkBhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEjE,6DAA6D;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAQ7C;;;GAGG;AACH,MAAM,UAAU,WAAW,CACzB,MAAoC,EACpC,SAA+C,EAC/C,KAAkC;IAElC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GACjB,OAAO,SAAS,KAAK,QAAQ;QAC3B,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAE,MAA2B,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,KAAK,CAAC;QACnF,CAAC,CAAC,CAAC,MAAmB,EAAE,SAAS,CAAC,CAAC;IACvC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;AACtD,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { OnDelete } from '@fougere/schema';
2
+ /**
3
+ * A `ref()` read from the TARGET's side: rows that name it, and what becomes of them.
4
+ *
5
+ * The dual of `RelationCheck`, which reads the same declaration from the child's side to judge
6
+ * a write. Only what no foreign key holds reaches here — a key answers at the rows, inside the
7
+ * delete's own transaction, and nothing in this process would see it happen.
8
+ *
9
+ * Documented: [entities](https://fougere.dev/docs/schema/entities).
10
+ */
11
+ export interface Dependent {
12
+ /** The entity whose rows name the target — `post`. */
13
+ entity: string;
14
+ /** The field carrying the key — `authorId`. */
15
+ field: string;
16
+ /** Unstated is `restrict`: what a foreign key does when nothing is said. */
17
+ onDelete: OnDelete;
18
+ }
19
+ //# sourceMappingURL=Dependent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dependent.d.ts","sourceRoot":"","sources":["../../src/dispatch/Dependent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;;;;GAQG;AACH,MAAM,WAAW,SAAS;IACxB,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,4EAA4E;IAC5E,QAAQ,EAAE,QAAQ,CAAC;CACpB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Dependent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dependent.js","sourceRoot":"","sources":["../../src/dispatch/Dependent.ts"],"names":[],"mappings":""}
@@ -4,13 +4,26 @@ import type { DispatchPort } from './DispatchPort.js';
4
4
  import type { RoutePolicy } from './RoutePolicy.js';
5
5
  import { RouteRegistry } from './RouteRegistry.js';
6
6
  import type { InFlight } from './InFlight.js';
7
+ import type { Journal } from './Journal.js';
7
8
  /** Resolves and executes every call through the same transverse lifecycle. */
8
9
  export declare class Dispatcher implements DispatchPort {
9
10
  private readonly routes;
10
11
  private readonly inFlight;
11
12
  private readonly lifecycle;
12
13
  private readonly policy?;
13
- constructor(routes: RouteRegistry, inFlight: InFlight, lifecycle?: DispatchLifecycle, policy?: RoutePolicy | undefined);
14
+ private readonly journalOf?;
15
+ constructor(routes: RouteRegistry, inFlight: InFlight, lifecycle?: DispatchLifecycle, policy?: RoutePolicy | undefined, journalOf?: (() => Journal | undefined) | undefined);
16
+ /** The route that answers this address, or the refusal naming what is served instead. */
17
+ private routeFor;
18
+ /**
19
+ * A kept call publishes no dispatch event and enters no flight: it has not been answered,
20
+ * and counting it here would report one call spanning the days until its hour.
21
+ *
22
+ * Its address is resolved all the same. What is kept is made hours later, by then against
23
+ * whatever the app still serves — so an address nothing answers is refused to the caller who
24
+ * can still fix it, rather than to a beat nobody is watching.
25
+ */
26
+ private keep;
14
27
  dispatch(call: Call): Promise<unknown>;
15
28
  }
16
29
  //# sourceMappingURL=Dispatcher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Dispatcher.d.ts","sourceRoot":"","sources":["../../src/dispatch/Dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,8EAA8E;AAC9E,qBAAa,UAAW,YAAW,YAAY;IAE3C,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAHP,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,QAAQ,EAClB,SAAS,oBAA0B,EACnC,MAAM,CAAC,EAAE,WAAW,YAAA;IAGjC,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;CA4B7C"}
1
+ {"version":3,"file":"Dispatcher.d.ts","sourceRoot":"","sources":["../../src/dispatch/Dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,8EAA8E;AAC9E,qBAAa,UAAW,YAAW,YAAY;IAE3C,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAJV,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,QAAQ,EAClB,SAAS,oBAA0B,EACnC,MAAM,CAAC,EAAE,WAAW,YAAA,EACpB,SAAS,CAAC,GAAE,MAAM,OAAO,GAAG,SAAS,aAAA;IAGxD,yFAAyF;YAC3E,QAAQ;IAYtB;;;;;;;OAOG;YACW,IAAI;IAgBZ,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;CAyB7C"}