@fern-api/fdr-sdk 1.2.80-7b2d1af0a2 → 1.2.81-d31daf360a

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 (92) hide show
  1. package/dist/api-definition/snippets/graphql-snippets.d.ts +19 -0
  2. package/dist/api-definition/snippets/graphql-snippets.d.ts.map +1 -1
  3. package/dist/api-definition/snippets/graphql-snippets.js +25 -0
  4. package/dist/api-definition/snippets/graphql-snippets.js.map +1 -1
  5. package/dist/js/api-definition/index.js +21 -0
  6. package/dist/js/api-definition/index.js.map +1 -1
  7. package/dist/js/api-definition/index.mjs +20 -0
  8. package/dist/js/api-definition/index.mjs.map +1 -1
  9. package/dist/js/client/FdrClient.js +13 -3
  10. package/dist/js/client/FdrClient.js.map +1 -1
  11. package/dist/js/client/FdrClient.mjs +13 -3
  12. package/dist/js/client/FdrClient.mjs.map +1 -1
  13. package/dist/js/client/types.js.map +1 -1
  14. package/dist/js/client/types.mjs.map +1 -1
  15. package/dist/js/converters/index.js +59 -25
  16. package/dist/js/converters/index.js.map +1 -1
  17. package/dist/js/converters/index.mjs +59 -25
  18. package/dist/js/converters/index.mjs.map +1 -1
  19. package/dist/js/index.js +72 -28
  20. package/dist/js/index.js.map +1 -1
  21. package/dist/js/index.mjs +72 -28
  22. package/dist/js/index.mjs.map +1 -1
  23. package/dist/js/navigation/index.js +59 -25
  24. package/dist/js/navigation/index.js.map +1 -1
  25. package/dist/js/navigation/index.mjs +59 -25
  26. package/dist/js/navigation/index.mjs.map +1 -1
  27. package/dist/js/navigation/ledger-root-builder.js +29 -5
  28. package/dist/js/navigation/ledger-root-builder.js.map +1 -1
  29. package/dist/js/navigation/ledger-root-builder.mjs +29 -5
  30. package/dist/js/navigation/ledger-root-builder.mjs.map +1 -1
  31. package/dist/js/navigation/types/latest.js.map +1 -1
  32. package/dist/js/navigation/types/latest.mjs.map +1 -1
  33. package/dist/js/navigation/types/v1.js.map +1 -1
  34. package/dist/js/navigation/types/v1.mjs.map +1 -1
  35. package/dist/js/orpc-client.js +13 -3
  36. package/dist/js/orpc-client.js.map +1 -1
  37. package/dist/js/orpc-client.mjs +13 -3
  38. package/dist/js/orpc-client.mjs.map +1 -1
  39. package/dist/navigation/__test__/ledger-root-builder.playgroundPreservation.test.d.ts +2 -0
  40. package/dist/navigation/__test__/ledger-root-builder.playgroundPreservation.test.d.ts.map +1 -0
  41. package/dist/navigation/__test__/ledger-root-builder.playgroundPreservation.test.js +185 -0
  42. package/dist/navigation/__test__/ledger-root-builder.playgroundPreservation.test.js.map +1 -0
  43. package/dist/navigation/ledger-root-builder.d.ts.map +1 -1
  44. package/dist/navigation/ledger-root-builder.js +41 -5
  45. package/dist/navigation/ledger-root-builder.js.map +1 -1
  46. package/dist/navigation/types/latest.d.ts +1 -0
  47. package/dist/navigation/types/latest.d.ts.map +1 -1
  48. package/dist/navigation/types/v1.d.ts +1 -0
  49. package/dist/navigation/types/v1.d.ts.map +1 -1
  50. package/dist/navigation/utils/__test__/resolveCurrentTab.test.d.ts +2 -0
  51. package/dist/navigation/utils/__test__/resolveCurrentTab.test.d.ts.map +1 -0
  52. package/dist/navigation/utils/__test__/resolveCurrentTab.test.js +70 -0
  53. package/dist/navigation/utils/__test__/resolveCurrentTab.test.js.map +1 -0
  54. package/dist/navigation/utils/findNode.d.ts.map +1 -1
  55. package/dist/navigation/utils/findNode.js +3 -30
  56. package/dist/navigation/utils/findNode.js.map +1 -1
  57. package/dist/navigation/utils/index.d.ts +1 -0
  58. package/dist/navigation/utils/index.d.ts.map +1 -1
  59. package/dist/navigation/utils/index.js +1 -0
  60. package/dist/navigation/utils/index.js.map +1 -1
  61. package/dist/navigation/utils/resolveCurrentTab.d.ts +26 -0
  62. package/dist/navigation/utils/resolveCurrentTab.d.ts.map +1 -0
  63. package/dist/navigation/utils/resolveCurrentTab.js +60 -0
  64. package/dist/navigation/utils/resolveCurrentTab.js.map +1 -0
  65. package/dist/orpc-client/docs-ledger/contract.d.ts +5126 -0
  66. package/dist/orpc-client/docs-ledger/contract.d.ts.map +1 -1
  67. package/dist/orpc-client/docs-ledger/contract.js +17 -3
  68. package/dist/orpc-client/docs-ledger/contract.js.map +1 -1
  69. package/dist/orpc-client/docs-ledger/ledger-manifest.d.ts +7356 -0
  70. package/dist/orpc-client/docs-ledger/ledger-manifest.d.ts.map +1 -1
  71. package/dist/types/api-definition/snippets/graphql-snippets.d.ts +19 -0
  72. package/dist/types/api-definition/snippets/graphql-snippets.d.ts.map +1 -1
  73. package/dist/types/navigation/__test__/ledger-root-builder.playgroundPreservation.test.d.ts +2 -0
  74. package/dist/types/navigation/__test__/ledger-root-builder.playgroundPreservation.test.d.ts.map +1 -0
  75. package/dist/types/navigation/ledger-root-builder.d.ts.map +1 -1
  76. package/dist/types/navigation/types/latest.d.ts +1 -0
  77. package/dist/types/navigation/types/latest.d.ts.map +1 -1
  78. package/dist/types/navigation/types/v1.d.ts +1 -0
  79. package/dist/types/navigation/types/v1.d.ts.map +1 -1
  80. package/dist/types/navigation/utils/__test__/resolveCurrentTab.test.d.ts +2 -0
  81. package/dist/types/navigation/utils/__test__/resolveCurrentTab.test.d.ts.map +1 -0
  82. package/dist/types/navigation/utils/findNode.d.ts.map +1 -1
  83. package/dist/types/navigation/utils/index.d.ts +1 -0
  84. package/dist/types/navigation/utils/index.d.ts.map +1 -1
  85. package/dist/types/navigation/utils/resolveCurrentTab.d.ts +26 -0
  86. package/dist/types/navigation/utils/resolveCurrentTab.d.ts.map +1 -0
  87. package/dist/types/orpc-client/docs-ledger/contract.d.ts +5126 -0
  88. package/dist/types/orpc-client/docs-ledger/contract.d.ts.map +1 -1
  89. package/dist/types/orpc-client/docs-ledger/ledger-manifest.d.ts +7356 -0
  90. package/dist/types/orpc-client/docs-ledger/ledger-manifest.d.ts.map +1 -1
  91. package/package.json +2 -2
  92. package/dist/tsconfig.tsbuildinfo +0 -1
