@fern-api/fdr-sdk 1.2.36-eaea1f74f7 → 1.2.37-94cc3f83f5

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 (52) hide show
  1. package/dist/js/client/FdrClient.js +315 -55
  2. package/dist/js/client/FdrClient.js.map +1 -1
  3. package/dist/js/client/FdrClient.mjs +315 -55
  4. package/dist/js/client/FdrClient.mjs.map +1 -1
  5. package/dist/js/index.js +320 -60
  6. package/dist/js/index.js.map +1 -1
  7. package/dist/js/index.mjs +320 -60
  8. package/dist/js/index.mjs.map +1 -1
  9. package/dist/js/navigation/ledger-root-builder.js +732 -249
  10. package/dist/js/navigation/ledger-root-builder.js.map +1 -1
  11. package/dist/js/navigation/ledger-root-builder.mjs +730 -249
  12. package/dist/js/navigation/ledger-root-builder.mjs.map +1 -1
  13. package/dist/js/orpc-client.js +759 -91
  14. package/dist/js/orpc-client.js.map +1 -1
  15. package/dist/js/orpc-client.mjs +715 -86
  16. package/dist/js/orpc-client.mjs.map +1 -1
  17. package/dist/tsconfig.tsbuildinfo +1 -1
  18. package/dist/types/navigation/__test__/ledger-root-builder.changelogSlug.test.d.ts +2 -0
  19. package/dist/types/navigation/__test__/ledger-root-builder.changelogSlug.test.d.ts.map +1 -0
  20. package/dist/types/navigation/__test__/ledger-root-builder.defaultVersionElision.test.d.ts +2 -0
  21. package/dist/types/navigation/__test__/ledger-root-builder.defaultVersionElision.test.d.ts.map +1 -0
  22. package/dist/types/navigation/__test__/ledger-root-builder.linkRepro.test.d.ts +2 -0
  23. package/dist/types/navigation/__test__/ledger-root-builder.linkRepro.test.d.ts.map +1 -0
  24. package/dist/types/navigation/__test__/ledger-root-builder.mergeEndpointPairs.test.d.ts +2 -0
  25. package/dist/types/navigation/__test__/ledger-root-builder.mergeEndpointPairs.test.d.ts.map +1 -0
  26. package/dist/types/navigation/__test__/ledger-root-builder.pointsTo.test.d.ts +2 -0
  27. package/dist/types/navigation/__test__/ledger-root-builder.pointsTo.test.d.ts.map +1 -0
  28. package/dist/types/navigation/__test__/ledger-root-builder.productId.test.d.ts +2 -0
  29. package/dist/types/navigation/__test__/ledger-root-builder.productId.test.d.ts.map +1 -0
  30. package/dist/types/navigation/__test__/ledger-root-builder.rootChildOrder.test.d.ts +2 -0
  31. package/dist/types/navigation/__test__/ledger-root-builder.rootChildOrder.test.d.ts.map +1 -0
  32. package/dist/types/navigation/__test__/ledger-root-builder.rootSectionSlug.test.d.ts +2 -0
  33. package/dist/types/navigation/__test__/ledger-root-builder.rootSectionSlug.test.d.ts.map +1 -0
  34. package/dist/types/navigation/__test__/ledger-root-builder.tabSlug.test.d.ts +2 -0
  35. package/dist/types/navigation/__test__/ledger-root-builder.tabSlug.test.d.ts.map +1 -0
  36. package/dist/types/navigation/ledger-root-builder.d.ts +26 -3
  37. package/dist/types/navigation/ledger-root-builder.d.ts.map +1 -1
  38. package/dist/types/orpc-client/client.d.ts +1 -2
  39. package/dist/types/orpc-client/client.d.ts.map +1 -1
  40. package/dist/types/orpc-client/docs-ledger/client.d.ts +1 -3
  41. package/dist/types/orpc-client/docs-ledger/client.d.ts.map +1 -1
  42. package/dist/types/orpc-client/docs-ledger/config-files.d.ts +16 -0
  43. package/dist/types/orpc-client/docs-ledger/config-files.d.ts.map +1 -0
  44. package/dist/types/orpc-client/docs-ledger/contract.d.ts +60922 -47158
  45. package/dist/types/orpc-client/docs-ledger/contract.d.ts.map +1 -1
  46. package/dist/types/orpc-client/docs-ledger/index.d.ts +3 -0
  47. package/dist/types/orpc-client/docs-ledger/index.d.ts.map +1 -1
  48. package/dist/types/orpc-client/docs-ledger/ledger-manifest.d.ts +37008 -0
  49. package/dist/types/orpc-client/docs-ledger/ledger-manifest.d.ts.map +1 -0
  50. package/dist/types/orpc-client/docs-ledger/stable-stringify.d.ts +18 -0
  51. package/dist/types/orpc-client/docs-ledger/stable-stringify.d.ts.map +1 -0
  52. package/package.json +1 -1
