@fern-api/fdr-sdk 1.2.42-080b4f1d94 → 1.2.42-1fb0ba4870

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 (54) hide show
  1. package/dist/js/client/FdrClient.js +0 -1
  2. package/dist/js/client/FdrClient.js.map +1 -1
  3. package/dist/js/client/FdrClient.mjs +0 -1
  4. package/dist/js/client/FdrClient.mjs.map +1 -1
  5. package/dist/js/index.js +0 -1
  6. package/dist/js/index.js.map +1 -1
  7. package/dist/js/index.mjs +0 -1
  8. package/dist/js/index.mjs.map +1 -1
  9. package/dist/js/navigation/ledger-root-builder.js +14 -100
  10. package/dist/js/navigation/ledger-root-builder.js.map +1 -1
  11. package/dist/js/navigation/ledger-root-builder.mjs +14 -100
  12. package/dist/js/navigation/ledger-root-builder.mjs.map +1 -1
  13. package/dist/js/orpc-client.js +0 -1
  14. package/dist/js/orpc-client.js.map +1 -1
  15. package/dist/js/orpc-client.mjs +0 -1
  16. package/dist/js/orpc-client.mjs.map +1 -1
  17. package/dist/navigation/__test__/ledger-root-builder.skipSlugSiblingSection.test.js +1 -105
  18. package/dist/navigation/__test__/ledger-root-builder.skipSlugSiblingSection.test.js.map +1 -1
  19. package/dist/navigation/ledger-root-builder.d.ts.map +1 -1
  20. package/dist/navigation/ledger-root-builder.js +23 -153
  21. package/dist/navigation/ledger-root-builder.js.map +1 -1
  22. package/dist/orpc-client/docs-ledger/contract.d.ts +0 -9
  23. package/dist/orpc-client/docs-ledger/contract.d.ts.map +1 -1
  24. package/dist/orpc-client/docs-ledger/contract.js +0 -1
  25. package/dist/orpc-client/docs-ledger/contract.js.map +1 -1
  26. package/dist/tsconfig.tsbuildinfo +1 -1
  27. package/dist/types/navigation/ledger-root-builder.d.ts.map +1 -1
  28. package/dist/types/orpc-client/docs-ledger/contract.d.ts +0 -9
  29. package/dist/types/orpc-client/docs-ledger/contract.d.ts.map +1 -1
  30. package/package.json +1 -1
  31. package/dist/navigation/__test__/ledger-root-builder.crossProductDedup.test.d.ts +0 -2
  32. package/dist/navigation/__test__/ledger-root-builder.crossProductDedup.test.d.ts.map +0 -1
  33. package/dist/navigation/__test__/ledger-root-builder.crossProductDedup.test.js +0 -267
  34. package/dist/navigation/__test__/ledger-root-builder.crossProductDedup.test.js.map +0 -1
  35. package/dist/navigation/__test__/ledger-root-builder.ledgerParity.test.d.ts +0 -2
  36. package/dist/navigation/__test__/ledger-root-builder.ledgerParity.test.d.ts.map +0 -1
  37. package/dist/navigation/__test__/ledger-root-builder.ledgerParity.test.js +0 -306
  38. package/dist/navigation/__test__/ledger-root-builder.ledgerParity.test.js.map +0 -1
  39. package/dist/navigation/__test__/ledger-root-builder.sidebarDepth.test.d.ts +0 -2
  40. package/dist/navigation/__test__/ledger-root-builder.sidebarDepth.test.d.ts.map +0 -1
  41. package/dist/navigation/__test__/ledger-root-builder.sidebarDepth.test.js +0 -273
  42. package/dist/navigation/__test__/ledger-root-builder.sidebarDepth.test.js.map +0 -1
  43. package/dist/navigation/__test__/ledger-root-builder.skipSlugGroupOrdering.test.d.ts +0 -2
  44. package/dist/navigation/__test__/ledger-root-builder.skipSlugGroupOrdering.test.d.ts.map +0 -1
  45. package/dist/navigation/__test__/ledger-root-builder.skipSlugGroupOrdering.test.js +0 -234
  46. package/dist/navigation/__test__/ledger-root-builder.skipSlugGroupOrdering.test.js.map +0 -1
  47. package/dist/types/navigation/__test__/ledger-root-builder.crossProductDedup.test.d.ts +0 -2
  48. package/dist/types/navigation/__test__/ledger-root-builder.crossProductDedup.test.d.ts.map +0 -1
  49. package/dist/types/navigation/__test__/ledger-root-builder.ledgerParity.test.d.ts +0 -2
  50. package/dist/types/navigation/__test__/ledger-root-builder.ledgerParity.test.d.ts.map +0 -1
  51. package/dist/types/navigation/__test__/ledger-root-builder.sidebarDepth.test.d.ts +0 -2
  52. package/dist/types/navigation/__test__/ledger-root-builder.sidebarDepth.test.d.ts.map +0 -1
  53. package/dist/types/navigation/__test__/ledger-root-builder.skipSlugGroupOrdering.test.d.ts +0 -2
  54. package/dist/types/navigation/__test__/ledger-root-builder.skipSlugGroupOrdering.test.d.ts.map +0 -1
