@fern-api/fdr-sdk 1.2.78-edf564e509 → 1.2.80-050d6c9417

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