@fern-api/fdr-sdk 1.2.51-403b2eae4f → 1.2.51-c32b5f74fd

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.
@@ -12,15 +12,12 @@ import { buildFullRootFromSegments } from "../ledger-root-builder.js";
12
12
  * metadata rather than the overview page's actual pageId. If they
13
13
  * differ, the content-ID dedup key is lost.
14
14
  *
15
- * Bug 2 (FER-11461): an apiPackage landing page that shares its overviewPageId
16
- * with its parent apiReference should canonicalize up to the parent —
17
- * matching V2. This holds for both leaf apiPackages AND container
18
- * apiPackages (with endpoint children): having children is NOT a reason
19
- * to keep a separate entry. The container is only kept separate when a
20
- * DIFFERENT page owns the parent slug (e.g. BigCommerce, where a section
21
- * owns `.../payments` with its own overview) — i.e. the guard skips dedup
22
- * only when the page owning the canonical slug does not share the
23
- * container's content.
15
+ * Bug 2: Leaf apiPackage landing pages (no endpoint children) should
16
+ * canonicalize to their parent apiReference when they share the
17
+ * same overviewPageId. Container apiPackages (with endpoint
18
+ * children) keep separate sitemap entries correct V2 behavior
19
+ * (e.g. BigCommerce). The ancestor guard is only skipped for
20
+ * leaf nodes.
24
21
  */
