@fern-api/fdr-sdk 1.2.36-eaea1f74f7 → 1.2.37-159d98cf30

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.js CHANGED
@@ -2674,12 +2674,12 @@ function unwrapObjectType(object33, types, parentVisitedTypeIds) {
2674
2674
  UnwrapObjectTypeCache.set(object33, toRet);
2675
2675
  return toRet;
2676
2676
  }
2677
- function unwrapDiscriminatedUnionVariant(union10, variant, types) {
2677
+ function unwrapDiscriminatedUnionVariant(union11, variant, types) {
2678
2678
  const { properties, descriptions, visitedTypeIds } = unwrapObjectType(variant, types);
2679
2679
  return {
2680
2680
  properties: [
2681
2681
  {
2682
- key: union10.discriminant,
2682
+ key: union11.discriminant,
2683
2683
  valueShape: {
2684
2684
  type: "alias",
2685
2685
  value: {
@@ -4169,8 +4169,8 @@ function sortKeysByShape(obj, shape, types) {
4169
4169
  },
4170
4170
  undiscriminatedUnion: () => obj,
4171
4171
  // TODO: match variant and sort nested objects
4172
- discriminatedUnion: (union10) => {
4173
- const { discriminant, variants } = union10;
4172
+ discriminatedUnion: (union11) => {
4173
+ const { discriminant, variants } = union11;
4174
4174
  if (!isPlainObject_default(obj)) {
4175
4175
  return obj;
4176
4176
  }
@@ -4182,7 +4182,7 @@ function sortKeysByShape(obj, shape, types) {
4182
4182
  if (variantShape == null) {
4183
4183
  return obj;
4184
4184
  }
4185
- const variantProperties = unwrapDiscriminatedUnionVariant(union10, variantShape, types).properties;
4185
+ const variantProperties = unwrapDiscriminatedUnionVariant(union11, variantShape, types).properties;
4186
4186
  return (0, import_object.mapValues)(sortKeysBy(obj, [discriminant, ...variantProperties.map((p) => p.key)]), (value, key) => {
4187
4187
  if (key === discriminant) {
4188
4188
  return value;
@@ -8981,7 +8981,17 @@ var PageBlobRefSchema = z21.object({
8981
8981
  /** SHA-256 hex of the page content bytes. */
8982
8982
  hash: z21.string(),
8983
8983
  contentType: z21.string().default("text/markdown"),
8984
- contentLength: z21.number()
8984
+ contentLength: z21.number(),
8985
+ /**
8986
+ * Bare `fullPath`s of the file/image artifacts this page's rendered
8987
+ * markdown references (the `<fullPath>` of each `file:<fullPath>` token).
8988
+ * Captured CLI-side from the already-rewritten page markdown (same `file:`
8989
+ * regex the bundle serializer uses) so FDR can materialise the page→file
8990
+ * join into the route shards without re-fetching or re-parsing content
8991
+ * (ADR 0016, "File metadata on the render path"). Optional — older CLIs
8992
+ * omit it and the page simply contributes no shard-side file identities.
8993
+ */
8994
+ referencedFiles: z21.array(z21.string()).optional()
8985
8995
  });
8986
8996
  var FileManifestEntrySchema = z21.object({
8987
8997
  /** SHA-256 hex of the file bytes (= CAS content hash). */
@@ -9011,6 +9021,21 @@ var BackgroundColorSchema = z21.discriminatedUnion("type", [
9011
9021
  z21.object({ type: z21.literal("solid"), ...RgbaSchema.shape }),
9012
9022
  z21.object({ type: z21.literal("gradient") })
9013
9023
  ]);
9024
+ var ACCENT_SCALE_KEYS = [
9025
+ "accent1",
9026
+ "accent2",
9027
+ "accent3",
9028
+ "accent4",
9029
+ "accent5",
9030
+ "accent6",
9031
+ "accent7",
9032
+ "accent8",
9033
+ "accent9",
9034
+ "accent10",
9035
+ "accent11",
9036
+ "accent12"
9037
+ ];
9038
+ var accentScaleShape = Object.fromEntries(ACCENT_SCALE_KEYS.map((key) => [key, RgbaSchema.optional()]));
9014
9039
  var LedgerThemeConfigSchema = z21.object({
9015
9040
  logo: ImageRefSchema.optional(),
9016
9041
  backgroundImage: z21.string().optional(),
@@ -9020,18 +9045,7 @@ var LedgerThemeConfigSchema = z21.object({
9020
9045
  sidebarBackground: RgbaSchema.optional(),
9021
9046
  headerBackground: RgbaSchema.optional(),
9022
9047
  cardBackground: RgbaSchema.optional(),
9023
- accent1: RgbaSchema.optional(),
9024
- accent2: RgbaSchema.optional(),
9025
- accent3: RgbaSchema.optional(),
9026
- accent4: RgbaSchema.optional(),
9027
- accent5: RgbaSchema.optional(),
9028
- accent6: RgbaSchema.optional(),
9029
- accent7: RgbaSchema.optional(),
9030
- accent8: RgbaSchema.optional(),
9031
- accent9: RgbaSchema.optional(),
9032
- accent10: RgbaSchema.optional(),
9033
- accent11: RgbaSchema.optional(),
9034
- accent12: RgbaSchema.optional()
9048
+ ...accentScaleShape
9035
9049
  });
9036
9050
  var LedgerColorsConfigSchema = z21.discriminatedUnion("type", [
9037
9051
  z21.object({ type: z21.literal("dark"), ...LedgerThemeConfigSchema.shape }),
@@ -9085,6 +9099,14 @@ var LedgerMetadataConfigSchema = z21.record(z21.string(), z21.unknown()).and(
9085
9099
  "og:dynamic:background-image": PathOrUrlSchema.optional()
9086
9100
  })
9087
9101
  );
9102
+ var NavbarLinksFieldSchema = z21.array(NavbarLinkSchema);
9103
+ var FooterLinksFieldSchema = z21.array(FooterLinkSchema);
9104
+ var LayoutFieldSchema = DocsLayoutConfigSchema;
9105
+ var ThemeFieldSchema = DocsThemeConfigSchema;
9106
+ var SettingsFieldSchema = DocsSettingsConfigSchema;
9107
+ var AnalyticsFieldSchema = AnalyticsConfigSchema;
9108
+ var AIChatFieldSchema = AIChatConfigSchema;
9109
+ var PageActionsFieldSchema = PageActionsConfigSchema;
9088
9110
  var LedgerAgentsConfigSchema = z21.object({
9089
9111
  pageDirective: z21.string().optional(),
9090
9112
  pageDescriptionSource: z21.enum(["description", "subtitle"]).optional(),
@@ -9098,31 +9120,272 @@ var LedgerConfigSchema = z21.object({
9098
9120
  translations: z21.array(z21.string()).optional()
9099
9121
  }).optional(),
9100
9122
  announcement: z21.object({ text: z21.string() }).optional(),
9101
- navbarLinks: z21.array(z21.unknown()).optional(),
9102
- footerLinks: z21.array(z21.unknown()).optional(),
9123
+ navbarLinks: NavbarLinksFieldSchema.optional(),
9124
+ footerLinks: FooterLinksFieldSchema.optional(),
9103
9125
  logoHeight: z21.number().optional(),
9104
9126
  logoHref: z21.string().optional(),
9105
9127
  logoRightText: z21.string().optional(),
9128
+ /** fullPath of the favicon file artifact (any extension: .svg/.png/.ico). */
9129
+ favicon: z21.string().nullish(),
9106
9130
  agents: LedgerAgentsConfigSchema.optional(),
9107
9131
  metadata: LedgerMetadataConfigSchema.optional(),
9108
9132
  redirects: z21.array(z21.object({ source: z21.string(), destination: z21.string(), permanent: z21.boolean().optional() })).optional(),
9109
9133
  colorsV3: LedgerColorsConfigSchema.optional(),
9110
- layout: z21.record(z21.string(), z21.unknown()).optional(),
9111
- theme: z21.record(z21.string(), z21.unknown()).optional(),
9112
- settings: z21.record(z21.string(), z21.unknown()).optional(),
9134
+ layout: LayoutFieldSchema.optional(),
9135
+ theme: ThemeFieldSchema.optional(),
9136
+ settings: SettingsFieldSchema.optional(),
9113
9137
  typographyV2: LedgerTypographySchema.optional(),
9114
- analyticsConfig: z21.record(z21.string(), z21.unknown()).optional(),
9138
+ analyticsConfig: AnalyticsFieldSchema.optional(),
9115
9139
  integrations: z21.object({
9116
9140
  intercom: z21.string().optional()
9117
9141
  }).optional(),
9118
9142
  css: z21.object({ inline: z21.array(z21.string()).optional() }).optional(),
9119
9143
  js: LedgerJsConfigSchema.optional(),
9120
- aiChatConfig: z21.record(z21.string(), z21.unknown()).optional(),
9121
- pageActions: z21.record(z21.string(), z21.unknown()).optional(),
9144
+ aiChatConfig: AIChatFieldSchema.optional(),
9145
+ pageActions: PageActionsFieldSchema.optional(),
9122
9146
  editThisPageLaunch: z21.enum(["github", "dashboard"]).optional(),
9123
9147
  header: z21.string().optional(),
9124
9148
  footer: z21.string().optional()
9125
9149
  });
9150
+ var MetadataStringArraySchema = z21.array(z21.string());
9151
+ var FeatureFlagMetadataSchema = z21.array(
9152
+ z21.union([
9153
+ z21.string(),
9154
+ z21.object({
9155
+ flag: z21.string(),
9156
+ fallbackValue: z21.unknown().optional(),
9157
+ match: z21.unknown().optional()
9158
+ })
9159
+ ])
9160
+ );
9161
+ var LinkTargetSchema2 = z21.enum(["_blank", "_self", "_parent", "_top"]);
9162
+ var CollapsedSchema = z21.union([z21.boolean(), z21.literal("open-by-default")]);
9163
+ var LedgerAvailabilitySchema = z21.union([
9164
+ AvailabilitySchema,
9165
+ z21.enum([
9166
+ "alpha",
9167
+ "stable",
9168
+ "generally-available",
9169
+ "in-development",
9170
+ "pre-release",
9171
+ "beta",
9172
+ "preview",
9173
+ "deprecated",
9174
+ "legacy"
9175
+ ])
9176
+ ]);
9177
+ var LedgerArtifactTypeSchema = z21.enum([
9178
+ "markdown",
9179
+ "page",
9180
+ "rest",
9181
+ "asyncapi",
9182
+ "webhook",
9183
+ "grpc",
9184
+ "graphql",
9185
+ "changelog",
9186
+ "link",
9187
+ "file",
9188
+ "image",
9189
+ "redirect"
9190
+ ]);
9191
+ var LedgerMetadataBaseSchema = z21.object({}).passthrough();
9192
+ var NodeMetadataFields = {
9193
+ title: z21.string().optional(),
9194
+ slug: z21.string().optional(),
9195
+ icon: z21.string().optional(),
9196
+ viewers: MetadataStringArraySchema.optional(),
9197
+ orphaned: z21.boolean().optional(),
9198
+ featureFlags: FeatureFlagMetadataSchema.optional()
9199
+ };
9200
+ var ApiNodeMetadataFields = {
9201
+ ...NodeMetadataFields,
9202
+ apiDefinitionId: z21.string(),
9203
+ availability: LedgerAvailabilitySchema.optional()
9204
+ };
9205
+ var LedgerSegmentDetailMetadataObjectSchema = LedgerMetadataBaseSchema.extend({
9206
+ slug: z21.string().optional(),
9207
+ default: z21.boolean().optional(),
9208
+ subtitle: z21.string().optional(),
9209
+ href: z21.string().optional(),
9210
+ url: z21.string().optional(),
9211
+ target: LinkTargetSchema2.optional(),
9212
+ image: z21.string().optional(),
9213
+ pointsTo: z21.string().optional(),
9214
+ availability: LedgerAvailabilitySchema.optional(),
9215
+ tab_type: z21.enum(["tab", "link", "changelog"]).optional()
9216
+ });
9217
+ var LedgerSegmentDetailMetadataSchema = LedgerSegmentDetailMetadataObjectSchema.nullable();
9218
+ var LedgerSegmentMetadataObjectSchema = z21.discriminatedUnion("type", [
9219
+ LedgerMetadataBaseSchema.extend({
9220
+ type: z21.literal("tabRoot")
9221
+ }),
9222
+ LedgerMetadataBaseSchema.extend({
9223
+ type: z21.literal("section"),
9224
+ title: z21.string().optional(),
9225
+ icon: z21.string().optional(),
9226
+ collapsed: CollapsedSchema.optional(),
9227
+ collapsible: z21.boolean().optional(),
9228
+ collapsedByDefault: z21.boolean().optional(),
9229
+ availability: LedgerAvailabilitySchema.optional(),
9230
+ overviewPageId: z21.string().optional(),
9231
+ pointsTo: z21.string().optional(),
9232
+ viewers: MetadataStringArraySchema.optional()
9233
+ }),
9234
+ LedgerMetadataBaseSchema.extend({
9235
+ type: z21.literal("apiReference"),
9236
+ title: z21.string().optional(),
9237
+ icon: z21.string().optional(),
9238
+ apiDefinitionId: z21.string().optional(),
9239
+ overviewPageId: z21.string().optional(),
9240
+ availability: LedgerAvailabilitySchema.optional(),
9241
+ pointsTo: z21.string().optional(),
9242
+ paginated: z21.boolean().optional(),
9243
+ showErrors: z21.boolean().optional(),
9244
+ hideTitle: z21.boolean().optional(),
9245
+ viewers: MetadataStringArraySchema.optional()
9246
+ }),
9247
+ LedgerMetadataBaseSchema.extend({
9248
+ type: z21.literal("apiPackage"),
9249
+ title: z21.string().optional(),
9250
+ icon: z21.string().optional(),
9251
+ apiDefinitionId: z21.string().optional(),
9252
+ overviewPageId: z21.string().optional(),
9253
+ availability: LedgerAvailabilitySchema.optional(),
9254
+ pointsTo: z21.string().optional(),
9255
+ viewers: MetadataStringArraySchema.optional()
9256
+ }),
9257
+ LedgerMetadataBaseSchema.extend({
9258
+ type: z21.literal("changelog"),
9259
+ title: z21.string().optional(),
9260
+ icon: z21.string().optional(),
9261
+ overviewPageId: z21.string().optional(),
9262
+ apiDefinitionId: z21.string().optional(),
9263
+ viewers: MetadataStringArraySchema.optional()
9264
+ }),
9265
+ LedgerMetadataBaseSchema.extend({
9266
+ type: z21.literal("files")
9267
+ }),
9268
+ LedgerMetadataBaseSchema.extend({
9269
+ type: z21.literal("redirects")
9270
+ })
9271
+ ]);
9272
+ var LedgerSegmentMetadataSchema = LedgerSegmentMetadataObjectSchema;
9273
+ var LedgerMarkdownMetadataSchema = LedgerMetadataBaseSchema.extend({
9274
+ ...NodeMetadataFields,
9275
+ pageId: z21.string().optional(),
9276
+ isOverview: z21.boolean().optional(),
9277
+ noindex: z21.boolean().optional()
9278
+ });
9279
+ var LedgerRestMetadataSchema = LedgerMetadataBaseSchema.extend({
9280
+ ...ApiNodeMetadataFields,
9281
+ endpointId: z21.string(),
9282
+ method: HttpMethodSchema,
9283
+ isResponseStream: z21.boolean().optional(),
9284
+ endpointPairKey: z21.string().optional()
9285
+ });
9286
+ var LedgerWebSocketMetadataSchema = LedgerMetadataBaseSchema.extend({
9287
+ ...ApiNodeMetadataFields,
9288
+ webSocketId: z21.string()
9289
+ });
9290
+ var LedgerWebhookMetadataSchema = LedgerMetadataBaseSchema.extend({
9291
+ ...ApiNodeMetadataFields,
9292
+ webhookId: z21.string(),
9293
+ // V1.WebhookNode carries the full HttpMethod union, so the read model must accept it too.
9294
+ method: HttpMethodSchema
9295
+ });
9296
+ var LedgerGrpcMetadataSchema = LedgerMetadataBaseSchema.extend({
9297
+ ...ApiNodeMetadataFields,
9298
+ grpcId: z21.string(),
9299
+ method: GrpcMethodSchema
9300
+ });
9301
+ var LedgerGraphQlMetadataSchema = LedgerMetadataBaseSchema.extend({
9302
+ ...ApiNodeMetadataFields,
9303
+ graphqlOperationId: z21.string(),
9304
+ operationType: GraphQlOperationTypeSchema
9305
+ });
9306
+ var LedgerChangelogEntryMetadataSchema = LedgerMetadataBaseSchema.extend({
9307
+ title: z21.string().optional(),
9308
+ slug: z21.string().optional(),
9309
+ icon: z21.string().optional(),
9310
+ pageId: z21.string(),
9311
+ date: z21.string().optional(),
9312
+ tags: MetadataStringArraySchema.optional()
9313
+ });
9314
+ var LedgerLinkMetadataSchema = LedgerMetadataBaseSchema.extend({
9315
+ title: z21.string().optional(),
9316
+ slug: z21.string().optional(),
9317
+ icon: z21.string().optional(),
9318
+ url: z21.string(),
9319
+ target: LinkTargetSchema2.optional()
9320
+ });
9321
+ var LedgerFileArtifactMetadataSchema = LedgerMetadataBaseSchema.extend({
9322
+ contentType: z21.string(),
9323
+ filename: z21.string(),
9324
+ width: z21.number().optional(),
9325
+ height: z21.number().optional(),
9326
+ blurDataURL: z21.string().optional()
9327
+ });
9328
+ var LedgerRedirectMetadataSchema = LedgerMetadataBaseSchema.extend({
9329
+ href: z21.string().optional()
9330
+ });
9331
+ var LedgerArtifactMetadataSchema = z21.union([
9332
+ LedgerMarkdownMetadataSchema,
9333
+ LedgerRestMetadataSchema,
9334
+ LedgerWebSocketMetadataSchema,
9335
+ LedgerWebhookMetadataSchema,
9336
+ LedgerGrpcMetadataSchema,
9337
+ LedgerGraphQlMetadataSchema,
9338
+ LedgerChangelogEntryMetadataSchema,
9339
+ LedgerLinkMetadataSchema,
9340
+ LedgerFileArtifactMetadataSchema,
9341
+ LedgerRedirectMetadataSchema
9342
+ ]);
9343
+ var LEDGER_ARTIFACT_METADATA_SCHEMAS = {
9344
+ markdown: LedgerMarkdownMetadataSchema,
9345
+ page: LedgerMarkdownMetadataSchema,
9346
+ rest: LedgerRestMetadataSchema,
9347
+ asyncapi: LedgerWebSocketMetadataSchema,
9348
+ webhook: LedgerWebhookMetadataSchema,
9349
+ grpc: LedgerGrpcMetadataSchema,
9350
+ graphql: LedgerGraphQlMetadataSchema,
9351
+ changelog: LedgerChangelogEntryMetadataSchema,
9352
+ link: LedgerLinkMetadataSchema,
9353
+ file: LedgerFileArtifactMetadataSchema,
9354
+ image: LedgerFileArtifactMetadataSchema,
9355
+ redirect: LedgerRedirectMetadataSchema
9356
+ };
9357
+ function artifactTypeVariant(base, type) {
9358
+ return base.extend({
9359
+ artifactType: z21.literal(type),
9360
+ artifactMetadata: LEDGER_ARTIFACT_METADATA_SCHEMAS[type]
9361
+ });
9362
+ }
9363
+ var NavRouteBaseSchema = z21.object({
9364
+ fullPath: z21.string().nullable(),
9365
+ artifactId: z21.string(),
9366
+ hidden: z21.boolean(),
9367
+ displaySortOrder: z21.number().nullable().optional()
9368
+ });
9369
+ function navRouteVariant(type) {
9370
+ return NavRouteBaseSchema.extend({
9371
+ type: z21.literal(type),
9372
+ metadata: LEDGER_ARTIFACT_METADATA_SCHEMAS[type]
9373
+ });
9374
+ }
9375
+ var LedgerNavRouteSchema = z21.discriminatedUnion("type", [
9376
+ navRouteVariant("markdown"),
9377
+ navRouteVariant("page"),
9378
+ navRouteVariant("rest"),
9379
+ navRouteVariant("asyncapi"),
9380
+ navRouteVariant("webhook"),
9381
+ navRouteVariant("grpc"),
9382
+ navRouteVariant("graphql"),
9383
+ navRouteVariant("changelog"),
9384
+ navRouteVariant("link"),
9385
+ navRouteVariant("file"),
9386
+ navRouteVariant("image"),
9387
+ navRouteVariant("redirect")
9388
+ ]);
9126
9389
  var DocsPublishGitInputSchema = z21.object({
9127
9390
  /** Full HTTPS URL of the repo (e.g. `https://github.com/acme/docs`). */
9128
9391
  repoUrl: z21.string(),
@@ -9160,11 +9423,12 @@ var DocsContentFieldsSchema = z21.object({
9160
9423
  */
9161
9424
  git: DocsPublishGitInputSchema.optional()
9162
9425
  });
9163
- var LocaleEntrySchema = DocsContentFieldsSchema.extend({
9426
+ var LocaleEntrySchemaInternal = DocsContentFieldsSchema.extend({
9164
9427
  /** Locale identifier (e.g. "en", "es", "ja"). Required — no default. */
9165
9428
  locale: z21.string()
9166
9429
  });
9167
- var DocsPublishInputSchema = z21.object({
9430
+ var LocaleEntrySchema = LocaleEntrySchemaInternal;
9431
+ var DocsPublishInputSchemaInternal = z21.object({
9168
9432
  orgId: z21.string(),
9169
9433
  domain: z21.string(),
9170
9434
  basepath: z21.string().default(""),
@@ -9191,7 +9455,8 @@ var DocsPublishInputSchema = z21.object({
9191
9455
  message: "defaultLocale must match one of the locales in the locales array",
9192
9456
  path: ["defaultLocale"]
9193
9457
  });
9194
- var LedgerPreviewRegisterInputSchema = DocsContentFieldsSchema.extend({
9458
+ var DocsPublishInputSchema = DocsPublishInputSchemaInternal;
9459
+ var LedgerPreviewRegisterInputSchemaInternal = DocsContentFieldsSchema.extend({
9195
9460
  orgId: z21.string(),
9196
9461
  /**
9197
9462
  * Optional caller-supplied identifier for the preview hostname. Sanitized
@@ -9208,6 +9473,7 @@ var LedgerPreviewRegisterInputSchema = DocsContentFieldsSchema.extend({
9208
9473
  */
9209
9474
  basePath: z21.string().default("")
9210
9475
  });
9476
+ var LedgerPreviewRegisterInputSchema = LedgerPreviewRegisterInputSchemaInternal;
9211
9477
  var LedgerPreviewRegisterResponseSchema = z21.object({
9212
9478
  deploymentHash: z21.string(),
9213
9479
  missingContent: z21.array(MissingContentSchema),
@@ -9259,7 +9525,7 @@ var SegmentDetailSchema = z21.object({
9259
9525
  orphaned: z21.boolean(),
9260
9526
  featureFlags: z21.array(z21.string()),
9261
9527
  /** Type-specific fields: slug, default, subtitle, href, target, image, availability, pointsTo, tab_type. */
9262
- metadata: z21.unknown()
9528
+ metadata: LedgerSegmentDetailMetadataSchema
9263
9529
  });
9264
9530
  var SegmentSchema = z21.object({
9265
9531
  segmentId: z21.string(),
@@ -9271,7 +9537,7 @@ var SegmentSchema = z21.object({
9271
9537
  /** Whether the segment is hidden from the sidebar. */
9272
9538
  hidden: z21.boolean(),
9273
9539
  /** Segment type descriptor (seg.metadata): { type, title, icon, apiDefinitionId, overviewPageId, pointsTo, ... }. */
9274
- metadata: z21.unknown(),
9540
+ metadata: LedgerSegmentMetadataSchema,
9275
9541
  /** Full product/version/variant/tab detail metadata, or null when the dimension is absent. */
9276
9542
  product: SegmentDetailSchema.nullable(),
9277
9543
  version: SegmentDetailSchema.nullable(),
@@ -9340,16 +9606,19 @@ var VersionMetadataResponseSchema = z21.object({
9340
9606
  var PageContentInputSchema = z21.object({
9341
9607
  deploymentId: z21.string(),
9342
9608
  fullPath: z21.string().optional(),
9343
- pageId: z21.string().optional()
9609
+ pageId: z21.string().optional(),
9610
+ locale: z21.string().optional()
9344
9611
  });
9345
9612
  var PageContentResponseSchema = z21.object({
9346
9613
  s3Key: z21.string(),
9347
9614
  segmentHash: z21.string(),
9348
- url: z21.string()
9615
+ url: z21.string(),
9616
+ pageId: z21.string().optional()
9349
9617
  });
9350
9618
  var BatchPageContentInputSchema = z21.object({
9351
9619
  deploymentId: z21.string(),
9352
- pageIds: z21.array(z21.string()).min(1).max(2e3)
9620
+ pageIds: z21.array(z21.string()).min(1).max(2e3),
9621
+ locale: z21.string().optional()
9353
9622
  });
9354
9623
  var BatchPageContentItemSchema = z21.object({
9355
9624
  pageId: z21.string(),
@@ -9362,32 +9631,21 @@ var BatchPageContentResponseSchema = z21.object({
9362
9631
  var NavInputSchema = z21.object({
9363
9632
  segmentHash: z21.string()
9364
9633
  });
9365
- var NavRouteSchema = z21.object({
9366
- fullPath: z21.string().nullable(),
9367
- artifactId: z21.string(),
9368
- type: z21.string(),
9369
- /** Whether the artifact is hidden from the sidebar. */
9370
- hidden: z21.boolean(),
9371
- metadata: z21.unknown()
9372
- });
9373
9634
  var NavResponseSchema = z21.object({
9374
- routes: z21.array(NavRouteSchema)
9635
+ routes: z21.array(LedgerNavRouteSchema)
9375
9636
  });
9376
9637
  var RouteContextInputSchema = z21.object({
9377
9638
  deploymentId: z21.string(),
9378
9639
  fullPath: z21.string(),
9379
9640
  locale: z21.string().optional()
9380
9641
  });
9381
- var RouteContextResponseSchema = z21.object({
9642
+ var RouteContextResponseBaseSchema = z21.object({
9643
+ artifactId: z21.string(),
9382
9644
  /** Hash of the segment that owns the matched route — feed to `nav`. */
9383
9645
  segmentHash: z21.string(),
9384
9646
  /** Section path of the owning segment (e.g. "models/command"). */
9385
9647
  section: z21.string(),
9386
9648
  locale: z21.string(),
9387
- /** The artifact matched at `fullPath`. */
9388
- artifactId: z21.string(),
9389
- artifactType: z21.string(),
9390
- artifactMetadata: z21.unknown(),
9391
9649
  /**
9392
9650
  * Page content reference, or null for non-page artifacts (links/redirects)
9393
9651
  * and route-only aliases that carry no content blob.
@@ -9402,6 +9660,20 @@ var RouteContextResponseSchema = z21.object({
9402
9660
  variant: SegmentDetailSchema.nullable(),
9403
9661
  tab: SegmentDetailSchema.nullable()
9404
9662
  });
9663
+ var RouteContextResponseSchema = z21.discriminatedUnion("artifactType", [
9664
+ artifactTypeVariant(RouteContextResponseBaseSchema, "markdown"),
9665
+ artifactTypeVariant(RouteContextResponseBaseSchema, "page"),
9666
+ artifactTypeVariant(RouteContextResponseBaseSchema, "rest"),
9667
+ artifactTypeVariant(RouteContextResponseBaseSchema, "asyncapi"),
9668
+ artifactTypeVariant(RouteContextResponseBaseSchema, "webhook"),
9669
+ artifactTypeVariant(RouteContextResponseBaseSchema, "grpc"),
9670
+ artifactTypeVariant(RouteContextResponseBaseSchema, "graphql"),
9671
+ artifactTypeVariant(RouteContextResponseBaseSchema, "changelog"),
9672
+ artifactTypeVariant(RouteContextResponseBaseSchema, "link"),
9673
+ artifactTypeVariant(RouteContextResponseBaseSchema, "file"),
9674
+ artifactTypeVariant(RouteContextResponseBaseSchema, "image"),
9675
+ artifactTypeVariant(RouteContextResponseBaseSchema, "redirect")
9676
+ ]);
9405
9677
  var TopLevelNavigationInputSchema = z21.object({
9406
9678
  deploymentId: z21.string(),
9407
9679
  locale: z21.string().optional()
@@ -9518,17 +9790,6 @@ function createDocsLedgerClient(options) {
9518
9790
  });
9519
9791
  return (0, import_client17.createORPCClient)(link);
9520
9792
  }
9521
- function createDocsLedgerReadClient(options) {
9522
- const baseUrl = options.baseUrl.replace(/\/+$/, "");
9523
- const link = new import_fetch11.OpenAPILink(docsLedgerReadContract, {
9524
- url: `${baseUrl}/docs-ledger`,
9525
- headers: () => ({
9526
- Authorization: `Bearer ${options.token}`,
9527
- ...options.headers
9528
- })
9529
- });
9530
- return (0, import_client17.createORPCClient)(link);
9531
- }
9532
9793
 
9533
9794
  // src/orpc-client/editor-snapshot/client.ts
9534
9795
  var import_client18 = require("@orpc/client");
@@ -10411,7 +10672,6 @@ function createFdrORPCClient(options) {
10411
10672
  docsCache: createDocsCacheClient(normalizedOptions),
10412
10673
  docsDeployment: createDocsDeploymentClient(normalizedOptions),
10413
10674
  docsLedger: createDocsLedgerClient(normalizedOptions),
10414
- docsLedgerRead: createDocsLedgerReadClient(normalizedOptions),
10415
10675
  editorSnapshot: createEditorSnapshotClient(normalizedOptions),
10416
10676
  generators: {
10417
10677
  root: createGeneratorsRootClient(normalizedOptions),