@fougere/core 0.17.2-alpha.0 → 0.17.3-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.
@@ -4,6 +4,7 @@ import type { Diagnostic } from '../diagnostic.js';
4
4
  import type { Logger } from '../builtin/Logger.js';
5
5
  import type { Fronds } from '../descriptor/Fronds.js';
6
6
  import type { OperationsMap } from '../wire/OperationsMap.js';
7
+ import type { RemoteRouter } from './remote.js';
7
8
  /** Carries an announced fact out of this process — see `CreateAppOptions.onEmit`. */
8
9
  type Carrier = (fact: string, payload: unknown) => void | Promise<void>;
9
10
  /** Emissions — the only place in Fougere where an initiator names a SUBJECT. */
@@ -13,6 +14,7 @@ export declare class Emissions {
13
14
  private readonly log;
14
15
  private readonly refused;
15
16
  private readonly carry?;
17
+ private readonly elsewhere?;
16
18
  /** Who listens to what. Filled as each facade's contracts are resolved. */
17
19
  private readonly subscribers;
18
20
  /** Who FINISHES a fact, in the order they run — see `orderPipes`. */
@@ -29,7 +31,7 @@ export declare class Emissions {
29
31
  private readonly awaited;
30
32
  /** Where each facade and each frond was written, so a refusal here names a file to open. */
31
33
  private readonly fileOf;
32
- constructor(fronds: Fronds, shapes: Map<string, SchemaView>, container: Container, log: Logger, refused: Diagnostic[], carry?: Carrier | undefined);
34
+ constructor(fronds: Fronds, shapes: Map<string, SchemaView>, container: Container, log: Logger, refused: Diagnostic[], carry?: Carrier | undefined, elsewhere?: Pick<RemoteRouter, "listenersOf"> | undefined);
33
35
  /**
34
36
  * Who listens to what — read from the PLAN, where `{ kind: 'fact' }` is a sentence
35
37
  * `computeBindingPlan` already wrote, so nothing re-derives what a parameter is.
@@ -79,7 +81,14 @@ export declare class Emissions {
79
81
  * generated, a default applied.
80
82
  */
81
83
  private stamped;
82
- /** Hand the fact to every listener in THIS process, and give back one promise each. */
84
+ /**
85
+ * The listeners another process serves, read off its card — minus those already noted here,
86
+ * since a remote frond whose code this process read is noted twice.
87
+ *
88
+ * A line never crosses: delivering it is a call, and a call writes lines.
89
+ */
90
+ private listenersElsewhere;
91
+ /** Hand the fact to every listener named, those of THIS process when none are, and give back one promise each. */
83
92
  private handToListeners;
84
93
  /** A subscriber refusing the SHAPE, said in one line instead of dumped as an error. */
85
94
  private describeRefusal;
@@ -1 +1 @@
1
- {"version":3,"file":"Emissions.d.ts","sourceRoot":"","sources":["../../src/boot/Emissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEnF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAIpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAQ9D,qFAAqF;AACrF,KAAK,OAAO,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAExE,gFAAgF;AAChF,qBAAa,SAAS;IAyBlB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;IA5BzB,2EAA2E;IAC3E,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiC;IAE7D,qEAAqE;IACrE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiC;IAEvD,6EAA6E;IAC7E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAEhD;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IAExC,sFAAsF;IACtF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IAEtC,4FAA4F;IAC5F,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;gBAGlD,MAAM,EAAE,MAAM,EACG,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EAC/B,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,UAAU,EAAE,EACrB,KAAK,CAAC,EAAE,OAAO,YAAA;IA+BlC;;;OAGG;IACH,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAepD,4FAA4F;IAC5F,OAAO,CAAC,SAAS;IAOjB;;;;;;OAMG;IACH,OAAO,CAAC,UAAU;IAwClB,4EAA4E;IAC5E,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAI7C,8FAA8F;IAC9F,SAAS,IAAI,MAAM,EAAE;IAIrB,sFAAsF;IACtF,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAIlC,oFAAoF;IACpF,QAAQ,IAAI,IAAI;IA8BhB,kBAAkB;YACJ,QAAQ;IA0BtB;;;;;;;OAOG;YACW,SAAS;IA0BvB,iBAAiB;IACX,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB5D;;;;;;OAMG;YACW,QAAQ;IAyBtB;;;OAGG;IACH,OAAO,CAAC,OAAO;IAQf,uFAAuF;IACvF,OAAO,CAAC,eAAe;IAiCvB,uFAAuF;IACvF,OAAO,CAAC,eAAe;CAOxB"}
1
+ {"version":3,"file":"Emissions.d.ts","sourceRoot":"","sources":["../../src/boot/Emissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEnF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAIpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAShD,qFAAqF;AACrF,KAAK,OAAO,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAExE,gFAAgF;AAChF,qBAAa,SAAS;IAyBlB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;IA7B7B,2EAA2E;IAC3E,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiC;IAE7D,qEAAqE;IACrE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiC;IAEvD,6EAA6E;IAC7E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAEhD;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IAExC,sFAAsF;IACtF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IAEtC,4FAA4F;IAC5F,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;gBAGlD,MAAM,EAAE,MAAM,EACG,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EAC/B,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,UAAU,EAAE,EACrB,KAAK,CAAC,EAAE,OAAO,YAAA,EACf,SAAS,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,YAAA;IA+BhE;;;OAGG;IACH,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAepD,4FAA4F;IAC5F,OAAO,CAAC,SAAS;IAOjB;;;;;;OAMG;IACH,OAAO,CAAC,UAAU;IAwClB,4EAA4E;IAC5E,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAI7C,8FAA8F;IAC9F,SAAS,IAAI,MAAM,EAAE;IAIrB,sFAAsF;IACtF,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAIlC,oFAAoF;IACpF,QAAQ,IAAI,IAAI;IA8BhB,kBAAkB;YACJ,QAAQ;IA2BtB;;;;;;;OAOG;YACW,SAAS;IA0BvB,iBAAiB;IACX,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB5D;;;;;;OAMG;YACW,QAAQ;IAyBtB;;;OAGG;IACH,OAAO,CAAC,OAAO;IAQf;;;;;OAKG;YACW,kBAAkB;IAiBhC,kHAAkH;IAClH,OAAO,CAAC,eAAe;IAoCvB,uFAAuF;IACvF,OAAO,CAAC,eAAe;CAOxB"}
@@ -4,6 +4,7 @@ import { validationErrorsOf } from '../wire/FougereError.js';
4
4
  import { awaitKeyOf, emitKeyOf, factsAnnouncedBy, factsAwaitedBy } from '../wire/Emit.js';
5
5
  import { ambient } from '#ambient';
6
6
  import { Invocation } from '../wire/Invocation.js';
7
+ import { LOG_LINE } from '../builtin/LogLine.js';
7
8
  /** Emissions — the only place in Fougere where an initiator names a SUBJECT. */
8
9
  export class Emissions {
9
10
  shapes;
@@ -11,6 +12,7 @@ export class Emissions {
11
12
  log;
12
13
  refused;
13
14
  carry;
15
+ elsewhere;
14
16
  /** Who listens to what. Filled as each facade's contracts are resolved. */
15
17
  subscribers = new Map();
16
18
  /** Who FINISHES a fact, in the order they run — see `orderPipes`. */
@@ -27,12 +29,13 @@ export class Emissions {
27
29
  awaited;
28
30
  /** Where each facade and each frond was written, so a refusal here names a file to open. */
29
31
  fileOf = new Map();
30
- constructor(fronds, shapes, container, log, refused, carry) {
32
+ constructor(fronds, shapes, container, log, refused, carry, elsewhere) {
31
33
  this.shapes = shapes;
32
34
  this.container = container;
33
35
  this.log = log;
34
36
  this.refused = refused;
35
37
  this.carry = carry;
38
+ this.elsewhere = elsewhere;
36
39
  for (const frond of fronds) {
37
40
  this.fileOf.set(frond.name, frond.source.path);
38
41
  for (const handler of frond.handlers)
@@ -162,7 +165,7 @@ export class Emissions {
162
165
  subject: fact,
163
166
  message: `'${fact}' is announced with an answer type, and this app has a carrier `
164
167
  + '(`onEmit`). Waiting means knowing who answers; a carrier reaches whoever subscribed '
165
- + `elsewhere and brings nothing back. Name the subscribers in \`remotes:\`, or drop the `
168
+ + `elsewhere and brings nothing back. Place the subscribers' fronds in \`fronds:\` with an address, or drop the `
166
169
  + `second type of \`Emit<${fact}, …>\`.`,
167
170
  });
168
171
  continue;
@@ -182,11 +185,12 @@ export class Emissions {
182
185
  */
183
186
  await ambient.beforeAnnounce(fact);
184
187
  const payload = await this.finished(fact, this.stamped(fact, raw));
188
+ const listeners = [...(this.subscribers.get(fact) ?? []), ...await this.listenersElsewhere(fact, waiting)];
185
189
  /** Whoever is not in this process — and it is the ONLY way to reach them. */
186
190
  const delivery = this.carry?.(fact, payload);
187
191
  if (delivery)
188
192
  void Promise.resolve(delivery).catch((cause) => this.log.error(`${fact} — carrier refused it`, cause));
189
- const handed = this.handToListeners(fact, payload);
193
+ const handed = this.handToListeners(fact, payload, listeners);
190
194
  if (!waiting) {
191
195
  for (const { facade, op, done } of handed) {
192
196
  void done.catch((cause) => this.log.error(`${fact} → ${facade}.${op}`, this.describeRefusal(fact, cause) ?? cause));
@@ -268,17 +272,37 @@ export class Emissions {
268
272
  ? applyCreate(shape.getFields(), raw)
269
273
  : raw;
270
274
  }
271
- /** Hand the fact to every listener in THIS process, and give back one promise each. */
272
- handToListeners(fact, payload) {
275
+ /**
276
+ * The listeners another process serves, read off its card — minus those already noted here,
277
+ * since a remote frond whose code this process read is noted twice.
278
+ *
279
+ * A line never crosses: delivering it is a call, and a call writes lines.
280
+ */
281
+ async listenersElsewhere(fact, waiting) {
282
+ if (!this.elsewhere || fact === LOG_LINE)
283
+ return [];
284
+ const { listeners, unreachable } = await this.elsewhere.listenersOf(fact);
285
+ if (unreachable.length > 0) {
286
+ const unknown = `${fact} — ${unreachable.join(', ')} did not answer, so who listens there is unknown`;
287
+ if (waiting)
288
+ throw new Error(`${unknown}. An announcement with an answer type waits for everyone: a partial answer would look like a complete one.`);
289
+ this.log.warn(`${unknown}, and the fact did not reach it.`);
290
+ }
291
+ const here = new Set((this.subscribers.get(fact) ?? []).map(({ facade, op }) => `${facade}.${op}`));
292
+ return listeners
293
+ .map(({ address, op }) => ({ facade: facadeKeyOf(address), op }))
294
+ .filter(({ facade, op }) => !here.has(`${facade}.${op}`));
295
+ }
296
+ /** Hand the fact to every listener named, those of THIS process when none are, and give back one promise each. */
297
+ handToListeners(fact, payload, listeners = this.subscribers.get(fact) ?? []) {
273
298
  const walked = ambient.currentChain();
274
299
  if (walked.includes(fact)) {
275
300
  throw new Error(`Emission cycle: ${[...walked, fact].join(' → ')}.\n`
276
301
  + ' A fact cannot cause itself. One of the subscribers above announces a fact that leads back here.\n'
277
302
  + ' Make it accept `Fact<…>` and read, or announce outside the subscriber.');
278
303
  }
279
- const listeners = this.subscribers.get(fact) ?? [];
280
304
  if (listeners.length === 0) {
281
- this.log.debug(`${fact} — nobody listens in this process`);
305
+ this.log.debug(`${fact} — nobody listens`);
282
306
  return [];
283
307
  }
284
308
  return listeners.map(({ facade, op }) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"Emissions.js","sourceRoot":"","sources":["../../src/boot/Emissions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Emissions.js","sourceRoot":"","sources":["../../src/boot/Emissions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/boot/bootstrap.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAEpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAymB9D,uCAAuC;AACvC,wBAAsB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,CAwHvE"}
1
+ {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/boot/bootstrap.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAEpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AA2mB9D,uCAAuC;AACvC,wBAAsB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,CAwHvE"}
@@ -209,7 +209,7 @@ function dispatching(options, log, fronds, journalOf) {
209
209
  };
210
210
  }
211
211
  /** Every entity of every frond, who holds it, and the door a fact goes through. */
212
- function whatTheAppKnows(fronds, container, options, refused) {
212
+ function whatTheAppKnows(fronds, container, options, refused, remoteRouter) {
213
213
  // By name, so a fact can be validated where it LANDS and a `reads:` clause can name a
214
214
  // neighbour's entity.
215
215
  const entityByName = fronds.schemas();
@@ -226,7 +226,7 @@ function whatTheAppKnows(fronds, container, options, refused) {
226
226
  frondOf: new Map(fronds.flatMap((one) => one.entities.map((entity) => [entity.name, one.name]))),
227
227
  emissions: new Emissions(fronds, entityByName, container,
228
228
  // No carry: this is what CARRIES a fact, and a line about carrying one comes back here.
229
- new Logger('boot:app'), refused, options.onEmit),
229
+ new Logger('boot:app'), refused, options.onEmit, remoteRouter),
230
230
  };
231
231
  }
232
232
  function hostingFor({ fronds, container, options, remoteRouter, entityByName, frondOf, storageOf }) {
@@ -478,7 +478,7 @@ export async function createApp(options) {
478
478
  const refused = [];
479
479
  keyClaims(fronds, options.remotes, refused);
480
480
  refuseWhatDoesNotHold(refused);
481
- const { entityByName, frondOf, emissions } = whatTheAppKnows(fronds, container, options, refused);
481
+ const { entityByName, frondOf, emissions } = whatTheAppKnows(fronds, container, options, refused, remoteRouter);
482
482
  const effectiveByKey = new Map();
483
483
  const storageFor = (entity) => ownedBy(fronds, container, entity, storageKeyOf(entity));
484
484
  const { hosting, journalOf } = hostingFor({
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/boot/bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/boot/bootstrap.ts"],"names":[],"mappings":"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"}
package/dist/boot/card.js CHANGED
@@ -61,6 +61,7 @@ function facadeOps(app, address, entityNames, reached, surface) {
61
61
  throw new Error(`Facade '${facadeKeyOf(address, surface)}' serves '${name}' without an effective contract. `
62
62
  + 'A facade and its table are built together, so no declaration can produce this.');
63
63
  }
64
+ const listens = contract.binding.flatMap((bound) => (bound.source.kind === 'fact' ? [bound.source.factName] : []))[0];
64
65
  for (const view of [contract.input, contract.output]) {
65
66
  const entity = entityNames.get(view);
66
67
  if (entity)
@@ -73,6 +74,7 @@ function facadeOps(app, address, entityNames, reached, surface) {
73
74
  ...(contract?.output && { output: Card.fromSchema(contract.output, entityNames.get(contract.output) ?? name).descriptor }),
74
75
  ...(contract?.cardinality && { cardinality: contract.cardinality }),
75
76
  ...(contract.errors?.length ? { errors: contract.errors } : {}),
77
+ ...(listens && { listens }),
76
78
  kind: contract.kind,
77
79
  };
78
80
  });
@@ -1 +1 @@
1
- {"version":3,"file":"card.js","sourceRoot":"","sources":["../../src/boot/card.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"card.js","sourceRoot":"","sources":["../../src/boot/card.ts"],"names":[],"mappings":"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"}
@@ -12,10 +12,23 @@ interface Route {
12
12
  */
13
13
  outputs: Map<string, SchemaView>;
14
14
  }
15
+ /** An op another process serves that is handed a fact when it is announced. */
16
+ export interface RemoteListener {
17
+ address: string;
18
+ op: string;
19
+ }
15
20
  export interface RemoteRouter {
16
21
  route(address: string): Promise<Route>;
17
22
  /** The schema a remote STORES under an entity's name — `undefined` when none does. */
18
23
  schemaOf(entity: string): Promise<SchemaView | undefined>;
24
+ /**
25
+ * Who listens to a fact elsewhere, read off the cards — and which remotes could not be asked,
26
+ * since a remote that did not answer may listen too.
27
+ */
28
+ listenersOf(fact: string): Promise<{
29
+ listeners: RemoteListener[];
30
+ unreachable: string[];
31
+ }>;
19
32
  }
20
33
  export declare function createRemoteRouter(remotes: Record<string, string>, makeTransport: (url: string) => Transport): RemoteRouter;
21
34
  type Facade = Record<string, (invocation?: InvocationContext) => Promise<unknown>>;
@@ -1 +1 @@
1
- {"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../src/boot/remote.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAG9E,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAGtE,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAIxD,UAAU,KAAK;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,SAAS,CAAC;IACrB;;;OAGG;IACH,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACvC,sFAAsF;IACtF,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;CAC3D;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,GACxC,YAAY,CAmEd;AAED,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE,iBAAiB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAEnF,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,YAAY,EACpB,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,aAAa,EAAE,EACpD,KAAK,EAAE,UAAU,GAChB,MAAM,CAqBR"}
1
+ {"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../src/boot/remote.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAG9E,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAGtE,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAIxD,UAAU,KAAK;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,SAAS,CAAC;IACrB;;;OAGG;IACH,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CAClC;AAED,+EAA+E;AAC/E,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACvC,sFAAsF;IACtF,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;IAC1D;;;OAGG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,cAAc,EAAE,CAAC;QAAC,WAAW,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CAC5F;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,GACxC,YAAY,CA0Ed;AAED,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE,iBAAiB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAEnF,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,YAAY,EACpB,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,aAAa,EAAE,EACpD,KAAK,EAAE,UAAU,GAChB,MAAM,CAqBR"}
@@ -10,6 +10,7 @@ import { decoded } from '../dispatch/decoded.js';
10
10
  export function createRemoteRouter(remotes, makeTransport) {
11
11
  const byAddress = new Map();
12
12
  const stored = new Map();
13
+ const byFact = new Map();
13
14
  // The remotes config key is a label for the address — the identity card is
14
15
  // what decides which addresses answer behind it.
15
16
  const pending = new Map(Object.entries(remotes));
@@ -40,6 +41,7 @@ export function createRemoteRouter(remotes, makeTransport) {
40
41
  pending.delete(answered.label);
41
42
  claimFacades(answered, byAddress, claimedBy);
42
43
  storedBy(answered, stored);
44
+ listenedBy(answered, byFact);
43
45
  }
44
46
  };
45
47
  return {
@@ -48,6 +50,11 @@ export function createRemoteRouter(remotes, makeTransport) {
48
50
  await discover();
49
51
  return stored.get(entity);
50
52
  },
53
+ async listenersOf(fact) {
54
+ if (pending.size > 0)
55
+ await discover();
56
+ return { listeners: byFact.get(fact) ?? [], unreachable: [...pending.keys()] };
57
+ },
51
58
  async route(address) {
52
59
  if (!byAddress.has(address) && pending.size > 0)
53
60
  await discover();
@@ -127,4 +134,16 @@ function storedBy({ label, url, answer }, stored) {
127
134
  stored.set(entity.name, Card.fromDescriptor(entity.schema).toSchema());
128
135
  }
129
136
  }
137
+ /** Who listens to what on each remote — the `listens` an op states on the card it serves. */
138
+ function listenedBy({ label, url, answer }, byFact) {
139
+ for (const frond of assertIdentityCard(answer, `Remote '${label}' (${url})`).fronds) {
140
+ for (const facade of frond.facades) {
141
+ for (const op of facade.ops) {
142
+ if (!op.listens)
143
+ continue;
144
+ byFact.set(op.listens, [...(byFact.get(op.listens) ?? []), { address: facade.name, op: op.name }]);
145
+ }
146
+ }
147
+ }
148
+ }
130
149
  //# sourceMappingURL=remote.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"remote.js","sourceRoot":"","sources":["../../src/boot/remote.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remote.js","sourceRoot":"","sources":["../../src/boot/remote.ts"],"names":[],"mappings":"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"}
@@ -18,5 +18,7 @@ export interface CardOp {
18
18
  cardinality?: 'one' | 'maybe' | 'many' | 'page' | 'none';
19
19
  /** What this op can REFUSE, beyond what `kind` and `input` already imply. */
20
20
  errors?: ErrorCode[];
21
+ /** The fact this op is handed when it is announced — its `Fact<T>`, which IS the subscription. */
22
+ listens?: string;
21
23
  }
22
24
  //# sourceMappingURL=CardOp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CardOp.d.ts","sourceRoot":"","sources":["../../../src/wire/card/CardOp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,iEAAiE;IACjE,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,mFAAmF;IACnF,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1B,mCAAmC;IACnC,WAAW,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACzD,6EAA6E;IAC7E,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;CACtB"}
1
+ {"version":3,"file":"CardOp.d.ts","sourceRoot":"","sources":["../../../src/wire/card/CardOp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,iEAAiE;IACjE,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,mFAAmF;IACnF,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1B,mCAAmC;IACnC,WAAW,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACzD,6EAA6E;IAC7E,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,kGAAkG;IAClG,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fougere/core",
3
- "version": "0.17.2-alpha.0",
3
+ "version": "0.17.3-alpha.0",
4
4
  "description": "The core — scan, call contract, façades, remote stand-ins.",
5
5
  "keywords": [
6
6
  "fougere",
@@ -61,8 +61,8 @@
61
61
  "tsconfig"
62
62
  ],
63
63
  "dependencies": {
64
- "@fougere/container": "0.17.2-alpha.0",
65
- "@fougere/schema": "0.17.2-alpha.0",
64
+ "@fougere/container": "0.17.3-alpha.0",
65
+ "@fougere/schema": "0.17.3-alpha.0",
66
66
  "dequal": "^2.0.3"
67
67
  },
68
68
  "devDependencies": {
@@ -9,6 +9,8 @@ import { Invocation } from '../wire/Invocation.js';
9
9
  import type { Logger } from '../builtin/Logger.js';
10
10
  import type { Fronds } from '../descriptor/Fronds.js';
11
11
  import type { OperationsMap } from '../wire/OperationsMap.js';
12
+ import type { RemoteRouter } from './remote.js';
13
+ import { LOG_LINE } from '../builtin/LogLine.js';
12
14
 
13
15
  /** A facade and the op on it that accepts a fact. */
14
16
  interface Listener {
@@ -50,6 +52,7 @@ export class Emissions {
50
52
  private readonly log: Logger,
51
53
  private readonly refused: Diagnostic[],
52
54
  private readonly carry?: Carrier,
55
+ private readonly elsewhere?: Pick<RemoteRouter, 'listenersOf'>,
53
56
  ) {
54
57
  for (const frond of fronds) {
55
58
  this.fileOf.set(frond.name, frond.source.path);
@@ -188,7 +191,7 @@ export class Emissions {
188
191
  subject: fact,
189
192
  message: `'${fact}' is announced with an answer type, and this app has a carrier `
190
193
  + '(`onEmit`). Waiting means knowing who answers; a carrier reaches whoever subscribed '
191
- + `elsewhere and brings nothing back. Name the subscribers in \`remotes:\`, or drop the `
194
+ + `elsewhere and brings nothing back. Place the subscribers' fronds in \`fronds:\` with an address, or drop the `
192
195
  + `second type of \`Emit<${fact}, …>\`.`,
193
196
  });
194
197
  continue;
@@ -210,12 +213,13 @@ export class Emissions {
210
213
  await ambient.beforeAnnounce(fact);
211
214
 
212
215
  const payload = await this.finished(fact, this.stamped(fact, raw));
216
+ const listeners = [...(this.subscribers.get(fact) ?? []), ...await this.listenersElsewhere(fact, waiting)];
213
217
 
214
218
  /** Whoever is not in this process — and it is the ONLY way to reach them. */
215
219
  const delivery = this.carry?.(fact, payload);
216
220
  if (delivery) void Promise.resolve(delivery).catch((cause) => this.log.error(`${fact} — carrier refused it`, cause));
217
221
 
218
- const handed = this.handToListeners(fact, payload);
222
+ const handed = this.handToListeners(fact, payload, listeners);
219
223
  if (!waiting) {
220
224
  for (const { facade, op, done } of handed) {
221
225
  void done.catch((cause) => this.log.error(`${fact} → ${facade}.${op}`, this.describeRefusal(fact, cause) ?? cause));
@@ -325,8 +329,35 @@ export class Emissions {
325
329
  : raw;
326
330
  }
327
331
 
328
- /** Hand the fact to every listener in THIS process, and give back one promise each. */
329
- private handToListeners(fact: string, payload: unknown): (Listener & { done: Promise<unknown> })[] {
332
+ /**
333
+ * The listeners another process serves, read off its card — minus those already noted here,
334
+ * since a remote frond whose code this process read is noted twice.
335
+ *
336
+ * A line never crosses: delivering it is a call, and a call writes lines.
337
+ */
338
+ private async listenersElsewhere(fact: string, waiting: boolean): Promise<Listener[]> {
339
+ if (!this.elsewhere || fact === LOG_LINE) return [];
340
+
341
+ const { listeners, unreachable } = await this.elsewhere.listenersOf(fact);
342
+ if (unreachable.length > 0) {
343
+ const unknown = `${fact} — ${unreachable.join(', ')} did not answer, so who listens there is unknown`;
344
+ if (waiting) throw new Error(`${unknown}. An announcement with an answer type waits for everyone: a partial answer would look like a complete one.`);
345
+ this.log.warn(`${unknown}, and the fact did not reach it.`);
346
+ }
347
+
348
+ const here = new Set((this.subscribers.get(fact) ?? []).map(({ facade, op }) => `${facade}.${op}`));
349
+
350
+ return listeners
351
+ .map(({ address, op }) => ({ facade: facadeKeyOf(address), op }))
352
+ .filter(({ facade, op }) => !here.has(`${facade}.${op}`));
353
+ }
354
+
355
+ /** Hand the fact to every listener named, those of THIS process when none are, and give back one promise each. */
356
+ private handToListeners(
357
+ fact: string,
358
+ payload: unknown,
359
+ listeners: Listener[] = this.subscribers.get(fact) ?? [],
360
+ ): (Listener & { done: Promise<unknown> })[] {
330
361
  const walked = ambient.currentChain();
331
362
  if (walked.includes(fact)) {
332
363
  throw new Error(
@@ -336,9 +367,8 @@ export class Emissions {
336
367
  );
337
368
  }
338
369
 
339
- const listeners = this.subscribers.get(fact) ?? [];
340
370
  if (listeners.length === 0) {
341
- this.log.debug(`${fact} — nobody listens in this process`);
371
+ this.log.debug(`${fact} — nobody listens`);
342
372
 
343
373
  return [];
344
374
  }
@@ -316,6 +316,7 @@ function whatTheAppKnows(
316
316
  container: Container,
317
317
  options: CreateAppOptions,
318
318
  refused: Diagnostic[],
319
+ remoteRouter: RemoteRouter | undefined,
319
320
  ): { entityByName: Map<string, SchemaView>; frondOf: Map<string, string>; emissions: Emissions } {
320
321
  // By name, so a fact can be validated where it LANDS and a `reads:` clause can name a
321
322
  // neighbour's entity.
@@ -337,6 +338,7 @@ function whatTheAppKnows(
337
338
  new Logger('boot:app'),
338
339
  refused,
339
340
  options.onEmit,
341
+ remoteRouter,
340
342
  ),
341
343
  };
342
344
  }
@@ -669,7 +671,7 @@ export async function createApp(options: CreateAppOptions): Promise<App> {
669
671
  keyClaims(fronds, options.remotes, refused);
670
672
  refuseWhatDoesNotHold(refused);
671
673
 
672
- const { entityByName, frondOf, emissions } = whatTheAppKnows(fronds, container, options, refused);
674
+ const { entityByName, frondOf, emissions } = whatTheAppKnows(fronds, container, options, refused, remoteRouter);
673
675
  const effectiveByKey = new Map<string, EffectiveOperationsMap>();
674
676
  const storageFor = <T = Record<string, unknown>>(entity: string): Storage<T> | undefined =>
675
677
  ownedBy<Storage<T>>(fronds, container, entity, storageKeyOf(entity));
package/src/boot/card.ts CHANGED
@@ -86,6 +86,8 @@ function facadeOps(
86
86
  );
87
87
  }
88
88
 
89
+ const listens = contract.binding.flatMap((bound) => (bound.source.kind === 'fact' ? [bound.source.factName] : []))[0];
90
+
89
91
  for (const view of [contract.input, contract.output]) {
90
92
  const entity = entityNames.get(view);
91
93
  if (entity) reached.add(entity);
@@ -98,6 +100,7 @@ function facadeOps(
98
100
  ...(contract?.output && { output: Card.fromSchema(contract.output, entityNames.get(contract.output) ?? name).descriptor }),
99
101
  ...(contract?.cardinality && { cardinality: contract.cardinality }),
100
102
  ...(contract.errors?.length ? { errors: contract.errors } : {}),
103
+ ...(listens && { listens }),
101
104
  kind: contract.kind,
102
105
  };
103
106
  });
@@ -28,10 +28,21 @@ interface Route {
28
28
  outputs: Map<string, SchemaView>;
29
29
  }
30
30
 
31
+ /** An op another process serves that is handed a fact when it is announced. */
32
+ export interface RemoteListener {
33
+ address: string;
34
+ op: string;
35
+ }
36
+
31
37
  export interface RemoteRouter {
32
38
  route(address: string): Promise<Route>;
33
39
  /** The schema a remote STORES under an entity's name — `undefined` when none does. */
34
40
  schemaOf(entity: string): Promise<SchemaView | undefined>;
41
+ /**
42
+ * Who listens to a fact elsewhere, read off the cards — and which remotes could not be asked,
43
+ * since a remote that did not answer may listen too.
44
+ */
45
+ listenersOf(fact: string): Promise<{ listeners: RemoteListener[]; unreachable: string[] }>;
35
46
  }
36
47
 
37
48
  export function createRemoteRouter(
@@ -40,6 +51,7 @@ export function createRemoteRouter(
40
51
  ): RemoteRouter {
41
52
  const byAddress = new Map<string, Route>();
42
53
  const stored = new Map<string, SchemaView>();
54
+ const byFact = new Map<string, RemoteListener[]>();
43
55
  // The remotes config key is a label for the address — the identity card is
44
56
  // what decides which addresses answer behind it.
45
57
  const pending = new Map(Object.entries(remotes));
@@ -75,6 +87,7 @@ export function createRemoteRouter(
75
87
  pending.delete(answered.label);
76
88
  claimFacades(answered, byAddress, claimedBy);
77
89
  storedBy(answered, stored);
90
+ listenedBy(answered, byFact);
78
91
  }
79
92
  };
80
93
 
@@ -84,6 +97,11 @@ export function createRemoteRouter(
84
97
 
85
98
  return stored.get(entity);
86
99
  },
100
+ async listenersOf(fact) {
101
+ if (pending.size > 0) await discover();
102
+
103
+ return { listeners: byFact.get(fact) ?? [], unreachable: [...pending.keys()] };
104
+ },
87
105
  async route(address) {
88
106
  if (!byAddress.has(address) && pending.size > 0) await discover();
89
107
  const hit = byAddress.get(address);
@@ -189,3 +207,15 @@ function storedBy({ label, url, answer }: Answered, stored: Map<string, SchemaVi
189
207
  for (const entity of frond.entities) stored.set(entity.name, Card.fromDescriptor(entity.schema).toSchema());
190
208
  }
191
209
  }
210
+
211
+ /** Who listens to what on each remote — the `listens` an op states on the card it serves. */
212
+ function listenedBy({ label, url, answer }: Answered, byFact: Map<string, RemoteListener[]>): void {
213
+ for (const frond of assertIdentityCard(answer, `Remote '${label}' (${url})`).fronds) {
214
+ for (const facade of frond.facades) {
215
+ for (const op of facade.ops) {
216
+ if (!op.listens) continue;
217
+ byFact.set(op.listens, [...(byFact.get(op.listens) ?? []), { address: facade.name, op: op.name }]);
218
+ }
219
+ }
220
+ }
221
+ }
@@ -19,4 +19,6 @@ export interface CardOp {
19
19
  cardinality?: 'one' | 'maybe' | 'many' | 'page' | 'none';
20
20
  /** What this op can REFUSE, beyond what `kind` and `input` already imply. */
21
21
  errors?: ErrorCode[];
22
+ /** The fact this op is handed when it is announced — its `Fact<T>`, which IS the subscription. */
23
+ listens?: string;
22
24
  }