@fern-api/fdr-sdk 1.2.39-38c6f9a29c → 1.2.39-4f09cc17dc

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.
@@ -135,6 +135,9 @@ var AuthSchemeIdSchema = z2.string();
135
135
  var SubpackageIdSchema = z2.string();
136
136
  var WebSocketMessageIdSchema = z2.string();
137
137
  var FileIdSchema = z2.string();
138
+ function FileId(value) {
139
+ return value;
140
+ }
138
141
  var MultipleAuthTypeSchema = z2.object({
139
142
  schemes: z2.array(AuthSchemeIdSchema)
140
143
  });
@@ -906,6 +909,13 @@ function metaStrArr(metadata, key) {
906
909
  }
907
910
  return void 0;
908
911
  }
912
+ function metaFeatureFlags(metadata) {
913
+ if (metadata != null && typeof metadata === "object" && "featureFlags" in metadata) {
914
+ const v = metadata.featureFlags;
915
+ return Array.isArray(v) && v.length > 0 ? v : void 0;
916
+ }
917
+ return void 0;
918
+ }
909
919
  function toViewers(viewers) {
910
920
  if (viewers == null || viewers.length === 0) {
911
921
  return void 0;
@@ -941,17 +951,17 @@ function scopeKey(seg) {
941
951
  return [seg.product?.id ?? "", seg.version?.id ?? "", seg.variant?.id ?? "", seg.tab?.id ?? ""].join("|");
942
952
  }
943
953
  function withMetadataDefaults(base) {
944
- const { viewers, ...rest } = base;
954
+ const { viewers, featureFlags, ...rest } = base;
945
955
  return {
946
956
  ...rest,
947
957
  canonicalSlug: void 0,
948
- authed: void 0,
958
+ authed: base.authed === true ? true : void 0,
949
959
  collapsed: void 0,
950
960
  // Normalise empty arrays to undefined so unrestricted nodes don't add
951
961
  // filter-level noise; a non-empty array engages the RBAC view gate.
952
962
  viewers: viewers != null && viewers.length > 0 ? viewers : void 0,
953
- orphaned: void 0,
954
- featureFlags: void 0
963
+ orphaned: base.orphaned === true ? true : void 0,
964
+ featureFlags: featureFlags != null && featureFlags.length > 0 ? featureFlags : void 0
955
965
  };
956
966
  }
957
967
  function artifactToNode(ctx, route) {
@@ -974,7 +984,10 @@ function artifactToNode(ctx, route) {
974
984
  slug,
975
985
  icon,
976
986
  hidden: route.hidden,
977
- viewers
987
+ authed: metaBool(md, "authed"),
988
+ viewers,
989
+ orphaned: metaBool(md, "orphaned"),
990
+ featureFlags: metaFeatureFlags(md)
978
991
  }),
979
992
  pageId: PageId(pageId),
980
993
  noindex: metaBool(md, "noindex"),
@@ -990,7 +1003,7 @@ function artifactToNode(ctx, route) {
990
1003
  title,
991
1004
  icon,
992
1005
  url: Url(metaStr(md, "url") ?? ""),
993
- target: void 0
1006
+ target: metaStr(md, "target")
994
1007
  };
995
1008
  return node;
996
1009
  }
@@ -1025,7 +1038,10 @@ function apiLeafNodeFromNavRouteInternal(ctx, route, segmentApiDefinitionId2) {
1025
1038
  slug,
1026
1039
  icon,
1027
1040
  hidden: route.hidden,
1028
- viewers
1041
+ authed: metaBool(md, "authed"),
1042
+ viewers,
1043
+ orphaned: metaBool(md, "orphaned"),
1044
+ featureFlags: metaFeatureFlags(md)
1029
1045
  });
