@fern-api/fdr-sdk 1.2.78-edf564e509 → 1.2.80-06ea5f3a9e

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 (68) hide show
  1. package/dist/js/client/FdrClient.js +12 -3
  2. package/dist/js/client/FdrClient.js.map +1 -1
  3. package/dist/js/client/FdrClient.mjs +12 -3
  4. package/dist/js/client/FdrClient.mjs.map +1 -1
  5. package/dist/js/converters/index.js +39 -25
  6. package/dist/js/converters/index.js.map +1 -1
  7. package/dist/js/converters/index.mjs +39 -25
  8. package/dist/js/converters/index.mjs.map +1 -1
  9. package/dist/js/index.js +51 -28
  10. package/dist/js/index.js.map +1 -1
  11. package/dist/js/index.mjs +51 -28
  12. package/dist/js/index.mjs.map +1 -1
  13. package/dist/js/navigation/index.js +39 -25
  14. package/dist/js/navigation/index.js.map +1 -1
  15. package/dist/js/navigation/index.mjs +39 -25
  16. package/dist/js/navigation/index.mjs.map +1 -1
  17. package/dist/js/navigation/ledger-root-builder.js +28 -5
  18. package/dist/js/navigation/ledger-root-builder.js.map +1 -1
  19. package/dist/js/navigation/ledger-root-builder.mjs +28 -5
  20. package/dist/js/navigation/ledger-root-builder.mjs.map +1 -1
  21. package/dist/js/orpc-client.js +12 -3
  22. package/dist/js/orpc-client.js.map +1 -1
  23. package/dist/js/orpc-client.mjs +12 -3
  24. package/dist/js/orpc-client.mjs.map +1 -1
  25. package/dist/navigation/__test__/ledger-root-builder.playgroundPreservation.test.d.ts +2 -0
  26. package/dist/navigation/__test__/ledger-root-builder.playgroundPreservation.test.d.ts.map +1 -0
  27. package/dist/navigation/__test__/ledger-root-builder.playgroundPreservation.test.js +154 -0
  28. package/dist/navigation/__test__/ledger-root-builder.playgroundPreservation.test.js.map +1 -0
  29. package/dist/navigation/ledger-root-builder.d.ts.map +1 -1
  30. package/dist/navigation/ledger-root-builder.js +40 -5
  31. package/dist/navigation/ledger-root-builder.js.map +1 -1
  32. package/dist/navigation/utils/__test__/resolveCurrentTab.test.d.ts +2 -0
  33. package/dist/navigation/utils/__test__/resolveCurrentTab.test.d.ts.map +1 -0
  34. package/dist/navigation/utils/__test__/resolveCurrentTab.test.js +70 -0
  35. package/dist/navigation/utils/__test__/resolveCurrentTab.test.js.map +1 -0
  36. package/dist/navigation/utils/findNode.d.ts.map +1 -1
  37. package/dist/navigation/utils/findNode.js +3 -30
  38. package/dist/navigation/utils/findNode.js.map +1 -1
  39. package/dist/navigation/utils/index.d.ts +1 -0
  40. package/dist/navigation/utils/index.d.ts.map +1 -1
  41. package/dist/navigation/utils/index.js +1 -0
  42. package/dist/navigation/utils/index.js.map +1 -1
  43. package/dist/navigation/utils/resolveCurrentTab.d.ts +26 -0
  44. package/dist/navigation/utils/resolveCurrentTab.d.ts.map +1 -0
  45. package/dist/navigation/utils/resolveCurrentTab.js +60 -0
  46. package/dist/navigation/utils/resolveCurrentTab.js.map +1 -0
  47. package/dist/orpc-client/docs-ledger/contract.d.ts +4591 -0
  48. package/dist/orpc-client/docs-ledger/contract.d.ts.map +1 -1
  49. package/dist/orpc-client/docs-ledger/contract.js +16 -3
  50. package/dist/orpc-client/docs-ledger/contract.js.map +1 -1
  51. package/dist/orpc-client/docs-ledger/ledger-manifest.d.ts +6584 -0
  52. package/dist/orpc-client/docs-ledger/ledger-manifest.d.ts.map +1 -1
  53. package/dist/tsconfig.tsbuildinfo +1 -1
  54. package/dist/types/navigation/__test__/ledger-root-builder.playgroundPreservation.test.d.ts +2 -0
  55. package/dist/types/navigation/__test__/ledger-root-builder.playgroundPreservation.test.d.ts.map +1 -0
  56. package/dist/types/navigation/ledger-root-builder.d.ts.map +1 -1
  57. package/dist/types/navigation/utils/__test__/resolveCurrentTab.test.d.ts +2 -0
  58. package/dist/types/navigation/utils/__test__/resolveCurrentTab.test.d.ts.map +1 -0
  59. package/dist/types/navigation/utils/findNode.d.ts.map +1 -1
  60. package/dist/types/navigation/utils/index.d.ts +1 -0
  61. package/dist/types/navigation/utils/index.d.ts.map +1 -1
  62. package/dist/types/navigation/utils/resolveCurrentTab.d.ts +26 -0
  63. package/dist/types/navigation/utils/resolveCurrentTab.d.ts.map +1 -0
  64. package/dist/types/orpc-client/docs-ledger/contract.d.ts +4591 -0
  65. package/dist/types/orpc-client/docs-ledger/contract.d.ts.map +1 -1
  66. package/dist/types/orpc-client/docs-ledger/ledger-manifest.d.ts +6584 -0
  67. package/dist/types/orpc-client/docs-ledger/ledger-manifest.d.ts.map +1 -1
  68. package/package.json +1 -1
