@osdk/client 2.5.0-beta.9 → 2.6.0-beta.1

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 (165) hide show
  1. package/CHANGELOG.md +73 -0
  2. package/build/browser/MinimalClientContext.js.map +1 -1
  3. package/build/browser/createMinimalClient.js +2 -1
  4. package/build/browser/createMinimalClient.js.map +1 -1
  5. package/build/browser/definitions/LinkDefinitions.test.js.map +1 -1
  6. package/build/browser/fetchMetadata.test.js +4 -0
  7. package/build/browser/fetchMetadata.test.js.map +1 -1
  8. package/build/browser/index.js +1 -1
  9. package/build/browser/index.js.map +1 -1
  10. package/build/browser/object/convertWireToOsdkObjects.test.js +5 -1
  11. package/build/browser/object/convertWireToOsdkObjects.test.js.map +1 -1
  12. package/build/browser/object/fetchPage.js +6 -4
  13. package/build/browser/object/fetchPage.js.map +1 -1
  14. package/build/browser/objectSet/ObjectSetListenerWebsocket.js +31 -9
  15. package/build/browser/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  16. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js +69 -4
  17. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
  18. package/build/browser/objectSet/createObjectSet.js +11 -0
  19. package/build/browser/objectSet/createObjectSet.js.map +1 -1
  20. package/build/browser/observable/ObjectSetPayload.js +2 -0
  21. package/build/browser/observable/ObjectSetPayload.js.map +1 -0
  22. package/build/browser/observable/ObservableClient.js.map +1 -1
  23. package/build/browser/observable/computeObjectSetCacheKey.js +64 -0
  24. package/build/browser/observable/computeObjectSetCacheKey.js.map +1 -0
  25. package/build/browser/observable/internal/Changes.js +3 -0
  26. package/build/browser/observable/internal/Changes.js.map +1 -1
  27. package/build/browser/observable/internal/KnownCacheKey.js.map +1 -1
  28. package/build/browser/observable/internal/ObservableClientImpl.js +17 -0
  29. package/build/browser/observable/internal/ObservableClientImpl.js.map +1 -1
  30. package/build/browser/observable/internal/Query.js +18 -1
  31. package/build/browser/observable/internal/Query.js.map +1 -1
  32. package/build/browser/observable/internal/Store.invalidation.test.js +165 -0
  33. package/build/browser/observable/internal/Store.invalidation.test.js.map +1 -1
  34. package/build/browser/observable/internal/Store.js +23 -0
  35. package/build/browser/observable/internal/Store.js.map +1 -1
  36. package/build/browser/observable/internal/objectMatchesWhereClause.test.js +2 -1
  37. package/build/browser/observable/internal/objectMatchesWhereClause.test.js.map +1 -1
  38. package/build/browser/observable/internal/objectset/ObjectSetCacheKey.js +2 -0
  39. package/build/browser/observable/internal/objectset/ObjectSetCacheKey.js.map +1 -0
  40. package/build/browser/observable/internal/objectset/ObjectSetHelper.js +69 -0
  41. package/build/browser/observable/internal/objectset/ObjectSetHelper.js.map +1 -0
  42. package/build/browser/observable/internal/objectset/ObjectSetQuery.js +151 -0
  43. package/build/browser/observable/internal/objectset/ObjectSetQuery.js.map +1 -0
  44. package/build/browser/observable/internal/objectset/ObjectSetQueryOptions.js +2 -0
  45. package/build/browser/observable/internal/objectset/ObjectSetQueryOptions.js.map +1 -0
  46. package/build/browser/observable/internal/testUtils.js +2 -1
  47. package/build/browser/observable/internal/testUtils.js.map +1 -1
  48. package/build/browser/public/unstable-do-not-use.js +1 -0
  49. package/build/browser/public/unstable-do-not-use.js.map +1 -1
  50. package/build/browser/queries/applyQuery.js +5 -4
  51. package/build/browser/queries/applyQuery.js.map +1 -1
  52. package/build/browser/util/UserAgent.js +2 -2
  53. package/build/browser/util/exponentialBackoff.js +51 -0
  54. package/build/browser/util/exponentialBackoff.js.map +1 -0
  55. package/build/browser/util/exponentialBackoff.test.js +81 -0
  56. package/build/browser/util/exponentialBackoff.test.js.map +1 -0
  57. package/build/browser/util/extractObjectOrInterfaceType.js +5 -1
  58. package/build/browser/util/extractObjectOrInterfaceType.js.map +1 -1
  59. package/build/browser/util/extractObjectOrInterfaceType.test.js +21 -2
  60. package/build/browser/util/extractObjectOrInterfaceType.test.js.map +1 -1
  61. package/build/cjs/{chunk-HCCGD2AP.cjs → chunk-BP7BR5FZ.cjs} +61 -59
  62. package/build/cjs/chunk-BP7BR5FZ.cjs.map +1 -0
  63. package/build/cjs/{chunk-MKL3HEQ5.cjs → chunk-DCEFUXFS.cjs} +92 -21
  64. package/build/cjs/chunk-DCEFUXFS.cjs.map +1 -0
  65. package/build/cjs/index.cjs +11 -7
  66. package/build/cjs/index.d.cts +8 -1
  67. package/build/cjs/public/internal.cjs +8 -8
  68. package/build/cjs/public/unstable-do-not-use.cjs +429 -156
  69. package/build/cjs/public/unstable-do-not-use.cjs.map +1 -1
  70. package/build/cjs/public/unstable-do-not-use.d.cts +78 -6
  71. package/build/esm/MinimalClientContext.js.map +1 -1
  72. package/build/esm/createMinimalClient.js +2 -1
  73. package/build/esm/createMinimalClient.js.map +1 -1
  74. package/build/esm/definitions/LinkDefinitions.test.js.map +1 -1
  75. package/build/esm/fetchMetadata.test.js +4 -0
  76. package/build/esm/fetchMetadata.test.js.map +1 -1
  77. package/build/esm/index.js +1 -1
  78. package/build/esm/index.js.map +1 -1
  79. package/build/esm/object/convertWireToOsdkObjects.test.js +5 -1
  80. package/build/esm/object/convertWireToOsdkObjects.test.js.map +1 -1
  81. package/build/esm/object/fetchPage.js +6 -4
  82. package/build/esm/object/fetchPage.js.map +1 -1
  83. package/build/esm/objectSet/ObjectSetListenerWebsocket.js +31 -9
  84. package/build/esm/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  85. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js +69 -4
  86. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
  87. package/build/esm/objectSet/createObjectSet.js +11 -0
  88. package/build/esm/objectSet/createObjectSet.js.map +1 -1
  89. package/build/esm/observable/ObjectSetPayload.js +2 -0
  90. package/build/esm/observable/ObjectSetPayload.js.map +1 -0
  91. package/build/esm/observable/ObservableClient.js.map +1 -1
  92. package/build/esm/observable/computeObjectSetCacheKey.js +64 -0
  93. package/build/esm/observable/computeObjectSetCacheKey.js.map +1 -0
  94. package/build/esm/observable/internal/Changes.js +3 -0
  95. package/build/esm/observable/internal/Changes.js.map +1 -1
  96. package/build/esm/observable/internal/KnownCacheKey.js.map +1 -1
  97. package/build/esm/observable/internal/ObservableClientImpl.js +17 -0
  98. package/build/esm/observable/internal/ObservableClientImpl.js.map +1 -1
  99. package/build/esm/observable/internal/Query.js +18 -1
  100. package/build/esm/observable/internal/Query.js.map +1 -1
  101. package/build/esm/observable/internal/Store.invalidation.test.js +165 -0
  102. package/build/esm/observable/internal/Store.invalidation.test.js.map +1 -1
  103. package/build/esm/observable/internal/Store.js +23 -0
  104. package/build/esm/observable/internal/Store.js.map +1 -1
  105. package/build/esm/observable/internal/objectMatchesWhereClause.test.js +2 -1
  106. package/build/esm/observable/internal/objectMatchesWhereClause.test.js.map +1 -1
  107. package/build/esm/observable/internal/objectset/ObjectSetCacheKey.js +2 -0
  108. package/build/esm/observable/internal/objectset/ObjectSetCacheKey.js.map +1 -0
  109. package/build/esm/observable/internal/objectset/ObjectSetHelper.js +69 -0
  110. package/build/esm/observable/internal/objectset/ObjectSetHelper.js.map +1 -0
  111. package/build/esm/observable/internal/objectset/ObjectSetQuery.js +151 -0
  112. package/build/esm/observable/internal/objectset/ObjectSetQuery.js.map +1 -0
  113. package/build/esm/observable/internal/objectset/ObjectSetQueryOptions.js +2 -0
  114. package/build/esm/observable/internal/objectset/ObjectSetQueryOptions.js.map +1 -0
  115. package/build/esm/observable/internal/testUtils.js +2 -1
  116. package/build/esm/observable/internal/testUtils.js.map +1 -1
  117. package/build/esm/public/unstable-do-not-use.js +1 -0
  118. package/build/esm/public/unstable-do-not-use.js.map +1 -1
  119. package/build/esm/queries/applyQuery.js +5 -4
  120. package/build/esm/queries/applyQuery.js.map +1 -1
  121. package/build/esm/util/UserAgent.js +2 -2
  122. package/build/esm/util/exponentialBackoff.js +51 -0
  123. package/build/esm/util/exponentialBackoff.js.map +1 -0
  124. package/build/esm/util/exponentialBackoff.test.js +81 -0
  125. package/build/esm/util/exponentialBackoff.test.js.map +1 -0
  126. package/build/esm/util/extractObjectOrInterfaceType.js +5 -1
  127. package/build/esm/util/extractObjectOrInterfaceType.js.map +1 -1
  128. package/build/esm/util/extractObjectOrInterfaceType.test.js +21 -2
  129. package/build/esm/util/extractObjectOrInterfaceType.test.js.map +1 -1
  130. package/build/types/MinimalClientContext.d.ts +1 -0
  131. package/build/types/MinimalClientContext.d.ts.map +1 -1
  132. package/build/types/index.d.ts +1 -1
  133. package/build/types/index.d.ts.map +1 -1
  134. package/build/types/observable/ObjectSetPayload.d.ts +5 -0
  135. package/build/types/observable/ObjectSetPayload.d.ts.map +1 -0
  136. package/build/types/observable/ObservableClient.d.ts +54 -1
  137. package/build/types/observable/ObservableClient.d.ts.map +1 -1
  138. package/build/types/observable/computeObjectSetCacheKey.d.ts +16 -0
  139. package/build/types/observable/computeObjectSetCacheKey.d.ts.map +1 -0
  140. package/build/types/observable/internal/Changes.d.ts +5 -3
  141. package/build/types/observable/internal/Changes.d.ts.map +1 -1
  142. package/build/types/observable/internal/KnownCacheKey.d.ts +2 -1
  143. package/build/types/observable/internal/KnownCacheKey.d.ts.map +1 -1
  144. package/build/types/observable/internal/Query.d.ts.map +1 -1
  145. package/build/types/observable/internal/Store.d.ts +5 -1
  146. package/build/types/observable/internal/Store.d.ts.map +1 -1
  147. package/build/types/observable/internal/objectset/ObjectSetCacheKey.d.ts +16 -0
  148. package/build/types/observable/internal/objectset/ObjectSetCacheKey.d.ts.map +1 -0
  149. package/build/types/observable/internal/objectset/ObjectSetHelper.d.ts +19 -0
  150. package/build/types/observable/internal/objectset/ObjectSetHelper.d.ts.map +1 -0
  151. package/build/types/observable/internal/objectset/ObjectSetQuery.d.ts +34 -0
  152. package/build/types/observable/internal/objectset/ObjectSetQuery.d.ts.map +1 -0
  153. package/build/types/observable/internal/objectset/ObjectSetQueryOptions.d.ts +18 -0
  154. package/build/types/observable/internal/objectset/ObjectSetQueryOptions.d.ts.map +1 -0
  155. package/build/types/observable/internal/testUtils.d.ts.map +1 -1
  156. package/build/types/public/unstable-do-not-use.d.ts +2 -1
  157. package/build/types/public/unstable-do-not-use.d.ts.map +1 -1
  158. package/build/types/queries/applyQuery.d.ts.map +1 -1
  159. package/build/types/util/exponentialBackoff.d.ts +14 -0
  160. package/build/types/util/exponentialBackoff.d.ts.map +1 -0
  161. package/build/types/util/exponentialBackoff.test.d.ts +1 -0
  162. package/build/types/util/exponentialBackoff.test.d.ts.map +1 -0
  163. package/package.json +11 -11
  164. package/build/cjs/chunk-HCCGD2AP.cjs.map +0 -1
  165. package/build/cjs/chunk-MKL3HEQ5.cjs.map +0 -1
