@braidlabs/fdc3 0.5.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @braidlabs/fdc3
2
2
 
3
- An FDC3 2.2 Desktop Agent for Braid pages. Every composed fragment gets a `window.fdc3` bound to its
3
+ An FDC3 3.0 Desktop Agent for Braid pages. Every composed fragment gets a `window.fdc3` bound to its
4
4
  own app identity. Fragments share user channels, app channels and intents, resolved against an FDC3
5
5
  App Directory that the Braid registry serves.
6
6
 
@@ -19,7 +19,8 @@ The agent is built on the FINOS reference implementation (`@finos/fdc3-web-impl`
19
19
  their first script runs. A fragment whose id has no directory record gets none.
20
20
 
21
21
  An intent raised to a fragment that is mounted but still booting is held until its listener
22
- arrives. Not supported yet: `fdc3.open()` and launching apps that aren't mounted, an intent resolver
23
- UI, and FDC3 for untrusted or contract fragments.
22
+ arrives. Not supported yet: `fdc3.open()`, `fdc3.close()`, raising with `newInstance: true`, and
23
+ launching apps that aren't mounted; an intent resolver UI; and FDC3 for untrusted or contract
24
+ fragments.
24
25
 
25
26
  Full documentation: https://braidjs.github.io/braid/packages/fdc3
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@braidlabs/fdc3",
3
- "version": "0.5.0",
4
- "description": "An FDC3 2.2 Desktop Agent for Braid pages: every composed fragment gets a window.fdc3 bound to its own app identity, with user channels, app channels and intents across fragments, resolved against an FDC3 App Directory. Built on the FINOS reference implementation.",
3
+ "version": "0.7.0",
4
+ "description": "An FDC3 3.0 Desktop Agent for Braid pages: every composed fragment gets a window.fdc3 bound to its own app identity, with user channels, app channels and intents across fragments, resolved against an FDC3 App Directory. Built on the FINOS reference implementation.",
5
5
  "keywords": [
6
6
  "braid",
7
7
  "micro-frontends",
@@ -26,9 +26,9 @@
26
26
  "./package.json": "./package.json"
27
27
  },
28
28
  "dependencies": {
29
- "@finos/fdc3-agent-proxy": "2.2.3",
30
- "@finos/fdc3-standard": "2.2.3",
31
- "@finos/fdc3-web-impl": "2.2.3"
29
+ "@finos/fdc3-agent-proxy": "3.0.0",
30
+ "@finos/fdc3-standard": "3.0.0",
31
+ "@finos/fdc3-web-impl": "3.0.0"
32
32
  },
33
33
  "publishConfig": {
34
34
  "access": "public"
package/src/agent.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { type DirectoryApp } from '@finos/fdc3-web-impl';
2
2
  import { type DesktopAgent } from '@finos/fdc3-standard';
3
3
  /**
4
- * An FDC3 2.2 Desktop Agent for one Braid page.
4
+ * An FDC3 3.0 Desktop Agent for one Braid page.
5
5
  *
6
6
  * The page is the desktop: the host runs the agent, and each composed fragment is an app instance
7
7
  * on it. The agent is the FINOS reference implementation — `DefaultFDC3Server` from
@@ -22,7 +22,8 @@ export interface BraidDesktopAgentOptions {
22
22
  /**
23
23
  * The App Directory records the agent resolves against — the `applications` of a Braid AppD
24
24
  * listing (`createRegistryApi({ appd })` or the gateway's `discovery: { appd: true }`). Each
25
- * record's `appId` is a fragment id; a fragment with no record gets no `fdc3`.
25
+ * record's `appId` is a fragment id; a fragment with no record gets no `fdc3`, and neither does
26
+ * one whose record's `fdc3Version` range excludes 3.0.
26
27
  */
27
28
  directory: readonly DirectoryApp[];
28
29
  }
package/src/agent.js CHANGED
@@ -1,6 +1,8 @@
1
1
  import { BasicDirectory, ChannelType, DefaultFDC3Server, IntentHandler, State, } from '@finos/fdc3-web-impl';
2
2
  import { AbstractMessaging, DefaultAppSupport, DefaultChannelSupport, DefaultHeartbeatSupport, DefaultIntentSupport, DesktopAgentProxy, } from '@finos/fdc3-agent-proxy';
3
- import { ChannelError, LogLevel, OpenError } from '@finos/fdc3-standard';
3
+ import { ChannelError, CloseError, LogLevel, OpenError, ResolveError, } from '@finos/fdc3-standard';
4
+ /** The FDC3 version the agent implements; the directory drops records whose `fdc3Version` excludes it. */
5
+ const FDC3_VERSION = '3.0';
4
6
  /** A request is answered within this, or the proxy reports `ApiTimeout`. */
5
7
  const MESSAGE_TIMEOUT_MS = 10_000;
6
8
  /** How long a raised intent may take to be handled. */
@@ -27,7 +29,7 @@ const NO_UI = {
27
29
  };
28
30
  export function createBraidDesktopAgent(options) {
29
31
  // a directory that failed to load is an empty one, not a page that fails to compose
30
- const directory = new BasicDirectory(Array.isArray(options.directory) ? [...options.directory] : []);
32
+ const directory = new BasicDirectory(Array.isArray(options.directory) ? [...options.directory] : [], FDC3_VERSION);
31
33
  const context = new BraidServerContext(taskQueue());
32
34
  const userChannels = USER_CHANNELS.map(([color, glyph]) => ({
33
35
  id: `fdc3.channel.${glyph}`,
@@ -38,7 +40,7 @@ export function createBraidDesktopAgent(options) {
38
40
  const server = new DefaultFDC3Server(context, directory, userChannels, false, INTENT_TIMEOUT_MS, MESSAGE_TIMEOUT_MS);
39
41
  // which instances are listening for what: the agent's intent handler is the source of truth
40
42
  const intentHandler = server.handlers.find((handler) => handler instanceof IntentHandler);
41
- context.hasListener = (instanceId, intent) => intentHandler?.hasListener(instanceId, intent) ?? false;
43
+ context.hasListener = (instanceId, intent, contextType) => intentHandler?.hasListener(instanceId, intent, contextType) ?? false;
42
44
  async function connect(appId, signal) {
43
45
  const instanceId = context.createUUID();
44
46
  let open = true;
@@ -112,9 +114,14 @@ class InProcessMessaging extends AbstractMessaging {
112
114
  async post(message) {
113
115
  if (!this.#isOpen())
114
116
  return this.#refuse(message, 'AgentDisconnected');
115
- // launching a fragment is the host's to do, and is not wired yet
116
- if (message.type === 'openRequest')
117
+ // launching a fragment is the host's to do, and is not wired yet: neither `open` nor a raise
118
+ // that asks for a new instance (the agent would hand that to the instance already running)
119
+ const { type: kind, payload: request } = message;
120
+ if (kind === 'openRequest')
117
121
  return this.#refuse(message, OpenError.ErrorOnLaunch);
122
+ if ((kind === 'raiseIntentRequest' || kind === 'raiseIntentForContextRequest') && request?.newInstance === true) {
123
+ return this.#refuse(message, ResolveError.TargetAppUnavailable);
124
+ }
118
125
  let copy;
119
126
  try {
120
127
  // a clone, as a MessagePort would make: neither side holds the other's objects
@@ -219,7 +226,7 @@ class BraidServerContext {
219
226
  constructor(schedule) {
220
227
  this.schedule = schedule;
221
228
  }
222
- /** Whether an instance has an intent listener for `intent`; set by the agent. */
229
+ /** Whether an instance has an intent listener for `intent` (and `contextType`, if given); set by the agent. */
223
230
  hasListener = () => false;
224
231
  /** Live instances of an app, oldest first. */
225
232
  live(appId) {
@@ -238,7 +245,8 @@ class BraidServerContext {
238
245
  return message;
239
246
  }
240
247
  const live = this.live(app.appId);
241
- const listening = live.filter((instance) => this.hasListener(instance.instanceId, payload.intent));
248
+ const contextType = typeof payload.context?.type === 'string' ? payload.context.type : undefined;
249
+ const listening = live.filter((instance) => this.hasListener(instance.instanceId, payload.intent, contextType));
242
250
  const target = listening.length === 1 ? listening[0] : listening.length === 0 && live.length === 1 ? live[0] : undefined;
243
251
  return target ? { ...message, payload: { ...payload, app: { appId: target.appId, instanceId: target.instanceId } } } : message;
244
252
  }
@@ -265,8 +273,12 @@ class BraidServerContext {
265
273
  async open(appId) {
266
274
  return this.live(appId)[0]?.instanceId ?? this.createUUID();
267
275
  }
276
+ /**
277
+ * `fdc3.close()`, refused: fragments are torn down by their host, not by the agent. The agent
278
+ * answers a close only when this throws, so a no-op would leave the app waiting out its timeout.
279
+ */
268
280
  async close() {
269
- // fragments are torn down by their host, not by the agent
281
+ throw new Error(CloseError.ErrorOnClose);
270
282
  }
271
283
  setFDC3Server() {
272
284
  // the server is held by the agent that created this context
@@ -308,22 +320,22 @@ class BraidServerContext {
308
320
  return '';
309
321
  }
310
322
  fdc3Version() {
311
- return '2.2';
323
+ return FDC3_VERSION;
312
324
  }
313
325
  /**
314
326
  * The candidates an intent may go to, given that nothing can be launched:
315
327
  *
316
- * - an instance only once it listens for the intent — before then, sending it the intent would
317
- * lose it;
328
+ * - an instance only once it listens for the intent, for this context's type — before then,
329
+ * sending it the intent would lose it;
318
330
  * - an app without an instance (the directory's entry) only while one is mounted and none of its
319
331
  * instances listens yet — the agent then holds the intent until the listener arrives.
320
332
  *
321
333
  * An app with no live instance drops out, which makes the raise a clean `NoAppsFound`.
322
334
  */
323
- async narrowIntents(_raiser, appIntents) {
335
+ async narrowIntents(_raiser, appIntents, context) {
324
336
  return appIntents
325
337
  .map((appIntent) => {
326
- const listening = appIntent.apps.filter((app) => app.instanceId !== undefined && this.hasListener(app.instanceId, appIntent.intent.name));
338
+ const listening = appIntent.apps.filter((app) => app.instanceId !== undefined && this.hasListener(app.instanceId, appIntent.intent.name, context?.type));
327
339
  const waiting = appIntent.apps.filter((app) => app.instanceId === undefined &&
328
340
  this.live(app.appId).length > 0 &&
329
341
  !listening.some((candidate) => candidate.appId === app.appId));
package/src/agent.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../../libs/braid-fdc3/src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../../libs/braid-fdc3/src/agent.ts"],"names":[],"mappings":"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"}