@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.
@@ -94,6 +94,9 @@ var AuthSchemeIdSchema = z2.string();
94
94
  var SubpackageIdSchema = z2.string();
95
95
  var WebSocketMessageIdSchema = z2.string();
96
96
  var FileIdSchema = z2.string();
97
+ function FileId(value) {
98
+ return value;
99
+ }
97
100
  var MultipleAuthTypeSchema = z2.object({
98
101
  schemes: z2.array(AuthSchemeIdSchema)
99
102
  });
@@ -865,6 +868,13 @@ function metaStrArr(metadata, key) {
865
868
  }
866
869
  return void 0;
867
870
  }
871
+ function metaFeatureFlags(metadata) {
872
+ if (metadata != null && typeof metadata === "object" && "featureFlags" in metadata) {
873
+ const v = metadata.featureFlags;
874
+ return Array.isArray(v) && v.length > 0 ? v : void 0;
875
+ }
876
+ return void 0;
877
+ }
868
878
  function toViewers(viewers) {
869
879
  if (viewers == null || viewers.length === 0) {
870
880
  return void 0;
@@ -900,17 +910,17 @@ function scopeKey(seg) {
900
910
  return [seg.product?.id ?? "", seg.version?.id ?? "", seg.variant?.id ?? "", seg.tab?.id ?? ""].join("|");
901
911
  }
902
912
  function withMetadataDefaults(base) {
903
- const { viewers, ...rest } = base;
913
+ const { viewers, featureFlags, ...rest } = base;
904
914
  return {
905
915
  ...rest,
906
916
  canonicalSlug: void 0,
907
- authed: void 0,
917
+ authed: base.authed === true ? true : void 0,
908
918
  collapsed: void 0,
909
919
  // Normalise empty arrays to undefined so unrestricted nodes don't add
910
920
  // filter-level noise; a non-empty array engages the RBAC view gate.
911
921
  viewers: viewers != null && viewers.length > 0 ? viewers : void 0,
912
- orphaned: void 0,
913
- featureFlags: void 0
922
+ orphaned: base.orphaned === true ? true : void 0,
923
+ featureFlags: featureFlags != null && featureFlags.length > 0 ? featureFlags : void 0
914
924
  };
915
925
  }
916
926
  function artifactToNode(ctx, route) {
@@ -933,7 +943,10 @@ function artifactToNode(ctx, route) {
933
943
  slug,
934
944
  icon,
935
945
  hidden: route.hidden,
936
- viewers
946
+ authed: metaBool(md, "authed"),
947
+ viewers,
948
+ orphaned: metaBool(md, "orphaned"),
949
+ featureFlags: metaFeatureFlags(md)
937
950
  }),
938
951
  pageId: PageId(pageId),
939
952
  noindex: metaBool(md, "noindex"),
@@ -949,7 +962,7 @@ function artifactToNode(ctx, route) {
949
962
  title,
950
963
  icon,
951
964
  url: Url(metaStr(md, "url") ?? ""),
952
- target: void 0
965
+ target: metaStr(md, "target")
953
966
  };
954
967
  return node;
955
968
  }
@@ -984,7 +997,10 @@ function apiLeafNodeFromNavRouteInternal(ctx, route, segmentApiDefinitionId2) {
984
997
  slug,
985
998
  icon,
986
999
  hidden: route.hidden,
987
- viewers
1000
+ authed: metaBool(md, "authed"),
1001
+ viewers,
1002
+ orphaned: metaBool(md, "orphaned"),
1003
+ featureFlags: metaFeatureFlags(md)
988
1004
  });
989
1005
  if (route.type === "rest") {
990
1006
  const endpointId = metaStr(md, "endpointId");
@@ -999,7 +1015,7 @@ function apiLeafNodeFromNavRouteInternal(ctx, route, segmentApiDefinitionId2) {
999
1015
  endpointId: EndpointId(endpointId),
1000
1016
  apiDefinitionId,
1001
1017
  isResponseStream: metaBool(md, "isResponseStream"),
1002
- availability: void 0,
1018
+ availability: metaStr(md, "availability"),
1003
1019
  playground: void 0
1004
1020
  };
1005
1021
  }
@@ -1015,7 +1031,7 @@ function apiLeafNodeFromNavRouteInternal(ctx, route, segmentApiDefinitionId2) {
1015
1031
  method,
1016
1032
  webhookId: WebhookId(webhookId),
1017
1033
  apiDefinitionId,
1018
- availability: void 0
1034
+ availability: metaStr(md, "availability")
1019
1035
  };
1020
1036
  }
1021
1037
  if (route.type === "asyncapi") {
@@ -1028,7 +1044,7 @@ function apiLeafNodeFromNavRouteInternal(ctx, route, segmentApiDefinitionId2) {
1028
1044
  ...meta,
1029
1045
  webSocketId: WebSocketId(webSocketId),
1030
1046
  apiDefinitionId,
1031
- availability: void 0,
1047
+ availability: metaStr(md, "availability"),
1032
1048
  playground: void 0
1033
1049
  };
1034
1050
  }