1030
1046
  if (route.type === "rest") {
1031
1047
  const endpointId = metaStr(md, "endpointId");
@@ -1040,7 +1056,7 @@ function apiLeafNodeFromNavRouteInternal(ctx, route, segmentApiDefinitionId2) {
1040
1056
  endpointId: EndpointId(endpointId),
1041
1057
  apiDefinitionId,
1042
1058
  isResponseStream: metaBool(md, "isResponseStream"),
1043
- availability: void 0,
1059
+ availability: metaStr(md, "availability"),
1044
1060
  playground: void 0
1045
1061
  };
1046
1062
  }
@@ -1056,7 +1072,7 @@ function apiLeafNodeFromNavRouteInternal(ctx, route, segmentApiDefinitionId2) {
1056
1072
  method,
1057
1073
  webhookId: WebhookId(webhookId),
1058
1074
  apiDefinitionId,
1059
- availability: void 0
1075
+ availability: metaStr(md, "availability")
1060
1076
  };
1061
1077
  }
1062
1078
  if (route.type === "asyncapi") {
@@ -1069,7 +1085,7 @@ function apiLeafNodeFromNavRouteInternal(ctx, route, segmentApiDefinitionId2) {
1069
1085
  ...meta,
1070
1086
  webSocketId: WebSocketId(webSocketId),
1071
1087
  apiDefinitionId,
1072
- availability: void 0,
1088
+ availability: metaStr(md, "availability"),
1073
1089
  playground: void 0
1074
1090
  };
1075
1091
  }
@@ -1085,7 +1101,7 @@ function apiLeafNodeFromNavRouteInternal(ctx, route, segmentApiDefinitionId2) {
1085
1101
  method,
1086
1102
  grpcId: GrpcId(grpcId),
1087
1103
  apiDefinitionId,
1088
- availability: void 0
1104
+ availability: metaStr(md, "availability")
1089
1105
  };
1090
1106
  }
1091
1107
  if (route.type === "graphql") {
@@ -1101,7 +1117,7 @@ function apiLeafNodeFromNavRouteInternal(ctx, route, segmentApiDefinitionId2) {
1101
1117
  graphqlOperationId: GraphQlOperationId(graphqlOperationId),
1102
1118
  graphqlOperationIds: void 0,
1103
1119
  apiDefinitionId,
1104
- availability: void 0,
1120
+ availability: metaStr(md, "availability"),
1105
1121
  playground: void 0
1106
1122
  };
1107
1123
  }
@@ -1208,17 +1224,20 @@ function sectionNode(ctx, scoped, sectionChildren, scopePrefix) {
1208
1224
  slug,
1209
1225
  icon: metaStr(seg.metadata, "icon"),
1210
1226
  hidden: seg.hidden,
1211
- viewers: mergeVariantViewers(seg)
1227
+ authed: metaBool(seg.metadata, "authed"),
1228
+ viewers: mergeVariantViewers(seg),
1229
+ orphaned: metaBool(seg.metadata, "orphaned"),
1230
+ featureFlags: metaFeatureFlags(seg.metadata)
1212
1231
  });
1213
1232
  return {
1214
1233
  type: "section",
1215
1234
  ...defaults,
1216
1235
  collapsed: metaCollapsed(seg.metadata) ?? defaults.collapsed,
1217
1236
  overviewPageId: overviewPageId != null ? PageId(overviewPageId) : void 0,
1218
- noindex: void 0,
1237
+ noindex: metaBool(overview?.metadata, "noindex") ?? metaBool(seg.metadata, "noindex"),
1219
1238
  collapsible: metaBool(seg.metadata, "collapsible") ?? (metaCollapsed(seg.metadata) != null ? true : void 0),
1220
1239
  collapsedByDefault: metaBool(seg.metadata, "collapsedByDefault") ?? (metaCollapsed(seg.metadata) === true ? true : void 0),
1221
- availability: void 0,
1240
+ availability: metaStr(seg.metadata, "availability"),
1222
1241
  pointsTo: metaPointsTo != null ? pointsToSlug(metaPointsTo) : void 0,
1223
1242
  children: mergeChildrenByPosition(ctx, nav, sectionChildren)
1224
1243
  };