package/dist/js/index.mjs CHANGED
@@ -9360,6 +9360,12 @@ var FeatureFlagMetadataSchema = z21.array(
9360
9360
  );
9361
9361
  var LinkTargetSchema2 = z21.enum(["_blank", "_self", "_parent", "_top"]);
9362
9362
  var CollapsedSchema = z21.union([z21.boolean(), z21.literal("open-by-default")]);
9363
+ var PlaygroundSettingsSchema = z21.object({
9364
+ hidden: z21.boolean().optional(),
9365
+ environments: z21.array(z21.string()).optional(),
9366
+ button: z21.object({ href: z21.string().optional() }).optional(),
9367
+ "limit-websocket-messages-per-connection": z21.number().optional()
9368
+ });
9363
9369
  var LedgerAvailabilitySchema = z21.union([
9364
9370
  AvailabilitySchema,
9365
9371
  z21.enum([
@@ -9401,7 +9407,8 @@ var NodeMetadataFields = {
9401
9407
  var ApiNodeMetadataFields = {
9402
9408
  ...NodeMetadataFields,
9403
9409
  apiDefinitionId: z21.string(),
9404
- availability: LedgerAvailabilitySchema.optional()
9410
+ availability: LedgerAvailabilitySchema.optional(),
9411
+ playground: PlaygroundSettingsSchema.optional()
9405
9412
  };
9406
9413
  var LedgerSegmentDetailMetadataObjectSchema = LedgerMetadataBaseSchema.extend({
9407
9414
  slug: z21.string().optional(),
@@ -9451,7 +9458,8 @@ var LedgerSegmentMetadataObjectSchema = z21.discriminatedUnion("type", [
9451
9458
  hideTitle: z21.boolean().optional(),
9452
9459
  viewers: MetadataStringArraySchema.optional(),
9453
9460
  orphaned: z21.boolean().optional(),
9454
- featureFlags: FeatureFlagMetadataSchema.optional()
9461
+ featureFlags: FeatureFlagMetadataSchema.optional(),
9462
+ playground: PlaygroundSettingsSchema.optional()
9455
9463
  }),
9456
9464
  LedgerMetadataBaseSchema.extend({
9457
9465
  type: z21.literal("apiPackage"),
@@ -9465,7 +9473,8 @@ var LedgerSegmentMetadataObjectSchema = z21.discriminatedUnion("type", [
9465
9473
  pointsTo: z21.string().optional(),
9466
9474
  viewers: MetadataStringArraySchema.optional(),
9467
9475
  orphaned: z21.boolean().optional(),
9468
- featureFlags: FeatureFlagMetadataSchema.optional()
9476
+ featureFlags: FeatureFlagMetadataSchema.optional(),
9477
+ playground: PlaygroundSettingsSchema.optional()
9469
9478
  }),
9470
9479
  LedgerMetadataBaseSchema.extend({
9471
9480
  type: z21.literal("changelog"),
@@ -19635,8 +19644,10 @@ __export(utils_exports, {
19635
19644
  createBreadcrumb: () => createBreadcrumb,
19636
19645
  findNode: () => findNode,
19637
19646
  getApiReferenceId: () => getApiReferenceId,
19647
+ getEnclosingTabbedNode: () => getEnclosingTabbedNode,
19638
19648
  getNoIndexFromFrontmatter: () => getNoIndexFromFrontmatter,
19639
19649
  mutableUpdatePointsTo: () => mutableUpdatePointsTo,
19650
+ resolveCurrentTab: () => resolveCurrentTab,
19640
19651
  stripSyntheticSegments: () => stripSyntheticSegments,
19641
19652
  toApis: () => toApis,
19642
19653
  toPages: () => toPages,
@@ -19782,6 +19793,41 @@ function createBreadcrumb(nodes) {
19782
19793
 
19783
19794
  // src/navigation/utils/findNode.ts
19784
19795
  import { escapeRegExp as escapeRegExp3 } from "es-toolkit/string";
19796
+
19797
+ // src/navigation/utils/resolveCurrentTab.ts
19798
+ var isHeaderTab = (child) => child.type === "tab" || child.type === "changelog";
19799
+ function getEnclosingTabbedNode(parents) {
19800
+ const versionChild = (parents.find(isVersionNode) ?? parents.find(isUnversionedNode))?.child;
19801
+ return parents.find(isTabbedNode) ?? (versionChild != null && isTabbedNode(versionChild) ? versionChild : void 0);
19802
+ }
19803
+ function resolveCurrentTab(node, parents) {
19804
+ const tabbedNode = getEnclosingTabbedNode(parents);
19805
+ if (tabbedNode == null) {
19806
+ return void 0;
19807
+ }
19808
+ const parentsAndNode = [...parents, node];
19809
+ const tabbedNodeIndex = parentsAndNode.indexOf(tabbedNode);
19810
+ const currentTabNode = tabbedNodeIndex !== -1 ? parentsAndNode[tabbedNodeIndex + 1] : void 0;
19811
+ let currentTab = currentTabNode?.type === "tab" || currentTabNode?.type === "changelog" ? currentTabNode : void 0;
19812
+ if (currentTab == null) {
19813
+ for (const tab of tabbedNode.children) {
19814
+ if (tab.type === "tab" && tab.pointsTo === node.slug) {
19815
+ currentTab = tab;
19816
+ break;
19817
+ }
19818
+ if (tab.type === "changelog" && tab.slug === node.slug) {
19819
+ currentTab = tab;
19820
+ break;
19821
+ }
19822
+ }
19823
+ if (currentTab == null && node.type === "landingPage") {
19824
+ currentTab = tabbedNode.children.find(isHeaderTab);
19825
+ }
19826
+ }
19827
+ return currentTab;
19828
+ }
19829
+
19830
+ // src/navigation/utils/findNode.ts
19785
19831
  function findNode(root, slug) {
19786
19832
  const collector = NodeCollector.collect(root);
19787
19833
  const found = collector.getSlugMapWithParents().get(canonicalSlugKey(slug));
@@ -19815,7 +19861,6 @@ function findNode(root, slug) {
19815
19861
  const currentProduct = found.parents.find(isProductNode);
19816
19862
  const currentVersion = found.parents.find(isVersionNode);
19817
19863
  const unversionedNode = found.parents.find(isUnversionedNode);
19818
- const versionChild = (currentVersion ?? unversionedNode)?.child;
19819
19864
  const currentVariant = found.parents.find(isVariantNode);
19820
19865
  if (!sidebar && currentVersion != null) {
19821
19866
  if (isSidebarRootNode(currentVersion.child)) {
@@ -19823,13 +19868,9 @@ function findNode(root, slug) {
19823
19868
  }
19824
19869
  }
19825
19870
  const landingPage = (currentProductGroup ?? currentVersion ?? unversionedNode)?.landingPage;
19826
- const tabbedNode = found.parents.find(isTabbedNode) ?? // fallback to the version child because the current node may be a landing page
19827
- (versionChild != null && isTabbedNode(versionChild) ? versionChild : void 0);
19871
+ const tabbedNode = getEnclosingTabbedNode(found.parents);
19828
19872
  const apiReference = found.parents.find(isApiReferenceNode) ?? (found.node.type === "apiReference" ? found.node : void 0);
19829
19873
  if (navigation_exports.isPage(found.node)) {
19830
- const parentsAndNode = [...found.parents, found.node];
19831
- const tabbedNodeIndex = parentsAndNode.findIndex((node) => node === tabbedNode);
19832
- const currentTabNode = tabbedNodeIndex !== -1 ? parentsAndNode[tabbedNodeIndex + 1] : void 0;
19833
19874
  const products = collector.getProductNodes().map((node) => {
19834
19875
  if (node.default) {
19835
19876
  if (node.id === currentProduct?.id) {
@@ -19857,25 +19898,7 @@ function findNode(root, slug) {
19857
19898
  }
19858
19899
  return node;
19859
19900
  });
19860
- let currentTab = currentTabNode?.type === "tab" || currentTabNode?.type === "changelog" ? currentTabNode : void 0;
19861
- if (currentTab == null && tabbedNode != null) {
19862
- for (const tab of tabbedNode.children) {
19863
- if (tab.type === "tab" && tab.pointsTo === found.node.slug) {
19864
- currentTab = tab;
19865
- break;
19866
- }
19867
- if (tab.type === "changelog" && tab.slug === found.node.slug) {
19868
- currentTab = tab;
19869
- break;
19870
- }
19871
- }
19872
- if (currentTab == null && found.node.type === "landingPage") {
19873
- const firstTab = tabbedNode.children.find((tab) => tab.type === "tab" || tab.type === "changelog");
19874
- if (firstTab != null && (firstTab.type === "tab" || firstTab.type === "changelog")) {
19875
- currentTab = firstTab;
19876
- }
19877
- }
19878
- }
19901
+ const currentTab = resolveCurrentTab(found.node, found.parents);
19879
19902
  const slugPrefix = currentVariant?.slug ?? (currentProduct?.type === "product" ? currentProduct.slug : void 0) ?? currentVersion?.slug ?? root.slug;
19880
19903
  const unversionedSlug = navigation_exports.Slug(
19881
19904
  found.node.slug.replace(new RegExp(`^${escapeRegExp3(slugPrefix)}/`), "")