@@ -1044,7 +1060,7 @@ function apiLeafNodeFromNavRouteInternal(ctx, route, segmentApiDefinitionId2) {
1044
1060
  method,
1045
1061
  grpcId: GrpcId(grpcId),
1046
1062
  apiDefinitionId,
1047
- availability: void 0
1063
+ availability: metaStr(md, "availability")
1048
1064
  };
1049
1065
  }
1050
1066
  if (route.type === "graphql") {
@@ -1060,7 +1076,7 @@ function apiLeafNodeFromNavRouteInternal(ctx, route, segmentApiDefinitionId2) {
1060
1076
  graphqlOperationId: GraphQlOperationId(graphqlOperationId),
1061
1077
  graphqlOperationIds: void 0,
1062
1078
  apiDefinitionId,
1063
- availability: void 0,
1079
+ availability: metaStr(md, "availability"),
1064
1080
  playground: void 0
1065
1081
  };
1066
1082
  }
@@ -1167,17 +1183,20 @@ function sectionNode(ctx, scoped, sectionChildren, scopePrefix) {
1167
1183
  slug,
1168
1184
  icon: metaStr(seg.metadata, "icon"),
1169
1185
  hidden: seg.hidden,
1170
- viewers: mergeVariantViewers(seg)
1186
+ authed: metaBool(seg.metadata, "authed"),
1187
+ viewers: mergeVariantViewers(seg),
1188
+ orphaned: metaBool(seg.metadata, "orphaned"),
1189
+ featureFlags: metaFeatureFlags(seg.metadata)
1171
1190
  });
1172
1191
  return {
1173
1192
  type: "section",
1174
1193
  ...defaults,
1175
1194
  collapsed: metaCollapsed(seg.metadata) ?? defaults.collapsed,
1176
1195
  overviewPageId: overviewPageId != null ? PageId(overviewPageId) : void 0,
1177
- noindex: void 0,
1196
+ noindex: metaBool(overview?.metadata, "noindex") ?? metaBool(seg.metadata, "noindex"),
1178
1197
  collapsible: metaBool(seg.metadata, "collapsible") ?? (metaCollapsed(seg.metadata) != null ? true : void 0),
1179
1198
  collapsedByDefault: metaBool(seg.metadata, "collapsedByDefault") ?? (metaCollapsed(seg.metadata) === true ? true : void 0),
1180
- availability: void 0,
1199
+ availability: metaStr(seg.metadata, "availability"),
1181
1200
  pointsTo: metaPointsTo != null ? pointsToSlug(metaPointsTo) : void 0,
1182
1201
  children: mergeChildrenByPosition(ctx, nav, sectionChildren)
1183
1202
  };
@@ -1254,12 +1273,15 @@ function apiPackageChildNode(ctx, scoped, scopeSegs, parentApiDefinitionId, scop
1254
1273
  slug,
1255
1274
  icon: metaStr(seg.metadata, "icon"),
1256
1275
  hidden: seg.hidden,
1257
- viewers: toViewers(metaStrArr(seg.metadata, "viewers"))
1276
+ authed: metaBool(seg.metadata, "authed"),
1277
+ viewers: toViewers(metaStrArr(seg.metadata, "viewers")),
1278
+ orphaned: metaBool(seg.metadata, "orphaned"),
1279
+ featureFlags: metaFeatureFlags(seg.metadata)
1258
1280
  }),
1259
1281
  apiDefinitionId: ApiDefinitionId(apiDefinitionId),
1260
1282
  availability: metaStr(seg.metadata, "availability"),
1261
1283
  overviewPageId: overviewPageId != null ? PageId(overviewPageId) : void 0,
1262
- noindex: void 0,
1284
+ noindex: metaBool(overview?.metadata, "noindex") ?? metaBool(seg.metadata, "noindex"),
1263
1285
  pointsTo: metaPointsTo != null ? pointsToSlug(metaPointsTo) : void 0,
1264
1286
  children,
1265
1287
  playground: void 0
@@ -1339,12 +1361,15 @@ function apiReferenceNode(ctx, scoped, scopeSegs, scopePrefix) {
1339
1361
  slug,
1340
1362
  icon: metaStr(seg.metadata, "icon"),
1341
1363
  hidden: seg.hidden,
1342
- viewers: mergeVariantViewers(seg)
1364
+ authed: metaBool(seg.metadata, "authed"),
1365
+ viewers: mergeVariantViewers(seg),
1366
+ orphaned: metaBool(seg.metadata, "orphaned"),
1367
+ featureFlags: metaFeatureFlags(seg.metadata)
1343
1368
  }),
1344
1369
  apiDefinitionId: ApiDefinitionId(apiDefinitionId),
1345
- availability: void 0,
1370
+ availability: metaStr(seg.metadata, "availability"),
1346
1371
  overviewPageId: overviewPageId != null ? PageId(overviewPageId) : void 0,
1347
- noindex: void 0,
1372
+ noindex: metaBool(overview?.metadata, "noindex") ?? metaBool(seg.metadata, "noindex"),
1348
1373
  paginated: true,
1349
1374
  showErrors: metaBool(seg.metadata, "showErrors"),
1350
1375
  hideTitle: metaBool(seg.metadata, "hideTitle"),
