@fern-api/fdr-sdk 1.2.42-e01a8637c3 → 1.2.43-345d4ef0ea

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 +12 -0
  2. package/dist/js/client/FdrClient.js.map +1 -1
  3. package/dist/js/client/FdrClient.mjs +12 -0
  4. package/dist/js/client/FdrClient.mjs.map +1 -1
  5. package/dist/js/index.js +12 -0
  6. package/dist/js/index.js.map +1 -1
  7. package/dist/js/index.mjs +12 -0
  8. package/dist/js/index.mjs.map +1 -1
  9. package/dist/js/navigation/ledger-root-builder.js +54 -13
  10. package/dist/js/navigation/ledger-root-builder.js.map +1 -1
  11. package/dist/js/navigation/ledger-root-builder.mjs +54 -13
  12. package/dist/js/navigation/ledger-root-builder.mjs.map +1 -1
  13. package/dist/js/orpc-client.js +59 -0
  14. package/dist/js/orpc-client.js.map +1 -1
  15. package/dist/js/orpc-client.mjs +58 -0
  16. package/dist/js/orpc-client.mjs.map +1 -1
  17. package/dist/navigation/__test__/ledger-root-builder.crossTabPrevNext.test.d.ts +2 -0
  18. package/dist/navigation/__test__/ledger-root-builder.crossTabPrevNext.test.d.ts.map +1 -0
  19. package/dist/navigation/__test__/ledger-root-builder.crossTabPrevNext.test.js +230 -0
  20. package/dist/navigation/__test__/ledger-root-builder.crossTabPrevNext.test.js.map +1 -0
  21. package/dist/navigation/__test__/ledger-root-builder.sidebarDepth.test.js +167 -0
  22. package/dist/navigation/__test__/ledger-root-builder.sidebarDepth.test.js.map +1 -1
  23. package/dist/navigation/__test__/ledger-root-builder.skipSlugSiblingSection.test.js +255 -1
  24. package/dist/navigation/__test__/ledger-root-builder.skipSlugSiblingSection.test.js.map +1 -1
  25. package/dist/navigation/ledger-root-builder.d.ts.map +1 -1
  26. package/dist/navigation/ledger-root-builder.js +95 -17
  27. package/dist/navigation/ledger-root-builder.js.map +1 -1
  28. package/dist/orpc-client/docs-ledger/__test__/config-files.navFiles.test.d.ts +2 -0
  29. package/dist/orpc-client/docs-ledger/__test__/config-files.navFiles.test.d.ts.map +1 -0
  30. package/dist/orpc-client/docs-ledger/__test__/config-files.navFiles.test.js +153 -0
  31. package/dist/orpc-client/docs-ledger/__test__/config-files.navFiles.test.js.map +1 -0
  32. package/dist/orpc-client/docs-ledger/config-files.d.ts +8 -0
  33. package/dist/orpc-client/docs-ledger/config-files.d.ts.map +1 -1
  34. package/dist/orpc-client/docs-ledger/config-files.js +69 -0
  35. package/dist/orpc-client/docs-ledger/config-files.js.map +1 -1
  36. package/dist/orpc-client/docs-ledger/contract.d.ts +424 -28
  37. package/dist/orpc-client/docs-ledger/contract.d.ts.map +1 -1
  38. package/dist/orpc-client/docs-ledger/contract.js +14 -0
  39. package/dist/orpc-client/docs-ledger/contract.js.map +1 -1
  40. package/dist/orpc-client/docs-ledger/ledger-manifest.d.ts +92 -0
  41. package/dist/orpc-client/docs-ledger/ledger-manifest.d.ts.map +1 -1
  42. package/dist/tsconfig.tsbuildinfo +1 -1
  43. package/dist/types/navigation/__test__/ledger-root-builder.crossTabPrevNext.test.d.ts +2 -0
  44. package/dist/types/navigation/__test__/ledger-root-builder.crossTabPrevNext.test.d.ts.map +1 -0
  45. package/dist/types/navigation/ledger-root-builder.d.ts.map +1 -1
  46. package/dist/types/orpc-client/docs-ledger/__test__/config-files.navFiles.test.d.ts +2 -0
  47. package/dist/types/orpc-client/docs-ledger/__test__/config-files.navFiles.test.d.ts.map +1 -0
  48. package/dist/types/orpc-client/docs-ledger/config-files.d.ts +8 -0
  49. package/dist/types/orpc-client/docs-ledger/config-files.d.ts.map +1 -1
  50. package/dist/types/orpc-client/docs-ledger/contract.d.ts +424 -28
  51. package/dist/types/orpc-client/docs-ledger/contract.d.ts.map +1 -1
  52. package/dist/types/orpc-client/docs-ledger/ledger-manifest.d.ts +92 -0
  53. package/dist/types/orpc-client/docs-ledger/ledger-manifest.d.ts.map +1 -1
  54. package/package.json +1 -1
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ledger-root-builder.crossTabPrevNext.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ledger-root-builder.crossTabPrevNext.test.d.ts","sourceRoot":"","sources":["../../../src/navigation/__test__/ledger-root-builder.crossTabPrevNext.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,230 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import * as FernNavigation from "../index.js";
3
+ import { buildFullRootFromSegments } from "../ledger-root-builder.js";
4
+ /**
5
+ * Tests that cross-tab prev/next navigation can be resolved by traversing
6
+ * adjacent tab subtrees. Ledger models top-level sections as separate tabs
7
+ * (each with its own sidebarRoot), while v2 places them under a single
8
+ * sidebarRoot. NodeCollector resets prev/next at sidebarRoot boundaries, so
9
+ * cross-tab bridging must be done externally (in shared-page.tsx).
10
+ *
11
+ * This test validates:
12
+ * 1. findNode produces next=undefined at tab boundaries (expected NodeCollector behavior)
13
+ * 2. The first/last neighbor of adjacent tabs can be found via DFS traversal
14
+ */
15
+ function detail(opts) {
16
+ return {
17
+ id: opts.id,
18
+ displayName: opts.name,
19
+ icon: null,
20
+ sortOrder: 0,
21
+ hidden: false,
22
+ viewers: [],
23
+ orphaned: false,
24
+ featureFlags: [],
25
+ metadata: { slug: opts.slug, default: opts.isDefault ?? false, pointsTo: opts.pointsTo }
26
+ };
27
+ }
28
+ function seg(opts) {
29
+ return {
30
+ segmentId: opts.segmentHash,
31
+ segmentHash: opts.segmentHash,
32
+ section: opts.section,
33
+ locale: "en",
34
+ sortOrder: opts.sortOrder ?? 0,
35
+ hidden: false,
36
+ metadata: {
37
+ type: opts.type,
38
+ ...(opts.title != null ? { title: opts.title } : {})
39
+ },
40
+ product: null,
41
+ version: opts.version ?? null,
42
+ variant: null,
43
+ tab: opts.tab ?? null
44
+ };
45
+ }
46
+ function markdownRoute(fullPath, title, pageId) {
47
+ return { type: "markdown", fullPath, hidden: false, metadata: { title, pageId } };
48
+ }
49
+ function buildRoot(opts) {
50
+ return buildFullRootFromSegments({
51
+ basePath: opts.basePath,
52
+ title: "Test",
53
+ segments: opts.segments,
54
+ navBySegment: opts.navBySegment
55
+ });
56
+ }
57
+ /**
58
+ * Find the first neighbor node in a subtree via DFS.
59
+ * Mirrors the helper in shared-page.tsx.
60
+ */
61
+ function findFirstNeighborInSubtree(node) {
62
+ let first;
63
+ FernNavigation.traverseDF(node, (n) => {
64
+ if (first == null && FernNavigation.isNeighbor(n)) {
65
+ first = n;
66
+ return false; // STOP
67
+ }
68
+ return true;
69
+ });
70
+ return first;
71
+ }
72
+ /**
73
+ * Find the last neighbor node in a subtree via DFS.
74
+ * Mirrors the helper in shared-page.tsx.
75
+ */
76
+ function findLastNeighborInSubtree(node) {
77
+ let last;
78
+ FernNavigation.traverseDF(node, (n) => {
79
+ if (FernNavigation.isNeighbor(n)) {
80
+ last = n;
81
+ }
82
+ return true;
83
+ });
84
+ return last;
85
+ }
86
+ describe("cross-tab prev/next navigation", () => {
87
+ // Simulates a site with two top-level sections modeled as separate tabs.
88
+ // basePath = "docs", no product, default version with slug "".
89
+ // Tab1: "design-apis" with 3 pages
90
+ // Tab2: "administration" with 2 pages
91
+ const version = detail({
92
+ id: "v-latest",
93
+ name: "Latest (v12)",
94
+ slug: "",
95
+ isDefault: true,
96
+ pointsTo: "design-apis/overview"
97
+ });
98
+ const tab1 = detail({
99
+ id: "t-design-apis",
100
+ name: "Design APIs",
101
+ slug: "design-apis",
102
+ pointsTo: "design-apis/overview"
103
+ });
104
+ const tab2 = detail({
105
+ id: "t-administration",
106
+ name: "Administration",
107
+ slug: "administration",
108
+ pointsTo: "administration/admin-overview"
109
+ });
110
+ // Tab 1 segments
111
+ const tab1Root = seg({
112
+ segmentHash: "s-tab1-root",
113
+ section: "",
114
+ type: "tabRoot",
115
+ tab: tab1,
116
+ version
117
+ });
118
+ const tab1Section = seg({
119
+ segmentHash: "s-design-apis",
120
+ section: "design-apis",
121
+ type: "section",
122
+ title: "Design APIs",
123
+ sortOrder: 1,
124
+ tab: tab1,
125
+ version
126
+ });
127
+ // Tab 2 segments
128
+ const tab2Root = seg({
129
+ segmentHash: "s-tab2-root",
130
+ section: "",
131
+ type: "tabRoot",
132
+ tab: tab2,
133
+ version
134
+ });
135
+ const tab2Section = seg({
136
+ segmentHash: "s-administration",
137
+ section: "administration",
138
+ type: "section",
139
+ title: "Administration",
140
+ sortOrder: 2,
141
+ tab: tab2,
142
+ version
143
+ });
144
+ const segments = [tab1Root, tab1Section, tab2Root, tab2Section];
145
+ // fullPaths are basepath-RELATIVE
146
+ const navBySegment = new Map([
147
+ ["s-tab1-root", []],
148
+ [
149
+ "s-design-apis",
150
+ [
151
+ markdownRoute("design-apis/overview", "Overview", "page-overview"),
152
+ markdownRoute("design-apis/mock-with-api", "Mock with API", "page-mock"),
153
+ markdownRoute("design-apis/simulate-conditions", "Simulate conditions", "page-simulate")
154
+ ]
155
+ ],
156
+ ["s-tab2-root", []],
157
+ [
158
+ "s-administration",
159
+ [
160
+ markdownRoute("administration/admin-overview", "Admin overview", "page-admin-overview"),
161
+ markdownRoute("administration/manage-users", "Manage users", "page-manage-users")
162
+ ]
163
+ ]
164
+ ]);
165
+ const root = buildRoot({ basePath: "docs", segments, navBySegment });
166
+ it("last page of tab 1 has next=undefined from findNode (bounded by sidebarRoot)", () => {
167
+ const found = FernNavigation.utils.findNode(root, FernNavigation.Slug("docs/design-apis/simulate-conditions"));
168
+ expect(found.type).toBe("found");
169
+ if (found.type !== "found") {
170
+ return;
171
+ }
172
+ // NodeCollector resets at sidebarRoot boundaries, so next is undefined
173
+ expect(found.next).toBeUndefined();
174
+ // prev should point to the previous page in the same tab
175
+ expect(found.prev?.slug).toBe("docs/design-apis/mock-with-api");
176
+ });
177
+ it("first page of tab 2 has prev=undefined from findNode (bounded by sidebarRoot)", () => {
178
+ const found = FernNavigation.utils.findNode(root, FernNavigation.Slug("docs/administration/admin-overview"));
179
+ expect(found.type).toBe("found");
180
+ if (found.type !== "found") {
181
+ return;
182
+ }
183
+ // NodeCollector resets at sidebarRoot boundaries, so prev is undefined
184
+ expect(found.prev).toBeUndefined();
185
+ // next should point to the next page in the same tab
186
+ expect(found.next?.slug).toBe("docs/administration/manage-users");
187
+ });
188
+ it("findFirstNeighborInSubtree finds first page in next tab (cross-section next)", () => {
189
+ const found = FernNavigation.utils.findNode(root, FernNavigation.Slug("docs/design-apis/simulate-conditions"));
190
+ expect(found.type).toBe("found");
191
+ if (found.type !== "found") {
192
+ return;
193
+ }
194
+ const tabs = found.tabs;
195
+ expect(tabs.length).toBeGreaterThan(1);
196
+ const currentTab = found.currentTab;
197
+ expect(currentTab).toBeDefined();
198
+ const currentTabIdx = tabs.findIndex((t) => t === currentTab || t.id === currentTab.id);
199
+ expect(currentTabIdx).toBeGreaterThanOrEqual(0);
200
+ expect(currentTabIdx).toBeLessThan(tabs.length - 1);
201
+ // Get the next tab and find its first neighbor
202
+ const nextTab = tabs[currentTabIdx + 1];
203
+ expect(nextTab).toBeDefined();
204
+ expect(nextTab.type).not.toBe("link");
205
+ const firstNeighbor = findFirstNeighborInSubtree(nextTab);
206
+ expect(firstNeighbor).toBeDefined();
207
+ expect(firstNeighbor.slug).toBe("docs/administration/admin-overview");
208
+ });
209
+ it("findLastNeighborInSubtree finds last page in previous tab (cross-section prev)", () => {
210
+ const found = FernNavigation.utils.findNode(root, FernNavigation.Slug("docs/administration/admin-overview"));
211
+ expect(found.type).toBe("found");
212
+ if (found.type !== "found") {
213
+ return;
214
+ }
215
+ const tabs = found.tabs;
216
+ expect(tabs.length).toBeGreaterThan(1);
217
+ const currentTab = found.currentTab;
218
+ expect(currentTab).toBeDefined();
219
+ const currentTabIdx = tabs.findIndex((t) => t === currentTab || t.id === currentTab.id);
220
+ expect(currentTabIdx).toBeGreaterThan(0);
221
+ // Get the previous tab and find its last neighbor
222
+ const prevTab = tabs[currentTabIdx - 1];
223
+ expect(prevTab).toBeDefined();
224
+ expect(prevTab.type).not.toBe("link");
225
+ const lastNeighbor = findLastNeighborInSubtree(prevTab);
226
+ expect(lastNeighbor).toBeDefined();
227
+ expect(lastNeighbor.slug).toBe("docs/design-apis/simulate-conditions");
228
+ });
229
+ });
230
+ //# sourceMappingURL=ledger-root-builder.crossTabPrevNext.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ledger-root-builder.crossTabPrevNext.test.js","sourceRoot":"","sources":["../../../src/navigation/__test__/ledger-root-builder.crossTabPrevNext.test.ts"],"names":[],"mappings":"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"}
@@ -270,4 +270,171 @@ describe("buildFullRootFromSegments — backward compatibility without sidebarDe
270
270
  expect(users.childTitles).toContain("Verification");
271
271
  });