@@ -563,9 +563,13 @@ async function extractObjectOrInterfaceType(clientCtx, objectSet) {
563
563
  };
564
564
  case "filter":
565
565
  case "asBaseObjectTypes":
566
- case "asType":
567
566
  case "nearestNeighbors":
568
567
  return extractObjectOrInterfaceType(clientCtx, objectSet.objectSet);
568
+ case "asType":
569
+ return {
570
+ type: clientCtx.asTypeInterfaceOrObjectMapping[objectSet.entityType],
571
+ apiName: objectSet.entityType
572
+ };
569
573
  case "intersect": {
570
574
  const objectSets2 = objectSet.objectSets;
571
575
  const objectSetTypes2 = await Promise.all(objectSets2.map((os) => extractObjectOrInterfaceType(clientCtx, os)));
@@ -831,7 +835,8 @@ async function fetchInterfacePage(client, interfaceType, args, objectSet, useSna
831
835
  );
832
836
  return result2;
833
837
  }
834
- const resolvedInterfaceObjectSet = resolveInterfaceObjectSet(objectSet, interfaceType.apiName, args);
838
+ const extractedInterfaceTypeApiName = (await extractObjectOrInterfaceType(client, objectSet))?.apiName ?? interfaceType.apiName;
839
+ const resolvedInterfaceObjectSet = resolveInterfaceObjectSet(objectSet, extractedInterfaceTypeApiName, args);
835
840
  const requestBody = await buildAndRemapRequestBody(args, {
836
841
  objectSet: resolvedInterfaceObjectSet,
837
842
  select: args?.$select ? [...args.$select] : [],
@@ -843,7 +848,7 @@ async function fetchInterfacePage(client, interfaceType, args, objectSet, useSna
843
848
  branch: client.branch
844
849
  });
845
850
  return Promise.resolve({
846
- data: await client.objectFactory2(client, result.data, (await extractObjectOrInterfaceType(client, resolvedInterfaceObjectSet))?.apiName ?? interfaceType.apiName, {}, !args.$includeRid, args.$select, false, result.interfaceToObjectTypeMappings),
851
+ data: await client.objectFactory2(client, result.data, extractedInterfaceTypeApiName, {}, !args.$includeRid, args.$select, false, result.interfaceToObjectTypeMappings),
847
852
  nextPageToken: result.nextPageToken,
848
853
  totalCount: result.totalCount
849
854
  });
@@ -928,7 +933,8 @@ async function applyFetchArgs(args, body, _client, objectType) {
928
933
  return body;
929
934
  }
930
935
  async function fetchObjectPage(client, objectType, args, objectSet, useSnapshot = false) {
931
- void client.ontologyProvider.getObjectDefinition(objectType.apiName);
936
+ void client.ontologyProvider.getObjectDefinition(objectType.apiName).catch(() => {
937
+ });
932
938
  const requestBody = await buildAndRemapRequestBody(args, {
933
939
  objectSet,
934
940
  select: args?.$select ? [...args.$select] : [],
@@ -1392,7 +1398,50 @@ var WIRE_OBJECT_SET_TYPES = /* @__PURE__ */ new Set(["base", "filter", "intersec
1392
1398
  function isWireObjectSet(o) {
1393
1399
  return o != null && typeof o === "object" && WIRE_OBJECT_SET_TYPES.has(o.type);
1394
1400
  }
1401
+
1402
+ // src/util/exponentialBackoff.ts
1403
+ var DEFAULT_OPTIONS = {
1404
+ initialDelayMs: 1e3,
1405
+ maxDelayMs: 6e4,
1406
+ multiplier: 2,
1407
+ jitterFactor: 0.3
1408
+ };
1409
+ var ExponentialBackoff = class {
1410
+ attempt = 0;
1411
+ constructor(options = {}) {
1412
+ this.options = {
1413
+ ...DEFAULT_OPTIONS,
1414
+ ...options
1415
+ };
1416
+ }
1417
+ calculateDelay() {
1418
+ const {
1419
+ initialDelayMs,
1420
+ maxDelayMs,
1421
+ multiplier,
1422
+ jitterFactor
1423
+ } = this.options;
1424
+ const baseDelay = Math.min(initialDelayMs * Math.pow(multiplier, this.attempt), maxDelayMs);
1425
+ const jitter = baseDelay * jitterFactor * (Math.random() * 2 - 1);
1426
+ const delayWithJitter = Math.max(0, baseDelay + jitter);
1427
+ this.attempt++;
1428
+ return Math.round(delayWithJitter);
1429
+ }
1430
+ reset() {
1431
+ this.attempt = 0;
1432
+ }
1433
+ getAttempt() {
1434
+ return this.attempt;
1435
+ }
1436
+ };
1437
+
1438
+ // src/objectSet/ObjectSetListenerWebsocket.ts
1395
1439
  var MINIMUM_RECONNECT_DELAY_MS = 5 * 1e3;
1440
+ var EXPONENTIAL_BACKOFF_INITIAL_DELAY_MS = 1e3;
1441
+ var EXPONENTIAL_BACKOFF_MAX_DELAY_MS = 6e4;
1442
+ var EXPONENTIAL_BACKOFF_MULTIPLIER = 2;
1443
+ var EXPONENTIAL_BACKOFF_JITTER_FACTOR = 0.3;
1444
+ var WEBSOCKET_IDLE_DISCONNECT_DELAY_MS = 15e3;
1396
1445
  function doNothing() {
1397
1446
  }
1398
1447
  function fillOutListener({
@@ -1428,6 +1477,8 @@ var ObjectSetListenerWebsocket = class _ObjectSetListenerWebsocket {
1428
1477
  #ws;
1429
1478
  #lastWsConnect = 0;
1430
1479
  #client;
1480
+ #backoff;
1481
+ #isFirstConnection = true;
1431
1482
  #logger;
1432
1483
  /**
1433
1484
  * map of requestId to all active subscriptions at the time of the request
@@ -1446,6 +1497,12 @@ var ObjectSetListenerWebsocket = class _ObjectSetListenerWebsocket {
1446
1497
  } = {}) {
1447
1498
  this.MINIMUM_RECONNECT_DELAY_MS = minimumReconnectDelayMs;
1448
1499
  this.#client = client;
1500
+ this.#backoff = new ExponentialBackoff({
1501
+ initialDelayMs: EXPONENTIAL_BACKOFF_INITIAL_DELAY_MS,
1502
+ maxDelayMs: EXPONENTIAL_BACKOFF_MAX_DELAY_MS,
1503
+ multiplier: EXPONENTIAL_BACKOFF_MULTIPLIER,
1504
+ jitterFactor: EXPONENTIAL_BACKOFF_JITTER_FACTOR
1505
+ });
1449
1506
  this.#logger = client.logger?.child({}, {
1450
1507
  msgPrefix: "<OSW> "
1451
1508
  });
@@ -1546,16 +1603,12 @@ var ObjectSetListenerWebsocket = class _ObjectSetListenerWebsocket {
1546
1603
  if (this.#maybeDisconnectTimeout) {
1547
1604
  clearTimeout(this.#maybeDisconnectTimeout);
1548
1605
  }
1549
- this.#maybeDisconnectTimeout = setTimeout(
1550
- () => {
1551
- this.#maybeDisconnectTimeout = void 0;
1552
- if (this.#subscriptions.size === 0) {
1553
- this.#cycleWebsocket();
1554
- }
1555
- },
1556
- 15e3
1557
- /* ms */
1558
- );
1606
+ this.#maybeDisconnectTimeout = setTimeout(() => {
1607
+ this.#maybeDisconnectTimeout = void 0;
1608
+ if (this.#subscriptions.size === 0) {
1609
+ this.#cycleWebsocket();
1610
+ }
1611
+ }, WEBSOCKET_IDLE_DISCONNECT_DELAY_MS);
1559
1612
  }
1560
1613
  async #ensureWebsocket() {
1561
1614
  if (this.#ws == null) {
@@ -1566,10 +1619,16 @@ var ObjectSetListenerWebsocket = class _ObjectSetListenerWebsocket {
1566
1619
  const url = constructWebsocketUrl(baseUrl, await this.#client.ontologyRid);
1567
1620
  const token = await tokenProvider();
1568
1621
  if (this.#ws == null) {
1569
- const nextConnectTime = (this.#lastWsConnect ?? 0) + this.MINIMUM_RECONNECT_DELAY_MS;
1570
- if (nextConnectTime > Date.now()) {
1622
+ if (!this.#isFirstConnection) {
1623
+ const delay = this.#backoff.calculateDelay();
1624
+ if (process.env.NODE_ENV !== "production") {
1625
+ this.#logger?.debug({
1626
+ delay,
1627
+ attempt: this.#backoff.getAttempt()
1628
+ }, "Waiting before reconnect");
1629
+ }
1571
1630
  await new Promise((resolve) => {
1572
- setTimeout(resolve, nextConnectTime - Date.now());
1631
+ setTimeout(resolve, delay);
1573
1632
  });
1574
1633
  }
1575
1634
  this.#lastWsConnect = Date.now();
@@ -1597,7 +1656,7 @@ var ObjectSetListenerWebsocket = class _ObjectSetListenerWebsocket {
1597
1656
  }
1598
1657
  function error(evt) {
1599
1658
  cleanup();
1600
- reject(evt);
1659
+ reject(new Error(String(evt)));
1601
1660
  }
1602
1661
  ws.addEventListener("open", open);
1603
1662
  ws.addEventListener("error", error);
@@ -1607,10 +1666,12 @@ var ObjectSetListenerWebsocket = class _ObjectSetListenerWebsocket {
1607
1666
  }
1608
1667
  }
1609
1668
  #onOpen = () => {
1669
+ this.#isFirstConnection = false;
1670
+ this.#backoff.reset();
1610
1671
  this.#sendSubscribeMessage();
1611
1672
  };
1612
1673
  #onMessage = async (message) => {
1613
- const data = JSON.parse(message.data.toString());
1674
+ const data = JSON.parse(String(message.data));
1614
1675
  if (process.env.NODE_ENV !== "production") {
1615
1676
  this.#logger?.debug({
1616
1677
  payload: data
@@ -1931,6 +1992,16 @@ function createObjectSet(objectType, clientCtx, objectSet = resolveBaseObjectSet
1931
1992
  objectSet
1932
1993
  });
1933
1994
  },
1995
+ asType: (objectTypeDef) => {
1996
+ const existingMapping = clientCtx.asTypeInterfaceOrObjectMapping[objectTypeDef.apiName];
1997
+ !(!existingMapping || existingMapping === objectTypeDef.type) ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, `${objectTypeDef.apiName} was previously used as an ${existingMapping}, but now used as a ${objectTypeDef.type}.`) : invariant5__default.default(false) : void 0;
1998
+ clientCtx.asTypeInterfaceOrObjectMapping[objectTypeDef.apiName] = objectTypeDef.type;
1999
+ return clientCtx.objectSetFactory(objectTypeDef, clientCtx, {
2000
+ type: "asType",
2001
+ objectSet,
2002
+ entityType: objectTypeDef.apiName
2003
+ });
2004
+ },
1934
2005
  $objectSetInternals: {
1935
2006
  def: objectType
1936
2007
  }
@@ -1997,5 +2068,5 @@ exports.hydrateAttachmentFromRidInternal = hydrateAttachmentFromRidInternal;
1997
2068
  exports.isObjectSet = isObjectSet;
1998
2069
  exports.isWireObjectSet = isWireObjectSet;
1999
2070
  exports.symbolClientContext = symbolClientContext;
2000
- //# sourceMappingURL=chunk-MKL3HEQ5.cjs.map
2001
- //# sourceMappingURL=chunk-MKL3HEQ5.cjs.map
2071
+ //# sourceMappingURL=chunk-DCEFUXFS.cjs.map
2072
+ //# sourceMappingURL=chunk-DCEFUXFS.cjs.map