@@ -1397,10 +1422,13 @@ function changelogNode(ctx, scoped, scopePrefix) {
1397
1422
  slug: ctx.contentSlug(r.fullPath ?? ""),
1398
1423
  icon: metaStr(r.metadata, "icon"),
1399
1424
  hidden: r.hidden,
1400
- viewers: toViewers(metaStrArr(r.metadata, "viewers"))
1425
+ authed: metaBool(r.metadata, "authed"),
1426
+ viewers: toViewers(metaStrArr(r.metadata, "viewers")),
1427
+ orphaned: metaBool(r.metadata, "orphaned"),
1428
+ featureFlags: metaFeatureFlags(r.metadata)
1401
1429
  }),
1402
1430
  pageId: PageId(metaStr(r.metadata, "pageId") ?? ""),
1403
- noindex: void 0,
1431
+ noindex: metaBool(r.metadata, "noindex"),
1404
1432
  date: dateStr ?? "",
1405
1433
  tags: void 0
1406
1434
  };
@@ -1446,10 +1474,13 @@ function changelogNode(ctx, scoped, scopePrefix) {
1446
1474
  slug: baseSlug,
1447
1475
  icon: metaStr(seg.metadata, "icon"),
1448
1476
  hidden: seg.hidden,
1449
- viewers: mergeVariantViewers(seg)
1477
+ authed: metaBool(seg.metadata, "authed"),
1478
+ viewers: mergeVariantViewers(seg),
1479
+ orphaned: metaBool(seg.metadata, "orphaned"),
1480
+ featureFlags: metaFeatureFlags(seg.metadata)
1450
1481
  }),
1451
1482
  overviewPageId: overviewPageId != null ? PageId(overviewPageId) : void 0,
1452
- noindex: void 0,
1483
+ noindex: metaBool(overview?.metadata, "noindex") ?? metaBool(seg.metadata, "noindex"),
1453
1484
  children: years
1454
1485
  };
1455
1486
  }
@@ -1635,6 +1666,24 @@ function buildFullRootFromSegments(options) {
1635
1666
  } else if (child.type === "versioned") {
1636
1667
  const defaultVersion = child.children.find((v) => v.default) ?? child.children[0];
1637
1668
  rootPointsTo = defaultVersion?.pointsTo;
1669
+ } else if (child.type === "unversioned") {
1670
+ if (tabs.length > 0) {
1671
+ const firstTab = tabs[0];
1672
+ const pt = firstTab != null ? metaStr(firstTab.metadata, "pointsTo") : void 0;
1673
+ rootPointsTo = pt != null ? pointsToSlug(pt) : void 0;
1674
+ } else {
1675
+ const sorted = [...scoped].sort((a, b) => a.seg.sortOrder - b.seg.sortOrder);
1676
+ for (const s of sorted) {
1677
+ if (s.seg.hidden) {
1678
+ continue;
1679
+ }
1680
+ const pt = metaStr(s.seg.metadata, "pointsTo");
1681
+ if (pt != null) {
1682
+ rootPointsTo = pointsToSlug(pt);
1683
+ break;
1684
+ }
1685
+ }
1686
+ }
1638
1687
  }
1639
1688
  const root = {
1640
1689
  type: "root",
@@ -1695,7 +1744,7 @@ function buildVariantedNode(ctx, variants, scopeSegs, scopePrefix) {
1695
1744
  default: detailIsDefault(variant),
1696
1745
  variantId: VariantId(String(variant.id)),
1697
1746
  subtitle: metaStr(variant.metadata, "subtitle") ?? void 0,
1698
- image: void 0,
1747
+ image: metaStr(variant.metadata, "image") != null ? FileId(metaStr(variant.metadata, "image")) : void 0,
1699
1748
  pointsTo: metaPointsTo != null ? pointsToSlug(metaPointsTo) : void 0,
1700
1749
  children
1701
1750
  };
@@ -1744,7 +1793,7 @@ function buildTabbedOrSidebar(ctx, scopeSegs, tabsPresent, scopePrefix) {
1744
1793
  title: tab.displayName,
1745
1794
  icon: tab.icon ?? void 0,
1746
1795
  url: Url(metaStr(tab.metadata, "url") ?? ""),
1747
- target: void 0
1796
+ target: metaStr(tab.metadata, "target")
1748
1797
  };
1749
1798
  }
1750
1799
  if (tabType === "changelog") {
@@ -2000,7 +2049,7 @@ function buildProductGroup(ctx, products, scoped, rootSlug) {
2000
2049
  // here; sourcing it from the hash makes that filter match nothing.
2001
2050
  productId: ProductId(product.displayName),
2002
2051
  subtitle: metaStr(product.metadata, "subtitle") ?? "",
2003
- image: void 0,
2052
+ image: metaStr(product.metadata, "image") != null ? FileId(metaStr(product.metadata, "image")) : void 0,
2004
2053
  announcement: void 0,
2005
2054
  pointsTo: metaStr(product.metadata, "pointsTo") != null ? pointsToSlug(metaStr(product.metadata, "pointsTo")) : void 0,
2006
2055
  child: productChild