@flexemarkets/fm-sdk 0.1.4 → 0.3.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
@@ -2,6 +2,22 @@
2
2
 
3
3
  TypeScript / JavaScript SDK for the [Flexemarkets](https://api.flexemarkets.com) API.
4
4
 
5
+ > ### ⚠️ Alpha software — the API is not stable
6
+ >
7
+ > fm-sdk is pre-1.0 and under active development. Anything public may be
8
+ > **added, renamed, or removed in any release**, including in ways that break
9
+ > code that compiles and runs today, and without a deprecation period first.
10
+ > Under [semantic versioning](https://semver.org/#spec-item-4) a `0.x` release
11
+ > carries no compatibility promise, and that is how these versions are used:
12
+ > treat every `0.x` bump as potentially breaking.
13
+ >
14
+ > Pin an exact version rather than a range (`"@flexemarkets/fm-sdk": "0.2.0"`,
15
+ > not `^0.2.0`), read the
16
+ > [upgrade notes](https://github.com/flexemarkets/fm-sdk/tree/main/docs) for the
17
+ > release you are moving to, and expect to change code when you move.
18
+ >
19
+ > Not recommended for production use.
20
+
5
21
  ## Requirements
6
22
 
7
23
  - Node.js 22+ (ES modules)
@@ -47,8 +63,7 @@ endpoint=https://api.flexemarkets.com/api/marketplaces/123
47
63
  ## SDK usage
48
64
 
49
65
  ```typescript
50
- import { Flexemarkets, OrderBooks, MarketplaceTrades } from "@flexemarkets/fm-sdk";
51
- import type { FmEvent } from "@flexemarkets/fm-sdk";
66
+ import { Flexemarkets } from "@flexemarkets/fm-sdk";
52
67
 
53
68
  // connect(null, null, ...) falls back to ~/.fm/credential and ~/.fm/endpoint
54
69
  const fm = await Flexemarkets.connect(null, null, "my-bot");
@@ -63,23 +78,21 @@ const holding = await fm.holding(marketplaceId);
63
78
  const order = await fm.submitLimit(marketplaceId, markets[0].id, "BUY", 1, 950);
64
79
  await fm.submitCancel(marketplaceId, markets[0].id, order.id);
65
80
 
66
- // WebSocket events
67
- const books = new OrderBooks(markets);
68
- const trades = new MarketplaceTrades(markets);
69
-
70
- await fm.listen(marketplaceId, (event: FmEvent) => {
71
- if ("kind" in event && event.kind === "orders-update") {
72
- books.update(event.orders);
73
- trades.update(event.orders);
74
- } else if (!Array.isArray(event) && "state" in event) {
75
- console.log(event.state); // Session
76
- } else if ("cash" in event) {
77
- console.log(event.cash); // Holding
78
- }
79
- });
80
-
81
- // when done
82
- fm.close();
81
+ // Live market data. A desk keeps the books and tapes for you: it seeds them
82
+ // over REST, applies deltas, and re-seeds after a sequence gap.
83
+ const desk = await fm.desk(marketplaceId);
84
+ const marketId = markets[0].id;
85
+
86
+ desk.onBookChange(marketId, (book) => console.log(book.bestPrice("BUY")));
87
+ desk.onSessionChange((s) => console.log(s.state));
88
+ desk.onHoldingChange((h) => console.log(h.cash));
89
+
90
+ const one = desk.book(marketId); // one market
91
+ for (const book of desk.books()) { // every market in the marketplace
92
+ console.log(book.symbol, book.bestPrice("BUY"));
93
+ }
94
+
95
+ desk.close();
83
96
  ```
84
97
 
85
98
  ## Example: ticker
package/dist/client.d.ts CHANGED
@@ -3,10 +3,10 @@
3
3
  *
4
4
  * Port of fm.client (Python) / fm.Flexemarkets (Java).
5
5
  */
6
- import type { Account, Allotment, ClientConnection, Holding, ManagerOtpBundle, Market, Marketplace, Order, Person, Security, Session, TickGrid, Token } from "./types.js";
6
+ import type { Account, Allotment, ClientConnection, Holding, ManagerOtpBundle, Market, Marketplace, Order, ParticipantState, Person, Security, Session, TickGrid, Token } from "./types.js";
7
7
  import { EventListener, type EventCallback } from "./stomp.js";
8
8
  import type { ApiRoot } from "./hal.js";
9
- import { type MarketView, type Subscription } from "./market-view.js";
9
+ import { type Desk, type Subscription } from "./desk.js";
10
10
  import type { Snapshot } from "./snapshot.js";
11
11
  export declare class FlexemarketsError extends Error {
12
12
  }
@@ -76,6 +76,7 @@ export declare function parseMarket(data: JsonObject): Market;
76
76
  export declare function parseMarketplace(data: JsonObject): Marketplace;
77
77
  export declare function parseSession(data: JsonObject): Session;
78
78
  export declare function parseOrder(data: JsonObject): Order;
79
+ export declare function parseParticipantState(data: JsonObject): ParticipantState;
79
80
  export declare function parseHolding(data: JsonObject): Holding;
80
81
  export declare function parseConnection(data: JsonObject): ClientConnection;
81
82
  /**
@@ -84,7 +85,7 @@ export declare function parseConnection(data: JsonObject): ClientConnection;
84
85
  * The server embeds them under `orders`. It was `orderDtoes` — Spring HATEOAS
85
86
  * pluralising `OrderDto` — and every SDK still read that name long after the
86
87
  * server stopped sending it, so `activeOrders` and `recentTrades` returned an
87
- * empty array always. `MarketView` seeds from `activeOrders`, so its books were
88
+ * empty array always. `Desk` seeds from `activeOrders`, so its books were
88
89
  * never seeded; they filled from live deltas and looked plausible.
89
90
  *
90
91
  * Then the envelope itself went: fm-server now sends a bare array. Accepting
@@ -155,7 +156,7 @@ export declare class Flexemarkets {
155
156
  private _get;
156
157
  /**
157
158
  * GET helper that returns the parsed body bundled with the
158
- * `x-fm-as-of-seq` response header so callers (notably MarketView)
159
+ * `x-fm-as-of-seq` response header so callers (notably Desk)
159
160
  * can correlate the snapshot with the WS delta stream. Returns
160
161
  * `Snapshot.NO_SEQ` when the header is absent.
161
162
  */
@@ -280,7 +281,7 @@ export declare class Flexemarkets {
280
281
  /**
281
282
  * The active-orders snapshot: every resting limit order on the
282
283
  * marketplace's current session, plus the `x-fm-as-of-seq` sequence
283
- * the snapshot was read at. Used by `MarketView` seeding
284
+ * the snapshot was read at. Used by `Desk` seeding
284
285
  * — clients apply WS deltas whose seq is greater than the returned
285
286
  * value and skip those whose seq is less than or equal.
286
287
  */
@@ -293,8 +294,8 @@ export declare class Flexemarkets {
293
294
  * Ordering is the server's and has changed: up to and including fm-server
294
295
  * 4.3.1 this answered newest first, later versions answer oldest first.
295
296
  * Either way it is the newest `size` trades that come back — only their
296
- * order differs. `Trades` sorts what it is given, so a caller seeding a tape
297
- * through `MarketView` is unaffected; a caller reading this list directly
297
+ * order differs. `Tape` sorts what it is given, so a caller seeding a tape
298
+ * through `Desk` is unaffected; a caller reading this list directly
298
299
  * should not assume one.
299
300
  */
300
301
  recentTrades(marketplaceId: number, size?: number): Promise<Snapshot<Order[]>>;
@@ -303,7 +304,7 @@ export declare class Flexemarkets {
303
304
  sessionIds?: number[];
304
305
  }): Promise<Order[]>;
305
306
  /**
306
- * Trades in one market, in ascending order id.
307
+ * Tape in one market, in ascending order id.
307
308
  *
308
309
  * Answered by a symbol-keyed route, so the orders come back without the
309
310
  * symbol on them and with the trade id in `original`; both are filled in
@@ -372,21 +373,36 @@ export declare class Flexemarkets {
372
373
  * the same terms as {@link allocate}.
373
374
  */
374
375
  uploadHoldings(marketplaceId: number, filename: string): Promise<Holding[]>;
376
+ /**
377
+ * Load per-participant private state from a CSV, returning what was stored.
378
+ *
379
+ * Staged on the same terms as {@link uploadHoldings}, against the allocation
380
+ * that call staged: it lands when a closed session is opened, and the order
381
+ * is a correctness constraint -- holdings, then state, then open. With no
382
+ * allocation staged the server refuses.
383
+ *
384
+ * The file keys on an `email` column. Every other column becomes a field of
385
+ * that name: a numeric cell is a number, otherwise text; a column whose
386
+ * header is bracketed, `[valuations]`, holds vectors and its cells are JSON
387
+ * arrays. An `id` column, when present, must agree with the person the email
388
+ * resolves to. A study's existing values file needs no change.
389
+ */
390
+ uploadState(marketplaceId: number, filename: string): Promise<ParticipantState[]>;
375
391
  private readonly _sharedViews;
376
392
  private readonly _sharedViewPromises;
377
393
  /**
378
- * Open a stateful MarketView on this marketplace. Multiple calls
379
- * for the same marketplaceId share a single underlying view + WS
394
+ * Open a stateful Desk on this marketplace. Multiple calls
395
+ * for the same marketplaceId share a single underlying desk + WS
380
396
  * subscription + materialized state within this Flexemarkets
381
397
  * instance — each call returns a fresh handle, the handles
382
398
  * refcount, and the shared resources tear down on the last close.
383
399
  *
384
400
  * Sharing is intentionally per-Flexemarkets (i.e. per-bearer). Two
385
- * callers with different identities each get their own view
401
+ * callers with different identities each get their own desk
386
402
  * multi-tenant WS multiplexing is a server-side concern, not a
387
403
  * client-side one.
388
404
  */
389
- observe(marketplaceId: number): Promise<MarketView>;
405
+ desk(marketplaceId: number): Promise<Desk>;
390
406
  _releaseSharedView(marketplaceId: number): void;
391
407
  /** Start receiving real-time events via WebSocket STOMP. */
392
408
  listen(marketplaceId: number, callback: EventCallback): Promise<void>;
@@ -396,21 +412,21 @@ export declare class Flexemarkets {
396
412
  *
397
413
  * Unlike {@link listen}, which is one per connection and replaces itself,
398
414
  * several of these coexist: each has its own stream and its own lifetime.
399
- * That is what lets more than one MarketView live in one connection without
415
+ * That is what lets more than one Desk live in one connection without
400
416
  * trampling each other — the mechanism was already here for exactly that, as
401
417
  * the package-private `_connectEvents`, but a caller who wanted a second
402
418
  * stream of their own had no way to ask for one.
403
419
  *
404
420
  * Returns an unsubscribe function rather than an object with `close()`,
405
- * matching what MarketView's `on*` handlers already return here. Java
421
+ * matching what Desk's `on*` handlers already return here. Java
406
422
  * returns a `Subscription`; both names describe the same lifetime.
407
423
  */
408
424
  subscribe(marketplaceId: number, callback: EventCallback): Promise<Subscription>;
409
425
  /**
410
- * Package-private helper used by {@link DefaultMarketView} (Phase 2d)
426
+ * Package-private helper used by {@link DefaultDesk} (Phase 2d)
411
427
  * to own its own EventListener subscription rather than clobbering
412
428
  * the singleton {@link #_eventListener}. Lets multiple
413
- * observe(marketplaceId) calls coexist within one Flexemarkets.
429
+ * desk(marketplaceId) calls coexist within one Flexemarkets.
414
430
  */
415
431
  _connectEvents(marketplaceId: number, callback: EventCallback): Promise<EventListener>;
416
432
  /** Reconnect the WebSocket after a transport error. */
package/dist/client.js CHANGED
@@ -10,7 +10,7 @@ import { fileURLToPath } from "node:url";
10
10
  import { orderedSecurities, toOrderType, toSide, unitGrid } from "./types.js";
11
11
  import { toInstant } from "./timestamps.js";
12
12
  import { EventListener, NO_SEQ } from "./stomp.js";
13
- import { DefaultMarketView, MarketViewHandle, } from "./market-view.js";
13
+ import { DefaultDesk, DeskHandle, } from "./desk.js";
14
14
  function readVersion() {
15
15
  try {
16
16
  const dir = fileURLToPath(new URL(".", import.meta.url));
@@ -203,6 +203,15 @@ export function parseOrder(data) {
203
203
  lastModifiedDate: toInstant(data.lastModifiedDate),
204
204
  };
205
205
  }
206
+ export function parseParticipantState(data) {
207
+ return {
208
+ marketplaceId: data.marketplaceId ?? null,
209
+ allocationId: data.allocationId ?? null,
210
+ ownerId: data.ownerId ?? null,
211
+ ownerEmail: data.ownerEmail ?? null,
212
+ fields: { ...(data.fields ?? {}) },
213
+ };
214
+ }
206
215
  function parseAllotment(data) {
207
216
  // The server spells the nested capital "capital" on some responses and
208
217
  // "assets" on others, and the positions inside it "grants" or "securities".
@@ -302,7 +311,7 @@ export function parseConnection(data) {
302
311
  * The server embeds them under `orders`. It was `orderDtoes` — Spring HATEOAS
303
312
  * pluralising `OrderDto` — and every SDK still read that name long after the
304
313
  * server stopped sending it, so `activeOrders` and `recentTrades` returned an
305
- * empty array always. `MarketView` seeds from `activeOrders`, so its books were
314
+ * empty array always. `Desk` seeds from `activeOrders`, so its books were
306
315
  * never seeded; they filled from live deltas and looked plausible.
307
316
  *
308
317
  * Then the envelope itself went: fm-server now sends a bare array. Accepting
@@ -344,7 +353,17 @@ function parseApiRoot(data) {
344
353
  * where the two bounds are equal and there is one legal price.
345
354
  */
346
355
  export function marketableLimit(market, side) {
347
- if (side?.toUpperCase() !== "BUY" || market.priceTick <= 0) {
356
+ // The side must be named. This was `side?.toUpperCase() !== "BUY"`, the
357
+ // complement of buy rather than a test for sell, so a null side priced the
358
+ // order at the bottom of the range -- the most aggressive *sell* this market
359
+ // accepts. submitMarket is public API and takes the side straight from its
360
+ // caller, so that turned a missing argument into a real order crossing the
361
+ // wrong side of the book.
362
+ const resolved = side?.toUpperCase();
363
+ if (resolved !== "BUY" && resolved !== "SELL") {
364
+ throw new Error(`A market order must name its side; got: ${side}`);
365
+ }
366
+ if (resolved !== "BUY" || market.priceTick <= 0) {
348
367
  return market.priceMinimum;
349
368
  }
350
369
  const span = market.priceMaximum - market.priceMinimum;
@@ -663,7 +682,7 @@ export class Flexemarkets {
663
682
  }
664
683
  /**
665
684
  * GET helper that returns the parsed body bundled with the
666
- * `x-fm-as-of-seq` response header so callers (notably MarketView)
685
+ * `x-fm-as-of-seq` response header so callers (notably Desk)
667
686
  * can correlate the snapshot with the WS delta stream. Returns
668
687
  * `Snapshot.NO_SEQ` when the header is absent.
669
688
  */
@@ -1021,7 +1040,7 @@ export class Flexemarkets {
1021
1040
  /**
1022
1041
  * The active-orders snapshot: every resting limit order on the
1023
1042
  * marketplace's current session, plus the `x-fm-as-of-seq` sequence
1024
- * the snapshot was read at. Used by `MarketView` seeding
1043
+ * the snapshot was read at. Used by `Desk` seeding
1025
1044
  * — clients apply WS deltas whose seq is greater than the returned
1026
1045
  * value and skip those whose seq is less than or equal.
1027
1046
  */
@@ -1040,8 +1059,8 @@ export class Flexemarkets {
1040
1059
  * Ordering is the server's and has changed: up to and including fm-server
1041
1060
  * 4.3.1 this answered newest first, later versions answer oldest first.
1042
1061
  * Either way it is the newest `size` trades that come back — only their
1043
- * order differs. `Trades` sorts what it is given, so a caller seeding a tape
1044
- * through `MarketView` is unaffected; a caller reading this list directly
1062
+ * order differs. `Tape` sorts what it is given, so a caller seeding a tape
1063
+ * through `Desk` is unaffected; a caller reading this list directly
1045
1064
  * should not assume one.
1046
1065
  */
1047
1066
  async recentTrades(marketplaceId, size = 1000) {
@@ -1069,7 +1088,7 @@ export class Flexemarkets {
1069
1088
  return data.map(parseOrder);
1070
1089
  }
1071
1090
  /**
1072
- * Trades in one market, in ascending order id.
1091
+ * Tape in one market, in ascending order id.
1073
1092
  *
1074
1093
  * Answered by a symbol-keyed route, so the orders come back without the
1075
1094
  * symbol on them and with the trade id in `original`; both are filled in
@@ -1220,35 +1239,62 @@ export class Flexemarkets {
1220
1239
  checkResponse(resp, body);
1221
1240
  return allotmentsToHoldings(JSON.parse(body).map(parseAllotment));
1222
1241
  }
1242
+ /**
1243
+ * Load per-participant private state from a CSV, returning what was stored.
1244
+ *
1245
+ * Staged on the same terms as {@link uploadHoldings}, against the allocation
1246
+ * that call staged: it lands when a closed session is opened, and the order
1247
+ * is a correctness constraint -- holdings, then state, then open. With no
1248
+ * allocation staged the server refuses.
1249
+ *
1250
+ * The file keys on an `email` column. Every other column becomes a field of
1251
+ * that name: a numeric cell is a number, otherwise text; a column whose
1252
+ * header is bracketed, `[valuations]`, holds vectors and its cells are JSON
1253
+ * arrays. An `id` column, when present, must agree with the person the email
1254
+ * resolves to. A study's existing values file needs no change.
1255
+ */
1256
+ async uploadState(marketplaceId, filename) {
1257
+ const url = v1(this._endpoint, `/marketplaces/${marketplaceId}/state/uploads`);
1258
+ const form = new FormData();
1259
+ form.append("file", new Blob([readFileSync(filename)]), basename(filename));
1260
+ const resp = await fetch(url, {
1261
+ method: "POST",
1262
+ headers: { ...this._authHeaders(), "User-Agent": FM_NETWORK_CLIENT },
1263
+ body: form,
1264
+ });
1265
+ const body = await resp.text();
1266
+ checkResponse(resp, body);
1267
+ return JSON.parse(body).map(parseParticipantState);
1268
+ }
1223
1269
  // -- events / WebSocket ----------------------------------------------------
1224
1270
  _sharedViews = new Map();
1225
1271
  _sharedViewPromises = new Map();
1226
1272
  /**
1227
- * Open a stateful MarketView on this marketplace. Multiple calls
1228
- * for the same marketplaceId share a single underlying view + WS
1273
+ * Open a stateful Desk on this marketplace. Multiple calls
1274
+ * for the same marketplaceId share a single underlying desk + WS
1229
1275
  * subscription + materialized state within this Flexemarkets
1230
1276
  * instance — each call returns a fresh handle, the handles
1231
1277
  * refcount, and the shared resources tear down on the last close.
1232
1278
  *
1233
1279
  * Sharing is intentionally per-Flexemarkets (i.e. per-bearer). Two
1234
- * callers with different identities each get their own view
1280
+ * callers with different identities each get their own desk
1235
1281
  * multi-tenant WS multiplexing is a server-side concern, not a
1236
1282
  * client-side one.
1237
1283
  */
1238
- async observe(marketplaceId) {
1284
+ async desk(marketplaceId) {
1239
1285
  const existing = this._sharedViews.get(marketplaceId);
1240
1286
  if (existing !== undefined) {
1241
1287
  existing.refCount++;
1242
- return new MarketViewHandle(existing.view, () => this._releaseSharedView(marketplaceId));
1288
+ return new DeskHandle(existing.desk, () => this._releaseSharedView(marketplaceId));
1243
1289
  }
1244
- // Two concurrent observe() calls for the same marketplaceId need
1290
+ // Two concurrent desk() calls for the same marketplaceId need
1245
1291
  // to dedupe — JS is single-threaded but awaits introduce
1246
1292
  // interleaving. Cache the in-flight Promise so the second caller
1247
1293
  // awaits the first's construction instead of racing a duplicate
1248
1294
  // WS subscription into existence.
1249
1295
  let p = this._sharedViewPromises.get(marketplaceId);
1250
1296
  if (p === undefined) {
1251
- p = DefaultMarketView.open(this, marketplaceId);
1297
+ p = DefaultDesk.open(this, marketplaceId);
1252
1298
  this._sharedViewPromises.set(marketplaceId, p);
1253
1299
  }
1254
1300
  let shared;
@@ -1258,18 +1304,18 @@ export class Flexemarkets {
1258
1304
  finally {
1259
1305
  this._sharedViewPromises.delete(marketplaceId);
1260
1306
  }
1261
- // Another observer may have arrived during the await and registered
1262
- // first. Re-check; if so, throw away our just-built view and use
1307
+ // Another caller may have arrived during the await and registered
1308
+ // first. Re-check; if so, throw away our just-built desk and use
1263
1309
  // theirs.
1264
1310
  const registered = this._sharedViews.get(marketplaceId);
1265
1311
  if (registered !== undefined) {
1266
- if (registered.view !== shared)
1312
+ if (registered.desk !== shared)
1267
1313
  shared.close();
1268
1314
  registered.refCount++;
1269
- return new MarketViewHandle(registered.view, () => this._releaseSharedView(marketplaceId));
1315
+ return new DeskHandle(registered.desk, () => this._releaseSharedView(marketplaceId));
1270
1316
  }
1271
- this._sharedViews.set(marketplaceId, { view: shared, refCount: 1 });
1272
- return new MarketViewHandle(shared, () => this._releaseSharedView(marketplaceId));
1317
+ this._sharedViews.set(marketplaceId, { desk: shared, refCount: 1 });
1318
+ return new DeskHandle(shared, () => this._releaseSharedView(marketplaceId));
1273
1319
  }
1274
1320
  _releaseSharedView(marketplaceId) {
1275
1321
  const entry = this._sharedViews.get(marketplaceId);
@@ -1277,7 +1323,7 @@ export class Flexemarkets {
1277
1323
  return;
1278
1324
  if (--entry.refCount <= 0) {
1279
1325
  this._sharedViews.delete(marketplaceId);
1280
- entry.view.close();
1326
+ entry.desk.close();
1281
1327
  }
1282
1328
  }
1283
1329
  /** Start receiving real-time events via WebSocket STOMP. */
@@ -1290,13 +1336,13 @@ export class Flexemarkets {
1290
1336
  *
1291
1337
  * Unlike {@link listen}, which is one per connection and replaces itself,
1292
1338
  * several of these coexist: each has its own stream and its own lifetime.
1293
- * That is what lets more than one MarketView live in one connection without
1339
+ * That is what lets more than one Desk live in one connection without
1294
1340
  * trampling each other — the mechanism was already here for exactly that, as
1295
1341
  * the package-private `_connectEvents`, but a caller who wanted a second
1296
1342
  * stream of their own had no way to ask for one.
1297
1343
  *
1298
1344
  * Returns an unsubscribe function rather than an object with `close()`,
1299
- * matching what MarketView's `on*` handlers already return here. Java
1345
+ * matching what Desk's `on*` handlers already return here. Java
1300
1346
  * returns a `Subscription`; both names describe the same lifetime.
1301
1347
  */
1302
1348
  async subscribe(marketplaceId, callback) {
@@ -1306,10 +1352,10 @@ export class Flexemarkets {
1306
1352
  };
1307
1353
  }
1308
1354
  /**
1309
- * Package-private helper used by {@link DefaultMarketView} (Phase 2d)
1355
+ * Package-private helper used by {@link DefaultDesk} (Phase 2d)
1310
1356
  * to own its own EventListener subscription rather than clobbering
1311
1357
  * the singleton {@link #_eventListener}. Lets multiple
1312
- * observe(marketplaceId) calls coexist within one Flexemarkets.
1358
+ * desk(marketplaceId) calls coexist within one Flexemarkets.
1313
1359
  */
1314
1360
  async _connectEvents(marketplaceId, callback) {
1315
1361
  const wsUrl = server(this._endpoint)
@@ -1331,11 +1377,11 @@ export class Flexemarkets {
1331
1377
  this._eventListener.close();
1332
1378
  this._eventListener = null;
1333
1379
  }
1334
- // Force-close any remaining shared MarketViews — safety net for
1380
+ // Force-close any remaining shared Desks — safety net for
1335
1381
  // callers who didn't close their handles first.
1336
1382
  for (const entry of this._sharedViews.values()) {
1337
1383
  try {
1338
- entry.view.close();
1384
+ entry.desk.close();
1339
1385
  }
1340
1386
  catch { /* best-effort */ }
1341
1387
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}