@@ -1295,12 +1314,15 @@ function apiPackageChildNode(ctx, scoped, scopeSegs, parentApiDefinitionId, scop
1295
1314
  slug,
1296
1315
  icon: metaStr(seg.metadata, "icon"),
1297
1316
  hidden: seg.hidden,
1298
- viewers: toViewers(metaStrArr(seg.metadata, "viewers"))
1317
+ authed: metaBool(seg.metadata, "authed"),
1318
+ viewers: toViewers(metaStrArr(seg.metadata, "viewers")),
1319
+ orphaned: metaBool(seg.metadata, "orphaned"),
1320
+ featureFlags: metaFeatureFlags(seg.metadata)
1299
1321
  }),
1300
1322
  apiDefinitionId: ApiDefinitionId(apiDefinitionId),
1301
1323
  availability: metaStr(seg.metadata, "availability"),
1302
1324
  overviewPageId: overviewPageId != null ? PageId(overviewPageId) : void 0,
1303
- noindex: void 0,
1325
+ noindex: metaBool(overview?.metadata, "noindex") ?? metaBool(seg.metadata, "noindex"),
1304
1326
  pointsTo: metaPointsTo != null ? pointsToSlug(metaPointsTo) : void 0,
1305
1327
  children,
1306
1328
  playground: void 0
@@ -1380,12 +1402,15 @@ function apiReferenceNode(ctx, scoped, scopeSegs, scopePrefix) {
1380
1402
  slug,
1381
1403
  icon: metaStr(seg.metadata, "icon"),
1382
1404
  hidden: seg.hidden,
1383
- viewers: mergeVariantViewers(seg)
1405
+ authed: metaBool(seg.metadata, "authed"),
1406
+ viewers: mergeVariantViewers(seg),
1407
+ orphaned: metaBool(seg.metadata, "orphaned"),
1408
+ featureFlags: metaFeatureFlags(seg.metadata)
1384
1409
  }),
1385
1410
  apiDefinitionId: ApiDefinitionId(apiDefinitionId),
1386
- availability: void 0,
1411
+ availability: metaStr(seg.metadata, "availability"),
1387
1412
  overviewPageId: overviewPageId != null ? PageId(overviewPageId) : void 0,
1388
- noindex: void 0,
1413
+ noindex: metaBool(overview?.metadata, "noindex") ?? metaBool(seg.metadata, "noindex"),
1389
1414
  paginated: true,
1390
1415
  showErrors: metaBool(seg.metadata, "showErrors"),
1391
1416
  hideTitle: metaBool(seg.metadata, "hideTitle"),
@@ -1438,10 +1463,13 @@ function changelogNode(ctx, scoped, scopePrefix) {
1438
1463
  slug: ctx.contentSlug(r.fullPath ?? ""),
1439
1464
  icon: metaStr(r.metadata, "icon"),
1440
1465
  hidden: r.hidden,
1441
- viewers: toViewers(metaStrArr(r.metadata, "viewers"))
1466
+ authed: metaBool(r.metadata, "authed"),
1467
+ viewers: toViewers(metaStrArr(r.metadata, "viewers")),
1468
+ orphaned: metaBool(r.metadata, "orphaned"),
1469
+ featureFlags: metaFeatureFlags(r.metadata)
1442
1470
  }),
1443
1471
  pageId: PageId(metaStr(r.metadata, "pageId") ?? ""),
1444
- noindex: void 0,
1472
+ noindex: metaBool(r.metadata, "noindex"),
1445
1473
  date: dateStr ?? "",
1446
1474
  tags: void 0
1447
1475
  };
