@fern-api/fdr-sdk 1.2.35-eaea1f74f7 → 1.2.36-1f77b99cda

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
package/dist/js/index.mjs CHANGED
@@ -2611,12 +2611,12 @@ function unwrapObjectType(object33, types, parentVisitedTypeIds) {
2611
2611
  UnwrapObjectTypeCache.set(object33, toRet);
2612
2612
  return toRet;
2613
2613
  }
2614
- function unwrapDiscriminatedUnionVariant(union10, variant, types) {
2614
+ function unwrapDiscriminatedUnionVariant(union11, variant, types) {
2615
2615
  const { properties, descriptions, visitedTypeIds } = unwrapObjectType(variant, types);
2616
2616
  return {
2617
2617
  properties: [
2618
2618
  {
2619
- key: union10.discriminant,
2619
+ key: union11.discriminant,
2620
2620
  valueShape: {
2621
2621
  type: "alias",
2622
2622
  value: {
@@ -4106,8 +4106,8 @@ function sortKeysByShape(obj, shape, types) {
4106
4106
  },
4107
4107
  undiscriminatedUnion: () => obj,
4108
4108
  // TODO: match variant and sort nested objects
4109
- discriminatedUnion: (union10) => {
4110
- const { discriminant, variants } = union10;
4109
+ discriminatedUnion: (union11) => {
4110
+ const { discriminant, variants } = union11;
4111
4111
  if (!isPlainObject_default(obj)) {
4112
4112
  return obj;
4113
4113
  }
@@ -4119,7 +4119,7 @@ function sortKeysByShape(obj, shape, types) {
4119
4119
  if (variantShape == null) {
4120
4120
  return obj;
4121
4121
  }
4122
- const variantProperties = unwrapDiscriminatedUnionVariant(union10, variantShape, types).properties;
4122
+ const variantProperties = unwrapDiscriminatedUnionVariant(union11, variantShape, types).properties;
4123
4123
  return mapValues(sortKeysBy(obj, [discriminant, ...variantProperties.map((p) => p.key)]), (value, key) => {
4124
4124
  if (key === discriminant) {
4125
4125
  return value;
@@ -8918,7 +8918,17 @@ var PageBlobRefSchema = z21.object({
8918
8918
  /** SHA-256 hex of the page content bytes. */
8919
8919
  hash: z21.string(),
8920
8920
  contentType: z21.string().default("text/markdown"),
8921
- contentLength: z21.number()
8921
+ contentLength: z21.number(),
8922
+ /**
8923
+ * Bare `fullPath`s of the file/image artifacts this page's rendered
8924
+ * markdown references (the `<fullPath>` of each `file:<fullPath>` token).
8925
+ * Captured CLI-side from the already-rewritten page markdown (same `file:`
8926
+ * regex the bundle serializer uses) so FDR can materialise the page→file
8927
+ * join into the route shards without re-fetching or re-parsing content
8928
+ * (ADR 0016, "File metadata on the render path"). Optional — older CLIs
8929
+ * omit it and the page simply contributes no shard-side file identities.
8930
+ */
8931
+ referencedFiles: z21.array(z21.string()).optional()
8922
8932
  });
8923
8933
  var FileManifestEntrySchema = z21.object({
8924
8934
  /** SHA-256 hex of the file bytes (= CAS content hash). */
@@ -8948,6 +8958,21 @@ var BackgroundColorSchema = z21.discriminatedUnion("type", [
8948
8958
  z21.object({ type: z21.literal("solid"), ...RgbaSchema.shape }),
8949
8959
  z21.object({ type: z21.literal("gradient") })
8950
8960
  ]);
8961
+ var ACCENT_SCALE_KEYS = [
8962
+ "accent1",
8963
+ "accent2",
8964
+ "accent3",
8965
+ "accent4",
8966
+ "accent5",
8967
+ "accent6",
8968
+ "accent7",
8969
+ "accent8",
8970
+ "accent9",
8971
+ "accent10",
8972
+ "accent11",
8973
+ "accent12"
8974
+ ];
8975
+ var accentScaleShape = Object.fromEntries(ACCENT_SCALE_KEYS.map((key) => [key, RgbaSchema.optional()]));
8951
8976
  var LedgerThemeConfigSchema = z21.object({
8952
8977
  logo: ImageRefSchema.optional(),
8953
8978
  backgroundImage: z21.string().optional(),
@@ -8957,18 +8982,7 @@ var LedgerThemeConfigSchema = z21.object({
8957
8982
  sidebarBackground: RgbaSchema.optional(),
8958
8983
  headerBackground: RgbaSchema.optional(),
8959
8984
  cardBackground: RgbaSchema.optional(),
8960
- accent1: RgbaSchema.optional(),
8961
- accent2: RgbaSchema.optional(),
8962
- accent3: RgbaSchema.optional(),
8963
- accent4: RgbaSchema.optional(),
8964
- accent5: RgbaSchema.optional(),
8965
- accent6: RgbaSchema.optional(),
8966
- accent7: RgbaSchema.optional(),
8967
- accent8: RgbaSchema.optional(),
8968
- accent9: RgbaSchema.optional(),
8969
- accent10: RgbaSchema.optional(),
8970
- accent11: RgbaSchema.optional(),
8971
- accent12: RgbaSchema.optional()
8985
+ ...accentScaleShape
8972
8986
  });
8973
8987
  var LedgerColorsConfigSchema = z21.discriminatedUnion("type", [
8974
8988
  z21.object({ type: z21.literal("dark"), ...LedgerThemeConfigSchema.shape }),
@@ -9022,6 +9036,14 @@ var LedgerMetadataConfigSchema = z21.record(z21.string(), z21.unknown()).and(
9022
9036
  "og:dynamic:background-image": PathOrUrlSchema.optional()
9023
9037
  })
9024
9038
  );
9039
+ var NavbarLinksFieldSchema = z21.array(NavbarLinkSchema);
9040
+ var FooterLinksFieldSchema = z21.array(FooterLinkSchema);
9041
+ var LayoutFieldSchema = DocsLayoutConfigSchema;
9042
+ var ThemeFieldSchema = DocsThemeConfigSchema;
9043
+ var SettingsFieldSchema = DocsSettingsConfigSchema;
9044
+ var AnalyticsFieldSchema = AnalyticsConfigSchema;
9045
+ var AIChatFieldSchema = AIChatConfigSchema;
9046
+ var PageActionsFieldSchema = PageActionsConfigSchema;
9025
9047
  var LedgerAgentsConfigSchema = z21.object({
9026
9048
  pageDirective: z21.string().optional(),
9027
9049
  pageDescriptionSource: z21.enum(["description", "subtitle"]).optional(),
@@ -9035,31 +9057,272 @@ var LedgerConfigSchema = z21.object({
9035
9057
  translations: z21.array(z21.string()).optional()
9036
9058
  }).optional(),
9037
9059
  announcement: z21.object({ text: z21.string() }).optional(),
9038
- navbarLinks: z21.array(z21.unknown()).optional(),
9039
- footerLinks: z21.array(z21.unknown()).optional(),
9060
+ navbarLinks: NavbarLinksFieldSchema.optional(),
9061
+ footerLinks: FooterLinksFieldSchema.optional(),
9040
9062
  logoHeight: z21.number().optional(),
9041
9063
  logoHref: z21.string().optional(),
9042
9064
  logoRightText: z21.string().optional(),
9065
+ /** fullPath of the favicon file artifact (any extension: .svg/.png/.ico). */
9066
+ favicon: z21.string().nullish(),
9043
9067
  agents: LedgerAgentsConfigSchema.optional(),
9044
9068
  metadata: LedgerMetadataConfigSchema.optional(),
9045
9069
  redirects: z21.array(z21.object({ source: z21.string(), destination: z21.string(), permanent: z21.boolean().optional() })).optional(),
9046
9070
  colorsV3: LedgerColorsConfigSchema.optional(),
9047
- layout: z21.record(z21.string(), z21.unknown()).optional(),
9048
- theme: z21.record(z21.string(), z21.unknown()).optional(),
9049
- settings: z21.record(z21.string(), z21.unknown()).optional(),
9071
+ layout: LayoutFieldSchema.optional(),
9072
+ theme: ThemeFieldSchema.optional(),
9073
+ settings: SettingsFieldSchema.optional(),
9050
9074
  typographyV2: LedgerTypographySchema.optional(),
9051
- analyticsConfig: z21.record(z21.string(), z21.unknown()).optional(),
9075
+ analyticsConfig: AnalyticsFieldSchema.optional(),
9052
9076
  integrations: z21.object({
9053
9077
  intercom: z21.string().optional()
9054
9078
  }).optional(),
9055
9079
  css: z21.object({ inline: z21.array(z21.string()).optional() }).optional(),
9056
9080
  js: LedgerJsConfigSchema.optional(),
9057
- aiChatConfig: z21.record(z21.string(), z21.unknown()).optional(),
9058
- pageActions: z21.record(z21.string(), z21.unknown()).optional(),
9081
+ aiChatConfig: AIChatFieldSchema.optional(),
9082
+ pageActions: PageActionsFieldSchema.optional(),
9059
9083
  editThisPageLaunch: z21.enum(["github", "dashboard"]).optional(),
9060
9084
  header: z21.string().optional(),
9061
9085
  footer: z21.string().optional()
9062
9086
  });
9087
+ var MetadataStringArraySchema = z21.array(z21.string());
9088
+ var FeatureFlagMetadataSchema = z21.array(
9089
+ z21.union([
9090
+ z21.string(),
9091
+ z21.object({
9092
+ flag: z21.string(),
9093
+ fallbackValue: z21.unknown().optional(),
9094
+ match: z21.unknown().optional()
9095
+ })
9096
+ ])
9097
+ );
9098
+ var LinkTargetSchema2 = z21.enum(["_blank", "_self", "_parent", "_top"]);
9099
+ var CollapsedSchema = z21.union([z21.boolean(), z21.literal("open-by-default")]);
9100
+ var LedgerAvailabilitySchema = z21.union([
9101
+ AvailabilitySchema,
9102
+ z21.enum([
9103
+ "alpha",
9104
+ "stable",
9105
+ "generally-available",
9106
+ "in-development",
9107
+ "pre-release",
9108
+ "beta",
9109
+ "preview",
9110
+ "deprecated",
9111
+ "legacy"
9112
+ ])
9113
+ ]);
9114
+ var LedgerArtifactTypeSchema = z21.enum([
9115
+ "markdown",
9116
+ "page",
9117
+ "rest",
9118
+ "asyncapi",
9119
+ "webhook",
9120
+ "grpc",
9121
+ "graphql",
9122
+ "changelog",
9123
+ "link",
9124
+ "file",
9125
+ "image",
9126
+ "redirect"
9127
+ ]);
9128
+ var LedgerMetadataBaseSchema = z21.object({}).passthrough();
9129
+ var NodeMetadataFields = {
9130
+ title: z21.string().optional(),
9131
+ slug: z21.string().optional(),
9132
+ icon: z21.string().optional(),
9133
+ viewers: MetadataStringArraySchema.optional(),
9134
+ orphaned: z21.boolean().optional(),
9135
+ featureFlags: FeatureFlagMetadataSchema.optional()
9136
+ };
9137
+ var ApiNodeMetadataFields = {
9138
+ ...NodeMetadataFields,
9139
+ apiDefinitionId: z21.string(),
9140
+ availability: LedgerAvailabilitySchema.optional()
9141
+ };
9142
+ var LedgerSegmentDetailMetadataObjectSchema = LedgerMetadataBaseSchema.extend({
9143
+ slug: z21.string().optional(),
9144
+ default: z21.boolean().optional(),
9145
+ subtitle: z21.string().optional(),
9146
+ href: z21.string().optional(),
9147
+ url: z21.string().optional(),
9148
+ target: LinkTargetSchema2.optional(),
9149
+ image: z21.string().optional(),
9150
+ pointsTo: z21.string().optional(),
9151
+ availability: LedgerAvailabilitySchema.optional(),
9152
+ tab_type: z21.enum(["tab", "link", "changelog"]).optional()
9153
+ });
9154
+ var LedgerSegmentDetailMetadataSchema = LedgerSegmentDetailMetadataObjectSchema.nullable();
9155
+ var LedgerSegmentMetadataObjectSchema = z21.discriminatedUnion("type", [
9156
+ LedgerMetadataBaseSchema.extend({
9157
+ type: z21.literal("tabRoot")
9158
+ }),
9159
+ LedgerMetadataBaseSchema.extend({
9160
+ type: z21.literal("section"),
9161
+ title: z21.string().optional(),
9162
+ icon: z21.string().optional(),
9163
+ collapsed: CollapsedSchema.optional(),
9164
+ collapsible: z21.boolean().optional(),
9165
+ collapsedByDefault: z21.boolean().optional(),
9166
+ availability: LedgerAvailabilitySchema.optional(),
9167
+ overviewPageId: z21.string().optional(),
9168
+ pointsTo: z21.string().optional(),
9169
+ viewers: MetadataStringArraySchema.optional()
9170
+ }),
9171
+ LedgerMetadataBaseSchema.extend({
9172
+ type: z21.literal("apiReference"),
9173
+ title: z21.string().optional(),
9174
+ icon: z21.string().optional(),
9175
+ apiDefinitionId: z21.string().optional(),
9176
+ overviewPageId: z21.string().optional(),
9177
+ availability: LedgerAvailabilitySchema.optional(),
9178
+ pointsTo: z21.string().optional(),
9179
+ paginated: z21.boolean().optional(),
9180
+ showErrors: z21.boolean().optional(),
9181
+ hideTitle: z21.boolean().optional(),
9182
+ viewers: MetadataStringArraySchema.optional()
9183
+ }),
9184
+ LedgerMetadataBaseSchema.extend({
9185
+ type: z21.literal("apiPackage"),
9186
+ title: z21.string().optional(),
9187
+ icon: z21.string().optional(),
9188
+ apiDefinitionId: z21.string().optional(),
9189
+ overviewPageId: z21.string().optional(),
9190
+ availability: LedgerAvailabilitySchema.optional(),
9191
+ pointsTo: z21.string().optional(),
9192
+ viewers: MetadataStringArraySchema.optional()
9193
+ }),
9194
+ LedgerMetadataBaseSchema.extend({
9195
+ type: z21.literal("changelog"),
9196
+ title: z21.string().optional(),
9197
+ icon: z21.string().optional(),
9198
+ overviewPageId: z21.string().optional(),
9199
+ apiDefinitionId: z21.string().optional(),
9200
+ viewers: MetadataStringArraySchema.optional()
9201
+ }),
9202
+ LedgerMetadataBaseSchema.extend({
9203
+ type: z21.literal("files")
9204
+ }),
9205
+ LedgerMetadataBaseSchema.extend({
9206
+ type: z21.literal("redirects")
9207
+ })
9208
+ ]);
9209
+ var LedgerSegmentMetadataSchema = LedgerSegmentMetadataObjectSchema;
9210
+ var LedgerMarkdownMetadataSchema = LedgerMetadataBaseSchema.extend({
9211
+ ...NodeMetadataFields,
9212
+ pageId: z21.string().optional(),
9213
+ isOverview: z21.boolean().optional(),
9214
+ noindex: z21.boolean().optional()
9215
+ });
9216
+ var LedgerRestMetadataSchema = LedgerMetadataBaseSchema.extend({
9217
+ ...ApiNodeMetadataFields,
9218
+ endpointId: z21.string(),
9219
+ method: HttpMethodSchema,
9220
+ isResponseStream: z21.boolean().optional(),
9221
+ endpointPairKey: z21.string().optional()
9222
+ });
9223
+ var LedgerWebSocketMetadataSchema = LedgerMetadataBaseSchema.extend({
9224
+ ...ApiNodeMetadataFields,
9225
+ webSocketId: z21.string()
9226
+ });
9227
+ var LedgerWebhookMetadataSchema = LedgerMetadataBaseSchema.extend({
9228
+ ...ApiNodeMetadataFields,
9229
+ webhookId: z21.string(),
9230
+ // V1.WebhookNode carries the full HttpMethod union, so the read model must accept it too.
9231
+ method: HttpMethodSchema
9232
+ });
9233
+ var LedgerGrpcMetadataSchema = LedgerMetadataBaseSchema.extend({
9234
+ ...ApiNodeMetadataFields,
9235
+ grpcId: z21.string(),
9236
+ method: GrpcMethodSchema
9237
+ });
9238
+ var LedgerGraphQlMetadataSchema = LedgerMetadataBaseSchema.extend({
9239
+ ...ApiNodeMetadataFields,
9240
+ graphqlOperationId: z21.string(),
9241
+ operationType: GraphQlOperationTypeSchema
9242
+ });
9243
+ var LedgerChangelogEntryMetadataSchema = LedgerMetadataBaseSchema.extend({
9244
+ title: z21.string().optional(),
9245
+ slug: z21.string().optional(),
9246
+ icon: z21.string().optional(),
9247
+ pageId: z21.string(),
9248
+ date: z21.string().optional(),
9249
+ tags: MetadataStringArraySchema.optional()
9250
+ });
9251
+ var LedgerLinkMetadataSchema = LedgerMetadataBaseSchema.extend({
9252
+ title: z21.string().optional(),
9253
+ slug: z21.string().optional(),
9254
+ icon: z21.string().optional(),
9255
+ url: z21.string(),
9256
+ target: LinkTargetSchema2.optional()
9257
+ });
9258
+ var LedgerFileArtifactMetadataSchema = LedgerMetadataBaseSchema.extend({
9259
+ contentType: z21.string(),
9260
+ filename: z21.string(),
9261
+ width: z21.number().optional(),
9262
+ height: z21.number().optional(),
9263
+ blurDataURL: z21.string().optional()
9264
+ });
9265
+ var LedgerRedirectMetadataSchema = LedgerMetadataBaseSchema.extend({
9266
+ href: z21.string().optional()
9267
+ });
9268
+ var LedgerArtifactMetadataSchema = z21.union([
9269
+ LedgerMarkdownMetadataSchema,
9270
+ LedgerRestMetadataSchema,
9271
+ LedgerWebSocketMetadataSchema,
9272
+ LedgerWebhookMetadataSchema,
9273
+ LedgerGrpcMetadataSchema,
9274
+ LedgerGraphQlMetadataSchema,
9275
+ LedgerChangelogEntryMetadataSchema,
9276
+ LedgerLinkMetadataSchema,
9277
+ LedgerFileArtifactMetadataSchema,
9278
+ LedgerRedirectMetadataSchema
9279
+ ]);
9280
+ var LEDGER_ARTIFACT_METADATA_SCHEMAS = {
9281
+ markdown: LedgerMarkdownMetadataSchema,
9282
+ page: LedgerMarkdownMetadataSchema,
9283
+ rest: LedgerRestMetadataSchema,
9284
+ asyncapi: LedgerWebSocketMetadataSchema,
9285
+ webhook: LedgerWebhookMetadataSchema,
9286
+ grpc: LedgerGrpcMetadataSchema,
9287
+ graphql: LedgerGraphQlMetadataSchema,
9288
+ changelog: LedgerChangelogEntryMetadataSchema,
9289
+ link: LedgerLinkMetadataSchema,
9290
+ file: LedgerFileArtifactMetadataSchema,
9291
+ image: LedgerFileArtifactMetadataSchema,
9292
+ redirect: LedgerRedirectMetadataSchema
9293
+ };
9294
+ function artifactTypeVariant(base, type) {
9295
+ return base.extend({
9296
+ artifactType: z21.literal(type),
9297
+ artifactMetadata: LEDGER_ARTIFACT_METADATA_SCHEMAS[type]
9298
+ });
9299
+ }
9300
+ var NavRouteBaseSchema = z21.object({
9301
+ fullPath: z21.string().nullable(),
9302
+ artifactId: z21.string(),
9303
+ hidden: z21.boolean(),
9304
+ displaySortOrder: z21.number().nullable().optional()
9305
+ });
9306
+ function navRouteVariant(type) {
9307
+ return NavRouteBaseSchema.extend({
9308
+ type: z21.literal(type),
9309
+ metadata: LEDGER_ARTIFACT_METADATA_SCHEMAS[type]
9310
+ });
9311
+ }
9312
+ var LedgerNavRouteSchema = z21.discriminatedUnion("type", [
9313
+ navRouteVariant("markdown"),
9314
+ navRouteVariant("page"),
9315
+ navRouteVariant("rest"),
9316
+ navRouteVariant("asyncapi"),
9317
+ navRouteVariant("webhook"),
9318
+ navRouteVariant("grpc"),
9319
+ navRouteVariant("graphql"),
9320
+ navRouteVariant("changelog"),
9321
+ navRouteVariant("link"),
9322
+ navRouteVariant("file"),
9323
+ navRouteVariant("image"),
9324
+ navRouteVariant("redirect")
9325
+ ]);
9063
9326
  var DocsPublishGitInputSchema = z21.object({
9064
9327
  /** Full HTTPS URL of the repo (e.g. `https://github.com/acme/docs`). */
9065
9328
  repoUrl: z21.string(),
@@ -9097,11 +9360,12 @@ var DocsContentFieldsSchema = z21.object({
9097
9360
  */
9098
9361
  git: DocsPublishGitInputSchema.optional()
9099
9362
  });
9100
- var LocaleEntrySchema = DocsContentFieldsSchema.extend({
9363
+ var LocaleEntrySchemaInternal = DocsContentFieldsSchema.extend({
9101
9364
  /** Locale identifier (e.g. "en", "es", "ja"). Required — no default. */
9102
9365
  locale: z21.string()
9103
9366
  });
9104
- var DocsPublishInputSchema = z21.object({
9367
+ var LocaleEntrySchema = LocaleEntrySchemaInternal;
9368
+ var DocsPublishInputSchemaInternal = z21.object({
9105
9369
  orgId: z21.string(),
9106
9370
  domain: z21.string(),
9107
9371
  basepath: z21.string().default(""),
@@ -9128,7 +9392,8 @@ var DocsPublishInputSchema = z21.object({
9128
9392
  message: "defaultLocale must match one of the locales in the locales array",
9129
9393
  path: ["defaultLocale"]
9130
9394
  });
9131
- var LedgerPreviewRegisterInputSchema = DocsContentFieldsSchema.extend({
9395
+ var DocsPublishInputSchema = DocsPublishInputSchemaInternal;
9396
+ var LedgerPreviewRegisterInputSchemaInternal = DocsContentFieldsSchema.extend({
9132
9397
  orgId: z21.string(),
9133
9398
  /**
9134
9399
  * Optional caller-supplied identifier for the preview hostname. Sanitized
@@ -9145,6 +9410,7 @@ var LedgerPreviewRegisterInputSchema = DocsContentFieldsSchema.extend({
9145
9410
  */
9146
9411
  basePath: z21.string().default("")
9147
9412
  });
9413
+ var LedgerPreviewRegisterInputSchema = LedgerPreviewRegisterInputSchemaInternal;
9148
9414
  var LedgerPreviewRegisterResponseSchema = z21.object({
9149
9415
  deploymentHash: z21.string(),
9150
9416
  missingContent: z21.array(MissingContentSchema),
@@ -9196,7 +9462,7 @@ var SegmentDetailSchema = z21.object({
9196
9462
  orphaned: z21.boolean(),
9197
9463
  featureFlags: z21.array(z21.string()),
9198
9464
  /** Type-specific fields: slug, default, subtitle, href, target, image, availability, pointsTo, tab_type. */
9199
- metadata: z21.unknown()
9465
+ metadata: LedgerSegmentDetailMetadataSchema
9200
9466
  });
9201
9467
  var SegmentSchema = z21.object({
9202
9468
  segmentId: z21.string(),
@@ -9208,7 +9474,7 @@ var SegmentSchema = z21.object({
9208
9474
  /** Whether the segment is hidden from the sidebar. */
9209
9475
  hidden: z21.boolean(),
9210
9476
  /** Segment type descriptor (seg.metadata): { type, title, icon, apiDefinitionId, overviewPageId, pointsTo, ... }. */
9211
- metadata: z21.unknown(),
9477
+ metadata: LedgerSegmentMetadataSchema,
9212
9478
  /** Full product/version/variant/tab detail metadata, or null when the dimension is absent. */
9213
9479
  product: SegmentDetailSchema.nullable(),
9214
9480
  version: SegmentDetailSchema.nullable(),
@@ -9277,16 +9543,19 @@ var VersionMetadataResponseSchema = z21.object({
9277
9543
  var PageContentInputSchema = z21.object({
9278
9544
  deploymentId: z21.string(),
9279
9545
  fullPath: z21.string().optional(),
9280
- pageId: z21.string().optional()
9546
+ pageId: z21.string().optional(),
9547
+ locale: z21.string().optional()
9281
9548
  });
9282
9549
  var PageContentResponseSchema = z21.object({
9283
9550
  s3Key: z21.string(),
9284
9551
  segmentHash: z21.string(),
9285
- url: z21.string()
9552
+ url: z21.string(),
9553
+ pageId: z21.string().optional()
9286
9554
  });
9287
9555
  var BatchPageContentInputSchema = z21.object({
9288
9556
  deploymentId: z21.string(),
9289
- pageIds: z21.array(z21.string()).min(1).max(2e3)
9557
+ pageIds: z21.array(z21.string()).min(1).max(2e3),
9558
+ locale: z21.string().optional()
9290
9559
  });
9291
9560
  var BatchPageContentItemSchema = z21.object({
9292
9561
  pageId: z21.string(),
@@ -9299,32 +9568,21 @@ var BatchPageContentResponseSchema = z21.object({
9299
9568
  var NavInputSchema = z21.object({
9300
9569
  segmentHash: z21.string()
9301
9570
  });
9302
- var NavRouteSchema = z21.object({
9303
- fullPath: z21.string().nullable(),
9304
- artifactId: z21.string(),
9305
- type: z21.string(),
9306
- /** Whether the artifact is hidden from the sidebar. */
9307
- hidden: z21.boolean(),
9308
- metadata: z21.unknown()
9309
- });
9310
9571
  var NavResponseSchema = z21.object({
9311
- routes: z21.array(NavRouteSchema)
9572
+ routes: z21.array(LedgerNavRouteSchema)
9312
9573
  });
9313
9574
  var RouteContextInputSchema = z21.object({
9314
9575
  deploymentId: z21.string(),
9315
9576
  fullPath: z21.string(),
9316
9577
  locale: z21.string().optional()
9317
9578
  });
9318
- var RouteContextResponseSchema = z21.object({
9579
+ var RouteContextResponseBaseSchema = z21.object({
9580
+ artifactId: z21.string(),
9319
9581
  /** Hash of the segment that owns the matched route — feed to `nav`. */
9320
9582
  segmentHash: z21.string(),
9321
9583
  /** Section path of the owning segment (e.g. "models/command"). */
9322
9584
  section: z21.string(),
9323
9585
  locale: z21.string(),
9324
- /** The artifact matched at `fullPath`. */
9325
- artifactId: z21.string(),
9326
- artifactType: z21.string(),
9327
- artifactMetadata: z21.unknown(),
9328
9586
  /**
9329
9587
  * Page content reference, or null for non-page artifacts (links/redirects)
9330
9588
  * and route-only aliases that carry no content blob.
@@ -9339,6 +9597,20 @@ var RouteContextResponseSchema = z21.object({
9339
9597
  variant: SegmentDetailSchema.nullable(),
9340
9598
  tab: SegmentDetailSchema.nullable()
9341
9599
  });
9600
+ var RouteContextResponseSchema = z21.discriminatedUnion("artifactType", [
9601
+ artifactTypeVariant(RouteContextResponseBaseSchema, "markdown"),
9602
+ artifactTypeVariant(RouteContextResponseBaseSchema, "page"),
9603
+ artifactTypeVariant(RouteContextResponseBaseSchema, "rest"),
9604
+ artifactTypeVariant(RouteContextResponseBaseSchema, "asyncapi"),
9605
+ artifactTypeVariant(RouteContextResponseBaseSchema, "webhook"),
9606
+ artifactTypeVariant(RouteContextResponseBaseSchema, "grpc"),
9607
+ artifactTypeVariant(RouteContextResponseBaseSchema, "graphql"),
9608
+ artifactTypeVariant(RouteContextResponseBaseSchema, "changelog"),
9609
+ artifactTypeVariant(RouteContextResponseBaseSchema, "link"),
9610
+ artifactTypeVariant(RouteContextResponseBaseSchema, "file"),
9611
+ artifactTypeVariant(RouteContextResponseBaseSchema, "image"),
9612
+ artifactTypeVariant(RouteContextResponseBaseSchema, "redirect")
9613
+ ]);
9342
9614
  var TopLevelNavigationInputSchema = z21.object({
9343
9615
  deploymentId: z21.string(),
9344
9616
  locale: z21.string().optional()
@@ -9455,17 +9727,6 @@ function createDocsLedgerClient(options) {
9455
9727
  });
9456
9728
  return createORPCClient11(link);
9457
9729
  }
9458
- function createDocsLedgerReadClient(options) {
9459
- const baseUrl = options.baseUrl.replace(/\/+$/, "");
9460
- const link = new OpenAPILink11(docsLedgerReadContract, {
9461
- url: `${baseUrl}/docs-ledger`,
9462
- headers: () => ({
9463
- Authorization: `Bearer ${options.token}`,
9464
- ...options.headers
9465
- })
9466
- });
9467
- return createORPCClient11(link);
9468
- }
9469
9730
 
9470
9731
  // src/orpc-client/editor-snapshot/client.ts
9471
9732
  import { createORPCClient as createORPCClient12 } from "@orpc/client";
@@ -10348,7 +10609,6 @@ function createFdrORPCClient(options) {
10348
10609
  docsCache: createDocsCacheClient(normalizedOptions),
10349
10610
  docsDeployment: createDocsDeploymentClient(normalizedOptions),
10350
10611
  docsLedger: createDocsLedgerClient(normalizedOptions),
10351
- docsLedgerRead: createDocsLedgerReadClient(normalizedOptions),
10352
10612
  editorSnapshot: createEditorSnapshotClient(normalizedOptions),
10353
10613
  generators: {
10354
10614
  root: createGeneratorsRootClient(normalizedOptions),