package/dist/js/index.js CHANGED
@@ -220,6 +220,7 @@ __export(api_definition_exports, {
220
220
  WithDescriptionSchema: () => WithDescriptionSchema,
221
221
  WithNamespaceSchema: () => WithNamespaceSchema,
222
222
  buildEndpointUrl: () => buildEndpointUrl,
223
+ buildGraphqlExamplesForOperation: () => buildGraphqlExamplesForOperation,
223
224
  buildRequestUrl: () => buildRequestUrl,
224
225
  buildSdkSnippetRequest: () => buildSdkSnippetRequest,
225
226
  cleanLanguage: () => cleanLanguage,
@@ -5477,6 +5478,25 @@ function getHarRequestBasicAuth(endpoint, auths) {
5477
5478
  }
5478
5479
 
5479
5480
  // src/api-definition/snippets/graphql-snippets.ts
5481
+ function buildGraphqlExamplesForOperation(operation, types) {
5482
+ if (operation.examples != null && operation.examples.length > 0) {
5483
+ return operation.examples.map((ex) => ({
5484
+ name: ex.name ?? void 0,
5485
+ description: ex.description ?? void 0,
5486
+ query: ex.query,
5487
+ variables: ex.variables ?? void 0,
5488
+ response: ex.response
5489
+ }));
5490
+ }
5491
+ const generated = generateGraphQlSnippet({ operation, types });
5492
+ return [
5493
+ {
5494
+ query: generated.query,
5495
+ variables: Object.keys(generated.variables).length > 0 ? generated.variables : void 0,
5496
+ response: generated.response
5497
+ }
5498
+ ];
5499
+ }
5480
5500
  var snippetCache = /* @__PURE__ */ new WeakMap();
5481
5501
  function generateGraphQlSnippet(context) {
5482
5502
  const cached = snippetCache.get(context.operation);
@@ -9423,6 +9443,13 @@ var FeatureFlagMetadataSchema = z21.array(
9423
9443
  );
9424
9444
  var LinkTargetSchema2 = z21.enum(["_blank", "_self", "_parent", "_top"]);
9425
9445
  var CollapsedSchema = z21.union([z21.boolean(), z21.literal("open-by-default")]);
9446
+ var PlaygroundSettingsSchema = z21.object({
9447
+ hidden: z21.boolean().optional(),
9448
+ environments: z21.array(z21.string()).optional(),
9449
+ button: z21.object({ href: z21.string().optional() }).optional(),
9450
+ "limit-websocket-messages-per-connection": z21.number().optional(),
9451
+ "send-optional-defaults": z21.boolean().optional()
9452
+ });
9426
9453
  var LedgerAvailabilitySchema = z21.union([
9427
9454
  AvailabilitySchema,
9428
9455
  z21.enum([
@@ -9464,7 +9491,8 @@ var NodeMetadataFields = {
9464
9491
  var ApiNodeMetadataFields = {
9465
9492
  ...NodeMetadataFields,
9466
9493
  apiDefinitionId: z21.string(),
9467
- availability: LedgerAvailabilitySchema.optional()
9494
+ availability: LedgerAvailabilitySchema.optional(),
9495
+ playground: PlaygroundSettingsSchema.optional()
9468
9496
  };
9469
9497
  var LedgerSegmentDetailMetadataObjectSchema = LedgerMetadataBaseSchema.extend({
9470
9498
  slug: z21.string().optional(),
@@ -9514,7 +9542,8 @@ var LedgerSegmentMetadataObjectSchema = z21.discriminatedUnion("type", [
9514
9542
  hideTitle: z21.boolean().optional(),
9515
9543
  viewers: MetadataStringArraySchema.optional(),
9516
9544
  orphaned: z21.boolean().optional(),
9517
- featureFlags: FeatureFlagMetadataSchema.optional()
9545
+ featureFlags: FeatureFlagMetadataSchema.optional(),
9546
+ playground: PlaygroundSettingsSchema.optional()
9518
9547
  }),
9519
9548
  LedgerMetadataBaseSchema.extend({
9520
9549
  type: z21.literal("apiPackage"),
@@ -9528,7 +9557,8 @@ var LedgerSegmentMetadataObjectSchema = z21.discriminatedUnion("type", [
9528
9557
  pointsTo: z21.string().optional(),
9529
9558
  viewers: MetadataStringArraySchema.optional(),
9530
9559
  orphaned: z21.boolean().optional(),
9531
- featureFlags: FeatureFlagMetadataSchema.optional()
9560
+ featureFlags: FeatureFlagMetadataSchema.optional(),
9561
+ playground: PlaygroundSettingsSchema.optional()
9532
9562
  }),
9533
9563
  LedgerMetadataBaseSchema.extend({
9534
9564
  type: z21.literal("changelog"),
@@ -19698,8 +19728,10 @@ __export(utils_exports, {
19698
19728
  createBreadcrumb: () => createBreadcrumb,
19699
19729
  findNode: () => findNode,
19700
19730
  getApiReferenceId: () => getApiReferenceId,
19731
+ getEnclosingTabbedNode: () => getEnclosingTabbedNode,
19701
19732
  getNoIndexFromFrontmatter: () => getNoIndexFromFrontmatter,
19702
19733
  mutableUpdatePointsTo: () => mutableUpdatePointsTo,
19734
+ resolveCurrentTab: () => resolveCurrentTab,
19703
19735
  stripSyntheticSegments: () => stripSyntheticSegments,
19704
19736
  toApis: () => toApis,
19705
19737
  toPages: () => toPages,
@@ -19845,6 +19877,41 @@ function createBreadcrumb(nodes) {
19845
19877
 
19846
19878
  // src/navigation/utils/findNode.ts
19847
19879
  var import_string8 = require("es-toolkit/string");
19880
+
19881
+ // src/navigation/utils/resolveCurrentTab.ts
19882
+ var isHeaderTab = (child) => child.type === "tab" || child.type === "changelog";
19883
+ function getEnclosingTabbedNode(parents) {
19884
+ const versionChild = (parents.find(isVersionNode) ?? parents.find(isUnversionedNode))?.child;
19885
+ return parents.find(isTabbedNode) ?? (versionChild != null && isTabbedNode(versionChild) ? versionChild : void 0);
19886
+ }
19887
+ function resolveCurrentTab(node, parents) {
19888
+ const tabbedNode = getEnclosingTabbedNode(parents);
19889
+ if (tabbedNode == null) {
19890
+ return void 0;
19891
+ }
19892
+ const parentsAndNode = [...parents, node];
19893
+ const tabbedNodeIndex = parentsAndNode.indexOf(tabbedNode);
19894
+ const currentTabNode = tabbedNodeIndex !== -1 ? parentsAndNode[tabbedNodeIndex + 1] : void 0;
19895
+ let currentTab = currentTabNode?.type === "tab" || currentTabNode?.type === "changelog" ? currentTabNode : void 0;
19896
+ if (currentTab == null) {
19897
+ for (const tab of tabbedNode.children) {
19898
+ if (tab.type === "tab" && tab.pointsTo === node.slug) {
19899
+ currentTab = tab;
19900
+ break;
19901
+ }
19902
+ if (tab.type === "changelog" && tab.slug === node.slug) {
19903
+ currentTab = tab;
19904
+ break;
19905
+ }
19906
+ }
19907
+ if (currentTab == null && node.type === "landingPage") {
19908
+ currentTab = tabbedNode.children.find(isHeaderTab);
19909
+ }
19910
+ }
19911
+ return currentTab;
19912
+ }
19913
+
19914
+ // src/navigation/utils/findNode.ts
19848
19915
  function findNode(root, slug) {
19849
19916
  const collector = NodeCollector.collect(root);
19850
19917
  const found = collector.getSlugMapWithParents().get(canonicalSlugKey(slug));
@@ -19878,7 +19945,6 @@ function findNode(root, slug) {
19878
19945
  const currentProduct = found.parents.find(isProductNode);
19879
19946
  const currentVersion = found.parents.find(isVersionNode);
19880
19947
  const unversionedNode = found.parents.find(isUnversionedNode);
19881
- const versionChild = (currentVersion ?? unversionedNode)?.child;
19882
19948
  const currentVariant = found.parents.find(isVariantNode);
19883
19949
  if (!sidebar && currentVersion != null) {
19884
19950
  if (isSidebarRootNode(currentVersion.child)) {
@@ -19886,13 +19952,9 @@ function findNode(root, slug) {
19886
19952
  }
19887
19953
  }
19888
19954
  const landingPage = (currentProductGroup ?? currentVersion ?? unversionedNode)?.landingPage;
19889
- const tabbedNode = found.parents.find(isTabbedNode) ?? // fallback to the version child because the current node may be a landing page
19890
- (versionChild != null && isTabbedNode(versionChild) ? versionChild : void 0);
19955
+ const tabbedNode = getEnclosingTabbedNode(found.parents);
19891
19956
  const apiReference = found.parents.find(isApiReferenceNode) ?? (found.node.type === "apiReference" ? found.node : void 0);
19892
19957
  if (navigation_exports.isPage(found.node)) {
19893
- const parentsAndNode = [...found.parents, found.node];
19894
- const tabbedNodeIndex = parentsAndNode.findIndex((node) => node === tabbedNode);
19895
- const currentTabNode = tabbedNodeIndex !== -1 ? parentsAndNode[tabbedNodeIndex + 1] : void 0;
19896
19958
  const products = collector.getProductNodes().map((node) => {
19897
19959
  if (node.default) {
19898
19960
  if (node.id === currentProduct?.id) {
@@ -19920,25 +19982,7 @@ function findNode(root, slug) {
19920
19982
  }
19921
19983
  return node;
19922
19984
  });
19923
- let currentTab = currentTabNode?.type === "tab" || currentTabNode?.type === "changelog" ? currentTabNode : void 0;
19924
- if (currentTab == null && tabbedNode != null) {
19925
- for (const tab of tabbedNode.children) {
19926
- if (tab.type === "tab" && tab.pointsTo === found.node.slug) {
19927
- currentTab = tab;
19928
- break;
19929
- }
19930
- if (tab.type === "changelog" && tab.slug === found.node.slug) {
19931
- currentTab = tab;
19932
- break;
19933
- }
19934
- }
19935
- if (currentTab == null && found.node.type === "landingPage") {
19936
- const firstTab = tabbedNode.children.find((tab) => tab.type === "tab" || tab.type === "changelog");
19937
- if (firstTab != null && (firstTab.type === "tab" || firstTab.type === "changelog")) {
19938
- currentTab = firstTab;
19939
- }
19940
- }
19941
- }
19985
+ const currentTab = resolveCurrentTab(found.node, found.parents);
19942
19986
  const slugPrefix = currentVariant?.slug ?? (currentProduct?.type === "product" ? currentProduct.slug : void 0) ?? currentVersion?.slug ?? root.slug;
19943
19987
  const unversionedSlug = navigation_exports.Slug(
19944
19988
  found.node.slug.replace(new RegExp(`^${(0, import_string8.escapeRegExp)(slugPrefix)}/`), "")