@@ -3577,7 +3577,17 @@ var PageBlobRefSchema = z21.object({
3577
3577
  /** SHA-256 hex of the page content bytes. */
3578
3578
  hash: z21.string(),
3579
3579
  contentType: z21.string().default("text/markdown"),
3580
- contentLength: z21.number()
3580
+ contentLength: z21.number(),
3581
+ /**
3582
+ * Bare `fullPath`s of the file/image artifacts this page's rendered
3583
+ * markdown references (the `<fullPath>` of each `file:<fullPath>` token).
3584
+ * Captured CLI-side from the already-rewritten page markdown (same `file:`
3585
+ * regex the bundle serializer uses) so FDR can materialise the page→file
3586
+ * join into the route shards without re-fetching or re-parsing content
3587
+ * (ADR 0016, "File metadata on the render path"). Optional — older CLIs
3588
+ * omit it and the page simply contributes no shard-side file identities.
3589
+ */
3590
+ referencedFiles: z21.array(z21.string()).optional()
3581
3591
  });
3582
3592
  var FileManifestEntrySchema = z21.object({
3583
3593
  /** SHA-256 hex of the file bytes (= CAS content hash). */
@@ -3607,6 +3617,21 @@ var BackgroundColorSchema = z21.discriminatedUnion("type", [
3607
3617
  z21.object({ type: z21.literal("solid"), ...RgbaSchema.shape }),
3608
3618
  z21.object({ type: z21.literal("gradient") })
3609
3619
  ]);
3620
+ var ACCENT_SCALE_KEYS = [
3621
+ "accent1",
3622
+ "accent2",
3623
+ "accent3",
3624
+ "accent4",
3625
+ "accent5",
3626
+ "accent6",
3627
+ "accent7",
3628
+ "accent8",
3629
+ "accent9",
3630
+ "accent10",
3631
+ "accent11",
3632
+ "accent12"
3633
+ ];
3634
+ var accentScaleShape = Object.fromEntries(ACCENT_SCALE_KEYS.map((key) => [key, RgbaSchema.optional()]));
3610
3635
  var LedgerThemeConfigSchema = z21.object({
3611
3636
  logo: ImageRefSchema.optional(),
3612
3637
  backgroundImage: z21.string().optional(),
@@ -3616,18 +3641,7 @@ var LedgerThemeConfigSchema = z21.object({
3616
3641
  sidebarBackground: RgbaSchema.optional(),
3617
3642
  headerBackground: RgbaSchema.optional(),
3618
3643
  cardBackground: RgbaSchema.optional(),
3619
- accent1: RgbaSchema.optional(),
3620
- accent2: RgbaSchema.optional(),
3621
- accent3: RgbaSchema.optional(),
3622
- accent4: RgbaSchema.optional(),
3623
- accent5: RgbaSchema.optional(),
3624
- accent6: RgbaSchema.optional(),
3625
- accent7: RgbaSchema.optional(),
3626
- accent8: RgbaSchema.optional(),
3627
- accent9: RgbaSchema.optional(),
3628
- accent10: RgbaSchema.optional(),
3629
- accent11: RgbaSchema.optional(),
3630
- accent12: RgbaSchema.optional()
3644
+ ...accentScaleShape
3631
3645
  });
3632
3646
  var LedgerColorsConfigSchema = z21.discriminatedUnion("type", [
3633
3647
  z21.object({ type: z21.literal("dark"), ...LedgerThemeConfigSchema.shape }),
@@ -3681,6 +3695,14 @@ var LedgerMetadataConfigSchema = z21.record(z21.string(), z21.unknown()).and(
3681
3695
  "og:dynamic:background-image": PathOrUrlSchema.optional()
3682
3696
  })
3683
3697
  );
3698
+ var NavbarLinksFieldSchema = z21.array(NavbarLinkSchema);
3699
+ var FooterLinksFieldSchema = z21.array(FooterLinkSchema);
3700
+ var LayoutFieldSchema = DocsLayoutConfigSchema;
3701
+ var ThemeFieldSchema = DocsThemeConfigSchema;
3702
+ var SettingsFieldSchema = DocsSettingsConfigSchema;
3703
+ var AnalyticsFieldSchema = AnalyticsConfigSchema;
3704
+ var AIChatFieldSchema = AIChatConfigSchema;
3705
+ var PageActionsFieldSchema = PageActionsConfigSchema;
3684
3706
  var LedgerAgentsConfigSchema = z21.object({
3685
3707
  pageDirective: z21.string().optional(),
3686
3708
  pageDescriptionSource: z21.enum(["description", "subtitle"]).optional(),
@@ -3694,31 +3716,272 @@ var LedgerConfigSchema = z21.object({
3694
3716
  translations: z21.array(z21.string()).optional()
3695
3717
  }).optional(),
3696
3718
  announcement: z21.object({ text: z21.string() }).optional(),
3697
- navbarLinks: z21.array(z21.unknown()).optional(),
3698
- footerLinks: z21.array(z21.unknown()).optional(),
3719
+ navbarLinks: NavbarLinksFieldSchema.optional(),
3720
+ footerLinks: FooterLinksFieldSchema.optional(),
3699
3721
  logoHeight: z21.number().optional(),
3700
3722
  logoHref: z21.string().optional(),
3701
3723
  logoRightText: z21.string().optional(),
3724
+ /** fullPath of the favicon file artifact (any extension: .svg/.png/.ico). */
3725
+ favicon: z21.string().nullish(),
3702
3726
  agents: LedgerAgentsConfigSchema.optional(),
3703
3727
  metadata: LedgerMetadataConfigSchema.optional(),
3704
3728
  redirects: z21.array(z21.object({ source: z21.string(), destination: z21.string(), permanent: z21.boolean().optional() })).optional(),
3705
3729
  colorsV3: LedgerColorsConfigSchema.optional(),
3706
- layout: z21.record(z21.string(), z21.unknown()).optional(),
3707
- theme: z21.record(z21.string(), z21.unknown()).optional(),
3708
- settings: z21.record(z21.string(), z21.unknown()).optional(),
3730
+ layout: LayoutFieldSchema.optional(),
3731
+ theme: ThemeFieldSchema.optional(),
3732
+ settings: SettingsFieldSchema.optional(),
3709
3733
  typographyV2: LedgerTypographySchema.optional(),
3710
- analyticsConfig: z21.record(z21.string(), z21.unknown()).optional(),
3734
+ analyticsConfig: AnalyticsFieldSchema.optional(),
3711
3735
  integrations: z21.object({
3712
3736
  intercom: z21.string().optional()
3713
3737
  }).optional(),
3714
3738
  css: z21.object({ inline: z21.array(z21.string()).optional() }).optional(),
3715
3739
  js: LedgerJsConfigSchema.optional(),
3716
- aiChatConfig: z21.record(z21.string(), z21.unknown()).optional(),
3717
- pageActions: z21.record(z21.string(), z21.unknown()).optional(),
3740
+ aiChatConfig: AIChatFieldSchema.optional(),
3741
+ pageActions: PageActionsFieldSchema.optional(),
3718
3742
  editThisPageLaunch: z21.enum(["github", "dashboard"]).optional(),
3719
3743
  header: z21.string().optional(),
3720
3744
  footer: z21.string().optional()
3721
3745
  });
3746
+ var MetadataStringArraySchema = z21.array(z21.string());
3747
+ var FeatureFlagMetadataSchema = z21.array(
3748
+ z21.union([
3749
+ z21.string(),
3750
+ z21.object({
3751
+ flag: z21.string(),
3752
+ fallbackValue: z21.unknown().optional(),
3753
+ match: z21.unknown().optional()
3754
+ })
3755
+ ])
3756
+ );
3757
+ var LinkTargetSchema2 = z21.enum(["_blank", "_self", "_parent", "_top"]);
3758
+ var CollapsedSchema = z21.union([z21.boolean(), z21.literal("open-by-default")]);
3759
+ var LedgerAvailabilitySchema = z21.union([
3760
+ AvailabilitySchema,
3761
+ z21.enum([
3762
+ "alpha",
3763
+ "stable",
3764
+ "generally-available",
3765
+ "in-development",
3766
+ "pre-release",
3767
+ "beta",
3768
+ "preview",
3769
+ "deprecated",
3770
+ "legacy"
3771
+ ])
3772
+ ]);
3773
+ var LedgerArtifactTypeSchema = z21.enum([
3774
+ "markdown",
3775
+ "page",
3776
+ "rest",
3777
+ "asyncapi",
3778
+ "webhook",
3779
+ "grpc",
3780
+ "graphql",
3781
+ "changelog",
3782
+ "link",
3783
+ "file",
3784
+ "image",
3785
+ "redirect"
3786
+ ]);
3787
+ var LedgerMetadataBaseSchema = z21.object({}).passthrough();
3788
+ var NodeMetadataFields = {
3789
+ title: z21.string().optional(),
3790
+ slug: z21.string().optional(),
3791
+ icon: z21.string().optional(),
3792
+ viewers: MetadataStringArraySchema.optional(),
3793
+ orphaned: z21.boolean().optional(),
3794
+ featureFlags: FeatureFlagMetadataSchema.optional()
3795
+ };
3796
+ var ApiNodeMetadataFields = {
3797
+ ...NodeMetadataFields,
3798
+ apiDefinitionId: z21.string(),
3799
+ availability: LedgerAvailabilitySchema.optional()
3800
+ };
3801
+ var LedgerSegmentDetailMetadataObjectSchema = LedgerMetadataBaseSchema.extend({
3802
+ slug: z21.string().optional(),
3803
+ default: z21.boolean().optional(),
3804
+ subtitle: z21.string().optional(),
3805
+ href: z21.string().optional(),
3806
+ url: z21.string().optional(),
3807
+ target: LinkTargetSchema2.optional(),
3808
+ image: z21.string().optional(),
3809
+ pointsTo: z21.string().optional(),
3810
+ availability: LedgerAvailabilitySchema.optional(),
3811
+ tab_type: z21.enum(["tab", "link", "changelog"]).optional()
3812
+ });
3813
+ var LedgerSegmentDetailMetadataSchema = LedgerSegmentDetailMetadataObjectSchema.nullable();
3814
+ var LedgerSegmentMetadataObjectSchema = z21.discriminatedUnion("type", [
3815
+ LedgerMetadataBaseSchema.extend({
3816
+ type: z21.literal("tabRoot")
3817
+ }),
3818
+ LedgerMetadataBaseSchema.extend({
3819
+ type: z21.literal("section"),
3820
+ title: z21.string().optional(),
3821
+ icon: z21.string().optional(),
3822
+ collapsed: CollapsedSchema.optional(),
3823
+ collapsible: z21.boolean().optional(),
3824
+ collapsedByDefault: z21.boolean().optional(),
3825
+ availability: LedgerAvailabilitySchema.optional(),
3826
+ overviewPageId: z21.string().optional(),
3827
+ pointsTo: z21.string().optional(),
3828
+ viewers: MetadataStringArraySchema.optional()
3829
+ }),
3830
+ LedgerMetadataBaseSchema.extend({
3831
+ type: z21.literal("apiReference"),
3832
+ title: z21.string().optional(),
3833
+ icon: z21.string().optional(),
3834
+ apiDefinitionId: z21.string().optional(),
3835
+ overviewPageId: z21.string().optional(),
3836
+ availability: LedgerAvailabilitySchema.optional(),
3837
+ pointsTo: z21.string().optional(),
3838
+ paginated: z21.boolean().optional(),
3839
+ showErrors: z21.boolean().optional(),
3840
+ hideTitle: z21.boolean().optional(),
3841
+ viewers: MetadataStringArraySchema.optional()
3842
+ }),
3843
+ LedgerMetadataBaseSchema.extend({
3844
+ type: z21.literal("apiPackage"),
3845
+ title: z21.string().optional(),
3846
+ icon: z21.string().optional(),
3847
+ apiDefinitionId: z21.string().optional(),
3848
+ overviewPageId: z21.string().optional(),
3849
+ availability: LedgerAvailabilitySchema.optional(),
3850
+ pointsTo: z21.string().optional(),
3851
+ viewers: MetadataStringArraySchema.optional()
3852
+ }),
3853
+ LedgerMetadataBaseSchema.extend({
3854
+ type: z21.literal("changelog"),
3855
+ title: z21.string().optional(),
3856
+ icon: z21.string().optional(),
3857
+ overviewPageId: z21.string().optional(),
3858
+ apiDefinitionId: z21.string().optional(),
3859
+ viewers: MetadataStringArraySchema.optional()
3860
+ }),
3861
+ LedgerMetadataBaseSchema.extend({
3862
+ type: z21.literal("files")
3863
+ }),
3864
+ LedgerMetadataBaseSchema.extend({
3865
+ type: z21.literal("redirects")
3866
+ })
3867
+ ]);
3868
+ var LedgerSegmentMetadataSchema = LedgerSegmentMetadataObjectSchema;
3869
+ var LedgerMarkdownMetadataSchema = LedgerMetadataBaseSchema.extend({
3870
+ ...NodeMetadataFields,
3871
+ pageId: z21.string().optional(),
3872
+ isOverview: z21.boolean().optional(),
3873
+ noindex: z21.boolean().optional()
3874
+ });
3875
+ var LedgerRestMetadataSchema = LedgerMetadataBaseSchema.extend({
3876
+ ...ApiNodeMetadataFields,
3877
+ endpointId: z21.string(),
3878
+ method: HttpMethodSchema,
3879
+ isResponseStream: z21.boolean().optional(),
3880
+ endpointPairKey: z21.string().optional()
3881
+ });
3882
+ var LedgerWebSocketMetadataSchema = LedgerMetadataBaseSchema.extend({
3883
+ ...ApiNodeMetadataFields,
3884
+ webSocketId: z21.string()
3885
+ });
3886
+ var LedgerWebhookMetadataSchema = LedgerMetadataBaseSchema.extend({
3887
+ ...ApiNodeMetadataFields,
3888
+ webhookId: z21.string(),
3889
+ // V1.WebhookNode carries the full HttpMethod union, so the read model must accept it too.
3890
+ method: HttpMethodSchema
3891
+ });
3892
+ var LedgerGrpcMetadataSchema = LedgerMetadataBaseSchema.extend({
3893
+ ...ApiNodeMetadataFields,
3894
+ grpcId: z21.string(),
3895
+ method: GrpcMethodSchema
3896
+ });
3897
+ var LedgerGraphQlMetadataSchema = LedgerMetadataBaseSchema.extend({
3898
+ ...ApiNodeMetadataFields,
3899
+ graphqlOperationId: z21.string(),
3900
+ operationType: GraphQlOperationTypeSchema
3901
+ });
3902
+ var LedgerChangelogEntryMetadataSchema = LedgerMetadataBaseSchema.extend({
3903
+ title: z21.string().optional(),
3904
+ slug: z21.string().optional(),
3905
+ icon: z21.string().optional(),
3906
+ pageId: z21.string(),
3907
+ date: z21.string().optional(),
3908
+ tags: MetadataStringArraySchema.optional()
3909
+ });
3910
+ var LedgerLinkMetadataSchema = LedgerMetadataBaseSchema.extend({
3911
+ title: z21.string().optional(),
3912
+ slug: z21.string().optional(),
3913
+ icon: z21.string().optional(),
3914
+ url: z21.string(),
3915
+ target: LinkTargetSchema2.optional()
3916
+ });
3917
+ var LedgerFileArtifactMetadataSchema = LedgerMetadataBaseSchema.extend({
3918
+ contentType: z21.string(),
3919
+ filename: z21.string(),
3920
+ width: z21.number().optional(),
3921
+ height: z21.number().optional(),
3922
+ blurDataURL: z21.string().optional()
3923
+ });
3924
+ var LedgerRedirectMetadataSchema = LedgerMetadataBaseSchema.extend({
3925
+ href: z21.string().optional()
3926
+ });
3927
+ var LedgerArtifactMetadataSchema = z21.union([
3928
+ LedgerMarkdownMetadataSchema,
3929
+ LedgerRestMetadataSchema,
3930
+ LedgerWebSocketMetadataSchema,
3931
+ LedgerWebhookMetadataSchema,
3932
+ LedgerGrpcMetadataSchema,
3933
+ LedgerGraphQlMetadataSchema,
3934
+ LedgerChangelogEntryMetadataSchema,
3935
+ LedgerLinkMetadataSchema,
3936
+ LedgerFileArtifactMetadataSchema,
3937
+ LedgerRedirectMetadataSchema
3938
+ ]);
3939
+ var LEDGER_ARTIFACT_METADATA_SCHEMAS = {
3940
+ markdown: LedgerMarkdownMetadataSchema,
3941
+ page: LedgerMarkdownMetadataSchema,
3942
+ rest: LedgerRestMetadataSchema,
3943
+ asyncapi: LedgerWebSocketMetadataSchema,
3944
+ webhook: LedgerWebhookMetadataSchema,
3945
+ grpc: LedgerGrpcMetadataSchema,
3946
+ graphql: LedgerGraphQlMetadataSchema,
3947
+ changelog: LedgerChangelogEntryMetadataSchema,
3948
+ link: LedgerLinkMetadataSchema,
3949
+ file: LedgerFileArtifactMetadataSchema,
3950
+ image: LedgerFileArtifactMetadataSchema,
3951
+ redirect: LedgerRedirectMetadataSchema
3952
+ };
3953
+ function artifactTypeVariant(base, type) {
3954
+ return base.extend({
3955
+ artifactType: z21.literal(type),
3956
+ artifactMetadata: LEDGER_ARTIFACT_METADATA_SCHEMAS[type]
3957
+ });
3958
+ }
3959
+ var NavRouteBaseSchema = z21.object({
3960
+ fullPath: z21.string().nullable(),
3961
+ artifactId: z21.string(),
3962
+ hidden: z21.boolean(),
3963
+ displaySortOrder: z21.number().nullable().optional()
3964
+ });
3965
+ function navRouteVariant(type) {
3966
+ return NavRouteBaseSchema.extend({
3967
+ type: z21.literal(type),
3968
+ metadata: LEDGER_ARTIFACT_METADATA_SCHEMAS[type]
3969
+ });
3970
+ }
3971
+ var LedgerNavRouteSchema = z21.discriminatedUnion("type", [
3972
+ navRouteVariant("markdown"),
3973
+ navRouteVariant("page"),
3974
+ navRouteVariant("rest"),
3975
+ navRouteVariant("asyncapi"),
3976
+ navRouteVariant("webhook"),
3977
+ navRouteVariant("grpc"),
3978
+ navRouteVariant("graphql"),
3979
+ navRouteVariant("changelog"),
3980
+ navRouteVariant("link"),
3981
+ navRouteVariant("file"),
3982
+ navRouteVariant("image"),
3983
+ navRouteVariant("redirect")
3984
+ ]);
3722
3985
  var DocsPublishGitInputSchema = z21.object({
3723
3986
  /** Full HTTPS URL of the repo (e.g. `https://github.com/acme/docs`). */
3724
3987
  repoUrl: z21.string(),
@@ -3756,11 +4019,12 @@ var DocsContentFieldsSchema = z21.object({
3756
4019
  */
3757
4020
  git: DocsPublishGitInputSchema.optional()
3758
4021
  });
3759
- var LocaleEntrySchema = DocsContentFieldsSchema.extend({
4022
+ var LocaleEntrySchemaInternal = DocsContentFieldsSchema.extend({
3760
4023
  /** Locale identifier (e.g. "en", "es", "ja"). Required — no default. */
3761
4024
  locale: z21.string()
3762
4025
  });
3763
- var DocsPublishInputSchema = z21.object({
4026
+ var LocaleEntrySchema = LocaleEntrySchemaInternal;
4027
+ var DocsPublishInputSchemaInternal = z21.object({
3764
4028
  orgId: z21.string(),
3765
4029
  domain: z21.string(),
3766
4030
  basepath: z21.string().default(""),
@@ -3787,7 +4051,8 @@ var DocsPublishInputSchema = z21.object({
3787
4051
  message: "defaultLocale must match one of the locales in the locales array",
3788
4052
  path: ["defaultLocale"]
3789
4053
  });
3790
- var LedgerPreviewRegisterInputSchema = DocsContentFieldsSchema.extend({
4054
+ var DocsPublishInputSchema = DocsPublishInputSchemaInternal;
4055
+ var LedgerPreviewRegisterInputSchemaInternal = DocsContentFieldsSchema.extend({
3791
4056
  orgId: z21.string(),
3792
4057
  /**
3793
4058
  * Optional caller-supplied identifier for the preview hostname. Sanitized
@@ -3804,6 +4069,7 @@ var LedgerPreviewRegisterInputSchema = DocsContentFieldsSchema.extend({
3804
4069
  */
3805
4070
  basePath: z21.string().default("")
3806
4071
  });
4072
+ var LedgerPreviewRegisterInputSchema = LedgerPreviewRegisterInputSchemaInternal;
3807
4073
  var LedgerPreviewRegisterResponseSchema = z21.object({
3808
4074
  deploymentHash: z21.string(),
3809
4075
  missingContent: z21.array(MissingContentSchema),
@@ -3855,7 +4121,7 @@ var SegmentDetailSchema = z21.object({
3855
4121
  orphaned: z21.boolean(),
3856
4122
  featureFlags: z21.array(z21.string()),
3857
4123
  /** Type-specific fields: slug, default, subtitle, href, target, image, availability, pointsTo, tab_type. */
3858
- metadata: z21.unknown()
4124
+ metadata: LedgerSegmentDetailMetadataSchema
3859
4125
  });
3860
4126
  var SegmentSchema = z21.object({
3861
4127
  segmentId: z21.string(),
@@ -3867,7 +4133,7 @@ var SegmentSchema = z21.object({
3867
4133
  /** Whether the segment is hidden from the sidebar. */
3868
4134
  hidden: z21.boolean(),
3869
4135
  /** Segment type descriptor (seg.metadata): { type, title, icon, apiDefinitionId, overviewPageId, pointsTo, ... }. */
3870
- metadata: z21.unknown(),
4136
+ metadata: LedgerSegmentMetadataSchema,
3871
4137
  /** Full product/version/variant/tab detail metadata, or null when the dimension is absent. */
3872
4138
  product: SegmentDetailSchema.nullable(),
3873
4139
  version: SegmentDetailSchema.nullable(),
@@ -3936,16 +4202,19 @@ var VersionMetadataResponseSchema = z21.object({
3936
4202
  var PageContentInputSchema = z21.object({
3937
4203
  deploymentId: z21.string(),
3938
4204
  fullPath: z21.string().optional(),
3939
- pageId: z21.string().optional()
4205
+ pageId: z21.string().optional(),
4206
+ locale: z21.string().optional()
3940
4207
  });
3941
4208
  var PageContentResponseSchema = z21.object({
3942
4209
  s3Key: z21.string(),
3943
4210
  segmentHash: z21.string(),
3944
- url: z21.string()
4211
+ url: z21.string(),
4212
+ pageId: z21.string().optional()
3945
4213
  });
3946
4214
  var BatchPageContentInputSchema = z21.object({
3947
4215
  deploymentId: z21.string(),
3948
- pageIds: z21.array(z21.string()).min(1).max(2e3)
4216
+ pageIds: z21.array(z21.string()).min(1).max(2e3),
4217
+ locale: z21.string().optional()
3949
4218
  });
3950
4219
  var BatchPageContentItemSchema = z21.object({
3951
4220
  pageId: z21.string(),
@@ -3958,32 +4227,21 @@ var BatchPageContentResponseSchema = z21.object({
3958
4227
  var NavInputSchema = z21.object({
3959
4228
  segmentHash: z21.string()
3960
4229
  });
3961
- var NavRouteSchema = z21.object({
3962
- fullPath: z21.string().nullable(),
3963
- artifactId: z21.string(),
3964
- type: z21.string(),
3965
- /** Whether the artifact is hidden from the sidebar. */
3966
- hidden: z21.boolean(),
3967
- metadata: z21.unknown()
3968
- });
3969
4230
  var NavResponseSchema = z21.object({
3970
- routes: z21.array(NavRouteSchema)
4231
+ routes: z21.array(LedgerNavRouteSchema)
3971
4232
  });
3972
4233
  var RouteContextInputSchema = z21.object({
3973
4234
  deploymentId: z21.string(),
3974
4235
  fullPath: z21.string(),
3975
4236
  locale: z21.string().optional()
3976
4237
  });
3977
- var RouteContextResponseSchema = z21.object({
4238
+ var RouteContextResponseBaseSchema = z21.object({
4239
+ artifactId: z21.string(),
3978
4240
  /** Hash of the segment that owns the matched route — feed to `nav`. */
3979
4241
  segmentHash: z21.string(),
3980
4242
  /** Section path of the owning segment (e.g. "models/command"). */
3981
4243
  section: z21.string(),
3982
4244
  locale: z21.string(),
3983
- /** The artifact matched at `fullPath`. */
3984
- artifactId: z21.string(),
3985
- artifactType: z21.string(),
3986
- artifactMetadata: z21.unknown(),
3987
4245
  /**
3988
4246
  * Page content reference, or null for non-page artifacts (links/redirects)
3989
4247
  * and route-only aliases that carry no content blob.
@@ -3998,6 +4256,20 @@ var RouteContextResponseSchema = z21.object({
3998
4256
  variant: SegmentDetailSchema.nullable(),
3999
4257
  tab: SegmentDetailSchema.nullable()
4000
4258
  });
4259
+ var RouteContextResponseSchema = z21.discriminatedUnion("artifactType", [
4260
+ artifactTypeVariant(RouteContextResponseBaseSchema, "markdown"),
4261
+ artifactTypeVariant(RouteContextResponseBaseSchema, "page"),
4262
+ artifactTypeVariant(RouteContextResponseBaseSchema, "rest"),
4263
+ artifactTypeVariant(RouteContextResponseBaseSchema, "asyncapi"),
4264
+ artifactTypeVariant(RouteContextResponseBaseSchema, "webhook"),
4265
+ artifactTypeVariant(RouteContextResponseBaseSchema, "grpc"),
4266
+ artifactTypeVariant(RouteContextResponseBaseSchema, "graphql"),
4267
+ artifactTypeVariant(RouteContextResponseBaseSchema, "changelog"),
4268
+ artifactTypeVariant(RouteContextResponseBaseSchema, "link"),
4269
+ artifactTypeVariant(RouteContextResponseBaseSchema, "file"),
4270
+ artifactTypeVariant(RouteContextResponseBaseSchema, "image"),
4271
+ artifactTypeVariant(RouteContextResponseBaseSchema, "redirect")
4272
+ ]);
4001
4273
  var TopLevelNavigationInputSchema = z21.object({
4002
4274
  deploymentId: z21.string(),
4003
4275
  locale: z21.string().optional()
@@ -4114,17 +4386,6 @@ function createDocsLedgerClient(options) {
4114
4386
  });
4115
4387
  return (0, import_client17.createORPCClient)(link);
4116
4388
  }
4117
- function createDocsLedgerReadClient(options) {
4118
- const baseUrl = options.baseUrl.replace(/\/+$/, "");
4119
- const link = new import_fetch11.OpenAPILink(docsLedgerReadContract, {
4120
- url: `${baseUrl}/docs-ledger`,
4121
- headers: () => ({
4122
- Authorization: `Bearer ${options.token}`,
4123
- ...options.headers
4124
- })
4125
- });
4126
- return (0, import_client17.createORPCClient)(link);
4127
- }
4128
4389
 
4129
4390
  // src/orpc-client/editor-snapshot/client.ts
4130
4391
  var import_client18 = require("@orpc/client");
@@ -5000,7 +5261,6 @@ function createFdrORPCClient(options) {
5000
5261
  docsCache: createDocsCacheClient(normalizedOptions),
5001
5262
  docsDeployment: createDocsDeploymentClient(normalizedOptions),
5002
5263
  docsLedger: createDocsLedgerClient(normalizedOptions),
5003
- docsLedgerRead: createDocsLedgerReadClient(normalizedOptions),
5004
5264
  editorSnapshot: createEditorSnapshotClient(normalizedOptions),
5005
5265
  generators: {
5006
5266
  root: createGeneratorsRootClient(normalizedOptions),