25
22
  function pageRoute(opts) {
26
23
  return {
@@ -88,23 +85,6 @@ const EXTENSIBILITY_PRODUCT = {
88
85
  slug: "extensibility",
89
86
  isDefault: false
90
87
  };
91
- /**
92
- * The set of slugs that would appear in the rendered sitemap, mirroring
93
- * `collectLocaleSitemapPages` in the bundle's sitemap route: every indexable
94
- * page node, keyed by `canonicalSlug ?? slug` (so folded duplicates collapse).
95
- * Used to assert the user-facing symptom (sitemap entry present/absent), not
96
- * just the internal `canonicalSlug` field.
97
- */
98
- function sitemapSlugs(root) {
99
- const slugs = new Set();
100
- for (const node of FernNavigation.NodeCollector.collect(root).indexablePageNodesWithAuth) {
101
- if (node.authed) {
102
- continue;
103
- }
104
- slugs.add(node.canonicalSlug ?? node.slug);
105
- }
106
- return slugs;
107
- }
108
88
  describe("Bug 2: apiPackage landing pages should canonicalize to parent apiReference", () => {
109
89
  it("leaf apiPackage with same overviewPageId as parent apiReference canonicalizes up", () => {
110
90
  // When an apiPackage is a leaf (no endpoint children) and shares the
@@ -172,14 +152,11 @@ describe("Bug 2: apiPackage landing pages should canonicalize to parent apiRefer
172
152
  // Leaf apiPackage canonicalizes to parent because guard is skipped
173
153
  expect(apiPkg?.canonicalSlug).toBe("developers/docs/references/content-delivery-api");
174
154
  });
175
- it("container apiPackage canonicalizes up when the apiReference that OWNS the parent slug shares its overview (contentful, FER-11461)", () => {
176
- // A container apiPackage (with endpoint children) that shares its
177
- // overviewPageId with the parent apiReference MUST canonicalize up when
178
- // that apiReference is the page genuinely rendering the parent slug —
179
- // matching V2 (live: contentful `spaces` -> `content-delivery-api`,
180
- // excluded from the sitemap). Having endpoint children is NOT sufficient
181
- // reason to keep it separate; only a DIFFERENT owner of the parent slug
182
- // is (see the BigCommerce case below).
155
+ it("apiPackage with endpoint children keeps separate sitemap entry even when sharing overviewPageId", () => {
156
+ // When an apiPackage has endpoint children (is a container, not a leaf)
157
+ // and shares the same overviewPageId as its parent apiReference, the
158
+ // ancestor guard is retained. Both parent and child are separate
159
+ // sitemap entries correct V2 behavior (e.g. BigCommerce).
183
160
  const SHARED_OVERVIEW = "cda-overview-page";
184
161
  const API_DEF = "api-def-cda";
185
162
  const root = buildFullRootFromSegments({
@@ -249,372 +226,8 @@ describe("Bug 2: apiPackage landing pages should canonicalize to parent apiRefer
249
226
  expect(apiRef?.canonicalSlug).toBeUndefined();
250
227
  const apiPkg = slugMap.get(FernNavigation.Slug("developers/docs/references/content-delivery-api/spaces"))?.node;
251
228
  expect(apiPkg?.type).toBe("apiPackage");
252
- // Container apiPackage canonicalizes UP: the apiReference owns the parent
253
- // slug AND shares the overview content, so this is a duplicate (matches V2).
254
- expect(apiPkg?.canonicalSlug).toBe("developers/docs/references/content-delivery-api");
255
- // Symptom-level: the folded collection page drops OUT of the sitemap and
256
- // the API root remains (live: contentful ledger sitemap 895 -> 888).
257
- const inSitemap = sitemapSlugs(root);
258
- expect(inSitemap.has("developers/docs/references/content-delivery-api")).toBe(true);
259
- expect(inSitemap.has("developers/docs/references/content-delivery-api/spaces")).toBe(false);
260
- });
261
- it("container apiPackage stays separate when a DIFFERENT page owns the parent slug (BigCommerce, #12610)", () => {
262
- // BigCommerce shape: a `section` owns the slug `.../payments` (its own
263
- // overview), and a transparent apiReference at the SAME slug has a child
264
- // apiPackage that shares the apiReference's beta overview. Folding the
265
- // apiPackage into `.../payments` would point it at the section's unrelated
266
- // overview, so it must remain a separate sitemap entry.
267
- const SECTION_OVERVIEW = "payments-section-overview";
268
- const BETA_OVERVIEW = "stored-instruments-beta-overview";
269
- const API_DEF = "api-def-tokens";
270
- const root = buildFullRootFromSegments({
271
- basePath: "developers/docs",
272
- title: "BigCommerce",
273
- segments: [
274
- segment({
275
- segmentHash: "seg-root",
276
- section: "",
277
- sortOrder: 0,
278
- metadata: { type: "tabRoot" }
279
- }),
280
- // The SECTION owns `.../payments` with its own overview.
281
- segment({
282
- segmentHash: "seg-payments",
283
- section: "developer/payments",
284
- sortOrder: 1,
285
- metadata: {
286
- type: "section",
287
- title: "Payments",
288
- childIndex: 0,
289
- overviewPageId: SECTION_OVERVIEW
290
- }
291
- }),
292
- // Transparent apiReference at the SAME slug, sharing the beta overview
293
- // with its apiPackage child.
294
- segment({
295
- segmentHash: "seg-payments-apiref",
296
- section: "developer/payments",
297
- sortOrder: 2,
298
- metadata: {
299
- type: "apiReference",
300
- title: "API Reference",
301
- childIndex: 1,
302
- apiDefinitionId: API_DEF,
303
- overviewPageId: BETA_OVERVIEW
304
- }
305
- }),
306
- segment({
307
- segmentHash: "seg-payments-stored",
308
- section: "developer/payments/stored-instruments",
309
- sortOrder: 3,
310
- metadata: {
311
- type: "apiPackage",
312
- title: "Stored Instruments (Beta)",
313
- childIndex: 0,
314
- apiDefinitionId: API_DEF,
315
- overviewPageId: BETA_OVERVIEW
316
- }
317
- })
318
- ],
319
- navBySegment: new Map([
320
- [
321
- "seg-payments",
322
- [
323
- pageRoute({
324
- fullPath: "developer/payments",
325
- title: "Payments Overview",
326
- pageId: SECTION_OVERVIEW,
327
- isOverview: true
328
- })
329
- ]
330
- ],
331
- [
332
- "seg-payments-stored",
333
- [
334
- endpointRoute({
335
- fullPath: "developer/payments/stored-instruments/create-instrument",
336
- title: "Create Instrument",
337
- endpointId: "create-instrument",
338
- apiDefinitionId: API_DEF
339
- })
340
- ]
341
- ]
342
- ])
343
- });
344
- FernNavigation.utils.mutableUpdatePointsTo(root);
345
- const slugMap = FernNavigation.NodeCollector.collect(root).getSlugMapWithParents();
346
- const stored = slugMap.get(FernNavigation.Slug("developers/docs/developer/payments/stored-instruments"))?.node;
347
- expect(stored?.type).toBe("apiPackage");
348
- // A DIFFERENT page (the section) owns `.../payments`, so the container
349
- // must NOT fold into it — stays a separate sitemap entry.
350
- expect(stored?.canonicalSlug).toBeUndefined();
351
- // Symptom-level: the container keeps its own sitemap entry, and the
352
- // section's own slug is still present (no regression to #12610).
353
- const inSitemap = sitemapSlugs(root);
354
- expect(inSitemap.has("developers/docs/developer/payments/stored-instruments")).toBe(true);
355
- expect(inSitemap.has("developers/docs/developer/payments")).toBe(true);
356
- });
357
- it("container apiPackage with its OWN unique overviewPageId stays a separate sitemap entry (no over-folding)", () => {
358
- // Guard against over-folding: a container that does NOT share its parent's
359
- // overview has independent content and must keep its own canonical page.
360
- const PARENT_OVERVIEW = "cda-overview-page";
361
- const OWN_OVERVIEW = "spaces-own-overview-page";
362
- const API_DEF = "api-def-cda";
363
- const root = buildFullRootFromSegments({
364
- basePath: "developers/docs",
365
- title: "Contentful",
366
- segments: [
367
- segment({ segmentHash: "seg-root", section: "", sortOrder: 0, metadata: { type: "tabRoot" } }),
368
- segment({
369
- segmentHash: "seg-cda",
370
- section: "references/content-delivery-api",
371
- sortOrder: 1,
372
- metadata: {
373
- type: "apiReference",
374
- title: "Content Delivery API",
375
- childIndex: 0,
376
- apiDefinitionId: API_DEF,
377
- overviewPageId: PARENT_OVERVIEW
378
- }
379
- }),
380
- segment({
381
- segmentHash: "seg-cda-spaces",
382
- section: "references/content-delivery-api/spaces",
383
- sortOrder: 2,
384
- metadata: {
385
- type: "apiPackage",
386
- title: "Spaces",
387
- childIndex: 0,
388
- apiDefinitionId: API_DEF,
389
- overviewPageId: OWN_OVERVIEW
390
- }
391
- })
392
- ],
393
- navBySegment: new Map([
394
- [
395
- "seg-cda",
396
- [
397
- pageRoute({
398
- fullPath: "references/content-delivery-api",
399
- title: "Content Delivery API Overview",
400
- pageId: PARENT_OVERVIEW,
401
- isOverview: true
402
- })
403
- ]
404
- ],
405
- [
406
- "seg-cda-spaces",
407
- [
408
- endpointRoute({
409
- fullPath: "references/content-delivery-api/spaces/get-space",
410
- title: "Get a space",
411
- endpointId: "get-space",
412
- apiDefinitionId: API_DEF
413
- })
414
- ]
415
- ]
416
- ])
417
- });
418
- FernNavigation.utils.mutableUpdatePointsTo(root);
419
- const slugMap = FernNavigation.NodeCollector.collect(root).getSlugMapWithParents();
420
- const apiPkg = slugMap.get(FernNavigation.Slug("developers/docs/references/content-delivery-api/spaces"))?.node;
421
- expect(apiPkg?.type).toBe("apiPackage");
422
- // Unique overview → not a duplicate → keeps its own canonical + sitemap entry.
229
+ // Container apiPackage does NOT canonicalize ancestor guard applies
423
230
  expect(apiPkg?.canonicalSlug).toBeUndefined();
424
- const inSitemap = sitemapSlugs(root);
425
- expect(inSitemap.has("developers/docs/references/content-delivery-api")).toBe(true);
426
- expect(inSitemap.has("developers/docs/references/content-delivery-api/spaces")).toBe(true);
427
- });
428
- it("multiple sibling collection apiPackages sharing the apiReference overview all fold out of the sitemap (contentful 7-page symptom)", () => {
429
- const SHARED_OVERVIEW = "cda-overview-page";
430
- const API_DEF = "api-def-cda";
431
- const root = buildFullRootFromSegments({
432
- basePath: "developers/docs",
433
- title: "Contentful",
434
- segments: [
435
- segment({ segmentHash: "seg-root", section: "", sortOrder: 0, metadata: { type: "tabRoot" } }),
436
- segment({
437
- segmentHash: "seg-cda",
438
- section: "references/content-delivery-api",
439
- sortOrder: 1,
440
- metadata: {
441
- type: "apiReference",
442
- title: "Content Delivery API",
443
- childIndex: 0,
444
- apiDefinitionId: API_DEF,
445
- overviewPageId: SHARED_OVERVIEW
446
- }
447
- }),
448
- segment({
449
- segmentHash: "seg-spaces",
450
- section: "references/content-delivery-api/spaces",
451
- sortOrder: 2,
452
- metadata: {
453
- type: "apiPackage",
454
- title: "Spaces",
455
- childIndex: 0,
456
- apiDefinitionId: API_DEF,
457
- overviewPageId: SHARED_OVERVIEW
458
- }
459
- }),
460
- segment({
461
- segmentHash: "seg-entries",
462
- section: "references/content-delivery-api/entries",
463
- sortOrder: 3,
464
- metadata: {
465
- type: "apiPackage",
466
- title: "Entries",
467
- childIndex: 1,
468
- apiDefinitionId: API_DEF,
469
- overviewPageId: SHARED_OVERVIEW
470
- }
471
- })
472
- ],
473
- navBySegment: new Map([
474
- [
475
- "seg-cda",
476
- [
477
- pageRoute({
478
- fullPath: "references/content-delivery-api",
479
- title: "Content Delivery API Overview",
480
- pageId: SHARED_OVERVIEW,
481
- isOverview: true
482
- })
483
- ]
484
- ],
485
- [
486
- "seg-spaces",
487
- [
488
- endpointRoute({
489
- fullPath: "references/content-delivery-api/spaces/get-space",
490
- title: "Get a space",
491
- endpointId: "get-space",
492
- apiDefinitionId: API_DEF
493
- })
494
- ]
495
- ],
496
- [
497
- "seg-entries",
498
- [
499
- endpointRoute({
500
- fullPath: "references/content-delivery-api/entries/get-entry",
501
- title: "Get an entry",
502
- endpointId: "get-entry",
503
- apiDefinitionId: API_DEF
504
- })
505
- ]
506
- ]
507
- ])
508
- });
509
- FernNavigation.utils.mutableUpdatePointsTo(root);
510
- const slugMap = FernNavigation.NodeCollector.collect(root).getSlugMapWithParents();
511
- const spaces = slugMap.get(FernNavigation.Slug("developers/docs/references/content-delivery-api/spaces"))?.node;
512
- const entries = slugMap.get(FernNavigation.Slug("developers/docs/references/content-delivery-api/entries"))?.node;
513
- expect(spaces?.canonicalSlug).toBe("developers/docs/references/content-delivery-api");
514
- expect(entries?.canonicalSlug).toBe("developers/docs/references/content-delivery-api");
515
- const inSitemap = sitemapSlugs(root);
516
- expect(inSitemap.has("developers/docs/references/content-delivery-api")).toBe(true);
517
- expect(inSitemap.has("developers/docs/references/content-delivery-api/spaces")).toBe(false);
518
- expect(inSitemap.has("developers/docs/references/content-delivery-api/entries")).toBe(false);
519
- });
520
- it("nested sub-apiPackage folds to its content-owning ancestor, not the top apiReference", () => {
521
- // The fold target is the NEAREST page that owns the shared overview: a
522
- // sub-apiPackage sharing its parent apiPackage's overview folds to that
523
- // parent (taxonomy), while the parent — owning a different overview than
524
- // the apiReference — stays its own entry.
525
- const CDA_OVERVIEW = "cda-overview";
526
- const TAXONOMY_OVERVIEW = "taxonomy-overview";
527
- const API_DEF = "api-def-cda";
528
- const root = buildFullRootFromSegments({
529
- basePath: "developers/docs",
530
- title: "Contentful",
531
- segments: [
532
- segment({ segmentHash: "seg-root", section: "", sortOrder: 0, metadata: { type: "tabRoot" } }),
533
- segment({
534
- segmentHash: "seg-cda",
535
- section: "references/content-delivery-api",
536
- sortOrder: 1,
537
- metadata: {
538
- type: "apiReference",
539
- title: "Content Delivery API",
540
- childIndex: 0,
541
- apiDefinitionId: API_DEF,
542
- overviewPageId: CDA_OVERVIEW
543
- }
544
- }),
545
- segment({
546
- segmentHash: "seg-tax",
547
- section: "references/content-delivery-api/taxonomy",
548
- sortOrder: 2,
549
- metadata: {
550
- type: "apiPackage",
551
- title: "Taxonomy",
552
- childIndex: 0,
553
- apiDefinitionId: API_DEF,
554
- overviewPageId: TAXONOMY_OVERVIEW
555
- }
556
- }),
557
- segment({
558
- segmentHash: "seg-concepts",
559
- section: "references/content-delivery-api/taxonomy/concepts",
560
- sortOrder: 3,
561
- metadata: {
562
- type: "apiPackage",
563
- title: "Concepts",
564
- childIndex: 0,
565
- apiDefinitionId: API_DEF,
566
- overviewPageId: TAXONOMY_OVERVIEW
567
- }
568
- })
569
- ],
570
- navBySegment: new Map([
571
- [
572
- "seg-cda",
573
- [
574
- pageRoute({
575
- fullPath: "references/content-delivery-api",
576
- title: "CDA Overview",
577
- pageId: CDA_OVERVIEW,
578
- isOverview: true
579
- })
580
- ]
581
- ],
582
- [
583
- "seg-tax",
584
- [
585
- pageRoute({
586
- fullPath: "references/content-delivery-api/taxonomy",
587
- title: "Taxonomy Overview",
588
- pageId: TAXONOMY_OVERVIEW,
589
- isOverview: true
590
- })
591
- ]
592
- ],
593
- [
594
- "seg-concepts",
595
- [
596
- endpointRoute({
597
- fullPath: "references/content-delivery-api/taxonomy/concepts/get-concept",
598
- title: "Get a concept",
599
- endpointId: "get-concept",
600
- apiDefinitionId: API_DEF
601
- })
602
- ]
603
- ]
604
- ])
605
- });
606
- FernNavigation.utils.mutableUpdatePointsTo(root);
607
- const slugMap = FernNavigation.NodeCollector.collect(root).getSlugMapWithParents();
608
- const taxonomy = slugMap.get(FernNavigation.Slug("developers/docs/references/content-delivery-api/taxonomy"))?.node;
609
- const concepts = slugMap.get(FernNavigation.Slug("developers/docs/references/content-delivery-api/taxonomy/concepts"))?.node;
610
- // Taxonomy owns a different overview than the apiReference → stays separate.
611
- expect(taxonomy?.canonicalSlug).toBeUndefined();
612
- // Concepts shares taxonomy's overview → folds to taxonomy (nearest owner), not CDA.
613
- expect(concepts?.canonicalSlug).toBe("developers/docs/references/content-delivery-api/taxonomy");
614
- const inSitemap = sitemapSlugs(root);
615
- expect(inSitemap.has("developers/docs/references/content-delivery-api")).toBe(true);
616
- expect(inSitemap.has("developers/docs/references/content-delivery-api/taxonomy")).toBe(true);
617
- expect(inSitemap.has("developers/docs/references/content-delivery-api/taxonomy/concepts")).toBe(false);
618
231
  });
619
232
  });
620
233
  describe("Bug 1: redirect destination should canonicalize back to redirect source", () => {
@@ -1 +1 @@
1
- {"version":3,"file":"ledger-canonical-bugs.repro.test.js","sourceRoot":"","sources":["../../../src/navigation/__test__/ledger-canonical-bugs.repro.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ledger-canonical-bugs.repro.test.js","sourceRoot":"","sources":["../../../src/navigation/__test__/ledger-canonical-bugs.repro.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAEtE;;;;;;;;;;;;;;;;;GAiBG;AAEH,SAAS,SAAS,CAAC,IAMlB;IACG,OAAO;QACH,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE;YACN,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;YAC1E,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5D;QACD,GAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxF,CAAC;AACN,CAAC;AAED,SAAS,aAAa,CAAC,IAOtB;IACG,OAAO;QACH,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE;YACN,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK;SAC/B;QACD,GAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxF,CAAC;AACN,CAAC;AAED,SAAS,OAAO,CAAC,IAWhB;IACG,OAAO;QACH,SAAS,EAAE,IAAI,CAAC,WAAW;QAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACjB,CAAC,CAAC;gBACI,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;gBACnB,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;gBACrC,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,CAAC;gBACZ,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,KAAK;gBACf,YAAY,EAAE,EAAE;gBAChB,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,KAAK,EAAE;aAClF;YACH,CAAC,CAAC,IAAI;QACV,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI;QACb,GAAG,EAAE,IAAI;KACZ,CAAC;AACN,CAAC;AAED,MAAM,gBAAgB,GAAG;IACrB,EAAE,EAAE,kBAAkB;IACtB,WAAW,EAAE,UAAU;IACvB,IAAI,EAAE,UAAU;IAChB,SAAS,EAAE,IAAI;CAClB,CAAC;AAEF,MAAM,qBAAqB,GAAG;IAC1B,EAAE,EAAE,uBAAuB;IAC3B,WAAW,EAAE,eAAe;IAC5B,IAAI,EAAE,eAAe;IACrB,SAAS,EAAE,KAAK;CACnB,CAAC;AAEF,QAAQ,CAAC,4EAA4E,EAAE,GAAG,EAAE;IACxF,EAAE,CAAC,kFAAkF,EAAE,GAAG,EAAE;QACxF,qEAAqE;QACrE,qEAAqE;QACrE,6DAA6D;QAC7D,MAAM,eAAe,GAAG,mBAAmB,CAAC;QAC5C,MAAM,OAAO,GAAG,aAAa,CAAC;QAE9B,MAAM,IAAI,GAAG,yBAAyB,CAAC;YACnC,QAAQ,EAAE,iBAAiB;YAC3B,KAAK,EAAE,YAAY;YACnB,QAAQ,EAAE;gBACN,OAAO,CAAC;oBACJ,WAAW,EAAE,UAAU;oBACvB,OAAO,EAAE,EAAE;oBACX,SAAS,EAAE,CAAC;oBACZ,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;iBAChC,CAAC;gBACF,OAAO,CAAC;oBACJ,WAAW,EAAE,SAAS;oBACtB,OAAO,EAAE,iCAAiC;oBAC1C,SAAS,EAAE,CAAC;oBACZ,QAAQ,EAAE;wBACN,IAAI,EAAE,cAAc;wBACpB,KAAK,EAAE,sBAAsB;wBAC7B,UAAU,EAAE,CAAC;wBACb,eAAe,EAAE,OAAO;wBACxB,cAAc,EAAE,eAAe;qBAClC;iBACJ,CAAC;gBACF,OAAO,CAAC;oBACJ,WAAW,EAAE,gBAAgB;oBAC7B,OAAO,EAAE,wCAAwC;oBACjD,SAAS,EAAE,CAAC;oBACZ,QAAQ,EAAE;wBACN,IAAI,EAAE,YAAY;wBAClB,KAAK,EAAE,QAAQ;wBACf,UAAU,EAAE,CAAC;wBACb,eAAe,EAAE,OAAO;wBACxB,cAAc,EAAE,eAAe;qBAClC;iBACJ,CAAC;aACI;YACV,YAAY,EAAE,IAAI,GAAG,CAAC;gBAClB;oBACI,SAAS;oBACT;wBACI,SAAS,CAAC;4BACN,QAAQ,EAAE,iCAAiC;4BAC3C,KAAK,EAAE,+BAA+B;4BACtC,MAAM,EAAE,eAAe;4BACvB,UAAU,EAAE,IAAI;yBACnB,CAAC;qBACI;iBACb;gBACD,2DAA2D;aAC9D,CAAC;SACL,CAAC,CAAC;QAEH,cAAc,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAEjD,MAAM,OAAO,GAAG,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,qBAAqB,EAAE,CAAC;QAEnF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC,EAAE,IAAI,CAAC;QACzG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,aAAa,EAAE,CAAC;QAE9C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC,EAAE,IAAI,CAAC;QAChH,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxC,mEAAmE;QACnE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;IAC1F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iGAAiG,EAAE,GAAG,EAAE;QACvG,wEAAwE;QACxE,qEAAqE;QACrE,iEAAiE;QACjE,4DAA4D;QAC5D,MAAM,eAAe,GAAG,mBAAmB,CAAC;QAC5C,MAAM,OAAO,GAAG,aAAa,CAAC;QAE9B,MAAM,IAAI,GAAG,yBAAyB,CAAC;YACnC,QAAQ,EAAE,iBAAiB;YAC3B,KAAK,EAAE,YAAY;YACnB,QAAQ,EAAE;gBACN,OAAO,CAAC;oBACJ,WAAW,EAAE,UAAU;oBACvB,OAAO,EAAE,EAAE;oBACX,SAAS,EAAE,CAAC;oBACZ,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;iBAChC,CAAC;gBACF,OAAO,CAAC;oBACJ,WAAW,EAAE,SAAS;oBACtB,OAAO,EAAE,iCAAiC;oBAC1C,SAAS,EAAE,CAAC;oBACZ,QAAQ,EAAE;wBACN,IAAI,EAAE,cAAc;wBACpB,KAAK,EAAE,sBAAsB;wBAC7B,UAAU,EAAE,CAAC;wBACb,eAAe,EAAE,OAAO;wBACxB,cAAc,EAAE,eAAe;qBAClC;iBACJ,CAAC;gBACF,OAAO,CAAC;oBACJ,WAAW,EAAE,gBAAgB;oBAC7B,OAAO,EAAE,wCAAwC;oBACjD,SAAS,EAAE,CAAC;oBACZ,QAAQ,EAAE;wBACN,IAAI,EAAE,YAAY;wBAClB,KAAK,EAAE,QAAQ;wBACf,UAAU,EAAE,CAAC;wBACb,eAAe,EAAE,OAAO;wBACxB,cAAc,EAAE,eAAe;qBAClC;iBACJ,CAAC;aACI;YACV,YAAY,EAAE,IAAI,GAAG,CAAC;gBAClB;oBACI,SAAS;oBACT;wBACI,SAAS,CAAC;4BACN,QAAQ,EAAE,iCAAiC;4BAC3C,KAAK,EAAE,+BAA+B;4BACtC,MAAM,EAAE,eAAe;4BACvB,UAAU,EAAE,IAAI;yBACnB,CAAC;qBACI;iBACb;gBACD;oBACI,gBAAgB;oBAChB;wBACI,aAAa,CAAC;4BACV,QAAQ,EAAE,kDAAkD;4BAC5D,KAAK,EAAE,aAAa;4BACpB,UAAU,EAAE,WAAW;4BACvB,eAAe,EAAE,OAAO;yBAC3B,CAAC;qBACI;iBACb;aACJ,CAAC;SACL,CAAC,CAAC;QAEH,cAAc,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAEjD,MAAM,OAAO,GAAG,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,qBAAqB,EAAE,CAAC;QAEnF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC,EAAE,IAAI,CAAC;QACzG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,aAAa,EAAE,CAAC;QAE9C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC,EAAE,IAAI,CAAC;QAChH,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxC,sEAAsE;QACtE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,aAAa,EAAE,CAAC;IAClD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,yEAAyE,EAAE,GAAG,EAAE;IACrF,EAAE,CAAC,+EAA+E,EAAE,GAAG,EAAE;QACrF,wEAAwE;QACxE,sEAAsE;QACtE,qEAAqE;QACrE,EAAE;QACF,uEAAuE;QACvE,kDAAkD;QAClD,yDAAyD;QACzD,uDAAuD;QACvD,EAAE;QACF,uEAAuE;QACvE,mEAAmE;QACnE,sEAAsE;QACtE,gCAAgC;QAChC,MAAM,iBAAiB,GAAG,6BAA6B,CAAC;QAExD,MAAM,IAAI,GAAG,yBAAyB,CAAC;YACnC,QAAQ,EAAE,iBAAiB;YAC3B,KAAK,EAAE,YAAY;YACnB,QAAQ,EAAE;gBACN,wBAAwB;gBACxB,OAAO,CAAC;oBACJ,WAAW,EAAE,mBAAmB;oBAChC,OAAO,EAAE,EAAE;oBACX,SAAS,EAAE,CAAC;oBACZ,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC7B,OAAO,EAAE,gBAAgB;iBAC5B,CAAC;gBACF,gEAAgE;gBAChE,OAAO,CAAC;oBACJ,WAAW,EAAE,uBAAuB;oBACpC,OAAO,EAAE,UAAU;oBACnB,SAAS,EAAE,CAAC;oBACZ,QAAQ,EAAE;wBACN,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,UAAU;wBACjB,UAAU,EAAE,CAAC;wBACb,SAAS,EAAE,IAAI;wBACf,YAAY,EAAE,CAAC;wBACf,cAAc,EAAE,iBAAiB;wBACjC,QAAQ,EAAE,iDAAiD;qBAC9D;oBACD,OAAO,EAAE,gBAAgB;iBAC5B,CAAC;gBACF,6BAA6B;gBAC7B,OAAO,CAAC;oBACJ,WAAW,EAAE,cAAc;oBAC3B,OAAO,EAAE,EAAE;oBACX,SAAS,EAAE,EAAE;oBACb,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC7B,OAAO,EAAE,qBAAqB;iBACjC,CAAC;gBACF,8DAA8D;gBAC9D,gEAAgE;gBAChE,qDAAqD;gBACrD,OAAO,CAAC;oBACJ,WAAW,EAAE,kBAAkB;oBAC/B,OAAO,EAAE,UAAU;oBACnB,SAAS,EAAE,EAAE;oBACb,QAAQ,EAAE;wBACN,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,UAAU;wBACjB,UAAU,EAAE,CAAC;wBACb,SAAS,EAAE,IAAI;wBACf,YAAY,EAAE,CAAC;wBACf,cAAc,EAAE,+BAA+B;qBAClD;oBACD,OAAO,EAAE,qBAAqB;iBACjC,CAAC;aACI;YACV,YAAY,EAAE,IAAI,GAAG,CAAC;gBAClB,8DAA8D;gBAC9D;oBACI,kBAAkB;oBAClB;wBACI,SAAS,CAAC;4BACN,QAAQ,EAAE,iCAAiC;4BAC3C,KAAK,EAAE,mBAAmB;4BAC1B,MAAM,EAAE,iBAAiB;4BACzB,UAAU,EAAE,IAAI;yBACnB,CAAC;wBACF,SAAS,CAAC;4BACN,QAAQ,EAAE,oCAAoC;4BAC9C,KAAK,EAAE,aAAa;yBACvB,CAAC;qBACI;iBACb;aACJ,CAAC;SACL,CAAC,CAAC;QAEH,cAAc,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAEjD,MAAM,OAAO,GAAG,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,qBAAqB,EAAE,CAAC;QAEnF,6EAA6E;QAC7E,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,EAAE,IAAI,CAAC;QACxF,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,aAAa,EAAE,CAAC;QAEpD,kEAAkE;QAClE,mDAAmD;QACnD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC,EAAE,IAAI,CAAC;QAC1G,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -2215,38 +2215,6 @@ function buildLandingPage(ctx, scopeSegs) {
2215
2215
  const landingSegment = scopeSegs.find((s) => metaStr(s.seg.metadata, "type") === "tabRoot" && metaBool(s.seg.metadata, "landingPage") === true);
2216
2216
  return routeToLandingPage(ctx, landingSegment?.nav.find((route) => route.type === "markdown"));
2217
2217
  }
2218
- /**
2219
- * Map each slug to the content-ID dedup keys of the FIRST page node that owns it
2220
- * (in DFS order). Used to decide whether folding a container (apiPackage with
2221
- * endpoint children) into an ancestor slug is legitimate.
2222
- *
2223
- * A container should only canonicalize up to an ancestor slug when the page that
2224
- * actually renders at that slug shares the container's overview content (same
2225
- * `overviewPageId`/`pageId`) — matching V2, which dedups purely on content keys.
2226
- * When a DIFFERENT page owns the ancestor slug (e.g. BigCommerce: a `section`
2227
- * owns `.../payments` while an apiPackage under it has its own beta overview),
2228
- * folding would point the container at unrelated content, so it must stay a
2229
- * separate sitemap entry.
2230
- */
2231
- function buildSlugOwnerContentKeys(roots) {
2232
- const slugOwnerKeys = new Map();
2233
- for (const root of roots) {
2234
- FernNavigation.traverseDF(root, (child, parents) => {
2235
- if (FernNavigation.hasMetadata(child) && FernNavigation.isPage(child) && !slugOwnerKeys.has(child.slug)) {
2236
- slugOwnerKeys.set(child.slug, new Set(crossVersionDedupKeys(child, parents)));
2237
- }
2238
- });
2239
- }
2240
- return slugOwnerKeys;
2241
- }
2242
- /** Does the page that owns `canonical` share a content-ID key (`pid:`) with `keys`? */
2243
- function canonicalOwnerSharesContent(slugOwnerKeys, canonical, keys) {
2244
- const ownerKeys = slugOwnerKeys.get(canonical);
2245
- if (ownerKeys == null) {
2246
- return false;
2247
- }
2248
- return keys.some((key) => key.startsWith("pid:") && ownerKeys.has(key));
2249
- }
2250
2218
  /**
2251
2219
  * Within a single version (or unversioned scope), deduplicate pages that
2252
2220
  * share the same content-identity key (endpointId, pageId, etc.).
@@ -2260,7 +2228,6 @@ function canonicalOwnerSharesContent(slugOwnerKeys, canonical, keys) {
2260
2228
  */
2261
2229
  function markWithinScopeCanonicalSlugs(scopeNode) {
2262
2230
  const keyToCanonical = new Map();
2263
- const slugOwnerKeys = buildSlugOwnerContentKeys([scopeNode]);
2264
2231
  FernNavigation.traverseDF(scopeNode, (child, parents) => {
2265
2232
  if (FernNavigation.hasMetadata(child) && FernNavigation.isPage(child)) {
2266
2233
  const keys = crossVersionDedupKeys(child, parents);
@@ -2268,17 +2235,12 @@ function markWithinScopeCanonicalSlugs(scopeNode) {
2268
2235
  for (const key of keys) {
2269
2236
  const canonical = keyToCanonical.get(key);
2270
2237
  if (canonical != null && canonical !== child.slug) {
2271
- // Skip dedup when the canonical slug is a proper ancestor of the
2272
- // child's slug AND the child is a container (apiPackage with
2273
- // endpoint children) UNLESS the page that actually owns the
2274
- // ancestor slug shares this child's overview content. V2 folds a
2275
- // container into its parent only when the parent genuinely renders
2276
- // the same overview (contentful: `spaces` -> `content-delivery-api`);
2277
- // it keeps the container separate when a different page owns that
2278
- // slug (BigCommerce: a `section` owns `.../payments`).
2279
- if (child.slug.startsWith(canonical + "/") &&
2280
- FernNavigation.getChildren(child).length > 0 &&
2281
- !canonicalOwnerSharesContent(slugOwnerKeys, canonical, keys)) {
2238
+ // Skip dedup when the canonical slug is a proper ancestor
2239
+ // of the child's slug AND the child has children of its own
2240
+ // (it's a container like apiPackage with endpoints, not a
2241
+ // leaf-level landing page). Container nodes at different URL
2242
+ // depths are separate sitemap entries, not duplicates.
2243
+ if (child.slug.startsWith(canonical + "/") && FernNavigation.getChildren(child).length > 0) {
2282
2244
  continue;
2283
2245
  }
2284
2246
  child.canonicalSlug = canonical;
@@ -2316,7 +2278,6 @@ function markCrossVersionCanonicalSlugs(versionNodes) {
2316
2278
  }
2317
2279
  return 0;
2318
2280
  });
2319
- const slugOwnerKeys = buildSlugOwnerContentKeys(sorted);
2320
2281
  for (const version of sorted) {
2321
2282
  FernNavigation.traverseDF(version, (child, parents) => {
2322
2283
  if (FernNavigation.hasMetadata(child) && FernNavigation.isPage(child)) {
@@ -2325,13 +2286,10 @@ function markCrossVersionCanonicalSlugs(versionNodes) {
2325
2286
  for (const key of keys) {
2326
2287
  const canonical = keyToCanonical.get(key);
2327
2288
  if (canonical != null && !version.default) {
2328
- // Skip dedup when the canonical slug is a proper ancestor of the
2329
- // child's slug AND the child is a container — UNLESS the page that
2330
- // owns the ancestor slug shares this child's overview content (see
2331
- // markWithinScopeCanonicalSlugs for the contentful/BigCommerce cases).
2332
- if (child.slug.startsWith(canonical + "/") &&
2333
- FernNavigation.getChildren(child).length > 0 &&
2334
- !canonicalOwnerSharesContent(slugOwnerKeys, canonical, keys)) {
2289
+ // Skip dedup when the canonical slug is a proper ancestor
2290
+ // of the child's slug AND the child has children (container
2291
+ // nodes at different URL depths, not duplicates).
2292
+ if (child.slug.startsWith(canonical + "/") && FernNavigation.getChildren(child).length > 0) {
2335
2293
  continue;
2336
2294
  }
2337
2295
  child.canonicalSlug = canonical;