272
272
  });
273
+ // ── Fix #2: depth-1 siblings with skipUrlSlug parent ─────────────────────────
274
+ describe("buildFullRootFromSegments — depth-1 siblings not falsely nested", () => {
275
+ /**
276
+ * Reproduces the structure where a skipUrlSlug parent (depth=0) produces
277
+ * children whose section paths look hierarchical but are actually siblings:
278
+ *
279
+ * V1 config:
280
+ * Integration options (skipUrlSlug, sec="sdks", depth=0)
281
+ * Server-side SDKs (skipUrlSlug child, sec="sdks", depth=1)
282
+ * Checkout SDK (sec="sdks/checkout", depth=1)
283
+ * Vault SDK (sec="sdks/vault", depth=1)
284
+ *
285
+ * Without the fix, "sdks/checkout" and "sdks/vault" are incorrectly
286
+ * adopted by "Server-side SDKs" because parentSectionPath("sdks/checkout")
287
+ * === "sdks" matches Server-side SDKs' section path.
288
+ *
289
+ * With the fix, siblings at the same sidebarDepth remain peers under
290
+ * the depth-0 parent.
291
+ */
292
+ function buildSkipSlugSiblings() {
293
+ return buildFullRootFromSegments({
294
+ basePath: "docs",
295
+ title: "Test",
296
+ segments: [
297
+ segment({
298
+ segmentHash: "seg-root",
299
+ section: "",
300
+ sortOrder: 0,
301
+ metadata: { type: "tabRoot" }
302
+ }),
303
+ // Integration options — depth-0 root section (sec="sdks")
304
+ segment({
305
+ segmentHash: "seg-integration",
306
+ section: "sdks",
307
+ sortOrder: 1,
308
+ metadata: {
309
+ type: "section",
310
+ title: "Integration options",
311
+ sidebarDepth: 0,
312
+ pointsTo: "docs/sdks/nodejs"
313
+ }
314
+ }),
315
+ // Server-side SDKs — skipUrlSlug child sharing parent path
316
+ segment({
317
+ segmentHash: "seg-server",
318
+ section: "sdks",
319
+ sortOrder: 2,
320
+ metadata: {
321
+ type: "section",
322
+ title: "Server-side SDKs",
323
+ sidebarDepth: 1,
324
+ childIndex: 0,
325
+ pointsTo: "docs/sdks/nodejs"
326
+ }
327
+ }),
328
+ // Checkout SDK — depth 1, sec="sdks/checkout" (sibling, NOT child)
329
+ segment({
330
+ segmentHash: "seg-checkout",
331
+ section: "sdks/checkout",
332
+ sortOrder: 3,
333
+ metadata: {
334
+ type: "section",
335
+ title: "Checkout SDK",
336
+ sidebarDepth: 1,
337
+ childIndex: 1,
338
+ pointsTo: "docs/sdks/checkout"
339
+ }
340
+ }),
341
+ // Vault SDK — depth 1, sec="sdks/vault" (sibling, NOT child)
342
+ segment({
343
+ segmentHash: "seg-vault",
344
+ section: "sdks/vault",
345
+ sortOrder: 4,
346
+ metadata: {
347
+ type: "section",
348
+ title: "Vault SDK",
349
+ sidebarDepth: 1,
350
+ childIndex: 2,
351
+ pointsTo: "docs/sdks/vault/web"
352
+ }
353
+ }),
354
+ // Actual nested child of Checkout SDK (depth 2)
355
+ segment({
356
+ segmentHash: "seg-checkout-web",
357
+ section: "sdks/checkout/web",
358
+ sortOrder: 5,
359
+ metadata: {
360
+ type: "section",
361
+ title: "Checkout Web",
362
+ sidebarDepth: 2,
363
+ childIndex: 0,
364
+ pointsTo: "docs/sdks/checkout/web"
365
+ }
366
+ })
367
+ ],
368
+ navBySegment: new Map([
369
+ ["seg-root", []],
370
+ ["seg-integration", []],
371
+ [
372
+ "seg-server",
373
+ [
374
+ pageRoute({ fullPath: "docs/sdks/nodejs", title: "Node.js", displaySortOrder: 0 }),
375
+ pageRoute({ fullPath: "docs/sdks/php", title: "PHP", displaySortOrder: 1 })
376
+ ]
377
+ ],
378
+ [
379
+ "seg-checkout",
380
+ [pageRoute({ fullPath: "docs/sdks/checkout", title: "Checkout", displaySortOrder: 0 })]
381
+ ],
382
+ [
383
+ "seg-vault",
384
+ [pageRoute({ fullPath: "docs/sdks/vault/web", title: "Vault Web", displaySortOrder: 0 })]
385
+ ],
386
+ [
387
+ "seg-checkout-web",
388
+ [pageRoute({ fullPath: "docs/sdks/checkout/web", title: "Checkout Web page", displaySortOrder: 0 })]
389
+ ]
390
+ ])
391
+ });
392
+ }
393
+ it("keeps depth-1 siblings as peers under their shared parent", () => {
394
+ const root = buildSkipSlugSiblings();
395
+ const sections = rootSections(root);
396
+ const integration = sections.find((s) => s.title === "Integration options");
397
+ expect(integration).toBeDefined();
398
+ // All three depth-1 sections should be direct children of Integration options
399
+ expect(integration.childTitles).toContain("Server-side SDKs");
400
+ expect(integration.childTitles).toContain("Checkout SDK");
401
+ expect(integration.childTitles).toContain("Vault SDK");
402
+ });
403
+ it("does not nest Checkout/Vault inside Server-side SDKs", () => {
404
+ const root = buildSkipSlugSiblings();
405
+ let serverSdks;
406
+ FernNavigation.traverseDF(root, (node) => {
407
+ if (node.type === "section" && node.title === "Server-side SDKs") {
408
+ serverSdks = node;
409
+ }
410
+ });
411
+ expect(serverSdks).toBeDefined();
412
+ const childTitles = (serverSdks.children ?? []).map((c) => c.title ?? "");
413
+ expect(childTitles).not.toContain("Checkout SDK");
414
+ expect(childTitles).not.toContain("Vault SDK");
415
+ });
416
+ it("still nests depth-2 children under their depth-1 parent", () => {
417
+ const root = buildSkipSlugSiblings();
418
+ // "Checkout Web" (depth 2, sec="sdks/checkout/web") should be
419
+ // nested under "Checkout SDK" (depth 1, sec="sdks/checkout")
420
+ let checkoutSdk;
421
+ FernNavigation.traverseDF(root, (node) => {
422
+ if (node.type === "section" && node.title === "Checkout SDK") {
423
+ checkoutSdk = node;
424
+ }
425
+ });
426
+ expect(checkoutSdk).toBeDefined();
427
+ const childTitles = (checkoutSdk.children ?? []).map((c) => c.title ?? "");
428
+ expect(childTitles).toContain("Checkout Web");
429
+ });
430
+ it("produces correct breadcrumb for Checkout page", () => {
431
+ const root = buildSkipSlugSiblings();
432
+ const bc = breadcrumbForSlug(root, "docs/sdks/checkout");
433
+ // Must NOT include "Server-side SDKs" — that would mean false nesting.
434
+ // Should include "Integration options" as the root ancestor.
435
+ const titles = bc.map((item) => item.title);
436
+ expect(titles).toContain("Integration options");
437
+ expect(titles).not.toContain("Server-side SDKs");
438
+ });
439
+ });
273
440
  //# sourceMappingURL=ledger-root-builder.sidebarDepth.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ledger-root-builder.sidebarDepth.test.js","sourceRoot":"","sources":["../../../src/navigation/__test__/ledger-root-builder.sidebarDepth.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ledger-root-builder.sidebarDepth.test.js","sourceRoot":"","sources":["../../../src/navigation/__test__/ledger-root-builder.sidebarDepth.test.ts"],"names":[],"mappings":"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"}