@@ -1487,10 +1515,13 @@ function changelogNode(ctx, scoped, scopePrefix) {
1487
1515
  slug: baseSlug,
1488
1516
  icon: metaStr(seg.metadata, "icon"),
1489
1517
  hidden: seg.hidden,
1490
- viewers: mergeVariantViewers(seg)
1518
+ authed: metaBool(seg.metadata, "authed"),
1519
+ viewers: mergeVariantViewers(seg),
1520
+ orphaned: metaBool(seg.metadata, "orphaned"),
1521
+ featureFlags: metaFeatureFlags(seg.metadata)
1491
1522
  }),
1492
1523
  overviewPageId: overviewPageId != null ? PageId(overviewPageId) : void 0,
1493
- noindex: void 0,
1524
+ noindex: metaBool(overview?.metadata, "noindex") ?? metaBool(seg.metadata, "noindex"),
1494
1525
  children: years
1495
1526
  };
1496
1527
  }
@@ -1676,6 +1707,24 @@ function buildFullRootFromSegments(options) {
1676
1707
  } else if (child.type === "versioned") {
1677
1708
  const defaultVersion = child.children.find((v) => v.default) ?? child.children[0];
1678
1709
  rootPointsTo = defaultVersion?.pointsTo;
1710
+ } else if (child.type === "unversioned") {
1711
+ if (tabs.length > 0) {
1712
+ const firstTab = tabs[0];
1713
+ const pt = firstTab != null ? metaStr(firstTab.metadata, "pointsTo") : void 0;
1714
+ rootPointsTo = pt != null ? pointsToSlug(pt) : void 0;
1715
+ } else {
1716
+ const sorted = [...scoped].sort((a, b) => a.seg.sortOrder - b.seg.sortOrder);
1717
+ for (const s of sorted) {
1718
+ if (s.seg.hidden) {
1719
+ continue;
1720
+ }
1721
+ const pt = metaStr(s.seg.metadata, "pointsTo");
1722
+ if (pt != null) {
1723
+ rootPointsTo = pointsToSlug(pt);
1724
+ break;
1725
+ }
1726
+ }
1727
+ }
1679
1728
  }
1680
1729
  const root = {
1681
1730
  type: "root",
@@ -1736,7 +1785,7 @@ function buildVariantedNode(ctx, variants, scopeSegs, scopePrefix) {
1736
1785
  default: detailIsDefault(variant),
1737
1786
  variantId: VariantId(String(variant.id)),
1738
1787
  subtitle: metaStr(variant.metadata, "subtitle") ?? void 0,
1739
- image: void 0,
1788
+ image: metaStr(variant.metadata, "image") != null ? FileId(metaStr(variant.metadata, "image")) : void 0,
1740
1789
  pointsTo: metaPointsTo != null ? pointsToSlug(metaPointsTo) : void 0,
1741
1790
  children
1742
1791
  };
@@ -1785,7 +1834,7 @@ function buildTabbedOrSidebar(ctx, scopeSegs, tabsPresent, scopePrefix) {
1785
1834
  title: tab.displayName,
1786
1835
  icon: tab.icon ?? void 0,
1787
1836
  url: Url(metaStr(tab.metadata, "url") ?? ""),
1788
- target: void 0
1837
+ target: metaStr(tab.metadata, "target")
1789
1838
  };
1790
1839
  }
1791
1840
  if (tabType === "changelog") {
@@ -2041,7 +2090,7 @@ function buildProductGroup(ctx, products, scoped, rootSlug) {
2041
2090
  // here; sourcing it from the hash makes that filter match nothing.
2042
2091
  productId: ProductId(product.displayName),
2043
2092
  subtitle: metaStr(product.metadata, "subtitle") ?? "",
2044
- image: void 0,
2093
+ image: metaStr(product.metadata, "image") != null ? FileId(metaStr(product.metadata, "image")) : void 0,
2045
2094
  announcement: void 0,
2046
2095
  pointsTo: metaStr(product.metadata, "pointsTo") != null ? pointsToSlug(metaStr(product.metadata, "pointsTo")) : void 0,
2047
2096
  child: productChild