@@ -39,8 +39,7 @@ function seg(opts) {
39
39
  metadata: {
40
40
  type: opts.type,
41
41
  ...(opts.title != null ? { title: opts.title } : {}),
42
- ...(opts.childIndex != null ? { childIndex: opts.childIndex } : {}),
43
- ...(opts.sidebarDepth != null ? { sidebarDepth: opts.sidebarDepth } : {})
42
+ ...(opts.childIndex != null ? { childIndex: opts.childIndex } : {})
44
43
  },
45
44
  product: null,
46
45
  version: null,
@@ -197,109 +196,6 @@ describe("buildFullRootFromSegments — skipUrlSlug sibling sections are NOT ado
197
196
  expect(breadcrumbTitles).not.toContain("Introduction");
198
197
  });
199
198
  });
200
- describe("buildFullRootFromSegments — nested subsections with sidebarDepth are not promoted to root level", () => {
201
- // Regression guard: when multiple skip-slug sections share sec="" and one
202
- // contains nested subsections (sidebarDepth > 0), the nested subsections
203
- // must stay under their parent — not be emitted as additional root children.
204
- // Without the fix, sections with sidebarDepth > 0 bypassed the adoption
205
- // skip (which only checked depth == null), causing duplication.
206
- const tab = detail({
207
- id: "t-docs",
208
- name: "Docs",
209
- slug: "docs",
210
- pointsTo: "docs/getting-started"
211
- });
212
- it("subsections with sidebarDepth > 0 stay nested under their parent skip-slug section", () => {
213
- const root = buildRoot({
214
- basePath: "",
215
- segments: [
216
- seg({
217
- segmentHash: "s-gs",
218
- section: "",
219
- type: "section",
220
- title: "Getting Started",
221
- sortOrder: 0,
222
- childIndex: 0,
223
- sidebarDepth: 0,
224
- tab
225
- }),
226
- seg({
227
- segmentHash: "s-dt",
228
- section: "",
229
- type: "section",
230
- title: "Dev Tools",
231
- sortOrder: 2,
232
- childIndex: 1,
233
- sidebarDepth: 0,
234
- tab
235
- }),
236
- seg({
237
- segmentHash: "s-cap",
238
- section: "",
239
- type: "section",
240
- title: "Capabilities",
241
- sortOrder: 4,
242
- childIndex: 2,
243
- sidebarDepth: 0,
244
- tab
245
- }),
246
- // Nested under Capabilities — these must NOT appear at root level
247
- seg({
248
- segmentHash: "s-parsing",
249
- section: "parsing",
250
- type: "section",
251
- title: "Parsing",
252
- sortOrder: 5,
253
- childIndex: 0,
254
- sidebarDepth: 1,
255
- tab
256
- }),
257
- seg({
258
- segmentHash: "s-extraction",
259
- section: "extraction",
260
- type: "section",
261
- title: "Extraction",
262
- sortOrder: 6,
263
- childIndex: 1,
264
- sidebarDepth: 1,
265
- tab
266
- })
267
- ],
268
- navBySegment: new Map([
269
- ["s-gs", [markdownRoute("docs/getting-started", "Intro", "pg-intro")]],
270
- ["s-dt", [markdownRoute("docs/dev-tools", "CLI", "pg-cli")]],
271
- ["s-cap", []],
272
- ["s-parsing", [markdownRoute("docs/parsing/overview", "Parsing Overview", "pg-parse")]],
273
- ["s-extraction", [markdownRoute("docs/extraction/overview", "Extraction Overview", "pg-extract")]]
274
- ])
275
- });
276
- const sidebarChildren = findSidebarRootChildren(root);
277
- const topLevelTitles = [];
278
- for (const child of sidebarChildren) {
279
- if (child.type === "section") {
280
- topLevelTitles.push(child.title);
281
- }
282
- else if (child.type === "sidebarGroup") {
283
- for (const gc of child.children) {
284
- if (gc.type === "section") {
285
- topLevelTitles.push(gc.title);
286
- }
287
- }
288
- }
289
- }
290
- // Only the three skip-slug root sections should appear at top level
291
- expect(topLevelTitles).toEqual(["Getting Started", "Dev Tools", "Capabilities"]);
292
- // Parsing and Extraction must be children of Capabilities, not root
293
- const sections = findSectionNodes(root);
294
- const capSec = sections.find((s) => s.title === "Capabilities");
295
- expect(capSec).toBeDefined();
296
- const capChildTitles = (capSec?.children ?? [])
297
- .filter((c) => c.type === "section")
298
- .map((c) => c.title);
299
- expect(capChildTitles).toContain("Parsing");
300
- expect(capChildTitles).toContain("Extraction");
301
- });
302
- });
303
199
  describe("buildFullRootFromSegments — true root-section wrappers (no childIndex) still work", () => {
304
200
  // Regression guard: when a section has section="" WITHOUT childIndex,
305
201
  // it IS a true root wrapper and should adopt depth-0 children.
@@ -1 +1 @@
1
- {"version":3,"file":"ledger-root-builder.skipSlugSiblingSection.test.js","sourceRoot":"","sources":["../../../src/navigation/__test__/ledger-root-builder.skipSlugSiblingSection.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ledger-root-builder.skipSlugSiblingSection.test.js","sourceRoot":"","sources":["../../../src/navigation/__test__/ledger-root-builder.skipSlugSiblingSection.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ledger-root-builder.d.ts","sourceRoot":"","sources":["../../src/navigation/ledger-root-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACnG,OAAO,KAAK,cAAc,MAAM,YAAY,CAAC;AAG7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,KAAK,OAAO,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AA6B9C,MAAM,WAAW,gBAAgB;IAC7B,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,CAAC;IACjB,yGAAyG;IACzG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,4EAA4E;IAC5E,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,6DAA6D;IAC7D,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtC;;;;;;;;OAQG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CACpC;AAID;;;;;;GAMG;AACH,UAAU,YAAY;IAClB,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,cAAc,CAAC,MAAM,CAAC;IAC/C,kFAAkF;IAClF,WAAW,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,cAAc,CAAC,IAAI,CAAC;CAC9D;AAED,2CAA2C;AAC3C,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAuBjE;AAoRD;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GACjB,cAAc,CAAC,YAAY,GAC3B,cAAc,CAAC,WAAW,GAC1B,cAAc,CAAC,aAAa,GAC5B,cAAc,CAAC,QAAQ,GACvB,cAAc,CAAC,WAAW,CAAC;AAOjC;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACnC,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,MAAM,EAChB,sBAAsB,EAAE,MAAM,GAC/B,WAAW,GAAG,SAAS,CAGzB;AA+KD;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACtC,MAAM,EAAE,QAAQ,EAAE,EAClB,QAAQ,EAAE,MAAM,EAChB,sBAAsB,EAAE,MAAM,GAC/B,WAAW,EAAE,CAKf;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,SAAS,CASxF;AAsaD;;;;;;GAMG;AACH,2CAA2C;AAC3C,wBAAgB,kBAAkB,CAC9B,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,WAAW,EAAE,EACxB,MAAM,EAAE,QAAQ,EAAE,GACnB,cAAc,CAAC,eAAe,EAAE,CAsElC;AAyrBD;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,gBAAgB,GAAG,cAAc,CAAC,QAAQ,CAmF5F"}
1
+ {"version":3,"file":"ledger-root-builder.d.ts","sourceRoot":"","sources":["../../src/navigation/ledger-root-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACnG,OAAO,KAAK,cAAc,MAAM,YAAY,CAAC;AAG7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,KAAK,OAAO,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AA6B9C,MAAM,WAAW,gBAAgB;IAC7B,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,CAAC;IACjB,yGAAyG;IACzG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,4EAA4E;IAC5E,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,6DAA6D;IAC7D,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtC;;;;;;;;OAQG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CACpC;AAID;;;;;;GAMG;AACH,UAAU,YAAY;IAClB,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,cAAc,CAAC,MAAM,CAAC;IAC/C,kFAAkF;IAClF,WAAW,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,cAAc,CAAC,IAAI,CAAC;CAC9D;AAED,2CAA2C;AAC3C,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAuBjE;AAoRD;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GACjB,cAAc,CAAC,YAAY,GAC3B,cAAc,CAAC,WAAW,GAC1B,cAAc,CAAC,aAAa,GAC5B,cAAc,CAAC,QAAQ,GACvB,cAAc,CAAC,WAAW,CAAC;AAOjC;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACnC,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,MAAM,EAChB,sBAAsB,EAAE,MAAM,GAC/B,WAAW,GAAG,SAAS,CAGzB;AA+KD;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACtC,MAAM,EAAE,QAAQ,EAAE,EAClB,QAAQ,EAAE,MAAM,EAChB,sBAAsB,EAAE,MAAM,GAC/B,WAAW,EAAE,CAKf;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,SAAS,CASxF;AAiWD;;;;;;GAMG;AACH,2CAA2C;AAC3C,wBAAgB,kBAAkB,CAC9B,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,WAAW,EAAE,EACxB,MAAM,EAAE,QAAQ,EAAE,GACnB,cAAc,CAAC,eAAe,EAAE,CAsElC;AA8oBD;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,gBAAgB,GAAG,cAAc,CAAC,QAAQ,CAmF5F"}
@@ -569,30 +569,6 @@ function stripLeadingScopePrefix(section, scopePrefix) {
569
569
  }
570
570
  return section;
571
571
  }
572
- function computeDuplicateSiblingSortBoundaries(siblings) {
573
- const result = new Map();
574
- const byPath = new Map();
575
- for (const sibling of siblings) {
576
- if (metaStr(sibling.seg.metadata, "type") !== "section") {
577
- continue;
578
- }
579
- const group = byPath.get(sibling.seg.section) ?? [];
580
- group.push(sibling);
581
- byPath.set(sibling.seg.section, group);
582
- }
583
- for (const [, group] of byPath) {
584
- if (group.length <= 1) {
585
- continue;
586
- }
587
- for (let i = 0; i < group.length; i++) {
588
- result.set(group[i], {
589
- lo: group[i].seg.sortOrder,
590
- hi: i + 1 < group.length ? group[i + 1].seg.sortOrder : Number.MAX_SAFE_INTEGER
591
- });
592
- }
593
- }
594
- return result;
595
- }
596
572
  /**
597
573
  * Merge leaf children and section children by their original V1 tree position.
598
574
  * Leaves carry position via `displaySortOrder` (stored in nav routes), sections
@@ -666,16 +642,13 @@ function sectionNode(ctx, scoped, sectionChildren, scopePrefix) {
666
642
  * `parentSectionPath(seg.section) === parentSection`, or is an orphaned segment
667
643
  * whose nearest existing ancestor is `parentSection`.
668
644
  */
669
- function directChildApiPackages(parentSection, scopeSegs, apiDefinitionId) {
645
+ function directChildApiPackages(parentSection, scopeSegs) {
670
646
  const sectionPaths = new Set(scopeSegs.map((s) => s.seg.section));
671
647
  return scopeSegs
672
648
  .filter((s) => {
673
649
  if (metaStr(s.seg.metadata, "type") !== "apiPackage") {
674
650
  return false;
675
651
  }
676
- if (metaStr(s.seg.metadata, "apiDefinitionId") !== apiDefinitionId) {
677
- return false;
678
- }
679
652
  const parent = parentSectionPath(s.seg.section);
680
653
  if (parent === parentSection) {
681
654
  return true;
@@ -700,37 +673,11 @@ function buildApiChildren(ctx, scoped, scopeSegs, apiDefinitionId, scopePrefix)
700
673
  // API leaf types.
701
674
  const leafNodes = positionedApiLeafChildren(ctx, nav, apiDefinitionId);
702
675
  // Build nested ApiPackageNodes from direct child apiPackage segments.
703
- let childPackages = directChildApiPackages(seg.section, scopeSegs, apiDefinitionId);
704
- // When multiple API-type segments share the same section path (skipUrlSlug
705
- // group packages that collapse to their parent's section), children from
706
- // different groups get mixed together. Scope children to this segment's DFS
707
- // subtree using sortOrder boundaries to restore correct ownership.
708
- const samePathApiSiblings = scopeSegs.filter((s) => s.seg.section === seg.section &&
709
- s.seg.sortOrder !== seg.sortOrder &&
710
- API_NODE_SEGMENT_TYPES.has(metaStr(s.seg.metadata, "type") ?? ""));
711
- const hasCollapsedGroups = samePathApiSiblings.length > 0;
712
- if (hasCollapsedGroups && metaStr(seg.metadata, "type") !== "apiReference") {
713
- // This is a group package sharing its section with siblings.
714
- // Only claim children whose sortOrder falls within our DFS subtree.
715
- const nextSibling = samePathApiSiblings
716
- .filter((s) => s.seg.sortOrder > seg.sortOrder)
717
- .sort((a, b) => a.seg.sortOrder - b.seg.sortOrder)[0];
718
- const lo = seg.sortOrder;
719
- const hi = nextSibling?.seg.sortOrder ?? Number.MAX_SAFE_INTEGER;
720
- childPackages = childPackages.filter((c) => c.seg.sortOrder > lo && c.seg.sortOrder < hi);
721
- }
676
+ const childPackages = directChildApiPackages(seg.section, scopeSegs);
722
677
  const packageNodes = childPackages.map((child) => ({
723
678
  node: apiPackageChildNode(ctx, child, scopeSegs, apiDefinitionId, scopePrefix),
724
679
  childIndex: metaNum(child.seg.metadata, "childIndex")
725
680
  }));
726
- // When collapsed groups are detected at apiReference level, children's
727
- // childIndex values are relative to different parent groups and cannot be
728
- // used for interleaving. Fall back to sortOrder (DFS creation order).
729
- if (hasCollapsedGroups && metaStr(seg.metadata, "type") === "apiReference") {
730
- return [...leafNodes, ...packageNodes.map((p, i) => ({ node: p.node, pos: leafNodes.length + i }))]
731
- .sort((a, b) => a.pos - b.pos)
732
- .map((p) => p.node);
733
- }
734
681
  // Interleave by position when childIndex metadata is available
735
682
  const hasChildIndex = packageNodes.some((p) => p.childIndex != null);
736
683
  if (!hasChildIndex) {
@@ -887,7 +834,7 @@ function apiReferenceNode(ctx, scoped, scopeSegs, scopePrefix) {
887
834
  availability: metaAvailability(seg.metadata),
888
835
  overviewPageId: overviewPageId != null ? FernNavigation.PageId(overviewPageId) : undefined,
889
836
  noindex: metaBool(overview?.metadata, "noindex") ?? metaBool(seg.metadata, "noindex"),
890
- paginated: metaBool(seg.metadata, "paginated"),
837
+ paginated: true,
891
838
  showErrors: metaBool(seg.metadata, "showErrors"),
892
839
  hideTitle: metaBool(seg.metadata, "hideTitle"),
893
840
  pointsTo: metaPointsTo != null ? pointsToSlug(metaPointsTo) : undefined,
@@ -905,12 +852,7 @@ function attachedApiChangelogNode(ctx, scoped, scopeSegs, apiDefinitionId, scope
905
852
  }
906
853
  return metaStr(candidate.seg.metadata, "apiDefinitionId") === apiDefinitionId;
907
854
  });
908
- const apiReferenceCount = scopeSegs.filter((candidate) => {
909
- return (metaStr(candidate.seg.metadata, "type") === "apiReference" &&
910
- metaStr(candidate.seg.metadata, "apiDefinitionId") === apiDefinitionId);
911
- }).length;
912
- const changelogSeg = candidates.find((candidate) => parentSectionPath(candidate.seg.section) === seg.section) ??
913
- (apiReferenceCount === 1 ? candidates[0] : undefined);
855
+ const changelogSeg = candidates.find((candidate) => parentSectionPath(candidate.seg.section) === seg.section) ?? candidates[0];
914
856
  return changelogSeg != null ? changelogNode(ctx, changelogSeg, scopePrefix) : undefined;
915
857
  }
916
858
  function hasOwningApiReference(scoped, scopeSegs) {
@@ -918,14 +860,12 @@ function hasOwningApiReference(scoped, scopeSegs) {
918
860
  if (apiDefinitionId == null || metaStr(scoped.seg.metadata, "type") !== "changelog") {
919
861
  return false;
920
862
  }
921
- const candidates = scopeSegs.filter((candidate) => {
863
+ return scopeSegs.some((candidate) => {
922
864
  if (metaStr(candidate.seg.metadata, "type") !== "apiReference") {
923
865
  return false;
924
866
  }
925
867
  return metaStr(candidate.seg.metadata, "apiDefinitionId") === apiDefinitionId;
926
868
  });
927
- return (candidates.some((candidate) => parentSectionPath(scoped.seg.section) === candidate.seg.section) ||
928
- candidates.length === 1);
929
869
  }
930
870
  /**
931
871
  * True when this segment is an `apiPackage` that will be nested under an in-scope
@@ -1106,12 +1046,6 @@ function buildSectionTree(ctx, scopeSegs, parentPath, scopePrefix, changelogScop
1106
1046
  if (hasOwningApiReference(s, scopeSegs) || isNestedApiPackage(s, scopeSegs)) {
1107
1047
  return false;
1108
1048
  }
1109
- // Segments marked as sidebar depth 0 are V1 root-level peers and
1110
- // must never be adopted as children of another section.
1111
- const depth = metaNum(s.seg.metadata, "sidebarDepth");
1112
- if (depth === 0) {
1113
- return false;
1114
- }
1115
1049
  const parent = parentSectionPath(sec);
1116
1050
  if (parent === parentPath) {
1117
1051
  return true;
@@ -1124,7 +1058,6 @@ function buildSectionTree(ctx, scopeSegs, parentPath, scopePrefix, changelogScop
1124
1058
  return false;
1125
1059
  })
1126
1060
  .sort((a, b) => a.seg.sortOrder - b.seg.sortOrder);
1127
- const siblingBoundaries = computeDuplicateSiblingSortBoundaries(direct);
1128
1061
  return direct.map((s) => {
1129
1062
  const type = metaStr(s.seg.metadata, "type");
1130
1063
  const childIndex = metaNum(s.seg.metadata, "childIndex");
@@ -1137,11 +1070,7 @@ function buildSectionTree(ctx, scopeSegs, parentPath, scopePrefix, changelogScop
1137
1070
  }
1138
1071
  else {
1139
1072
  // section (or unrecognised) → recurse for nested sections.
1140
- const boundary = siblingBoundaries.get(s);
1141
- const childScopeSegs = boundary != null
1142
- ? scopeSegs.filter((candidate) => candidate.seg.sortOrder >= boundary.lo && candidate.seg.sortOrder < boundary.hi)
1143
- : scopeSegs;
1144
- node = sectionNode(ctx, s, buildSectionTree(ctx, childScopeSegs, s.seg.section, scopePrefix, changelogScopePrefix), scopePrefix);
1073
+ node = sectionNode(ctx, s, buildSectionTree(ctx, scopeSegs, s.seg.section, scopePrefix, changelogScopePrefix), scopePrefix);
1145
1074
  }
1146
1075
  return { node, childIndex };
1147
1076
  });
@@ -1176,11 +1105,8 @@ function computeSiblingSortBoundaries(ordered) {
1176
1105
  rootSections.push(s);
1177
1106
  continue;
1178
1107
  }
1179
- const depth = metaNum(s.seg.metadata, "sidebarDepth");
1180
1108
  const parent = parentSectionPath(sec);
1181
- const isRootLevel = depth === 0 ||
1182
- parent === "" ||
1183
- (!sectionPaths.has(parent) && nearestExistingAncestor(sec, sectionPaths) === "");
1109
+ const isRootLevel = parent === "" || (!sectionPaths.has(parent) && nearestExistingAncestor(sec, sectionPaths) === "");
1184
1110
  if (isRootLevel) {
1185
1111
  rootSections.push(s);
1186
1112
  }
@@ -1247,11 +1173,11 @@ function buildSidebarRootChildren(ctx, scopeSegs, scopePrefix, changelogScopePre
1247
1173
  // │ → emit pages/links inline at their displaySortOrder
1248
1174
  // │
1249
1175
  // ├─ (B) the root section itself (sec=="", type=="section")
1250
- // │ → buildSectionTree adopts nested children (depth > 0)
1251
- // │ → emit one sectionNode wrapping the subtree
1176
+ // │ → buildSectionTree adopts ALL depth-0 children as its own
1177
+ // │ → emit one sectionNode wrapping the whole subtree
1252
1178
  // │
1253
- // └─ (C) depth-0 sections (sidebarDepth==0 or parentSectionPath=="")
1254
- // → emit directly as root children (not adopted by B)
1179
+ // └─ (C) depth-0 sections (parentSectionPath=="")
1180
+ // → SKIP already adopted by (B) via buildSectionTree
1255
1181
  //
1256
1182
  // Without a root section, depth-0 sections are emitted directly.
1257
1183
  //
@@ -1274,15 +1200,6 @@ function buildSidebarRootChildren(ctx, scopeSegs, scopePrefix, changelogScopePre
1274
1200
  if (hasOwningApiReference(s, scopeSegs) || isNestedApiPackage(s, scopeSegs)) {
1275
1201
  continue;
1276
1202
  }
1277
- // Skip apiPackage segments that share their section path with an
1278
- // apiReference sibling (skipUrlSlug structural wrappers). Their
1279
- // children are already claimed by the apiReference via DFS ordering.
1280
- if (type === "apiPackage") {
1281
- const hasApiRefSibling = ordered.some((sib) => sib.seg.section === sec && metaStr(sib.seg.metadata, "type") === "apiReference");
1282
- if (hasApiRefSibling) {
1283
- continue;
1284
- }
1285
- }
1286
1203
  if (type === "tabRoot" && metaBool(s.seg.metadata, "landingPage") === true) {
1287
1204
  continue;
1288
1205
  }
@@ -1315,19 +1232,13 @@ function buildSidebarRootChildren(ctx, scopeSegs, scopePrefix, changelogScopePre
1315
1232
  }
1316
1233
  // (C) Depth-0 or orphaned sections — emit at root unless already
1317
1234
  // adopted by a root section (B).
1318
- const depth = metaNum(s.seg.metadata, "sidebarDepth");
1319
1235
  const parent = parentSectionPath(sec);
1320
- const isRootLevel = depth === 0 ||
1321
- parent === "" ||
1322
- (!sectionPaths.has(parent) && nearestExistingAncestor(sec, sectionPaths) === "");
1323
- // Skip sections already adopted by the root section wrapper (B).
1324
- // Sections with sidebarDepth===0 are true V1 root peers that
1325
- // buildSectionTree now excludes they must NOT be skipped.
1326
- // Sections with sidebarDepth>0 are nested children that SHOULD
1327
- // be adopted, so they must be skipped to avoid duplication.
1328
- // Sections without sidebarDepth (old data) are also skipped —
1329
- // they rely on path-based hierarchy in buildSectionTree.
1330
- if (isRootLevel && hasRootSection && sec !== "" && depth !== 0) {
1236
+ const isRootLevel = parent === "" || (!sectionPaths.has(parent) && nearestExistingAncestor(sec, sectionPaths) === "");
1237
+ // Skip depth-0 sections already adopted by the root section wrapper (B),
1238
+ // but NOT structural types with sec="" (skip-slug). buildSectionTree
1239
+ // filters out sec="" segments (line 1249), so they wouldn't be adopted
1240
+ // and must be emitted here directly.
1241
+ if (isRootLevel && hasRootSection && sec !== "") {
1331
1242
  continue;
1332
1243
  }
1333
1244
  if (isRootLevel) {
@@ -1428,6 +1339,11 @@ function groupSidebarRootChildren(ctx, children) {
1428
1339
  flushRun();
1429
1340
  out.push(child);
1430
1341
  }
1342
+ else if (child.type === "changelog") {
1343
+ flushRun();
1344
+ run.push(child);
1345
+ flushRun();
1346
+ }
1431
1347
  else {
1432
1348
  run.push(child);
1433
1349
  }
@@ -1594,7 +1510,7 @@ function buildVariantedNode(ctx, variants, scopeSegs, scopePrefix) {
1594
1510
  ? asSlug(FernNavigation.slugjoin(scopePrefix, variantIndividualSlug))
1595
1511
  : scopePrefix;
1596
1512
  const metaPointsTo = metaStr(variant.metadata, "pointsTo");
1597
- const children = buildSidebarRootChildren(ctx, variantSegs, variantSlug);
1513
+ const children = buildSidebarRootChildren(ctx, variantSegs, scopePrefix);
1598
1514
  return {
1599
1515
  type: "variant",
1600
1516
  ...withMetadataDefaults({
@@ -2130,14 +2046,6 @@ function buildProductGroup(ctx, products, scoped, rootSlug, skipSharedSectionMer
2130
2046
  };
2131
2047
  return node;
2132
2048
  });
2133
- // Cross-product canonical slug deduplication (V2 parity).
2134
- // V2's migrator deduplicates pages across products via a global pageId map:
2135
- // the first product to register a pageId wins, and subsequent products'
2136
- // pages with the same pageId receive a canonicalSlug pointing to the
2137
- // canonical (default-product) page. Without this, shared content that is
2138
- // materialized under every product scope (e.g. merge-api-basics pages)
2139
- // appears as separate sitemap entries per product.
2140
- markCrossProductCanonicalSlugs(children);
2141
2049
  return {
2142
2050
  type: "productgroup",
2143
2051
  id: ctx.nodeId("productgroup"),
@@ -2146,43 +2054,5 @@ function buildProductGroup(ctx, products, scoped, rootSlug, skipSharedSectionMer
2146
2054
  children
2147
2055
  };
2148
2056
  }
2149
- /**
2150
- * Deduplicate pages across products using pageId as a content-identity key.
2151
- * Pages with the same pageId in different products are the same content
2152
- * materialized per-scope; the default product's slug becomes canonical and
2153
- * non-default copies receive `canonicalSlug` so the sitemap collapses them.
2154
- *
2155
- * API leaf nodes (endpoints, websockets, etc.) are unaffected — `getPageId`
2156
- * returns undefined for those types, so product-specific API surface is
2157
- * never suppressed.
2158
- */
2159
- function markCrossProductCanonicalSlugs(productNodes) {
2160
- const pageIdToCanonical = new Map();
2161
- // Process default product first so its slugs become the canonical targets.
2162
- const sorted = [...productNodes].sort((a, b) => {
2163
- if (a.default !== b.default) {
2164
- return a.default ? -1 : 1;
2165
- }
2166
- return 0;
2167
- });
2168
- for (const product of sorted) {
2169
- FernNavigation.traverseDF(product, (child) => {
2170
- if (FernNavigation.hasMetadata(child) && FernNavigation.isPage(child)) {
2171
- const pid = FernNavigation.getPageId(child);
2172
- if (pid == null) {
2173
- return;
2174
- }
2175
- const key = `pid:${pid}`;
2176
- const canonical = pageIdToCanonical.get(key);
2177
- if (canonical != null && !product.default) {
2178
- child.canonicalSlug = canonical;
2179
- }
2180
- else if (canonical == null) {
2181
- pageIdToCanonical.set(key, child.canonicalSlug ?? child.slug);
2182
- }
2183
- }
2184
- });
2185
- }
2186
- }
2187
2057
  // (root keeps the bare "root" id; it is the single tree root.)
2188
2058
  //# sourceMappingURL=ledger-root-builder.js.map