@fern-api/fdr-sdk 1.2.162-d476e5b6bc → 1.2.163-010ff9e5c2

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 (91) hide show
  1. package/dist/client/libraryDocs.d.ts +9 -0
  2. package/dist/client/libraryDocs.d.ts.map +1 -1
  3. package/dist/js/client/FdrClient.js +5 -2
  4. package/dist/js/client/FdrClient.js.map +1 -1
  5. package/dist/js/client/FdrClient.mjs +5 -2
  6. package/dist/js/client/FdrClient.mjs.map +1 -1
  7. package/dist/js/client/types.js.map +1 -1
  8. package/dist/js/client/types.mjs.map +1 -1
  9. package/dist/js/converters/index.js +29 -17
  10. package/dist/js/converters/index.js.map +1 -1
  11. package/dist/js/converters/index.mjs +29 -17
  12. package/dist/js/converters/index.mjs.map +1 -1
  13. package/dist/js/index.js +34 -19
  14. package/dist/js/index.js.map +1 -1
  15. package/dist/js/index.mjs +34 -19
  16. package/dist/js/index.mjs.map +1 -1
  17. package/dist/js/navigation/index.js +30 -17
  18. package/dist/js/navigation/index.js.map +1 -1
  19. package/dist/js/navigation/index.mjs +30 -17
  20. package/dist/js/navigation/index.mjs.map +1 -1
  21. package/dist/js/navigation/ledger-root-builder.js +7 -0
  22. package/dist/js/navigation/ledger-root-builder.js.map +1 -1
  23. package/dist/js/navigation/ledger-root-builder.mjs +7 -0
  24. package/dist/js/navigation/ledger-root-builder.mjs.map +1 -1
  25. package/dist/js/navigation/types/latest.js.map +1 -1
  26. package/dist/js/navigation/types/latest.mjs.map +1 -1
  27. package/dist/js/navigation/types/v1.js.map +1 -1
  28. package/dist/js/navigation/types/v1.mjs.map +1 -1
  29. package/dist/js/navigation/versions/latest/index.js +22 -15
  30. package/dist/js/navigation/versions/latest/index.js.map +1 -1
  31. package/dist/js/navigation/versions/latest/index.mjs +21 -15
  32. package/dist/js/navigation/versions/latest/index.mjs.map +1 -1
  33. package/dist/js/orpc-client.js +5 -2
  34. package/dist/js/orpc-client.js.map +1 -1
  35. package/dist/js/orpc-client.mjs +5 -2
  36. package/dist/js/orpc-client.mjs.map +1 -1
  37. package/dist/navigation/NodeCollector.js +3 -3
  38. package/dist/navigation/NodeCollector.js.map +1 -1
  39. package/dist/navigation/__test__/ledger-root-builder.noindexPreservation.test.d.ts +2 -0
  40. package/dist/navigation/__test__/ledger-root-builder.noindexPreservation.test.d.ts.map +1 -0
  41. package/dist/navigation/__test__/ledger-root-builder.noindexPreservation.test.js +58 -0
  42. package/dist/navigation/__test__/ledger-root-builder.noindexPreservation.test.js.map +1 -0
  43. package/dist/navigation/ledger-root-builder.d.ts.map +1 -1
  44. package/dist/navigation/ledger-root-builder.js +7 -0
  45. package/dist/navigation/ledger-root-builder.js.map +1 -1
  46. package/dist/navigation/migrators/v1ToV2.d.ts.map +1 -1
  47. package/dist/navigation/migrators/v1ToV2.js +6 -0
  48. package/dist/navigation/migrators/v1ToV2.js.map +1 -1
  49. package/dist/navigation/types/latest.d.ts +6 -0
  50. package/dist/navigation/types/latest.d.ts.map +1 -1
  51. package/dist/navigation/types/v1.d.ts +6 -0
  52. package/dist/navigation/types/v1.d.ts.map +1 -1
  53. package/dist/navigation/versions/latest/index.d.ts +1 -0
  54. package/dist/navigation/versions/latest/index.d.ts.map +1 -1
  55. package/dist/navigation/versions/latest/index.js +1 -0
  56. package/dist/navigation/versions/latest/index.js.map +1 -1
  57. package/dist/navigation/versions/latest/isNoindexNode.d.ts +7 -0
  58. package/dist/navigation/versions/latest/isNoindexNode.d.ts.map +1 -0
  59. package/dist/navigation/versions/latest/isNoindexNode.js +10 -0
  60. package/dist/navigation/versions/latest/isNoindexNode.js.map +1 -0
  61. package/dist/orpc-client/docs/v2/library-docs/contract.d.ts +16 -0
  62. package/dist/orpc-client/docs/v2/library-docs/contract.d.ts.map +1 -1
  63. package/dist/orpc-client/docs/v2/library-docs/contract.js +3 -1
  64. package/dist/orpc-client/docs/v2/library-docs/contract.js.map +1 -1
  65. package/dist/orpc-client/docs-ledger/contract.d.ts +228 -0
  66. package/dist/orpc-client/docs-ledger/contract.d.ts.map +1 -1
  67. package/dist/orpc-client/docs-ledger/contract.js +2 -1
  68. package/dist/orpc-client/docs-ledger/contract.js.map +1 -1
  69. package/dist/orpc-client/docs-ledger/ledger-manifest.d.ts +336 -0
  70. package/dist/orpc-client/docs-ledger/ledger-manifest.d.ts.map +1 -1
  71. package/dist/types/client/libraryDocs.d.ts +9 -0
  72. package/dist/types/client/libraryDocs.d.ts.map +1 -1
  73. package/dist/types/navigation/__test__/ledger-root-builder.noindexPreservation.test.d.ts +2 -0
  74. package/dist/types/navigation/__test__/ledger-root-builder.noindexPreservation.test.d.ts.map +1 -0
  75. package/dist/types/navigation/ledger-root-builder.d.ts.map +1 -1
  76. package/dist/types/navigation/migrators/v1ToV2.d.ts.map +1 -1
  77. package/dist/types/navigation/types/latest.d.ts +6 -0
  78. package/dist/types/navigation/types/latest.d.ts.map +1 -1
  79. package/dist/types/navigation/types/v1.d.ts +6 -0
  80. package/dist/types/navigation/types/v1.d.ts.map +1 -1
  81. package/dist/types/navigation/versions/latest/index.d.ts +1 -0
  82. package/dist/types/navigation/versions/latest/index.d.ts.map +1 -1
  83. package/dist/types/navigation/versions/latest/isNoindexNode.d.ts +7 -0
  84. package/dist/types/navigation/versions/latest/isNoindexNode.d.ts.map +1 -0
  85. package/dist/types/orpc-client/docs/v2/library-docs/contract.d.ts +16 -0
  86. package/dist/types/orpc-client/docs/v2/library-docs/contract.d.ts.map +1 -1
  87. package/dist/types/orpc-client/docs-ledger/contract.d.ts +228 -0
  88. package/dist/types/orpc-client/docs-ledger/contract.d.ts.map +1 -1
  89. package/dist/types/orpc-client/docs-ledger/ledger-manifest.d.ts +336 -0
  90. package/dist/types/orpc-client/docs-ledger/ledger-manifest.d.ts.map +1 -1
  91. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/orpc-client/api/client.ts","../../../src/orpc-client/api/contract-latest.ts","../../../src/orpc-client/api/shared.ts","../../../src/orpc-client/shared.ts","../../../src/orpc-client/api/contract-register.ts","../../../src/orpc-client/api/contract-read.ts","../../../src/orpc-client/dashboard/client.ts","../../../src/orpc-client/dashboard/contract.ts","../../../src/orpc-client/docs-deployment/contract.ts","../../../src/orpc-client/dashboard-agent/client.ts","../../../src/orpc-client/dashboard-agent/contract.ts","../../../src/orpc-client/docs/v1/read/client.ts","../../../src/orpc-client/docs/v1/read/contract.ts","../../../src/client/docs-types/read.ts","../../../src/client/docs-types/read-commons.ts","../../../src/client/docs-types/shared.ts","../../../src/orpc-client/docs/v2/library-docs/client.ts","../../../src/orpc-client/docs/v2/library-docs/contract.ts","../../../src/orpc-client/docs/v2/library-docs/doxyfile.ts","../../../src/orpc-client/docs/v2/organization/client.ts","../../../src/orpc-client/docs/v2/organization/contract.ts","../../../src/orpc-client/docs/v2/read/client.ts","../../../src/orpc-client/docs/v2/read/contract.ts","../../../src/orpc-client/docs/v2/write/client.ts","../../../src/orpc-client/docs/v2/write/contract.ts","../../../src/client/docs-types/write.ts","../../../src/client/docs-types/write-commons.ts","../../../src/orpc-client/docs/client.ts","../../../src/orpc-client/docs-cache/client.ts","../../../src/orpc-client/docs-cache/contract.ts","../../../src/orpc-client/docs-deployment/client.ts","../../../src/orpc-client/docs-ledger/client.ts","../../../src/orpc-client/docs-ledger/contract.ts","../../../src/orpc-client/editor-snapshot/client.ts","../../../src/orpc-client/editor-snapshot/contract.ts","../../../src/orpc-client/generators/cli/client.ts","../../../src/orpc-client/generators/contract.ts","../../../src/orpc-client/generators/client.ts","../../../src/orpc-client/generators/versions/client.ts","../../../src/orpc-client/git/client.ts","../../../src/orpc-client/git/contract.ts","../../../src/orpc-client/mcp-hosting/client.ts","../../../src/orpc-client/mcp-hosting/contract.ts","../../../src/orpc-client/mcp-hosting/analytics.ts","../../../src/orpc-client/mcp-hosting/catalog.ts","../../../src/orpc-client/mcp-hosting/schemas.ts","../../../src/orpc-client/pdf-export/client.ts","../../../src/orpc-client/pdf-export/contract.ts","../../../src/orpc-client/sdks/client.ts","../../../src/orpc-client/sdks/contract.ts","../../../src/orpc-client/slugs/client.ts","../../../src/orpc-client/slugs/contract.ts","../../../src/orpc-client/snippets/client.ts","../../../src/orpc-client/snippets/contract.ts","../../../src/orpc-client/templates/client.ts","../../../src/orpc-client/templates/contract.ts","../../../src/orpc-client/tokens/client.ts","../../../src/orpc-client/tokens/contract.ts","../../../src/orpc-client/client.ts","../../../src/client/FdrClient.ts"],"sourcesContent":["import { createORPCClient } from \"@orpc/client\";\nimport { oc } from \"@orpc/contract\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport * as z from \"zod\";\n\nimport type { LatestApiDefinition } from \"./contract-latest.js\";\nimport { LatestApiDefinitionSchema } from \"./contract-latest.js\";\nimport type { ReadApiDefinition, ReadEndpointDefinition } from \"./contract-read.js\";\nimport { ReadApiDefinitionSchema, ReadEndpointDefinitionSchema } from \"./contract-read.js\";\nimport type {\n CheckSdkDynamicIrExistsResponse,\n DynamicIR,\n GetSdkDynamicIrUploadUrlsResponse,\n RegisterApiDefinition,\n RegisterApiDefinitionResponse,\n SnippetInfo,\n Source\n} from \"./contract-register.js\";\nimport {\n CheckSdkDynamicIrExistsResponseSchema,\n DynamicIRSchema,\n GetSdkDynamicIrUploadUrlsResponseSchema,\n RegisterApiDefinitionResponseSchema,\n RegisterApiDefinitionSchema,\n SnippetInfoSchema,\n SourceIdSchema,\n SourceSchema\n} from \"./contract-register.js\";\nimport type { HttpMethod } from \"./shared.js\";\nimport { HttpMethodSchema } from \"./shared.js\";\n\n// ── Contract definitions ─────────────────────────────────────────────────\n// Contract objects are NOT exported to avoid TS7056 declaration emit errors\n// caused by the deeply recursive zod schema types. They are only used\n// internally by the createApiClient factory function.\n\nconst apiLatestContract = {\n getApiLatest: oc\n .route({ method: \"GET\", path: \"/load/{apiDefinitionId}\" })\n .input(z.object({ apiDefinitionId: z.string() }))\n .output(LatestApiDefinitionSchema)\n};\n\nconst apiReadContract = {\n getApi: oc\n .route({ method: \"GET\", path: \"/load/{apiDefinitionId}\" })\n .input(z.object({ apiDefinitionId: z.string() }))\n .output(ReadApiDefinitionSchema),\n\n getApiDefinitionFull: oc\n .route({ method: \"GET\", path: \"/load-full/{apiDefinitionId}\" })\n .input(z.object({ apiDefinitionId: z.string() }))\n .output(ReadApiDefinitionSchema),\n\n getEndpointById: oc\n .route({\n method: \"GET\",\n path: \"/load/{apiDefinitionId}/endpoint/{endpointId}\"\n })\n .input(z.object({ apiDefinitionId: z.string(), endpointId: z.string() }))\n .output(ReadEndpointDefinitionSchema),\n\n getEndpointByLocator: oc\n .route({ method: \"GET\", path: \"/load/{apiDefinitionId}/endpoint\" })\n .input(\n z.object({\n apiDefinitionId: z.string(),\n method: HttpMethodSchema.nullish(),\n path: z.string().nullish(),\n identifierOverride: z.string().nullish()\n })\n )\n .output(ReadEndpointDefinitionSchema)\n};\n\nconst apiRegisterContract = {\n registerApiDefinition: oc\n .route({ method: \"POST\", path: \"/register\" })\n .input(\n z.object({\n orgId: z.string(),\n apiId: z.string(),\n definition: RegisterApiDefinitionSchema,\n sources: z.record(SourceIdSchema, SourceSchema).nullish(),\n dynamicIRs: z.record(z.string(), DynamicIRSchema).nullish()\n })\n )\n .output(RegisterApiDefinitionResponseSchema),\n\n getSdkDynamicIrUploadUrls: oc\n .route({ method: \"POST\", path: \"/sdk-dynamic-ir-upload-urls\" })\n .input(\n z.object({\n orgId: z.string(),\n version: z.string(),\n snippetConfiguration: z.record(z.string(), z.string())\n })\n )\n .output(GetSdkDynamicIrUploadUrlsResponseSchema),\n\n checkSdkDynamicIrExists: oc\n .route({ method: \"POST\", path: \"/check-sdk-dynamic-ir\" })\n .input(\n z.object({\n orgId: z.string(),\n snippetConfiguration: z.record(z.string(), SnippetInfoSchema)\n })\n )\n .output(CheckSdkDynamicIrExistsResponseSchema)\n};\n\n// ── Client types ─────────────────────────────────────────────────────────\n// Explicitly defined to avoid TS7056 (inferred type too long) that occurs\n// when using typeof on contract objects with deeply recursive zod schemas.\n\nexport interface ApiLatestClient {\n getApiLatest(input: { apiDefinitionId: string }): Promise<LatestApiDefinition>;\n}\n\nexport interface ApiReadClient {\n getApi(input: { apiDefinitionId: string }): Promise<ReadApiDefinition>;\n getApiDefinitionFull(input: { apiDefinitionId: string }): Promise<ReadApiDefinition>;\n getEndpointById(input: { apiDefinitionId: string; endpointId: string }): Promise<ReadEndpointDefinition>;\n getEndpointByLocator(input: {\n apiDefinitionId: string;\n method?: HttpMethod;\n path?: string;\n identifierOverride?: string;\n }): Promise<ReadEndpointDefinition>;\n}\n\nexport interface ApiRegisterClient {\n registerApiDefinition(input: {\n orgId: string;\n apiId: string;\n definition: RegisterApiDefinition;\n sources?: Record<string, Source> | null;\n dynamicIRs?: Record<string, DynamicIR> | null;\n }): Promise<RegisterApiDefinitionResponse>;\n getSdkDynamicIrUploadUrls(input: {\n orgId: string;\n version: string;\n snippetConfiguration: Record<string, string>;\n }): Promise<GetSdkDynamicIrUploadUrlsResponse>;\n checkSdkDynamicIrExists(input: {\n orgId: string;\n snippetConfiguration: Record<string, SnippetInfo>;\n }): Promise<CheckSdkDynamicIrExistsResponse>;\n}\n\nexport interface ApiClient {\n latest: ApiLatestClient;\n read: ApiReadClient;\n register: ApiRegisterClient;\n}\n\nexport interface CreateApiClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createApiClient(options: CreateApiClientOptions): ApiClient {\n const latestLink = new OpenAPILink(apiLatestContract, {\n url: `${options.baseUrl}/registry/api/latest`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n\n const readLink = new OpenAPILink(apiReadContract, {\n url: `${options.baseUrl}/registry/api`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n\n const registerLink = new OpenAPILink(apiRegisterContract, {\n url: `${options.baseUrl}/registry/api`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n\n return {\n latest: createORPCClient(latestLink) as unknown as ApiLatestClient,\n read: createORPCClient(readLink) as unknown as ApiReadClient,\n register: createORPCClient(registerLink) as unknown as ApiRegisterClient\n };\n}\n","import * as z from \"zod\";\n\nimport {\n AuthSchemeIdSchema,\n AvailabilitySchema,\n Base64TypeSchema,\n BigIntegerTypeSchema,\n BooleanTypeSchema,\n DateTypeSchema,\n DatetimeTypeSchema,\n DoubleTypeSchema,\n EndpointIdSchema,\n EndpointPathPartSchema,\n EnvironmentIdSchema,\n EnvironmentSchema,\n GraphQlOperationIdSchema,\n HttpMethodSchema,\n IntegerTypeSchema,\n LongTypeSchema,\n MultipleAuthTypeSchema,\n PropertyKeySchema,\n ProtocolSchema,\n ScalarTypeSchema,\n StringTypeSchema,\n SubpackageIdSchema,\n TypeIdSchema,\n Uint64TypeSchema,\n UintTypeSchema,\n UuidTypeSchema,\n WebhookHttpMethodSchema,\n WebhookIdSchema,\n WebSocketIdSchema,\n WebSocketMessageIdSchema,\n WebSocketMessageOriginSchema\n} from \"./shared.js\";\n\n// ── Latest commons ───────────────────────────────────────────────────────\n\nexport const PathPartSchema = EndpointPathPartSchema;\nexport type PathPart = z.infer<typeof PathPartSchema>;\n\nexport const WithNamespaceSchema = z.object({\n namespace: z.array(SubpackageIdSchema).nullish()\n});\nexport type WithNamespace = z.infer<typeof WithNamespaceSchema>;\n\n// ── Latest auth ──────────────────────────────────────────────────────────\n\nimport { BasicAuthSchema, BearerAuthSchema, HeaderAuthSchema, OAuthSchema } from \"./shared.js\";\n\nexport { BasicAuthSchema, BearerAuthSchema, HeaderAuthSchema, OAuthSchema };\n\nexport const LatestAuthSchemeSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"bearerAuth\"), ...BearerAuthSchema.shape }),\n z.object({ type: z.literal(\"basicAuth\"), ...BasicAuthSchema.shape }),\n z.object({ type: z.literal(\"header\"), ...HeaderAuthSchema.shape }),\n z.object({ type: z.literal(\"oAuth\"), value: OAuthSchema })\n]);\nexport type LatestAuthScheme = z.infer<typeof LatestAuthSchemeSchema>;\n\n// ── Latest type ──────────────────────────────────────────────────────────\n\nexport const LatestObjectPropertyAccessSchema = z.enum([\"READ_ONLY\", \"WRITE_ONLY\"]);\nexport type LatestObjectPropertyAccess = z.infer<typeof LatestObjectPropertyAccessSchema>;\n\nexport const LatestTypeReferenceIdDefaultSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"enum\"), value: z.string() })\n]);\nexport type LatestTypeReferenceIdDefault = z.infer<typeof LatestTypeReferenceIdDefaultSchema>;\n\nexport const LatestPrimitiveTypeSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"integer\"), ...IntegerTypeSchema.shape }),\n z.object({ type: z.literal(\"double\"), ...DoubleTypeSchema.shape }),\n z.object({ type: z.literal(\"string\"), ...StringTypeSchema.shape }),\n z.object({ type: z.literal(\"long\"), ...LongTypeSchema.shape }),\n z.object({ type: z.literal(\"boolean\"), ...BooleanTypeSchema.shape }),\n z.object({ type: z.literal(\"datetime\"), ...DatetimeTypeSchema.shape }),\n z.object({ type: z.literal(\"uuid\"), ...UuidTypeSchema.shape }),\n z.object({ type: z.literal(\"base64\"), ...Base64TypeSchema.shape }),\n z.object({ type: z.literal(\"date\"), ...DateTypeSchema.shape }),\n z.object({ type: z.literal(\"bigInteger\"), ...BigIntegerTypeSchema.shape }),\n z.object({ type: z.literal(\"uint\"), ...UintTypeSchema.shape }),\n z.object({ type: z.literal(\"uint64\"), ...Uint64TypeSchema.shape }),\n z.object({ type: z.literal(\"scalar\"), ...ScalarTypeSchema.shape })\n]);\nexport type LatestPrimitiveType = z.infer<typeof LatestPrimitiveTypeSchema>;\n\nexport const LatestLiteralTypeSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"booleanLiteral\"), value: z.boolean() }),\n z.object({ type: z.literal(\"stringLiteral\"), value: z.string() })\n]);\nexport type LatestLiteralType = z.infer<typeof LatestLiteralTypeSchema>;\n\nexport const LatestUnknownTypeSchema = z.object({\n displayName: z.string().nullish()\n});\nexport type LatestUnknownType = z.infer<typeof LatestUnknownTypeSchema>;\n\nexport const LatestEnumValueSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n value: z.string()\n});\nexport type LatestEnumValue = z.infer<typeof LatestEnumValueSchema>;\n\nexport const LatestEnumTypeSchema = z.object({\n default: z.string().nullish(),\n values: z.array(LatestEnumValueSchema)\n});\nexport type LatestEnumType = z.infer<typeof LatestEnumTypeSchema>;\n\nexport type LatestTypeShape =\n | LatestTypeShape.Alias\n | LatestTypeShape.Enum\n | LatestTypeShape.UndiscriminatedUnion\n | LatestTypeShape.DiscriminatedUnion\n | LatestTypeShape.Object_;\n\nexport namespace LatestTypeShape {\n export interface Alias {\n type: \"alias\";\n value: LatestTypeReference;\n }\n export interface Enum extends LatestEnumType {\n type: \"enum\";\n }\n export interface UndiscriminatedUnion extends LatestUndiscriminatedUnionType {\n type: \"undiscriminatedUnion\";\n }\n export interface DiscriminatedUnion extends LatestDiscriminatedUnionType {\n type: \"discriminatedUnion\";\n }\n export interface Object_ extends LatestObjectType {\n type: \"object\";\n }\n}\n\nexport type LatestTypeReference =\n | LatestTypeReference.Id\n | LatestTypeReference.Primitive\n | LatestTypeReference.Optional\n | LatestTypeReference.Nullable\n | LatestTypeReference.List\n | LatestTypeReference.Set\n | LatestTypeReference.Map\n | LatestTypeReference.Literal\n | LatestTypeReference.Unknown;\n\nexport namespace LatestTypeReference {\n export interface Id {\n type: \"id\";\n id: string;\n default?: LatestTypeReferenceIdDefault | null;\n }\n export interface Primitive {\n type: \"primitive\";\n value: LatestPrimitiveType;\n }\n export interface Optional {\n type: \"optional\";\n shape: LatestTypeShape;\n default?: unknown | null;\n }\n export interface Nullable {\n type: \"nullable\";\n shape: LatestTypeShape;\n }\n export interface List {\n type: \"list\";\n itemShape: LatestTypeShape;\n minItems?: number | null;\n maxItems?: number | null;\n }\n export interface Set {\n type: \"set\";\n itemShape: LatestTypeShape;\n minItems?: number | null;\n maxItems?: number | null;\n }\n export interface Map {\n type: \"map\";\n keyShape: LatestTypeShape;\n valueShape: LatestTypeShape;\n minProperties?: number | null;\n maxProperties?: number | null;\n }\n export interface Literal {\n type: \"literal\";\n value: LatestLiteralType;\n }\n export interface Unknown extends LatestUnknownType {\n type: \"unknown\";\n }\n}\n\nexport interface LatestObjectType {\n extends: string[];\n properties: LatestObjectProperty[];\n extraProperties?: LatestTypeReference | null;\n}\n\nexport interface LatestObjectProperty {\n description?: string | null;\n availability?: z.infer<typeof AvailabilitySchema> | null;\n key: string;\n valueShape: LatestTypeShape;\n propertyAccess?: LatestObjectPropertyAccess | null;\n arguments?: LatestGraphQlArgument[] | null;\n}\n\nexport interface LatestParameterProperty extends LatestObjectProperty {\n explode?: boolean | null;\n}\n\nexport interface LatestUndiscriminatedUnionVariant {\n description?: string | null;\n availability?: z.infer<typeof AvailabilitySchema> | null;\n displayName?: string | null;\n shape: LatestTypeShape;\n}\n\nexport interface LatestUndiscriminatedUnionType {\n variants: LatestUndiscriminatedUnionVariant[];\n}\n\nexport interface LatestDiscriminatedUnionVariant extends LatestObjectType {\n description?: string | null;\n availability?: z.infer<typeof AvailabilitySchema> | null;\n discriminantValue: string;\n displayName?: string | null;\n}\n\nexport interface LatestDiscriminatedUnionType {\n discriminant: string;\n variants: LatestDiscriminatedUnionVariant[];\n}\n\nexport const LatestObjectPropertySchema: z.ZodType<LatestObjectProperty> = z.lazy(() =>\n z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n key: PropertyKeySchema,\n valueShape: LatestTypeShapeSchema,\n propertyAccess: LatestObjectPropertyAccessSchema.nullish(),\n arguments: z.array(LatestGraphQlArgumentSchema).nullish()\n })\n);\n\nexport const LatestParameterPropertySchema: z.ZodType<LatestParameterProperty> = z.lazy(() =>\n z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n key: PropertyKeySchema,\n valueShape: LatestTypeShapeSchema,\n propertyAccess: LatestObjectPropertyAccessSchema.nullish(),\n explode: z.boolean().nullish()\n })\n);\n\nexport const LatestObjectTypeSchema: z.ZodType<LatestObjectType> = z.lazy(() =>\n z.object({\n extends: z.array(TypeIdSchema),\n properties: z.array(LatestObjectPropertySchema),\n extraProperties: LatestTypeReferenceSchema.nullish()\n })\n);\n\nexport const LatestUndiscriminatedUnionVariantSchema: z.ZodType<LatestUndiscriminatedUnionVariant> = z.lazy(() =>\n z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n displayName: z.string().nullish(),\n shape: LatestTypeShapeSchema\n })\n);\n\nexport const LatestUndiscriminatedUnionTypeSchema: z.ZodType<LatestUndiscriminatedUnionType> = z.lazy(() =>\n z.object({\n variants: z.array(LatestUndiscriminatedUnionVariantSchema)\n })\n);\n\nexport const LatestDiscriminatedUnionVariantSchema: z.ZodType<LatestDiscriminatedUnionVariant> = z.lazy(() =>\n z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n discriminantValue: z.string(),\n displayName: z.string().nullish(),\n extends: z.array(TypeIdSchema),\n properties: z.array(LatestObjectPropertySchema),\n extraProperties: LatestTypeReferenceSchema.nullish()\n })\n);\n\nexport const LatestDiscriminatedUnionTypeSchema: z.ZodType<LatestDiscriminatedUnionType> = z.lazy(() =>\n z.object({\n discriminant: PropertyKeySchema,\n variants: z.array(LatestDiscriminatedUnionVariantSchema)\n })\n);\n\nexport const LatestTypeShapeSchema: z.ZodType<LatestTypeShape> = z.lazy(() =>\n z.discriminatedUnion(\"type\", [\n z.object({\n type: z.literal(\"alias\"),\n value: LatestTypeReferenceSchema\n }),\n z.object({\n type: z.literal(\"enum\"),\n default: z.string().nullish(),\n values: z.array(LatestEnumValueSchema)\n }),\n z.object({\n type: z.literal(\"undiscriminatedUnion\"),\n variants: z.array(LatestUndiscriminatedUnionVariantSchema)\n }),\n z.object({\n type: z.literal(\"discriminatedUnion\"),\n discriminant: PropertyKeySchema,\n variants: z.array(LatestDiscriminatedUnionVariantSchema)\n }),\n z.object({\n type: z.literal(\"object\"),\n extends: z.array(TypeIdSchema),\n properties: z.array(LatestObjectPropertySchema),\n extraProperties: LatestTypeReferenceSchema.nullish()\n })\n ])\n);\n\nexport const LatestTypeReferenceSchema: z.ZodType<LatestTypeReference> = z.lazy(() =>\n z.discriminatedUnion(\"type\", [\n z.object({\n type: z.literal(\"id\"),\n id: TypeIdSchema,\n default: LatestTypeReferenceIdDefaultSchema.nullish()\n }),\n z.object({\n type: z.literal(\"primitive\"),\n value: LatestPrimitiveTypeSchema\n }),\n z.object({\n type: z.literal(\"optional\"),\n shape: LatestTypeShapeSchema,\n default: z.unknown().nullish()\n }),\n z.object({\n type: z.literal(\"nullable\"),\n shape: LatestTypeShapeSchema\n }),\n z.object({\n type: z.literal(\"list\"),\n itemShape: LatestTypeShapeSchema,\n minItems: z.number().int().nullish(),\n maxItems: z.number().int().nullish()\n }),\n z.object({\n type: z.literal(\"set\"),\n itemShape: LatestTypeShapeSchema,\n minItems: z.number().int().nullish(),\n maxItems: z.number().int().nullish()\n }),\n z.object({\n type: z.literal(\"map\"),\n keyShape: LatestTypeShapeSchema,\n valueShape: LatestTypeShapeSchema,\n minProperties: z.number().int().nullish(),\n maxProperties: z.number().int().nullish()\n }),\n z.object({\n type: z.literal(\"literal\"),\n value: LatestLiteralTypeSchema\n }),\n z.object({\n type: z.literal(\"unknown\"),\n displayName: z.string().nullish()\n })\n ])\n);\n\nexport const LatestTypeDefinitionSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n name: z.string(),\n shape: LatestTypeShapeSchema,\n displayName: z.string().nullish()\n});\nexport type LatestTypeDefinition = z.infer<typeof LatestTypeDefinitionSchema>;\n\nexport const LatestContentTypeSchema = z.union([z.string(), z.array(z.string())]);\nexport type LatestContentType = z.infer<typeof LatestContentTypeSchema>;\n\nexport const LatestBytesRequestSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n isOptional: z.boolean(),\n contentType: LatestContentTypeSchema.nullish()\n});\nexport type LatestBytesRequest = z.infer<typeof LatestBytesRequestSchema>;\n\nexport const LatestFormDataPropertySchema: z.ZodType<LatestFormDataField> = z.lazy(() =>\n z.discriminatedUnion(\"type\", [\n z.object({\n type: z.literal(\"file\"),\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n key: PropertyKeySchema,\n isOptional: z.boolean(),\n contentType: LatestContentTypeSchema.nullish()\n }),\n z.object({\n type: z.literal(\"files\"),\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n key: PropertyKeySchema,\n isOptional: z.boolean(),\n contentType: LatestContentTypeSchema.nullish()\n }),\n z.object({\n type: z.literal(\"property\"),\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n key: PropertyKeySchema,\n valueShape: LatestTypeShapeSchema,\n propertyAccess: LatestObjectPropertyAccessSchema.nullish(),\n contentType: LatestContentTypeSchema.nullish(),\n exploded: z.boolean().nullish()\n })\n ])\n);\n\nexport type LatestFormDataFile = {\n type: \"file\";\n description?: string | null;\n availability?: z.infer<typeof AvailabilitySchema> | null;\n key: string;\n isOptional: boolean;\n contentType?: LatestContentType | null;\n};\n\nexport type LatestFormDataFiles = {\n type: \"files\";\n description?: string | null;\n availability?: z.infer<typeof AvailabilitySchema> | null;\n key: string;\n isOptional: boolean;\n contentType?: LatestContentType | null;\n};\n\nexport type LatestFormDataPropertyVariant = {\n type: \"property\";\n description?: string | null;\n availability?: z.infer<typeof AvailabilitySchema> | null;\n key: string;\n valueShape: LatestTypeShape;\n propertyAccess?: LatestObjectPropertyAccess | null;\n contentType?: LatestContentType | null;\n exploded?: boolean | null;\n};\n\nexport type LatestFormDataField = LatestFormDataFile | LatestFormDataFiles | LatestFormDataPropertyVariant;\n\nexport const LatestFormDataRequestSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n fields: z.array(LatestFormDataPropertySchema)\n});\nexport type LatestFormDataRequest = z.infer<typeof LatestFormDataRequestSchema>;\n\nexport const LatestNullableTypeSchema: z.ZodType<{ shape: LatestTypeShape }> = z.lazy(() =>\n z.object({\n shape: LatestTypeShapeSchema\n })\n);\n\nexport const LatestOptionalTypeSchema: z.ZodType<{ shape: LatestTypeShape; default?: unknown }> = z.lazy(() =>\n z.object({\n shape: LatestTypeShapeSchema,\n default: z.unknown().nullish()\n })\n);\n\nexport const LatestListTypeSchema: z.ZodType<{\n itemShape: LatestTypeShape;\n minItems?: number | null;\n maxItems?: number | null;\n}> = z.lazy(() =>\n z.object({\n itemShape: LatestTypeShapeSchema,\n minItems: z.number().int().nullish(),\n maxItems: z.number().int().nullish()\n })\n);\n\nexport const LatestSetTypeSchema: z.ZodType<{\n itemShape: LatestTypeShape;\n minItems?: number | null;\n maxItems?: number | null;\n}> = z.lazy(() =>\n z.object({\n itemShape: LatestTypeShapeSchema,\n minItems: z.number().int().nullish(),\n maxItems: z.number().int().nullish()\n })\n);\n\nexport const LatestMapTypeSchema: z.ZodType<{\n keyShape: LatestTypeShape;\n valueShape: LatestTypeShape;\n minProperties?: number | null;\n maxProperties?: number | null;\n}> = z.lazy(() =>\n z.object({\n keyShape: LatestTypeShapeSchema,\n valueShape: LatestTypeShapeSchema,\n minProperties: z.number().int().nullish(),\n maxProperties: z.number().int().nullish()\n })\n);\n\n// ── Latest endpoint ──────────────────────────────────────────────────────\n\nexport const LatestLanguageSchema = z.string();\nexport type LatestLanguage = z.infer<typeof LatestLanguageSchema>;\n\nexport const LatestExampleEndpointRequestSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"json\"), value: z.unknown() }),\n z.object({ type: z.literal(\"form\"), value: z.record(z.string(), z.unknown()) }),\n z.object({ type: z.literal(\"bytes\"), value: z.unknown() })\n]);\nexport type LatestExampleEndpointRequest = z.infer<typeof LatestExampleEndpointRequestSchema>;\n\nexport const LatestExampleEndpointResponseSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"json\"), value: z.unknown() }),\n z.object({ type: z.literal(\"filename\"), value: z.unknown() }),\n z.object({ type: z.literal(\"stream\"), value: z.array(z.unknown()) }),\n z.object({ type: z.literal(\"sse\"), value: z.array(z.object({ event: z.string(), data: z.unknown() })) })\n]);\nexport type LatestExampleEndpointResponse = z.infer<typeof LatestExampleEndpointResponseSchema>;\n\nexport const LatestExampleErrorResponseSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"json\"), value: z.unknown() })\n]);\nexport type LatestExampleErrorResponse = z.infer<typeof LatestExampleErrorResponseSchema>;\n\nexport const LatestHttpRequestBodyShapeSchema: z.ZodType<LatestHttpRequestBodyShape> = z.lazy(() =>\n z.discriminatedUnion(\"type\", [\n z.object({\n type: z.literal(\"object\"),\n extends: z.array(TypeIdSchema),\n properties: z.array(LatestObjectPropertySchema),\n extraProperties: LatestTypeReferenceSchema.nullish()\n }),\n z.object({ type: z.literal(\"alias\"), value: LatestTypeReferenceSchema }),\n z.object({ type: z.literal(\"bytes\"), ...LatestBytesRequestSchema.shape }),\n z.object({ type: z.literal(\"formData\"), ...LatestFormDataRequestSchema.shape })\n ])\n);\n\nexport type LatestHttpRequestBodyShape =\n | ({ type: \"object\" } & LatestObjectType)\n | { type: \"alias\"; value: LatestTypeReference }\n | ({ type: \"bytes\" } & z.infer<typeof LatestBytesRequestSchema>)\n | ({ type: \"formData\" } & z.infer<typeof LatestFormDataRequestSchema>);\n\nexport const LatestHttpRequestSchema = z.object({\n description: z.string().nullish(),\n contentType: z.string().nullish(),\n body: LatestHttpRequestBodyShapeSchema\n});\nexport type LatestHttpRequest = z.infer<typeof LatestHttpRequestSchema>;\n\nexport const LatestFileDownloadResponseBodyShapeSchema = z.object({\n contentType: z.string().nullish()\n});\nexport type LatestFileDownloadResponseBodyShape = z.infer<typeof LatestFileDownloadResponseBodyShapeSchema>;\n\nexport const LatestStreamResponseSchema = z.object({\n terminator: z.string().nullish(),\n shape: LatestTypeShapeSchema\n});\nexport type LatestStreamResponse = z.infer<typeof LatestStreamResponseSchema>;\n\nexport type LatestHttpResponseBodyShape =\n | { type: \"empty\" }\n | ({ type: \"object\" } & LatestObjectType)\n | { type: \"alias\"; value: LatestTypeReference }\n | ({ type: \"fileDownload\" } & z.infer<typeof LatestFileDownloadResponseBodyShapeSchema>)\n | { type: \"streamingText\" }\n | ({ type: \"stream\" } & z.infer<typeof LatestStreamResponseSchema>);\n\nexport const LatestHttpResponseBodyShapeSchema: z.ZodType<LatestHttpResponseBodyShape> = z.lazy(() =>\n z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"empty\") }),\n z.object({\n type: z.literal(\"object\"),\n extends: z.array(TypeIdSchema),\n properties: z.array(LatestObjectPropertySchema),\n extraProperties: LatestTypeReferenceSchema.nullish()\n }),\n z.object({ type: z.literal(\"alias\"), value: LatestTypeReferenceSchema }),\n z.object({ type: z.literal(\"fileDownload\"), ...LatestFileDownloadResponseBodyShapeSchema.shape }),\n z.object({ type: z.literal(\"streamingText\") }),\n z.object({ type: z.literal(\"stream\"), ...LatestStreamResponseSchema.shape })\n ])\n);\n\nexport const LatestHttpResponseSchema = z.object({\n description: z.string().nullish(),\n body: LatestHttpResponseBodyShapeSchema,\n statusCode: z.number().int(),\n isWildcard: z.boolean().nullish()\n});\nexport type LatestHttpResponse = z.infer<typeof LatestHttpResponseSchema>;\n\nexport const LatestErrorExampleSchema = z.object({\n description: z.string().nullish(),\n name: z.string().nullish(),\n responseBody: LatestExampleErrorResponseSchema\n});\nexport type LatestErrorExample = z.infer<typeof LatestErrorExampleSchema>;\n\nexport const LatestErrorResponseSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n shape: LatestTypeShapeSchema.nullish(),\n statusCode: z.number().int(),\n isWildcard: z.boolean().nullish(),\n name: z.string(),\n examples: z.array(LatestErrorExampleSchema).nullish(),\n headers: z.array(LatestObjectPropertySchema).nullish()\n});\nexport type LatestErrorResponse = z.infer<typeof LatestErrorResponseSchema>;\n\nexport const LatestCodeSnippetSchema = z.object({\n description: z.string().nullish(),\n name: z.string().nullish(),\n language: LatestLanguageSchema,\n install: z.string().nullish(),\n code: z.string(),\n generated: z.boolean()\n});\nexport type LatestCodeSnippet = z.infer<typeof LatestCodeSnippetSchema>;\n\nexport const LatestExampleEndpointCallSchema = z.object({\n description: z.string().nullish(),\n path: z.string(),\n responseStatusCode: z.number().int(),\n name: z.string().nullish(),\n contentType: z.string().nullish(),\n pathParameters: z.record(PropertyKeySchema, z.unknown()).nullish(),\n queryParameters: z.record(PropertyKeySchema, z.unknown()).nullish(),\n headers: z.record(PropertyKeySchema, z.unknown()).nullish(),\n requestBody: LatestExampleEndpointRequestSchema.nullish(),\n responseBody: LatestExampleEndpointResponseSchema.nullish(),\n responseHeaders: z.record(z.string(), z.unknown()).nullish(),\n snippets: z.record(LatestLanguageSchema, z.array(LatestCodeSnippetSchema)).nullish(),\n codeExamples: z.unknown().nullish(),\n codeSamples: z.array(LatestCodeSnippetSchema).nullish()\n});\nexport type LatestExampleEndpointCall = z.infer<typeof LatestExampleEndpointCallSchema>;\n\nexport const LatestEndpointDefinitionSchema = z.object({\n description: z.string().nullish(),\n subtitle: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n namespace: z.array(z.string()).nullish(),\n id: EndpointIdSchema,\n method: HttpMethodSchema,\n path: z.array(PathPartSchema),\n displayName: z.string().nullish(),\n operationId: z.string().nullish(),\n auth: z.array(AuthSchemeIdSchema).nullish(),\n multiAuth: z.array(MultipleAuthTypeSchema).nullish(),\n defaultEnvironment: EnvironmentIdSchema.nullish(),\n environments: z.array(EnvironmentSchema).nullish(),\n pathParameters: z.array(LatestParameterPropertySchema).nullish(),\n queryParameters: z.array(LatestParameterPropertySchema).nullish(),\n requestHeaders: z.array(LatestObjectPropertySchema).nullish(),\n responseHeaders: z.array(LatestObjectPropertySchema).nullish(),\n requests: z.array(LatestHttpRequestSchema).nullish(),\n responses: z.array(LatestHttpResponseSchema).nullish(),\n errors: z.array(LatestErrorResponseSchema).nullish(),\n examples: z.array(LatestExampleEndpointCallSchema).nullish(),\n protocol: ProtocolSchema.nullish(),\n includeInApiExplorer: z.boolean().nullish(),\n snippetTemplates: z.unknown().nullish()\n});\nexport type LatestEndpointDefinition = z.infer<typeof LatestEndpointDefinitionSchema>;\n\n// ── Latest graphql ───────────────────────────────────────────────────────\n\nexport const LatestGraphQlOperationTypeSchema = z.enum([\"QUERY\", \"MUTATION\", \"SUBSCRIPTION\"]);\nexport type LatestGraphQlOperationType = z.infer<typeof LatestGraphQlOperationTypeSchema>;\n\nexport const LatestGraphQlArgumentSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n name: z.string(),\n type: LatestTypeShapeSchema,\n defaultValue: z.unknown().nullish()\n});\nexport type LatestGraphQlArgument = z.infer<typeof LatestGraphQlArgumentSchema>;\n\nexport const LatestGraphQlExampleSchema = z.object({\n description: z.string().nullish(),\n name: z.string().nullish(),\n query: z.string(),\n variables: z.record(z.string(), z.unknown()).nullish(),\n response: z.unknown().nullish()\n});\nexport type LatestGraphQlExample = z.infer<typeof LatestGraphQlExampleSchema>;\n\nexport const LatestGraphQlOperationSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n namespace: z.array(z.string()).nullish(),\n fieldPath: z.array(z.string()).nullish(),\n id: GraphQlOperationIdSchema,\n operationType: LatestGraphQlOperationTypeSchema,\n name: z.string(),\n displayName: z.string().nullish(),\n arguments: z.array(LatestGraphQlArgumentSchema).nullish(),\n returnType: LatestTypeShapeSchema,\n examples: z.array(LatestGraphQlExampleSchema).nullish(),\n snippets: z.record(LatestLanguageSchema, z.array(LatestCodeSnippetSchema)).nullish()\n});\nexport type LatestGraphQlOperation = z.infer<typeof LatestGraphQlOperationSchema>;\n\n// ── Latest webhook ───────────────────────────────────────────────────────\n\nexport type LatestWebhookPayloadShape =\n | ({ type: \"object\" } & LatestObjectType)\n | { type: \"alias\"; value: LatestTypeReference }\n | ({ type: \"formData\" } & z.infer<typeof LatestFormDataRequestSchema>);\n\nexport const LatestWebhookPayloadShapeSchema: z.ZodType<LatestWebhookPayloadShape> = z.lazy(() =>\n z.discriminatedUnion(\"type\", [\n z.object({\n type: z.literal(\"object\"),\n extends: z.array(TypeIdSchema),\n properties: z.array(LatestObjectPropertySchema),\n extraProperties: LatestTypeReferenceSchema.nullish()\n }),\n z.object({ type: z.literal(\"alias\"), value: LatestTypeReferenceSchema }),\n z.object({ type: z.literal(\"formData\"), ...LatestFormDataRequestSchema.shape })\n ])\n);\n\nexport const LatestWebhookPayloadSchema = z.object({\n description: z.string().nullish(),\n shape: LatestWebhookPayloadShapeSchema\n});\nexport type LatestWebhookPayload = z.infer<typeof LatestWebhookPayloadSchema>;\n\nexport const LatestExampleWebhookPayloadSchema = z.object({\n name: z.string().nullish(),\n payload: z.unknown()\n});\nexport type LatestExampleWebhookPayload = z.infer<typeof LatestExampleWebhookPayloadSchema>;\n\nexport const LatestWebhookDefinitionSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n namespace: z.array(z.string()).nullish(),\n id: WebhookIdSchema,\n displayName: z.string().nullish(),\n operationId: z.string().nullish(),\n method: WebhookHttpMethodSchema,\n path: z.array(z.string()),\n headers: z.array(LatestObjectPropertySchema).nullish(),\n payloads: z.array(LatestWebhookPayloadSchema).nullish(),\n responses: z.array(LatestHttpResponseSchema).nullish(),\n examples: z.array(LatestExampleWebhookPayloadSchema).nullish()\n});\nexport type LatestWebhookDefinition = z.infer<typeof LatestWebhookDefinitionSchema>;\n\n// ── Latest websocket ─────────────────────────────────────────────────────\n\nexport const LatestWebSocketMessageSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n type: WebSocketMessageIdSchema,\n displayName: z.string().nullish(),\n origin: WebSocketMessageOriginSchema,\n body: LatestTypeShapeSchema\n});\nexport type LatestWebSocketMessage = z.infer<typeof LatestWebSocketMessageSchema>;\n\nexport const LatestExampleWebSocketMessageSchema = z.object({\n type: WebSocketMessageIdSchema,\n body: z.unknown()\n});\nexport type LatestExampleWebSocketMessage = z.infer<typeof LatestExampleWebSocketMessageSchema>;\n\nexport const LatestExampleWebSocketSessionSchema = z.object({\n description: z.string().nullish(),\n path: z.string(),\n name: z.string().nullish(),\n pathParameters: z.record(PropertyKeySchema, z.unknown()).nullish(),\n queryParameters: z.record(PropertyKeySchema, z.unknown()).nullish(),\n requestHeaders: z.record(PropertyKeySchema, z.unknown()).nullish(),\n messages: z.array(LatestExampleWebSocketMessageSchema).nullish()\n});\nexport type LatestExampleWebSocketSession = z.infer<typeof LatestExampleWebSocketSessionSchema>;\n\nexport const LatestWebSocketChannelSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n namespace: z.array(z.string()).nullish(),\n id: WebSocketIdSchema,\n displayName: z.string().nullish(),\n operationId: z.string().nullish(),\n path: z.array(PathPartSchema),\n messages: z.array(LatestWebSocketMessageSchema),\n auth: z.array(AuthSchemeIdSchema).nullish(),\n defaultEnvironment: EnvironmentIdSchema.nullish(),\n environments: z.array(EnvironmentSchema).nullish(),\n pathParameters: z.array(LatestParameterPropertySchema).nullish(),\n queryParameters: z.array(LatestParameterPropertySchema).nullish(),\n requestHeaders: z.array(LatestObjectPropertySchema).nullish(),\n examples: z.array(LatestExampleWebSocketSessionSchema).nullish(),\n includeInApiExplorer: z.boolean().nullish()\n});\nexport type LatestWebSocketChannel = z.infer<typeof LatestWebSocketChannelSchema>;\n\n// ── Latest SubpackageMetadata & ApiDefinition ────────────────────────────\n\nexport const LatestSubpackageMetadataSchema = z.object({\n id: SubpackageIdSchema,\n name: z.string(),\n displayName: z.string().nullish(),\n description: z.string().nullish()\n});\nexport type LatestSubpackageMetadata = z.infer<typeof LatestSubpackageMetadataSchema>;\n\n// Import SnippetsConfigSchema from contract-register\nimport { SnippetsConfigSchema } from \"./contract-register.js\";\n\nexport const LatestApiDefinitionSchema = z.object({\n id: z.string(),\n apiName: z.string().nullish(),\n specVersion: z.string().nullish(),\n endpoints: z.record(EndpointIdSchema, LatestEndpointDefinitionSchema),\n websockets: z.record(WebSocketIdSchema, LatestWebSocketChannelSchema),\n webhooks: z.record(WebhookIdSchema, LatestWebhookDefinitionSchema),\n graphqlOperations: z.record(GraphQlOperationIdSchema, LatestGraphQlOperationSchema),\n types: z.record(TypeIdSchema, LatestTypeDefinitionSchema),\n subpackages: z.record(SubpackageIdSchema, LatestSubpackageMetadataSchema),\n auths: z.record(AuthSchemeIdSchema, LatestAuthSchemeSchema),\n globalHeaders: z.array(LatestObjectPropertySchema).nullish(),\n snippetsConfiguration: SnippetsConfigSchema.nullish()\n});\nexport type LatestApiDefinition = z.infer<typeof LatestApiDefinitionSchema>;\n\n// Alias for backward compatibility (consumers use FdrAPI.api.latest.ApiDefinition)\nexport type ApiDefinition = LatestApiDefinition;\nexport const ApiDefinitionSchema = LatestApiDefinitionSchema;\n","import * as z from \"zod\";\nimport { ApiDefinitionIdSchema, HttpMethod, HttpMethodSchema } from \"../shared.js\";\nimport type { FileId } from \"./ids.js\";\n\nexport { ApiDefinitionIdSchema, HttpMethod, HttpMethodSchema };\nexport * from \"./ids.js\";\n\nexport const TypeIdSchema = z.string();\n\nexport const EndpointIdSchema = z.string();\n\nexport const WebSocketIdSchema = z.string();\n\nexport const WebhookIdSchema = z.string();\n\nexport const GraphQlOperationIdSchema = z.string();\n\nexport const GraphQlTypeCategorySchema = z.enum([\"object\", \"input\", \"enum\", \"scalar\", \"interface\", \"union\"]);\nexport type GraphQlTypeCategory = z.infer<typeof GraphQlTypeCategorySchema>;\n\nexport const EnvironmentIdSchema = z.string();\n\nexport const PropertyKeySchema = z.string();\n\nexport const AuthSchemeIdSchema = z.string();\n\nexport const SubpackageIdSchema = z.string();\n\nexport const WebSocketMessageIdSchema = z.string();\n\nexport const FileIdSchema: z.ZodType<FileId> = z.string() as any;\n\nexport const MultipleAuthTypeSchema = z.object({\n schemes: z.array(AuthSchemeIdSchema)\n});\nexport type MultipleAuthType = z.infer<typeof MultipleAuthTypeSchema>;\n\nexport const GrpcMethodSchema = z.enum([\"UNARY\", \"CLIENT_STREAM\", \"SERVER_STREAM\", \"BIDIRECTIONAL_STREAM\"]);\n\nexport const AvailabilitySchema = z.enum([\n \"Alpha\",\n \"Stable\",\n \"GenerallyAvailable\",\n \"InDevelopment\",\n \"PreRelease\",\n \"Deprecated\",\n \"Beta\",\n \"Preview\",\n \"Legacy\"\n]);\n\nexport const WebSocketMessageOriginSchema = z.enum([\"client\", \"server\"]);\nexport type WebSocketMessageOrigin = z.infer<typeof WebSocketMessageOriginSchema>;\n\nexport const WebhookHttpMethodSchema = z.enum([\"GET\", \"POST\"]);\nexport type WebhookHttpMethod = z.infer<typeof WebhookHttpMethodSchema>;\n\nexport const WithDescriptionSchema = z.object({\n description: z.string().nullish()\n});\nexport type WithDescription = z.infer<typeof WithDescriptionSchema>;\n\nexport const WithAvailabilitySchema = z.object({\n availability: AvailabilitySchema.nullish()\n});\nexport type WithAvailability = z.infer<typeof WithAvailabilitySchema>;\n\nexport const EnvironmentSchema = z.object({\n id: EnvironmentIdSchema,\n baseUrl: z.string(),\n audiences: z.array(z.string()).nullish()\n});\nexport type Environment = z.infer<typeof EnvironmentSchema>;\n\nexport const RestProtocolSchema = z.object({});\n\nexport const OpenRpcProtocolSchema = z.object({\n methodName: z.string()\n});\n\nexport const GrpcProtocolSchema = z.object({\n methodName: z.string(),\n methodType: GrpcMethodSchema.nullish()\n});\n\nexport const ProtocolSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"rest\"), ...RestProtocolSchema.shape }),\n z.object({ type: z.literal(\"openrpc\"), ...OpenRpcProtocolSchema.shape }),\n z.object({ type: z.literal(\"grpc\"), ...GrpcProtocolSchema.shape })\n]);\nexport type Protocol = z.infer<typeof ProtocolSchema>;\n\nexport const ObjectPropertyAccessSchema = z.enum([\"READ_ONLY\", \"WRITE_ONLY\"]);\nexport type ObjectPropertyAccess = z.infer<typeof ObjectPropertyAccessSchema>;\n\nexport const TypeReferenceIdDefaultSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"enum\"), value: z.string() })\n]);\nexport type TypeReferenceIdDefault = z.infer<typeof TypeReferenceIdDefaultSchema>;\n\nconst _numberNullish = z.number().nullish();\nconst _numberIntNullish = z.number().int().nullish();\n\nfunction coerceNumber(val: unknown): unknown {\n if (typeof val === \"string\" && val.trim() !== \"\") {\n const num = Number(val);\n if (!Number.isNaN(num)) {\n return num;\n }\n }\n return val;\n}\n\nconst coercedNumberNullish = z.preprocess(coerceNumber, z.number().nullish()) as unknown as typeof _numberNullish;\nconst coercedNumberIntNullish = z.preprocess(\n coerceNumber,\n z.number().int().nullish()\n) as unknown as typeof _numberIntNullish;\n\nexport const IntegerTypeSchema = z.object({\n minimum: coercedNumberIntNullish,\n maximum: coercedNumberIntNullish,\n exclusiveMinimum: coercedNumberIntNullish,\n exclusiveMaximum: coercedNumberIntNullish,\n multipleOf: coercedNumberIntNullish,\n default: coercedNumberIntNullish\n});\nexport type IntegerType = z.infer<typeof IntegerTypeSchema>;\n\nexport const DoubleTypeSchema = z.object({\n minimum: coercedNumberNullish,\n maximum: coercedNumberNullish,\n exclusiveMinimum: coercedNumberNullish,\n exclusiveMaximum: coercedNumberNullish,\n multipleOf: coercedNumberNullish,\n default: coercedNumberNullish\n});\nexport type DoubleType = z.infer<typeof DoubleTypeSchema>;\n\nexport const StringTypeSchema = z.object({\n format: z.string().nullish(),\n regex: z.string().nullish(),\n minLength: z.number().int().nullish(),\n maxLength: z.number().int().nullish(),\n default: z.string().nullish()\n});\nexport type StringType = z.infer<typeof StringTypeSchema>;\n\nexport const LongTypeSchema = z.object({\n minimum: coercedNumberNullish,\n maximum: coercedNumberNullish,\n exclusiveMinimum: coercedNumberNullish,\n exclusiveMaximum: coercedNumberNullish,\n multipleOf: coercedNumberNullish,\n default: coercedNumberNullish\n});\nexport type LongType = z.infer<typeof LongTypeSchema>;\n\nconst _booleanNullish = z.boolean().nullish();\n\nexport const BooleanTypeSchema = z.object({\n default: z.preprocess((val) => {\n if (typeof val === \"string\") {\n if (val.toLowerCase() === \"true\") {\n return true;\n }\n if (val.toLowerCase() === \"false\") {\n return false;\n }\n }\n return val;\n }, z.boolean().nullish()) as unknown as typeof _booleanNullish\n});\nexport type BooleanType = z.infer<typeof BooleanTypeSchema>;\n\nexport const DatetimeTypeSchema = z.object({\n default: z.string().nullish()\n});\nexport type DatetimeType = z.infer<typeof DatetimeTypeSchema>;\n\nexport const UuidTypeSchema = z.object({\n default: z.string().nullish()\n});\nexport type UuidType = z.infer<typeof UuidTypeSchema>;\n\nexport const Base64TypeSchema = z.object({\n default: z.string().nullish(),\n mimeType: z.string().nullish()\n});\nexport type Base64Type = z.infer<typeof Base64TypeSchema>;\n\nexport const DateTypeSchema = z.object({\n default: z.string().nullish()\n});\nexport type DateType = z.infer<typeof DateTypeSchema>;\n\nexport const BigIntegerTypeSchema = z.object({\n default: z.string().nullish()\n});\nexport type BigIntegerType = z.infer<typeof BigIntegerTypeSchema>;\n\nexport const UintTypeSchema = z.object({\n minimum: coercedNumberIntNullish,\n maximum: coercedNumberIntNullish,\n exclusiveMinimum: coercedNumberIntNullish,\n exclusiveMaximum: coercedNumberIntNullish,\n multipleOf: coercedNumberIntNullish,\n default: coercedNumberIntNullish\n});\nexport type UintType = z.infer<typeof UintTypeSchema>;\n\nexport const Uint64TypeSchema = z.object({\n minimum: coercedNumberNullish,\n maximum: coercedNumberNullish,\n exclusiveMinimum: coercedNumberNullish,\n exclusiveMaximum: coercedNumberNullish,\n multipleOf: coercedNumberNullish,\n default: coercedNumberNullish\n});\nexport type Uint64Type = z.infer<typeof Uint64TypeSchema>;\n\nexport const ScalarTypeSchema = z.object({\n name: z.string(),\n description: z.string().nullish(),\n default: z.unknown().nullish()\n});\nexport type ScalarType = z.infer<typeof ScalarTypeSchema>;\n\nexport const PrimitiveTypeSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"integer\"), ...IntegerTypeSchema.shape }),\n z.object({ type: z.literal(\"double\"), ...DoubleTypeSchema.shape }),\n z.object({ type: z.literal(\"string\"), ...StringTypeSchema.shape }),\n z.object({ type: z.literal(\"long\"), ...LongTypeSchema.shape }),\n z.object({ type: z.literal(\"boolean\"), ...BooleanTypeSchema.shape }),\n z.object({ type: z.literal(\"datetime\"), ...DatetimeTypeSchema.shape }),\n z.object({ type: z.literal(\"uuid\"), ...UuidTypeSchema.shape }),\n z.object({ type: z.literal(\"base64\"), ...Base64TypeSchema.shape }),\n z.object({ type: z.literal(\"date\"), ...DateTypeSchema.shape }),\n z.object({ type: z.literal(\"bigInteger\"), ...BigIntegerTypeSchema.shape }),\n z.object({ type: z.literal(\"uint\"), ...UintTypeSchema.shape }),\n z.object({ type: z.literal(\"uint64\"), ...Uint64TypeSchema.shape }),\n z.object({ type: z.literal(\"scalar\"), ...ScalarTypeSchema.shape })\n]);\nexport type PrimitiveType = z.infer<typeof PrimitiveTypeSchema>;\n\nexport const LiteralTypeSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"booleanLiteral\"), value: z.boolean() }),\n z.object({ type: z.literal(\"stringLiteral\"), value: z.string() })\n]);\nexport type LiteralType = z.infer<typeof LiteralTypeSchema>;\n\nexport type TypeReference =\n | TypeReference.Id\n | TypeReference.Primitive\n | TypeReference.Optional\n | TypeReference.Nullable\n | TypeReference.List\n | TypeReference.Set\n | TypeReference.Map\n | TypeReference.Literal\n | TypeReference.Unknown;\n\nexport namespace TypeReference {\n export interface Id {\n type: \"id\";\n value: string;\n default?: TypeReferenceIdDefault | null;\n }\n export interface Primitive {\n type: \"primitive\";\n value: PrimitiveType;\n }\n export interface Optional {\n type: \"optional\";\n itemType: TypeReference;\n defaultValue?: unknown | null;\n }\n export interface Nullable {\n type: \"nullable\";\n itemType: TypeReference;\n }\n export interface List {\n type: \"list\";\n itemType: TypeReference;\n minItems?: number | null;\n maxItems?: number | null;\n }\n export interface Set {\n type: \"set\";\n itemType: TypeReference;\n minItems?: number | null;\n maxItems?: number | null;\n }\n export interface Map {\n type: \"map\";\n keyType: TypeReference;\n valueType: TypeReference;\n minProperties?: number | null;\n maxProperties?: number | null;\n }\n export interface Literal {\n type: \"literal\";\n value: LiteralType;\n }\n export interface Unknown {\n type: \"unknown\";\n }\n}\n\nexport const TypeReferenceSchema: z.ZodType<TypeReference> = z.lazy(() =>\n z.discriminatedUnion(\"type\", [\n z.object({\n type: z.literal(\"id\"),\n value: TypeIdSchema,\n default: TypeReferenceIdDefaultSchema.nullish()\n }),\n z.object({\n type: z.literal(\"primitive\"),\n value: PrimitiveTypeSchema\n }),\n z.object({\n type: z.literal(\"optional\"),\n itemType: TypeReferenceSchema,\n defaultValue: z.unknown().nullish()\n }),\n z.object({\n type: z.literal(\"nullable\"),\n itemType: TypeReferenceSchema\n }),\n z.object({\n type: z.literal(\"list\"),\n itemType: TypeReferenceSchema,\n minItems: z.number().int().nullish(),\n maxItems: z.number().int().nullish()\n }),\n z.object({\n type: z.literal(\"set\"),\n itemType: TypeReferenceSchema,\n minItems: z.number().int().nullish(),\n maxItems: z.number().int().nullish()\n }),\n z.object({\n type: z.literal(\"map\"),\n keyType: TypeReferenceSchema,\n valueType: TypeReferenceSchema,\n minProperties: z.number().int().nullish(),\n maxProperties: z.number().int().nullish()\n }),\n z.object({\n type: z.literal(\"literal\"),\n value: LiteralTypeSchema\n }),\n z.object({\n type: z.literal(\"unknown\")\n })\n ])\n);\n\nexport interface GraphQlArgument {\n description?: string | null;\n availability?: z.infer<typeof AvailabilitySchema> | null;\n name: string;\n type: TypeReference;\n defaultValue?: unknown | null;\n}\nexport const GraphQlArgumentSchema: z.ZodType<GraphQlArgument> = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n name: z.string(),\n type: TypeReferenceSchema,\n defaultValue: z.unknown().nullish()\n});\n\nexport const ObjectPropertySchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n key: PropertyKeySchema,\n valueType: TypeReferenceSchema,\n propertyAccess: ObjectPropertyAccessSchema.nullish(),\n arguments: z.array(GraphQlArgumentSchema).nullish()\n});\nexport type ObjectProperty = z.infer<typeof ObjectPropertySchema>;\n\nexport const ObjectTypeSchema = z.object({\n extends: z.array(TypeIdSchema),\n properties: z.array(ObjectPropertySchema),\n extraProperties: TypeReferenceSchema.nullish()\n});\nexport type ObjectType = z.infer<typeof ObjectTypeSchema>;\n\nexport const EnumValueSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n value: z.string()\n});\nexport type EnumValue = z.infer<typeof EnumValueSchema>;\n\nexport const EnumTypeSchema = z.object({\n default: z.string().nullish(),\n values: z.array(EnumValueSchema)\n});\nexport type EnumType = z.infer<typeof EnumTypeSchema>;\n\nexport const DiscriminatedUnionVariantSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n discriminantValue: z.string(),\n displayName: z.string().nullish(),\n additionalProperties: ObjectTypeSchema\n});\nexport type DiscriminatedUnionVariant = z.infer<typeof DiscriminatedUnionVariantSchema>;\n\nexport const DiscriminatedUnionTypeSchema = z.object({\n discriminant: z.string(),\n variants: z.array(DiscriminatedUnionVariantSchema)\n});\nexport type DiscriminatedUnionType = z.infer<typeof DiscriminatedUnionTypeSchema>;\n\nexport const ContentTypeSchema = z.union([z.string(), z.array(z.string())]);\nexport type ContentType = z.infer<typeof ContentTypeSchema>;\n\nexport const FilePropertySingleSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n key: PropertyKeySchema,\n isOptional: z.boolean(),\n contentType: ContentTypeSchema.nullish()\n});\nexport type FilePropertySingle = z.infer<typeof FilePropertySingleSchema>;\n\nexport const FilePropertyArraySchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n key: PropertyKeySchema,\n isOptional: z.boolean(),\n contentType: ContentTypeSchema.nullish()\n});\nexport type FilePropertyArray = z.infer<typeof FilePropertyArraySchema>;\n\nexport const FormDataFilePropertySchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"file\"), ...FilePropertySingleSchema.shape }),\n z.object({ type: z.literal(\"fileArray\"), ...FilePropertyArraySchema.shape })\n]);\nexport type FormDataFileProperty = z.infer<typeof FormDataFilePropertySchema>;\n\nexport const FormDataBodyPropertySchema = z.object({\n ...ObjectPropertySchema.shape,\n contentType: ContentTypeSchema.nullish(),\n exploded: z.boolean().nullish()\n});\nexport type FormDataBodyProperty = z.infer<typeof FormDataBodyPropertySchema>;\n\nexport const FormDataPropertySchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"file\"), value: FormDataFilePropertySchema }),\n z.object({ type: z.literal(\"bodyProperty\"), ...FormDataBodyPropertySchema.shape })\n]);\nexport type FormDataProperty = z.infer<typeof FormDataPropertySchema>;\n\nexport const FormDataRequestSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n name: z.string(),\n properties: z.array(FormDataPropertySchema)\n});\nexport type FormDataRequest = z.infer<typeof FormDataRequestSchema>;\n\nexport const EndpointPathPartSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"literal\"), value: z.string() }),\n z.object({ type: z.literal(\"pathParameter\"), value: PropertyKeySchema })\n]);\nexport type EndpointPathPart = z.infer<typeof EndpointPathPartSchema>;\n\nexport const PathParameterSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n key: PropertyKeySchema,\n type: TypeReferenceSchema,\n explode: z.boolean().nullish()\n});\nexport type PathParameter = z.infer<typeof PathParameterSchema>;\n\nexport const EndpointPathSchema = z.object({\n parts: z.array(EndpointPathPartSchema),\n pathParameters: z.array(PathParameterSchema)\n});\nexport type EndpointPath = z.infer<typeof EndpointPathSchema>;\n\nexport const QueryParameterSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n key: z.string(),\n type: TypeReferenceSchema,\n explode: z.boolean().nullish()\n});\nexport type QueryParameter = z.infer<typeof QueryParameterSchema>;\n\nexport const HeaderSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n key: z.string(),\n type: TypeReferenceSchema\n});\nexport type Header = z.infer<typeof HeaderSchema>;\n\nexport const JsonBodyShapeSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"object\"), ...ObjectTypeSchema.shape }),\n z.object({ type: z.literal(\"reference\"), value: TypeReferenceSchema })\n]);\nexport type JsonBodyShape = z.infer<typeof JsonBodyShapeSchema>;\n\nexport const FileDownloadResponseBodyShapeSchema = z.object({\n contentType: z.string().nullish()\n});\nexport type FileDownloadResponseBodyShape = z.infer<typeof FileDownloadResponseBodyShapeSchema>;\n\nexport const StreamResponseV2Schema = z.object({\n terminator: z.string().nullish(),\n shape: JsonBodyShapeSchema\n});\nexport type StreamResponseV2 = z.infer<typeof StreamResponseV2Schema>;\n\nexport const StreamConditionSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"booleanRequestProperty\"), value: PropertyKeySchema })\n]);\nexport type StreamCondition = z.infer<typeof StreamConditionSchema>;\n\nexport const FilenameWithDataSchema = z.object({\n filename: z.string(),\n data: FileIdSchema\n});\nexport type FilenameWithData = z.infer<typeof FilenameWithDataSchema>;\n\nexport const FormValueSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"json\"), value: z.unknown() }),\n z.object({ type: z.literal(\"filename\"), value: z.string() }),\n z.object({ type: z.literal(\"filenames\"), value: z.array(z.string()) }),\n z.object({ type: z.literal(\"filenameWithData\"), ...FilenameWithDataSchema.shape }),\n z.object({ type: z.literal(\"filenamesWithData\"), value: z.array(FilenameWithDataSchema) }),\n z.object({ type: z.literal(\"exploded\"), value: z.array(z.unknown()) })\n]);\nexport type FormValue = z.infer<typeof FormValueSchema>;\n\nexport const BytesValueSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"base64\"), value: z.string() })\n]);\nexport type BytesValue = z.infer<typeof BytesValueSchema>;\n\n// The form variant uses z.unknown() for record values instead of FormValueSchema to be\n// forward-compatible with new form value types and to tolerate form values produced by\n// the AI example enhancer (which may not conform to the strict FormValueSchema).\n// Example data is display-only and does not require strict validation at registration time.\nexport const ExampleEndpointRequestSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"json\"), value: z.unknown() }),\n z.object({ type: z.literal(\"form\"), value: z.record(z.string(), z.unknown()) }),\n z.object({ type: z.literal(\"bytes\"), value: BytesValueSchema })\n]);\nexport type ExampleEndpointRequest = z.infer<typeof ExampleEndpointRequestSchema>;\n\nexport const ExampleServerSentEventSchema = z.object({\n event: z.string(),\n data: z.unknown()\n});\nexport type ExampleServerSentEvent = z.infer<typeof ExampleServerSentEventSchema>;\n\nexport const ExampleEndpointResponseSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"json\"), value: z.unknown() }),\n z.object({ type: z.literal(\"filename\"), value: z.unknown() }),\n z.object({ type: z.literal(\"stream\"), value: z.array(z.unknown()) }),\n z.object({ type: z.literal(\"sse\"), value: z.array(ExampleServerSentEventSchema) })\n]);\nexport type ExampleEndpointResponse = z.infer<typeof ExampleEndpointResponseSchema>;\n\nexport const ErrorDeclarationSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n type: TypeReferenceSchema.nullish(),\n statusCode: z.number().int()\n});\nexport type ErrorDeclaration = z.infer<typeof ErrorDeclarationSchema>;\n\nexport const ExampleErrorResponseSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"json\"), value: z.unknown() })\n]);\nexport type ExampleErrorResponse = z.infer<typeof ExampleErrorResponseSchema>;\n\nexport const ErrorExampleSchema = z.object({\n description: z.string().nullish(),\n name: z.string().nullish(),\n responseBody: ExampleErrorResponseSchema\n});\nexport type ErrorExample = z.infer<typeof ErrorExampleSchema>;\n\nexport const GraphQlOperationTypeSchema = z.enum([\"QUERY\", \"MUTATION\", \"SUBSCRIPTION\"]);\nexport type GraphQlOperationType = z.infer<typeof GraphQlOperationTypeSchema>;\n\nexport const GraphQlExampleSchema = z.object({\n description: z.string().nullish(),\n name: z.string().nullish(),\n query: z.string(),\n variables: z.record(z.string(), z.unknown()).nullish(),\n response: z.unknown().nullish()\n});\nexport type GraphQlExample = z.infer<typeof GraphQlExampleSchema>;\n\nexport const CodeSnippetSchema = z.object({\n description: z.string().nullish(),\n name: z.string().nullish(),\n language: z.string(),\n install: z.string().nullish(),\n code: z.string(),\n generated: z.boolean()\n});\nexport type CodeSnippet = z.infer<typeof CodeSnippetSchema>;\n\nexport const GraphQlOperationSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n id: GraphQlOperationIdSchema,\n operationType: GraphQlOperationTypeSchema,\n name: z.string(),\n displayName: z.string().nullish(),\n fieldPath: z.array(z.string()).nullish(),\n arguments: z.array(GraphQlArgumentSchema).nullish(),\n returnType: TypeReferenceSchema,\n examples: z.array(GraphQlExampleSchema).nullish(),\n snippets: z.record(z.string(), z.array(CodeSnippetSchema)).nullish()\n});\nexport type GraphQlOperation = z.infer<typeof GraphQlOperationSchema>;\n\nexport const WebhookPayloadShapeSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"object\"), ...ObjectTypeSchema.shape }),\n z.object({ type: z.literal(\"reference\"), value: TypeReferenceSchema }),\n z.object({ type: z.literal(\"formData\"), ...FormDataRequestSchema.shape })\n]);\nexport type WebhookPayloadShape = z.infer<typeof WebhookPayloadShapeSchema>;\n\nexport const WebhookPayloadSchema = z.object({\n description: z.string().nullish(),\n type: WebhookPayloadShapeSchema\n});\nexport type WebhookPayload = z.infer<typeof WebhookPayloadSchema>;\n\nexport const ExampleWebhookPayloadSchema = z.object({\n name: z.string().nullish(),\n payload: z.unknown()\n});\nexport type ExampleWebhookPayload = z.infer<typeof ExampleWebhookPayloadSchema>;\n\nexport const WebSocketMessageBodyShapeSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"object\"), ...ObjectTypeSchema.shape }),\n z.object({ type: z.literal(\"reference\"), value: TypeReferenceSchema })\n]);\nexport type WebSocketMessageBodyShape = z.infer<typeof WebSocketMessageBodyShapeSchema>;\n\nexport const WebSocketMessageSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n type: WebSocketMessageIdSchema,\n displayName: z.string().nullish(),\n origin: WebSocketMessageOriginSchema,\n body: WebSocketMessageBodyShapeSchema\n});\nexport type WebSocketMessage = z.infer<typeof WebSocketMessageSchema>;\n\nexport const ExampleWebSocketMessageSchema = z.object({\n type: WebSocketMessageIdSchema,\n body: z.unknown()\n});\nexport type ExampleWebSocketMessage = z.infer<typeof ExampleWebSocketMessageSchema>;\n\nexport const ExampleWebSocketSessionSchema = z.object({\n description: z.string().nullish(),\n name: z.string().nullish(),\n path: z.string(),\n pathParameters: z.record(PropertyKeySchema, z.unknown()),\n queryParameters: z.record(z.string(), z.unknown()),\n headers: z.record(z.string(), z.unknown()),\n messages: z.array(ExampleWebSocketMessageSchema)\n});\nexport type ExampleWebSocketSession = z.infer<typeof ExampleWebSocketSessionSchema>;\n\nexport type ApiNavigationConfigItem =\n | ApiNavigationConfigItem.Subpackage\n | ApiNavigationConfigItem.EndpointId\n | ApiNavigationConfigItem.WebsocketId\n | ApiNavigationConfigItem.WebhookId\n | ApiNavigationConfigItem.GraphqlOperationId;\n\nexport namespace ApiNavigationConfigItem {\n export interface Subpackage {\n type: \"subpackage\";\n subpackageId: string;\n items: ApiNavigationConfigItem[];\n }\n export interface EndpointId {\n type: \"endpointId\";\n value: string;\n }\n export interface WebsocketId {\n type: \"websocketId\";\n value: string;\n }\n export interface WebhookId {\n type: \"webhookId\";\n value: string;\n }\n export interface GraphqlOperationId {\n type: \"graphqlOperationId\";\n value: string;\n }\n}\n\nexport const ApiNavigationConfigItemSchema: z.ZodType<ApiNavigationConfigItem> = z.lazy(() =>\n z.discriminatedUnion(\"type\", [\n z.object({\n type: z.literal(\"subpackage\"),\n subpackageId: SubpackageIdSchema,\n items: z.array(ApiNavigationConfigItemSchema)\n }),\n z.object({ type: z.literal(\"endpointId\"), value: EndpointIdSchema }),\n z.object({ type: z.literal(\"websocketId\"), value: WebSocketIdSchema }),\n z.object({ type: z.literal(\"webhookId\"), value: WebhookIdSchema }),\n z.object({ type: z.literal(\"graphqlOperationId\"), value: GraphQlOperationIdSchema })\n ])\n);\n\nexport const ApiNavigationConfigRootSchema = z.object({\n items: z.array(ApiNavigationConfigItemSchema)\n});\nexport type ApiNavigationConfigRoot = z.infer<typeof ApiNavigationConfigRootSchema>;\n\n/**\n * Shown below the scheme's input in the API playground instead of `description`.\n * Supports a markdown subset: `[label](url)` links (absolute or relative), bare URLs,\n * `inline code`, and blank-line-separated paragraphs. Set via `x-fern-playground-description`.\n */\nconst PlaygroundDescriptionSchema = z.string().nullish();\n\nexport const BearerAuthSchema = z.object({\n description: z.string().nullish(),\n playgroundDescription: PlaygroundDescriptionSchema,\n tokenName: z.string().nullish()\n});\nexport type BearerAuth = z.infer<typeof BearerAuthSchema>;\n\nexport const BasicAuthSchema = z.object({\n description: z.string().nullish(),\n playgroundDescription: PlaygroundDescriptionSchema,\n usernameName: z.string().nullish(),\n passwordName: z.string().nullish(),\n passwordAlwaysEmpty: z.boolean().nullish()\n});\nexport type BasicAuth = z.infer<typeof BasicAuthSchema>;\n\nexport const HeaderAuthSchema = z.object({\n description: z.string().nullish(),\n playgroundDescription: PlaygroundDescriptionSchema,\n nameOverride: z.string().nullish(),\n headerWireValue: z.string(),\n prefix: z.string().nullish()\n});\nexport type HeaderAuth = z.infer<typeof HeaderAuthSchema>;\n\nexport const OAuthClientCredentialsReferencedEndpointSchema = z.object({\n description: z.string().nullish(),\n playgroundDescription: PlaygroundDescriptionSchema,\n endpointId: EndpointIdSchema,\n accessTokenLocator: z.string(),\n headerName: z.string().nullish(),\n tokenPrefix: z.string().nullish()\n});\nexport type OAuthClientCredentialsReferencedEndpoint = z.infer<typeof OAuthClientCredentialsReferencedEndpointSchema>;\n\nexport const OAuthClientCredentialsSchema = z.discriminatedUnion(\"type\", [\n z.object({\n type: z.literal(\"referencedEndpoint\"),\n ...OAuthClientCredentialsReferencedEndpointSchema.shape\n })\n]);\nexport type OAuthClientCredentials = z.infer<typeof OAuthClientCredentialsSchema>;\n\nexport const OAuthSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"clientCredentials\"), value: OAuthClientCredentialsSchema })\n]);\nexport type OAuth = z.infer<typeof OAuthSchema>;\n\nexport const ApiAuthSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"bearerAuth\"), ...BearerAuthSchema.shape }),\n z.object({ type: z.literal(\"basicAuth\"), ...BasicAuthSchema.shape }),\n z.object({ type: z.literal(\"header\"), ...HeaderAuthSchema.shape }),\n z.object({ type: z.literal(\"oAuth\"), value: OAuthSchema })\n]);\nexport type ApiAuth = z.infer<typeof ApiAuthSchema>;\n","import * as z from \"zod\";\n\n// ── Org / API identifiers ──────────────────────────────────────────────\n\nexport const OrgIdSchema = z.string();\nexport type OrgId = z.infer<typeof OrgIdSchema>;\nexport function OrgId(value: string): OrgId {\n return value;\n}\n\nexport const ApiIdSchema = z.string();\nexport type ApiId = z.infer<typeof ApiIdSchema>;\nexport function ApiId(value: string): ApiId {\n return value;\n}\n\nexport const ApiDefinitionIdSchema = z.string().uuid();\nexport type ApiDefinitionId = z.infer<typeof ApiDefinitionIdSchema>;\nexport function ApiDefinitionId(value: string): ApiDefinitionId {\n return value;\n}\n\n// ── HTTP / Endpoint schemas ─────────────────────────────────────────────\n\nexport const HttpMethodSchema = z.enum([\"GET\", \"POST\", \"PUT\", \"PATCH\", \"DELETE\", \"HEAD\"]);\nexport type HttpMethod = z.infer<typeof HttpMethodSchema>;\n\nexport const HttpMethod = {\n Get: \"GET\",\n Post: \"POST\",\n Put: \"PUT\",\n Patch: \"PATCH\",\n Delete: \"DELETE\",\n Head: \"HEAD\"\n} as const;\n\nexport const UrlSchema: z.ZodType<Url> = z.string() as any;\nexport type Url = string & { Url: void };\nexport function Url(value: string): Url {\n return value as unknown as Url;\n}\n\nexport const EndpointPathLiteralSchema = z.string();\nexport type EndpointPathLiteral = z.infer<typeof EndpointPathLiteralSchema>;\nexport function EndpointPathLiteral(value: string): EndpointPathLiteral {\n return value;\n}\n\nexport const EndpointIdentifierSchema = z.object({\n path: z.string(),\n method: HttpMethodSchema,\n identifierOverride: z.string().nullish()\n});\nexport type EndpointIdentifier = z.infer<typeof EndpointIdentifierSchema>;\n\n// ── SDK request schema ──────────────────────────────────────────────────\n\nexport type SdkRequest =\n | { type: \"typescript\"; package: string; version: string | undefined }\n | { type: \"python\"; package: string; version: string | undefined }\n | { type: \"go\"; githubRepo: string; version: string | undefined }\n | { type: \"ruby\"; gem: string; version: string | undefined }\n | { type: \"java\"; group: string; artifact: string; version: string | undefined }\n | { type: \"csharp\"; package: string; version: string | undefined };\n\nexport const SdkRequestSchema: z.ZodType<SdkRequest> = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"typescript\"), package: z.string(), version: z.string().nullish() }),\n z.object({ type: z.literal(\"python\"), package: z.string(), version: z.string().nullish() }),\n z.object({ type: z.literal(\"go\"), githubRepo: z.string(), version: z.string().nullish() }),\n z.object({ type: z.literal(\"ruby\"), gem: z.string(), version: z.string().nullish() }),\n z.object({\n type: z.literal(\"java\"),\n group: z.string(),\n artifact: z.string(),\n version: z.string().nullish()\n }),\n z.object({ type: z.literal(\"csharp\"), package: z.string(), version: z.string().nullish() })\n]) as any;\n\n// ── Additional identifiers ─────────────────────────────────────────────\n\nexport const DocsConfigIdSchema = z.string();\nexport type DocsConfigId = z.infer<typeof DocsConfigIdSchema>;\nexport function DocsConfigId(value: string): DocsConfigId {\n return value;\n}\n\nexport const GrpcIdSchema = z.string();\nexport type GrpcId = z.infer<typeof GrpcIdSchema>;\nexport function GrpcId(value: string): GrpcId {\n return value;\n}\n\nexport const PageIdSchema = z.string();\nexport type PageId = z.infer<typeof PageIdSchema>;\nexport function PageId(value: string): PageId {\n return value;\n}\n\nexport const RoleIdSchema = z.string();\nexport type RoleId = z.infer<typeof RoleIdSchema>;\nexport function RoleId(value: string): RoleId {\n return value;\n}\n\nexport const TokenIdSchema = z.string();\nexport type TokenId = z.infer<typeof TokenIdSchema>;\n\nexport const VersionIdSchema = z.string();\nexport type VersionId = z.infer<typeof VersionIdSchema>;\nexport function VersionId(value: string): VersionId {\n return value;\n}\n\n// ── Enums ──────────────────────────────────────────────────────────────\n\nexport const LinkTarget = {\n Blank: \"_blank\",\n Self: \"_self\",\n Parent: \"_parent\",\n Top: \"_top\"\n} as const;\nexport type LinkTarget = (typeof LinkTarget)[keyof typeof LinkTarget];\n\nexport const GrpcMethod = {\n Unary: \"UNARY\",\n ClientStream: \"CLIENT_STREAM\",\n ServerStream: \"SERVER_STREAM\",\n BidirectionalStream: \"BIDIRECTIONAL_STREAM\"\n} as const;\nexport type GrpcMethod = (typeof GrpcMethod)[keyof typeof GrpcMethod];\n\nexport const Availability = {\n Alpha: \"Alpha\",\n Stable: \"Stable\",\n GenerallyAvailable: \"GenerallyAvailable\",\n InDevelopment: \"InDevelopment\",\n PreRelease: \"PreRelease\",\n Deprecated: \"Deprecated\",\n Beta: \"Beta\",\n Preview: \"Preview\",\n Legacy: \"Legacy\"\n} as const;\nexport type Availability = (typeof Availability)[keyof typeof Availability];\n\nexport const SupportedLanguage = {\n Curl: \"curl\",\n Python: \"python\",\n Javascript: \"javascript\",\n Js: \"js\",\n Node: \"node\",\n Typescript: \"typescript\",\n Ts: \"ts\",\n Go: \"go\",\n Ruby: \"ruby\",\n Csharp: \"csharp\",\n Php: \"php\",\n Swift: \"swift\",\n Rust: \"rust\"\n} as const;\nexport type SupportedLanguage = (typeof SupportedLanguage)[keyof typeof SupportedLanguage];\n\nexport const HttpSnippetLanguage = {\n Curl: \"curl\",\n Csharp: \"csharp\",\n Go: \"go\",\n Java: \"java\",\n Javascript: \"javascript\",\n Php: \"php\",\n Python: \"python\",\n Ruby: \"ruby\",\n Swift: \"swift\",\n Rust: \"rust\",\n Typescript: \"typescript\"\n} as const;\nexport type HttpSnippetLanguage = (typeof HttpSnippetLanguage)[keyof typeof HttpSnippetLanguage];\n\n// ── Error types ────────────────────────────────────────────────────────\n\nexport interface InvalidDomainErrorBody {\n /** Value the domain should end with (i.e. docs.buildwithfern.com or dev.docs.buildwithfern.com) */\n requiredDomainSuffix: string;\n}\n\n// ── Docs types ─────────────────────────────────────────────────────────\n\nexport interface AnnouncementConfig {\n /** The text to display in the banner, using markdown. */\n text: string;\n}\n\n// ── Snippet types ──────────────────────────────────────────────────────\n\nexport type SnippetsByEndpointMethod = Partial<Record<HttpMethod, Snippet[]>>;\n\nexport const SnippetsByEndpointMethodSchema: z.ZodType<SnippetsByEndpointMethod> = z.record(\n HttpMethodSchema,\n z.array(z.unknown())\n) as any;\n\n// ── SDK types for snippets ────────────────────────────────────────────\n\nexport interface TypeScriptSdk {\n package: string;\n version: string;\n}\n\nexport interface PythonSdk {\n package: string;\n version: string;\n}\n\nexport interface GoSdk {\n githubRepo: string;\n version: string;\n}\n\nexport interface RubySdk {\n gem: string;\n version: string;\n}\n\nexport interface CsharpSdk {\n package: string;\n version: string;\n}\n\nexport interface JavaSdk {\n group: string;\n artifact: string;\n version: string;\n}\n\nexport interface TypeScriptSnippet {\n sdk: TypeScriptSdk;\n client: string;\n}\n\nexport interface PythonSnippet {\n sdk: PythonSdk;\n async_client: string;\n sync_client: string;\n}\n\nexport interface GoSnippet {\n sdk: GoSdk;\n client: string;\n}\n\nexport interface RubySnippet {\n sdk: RubySdk;\n client: string;\n}\n\nexport interface CsharpSnippet {\n sdk: CsharpSdk;\n client: string;\n}\n\nexport interface JavaSnippet {\n sdk: JavaSdk;\n async_client: string;\n sync_client: string;\n}\n\n// ── Snippet discriminated union ───────────────────────────────────────\n\n// ── Snippet code types (used to deserialize snippet data from DB) ────\n\nexport interface TypeScriptSnippetCode {\n client: string;\n}\n\nexport interface PythonSnippetCode {\n async_client: string;\n sync_client: string;\n}\n\nexport interface GoSnippetCode {\n client: string;\n}\n\nexport interface RubySnippetCode {\n client: string;\n}\n\nexport interface JavaSnippetCode {\n async_client: string;\n sync_client: string;\n}\n\nexport interface CsharpSnippetCode {\n client: string;\n}\n\n// ── Sdk type (SdkRequest with required version) ─────────────────────\n\nexport const SdkSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"typescript\"), package: z.string(), version: z.string() }),\n z.object({ type: z.literal(\"python\"), package: z.string(), version: z.string() }),\n z.object({ type: z.literal(\"go\"), githubRepo: z.string(), version: z.string() }),\n z.object({ type: z.literal(\"ruby\"), gem: z.string(), version: z.string() }),\n z.object({\n type: z.literal(\"java\"),\n group: z.string(),\n artifact: z.string(),\n version: z.string()\n }),\n z.object({ type: z.literal(\"csharp\"), package: z.string(), version: z.string() })\n]);\nexport type Sdk = z.infer<typeof SdkSchema>;\n\n// ── Template type (generic template placeholder) ────────────────────\nexport type Template = unknown;\n\nexport type Snippet = Snippet.Typescript | Snippet.Python | Snippet.Java | Snippet.Go | Snippet.Ruby | Snippet.Csharp;\n\nexport namespace Snippet {\n interface _Base {\n exampleIdentifier: string | undefined;\n }\n\n export interface Typescript extends TypeScriptSnippet, _Base {\n type: \"typescript\";\n }\n\n export interface Python extends PythonSnippet, _Base {\n type: \"python\";\n }\n\n export interface Java extends JavaSnippet, _Base {\n type: \"java\";\n }\n\n export interface Go extends GoSnippet, _Base {\n type: \"go\";\n }\n\n export interface Ruby extends RubySnippet, _Base {\n type: \"ruby\";\n }\n\n export interface Csharp extends CsharpSnippet, _Base {\n type: \"csharp\";\n }\n}\n","import * as z from \"zod\";\nimport type { DiscriminatedUnionType, EnumType, ObjectType, TypeReference } from \"./shared.js\";\nimport {\n ApiAuthSchema,\n ApiDefinitionIdSchema,\n ApiNavigationConfigRootSchema,\n AuthSchemeIdSchema,\n AvailabilitySchema,\n DiscriminatedUnionTypeSchema,\n EndpointIdSchema,\n EndpointPathSchema,\n EnumTypeSchema,\n EnvironmentIdSchema,\n EnvironmentSchema,\n ErrorDeclarationSchema,\n ErrorExampleSchema,\n ExampleEndpointRequestSchema,\n ExampleEndpointResponseSchema,\n ExampleWebhookPayloadSchema,\n ExampleWebSocketSessionSchema,\n FileDownloadResponseBodyShapeSchema,\n FormDataRequestSchema,\n GraphQlOperationSchema,\n HeaderSchema,\n HttpMethodSchema,\n JsonBodyShapeSchema,\n MultipleAuthTypeSchema,\n ObjectTypeSchema,\n PropertyKeySchema,\n ProtocolSchema,\n QueryParameterSchema,\n StreamConditionSchema,\n StreamResponseV2Schema,\n SubpackageIdSchema,\n TypeIdSchema,\n TypeReferenceSchema,\n WebhookHttpMethodSchema,\n WebhookIdSchema,\n WebhookPayloadSchema,\n WebSocketIdSchema,\n WebSocketMessageSchema\n} from \"./shared.js\";\n\n// ── Register commons ─────────────────────────────────────────────────────\n\nexport const JqStringSchema = z.string();\nexport type JqString = z.infer<typeof JqStringSchema>;\n\nexport const RegisterLanguageSchema = z.string();\nexport type RegisterLanguage = z.infer<typeof RegisterLanguageSchema>;\n\n// ── Register type ────────────────────────────────────────────────────────\n\nexport const RegisterUndiscriminatedUnionVariantSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n typeName: z.string().nullish(),\n type: TypeReferenceSchema,\n displayName: z.string().nullish()\n});\nexport type RegisterUndiscriminatedUnionVariant = z.infer<typeof RegisterUndiscriminatedUnionVariantSchema>;\n\nexport const RegisterUndiscriminatedUnionTypeSchema = z.object({\n variants: z.array(RegisterUndiscriminatedUnionVariantSchema)\n});\nexport type RegisterUndiscriminatedUnionType = z.infer<typeof RegisterUndiscriminatedUnionTypeSchema>;\n\nexport type RegisterTypeShape =\n | RegisterTypeShape.Alias\n | RegisterTypeShape.Enum\n | RegisterTypeShape.UndiscriminatedUnion\n | RegisterTypeShape.DiscriminatedUnion\n | RegisterTypeShape.Object_;\n\nexport namespace RegisterTypeShape {\n export interface Alias {\n type: \"alias\";\n value: TypeReference;\n }\n export interface Enum extends EnumType {\n type: \"enum\";\n }\n export interface UndiscriminatedUnion extends RegisterUndiscriminatedUnionType {\n type: \"undiscriminatedUnion\";\n }\n export interface DiscriminatedUnion extends DiscriminatedUnionType {\n type: \"discriminatedUnion\";\n }\n export interface Object_ extends ObjectType {\n type: \"object\";\n }\n}\n\nexport const RegisterTypeShapeSchema: z.ZodType<RegisterTypeShape> = z.lazy(() =>\n z.discriminatedUnion(\"type\", [\n z.object({\n type: z.literal(\"alias\"),\n value: TypeReferenceSchema\n }),\n z.object({\n type: z.literal(\"enum\"),\n ...EnumTypeSchema.shape\n }),\n z.object({\n type: z.literal(\"undiscriminatedUnion\"),\n ...RegisterUndiscriminatedUnionTypeSchema.shape\n }),\n z.object({\n type: z.literal(\"discriminatedUnion\"),\n ...DiscriminatedUnionTypeSchema.shape\n }),\n z.object({\n type: z.literal(\"object\"),\n ...ObjectTypeSchema.shape\n })\n ])\n);\n\nexport const RegisterTypeDefinitionSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n name: z.string(),\n shape: RegisterTypeShapeSchema,\n displayName: z.string().nullish()\n});\nexport type RegisterTypeDefinition = z.infer<typeof RegisterTypeDefinitionSchema>;\n\nexport const RegisterBytesRequestSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n isOptional: z.boolean(),\n contentType: z.string().nullish()\n});\nexport type RegisterBytesRequest = z.infer<typeof RegisterBytesRequestSchema>;\n\n// ── Register endpoint ────────────────────────────────────────────────────\n\nexport const RegisterJsonRequestBodySchema = z.object({\n contentType: z.string(),\n shape: JsonBodyShapeSchema\n});\nexport type RegisterJsonRequestBody = z.infer<typeof RegisterJsonRequestBodySchema>;\n\nexport const RegisterHttpRequestBodyShapeSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"json\"), ...RegisterJsonRequestBodySchema.shape }),\n z.object({ type: z.literal(\"formData\"), ...FormDataRequestSchema.shape }),\n z.object({ type: z.literal(\"bytes\"), ...RegisterBytesRequestSchema.shape }),\n z.object({ type: z.literal(\"object\"), ...ObjectTypeSchema.shape }),\n z.object({ type: z.literal(\"reference\"), value: TypeReferenceSchema }),\n z.object({ type: z.literal(\"fileUpload\"), value: FormDataRequestSchema.nullish() })\n]);\nexport type RegisterHttpRequestBodyShape = z.infer<typeof RegisterHttpRequestBodyShapeSchema>;\n\nexport const RegisterHttpRequestSchema = z.object({\n description: z.string().nullish(),\n type: RegisterHttpRequestBodyShapeSchema\n});\nexport type RegisterHttpRequest = z.infer<typeof RegisterHttpRequestSchema>;\n\nexport const RegisterHttpRequestsV2Schema = z.object({\n requests: z.array(RegisterHttpRequestSchema).nullish()\n});\nexport type RegisterHttpRequestsV2 = z.infer<typeof RegisterHttpRequestsV2Schema>;\n\nexport const RegisterCustomCodeSampleSchema = z.object({\n description: z.string().nullish(),\n language: z.string(),\n code: z.string(),\n name: z.string().nullish(),\n install: z.string().nullish()\n});\nexport type RegisterCustomCodeSample = z.infer<typeof RegisterCustomCodeSampleSchema>;\n\nexport const RegisterExampleEndpointCallSchema = z.object({\n description: z.string().nullish(),\n name: z.string().nullish(),\n contentType: z.string().nullish(),\n path: z.string(),\n pathParameters: z.record(PropertyKeySchema, z.unknown()),\n queryParameters: z.record(z.string(), z.unknown()),\n headers: z.record(z.string(), z.unknown()),\n requestBody: z.unknown(),\n requestBodyV3: ExampleEndpointRequestSchema.nullish(),\n responseStatusCode: z.number().int(),\n responseBody: z.unknown(),\n responseBodyV3: ExampleEndpointResponseSchema.nullish(),\n responseHeaders: z.record(z.string(), z.unknown()).nullish(),\n codeSamples: z.array(RegisterCustomCodeSampleSchema).nullish()\n});\nexport type RegisterExampleEndpointCall = z.infer<typeof RegisterExampleEndpointCallSchema>;\n\nexport const RegisterNonStreamResponseSchema = z.object({\n shape: JsonBodyShapeSchema,\n examples: z.array(RegisterExampleEndpointCallSchema)\n});\nexport type RegisterNonStreamResponse = z.infer<typeof RegisterNonStreamResponseSchema>;\n\nexport const RegisterStreamResponseSchema = z.object({\n shape: JsonBodyShapeSchema,\n examples: z.array(RegisterExampleEndpointCallSchema)\n});\nexport type RegisterStreamResponse = z.infer<typeof RegisterStreamResponseSchema>;\n\nexport const RegisterStreamConditionResponseSchema = z.object({\n response: RegisterNonStreamResponseSchema,\n streamResponse: RegisterStreamResponseSchema,\n streamCondition: StreamConditionSchema\n});\nexport type RegisterStreamConditionResponse = z.infer<typeof RegisterStreamConditionResponseSchema>;\n\nexport const RegisterHttpResponseBodyShapeSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"object\"), ...ObjectTypeSchema.shape }),\n z.object({ type: z.literal(\"reference\"), value: TypeReferenceSchema }),\n z.object({ type: z.literal(\"fileDownload\"), ...FileDownloadResponseBodyShapeSchema.shape }),\n z.object({ type: z.literal(\"streamingText\") }),\n z.object({ type: z.literal(\"stream\"), ...StreamResponseV2Schema.shape }),\n z.object({ type: z.literal(\"streamCondition\"), ...RegisterStreamConditionResponseSchema.shape })\n]);\nexport type RegisterHttpResponseBodyShape = z.infer<typeof RegisterHttpResponseBodyShapeSchema>;\n\nexport const RegisterHttpResponseSchema = z.object({\n description: z.string().nullish(),\n type: RegisterHttpResponseBodyShapeSchema,\n statusCode: z.number().int().nullish(),\n isWildcard: z.boolean().nullish()\n});\nexport type RegisterHttpResponse = z.infer<typeof RegisterHttpResponseSchema>;\n\nexport const RegisterHttpResponsesV2Schema = z.object({\n responses: z.array(RegisterHttpResponseSchema).nullish()\n});\nexport type RegisterHttpResponsesV2 = z.infer<typeof RegisterHttpResponsesV2Schema>;\n\nexport const RegisterErrorDeclarationV2Schema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n type: RegisterTypeShapeSchema.nullish(),\n statusCode: z.number().int(),\n isWildcard: z.boolean().nullish(),\n name: z.string().nullish(),\n examples: z.array(ErrorExampleSchema).nullish(),\n headers: z.array(HeaderSchema).nullish()\n});\nexport type RegisterErrorDeclarationV2 = z.infer<typeof RegisterErrorDeclarationV2Schema>;\n\nexport const RegisterEndpointDefinitionSchema = z.object({\n description: z.string().nullish(),\n subtitle: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n slug: z.string().nullish(),\n auth: z.boolean().nullish(),\n authV2: z.array(AuthSchemeIdSchema).nullish(),\n multiAuth: z.array(MultipleAuthTypeSchema).nullish(),\n defaultEnvironment: EnvironmentIdSchema.nullish(),\n environments: z.array(EnvironmentSchema).nullish(),\n method: HttpMethodSchema,\n id: EndpointIdSchema,\n originalEndpointId: z.string().nullish(),\n name: z.string().nullish(),\n path: EndpointPathSchema,\n queryParameters: z.array(QueryParameterSchema),\n headers: z.array(HeaderSchema),\n responseHeaders: z.array(HeaderSchema).nullish(),\n request: RegisterHttpRequestSchema.nullish(),\n requestsV2: RegisterHttpRequestsV2Schema.nullish(),\n response: RegisterHttpResponseSchema.nullish(),\n responsesV2: RegisterHttpResponsesV2Schema.nullish(),\n errors: z.array(ErrorDeclarationSchema).nullish(),\n errorsV2: z.array(RegisterErrorDeclarationV2Schema).nullish(),\n examples: z.array(RegisterExampleEndpointCallSchema),\n protocol: ProtocolSchema.nullish(),\n includeInApiExplorer: z.boolean().nullish()\n});\nexport type RegisterEndpointDefinition = z.infer<typeof RegisterEndpointDefinitionSchema>;\n\n// ── Register webhook ─────────────────────────────────────────────────────\n\nexport const RegisterWebhookDefinitionSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n method: WebhookHttpMethodSchema,\n id: WebhookIdSchema,\n name: z.string().nullish(),\n path: z.array(z.string()),\n headers: z.array(HeaderSchema),\n payload: WebhookPayloadSchema,\n responses: z.array(RegisterHttpResponseSchema).nullish(),\n examples: z.array(ExampleWebhookPayloadSchema)\n});\nexport type RegisterWebhookDefinition = z.infer<typeof RegisterWebhookDefinitionSchema>;\n\n// ── Register websocket ───────────────────────────────────────────────────\n\nexport const RegisterWebSocketChannelSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n id: WebSocketIdSchema,\n auth: z.boolean(),\n name: z.string().nullish(),\n defaultEnvironment: EnvironmentIdSchema.nullish(),\n environments: z.array(EnvironmentSchema),\n path: EndpointPathSchema,\n headers: z.array(HeaderSchema),\n queryParameters: z.array(QueryParameterSchema),\n messages: z.array(WebSocketMessageSchema),\n examples: z.array(ExampleWebSocketSessionSchema),\n includeInApiExplorer: z.boolean().nullish()\n});\nexport type RegisterWebSocketChannel = z.infer<typeof RegisterWebSocketChannelSchema>;\n\n// ── Register index schemas ───────────────────────────────────────────────\n\nexport const SourceIdSchema = z.string();\nexport type SourceId = z.infer<typeof SourceIdSchema>;\nexport function SourceId(value: string): SourceId {\n return value;\n}\n\nexport const SourceSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"openapi\") }),\n z.object({ type: z.literal(\"asyncapi\") }),\n z.object({ type: z.literal(\"proto\") })\n]);\nexport type Source = z.infer<typeof SourceSchema>;\n\nexport const SourceUploadSchema = z.object({\n uploadUrl: z.string(),\n downloadUrl: z.string()\n});\nexport type SourceUpload = z.infer<typeof SourceUploadSchema>;\n\nexport const DynamicIRSchema = z.object({\n dynamicIR: z.unknown()\n});\nexport type DynamicIR = z.infer<typeof DynamicIRSchema>;\n\nexport const DynamicIRUploadSchema = z.object({\n uploadUrl: z.string()\n});\nexport type DynamicIRUpload = z.infer<typeof DynamicIRUploadSchema>;\n\nexport const TypescriptPackageSchema = z.object({\n package: z.string(),\n version: z.string().nullish()\n});\nexport type TypescriptPackage = z.infer<typeof TypescriptPackageSchema>;\n\nexport const PythonPackageSchema = z.object({\n package: z.string(),\n version: z.string().nullish()\n});\nexport type PythonPackage = z.infer<typeof PythonPackageSchema>;\n\nexport const GoModuleSchema = z.object({\n githubRepo: z.string(),\n version: z.string().nullish()\n});\nexport type GoModule = z.infer<typeof GoModuleSchema>;\n\nexport const JavaCoordinateSchema = z.object({\n coordinate: z.string(),\n version: z.string().nullish()\n});\nexport type JavaCoordinate = z.infer<typeof JavaCoordinateSchema>;\n\nexport const RubyGemSchema = z.object({\n gem: z.string(),\n version: z.string().nullish()\n});\nexport type RubyGem = z.infer<typeof RubyGemSchema>;\n\nexport const NugetPackageSchema = z.object({\n package: z.string(),\n version: z.string().nullish()\n});\nexport type NugetPackage = z.infer<typeof NugetPackageSchema>;\n\nexport const ComposerPackageSchema = z.object({\n package: z.string(),\n version: z.string().nullish()\n});\nexport type ComposerPackage = z.infer<typeof ComposerPackageSchema>;\n\nexport const SwiftPackageSchema = z.object({\n package: z.string(),\n version: z.string().nullish()\n});\nexport type SwiftPackage = z.infer<typeof SwiftPackageSchema>;\n\nexport const CratesPackageSchema = z.object({\n package: z.string(),\n version: z.string().nullish()\n});\nexport type CratesPackage = z.infer<typeof CratesPackageSchema>;\n\nexport const SnippetsConfigSchema = z.object({\n typescriptSdk: TypescriptPackageSchema.nullish(),\n pythonSdk: PythonPackageSchema.nullish(),\n goSdk: GoModuleSchema.nullish(),\n javaSdk: JavaCoordinateSchema.nullish(),\n rubySdk: RubyGemSchema.nullish(),\n csharpSdk: NugetPackageSchema.nullish(),\n phpSdk: ComposerPackageSchema.nullish(),\n swiftSdk: SwiftPackageSchema.nullish(),\n rustSdk: CratesPackageSchema.nullish()\n});\nexport type SnippetsConfig = z.infer<typeof SnippetsConfigSchema>;\n\nexport const RegisterApiDefinitionPackageSchema = z.object({\n endpoints: z.array(RegisterEndpointDefinitionSchema),\n websockets: z.array(RegisterWebSocketChannelSchema).nullish(),\n webhooks: z.array(RegisterWebhookDefinitionSchema).nullish(),\n graphqlOperations: z.array(GraphQlOperationSchema).nullish(),\n types: z.array(TypeIdSchema),\n subpackages: z.array(SubpackageIdSchema),\n pointsTo: SubpackageIdSchema.nullish()\n});\nexport type RegisterApiDefinitionPackage = z.infer<typeof RegisterApiDefinitionPackageSchema>;\n\nexport const RegisterApiDefinitionSubpackageSchema = z.object({\n ...RegisterApiDefinitionPackageSchema.shape,\n description: z.string().nullish(),\n subpackageId: SubpackageIdSchema,\n name: z.string(),\n displayName: z.string().nullish()\n});\nexport type RegisterApiDefinitionSubpackage = z.infer<typeof RegisterApiDefinitionSubpackageSchema>;\n\nexport const RegisterApiDefinitionSchema = z.object({\n rootPackage: RegisterApiDefinitionPackageSchema,\n apiName: z.string().nullish(),\n specVersion: z.string().nullish(),\n types: z.record(TypeIdSchema, RegisterTypeDefinitionSchema),\n subpackages: z.record(SubpackageIdSchema, RegisterApiDefinitionSubpackageSchema),\n auth: ApiAuthSchema.nullish(),\n authSchemes: z.record(AuthSchemeIdSchema, ApiAuthSchema).nullish(),\n globalHeaders: z.array(HeaderSchema).nullish(),\n snippetsConfiguration: SnippetsConfigSchema.nullish(),\n navigation: ApiNavigationConfigRootSchema.nullish()\n});\nexport type RegisterApiDefinition = z.infer<typeof RegisterApiDefinitionSchema>;\n\nexport const RegisterApiDefinitionResponseSchema = z.object({\n apiDefinitionId: ApiDefinitionIdSchema,\n sources: z.record(SourceIdSchema, SourceUploadSchema).nullish(),\n dynamicIRs: z.record(z.string(), DynamicIRUploadSchema).nullish()\n});\nexport type RegisterApiDefinitionResponse = z.infer<typeof RegisterApiDefinitionResponseSchema>;\n\nexport const SnippetInfoSchema = z.object({\n packageName: z.string(),\n version: z.string().nullish()\n});\nexport type SnippetInfo = z.infer<typeof SnippetInfoSchema>;\n\nexport const SdkDynamicIrDownloadSchema = z.object({\n downloadUrl: z.string()\n});\nexport type SdkDynamicIrDownload = z.infer<typeof SdkDynamicIrDownloadSchema>;\n\nexport const GetSdkDynamicIrUploadUrlsResponseSchema = z.object({\n uploadUrls: z.record(z.string(), DynamicIRUploadSchema)\n});\nexport type GetSdkDynamicIrUploadUrlsResponse = z.infer<typeof GetSdkDynamicIrUploadUrlsResponseSchema>;\n\nexport const CheckSdkDynamicIrExistsResponseSchema = z.object({\n existingDynamicIrs: z.record(z.string(), SdkDynamicIrDownloadSchema)\n});\nexport type CheckSdkDynamicIrExistsResponse = z.infer<typeof CheckSdkDynamicIrExistsResponseSchema>;\n\nexport const EndpointExampleGenerationErrorBodySchema = z.object({\n endpointId: z.string()\n});\nexport type EndpointExampleGenerationErrorBody = z.infer<typeof EndpointExampleGenerationErrorBodySchema>;\n","import * as z from \"zod\";\nimport { SnippetsConfigSchema } from \"./contract-register.js\";\n\nimport type { DiscriminatedUnionType, EnumType, ObjectType, TypeReference } from \"./shared.js\";\nimport {\n ApiAuthSchema,\n ApiDefinitionIdSchema,\n ApiNavigationConfigRootSchema,\n AuthSchemeIdSchema,\n AvailabilitySchema,\n DiscriminatedUnionTypeSchema,\n EndpointIdSchema,\n EndpointPathSchema,\n EnumTypeSchema,\n EnvironmentIdSchema,\n EnvironmentSchema,\n ErrorDeclarationSchema,\n ErrorExampleSchema,\n ExampleEndpointRequestSchema,\n ExampleEndpointResponseSchema,\n ExampleWebhookPayloadSchema,\n ExampleWebSocketSessionSchema,\n FileDownloadResponseBodyShapeSchema,\n FormDataRequestSchema,\n GraphQlOperationSchema,\n HeaderSchema,\n HttpMethodSchema,\n JsonBodyShapeSchema,\n MultipleAuthTypeSchema,\n ObjectTypeSchema,\n PropertyKeySchema,\n ProtocolSchema,\n QueryParameterSchema,\n StreamConditionSchema,\n StreamResponseV2Schema,\n SubpackageIdSchema,\n TypeIdSchema,\n TypeReferenceSchema,\n WebhookHttpMethodSchema,\n WebhookIdSchema,\n WebhookPayloadSchema,\n WebSocketIdSchema,\n WebSocketMessageSchema\n} from \"./shared.js\";\n\n// ── Read type ────────────────────────────────────────────────────────────\n\nexport const ReadUndiscriminatedUnionVariantSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n displayName: z.string().nullish(),\n type: TypeReferenceSchema\n});\nexport type ReadUndiscriminatedUnionVariant = z.infer<typeof ReadUndiscriminatedUnionVariantSchema>;\n\nexport const ReadUndiscriminatedUnionTypeSchema = z.object({\n variants: z.array(ReadUndiscriminatedUnionVariantSchema)\n});\nexport type ReadUndiscriminatedUnionType = z.infer<typeof ReadUndiscriminatedUnionTypeSchema>;\n\nexport type ReadTypeShape =\n | ReadTypeShape.Alias\n | ReadTypeShape.Enum\n | ReadTypeShape.UndiscriminatedUnion\n | ReadTypeShape.DiscriminatedUnion\n | ReadTypeShape.Object_;\n\nexport namespace ReadTypeShape {\n export interface Alias {\n type: \"alias\";\n value: TypeReference;\n }\n export interface Enum extends EnumType {\n type: \"enum\";\n }\n export interface UndiscriminatedUnion extends ReadUndiscriminatedUnionType {\n type: \"undiscriminatedUnion\";\n }\n export interface DiscriminatedUnion extends DiscriminatedUnionType {\n type: \"discriminatedUnion\";\n }\n export interface Object_ extends ObjectType {\n type: \"object\";\n }\n}\n\nexport const ReadTypeShapeSchema: z.ZodType<ReadTypeShape> = z.lazy(() =>\n z.discriminatedUnion(\"type\", [\n z.object({\n type: z.literal(\"alias\"),\n value: TypeReferenceSchema\n }),\n z.object({\n type: z.literal(\"enum\"),\n ...EnumTypeSchema.shape\n }),\n z.object({\n type: z.literal(\"undiscriminatedUnion\"),\n ...ReadUndiscriminatedUnionTypeSchema.shape\n }),\n z.object({\n type: z.literal(\"discriminatedUnion\"),\n ...DiscriminatedUnionTypeSchema.shape\n }),\n z.object({\n type: z.literal(\"object\"),\n ...ObjectTypeSchema.shape\n })\n ])\n);\n\nexport const ReadTypeDefinitionSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n name: z.string(),\n shape: ReadTypeShapeSchema,\n displayName: z.string().nullish()\n});\nexport type ReadTypeDefinition = z.infer<typeof ReadTypeDefinitionSchema>;\n\nexport const ReadBytesRequestSchema = z.object({\n isOptional: z.boolean(),\n contentType: z.string().nullish()\n});\nexport type ReadBytesRequest = z.infer<typeof ReadBytesRequestSchema>;\n\n// ── Read endpoint ────────────────────────────────────────────────────────\n\nexport const ReadHttpRequestBodyShapeSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"object\"), ...ObjectTypeSchema.shape }),\n z.object({ type: z.literal(\"reference\"), value: TypeReferenceSchema }),\n z.object({ type: z.literal(\"bytes\"), ...ReadBytesRequestSchema.shape }),\n z.object({ type: z.literal(\"formData\"), ...FormDataRequestSchema.shape }),\n z.object({ type: z.literal(\"fileUpload\"), value: FormDataRequestSchema.nullish() })\n]);\nexport type ReadHttpRequestBodyShape = z.infer<typeof ReadHttpRequestBodyShapeSchema>;\n\nexport const ReadHttpRequestSchema = z.object({\n description: z.string().nullish(),\n contentType: z.string(),\n type: ReadHttpRequestBodyShapeSchema\n});\nexport type ReadHttpRequest = z.infer<typeof ReadHttpRequestSchema>;\n\nexport const ReadHttpRequestsV2Schema = z.object({\n requests: z.array(ReadHttpRequestSchema).nullish()\n});\nexport type ReadHttpRequestsV2 = z.infer<typeof ReadHttpRequestsV2Schema>;\n\nexport const ReadSupportedLanguageSchema = z.enum([\n \"curl\",\n \"python\",\n \"javascript\",\n \"js\",\n \"node\",\n \"typescript\",\n \"ts\",\n \"go\",\n \"ruby\",\n \"csharp\",\n \"php\",\n \"swift\",\n \"rust\"\n]);\nexport type ReadSupportedLanguage = z.infer<typeof ReadSupportedLanguageSchema>;\n\nexport const ReadLanguageSchema = z.union([ReadSupportedLanguageSchema, z.string()]);\nexport type ReadLanguage = z.infer<typeof ReadLanguageSchema>;\n\nexport const ReadCustomCodeSampleSchema = z.object({\n description: z.string().nullish(),\n language: ReadLanguageSchema,\n code: z.string(),\n name: z.string().nullish(),\n install: z.string().nullish()\n});\nexport type ReadCustomCodeSample = z.infer<typeof ReadCustomCodeSampleSchema>;\n\nexport const ReadPythonSnippetSchema = z.object({\n async_client: z.string(),\n sync_client: z.string(),\n install: z.string().nullish()\n});\nexport type ReadPythonSnippet = z.infer<typeof ReadPythonSnippetSchema>;\n\nexport const ReadTypescriptSnippetSchema = z.object({\n client: z.string(),\n install: z.string().nullish()\n});\nexport type ReadTypescriptSnippet = z.infer<typeof ReadTypescriptSnippetSchema>;\n\nexport const ReadGoSnippetSchema = z.object({\n client: z.string(),\n install: z.string().nullish()\n});\nexport type ReadGoSnippet = z.infer<typeof ReadGoSnippetSchema>;\n\nexport const ReadRubySnippetSchema = z.object({\n client: z.string(),\n install: z.string().nullish()\n});\nexport type ReadRubySnippet = z.infer<typeof ReadRubySnippetSchema>;\n\nexport const ReadCsharpSnippetSchema = z.object({\n client: z.string(),\n install: z.string().nullish()\n});\nexport type ReadCsharpSnippet = z.infer<typeof ReadCsharpSnippetSchema>;\n\nexport const ReadCodeExamplesSchema = z.object({\n nodeAxios: z.string().nullish(),\n pythonSdk: ReadPythonSnippetSchema.nullish(),\n typescriptSdk: ReadTypescriptSnippetSchema.nullish(),\n goSdk: ReadGoSnippetSchema.nullish(),\n rubySdk: ReadRubySnippetSchema.nullish(),\n csharpSdk: ReadCsharpSnippetSchema.nullish()\n});\nexport type ReadCodeExamples = z.infer<typeof ReadCodeExamplesSchema>;\n\nexport const ReadExampleEndpointCallSchema = z.object({\n description: z.string().nullish(),\n name: z.string().nullish(),\n contentType: z.string().nullish(),\n path: z.string(),\n pathParameters: z.record(PropertyKeySchema, z.unknown()),\n queryParameters: z.record(z.string(), z.unknown()),\n headers: z.record(z.string(), z.unknown()),\n requestBody: z.unknown(),\n requestBodyV3: ExampleEndpointRequestSchema.nullish(),\n responseStatusCode: z.number().int(),\n responseBody: z.unknown(),\n responseBodyV3: ExampleEndpointResponseSchema.nullish(),\n responseHeaders: z.record(z.string(), z.unknown()).nullish(),\n codeExamples: ReadCodeExamplesSchema,\n codeSamples: z.array(ReadCustomCodeSampleSchema)\n});\nexport type ReadExampleEndpointCall = z.infer<typeof ReadExampleEndpointCallSchema>;\n\nexport const ReadNonStreamResponseSchema = z.object({\n shape: JsonBodyShapeSchema,\n examples: z.array(ReadExampleEndpointCallSchema)\n});\nexport type ReadNonStreamResponse = z.infer<typeof ReadNonStreamResponseSchema>;\n\nexport const ReadStreamResponseSchema = z.object({\n shape: JsonBodyShapeSchema,\n examples: z.array(ReadExampleEndpointCallSchema)\n});\nexport type ReadStreamResponse = z.infer<typeof ReadStreamResponseSchema>;\n\nexport const ReadStreamConditionResponseSchema = z.object({\n response: ReadNonStreamResponseSchema,\n streamResponse: ReadStreamResponseSchema,\n streamCondition: StreamConditionSchema\n});\nexport type ReadStreamConditionResponse = z.infer<typeof ReadStreamConditionResponseSchema>;\n\nexport const ReadHttpResponseBodyShapeSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"object\"), ...ObjectTypeSchema.shape }),\n z.object({ type: z.literal(\"reference\"), value: TypeReferenceSchema }),\n z.object({ type: z.literal(\"fileDownload\"), ...FileDownloadResponseBodyShapeSchema.shape }),\n z.object({ type: z.literal(\"streamingText\") }),\n z.object({ type: z.literal(\"stream\"), ...StreamResponseV2Schema.shape }),\n z.object({ type: z.literal(\"streamCondition\"), ...ReadStreamConditionResponseSchema.shape })\n]);\nexport type ReadHttpResponseBodyShape = z.infer<typeof ReadHttpResponseBodyShapeSchema>;\n\nexport const ReadHttpResponseSchema = z.object({\n description: z.string().nullish(),\n type: ReadHttpResponseBodyShapeSchema,\n statusCode: z.number().int().nullish(),\n isWildcard: z.boolean().nullish()\n});\nexport type ReadHttpResponse = z.infer<typeof ReadHttpResponseSchema>;\n\nexport const ReadHttpResponsesV2Schema = z.object({\n responses: z.array(ReadHttpResponseSchema).nullish()\n});\nexport type ReadHttpResponsesV2 = z.infer<typeof ReadHttpResponsesV2Schema>;\n\nexport const ReadErrorDeclarationV2Schema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n type: ReadTypeShapeSchema.nullish(),\n statusCode: z.number().int(),\n isWildcard: z.boolean().nullish(),\n name: z.string().nullish(),\n examples: z.array(ErrorExampleSchema).nullish(),\n headers: z.array(HeaderSchema).nullish()\n});\nexport type ReadErrorDeclarationV2 = z.infer<typeof ReadErrorDeclarationV2Schema>;\n\nexport const ReadEndpointDefinitionSchema = z.object({\n description: z.string().nullish(),\n subtitle: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n authed: z.boolean(),\n authV2: z.array(AuthSchemeIdSchema).nullish(),\n multiAuth: z.array(MultipleAuthTypeSchema).nullish(),\n defaultEnvironment: EnvironmentIdSchema.nullish(),\n environments: z.array(EnvironmentSchema),\n method: HttpMethodSchema,\n id: EndpointIdSchema,\n originalEndpointId: z.string().nullish(),\n urlSlug: z.string(),\n migratedFromUrlSlugs: z.array(z.string()).nullish(),\n name: z.string().nullish(),\n path: EndpointPathSchema,\n queryParameters: z.array(QueryParameterSchema),\n headers: z.array(HeaderSchema),\n responseHeaders: z.array(HeaderSchema).nullish(),\n request: ReadHttpRequestSchema.nullish(),\n requestsV2: ReadHttpRequestsV2Schema.nullish(),\n response: ReadHttpResponseSchema.nullish(),\n responsesV2: ReadHttpResponsesV2Schema.nullish(),\n errors: z.array(ErrorDeclarationSchema),\n errorsV2: z.array(ReadErrorDeclarationV2Schema).nullish(),\n examples: z.array(ReadExampleEndpointCallSchema),\n protocol: ProtocolSchema.nullish(),\n includeInApiExplorer: z.boolean().nullish()\n});\nexport type ReadEndpointDefinition = z.infer<typeof ReadEndpointDefinitionSchema>;\n\n// ── Read webhook ─────────────────────────────────────────────────────────\n\nexport const ReadWebhookDefinitionSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n urlSlug: z.string(),\n migratedFromUrlSlugs: z.array(z.string()).nullish(),\n method: WebhookHttpMethodSchema,\n id: WebhookIdSchema,\n name: z.string().nullish(),\n path: z.array(z.string()),\n headers: z.array(HeaderSchema),\n payload: WebhookPayloadSchema,\n responses: z.array(ReadHttpResponseSchema).nullish(),\n examples: z.array(ExampleWebhookPayloadSchema)\n});\nexport type ReadWebhookDefinition = z.infer<typeof ReadWebhookDefinitionSchema>;\n\n// ── Read websocket ───────────────────────────────────────────────────────\n\nexport const ReadWebSocketChannelSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n urlSlug: z.string(),\n id: WebSocketIdSchema,\n auth: z.boolean(),\n name: z.string().nullish(),\n defaultEnvironment: EnvironmentIdSchema.nullish(),\n environments: z.array(EnvironmentSchema),\n path: EndpointPathSchema,\n headers: z.array(HeaderSchema),\n queryParameters: z.array(QueryParameterSchema),\n messages: z.array(WebSocketMessageSchema),\n examples: z.array(ExampleWebSocketSessionSchema),\n includeInApiExplorer: z.boolean().nullish()\n});\nexport type ReadWebSocketChannel = z.infer<typeof ReadWebSocketChannelSchema>;\n\n// ── Read ApiDefinition ───────────────────────────────────────────────────\n\nexport const ReadApiDefinitionPackageSchema = z.object({\n endpoints: z.array(ReadEndpointDefinitionSchema),\n websockets: z.array(ReadWebSocketChannelSchema),\n webhooks: z.array(ReadWebhookDefinitionSchema),\n graphqlOperations: z.array(GraphQlOperationSchema),\n types: z.array(TypeIdSchema),\n subpackages: z.array(SubpackageIdSchema),\n pointsTo: SubpackageIdSchema.nullish()\n});\nexport type ReadApiDefinitionPackage = z.infer<typeof ReadApiDefinitionPackageSchema>;\n\nexport const ReadApiDefinitionSubpackageSchema = z.object({\n description: z.string().nullish(),\n ...ReadApiDefinitionPackageSchema.shape,\n parent: SubpackageIdSchema.nullish(),\n subpackageId: SubpackageIdSchema,\n name: z.string(),\n urlSlug: z.string(),\n displayName: z.string().nullish()\n});\nexport type ReadApiDefinitionSubpackage = z.infer<typeof ReadApiDefinitionSubpackageSchema>;\n\nexport const ReadApiDefinitionSchema = z.object({\n id: ApiDefinitionIdSchema,\n apiName: z.string().nullish(),\n specVersion: z.string().nullish(),\n rootPackage: ReadApiDefinitionPackageSchema,\n types: z.record(TypeIdSchema, ReadTypeDefinitionSchema),\n subpackages: z.record(SubpackageIdSchema, ReadApiDefinitionSubpackageSchema),\n snippetsConfiguration: SnippetsConfigSchema.nullish(),\n auth: ApiAuthSchema.nullish(),\n authSchemes: z.record(AuthSchemeIdSchema, ApiAuthSchema).nullish(),\n hasMultipleBaseUrls: z.boolean().nullish(),\n navigation: ApiNavigationConfigRootSchema.nullish(),\n globalHeaders: z.array(HeaderSchema).nullish()\n});\nexport type ReadApiDefinition = z.infer<typeof ReadApiDefinitionSchema>;\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { dashboardContract } from \"./contract.js\";\n\nexport type DashboardClient = JsonifiedClient<ContractRouterClient<typeof dashboardContract>>;\n\nexport interface CreateDashboardClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createDashboardClient(options: CreateDashboardClientOptions): DashboardClient {\n const link = new OpenAPILink(dashboardContract, {\n url: `${options.baseUrl}/dashboard`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\n\nimport { DocsDeploymentStatusSchema } from \"../docs-deployment/contract.js\";\n\n// ── Schemas ──────────────────────────────────────────────────────────\n\nexport const DocsSiteUrlSchema = z.object({\n domain: z.string(),\n path: z.string().nullish()\n});\nexport type DocsSiteUrl = z.infer<typeof DocsSiteUrlSchema>;\n\nexport const DashboardDocsSiteSchema = z.object({\n mainUrl: DocsSiteUrlSchema,\n urls: z.array(DocsSiteUrlSchema),\n status: DocsDeploymentStatusSchema\n});\nexport type DashboardDocsSite = z.infer<typeof DashboardDocsSiteSchema>;\n\nexport const GetDocsSitesForOrgInputSchema = z.object({\n orgId: z.string()\n});\nexport type GetDocsSitesForOrgInput = z.infer<typeof GetDocsSitesForOrgInputSchema>;\n\nexport const GetDocsSitesForOrgResponseSchema = z.object({\n docsSites: z.array(DashboardDocsSiteSchema)\n});\nexport type GetDocsSitesForOrgResponse = z.infer<typeof GetDocsSitesForOrgResponseSchema>;\n\nexport const IsDocsSiteInOrgInputSchema = z.object({\n orgId: z.string(),\n domain: z.string(),\n basepath: z.string().optional()\n});\nexport type IsDocsSiteInOrgInput = z.infer<typeof IsDocsSiteInOrgInputSchema>;\n\nexport const IsDocsSiteInOrgResponseSchema = z.object({\n exists: z.boolean()\n});\nexport type IsDocsSiteInOrgResponse = z.infer<typeof IsDocsSiteInOrgResponseSchema>;\n\nexport const DeleteAllDocsSitesForOrgInputSchema = z.object({\n orgId: z.string()\n});\nexport type DeleteAllDocsSitesForOrgInput = z.infer<typeof DeleteAllDocsSitesForOrgInputSchema>;\n\nexport const DeleteAllDocsSitesForOrgResponseSchema = z.object({\n deletedCount: z.number()\n});\nexport type DeleteAllDocsSitesForOrgResponse = z.infer<typeof DeleteAllDocsSitesForOrgResponseSchema>;\n\n// ── Contract ─────────────────────────────────────────────────────────\n\nexport const dashboardContract = {\n getDocsSitesForOrg: oc\n .route({ method: \"POST\", path: \"/get-docs-sites-for-org\" })\n .input(GetDocsSitesForOrgInputSchema)\n .output(GetDocsSitesForOrgResponseSchema),\n isDocsSiteInOrg: oc\n .route({ method: \"POST\", path: \"/is-docs-site-in-org\" })\n .input(IsDocsSiteInOrgInputSchema)\n .output(IsDocsSiteInOrgResponseSchema),\n deleteAllDocsSitesForOrg: oc\n .route({ method: \"DELETE\", path: \"/{orgId}/docs\" })\n .input(DeleteAllDocsSitesForOrgInputSchema)\n .output(DeleteAllDocsSitesForOrgResponseSchema)\n};\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\n\n// -- Enums --\n\nexport const DocsDeploymentStatusSchema = z.enum([\"PUBLISHING\", \"LIVE\", \"UNPUBLISHED\", \"ERROR\"]);\nexport type DocsDeploymentStatus = z.infer<typeof DocsDeploymentStatusSchema>;\n\n// -- Shared output schemas --\n\nexport const DocsSiteSchema = z.object({\n id: z.string(),\n orgId: z.string(),\n domain: z.string(),\n basepath: z.string(),\n previewUrl: z.string().nullish(),\n postmanCollectionId: z.string().nullish(),\n editorRepoUrl: z.string().nullish(),\n postmanLastNotifiedAt: z.string().nullish(),\n status: DocsDeploymentStatusSchema,\n createdAt: z.string(),\n updatedAt: z.string()\n});\nexport type DocsSite = z.infer<typeof DocsSiteSchema>;\n\nexport const DocsDeploymentSchema = z.object({\n id: z.string(),\n orgId: z.string(),\n domain: z.string(),\n basepath: z.string(),\n createdAt: z.string(),\n createdBy: z.string().nullish(),\n status: DocsDeploymentStatusSchema,\n updatedAt: z.string(),\n updatedBy: z.string().nullish(),\n previewUrl: z.string().nullish(),\n metadata: z.record(z.string(), z.unknown()).nullish()\n});\nexport type DocsDeployment = z.infer<typeof DocsDeploymentSchema>;\n\n// -- Input schemas --\n\nexport const RegisterDocsSiteInputSchema = z.object({\n domain: z.string(),\n orgId: z.string(),\n basepath: z.string().nullish(),\n previewUrl: z.string().nullish(),\n postmanCollectionId: z.string().nullish(),\n editorRepoUrl: z.string().nullish()\n});\nexport type RegisterDocsSiteInput = z.infer<typeof RegisterDocsSiteInputSchema>;\n\nexport const GetPostmanCollectionIdInputSchema = z.object({\n orgId: z.string(),\n domain: z.string(),\n basepath: z.string().nullish()\n});\nexport type GetPostmanCollectionIdInput = z.infer<typeof GetPostmanCollectionIdInputSchema>;\n\nexport const GetDocsStatusInputSchema = z.object({\n domain: z.string(),\n basepath: z.string().nullish()\n});\nexport type GetDocsStatusInput = z.infer<typeof GetDocsStatusInputSchema>;\n\nexport const SetDocsStatusInputSchema = z.object({\n domain: z.string(),\n orgId: z.string(),\n basepath: z.string().nullish(),\n status: DocsDeploymentStatusSchema\n});\nexport type SetDocsStatusInput = z.infer<typeof SetDocsStatusInputSchema>;\n\nexport const CreateDeploymentInputSchema = z.object({\n domain: z.string(),\n orgId: z.string(),\n userId: z.string().nullish(),\n basepath: z.string().nullish(),\n previewUrl: z.string().nullish(),\n metadata: z.record(z.string(), z.unknown()).nullish()\n});\nexport type CreateDeploymentInput = z.infer<typeof CreateDeploymentInputSchema>;\n\nexport const UpdateDeploymentStatusInputSchema = z.object({\n deploymentId: z.string(),\n status: DocsDeploymentStatusSchema,\n updatedBy: z.string().nullish()\n});\nexport type UpdateDeploymentStatusInput = z.infer<typeof UpdateDeploymentStatusInputSchema>;\n\nexport const GetDocsDeploymentsInputSchema = z.object({\n domain: z.string(),\n orgId: z.string(),\n basepath: z.string().nullish(),\n limit: z.coerce.number().nullish(),\n cursor: z.string().nullish(),\n excludeInternalUsers: z.coerce.boolean().nullish(),\n isPreview: z.coerce.boolean().nullish()\n});\nexport type GetDocsDeploymentsInput = z.infer<typeof GetDocsDeploymentsInputSchema>;\n\nexport const UnlockDeployInputSchema = z.object({\n domain: z.string(),\n basepath: z.string().nullish()\n});\nexport type UnlockDeployInput = z.infer<typeof UnlockDeployInputSchema>;\n\n// -- Response schemas --\n\nexport const GetDocsStatusResponseSchema = z.object({\n status: DocsDeploymentStatusSchema.nullable()\n});\nexport type GetDocsStatusResponse = z.infer<typeof GetDocsStatusResponseSchema>;\n\nexport const GetDocsDeploymentsResponseSchema = z.object({\n deployments: z.array(DocsDeploymentSchema),\n hasMore: z.boolean(),\n /** Pass back as `cursor` to fetch the next page. Absent when `hasMore` is false. */\n nextCursor: z.string().optional()\n});\nexport type GetDocsDeploymentsResponse = z.infer<typeof GetDocsDeploymentsResponseSchema>;\n\nexport const CreateDeploymentResponseSchema = z.object({\n deploymentId: z.string()\n});\nexport type CreateDeploymentResponse = z.infer<typeof CreateDeploymentResponseSchema>;\n\nexport const UpdateDeploymentStatusResponseSchema = z.object({\n success: z.boolean()\n});\nexport type UpdateDeploymentStatusResponse = z.infer<typeof UpdateDeploymentStatusResponseSchema>;\n\nexport const GetPostmanCollectionIdResponseSchema = z.object({\n postmanCollectionId: z.string().nullable()\n});\nexport type GetPostmanCollectionIdResponse = z.infer<typeof GetPostmanCollectionIdResponseSchema>;\n\nexport const UnlockDeployResponseSchema = z.object({\n unlockedDeployments: z.number()\n});\nexport type UnlockDeployResponse = z.infer<typeof UnlockDeployResponseSchema>;\n\nexport const GetDocsSitesByCollectionIdInputSchema = z.object({\n collectionId: z.string()\n});\n\nexport const FindSiteByOrgAndCollectionInputSchema = z.object({\n orgId: z.string(),\n postmanCollectionId: z.string()\n});\nexport type FindSiteByOrgAndCollectionInput = z.infer<typeof FindSiteByOrgAndCollectionInputSchema>;\n\nexport const FindSiteByOrgAndCollectionResponseSchema = z.object({\n site: z\n .object({\n domain: z.string(),\n basepath: z.string(),\n status: DocsDeploymentStatusSchema\n })\n .nullable()\n});\nexport type FindSiteByOrgAndCollectionResponse = z.infer<typeof FindSiteByOrgAndCollectionResponseSchema>;\nexport type GetDocsSitesByCollectionIdInput = z.infer<typeof GetDocsSitesByCollectionIdInputSchema>;\n\nexport const RecordPostmanNotificationInputSchema = z.object({\n postmanCollectionId: z.string()\n});\nexport type RecordPostmanNotificationInput = z.infer<typeof RecordPostmanNotificationInputSchema>;\n\nexport const RecordPostmanNotificationResponseSchema = z.object({\n success: z.boolean(),\n // Number of docs_sites rows whose postmanLastNotifiedAt was updated.\n // 0 when no site is registered for this collection (e.g. caller raced\n // ahead of registerDocsSite, or the collection was deleted).\n updatedCount: z.number().int().nonnegative()\n});\nexport type RecordPostmanNotificationResponse = z.infer<typeof RecordPostmanNotificationResponseSchema>;\n\nexport const GetUnnotifiedPostmanSitesResponseSchema = z.object({\n sites: z.array(\n z.object({\n domain: z.string(),\n basepath: z.string(),\n orgId: z.string(),\n postmanCollectionId: z.string(),\n status: DocsDeploymentStatusSchema,\n updatedAt: z.string()\n })\n )\n});\nexport type GetUnnotifiedPostmanSitesResponse = z.infer<typeof GetUnnotifiedPostmanSitesResponseSchema>;\n\nexport const GetDocsSitesByCollectionIdResponseSchema = z.object({\n sites: z.array(\n z.object({\n domain: z.string(),\n basepath: z.string(),\n status: DocsDeploymentStatusSchema,\n orgId: z.string()\n })\n )\n});\nexport type GetDocsSitesByCollectionIdResponse = z.infer<typeof GetDocsSitesByCollectionIdResponseSchema>;\n\nexport const DeleteDocsSiteByServiceInputSchema = z.object({\n domain: z.string(),\n orgId: z.string(),\n basepath: z.string().nullish()\n});\nexport type DeleteDocsSiteByServiceInput = z.infer<typeof DeleteDocsSiteByServiceInputSchema>;\n\nexport const DeleteDocsSiteByServiceResponseSchema = z.object({\n success: z.boolean()\n});\nexport type DeleteDocsSiteByServiceResponse = z.infer<typeof DeleteDocsSiteByServiceResponseSchema>;\n\nexport const SetEditorRepoUrlInputSchema = z.object({\n orgId: z.string(),\n domain: z.string(),\n basepath: z.string().nullish(),\n editorRepoUrl: z.string().nullable()\n});\nexport type SetEditorRepoUrlInput = z.infer<typeof SetEditorRepoUrlInputSchema>;\n\n// -- Contract --\n\nexport const docsDeploymentContract = {\n registerDocsSite: oc\n .route({ method: \"POST\", path: \"/register\" })\n .input(RegisterDocsSiteInputSchema)\n .output(DocsSiteSchema),\n\n getDocsStatus: oc\n .route({ method: \"GET\", path: \"/status\" })\n .input(GetDocsStatusInputSchema)\n .output(GetDocsStatusResponseSchema),\n\n setDocsStatus: oc.route({ method: \"PUT\", path: \"/status\" }).input(SetDocsStatusInputSchema).output(DocsSiteSchema),\n\n createDeployment: oc\n .route({ method: \"POST\", path: \"/deployment\" })\n .input(CreateDeploymentInputSchema)\n .output(CreateDeploymentResponseSchema),\n\n updateDeploymentStatus: oc\n .route({ method: \"PATCH\", path: \"/deployment/{deploymentId}\" })\n .input(UpdateDeploymentStatusInputSchema)\n .output(UpdateDeploymentStatusResponseSchema),\n\n getDocsDeployments: oc\n .route({ method: \"GET\", path: \"/deployments\" })\n .input(GetDocsDeploymentsInputSchema)\n .output(GetDocsDeploymentsResponseSchema),\n\n getPostmanCollectionId: oc\n .route({ method: \"GET\", path: \"/postman-collection-id\" })\n .input(GetPostmanCollectionIdInputSchema)\n .output(GetPostmanCollectionIdResponseSchema),\n\n unlockDeploy: oc\n .route({ method: \"POST\", path: \"/unlock\" })\n .input(UnlockDeployInputSchema)\n .output(UnlockDeployResponseSchema),\n\n getDocsSitesByCollectionId: oc\n .route({ method: \"GET\", path: \"/sites-by-collection-id\" })\n .input(GetDocsSitesByCollectionIdInputSchema)\n .output(GetDocsSitesByCollectionIdResponseSchema),\n\n setEditorRepoUrl: oc\n .route({ method: \"PUT\", path: \"/editor-repo-url\" })\n .input(SetEditorRepoUrlInputSchema)\n .output(z.object({ success: z.boolean() })),\n\n findSiteByOrgAndCollection: oc\n .route({ method: \"GET\", path: \"/site-by-org-and-collection\" })\n .input(FindSiteByOrgAndCollectionInputSchema)\n .output(FindSiteByOrgAndCollectionResponseSchema),\n\n recordPostmanNotification: oc\n .route({ method: \"POST\", path: \"/record-postman-notification\" })\n .input(RecordPostmanNotificationInputSchema)\n .output(RecordPostmanNotificationResponseSchema),\n\n getUnnotifiedPostmanSites: oc\n .route({ method: \"GET\", path: \"/unnotified-postman-sites\" })\n .output(GetUnnotifiedPostmanSitesResponseSchema),\n\n deleteDocsSite: oc\n .route({ method: \"POST\", path: \"/delete\" })\n .input(DeleteDocsSiteByServiceInputSchema)\n .output(DeleteDocsSiteByServiceResponseSchema)\n};\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { dashboardAgentContract } from \"./contract.js\";\n\nexport type DashboardAgentClient = JsonifiedClient<ContractRouterClient<typeof dashboardAgentContract>>;\n\nexport interface CreateDashboardAgentClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createDashboardAgentClient(options: CreateDashboardAgentClientOptions): DashboardAgentClient {\n const link = new OpenAPILink(dashboardAgentContract, {\n url: `${options.baseUrl}/dashboard-agent`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\n\n// ── Input schemas ────────────────────────────────────────────────────\n\nexport const DashboardAnalyticsCommonInputSchema = z.object({\n orgId: z.string(),\n domain: z.string().min(1),\n dateRange: z.string().optional(),\n includeInternal: z.boolean().optional()\n});\nexport type DashboardAnalyticsCommonInput = z.infer<typeof DashboardAnalyticsCommonInputSchema>;\n\nexport const DashboardFeedbackInputSchema = z.object({\n orgId: z.string(),\n domain: z.string().min(1),\n dateRange: z.string().optional(),\n feedbackType: z.enum([\"page\", \"code_block\", \"all\"]).optional(),\n limit: z.number().int().min(1).max(50).optional(),\n /** `nextCursor` from a previous page; continues that page's ordering. */\n cursor: z.string().optional()\n});\nexport type DashboardFeedbackInput = z.infer<typeof DashboardFeedbackInputSchema>;\n\nexport const DashboardListOrgMembersInputSchema = z.object({\n orgId: z.string(),\n includeFernEmployees: z.boolean().optional()\n});\nexport type DashboardListOrgMembersInput = z.infer<typeof DashboardListOrgMembersInputSchema>;\n\nexport const DashboardGetSiteConfigInputSchema = z.object({\n orgId: z.string(),\n domain: z.string().min(1)\n});\nexport type DashboardGetSiteConfigInput = z.infer<typeof DashboardGetSiteConfigInputSchema>;\n\n/** Authorizes the caller to edit a docs site (edit or cli permission). Throws FORBIDDEN otherwise. */\nexport const AuthorizeDocsEditResponseSchema = z.object({\n authorized: z.literal(true)\n});\nexport type AuthorizeDocsEditResponse = z.infer<typeof AuthorizeDocsEditResponseSchema>;\n\n// ── Parameterized analytics query ────────────────────────────────────\n// These enums ARE the server-side allowlist: only fields that map to a known\n// Redshift column expression are accepted. Anything else is rejected at\n// validation time, before any SQL is built.\n\n/** Metrics backed by concrete `posthog.events` aggregates (no invented columns). */\nexport const AnalyticsMetricSchema = z.enum([\"pageviews\", \"visitors\", \"sessions\", \"404s\"]);\nexport type AnalyticsMetric = z.infer<typeof AnalyticsMetricSchema>;\n\n/** Groupable columns. `referrer` is only valid for the pageview-family metrics. */\nexport const AnalyticsDimensionSchema = z.enum([\"path\", \"referrer\"]);\nexport type AnalyticsDimension = z.infer<typeof AnalyticsDimensionSchema>;\n\nexport const AnalyticsGranularitySchema = z.enum([\"day\", \"week\", \"month\"]);\nexport type AnalyticsGranularity = z.infer<typeof AnalyticsGranularitySchema>;\n\nexport const AnalyticsFilterFieldSchema = z.enum([\"path\", \"referrer\"]);\nexport const AnalyticsFilterOpSchema = z.enum([\"eq\", \"prefix\", \"contains\"]);\n\n/** A single filter clause; `value` is always bound as a query parameter. */\nexport const AnalyticsFilterSchema = z.object({\n field: AnalyticsFilterFieldSchema,\n op: AnalyticsFilterOpSchema,\n value: z.string().min(1).max(512)\n});\nexport type AnalyticsFilter = z.infer<typeof AnalyticsFilterSchema>;\n\nexport const AnalyticsOrderBySchema = z.object({\n field: z.enum([\"count\", \"visitors\"]),\n dir: z.enum([\"asc\", \"desc\"])\n});\n\n/** Either a semantic range string (e.g. `last_n_days:30`) or explicit ISO bounds. */\nexport const AnalyticsDateRangeSchema = z.union([\n z.string().min(1),\n z.object({ startDate: z.string(), endDate: z.string() })\n]);\n\nexport const QueryAnalyticsInputSchema = z.object({\n orgId: z.string(),\n domain: z.string().min(1),\n metric: AnalyticsMetricSchema,\n dimensions: z.array(AnalyticsDimensionSchema).max(2).optional(),\n filters: z.array(AnalyticsFilterSchema).max(10).optional(),\n dateRange: AnalyticsDateRangeSchema,\n granularity: AnalyticsGranularitySchema.optional(),\n orderBy: AnalyticsOrderBySchema.optional(),\n limit: z.number().int().min(1).max(500).optional()\n});\nexport type QueryAnalyticsInput = z.infer<typeof QueryAnalyticsInputSchema>;\n\n// ── Response schemas ─────────────────────────────────────────────────\n\n// Concrete start/end (ISO) for the requested window, for the agent to interpret directly.\nexport const ResolvedDateRangeSchema = z.object({\n startDate: z.string(),\n endDate: z.string()\n});\nexport type ResolvedDateRange = z.infer<typeof ResolvedDateRangeSchema>;\n\n/** Marks whether a response came from the pre-computed daily cache or a live Redshift query. */\nexport const AnalyticsSourceSchema = z.enum([\"cache\", \"live\"]);\nexport type AnalyticsSource = z.infer<typeof AnalyticsSourceSchema>;\n\n/**\n * Grouping for static-content requests: by requested file (the dashboard's\n * \".md + llms.txt Visitors\" panel) or by the bot provider inferred from the\n * user agent (the \"LLM Bot Traffic by Provider\" panel).\n */\nexport const StaticContentGroupBySchema = z.enum([\"file\", \"provider\"]);\nexport type StaticContentGroupBy = z.infer<typeof StaticContentGroupBySchema>;\n\nexport const StaticContentTrafficInputSchema = DashboardAnalyticsCommonInputSchema.extend({\n groupBy: StaticContentGroupBySchema.optional()\n});\nexport type StaticContentTrafficInput = z.infer<typeof StaticContentTrafficInputSchema>;\n\n/**\n * Request counts for the agent-facing surfaces (`.md`, `llms.txt`, `llms-full.txt`).\n * `key` is a file path or a provider name depending on `groupBy`; the bot/human split\n * is only available when grouping by file.\n */\nexport const StaticContentTrafficResponseSchema = z.object({\n resolvedDateRange: ResolvedDateRangeSchema,\n groupBy: StaticContentGroupBySchema,\n rows: z.array(\n z.object({\n key: z.string(),\n requests: z.number(),\n agentViews: z.number().optional(),\n humanViews: z.number().optional()\n })\n ),\n source: AnalyticsSourceSchema\n});\nexport type StaticContentTrafficResponse = z.infer<typeof StaticContentTrafficResponseSchema>;\n\nexport const RecentFeedbackResponseSchema = z.object({\n resolvedDateRange: ResolvedDateRangeSchema,\n /**\n * Vote counts over the whole date range, not just the returned page, and over page\n * feedback only: code-block reports carry no helpful/unhelpful vote and are counted\n * by `codeBlockCount` instead.\n */\n helpfulCount: z.number(),\n unhelpfulCount: z.number(),\n codeBlockCount: z.number(),\n /** Entries matching the filters over the whole date range. */\n totalCount: z.number(),\n entries: z.array(\n z.object({\n date: z.string(),\n location: z.string(),\n /** Always false for code-block reports, which carry no vote. */\n wasHelpful: z.boolean(),\n userFeedback: z.string(),\n feedbackType: z.string().optional(),\n /** URL of the docs page the feedback was submitted on. */\n url: z.string().optional(),\n /** What the reader selected on the page, for page feedback. */\n selection: z.string().optional(),\n /** Language of the code block a code-block report was filed against. */\n language: z.string().optional(),\n /** The reported code block, truncated. */\n code: z.string().optional()\n })\n ),\n hasMore: z.boolean(),\n /** Pass back as `cursor` to fetch the next page. Absent when `hasMore` is false. */\n nextCursor: z.string().optional()\n});\nexport type RecentFeedbackResponse = z.infer<typeof RecentFeedbackResponseSchema>;\n\nexport const QueryAnalyticsResponseSchema = z.object({\n resolvedDateRange: ResolvedDateRangeSchema,\n metric: AnalyticsMetricSchema,\n dimensions: z.array(AnalyticsDimensionSchema),\n granularity: AnalyticsGranularitySchema.optional(),\n rows: z.array(\n z.object({\n dimensions: z.record(z.string(), z.string()),\n bucket: z.string().optional(),\n count: z.number(),\n visitors: z.number().optional(),\n sessions: z.number().optional()\n })\n ),\n /** The row cap the query ran with, after clamping. */\n limit: z.number(),\n /** True when the metric had more rows than `limit`, so `rows` is a truncated ranking. */\n hasMore: z.boolean()\n});\nexport type QueryAnalyticsResponse = z.infer<typeof QueryAnalyticsResponseSchema>;\n\nexport const OrgMembersResponseSchema = z.object({\n members: z.array(\n z.object({\n name: z.string(),\n email: z.string(),\n roles: z.array(z.string())\n })\n ),\n count: z.number()\n});\nexport type OrgMembersResponse = z.infer<typeof OrgMembersResponseSchema>;\n\nexport const SiteGitRepositorySchema = z.object({\n gitUrl: z.string(),\n provider: z.enum([\"github\", \"gitlab\", \"other\"]),\n /** `owner/repo` when the git url points at GitHub, else null. */\n githubRepository: z.string().nullable(),\n branch: z.string().nullable()\n});\nexport type SiteGitRepository = z.infer<typeof SiteGitRepositorySchema>;\n\nexport const SiteConfigResponseSchema = z.object({\n domain: z.string(),\n basepath: z.string().nullable(),\n status: z.string().nullable(),\n isPreview: z.boolean(),\n /** The git repository connected to this docs site, when one exists. */\n gitRepository: SiteGitRepositorySchema.nullable(),\n /** True when the queried domain is a customer-owned custom domain (not *.docs.buildwithfern.com). */\n isCustomDomain: z.boolean(),\n /** Fern CLI version that published the current deployment, when known. */\n fernCliVersion: z.string().nullable(),\n /** Connected Postman collection id, when one exists. */\n postmanCollectionId: z.string().nullable()\n});\nexport type SiteConfigResponse = z.infer<typeof SiteConfigResponseSchema>;\n\nexport const SitePasswordProtectionSchema = z.object({\n enabled: z.boolean(),\n /** Number of configured passwords. Passwords themselves are never returned. */\n passwordCount: z.number()\n});\nexport type SitePasswordProtection = z.infer<typeof SitePasswordProtectionSchema>;\n\nexport const SiteSettingsResponseSchema = z.object({\n domain: z.string(),\n basepath: z.string().nullable(),\n /** Default basepath route for multi-basepath domains, when configured. */\n defaultBasepath: z.string().nullable(),\n /** Basepaths routed on this domain, when configured. */\n basepaths: z.array(z.string()).nullable(),\n searchBehavior: z.enum([\"hierarchical\", \"unified\"]).nullable(),\n passwordProtection: SitePasswordProtectionSchema\n});\nexport type SiteSettingsResponse = z.infer<typeof SiteSettingsResponseSchema>;\n\n// ── Docs pages ───────────────────────────────────────────────────────\n\n/**\n * A published site's page list is unbounded — large sites run to thousands of\n * slugs — so callers narrow it here rather than filtering a full inventory\n * client-side. `prefix` and `contains` are matched against the slug (and, for\n * `contains`, the title); results are always capped by `limit`.\n */\nexport const ListDocsPagesInputSchema = z.object({\n orgId: z.string(),\n domain: z.string().min(1),\n basepath: z.string().optional(),\n prefix: z.string().optional(),\n contains: z.string().optional(),\n limit: z.number().int().min(1).max(200).optional(),\n offset: z.number().int().min(0).optional()\n});\nexport type ListDocsPagesInput = z.infer<typeof ListDocsPagesInputSchema>;\n\nexport const DocsPageSummarySchema = z.object({\n /** Full published slug, without a leading slash (e.g. `protect/api-reference/jobs/get-status`). */\n slug: z.string(),\n url: z.string(),\n title: z.string(),\n /** Artifact type backing the page, e.g. `markdown`, `rest`, `webhook`, `changelog`. */\n nodeType: z.string()\n});\nexport type DocsPageSummary = z.infer<typeof DocsPageSummarySchema>;\n\nexport const ListDocsPagesResponseSchema = z.object({\n pages: z.array(DocsPageSummarySchema),\n /** Pages matching the filters across the whole site, not just this page of results. */\n totalMatched: z.number(),\n /** Every page on the site, so a caller can tell a narrow filter from a small site. */\n totalPages: z.number(),\n /** Pass back as `offset` for the next page. Null when this is the last one. */\n nextOffset: z.number().nullable()\n});\nexport type ListDocsPagesResponse = z.infer<typeof ListDocsPagesResponseSchema>;\n\nexport const GetDocsPageInputSchema = z.object({\n orgId: z.string(),\n domain: z.string().min(1),\n basepath: z.string().optional(),\n /** Published slug or pathname; a leading slash is accepted. */\n slug: z.string().min(1)\n});\nexport type GetDocsPageInput = z.infer<typeof GetDocsPageInputSchema>;\n\nexport const DocsPageContentSchema = DocsPageSummarySchema.extend({\n /**\n * The page's source markdown. Null for pages generated from an API definition\n * (endpoints, websockets, webhooks), which have no markdown of their own.\n */\n markdown: z.string().nullable()\n});\nexport type DocsPageContent = z.infer<typeof DocsPageContentSchema>;\n\nexport const GetDocsPageResponseSchema = z.object({\n page: DocsPageContentSchema.nullable(),\n /** Slugs closest to the requested one, when it matched no page. */\n suggestions: z.array(z.string())\n});\nexport type GetDocsPageResponse = z.infer<typeof GetDocsPageResponseSchema>;\n\n// ── Contract ─────────────────────────────────────────────────────────\n\nexport const dashboardAgentContract = {\n getStaticContentTraffic: oc\n .route({ method: \"POST\", path: \"/get-static-content-traffic\" })\n .input(StaticContentTrafficInputSchema)\n .output(StaticContentTrafficResponseSchema),\n getRecentFeedback: oc\n .route({ method: \"POST\", path: \"/get-recent-feedback\" })\n .input(DashboardFeedbackInputSchema)\n .output(RecentFeedbackResponseSchema),\n queryAnalytics: oc\n .route({ method: \"POST\", path: \"/query-analytics\" })\n .input(QueryAnalyticsInputSchema)\n .output(QueryAnalyticsResponseSchema),\n listOrgMembers: oc\n .route({ method: \"POST\", path: \"/list-org-members\" })\n .input(DashboardListOrgMembersInputSchema)\n .output(OrgMembersResponseSchema),\n getSiteConfig: oc\n .route({ method: \"POST\", path: \"/get-site-config\" })\n .input(DashboardGetSiteConfigInputSchema)\n .output(SiteConfigResponseSchema),\n authorizeDocsEdit: oc\n .route({ method: \"POST\", path: \"/authorize-docs-edit\" })\n .input(DashboardGetSiteConfigInputSchema)\n .output(AuthorizeDocsEditResponseSchema),\n getSiteSettings: oc\n .route({ method: \"POST\", path: \"/get-site-settings\" })\n .input(DashboardGetSiteConfigInputSchema)\n .output(SiteSettingsResponseSchema),\n listDocsPages: oc\n .route({ method: \"POST\", path: \"/list-docs-pages\" })\n .input(ListDocsPagesInputSchema)\n .output(ListDocsPagesResponseSchema),\n getDocsPage: oc\n .route({ method: \"POST\", path: \"/get-docs-page\" })\n .input(GetDocsPageInputSchema)\n .output(GetDocsPageResponseSchema)\n};\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { docsV1ReadContract } from \"./contract.js\";\n\nexport type DocsV1ReadClient = JsonifiedClient<ContractRouterClient<typeof docsV1ReadContract>>;\n\nexport interface CreateDocsV1ReadClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createDocsV1ReadClient(options: CreateDocsV1ReadClientOptions): DocsV1ReadClient {\n const link = new OpenAPILink(docsV1ReadContract, {\n url: `${options.baseUrl}/registry/docs`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\nimport { DocsDefinitionSchema } from \"../../../../client/docs-types/read.js\";\n\nexport { DocsDefinitionSchema as DocsV1ReadDefinitionSchema };\n\nexport const GetDocsForDomainLegacyInputSchema = z.object({\n domain: z.string()\n});\n\nexport const GetDocsForDomainInputSchema = z.object({\n domain: z.string()\n});\n\nexport const docsV1ReadContract = {\n getDocsForDomainLegacy: oc\n .route({ method: \"GET\", path: \"/load/{domain}\" })\n .input(GetDocsForDomainLegacyInputSchema)\n .output(DocsDefinitionSchema),\n\n getDocsForDomain: oc\n .route({ method: \"POST\", path: \"/load\" })\n .input(GetDocsForDomainInputSchema)\n .output(DocsDefinitionSchema)\n};\n","import * as z from \"zod\";\nimport type { RootNode } from \"../../navigation/types/v1.js\";\nimport type { PageId, Url } from \"./read-commons\";\nimport {\n AgentsConfigSchema,\n AIChatConfigSchema,\n AnalyticsConfigSchema,\n AnnouncementConfigSchema,\n ApiDefinitionIdSchema,\n AvailabilitySchema,\n CssConfigSchema,\n DocsConfigIdSchema,\n DocsLayoutConfigSchema,\n DocsSettingsConfigSchema,\n DocsThemeConfigSchema,\n DocsTranslationsConfigSchema,\n DocsTypographyConfigV2Schema,\n EditThisPageLaunchSchema,\n FileIdSchema,\n FooterLinkSchema,\n IframeConfigSchema,\n IntegrationsConfigSchema,\n JsConfigSchema,\n LanguageSchema,\n MetadataConfigSchema,\n NavbarLinkSchema,\n PageActionsConfigSchema,\n ProgrammingLanguageSchema,\n RedirectConfigSchema,\n RgbaColorSchema,\n UrlSchema\n} from \"./read-commons\";\nimport {\n ApiArtifactsSchema,\n ApiSectionV2Schema,\n ChangelogItemSchema,\n ChangelogSectionSchema,\n ChangelogSectionV3Schema,\n GitHubRepoSchema,\n HeightSchema,\n LinkMetadataSchema,\n MavenPackageSchema,\n NavigationNodeMetadataSchema,\n NavigationTabLinkSchema,\n NpmPackageSchema,\n PageContentSchema,\n PageIdSchema,\n PageMetadataSchema,\n PublishedPostmanCollectionSchema,\n PublishedSdkSchema,\n PypiPackageSchema,\n ApiNavigationConfigItemSchema as SharedApiNavigationConfigItemSchema,\n ApiNavigationConfigRootSchema as SharedApiNavigationConfigRootSchema,\n SubpackageIdSchema,\n VersionIdSchema\n} from \"./shared\";\n\nexport type { ApiNavigationConfigItem } from \"./shared\";\n\nexport {\n ApiArtifactsSchema,\n ApiSectionV2Schema,\n ChangelogItemSchema,\n ChangelogSectionSchema,\n ChangelogSectionV3Schema,\n GitHubRepoSchema,\n HeightSchema,\n LinkMetadataSchema,\n MavenPackageSchema,\n NavigationNodeMetadataSchema,\n NavigationTabLinkSchema,\n NpmPackageSchema,\n PageContentSchema,\n PageMetadataSchema,\n PublishedPostmanCollectionSchema,\n PublishedSdkSchema,\n PypiPackageSchema,\n SubpackageIdSchema\n};\n\nexport type {\n ApiArtifacts,\n ApiSectionV2,\n ChangelogItem,\n ChangelogSection,\n ChangelogSectionV3,\n GitHubRepo,\n Height,\n LinkMetadata,\n MavenPackage,\n NavigationNodeMetadata,\n NavigationTabLink,\n NpmPackage,\n PageContent,\n PageMetadata,\n PublishedPostmanCollection,\n PublishedSdk,\n PypiPackage,\n SubpackageId\n} from \"./shared\";\n\nexport const UrlFileSchema = z.object({\n url: UrlSchema\n});\nexport type UrlFile = z.infer<typeof UrlFileSchema>;\n\nexport const ImageFileSchema = z.object({\n url: UrlSchema,\n width: z.number(),\n height: z.number(),\n blurDataUrl: z.string().optional(),\n alt: z.string().optional()\n});\nexport type ImageFile = z.infer<typeof ImageFileSchema>;\n\nexport const FileSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"url\"), ...UrlFileSchema.shape }),\n z.object({ type: z.literal(\"image\"), ...ImageFileSchema.shape })\n]);\nexport type File_ = z.infer<typeof FileSchema>;\n\nexport const BackgroundSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"solid\"), ...RgbaColorSchema.shape }),\n z.object({ type: z.literal(\"gradient\") })\n]);\nexport type Background = z.infer<typeof BackgroundSchema>;\n\nexport const ThemeConfigSchema = z.object({\n logo: FileIdSchema.optional(),\n backgroundImage: FileIdSchema.optional(),\n accentPrimary: RgbaColorSchema,\n background: BackgroundSchema,\n border: RgbaColorSchema.optional(),\n sidebarBackground: RgbaColorSchema.optional(),\n headerBackground: RgbaColorSchema.optional(),\n cardBackground: RgbaColorSchema.optional(),\n accent1: RgbaColorSchema.optional(),\n accent2: RgbaColorSchema.optional(),\n accent3: RgbaColorSchema.optional(),\n accent4: RgbaColorSchema.optional(),\n accent5: RgbaColorSchema.optional(),\n accent6: RgbaColorSchema.optional(),\n accent7: RgbaColorSchema.optional(),\n accent8: RgbaColorSchema.optional(),\n accent9: RgbaColorSchema.optional(),\n accent10: RgbaColorSchema.optional(),\n accent11: RgbaColorSchema.optional(),\n accent12: RgbaColorSchema.optional()\n});\nexport type ThemeConfig = z.infer<typeof ThemeConfigSchema>;\n\nexport const DarkAndLightModeConfigSchema = z.object({\n dark: ThemeConfigSchema,\n light: ThemeConfigSchema\n});\nexport type DarkAndLightModeConfig = z.infer<typeof DarkAndLightModeConfigSchema>;\n\nexport const ColorsConfigV3Schema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"dark\"), ...ThemeConfigSchema.shape }),\n z.object({ type: z.literal(\"light\"), ...ThemeConfigSchema.shape }),\n z.object({ type: z.literal(\"darkAndLight\"), ...DarkAndLightModeConfigSchema.shape })\n]);\nexport type ColorsConfigV3 = z.infer<typeof ColorsConfigV3Schema>;\n\nexport const ApiNavigationConfigItemSchema = SharedApiNavigationConfigItemSchema;\nexport const ApiNavigationConfigRootSchema = SharedApiNavigationConfigRootSchema;\nexport type ApiNavigationConfigRoot = z.infer<typeof ApiNavigationConfigRootSchema>;\n\nexport const ApiSectionSchema = z.object({\n ...NavigationNodeMetadataSchema.shape,\n title: z.string(),\n api: ApiDefinitionIdSchema,\n skipUrlSlug: z.boolean(),\n artifacts: z.lazy(() => ApiArtifactsSchema).optional(),\n showErrors: z.boolean(),\n changelog: ChangelogSectionSchema.optional(),\n navigation: ApiNavigationConfigRootSchema.optional(),\n longScrolling: z.boolean().optional(),\n flattened: z.boolean().optional()\n});\nexport type ApiSection = z.infer<typeof ApiSectionSchema>;\n\nexport const DocsSectionSchema: z.ZodType<any> = z.lazy(() =>\n z.object({\n ...NavigationNodeMetadataSchema.shape,\n title: z.string(),\n items: z.array(NavigationItemSchema),\n skipUrlSlug: z.boolean(),\n collapsed: z.union([z.boolean(), z.literal(\"open-by-default\")]),\n collapsible: z.boolean().optional(),\n collapsedByDefault: z.boolean().optional(),\n overviewPageId: PageIdSchema.optional()\n })\n);\nexport type DocsSection = z.infer<typeof DocsSectionSchema>;\n\nexport type NavigationItem =\n | NavigationItem.Page\n | NavigationItem.Api\n | NavigationItem.ApiV2\n | NavigationItem.Section\n | NavigationItem.Link\n | NavigationItem.Changelog\n | NavigationItem.ChangelogV3;\n\nexport namespace NavigationItem {\n export interface Page {\n type: \"page\";\n icon?: string;\n hidden?: boolean;\n urlSlug: string;\n fullSlug?: string[];\n id: PageId;\n title: string;\n }\n export interface Api extends ApiSection {\n type: \"api\";\n }\n export interface ApiV2 {\n type: \"apiV2\";\n node?: unknown;\n }\n export interface Section {\n type: \"section\";\n icon?: string;\n hidden?: boolean;\n urlSlug: string;\n fullSlug?: string[];\n skipUrlSlug: boolean;\n title: string;\n items: NavigationItem[];\n collapsed: boolean | \"open-by-default\";\n collapsible?: boolean;\n collapsedByDefault?: boolean;\n overviewPageId?: PageId;\n }\n export interface Link {\n type: \"link\";\n url: Url;\n title: string;\n icon?: string;\n target?: \"_blank\" | \"_self\" | \"_parent\" | \"_top\";\n }\n export interface Changelog {\n type: \"changelog\";\n icon?: string;\n hidden?: boolean;\n urlSlug: string;\n fullSlug?: string[];\n title?: string;\n description?: string;\n pageId?: PageId;\n items: Array<{ date: string; pageId: PageId; tags?: string[] }>;\n }\n export interface ChangelogV3 {\n type: \"changelogV3\";\n node?: unknown;\n }\n}\n\nexport const NavigationItemSchema: z.ZodType<NavigationItem> = z.lazy(() =>\n z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"page\"), ...PageMetadataSchema.shape }),\n z.object({ type: z.literal(\"api\"), ...ApiSectionSchema.shape }),\n z.object({ type: z.literal(\"apiV2\"), ...ApiSectionV2Schema.shape }),\n z.object({\n type: z.literal(\"section\"),\n ...NavigationNodeMetadataSchema.shape,\n title: z.string(),\n items: z.array(NavigationItemSchema),\n skipUrlSlug: z.boolean(),\n collapsed: z.union([z.boolean(), z.literal(\"open-by-default\")]),\n collapsible: z.boolean().optional(),\n collapsedByDefault: z.boolean().optional(),\n overviewPageId: PageIdSchema.optional()\n }),\n z.object({ type: z.literal(\"link\"), ...LinkMetadataSchema.shape }),\n z.object({ type: z.literal(\"changelog\"), ...ChangelogSectionSchema.shape }),\n z.object({ type: z.literal(\"changelogV3\"), ...ChangelogSectionV3Schema.shape })\n ])\n) as z.ZodType<NavigationItem>;\n\nexport const NavigationTabGroupSchema = z.object({\n ...NavigationNodeMetadataSchema.shape,\n title: z.string(),\n items: z.array(NavigationItemSchema),\n skipUrlSlug: z.boolean()\n});\nexport type NavigationTabGroup = z.infer<typeof NavigationTabGroupSchema>;\n\nexport const NavigationTabSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"group\"), ...NavigationTabGroupSchema.shape }),\n z.object({ type: z.literal(\"link\"), ...NavigationTabLinkSchema.shape }),\n z.object({ type: z.literal(\"changelog\"), ...ChangelogSectionSchema.shape }),\n z.object({ type: z.literal(\"changelogV3\"), ...ChangelogSectionV3Schema.shape })\n]);\nexport type NavigationTab = z.infer<typeof NavigationTabSchema>;\n\nexport const UnversionedTabbedNavigationConfigSchema = z.object({\n tabs: z.array(NavigationTabSchema),\n landingPage: PageMetadataSchema.optional()\n});\nexport type UnversionedTabbedNavigationConfig = z.infer<typeof UnversionedTabbedNavigationConfigSchema>;\n\nexport const UnversionedUntabbedNavigationConfigSchema = z.object({\n items: z.array(NavigationItemSchema),\n landingPage: PageMetadataSchema.optional()\n});\nexport type UnversionedUntabbedNavigationConfig = z.infer<typeof UnversionedUntabbedNavigationConfigSchema>;\n\nexport const UnversionedNavigationConfigSchema = z.union([\n UnversionedTabbedNavigationConfigSchema,\n UnversionedUntabbedNavigationConfigSchema\n]);\nexport type UnversionedNavigationConfig = z.infer<typeof UnversionedNavigationConfigSchema>;\n\nexport const VersionedNavigationConfigDataSchema = z.object({\n version: VersionIdSchema,\n urlSlug: z.string(),\n availability: AvailabilitySchema.optional(),\n config: UnversionedNavigationConfigSchema\n});\nexport type VersionedNavigationConfigData = z.infer<typeof VersionedNavigationConfigDataSchema>;\n\nexport const VersionedNavigationConfigSchema = z.object({\n versions: z.array(VersionedNavigationConfigDataSchema)\n});\nexport type VersionedNavigationConfig = z.infer<typeof VersionedNavigationConfigSchema>;\n\nexport const NavigationConfigSchema = z.union([UnversionedNavigationConfigSchema, VersionedNavigationConfigSchema]);\nexport type NavigationConfig = z.infer<typeof NavigationConfigSchema>;\n\nexport const DocsConfigSchema = z.object({\n title: z.string().optional(),\n defaultLanguage: ProgrammingLanguageSchema.optional(),\n languages: z.array(LanguageSchema).optional(),\n translations: DocsTranslationsConfigSchema.optional(),\n announcement: AnnouncementConfigSchema.optional(),\n navigation: NavigationConfigSchema.optional(),\n root: z.custom<RootNode>().optional(),\n navbarLinks: z.array(NavbarLinkSchema).optional(),\n footerLinks: z.array(FooterLinkSchema).optional(),\n hideNavLinks: z.boolean().optional(),\n logoHeight: HeightSchema.optional(),\n logoHref: UrlSchema.optional(),\n logoRightText: z.string().optional(),\n favicon: FileIdSchema.optional(),\n agents: AgentsConfigSchema.optional(),\n metadata: MetadataConfigSchema.optional(),\n redirects: z.array(RedirectConfigSchema).optional(),\n colorsV3: ColorsConfigV3Schema.optional(),\n layout: DocsLayoutConfigSchema.optional(),\n theme: DocsThemeConfigSchema.optional(),\n globalTheme: z.string().optional(),\n settings: DocsSettingsConfigSchema.optional(),\n typographyV2: DocsTypographyConfigV2Schema.optional(),\n analyticsConfig: AnalyticsConfigSchema.optional(),\n integrations: IntegrationsConfigSchema.optional(),\n css: CssConfigSchema.optional(),\n js: JsConfigSchema.optional(),\n aiChatConfig: AIChatConfigSchema.optional(),\n pageActions: PageActionsConfigSchema.optional(),\n editThisPageLaunch: EditThisPageLaunchSchema.optional(),\n iframe: IframeConfigSchema.optional(),\n header: z.string().optional(),\n footer: z.string().optional()\n});\nexport type DocsConfig = z.infer<typeof DocsConfigSchema>;\n\nexport const DocsDefinitionSchema = z.object({\n pages: z.record(PageIdSchema, PageContentSchema),\n apis: z.record(ApiDefinitionIdSchema, z.unknown()),\n apisV2: z.record(ApiDefinitionIdSchema, z.unknown()),\n apiNameToId: z.record(z.string(), ApiDefinitionIdSchema).optional(),\n files: z.record(FileIdSchema, UrlSchema),\n filesV2: z.record(FileIdSchema, FileSchema),\n jsFiles: z.record(z.string(), z.string()).optional(),\n id: DocsConfigIdSchema.optional(),\n config: DocsConfigSchema\n});\nexport type DocsDefinition = z.infer<typeof DocsDefinitionSchema>;\n\nexport const BaseUrlSchema = z.object({\n domain: z.string(),\n basePath: z.string().optional()\n});\nexport type BaseUrl = z.infer<typeof BaseUrlSchema>;\n\nexport const LoadDocsForUrlResponseSchema = z.object({\n baseUrl: BaseUrlSchema,\n definition: DocsDefinitionSchema,\n orgId: z.string().optional(),\n lightModeEnabled: z.boolean().optional(),\n locale: z.string().optional(),\n defaultLocale: z.string().optional(),\n translations: z.array(z.string()).optional()\n});\nexport type LoadDocsForUrlResponse = z.infer<typeof LoadDocsForUrlResponseSchema>;\n\nexport * from \"./read-commons\";\n","import * as z from \"zod\";\n\nexport type DocsConfigId = string & { DocsConfigId: void };\nexport const DocsConfigIdSchema: z.ZodType<DocsConfigId> = z.string() as any;\nexport function DocsConfigId(value: string): DocsConfigId {\n return value as unknown as DocsConfigId;\n}\n\nexport type {\n AIChatConfig,\n AIChatDatasource,\n AIChatLocation,\n AIChatWebsiteDatasource,\n AIModel,\n AmplitudeConfig,\n AnalyticsConfig,\n AnnouncementConfig,\n Availability,\n ClearBitConfig,\n ColorConfig,\n ColorsConfig,\n ColorsConfigV2,\n ColorThemedConfig,\n ColorUnthemedConfig,\n ContentAlignment,\n CssConfig,\n CustomFontConfig,\n CustomFontConfigVariant,\n CustomPageAction,\n DocsBodyConfig,\n DocsLayoutConfig,\n DocsPageActionsConfig,\n DocsSettingsConfig,\n DocsSidebarConfig,\n DocsTabsConfig,\n DocsTabsObjectConfig,\n DocsTabsStyle,\n DocsThemeConfig,\n DocsTranslationsConfig,\n DocsTypographyConfig,\n DocsTypographyConfigV2,\n EditThisPageLaunch,\n FathomConfig,\n FileIdOrUrl,\n FontConfig,\n FontConfigV2,\n FontDisplay,\n FontStyle,\n FooterLink,\n FooterNavConfig,\n FullStoryAnalyticsConfig,\n GoogleAnalytics4Config,\n GTMConfig,\n HeaderPosition,\n HeapConfig,\n HotJarConfig,\n HttpSnippetLanguage,\n HttpSnippetsConfig,\n IntegrationsConfig,\n IntercomConfig,\n JsConfig,\n JsFileConfig,\n JsRemoteConfig,\n JsScriptStrategy,\n KoalaConfig,\n Language,\n LanguageSwitcherConfig,\n LinkTarget,\n LogRocketConfig,\n MetadataConfig,\n MixpanelConfig,\n NavbarGithubMetadata,\n NavbarLink,\n NavbarLinkDropdownMetadata,\n NavbarLinkMetadata,\n PageActionOption,\n PageActionOptions,\n PageActionsConfig,\n PageWidthSizeConfig,\n PirschConfig,\n PlausibleConfig,\n PostHogConfig,\n ProductSwitcherConfig,\n ProgrammingLanguage,\n RedirectConfig,\n RgbaColor,\n SearchbarPlacement,\n SegmentConfig,\n SiteSwitcherConfig,\n SizeConfig,\n Skill,\n SkillsConfig,\n SwitcherPlacement,\n TabsPlacement,\n ThemedFileId,\n TwitterCardSetting,\n WithPermissions\n} from \"./shared\";\nexport {\n AgentsConfigSchema,\n AIChatConfigSchema,\n AIChatDatasourceSchema,\n AIChatLocationSchema,\n AIChatWebsiteDatasourceSchema,\n AIModelSchema,\n AmplitudeConfigSchema,\n AnalyticsConfigSchema,\n AnnouncementConfigSchema,\n ApiDefinitionId,\n ApiDefinitionIdSchema,\n AvailabilitySchema,\n ClearBitConfigSchema,\n ColorConfigSchema,\n ColorsConfigSchema,\n ColorsConfigV2Schema,\n ColorThemedConfigSchema,\n ColorUnthemedConfigSchema,\n ContentAlignmentSchema,\n CssConfigSchema,\n CustomFontConfigSchema,\n CustomFontConfigVariantSchema,\n CustomPageActionSchema,\n DocsBodyConfigSchema,\n DocsLayoutConfigSchema,\n DocsPageActionsConfigSchema,\n DocsSettingsConfigSchema,\n DocsSidebarConfigSchema,\n DocsTabsConfigSchema,\n DocsTabsObjectConfigSchema,\n DocsTabsStyleSchema,\n DocsThemeConfigSchema,\n DocsTranslationsConfigSchema,\n DocsTypographyConfigSchema,\n DocsTypographyConfigV2Schema,\n EditThisPageLaunchSchema,\n EndpointId,\n EndpointIdSchema,\n FathomConfigSchema,\n FileId,\n FileIdOrUrlSchema,\n FileIdSchema,\n FontConfigSchema,\n FontConfigV2Schema,\n FontDisplaySchema,\n FontStyleSchema,\n FooterLinkSchema,\n FooterNavConfigSchema,\n FullStoryAnalyticsConfigSchema,\n GoogleAnalytics4ConfigSchema,\n GTMConfigSchema,\n HeaderPositionSchema,\n HeapConfigSchema,\n HotJarConfigSchema,\n HttpSnippetLanguageSchema,\n HttpSnippetsConfigSchema,\n IframeConfigSchema,\n IntegrationsConfigSchema,\n IntercomConfigSchema,\n JsConfigSchema,\n JsFileConfigSchema,\n JsRemoteConfigSchema,\n JsScriptStrategySchema,\n KoalaConfigSchema,\n LanguageSchema,\n LanguageSwitcherConfigSchema,\n LinkTargetSchema,\n LogRocketConfigSchema,\n MetadataConfigSchema,\n MixpanelConfigSchema,\n NavbarGithubMetadataSchema,\n NavbarLinkDropdownMetadataSchema,\n NavbarLinkMetadataSchema,\n NavbarLinkSchema,\n PageActionOptionSchema,\n PageActionOptionsSchema,\n PageActionsConfigSchema,\n PageId,\n PageIdSchema,\n PageWidthSizeConfigSchema,\n PirschConfigSchema,\n PlausibleConfigSchema,\n PostHogConfigSchema,\n ProductSwitcherConfigSchema,\n ProgrammingLanguageSchema,\n RedirectConfigSchema,\n RgbaColorSchema,\n RoleId,\n RoleIdSchema,\n SearchbarPlacementSchema,\n SegmentConfigSchema,\n SiteSwitcherConfigSchema,\n SizeConfigSchema,\n SkillSchema,\n SkillsConfigSchema,\n SubpackageId,\n SwitcherPlacementSchema,\n TabsPlacementSchema,\n ThemedFileIdSchema,\n TwitterCardSettingSchema,\n Url,\n UrlSchema,\n VersionId,\n VersionIdSchema,\n WebhookId,\n WebhookIdSchema,\n WebSocketId,\n WebSocketIdSchema,\n WithPermissionsSchema\n} from \"./shared\";\n","import * as z from \"zod\";\n\nexport type FileId = string & { FileId: void };\nexport const FileIdSchema: z.ZodType<FileId> = z.string() as any;\nexport function FileId(value: string): FileId {\n return value as unknown as FileId;\n}\n\nexport type PageId = string & { PageId: void };\nexport const PageIdSchema: z.ZodType<PageId> = z.string() as any;\nexport function PageId(value: string): PageId {\n return value as unknown as PageId;\n}\n\nexport type Url = string & { Url: void };\nexport const UrlSchema: z.ZodType<Url> = z.string() as any;\nexport function Url(value: string): Url {\n return value as unknown as Url;\n}\n\nexport type VersionId = string & { VersionId: void };\nexport const VersionIdSchema: z.ZodType<VersionId> = z.string() as any;\nexport function VersionId(value: string): VersionId {\n return value as unknown as VersionId;\n}\n\nexport type ApiDefinitionId = string & { ApiDefinitionId: void };\nexport const ApiDefinitionIdSchema: z.ZodType<ApiDefinitionId> = z.string().uuid() as any;\nexport function ApiDefinitionId(value: string): ApiDefinitionId {\n return value as unknown as ApiDefinitionId;\n}\n\nexport type EndpointId = string & { EndpointId: void };\nexport const EndpointIdSchema: z.ZodType<EndpointId> = z.string() as any;\nexport function EndpointId(value: string): EndpointId {\n return value as unknown as EndpointId;\n}\n\nexport type WebSocketId = string & { WebSocketId: void };\nexport const WebSocketIdSchema: z.ZodType<WebSocketId> = z.string() as any;\nexport function WebSocketId(value: string): WebSocketId {\n return value as unknown as WebSocketId;\n}\n\nexport type WebhookId = string & { WebhookId: void };\nexport const WebhookIdSchema: z.ZodType<WebhookId> = z.string() as any;\nexport function WebhookId(value: string): WebhookId {\n return value as unknown as WebhookId;\n}\n\nexport type RoleId = string & { RoleId: void };\nexport const RoleIdSchema: z.ZodType<RoleId> = z.string() as any;\nexport function RoleId(value: string): RoleId {\n return value as unknown as RoleId;\n}\n\nexport type SubpackageId = string & { SubpackageId: void };\nexport const SubpackageIdSchema: z.ZodType<SubpackageId> = z.string() as any;\nexport function SubpackageId(value: string): SubpackageId {\n return value as unknown as SubpackageId;\n}\n\nexport const LinkTargetSchema = z.enum([\"_blank\", \"_self\", \"_parent\", \"_top\"]);\nexport type LinkTarget = z.infer<typeof LinkTargetSchema>;\n\nexport const AvailabilitySchema = z.enum([\n \"Stable\",\n \"GenerallyAvailable\",\n \"InDevelopment\",\n \"PreRelease\",\n \"Deprecated\",\n \"Beta\"\n]);\nexport type Availability = z.infer<typeof AvailabilitySchema>;\n\nexport const RgbaColorSchema = z.object({\n r: z.number().int(),\n g: z.number().int(),\n b: z.number().int(),\n a: z.number().optional()\n});\nexport type RgbaColor = z.infer<typeof RgbaColorSchema>;\n\nexport const FileIdOrUrlSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"fileId\"), value: FileIdSchema }),\n z.object({ type: z.literal(\"url\"), value: UrlSchema })\n]);\nexport type FileIdOrUrl = z.infer<typeof FileIdOrUrlSchema>;\n\n/**\n * BCP 47 language tag validator for docs localization.\n * Accepts simple codes like \"en\", \"ja\" as well as regional variants\n * like \"ja-JP\", \"pt-BR\", \"zh-Hans\", \"zh-Hans-CN\".\n * See: https://www.rfc-editor.org/rfc/rfc5646\n */\nexport const LanguageSchema = z\n .string()\n .regex(\n /^[a-zA-Z]{2,8}(-[a-zA-Z0-9]{1,8})*$/,\n \"Language must be a valid BCP 47 language tag (e.g. 'en', 'ja', 'ja-JP', 'pt-BR', 'zh-Hans-CN')\"\n );\nexport type Language = z.infer<typeof LanguageSchema>;\n\n/**\n * BCP 47 language tag validator.\n * Accepts tags like \"en\", \"fr\", \"pt-BR\", \"zh-Hans\", \"zh-Hans-CN\".\n * See: https://www.rfc-editor.org/rfc/rfc5646\n */\nconst Bcp47LocaleSchema = z\n .string()\n .regex(\n /^[a-zA-Z]{2,8}(-[a-zA-Z0-9]{1,8})*$/,\n \"Locale must be a valid BCP 47 language tag (e.g. 'en', 'fr', 'pt-BR', 'zh-Hans-CN')\"\n );\n\nexport const DocsTranslationsConfigSchema = z.object({\n /** The locale served when no locale-specific translation is found. Must be a valid BCP 47 language tag. */\n defaultLocale: Bcp47LocaleSchema,\n /** Supported locales for this docs site.\n * Must be valid BCP 47 language tags. Include `defaultLocale` when localization is configured.\n * Omit to serve only `defaultLocale`. */\n translations: z.array(Bcp47LocaleSchema).optional()\n});\nexport type DocsTranslationsConfig = z.infer<typeof DocsTranslationsConfigSchema>;\n\nexport const ProgrammingLanguageSchema = z.enum([\n \"typescript\",\n \"javascript\",\n \"python\",\n \"java\",\n \"go\",\n \"ruby\",\n \"csharp\",\n \"php\",\n \"swift\",\n \"rust\",\n \"nodets\",\n \"nodejs\",\n \"dotnet\",\n \"curl\",\n \"jvm\",\n \"ts\",\n \"js\"\n]);\nexport type ProgrammingLanguage = z.infer<typeof ProgrammingLanguageSchema>;\n\nexport const AnnouncementConfigSchema = z.object({\n text: z.string()\n});\nexport type AnnouncementConfig = z.infer<typeof AnnouncementConfigSchema>;\n\nexport const SegmentConfigSchema = z.object({\n writeKey: z.string()\n});\nexport type SegmentConfig = z.infer<typeof SegmentConfigSchema>;\n\nexport const FullStoryAnalyticsConfigSchema = z.object({\n orgId: z.string()\n});\nexport type FullStoryAnalyticsConfig = z.infer<typeof FullStoryAnalyticsConfigSchema>;\n\nexport const IntercomConfigSchema = z.object({\n appId: z.string(),\n apiBase: z.string().optional()\n});\nexport type IntercomConfig = z.infer<typeof IntercomConfigSchema>;\n\nexport const PostHogConfigSchema = z.object({\n apiKey: z.string(),\n endpoint: z.string().optional()\n});\nexport type PostHogConfig = z.infer<typeof PostHogConfigSchema>;\n\nexport const GTMConfigSchema = z.object({\n containerId: z.string()\n});\nexport type GTMConfig = z.infer<typeof GTMConfigSchema>;\n\nexport const GoogleAnalytics4ConfigSchema = z.object({\n measurementId: z.string()\n});\nexport type GoogleAnalytics4Config = z.infer<typeof GoogleAnalytics4ConfigSchema>;\n\nexport const AmplitudeConfigSchema = z.object({\n apiKey: z.string()\n});\nexport type AmplitudeConfig = z.infer<typeof AmplitudeConfigSchema>;\n\nexport const MixpanelConfigSchema = z.object({\n apiKey: z.string()\n});\nexport type MixpanelConfig = z.infer<typeof MixpanelConfigSchema>;\n\nexport const HotJarConfigSchema = z.object({\n hjid: z.string(),\n hjsv: z.string()\n});\nexport type HotJarConfig = z.infer<typeof HotJarConfigSchema>;\n\nexport const KoalaConfigSchema = z.object({\n apiKey: z.string()\n});\nexport type KoalaConfig = z.infer<typeof KoalaConfigSchema>;\n\nexport const LogRocketConfigSchema = z.object({\n apiKey: z.string()\n});\nexport type LogRocketConfig = z.infer<typeof LogRocketConfigSchema>;\n\nexport const PirschConfigSchema = z.object({\n id: z.string()\n});\nexport type PirschConfig = z.infer<typeof PirschConfigSchema>;\n\nexport const PlausibleConfigSchema = z.object({\n domain: z.string()\n});\nexport type PlausibleConfig = z.infer<typeof PlausibleConfigSchema>;\n\nexport const FathomConfigSchema = z.object({\n siteId: z.string()\n});\nexport type FathomConfig = z.infer<typeof FathomConfigSchema>;\n\nexport const ClearBitConfigSchema = z.object({\n apiKey: z.string()\n});\nexport type ClearBitConfig = z.infer<typeof ClearBitConfigSchema>;\n\nexport const HeapConfigSchema = z.object({\n appId: z.string()\n});\nexport type HeapConfig = z.infer<typeof HeapConfigSchema>;\n\nexport const AnalyticsConfigSchema = z.object({\n segment: SegmentConfigSchema.optional(),\n fullstory: FullStoryAnalyticsConfigSchema.optional(),\n intercom: IntercomConfigSchema.optional(),\n posthog: PostHogConfigSchema.optional(),\n gtm: GTMConfigSchema.optional(),\n ga4: GoogleAnalytics4ConfigSchema.optional(),\n amplitude: AmplitudeConfigSchema.optional(),\n mixpanel: MixpanelConfigSchema.optional(),\n hotjar: HotJarConfigSchema.optional(),\n koala: KoalaConfigSchema.optional(),\n logrocket: LogRocketConfigSchema.optional(),\n pirsch: PirschConfigSchema.optional(),\n plausible: PlausibleConfigSchema.optional(),\n fathom: FathomConfigSchema.optional(),\n clearbit: ClearBitConfigSchema.optional(),\n heap: HeapConfigSchema.optional()\n});\nexport type AnalyticsConfig = z.infer<typeof AnalyticsConfigSchema>;\n\nexport const SearchbarPlacementSchema = z.enum([\"HEADER\", \"HEADER_TABS\", \"SIDEBAR\"]);\nexport type SearchbarPlacement = z.infer<typeof SearchbarPlacementSchema>;\n\nexport const TabsPlacementSchema = z.enum([\"HEADER\", \"SIDEBAR\"]);\nexport type TabsPlacement = z.infer<typeof TabsPlacementSchema>;\n\nexport const SwitcherPlacementSchema = z.enum([\"HEADER\", \"SIDEBAR\"]);\nexport type SwitcherPlacement = z.infer<typeof SwitcherPlacementSchema>;\n\nexport const ContentAlignmentSchema = z.enum([\"CENTER\", \"LEFT\"]);\nexport type ContentAlignment = z.infer<typeof ContentAlignmentSchema>;\n\nexport const HeaderPositionSchema = z.enum([\"FIXED\", \"ABSOLUTE\"]);\nexport type HeaderPosition = z.infer<typeof HeaderPositionSchema>;\n\nexport const PageWidthSizeConfigSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"px\"), value: z.number() }),\n z.object({ type: z.literal(\"rem\"), value: z.number() }),\n z.object({ type: z.literal(\"full\") })\n]);\nexport type PageWidthSizeConfig = z.infer<typeof PageWidthSizeConfigSchema>;\n\nexport const SizeConfigSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"px\"), value: z.number() }),\n z.object({ type: z.literal(\"rem\"), value: z.number() })\n]);\nexport type SizeConfig = z.infer<typeof SizeConfigSchema>;\n\nexport const TabsAlignmentSchema = z.enum([\"LEFT\", \"CENTER\"]);\nexport type TabsAlignment = z.infer<typeof TabsAlignmentSchema>;\n\n// \"timeline\" is the searchable timeline-of-cards layout; \"classic\" is the\n// legacy stacked-entries layout with a per-page table of contents.\nexport const ChangelogLayoutSchema = z.enum([\"timeline\", \"classic\"]);\nexport type ChangelogLayout = z.infer<typeof ChangelogLayoutSchema>;\n\n// How nested object fields render in the API reference. \"indented\" is the\n// connector-line tree; \"cards\" is the legacy nested-card layout.\nexport const ApiReferenceLayoutSchema = z.enum([\"indented\", \"cards\"]);\nexport type ApiReferenceLayout = z.infer<typeof ApiReferenceLayoutSchema>;\n\nexport const DocsBreadcrumbsConfigSchema = z.object({\n // Appends the current page to the breadcrumb trail as a non-clickable item.\n currentPage: z.boolean().optional()\n});\nexport type DocsBreadcrumbsConfig = z.infer<typeof DocsBreadcrumbsConfigSchema>;\n\nexport const DocsLayoutConfigSchema = z.object({\n pageWidth: PageWidthSizeConfigSchema.optional(),\n contentWidth: SizeConfigSchema.optional(),\n sidebarWidth: SizeConfigSchema.optional(),\n headerHeight: SizeConfigSchema.optional(),\n searchbarPlacement: SearchbarPlacementSchema.optional(),\n tabsPlacement: TabsPlacementSchema.optional(),\n switcherPlacement: SwitcherPlacementSchema.optional(),\n contentAlignment: ContentAlignmentSchema.optional(),\n headerPosition: HeaderPositionSchema.optional(),\n disableHeader: z.boolean().optional(),\n hideNavLinks: z.boolean().optional(),\n hideFeedback: z.boolean().optional(),\n mobileToc: z.boolean().optional(),\n changelogLayout: ChangelogLayoutSchema.optional(),\n apiReferenceLayout: ApiReferenceLayoutSchema.optional(),\n // Opens the first level of nested object/union fields in the API reference by default.\n apiReferenceExpandProperties: z.boolean().optional(),\n showNavAvailabilityBadges: z.boolean().optional(),\n breadcrumbs: DocsBreadcrumbsConfigSchema.optional()\n});\nexport type DocsLayoutConfig = z.infer<typeof DocsLayoutConfigSchema>;\n\nexport const FooterNavConfigSchema = z.enum([\"default\", \"minimal\"]);\nexport type FooterNavConfig = z.infer<typeof FooterNavConfigSchema>;\n\nexport const DocsSidebarConfigSchema = z.enum([\"default\", \"minimal\"]);\nexport type DocsSidebarConfig = z.infer<typeof DocsSidebarConfigSchema>;\n\nexport const DocsBodyConfigSchema = z.enum([\"default\", \"canvas\"]);\nexport type DocsBodyConfig = z.infer<typeof DocsBodyConfigSchema>;\n\nexport const DocsTabsStyleSchema = z.enum([\"default\", \"bubble\"]);\nexport type DocsTabsStyle = z.infer<typeof DocsTabsStyleSchema>;\n\nexport const DocsTabsObjectConfigSchema = z.object({\n style: DocsTabsStyleSchema.optional(),\n alignment: TabsAlignmentSchema.optional(),\n placement: TabsPlacementSchema.optional()\n});\nexport type DocsTabsObjectConfig = z.infer<typeof DocsTabsObjectConfigSchema>;\n\nexport const DocsTabsConfigSchema = z.union([DocsTabsStyleSchema, DocsTabsObjectConfigSchema]);\nexport type DocsTabsConfig = z.infer<typeof DocsTabsConfigSchema>;\n\nexport const DocsPageActionsConfigSchema = z.enum([\"default\", \"toolbar\"]);\nexport type DocsPageActionsConfig = z.infer<typeof DocsPageActionsConfigSchema>;\n\nexport const LanguageSwitcherConfigSchema = z.enum([\"default\", \"minimal\"]);\nexport type LanguageSwitcherConfig = z.infer<typeof LanguageSwitcherConfigSchema>;\n\nexport const ProductSwitcherConfigSchema = z.enum([\"default\", \"toggle\", \"tabs\"]);\nexport type ProductSwitcherConfig = z.infer<typeof ProductSwitcherConfigSchema>;\n\n/**\n * Header switcher listing the other sites published on the same host.\n * Membership is derived from the registry at publish time (`LedgerManifest.siblingSites`);\n * this only shapes presentation. Keys of `labels` and entries of `order`/`hide` are basepaths.\n */\nexport const SiteSwitcherConfigSchema = z.object({\n enabled: z.boolean().optional(),\n order: z.array(z.string()).optional(),\n hide: z.array(z.string()).optional(),\n labels: z.record(z.string(), z.string()).optional(),\n \"show-products\": z.boolean().optional()\n});\nexport type SiteSwitcherConfig = z.infer<typeof SiteSwitcherConfigSchema>;\n\nexport const DocsThemeConfigSchema = z.object({\n sidebar: DocsSidebarConfigSchema.optional(),\n body: DocsBodyConfigSchema.optional(),\n tabs: DocsTabsConfigSchema.optional(),\n footerNav: FooterNavConfigSchema.optional(),\n \"page-actions\": DocsPageActionsConfigSchema.optional(),\n \"language-switcher\": LanguageSwitcherConfigSchema.optional(),\n \"product-switcher\": ProductSwitcherConfigSchema.optional(),\n \"site-switcher\": SiteSwitcherConfigSchema.optional()\n});\nexport type DocsThemeConfig = z.infer<typeof DocsThemeConfigSchema>;\n\nexport const HttpSnippetLanguageSchema = z.enum([\n \"curl\",\n \"csharp\",\n \"go\",\n \"java\",\n \"javascript\",\n \"php\",\n \"python\",\n \"ruby\",\n \"swift\",\n \"rust\",\n \"typescript\"\n]);\nexport type HttpSnippetLanguage = z.infer<typeof HttpSnippetLanguageSchema>;\n\nexport const HttpSnippetsConfigSchema = z.union([z.boolean(), z.array(HttpSnippetLanguageSchema)]);\nexport type HttpSnippetsConfig = z.infer<typeof HttpSnippetsConfigSchema>;\n\nexport const ExternalSitemapConfigSchema = z.object({\n url: z.string(),\n /**\n * Site locale every URL in this sitemap is indexed into, overriding per-URL\n * language detection. Must match the default language or a translation.\n */\n locale: z.string().optional()\n});\nexport type ExternalSitemapConfig = z.infer<typeof ExternalSitemapConfigSchema>;\n\nexport const ExternalSitemapSchema = z.union([z.string(), ExternalSitemapConfigSchema]);\nexport type ExternalSitemap = z.infer<typeof ExternalSitemapSchema>;\n\nexport const SearchSettingsConfigSchema = z.object({\n prioritizeCurrentProduct: z.boolean().optional(),\n defaultFilterByCurrentProduct: z.boolean().optional(),\n /**\n * Experimental: external sitemaps to index alongside this site's docs\n * content, each an absolute URL or `{ url, locale? }`. Their pages are tagged\n * to the same domain but flagged as third-party so they rank below all\n * first-party documentation in search.\n */\n externalSitemaps: z.array(ExternalSitemapSchema).optional()\n});\nexport type SearchSettingsConfig = z.infer<typeof SearchSettingsConfigSchema>;\n\nexport const DocsSettingsConfigSchema = z.object({\n searchText: z.string().optional(),\n disableSearch: z.boolean().optional(),\n disableAnalytics: z.boolean().optional(),\n darkModeCode: z.boolean().optional(),\n defaultSearchFilters: z.boolean().optional(),\n search: SearchSettingsConfigSchema.optional(),\n httpSnippets: HttpSnippetsConfigSchema.optional(),\n hide404Page: z.boolean().optional(),\n useJavascriptAsTypescript: z.boolean().optional(),\n disableExplorerProxy: z.boolean().optional(),\n disableEnvironmentEditing: z.boolean().optional(),\n language: LanguageSchema.optional(),\n websocketOneofDisplay: z.enum([\"flat\", \"grouped\"]).optional(),\n showHeadersInExamples: z.boolean().optional()\n});\nexport type DocsSettingsConfig = z.infer<typeof DocsSettingsConfigSchema>;\n\nexport const TwitterCardSettingSchema = z.enum([\"summary\", \"summary_large_image\", \"app\", \"player\"]);\nexport type TwitterCardSetting = z.infer<typeof TwitterCardSettingSchema>;\n\nexport const MetadataConfigSchema = z.object({\n \"og:site_name\": z.string().optional(),\n \"og:title\": z.string().optional(),\n \"og:description\": z.string().optional(),\n \"og:url\": z.string().optional(),\n \"og:image\": FileIdOrUrlSchema.optional(),\n \"og:image:width\": z.number().optional(),\n \"og:image:height\": z.number().optional(),\n \"og:locale\": z.string().optional(),\n \"og:logo\": FileIdOrUrlSchema.optional(),\n \"twitter:title\": z.string().optional(),\n \"twitter:description\": z.string().optional(),\n \"twitter:handle\": z.string().optional(),\n \"twitter:image\": FileIdOrUrlSchema.optional(),\n \"twitter:site\": z.string().optional(),\n \"twitter:url\": z.string().optional(),\n \"twitter:card\": TwitterCardSettingSchema.optional(),\n \"og:background-image\": FileIdOrUrlSchema.optional(),\n \"og:dynamic\": z.boolean().optional(),\n \"og:dynamic:background-image\": FileIdOrUrlSchema.optional(),\n \"og:dynamic:text-color\": z.string().optional(),\n \"og:dynamic:background-color\": z.string().optional(),\n \"og:dynamic:show-logo\": z.boolean().optional(),\n \"og:dynamic:show-section\": z.boolean().optional(),\n \"og:dynamic:show-description\": z.boolean().optional(),\n \"og:dynamic:show-url\": z.boolean().optional(),\n \"og:dynamic:show-gradient\": z.boolean().optional(),\n noindex: z.boolean().optional(),\n nofollow: z.boolean().optional(),\n canonicalHost: z.string().optional()\n});\nexport type MetadataConfig = z.infer<typeof MetadataConfigSchema>;\n\nexport const RedirectConfigSchema = z.object({\n source: z.string(),\n destination: z.string(),\n permanent: z.boolean().optional()\n});\nexport type RedirectConfig = z.infer<typeof RedirectConfigSchema>;\n\nexport const WithPermissionsSchema = z.object({\n viewers: z.array(RoleIdSchema).optional()\n});\nexport type WithPermissions = z.infer<typeof WithPermissionsSchema>;\n\nexport const NavbarLinkMetadataSchema = z.object({\n ...WithPermissionsSchema.shape,\n url: UrlSchema,\n target: LinkTargetSchema.optional(),\n text: z.string().optional(),\n icon: z.string().optional(),\n rightIcon: z.string().optional(),\n rounded: z.boolean().optional()\n});\nexport type NavbarLinkMetadata = z.infer<typeof NavbarLinkMetadataSchema>;\n\nexport const NavbarGithubMetadataSchema = z.object({\n ...WithPermissionsSchema.shape,\n url: UrlSchema,\n target: LinkTargetSchema.optional()\n});\nexport type NavbarGithubMetadata = z.infer<typeof NavbarGithubMetadataSchema>;\n\nexport const NavbarLinkDropdownMetadataSchema = z.object({\n ...WithPermissionsSchema.shape,\n links: z.array(NavbarLinkMetadataSchema),\n text: z.string().optional(),\n icon: z.string().optional(),\n rightIcon: z.string().optional(),\n rounded: z.boolean().optional()\n});\nexport type NavbarLinkDropdownMetadata = z.infer<typeof NavbarLinkDropdownMetadataSchema>;\n\nexport const NavbarLinkSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"filled\"), ...NavbarLinkMetadataSchema.shape }),\n z.object({ type: z.literal(\"outlined\"), ...NavbarLinkMetadataSchema.shape }),\n z.object({ type: z.literal(\"minimal\"), ...NavbarLinkMetadataSchema.shape }),\n z.object({ type: z.literal(\"github\"), ...NavbarGithubMetadataSchema.shape }),\n z.object({ type: z.literal(\"dropdown\"), ...NavbarLinkDropdownMetadataSchema.shape }),\n z.object({ type: z.literal(\"primary\"), ...NavbarLinkMetadataSchema.shape }),\n z.object({ type: z.literal(\"secondary\"), ...NavbarLinkMetadataSchema.shape })\n]);\nexport type NavbarLink = z.infer<typeof NavbarLinkSchema>;\n\nexport const FooterLinkSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"github\"), value: UrlSchema }),\n z.object({ type: z.literal(\"twitter\"), value: UrlSchema }),\n z.object({ type: z.literal(\"x\"), value: UrlSchema }),\n z.object({ type: z.literal(\"linkedin\"), value: UrlSchema }),\n z.object({ type: z.literal(\"youtube\"), value: UrlSchema }),\n z.object({ type: z.literal(\"instagram\"), value: UrlSchema }),\n z.object({ type: z.literal(\"facebook\"), value: UrlSchema }),\n z.object({ type: z.literal(\"discord\"), value: UrlSchema }),\n z.object({ type: z.literal(\"slack\"), value: UrlSchema }),\n z.object({ type: z.literal(\"hackernews\"), value: UrlSchema }),\n z.object({ type: z.literal(\"medium\"), value: UrlSchema }),\n z.object({ type: z.literal(\"website\"), value: UrlSchema })\n]);\nexport type FooterLink = z.infer<typeof FooterLinkSchema>;\n\nexport const CssConfigSchema = z.object({\n inline: z.array(z.string()).optional()\n});\nexport type CssConfig = z.infer<typeof CssConfigSchema>;\n\nexport const JsScriptStrategySchema = z.enum([\"beforeInteractive\", \"afterInteractive\", \"lazyOnload\"]);\nexport type JsScriptStrategy = z.infer<typeof JsScriptStrategySchema>;\n\nexport const JsRemoteConfigSchema = z.object({\n url: UrlSchema,\n strategy: JsScriptStrategySchema.optional(),\n // When true, skip computing a Subresource Integrity (SRI) hash for this\n // remote script so it is rendered without an `integrity` attribute.\n disableSri: z.boolean().optional()\n});\nexport type JsRemoteConfig = z.infer<typeof JsRemoteConfigSchema>;\n\nexport const JsFileConfigSchema = z.object({\n fileId: FileIdSchema,\n strategy: JsScriptStrategySchema.optional()\n});\nexport type JsFileConfig = z.infer<typeof JsFileConfigSchema>;\n\nexport const JsConfigSchema = z.object({\n remote: z.array(JsRemoteConfigSchema).optional(),\n files: z.array(JsFileConfigSchema),\n inline: z.array(z.string()).optional()\n});\nexport type JsConfig = z.infer<typeof JsConfigSchema>;\n\nexport const IntegrationsConfigSchema = z.object({\n intercom: z.string().optional(),\n context7: FileIdSchema.optional()\n});\nexport type IntegrationsConfig = z.infer<typeof IntegrationsConfigSchema>;\n\nexport const FontStyleSchema = z.enum([\"normal\", \"italic\"]);\nexport type FontStyle = z.infer<typeof FontStyleSchema>;\n\nexport const FontDisplaySchema = z.enum([\"auto\", \"block\", \"swap\", \"fallback\", \"optional\"]);\nexport type FontDisplay = z.infer<typeof FontDisplaySchema>;\n\nexport const CustomFontConfigVariantSchema = z.object({\n fontFile: FileIdSchema,\n weight: z.array(z.string()).optional(),\n style: z.array(FontStyleSchema).optional()\n});\nexport type CustomFontConfigVariant = z.infer<typeof CustomFontConfigVariantSchema>;\n\nexport const CustomFontConfigSchema = z.object({\n name: z.string(),\n variants: z.array(CustomFontConfigVariantSchema),\n display: FontDisplaySchema.optional(),\n fallback: z.array(z.string()).optional(),\n fontVariationSettings: z.string().optional()\n});\nexport type CustomFontConfig = z.infer<typeof CustomFontConfigSchema>;\n\nexport const FontConfigV2Schema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"custom\"), ...CustomFontConfigSchema.shape })\n]);\nexport type FontConfigV2 = z.infer<typeof FontConfigV2Schema>;\n\nexport const DocsTypographyConfigV2Schema = z.object({\n headingsFont: FontConfigV2Schema.optional(),\n bodyFont: FontConfigV2Schema.optional(),\n codeFont: FontConfigV2Schema.optional()\n});\nexport type DocsTypographyConfigV2 = z.infer<typeof DocsTypographyConfigV2Schema>;\n\nexport const ThemedFileIdSchema = z.object({\n dark: FileIdSchema.optional(),\n light: FileIdSchema.optional()\n});\nexport type ThemedFileId = z.infer<typeof ThemedFileIdSchema>;\n\nexport const ColorsConfigSchema = z.object({\n accentPrimary: RgbaColorSchema.optional()\n});\nexport type ColorsConfig = z.infer<typeof ColorsConfigSchema>;\n\nexport const ColorUnthemedConfigSchema = z.object({\n color: RgbaColorSchema.optional()\n});\nexport type ColorUnthemedConfig = z.infer<typeof ColorUnthemedConfigSchema>;\n\nexport const ColorThemedConfigSchema = z.object({\n dark: RgbaColorSchema.optional(),\n light: RgbaColorSchema.optional()\n});\nexport type ColorThemedConfig = z.infer<typeof ColorThemedConfigSchema>;\n\nexport const ColorConfigSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"unthemed\"), ...ColorUnthemedConfigSchema.shape }),\n z.object({ type: z.literal(\"themed\"), ...ColorThemedConfigSchema.shape })\n]);\nexport type ColorConfig = z.infer<typeof ColorConfigSchema>;\n\nexport const ColorsConfigV2Schema = z.object({\n accentPrimary: ColorConfigSchema.optional(),\n background: ColorConfigSchema.optional()\n});\nexport type ColorsConfigV2 = z.infer<typeof ColorsConfigV2Schema>;\n\nexport const FontConfigSchema = z.object({\n name: z.string(),\n fontFile: FileIdSchema\n});\nexport type FontConfig = z.infer<typeof FontConfigSchema>;\n\nexport const DocsTypographyConfigSchema = z.object({\n headingsFont: FontConfigSchema.optional(),\n bodyFont: FontConfigSchema.optional(),\n codeFont: FontConfigSchema.optional()\n});\nexport type DocsTypographyConfig = z.infer<typeof DocsTypographyConfigSchema>;\n\nexport const EditThisPageLaunchSchema = z.enum([\"github\", \"dashboard\"]);\nexport type EditThisPageLaunch = z.infer<typeof EditThisPageLaunchSchema>;\n\n/**\n * A single CSP `frame-ancestors` host source: `scheme://host[:port]`, where the host may\n * lead with a `*.` wildcard label and the port may be `*`. Deliberately excludes the bare\n * `*`, keyword sources (`'none'`, `'self'`), scheme-only sources (`https:`) and anything\n * with a path, query or directive delimiter, so a value from an older CLI or a direct API\n * caller can neither open the site to every origin nor inject further directives.\n */\nexport const FRAME_ANCESTOR_SOURCE_PATTERN =\n /^[a-z][a-z0-9+.-]*:\\/\\/(?:\\*\\.)?[a-z0-9](?:[a-z0-9-]*[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)*(?::(?:\\d{1,5}|\\*))?$/i;\n\nexport function isFrameAncestorSource(value: unknown): value is string {\n return typeof value === \"string\" && FRAME_ANCESTOR_SOURCE_PATTERN.test(value);\n}\n\n/** Trims, drops anything that is not a valid {@link FRAME_ANCESTOR_SOURCE_PATTERN} and de-duplicates. */\nexport function sanitizeFrameAncestors(origins: readonly unknown[]): string[] {\n const clean = origins\n .filter((origin): origin is string => typeof origin === \"string\")\n .map((origin) => origin.trim())\n .filter(isFrameAncestorSource);\n return [...new Set(clean)];\n}\n\n/**\n * Origins allowed to iframe the docs site, appended to the CSP `frame-ancestors`\n * directive (e.g. `https://app.example.com`, `https://*.example.com`). Each entry must\n * be a host source; wildcards for \"any origin\" are rejected.\n */\nexport const IframeConfigSchema = z.object({\n allowedParentOrigins: z.array(\n z.string().regex(FRAME_ANCESTOR_SOURCE_PATTERN, \"must be a CSP host source like https://app.example.com\")\n )\n});\nexport type IframeConfig = z.infer<typeof IframeConfigSchema>;\n\nexport const AIChatLocationSchema = z.enum([\"docs\", \"slack\"]);\nexport type AIChatLocation = z.infer<typeof AIChatLocationSchema>;\n\nexport const AIChatWebsiteDatasourceSchema = z.object({\n url: z.string(),\n title: z.string().optional()\n});\nexport type AIChatWebsiteDatasource = z.infer<typeof AIChatWebsiteDatasourceSchema>;\n\nexport const AIChatDatasourceSchema = AIChatWebsiteDatasourceSchema;\nexport type AIChatDatasource = z.infer<typeof AIChatDatasourceSchema>;\n\nexport const AIModelSchema = z.enum([\"claude-3.5\", \"claude-3.7\", \"claude-4\", \"command-a\"]);\nexport type AIModel = z.infer<typeof AIModelSchema>;\n\nexport const AIChatConfigSchema = z.object({\n model: AIModelSchema.optional(),\n systemPrompt: z.string().optional(),\n location: z.array(AIChatLocationSchema).optional(),\n datasources: z.array(AIChatDatasourceSchema).optional(),\n maskPii: z.boolean().optional(),\n disclaimer: z.string().optional()\n});\nexport type AIChatConfig = z.infer<typeof AIChatConfigSchema>;\n\nexport const PageDescriptionSourceSchema = z.enum([\"description\", \"subtitle\"]);\nexport type PageDescriptionSource = z.infer<typeof PageDescriptionSourceSchema>;\n\nexport const AgentsConfigSchema = z.object({\n pageDirective: z.string().optional(),\n pageDescriptionSource: PageDescriptionSourceSchema.optional(),\n siteDescription: z.string().optional(),\n llmsTxt: FileIdSchema.optional(),\n llmsFullTxt: FileIdSchema.optional(),\n robotsTxt: FileIdSchema.optional()\n});\nexport type AgentsConfig = z.infer<typeof AgentsConfigSchema>;\n\nexport const PageActionOptionSchema = z.enum([\n \"copyPage\",\n \"viewAsMarkdown\",\n \"askAi\",\n \"openAi\",\n \"claude\",\n \"cursor\",\n \"claudeCode\",\n \"vscode\",\n \"installSkills\"\n]);\nexport type PageActionOption = z.infer<typeof PageActionOptionSchema>;\n\nexport const CustomPageActionSchema = z.object({\n title: z.string(),\n subtitle: z.string().optional(),\n url: z.string(),\n icon: z.string().optional(),\n default: z.boolean().optional()\n});\nexport type CustomPageAction = z.infer<typeof CustomPageActionSchema>;\n\n/**\n * A single agent skill surfaced in the \"Install skills\" modal. `name` is the\n * skill identifier (e.g. `nemoclaw-user-get-started`); `url` optionally links\n * to its source (a path in the repo, a docs page, etc.).\n */\nexport const SkillSchema = z.object({\n name: z.string(),\n description: z.string().optional(),\n url: z.string().optional()\n});\nexport type Skill = z.infer<typeof SkillSchema>;\n\n/**\n * Powers the config-driven \"Install skills\" page action and its modal. Sites\n * that ship agent skills point at where those skills live and how to install\n * them — no skill generation happens on Fern's side. Presence of this config is\n * what enables the action; omit it and no \"Install skills\" action is rendered.\n */\nexport const SkillsConfigSchema = z.object({\n /** Overrides the modal title. */\n title: z.string().optional(),\n /** Overrides the modal description/blurb. */\n description: z.string().optional(),\n /** Optional \"Learn more\" link shown alongside the description. */\n learnMoreUrl: z.string().optional(),\n /** Source repository (public or private GH/GL) shown as a \"View source\" button. */\n repository: z.string().optional(),\n /**\n * Command(s) used to install/fetch the skills, rendered as a copyable block.\n * A single string is shown as-is; an array is joined with newlines (e.g. a\n * multi-step `git sparse-checkout` install).\n */\n installCommand: z.union([z.string(), z.array(z.string())]).optional(),\n /** Optional list of available skills displayed in the modal. */\n skills: z.array(SkillSchema).optional()\n});\nexport type SkillsConfig = z.infer<typeof SkillsConfigSchema>;\n\nexport const PageActionOptionsSchema = z.object({\n copyPage: z.boolean().optional(),\n viewAsMarkdown: z.boolean().optional(),\n askAi: z.boolean().optional(),\n openAi: z.boolean().optional(),\n claude: z.boolean().optional(),\n cursor: z.boolean().optional(),\n claudeCode: z.boolean().optional(),\n vscode: z.boolean().optional(),\n mcp: z.boolean().optional(),\n custom: z.array(CustomPageActionSchema).optional(),\n skills: SkillsConfigSchema.optional()\n});\nexport type PageActionOptions = z.infer<typeof PageActionOptionsSchema>;\n\nexport const PageActionsConfigSchema = z.object({\n default: PageActionOptionSchema.optional(),\n options: PageActionOptionsSchema.optional()\n});\nexport type PageActionsConfig = z.infer<typeof PageActionsConfigSchema>;\n\nexport const HeightSchema = z.number();\nexport type Height = z.infer<typeof HeightSchema>;\n\nexport const PageContentSchema = z.object({\n markdown: z.string(),\n editThisPageUrl: UrlSchema.optional(),\n editThisPageLaunch: EditThisPageLaunchSchema.optional(),\n rawMarkdown: z.string().optional()\n});\nexport type PageContent = z.infer<typeof PageContentSchema>;\n\nexport const NavigationNodeMetadataSchema = z.object({\n icon: z.string().optional(),\n hidden: z.boolean().optional(),\n urlSlug: z.string(),\n fullSlug: z.array(z.string()).optional()\n});\nexport type NavigationNodeMetadata = z.infer<typeof NavigationNodeMetadataSchema>;\n\nexport const PageMetadataSchema = z.object({\n ...NavigationNodeMetadataSchema.shape,\n id: PageIdSchema,\n title: z.string()\n});\nexport type PageMetadata = z.infer<typeof PageMetadataSchema>;\n\nexport const LinkMetadataSchema = z.object({\n title: z.string(),\n icon: z.string().optional(),\n url: UrlSchema,\n target: LinkTargetSchema.optional()\n});\nexport type LinkMetadata = z.infer<typeof LinkMetadataSchema>;\n\nexport const NavigationTabLinkSchema = z.object({\n title: z.string(),\n icon: z.string().optional(),\n url: UrlSchema,\n target: LinkTargetSchema.optional()\n});\nexport type NavigationTabLink = z.infer<typeof NavigationTabLinkSchema>;\n\nexport const ChangelogItemSchema = z.object({\n date: z.string(),\n pageId: PageIdSchema,\n tags: z.array(z.string()).optional()\n});\nexport type ChangelogItem = z.infer<typeof ChangelogItemSchema>;\n\nexport const ChangelogSectionSchema = z.object({\n ...NavigationNodeMetadataSchema.shape,\n title: z.string().optional(),\n description: z.string().optional(),\n pageId: PageIdSchema.optional(),\n items: z.array(ChangelogItemSchema)\n});\nexport type ChangelogSection = z.infer<typeof ChangelogSectionSchema>;\n\nexport const ChangelogSectionV3Schema = z.object({\n node: z.unknown().optional()\n});\nexport type ChangelogSectionV3 = z.infer<typeof ChangelogSectionV3Schema>;\n\nexport const ApiSectionV2Schema = z.object({\n node: z.unknown()\n});\nexport type ApiSectionV2 = z.infer<typeof ApiSectionV2Schema>;\n\nexport const GitHubRepoSchema = z.object({\n name: z.string(),\n url: UrlSchema\n});\nexport type GitHubRepo = z.infer<typeof GitHubRepoSchema>;\n\nexport const NpmPackageSchema = z.object({\n packageName: z.string(),\n githubRepo: GitHubRepoSchema,\n version: z.string()\n});\nexport type NpmPackage = z.infer<typeof NpmPackageSchema>;\n\nexport const MavenPackageSchema = z.object({\n coordinate: z.string(),\n githubRepo: GitHubRepoSchema,\n version: z.string()\n});\nexport type MavenPackage = z.infer<typeof MavenPackageSchema>;\n\nexport const PypiPackageSchema = z.object({\n packageName: z.string(),\n githubRepo: GitHubRepoSchema,\n version: z.string()\n});\nexport type PypiPackage = z.infer<typeof PypiPackageSchema>;\n\nexport const PublishedSdkSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"npm\"), ...NpmPackageSchema.shape }),\n z.object({ type: z.literal(\"maven\"), ...MavenPackageSchema.shape }),\n z.object({ type: z.literal(\"pypi\"), ...PypiPackageSchema.shape })\n]);\nexport type PublishedSdk = z.infer<typeof PublishedSdkSchema>;\n\nexport const PublishedPostmanCollectionSchema = z.object({\n url: UrlSchema,\n githubRepo: GitHubRepoSchema.optional()\n});\nexport type PublishedPostmanCollection = z.infer<typeof PublishedPostmanCollectionSchema>;\n\nexport const ApiArtifactsSchema = z.object({\n sdks: z.array(PublishedSdkSchema),\n postman: PublishedPostmanCollectionSchema.optional()\n});\nexport type ApiArtifacts = z.infer<typeof ApiArtifactsSchema>;\n\nexport type ApiNavigationConfigItem =\n | ApiNavigationConfigItem.Subpackage\n | ApiNavigationConfigItem.EndpointId\n | ApiNavigationConfigItem.WebsocketId\n | ApiNavigationConfigItem.WebhookId\n | ApiNavigationConfigItem.Page;\n\nexport namespace ApiNavigationConfigItem {\n export interface Subpackage {\n type: \"subpackage\";\n summaryPageId?: string | null;\n subpackageId: string;\n items: ApiNavigationConfigItem[];\n }\n export interface EndpointId {\n type: \"endpointId\";\n value: string;\n }\n export interface WebsocketId {\n type: \"websocketId\";\n value: string;\n }\n export interface WebhookId {\n type: \"webhookId\";\n value: string;\n }\n export interface Page extends PageMetadata {\n type: \"page\";\n }\n}\n\nexport const ApiNavigationConfigItemSchema: z.ZodType<ApiNavigationConfigItem> = z.lazy(() =>\n z.discriminatedUnion(\"type\", [\n z.object({\n type: z.literal(\"subpackage\"),\n summaryPageId: PageIdSchema.optional(),\n subpackageId: SubpackageIdSchema,\n items: z.array(ApiNavigationConfigItemSchema)\n }),\n z.object({ type: z.literal(\"endpointId\"), value: EndpointIdSchema }),\n z.object({ type: z.literal(\"websocketId\"), value: WebSocketIdSchema }),\n z.object({ type: z.literal(\"webhookId\"), value: WebhookIdSchema }),\n z.object({\n type: z.literal(\"page\"),\n ...PageMetadataSchema.shape\n })\n ])\n);\n\nexport const ApiNavigationConfigRootSchema = z.object({\n summaryPageId: PageIdSchema.optional(),\n items: z.array(ApiNavigationConfigItemSchema)\n});\nexport type ApiNavigationConfigRoot = z.infer<typeof ApiNavigationConfigRootSchema>;\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { libraryDocsContract } from \"./contract.js\";\n\nexport type LibraryDocsClient = JsonifiedClient<ContractRouterClient<typeof libraryDocsContract>>;\n\nexport interface CreateLibraryDocsClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createLibraryDocsClient(options: CreateLibraryDocsClientOptions): LibraryDocsClient {\n const link = new OpenAPILink(libraryDocsContract, {\n url: `${options.baseUrl}/v2/registry/docs`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\nimport { validateDoxyfileContent } from \"./doxyfile.js\";\n\nconst ALLOWED_HOSTNAMES = new Set([\"github.com\", \"gitlab.com\"]);\n\n/**\n * Validates that a URL is a valid GitHub or GitLab repository URL.\n * Only allows https://github.com/<owner>/<repo> and https://gitlab.com/<owner>/<repo> patterns.\n */\nexport const GithubUrlSchema = z\n .string()\n .url()\n .describe(\n \"HTTPS URL of a GitHub or GitLab repository. Currently only github.com and gitlab.com are supported. Must match the pattern https://github.com/<owner>/<repo> or https://gitlab.com/<owner>/<repo>.\"\n )\n .refine(\n (url) => {\n try {\n const parsed = new URL(url);\n if (parsed.protocol !== \"https:\") {\n return false;\n }\n if (!ALLOWED_HOSTNAMES.has(parsed.hostname)) {\n return false;\n }\n if (parsed.username || parsed.password) {\n return false;\n }\n // Must match /<owner>/<repo> with optional .git suffix and trailing slash only.\n // Reject trailing path segments (e.g. /tree/main) to stay consistent with\n // the Python/C++ parser regex and because git-clone doesn't use them.\n return /^\\/[\\w.-]+\\/[\\w.-]+(?:\\.git)?\\/?$/.test(parsed.pathname);\n } catch {\n return false;\n }\n },\n { message: \"Must be a valid https://github.com/<owner>/<repo> or https://gitlab.com/<owner>/<repo> URL\" }\n );\n\n/** Validates branch names against allowed characters. */\nconst SafeBranchSchema = z\n .string()\n .regex(/^[a-zA-Z0-9._/-]+$/, \"Invalid branch name\")\n .nullish();\n\n/** Validates packagePath does not contain traversal sequences. */\nconst SafePackagePathSchema = z\n .string()\n .refine((p) => !p.includes(\"..\") && !p.startsWith(\"/\"), {\n message: \"packagePath must not contain path traversal sequences\"\n })\n .nullish();\n\nexport const LibraryDocsBaseConfigSchema = z.object({\n branch: SafeBranchSchema,\n packagePath: SafePackagePathSchema,\n title: z.string().nullish(),\n slug: z.string().nullish()\n});\n\nexport const PythonLibraryDocsConfigSchema = LibraryDocsBaseConfigSchema;\n\n/**\n * Validates doxyfileContent against the Doxyfile setting allowlist. Non-allowlisted\n * settings are dropped by the parser (not rejected); allowlisted settings with\n * unsafe values are rejected here.\n */\nexport const SafeDoxyfileContentSchema = z\n .string()\n .superRefine((content, ctx) => {\n for (const error of validateDoxyfileContent(content).errors) {\n ctx.addIssue({ code: z.ZodIssueCode.custom, message: error });\n }\n })\n .nullish();\n\nexport const CppLibraryDocsConfigSchema = LibraryDocsBaseConfigSchema.extend({\n doxyfileContent: SafeDoxyfileContentSchema\n});\n\nexport const StartLibraryDocsGenerationInputSchema = z.discriminatedUnion(\"language\", [\n z.object({\n orgId: z.string(),\n githubUrl: GithubUrlSchema,\n language: z.literal(\"PYTHON\"),\n config: PythonLibraryDocsConfigSchema.nullish()\n }),\n z.object({\n orgId: z.string(),\n githubUrl: GithubUrlSchema,\n language: z.literal(\"CPP\"),\n config: CppLibraryDocsConfigSchema.nullish()\n })\n]);\n\nexport const StartLibraryDocsGenerationResponseSchema = z.object({\n jobId: z.string()\n});\n\nexport const GetLibraryDocsStatusInputSchema = z.object({\n jobId: z.string()\n});\n\nexport const LibraryDocsResultSchema = z.object({\n jobId: z.string(),\n resultUrl: z.string()\n});\n\nexport const LibraryDocsGenerationStatusSchema = z.object({\n jobId: z.string(),\n status: z.string(),\n progress: z.string(),\n error: z\n .object({\n code: z.string(),\n message: z.string()\n })\n .optional(),\n createdAt: z.string(),\n updatedAt: z.string()\n});\n\nexport const libraryDocsContract = {\n startLibraryDocsGeneration: oc\n .route({ method: \"POST\", path: \"/library-docs/generate\" })\n .input(StartLibraryDocsGenerationInputSchema)\n .output(StartLibraryDocsGenerationResponseSchema),\n\n getLibraryDocsGenerationStatus: oc\n .route({ method: \"GET\", path: \"/library-docs/status/{jobId}\" })\n .input(GetLibraryDocsStatusInputSchema)\n .output(LibraryDocsGenerationStatusSchema),\n\n getLibraryDocsResult: oc\n .route({ method: \"GET\", path: \"/library-docs/result/{jobId}\" })\n .input(GetLibraryDocsStatusInputSchema)\n .output(LibraryDocsResultSchema)\n};\n","/**\n * Allowlist validation for caller-provided Doxyfile content.\n *\n * Doxyfile content is attacker-controlled and several Doxygen settings execute\n * arbitrary commands (INPUT_FILTER, FILTER_PATTERNS, ...) or read arbitrary files\n * (@INCLUDE, TAGFILES, ...). The content is therefore never written to disk or\n * handed to doxygen: it is parsed into settings, reduced to DOXYFILE_ALLOWED_KEYS\n * with per-setting value validation, and only the surviving values are\n * interpolated into a controlled Doxyfile template by the parser Lambda.\n *\n * This mirrors servers/fdr-cpp-library-docs-parser/src/doxyfile_parser.py, which\n * enforces the same allowlist inside the parser itself.\n */\n\nexport const MAX_DOXYFILE_CONTENT_LENGTH = 262_144;\n\n// Matches: KEY = value or KEY += value\nconst SETTING_LINE_RE = /^\\s*([A-Z][A-Z0-9_]*)\\s*(\\+?=)(.*)$/;\n\n// @INCLUDE / @INCLUDE_PATH directives pull in arbitrary files; always dropped.\nconst AT_DIRECTIVE_RE = /^\\s*@[A-Z_]+\\b/;\n\nconst BOOL_RE = /^(?:YES|NO)$/i;\n\n// Glob patterns only: no shell metacharacters, quotes, spaces, or path separators.\nconst FILE_PATTERN_RE = /^[A-Za-z0-9_.*?+-]+$/;\n\n// PREDEFINED entries: macro name, optional argument list, optional definition.\nconst PREDEFINED_RE = /^[A-Za-z_][A-Za-z0-9_]*(?:\\([A-Za-z0-9_,. ]*\\))?(?::?=.*)?$/;\n\n// Alias definition: name or name{N} followed by = and expansion.\nconst ALIAS_DEF_RE = /^\\w+(?:\\{\\d+\\})?=/;\n\ntype DoxyfileValueValidator = (value: string) => boolean;\n\n/** Allowlist of caller-configurable Doxyfile settings. Everything else is dropped. */\nexport const DOXYFILE_ALLOWED_KEYS: Record<string, DoxyfileValueValidator> = {\n ALIASES: (value) => ALIAS_DEF_RE.test(value),\n PREDEFINED: (value) => PREDEFINED_RE.test(value),\n FILE_PATTERNS: (value) => FILE_PATTERN_RE.test(value),\n OPTIMIZE_OUTPUT_FOR_C: (value) => BOOL_RE.test(value)\n};\n\nexport interface DoxyfileValidationResult {\n /** Validation errors for allowlisted settings with unsafe values. Empty when valid. */\n errors: string[];\n /** Non-allowlisted setting names that will be dropped by the parser. */\n droppedKeys: string[];\n}\n\n/** Join lines ending with a backslash continuation into logical lines. */\nfunction joinContinuations(text: string): string[] {\n const logical: string[] = [];\n let buffer = \"\";\n for (const rawLine of text.split(/\\r?\\n/)) {\n const line = rawLine.replace(/\\s+$/, \"\");\n if (line.endsWith(\"\\\\\") && !line.endsWith(\"\\\\\\\\\")) {\n buffer += `${line.slice(0, -1)} `;\n continue;\n }\n buffer += line;\n logical.push(buffer);\n buffer = \"\";\n }\n if (buffer) {\n logical.push(buffer);\n }\n return logical;\n}\n\n/** Split a setting value into tokens, honoring double quotes and \\\" escapes. */\nfunction tokenizeValue(value: string): string[] {\n const tokens: string[] = [];\n let i = 0;\n const n = value.length;\n while (i < n) {\n const ch = value[i];\n if (/\\s/.test(ch ?? \"\")) {\n i++;\n continue;\n }\n if (ch === '\"') {\n i++;\n let buf = \"\";\n while (i < n) {\n const c = value[i];\n if (c === \"\\\\\" && i + 1 < n && value[i + 1] === '\"') {\n buf += '\"';\n i += 2;\n continue;\n }\n if (c === '\"') {\n i++;\n break;\n }\n buf += c;\n i++;\n }\n tokens.push(buf);\n } else {\n let j = i;\n while (j < n && !/\\s/.test(value[j] ?? \"\")) {\n j++;\n }\n tokens.push(value.slice(i, j));\n i = j;\n }\n }\n return tokens;\n}\n\n/**\n * Validates caller-provided Doxyfile content against the allowlist.\n *\n * Unknown settings are reported as droppedKeys (not errors) — the parser drops\n * them. Allowlisted settings with values that fail validation are errors.\n */\nexport function validateDoxyfileContent(content: string): DoxyfileValidationResult {\n const errors: string[] = [];\n const droppedKeys: string[] = [];\n\n if (content.length > MAX_DOXYFILE_CONTENT_LENGTH) {\n errors.push(`doxyfileContent exceeds ${MAX_DOXYFILE_CONTENT_LENGTH} characters`);\n return { errors, droppedKeys };\n }\n\n for (const line of joinContinuations(content)) {\n const stripped = line.trim();\n if (!stripped || stripped.startsWith(\"#\")) {\n continue;\n }\n if (AT_DIRECTIVE_RE.test(stripped)) {\n const directive = stripped.split(/\\s+/)[0] ?? stripped;\n if (!droppedKeys.includes(directive)) {\n droppedKeys.push(directive);\n }\n continue;\n }\n const match = SETTING_LINE_RE.exec(line);\n if (match == null) {\n continue;\n }\n const key = match[1] ?? \"\";\n const rawValue = match[3] ?? \"\";\n const validator = DOXYFILE_ALLOWED_KEYS[key];\n if (validator == null) {\n if (!droppedKeys.includes(key)) {\n droppedKeys.push(key);\n }\n continue;\n }\n for (const token of tokenizeValue(rawValue)) {\n // A trailing backslash would escape the closing quote once re-rendered.\n // $( is doxygen's environment-variable expansion syntax; blocking it\n // keeps process env vars out of generated output.\n if (token.endsWith(\"\\\\\") || token.includes(\"$(\") || !validator(token)) {\n errors.push(`Invalid value for Doxyfile setting ${key}: ${JSON.stringify(token)}`);\n }\n }\n }\n\n return { errors, droppedKeys };\n}\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { organizationContract } from \"./contract.js\";\n\nexport type OrganizationClient = JsonifiedClient<ContractRouterClient<typeof organizationContract>>;\n\nexport interface CreateOrganizationClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createOrganizationClient(options: CreateOrganizationClientOptions): OrganizationClient {\n const link = new OpenAPILink(organizationContract, {\n url: `${options.baseUrl}/v2/registry/docs`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\n\nexport const GetOrganizationForUrlInputSchema = z.object({\n url: z.string()\n});\n\nexport const organizationContract = {\n getOrganizationForUrl: oc\n .route({ method: \"POST\", path: \"/organization-for-url\" })\n .input(GetOrganizationForUrlInputSchema)\n .output(z.string())\n};\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { docsV2ReadContract } from \"./contract.js\";\n\nexport type DocsV2ReadClient = JsonifiedClient<ContractRouterClient<typeof docsV2ReadContract>>;\n\nexport interface CreateDocsV2ReadClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createDocsV2ReadClient(options: CreateDocsV2ReadClientOptions): DocsV2ReadClient {\n const link = new OpenAPILink(docsV2ReadContract, {\n url: `${options.baseUrl}/v2/registry/docs`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\nimport {\n DocsConfigSchema as DocsReadConfigSchema,\n DocsDefinitionSchema as DocsReadDefinitionSchema,\n LoadDocsForUrlResponseSchema\n} from \"../../../../client/docs-types/read.js\";\n\nexport type {\n DocsConfig,\n DocsDefinition,\n LoadDocsForUrlResponse,\n NavigationConfig,\n NavigationItem\n} from \"../../../../client/docs-types/read.js\";\n// Re-export docs types that consumers depend on\nexport { DocsReadConfigSchema, DocsReadDefinitionSchema, LoadDocsForUrlResponseSchema };\n\nexport const GetDocsUrlMetadataInputSchema = z.object({\n url: z.string()\n});\n\nexport const GetDocsUrlMetadataResponseSchema = z.object({\n isPreviewUrl: z.boolean(),\n org: z.string(),\n url: z.string(),\n gitUrl: z.string().nullish(),\n enableAlgoliaOnPreview: z.boolean().nullish()\n});\n\nexport const GetDocsForUrlInputSchema = z.object({\n url: z.string(),\n excludeApis: z.boolean().nullish()\n});\n\nexport const GetPrivateDocsForUrlInputSchema = z.object({\n url: z.string()\n});\n\nexport const ListAllDocsUrlsInputSchema = z.object({\n limit: z.number().nullish(),\n page: z.number().nullish(),\n custom: z.boolean().nullish(),\n preview: z.boolean().nullish()\n});\n\nexport const GetDocsConfigByIdInputSchema = z.object({\n docsConfigId: z.string()\n});\n\nexport const GetSiteMetricsInputSchema = z.object({\n url: z.string()\n});\n\nexport const SiteMetricsSchema = z.object({\n orgId: z.string().optional(),\n domain: z.string(),\n basepath: z.string().optional(),\n storageType: z.enum([\"ledger\", \"legacy\"]),\n pages: z.number(),\n endpoints: z.number(),\n apiSpecs: z.number()\n});\nexport type SiteMetrics = z.infer<typeof SiteMetricsSchema>;\n\n// Backward-compatible types from generated code, used by downstream packages\nexport interface BaseUrl {\n domain: string;\n basePath: string | undefined;\n}\n\nexport const DocsDefinitionField = {\n BaseUrl: \"BASE_URL\",\n FilesV2: \"FILES_V2\",\n ApisV2: \"APIS_V2\",\n Apis: \"APIS\",\n Pages: \"PAGES\",\n JsFiles: \"JS_FILES\",\n Config: \"CONFIG\",\n Root: \"ROOT\"\n} as const;\nexport type DocsDefinitionField = (typeof DocsDefinitionField)[keyof typeof DocsDefinitionField];\n\nexport interface DocsDomainItem extends BaseUrl {\n organizationId: string;\n updatedAt: string;\n}\n\nexport interface DocsUrlMetadata {\n url: string;\n org: string;\n isPreviewUrl: boolean;\n gitUrl: string | undefined;\n enableAlgoliaOnPreview: boolean;\n}\n\nexport interface EnsureDocsInS3Response {\n s3Url: string;\n orgId: string;\n}\n\nexport interface GetDocsFieldsRequest {\n domain: string;\n basepath?: string;\n fields: DocsDefinitionField[];\n}\n\nexport interface GetDocsFieldsResponse {\n domain: string;\n baseUrl: BaseUrl | undefined;\n filesV2: Record<string, unknown> | undefined;\n apisV2: Record<string, unknown> | undefined;\n apis: Record<string, unknown> | undefined;\n pages: Record<string, unknown> | undefined;\n jsFiles: Record<string, string> | undefined;\n config: unknown | undefined;\n root: unknown | undefined;\n}\n\nexport interface GetDocsConfigByIdResponse {\n docsConfig: unknown;\n apis: Record<string, unknown>;\n}\n\nexport const GetDocsConfigByIdResponseSchema = z.object({\n docsConfig: DocsReadConfigSchema,\n apis: z.record(z.string(), z.unknown())\n});\n\nexport const DocsDomainItemSchema = z.object({\n domain: z.string(),\n basePath: z.string().optional(),\n organizationId: z.string(),\n updatedAt: z.string()\n});\n\nexport const ListAllDocsUrlsResponseSchema = z.object({\n urls: z.array(DocsDomainItemSchema)\n});\n\nexport interface ListAllDocsUrlsResponse {\n urls: DocsDomainItem[];\n}\n\nexport interface ListAllDocsUrlsRequest {\n page?: number;\n limit?: number;\n custom?: boolean;\n preview?: boolean;\n}\n\nexport interface EnsureDocsInS3Request {\n url: string;\n basepath?: string;\n}\n\n// Backward-compatible error type for getDocsForUrl\n// Previously generated by the Fern client, used by downstream packages\nexport namespace getDocsForUrl {\n export type Error = Error.DomainNotRegisteredError | Error.UnauthorizedError | Error._Unknown;\n\n export namespace Error {\n export interface DomainNotRegisteredError {\n error: \"DomainNotRegisteredError\";\n content?: unknown;\n }\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n export interface _Unknown {\n error: void;\n content: unknown;\n }\n\n export function _unknown(fetcherError: unknown): _Unknown {\n return { error: undefined as void, content: fetcherError };\n }\n }\n}\n\nexport const docsV2ReadContract = {\n getDocsUrlMetadata: oc\n .route({ method: \"POST\", path: \"/metadata-for-url\" })\n .input(GetDocsUrlMetadataInputSchema)\n .output(GetDocsUrlMetadataResponseSchema),\n\n getDocsForUrl: oc\n .route({ method: \"POST\", path: \"/load-with-url\" })\n .input(GetDocsForUrlInputSchema)\n .output(LoadDocsForUrlResponseSchema),\n\n getPrivateDocsForUrl: oc\n .route({ method: \"POST\", path: \"/private/load-with-url\" })\n .input(GetPrivateDocsForUrlInputSchema)\n .output(LoadDocsForUrlResponseSchema),\n\n listAllDocsUrls: oc\n .route({ method: \"GET\", path: \"/urls/list\" })\n .input(ListAllDocsUrlsInputSchema)\n .output(ListAllDocsUrlsResponseSchema),\n\n getDocsConfigById: oc\n .route({ method: \"GET\", path: \"/{docsConfigId}\" })\n .input(GetDocsConfigByIdInputSchema)\n .output(GetDocsConfigByIdResponseSchema),\n\n getSiteMetrics: oc\n .route({ method: \"POST\", path: \"/admin/site-metrics\" })\n .input(GetSiteMetricsInputSchema)\n .output(SiteMetricsSchema),\n\n prepopulateFdrReadS3Bucket: oc.route({ method: \"POST\", path: \"/prepopulate-s3-bucket\" }).output(z.void()),\n\n ensureDocsInS3: oc.route({ method: \"POST\", path: \"/ensure-docs-in-s3\" }).output(z.void()),\n\n getDocsFields: oc.route({ method: \"POST\", path: \"/load-fields\" }).output(z.void())\n};\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { docsV2WriteContract } from \"./contract.js\";\n\nexport type DocsV2WriteClient = JsonifiedClient<ContractRouterClient<typeof docsV2WriteContract>>;\n\nexport interface CreateDocsV2WriteClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createDocsV2WriteClient(options: CreateDocsV2WriteClientOptions): DocsV2WriteClient {\n const link = new OpenAPILink(docsV2WriteContract, {\n url: `${options.baseUrl}/v2/registry/docs`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\nimport { FileS3UploadUrlSchema } from \"../../../../client/docs-types/write.js\";\nimport type { DocsV1Write } from \"../../../../client/index.js\";\n\nexport type { FileS3UploadUrl } from \"../../../../client/docs-types/write.js\";\nexport { FileS3UploadUrlSchema };\n\n// Branded FilePath type matching DocsV1Write.FilePath\nexport type FilePath = string & { docs_v1_write_FilePath: void };\nexport const FilePathSchema: z.ZodType<FilePath> = z.string() as any;\nexport function FilePath(value: string): FilePath {\n return value as unknown as FilePath;\n}\n\nexport const FilePathInputSchema = z.union([\n FilePathSchema,\n z.object({ path: FilePathSchema, fileHash: z.string().nullish() })\n]);\nexport type FilePathInput = z.infer<typeof FilePathInputSchema>;\n\nexport const ImageFilePathSchema = z.object({\n filePath: FilePathSchema,\n width: z.number(),\n height: z.number(),\n blurDataUrl: z.string().nullish(),\n alt: z.string().nullish(),\n fileHash: z.string().nullish()\n});\nexport type ImageFilePath = z.infer<typeof ImageFilePathSchema>;\n\nexport const AuthConfigSchema = z.object({\n type: z.string()\n});\n\nexport const StartDocsRegisterV2InputSchema = z.object({\n orgId: z.string(),\n domain: z.string(),\n customDomains: z.array(z.string()),\n filepaths: z.array(FilePathInputSchema),\n images: z.array(ImageFilePathSchema).nullish(),\n authConfig: AuthConfigSchema.nullish()\n});\n\nexport const StartDocsRegisterV2ResponseSchema = z.object({\n docsRegistrationId: z.string(),\n uploadUrls: z.record(z.string(), FileS3UploadUrlSchema),\n skippedFiles: z.array(z.string())\n});\n\nexport const StartDocsPreviewRegisterInputSchema = z.object({\n orgId: z.string(),\n filepaths: z.array(FilePathInputSchema),\n basePath: z.string().nullish(),\n images: z.array(ImageFilePathSchema).nullish(),\n authConfig: AuthConfigSchema.nullish(),\n previewId: z.string().nullish()\n});\n\nexport const StartDocsPreviewRegisterResponseSchema = z.object({\n docsRegistrationId: z.string(),\n uploadUrls: z.record(z.string(), FileS3UploadUrlSchema),\n skippedFiles: z.array(z.string()),\n previewUrl: z.string()\n});\n\nexport const FinishDocsRegisterV2InputSchema = z.object({\n docsRegistrationId: z.string(),\n docsDefinition: z.unknown() as z.ZodType<DocsV1Write.DocsDefinition>,\n libraryDocs: z.unknown().nullish(),\n excludeApis: z.boolean().nullish(),\n basepathAware: z.boolean().nullish()\n});\n\nexport const TransferOwnershipInputSchema = z.object({\n domain: z.string(),\n toOrgId: z.string()\n});\n\nexport const SetIsArchivedInputSchema = z.object({\n url: z.string(),\n isArchived: z.boolean()\n});\n\nexport const SetDocsUrlMetadataInputSchema = z.object({\n url: z.string(),\n githubUrl: z.string().nullish()\n});\n\nexport const AlgoliaDomainInputSchema = z.object({\n domain: z.string()\n});\n\nexport const ListAlgoliaPreviewWhitelistResponseSchema = z.object({\n domains: z.array(z.string())\n});\n\nexport const DeleteDocsSiteInputSchema = z.object({\n url: z.string()\n});\n\nexport const RemoveCustomDomainAliasInputSchema = z.object({\n /** The custom-domain URL to remove (e.g. `docs.example.com` or `docs.example.com/api`). */\n url: z.string()\n});\n\n/**\n * BCP 47 language tag validator.\n * Accepts tags like \"en\", \"fr\", \"pt-BR\", \"zh-Hans\", \"zh-Hans-CN\".\n * See: https://www.rfc-editor.org/rfc/rfc5646\n */\nexport const Bcp47LocaleSchema = z\n .string()\n .regex(\n /^[a-zA-Z]{2,8}(-[a-zA-Z0-9]{1,8})*$/,\n \"Locale must be a valid BCP 47 language tag (e.g. 'en', 'fr', 'pt-BR', 'zh-Hans-CN')\"\n );\nexport type Bcp47Locale = z.infer<typeof Bcp47LocaleSchema>;\n\nexport const RegisterTranslationInputSchema = z.object({\n domain: z.string(),\n /**\n * Custom domains that share the docs registration with `domain`. The translation\n * blob is written to S3 once per URL (fern URL + each custom domain), mirroring\n * the fan-out shape of `finishDocsRegister`. Without this, requests to a custom\n * domain hit the translation S3 path under the fern URL prefix and 404.\n */\n customDomains: z.array(z.string()).optional().default([]),\n orgId: z.string(),\n /** BCP 47 language tag identifying the locale for this translation. */\n locale: Bcp47LocaleSchema,\n /** The full docs definition for this locale, same structure as finishDocsRegister. */\n docsDefinition: z.unknown() as z.ZodType<DocsV1Write.DocsDefinition>\n});\n\nexport const RegisterTranslationResponseSchema = z.object({\n locale: z.string()\n});\n\nexport const docsV2WriteContract = {\n startDocsRegister: oc\n .route({ method: \"POST\", path: \"/v2/init\" })\n .input(StartDocsRegisterV2InputSchema)\n .output(StartDocsRegisterV2ResponseSchema),\n\n startDocsPreviewRegister: oc\n .route({ method: \"POST\", path: \"/preview/init\" })\n .input(StartDocsPreviewRegisterInputSchema)\n .output(StartDocsPreviewRegisterResponseSchema),\n\n finishDocsRegister: oc\n .route({ method: \"POST\", path: \"/register/{docsRegistrationId}\" })\n .input(FinishDocsRegisterV2InputSchema)\n .output(z.void()),\n\n transferOwnershipOfDomain: oc\n .route({ method: \"POST\", path: \"/transfer-ownership\" })\n .input(TransferOwnershipInputSchema)\n .output(z.void()),\n\n setIsArchived: oc\n .route({ method: \"POST\", path: \"/set-is-archived\" })\n .input(SetIsArchivedInputSchema)\n .output(z.void()),\n\n setDocsUrlMetadata: oc\n .route({ method: \"POST\", path: \"/set-metadata-for-url\" })\n .input(SetDocsUrlMetadataInputSchema)\n .output(z.void()),\n\n addAlgoliaPreviewWhitelistEntry: oc\n .route({ method: \"POST\", path: \"/algolia-preview-whitelist/add\" })\n .input(AlgoliaDomainInputSchema)\n .output(z.void()),\n\n removeAlgoliaPreviewWhitelistEntry: oc\n .route({ method: \"POST\", path: \"/algolia-preview-whitelist/remove\" })\n .input(AlgoliaDomainInputSchema)\n .output(z.void()),\n\n listAlgoliaPreviewWhitelist: oc\n .route({ method: \"GET\", path: \"/algolia-preview-whitelist/list\" })\n .output(ListAlgoliaPreviewWhitelistResponseSchema),\n\n deleteDocsSite: oc.route({ method: \"POST\", path: \"/delete\" }).input(DeleteDocsSiteInputSchema).output(z.void()),\n\n /**\n * Removes a single custom-domain alias from a docs site, leaving the\n * Fern-URL sibling intact. Use this when un-binding a custom domain\n * (e.g. from the dashboard's \"Remove custom domain\" flow) — `deleteDocsSite`\n * would also nuke the Fern URL.\n *\n * Idempotent: succeeds with no-op if the URL is not registered.\n */\n removeCustomDomainAlias: oc\n .route({ method: \"POST\", path: \"/remove-custom-domain-alias\" })\n .input(RemoveCustomDomainAliasInputSchema)\n .output(z.void()),\n\n registerTranslation: oc\n .route({ method: \"POST\", path: \"/translations/register\" })\n .input(RegisterTranslationInputSchema)\n .output(RegisterTranslationResponseSchema)\n};\n","import * as z from \"zod\";\nimport type { RootNode } from \"../../navigation/types/v1.js\";\nimport type {\n EndpointId as EndpointId_,\n PageId,\n SubpackageId,\n WebhookId as WebhookId_,\n WebSocketId as WebSocketId_\n} from \"./write-commons\";\nimport {\n AgentsConfigSchema,\n AIChatConfigSchema,\n AnalyticsConfigSchema,\n ApiDefinitionIdSchema,\n AvailabilitySchema,\n ColorsConfigSchema,\n ColorsConfigV2Schema,\n CssConfigSchema,\n DocsLayoutConfigSchema,\n DocsSettingsConfigSchema,\n DocsThemeConfigSchema,\n DocsTranslationsConfigSchema,\n DocsTypographyConfigSchema,\n DocsTypographyConfigV2Schema,\n EditThisPageLaunchSchema,\n EndpointIdSchema,\n FileIdSchema,\n FooterLinkSchema,\n IframeConfigSchema,\n IntegrationsConfigSchema,\n JsConfigSchema,\n LanguageSchema,\n LinkTargetSchema,\n MetadataConfigSchema,\n NavbarLinkSchema,\n PageActionsConfigSchema,\n PageIdSchema,\n ProgrammingLanguageSchema,\n RedirectConfigSchema,\n RgbaColorSchema,\n SubpackageIdSchema,\n ThemedFileIdSchema,\n UrlSchema,\n VersionIdSchema,\n WebhookIdSchema,\n WebSocketIdSchema\n} from \"./write-commons\";\n\nexport type FilePath = string & { docs_v1_write_FilePath: void };\nexport const FilePathSchema: z.ZodType<FilePath> = z.string() as any;\nexport function FilePath(value: string): FilePath {\n return value as unknown as FilePath;\n}\n\nexport type DocsRegistrationId = string & { docs_v1_write_DocsRegistrationId: void };\nexport const DocsRegistrationIdSchema: z.ZodType<DocsRegistrationId> = z.string() as any;\nexport function DocsRegistrationId(value: string): DocsRegistrationId {\n return value as unknown as DocsRegistrationId;\n}\n\nexport const HeightSchema = z.number();\nexport type Height = z.infer<typeof HeightSchema>;\n\nexport const FileS3UploadUrlSchema = z.object({\n uploadUrl: z.string(),\n fileId: FileIdSchema\n});\nexport type FileS3UploadUrl = z.infer<typeof FileS3UploadUrlSchema>;\n\nexport const StartDocsRegisterResponseSchema = z.object({\n docsRegistrationId: DocsRegistrationIdSchema,\n uploadUrls: z.record(FilePathSchema, FileS3UploadUrlSchema),\n skippedFiles: z.array(FilePathSchema)\n});\nexport type StartDocsRegisterResponse = z.infer<typeof StartDocsRegisterResponseSchema>;\n\nexport const PageContentSchema = z.object({\n markdown: z.string(),\n editThisPageUrl: UrlSchema.optional(),\n editThisPageLaunch: EditThisPageLaunchSchema.optional(),\n rawMarkdown: z.string().optional()\n});\nexport type PageContent = z.infer<typeof PageContentSchema>;\n\nexport const NavigationNodeMetadataSchema = z.object({\n icon: z.string().optional(),\n hidden: z.boolean().optional(),\n urlSlugOverride: z.string().optional(),\n fullSlug: z.array(z.string()).optional()\n});\nexport type NavigationNodeMetadata = z.infer<typeof NavigationNodeMetadataSchema>;\n\nexport const PageMetadataSchema = z.object({\n ...NavigationNodeMetadataSchema.shape,\n id: PageIdSchema,\n title: z.string()\n});\nexport type PageMetadata = z.infer<typeof PageMetadataSchema>;\n\nexport const LinkMetadataSchema = z.object({\n title: z.string(),\n icon: z.string().optional(),\n url: UrlSchema,\n target: LinkTargetSchema.optional()\n});\nexport type LinkMetadata = z.infer<typeof LinkMetadataSchema>;\n\nexport const ChangelogItemSchema = z.object({\n date: z.string(),\n pageId: PageIdSchema,\n hidden: z.boolean().optional(),\n tags: z.array(z.string()).optional()\n});\nexport type ChangelogItem = z.infer<typeof ChangelogItemSchema>;\n\nexport const ChangelogSectionSchema = z.object({\n title: z.string().optional(),\n icon: z.string().optional(),\n hidden: z.boolean().optional(),\n description: z.string().optional(),\n pageId: PageIdSchema.optional(),\n items: z.array(ChangelogItemSchema),\n urlSlug: z.string(),\n fullSlug: z.array(z.string()).optional()\n});\nexport type ChangelogSection = z.infer<typeof ChangelogSectionSchema>;\n\nexport const ChangelogSectionV2Schema = z.object({\n ...NavigationNodeMetadataSchema.shape,\n title: z.string().optional(),\n description: z.string().optional(),\n pageId: PageIdSchema.optional(),\n items: z.array(ChangelogItemSchema)\n});\nexport type ChangelogSectionV2 = z.infer<typeof ChangelogSectionV2Schema>;\n\nexport const ChangelogSectionV3Schema = z.object({\n node: z.unknown()\n});\nexport type ChangelogSectionV3 = z.infer<typeof ChangelogSectionV3Schema>;\n\nexport const NavigationTabLinkSchema = z.object({\n title: z.string(),\n icon: z.string().optional(),\n url: UrlSchema,\n target: LinkTargetSchema.optional()\n});\nexport type NavigationTabLink = z.infer<typeof NavigationTabLinkSchema>;\n\nexport type ApiNavigationConfigItem =\n | ApiNavigationConfigItem.Subpackage\n | ApiNavigationConfigItem.EndpointId\n | ApiNavigationConfigItem.WebsocketId\n | ApiNavigationConfigItem.WebhookId\n | ApiNavigationConfigItem.Page;\n\nexport namespace ApiNavigationConfigItem {\n export interface Subpackage {\n type: \"subpackage\";\n summaryPageId?: PageId | null;\n subpackageId: SubpackageId;\n items: ApiNavigationConfigItem[];\n }\n export interface EndpointId {\n type: \"endpointId\";\n value: EndpointId_;\n }\n export interface WebsocketId {\n type: \"websocketId\";\n value: WebSocketId_;\n }\n export interface WebhookId {\n type: \"webhookId\";\n value: WebhookId_;\n }\n export interface Page extends PageMetadata {\n type: \"page\";\n }\n}\n\nexport const ApiNavigationConfigItemSchema: z.ZodType<ApiNavigationConfigItem> = z.lazy(() =>\n z.discriminatedUnion(\"type\", [\n z.object({\n type: z.literal(\"subpackage\"),\n summaryPageId: PageIdSchema.optional(),\n subpackageId: SubpackageIdSchema,\n items: z.array(ApiNavigationConfigItemSchema)\n }),\n z.object({ type: z.literal(\"endpointId\"), value: EndpointIdSchema }),\n z.object({ type: z.literal(\"websocketId\"), value: WebSocketIdSchema }),\n z.object({ type: z.literal(\"webhookId\"), value: WebhookIdSchema }),\n z.object({ type: z.literal(\"page\"), ...PageMetadataSchema.shape })\n ])\n);\n\nexport const ApiNavigationConfigSubpackageSchema = z.object({\n summaryPageId: PageIdSchema.optional(),\n subpackageId: SubpackageIdSchema,\n items: z.array(ApiNavigationConfigItemSchema)\n});\nexport type ApiNavigationConfigSubpackage = z.infer<typeof ApiNavigationConfigSubpackageSchema>;\n\nexport const ApiNavigationConfigRootSchema = z.object({\n summaryPageId: PageIdSchema.optional(),\n items: z.array(ApiNavigationConfigItemSchema)\n});\nexport type ApiNavigationConfigRoot = z.infer<typeof ApiNavigationConfigRootSchema>;\n\nexport const ApiSectionSchema = z.object({\n ...NavigationNodeMetadataSchema.shape,\n title: z.string(),\n api: ApiDefinitionIdSchema,\n artifacts: z\n .object({\n sdks: z.array(\n z.discriminatedUnion(\"type\", [\n z.object({\n type: z.literal(\"npm\"),\n packageName: z.string(),\n githubRepoName: z.string(),\n version: z.string()\n }),\n z.object({\n type: z.literal(\"maven\"),\n coordinate: z.string(),\n githubRepoName: z.string(),\n version: z.string()\n }),\n z.object({\n type: z.literal(\"pypi\"),\n packageName: z.string(),\n githubRepoName: z.string(),\n version: z.string()\n })\n ])\n ),\n postman: z\n .object({\n url: UrlSchema,\n githubRepoName: z.string().optional()\n })\n .optional()\n })\n .optional(),\n skipUrlSlug: z.boolean().optional(),\n showErrors: z.boolean().optional(),\n changelog: ChangelogSectionSchema.optional(),\n changelogV2: ChangelogSectionV2Schema.optional(),\n navigation: ApiNavigationConfigRootSchema.optional(),\n longScrolling: z.boolean().optional(),\n flattened: z.boolean().optional()\n});\nexport type ApiSection = z.infer<typeof ApiSectionSchema>;\n\nexport const ApiSectionV2Schema = z.object({\n node: z.unknown()\n});\nexport type ApiSectionV2 = z.infer<typeof ApiSectionV2Schema>;\n\nexport type NavigationItem =\n | NavigationItem.Page\n | NavigationItem.Api\n | NavigationItem.ApiV2\n | NavigationItem.Section\n | NavigationItem.Link\n | NavigationItem.Changelog\n | NavigationItem.ChangelogV3;\n\nexport namespace NavigationItem {\n export interface Page extends PageMetadata {\n type: \"page\";\n }\n export interface Api extends ApiSection {\n type: \"api\";\n }\n export interface ApiV2 extends ApiSectionV2 {\n type: \"apiV2\";\n }\n export interface Section extends DocsSection {\n type: \"section\";\n }\n export interface Link extends LinkMetadata {\n type: \"link\";\n }\n export interface Changelog extends ChangelogSectionV2 {\n type: \"changelog\";\n }\n export interface ChangelogV3 extends ChangelogSectionV3 {\n type: \"changelogV3\";\n }\n}\n\nexport type DocsSection = NavigationNodeMetadata & {\n title: string;\n items: NavigationItem[];\n /** @deprecated Use `collapsible` and `collapsedByDefault` instead. */\n collapsed?: boolean | \"open-by-default\";\n collapsible?: boolean;\n collapsedByDefault?: boolean;\n skipUrlSlug?: boolean;\n overviewPageId?: PageId;\n};\n\nexport const DocsSectionSchema: z.ZodType<DocsSection> = z.lazy(() =>\n z.object({\n ...NavigationNodeMetadataSchema.shape,\n title: z.string(),\n items: z.array(NavigationItemSchema),\n collapsed: z.union([z.boolean(), z.literal(\"open-by-default\")]).optional(),\n collapsible: z.boolean().optional(),\n collapsedByDefault: z.boolean().optional(),\n skipUrlSlug: z.boolean().optional(),\n overviewPageId: PageIdSchema.optional()\n })\n);\n\nexport const NavigationItemSchema: z.ZodType<NavigationItem> = z.lazy(() =>\n z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"page\"), ...PageMetadataSchema.shape }),\n z.object({ type: z.literal(\"api\"), ...ApiSectionSchema.shape }),\n z.object({ type: z.literal(\"apiV2\"), ...ApiSectionV2Schema.shape }),\n z.object({\n type: z.literal(\"section\"),\n ...NavigationNodeMetadataSchema.shape,\n title: z.string(),\n items: z.array(NavigationItemSchema),\n collapsed: z.union([z.boolean(), z.literal(\"open-by-default\")]).optional(),\n collapsible: z.boolean().optional(),\n collapsedByDefault: z.boolean().optional(),\n skipUrlSlug: z.boolean().optional(),\n overviewPageId: PageIdSchema.optional()\n }),\n z.object({ type: z.literal(\"link\"), ...LinkMetadataSchema.shape }),\n z.object({ type: z.literal(\"changelog\"), ...ChangelogSectionV2Schema.shape }),\n z.object({ type: z.literal(\"changelogV3\"), ...ChangelogSectionV3Schema.shape })\n ])\n);\n\nexport const NavigationTabGroupSchema = z.object({\n ...NavigationNodeMetadataSchema.shape,\n title: z.string(),\n items: z.array(NavigationItemSchema),\n skipUrlSlug: z.boolean().optional()\n});\nexport type NavigationTabGroup = z.infer<typeof NavigationTabGroupSchema>;\n\nexport const NavigationTabSchema = z.union([NavigationTabGroupSchema, NavigationTabLinkSchema]);\nexport type NavigationTab = z.infer<typeof NavigationTabSchema>;\n\nexport const NavigationTabV2Schema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"group\"), ...NavigationTabGroupSchema.shape }),\n z.object({ type: z.literal(\"link\"), ...NavigationTabLinkSchema.shape }),\n z.object({ type: z.literal(\"changelog\"), ...ChangelogSectionV2Schema.shape }),\n z.object({ type: z.literal(\"changelogV3\"), ...ChangelogSectionV3Schema.shape })\n]);\nexport type NavigationTabV2 = z.infer<typeof NavigationTabV2Schema>;\n\nexport const UnversionedTabbedNavigationConfigSchema = z.object({\n tabs: z.array(NavigationTabSchema).optional(),\n tabsV2: z.array(NavigationTabV2Schema).optional(),\n landingPage: PageMetadataSchema.optional()\n});\nexport type UnversionedTabbedNavigationConfig = z.infer<typeof UnversionedTabbedNavigationConfigSchema>;\n\nexport const UnversionedUntabbedNavigationConfigSchema = z.object({\n items: z.array(NavigationItemSchema),\n landingPage: PageMetadataSchema.optional()\n});\nexport type UnversionedUntabbedNavigationConfig = z.infer<typeof UnversionedUntabbedNavigationConfigSchema>;\n\nexport const UnversionedNavigationConfigSchema = z.union([\n UnversionedTabbedNavigationConfigSchema,\n UnversionedUntabbedNavigationConfigSchema\n]);\nexport type UnversionedNavigationConfig = z.infer<typeof UnversionedNavigationConfigSchema>;\n\nexport const VersionedNavigationConfigDataSchema = z.object({\n version: VersionIdSchema,\n urlSlugOverride: z.string().optional(),\n availability: AvailabilitySchema.optional(),\n config: UnversionedNavigationConfigSchema\n});\nexport type VersionedNavigationConfigData = z.infer<typeof VersionedNavigationConfigDataSchema>;\n\nexport const VersionedNavigationConfigSchema = z.object({\n versions: z.array(VersionedNavigationConfigDataSchema)\n});\nexport type VersionedNavigationConfig = z.infer<typeof VersionedNavigationConfigSchema>;\n\nexport const NavigationConfigSchema = z.union([UnversionedNavigationConfigSchema, VersionedNavigationConfigSchema]);\nexport type NavigationConfig = z.infer<typeof NavigationConfigSchema>;\n\nexport const ThemeConfigSchema = z.object({\n logo: FileIdSchema.optional(),\n backgroundImage: FileIdSchema.optional(),\n accentPrimary: RgbaColorSchema,\n background: RgbaColorSchema.optional(),\n border: RgbaColorSchema.optional(),\n sidebarBackground: RgbaColorSchema.optional(),\n headerBackground: RgbaColorSchema.optional(),\n cardBackground: RgbaColorSchema.optional(),\n accent1: RgbaColorSchema.optional(),\n accent2: RgbaColorSchema.optional(),\n accent3: RgbaColorSchema.optional(),\n accent4: RgbaColorSchema.optional(),\n accent5: RgbaColorSchema.optional(),\n accent6: RgbaColorSchema.optional(),\n accent7: RgbaColorSchema.optional(),\n accent8: RgbaColorSchema.optional(),\n accent9: RgbaColorSchema.optional(),\n accent10: RgbaColorSchema.optional(),\n accent11: RgbaColorSchema.optional(),\n accent12: RgbaColorSchema.optional()\n});\nexport type ThemeConfig = z.infer<typeof ThemeConfigSchema>;\n\nexport const DarkAndLightModeConfigSchema = z.object({\n dark: ThemeConfigSchema,\n light: ThemeConfigSchema\n});\nexport type DarkAndLightModeConfig = z.infer<typeof DarkAndLightModeConfigSchema>;\n\nexport const ColorsConfigV3Schema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"dark\"), ...ThemeConfigSchema.shape }),\n z.object({ type: z.literal(\"light\"), ...ThemeConfigSchema.shape }),\n z.object({ type: z.literal(\"darkAndLight\"), ...DarkAndLightModeConfigSchema.shape })\n]);\nexport type ColorsConfigV3 = z.infer<typeof ColorsConfigV3Schema>;\n\nexport const DocsConfigSchema = z.object({\n title: z.string().optional(),\n defaultLanguage: ProgrammingLanguageSchema.optional(),\n languages: z.array(LanguageSchema).optional(),\n translations: DocsTranslationsConfigSchema.optional(),\n announcement: z.object({ text: z.string() }).optional(),\n navigation: NavigationConfigSchema.optional(),\n root: z.custom<RootNode>().optional(),\n navbarLinks: z.array(NavbarLinkSchema).optional(),\n footerLinks: z.array(FooterLinkSchema).optional(),\n hideNavLinks: z.boolean().optional(),\n logoHeight: HeightSchema.optional(),\n logoHref: UrlSchema.optional(),\n logoRightText: z.string().optional(),\n favicon: FileIdSchema.optional(),\n agents: AgentsConfigSchema.optional(),\n metadata: MetadataConfigSchema.optional(),\n redirects: z.array(RedirectConfigSchema).optional(),\n colorsV3: ColorsConfigV3Schema.optional(),\n layout: DocsLayoutConfigSchema.optional(),\n theme: DocsThemeConfigSchema.optional(),\n globalTheme: z.string().optional(),\n settings: DocsSettingsConfigSchema.optional(),\n typographyV2: DocsTypographyConfigV2Schema.optional(),\n analyticsConfig: AnalyticsConfigSchema.optional(),\n integrations: IntegrationsConfigSchema.optional(),\n css: CssConfigSchema.optional(),\n js: JsConfigSchema.optional(),\n aiChatConfig: AIChatConfigSchema.optional(),\n pageActions: PageActionsConfigSchema.optional(),\n editThisPageLaunch: EditThisPageLaunchSchema.optional(),\n iframe: IframeConfigSchema.optional(),\n header: z.string().optional(),\n footer: z.string().optional(),\n backgroundImage: FileIdSchema.optional(),\n logoV2: ThemedFileIdSchema.optional(),\n logo: FileIdSchema.optional(),\n colors: ColorsConfigSchema.optional(),\n colorsV2: ColorsConfigV2Schema.optional(),\n typography: DocsTypographyConfigSchema.optional()\n});\nexport type DocsConfig = z.infer<typeof DocsConfigSchema>;\n\nexport const DocsDefinitionSchema = z.object({\n pages: z.record(PageIdSchema, PageContentSchema),\n config: DocsConfigSchema,\n jsFiles: z.record(z.string(), z.string()).optional()\n});\nexport type DocsDefinition = z.infer<typeof DocsDefinitionSchema>;\n\nexport const NpmPackageSchema = z.object({\n packageName: z.string(),\n githubRepoName: z.string(),\n version: z.string()\n});\nexport type NpmPackage = z.infer<typeof NpmPackageSchema>;\n\nexport const MavenPackageSchema = z.object({\n coordinate: z.string(),\n githubRepoName: z.string(),\n version: z.string()\n});\nexport type MavenPackage = z.infer<typeof MavenPackageSchema>;\n\nexport const PypiPackageSchema = z.object({\n packageName: z.string(),\n githubRepoName: z.string(),\n version: z.string()\n});\nexport type PypiPackage = z.infer<typeof PypiPackageSchema>;\n\nexport const PublishedSdkSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"npm\"), ...NpmPackageSchema.shape }),\n z.object({ type: z.literal(\"maven\"), ...MavenPackageSchema.shape }),\n z.object({ type: z.literal(\"pypi\"), ...PypiPackageSchema.shape })\n]);\nexport type PublishedSdk = z.infer<typeof PublishedSdkSchema>;\n\nexport const PublishedPostmanCollectionSchema = z.object({\n url: UrlSchema,\n githubRepoName: z.string().optional()\n});\nexport type PublishedPostmanCollection = z.infer<typeof PublishedPostmanCollectionSchema>;\n\nexport const ApiArtifactsSchema = z.object({\n sdks: z.array(PublishedSdkSchema),\n postman: PublishedPostmanCollectionSchema.optional()\n});\nexport type ApiArtifacts = z.infer<typeof ApiArtifactsSchema>;\n\nexport const InvalidCustomDomainErrorBodySchema = z.object({\n overlappingDomains: z.array(z.array(z.string()))\n});\nexport type InvalidCustomDomainErrorBody = z.infer<typeof InvalidCustomDomainErrorBodySchema>;\n\nexport const OverlappingCustomDomainsSchema = z.array(z.string());\nexport type OverlappingCustomDomains = z.infer<typeof OverlappingCustomDomainsSchema>;\n\nexport * from \"./write-commons\";\n","import * as z from \"zod\";\n\nexport type OrgId = string & { OrgId: void };\nexport const OrgIdSchema: z.ZodType<OrgId> = z.string() as any;\nexport function OrgId(value: string): OrgId {\n return value as unknown as OrgId;\n}\n\nexport type {\n AIChatConfig,\n AIChatDatasource,\n AIChatLocation,\n AIChatWebsiteDatasource,\n AIModel,\n AmplitudeConfig,\n AnalyticsConfig,\n AnnouncementConfig,\n Availability,\n ClearBitConfig,\n ColorConfig,\n ColorsConfig,\n ColorsConfigV2,\n ColorThemedConfig,\n ColorUnthemedConfig,\n ContentAlignment,\n CssConfig,\n CustomFontConfig,\n CustomFontConfigVariant,\n CustomPageAction,\n DocsBodyConfig,\n DocsLayoutConfig,\n DocsPageActionsConfig,\n DocsSettingsConfig,\n DocsSidebarConfig,\n DocsTabsConfig,\n DocsTabsObjectConfig,\n DocsTabsStyle,\n DocsThemeConfig,\n DocsTranslationsConfig,\n DocsTypographyConfig,\n DocsTypographyConfigV2,\n EditThisPageLaunch,\n FathomConfig,\n FileIdOrUrl,\n FontConfig,\n FontConfigV2,\n FontDisplay,\n FontStyle,\n FooterLink,\n FooterNavConfig,\n FullStoryAnalyticsConfig,\n GoogleAnalytics4Config,\n GTMConfig,\n HeaderPosition,\n HeapConfig,\n HotJarConfig,\n HttpSnippetLanguage,\n HttpSnippetsConfig,\n IntegrationsConfig,\n IntercomConfig,\n JsConfig,\n JsFileConfig,\n JsRemoteConfig,\n JsScriptStrategy,\n KoalaConfig,\n Language,\n LanguageSwitcherConfig,\n LinkTarget,\n LogRocketConfig,\n MetadataConfig,\n MixpanelConfig,\n NavbarGithubMetadata,\n NavbarLink,\n NavbarLinkDropdownMetadata,\n NavbarLinkMetadata,\n PageActionOption,\n PageActionOptions,\n PageActionsConfig,\n PageWidthSizeConfig,\n PirschConfig,\n PlausibleConfig,\n PostHogConfig,\n ProductSwitcherConfig,\n ProgrammingLanguage,\n RedirectConfig,\n RgbaColor,\n SearchbarPlacement,\n SegmentConfig,\n SiteSwitcherConfig,\n SizeConfig,\n SwitcherPlacement,\n TabsPlacement,\n ThemedFileId,\n TwitterCardSetting,\n WithPermissions\n} from \"./shared\";\nexport {\n AgentsConfigSchema,\n AIChatConfigSchema,\n AIChatDatasourceSchema,\n AIChatLocationSchema,\n AIChatWebsiteDatasourceSchema,\n AIModelSchema,\n AmplitudeConfigSchema,\n AnalyticsConfigSchema,\n AnnouncementConfigSchema,\n ApiDefinitionId,\n ApiDefinitionIdSchema,\n AvailabilitySchema,\n ClearBitConfigSchema,\n ColorConfigSchema,\n ColorsConfigSchema,\n ColorsConfigV2Schema,\n ColorThemedConfigSchema,\n ColorUnthemedConfigSchema,\n ContentAlignmentSchema,\n CssConfigSchema,\n CustomFontConfigSchema,\n CustomFontConfigVariantSchema,\n CustomPageActionSchema,\n DocsBodyConfigSchema,\n DocsLayoutConfigSchema,\n DocsPageActionsConfigSchema,\n DocsSettingsConfigSchema,\n DocsSidebarConfigSchema,\n DocsTabsConfigSchema,\n DocsTabsObjectConfigSchema,\n DocsTabsStyleSchema,\n DocsThemeConfigSchema,\n DocsTranslationsConfigSchema,\n DocsTypographyConfigSchema,\n DocsTypographyConfigV2Schema,\n EditThisPageLaunchSchema,\n EndpointId,\n EndpointIdSchema,\n FathomConfigSchema,\n FileId,\n FileIdOrUrlSchema,\n FileIdSchema,\n FontConfigSchema,\n FontConfigV2Schema,\n FontDisplaySchema,\n FontStyleSchema,\n FooterLinkSchema,\n FooterNavConfigSchema,\n FRAME_ANCESTOR_SOURCE_PATTERN,\n FullStoryAnalyticsConfigSchema,\n GoogleAnalytics4ConfigSchema,\n GTMConfigSchema,\n HeaderPositionSchema,\n HeapConfigSchema,\n HotJarConfigSchema,\n HttpSnippetLanguageSchema,\n HttpSnippetsConfigSchema,\n IframeConfigSchema,\n IntegrationsConfigSchema,\n IntercomConfigSchema,\n isFrameAncestorSource,\n JsConfigSchema,\n JsFileConfigSchema,\n JsRemoteConfigSchema,\n JsScriptStrategySchema,\n KoalaConfigSchema,\n LanguageSchema,\n LanguageSwitcherConfigSchema,\n LinkTargetSchema,\n LogRocketConfigSchema,\n MetadataConfigSchema,\n MixpanelConfigSchema,\n NavbarGithubMetadataSchema,\n NavbarLinkDropdownMetadataSchema,\n NavbarLinkMetadataSchema,\n NavbarLinkSchema,\n PageActionOptionSchema,\n PageActionOptionsSchema,\n PageActionsConfigSchema,\n PageId,\n PageIdSchema,\n PageWidthSizeConfigSchema,\n PirschConfigSchema,\n PlausibleConfigSchema,\n PostHogConfigSchema,\n ProductSwitcherConfigSchema,\n ProgrammingLanguageSchema,\n RedirectConfigSchema,\n RgbaColorSchema,\n RoleId,\n RoleIdSchema,\n SearchbarPlacementSchema,\n SegmentConfigSchema,\n SiteSwitcherConfigSchema,\n SizeConfigSchema,\n SubpackageId,\n SubpackageIdSchema,\n SwitcherPlacementSchema,\n sanitizeFrameAncestors,\n TabsPlacementSchema,\n ThemedFileIdSchema,\n TwitterCardSettingSchema,\n Url,\n UrlSchema,\n VersionId,\n VersionIdSchema,\n WebhookId,\n WebhookIdSchema,\n WebSocketId,\n WebSocketIdSchema,\n WithPermissionsSchema\n} from \"./shared\";\n","import { createDocsV1ReadClient, type DocsV1ReadClient } from \"./v1/read/client.js\";\nimport { createLibraryDocsClient, type LibraryDocsClient } from \"./v2/library-docs/client.js\";\nimport { createOrganizationClient, type OrganizationClient } from \"./v2/organization/client.js\";\nimport { createDocsV2ReadClient, type DocsV2ReadClient } from \"./v2/read/client.js\";\nimport { createDocsV2WriteClient, type DocsV2WriteClient } from \"./v2/write/client.js\";\n\nexport interface DocsClient {\n v1: {\n read: DocsV1ReadClient;\n };\n v2: {\n read: DocsV2ReadClient;\n write: DocsV2WriteClient;\n libraryDocs: LibraryDocsClient;\n organization: OrganizationClient;\n };\n}\n\nexport interface CreateDocsClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createDocsClient(options: CreateDocsClientOptions): DocsClient {\n return {\n v1: {\n read: createDocsV1ReadClient(options)\n },\n v2: {\n read: createDocsV2ReadClient(options),\n write: createDocsV2WriteClient(options),\n libraryDocs: createLibraryDocsClient(options),\n organization: createOrganizationClient(options)\n }\n };\n}\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { docsCacheContract } from \"./contract.js\";\n\nexport type DocsCacheClient = JsonifiedClient<ContractRouterClient<typeof docsCacheContract>>;\n\nexport interface CreateDocsCacheClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createDocsCacheClient(options: CreateDocsCacheClientOptions): DocsCacheClient {\n const link = new OpenAPILink(docsCacheContract, {\n url: `${options.baseUrl}/docs-cache`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\n\nexport const InvalidateCachedDocsInputSchema = z.object({\n url: z.string()\n});\n\nexport type InvalidateCachedDocsInput = z.infer<typeof InvalidateCachedDocsInputSchema>;\n\nexport const docsCacheContract = {\n invalidate: oc\n .route({ method: \"POST\", path: \"/invalidate\" })\n .input(InvalidateCachedDocsInputSchema)\n .output(z.void())\n};\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { docsDeploymentContract } from \"./contract.js\";\n\nexport type DocsDeploymentClient = JsonifiedClient<ContractRouterClient<typeof docsDeploymentContract>>;\n\nexport interface CreateDocsDeploymentClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createDocsDeploymentClient(options: CreateDocsDeploymentClientOptions): DocsDeploymentClient {\n const link = new OpenAPILink(docsDeploymentContract, {\n url: `${options.baseUrl}/docs-deployment`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\n\nimport { docsLedgerContract } from \"./contract.js\";\n\nexport type DocsLedgerClient = JsonifiedClient<ContractRouterClient<typeof docsLedgerContract>>;\n\nexport interface CreateDocsLedgerClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createDocsLedgerClient(options: CreateDocsLedgerClientOptions): DocsLedgerClient {\n const baseUrl = options.baseUrl.replace(/\\/+$/, \"\");\n const link = new OpenAPILink(docsLedgerContract, {\n url: `${baseUrl}/docs-ledger`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\nimport {\n type AIChatConfig,\n AIChatConfigSchema,\n type AnalyticsConfig,\n AnalyticsConfigSchema,\n type DocsLayoutConfig,\n DocsLayoutConfigSchema,\n type DocsSettingsConfig,\n DocsSettingsConfigSchema,\n type DocsThemeConfig,\n DocsThemeConfigSchema,\n type FooterLink,\n FooterLinkSchema,\n type NavbarLink,\n NavbarLinkSchema,\n type PageActionsConfig,\n PageActionsConfigSchema\n} from \"../../client/docs-types/shared.js\";\nimport {\n AvailabilitySchema,\n GraphQlOperationTypeSchema,\n GraphQlTypeCategorySchema,\n GrpcMethodSchema\n} from \"../api/shared.js\";\nimport { HttpMethodSchema } from \"../shared.js\";\n\n// ── Register ───────────────────────────────────────────────────────────\n\nexport const MissingContentSchema = z.object({\n hash: z.string(),\n uploadUrl: z.string()\n});\n\n/**\n * Register response: the deployment hash and any blobs the server still needs.\n * An empty `missingContent` array means all content is already in CAS —\n * the client can proceed directly to finish without uploading anything.\n */\nexport const RegisterResponseSchema = z.object({\n deploymentHash: z.string(),\n missingContent: z.array(MissingContentSchema)\n});\n\n// ── Finish ─────────────────────────────────────────────────────────────\n\nexport const FinishResponseSchema = z.object({\n deploymentId: z.string(),\n /** ID of the canonical (fern URL) site row. */\n siteId: z.string(),\n /**\n * IDs of any additional site rows created for `customDomains` URLs\n * (ADR 0010). Empty when the publish has no `customDomains`. One ID\n * per parsed customDomain, in the same order as the input.\n */\n additionalSiteIds: z.array(z.string()).default([]),\n deploymentHash: z.string(),\n reusedDeployment: z.boolean(),\n /**\n * Per-locale segment counts when `translations[]` was supplied on the\n * finish input. Absent when no translations were included.\n */\n translationsProcessed: z.array(z.object({ locale: z.string(), segmentsAdded: z.number() })).optional()\n});\n\n// ── Archive ────────────────────────────────────────────────────────────\n\nexport const ArchiveSiteInputSchema = z.object({\n siteId: z.string()\n});\n\nexport const ArchiveSiteResponseSchema = z.object({\n status: z.enum([\"archived\", \"already_archived\", \"not_found\"])\n});\n\n// ── Migrate v2 → ledger ────────────────────────────────────────────────\n\n/**\n * Input for `POST /migrate-v2`: convert one already-published v2 site onto\n * the ledger without waiting for the customer to republish. A Fern-operator\n * action — the server restricts it to members of the `fern` org.\n */\nexport const MigrateV2SiteInputSchema = z.object({\n domain: z.string().min(1),\n /** \"\" for a root site, otherwise a leading-slash basepath. */\n basepath: z.string().default(\"\"),\n /** Report what would convert without writing anything. */\n dryRun: z.boolean().default(false),\n /** Convert again after a manual rollback left the row on a superseded ledger deployment. */\n allowRemigration: z.boolean().default(false)\n});\n\n// ── Static docs build ──────────────────────────────────────────────────\n\n/**\n * Input for `POST /static-build`: build a site's current deployment again\n * without waiting for it to be republished. A Fern-operator action — the\n * server restricts it to members of the `fern` org.\n */\nexport const StartStaticBuildInputSchema = z.object({\n domain: z.string().min(1),\n /** \"\" for a root site, otherwise a leading-slash basepath. Ignored when `path` is given. */\n basepath: z.string().default(\"\"),\n /**\n * A request path on `domain`: the site to build is the one whose basepath the\n * path falls under (the longest match; the root site catches the rest). What\n * the docs-router sends, since it does not know which basepaths a host publishes.\n */\n path: z.string().optional(),\n /**\n * The build the caller is serving for the site (the docs-router's pointer names it by\n * deployment id). When it is the site's current deployment, made with the current renderer\n * as far as `servingRenderer` tells, there is nothing to build and the answer is\n * `up-to-date`; otherwise the site is rebuilt as usual.\n */\n servingBuildId: z.string().optional(),\n /**\n * The renderer (build image digest) the served build was made with, `\"\"` when the caller\n * knows it was made before that was recorded. Omitted when the caller cannot tell (a\n * basepath build), in which case only the deployment is judged. Any value other than the\n * digest FDR currently dispatches builds with makes the build stale.\n */\n servingRenderer: z.string().optional(),\n /**\n * The site's Ask AI enablement after a settings change (FAI sends it when Ask AI is\n * toggled). The build bakes it in place of the manifest's publish-time snapshot, and a\n * finished build of the deployment is replaced rather than reported as already run.\n */\n askAiEnabled: z.boolean().optional(),\n /**\n * Rebuild even when a build of the current deployment already finished: the caller\n * changed per-site config the build bakes in (e.g. site auth) since that build ran.\n * Implied by `askAiEnabled`.\n */\n replaceFinished: z.boolean().optional(),\n /**\n * `publish` (the default) waits for the Job and reports how it ended.\n * `background` returns as soon as the Job exists (`outcome: \"queued\"`): the\n * Job promotes itself when it succeeds. What the docs-router asks for when a\n * visitor reaches a preview that has no static build yet.\n */\n priority: z.enum([\"publish\", \"background\"]).default(\"publish\")\n});\n\nexport const StartStaticBuildResponseSchema = z.object({\n /**\n * Mirrors the dispatcher's own outcomes, plus the sites it can't resolve and\n * `up-to-date`: `servingBuildId` already is the current deployment (made with the current\n * renderer, when `servingRenderer` was given), nothing started; `busy`: a `background`\n * ask FDR did not plan because as many background builds as it allows are already being\n * created — ask again later.\n */\n status: z.enum([\n \"created\",\n \"already-running\",\n \"host-not-enabled\",\n \"disabled\",\n \"not-published\",\n \"up-to-date\",\n \"busy\"\n ]),\n domain: z.string(),\n /** The site built: the requested basepath, or the one `path` resolved to. */\n basepath: z.string(),\n /** Every basepath currently published at `domain` (\"\" is the root site). */\n basepaths: z.array(z.string()).optional(),\n /** The deployment being built, absent when the site has never published. */\n deploymentId: z.string().optional(),\n jobName: z.string().optional(),\n /** The host the build is exported to and served from, which may not be `domain`. */\n host: z.string().optional(),\n /** How the Job ended, or `queued` for a `background` build nobody waited on. */\n outcome: z.enum([\"succeeded\", \"failed\", \"timed-out\", \"gone\", \"unrouted\", \"queued\"]).optional()\n});\n\n/**\n * Input for `POST /static-build/rebuild-all`: rebuild every production static\n * site on the release warm list (live custom-domain sites, no previews) from\n * its current ledger deployment, e.g. after a docs release moves the build\n * images. Builds are dispatched after the response returns (fire and\n * forget). A Fern-operator action — the server restricts it to members of the\n * `fern` org.\n */\nexport const RebuildAllStaticBuildsInputSchema = z.object({\n /** Resolve and report the sites without dispatching any build. */\n dryRun: z.boolean().default(false)\n});\n\nexport const RebuildAllStaticBuildsResponseSchema = z.object({\n dryRun: z.boolean(),\n /** The sites whose rebuild was queued (or would be, on a dry run). */\n sites: z.array(\n z.object({\n domain: z.string(),\n basepath: z.string(),\n deploymentId: z.string()\n })\n )\n});\n\n/**\n * Input for `POST /reindex`: manually rebuild a published site's Algolia search\n * index via the FDR reindex Job. A Fern-operator action — the server restricts\n * it to members of the `fern` org — and forced, so it runs regardless of the\n * per-host reindex allowlist.\n */\nexport const ReindexInputSchema = z.object({\n domain: z.string().min(1),\n /** \"\" for a root site, otherwise a leading-slash basepath. */\n basepath: z.string().default(\"\"),\n /**\n * Block until the Job terminates and report its `outcome`. `false` returns as\n * soon as the Job is launched, with `outcome: \"queued\"`.\n */\n wait: z.boolean().default(true)\n});\n\nexport const ReindexResponseSchema = z.object({\n /**\n * Whether the Job was launched; `disabled` when no Algolia key is configured.\n * `host-not-enabled` is part of the union but not returned here — the endpoint\n * forces the reindex past the allowlist.\n */\n status: z.enum([\"created\", \"already-running\", \"host-not-enabled\", \"disabled\", \"not-published\"]),\n domain: z.string(),\n basepath: z.string(),\n /** The deployment reindexed, absent when the site has never published. */\n deploymentId: z.string().optional(),\n jobName: z.string().optional(),\n /** The terminal Job outcome the endpoint waited for, or `queued` when called with `wait: false`. */\n outcome: z.enum([\"succeeded\", \"failed\", \"timed-out\", \"gone\", \"unrouted\", \"queued\"]).optional()\n});\n\n/**\n * Input for `POST /static-build/promote`: sent by a static build Job once its\n * upload has landed. The token, signed by FDR when it dispatched the Job, is\n * the only credential — it authorizes pointing the hosts it names at its build.\n */\nexport const PromoteStaticBuildInputSchema = z.object({\n token: z.string().min(1)\n});\n\nexport const PromoteStaticBuildResponseSchema = z.object({\n buildId: z.string(),\n /** Every host now pointed at the build, the serving host first. */\n hosts: z.array(z.string()),\n /** The pointer entry that moved: \"\" for the root site. */\n basepath: z.string()\n});\n\n/**\n * Input for `POST /static-build/serving-host`: which hostname this\n * environment's docs-router serves a site's static builds from. Also a\n * Fern-operator action — it reads another org's ledger.\n */\nexport const ResolveStaticServingHostInputSchema = z.object({\n domain: z.string().min(1),\n /** \"\" for a root site, otherwise a leading-slash basepath. */\n basepath: z.string().default(\"\")\n});\n\nexport const ResolveStaticServingHostResponseSchema = z.object({\n domain: z.string(),\n basepath: z.string(),\n /**\n * The hostname the static build is exported to and served from — always a\n * hostname Fern owns for a published site, even one on a customer's domain.\n */\n servingHost: z.string(),\n /** False when nothing routes to the serving host, so cutting over would serve nothing. */\n routable: z.boolean(),\n /**\n * The deployment the serving host was derived from; absent when the site\n * has never published, in which case only its own hostname was available.\n */\n deploymentId: z.string().optional()\n});\n\n/**\n * Input for the `POST /static-build/custom-hostname/*` operations: the customer\n * domain to look up / register / remove on the docs zone as a Cloudflare for SaaS\n * custom hostname. Fern-operator actions: they act on another org's domain.\n */\nexport const CustomHostnameInputSchema = z.object({\n /** A bare hostname (`docs.acme.com`); a scheme, path or port is rejected. */\n host: z\n .string()\n .trim()\n .toLowerCase()\n .regex(/^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)+$/, \"Expected a bare hostname\")\n});\n\n/** One `.well-known` file Cloudflare fetches over HTTP to verify the hostname. */\nexport const CustomHostnameHttpChallengeSchema = z.object({\n path: z.string(),\n body: z.string()\n});\n\n/** A DNS TXT record the customer adds so Cloudflare can verify the hostname before it points at us. */\nexport const CustomHostnameTxtRecordSchema = z.object({\n name: z.string(),\n value: z.string()\n});\n\nexport const CustomHostnameSchema = z.object({\n id: z.string(),\n hostname: z.string(),\n /** Cloudflare's hostname status: `active` once it has verified the hostname and proxies it. */\n status: z.string(),\n /** Cloudflare's certificate status: `active` once the certificate is issued. */\n sslStatus: z.string(),\n /** How Cloudflare validates the certificate: `txt` or `http`. */\n sslMethod: z.string(),\n /** Both of the above are `active`, so HTTPS on the hostname works right now. */\n active: z.boolean(),\n httpChallenges: z.array(CustomHostnameHttpChallengeSchema),\n txtRecords: z.array(CustomHostnameTxtRecordSchema),\n verificationErrors: z.array(z.string())\n});\nexport type CustomHostnameStatus = z.infer<typeof CustomHostnameSchema>;\n\nexport const CustomHostnameResponseSchema = z.discriminatedUnion(\"status\", [\n /** No Cloudflare account is configured in this environment. */\n z.object({ status: z.literal(\"disabled\"), host: z.string() }),\n /** A hostname of ours: the zone-wide route already serves it, no custom hostname is needed. */\n z.object({ status: z.literal(\"routable-zone\"), host: z.string(), zone: z.string() }),\n z.object({ status: z.literal(\"not-registered\"), host: z.string(), zone: z.string() }),\n z.object({ status: z.literal(\"registered\"), host: z.string(), zone: z.string(), hostname: CustomHostnameSchema })\n]);\nexport type CustomHostnameResponse = z.infer<typeof CustomHostnameResponseSchema>;\n\nexport const DeleteCustomHostnameResponseSchema = z.object({\n host: z.string(),\n deleted: z.boolean()\n});\n\nexport const MigrateV2SiteSkipReasonSchema = z.enum([\n \"not-registered\",\n \"preview\",\n \"already-ledger\",\n \"has-translations\",\n \"no-navigation\"\n]);\n\nexport const MigrateV2SiteResponseSchema = z.discriminatedUnion(\"outcome\", [\n z.object({\n outcome: z.literal(\"skipped\"),\n domain: z.string(),\n basepath: z.string(),\n reason: MigrateV2SiteSkipReasonSchema\n }),\n z.object({\n outcome: z.literal(\"convertible\"),\n domain: z.string(),\n basepath: z.string(),\n pageCount: z.number(),\n fileCount: z.number()\n }),\n z.object({\n outcome: z.literal(\"migrated\"),\n domain: z.string(),\n basepath: z.string(),\n deploymentId: z.string()\n })\n]);\n\n// ── Publish input (next-gen: server-side decomposition) ───────────────\n\n/** Reference to a CAS blob: hash + content metadata for upload. */\nexport const BlobRefSchema = z.object({\n hash: z.string(),\n contentType: z.string(),\n contentLength: z.number()\n});\nexport type BlobRef = z.infer<typeof BlobRefSchema>;\n\nexport const PageBlobRefSchema = z.object({\n /** SHA-256 hex of the page content bytes. */\n hash: z.string(),\n contentType: z.string().default(\"text/markdown\"),\n contentLength: z.number(),\n /**\n * Bare `fullPath`s of the file/image artifacts this page's rendered\n * markdown references (the `<fullPath>` of each `file:<fullPath>` token).\n * Captured CLI-side from the already-rewritten page markdown (same `file:`\n * regex the bundle serializer uses) so FDR can materialise the page→file\n * join into the route shards without re-fetching or re-parsing content\n * (ADR 0016, \"File metadata on the render path\"). Optional — older CLIs\n * omit it and the page simply contributes no shard-side file identities.\n */\n referencedFiles: z.array(z.string()).optional()\n});\n\n/** Entry in the file manifest: a CAS blob ref with rendering metadata. */\nexport const FileManifestEntrySchema = z.object({\n /** SHA-256 hex of the file bytes (= CAS content hash). */\n hash: z.string(),\n contentType: z.string(),\n contentLength: z.number(),\n /** Original filename (e.g. \"logo.png\"). Used for Content-Disposition and URL cosmetics. */\n filename: z.string(),\n /** Image width in pixels (images only). */\n width: z.number().optional(),\n /** Image height in pixels (images only). */\n height: z.number().optional(),\n /** Base64-encoded blur placeholder (images only). */\n blurDataURL: z.string().optional()\n});\nexport type FileManifestEntry = z.infer<typeof FileManifestEntrySchema>;\n\n// ── Ledger config schema (validated server-side, replaces opaque blob) ─\n\n/** A file reference with image dimensions for next/image layout reservation. */\nexport const ImageRefSchema = z.object({\n path: z.string(),\n width: z.number(),\n height: z.number()\n});\nexport type ImageRef = z.infer<typeof ImageRefSchema>;\n\n/** A file reference or external URL. Replaces FileIdOrUrl. */\nexport const PathOrUrlSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"path\"), value: z.string() }),\n z.object({ type: z.literal(\"url\"), value: z.string() })\n]);\nexport type PathOrUrl = z.infer<typeof PathOrUrlSchema>;\n\nconst RgbaSchema = z.object({ r: z.number(), g: z.number(), b: z.number(), a: z.number().optional() });\n\nconst BackgroundColorSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"solid\"), ...RgbaSchema.shape }),\n z.object({ type: z.literal(\"gradient\") })\n]);\n\nconst ACCENT_SCALE_KEYS = [\n \"accent1\",\n \"accent2\",\n \"accent3\",\n \"accent4\",\n \"accent5\",\n \"accent6\",\n \"accent7\",\n \"accent8\",\n \"accent9\",\n \"accent10\",\n \"accent11\",\n \"accent12\"\n] as const;\n\n/** Radix-style 12-step accent scale, all optional. */\n// Cast is safe: Object.fromEntries cannot preserve the literal key union.\nconst accentScaleShape = Object.fromEntries(ACCENT_SCALE_KEYS.map((key) => [key, RgbaSchema.optional()])) as Record<\n (typeof ACCENT_SCALE_KEYS)[number],\n z.ZodOptional<typeof RgbaSchema>\n>;\n\nconst LedgerThemeConfigSchema = z.object({\n logo: ImageRefSchema.optional(),\n backgroundImage: z.string().optional(),\n accentPrimary: RgbaSchema,\n background: BackgroundColorSchema.optional(),\n border: RgbaSchema.optional(),\n sidebarBackground: RgbaSchema.optional(),\n headerBackground: RgbaSchema.optional(),\n cardBackground: RgbaSchema.optional(),\n ...accentScaleShape\n});\n\nconst LedgerColorsConfigSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"dark\"), ...LedgerThemeConfigSchema.shape }),\n z.object({ type: z.literal(\"light\"), ...LedgerThemeConfigSchema.shape }),\n z.object({\n type: z.literal(\"darkAndLight\"),\n dark: LedgerThemeConfigSchema,\n light: LedgerThemeConfigSchema\n })\n]);\n\nconst LedgerFontVariantSchema = z.object({\n fontFile: z.string(),\n weight: z.array(z.string()).optional(),\n style: z.array(z.enum([\"normal\", \"italic\"])).optional()\n});\n\nconst LedgerFontConfigSchema = z.discriminatedUnion(\"type\", [\n z.object({\n type: z.literal(\"custom\"),\n name: z.string(),\n variants: z.array(LedgerFontVariantSchema),\n display: z.enum([\"auto\", \"block\", \"swap\", \"fallback\", \"optional\"]).optional(),\n fallback: z.array(z.string()).optional(),\n fontVariationSettings: z.string().optional()\n })\n]);\n\nconst LedgerTypographySchema = z.object({\n headingsFont: LedgerFontConfigSchema.optional(),\n bodyFont: LedgerFontConfigSchema.optional(),\n codeFont: LedgerFontConfigSchema.optional()\n});\n\nconst LedgerJsFileSchema = z.object({\n path: z.string(),\n strategy: z.enum([\"beforeInteractive\", \"afterInteractive\", \"lazyOnload\"]).optional()\n});\n\nconst LedgerJsConfigSchema = z.object({\n remote: z\n .array(\n z.object({\n url: z.string(),\n strategy: z.enum([\"beforeInteractive\", \"afterInteractive\", \"lazyOnload\"]).optional(),\n disableSri: z.boolean().optional()\n })\n )\n .optional(),\n files: z.array(LedgerJsFileSchema).optional(),\n inline: z.array(z.string()).optional()\n});\n\nconst LedgerMetadataConfigSchema = z.record(z.string(), z.unknown()).and(\n z.object({\n \"og:image\": PathOrUrlSchema.optional(),\n \"og:logo\": PathOrUrlSchema.optional(),\n \"twitter:image\": PathOrUrlSchema.optional(),\n \"og:background-image\": PathOrUrlSchema.optional(),\n \"og:dynamic:background-image\": PathOrUrlSchema.optional()\n })\n);\n\n// The shared docs-config schemas below are annotated as `z.ZodType<NamedType>`\n// so declaration emit references the named types instead of inlining their full\n// structural shape — without this, the inferred type of the publish router\n// exceeds tsc's serialization limit (TS7056).\nconst NavbarLinksFieldSchema: z.ZodType<NavbarLink[]> = z.array(NavbarLinkSchema);\nconst FooterLinksFieldSchema: z.ZodType<FooterLink[]> = z.array(FooterLinkSchema);\nconst LayoutFieldSchema: z.ZodType<DocsLayoutConfig> = DocsLayoutConfigSchema;\nconst ThemeFieldSchema: z.ZodType<DocsThemeConfig> = DocsThemeConfigSchema;\nconst SettingsFieldSchema: z.ZodType<DocsSettingsConfig> = DocsSettingsConfigSchema;\nconst AnalyticsFieldSchema: z.ZodType<AnalyticsConfig> = AnalyticsConfigSchema;\nconst AIChatFieldSchema: z.ZodType<AIChatConfig> = AIChatConfigSchema;\nconst PageActionsFieldSchema: z.ZodType<PageActionsConfig> = PageActionsConfigSchema;\n\nconst LedgerAgentsConfigSchema = z.object({\n pageDirective: z.string().optional(),\n pageDescriptionSource: z.enum([\"description\", \"subtitle\"]).optional(),\n siteDescription: z.string().optional()\n});\n\n/**\n * Ledger-native config schema. Validated server-side on register/finish.\n *\n * Key differences from the classic DocsConfig:\n * - No FileId references — file references use fullPath strings\n * - Logo uses ImageRef (path + width + height) for next/image layout\n * - Config-referenced files (favicon, logo, OG images, fonts, JS) carry their\n * fullPath strings and are retained in the pointer's `files` map\n * (see collectConfigFilePaths); robots.txt/llms.txt/context7.json remain\n * well-known files served by convention via file artifact lookup\n * - navigation/root excluded — the nav tree is a separate field on DocsPublishInput\n */\nexport const LedgerConfigSchema = z.object({\n title: z.string().optional(),\n rootSlug: z.string().optional(),\n defaultLanguage: z.string().optional(),\n translations: z\n .object({\n defaultLocale: z.string(),\n translations: z.array(z.string()).optional()\n })\n .optional(),\n announcement: z.object({ text: z.string() }).optional(),\n navbarLinks: NavbarLinksFieldSchema.optional(),\n footerLinks: FooterLinksFieldSchema.optional(),\n logoHeight: z.number().optional(),\n logoHref: z.string().optional(),\n logoRightText: z.string().optional(),\n /** fullPath of the favicon file artifact (any extension: .svg/.png/.ico). */\n favicon: z.string().nullish(),\n agents: LedgerAgentsConfigSchema.optional(),\n metadata: LedgerMetadataConfigSchema.optional(),\n redirects: z\n .array(z.object({ source: z.string(), destination: z.string(), permanent: z.boolean().optional() }))\n .optional(),\n colorsV3: LedgerColorsConfigSchema.optional(),\n layout: LayoutFieldSchema.optional(),\n theme: ThemeFieldSchema.optional(),\n settings: SettingsFieldSchema.optional(),\n typographyV2: LedgerTypographySchema.optional(),\n analyticsConfig: AnalyticsFieldSchema.optional(),\n integrations: z\n .object({\n intercom: z.string().optional()\n })\n .optional(),\n css: z.object({ inline: z.array(z.string()).optional() }).optional(),\n js: LedgerJsConfigSchema.optional(),\n aiChatConfig: AIChatFieldSchema.optional(),\n pageActions: PageActionsFieldSchema.optional(),\n editThisPageLaunch: z.enum([\"github\", \"dashboard\"]).optional(),\n /** Origins allowed to iframe the site, appended to the CSP `frame-ancestors` directive. */\n iframe: z.object({ allowedParentOrigins: z.array(z.string()) }).optional(),\n /**\n * Explicit edit-this-page GitHub config from docs.yml (ADR 0012 parity).\n * When present, the loader synthesises `editThisPageUrl` from these fields\n * instead of relying on deployment-scoped git provenance. This matches the\n * v2 behaviour where the CLI derives the URL from the declared config.\n */\n editThisPageGithub: z\n .object({\n owner: z.string(),\n repo: z.string(),\n branch: z.string().default(\"main\"),\n host: z.string().default(\"https://github.com\")\n })\n .optional(),\n header: z.string().optional(),\n footer: z.string().optional()\n});\nexport type LedgerConfig = z.infer<typeof LedgerConfigSchema>;\n\n// ── Ledger metadata schemas ───────────────────────────────────────────\n\nconst MetadataStringArraySchema = z.array(z.string());\nconst FeatureFlagMetadataSchema = z.array(\n z.union([\n z.string(),\n z.object({\n flag: z.string(),\n fallbackValue: z.unknown().optional(),\n match: z.unknown().optional()\n })\n ])\n);\nconst LinkTargetSchema = z.enum([\"_blank\", \"_self\", \"_parent\", \"_top\"]);\nconst CollapsedSchema = z.union([z.boolean(), z.literal(\"open-by-default\")]);\n// docs.yml `playground` settings, round-tripped through segment / api-artifact metadata\n// so `playground.hidden` (and friends) survive the ledger nav rebuild. The nav-node\n// `PlaygroundSettings` type is a fixed shape, so no `.passthrough()` here — the reader\n// in ledger-root-builder reads exactly these fields.\nconst PlaygroundSettingsSchema = z.object({\n hidden: z.boolean().optional(),\n environments: z.array(z.string()).optional(),\n button: z.object({ href: z.string().optional() }).optional(),\n \"limit-websocket-messages-per-connection\": z.number().optional(),\n \"send-optional-defaults\": z.boolean().optional()\n});\nexport type LedgerPlaygroundMetadata = z.infer<typeof PlaygroundSettingsSchema>;\nconst LedgerAvailabilitySchema = z.union([\n AvailabilitySchema,\n z.enum([\n \"alpha\",\n \"stable\",\n \"generally-available\",\n \"in-development\",\n \"pre-release\",\n \"beta\",\n \"preview\",\n \"deprecated\",\n \"legacy\"\n ])\n]);\n\nexport const LedgerArtifactTypeSchema = z.enum([\n \"markdown\",\n \"page\",\n \"rest\",\n \"asyncapi\",\n \"webhook\",\n \"grpc\",\n \"graphql\",\n \"graphqlType\",\n \"changelog\",\n \"link\",\n \"file\",\n \"image\",\n \"redirect\"\n]);\nexport type LedgerArtifactType = z.infer<typeof LedgerArtifactTypeSchema>;\n\nconst LedgerMetadataBaseSchema = z.object({}).passthrough();\n\nconst NodeMetadataFields = {\n title: z.string().optional(),\n slug: z.string().optional(),\n icon: z.string().optional(),\n authed: z.boolean().optional(),\n viewers: MetadataStringArraySchema.optional(),\n orphaned: z.boolean().optional(),\n featureFlags: FeatureFlagMetadataSchema.optional()\n} as const;\n\n// Read-model guarantee: the FDR transform always writes apiDefinitionId\n// (and the per-type ID fields below), so the read schemas require them.\nconst ApiNodeMetadataFields = {\n ...NodeMetadataFields,\n apiDefinitionId: z.string(),\n availability: LedgerAvailabilitySchema.optional(),\n playground: PlaygroundSettingsSchema.optional()\n} as const;\n\nconst LedgerSegmentDetailMetadataObjectSchema = LedgerMetadataBaseSchema.extend({\n slug: z.string().optional(),\n default: z.boolean().optional(),\n subtitle: z.string().optional(),\n href: z.string().optional(),\n url: z.string().optional(),\n target: LinkTargetSchema.optional(),\n image: z.string().optional(),\n pointsTo: z.string().optional(),\n availability: LedgerAvailabilitySchema.optional(),\n tab_type: z.enum([\"tab\", \"link\", \"changelog\"]).optional()\n});\nexport const LedgerSegmentDetailMetadataSchema = LedgerSegmentDetailMetadataObjectSchema.nullable();\nexport type LedgerSegmentDetailMetadata = z.infer<typeof LedgerSegmentDetailMetadataSchema>;\n\nconst LedgerSegmentMetadataObjectSchema = z.discriminatedUnion(\"type\", [\n LedgerMetadataBaseSchema.extend({\n type: z.literal(\"tabRoot\")\n }),\n LedgerMetadataBaseSchema.extend({\n type: z.literal(\"section\"),\n title: z.string().optional(),\n icon: z.string().optional(),\n authed: z.boolean().optional(),\n collapsed: CollapsedSchema.optional(),\n collapsible: z.boolean().optional(),\n collapsedByDefault: z.boolean().optional(),\n availability: LedgerAvailabilitySchema.optional(),\n overviewPageId: z.string().optional(),\n noindex: z.boolean().optional(),\n pointsTo: z.string().optional(),\n viewers: MetadataStringArraySchema.optional(),\n orphaned: z.boolean().optional(),\n featureFlags: FeatureFlagMetadataSchema.optional()\n }),\n LedgerMetadataBaseSchema.extend({\n type: z.literal(\"apiReference\"),\n title: z.string().optional(),\n icon: z.string().optional(),\n authed: z.boolean().optional(),\n apiDefinitionId: z.string().optional(),\n overviewPageId: z.string().optional(),\n noindex: z.boolean().optional(),\n availability: LedgerAvailabilitySchema.optional(),\n pointsTo: z.string().optional(),\n paginated: z.boolean().optional(),\n showErrors: z.boolean().optional(),\n hideTitle: z.boolean().optional(),\n viewers: MetadataStringArraySchema.optional(),\n orphaned: z.boolean().optional(),\n featureFlags: FeatureFlagMetadataSchema.optional(),\n playground: PlaygroundSettingsSchema.optional()\n }),\n LedgerMetadataBaseSchema.extend({\n type: z.literal(\"apiPackage\"),\n title: z.string().optional(),\n icon: z.string().optional(),\n authed: z.boolean().optional(),\n apiDefinitionId: z.string().optional(),\n overviewPageId: z.string().optional(),\n noindex: z.boolean().optional(),\n availability: LedgerAvailabilitySchema.optional(),\n pointsTo: z.string().optional(),\n viewers: MetadataStringArraySchema.optional(),\n orphaned: z.boolean().optional(),\n featureFlags: FeatureFlagMetadataSchema.optional(),\n playground: PlaygroundSettingsSchema.optional()\n }),\n LedgerMetadataBaseSchema.extend({\n type: z.literal(\"changelog\"),\n title: z.string().optional(),\n icon: z.string().optional(),\n overviewPageId: z.string().optional(),\n apiDefinitionId: z.string().optional(),\n noindex: z.boolean().optional(),\n authed: z.boolean().optional(),\n viewers: MetadataStringArraySchema.optional(),\n orphaned: z.boolean().optional(),\n featureFlags: FeatureFlagMetadataSchema.optional()\n }),\n LedgerMetadataBaseSchema.extend({\n type: z.literal(\"files\")\n }),\n LedgerMetadataBaseSchema.extend({\n type: z.literal(\"redirects\")\n }),\n LedgerMetadataBaseSchema.extend({\n type: z.literal(\"productLink\")\n }),\n LedgerMetadataBaseSchema.extend({\n type: z.literal(\"tabLink\")\n })\n]);\nexport const LedgerSegmentMetadataSchema = LedgerSegmentMetadataObjectSchema;\nexport type LedgerSegmentMetadata = z.infer<typeof LedgerSegmentMetadataSchema>;\n\nexport const LedgerMarkdownMetadataSchema = LedgerMetadataBaseSchema.extend({\n ...NodeMetadataFields,\n pageId: z.string().optional(),\n isOverview: z.boolean().optional(),\n noindex: z.boolean().optional()\n});\n\nexport const LedgerRestMetadataSchema = LedgerMetadataBaseSchema.extend({\n ...ApiNodeMetadataFields,\n endpointId: z.string(),\n method: HttpMethodSchema,\n isResponseStream: z.boolean().optional(),\n endpointPairKey: z.string().optional()\n});\n\nexport const LedgerWebSocketMetadataSchema = LedgerMetadataBaseSchema.extend({\n ...ApiNodeMetadataFields,\n webSocketId: z.string()\n});\n\nexport const LedgerWebhookMetadataSchema = LedgerMetadataBaseSchema.extend({\n ...ApiNodeMetadataFields,\n webhookId: z.string(),\n // V1.WebhookNode carries the full HttpMethod union, so the read model must accept it too.\n method: HttpMethodSchema\n});\n\nexport const LedgerGrpcMetadataSchema = LedgerMetadataBaseSchema.extend({\n ...ApiNodeMetadataFields,\n grpcId: z.string(),\n method: GrpcMethodSchema\n});\n\nexport const LedgerGraphQlMetadataSchema = LedgerMetadataBaseSchema.extend({\n ...ApiNodeMetadataFields,\n graphqlOperationId: z.string(),\n operationType: GraphQlOperationTypeSchema\n});\n\nexport const LedgerGraphQlTypeMetadataSchema = LedgerMetadataBaseSchema.extend({\n ...ApiNodeMetadataFields,\n typeId: z.string(),\n typeCategory: GraphQlTypeCategorySchema\n});\n\nexport const LedgerChangelogEntryMetadataSchema = LedgerMetadataBaseSchema.extend({\n ...NodeMetadataFields,\n pageId: z.string(),\n noindex: z.boolean().optional(),\n date: z.string().optional(),\n tags: MetadataStringArraySchema.optional()\n});\n\nexport const LedgerLinkMetadataSchema = LedgerMetadataBaseSchema.extend({\n title: z.string().optional(),\n slug: z.string().optional(),\n icon: z.string().optional(),\n url: z.string(),\n target: LinkTargetSchema.optional()\n});\n\nexport const LedgerFileArtifactMetadataSchema = LedgerMetadataBaseSchema.extend({\n contentType: z.string(),\n contentLength: z.number().optional(),\n filename: z.string(),\n width: z.number().optional(),\n height: z.number().optional(),\n blurDataURL: z.string().optional()\n});\n\nexport const LedgerStructuralRedirectKindSchema = z.enum([\n \"root\",\n \"product\",\n \"version\",\n \"variant\",\n \"tab\",\n \"section\",\n \"api-section\"\n]);\nexport const LedgerRedirectKindSchema = z.enum([\"structural\", \"link\"]);\n\nexport const LedgerRedirectMetadataSchema = LedgerMetadataBaseSchema.extend({\n href: z.string().optional(),\n redirectKind: LedgerRedirectKindSchema.optional(),\n structuralKind: LedgerStructuralRedirectKindSchema.optional()\n});\n\nexport const LedgerArtifactMetadataSchema = z.union([\n LedgerMarkdownMetadataSchema,\n LedgerRestMetadataSchema,\n LedgerWebSocketMetadataSchema,\n LedgerWebhookMetadataSchema,\n LedgerGrpcMetadataSchema,\n LedgerGraphQlMetadataSchema,\n LedgerGraphQlTypeMetadataSchema,\n LedgerChangelogEntryMetadataSchema,\n LedgerLinkMetadataSchema,\n LedgerFileArtifactMetadataSchema,\n LedgerRedirectMetadataSchema\n]);\nexport type LedgerArtifactMetadata = z.infer<typeof LedgerArtifactMetadataSchema>;\n\n/**\n * Single source of truth for the artifactType → metadata schema pairing.\n * Every discriminated union over artifact types (nav routes, manifest\n * routes, route-context responses) is derived from this map, so adding a\n * type added to one but not the other fails to compile.\n */\nexport const LEDGER_ARTIFACT_METADATA_SCHEMAS = {\n markdown: LedgerMarkdownMetadataSchema,\n page: LedgerMarkdownMetadataSchema,\n rest: LedgerRestMetadataSchema,\n asyncapi: LedgerWebSocketMetadataSchema,\n webhook: LedgerWebhookMetadataSchema,\n grpc: LedgerGrpcMetadataSchema,\n graphql: LedgerGraphQlMetadataSchema,\n graphqlType: LedgerGraphQlTypeMetadataSchema,\n changelog: LedgerChangelogEntryMetadataSchema,\n link: LedgerLinkMetadataSchema,\n file: LedgerFileArtifactMetadataSchema,\n image: LedgerFileArtifactMetadataSchema,\n redirect: LedgerRedirectMetadataSchema\n} as const satisfies Record<LedgerArtifactType, z.ZodType>;\n\n/**\n * Extends `base` with the canonical `{ artifactType, artifactMetadata }`\n * pair for one artifact type. The indexed access into\n * {@link LEDGER_ARTIFACT_METADATA_SCHEMAS} preserves the exact per-type\n * metadata schema, so unions built from tuples of these calls stay\n * precisely typed with zero casts.\n */\nexport function artifactTypeVariant<B extends z.ZodRawShape, T extends LedgerArtifactType>(\n base: z.ZodObject<B>,\n type: T\n): z.ZodObject<\n z.objectUtil.extendShape<\n B,\n {\n artifactType: z.ZodLiteral<T>;\n artifactMetadata: (typeof LEDGER_ARTIFACT_METADATA_SCHEMAS)[T];\n }\n >\n> {\n return base.extend({\n artifactType: z.literal(type),\n artifactMetadata: LEDGER_ARTIFACT_METADATA_SCHEMAS[type]\n });\n}\n\nconst NavRouteBaseSchema = z.object({\n fullPath: z.string().nullable(),\n artifactId: z.string(),\n hidden: z.boolean(),\n displaySortOrder: z.number().nullable().optional()\n});\n\n/** Like {@link artifactTypeVariant} but for nav routes, whose discriminator/metadata keys are `type`/`metadata`. */\nfunction navRouteVariant<T extends LedgerArtifactType>(\n type: T\n): z.ZodObject<\n z.objectUtil.extendShape<\n (typeof NavRouteBaseSchema)[\"shape\"],\n {\n type: z.ZodLiteral<T>;\n metadata: (typeof LEDGER_ARTIFACT_METADATA_SCHEMAS)[T];\n }\n >\n> {\n return NavRouteBaseSchema.extend({\n type: z.literal(type),\n metadata: LEDGER_ARTIFACT_METADATA_SCHEMAS[type]\n });\n}\n\nexport const LedgerNavRouteSchema = z.discriminatedUnion(\"type\", [\n navRouteVariant(\"markdown\"),\n navRouteVariant(\"page\"),\n navRouteVariant(\"rest\"),\n navRouteVariant(\"asyncapi\"),\n navRouteVariant(\"webhook\"),\n navRouteVariant(\"grpc\"),\n navRouteVariant(\"graphql\"),\n navRouteVariant(\"graphqlType\"),\n navRouteVariant(\"changelog\"),\n navRouteVariant(\"link\"),\n navRouteVariant(\"file\"),\n navRouteVariant(\"image\"),\n navRouteVariant(\"redirect\")\n]);\nexport type LedgerNavRoute = z.infer<typeof LedgerNavRouteSchema>;\ntype DistributivePick<T, K extends keyof T> = T extends unknown ? Pick<T, K> : never;\nexport type LedgerArtifactTypeMetadata = DistributivePick<LedgerNavRoute, \"type\" | \"metadata\">;\n\nexport type Equals<A, B> = [A] extends [B] ? ([B] extends [A] ? true : false) : false;\n/** Compile-time proof that the nav-route union covers every artifact type. */\nconst _navRouteUnionIsExhaustive: Equals<LedgerNavRoute[\"type\"], LedgerArtifactType> = true;\n\n// ── Publish input (next-gen: server-side decomposition) ───────────────\n\n/**\n * Git provenance for a docs-ledger deployment (ADR 0012 / FER-10489).\n *\n * Captured server-side from the CLI publish input so the read path can\n * synthesise `editThisPageUrl = ${repoUrl}/edit/${branch}/${filename}`\n * without an additional round-trip. All three fields are deployment-\n * scoped (one value per `docs_ledger_deployments` row), nullable for\n * back-compat with deployments published before this field existed.\n */\nexport const DocsPublishGitInputSchema = z.object({\n /** Full HTTPS URL of the repo (e.g. `https://github.com/acme/docs`). */\n repoUrl: z.string(),\n /** Branch the publish ran from. Used to build the edit-this-page URL. */\n branch: z.string(),\n /**\n * Optional commit SHA captured when the CLI knows it. Currently surfaced\n * on `versionMetadata` for diagnostics but not used in URL synthesis.\n */\n commitSha: z.string().optional()\n});\nexport type DocsPublishGitInput = z.infer<typeof DocsPublishGitInputSchema>;\n\n/**\n * Content fields shared by DocsPublishInput and LedgerPreviewRegisterInput.\n * Extracted so that new content-layer fields (e.g. cssFiles) are picked up\n * everywhere automatically.\n */\nexport const DocsContentFieldsSchema = z.object({\n root: z.unknown(),\n pages: z.record(z.string(), PageBlobRefSchema),\n apiManifest: BlobRefSchema.nullish(),\n config: LedgerConfigSchema.optional(),\n /**\n * Content-addressable file manifest: maps fullPath → file metadata + CAS blob ref.\n * Each entry becomes a file/image artifact in the ledger with nav routing by fullPath.\n */\n fileManifest: z.record(z.string(), FileManifestEntrySchema).optional(),\n // TODO: jsFiles is a single blob containing all custom React component bundles.\n // These should eventually be individual artifacts so they can be loaded/cached\n // independently rather than as a monolithic bundle.\n jsFiles: BlobRefSchema.nullish(),\n redirects: BlobRefSchema.nullish(),\n locale: z.string().default(\"en\"),\n version: z.string().nullish(),\n repo: z.string().nullish(),\n /**\n * Git provenance for the deployment (ADR 0012 / FER-10489). Optional —\n * older CLI versions don't send it and the columns stay NULL. When\n * present, captured onto `docs_ledger_deployments` and surfaced on\n * `versionMetadata` so the read path can synthesise `editThisPageUrl`.\n */\n git: DocsPublishGitInputSchema.optional()\n});\n\n/**\n * A single locale entry in the `locales[]` array on `DocsPublishInputSchema`.\n * Overrides `locale` to be required (no default) — the caller must specify\n * the target locale explicitly. Content fields come from `DocsContentFieldsSchema`.\n */\nconst LocaleEntrySchemaInternal = DocsContentFieldsSchema.extend({\n /** Locale identifier (e.g. \"en\", \"es\", \"ja\"). Required — no default. */\n locale: z.string()\n});\nexport type LocaleEntry = z.output<typeof LocaleEntrySchemaInternal>;\nexport type LocaleEntryInput = z.input<typeof LocaleEntrySchemaInternal>;\n// Annotated as `z.ZodType` with named input/output types so declaration emit\n// references the aliases instead of inlining the structural shape — keeps the\n// publish router's inferred type under tsc's serialization limit (TS7056).\nexport const LocaleEntrySchema: z.ZodType<LocaleEntry, z.ZodTypeDef, LocaleEntryInput> = LocaleEntrySchemaInternal;\n\n/**\n * Wire format for the docs-ledger publish endpoints (register + finish).\n *\n * The client sends a flat `locales[]` array where each entry contains a\n * V1 navigation tree, page content as blob refs, and optional global blob\n * refs for one locale. `defaultLocale` identifies which locale is the\n * primary/fallback. The server processes every locale through the same\n * pipeline (transform → presigned URLs / HeadObject → persist).\n */\nconst DocsPublishInputSchemaInternal = z\n .object({\n orgId: z.string(),\n domain: z.string(),\n basepath: z.string().default(\"\"),\n basepathAware: z.boolean().nullish(),\n /**\n * Additional URLs the deployment should be served from (e.g. a customer's\n * vanity hostname `docs.example.com` alongside the canonical fern URL).\n * Each entry is parsed via `ParsedBaseUrl`, so a value like\n * `\"docs.example.com/v2\"` produces a `(domain, basepath)` site row of\n * `(\"docs.example.com\", \"/v2\")` — multi-domain + per-domain subpath is\n * supported in one field. Defaults to `[]`.\n *\n * See ADR 0010.\n */\n customDomains: z.array(z.string()).default([]),\n previewId: z.string().nullish(),\n /** The primary/fallback locale for this deployment (e.g. \"en\"). */\n defaultLocale: z.string().default(\"en\"),\n /**\n * All locales for this deployment. Each locale goes through the same\n * transform → upload → verify → persist pipeline.\n */\n locales: z.array(LocaleEntrySchema).min(1)\n })\n .refine((data) => data.locales.some((l) => l.locale === data.defaultLocale), {\n message: \"defaultLocale must match one of the locales in the locales array\",\n path: [\"defaultLocale\"]\n });\n\nexport type DocsPublishInput = z.output<typeof DocsPublishInputSchemaInternal>;\nexport type DocsPublishInputRaw = z.input<typeof DocsPublishInputSchemaInternal>;\n// See LocaleEntrySchema — same TS7056 mitigation.\nexport const DocsPublishInputSchema: z.ZodType<DocsPublishInput, z.ZodTypeDef, DocsPublishInputRaw> =\n DocsPublishInputSchemaInternal;\n\n// ── Preview register (FER-10491) ──────────────────────────────────────\n\n/**\n * Wire input for `POST /preview/init`. Mirrors V2's `startDocsPreviewRegister`\n * — `domain` is server-generated (`{orgId}-preview-{sanitizedId}.{suffix}`),\n * `customDomains` are explicitly disallowed (preview is single-URL), and\n * the entitlement / ownership / lock branches are bypassed in the handler.\n *\n * Otherwise the input mirrors `DocsPublishInputSchema` so the existing\n * decomposition pipeline (`transformPublishInput`) can run unchanged.\n */\nconst LedgerPreviewRegisterInputSchemaInternal = DocsContentFieldsSchema.partial()\n .extend({\n orgId: z.string(),\n /**\n * Optional caller-supplied identifier for the preview hostname. Sanitized\n * server-side (`[a-z0-9-]+`, no leading/trailing dashes). When absent,\n * the server uses a fresh UUIDv7 — produces a hard-to-guess URL but\n * defeats the round-trip use case where the CLI prints the predicted\n * URL before the publish completes. CLIs should always send this.\n */\n previewId: z.string().nullish(),\n /**\n * Optional path segment appended after the server-generated host.\n * Mirrors V2's `basePath` — most preview publishes leave this empty,\n * but explicit subpath previews (`/v2`) are supported.\n */\n basePath: z.string().default(\"\"),\n /** The primary/fallback locale for this preview deployment. */\n defaultLocale: z.string().optional(),\n /**\n * All locales for this preview deployment. Preferred over the legacy\n * single-locale content fields above.\n */\n locales: z.array(LocaleEntrySchema).min(1).optional()\n })\n .superRefine((data, ctx) => {\n if (data.locales == null) {\n if (data.root == null || data.pages == null) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"Either locales or legacy single-locale content fields must be provided\",\n path: [\"locales\"]\n });\n }\n return;\n }\n const defaultLocale = data.defaultLocale ?? data.locales[0]?.locale;\n if (defaultLocale == null || !data.locales.some((locale) => locale.locale === defaultLocale)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"defaultLocale must match one of the locales in the locales array\",\n path: [\"defaultLocale\"]\n });\n }\n });\n\nexport type LedgerPreviewRegisterInput = z.output<typeof LedgerPreviewRegisterInputSchemaInternal>;\nexport type LedgerPreviewRegisterInputRaw = z.input<typeof LedgerPreviewRegisterInputSchemaInternal>;\n// See LocaleEntrySchema — same TS7056 mitigation.\nexport const LedgerPreviewRegisterInputSchema: z.ZodType<\n LedgerPreviewRegisterInput,\n z.ZodTypeDef,\n LedgerPreviewRegisterInputRaw\n> = LedgerPreviewRegisterInputSchemaInternal;\n\n/**\n * Wire output for `POST /preview/init`. Same shape as `RegisterResponseSchema`\n * plus the server-generated `previewUrl` so the CLI can surface it to the\n * user without a round-trip to derive the host.\n */\nexport const LedgerPreviewRegisterResponseSchema = z.object({\n deploymentHash: z.string(),\n missingContent: z.array(MissingContentSchema),\n /** Canonical preview URL, e.g. `https://acme-preview-feature-x.docs.buildwithfern.com`. */\n previewUrl: z.string(),\n /** Server-generated host portion of `previewUrl` (no scheme, no basepath). */\n domain: z.string(),\n /** Echoed `basePath` (normalised — empty string when absent). */\n basepath: z.string(),\n /** Sanitized identifier the server actually used to compose the host. */\n previewId: z.string()\n});\n\n// ── Write-side types ───────────────────────────────────────────────────\n\nexport type RegisterResponse = z.infer<typeof RegisterResponseSchema>;\nexport type FinishResponse = z.infer<typeof FinishResponseSchema>;\nexport type ArchiveSiteInput = z.infer<typeof ArchiveSiteInputSchema>;\nexport type ArchiveSiteResponse = z.infer<typeof ArchiveSiteResponseSchema>;\nexport type MigrateV2SiteInput = z.output<typeof MigrateV2SiteInputSchema>;\nexport type MigrateV2SiteResponse = z.infer<typeof MigrateV2SiteResponseSchema>;\nexport type StartStaticBuildInput = z.output<typeof StartStaticBuildInputSchema>;\nexport type StartStaticBuildResponse = z.infer<typeof StartStaticBuildResponseSchema>;\nexport type RebuildAllStaticBuildsInput = z.output<typeof RebuildAllStaticBuildsInputSchema>;\nexport type RebuildAllStaticBuildsResponse = z.infer<typeof RebuildAllStaticBuildsResponseSchema>;\nexport type ReindexInput = z.output<typeof ReindexInputSchema>;\nexport type ReindexResponse = z.infer<typeof ReindexResponseSchema>;\nexport type PromoteStaticBuildInput = z.output<typeof PromoteStaticBuildInputSchema>;\nexport type PromoteStaticBuildResponse = z.infer<typeof PromoteStaticBuildResponseSchema>;\nexport type ResolveStaticServingHostInput = z.output<typeof ResolveStaticServingHostInputSchema>;\nexport type ResolveStaticServingHostResponse = z.infer<typeof ResolveStaticServingHostResponseSchema>;\nexport type LedgerPreviewRegisterResponse = z.infer<typeof LedgerPreviewRegisterResponseSchema>;\n\n// ── Write-side contract ────────────────────────────────────────────────\n\nexport const docsLedgerContract = {\n register: oc\n .route({ method: \"POST\", path: \"/register\" })\n .input(DocsPublishInputSchema)\n .output(RegisterResponseSchema),\n\n previewRegister: oc\n .route({ method: \"POST\", path: \"/preview/init\" })\n .input(LedgerPreviewRegisterInputSchema)\n .output(LedgerPreviewRegisterResponseSchema),\n\n finish: oc\n .route({ method: \"POST\", path: \"/register/finish\" })\n .input(DocsPublishInputSchema)\n .output(FinishResponseSchema),\n\n archiveSite: oc\n .route({ method: \"POST\", path: \"/archive\" })\n .input(ArchiveSiteInputSchema)\n .output(ArchiveSiteResponseSchema),\n\n migrateV2Site: oc\n .route({ method: \"POST\", path: \"/migrate-v2\" })\n .input(MigrateV2SiteInputSchema)\n .output(MigrateV2SiteResponseSchema),\n\n startStaticBuild: oc\n .route({ method: \"POST\", path: \"/static-build\" })\n .input(StartStaticBuildInputSchema)\n .output(StartStaticBuildResponseSchema),\n\n rebuildAllStaticBuilds: oc\n .route({ method: \"POST\", path: \"/static-build/rebuild-all\" })\n .input(RebuildAllStaticBuildsInputSchema)\n .output(RebuildAllStaticBuildsResponseSchema),\n\n reindex: oc.route({ method: \"POST\", path: \"/reindex\" }).input(ReindexInputSchema).output(ReindexResponseSchema),\n\n promoteStaticBuild: oc\n .route({ method: \"POST\", path: \"/static-build/promote\" })\n .input(PromoteStaticBuildInputSchema)\n .output(PromoteStaticBuildResponseSchema),\n\n resolveStaticServingHost: oc\n .route({ method: \"POST\", path: \"/static-build/serving-host\" })\n .input(ResolveStaticServingHostInputSchema)\n .output(ResolveStaticServingHostResponseSchema),\n\n getCustomHostname: oc\n .route({ method: \"POST\", path: \"/static-build/custom-hostname/get\" })\n .input(CustomHostnameInputSchema)\n .output(CustomHostnameResponseSchema),\n\n registerCustomHostname: oc\n .route({ method: \"POST\", path: \"/static-build/custom-hostname/register\" })\n .input(CustomHostnameInputSchema)\n .output(CustomHostnameResponseSchema),\n\n deleteCustomHostname: oc\n .route({ method: \"POST\", path: \"/static-build/custom-hostname/delete\" })\n .input(CustomHostnameInputSchema)\n .output(DeleteCustomHostnameResponseSchema)\n};\n\n// ── Read-side schemas ──────────────────────────────────────────────────\n\nexport const CurrentVersionInputSchema = z.object({\n domain: z.string(),\n basepath: z.string().default(\"\")\n});\n\nexport const CurrentPreviewInputSchema = CurrentVersionInputSchema.extend({\n previewId: z.string()\n});\n\nexport const CurrentVersionResponseSchema = z.object({\n orgId: z.string(),\n domain: z.string(),\n basepath: z.string(),\n deploymentId: z.string(),\n deploymentHash: z.string(),\n siteId: z.string(),\n assignedAt: z.string(),\n assignedBy: z.string().nullable()\n});\n\nconst ContentRefSchema = z.object({\n hash: z.string(),\n s3Key: z.string(),\n contentType: z.string(),\n url: z.string()\n});\n\n/**\n * Full detail metadata for one segment dimension (product / version /\n * variant / tab). Carries everything `docs_ledger_segment_details` stores —\n * not just name + icon — so the read path can reconstruct switcher chrome\n * and navigation nodes (slug, default flag, pointsTo, href, etc. live in\n * {@link metadata}) without fetching a monolithic root.\n */\nexport const SegmentDetailSchema = z.object({\n id: z.string(),\n displayName: z.string(),\n icon: z.string().nullable(),\n sortOrder: z.number(),\n hidden: z.boolean(),\n viewers: z.array(z.string()),\n orphaned: z.boolean(),\n featureFlags: z.array(z.string()),\n /** Type-specific fields: slug, default, subtitle, href, target, image, availability, pointsTo, tab_type. */\n metadata: LedgerSegmentDetailMetadataSchema\n});\nexport type SegmentDetail = z.infer<typeof SegmentDetailSchema>;\n\nconst SegmentSchema = z.object({\n segmentId: z.string(),\n segmentHash: z.string(),\n section: z.string(),\n locale: z.string(),\n /** Sidebar order across segments (docs_ledger_deployment_segments.sort_order). */\n sortOrder: z.number(),\n /** Whether the segment is hidden from the sidebar. */\n hidden: z.boolean(),\n /** Segment type descriptor (seg.metadata): { type, title, icon, apiDefinitionId, overviewPageId, pointsTo, ... }. */\n metadata: LedgerSegmentMetadataSchema,\n /** Full product/version/variant/tab detail metadata, or null when the dimension is absent. */\n product: SegmentDetailSchema.nullable(),\n version: SegmentDetailSchema.nullable(),\n variant: SegmentDetailSchema.nullable(),\n tab: SegmentDetailSchema.nullable(),\n // ── Flat name/icon retained for back-compat (derivable from the\n // detail objects above). ──\n productId: z.string().nullable(),\n productName: z.string().nullable(),\n productIcon: z.string().nullable(),\n versionId: z.string().nullable(),\n versionName: z.string().nullable(),\n versionIcon: z.string().nullable(),\n variantId: z.string().nullable(),\n variantName: z.string().nullable(),\n variantIcon: z.string().nullable(),\n tabId: z.string().nullable(),\n tabName: z.string().nullable(),\n tabIcon: z.string().nullable()\n});\n\nexport const VersionMetadataInputSchema = z.object({\n deploymentId: z.string(),\n locale: z.string().optional()\n});\n\nexport const VersionMetadataResponseSchema = z.object({\n deploymentId: z.string(),\n version: z.string().nullable(),\n /**\n * Inline structural config (ADR 0009). Contains everything from\n * {@link LedgerConfigSchema} except `header`, `footer`, `css.inline`,\n * `js.inline` — those four fields are returned separately via\n * {@link header}, {@link footer}, {@link cssInline}, {@link jsInline}\n * as content-addressed `ContentRef`s. The render path returns this\n * inline so initial page chrome doesn't require an S3 hop.\n */\n configJson: LedgerConfigSchema.nullable(),\n /** CAS ref for the extracted `config.header` blob (raw MDX). */\n header: ContentRefSchema.nullable(),\n /** CAS ref for the extracted `config.footer` blob (raw MDX). */\n footer: ContentRefSchema.nullable(),\n /** CAS ref for the joined `config.css.inline` blob (`\\n`-separated CSS). */\n cssInline: ContentRefSchema.nullable(),\n /** CAS ref for the joined `config.js.inline` blob (`\\n`-separated JS). */\n jsInline: ContentRefSchema.nullable(),\n jsFiles: ContentRefSchema.nullable(),\n segments: z.array(SegmentSchema),\n /** Mapping from human-readable API name slug to API definition UUID. */\n apiNameToId: z.record(z.string(), z.string()),\n /**\n * Git provenance for the deployment (ADR 0012 / FER-10489). Optional —\n * nullable on CLIs that don't send `git` on the publish input. When\n * present, the docs loader synthesises `editThisPageUrl` from `repoUrl`,\n * `branch`, and the page `filename` server-side.\n */\n git: z\n .object({\n repoUrl: z.string(),\n branch: z.string(),\n commitSha: z.string().nullable().optional()\n })\n .optional(),\n /**\n * Docs deployment status from the legacy `docs_sites` table, resolved\n * via Kysely join in the DAO. Null when no matching row exists.\n */\n docsStatus: z.enum([\"PUBLISHING\", \"LIVE\", \"UNPUBLISHED\", \"ERROR\"]).nullable().optional()\n});\n\nexport const PageContentInputSchema = z.object({\n deploymentId: z.string(),\n fullPath: z.string().optional(),\n pageId: z.string().optional(),\n locale: z.string().optional()\n});\n\nexport const PageContentResponseSchema = z.object({\n s3Key: z.string(),\n segmentHash: z.string(),\n url: z.string(),\n pageId: z.string().optional()\n});\n\nexport const BatchPageContentInputSchema = z.object({\n deploymentId: z.string(),\n pageIds: z.array(z.string()).min(1).max(2000),\n locale: z.string().optional()\n});\n\nexport const BatchPageContentItemSchema = z.object({\n pageId: z.string(),\n s3Key: z.string(),\n url: z.string()\n});\n\nexport const BatchPageContentResponseSchema = z.object({\n items: z.array(BatchPageContentItemSchema)\n});\n\nexport const NavInputSchema = z.object({\n segmentHash: z.string()\n});\n\nexport const NavResponseSchema = z.object({\n routes: z.array(LedgerNavRouteSchema)\n});\n\n// ── Route context (route/segment-first hot path) ──────────────────────\n\n/**\n * Resolve a single request path to its page content + the segment it lives\n * in, without fetching the whole navigation root. The ledger loader resolves\n * the route from the `routes` map, then reads the segment's local sidebar\n * (`nav`) and the top-level chrome from the same manifest (ADR 0016).\n */\nexport const RouteContextInputSchema = z.object({\n deploymentId: z.string(),\n fullPath: z.string(),\n locale: z.string().optional()\n});\n\nconst RouteContextResponseBaseSchema = z.object({\n artifactId: z.string(),\n /** Hash of the segment that owns the matched route — feed to `nav`. */\n segmentHash: z.string(),\n /** Section path of the owning segment (e.g. \"models/command\"). */\n section: z.string(),\n locale: z.string(),\n /**\n * Page content reference, or null for non-page artifacts (links/redirects)\n * and route-only aliases that carry no content blob.\n */\n page: z\n .object({\n s3Key: z.string(),\n url: z.string()\n })\n .nullable(),\n /** Identity of the owning segment, for switchers + breadcrumbs. */\n product: SegmentDetailSchema.nullable(),\n version: SegmentDetailSchema.nullable(),\n variant: SegmentDetailSchema.nullable(),\n tab: SegmentDetailSchema.nullable()\n});\n\nexport const RouteContextResponseSchema = z.discriminatedUnion(\"artifactType\", [\n artifactTypeVariant(RouteContextResponseBaseSchema, \"markdown\"),\n artifactTypeVariant(RouteContextResponseBaseSchema, \"page\"),\n artifactTypeVariant(RouteContextResponseBaseSchema, \"rest\"),\n artifactTypeVariant(RouteContextResponseBaseSchema, \"asyncapi\"),\n artifactTypeVariant(RouteContextResponseBaseSchema, \"webhook\"),\n artifactTypeVariant(RouteContextResponseBaseSchema, \"grpc\"),\n artifactTypeVariant(RouteContextResponseBaseSchema, \"graphql\"),\n artifactTypeVariant(RouteContextResponseBaseSchema, \"graphqlType\"),\n artifactTypeVariant(RouteContextResponseBaseSchema, \"changelog\"),\n artifactTypeVariant(RouteContextResponseBaseSchema, \"link\"),\n artifactTypeVariant(RouteContextResponseBaseSchema, \"file\"),\n artifactTypeVariant(RouteContextResponseBaseSchema, \"image\"),\n artifactTypeVariant(RouteContextResponseBaseSchema, \"redirect\")\n]);\n\n/** Compile-time proof that the route-context union covers every artifact type. */\nconst _routeContextUnionIsExhaustive: Equals<\n z.infer<typeof RouteContextResponseSchema>[\"artifactType\"],\n LedgerArtifactType\n> = true;\n\n// ── Top-level navigation (products / versions / variants / tabs) ──────\n\n/**\n * Distinct product/version/variant/tab dimensions for a deployment, with\n * full detail metadata + ordering. Drives the product switcher, version\n * dropdown, and tab bar without materialising the full navigation root.\n */\nexport const TopLevelNavigationInputSchema = z.object({\n deploymentId: z.string(),\n locale: z.string().optional()\n});\n\nexport const TopLevelNavigationResponseSchema = z.object({\n products: z.array(SegmentDetailSchema),\n versions: z.array(SegmentDetailSchema),\n variants: z.array(SegmentDetailSchema),\n tabs: z.array(SegmentDetailSchema)\n});\n\n// ── Version-switch targets (cross-version context preservation) ───────\n\n/**\n * Resolve, for every version of a deployment, the route equivalent to the\n * current page (`fullPath`). Drives the version switcher's cross-version\n * context preservation (`withVersionSwitcherInfo`) without shipping a\n * site-wide slug map to the client. This is inherently cross-version data\n * the route-scoped tree cannot supply — out-of-scope version sidebars are\n * empty — so it queries the flat `docs_ledger_nav` table directly.\n */\nexport const VersionSwitchTargetsInputSchema = z.object({\n deploymentId: z.string(),\n fullPath: z.string(),\n locale: z.string().optional()\n});\n\nexport const VersionSwitchTargetSchema = z.object({\n /** The version detail id (matches a `SegmentDetail.id` from `versionMetadata`). */\n versionId: z.string(),\n /**\n * Slug to navigate to when switching to this version — the equivalent\n * route in the target version, or that version's landing/root slug when\n * no equivalent exists. The current version maps to `fullPath` itself.\n */\n targetSlug: z.string()\n});\nexport type VersionSwitchTarget = z.infer<typeof VersionSwitchTargetSchema>;\n\nexport const VersionSwitchTargetsResponseSchema = z.object({\n targets: z.array(VersionSwitchTargetSchema)\n});\n\n// ── API Definition schemas ─────────────────────────────────────────────\n\nexport const ApiDefinitionInputSchema = z.object({\n deploymentId: z.string(),\n apiDefinitionId: z.string()\n});\n\nexport const ApiDefinitionResponseSchema = z.object({\n s3Key: z.string(),\n contentType: z.string(),\n url: z.string()\n});\n\n// ── Pruned API Definition schemas ─────────────────────────────────────\n\n/**\n * Look up a pre-pruned, per-endpoint API definition blob from the ledger.\n *\n * The finish handler prunes each endpoint/websocket/webhook from the full\n * API manifest at publish time and stores the result as a CAS blob linked\n * to the nav artifact. This endpoint resolves that blob by artifact\n * metadata, avoiding the need to fetch the full (multi-MB) definition.\n */\nexport const PrunedApiDefinitionInputSchema = z.object({\n deploymentId: z.string(),\n apiDefinitionId: z.string(),\n /** Discriminator matching PruningNodeType.type → artifact metadata field. */\n nodeType: z.enum([\"endpoint\", \"webSocket\", \"webhook\", \"grpc\", \"graphql\", \"graphqlType\"]),\n /** The node ID value (endpointId, webSocketId, etc.). */\n nodeId: z.string()\n});\n\nexport const PrunedApiDefinitionResponseSchema = z.object({\n s3Key: z.string(),\n contentType: z.string(),\n url: z.string()\n});\n\n// ── File artifact schemas ─────────────────────────────────────────────\n\nexport const FileArtifactInputSchema = z.object({\n deploymentId: z.string(),\n fullPath: z.string()\n});\n\nexport const FileArtifactResponseSchema = z.object({\n fullPath: z.string(),\n type: z.enum([\"file\", \"image\"]),\n contentType: z.string(),\n contentLength: z.number().optional(),\n filename: z.string(),\n url: z.string(),\n width: z.number().optional(),\n height: z.number().optional(),\n blurDataURL: z.string().optional()\n});\n\n// ── Presigned file download schemas ──────────────────────────────────\n\nexport const PresignedFileDownloadInputSchema = z.object({\n /** S3 object key in the public docs bucket (format: `{domain}/{hash}/{path}`). */\n s3Key: z.string().regex(/^[a-zA-Z0-9._-]+(?:\\/[^/]+){2,}$/)\n});\n\nexport const PresignedFileDownloadResponseSchema = z.object({\n /** Presigned S3 GET URL with long expiry (7 days). */\n url: z.string()\n});\n\n// ── File metadata schemas (metadata-only, no presigned URL) ──────────\n\nexport const FileMetadataInputSchema = z.object({\n deploymentId: z.string(),\n fullPath: z.string()\n});\n\nexport const FileMetadataResponseSchema = z.object({\n /** Content hash — used by the loader to construct CDN URLs. */\n hash: z.string(),\n /** Domain under which the file bytes were uploaded in the docs files bucket. */\n domain: z.string(),\n contentType: z.string(),\n contentLength: z.number().optional(),\n filename: z.string().optional(),\n width: z.number().optional(),\n height: z.number().optional(),\n blurDataURL: z.string().optional()\n});\n\n// ── Read-side contract ─────────────────────────────────────────────────\n\nexport const docsLedgerReadContract = {\n currentVersion: oc\n .route({ method: \"GET\", path: \"/current-version\" })\n .input(CurrentVersionInputSchema)\n .output(CurrentVersionResponseSchema),\n\n currentPreview: oc\n .route({ method: \"GET\", path: \"/current-preview\" })\n .input(CurrentPreviewInputSchema)\n .output(CurrentVersionResponseSchema),\n\n versionMetadata: oc\n .route({ method: \"GET\", path: \"/version-metadata/{deploymentId}\" })\n .input(VersionMetadataInputSchema)\n .output(VersionMetadataResponseSchema),\n\n pageContent: oc\n .route({ method: \"GET\", path: \"/page-content/{deploymentId}\" })\n .input(PageContentInputSchema)\n .output(PageContentResponseSchema),\n\n batchPageContent: oc\n .route({ method: \"POST\", path: \"/batch-page-content/{deploymentId}\" })\n .input(BatchPageContentInputSchema)\n .output(BatchPageContentResponseSchema),\n\n nav: oc.route({ method: \"GET\", path: \"/nav/{segmentHash}\" }).input(NavInputSchema).output(NavResponseSchema),\n\n routeContext: oc\n .route({ method: \"GET\", path: \"/route-context/{deploymentId}\" })\n .input(RouteContextInputSchema)\n .output(RouteContextResponseSchema),\n\n topLevelNavigation: oc\n .route({ method: \"GET\", path: \"/top-level-navigation/{deploymentId}\" })\n .input(TopLevelNavigationInputSchema)\n .output(TopLevelNavigationResponseSchema),\n\n versionSwitchTargets: oc\n .route({ method: \"GET\", path: \"/version-switch-targets/{deploymentId}\" })\n .input(VersionSwitchTargetsInputSchema)\n .output(VersionSwitchTargetsResponseSchema),\n\n apiDefinition: oc\n .route({ method: \"GET\", path: \"/api-definition/{deploymentId}/{apiDefinitionId}\" })\n .input(ApiDefinitionInputSchema)\n .output(ApiDefinitionResponseSchema),\n\n prunedApiDefinition: oc\n .route({ method: \"GET\", path: \"/pruned-api/{deploymentId}/{apiDefinitionId}\" })\n .input(PrunedApiDefinitionInputSchema)\n .output(PrunedApiDefinitionResponseSchema),\n\n fileArtifact: oc\n .route({ method: \"GET\", path: \"/file/{deploymentId}\" })\n .input(FileArtifactInputSchema)\n .output(FileArtifactResponseSchema),\n\n fileMetadata: oc\n .route({ method: \"GET\", path: \"/file-metadata/{deploymentId}\" })\n .input(FileMetadataInputSchema)\n .output(FileMetadataResponseSchema),\n\n presignedFileDownload: oc\n .route({ method: \"POST\", path: \"/presigned-file-download\" })\n .input(PresignedFileDownloadInputSchema)\n .output(PresignedFileDownloadResponseSchema)\n};\n\n// ── Read-side types ────────────────────────────────────────────────────\n\nexport type CurrentVersionInput = z.infer<typeof CurrentVersionInputSchema>;\nexport type CurrentPreviewInput = z.infer<typeof CurrentPreviewInputSchema>;\nexport type CurrentVersionResponse = z.infer<typeof CurrentVersionResponseSchema>;\nexport type VersionMetadataInput = z.infer<typeof VersionMetadataInputSchema>;\nexport type VersionMetadataResponse = z.infer<typeof VersionMetadataResponseSchema>;\nexport type PageContentInput = z.infer<typeof PageContentInputSchema>;\nexport type PageContentResponse = z.infer<typeof PageContentResponseSchema>;\nexport type BatchPageContentInput = z.infer<typeof BatchPageContentInputSchema>;\nexport type BatchPageContentItem = z.infer<typeof BatchPageContentItemSchema>;\nexport type BatchPageContentResponse = z.infer<typeof BatchPageContentResponseSchema>;\nexport type NavInput = z.infer<typeof NavInputSchema>;\nexport type NavResponse = z.infer<typeof NavResponseSchema>;\nexport type RouteContextInput = z.infer<typeof RouteContextInputSchema>;\nexport type RouteContextResponse = z.infer<typeof RouteContextResponseSchema>;\nexport type TopLevelNavigationInput = z.infer<typeof TopLevelNavigationInputSchema>;\nexport type TopLevelNavigationResponse = z.infer<typeof TopLevelNavigationResponseSchema>;\nexport type VersionSwitchTargetsInput = z.infer<typeof VersionSwitchTargetsInputSchema>;\nexport type VersionSwitchTargetsResponse = z.infer<typeof VersionSwitchTargetsResponseSchema>;\nexport type ApiDefinitionInput = z.infer<typeof ApiDefinitionInputSchema>;\nexport type ApiDefinitionResponse = z.infer<typeof ApiDefinitionResponseSchema>;\nexport type PrunedApiDefinitionInput = z.infer<typeof PrunedApiDefinitionInputSchema>;\nexport type PrunedApiDefinitionResponse = z.infer<typeof PrunedApiDefinitionResponseSchema>;\nexport type FileArtifactInput = z.infer<typeof FileArtifactInputSchema>;\nexport type FileArtifactResponse = z.infer<typeof FileArtifactResponseSchema>;\nexport type FileMetadataInput = z.infer<typeof FileMetadataInputSchema>;\nexport type FileMetadataResponse = z.infer<typeof FileMetadataResponseSchema>;\nexport type PresignedFileDownloadInput = z.infer<typeof PresignedFileDownloadInputSchema>;\nexport type PresignedFileDownloadResponse = z.infer<typeof PresignedFileDownloadResponseSchema>;\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { editorSnapshotContract } from \"./contract.js\";\n\nexport type EditorSnapshotClient = JsonifiedClient<ContractRouterClient<typeof editorSnapshotContract>>;\n\nexport interface CreateEditorSnapshotClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createEditorSnapshotClient(options: CreateEditorSnapshotClientOptions): EditorSnapshotClient {\n const link = new OpenAPILink(editorSnapshotContract, {\n url: `${options.baseUrl.replace(/\\/+$/, \"\")}/editor-snapshot`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\n\nexport const GetSnapshotInputSchema = z.object({\n domain: z.string(),\n branchName: z.string()\n});\n\nexport const SetSnapshotInputSchema = z.object({\n domain: z.string(),\n branchName: z.string(),\n data: z.unknown()\n});\n\nexport const GetDocumentsForBranchesInputSchema = z.object({\n domain: z.string(),\n branchNames: z.array(z.string())\n});\n\nexport const EditorDocumentSchema = z.object({\n id: z.string(),\n domain: z.string(),\n branchName: z.string(),\n data: z.unknown(),\n createdAt: z.string(),\n updatedAt: z.string(),\n expiresAt: z.string().optional()\n});\n\nexport const GetSnapshotResponseSchema = z.object({\n data: z.unknown().nullable()\n});\n\nexport const GetDocumentsForBranchesResponseSchema = z.object({\n documents: z.array(EditorDocumentSchema)\n});\n\nexport type GetSnapshotInput = z.infer<typeof GetSnapshotInputSchema>;\nexport type SetSnapshotInput = z.infer<typeof SetSnapshotInputSchema>;\nexport type GetDocumentsForBranchesInput = z.infer<typeof GetDocumentsForBranchesInputSchema>;\nexport type EditorDocumentResponse = z.infer<typeof EditorDocumentSchema>;\nexport type GetSnapshotResponse = z.infer<typeof GetSnapshotResponseSchema>;\nexport type GetDocumentsForBranchesResponse = z.infer<typeof GetDocumentsForBranchesResponseSchema>;\n\nexport const editorSnapshotContract = {\n getSnapshot: oc\n .route({ method: \"POST\", path: \"/get\" })\n .input(GetSnapshotInputSchema)\n .output(GetSnapshotResponseSchema),\n setSnapshot: oc.route({ method: \"POST\", path: \"/set\" }).input(SetSnapshotInputSchema).output(z.object({})),\n getDocumentsForBranches: oc\n .route({ method: \"POST\", path: \"/branches\" })\n .input(GetDocumentsForBranchesInputSchema)\n .output(GetDocumentsForBranchesResponseSchema)\n};\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { generatorCliContract } from \"../contract.js\";\n\nexport type GeneratorCliClient = JsonifiedClient<ContractRouterClient<typeof generatorCliContract>>;\n\nexport interface CreateGeneratorCliClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createGeneratorCliClient(options: CreateGeneratorCliClientOptions): GeneratorCliClient {\n const link = new OpenAPILink(generatorCliContract, {\n url: `${options.baseUrl}/generators/cli`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\n\n// ── GeneratorId branded type ─────────────────────────────────────────\n\nexport type GeneratorId = string & {\n generators_GeneratorId: void;\n};\n\nexport function GeneratorId(value: string): GeneratorId {\n return value as unknown as GeneratorId;\n}\n\n// ── Shared enums / const objects ─────────────────────────────────────\n\nexport const GeneratorLanguage = {\n Python: \"python\",\n Go: \"go\",\n Java: \"java\",\n Typescript: \"typescript\",\n Ruby: \"ruby\",\n Csharp: \"csharp\",\n Php: \"php\",\n Swift: \"swift\",\n Rust: \"rust\"\n} as const;\nexport type GeneratorLanguage = (typeof GeneratorLanguage)[keyof typeof GeneratorLanguage];\n\nexport const ReleaseType = {\n Ga: \"GA\",\n Rc: \"RC\"\n} as const;\nexport type ReleaseType = (typeof ReleaseType)[keyof typeof ReleaseType];\n\n// ── Shared zod schemas ───────────────────────────────────────────────\n\nexport const GeneratorLanguageSchema = z.enum([\n \"python\",\n \"go\",\n \"java\",\n \"typescript\",\n \"ruby\",\n \"csharp\",\n \"php\",\n \"swift\",\n \"rust\"\n]);\n\nexport const ScriptSchema = z.object({\n steps: z.array(z.string())\n});\nexport type Script = z.infer<typeof ScriptSchema>;\n\nexport const GeneratorScriptsSchema = z.object({\n preInstallScript: ScriptSchema.nullish(),\n installScript: ScriptSchema.nullish(),\n compileScript: ScriptSchema.nullish(),\n testScript: ScriptSchema.nullish()\n});\nexport type GeneratorScripts = z.infer<typeof GeneratorScriptsSchema>;\n\nexport const GeneratorTypeSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"sdk\") }),\n z.object({ type: z.literal(\"model\") }),\n z.object({ type: z.literal(\"server\") }),\n z.object({ type: z.literal(\"other\") })\n]);\nexport type GeneratorType = z.infer<typeof GeneratorTypeSchema>;\n\nexport const ChangelogEntryTypeSchema = z.enum([\"fix\", \"feat\", \"chore\", \"break\", \"internal\"]);\nexport type ChangelogEntryType = z.infer<typeof ChangelogEntryTypeSchema>;\n\nexport const ChangelogEntrySchema = z.object({\n type: ChangelogEntryTypeSchema,\n summary: z.string(),\n links: z.array(z.string()).nullish(),\n upgradeNotes: z.string().nullish(),\n added: z.array(z.string()).nullish(),\n changed: z.array(z.string()).nullish(),\n deprecated: z.array(z.string()).nullish(),\n removed: z.array(z.string()).nullish(),\n fixed: z.array(z.string()).nullish()\n});\nexport type ChangelogEntry = z.infer<typeof ChangelogEntrySchema>;\n\nexport const YankSchema = z.object({\n remediationVerision: z.string().nullish()\n});\nexport type Yank = z.infer<typeof YankSchema>;\n\nexport const ReleaseTypeSchema = z.enum([\"GA\", \"RC\"]);\n\nexport const VersionRangeSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"inclusive\"), value: z.string() }),\n z.object({ type: z.literal(\"exclusive\"), value: z.string() })\n]);\nexport type VersionRange = z.infer<typeof VersionRangeSchema>;\n\n// ── Root generators schemas ──────────────────────────────────────────\n\nexport const GeneratorSchema = z.object({\n id: z.string(),\n displayName: z.string(),\n generatorType: GeneratorTypeSchema,\n generatorLanguage: GeneratorLanguageSchema.nullish(),\n dockerImage: z.string(),\n scripts: GeneratorScriptsSchema.nullish()\n});\n\nexport const GeneratorOutputSchema = z.object({\n id: z.string(),\n displayName: z.string(),\n generatorType: GeneratorTypeSchema,\n generatorLanguage: GeneratorLanguageSchema.nullish(),\n dockerImage: z.string(),\n scripts: GeneratorScriptsSchema.nullish()\n});\n\nexport const GetGeneratorByImageInputSchema = z.object({\n dockerImage: z.string()\n});\n\nexport const GetGeneratorInputSchema = z.object({\n generatorId: z.string()\n});\n\n// ── Generator versions schemas ───────────────────────────────────────\n\nexport const GeneratorReleaseSchema = z.object({\n version: z.string(),\n createdAt: z.string().nullish(),\n isYanked: YankSchema.nullish(),\n changelogEntry: z.array(ChangelogEntrySchema).nullish(),\n releaseType: ReleaseTypeSchema,\n majorVersion: z.number(),\n generatorId: z.string(),\n irVersion: z.number(),\n migration: z.string().nullish(),\n customConfigSchema: z.string().nullish(),\n tags: z.array(z.string()).nullish()\n});\n\nexport const GeneratorReleaseRequestSchema = z.object({\n version: z.string(),\n createdAt: z.string().nullish(),\n isYanked: YankSchema.nullish(),\n changelogEntry: z.array(ChangelogEntrySchema).nullish(),\n generatorId: z.string(),\n irVersion: z.number(),\n migration: z.string().nullish(),\n customConfigSchema: z.string().nullish(),\n tags: z.array(z.string()).nullish()\n});\n\nexport const GetLatestGeneratorReleaseInputSchema = z.object({\n generator: z.string(),\n cliVersion: z.string().nullish(),\n irVersion: z.number().nullish(),\n generatorMajorVersion: z.number().nullish(),\n releaseTypes: z.array(ReleaseTypeSchema).nullish()\n});\n\nexport const GetGeneratorChangelogInputSchema = z.object({\n generator: z.string(),\n fromVersion: VersionRangeSchema,\n toVersion: VersionRangeSchema\n});\n\nexport const ChangelogResponseSchema = z.object({\n version: z.string(),\n changelogEntry: z.array(ChangelogEntrySchema)\n});\n\nexport const GetChangelogResponseSchema = z.object({\n entries: z.array(ChangelogResponseSchema)\n});\n\nexport const GetGeneratorReleaseInputSchema = z.object({\n generator: z.string(),\n version: z.string()\n});\n\nexport const ListGeneratorReleasesInputSchema = z.object({\n generator: z.string(),\n page: z.coerce.number().nullish(),\n pageSize: z.coerce.number().nullish()\n});\n\nexport const ListGeneratorReleasesResponseSchema = z.object({\n generatorReleases: z.array(GeneratorReleaseSchema)\n});\n\n// ── CLI schemas ──────────────────────────────────────────────────────\n\nexport const CliReleaseSchema = z.object({\n version: z.string(),\n createdAt: z.string().nullish(),\n isYanked: YankSchema.nullish(),\n changelogEntry: z.array(ChangelogEntrySchema).nullish(),\n releaseType: ReleaseTypeSchema,\n majorVersion: z.number(),\n irVersion: z.number(),\n tags: z.array(z.string()).nullish()\n});\n\nexport const GetLatestCliReleaseInputSchema = z.object({\n releaseTypes: z.array(ReleaseTypeSchema).nullish(),\n irVersion: z.number().nullish()\n});\n\nexport const GetCliChangelogInputSchema = z.object({\n fromVersion: VersionRangeSchema,\n toVersion: VersionRangeSchema\n});\n\nexport const GetMinCliForIrInputSchema = z.object({\n irVersion: z.coerce.number()\n});\n\nexport const UpsertCliReleaseInputSchema = z.object({\n version: z.string(),\n createdAt: z.string().nullish(),\n isYanked: YankSchema.nullish(),\n changelogEntry: z.array(ChangelogEntrySchema).nullish(),\n irVersion: z.number(),\n tags: z.array(z.string()).nullish()\n});\n\nexport const GetCliReleaseInputSchema = z.object({\n cliVersion: z.string()\n});\n\nexport const ListCliReleasesInputSchema = z.object({\n page: z.coerce.number().nullish(),\n pageSize: z.coerce.number().nullish()\n});\n\nexport const ListCliReleasesResponseSchema = z.object({\n cliReleases: z.array(CliReleaseSchema)\n});\n\n// ── Contracts ────────────────────────────────────────────────────────\n\nexport const generatorsContract = {\n upsertGenerator: oc.route({ method: \"PUT\", path: \"/\" }).input(GeneratorSchema).output(z.void()),\n\n getGeneratorByImage: oc\n .route({ method: \"POST\", path: \"/by-image\" })\n .input(GetGeneratorByImageInputSchema)\n .output(GeneratorOutputSchema.nullish()),\n\n getGenerator: oc\n .route({ method: \"GET\", path: \"/{generatorId}\" })\n .input(GetGeneratorInputSchema)\n .output(GeneratorOutputSchema.nullish()),\n\n listGenerators: oc.route({ method: \"GET\", path: \"/\" }).input(z.object({})).output(z.array(GeneratorOutputSchema))\n};\n\nexport const generatorVersionsContract = {\n getLatestGeneratorRelease: oc\n .route({ method: \"POST\", path: \"/latest\" })\n .input(GetLatestGeneratorReleaseInputSchema)\n .output(GeneratorReleaseSchema),\n\n getChangelog: oc\n .route({ method: \"POST\", path: \"/{generator}/changelog\" })\n .input(GetGeneratorChangelogInputSchema)\n .output(GetChangelogResponseSchema),\n\n upsertGeneratorRelease: oc\n .route({ method: \"PUT\", path: \"/\" })\n .input(GeneratorReleaseRequestSchema)\n .output(z.void()),\n\n getGeneratorRelease: oc\n .route({ method: \"GET\", path: \"/{generator}/{version}\" })\n .input(GetGeneratorReleaseInputSchema)\n .output(GeneratorReleaseSchema),\n\n listGeneratorReleases: oc\n .route({ method: \"GET\", path: \"/{generator}\" })\n .input(ListGeneratorReleasesInputSchema)\n .output(ListGeneratorReleasesResponseSchema)\n};\n\nexport const generatorCliContract = {\n getLatestCliRelease: oc\n .route({ method: \"POST\", path: \"/latest\" })\n .input(GetLatestCliReleaseInputSchema)\n .output(CliReleaseSchema),\n\n getChangelog: oc\n .route({ method: \"POST\", path: \"/changelog\" })\n .input(GetCliChangelogInputSchema)\n .output(GetChangelogResponseSchema),\n\n getMinCliForIr: oc\n .route({ method: \"GET\", path: \"/for-ir/{irVersion}\" })\n .input(GetMinCliForIrInputSchema)\n .output(CliReleaseSchema),\n\n upsertCliRelease: oc.route({ method: \"PUT\", path: \"/\" }).input(UpsertCliReleaseInputSchema).output(z.void()),\n\n getCliRelease: oc\n .route({ method: \"GET\", path: \"/{cliVersion}\" })\n .input(GetCliReleaseInputSchema)\n .output(CliReleaseSchema),\n\n listCliReleases: oc\n .route({ method: \"GET\", path: \"/\" })\n .input(ListCliReleasesInputSchema)\n .output(ListCliReleasesResponseSchema)\n};\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { generatorsContract } from \"./contract.js\";\n\nexport type GeneratorsRootClient = JsonifiedClient<ContractRouterClient<typeof generatorsContract>>;\n\nexport interface CreateGeneratorsRootClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createGeneratorsRootClient(options: CreateGeneratorsRootClientOptions): GeneratorsRootClient {\n const link = new OpenAPILink(generatorsContract, {\n url: `${options.baseUrl}/generators`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { generatorVersionsContract } from \"../contract.js\";\n\nexport type GeneratorVersionsClient = JsonifiedClient<ContractRouterClient<typeof generatorVersionsContract>>;\n\nexport interface CreateGeneratorVersionsClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createGeneratorVersionsClient(options: CreateGeneratorVersionsClientOptions): GeneratorVersionsClient {\n const link = new OpenAPILink(generatorVersionsContract, {\n url: `${options.baseUrl}/generators/versions`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { gitContract } from \"./contract.js\";\n\nexport type GitClient = JsonifiedClient<ContractRouterClient<typeof gitContract>>;\n\nexport interface CreateGitClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createGitClient(options: CreateGitClientOptions): GitClient {\n const link = new OpenAPILink(gitContract, {\n url: `${options.baseUrl}/generators/github`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\n\n// ── Data schemas ────────────────────────────────────────────────────────\n\nexport const CheckRunSchema = z.object({\n checkId: z.string(),\n repositoryOwner: z.string(),\n repositoryName: z.string(),\n ref: z.string(),\n name: z.string(),\n status: z.string(),\n conclusion: z.string(),\n checkRunUrl: z.string(),\n createdAt: z.string(),\n completedAt: z.string().nullish(),\n rawCheckRun: z.unknown()\n});\n\nexport const GithubRepositoryIdSchema = z.object({\n id: z.string()\n});\n\nexport const RepositoryIdSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"github\") }).merge(GithubRepositoryIdSchema)\n]);\n\nexport const BaseRepositorySchema = z.object({\n id: RepositoryIdSchema,\n name: z.string(),\n owner: z.string(),\n fullName: z.string(),\n url: z.string(),\n repositoryOwnerOrganizationId: z.string(),\n defaultBranchChecks: z.array(CheckRunSchema)\n});\n\nexport const SdkRepositorySchema = BaseRepositorySchema.extend({\n type: z.literal(\"sdk\"),\n sdkLanguage: z.string()\n});\n\nexport const FernConfigRepositorySchema = BaseRepositorySchema.extend({\n type: z.literal(\"config\")\n});\n\nexport const FernRepositorySchema = z.discriminatedUnion(\"type\", [SdkRepositorySchema, FernConfigRepositorySchema]);\n\nexport const GithubUserSchema = z.object({\n name: z.string().nullish(),\n email: z.string().nullish(),\n username: z.string()\n});\n\nexport const GithubTeamSchema = z.object({\n name: z.string(),\n teamId: z.string()\n});\n\nexport const PullRequestReviewerSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"user\") }).merge(GithubUserSchema),\n z.object({ type: z.literal(\"team\") }).merge(GithubTeamSchema)\n]);\n\nexport const PullRequestStateSchema = z.enum([\"open\", \"closed\", \"merged\"]);\n\nexport const PullRequestState = {\n Open: \"open\",\n Closed: \"closed\",\n Merged: \"merged\"\n} as const;\n\nexport const PullRequestSchema = z.object({\n pullRequestNumber: z.number().int(),\n repositoryName: z.string(),\n repositoryOwner: z.string(),\n author: GithubUserSchema.nullish(),\n reviewers: z.array(PullRequestReviewerSchema),\n title: z.string(),\n url: z.string(),\n checks: z.array(CheckRunSchema),\n state: PullRequestStateSchema,\n createdAt: z.string(),\n updatedAt: z.string().nullish(),\n mergedAt: z.string().nullish(),\n closedAt: z.string().nullish()\n});\n\nexport const ListRepositoriesResponseSchema = z.object({\n repositories: z.array(FernRepositorySchema)\n});\n\nexport const ListPullRequestsResponseSchema = z.object({\n pullRequests: z.array(PullRequestSchema)\n});\n\n// ── Input schemas ───────────────────────────────────────────────────────\n\nexport const GetRepositoryInputSchema = z.object({\n repositoryOwner: z.string(),\n repositoryName: z.string()\n});\n\nexport const ListRepositoriesInputSchema = z.object({\n page: z.number().int().nullish(),\n pageSize: z.number().int().nullish(),\n organizationId: z.string().nullish(),\n repositoryName: z.string().nullish(),\n repositoryOwner: z.string().nullish()\n});\n\nexport const DeleteRepositoryInputSchema = z.object({\n repositoryOwner: z.string(),\n repositoryName: z.string()\n});\n\nexport const GetPullRequestInputSchema = z.object({\n repositoryOwner: z.string(),\n repositoryName: z.string(),\n pullRequestNumber: z.coerce.number().int()\n});\n\nexport const ListPullRequestsInputSchema = z.object({\n page: z.number().int().nullish(),\n pageSize: z.number().int().nullish(),\n repositoryName: z.string().nullish(),\n repositoryOwner: z.string().nullish(),\n organizationId: z.string().nullish(),\n state: z.array(PullRequestStateSchema).nullish(),\n author: z.array(z.string()).nullish()\n});\n\nexport const DeletePullRequestInputSchema = z.object({\n repositoryOwner: z.string(),\n repositoryName: z.string(),\n pullRequestNumber: z.coerce.number().int()\n});\n\n// ── Inferred types ──────────────────────────────────────────────────────\n\nexport type CheckRun = z.infer<typeof CheckRunSchema>;\nexport type GithubRepositoryId = z.infer<typeof GithubRepositoryIdSchema>;\nexport type RepositoryId = z.infer<typeof RepositoryIdSchema>;\nexport type BaseRepository = z.infer<typeof BaseRepositorySchema>;\nexport type SdkRepository = z.infer<typeof SdkRepositorySchema>;\nexport type FernConfigRepository = z.infer<typeof FernConfigRepositorySchema>;\nexport type FernRepository = z.infer<typeof FernRepositorySchema>;\nexport type GithubUser = z.infer<typeof GithubUserSchema>;\nexport type GithubTeam = z.infer<typeof GithubTeamSchema>;\nexport type PullRequestReviewer = z.infer<typeof PullRequestReviewerSchema>;\nexport type PullRequestState = z.infer<typeof PullRequestStateSchema>;\nexport type PullRequest = z.infer<typeof PullRequestSchema>;\nexport type ListRepositoriesResponse = z.infer<typeof ListRepositoriesResponseSchema>;\nexport type ListPullRequestsResponse = z.infer<typeof ListPullRequestsResponseSchema>;\nexport type GetRepositoryInput = z.infer<typeof GetRepositoryInputSchema>;\nexport type ListRepositoriesInput = z.infer<typeof ListRepositoriesInputSchema>;\nexport type DeleteRepositoryInput = z.infer<typeof DeleteRepositoryInputSchema>;\nexport type GetPullRequestInput = z.infer<typeof GetPullRequestInputSchema>;\nexport type ListPullRequestsInput = z.infer<typeof ListPullRequestsInputSchema>;\nexport type DeletePullRequestInput = z.infer<typeof DeletePullRequestInputSchema>;\n\n// ── Contract ────────────────────────────────────────────────────────────\n\nexport const gitContract = {\n getRepository: oc\n .route({ method: \"GET\", path: \"/repository/{repositoryOwner}/{repositoryName}\" })\n .input(GetRepositoryInputSchema)\n .output(FernRepositorySchema),\n\n listRepositories: oc\n .route({ method: \"POST\", path: \"/repository/list\" })\n .input(ListRepositoriesInputSchema)\n .output(ListRepositoriesResponseSchema),\n\n upsertRepository: oc.route({ method: \"PUT\", path: \"/repository/upsert\" }).input(FernRepositorySchema),\n\n deleteRepository: oc\n .route({ method: \"DELETE\", path: \"/repository/{repositoryOwner}/{repositoryName}/delete\" })\n .input(DeleteRepositoryInputSchema),\n\n getPullRequest: oc\n .route({ method: \"GET\", path: \"/pull-request/{repositoryOwner}/{repositoryName}/{pullRequestNumber}\" })\n .input(GetPullRequestInputSchema)\n .output(PullRequestSchema),\n\n listPullRequests: oc\n .route({ method: \"POST\", path: \"/pull-request/list\" })\n .input(ListPullRequestsInputSchema)\n .output(ListPullRequestsResponseSchema),\n\n upsertPullRequest: oc.route({ method: \"PUT\", path: \"/pull-request/upsert\" }).input(PullRequestSchema),\n\n deletePullRequest: oc\n .route({\n method: \"DELETE\",\n path: \"/pull-request/{repositoryOwner}/{repositoryName}/{pullRequestNumber}/delete\"\n })\n .input(DeletePullRequestInputSchema)\n};\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\n\nimport { mcpHostingContract } from \"./contract.js\";\n\nexport type McpHostingClient = JsonifiedClient<ContractRouterClient<typeof mcpHostingContract>>;\n\nexport interface CreateMcpHostingClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createMcpHostingClient(options: CreateMcpHostingClientOptions): McpHostingClient {\n const link = new OpenAPILink(mcpHostingContract, {\n url: `${options.baseUrl}/mcp-hosting`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\n\nimport { McpAnalyticsSchema, McpAnalyticsWindowSchema } from \"./analytics.js\";\nimport { McpDeploymentSkippedToolSchema, McpDeploymentToolSchema, McpServerCatalogSummarySchema } from \"./catalog.js\";\nimport {\n type McpAuthScheme,\n McpAuthSchemeSchema,\n type McpMetadata,\n McpMetadataSchema,\n type McpService,\n McpServiceSchema,\n type McpServiceTool,\n McpServiceToolSchema,\n type McpTool,\n McpToolSchema,\n Sha256Schema\n} from \"./schemas.js\";\nexport { McpAuthSchemeSchema, McpMetadataSchema, McpServiceSchema, McpServiceToolSchema, McpToolSchema, Sha256Schema };\nexport type { McpAuthScheme, McpMetadata, McpService, McpServiceTool, McpTool };\n\n// Bounded to 30 chars: scriptNameFor produces `{orgId}--{slug}` which must fit\n// in a 63-char Cloudflare script name (30 + 2 + 30 = 62). Lowercase + hyphens\n// only; no underscores or uppercase. The regex also forbids consecutive\n// hyphens, which keeps `--` collision-safe as the script-name separator.\nconst McpPathSegmentSchema = z\n .string()\n .min(1)\n .max(30)\n .regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/);\n\n// Outcome of one publication attempt (PUBLISHING -> SUCCEEDED | FAILED,\n// then terminal). Whether a server is serving is a separate question,\n// answered by McpServerSchema.activeDeploymentId.\nexport const McpDeploymentStatusSchema = z.enum([\"PUBLISHING\", \"SUCCEEDED\", \"FAILED\"]);\n\n/** One Worker module as submitted at deploy time and stored on the deployment row. */\nexport const McpModuleSchema = z\n .object({\n name: z.string().regex(/^[A-Za-z0-9._/-]+$/),\n hash: Sha256Schema,\n contentType: z.string().min(1)\n })\n .strict();\n\nconst McpGitInputSchema = z\n .object({\n repoUrl: z.string(),\n /** Absent on a detached HEAD (a CI checkout of a commit, say). */\n branch: z.string().optional(),\n commitSha: z.string().optional()\n })\n .strict();\n\n/**\n * The files the generator was run from, uploaded to CAS by the CLI like the\n * modules and recorded on the deployment so the dashboard can hand them back.\n * A closed set: each name fixes its content type, so a `specs.tar.gz` cannot\n * claim to be JSON and an unknown file cannot ride along. Nothing here is ever\n * published to the edge — these are provenance, not payload.\n */\nexport const McpInputFileSchema = z.discriminatedUnion(\"name\", [\n z\n .object({\n /** The `sources` part of the build request, verbatim. */\n name: z.literal(\"specs.tar.gz\"),\n contentType: z.literal(\"application/gzip\"),\n hash: Sha256Schema\n })\n .strict(),\n z\n .object({\n /** This target's sdk-config payload. */\n name: z.literal(\"sdk-config.json\"),\n contentType: z.literal(\"application/json\"),\n hash: Sha256Schema\n })\n .strict(),\n z\n .object({\n /** The build request narrowed to this target. */\n name: z.literal(\"build-request.json\"),\n contentType: z.literal(\"application/json\"),\n hash: Sha256Schema\n })\n .strict()\n]);\n\nexport const McpInputFilesSchema = z\n .array(McpInputFileSchema)\n .max(3)\n .superRefine((inputs, ctx) => {\n const names = new Set<string>();\n for (const input of inputs) {\n if (names.has(input.name)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `duplicate input name: ${input.name}`\n });\n }\n names.add(input.name);\n }\n });\n\n// ── Deploy-time bounds ─────────────────────────────────────────────────────\n//\n// Everything below applies to a deploy REQUEST only. McpMetadataSchema itself\n// stays lenient (it also parses stored rows, and rollback re-validates them),\n// so tightening it would strand deployments written before a rule existed.\n// The rules live here, attached to the request schema via superRefine, and the\n// inferred metadata type is unchanged.\n\n/** The generator's own toolset-name rule (TOOLSET_NAME_PATTERN); a toolset is a URL path segment. */\nconst TOOLSET_NAME_PATTERN = /^[a-z0-9-]+$/;\n/** MCP tool names, as the generator emits them and clients call them. */\nconst TOOL_NAME_PATTERN = /^[a-zA-Z0-9_-]{1,64}$/;\n/** An RFC 7230 token: what may name a header, query parameter or cookie an apiKey scheme injects. */\nconst HEADER_TOKEN_PATTERN = /^[!#$%&'*+.^_`|~0-9A-Za-z-]{1,128}$/;\nconst MAX_OPERATION_ID_LENGTH = 256;\nconst MAX_METHOD_LENGTH = 16;\nconst MAX_PATH_LENGTH = 2048;\n\n/** Upper bound on the serialized `metadata` of one deploy request, in UTF-8 bytes. */\nexport const MCP_METADATA_MAX_BYTES = 2 * 1024 * 1024;\n/** Upper bound on the serialized `config` blob of one deploy request, in UTF-8 bytes. */\nexport const MCP_CONFIG_MAX_BYTES = 64 * 1024;\n\n/** UTF-8 byte length of a string. TextEncoder is available in Node, workers and browsers alike. */\nfunction utf8ByteLength(text: string): number {\n return new TextEncoder().encode(text).byteLength;\n}\n\n/**\n * Predicate for a size refinement: the value's JSON serialization is at most\n * `limit` UTF-8 bytes. Counted in bytes, not characters — bytes are what the\n * JSONB column and the wire carry, and one character can be several of them.\n * `undefined` (an absent optional field) always fits.\n */\nfunction maxSerializedBytes(limit: number): (value: unknown) => boolean {\n return (value) => {\n if (value === undefined) {\n return true;\n }\n const json = JSON.stringify(value);\n return json === undefined || utf8ByteLength(json) <= limit;\n };\n}\n\n/**\n * The deploy-only rules for `metadata`. Every string here is deployer-\n * controlled and ends up in a URL, a header name or a dashboard cell, so the\n * closed alphabets and lengths bound what can reach those places.\n */\nfunction deployMetadataChecks(metadata: McpMetadata, ctx: z.RefinementCtx): void {\n for (const [toolset, members] of Object.entries(metadata.toolsets)) {\n if (!TOOLSET_NAME_PATTERN.test(toolset)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: [\"toolsets\", toolset],\n message: `toolset name \"${toolset}\" must match ${TOOLSET_NAME_PATTERN}`\n });\n }\n members.forEach((member, index) => {\n if (!TOOL_NAME_PATTERN.test(member)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: [\"toolsets\", toolset, index],\n message: `tool name \"${member}\" must match ${TOOL_NAME_PATTERN}`\n });\n }\n });\n }\n (metadata.tools ?? []).forEach((tool, index) => {\n if (!TOOL_NAME_PATTERN.test(tool.name)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: [\"tools\", index, \"name\"],\n message: `tool name \"${tool.name}\" must match ${TOOL_NAME_PATTERN}`\n });\n }\n if (tool.operationId != null && tool.operationId.length > MAX_OPERATION_ID_LENGTH) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: [\"tools\", index, \"operationId\"],\n message: `operationId must be at most ${MAX_OPERATION_ID_LENGTH} characters`\n });\n }\n if (tool.method.length > MAX_METHOD_LENGTH) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: [\"tools\", index, \"method\"],\n message: `method must be at most ${MAX_METHOD_LENGTH} characters`\n });\n }\n if (tool.path.length > MAX_PATH_LENGTH) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: [\"tools\", index, \"path\"],\n message: `path must be at most ${MAX_PATH_LENGTH} characters`\n });\n }\n });\n metadata.auth.schemes.forEach((scheme, index) => {\n if (scheme.type === \"apiKey\" && !HEADER_TOKEN_PATTERN.test(scheme.paramName)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: [\"auth\", \"schemes\", index, \"paramName\"],\n message: `paramName \"${scheme.paramName}\" must be an RFC 7230 token of at most 128 characters`\n });\n }\n });\n if (!maxSerializedBytes(MCP_METADATA_MAX_BYTES)(metadata)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `metadata must be at most ${MCP_METADATA_MAX_BYTES} bytes serialized`\n });\n }\n}\n\nexport const DeployMcpServerInputSchema = z\n .object({\n orgId: McpPathSegmentSchema,\n slug: McpPathSegmentSchema,\n mainModule: z.string().min(1),\n compatibilityDate: z.string().regex(/^\\d{4}-\\d{2}-\\d{2}$/),\n compatibilityFlags: z.array(z.string()),\n // Bounded so a single deploy request cannot fan out unbounded parallel\n // CAS lookups and S3 reads. Generated MCP workers are 1-2 modules;\n // 20 leaves room for wasm/sourcemap/chunk splitting.\n modules: z.array(McpModuleSchema).min(1).max(20),\n metadata: McpMetadataSchema.superRefine(deployMetadataChecks),\n // Everything else in this schema is bounded; keep the opaque config\n // blob bounded too so it cannot balloon the JSONB row.\n config: z\n .unknown()\n .optional()\n .refine(maxSerializedBytes(MCP_CONFIG_MAX_BYTES), {\n message: `config must be at most ${MCP_CONFIG_MAX_BYTES} bytes serialized`\n }),\n generatorName: z.string().min(1),\n generatorVersion: z.string().min(1),\n cliVersion: z.string().optional(),\n git: McpGitInputSchema.optional(),\n inputs: McpInputFilesSchema.optional()\n })\n .strict()\n .superRefine((input, ctx) => {\n // FormData.set silently overwrites duplicate parts, so a duplicate\n // module name would drop bytes without any error from Cloudflare.\n const names = new Set<string>();\n for (const module of input.modules) {\n if (names.has(module.name)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: [\"modules\"],\n message: `duplicate module name: ${module.name}`\n });\n }\n names.add(module.name);\n }\n if (!names.has(input.mainModule)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: [\"mainModule\"],\n message: `mainModule ${input.mainModule} is not among the submitted modules`\n });\n }\n });\n\nexport const GetMcpServerInputSchema = z.object({\n orgId: McpPathSegmentSchema,\n slug: McpPathSegmentSchema\n});\n\nexport const ListMcpServersInputSchema = z.object({\n orgId: z.string()\n});\n\nexport const ListMcpDeploymentsInputSchema = GetMcpServerInputSchema;\nexport const DeleteMcpServerInputSchema = GetMcpServerInputSchema;\nexport const PauseMcpServerInputSchema = GetMcpServerInputSchema;\nexport const ResumeMcpServerInputSchema = GetMcpServerInputSchema;\n\nexport const GetMcpDeploymentInputSchema = z.object({\n orgId: McpPathSegmentSchema,\n slug: McpPathSegmentSchema,\n /** Id of one of the server's attempts (the rows are uuid v7). */\n deploymentId: z.string().uuid()\n});\n\nexport const RollbackMcpServerInputSchema = z.object({\n orgId: McpPathSegmentSchema,\n slug: McpPathSegmentSchema,\n /** Id of the SUCCEEDED deployment whose payload should serve again. */\n deploymentId: z.string().min(1).max(64)\n});\n\nexport const GetMcpAnalyticsInputSchema = z.object({\n orgId: McpPathSegmentSchema,\n slug: McpPathSegmentSchema,\n window: McpAnalyticsWindowSchema.default(\"24h\")\n});\n\n/** The git checkout the CLI reported at deploy time; see McpGitInputSchema. */\nexport const McpDeploymentGitSchema = z.object({\n repoUrl: z.string(),\n branch: z.string().nullish(),\n commitSha: z.string().nullish()\n});\n\nexport const McpDeploymentSummarySchema = z.object({\n id: z.string(),\n status: McpDeploymentStatusSchema,\n /** True when this deployment is the one the server currently serves. */\n isActive: z.boolean(),\n /**\n * Docker image name of the generator that produced this attempt's payload\n * (DeployMcpServerInputSchema.generatorName). Null only on the wire from\n * an FDR that predates the field; the column itself is required.\n */\n generatorName: z.string().nullish(),\n generatorVersion: z.string(),\n createdAt: z.string(),\n createdBy: z.string().nullish(),\n error: z.object({ name: z.string(), message: z.string() }).nullish(),\n /**\n * Set when this attempt republished an earlier deployment's payload\n * (rollbackServer): the id of that source deployment. Null for attempts\n * that came from a deploy.\n */\n rolledBackFromDeploymentId: z.string().nullish(),\n /**\n * Headline tool count of this attempt's payload, by the same rule as\n * McpServerCatalogSummarySchema.toolCount. Null when the stored payload\n * predates the current metadata schema.\n */\n toolCount: z.number().int().nullish(),\n /**\n * Version of the Fern CLI that submitted this attempt, when one identified\n * itself (DeployMcpServerInputSchema.cliVersion). Null for attempts that\n * reached the deploy endpoint without it, and for rollbacks, which FDR\n * records on its own behalf.\n */\n cliVersion: z.string().nullish(),\n /**\n * The CI run that submitted this attempt, as the CLI described it in the\n * `X-CI-Source` header and FDR sanitized it (the same treatment docs\n * publishes get: `runUrl` is kept only when https on a known host). Keys\n * are the CLI's — type, repo, runId, runUrl, commitSha, branch, actor —\n * and, like the deployer headers, self-asserted by the caller. Null for\n * local deploys and rollbacks.\n */\n ciSource: z.record(z.string(), z.unknown()).nullish(),\n /**\n * The repository this attempt's payload was generated from, as the CLI\n * reported it (DeployMcpServerInputSchema.git). A rollback carries its\n * source deployment's checkout. Null for attempts that reached the deploy\n * endpoint without one, and on the wire from an FDR that predates the\n * field.\n */\n git: McpDeploymentGitSchema.nullish(),\n /**\n * Short digest of the Worker modules this attempt deployed, derived from the\n * modules' own content hashes (see bundleDigestFrom in FDR). Two attempts\n * that shipped the same bytes carry the same digest — a rollback and the\n * deployment it restored always do — so it names what a version *is* rather\n * than which row it was. Null when the stored module list does not parse.\n */\n bundleDigest: z.string().nullish()\n});\n\n/** One recorded input file with a presigned, time-limited URL to download its bytes. */\nexport const McpDeploymentInputFileSchema = z.object({\n name: z.string(),\n contentType: z.string(),\n hash: z.string(),\n downloadUrl: z.string()\n});\n\n/**\n * Everything FDR stored about one attempt, for the dashboard's deployment\n * detail: the summary plus what the payload was built from. FDR stores and\n * hands back; it does not interpret `config`. Legacy rows read as `tools: []`\n * and `inputs: null` rather than failing.\n */\nexport const McpDeploymentDetailSchema = McpDeploymentSummarySchema.extend({\n /** Empty when the stored metadata carries no `tools` (generators before provenance). */\n tools: z.array(McpDeploymentToolSchema),\n skippedTools: z.array(McpDeploymentSkippedToolSchema),\n /** The stored toolset membership map, as deployed. */\n toolsets: z.record(z.string(), z.array(z.string())),\n /** The raw generators.yml `config:` block the CLI sent, or null. Visible to org members. */\n config: z.unknown().nullable(),\n /** Null when the attempt recorded no inputs (older CLIs, rollbacks of such rows). */\n inputs: z.array(McpDeploymentInputFileSchema).nullable()\n});\n\nexport const McpServerSchema = z.object({\n id: z.string(),\n orgId: z.string(),\n slug: z.string(),\n /** The server is serving iff this is set; it names the serving deployment. */\n activeDeploymentId: z.string().nullish(),\n /** Most recent publication attempt — how the last deploy went. */\n latestDeployment: McpDeploymentSummarySchema.nullish(),\n /**\n * ISO timestamp of the owner's pause, or null when the server serves\n * normally. While set, the dispatcher answers every request with 429\n * (KV_KEY_PREFIX_PAUSED in kv.ts). Independent of activeDeploymentId: a\n * paused server keeps its serving deployment and resumes exactly there.\n */\n pausedAt: z.string().nullish(),\n /**\n * What the server offers, derived from the ACTIVE deployment's stored\n * metadata (tools, toolsets, auth, configuration). Null when nothing is\n * active, or when the active row's payload predates the current metadata\n * schema. See catalog.ts for the derivation rules.\n */\n catalog: McpServerCatalogSummarySchema.nullish(),\n url: z.string().url(),\n createdAt: z.string(),\n updatedAt: z.string()\n});\n\nexport const ListMcpServersResponseSchema = z.object({ servers: z.array(McpServerSchema) });\nexport const ListMcpDeploymentsResponseSchema = z.object({ deployments: z.array(McpDeploymentSummarySchema) });\n\nexport type McpDeploymentStatus = z.infer<typeof McpDeploymentStatusSchema>;\nexport type McpModule = z.infer<typeof McpModuleSchema>;\nexport type McpInputFile = z.infer<typeof McpInputFileSchema>;\nexport type DeployMcpServerInput = z.infer<typeof DeployMcpServerInputSchema>;\nexport type GetMcpDeploymentInput = z.infer<typeof GetMcpDeploymentInputSchema>;\nexport type RollbackMcpServerInput = z.infer<typeof RollbackMcpServerInputSchema>;\nexport type McpServer = z.infer<typeof McpServerSchema>;\nexport type McpDeploymentSummary = z.infer<typeof McpDeploymentSummarySchema>;\nexport type McpDeploymentGit = z.infer<typeof McpDeploymentGitSchema>;\nexport type McpDeploymentInputFile = z.infer<typeof McpDeploymentInputFileSchema>;\nexport type McpDeploymentDetail = z.infer<typeof McpDeploymentDetailSchema>;\nexport type ListMcpServersResponse = z.infer<typeof ListMcpServersResponseSchema>;\nexport type ListMcpDeploymentsResponse = z.infer<typeof ListMcpDeploymentsResponseSchema>;\n/** Wire shape of a getAnalytics request (`window` is optional and defaults to \"24h\"). */\nexport type GetMcpAnalyticsInput = z.input<typeof GetMcpAnalyticsInputSchema>;\n\nexport const mcpHostingContract = {\n deploy: oc.route({ method: \"POST\", path: \"/deploy\" }).input(DeployMcpServerInputSchema).output(McpServerSchema),\n getServer: oc\n .route({ method: \"GET\", path: \"/servers/{slug}\" })\n .input(GetMcpServerInputSchema)\n .output(McpServerSchema),\n listServers: oc\n .route({ method: \"GET\", path: \"/servers\" })\n .input(ListMcpServersInputSchema)\n .output(ListMcpServersResponseSchema),\n listDeployments: oc\n .route({ method: \"GET\", path: \"/servers/{slug}/deployments\" })\n .input(ListMcpDeploymentsInputSchema)\n .output(ListMcpDeploymentsResponseSchema),\n /**\n * One attempt in full: its summary plus the tools (with operation\n * provenance and toolset membership), skipped tools, raw config, git\n * checkout and downloadable input files FDR recorded for it. Input\n * download URLs are presigned and short-lived; callers must not cache\n * the response. NOT_FOUND for a server the org does not have or a\n * deployment the server does not have — an id from another server, or\n * another org, is not found rather than forbidden.\n */\n getDeployment: oc\n .route({ method: \"GET\", path: \"/servers/{slug}/deployments/{deploymentId}\" })\n .input(GetMcpDeploymentInputSchema)\n .output(McpDeploymentDetailSchema),\n deleteServer: oc.route({ method: \"DELETE\", path: \"/servers/{slug}\" }).input(DeleteMcpServerInputSchema),\n /**\n * Stop serving without touching the deployment: the dispatcher answers\n * 429 until resumeServer. Idempotent; returns the (paused) server.\n */\n pauseServer: oc\n .route({ method: \"POST\", path: \"/servers/{slug}/pause\" })\n .input(PauseMcpServerInputSchema)\n .output(McpServerSchema),\n /** Undo pauseServer. Idempotent; returns the (serving) server. */\n resumeServer: oc\n .route({ method: \"POST\", path: \"/servers/{slug}/resume\" })\n .input(ResumeMcpServerInputSchema)\n .output(McpServerSchema),\n /**\n * Serve an earlier SUCCEEDED deployment's payload again. Recorded as a\n * NEW attempt whose rolledBackFromDeploymentId names the source, so the\n * attempt log stays append-only; activeDeploymentId moves to that new\n * row. No-op (no new attempt, server returned as is) when the source's\n * payload already serves: the active row is the source itself, or the\n * active row is a rollback whose rolledBackFromDeploymentId is the\n * source — so \"roll back to this version\" can be clicked repeatedly.\n * NOT_FOUND for a deployment the server does not have; BAD_REQUEST when\n * the source is not SUCCEEDED, predates the current deployment schema,\n * or its module bytes are no longer stored.\n */\n rollbackServer: oc\n .route({ method: \"POST\", path: \"/servers/{slug}/deployments/{deploymentId}/rollback\" })\n .input(RollbackMcpServerInputSchema)\n .output(McpServerSchema),\n /**\n * Sampling-corrected usage aggregate for one server, read from Cloudflare\n * Analytics Engine by FDR (the tenant filter is applied server-side, so no\n * Cloudflare credential reaches the browser). See analytics.ts.\n */\n getAnalytics: oc\n .route({ method: \"GET\", path: \"/servers/{slug}/analytics\" })\n .input(GetMcpAnalyticsInputSchema)\n .output(McpAnalyticsSchema)\n};\n","import * as z from \"zod\";\n\n/**\n * MCP analytics contract (\"Contract A\").\n *\n * The MCP dispatcher (packages/workers/mcp-dispatcher) writes one Cloudflare\n * Analytics Engine data point per request it forwards to a tenant. FDR queries\n * the dataset (org filter applied server-side) and the dashboard renders the\n * aggregate. Analytics Engine columns are positional (`index1`, `blob1..`,\n * `double1..`), so the writer and every reader import the positions and\n * vocabularies from here instead of restating them.\n */\n\n/** One dataset per environment. The prototype's `mcp_analytics_staging` is separate. */\nexport const McpAnalyticsDataset = {\n PROD: \"mcp_analytics\",\n DEV: \"mcp_analytics_dev\"\n} as const;\nexport type McpAnalyticsDataset = (typeof McpAnalyticsDataset)[keyof typeof McpAnalyticsDataset];\n\n/** Bumped when a blob/double position changes meaning. Written to `blob9`. */\nexport const MCP_ANALYTICS_SCHEMA_VERSION = \"v1\";\n\n/** JSON-RPC method class of the forwarded request (`blob1`). */\nexport const McpAnalyticsMethod = {\n INITIALIZE: \"initialize\",\n TOOLS_LIST: \"tools/list\",\n TOOLS_CALL: \"tools/call\",\n RESOURCES_LIST: \"resources/list\",\n RESOURCES_READ: \"resources/read\",\n PROMPTS_LIST: \"prompts/list\",\n PING: \"ping\",\n /** A JSON-RPC notification (no `id`). */\n NOTIFICATION: \"notification\",\n /** A JSON-RPC batch array; per-call attribution is not attempted. */\n BATCH: \"batch\",\n /** Any other JSON-RPC method. */\n OTHER: \"other\",\n /** The body was not JSON-RPC (GET, HTML, malformed JSON). */\n NON_RPC: \"non_rpc\"\n} as const;\nexport type McpAnalyticsMethod = (typeof McpAnalyticsMethod)[keyof typeof McpAnalyticsMethod];\n\n/** Outcome class of the tenant response (`blob3`). */\nexport const McpAnalyticsOutcome = {\n /** 2xx with a JSON-RPC `result` that is not a tool error. */\n SUCCESS: \"success\",\n /** 2xx `tools/call` whose result carries `isError: true` (upstream API failed). */\n TOOL_ERROR: \"tool_error\",\n /** 2xx with a JSON-RPC `error` object. */\n RPC_ERROR: \"rpc_error\",\n /** `rpc_error` whose message says the requested tool does not exist; `blob2` holds the requested name. */\n UNKNOWN_TOOL: \"unknown_tool\",\n /** The tenant returned a non-2xx HTTP status. */\n HTTP_ERROR: \"http_error\",\n /** The body could not be classified (over the inspection limit, not JSON, stream ended early). */\n UNKNOWN: \"unknown\"\n} as const;\nexport type McpAnalyticsOutcome = (typeof McpAnalyticsOutcome)[keyof typeof McpAnalyticsOutcome];\n\n/** 1-based blob positions; `blob${n}` is the Analytics Engine column name. */\nexport const McpAnalyticsBlob = {\n METHOD: 1,\n /** `tools/call` name, or the requested name on `unknown_tool`; \"\" otherwise. */\n TOOL: 2,\n OUTCOME: 3,\n ORG_ID: 4,\n SLUG: 5,\n /** The `MCP-Protocol-Version` request header, or \"legacy\" when absent. */\n PROTOCOL: 6,\n /** First product token of the User-Agent header, or \"\". */\n CLIENT: 7,\n /** `request.cf.country`, or \"\". */\n COUNTRY: 8,\n SCHEMA: 9\n} as const;\n\n/** 1-based double positions; `double${n}` is the Analytics Engine column name. */\nexport const McpAnalyticsDouble = {\n /** HTTP status returned to the caller. */\n STATUS: 1,\n /**\n * Time from the dispatcher receiving the request to the tenant's response\n * headers (or to a thrown tenant fetch) — never to the end of the\n * dispatcher's body inspection, so it is comparable across body types. An\n * SSE tenant's own time to answer after its headers is therefore not\n * measured; there is no second timestamp in this contract.\n */\n DURATION_MS: 2,\n /** 0 when unknown. */\n REQUEST_BYTES: 3,\n /**\n * Exact when the tenant sent a `Content-Length`, and otherwise the bytes\n * the dispatcher read from the body — which is a floor on the size, not\n * the size, for a streamed body it stopped reading early: an SSE body\n * classified on its first event, a body over the inspection limit, and a\n * body still silent at the inspection deadline. Compare it across\n * transports with that in mind. 0 when unknown.\n */\n RESPONSE_BYTES: 4\n} as const;\n\nexport const McpAnalyticsLimits = {\n TOOL_NAME_MAX_CHARS: 256,\n CLIENT_MAX_CHARS: 64,\n /** Bytes of the request body the dispatcher parses for method and tool name (method and name lead the JSON). */\n BODY_INSPECT_BYTES: 64 * 1024,\n /**\n * Bytes of a 2xx response body the dispatcher inspects to classify the outcome.\n * A JSON-RPC result must be parsed whole, and MCP results (list endpoints,\n * documents) routinely exceed 64 KiB, so this matches the 1 MiB request cap;\n * larger bodies are recorded as `unknown`, never blocked.\n */\n RESPONSE_INSPECT_BYTES: 1024 * 1024\n} as const;\n\n/** Tenant script name and the only indexed column (`index1`). */\nexport function mcpAnalyticsIndex(orgId: string, slug: string): string {\n return `${orgId}--${slug}`;\n}\n\n/** The exact tuple shape the dispatcher passes to `AnalyticsEngineDataset.writeDataPoint`. */\nexport interface McpAnalyticsDataPoint {\n indexes: [tenant: string];\n blobs: [\n method: McpAnalyticsMethod,\n tool: string,\n outcome: McpAnalyticsOutcome,\n orgId: string,\n slug: string,\n protocol: string,\n client: string,\n country: string,\n schema: typeof MCP_ANALYTICS_SCHEMA_VERSION\n ];\n doubles: [status: number, durationMs: number, requestBytes: number, responseBytes: number];\n}\n\n/**\n * Analytics Engine keeps data points for roughly three months, so a window\n * past 90 days would only ever be partially populated.\n */\nexport const MCP_ANALYTICS_MAX_WINDOW_DAYS = 90;\n\n/** `<n>d` for a whole number of days, 1 through MCP_ANALYTICS_MAX_WINDOW_DAYS. */\nexport type McpAnalyticsDayWindow = `${number}d`;\n\n/**\n * The window an analytics request covers, ending now: the last 24 hours\n * (bucketed hourly) or the last n days (bucketed daily).\n */\nexport type McpAnalyticsWindow = \"24h\" | McpAnalyticsDayWindow;\n\nconst DAY_WINDOW_PATTERN = /^([1-9][0-9]{0,2})d$/;\n\n/** The day count of a `<n>d` window, or undefined for \"24h\" and anything malformed or out of range. */\nexport function parseMcpAnalyticsWindowDays(window: string): number | undefined {\n const match = DAY_WINDOW_PATTERN.exec(window);\n if (match?.[1] == null) {\n return undefined;\n }\n const days = Number(match[1]);\n return days <= MCP_ANALYTICS_MAX_WINDOW_DAYS ? days : undefined;\n}\n\nexport function isMcpAnalyticsWindow(value: unknown): value is McpAnalyticsWindow {\n return typeof value === \"string\" && (value === \"24h\" || parseMcpAnalyticsWindowDays(value) != null);\n}\n\nexport const McpAnalyticsWindowSchema = z.custom<McpAnalyticsWindow>(isMcpAnalyticsWindow, {\n message: `Expected \"24h\" or \"<n>d\" with n from 1 to ${MCP_ANALYTICS_MAX_WINDOW_DAYS}`\n});\n\nconst Count = z.number().int().nonnegative();\n\nconst McpAnalyticsStatusRowSchema = z.object({ status: z.number().int(), count: Count });\nconst McpAnalyticsClientRowSchema = z.object({ client: z.string(), requests: Count });\n\n/**\n * HTTP statuses that read as an authorization failure on a JSON-RPC request:\n * the tenant (or the API behind it) rejected the caller's credentials before\n * answering the method.\n */\nexport const MCP_ANALYTICS_AUTH_FAILURE_STATUSES = [401, 403] as const;\n\n/**\n * Aggregate FDR returns for one server and window. Counts are sampling-corrected\n * (`SUM(_sample_interval)`).\n *\n * Every figure outside `web` covers MCP traffic only: requests whose body parsed\n * as JSON-RPC (`method != non_rpc`). Everything else that reached the tenant —\n * browsers on a toolset URL, crawlers, uptime checks, and the transport's own\n * `GET`/`DELETE` — is reported under `web` so it cannot dilute tool-call\n * success rates or the client breakdown.\n */\nexport const McpAnalyticsSchema = z.object({\n window: McpAnalyticsWindowSchema,\n /** ISO-8601 bounds of the window. */\n from: z.string(),\n to: z.string(),\n summary: z.object({\n /** JSON-RPC requests; `web.requests` holds the rest. */\n requests: Count,\n toolCalls: Count,\n success: Count,\n toolErrors: Count,\n rpcErrors: Count,\n unknownTool: Count,\n httpErrors: Count,\n /** JSON-RPC requests answered with one of MCP_ANALYTICS_AUTH_FAILURE_STATUSES. */\n authFailures: Count\n }),\n /**\n * Hourly buckets for 24h, daily otherwise; zero-filled so the chart has no gaps.\n * `errors` = tool_error + rpc_error + http_error. `unknown_tool` is not an error:\n * it is reported separately in `missingTools`. `webRequests` is the non-RPC\n * traffic in the same bucket.\n */\n series: z.array(\n z.object({ bucket: z.string(), requests: Count, toolCalls: Count, errors: Count, webRequests: Count })\n ),\n /**\n * Top 10 called tools; `errors` as in `series`, `success` the calls that\n * returned a result. Requests for tools that do not exist are excluded.\n */\n topTools: z.array(z.object({ tool: z.string(), calls: Count, success: Count, errors: Count })),\n /** Tools agents asked for that do not exist on this server (outcome `unknown_tool`, non-empty name), top 10. */\n missingTools: z.array(z.object({ tool: z.string(), calls: Count })),\n /** Every JSON-RPC method class seen in the window, with its result and error counts. */\n methods: z.array(z.object({ method: z.string(), requests: Count, success: Count, errors: Count })),\n statuses: z.array(McpAnalyticsStatusRowSchema),\n /** Top 10 client families by JSON-RPC request count. */\n clients: z.array(McpAnalyticsClientRowSchema),\n /** Non-RPC traffic that reached the tenant: browsers, crawlers, transport GET/DELETE. */\n web: z.object({\n requests: Count,\n statuses: z.array(McpAnalyticsStatusRowSchema),\n /** Top 10 client families by non-RPC request count. */\n clients: z.array(McpAnalyticsClientRowSchema)\n })\n});\nexport type McpAnalytics = z.infer<typeof McpAnalyticsSchema>;\n","import * as z from \"zod\";\n\nimport { McpAuthSchemeSchema, type McpMetadata, McpMetadataSchema } from \"./schemas.js\";\n\n/**\n * The catalog summary FDR derives from a deployment's stored metadata for the\n * dashboard: what the server offers (tools, toolsets, auth, configuration) in\n * a display-ready shape. Pure projection of McpMetadata — no storage\n * of its own — so it lives next to the metadata schema it reads and can be\n * computed from any stored row, fixture, or generator output.\n */\n\n/** Skipped tools listed inline on the summary; `skippedToolCount` always carries the total. */\nexport const MCP_CATALOG_SKIPPED_TOOLS_LIMIT = 50;\n\nexport const McpCatalogToolSchema = z.object({\n name: z.string(),\n /**\n * The description MCP clients see. Absent when the stored metadata has\n * none for this tool (rows from generators before `services`, or a name\n * with no service entry).\n */\n description: z.string().optional()\n});\nexport type McpCatalogTool = z.infer<typeof McpCatalogToolSchema>;\n\n/** The toolset a client gets when it selects none; its size is the headline tool count. */\nconst DEFAULT_TOOLSET = \"default\";\n\nexport const McpCatalogToolsetSchema = z.object({\n name: z.string(),\n title: z.string(),\n description: z.string(),\n /** Size of the toolset's membership list when stored, else the generator's declared count. */\n toolCount: z.number().int(),\n /**\n * The toolset's members, in the generator's order; empty when this metadata\n * stores no membership list for it (toolCount is then the declared count).\n */\n tools: z.array(z.string())\n});\n\nexport const McpServerCatalogSummarySchema = z.object({\n /** Server name from the generator (the `serverName` MCP clients see). */\n name: z.string(),\n /** Upstream API the tools call. */\n baseUrl: z.string(),\n /**\n * Headline tool count: the size of the \"default\" toolset (what a client\n * gets without selecting one); if there is no default toolset, the size\n * of the largest toolset; 0 when there are no toolsets.\n *\n * Not the same figure as DeploymentMeta.toolCount in kv.ts, which counts\n * distinct tools across ALL toolsets for the serving plane's `meta:` KV\n * value (an audit number). This one is what a connecting client sees.\n */\n toolCount: z.number().int(),\n /** The tools behind toolCount, in the generator's order, with their client-facing descriptions. */\n tools: z.array(McpCatalogToolSchema),\n /**\n * Named toolsets from the generator's toolsetMetadata, in its order. The\n * \"default\" toolset is not listed here (the dashboard adds it from\n * toolCount and tools).\n */\n toolsets: z.array(McpCatalogToolsetSchema),\n auth: z.object({\n required: z.boolean(),\n schemes: z.array(McpAuthSchemeSchema)\n }),\n /** At most MCP_CATALOG_SKIPPED_TOOLS_LIMIT entries; see skippedToolCount for the total. */\n skippedTools: z.array(z.object({ name: z.string(), reason: z.string() })),\n skippedToolCount: z.number().int(),\n environmentVariables: z.array(\n z.object({\n name: z.string(),\n description: z.string(),\n required: z.boolean()\n })\n )\n});\n\n/**\n * One tool on the deployment detail: the generator's provenance record plus\n * the toolsets that offer it, derived from the stored `toolsets` map. Display\n * shape — the contract's fields only, no passthrough.\n */\nexport const McpDeploymentToolSchema = z.object({\n name: z.string(),\n /** The OpenAPI operationId, or null when the operation declared none. */\n operationId: z.string().nullable(),\n method: z.string(),\n path: z.string(),\n /** Names of the toolsets whose membership list contains this tool: \"default\" first, then alphabetical. */\n toolsets: z.array(z.string())\n});\n\n/** One skipped tool on the deployment detail, with provenance when the generator recorded it. */\nexport const McpDeploymentSkippedToolSchema = z.object({\n name: z.string(),\n reason: z.string(),\n operationId: z.string().nullable(),\n method: z.string().nullable(),\n path: z.string().nullable()\n});\n\nexport type McpCatalogToolset = z.infer<typeof McpCatalogToolsetSchema>;\nexport type McpServerCatalogSummary = z.infer<typeof McpServerCatalogSummarySchema>;\nexport type McpDeploymentTool = z.infer<typeof McpDeploymentToolSchema>;\nexport type McpDeploymentSkippedTool = z.infer<typeof McpDeploymentSkippedToolSchema>;\n\n/**\n * The membership list of one toolset, or null when this metadata does not\n * carry one for that name.\n *\n * `toolsets` is a record straight off `JSON.parse`, so it has `Object.prototype`\n * in its chain, and the names indexing it come from the customer's spec (a\n * toolset is an OpenAPI tag). A plain lookup for a tag named `toString` returns\n * `Object.prototype.toString` — a function, so not nullish, and `.length` is its\n * arity. A `?? declaredCount` fallback would never fire and the count would\n * silently read 0; `constructor` and `hasOwnProperty` read 1. `Object.hasOwn`\n * is what makes the lookup mean what it says. Do not inline this back.\n */\nfunction toolsetMembership(metadata: McpMetadata, name: string): string[] | null {\n return Object.hasOwn(metadata.toolsets, name) ? (metadata.toolsets[name] ?? null) : null;\n}\n\n/**\n * The headline tool list; see McpServerCatalogSummarySchema.toolCount for the\n * rule. Deliberately different from deploymentMetaFromParsed in kv.ts (distinct\n * tools across all toolsets, the `meta:` KV audit figure): this is the default\n * toolset, i.e. what a client connecting without a toolset selection gets.\n */\nexport function defaultToolsFromParsed(metadata: McpMetadata): string[] {\n const defaultTools = toolsetMembership(metadata, DEFAULT_TOOLSET);\n if (defaultTools != null) {\n return defaultTools;\n }\n return Object.values(metadata.toolsets).reduce<string[]>(\n (largest, tools) => (tools.length > largest.length ? tools : largest),\n []\n );\n}\n\n/** Per-tool descriptions from `services[]`, keyed by tool name; empty when the metadata stores none. */\nfunction toolDescriptionsFromParsed(metadata: McpMetadata): Map<string, string> {\n const descriptions = new Map<string, string>();\n for (const service of metadata.services ?? []) {\n for (const tool of service.tools) {\n if (tool.description && !descriptions.has(tool.name)) {\n descriptions.set(tool.name, tool.description);\n }\n }\n }\n return descriptions;\n}\n\n/** The headline tool count rule; see McpServerCatalogSummarySchema.toolCount. */\nexport function toolCountFromParsed(metadata: McpMetadata): number {\n return defaultToolsFromParsed(metadata).length;\n}\n\n/** Accept pre-parsed metadata (already validated by McpMetadataSchema). */\nexport function catalogSummaryFromParsed(metadata: McpMetadata): McpServerCatalogSummary {\n const defaultTools = defaultToolsFromParsed(metadata);\n const descriptions = toolDescriptionsFromParsed(metadata);\n return {\n name: metadata.name,\n baseUrl: metadata.baseUrl,\n toolCount: defaultTools.length,\n tools: defaultTools.map((name) => {\n const description = descriptions.get(name);\n return description == null ? { name } : { name, description };\n }),\n toolsets: metadata.toolsetMetadata\n .filter((toolset) => toolset.name !== DEFAULT_TOOLSET)\n .map((toolset) => {\n const tools = toolsetMembership(metadata, toolset.name);\n return {\n name: toolset.name,\n title: toolset.title,\n description: toolset.description,\n toolCount: tools?.length ?? toolset.toolCount,\n tools: tools ?? []\n };\n }),\n auth: {\n required: metadata.auth.required,\n schemes: metadata.auth.schemes\n },\n skippedTools: metadata.skippedTools\n .slice(0, MCP_CATALOG_SKIPPED_TOOLS_LIMIT)\n .map((tool) => ({ name: tool.name, reason: tool.reason })),\n skippedToolCount: metadata.skippedTools.length,\n environmentVariables: metadata.environmentVariables.map((variable) => ({\n name: variable.name,\n description: variable.description,\n required: variable.required\n }))\n };\n}\n\n/**\n * From a deployment row's stored metadata JSON. Null when it no longer parses\n * against today's schema (rows written before required fields were added),\n * so a legacy row degrades to \"no catalog\" rather than failing the read.\n */\nexport function catalogSummaryFromStored(metadata: unknown): McpServerCatalogSummary | null {\n const parsed = McpMetadataSchema.safeParse(metadata);\n return parsed.success ? catalogSummaryFromParsed(parsed.data) : null;\n}\n\n/** Same rule and same legacy behaviour as catalogSummaryFromStored, for per-attempt summaries. */\nexport function toolCountFromStored(metadata: unknown): number | null {\n const parsed = McpMetadataSchema.safeParse(metadata);\n return parsed.success ? toolCountFromParsed(parsed.data) : null;\n}\n\n/**\n * Toolset names in the order the detail lists them: \"default\" first (the\n * headline toolset), then the rest alphabetically. The stored map's own key\n * order is not used — the row is JSONB, which does not keep it.\n */\nfunction orderedToolsetNames(metadata: McpMetadata): string[] {\n return Object.keys(metadata.toolsets).sort((a, b) => {\n if (a === b) {\n return 0;\n }\n if (a === DEFAULT_TOOLSET) {\n return -1;\n }\n if (b === DEFAULT_TOOLSET) {\n return 1;\n }\n return a < b ? -1 : 1;\n });\n}\n\n/**\n * The deployment's tools with their toolset membership, for the detail view.\n * Membership is derived, not stored per tool: a toolset offers a tool iff\n * its stored membership list names it. Empty when the metadata carries no\n * `tools` (generators before provenance), which the dashboard shows as\n * \"no per-tool detail\" rather than \"no tools\".\n */\nexport function deploymentToolsFromParsed(metadata: McpMetadata): McpDeploymentTool[] {\n const tools = metadata.tools ?? [];\n if (tools.length === 0) {\n return [];\n }\n // Same prototype trap as toolsetMembership: the toolset names come from\n // the customer's spec, so index the record only through Object.hasOwn.\n const membership = orderedToolsetNames(metadata).flatMap((name) => {\n const members = toolsetMembership(metadata, name);\n return members != null ? [{ name, members: new Set(members) }] : [];\n });\n return tools.map((tool) => ({\n name: tool.name,\n operationId: tool.operationId ?? null,\n method: tool.method,\n path: tool.path,\n toolsets: membership.filter((toolset) => toolset.members.has(tool.name)).map((toolset) => toolset.name)\n }));\n}\n\n/** Same legacy behaviour as catalogSummaryFromStored: `[]` when the row no longer parses. */\nexport function deploymentToolsFromStored(metadata: unknown): McpDeploymentTool[] {\n const parsed = McpMetadataSchema.safeParse(metadata);\n return parsed.success ? deploymentToolsFromParsed(parsed.data) : [];\n}\n\n/** The skipped tools in the detail's shape: contract fields only, provenance null when unrecorded. */\nexport function deploymentSkippedToolsFromParsed(metadata: McpMetadata): McpDeploymentSkippedTool[] {\n return metadata.skippedTools.map((tool) => ({\n name: tool.name,\n reason: tool.reason,\n operationId: tool.operationId ?? null,\n method: tool.method ?? null,\n path: tool.path ?? null\n }));\n}\n","import * as z from \"zod\";\n\n// The set of scheme *types* is closed: the outbound worker can only enforce\n// the schemes it knows, so a new type must land on both sides together. The\n// fields of a known scheme pass through, like the rest of the metadata, so a\n// generator adding e.g. a header prefix is neither rejected nor silently\n// dropped from the stored deployment.\nexport const McpAuthSchemeSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"bearer\") }).passthrough(),\n z\n .object({\n type: z.literal(\"apiKey\"),\n paramName: z.string().min(1),\n in: z.enum([\"header\", \"query\", \"cookie\"])\n })\n .passthrough(),\n z.object({ type: z.literal(\"basic\") }).passthrough()\n]);\n\nconst HttpUrlSchema = z\n .string()\n .url()\n .refine((value) => /^https?:\\/\\//i.test(value), {\n message: \"must be an http(s) URL\"\n });\n\n/** A lowercase hex SHA-256 digest: how a content-addressed object (module, input file) is named. */\nexport const Sha256Schema = z.string().regex(/^[0-9a-f]{64}$/);\n\n/**\n * One tool of the generated server and the OpenAPI operation it was built\n * from, so a deployment can be explained back to the spec. Generator-emitted;\n * `operationId` is null when the operation declared none (the name is then\n * derived from the method and path). Unknown fields pass through like the\n * rest of the metadata. Toolset membership is not repeated here — it is\n * derived from `toolsets` (see deploymentToolsFromParsed in catalog.ts).\n */\nexport const McpToolSchema = z\n .object({\n name: z.string().min(1),\n operationId: z.string().nullish(),\n method: z.string(),\n path: z.string()\n })\n .passthrough();\n\nexport const McpServiceToolSchema = z\n .object({\n name: z.string().min(1),\n description: z.string().optional()\n })\n .passthrough();\n\nexport const McpServiceSchema = z\n .object({\n name: z.string(),\n tools: z.array(McpServiceToolSchema)\n })\n .passthrough();\n\n// Generator-emitted. Unknown fields pass through at every level — top-level,\n// nested entries and auth schemes alike — so a newer generator never fails a\n// deploy over a field FDR does not know yet; the deployment row keeps them\n// verbatim. Known fields stay validated (and see McpAuthSchemeSchema for the\n// one closed set).\nexport const McpMetadataSchema = z\n .object({\n name: z.string().min(1),\n /**\n * Prose about the server, for its connect page. Optional, and no\n * generator emits it yet: FDR stores whatever arrives and the page\n * falls back to stating the server's size.\n *\n * Where a generator should source it is still open. The two candidates\n * are the API definition's `info.description` (automatic, but it\n * describes the API rather than the MCP server) and a `description` in\n * the generator's `config:` block in generators.yml (authored for this\n * page, and that block already reaches FDR — see McpDeployment.config).\n * Treat it as CommonMark of any length either way: whatever renders it\n * has to cope with both.\n */\n description: z.string().optional(),\n toolsets: z.record(z.string(), z.array(z.string())),\n toolsetMetadata: z.array(\n z\n .object({\n name: z.string(),\n title: z.string(),\n description: z.string(),\n toolCount: z.number().int().nonnegative()\n })\n .passthrough()\n ),\n /**\n * Per-tool provenance (operationId, method, path). Optional: rows\n * written before generators emitted it have none, and a deployment\n * without it is still complete — only the dashboard's explanation\n * of it is thinner.\n */\n tools: z.array(McpToolSchema).optional(),\n /**\n * The generated server's tools grouped by the service the generator emitted\n * them in, each with the description MCP clients see. Optional: rows written\n * before generators emitted it have none. Malformed values read as absent\n * rather than failing the whole row, so a legacy row still yields a catalog.\n */\n services: z.array(McpServiceSchema).optional().catch(undefined),\n auth: z\n .object({\n schemes: z.array(McpAuthSchemeSchema),\n required: z.boolean()\n })\n .passthrough(),\n skippedTools: z.array(\n z\n .object({\n name: z.string(),\n reason: z.string(),\n // Which operation was skipped; older generators omit these.\n operationId: z.string().nullish(),\n method: z.string().nullish(),\n path: z.string().nullish()\n })\n .passthrough()\n ),\n environmentVariables: z.array(\n z\n .object({\n name: z.string(),\n description: z.string(),\n required: z.boolean()\n })\n .passthrough()\n ),\n baseUrl: HttpUrlSchema,\n followRedirects: z.boolean(),\n maxRedirects: z.number().int().nonnegative(),\n allowedRedirectHosts: z.array(z.string())\n })\n .passthrough();\n\nconst RgbSchema = z.object({ r: z.number(), g: z.number(), b: z.number() });\nconst LogoSchema = z.object({\n url: HttpUrlSchema,\n width: z.number().optional(),\n height: z.number().optional()\n});\nconst ModeThemeSchema = z.object({\n accentPrimary: RgbSchema,\n logo: LogoSchema.optional()\n});\n\n/**\n * The look of the org's docs site, copied onto the connect page: FDR resolves\n * it once at deploy time (see servers/fdr docsTheme.ts) so the dispatcher\n * never reads docs storage. Absent when the org has no live docs site, and\n * the page then keeps Fern's own styling.\n */\nexport const DeploymentThemeSchema = z.object({\n /** Where the theme came from; the page links back to it. */\n docsUrl: HttpUrlSchema,\n /** Which of the site's colour modes the values below are from. */\n mode: z.enum([\"light\", \"dark\"]),\n accentPrimary: RgbSchema,\n /** The site's logo for that mode, served by the docs site itself. */\n logo: LogoSchema.optional(),\n light: ModeThemeSchema.optional(),\n dark: ModeThemeSchema.optional()\n});\n\nexport type DeploymentTheme = z.infer<typeof DeploymentThemeSchema>;\nexport type DeploymentModeTheme = z.infer<typeof ModeThemeSchema>;\n\nexport const DeploymentConfigSchema = z.object({\n serverName: z.string().min(1),\n /** The server's own prose, for its connect page. See McpMetadataSchema.description. */\n description: z.string().optional(),\n baseUrl: HttpUrlSchema,\n /**\n * Runtime rewrite of the upstream base URL. Part of the edge contract\n * (the outbound worker honors it) but not yet written by FDR.\n */\n baseUrlOverride: HttpUrlSchema.optional(),\n followRedirects: z.boolean(),\n maxRedirects: z.number().int().nonnegative(),\n allowedRedirectHosts: z.array(z.string()),\n authSchemes: z.array(McpAuthSchemeSchema),\n authRequired: z.boolean(),\n toolsets: z.record(z.string(), z.array(z.string())),\n toolsetMetadata: McpMetadataSchema.shape.toolsetMetadata,\n theme: DeploymentThemeSchema.optional()\n});\n\nexport type DeploymentConfig = z.infer<typeof DeploymentConfigSchema>;\nexport type McpAuthScheme = z.infer<typeof McpAuthSchemeSchema>;\nexport type McpMetadata = z.infer<typeof McpMetadataSchema>;\nexport type McpTool = z.infer<typeof McpToolSchema>;\nexport type McpService = z.infer<typeof McpServiceSchema>;\nexport type McpServiceTool = z.infer<typeof McpServiceToolSchema>;\n\n/** Parse a runtime `config:` KV value. */\nexport function parseDeploymentConfig(json: string): DeploymentConfig {\n return DeploymentConfigSchema.parse(JSON.parse(json));\n}\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { pdfExportContract } from \"./contract.js\";\n\nexport type PdfExportClient = JsonifiedClient<ContractRouterClient<typeof pdfExportContract>>;\n\nexport interface CreatePdfExportClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createPdfExportClient(options: CreatePdfExportClientOptions): PdfExportClient {\n const link = new OpenAPILink(pdfExportContract, {\n url: `${options.baseUrl}/pdf-export`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\n\nexport const PdfExportScopeSchema = z.object({\n pageSlugs: z.array(z.string())\n});\n\nexport const PdfExportOptionsV1Schema = z.object({\n coverTitle: z.string().nullish(),\n coverSubtitle: z.string().nullish(),\n hideCoverFooter: z.boolean().nullish(),\n headerLeftTemplate: z.string().nullish(),\n headerRightTemplate: z.string().nullish(),\n footerLeftTemplate: z.string().nullish(),\n footerRightTemplate: z.string().nullish(),\n scope: PdfExportScopeSchema.nullish(),\n hideCover: z.boolean().nullish(),\n hideToc: z.boolean().nullish()\n});\n\nexport const PdfExportOptionsSchema = z.discriminatedUnion(\"version\", [\n z.object({ version: z.literal(\"v1\") }).merge(PdfExportOptionsV1Schema)\n]);\n\nexport const PdfExportTaskStatusSchema = z.enum([\"PENDING\", \"RUNNING\", \"COMPLETED\", \"FAILED\"]);\n\nexport const PdfExportTaskSchema = z.object({\n id: z.string(),\n orgId: z.string(),\n docsUrl: z.string(),\n productId: z.string().nullish(),\n versionId: z.string().nullish(),\n requesterName: z.string().nullish(),\n notifyEmails: z.array(z.string()).nullish(),\n status: PdfExportTaskStatusSchema,\n options: PdfExportOptionsSchema.nullish(),\n createdAt: z.string(),\n startedAt: z.string().nullish(),\n completedAt: z.string().nullish(),\n fileName: z.string().nullish(),\n sizeBytes: z.number().nullish(),\n errorMessage: z.string().nullish()\n});\n\nexport const ListPdfExportTasksResponseSchema = z.object({\n tasks: z.array(PdfExportTaskSchema)\n});\n\nexport const PdfExportDownloadResponseSchema = z.object({\n downloadUrl: z.string(),\n fileName: z.string(),\n sizeBytes: z.number()\n});\n\nexport const CreatePdfExportTaskInputSchema = z.object({\n orgId: z.string(),\n docsUrl: z.string(),\n productId: z.string().nullish(),\n versionId: z.string().nullish(),\n requesterName: z.string().nullish(),\n options: PdfExportOptionsSchema.nullish()\n});\n\nexport const ListPdfExportTasksInputSchema = z.object({\n orgId: z.string(),\n docsUrl: z.string(),\n limit: z.coerce.number().nullish()\n});\n\nexport const GetPdfExportTaskInputSchema = z.object({\n taskId: z.string()\n});\n\nexport const UpdatePdfExportTaskInputSchema = z.object({\n taskId: z.string(),\n status: PdfExportTaskStatusSchema,\n startedAt: z.string().nullish(),\n completedAt: z.string().nullish(),\n s3Key: z.string().nullish(),\n fileName: z.string().nullish(),\n sizeBytes: z.number().nullish(),\n errorMessage: z.string().nullish()\n});\n\nexport const GetPdfExportDownloadUrlInputSchema = z.object({\n taskId: z.string()\n});\n\nexport const CleanupPdfExportsResponseSchema = z.object({\n expiredTasksDeleted: z.number(),\n s3ObjectsDeleted: z.number(),\n timedOutTasksFailed: z.number()\n});\n\nexport type PdfExportTaskId = string;\nexport type PdfExportScope = z.infer<typeof PdfExportScopeSchema>;\nexport type PdfExportOptionsV1 = z.infer<typeof PdfExportOptionsV1Schema>;\nexport type PdfExportOptions = z.infer<typeof PdfExportOptionsSchema>;\nexport type PdfExportTaskStatus = z.infer<typeof PdfExportTaskStatusSchema>;\nexport type PdfExportTask = z.infer<typeof PdfExportTaskSchema>;\nexport type ListPdfExportTasksResponse = z.infer<typeof ListPdfExportTasksResponseSchema>;\nexport type PdfExportDownloadResponse = z.infer<typeof PdfExportDownloadResponseSchema>;\nexport type CreatePdfExportTaskInput = z.infer<typeof CreatePdfExportTaskInputSchema>;\nexport type ListPdfExportTasksInput = z.infer<typeof ListPdfExportTasksInputSchema>;\nexport type UpdatePdfExportTaskInput = z.infer<typeof UpdatePdfExportTaskInputSchema>;\nexport type UpdatePdfExportTaskStatusRequest = Omit<UpdatePdfExportTaskInput, \"taskId\">;\nexport type CleanupPdfExportsResponse = z.infer<typeof CleanupPdfExportsResponseSchema>;\n\nexport const pdfExportContract = {\n createTask: oc\n .route({ method: \"POST\", path: \"/task\" })\n .input(CreatePdfExportTaskInputSchema)\n .output(PdfExportTaskSchema),\n\n listTasks: oc\n .route({ method: \"GET\", path: \"/tasks\" })\n .input(ListPdfExportTasksInputSchema)\n .output(ListPdfExportTasksResponseSchema),\n\n getTask: oc\n .route({ method: \"GET\", path: \"/task/{taskId}\" })\n .input(GetPdfExportTaskInputSchema)\n .output(PdfExportTaskSchema),\n\n updateTask: oc\n .route({ method: \"POST\", path: \"/task/{taskId}\" })\n .input(UpdatePdfExportTaskInputSchema)\n .output(PdfExportTaskSchema),\n\n getDownloadUrl: oc\n .route({ method: \"GET\", path: \"/task/{taskId}/download-url\" })\n .input(GetPdfExportDownloadUrlInputSchema)\n .output(PdfExportDownloadResponseSchema),\n\n cleanup: oc.route({ method: \"POST\", path: \"/cleanup\" }).output(CleanupPdfExportsResponseSchema)\n};\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { sdksContract } from \"./contract.js\";\n\nexport type SdksClient = JsonifiedClient<ContractRouterClient<typeof sdksContract>>;\n\nexport interface CreateSdksClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createSdksClient(options: CreateSdksClientOptions): SdksClient {\n const link = new OpenAPILink(sdksContract, {\n url: `${options.baseUrl}/sdks`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\n\n// ── Enums ────────────────────────────────────────────────────────────────\n\nexport const LanguageEnumSchema = z.enum([\n \"Go\",\n \"TypeScript\",\n \"Java\",\n \"Python\",\n \"Csharp\",\n \"Ruby\",\n \"Php\",\n \"Swift\",\n \"Rust\"\n]);\nexport type Language = z.infer<typeof LanguageEnumSchema>;\n\nexport const VersionBumpEnumSchema = z.enum([\"MAJOR\", \"MINOR\", \"PATCH\"]);\nexport type VersionBump = z.infer<typeof VersionBumpEnumSchema>;\n\n// ── Input / Output schemas ───────────────────────────────────────────────\n\nexport const ComputeSemanticVersionInputSchema = z.object({\n package: z.string(),\n language: LanguageEnumSchema,\n githubRepository: z.string().nullish()\n});\nexport type ComputeSemanticVersionInput = z.infer<typeof ComputeSemanticVersionInputSchema>;\n\nexport const ComputeSemanticVersionOutputSchema = z.object({\n version: z.string(),\n bump: VersionBumpEnumSchema\n});\nexport type ComputeSemanticVersionOutput = z.infer<typeof ComputeSemanticVersionOutputSchema>;\n\n// ── Contract ─────────────────────────────────────────────────────────────\n\nexport const sdksContract = {\n computeSemanticVersion: oc\n .route({ method: \"POST\", path: \"/semantic-version/compute\" })\n .input(ComputeSemanticVersionInputSchema)\n .output(ComputeSemanticVersionOutputSchema)\n};\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { slugsContract } from \"./contract.js\";\n\nexport type SlugsClient = JsonifiedClient<ContractRouterClient<typeof slugsContract>>;\n\nexport interface CreateSlugsClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createSlugsClient(options: CreateSlugsClientOptions): SlugsClient {\n const link = new OpenAPILink(slugsContract, {\n url: `${options.baseUrl.replace(/\\/+$/, \"\")}/slugs`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\n\nexport const SlugsInputSchema = z.object({\n domain: z.string(),\n basepath: z.string().optional().default(\"\")\n});\n\n/** One entry per unique URL slug. lastUpdated is the latest lastUpdated of its markdown pages. */\nexport const SlugEntrySchema = z.object({\n orgId: z.string(),\n domain: z.string(),\n basepath: z.string(),\n slug: z.string(),\n lastUpdated: z.string()\n});\n\n/** One entry per markdown file tracked under a slug. */\nexport const MarkdownEntrySchema = z.object({\n orgId: z.string(),\n domain: z.string(),\n basepath: z.string(),\n pageId: z.string(),\n slug: z.string(),\n hash: z.string(),\n lastUpdated: z.string()\n});\n\nexport const GetSlugEntriesResponseSchema = z.object({\n entries: z.array(SlugEntrySchema)\n});\n\nexport const GetMarkdownEntriesResponseSchema = z.object({\n entries: z.array(MarkdownEntrySchema)\n});\n\nexport type SlugsInput = z.infer<typeof SlugsInputSchema>;\nexport type SlugEntryResponse = z.infer<typeof SlugEntrySchema>;\nexport type MarkdownEntryResponse = z.infer<typeof MarkdownEntrySchema>;\nexport type GetSlugEntriesResponse = z.infer<typeof GetSlugEntriesResponseSchema>;\nexport type GetMarkdownEntriesResponse = z.infer<typeof GetMarkdownEntriesResponseSchema>;\n\nexport const slugsContract = {\n getSlugEntries: oc\n .route({ method: \"POST\", path: \"/slugs\" })\n .input(SlugsInputSchema)\n .output(GetSlugEntriesResponseSchema),\n getMarkdownEntries: oc\n .route({ method: \"POST\", path: \"/markdowns\" })\n .input(SlugsInputSchema)\n .output(GetMarkdownEntriesResponseSchema)\n};\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { snippetsContract, snippetsFactoryContract } from \"./contract.js\";\n\nexport type SnippetsFactoryClient = JsonifiedClient<ContractRouterClient<typeof snippetsFactoryContract>>;\nexport type SnippetsClient = JsonifiedClient<ContractRouterClient<typeof snippetsContract>>;\n\nexport interface CreateSnippetsClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createSnippetsFactoryClient(options: CreateSnippetsClientOptions): SnippetsFactoryClient {\n const link = new OpenAPILink(snippetsFactoryContract, {\n url: `${options.baseUrl}/snippets`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n\nexport function createSnippetsClient(options: CreateSnippetsClientOptions): SnippetsClient {\n const link = new OpenAPILink(snippetsContract, {\n url: `${options.baseUrl}/snippets`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\nimport { EndpointIdentifierSchema, SdkRequestSchema, type Snippet, type SnippetsByEndpointMethod } from \"../shared.js\";\n\n// ── SnippetsFactory contract ────────────────────────────────────────────\n\nconst TypeScriptSdkSchema = z.object({ package: z.string(), version: z.string() });\nconst PythonSdkSchema = z.object({ package: z.string(), version: z.string() });\nconst GoSdkSchema = z.object({ githubRepo: z.string(), version: z.string() });\nconst RubySdkSchema = z.object({ gem: z.string(), version: z.string() });\nconst JavaSdkSchema = z.object({ group: z.string(), artifact: z.string(), version: z.string() });\nconst CsharpSdkSchema = z.object({ package: z.string(), version: z.string() });\n\nconst BaseSnippetCreateSchema = z.object({\n endpoint: EndpointIdentifierSchema,\n exampleIdentifier: z.string().nullish()\n});\n\nconst SdkSnippetsCreateSchema = z.discriminatedUnion(\"type\", [\n z.object({\n type: z.literal(\"typescript\"),\n sdk: TypeScriptSdkSchema,\n snippets: z.array(BaseSnippetCreateSchema.extend({ snippet: z.object({ client: z.string() }) }))\n }),\n z.object({\n type: z.literal(\"python\"),\n sdk: PythonSdkSchema,\n snippets: z.array(\n BaseSnippetCreateSchema.extend({\n snippet: z.object({ async_client: z.string(), sync_client: z.string() })\n })\n )\n }),\n z.object({\n type: z.literal(\"go\"),\n sdk: GoSdkSchema,\n snippets: z.array(BaseSnippetCreateSchema.extend({ snippet: z.object({ client: z.string() }) }))\n }),\n z.object({\n type: z.literal(\"java\"),\n sdk: JavaSdkSchema,\n snippets: z.array(\n BaseSnippetCreateSchema.extend({\n snippet: z.object({ async_client: z.string(), sync_client: z.string() })\n })\n )\n }),\n z.object({\n type: z.literal(\"ruby\"),\n sdk: RubySdkSchema,\n snippets: z.array(BaseSnippetCreateSchema.extend({ snippet: z.object({ client: z.string() }) }))\n }),\n z.object({\n type: z.literal(\"csharp\"),\n sdk: CsharpSdkSchema,\n snippets: z.array(BaseSnippetCreateSchema.extend({ snippet: z.object({ client: z.string() }) }))\n })\n]);\n\nexport type SdkSnippetsCreate = z.infer<typeof SdkSnippetsCreateSchema>;\n\nexport const snippetsFactoryContract = {\n createSnippetsForSdk: oc.route({ method: \"POST\", path: \"/create\" }).input(\n z.object({\n orgId: z.string(),\n apiId: z.string(),\n snippets: SdkSnippetsCreateSchema\n })\n )\n};\n\n// ── Snippets contract ───────────────────────────────────────────────────\n\nconst ParameterPayloadSchema = z.object({\n name: z.string(),\n value: z.unknown()\n});\n\nexport const AuthPayloadSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"bearer\"), token: z.string() }),\n z.object({ type: z.literal(\"basic\"), username: z.string(), password: z.string() })\n]);\nexport type AuthPayload = z.infer<typeof AuthPayloadSchema>;\n\nexport const CustomSnippetPayloadSchema = z.object({\n headers: z.array(ParameterPayloadSchema).nullish(),\n pathParameters: z.array(ParameterPayloadSchema).nullish(),\n queryParameters: z.array(ParameterPayloadSchema).nullish(),\n requestBody: z.unknown().nullish(),\n auth: AuthPayloadSchema.nullish()\n});\nexport type CustomSnippetPayload = z.infer<typeof CustomSnippetPayloadSchema>;\n\nexport const snippetsContract = {\n get: oc\n .route({ method: \"POST\", path: \"/\" })\n .input(\n z.object({\n orgId: z.string().nullish(),\n apiId: z.string().nullish(),\n sdks: z.array(SdkRequestSchema).nullish(),\n endpoint: EndpointIdentifierSchema,\n exampleIdentifier: z.string().nullish(),\n payload: CustomSnippetPayloadSchema.nullish()\n })\n )\n .output(z.array(z.unknown()) as z.ZodType<Snippet[]>),\n\n load: oc\n .route({ method: \"POST\", path: \"/load\" })\n .input(\n z.object({\n orgId: z.string().nullish(),\n apiId: z.string().nullish(),\n sdks: z.array(SdkRequestSchema).nullish()\n })\n )\n .output(\n z.object({\n next: z.number().nullish(),\n snippets: z.record(z.string(), z.unknown()) as z.ZodType<Record<string, SnippetsByEndpointMethod>>\n })\n )\n};\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { templatesContract } from \"./contract.js\";\n\nexport type TemplatesClient = JsonifiedClient<ContractRouterClient<typeof templatesContract>>;\n\nexport interface CreateTemplatesClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createTemplatesClient(options: CreateTemplatesClientOptions): TemplatesClient {\n const baseUrl = options.baseUrl.replace(/\\/+$/, \"\");\n const link = new OpenAPILink(templatesContract, {\n url: `${baseUrl}/snippet-template`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\nimport { HttpMethodSchema, SdkSchema } from \"../shared.js\";\n\n// ── Snippet Registry Entry ──────────────────────────────────────────────\n\nexport const SnippetRegistryEntrySchema = z.object({\n sdk: SdkSchema,\n endpointId: z.object({\n path: z.string(),\n method: HttpMethodSchema,\n identifierOverride: z.string().nullish()\n }),\n snippetTemplate: z.object({\n type: z.literal(\"v1\"),\n functionInvocation: z.unknown(),\n clientInstantiation: z.string()\n }),\n additionalTemplates: z.record(z.string(), z.unknown()).nullish()\n});\nexport type SnippetRegistryEntry = z.infer<typeof SnippetRegistryEntrySchema>;\n\n// ── Register input ──────────────────────────────────────────────────────\n\nexport const RegisterInputSchema = z.object({\n orgId: z.string(),\n apiId: z.string(),\n apiDefinitionId: z.string(),\n snippet: SnippetRegistryEntrySchema\n});\nexport type RegisterInput = z.infer<typeof RegisterInputSchema>;\n\n// ── Register batch input ────────────────────────────────────────────────\n\nexport const RegisterBatchInputSchema = z.object({\n orgId: z.string(),\n apiId: z.string(),\n apiDefinitionId: z.string(),\n snippets: z.array(SnippetRegistryEntrySchema)\n});\nexport type RegisterBatchInput = z.infer<typeof RegisterBatchInputSchema>;\n\n// ── Get input ───────────────────────────────────────────────────────────\n\nexport const GetInputSchema = z.object({\n orgId: z.string(),\n apiId: z.string(),\n sdk: SdkSchema,\n endpointId: z.object({\n path: z.string(),\n method: HttpMethodSchema,\n identifierOverride: z.string().nullish()\n })\n});\nexport type GetInput = z.infer<typeof GetInputSchema>;\n\n// ── Get output ──────────────────────────────────────────────────────────\n\nexport const EndpointSnippetTemplateSchema = z.record(z.string(), z.unknown());\nexport type EndpointSnippetTemplate = z.infer<typeof EndpointSnippetTemplateSchema>;\n\n// ── Contract ────────────────────────────────────────────────────────────\n\nexport const templatesContract = {\n register: oc.route({ method: \"POST\", path: \"/register\" }).input(RegisterInputSchema),\n\n registerBatch: oc.route({ method: \"POST\", path: \"/register/batch\" }).input(RegisterBatchInputSchema),\n\n get: oc.route({ method: \"POST\", path: \"/get\" }).input(GetInputSchema).output(EndpointSnippetTemplateSchema)\n};\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { tokensContract } from \"./contract.js\";\n\nexport type TokensClient = JsonifiedClient<ContractRouterClient<typeof tokensContract>>;\n\nexport interface CreateTokensClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createTokensClient(options: CreateTokensClientOptions): TokensClient {\n const link = new OpenAPILink(tokensContract, {\n url: `${options.baseUrl}/tokens`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\n\n// ── Input schemas ───────────────────────────────────────────────────────\n\nexport const GenerateTokenInputSchema = z.object({\n orgId: z.string(),\n scope: z.string()\n});\n\nexport const RevokeTokenInputSchema = z.object({\n orgId: z.string(),\n tokenId: z.string()\n});\n\n// ── Output schemas ──────────────────────────────────────────────────────\n\nexport const GenerateTokenOutputSchema = z.object({\n token: z.string(),\n id: z.string()\n});\n\n// ── Types ───────────────────────────────────────────────────────────────\n\nexport type GenerateTokenInput = z.infer<typeof GenerateTokenInputSchema>;\nexport type RevokeTokenInput = z.infer<typeof RevokeTokenInputSchema>;\nexport type GenerateTokenOutput = z.infer<typeof GenerateTokenOutputSchema>;\n\n// ── Contract ────────────────────────────────────────────────────────────\n\nexport const tokensContract = {\n generate: oc\n .route({ method: \"POST\", path: \"/generate\" })\n .input(GenerateTokenInputSchema)\n .output(GenerateTokenOutputSchema),\n\n revoke: oc.route({ method: \"POST\", path: \"/revoke\" }).input(RevokeTokenInputSchema)\n};\n","import { type ApiClient, createApiClient } from \"./api/client.js\";\nimport { createDashboardClient, type DashboardClient } from \"./dashboard/client.js\";\nimport { createDashboardAgentClient, type DashboardAgentClient } from \"./dashboard-agent/client.js\";\nimport { createDocsClient, type DocsClient } from \"./docs/client.js\";\nimport { createDocsCacheClient, type DocsCacheClient } from \"./docs-cache/client.js\";\nimport { createDocsDeploymentClient, type DocsDeploymentClient } from \"./docs-deployment/client.js\";\nimport { createDocsLedgerClient, type DocsLedgerClient } from \"./docs-ledger/client.js\";\nimport { createEditorSnapshotClient, type EditorSnapshotClient } from \"./editor-snapshot/client.js\";\nimport { createGeneratorCliClient, type GeneratorCliClient } from \"./generators/cli/client.js\";\nimport { createGeneratorsRootClient, type GeneratorsRootClient } from \"./generators/client.js\";\nimport { createGeneratorVersionsClient, type GeneratorVersionsClient } from \"./generators/versions/client.js\";\nimport { createGitClient, type GitClient } from \"./git/client.js\";\nimport { createMcpHostingClient, type McpHostingClient } from \"./mcp-hosting/client.js\";\nimport { createPdfExportClient, type PdfExportClient } from \"./pdf-export/client.js\";\nimport { createSdksClient, type SdksClient } from \"./sdks/client.js\";\nimport { createSlugsClient, type SlugsClient } from \"./slugs/client.js\";\nimport {\n createSnippetsClient,\n createSnippetsFactoryClient,\n type SnippetsClient,\n type SnippetsFactoryClient\n} from \"./snippets/client.js\";\nimport { createTemplatesClient, type TemplatesClient } from \"./templates/client.js\";\nimport { createTokensClient, type TokensClient } from \"./tokens/client.js\";\n\nexport interface GeneratorsClient {\n root: GeneratorsRootClient;\n cli: GeneratorCliClient;\n versions: GeneratorVersionsClient;\n}\n\nexport interface FdrORPCClient {\n api: ApiClient;\n dashboard: DashboardClient;\n dashboardAgent: DashboardAgentClient;\n docs: DocsClient;\n docsCache: DocsCacheClient;\n docsDeployment: DocsDeploymentClient;\n docsLedger: DocsLedgerClient;\n editorSnapshot: EditorSnapshotClient;\n generators: GeneratorsClient;\n git: GitClient;\n mcpHosting: McpHostingClient;\n slugs: SlugsClient;\n pdfExport: PdfExportClient;\n sdks: SdksClient;\n snippets: SnippetsClient;\n snippetsFactory: SnippetsFactoryClient;\n templates: TemplatesClient;\n tokens: TokensClient;\n}\n\nexport interface CreateFdrORPCClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\n/**\n * Creates a composed oRPC client with all FDR resources.\n * New resource clients should be added here as they are migrated.\n */\nexport function createFdrORPCClient(options: CreateFdrORPCClientOptions): FdrORPCClient {\n // Normalize baseUrl to remove trailing slashes to prevent double-slash in route paths\n const normalizedOptions = {\n ...options,\n baseUrl: options.baseUrl.replace(/\\/+$/, \"\")\n };\n return {\n api: createApiClient(normalizedOptions),\n dashboard: createDashboardClient(normalizedOptions),\n dashboardAgent: createDashboardAgentClient(normalizedOptions),\n docs: createDocsClient(normalizedOptions),\n docsCache: createDocsCacheClient(normalizedOptions),\n docsDeployment: createDocsDeploymentClient(normalizedOptions),\n docsLedger: createDocsLedgerClient(normalizedOptions),\n editorSnapshot: createEditorSnapshotClient(normalizedOptions),\n generators: {\n root: createGeneratorsRootClient(normalizedOptions),\n cli: createGeneratorCliClient(normalizedOptions),\n versions: createGeneratorVersionsClient(normalizedOptions)\n },\n git: createGitClient(normalizedOptions),\n mcpHosting: createMcpHostingClient(normalizedOptions),\n slugs: createSlugsClient(normalizedOptions),\n pdfExport: createPdfExportClient(normalizedOptions),\n sdks: createSdksClient(normalizedOptions),\n snippets: createSnippetsClient(normalizedOptions),\n snippetsFactory: createSnippetsFactoryClient(normalizedOptions),\n templates: createTemplatesClient(normalizedOptions),\n tokens: createTokensClient(normalizedOptions)\n };\n}\n","import { type CreateFdrORPCClientOptions, createFdrORPCClient, type FdrORPCClient } from \"../orpc-client/client.js\";\n\nexport type { CreateFdrORPCClientOptions, FdrORPCClient };\nexport { createFdrORPCClient };\n\nexport interface FdrClientOptions {\n environment?: string;\n token?: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\n/**\n * Backward-compatible FdrClient class that wraps the oRPC composite client.\n * Supports `new FdrClient({ environment, token })` syntax used by downstream packages.\n */\nexport class FdrClient {\n private readonly client: FdrORPCClient;\n\n constructor(options: FdrClientOptions = {}) {\n this.client = createFdrORPCClient({\n baseUrl: options.environment ?? \"https://registry.buildwithfern.com\",\n token: options.token ?? \"\",\n headers: options.headers,\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n }\n\n get api() {\n return this.client.api;\n }\n get dashboard() {\n return this.client.dashboard;\n }\n get docs() {\n return this.client.docs;\n }\n get docsCache() {\n return this.client.docsCache;\n }\n get generators() {\n return this.client.generators;\n }\n get git() {\n return this.client.git;\n }\n get slugs() {\n return this.client.slugs;\n }\n get pdfExport() {\n return this.client.pdfExport;\n }\n get sdks() {\n return this.client.sdks;\n }\n get snippets() {\n return this.client.snippets;\n }\n get snippetsFactory() {\n return this.client.snippetsFactory;\n }\n get templates() {\n return this.client.templates;\n }\n get tokens() {\n return this.client.tokens;\n }\n}\n"],"mappings":"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","names":["z","z","z","z","z","createORPCClient","OpenAPILink","oc","z","oc","z","oc","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","oc","z","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","oc","z","z","z","z","FileIdSchema","PageIdSchema","UrlSchema","VersionIdSchema","ApiDefinitionIdSchema","EndpointIdSchema","WebSocketIdSchema","WebhookIdSchema","RoleIdSchema","SubpackageIdSchema","AvailabilitySchema","FileIdSchema","UrlSchema","RoleIdSchema","FileIdSchema","UrlSchema","PageIdSchema","ApiNavigationConfigItemSchema","SubpackageIdSchema","EndpointIdSchema","WebSocketIdSchema","WebhookIdSchema","ApiNavigationConfigRootSchema","DocsConfigIdSchema","UrlSchema","FileIdSchema","ApiNavigationConfigRootSchema","ApiDefinitionIdSchema","PageIdSchema","VersionIdSchema","AvailabilitySchema","UrlSchema","FileIdSchema","DocsConfigIdSchema","oc","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","oc","z","oc","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","oc","z","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","oc","z","getDocsForUrl","Error","oc","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","oc","z","z","z","OrgIdSchema","HeightSchema","FileIdSchema","PageContentSchema","UrlSchema","NavigationNodeMetadataSchema","PageMetadataSchema","PageIdSchema","LinkMetadataSchema","ChangelogItemSchema","ChangelogSectionSchema","ChangelogSectionV3Schema","NavigationTabLinkSchema","ApiNavigationConfigItemSchema","SubpackageIdSchema","EndpointIdSchema","WebSocketIdSchema","WebhookIdSchema","ApiNavigationConfigRootSchema","ApiSectionSchema","ApiDefinitionIdSchema","ApiSectionV2Schema","DocsSectionSchema","NavigationItemSchema","NavigationTabGroupSchema","NavigationTabSchema","UnversionedTabbedNavigationConfigSchema","UnversionedUntabbedNavigationConfigSchema","UnversionedNavigationConfigSchema","VersionedNavigationConfigDataSchema","VersionIdSchema","AvailabilitySchema","VersionedNavigationConfigSchema","NavigationConfigSchema","ThemeConfigSchema","DarkAndLightModeConfigSchema","ColorsConfigV3Schema","DocsConfigSchema","DocsDefinitionSchema","NpmPackageSchema","MavenPackageSchema","PypiPackageSchema","PublishedSdkSchema","PublishedPostmanCollectionSchema","ApiArtifactsSchema","FilePathSchema","FilePathSchema","Bcp47LocaleSchema","oc","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","oc","z","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","oc","z","LinkTargetSchema","oc","oc","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","oc","z","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","oc","z","oc","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","oc","z","oc","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","oc","z","z","z","z","oc","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","oc","z","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","oc","z","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","oc","z","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","oc","z","oc","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","oc","z","oc","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","oc","z","OpenAPILink","createORPCClient"]}
1
+ {"version":3,"sources":["../../../src/orpc-client/api/client.ts","../../../src/orpc-client/api/contract-latest.ts","../../../src/orpc-client/api/shared.ts","../../../src/orpc-client/shared.ts","../../../src/orpc-client/api/contract-register.ts","../../../src/orpc-client/api/contract-read.ts","../../../src/orpc-client/dashboard/client.ts","../../../src/orpc-client/dashboard/contract.ts","../../../src/orpc-client/docs-deployment/contract.ts","../../../src/orpc-client/dashboard-agent/client.ts","../../../src/orpc-client/dashboard-agent/contract.ts","../../../src/orpc-client/docs/v1/read/client.ts","../../../src/orpc-client/docs/v1/read/contract.ts","../../../src/client/docs-types/read.ts","../../../src/client/docs-types/read-commons.ts","../../../src/client/docs-types/shared.ts","../../../src/orpc-client/docs/v2/library-docs/client.ts","../../../src/orpc-client/docs/v2/library-docs/contract.ts","../../../src/orpc-client/docs/v2/library-docs/doxyfile.ts","../../../src/orpc-client/docs/v2/organization/client.ts","../../../src/orpc-client/docs/v2/organization/contract.ts","../../../src/orpc-client/docs/v2/read/client.ts","../../../src/orpc-client/docs/v2/read/contract.ts","../../../src/orpc-client/docs/v2/write/client.ts","../../../src/orpc-client/docs/v2/write/contract.ts","../../../src/client/docs-types/write.ts","../../../src/client/docs-types/write-commons.ts","../../../src/orpc-client/docs/client.ts","../../../src/orpc-client/docs-cache/client.ts","../../../src/orpc-client/docs-cache/contract.ts","../../../src/orpc-client/docs-deployment/client.ts","../../../src/orpc-client/docs-ledger/client.ts","../../../src/orpc-client/docs-ledger/contract.ts","../../../src/orpc-client/editor-snapshot/client.ts","../../../src/orpc-client/editor-snapshot/contract.ts","../../../src/orpc-client/generators/cli/client.ts","../../../src/orpc-client/generators/contract.ts","../../../src/orpc-client/generators/client.ts","../../../src/orpc-client/generators/versions/client.ts","../../../src/orpc-client/git/client.ts","../../../src/orpc-client/git/contract.ts","../../../src/orpc-client/mcp-hosting/client.ts","../../../src/orpc-client/mcp-hosting/contract.ts","../../../src/orpc-client/mcp-hosting/analytics.ts","../../../src/orpc-client/mcp-hosting/catalog.ts","../../../src/orpc-client/mcp-hosting/schemas.ts","../../../src/orpc-client/pdf-export/client.ts","../../../src/orpc-client/pdf-export/contract.ts","../../../src/orpc-client/sdks/client.ts","../../../src/orpc-client/sdks/contract.ts","../../../src/orpc-client/slugs/client.ts","../../../src/orpc-client/slugs/contract.ts","../../../src/orpc-client/snippets/client.ts","../../../src/orpc-client/snippets/contract.ts","../../../src/orpc-client/templates/client.ts","../../../src/orpc-client/templates/contract.ts","../../../src/orpc-client/tokens/client.ts","../../../src/orpc-client/tokens/contract.ts","../../../src/orpc-client/client.ts","../../../src/client/FdrClient.ts"],"sourcesContent":["import { createORPCClient } from \"@orpc/client\";\nimport { oc } from \"@orpc/contract\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport * as z from \"zod\";\n\nimport type { LatestApiDefinition } from \"./contract-latest.js\";\nimport { LatestApiDefinitionSchema } from \"./contract-latest.js\";\nimport type { ReadApiDefinition, ReadEndpointDefinition } from \"./contract-read.js\";\nimport { ReadApiDefinitionSchema, ReadEndpointDefinitionSchema } from \"./contract-read.js\";\nimport type {\n CheckSdkDynamicIrExistsResponse,\n DynamicIR,\n GetSdkDynamicIrUploadUrlsResponse,\n RegisterApiDefinition,\n RegisterApiDefinitionResponse,\n SnippetInfo,\n Source\n} from \"./contract-register.js\";\nimport {\n CheckSdkDynamicIrExistsResponseSchema,\n DynamicIRSchema,\n GetSdkDynamicIrUploadUrlsResponseSchema,\n RegisterApiDefinitionResponseSchema,\n RegisterApiDefinitionSchema,\n SnippetInfoSchema,\n SourceIdSchema,\n SourceSchema\n} from \"./contract-register.js\";\nimport type { HttpMethod } from \"./shared.js\";\nimport { HttpMethodSchema } from \"./shared.js\";\n\n// ── Contract definitions ─────────────────────────────────────────────────\n// Contract objects are NOT exported to avoid TS7056 declaration emit errors\n// caused by the deeply recursive zod schema types. They are only used\n// internally by the createApiClient factory function.\n\nconst apiLatestContract = {\n getApiLatest: oc\n .route({ method: \"GET\", path: \"/load/{apiDefinitionId}\" })\n .input(z.object({ apiDefinitionId: z.string() }))\n .output(LatestApiDefinitionSchema)\n};\n\nconst apiReadContract = {\n getApi: oc\n .route({ method: \"GET\", path: \"/load/{apiDefinitionId}\" })\n .input(z.object({ apiDefinitionId: z.string() }))\n .output(ReadApiDefinitionSchema),\n\n getApiDefinitionFull: oc\n .route({ method: \"GET\", path: \"/load-full/{apiDefinitionId}\" })\n .input(z.object({ apiDefinitionId: z.string() }))\n .output(ReadApiDefinitionSchema),\n\n getEndpointById: oc\n .route({\n method: \"GET\",\n path: \"/load/{apiDefinitionId}/endpoint/{endpointId}\"\n })\n .input(z.object({ apiDefinitionId: z.string(), endpointId: z.string() }))\n .output(ReadEndpointDefinitionSchema),\n\n getEndpointByLocator: oc\n .route({ method: \"GET\", path: \"/load/{apiDefinitionId}/endpoint\" })\n .input(\n z.object({\n apiDefinitionId: z.string(),\n method: HttpMethodSchema.nullish(),\n path: z.string().nullish(),\n identifierOverride: z.string().nullish()\n })\n )\n .output(ReadEndpointDefinitionSchema)\n};\n\nconst apiRegisterContract = {\n registerApiDefinition: oc\n .route({ method: \"POST\", path: \"/register\" })\n .input(\n z.object({\n orgId: z.string(),\n apiId: z.string(),\n definition: RegisterApiDefinitionSchema,\n sources: z.record(SourceIdSchema, SourceSchema).nullish(),\n dynamicIRs: z.record(z.string(), DynamicIRSchema).nullish()\n })\n )\n .output(RegisterApiDefinitionResponseSchema),\n\n getSdkDynamicIrUploadUrls: oc\n .route({ method: \"POST\", path: \"/sdk-dynamic-ir-upload-urls\" })\n .input(\n z.object({\n orgId: z.string(),\n version: z.string(),\n snippetConfiguration: z.record(z.string(), z.string())\n })\n )\n .output(GetSdkDynamicIrUploadUrlsResponseSchema),\n\n checkSdkDynamicIrExists: oc\n .route({ method: \"POST\", path: \"/check-sdk-dynamic-ir\" })\n .input(\n z.object({\n orgId: z.string(),\n snippetConfiguration: z.record(z.string(), SnippetInfoSchema)\n })\n )\n .output(CheckSdkDynamicIrExistsResponseSchema)\n};\n\n// ── Client types ─────────────────────────────────────────────────────────\n// Explicitly defined to avoid TS7056 (inferred type too long) that occurs\n// when using typeof on contract objects with deeply recursive zod schemas.\n\nexport interface ApiLatestClient {\n getApiLatest(input: { apiDefinitionId: string }): Promise<LatestApiDefinition>;\n}\n\nexport interface ApiReadClient {\n getApi(input: { apiDefinitionId: string }): Promise<ReadApiDefinition>;\n getApiDefinitionFull(input: { apiDefinitionId: string }): Promise<ReadApiDefinition>;\n getEndpointById(input: { apiDefinitionId: string; endpointId: string }): Promise<ReadEndpointDefinition>;\n getEndpointByLocator(input: {\n apiDefinitionId: string;\n method?: HttpMethod;\n path?: string;\n identifierOverride?: string;\n }): Promise<ReadEndpointDefinition>;\n}\n\nexport interface ApiRegisterClient {\n registerApiDefinition(input: {\n orgId: string;\n apiId: string;\n definition: RegisterApiDefinition;\n sources?: Record<string, Source> | null;\n dynamicIRs?: Record<string, DynamicIR> | null;\n }): Promise<RegisterApiDefinitionResponse>;\n getSdkDynamicIrUploadUrls(input: {\n orgId: string;\n version: string;\n snippetConfiguration: Record<string, string>;\n }): Promise<GetSdkDynamicIrUploadUrlsResponse>;\n checkSdkDynamicIrExists(input: {\n orgId: string;\n snippetConfiguration: Record<string, SnippetInfo>;\n }): Promise<CheckSdkDynamicIrExistsResponse>;\n}\n\nexport interface ApiClient {\n latest: ApiLatestClient;\n read: ApiReadClient;\n register: ApiRegisterClient;\n}\n\nexport interface CreateApiClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createApiClient(options: CreateApiClientOptions): ApiClient {\n const latestLink = new OpenAPILink(apiLatestContract, {\n url: `${options.baseUrl}/registry/api/latest`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n\n const readLink = new OpenAPILink(apiReadContract, {\n url: `${options.baseUrl}/registry/api`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n\n const registerLink = new OpenAPILink(apiRegisterContract, {\n url: `${options.baseUrl}/registry/api`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n\n return {\n latest: createORPCClient(latestLink) as unknown as ApiLatestClient,\n read: createORPCClient(readLink) as unknown as ApiReadClient,\n register: createORPCClient(registerLink) as unknown as ApiRegisterClient\n };\n}\n","import * as z from \"zod\";\n\nimport {\n AuthSchemeIdSchema,\n AvailabilitySchema,\n Base64TypeSchema,\n BigIntegerTypeSchema,\n BooleanTypeSchema,\n DateTypeSchema,\n DatetimeTypeSchema,\n DoubleTypeSchema,\n EndpointIdSchema,\n EndpointPathPartSchema,\n EnvironmentIdSchema,\n EnvironmentSchema,\n GraphQlOperationIdSchema,\n HttpMethodSchema,\n IntegerTypeSchema,\n LongTypeSchema,\n MultipleAuthTypeSchema,\n PropertyKeySchema,\n ProtocolSchema,\n ScalarTypeSchema,\n StringTypeSchema,\n SubpackageIdSchema,\n TypeIdSchema,\n Uint64TypeSchema,\n UintTypeSchema,\n UuidTypeSchema,\n WebhookHttpMethodSchema,\n WebhookIdSchema,\n WebSocketIdSchema,\n WebSocketMessageIdSchema,\n WebSocketMessageOriginSchema\n} from \"./shared.js\";\n\n// ── Latest commons ───────────────────────────────────────────────────────\n\nexport const PathPartSchema = EndpointPathPartSchema;\nexport type PathPart = z.infer<typeof PathPartSchema>;\n\nexport const WithNamespaceSchema = z.object({\n namespace: z.array(SubpackageIdSchema).nullish()\n});\nexport type WithNamespace = z.infer<typeof WithNamespaceSchema>;\n\n// ── Latest auth ──────────────────────────────────────────────────────────\n\nimport { BasicAuthSchema, BearerAuthSchema, HeaderAuthSchema, OAuthSchema } from \"./shared.js\";\n\nexport { BasicAuthSchema, BearerAuthSchema, HeaderAuthSchema, OAuthSchema };\n\nexport const LatestAuthSchemeSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"bearerAuth\"), ...BearerAuthSchema.shape }),\n z.object({ type: z.literal(\"basicAuth\"), ...BasicAuthSchema.shape }),\n z.object({ type: z.literal(\"header\"), ...HeaderAuthSchema.shape }),\n z.object({ type: z.literal(\"oAuth\"), value: OAuthSchema })\n]);\nexport type LatestAuthScheme = z.infer<typeof LatestAuthSchemeSchema>;\n\n// ── Latest type ──────────────────────────────────────────────────────────\n\nexport const LatestObjectPropertyAccessSchema = z.enum([\"READ_ONLY\", \"WRITE_ONLY\"]);\nexport type LatestObjectPropertyAccess = z.infer<typeof LatestObjectPropertyAccessSchema>;\n\nexport const LatestTypeReferenceIdDefaultSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"enum\"), value: z.string() })\n]);\nexport type LatestTypeReferenceIdDefault = z.infer<typeof LatestTypeReferenceIdDefaultSchema>;\n\nexport const LatestPrimitiveTypeSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"integer\"), ...IntegerTypeSchema.shape }),\n z.object({ type: z.literal(\"double\"), ...DoubleTypeSchema.shape }),\n z.object({ type: z.literal(\"string\"), ...StringTypeSchema.shape }),\n z.object({ type: z.literal(\"long\"), ...LongTypeSchema.shape }),\n z.object({ type: z.literal(\"boolean\"), ...BooleanTypeSchema.shape }),\n z.object({ type: z.literal(\"datetime\"), ...DatetimeTypeSchema.shape }),\n z.object({ type: z.literal(\"uuid\"), ...UuidTypeSchema.shape }),\n z.object({ type: z.literal(\"base64\"), ...Base64TypeSchema.shape }),\n z.object({ type: z.literal(\"date\"), ...DateTypeSchema.shape }),\n z.object({ type: z.literal(\"bigInteger\"), ...BigIntegerTypeSchema.shape }),\n z.object({ type: z.literal(\"uint\"), ...UintTypeSchema.shape }),\n z.object({ type: z.literal(\"uint64\"), ...Uint64TypeSchema.shape }),\n z.object({ type: z.literal(\"scalar\"), ...ScalarTypeSchema.shape })\n]);\nexport type LatestPrimitiveType = z.infer<typeof LatestPrimitiveTypeSchema>;\n\nexport const LatestLiteralTypeSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"booleanLiteral\"), value: z.boolean() }),\n z.object({ type: z.literal(\"stringLiteral\"), value: z.string() })\n]);\nexport type LatestLiteralType = z.infer<typeof LatestLiteralTypeSchema>;\n\nexport const LatestUnknownTypeSchema = z.object({\n displayName: z.string().nullish()\n});\nexport type LatestUnknownType = z.infer<typeof LatestUnknownTypeSchema>;\n\nexport const LatestEnumValueSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n value: z.string()\n});\nexport type LatestEnumValue = z.infer<typeof LatestEnumValueSchema>;\n\nexport const LatestEnumTypeSchema = z.object({\n default: z.string().nullish(),\n values: z.array(LatestEnumValueSchema)\n});\nexport type LatestEnumType = z.infer<typeof LatestEnumTypeSchema>;\n\nexport type LatestTypeShape =\n | LatestTypeShape.Alias\n | LatestTypeShape.Enum\n | LatestTypeShape.UndiscriminatedUnion\n | LatestTypeShape.DiscriminatedUnion\n | LatestTypeShape.Object_;\n\nexport namespace LatestTypeShape {\n export interface Alias {\n type: \"alias\";\n value: LatestTypeReference;\n }\n export interface Enum extends LatestEnumType {\n type: \"enum\";\n }\n export interface UndiscriminatedUnion extends LatestUndiscriminatedUnionType {\n type: \"undiscriminatedUnion\";\n }\n export interface DiscriminatedUnion extends LatestDiscriminatedUnionType {\n type: \"discriminatedUnion\";\n }\n export interface Object_ extends LatestObjectType {\n type: \"object\";\n }\n}\n\nexport type LatestTypeReference =\n | LatestTypeReference.Id\n | LatestTypeReference.Primitive\n | LatestTypeReference.Optional\n | LatestTypeReference.Nullable\n | LatestTypeReference.List\n | LatestTypeReference.Set\n | LatestTypeReference.Map\n | LatestTypeReference.Literal\n | LatestTypeReference.Unknown;\n\nexport namespace LatestTypeReference {\n export interface Id {\n type: \"id\";\n id: string;\n default?: LatestTypeReferenceIdDefault | null;\n }\n export interface Primitive {\n type: \"primitive\";\n value: LatestPrimitiveType;\n }\n export interface Optional {\n type: \"optional\";\n shape: LatestTypeShape;\n default?: unknown | null;\n }\n export interface Nullable {\n type: \"nullable\";\n shape: LatestTypeShape;\n }\n export interface List {\n type: \"list\";\n itemShape: LatestTypeShape;\n minItems?: number | null;\n maxItems?: number | null;\n }\n export interface Set {\n type: \"set\";\n itemShape: LatestTypeShape;\n minItems?: number | null;\n maxItems?: number | null;\n }\n export interface Map {\n type: \"map\";\n keyShape: LatestTypeShape;\n valueShape: LatestTypeShape;\n minProperties?: number | null;\n maxProperties?: number | null;\n }\n export interface Literal {\n type: \"literal\";\n value: LatestLiteralType;\n }\n export interface Unknown extends LatestUnknownType {\n type: \"unknown\";\n }\n}\n\nexport interface LatestObjectType {\n extends: string[];\n properties: LatestObjectProperty[];\n extraProperties?: LatestTypeReference | null;\n}\n\nexport interface LatestObjectProperty {\n description?: string | null;\n availability?: z.infer<typeof AvailabilitySchema> | null;\n key: string;\n valueShape: LatestTypeShape;\n propertyAccess?: LatestObjectPropertyAccess | null;\n arguments?: LatestGraphQlArgument[] | null;\n}\n\nexport interface LatestParameterProperty extends LatestObjectProperty {\n explode?: boolean | null;\n}\n\nexport interface LatestUndiscriminatedUnionVariant {\n description?: string | null;\n availability?: z.infer<typeof AvailabilitySchema> | null;\n displayName?: string | null;\n shape: LatestTypeShape;\n}\n\nexport interface LatestUndiscriminatedUnionType {\n variants: LatestUndiscriminatedUnionVariant[];\n}\n\nexport interface LatestDiscriminatedUnionVariant extends LatestObjectType {\n description?: string | null;\n availability?: z.infer<typeof AvailabilitySchema> | null;\n discriminantValue: string;\n displayName?: string | null;\n}\n\nexport interface LatestDiscriminatedUnionType {\n discriminant: string;\n variants: LatestDiscriminatedUnionVariant[];\n}\n\nexport const LatestObjectPropertySchema: z.ZodType<LatestObjectProperty> = z.lazy(() =>\n z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n key: PropertyKeySchema,\n valueShape: LatestTypeShapeSchema,\n propertyAccess: LatestObjectPropertyAccessSchema.nullish(),\n arguments: z.array(LatestGraphQlArgumentSchema).nullish()\n })\n);\n\nexport const LatestParameterPropertySchema: z.ZodType<LatestParameterProperty> = z.lazy(() =>\n z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n key: PropertyKeySchema,\n valueShape: LatestTypeShapeSchema,\n propertyAccess: LatestObjectPropertyAccessSchema.nullish(),\n explode: z.boolean().nullish()\n })\n);\n\nexport const LatestObjectTypeSchema: z.ZodType<LatestObjectType> = z.lazy(() =>\n z.object({\n extends: z.array(TypeIdSchema),\n properties: z.array(LatestObjectPropertySchema),\n extraProperties: LatestTypeReferenceSchema.nullish()\n })\n);\n\nexport const LatestUndiscriminatedUnionVariantSchema: z.ZodType<LatestUndiscriminatedUnionVariant> = z.lazy(() =>\n z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n displayName: z.string().nullish(),\n shape: LatestTypeShapeSchema\n })\n);\n\nexport const LatestUndiscriminatedUnionTypeSchema: z.ZodType<LatestUndiscriminatedUnionType> = z.lazy(() =>\n z.object({\n variants: z.array(LatestUndiscriminatedUnionVariantSchema)\n })\n);\n\nexport const LatestDiscriminatedUnionVariantSchema: z.ZodType<LatestDiscriminatedUnionVariant> = z.lazy(() =>\n z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n discriminantValue: z.string(),\n displayName: z.string().nullish(),\n extends: z.array(TypeIdSchema),\n properties: z.array(LatestObjectPropertySchema),\n extraProperties: LatestTypeReferenceSchema.nullish()\n })\n);\n\nexport const LatestDiscriminatedUnionTypeSchema: z.ZodType<LatestDiscriminatedUnionType> = z.lazy(() =>\n z.object({\n discriminant: PropertyKeySchema,\n variants: z.array(LatestDiscriminatedUnionVariantSchema)\n })\n);\n\nexport const LatestTypeShapeSchema: z.ZodType<LatestTypeShape> = z.lazy(() =>\n z.discriminatedUnion(\"type\", [\n z.object({\n type: z.literal(\"alias\"),\n value: LatestTypeReferenceSchema\n }),\n z.object({\n type: z.literal(\"enum\"),\n default: z.string().nullish(),\n values: z.array(LatestEnumValueSchema)\n }),\n z.object({\n type: z.literal(\"undiscriminatedUnion\"),\n variants: z.array(LatestUndiscriminatedUnionVariantSchema)\n }),\n z.object({\n type: z.literal(\"discriminatedUnion\"),\n discriminant: PropertyKeySchema,\n variants: z.array(LatestDiscriminatedUnionVariantSchema)\n }),\n z.object({\n type: z.literal(\"object\"),\n extends: z.array(TypeIdSchema),\n properties: z.array(LatestObjectPropertySchema),\n extraProperties: LatestTypeReferenceSchema.nullish()\n })\n ])\n);\n\nexport const LatestTypeReferenceSchema: z.ZodType<LatestTypeReference> = z.lazy(() =>\n z.discriminatedUnion(\"type\", [\n z.object({\n type: z.literal(\"id\"),\n id: TypeIdSchema,\n default: LatestTypeReferenceIdDefaultSchema.nullish()\n }),\n z.object({\n type: z.literal(\"primitive\"),\n value: LatestPrimitiveTypeSchema\n }),\n z.object({\n type: z.literal(\"optional\"),\n shape: LatestTypeShapeSchema,\n default: z.unknown().nullish()\n }),\n z.object({\n type: z.literal(\"nullable\"),\n shape: LatestTypeShapeSchema\n }),\n z.object({\n type: z.literal(\"list\"),\n itemShape: LatestTypeShapeSchema,\n minItems: z.number().int().nullish(),\n maxItems: z.number().int().nullish()\n }),\n z.object({\n type: z.literal(\"set\"),\n itemShape: LatestTypeShapeSchema,\n minItems: z.number().int().nullish(),\n maxItems: z.number().int().nullish()\n }),\n z.object({\n type: z.literal(\"map\"),\n keyShape: LatestTypeShapeSchema,\n valueShape: LatestTypeShapeSchema,\n minProperties: z.number().int().nullish(),\n maxProperties: z.number().int().nullish()\n }),\n z.object({\n type: z.literal(\"literal\"),\n value: LatestLiteralTypeSchema\n }),\n z.object({\n type: z.literal(\"unknown\"),\n displayName: z.string().nullish()\n })\n ])\n);\n\nexport const LatestTypeDefinitionSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n name: z.string(),\n shape: LatestTypeShapeSchema,\n displayName: z.string().nullish()\n});\nexport type LatestTypeDefinition = z.infer<typeof LatestTypeDefinitionSchema>;\n\nexport const LatestContentTypeSchema = z.union([z.string(), z.array(z.string())]);\nexport type LatestContentType = z.infer<typeof LatestContentTypeSchema>;\n\nexport const LatestBytesRequestSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n isOptional: z.boolean(),\n contentType: LatestContentTypeSchema.nullish()\n});\nexport type LatestBytesRequest = z.infer<typeof LatestBytesRequestSchema>;\n\nexport const LatestFormDataPropertySchema: z.ZodType<LatestFormDataField> = z.lazy(() =>\n z.discriminatedUnion(\"type\", [\n z.object({\n type: z.literal(\"file\"),\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n key: PropertyKeySchema,\n isOptional: z.boolean(),\n contentType: LatestContentTypeSchema.nullish()\n }),\n z.object({\n type: z.literal(\"files\"),\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n key: PropertyKeySchema,\n isOptional: z.boolean(),\n contentType: LatestContentTypeSchema.nullish()\n }),\n z.object({\n type: z.literal(\"property\"),\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n key: PropertyKeySchema,\n valueShape: LatestTypeShapeSchema,\n propertyAccess: LatestObjectPropertyAccessSchema.nullish(),\n contentType: LatestContentTypeSchema.nullish(),\n exploded: z.boolean().nullish()\n })\n ])\n);\n\nexport type LatestFormDataFile = {\n type: \"file\";\n description?: string | null;\n availability?: z.infer<typeof AvailabilitySchema> | null;\n key: string;\n isOptional: boolean;\n contentType?: LatestContentType | null;\n};\n\nexport type LatestFormDataFiles = {\n type: \"files\";\n description?: string | null;\n availability?: z.infer<typeof AvailabilitySchema> | null;\n key: string;\n isOptional: boolean;\n contentType?: LatestContentType | null;\n};\n\nexport type LatestFormDataPropertyVariant = {\n type: \"property\";\n description?: string | null;\n availability?: z.infer<typeof AvailabilitySchema> | null;\n key: string;\n valueShape: LatestTypeShape;\n propertyAccess?: LatestObjectPropertyAccess | null;\n contentType?: LatestContentType | null;\n exploded?: boolean | null;\n};\n\nexport type LatestFormDataField = LatestFormDataFile | LatestFormDataFiles | LatestFormDataPropertyVariant;\n\nexport const LatestFormDataRequestSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n fields: z.array(LatestFormDataPropertySchema)\n});\nexport type LatestFormDataRequest = z.infer<typeof LatestFormDataRequestSchema>;\n\nexport const LatestNullableTypeSchema: z.ZodType<{ shape: LatestTypeShape }> = z.lazy(() =>\n z.object({\n shape: LatestTypeShapeSchema\n })\n);\n\nexport const LatestOptionalTypeSchema: z.ZodType<{ shape: LatestTypeShape; default?: unknown }> = z.lazy(() =>\n z.object({\n shape: LatestTypeShapeSchema,\n default: z.unknown().nullish()\n })\n);\n\nexport const LatestListTypeSchema: z.ZodType<{\n itemShape: LatestTypeShape;\n minItems?: number | null;\n maxItems?: number | null;\n}> = z.lazy(() =>\n z.object({\n itemShape: LatestTypeShapeSchema,\n minItems: z.number().int().nullish(),\n maxItems: z.number().int().nullish()\n })\n);\n\nexport const LatestSetTypeSchema: z.ZodType<{\n itemShape: LatestTypeShape;\n minItems?: number | null;\n maxItems?: number | null;\n}> = z.lazy(() =>\n z.object({\n itemShape: LatestTypeShapeSchema,\n minItems: z.number().int().nullish(),\n maxItems: z.number().int().nullish()\n })\n);\n\nexport const LatestMapTypeSchema: z.ZodType<{\n keyShape: LatestTypeShape;\n valueShape: LatestTypeShape;\n minProperties?: number | null;\n maxProperties?: number | null;\n}> = z.lazy(() =>\n z.object({\n keyShape: LatestTypeShapeSchema,\n valueShape: LatestTypeShapeSchema,\n minProperties: z.number().int().nullish(),\n maxProperties: z.number().int().nullish()\n })\n);\n\n// ── Latest endpoint ──────────────────────────────────────────────────────\n\nexport const LatestLanguageSchema = z.string();\nexport type LatestLanguage = z.infer<typeof LatestLanguageSchema>;\n\nexport const LatestExampleEndpointRequestSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"json\"), value: z.unknown() }),\n z.object({ type: z.literal(\"form\"), value: z.record(z.string(), z.unknown()) }),\n z.object({ type: z.literal(\"bytes\"), value: z.unknown() })\n]);\nexport type LatestExampleEndpointRequest = z.infer<typeof LatestExampleEndpointRequestSchema>;\n\nexport const LatestExampleEndpointResponseSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"json\"), value: z.unknown() }),\n z.object({ type: z.literal(\"filename\"), value: z.unknown() }),\n z.object({ type: z.literal(\"stream\"), value: z.array(z.unknown()) }),\n z.object({ type: z.literal(\"sse\"), value: z.array(z.object({ event: z.string(), data: z.unknown() })) })\n]);\nexport type LatestExampleEndpointResponse = z.infer<typeof LatestExampleEndpointResponseSchema>;\n\nexport const LatestExampleErrorResponseSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"json\"), value: z.unknown() })\n]);\nexport type LatestExampleErrorResponse = z.infer<typeof LatestExampleErrorResponseSchema>;\n\nexport const LatestHttpRequestBodyShapeSchema: z.ZodType<LatestHttpRequestBodyShape> = z.lazy(() =>\n z.discriminatedUnion(\"type\", [\n z.object({\n type: z.literal(\"object\"),\n extends: z.array(TypeIdSchema),\n properties: z.array(LatestObjectPropertySchema),\n extraProperties: LatestTypeReferenceSchema.nullish()\n }),\n z.object({ type: z.literal(\"alias\"), value: LatestTypeReferenceSchema }),\n z.object({ type: z.literal(\"bytes\"), ...LatestBytesRequestSchema.shape }),\n z.object({ type: z.literal(\"formData\"), ...LatestFormDataRequestSchema.shape })\n ])\n);\n\nexport type LatestHttpRequestBodyShape =\n | ({ type: \"object\" } & LatestObjectType)\n | { type: \"alias\"; value: LatestTypeReference }\n | ({ type: \"bytes\" } & z.infer<typeof LatestBytesRequestSchema>)\n | ({ type: \"formData\" } & z.infer<typeof LatestFormDataRequestSchema>);\n\nexport const LatestHttpRequestSchema = z.object({\n description: z.string().nullish(),\n contentType: z.string().nullish(),\n body: LatestHttpRequestBodyShapeSchema\n});\nexport type LatestHttpRequest = z.infer<typeof LatestHttpRequestSchema>;\n\nexport const LatestFileDownloadResponseBodyShapeSchema = z.object({\n contentType: z.string().nullish()\n});\nexport type LatestFileDownloadResponseBodyShape = z.infer<typeof LatestFileDownloadResponseBodyShapeSchema>;\n\nexport const LatestStreamResponseSchema = z.object({\n terminator: z.string().nullish(),\n shape: LatestTypeShapeSchema\n});\nexport type LatestStreamResponse = z.infer<typeof LatestStreamResponseSchema>;\n\nexport type LatestHttpResponseBodyShape =\n | { type: \"empty\" }\n | ({ type: \"object\" } & LatestObjectType)\n | { type: \"alias\"; value: LatestTypeReference }\n | ({ type: \"fileDownload\" } & z.infer<typeof LatestFileDownloadResponseBodyShapeSchema>)\n | { type: \"streamingText\" }\n | ({ type: \"stream\" } & z.infer<typeof LatestStreamResponseSchema>);\n\nexport const LatestHttpResponseBodyShapeSchema: z.ZodType<LatestHttpResponseBodyShape> = z.lazy(() =>\n z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"empty\") }),\n z.object({\n type: z.literal(\"object\"),\n extends: z.array(TypeIdSchema),\n properties: z.array(LatestObjectPropertySchema),\n extraProperties: LatestTypeReferenceSchema.nullish()\n }),\n z.object({ type: z.literal(\"alias\"), value: LatestTypeReferenceSchema }),\n z.object({ type: z.literal(\"fileDownload\"), ...LatestFileDownloadResponseBodyShapeSchema.shape }),\n z.object({ type: z.literal(\"streamingText\") }),\n z.object({ type: z.literal(\"stream\"), ...LatestStreamResponseSchema.shape })\n ])\n);\n\nexport const LatestHttpResponseSchema = z.object({\n description: z.string().nullish(),\n body: LatestHttpResponseBodyShapeSchema,\n statusCode: z.number().int(),\n isWildcard: z.boolean().nullish()\n});\nexport type LatestHttpResponse = z.infer<typeof LatestHttpResponseSchema>;\n\nexport const LatestErrorExampleSchema = z.object({\n description: z.string().nullish(),\n name: z.string().nullish(),\n responseBody: LatestExampleErrorResponseSchema\n});\nexport type LatestErrorExample = z.infer<typeof LatestErrorExampleSchema>;\n\nexport const LatestErrorResponseSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n shape: LatestTypeShapeSchema.nullish(),\n statusCode: z.number().int(),\n isWildcard: z.boolean().nullish(),\n name: z.string(),\n examples: z.array(LatestErrorExampleSchema).nullish(),\n headers: z.array(LatestObjectPropertySchema).nullish()\n});\nexport type LatestErrorResponse = z.infer<typeof LatestErrorResponseSchema>;\n\nexport const LatestCodeSnippetSchema = z.object({\n description: z.string().nullish(),\n name: z.string().nullish(),\n language: LatestLanguageSchema,\n install: z.string().nullish(),\n code: z.string(),\n generated: z.boolean()\n});\nexport type LatestCodeSnippet = z.infer<typeof LatestCodeSnippetSchema>;\n\nexport const LatestExampleEndpointCallSchema = z.object({\n description: z.string().nullish(),\n path: z.string(),\n responseStatusCode: z.number().int(),\n name: z.string().nullish(),\n contentType: z.string().nullish(),\n pathParameters: z.record(PropertyKeySchema, z.unknown()).nullish(),\n queryParameters: z.record(PropertyKeySchema, z.unknown()).nullish(),\n headers: z.record(PropertyKeySchema, z.unknown()).nullish(),\n requestBody: LatestExampleEndpointRequestSchema.nullish(),\n responseBody: LatestExampleEndpointResponseSchema.nullish(),\n responseHeaders: z.record(z.string(), z.unknown()).nullish(),\n snippets: z.record(LatestLanguageSchema, z.array(LatestCodeSnippetSchema)).nullish(),\n codeExamples: z.unknown().nullish(),\n codeSamples: z.array(LatestCodeSnippetSchema).nullish()\n});\nexport type LatestExampleEndpointCall = z.infer<typeof LatestExampleEndpointCallSchema>;\n\nexport const LatestEndpointDefinitionSchema = z.object({\n description: z.string().nullish(),\n subtitle: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n namespace: z.array(z.string()).nullish(),\n id: EndpointIdSchema,\n method: HttpMethodSchema,\n path: z.array(PathPartSchema),\n displayName: z.string().nullish(),\n operationId: z.string().nullish(),\n auth: z.array(AuthSchemeIdSchema).nullish(),\n multiAuth: z.array(MultipleAuthTypeSchema).nullish(),\n defaultEnvironment: EnvironmentIdSchema.nullish(),\n environments: z.array(EnvironmentSchema).nullish(),\n pathParameters: z.array(LatestParameterPropertySchema).nullish(),\n queryParameters: z.array(LatestParameterPropertySchema).nullish(),\n requestHeaders: z.array(LatestObjectPropertySchema).nullish(),\n responseHeaders: z.array(LatestObjectPropertySchema).nullish(),\n requests: z.array(LatestHttpRequestSchema).nullish(),\n responses: z.array(LatestHttpResponseSchema).nullish(),\n errors: z.array(LatestErrorResponseSchema).nullish(),\n examples: z.array(LatestExampleEndpointCallSchema).nullish(),\n protocol: ProtocolSchema.nullish(),\n includeInApiExplorer: z.boolean().nullish(),\n snippetTemplates: z.unknown().nullish()\n});\nexport type LatestEndpointDefinition = z.infer<typeof LatestEndpointDefinitionSchema>;\n\n// ── Latest graphql ───────────────────────────────────────────────────────\n\nexport const LatestGraphQlOperationTypeSchema = z.enum([\"QUERY\", \"MUTATION\", \"SUBSCRIPTION\"]);\nexport type LatestGraphQlOperationType = z.infer<typeof LatestGraphQlOperationTypeSchema>;\n\nexport const LatestGraphQlArgumentSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n name: z.string(),\n type: LatestTypeShapeSchema,\n defaultValue: z.unknown().nullish()\n});\nexport type LatestGraphQlArgument = z.infer<typeof LatestGraphQlArgumentSchema>;\n\nexport const LatestGraphQlExampleSchema = z.object({\n description: z.string().nullish(),\n name: z.string().nullish(),\n query: z.string(),\n variables: z.record(z.string(), z.unknown()).nullish(),\n response: z.unknown().nullish()\n});\nexport type LatestGraphQlExample = z.infer<typeof LatestGraphQlExampleSchema>;\n\nexport const LatestGraphQlOperationSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n namespace: z.array(z.string()).nullish(),\n fieldPath: z.array(z.string()).nullish(),\n id: GraphQlOperationIdSchema,\n operationType: LatestGraphQlOperationTypeSchema,\n name: z.string(),\n displayName: z.string().nullish(),\n arguments: z.array(LatestGraphQlArgumentSchema).nullish(),\n returnType: LatestTypeShapeSchema,\n examples: z.array(LatestGraphQlExampleSchema).nullish(),\n snippets: z.record(LatestLanguageSchema, z.array(LatestCodeSnippetSchema)).nullish()\n});\nexport type LatestGraphQlOperation = z.infer<typeof LatestGraphQlOperationSchema>;\n\n// ── Latest webhook ───────────────────────────────────────────────────────\n\nexport type LatestWebhookPayloadShape =\n | ({ type: \"object\" } & LatestObjectType)\n | { type: \"alias\"; value: LatestTypeReference }\n | ({ type: \"formData\" } & z.infer<typeof LatestFormDataRequestSchema>);\n\nexport const LatestWebhookPayloadShapeSchema: z.ZodType<LatestWebhookPayloadShape> = z.lazy(() =>\n z.discriminatedUnion(\"type\", [\n z.object({\n type: z.literal(\"object\"),\n extends: z.array(TypeIdSchema),\n properties: z.array(LatestObjectPropertySchema),\n extraProperties: LatestTypeReferenceSchema.nullish()\n }),\n z.object({ type: z.literal(\"alias\"), value: LatestTypeReferenceSchema }),\n z.object({ type: z.literal(\"formData\"), ...LatestFormDataRequestSchema.shape })\n ])\n);\n\nexport const LatestWebhookPayloadSchema = z.object({\n description: z.string().nullish(),\n shape: LatestWebhookPayloadShapeSchema\n});\nexport type LatestWebhookPayload = z.infer<typeof LatestWebhookPayloadSchema>;\n\nexport const LatestExampleWebhookPayloadSchema = z.object({\n name: z.string().nullish(),\n payload: z.unknown()\n});\nexport type LatestExampleWebhookPayload = z.infer<typeof LatestExampleWebhookPayloadSchema>;\n\nexport const LatestWebhookDefinitionSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n namespace: z.array(z.string()).nullish(),\n id: WebhookIdSchema,\n displayName: z.string().nullish(),\n operationId: z.string().nullish(),\n method: WebhookHttpMethodSchema,\n path: z.array(z.string()),\n headers: z.array(LatestObjectPropertySchema).nullish(),\n payloads: z.array(LatestWebhookPayloadSchema).nullish(),\n responses: z.array(LatestHttpResponseSchema).nullish(),\n examples: z.array(LatestExampleWebhookPayloadSchema).nullish()\n});\nexport type LatestWebhookDefinition = z.infer<typeof LatestWebhookDefinitionSchema>;\n\n// ── Latest websocket ─────────────────────────────────────────────────────\n\nexport const LatestWebSocketMessageSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n type: WebSocketMessageIdSchema,\n displayName: z.string().nullish(),\n origin: WebSocketMessageOriginSchema,\n body: LatestTypeShapeSchema\n});\nexport type LatestWebSocketMessage = z.infer<typeof LatestWebSocketMessageSchema>;\n\nexport const LatestExampleWebSocketMessageSchema = z.object({\n type: WebSocketMessageIdSchema,\n body: z.unknown()\n});\nexport type LatestExampleWebSocketMessage = z.infer<typeof LatestExampleWebSocketMessageSchema>;\n\nexport const LatestExampleWebSocketSessionSchema = z.object({\n description: z.string().nullish(),\n path: z.string(),\n name: z.string().nullish(),\n pathParameters: z.record(PropertyKeySchema, z.unknown()).nullish(),\n queryParameters: z.record(PropertyKeySchema, z.unknown()).nullish(),\n requestHeaders: z.record(PropertyKeySchema, z.unknown()).nullish(),\n messages: z.array(LatestExampleWebSocketMessageSchema).nullish()\n});\nexport type LatestExampleWebSocketSession = z.infer<typeof LatestExampleWebSocketSessionSchema>;\n\nexport const LatestWebSocketChannelSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n namespace: z.array(z.string()).nullish(),\n id: WebSocketIdSchema,\n displayName: z.string().nullish(),\n operationId: z.string().nullish(),\n path: z.array(PathPartSchema),\n messages: z.array(LatestWebSocketMessageSchema),\n auth: z.array(AuthSchemeIdSchema).nullish(),\n defaultEnvironment: EnvironmentIdSchema.nullish(),\n environments: z.array(EnvironmentSchema).nullish(),\n pathParameters: z.array(LatestParameterPropertySchema).nullish(),\n queryParameters: z.array(LatestParameterPropertySchema).nullish(),\n requestHeaders: z.array(LatestObjectPropertySchema).nullish(),\n examples: z.array(LatestExampleWebSocketSessionSchema).nullish(),\n includeInApiExplorer: z.boolean().nullish()\n});\nexport type LatestWebSocketChannel = z.infer<typeof LatestWebSocketChannelSchema>;\n\n// ── Latest SubpackageMetadata & ApiDefinition ────────────────────────────\n\nexport const LatestSubpackageMetadataSchema = z.object({\n id: SubpackageIdSchema,\n name: z.string(),\n displayName: z.string().nullish(),\n description: z.string().nullish()\n});\nexport type LatestSubpackageMetadata = z.infer<typeof LatestSubpackageMetadataSchema>;\n\n// Import SnippetsConfigSchema from contract-register\nimport { SnippetsConfigSchema } from \"./contract-register.js\";\n\nexport const LatestApiDefinitionSchema = z.object({\n id: z.string(),\n apiName: z.string().nullish(),\n specVersion: z.string().nullish(),\n endpoints: z.record(EndpointIdSchema, LatestEndpointDefinitionSchema),\n websockets: z.record(WebSocketIdSchema, LatestWebSocketChannelSchema),\n webhooks: z.record(WebhookIdSchema, LatestWebhookDefinitionSchema),\n graphqlOperations: z.record(GraphQlOperationIdSchema, LatestGraphQlOperationSchema),\n types: z.record(TypeIdSchema, LatestTypeDefinitionSchema),\n subpackages: z.record(SubpackageIdSchema, LatestSubpackageMetadataSchema),\n auths: z.record(AuthSchemeIdSchema, LatestAuthSchemeSchema),\n globalHeaders: z.array(LatestObjectPropertySchema).nullish(),\n snippetsConfiguration: SnippetsConfigSchema.nullish()\n});\nexport type LatestApiDefinition = z.infer<typeof LatestApiDefinitionSchema>;\n\n// Alias for backward compatibility (consumers use FdrAPI.api.latest.ApiDefinition)\nexport type ApiDefinition = LatestApiDefinition;\nexport const ApiDefinitionSchema = LatestApiDefinitionSchema;\n","import * as z from \"zod\";\nimport { ApiDefinitionIdSchema, HttpMethod, HttpMethodSchema } from \"../shared.js\";\nimport type { FileId } from \"./ids.js\";\n\nexport { ApiDefinitionIdSchema, HttpMethod, HttpMethodSchema };\nexport * from \"./ids.js\";\n\nexport const TypeIdSchema = z.string();\n\nexport const EndpointIdSchema = z.string();\n\nexport const WebSocketIdSchema = z.string();\n\nexport const WebhookIdSchema = z.string();\n\nexport const GraphQlOperationIdSchema = z.string();\n\nexport const GraphQlTypeCategorySchema = z.enum([\"object\", \"input\", \"enum\", \"scalar\", \"interface\", \"union\"]);\nexport type GraphQlTypeCategory = z.infer<typeof GraphQlTypeCategorySchema>;\n\nexport const EnvironmentIdSchema = z.string();\n\nexport const PropertyKeySchema = z.string();\n\nexport const AuthSchemeIdSchema = z.string();\n\nexport const SubpackageIdSchema = z.string();\n\nexport const WebSocketMessageIdSchema = z.string();\n\nexport const FileIdSchema: z.ZodType<FileId> = z.string() as any;\n\nexport const MultipleAuthTypeSchema = z.object({\n schemes: z.array(AuthSchemeIdSchema)\n});\nexport type MultipleAuthType = z.infer<typeof MultipleAuthTypeSchema>;\n\nexport const GrpcMethodSchema = z.enum([\"UNARY\", \"CLIENT_STREAM\", \"SERVER_STREAM\", \"BIDIRECTIONAL_STREAM\"]);\n\nexport const AvailabilitySchema = z.enum([\n \"Alpha\",\n \"Stable\",\n \"GenerallyAvailable\",\n \"InDevelopment\",\n \"PreRelease\",\n \"Deprecated\",\n \"Beta\",\n \"Preview\",\n \"Legacy\"\n]);\n\nexport const WebSocketMessageOriginSchema = z.enum([\"client\", \"server\"]);\nexport type WebSocketMessageOrigin = z.infer<typeof WebSocketMessageOriginSchema>;\n\nexport const WebhookHttpMethodSchema = z.enum([\"GET\", \"POST\"]);\nexport type WebhookHttpMethod = z.infer<typeof WebhookHttpMethodSchema>;\n\nexport const WithDescriptionSchema = z.object({\n description: z.string().nullish()\n});\nexport type WithDescription = z.infer<typeof WithDescriptionSchema>;\n\nexport const WithAvailabilitySchema = z.object({\n availability: AvailabilitySchema.nullish()\n});\nexport type WithAvailability = z.infer<typeof WithAvailabilitySchema>;\n\nexport const EnvironmentSchema = z.object({\n id: EnvironmentIdSchema,\n baseUrl: z.string(),\n audiences: z.array(z.string()).nullish()\n});\nexport type Environment = z.infer<typeof EnvironmentSchema>;\n\nexport const RestProtocolSchema = z.object({});\n\nexport const OpenRpcProtocolSchema = z.object({\n methodName: z.string()\n});\n\nexport const GrpcProtocolSchema = z.object({\n methodName: z.string(),\n methodType: GrpcMethodSchema.nullish()\n});\n\nexport const ProtocolSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"rest\"), ...RestProtocolSchema.shape }),\n z.object({ type: z.literal(\"openrpc\"), ...OpenRpcProtocolSchema.shape }),\n z.object({ type: z.literal(\"grpc\"), ...GrpcProtocolSchema.shape })\n]);\nexport type Protocol = z.infer<typeof ProtocolSchema>;\n\nexport const ObjectPropertyAccessSchema = z.enum([\"READ_ONLY\", \"WRITE_ONLY\"]);\nexport type ObjectPropertyAccess = z.infer<typeof ObjectPropertyAccessSchema>;\n\nexport const TypeReferenceIdDefaultSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"enum\"), value: z.string() })\n]);\nexport type TypeReferenceIdDefault = z.infer<typeof TypeReferenceIdDefaultSchema>;\n\nconst _numberNullish = z.number().nullish();\nconst _numberIntNullish = z.number().int().nullish();\n\nfunction coerceNumber(val: unknown): unknown {\n if (typeof val === \"string\" && val.trim() !== \"\") {\n const num = Number(val);\n if (!Number.isNaN(num)) {\n return num;\n }\n }\n return val;\n}\n\nconst coercedNumberNullish = z.preprocess(coerceNumber, z.number().nullish()) as unknown as typeof _numberNullish;\nconst coercedNumberIntNullish = z.preprocess(\n coerceNumber,\n z.number().int().nullish()\n) as unknown as typeof _numberIntNullish;\n\nexport const IntegerTypeSchema = z.object({\n minimum: coercedNumberIntNullish,\n maximum: coercedNumberIntNullish,\n exclusiveMinimum: coercedNumberIntNullish,\n exclusiveMaximum: coercedNumberIntNullish,\n multipleOf: coercedNumberIntNullish,\n default: coercedNumberIntNullish\n});\nexport type IntegerType = z.infer<typeof IntegerTypeSchema>;\n\nexport const DoubleTypeSchema = z.object({\n minimum: coercedNumberNullish,\n maximum: coercedNumberNullish,\n exclusiveMinimum: coercedNumberNullish,\n exclusiveMaximum: coercedNumberNullish,\n multipleOf: coercedNumberNullish,\n default: coercedNumberNullish\n});\nexport type DoubleType = z.infer<typeof DoubleTypeSchema>;\n\nexport const StringTypeSchema = z.object({\n format: z.string().nullish(),\n regex: z.string().nullish(),\n minLength: z.number().int().nullish(),\n maxLength: z.number().int().nullish(),\n default: z.string().nullish()\n});\nexport type StringType = z.infer<typeof StringTypeSchema>;\n\nexport const LongTypeSchema = z.object({\n minimum: coercedNumberNullish,\n maximum: coercedNumberNullish,\n exclusiveMinimum: coercedNumberNullish,\n exclusiveMaximum: coercedNumberNullish,\n multipleOf: coercedNumberNullish,\n default: coercedNumberNullish\n});\nexport type LongType = z.infer<typeof LongTypeSchema>;\n\nconst _booleanNullish = z.boolean().nullish();\n\nexport const BooleanTypeSchema = z.object({\n default: z.preprocess((val) => {\n if (typeof val === \"string\") {\n if (val.toLowerCase() === \"true\") {\n return true;\n }\n if (val.toLowerCase() === \"false\") {\n return false;\n }\n }\n return val;\n }, z.boolean().nullish()) as unknown as typeof _booleanNullish\n});\nexport type BooleanType = z.infer<typeof BooleanTypeSchema>;\n\nexport const DatetimeTypeSchema = z.object({\n default: z.string().nullish()\n});\nexport type DatetimeType = z.infer<typeof DatetimeTypeSchema>;\n\nexport const UuidTypeSchema = z.object({\n default: z.string().nullish()\n});\nexport type UuidType = z.infer<typeof UuidTypeSchema>;\n\nexport const Base64TypeSchema = z.object({\n default: z.string().nullish(),\n mimeType: z.string().nullish()\n});\nexport type Base64Type = z.infer<typeof Base64TypeSchema>;\n\nexport const DateTypeSchema = z.object({\n default: z.string().nullish()\n});\nexport type DateType = z.infer<typeof DateTypeSchema>;\n\nexport const BigIntegerTypeSchema = z.object({\n default: z.string().nullish()\n});\nexport type BigIntegerType = z.infer<typeof BigIntegerTypeSchema>;\n\nexport const UintTypeSchema = z.object({\n minimum: coercedNumberIntNullish,\n maximum: coercedNumberIntNullish,\n exclusiveMinimum: coercedNumberIntNullish,\n exclusiveMaximum: coercedNumberIntNullish,\n multipleOf: coercedNumberIntNullish,\n default: coercedNumberIntNullish\n});\nexport type UintType = z.infer<typeof UintTypeSchema>;\n\nexport const Uint64TypeSchema = z.object({\n minimum: coercedNumberNullish,\n maximum: coercedNumberNullish,\n exclusiveMinimum: coercedNumberNullish,\n exclusiveMaximum: coercedNumberNullish,\n multipleOf: coercedNumberNullish,\n default: coercedNumberNullish\n});\nexport type Uint64Type = z.infer<typeof Uint64TypeSchema>;\n\nexport const ScalarTypeSchema = z.object({\n name: z.string(),\n description: z.string().nullish(),\n default: z.unknown().nullish()\n});\nexport type ScalarType = z.infer<typeof ScalarTypeSchema>;\n\nexport const PrimitiveTypeSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"integer\"), ...IntegerTypeSchema.shape }),\n z.object({ type: z.literal(\"double\"), ...DoubleTypeSchema.shape }),\n z.object({ type: z.literal(\"string\"), ...StringTypeSchema.shape }),\n z.object({ type: z.literal(\"long\"), ...LongTypeSchema.shape }),\n z.object({ type: z.literal(\"boolean\"), ...BooleanTypeSchema.shape }),\n z.object({ type: z.literal(\"datetime\"), ...DatetimeTypeSchema.shape }),\n z.object({ type: z.literal(\"uuid\"), ...UuidTypeSchema.shape }),\n z.object({ type: z.literal(\"base64\"), ...Base64TypeSchema.shape }),\n z.object({ type: z.literal(\"date\"), ...DateTypeSchema.shape }),\n z.object({ type: z.literal(\"bigInteger\"), ...BigIntegerTypeSchema.shape }),\n z.object({ type: z.literal(\"uint\"), ...UintTypeSchema.shape }),\n z.object({ type: z.literal(\"uint64\"), ...Uint64TypeSchema.shape }),\n z.object({ type: z.literal(\"scalar\"), ...ScalarTypeSchema.shape })\n]);\nexport type PrimitiveType = z.infer<typeof PrimitiveTypeSchema>;\n\nexport const LiteralTypeSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"booleanLiteral\"), value: z.boolean() }),\n z.object({ type: z.literal(\"stringLiteral\"), value: z.string() })\n]);\nexport type LiteralType = z.infer<typeof LiteralTypeSchema>;\n\nexport type TypeReference =\n | TypeReference.Id\n | TypeReference.Primitive\n | TypeReference.Optional\n | TypeReference.Nullable\n | TypeReference.List\n | TypeReference.Set\n | TypeReference.Map\n | TypeReference.Literal\n | TypeReference.Unknown;\n\nexport namespace TypeReference {\n export interface Id {\n type: \"id\";\n value: string;\n default?: TypeReferenceIdDefault | null;\n }\n export interface Primitive {\n type: \"primitive\";\n value: PrimitiveType;\n }\n export interface Optional {\n type: \"optional\";\n itemType: TypeReference;\n defaultValue?: unknown | null;\n }\n export interface Nullable {\n type: \"nullable\";\n itemType: TypeReference;\n }\n export interface List {\n type: \"list\";\n itemType: TypeReference;\n minItems?: number | null;\n maxItems?: number | null;\n }\n export interface Set {\n type: \"set\";\n itemType: TypeReference;\n minItems?: number | null;\n maxItems?: number | null;\n }\n export interface Map {\n type: \"map\";\n keyType: TypeReference;\n valueType: TypeReference;\n minProperties?: number | null;\n maxProperties?: number | null;\n }\n export interface Literal {\n type: \"literal\";\n value: LiteralType;\n }\n export interface Unknown {\n type: \"unknown\";\n }\n}\n\nexport const TypeReferenceSchema: z.ZodType<TypeReference> = z.lazy(() =>\n z.discriminatedUnion(\"type\", [\n z.object({\n type: z.literal(\"id\"),\n value: TypeIdSchema,\n default: TypeReferenceIdDefaultSchema.nullish()\n }),\n z.object({\n type: z.literal(\"primitive\"),\n value: PrimitiveTypeSchema\n }),\n z.object({\n type: z.literal(\"optional\"),\n itemType: TypeReferenceSchema,\n defaultValue: z.unknown().nullish()\n }),\n z.object({\n type: z.literal(\"nullable\"),\n itemType: TypeReferenceSchema\n }),\n z.object({\n type: z.literal(\"list\"),\n itemType: TypeReferenceSchema,\n minItems: z.number().int().nullish(),\n maxItems: z.number().int().nullish()\n }),\n z.object({\n type: z.literal(\"set\"),\n itemType: TypeReferenceSchema,\n minItems: z.number().int().nullish(),\n maxItems: z.number().int().nullish()\n }),\n z.object({\n type: z.literal(\"map\"),\n keyType: TypeReferenceSchema,\n valueType: TypeReferenceSchema,\n minProperties: z.number().int().nullish(),\n maxProperties: z.number().int().nullish()\n }),\n z.object({\n type: z.literal(\"literal\"),\n value: LiteralTypeSchema\n }),\n z.object({\n type: z.literal(\"unknown\")\n })\n ])\n);\n\nexport interface GraphQlArgument {\n description?: string | null;\n availability?: z.infer<typeof AvailabilitySchema> | null;\n name: string;\n type: TypeReference;\n defaultValue?: unknown | null;\n}\nexport const GraphQlArgumentSchema: z.ZodType<GraphQlArgument> = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n name: z.string(),\n type: TypeReferenceSchema,\n defaultValue: z.unknown().nullish()\n});\n\nexport const ObjectPropertySchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n key: PropertyKeySchema,\n valueType: TypeReferenceSchema,\n propertyAccess: ObjectPropertyAccessSchema.nullish(),\n arguments: z.array(GraphQlArgumentSchema).nullish()\n});\nexport type ObjectProperty = z.infer<typeof ObjectPropertySchema>;\n\nexport const ObjectTypeSchema = z.object({\n extends: z.array(TypeIdSchema),\n properties: z.array(ObjectPropertySchema),\n extraProperties: TypeReferenceSchema.nullish()\n});\nexport type ObjectType = z.infer<typeof ObjectTypeSchema>;\n\nexport const EnumValueSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n value: z.string()\n});\nexport type EnumValue = z.infer<typeof EnumValueSchema>;\n\nexport const EnumTypeSchema = z.object({\n default: z.string().nullish(),\n values: z.array(EnumValueSchema)\n});\nexport type EnumType = z.infer<typeof EnumTypeSchema>;\n\nexport const DiscriminatedUnionVariantSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n discriminantValue: z.string(),\n displayName: z.string().nullish(),\n additionalProperties: ObjectTypeSchema\n});\nexport type DiscriminatedUnionVariant = z.infer<typeof DiscriminatedUnionVariantSchema>;\n\nexport const DiscriminatedUnionTypeSchema = z.object({\n discriminant: z.string(),\n variants: z.array(DiscriminatedUnionVariantSchema)\n});\nexport type DiscriminatedUnionType = z.infer<typeof DiscriminatedUnionTypeSchema>;\n\nexport const ContentTypeSchema = z.union([z.string(), z.array(z.string())]);\nexport type ContentType = z.infer<typeof ContentTypeSchema>;\n\nexport const FilePropertySingleSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n key: PropertyKeySchema,\n isOptional: z.boolean(),\n contentType: ContentTypeSchema.nullish()\n});\nexport type FilePropertySingle = z.infer<typeof FilePropertySingleSchema>;\n\nexport const FilePropertyArraySchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n key: PropertyKeySchema,\n isOptional: z.boolean(),\n contentType: ContentTypeSchema.nullish()\n});\nexport type FilePropertyArray = z.infer<typeof FilePropertyArraySchema>;\n\nexport const FormDataFilePropertySchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"file\"), ...FilePropertySingleSchema.shape }),\n z.object({ type: z.literal(\"fileArray\"), ...FilePropertyArraySchema.shape })\n]);\nexport type FormDataFileProperty = z.infer<typeof FormDataFilePropertySchema>;\n\nexport const FormDataBodyPropertySchema = z.object({\n ...ObjectPropertySchema.shape,\n contentType: ContentTypeSchema.nullish(),\n exploded: z.boolean().nullish()\n});\nexport type FormDataBodyProperty = z.infer<typeof FormDataBodyPropertySchema>;\n\nexport const FormDataPropertySchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"file\"), value: FormDataFilePropertySchema }),\n z.object({ type: z.literal(\"bodyProperty\"), ...FormDataBodyPropertySchema.shape })\n]);\nexport type FormDataProperty = z.infer<typeof FormDataPropertySchema>;\n\nexport const FormDataRequestSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n name: z.string(),\n properties: z.array(FormDataPropertySchema)\n});\nexport type FormDataRequest = z.infer<typeof FormDataRequestSchema>;\n\nexport const EndpointPathPartSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"literal\"), value: z.string() }),\n z.object({ type: z.literal(\"pathParameter\"), value: PropertyKeySchema })\n]);\nexport type EndpointPathPart = z.infer<typeof EndpointPathPartSchema>;\n\nexport const PathParameterSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n key: PropertyKeySchema,\n type: TypeReferenceSchema,\n explode: z.boolean().nullish()\n});\nexport type PathParameter = z.infer<typeof PathParameterSchema>;\n\nexport const EndpointPathSchema = z.object({\n parts: z.array(EndpointPathPartSchema),\n pathParameters: z.array(PathParameterSchema)\n});\nexport type EndpointPath = z.infer<typeof EndpointPathSchema>;\n\nexport const QueryParameterSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n key: z.string(),\n type: TypeReferenceSchema,\n explode: z.boolean().nullish()\n});\nexport type QueryParameter = z.infer<typeof QueryParameterSchema>;\n\nexport const HeaderSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n key: z.string(),\n type: TypeReferenceSchema\n});\nexport type Header = z.infer<typeof HeaderSchema>;\n\nexport const JsonBodyShapeSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"object\"), ...ObjectTypeSchema.shape }),\n z.object({ type: z.literal(\"reference\"), value: TypeReferenceSchema })\n]);\nexport type JsonBodyShape = z.infer<typeof JsonBodyShapeSchema>;\n\nexport const FileDownloadResponseBodyShapeSchema = z.object({\n contentType: z.string().nullish()\n});\nexport type FileDownloadResponseBodyShape = z.infer<typeof FileDownloadResponseBodyShapeSchema>;\n\nexport const StreamResponseV2Schema = z.object({\n terminator: z.string().nullish(),\n shape: JsonBodyShapeSchema\n});\nexport type StreamResponseV2 = z.infer<typeof StreamResponseV2Schema>;\n\nexport const StreamConditionSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"booleanRequestProperty\"), value: PropertyKeySchema })\n]);\nexport type StreamCondition = z.infer<typeof StreamConditionSchema>;\n\nexport const FilenameWithDataSchema = z.object({\n filename: z.string(),\n data: FileIdSchema\n});\nexport type FilenameWithData = z.infer<typeof FilenameWithDataSchema>;\n\nexport const FormValueSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"json\"), value: z.unknown() }),\n z.object({ type: z.literal(\"filename\"), value: z.string() }),\n z.object({ type: z.literal(\"filenames\"), value: z.array(z.string()) }),\n z.object({ type: z.literal(\"filenameWithData\"), ...FilenameWithDataSchema.shape }),\n z.object({ type: z.literal(\"filenamesWithData\"), value: z.array(FilenameWithDataSchema) }),\n z.object({ type: z.literal(\"exploded\"), value: z.array(z.unknown()) })\n]);\nexport type FormValue = z.infer<typeof FormValueSchema>;\n\nexport const BytesValueSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"base64\"), value: z.string() })\n]);\nexport type BytesValue = z.infer<typeof BytesValueSchema>;\n\n// The form variant uses z.unknown() for record values instead of FormValueSchema to be\n// forward-compatible with new form value types and to tolerate form values produced by\n// the AI example enhancer (which may not conform to the strict FormValueSchema).\n// Example data is display-only and does not require strict validation at registration time.\nexport const ExampleEndpointRequestSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"json\"), value: z.unknown() }),\n z.object({ type: z.literal(\"form\"), value: z.record(z.string(), z.unknown()) }),\n z.object({ type: z.literal(\"bytes\"), value: BytesValueSchema })\n]);\nexport type ExampleEndpointRequest = z.infer<typeof ExampleEndpointRequestSchema>;\n\nexport const ExampleServerSentEventSchema = z.object({\n event: z.string(),\n data: z.unknown()\n});\nexport type ExampleServerSentEvent = z.infer<typeof ExampleServerSentEventSchema>;\n\nexport const ExampleEndpointResponseSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"json\"), value: z.unknown() }),\n z.object({ type: z.literal(\"filename\"), value: z.unknown() }),\n z.object({ type: z.literal(\"stream\"), value: z.array(z.unknown()) }),\n z.object({ type: z.literal(\"sse\"), value: z.array(ExampleServerSentEventSchema) })\n]);\nexport type ExampleEndpointResponse = z.infer<typeof ExampleEndpointResponseSchema>;\n\nexport const ErrorDeclarationSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n type: TypeReferenceSchema.nullish(),\n statusCode: z.number().int()\n});\nexport type ErrorDeclaration = z.infer<typeof ErrorDeclarationSchema>;\n\nexport const ExampleErrorResponseSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"json\"), value: z.unknown() })\n]);\nexport type ExampleErrorResponse = z.infer<typeof ExampleErrorResponseSchema>;\n\nexport const ErrorExampleSchema = z.object({\n description: z.string().nullish(),\n name: z.string().nullish(),\n responseBody: ExampleErrorResponseSchema\n});\nexport type ErrorExample = z.infer<typeof ErrorExampleSchema>;\n\nexport const GraphQlOperationTypeSchema = z.enum([\"QUERY\", \"MUTATION\", \"SUBSCRIPTION\"]);\nexport type GraphQlOperationType = z.infer<typeof GraphQlOperationTypeSchema>;\n\nexport const GraphQlExampleSchema = z.object({\n description: z.string().nullish(),\n name: z.string().nullish(),\n query: z.string(),\n variables: z.record(z.string(), z.unknown()).nullish(),\n response: z.unknown().nullish()\n});\nexport type GraphQlExample = z.infer<typeof GraphQlExampleSchema>;\n\nexport const CodeSnippetSchema = z.object({\n description: z.string().nullish(),\n name: z.string().nullish(),\n language: z.string(),\n install: z.string().nullish(),\n code: z.string(),\n generated: z.boolean()\n});\nexport type CodeSnippet = z.infer<typeof CodeSnippetSchema>;\n\nexport const GraphQlOperationSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n id: GraphQlOperationIdSchema,\n operationType: GraphQlOperationTypeSchema,\n name: z.string(),\n displayName: z.string().nullish(),\n fieldPath: z.array(z.string()).nullish(),\n arguments: z.array(GraphQlArgumentSchema).nullish(),\n returnType: TypeReferenceSchema,\n examples: z.array(GraphQlExampleSchema).nullish(),\n snippets: z.record(z.string(), z.array(CodeSnippetSchema)).nullish()\n});\nexport type GraphQlOperation = z.infer<typeof GraphQlOperationSchema>;\n\nexport const WebhookPayloadShapeSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"object\"), ...ObjectTypeSchema.shape }),\n z.object({ type: z.literal(\"reference\"), value: TypeReferenceSchema }),\n z.object({ type: z.literal(\"formData\"), ...FormDataRequestSchema.shape })\n]);\nexport type WebhookPayloadShape = z.infer<typeof WebhookPayloadShapeSchema>;\n\nexport const WebhookPayloadSchema = z.object({\n description: z.string().nullish(),\n type: WebhookPayloadShapeSchema\n});\nexport type WebhookPayload = z.infer<typeof WebhookPayloadSchema>;\n\nexport const ExampleWebhookPayloadSchema = z.object({\n name: z.string().nullish(),\n payload: z.unknown()\n});\nexport type ExampleWebhookPayload = z.infer<typeof ExampleWebhookPayloadSchema>;\n\nexport const WebSocketMessageBodyShapeSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"object\"), ...ObjectTypeSchema.shape }),\n z.object({ type: z.literal(\"reference\"), value: TypeReferenceSchema })\n]);\nexport type WebSocketMessageBodyShape = z.infer<typeof WebSocketMessageBodyShapeSchema>;\n\nexport const WebSocketMessageSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n type: WebSocketMessageIdSchema,\n displayName: z.string().nullish(),\n origin: WebSocketMessageOriginSchema,\n body: WebSocketMessageBodyShapeSchema\n});\nexport type WebSocketMessage = z.infer<typeof WebSocketMessageSchema>;\n\nexport const ExampleWebSocketMessageSchema = z.object({\n type: WebSocketMessageIdSchema,\n body: z.unknown()\n});\nexport type ExampleWebSocketMessage = z.infer<typeof ExampleWebSocketMessageSchema>;\n\nexport const ExampleWebSocketSessionSchema = z.object({\n description: z.string().nullish(),\n name: z.string().nullish(),\n path: z.string(),\n pathParameters: z.record(PropertyKeySchema, z.unknown()),\n queryParameters: z.record(z.string(), z.unknown()),\n headers: z.record(z.string(), z.unknown()),\n messages: z.array(ExampleWebSocketMessageSchema)\n});\nexport type ExampleWebSocketSession = z.infer<typeof ExampleWebSocketSessionSchema>;\n\nexport type ApiNavigationConfigItem =\n | ApiNavigationConfigItem.Subpackage\n | ApiNavigationConfigItem.EndpointId\n | ApiNavigationConfigItem.WebsocketId\n | ApiNavigationConfigItem.WebhookId\n | ApiNavigationConfigItem.GraphqlOperationId;\n\nexport namespace ApiNavigationConfigItem {\n export interface Subpackage {\n type: \"subpackage\";\n subpackageId: string;\n items: ApiNavigationConfigItem[];\n }\n export interface EndpointId {\n type: \"endpointId\";\n value: string;\n }\n export interface WebsocketId {\n type: \"websocketId\";\n value: string;\n }\n export interface WebhookId {\n type: \"webhookId\";\n value: string;\n }\n export interface GraphqlOperationId {\n type: \"graphqlOperationId\";\n value: string;\n }\n}\n\nexport const ApiNavigationConfigItemSchema: z.ZodType<ApiNavigationConfigItem> = z.lazy(() =>\n z.discriminatedUnion(\"type\", [\n z.object({\n type: z.literal(\"subpackage\"),\n subpackageId: SubpackageIdSchema,\n items: z.array(ApiNavigationConfigItemSchema)\n }),\n z.object({ type: z.literal(\"endpointId\"), value: EndpointIdSchema }),\n z.object({ type: z.literal(\"websocketId\"), value: WebSocketIdSchema }),\n z.object({ type: z.literal(\"webhookId\"), value: WebhookIdSchema }),\n z.object({ type: z.literal(\"graphqlOperationId\"), value: GraphQlOperationIdSchema })\n ])\n);\n\nexport const ApiNavigationConfigRootSchema = z.object({\n items: z.array(ApiNavigationConfigItemSchema)\n});\nexport type ApiNavigationConfigRoot = z.infer<typeof ApiNavigationConfigRootSchema>;\n\n/**\n * Shown below the scheme's input in the API playground instead of `description`.\n * Supports a markdown subset: `[label](url)` links (absolute or relative), bare URLs,\n * `inline code`, and blank-line-separated paragraphs. Set via `x-fern-playground-description`.\n */\nconst PlaygroundDescriptionSchema = z.string().nullish();\n\nexport const BearerAuthSchema = z.object({\n description: z.string().nullish(),\n playgroundDescription: PlaygroundDescriptionSchema,\n tokenName: z.string().nullish()\n});\nexport type BearerAuth = z.infer<typeof BearerAuthSchema>;\n\nexport const BasicAuthSchema = z.object({\n description: z.string().nullish(),\n playgroundDescription: PlaygroundDescriptionSchema,\n usernameName: z.string().nullish(),\n passwordName: z.string().nullish(),\n passwordAlwaysEmpty: z.boolean().nullish()\n});\nexport type BasicAuth = z.infer<typeof BasicAuthSchema>;\n\nexport const HeaderAuthSchema = z.object({\n description: z.string().nullish(),\n playgroundDescription: PlaygroundDescriptionSchema,\n nameOverride: z.string().nullish(),\n headerWireValue: z.string(),\n prefix: z.string().nullish()\n});\nexport type HeaderAuth = z.infer<typeof HeaderAuthSchema>;\n\nexport const OAuthClientCredentialsReferencedEndpointSchema = z.object({\n description: z.string().nullish(),\n playgroundDescription: PlaygroundDescriptionSchema,\n endpointId: EndpointIdSchema,\n accessTokenLocator: z.string(),\n headerName: z.string().nullish(),\n tokenPrefix: z.string().nullish()\n});\nexport type OAuthClientCredentialsReferencedEndpoint = z.infer<typeof OAuthClientCredentialsReferencedEndpointSchema>;\n\nexport const OAuthClientCredentialsSchema = z.discriminatedUnion(\"type\", [\n z.object({\n type: z.literal(\"referencedEndpoint\"),\n ...OAuthClientCredentialsReferencedEndpointSchema.shape\n })\n]);\nexport type OAuthClientCredentials = z.infer<typeof OAuthClientCredentialsSchema>;\n\nexport const OAuthSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"clientCredentials\"), value: OAuthClientCredentialsSchema })\n]);\nexport type OAuth = z.infer<typeof OAuthSchema>;\n\nexport const ApiAuthSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"bearerAuth\"), ...BearerAuthSchema.shape }),\n z.object({ type: z.literal(\"basicAuth\"), ...BasicAuthSchema.shape }),\n z.object({ type: z.literal(\"header\"), ...HeaderAuthSchema.shape }),\n z.object({ type: z.literal(\"oAuth\"), value: OAuthSchema })\n]);\nexport type ApiAuth = z.infer<typeof ApiAuthSchema>;\n","import * as z from \"zod\";\n\n// ── Org / API identifiers ──────────────────────────────────────────────\n\nexport const OrgIdSchema = z.string();\nexport type OrgId = z.infer<typeof OrgIdSchema>;\nexport function OrgId(value: string): OrgId {\n return value;\n}\n\nexport const ApiIdSchema = z.string();\nexport type ApiId = z.infer<typeof ApiIdSchema>;\nexport function ApiId(value: string): ApiId {\n return value;\n}\n\nexport const ApiDefinitionIdSchema = z.string().uuid();\nexport type ApiDefinitionId = z.infer<typeof ApiDefinitionIdSchema>;\nexport function ApiDefinitionId(value: string): ApiDefinitionId {\n return value;\n}\n\n// ── HTTP / Endpoint schemas ─────────────────────────────────────────────\n\nexport const HttpMethodSchema = z.enum([\"GET\", \"POST\", \"PUT\", \"PATCH\", \"DELETE\", \"HEAD\"]);\nexport type HttpMethod = z.infer<typeof HttpMethodSchema>;\n\nexport const HttpMethod = {\n Get: \"GET\",\n Post: \"POST\",\n Put: \"PUT\",\n Patch: \"PATCH\",\n Delete: \"DELETE\",\n Head: \"HEAD\"\n} as const;\n\nexport const UrlSchema: z.ZodType<Url> = z.string() as any;\nexport type Url = string & { Url: void };\nexport function Url(value: string): Url {\n return value as unknown as Url;\n}\n\nexport const EndpointPathLiteralSchema = z.string();\nexport type EndpointPathLiteral = z.infer<typeof EndpointPathLiteralSchema>;\nexport function EndpointPathLiteral(value: string): EndpointPathLiteral {\n return value;\n}\n\nexport const EndpointIdentifierSchema = z.object({\n path: z.string(),\n method: HttpMethodSchema,\n identifierOverride: z.string().nullish()\n});\nexport type EndpointIdentifier = z.infer<typeof EndpointIdentifierSchema>;\n\n// ── SDK request schema ──────────────────────────────────────────────────\n\nexport type SdkRequest =\n | { type: \"typescript\"; package: string; version: string | undefined }\n | { type: \"python\"; package: string; version: string | undefined }\n | { type: \"go\"; githubRepo: string; version: string | undefined }\n | { type: \"ruby\"; gem: string; version: string | undefined }\n | { type: \"java\"; group: string; artifact: string; version: string | undefined }\n | { type: \"csharp\"; package: string; version: string | undefined };\n\nexport const SdkRequestSchema: z.ZodType<SdkRequest> = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"typescript\"), package: z.string(), version: z.string().nullish() }),\n z.object({ type: z.literal(\"python\"), package: z.string(), version: z.string().nullish() }),\n z.object({ type: z.literal(\"go\"), githubRepo: z.string(), version: z.string().nullish() }),\n z.object({ type: z.literal(\"ruby\"), gem: z.string(), version: z.string().nullish() }),\n z.object({\n type: z.literal(\"java\"),\n group: z.string(),\n artifact: z.string(),\n version: z.string().nullish()\n }),\n z.object({ type: z.literal(\"csharp\"), package: z.string(), version: z.string().nullish() })\n]) as any;\n\n// ── Additional identifiers ─────────────────────────────────────────────\n\nexport const DocsConfigIdSchema = z.string();\nexport type DocsConfigId = z.infer<typeof DocsConfigIdSchema>;\nexport function DocsConfigId(value: string): DocsConfigId {\n return value;\n}\n\nexport const GrpcIdSchema = z.string();\nexport type GrpcId = z.infer<typeof GrpcIdSchema>;\nexport function GrpcId(value: string): GrpcId {\n return value;\n}\n\nexport const PageIdSchema = z.string();\nexport type PageId = z.infer<typeof PageIdSchema>;\nexport function PageId(value: string): PageId {\n return value;\n}\n\nexport const RoleIdSchema = z.string();\nexport type RoleId = z.infer<typeof RoleIdSchema>;\nexport function RoleId(value: string): RoleId {\n return value;\n}\n\nexport const TokenIdSchema = z.string();\nexport type TokenId = z.infer<typeof TokenIdSchema>;\n\nexport const VersionIdSchema = z.string();\nexport type VersionId = z.infer<typeof VersionIdSchema>;\nexport function VersionId(value: string): VersionId {\n return value;\n}\n\n// ── Enums ──────────────────────────────────────────────────────────────\n\nexport const LinkTarget = {\n Blank: \"_blank\",\n Self: \"_self\",\n Parent: \"_parent\",\n Top: \"_top\"\n} as const;\nexport type LinkTarget = (typeof LinkTarget)[keyof typeof LinkTarget];\n\nexport const GrpcMethod = {\n Unary: \"UNARY\",\n ClientStream: \"CLIENT_STREAM\",\n ServerStream: \"SERVER_STREAM\",\n BidirectionalStream: \"BIDIRECTIONAL_STREAM\"\n} as const;\nexport type GrpcMethod = (typeof GrpcMethod)[keyof typeof GrpcMethod];\n\nexport const Availability = {\n Alpha: \"Alpha\",\n Stable: \"Stable\",\n GenerallyAvailable: \"GenerallyAvailable\",\n InDevelopment: \"InDevelopment\",\n PreRelease: \"PreRelease\",\n Deprecated: \"Deprecated\",\n Beta: \"Beta\",\n Preview: \"Preview\",\n Legacy: \"Legacy\"\n} as const;\nexport type Availability = (typeof Availability)[keyof typeof Availability];\n\nexport const SupportedLanguage = {\n Curl: \"curl\",\n Python: \"python\",\n Javascript: \"javascript\",\n Js: \"js\",\n Node: \"node\",\n Typescript: \"typescript\",\n Ts: \"ts\",\n Go: \"go\",\n Ruby: \"ruby\",\n Csharp: \"csharp\",\n Php: \"php\",\n Swift: \"swift\",\n Rust: \"rust\"\n} as const;\nexport type SupportedLanguage = (typeof SupportedLanguage)[keyof typeof SupportedLanguage];\n\nexport const HttpSnippetLanguage = {\n Curl: \"curl\",\n Csharp: \"csharp\",\n Go: \"go\",\n Java: \"java\",\n Javascript: \"javascript\",\n Php: \"php\",\n Python: \"python\",\n Ruby: \"ruby\",\n Swift: \"swift\",\n Rust: \"rust\",\n Typescript: \"typescript\"\n} as const;\nexport type HttpSnippetLanguage = (typeof HttpSnippetLanguage)[keyof typeof HttpSnippetLanguage];\n\n// ── Error types ────────────────────────────────────────────────────────\n\nexport interface InvalidDomainErrorBody {\n /** Value the domain should end with (i.e. docs.buildwithfern.com or dev.docs.buildwithfern.com) */\n requiredDomainSuffix: string;\n}\n\n// ── Docs types ─────────────────────────────────────────────────────────\n\nexport interface AnnouncementConfig {\n /** The text to display in the banner, using markdown. */\n text: string;\n}\n\n// ── Snippet types ──────────────────────────────────────────────────────\n\nexport type SnippetsByEndpointMethod = Partial<Record<HttpMethod, Snippet[]>>;\n\nexport const SnippetsByEndpointMethodSchema: z.ZodType<SnippetsByEndpointMethod> = z.record(\n HttpMethodSchema,\n z.array(z.unknown())\n) as any;\n\n// ── SDK types for snippets ────────────────────────────────────────────\n\nexport interface TypeScriptSdk {\n package: string;\n version: string;\n}\n\nexport interface PythonSdk {\n package: string;\n version: string;\n}\n\nexport interface GoSdk {\n githubRepo: string;\n version: string;\n}\n\nexport interface RubySdk {\n gem: string;\n version: string;\n}\n\nexport interface CsharpSdk {\n package: string;\n version: string;\n}\n\nexport interface JavaSdk {\n group: string;\n artifact: string;\n version: string;\n}\n\nexport interface TypeScriptSnippet {\n sdk: TypeScriptSdk;\n client: string;\n}\n\nexport interface PythonSnippet {\n sdk: PythonSdk;\n async_client: string;\n sync_client: string;\n}\n\nexport interface GoSnippet {\n sdk: GoSdk;\n client: string;\n}\n\nexport interface RubySnippet {\n sdk: RubySdk;\n client: string;\n}\n\nexport interface CsharpSnippet {\n sdk: CsharpSdk;\n client: string;\n}\n\nexport interface JavaSnippet {\n sdk: JavaSdk;\n async_client: string;\n sync_client: string;\n}\n\n// ── Snippet discriminated union ───────────────────────────────────────\n\n// ── Snippet code types (used to deserialize snippet data from DB) ────\n\nexport interface TypeScriptSnippetCode {\n client: string;\n}\n\nexport interface PythonSnippetCode {\n async_client: string;\n sync_client: string;\n}\n\nexport interface GoSnippetCode {\n client: string;\n}\n\nexport interface RubySnippetCode {\n client: string;\n}\n\nexport interface JavaSnippetCode {\n async_client: string;\n sync_client: string;\n}\n\nexport interface CsharpSnippetCode {\n client: string;\n}\n\n// ── Sdk type (SdkRequest with required version) ─────────────────────\n\nexport const SdkSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"typescript\"), package: z.string(), version: z.string() }),\n z.object({ type: z.literal(\"python\"), package: z.string(), version: z.string() }),\n z.object({ type: z.literal(\"go\"), githubRepo: z.string(), version: z.string() }),\n z.object({ type: z.literal(\"ruby\"), gem: z.string(), version: z.string() }),\n z.object({\n type: z.literal(\"java\"),\n group: z.string(),\n artifact: z.string(),\n version: z.string()\n }),\n z.object({ type: z.literal(\"csharp\"), package: z.string(), version: z.string() })\n]);\nexport type Sdk = z.infer<typeof SdkSchema>;\n\n// ── Template type (generic template placeholder) ────────────────────\nexport type Template = unknown;\n\nexport type Snippet = Snippet.Typescript | Snippet.Python | Snippet.Java | Snippet.Go | Snippet.Ruby | Snippet.Csharp;\n\nexport namespace Snippet {\n interface _Base {\n exampleIdentifier: string | undefined;\n }\n\n export interface Typescript extends TypeScriptSnippet, _Base {\n type: \"typescript\";\n }\n\n export interface Python extends PythonSnippet, _Base {\n type: \"python\";\n }\n\n export interface Java extends JavaSnippet, _Base {\n type: \"java\";\n }\n\n export interface Go extends GoSnippet, _Base {\n type: \"go\";\n }\n\n export interface Ruby extends RubySnippet, _Base {\n type: \"ruby\";\n }\n\n export interface Csharp extends CsharpSnippet, _Base {\n type: \"csharp\";\n }\n}\n","import * as z from \"zod\";\nimport type { DiscriminatedUnionType, EnumType, ObjectType, TypeReference } from \"./shared.js\";\nimport {\n ApiAuthSchema,\n ApiDefinitionIdSchema,\n ApiNavigationConfigRootSchema,\n AuthSchemeIdSchema,\n AvailabilitySchema,\n DiscriminatedUnionTypeSchema,\n EndpointIdSchema,\n EndpointPathSchema,\n EnumTypeSchema,\n EnvironmentIdSchema,\n EnvironmentSchema,\n ErrorDeclarationSchema,\n ErrorExampleSchema,\n ExampleEndpointRequestSchema,\n ExampleEndpointResponseSchema,\n ExampleWebhookPayloadSchema,\n ExampleWebSocketSessionSchema,\n FileDownloadResponseBodyShapeSchema,\n FormDataRequestSchema,\n GraphQlOperationSchema,\n HeaderSchema,\n HttpMethodSchema,\n JsonBodyShapeSchema,\n MultipleAuthTypeSchema,\n ObjectTypeSchema,\n PropertyKeySchema,\n ProtocolSchema,\n QueryParameterSchema,\n StreamConditionSchema,\n StreamResponseV2Schema,\n SubpackageIdSchema,\n TypeIdSchema,\n TypeReferenceSchema,\n WebhookHttpMethodSchema,\n WebhookIdSchema,\n WebhookPayloadSchema,\n WebSocketIdSchema,\n WebSocketMessageSchema\n} from \"./shared.js\";\n\n// ── Register commons ─────────────────────────────────────────────────────\n\nexport const JqStringSchema = z.string();\nexport type JqString = z.infer<typeof JqStringSchema>;\n\nexport const RegisterLanguageSchema = z.string();\nexport type RegisterLanguage = z.infer<typeof RegisterLanguageSchema>;\n\n// ── Register type ────────────────────────────────────────────────────────\n\nexport const RegisterUndiscriminatedUnionVariantSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n typeName: z.string().nullish(),\n type: TypeReferenceSchema,\n displayName: z.string().nullish()\n});\nexport type RegisterUndiscriminatedUnionVariant = z.infer<typeof RegisterUndiscriminatedUnionVariantSchema>;\n\nexport const RegisterUndiscriminatedUnionTypeSchema = z.object({\n variants: z.array(RegisterUndiscriminatedUnionVariantSchema)\n});\nexport type RegisterUndiscriminatedUnionType = z.infer<typeof RegisterUndiscriminatedUnionTypeSchema>;\n\nexport type RegisterTypeShape =\n | RegisterTypeShape.Alias\n | RegisterTypeShape.Enum\n | RegisterTypeShape.UndiscriminatedUnion\n | RegisterTypeShape.DiscriminatedUnion\n | RegisterTypeShape.Object_;\n\nexport namespace RegisterTypeShape {\n export interface Alias {\n type: \"alias\";\n value: TypeReference;\n }\n export interface Enum extends EnumType {\n type: \"enum\";\n }\n export interface UndiscriminatedUnion extends RegisterUndiscriminatedUnionType {\n type: \"undiscriminatedUnion\";\n }\n export interface DiscriminatedUnion extends DiscriminatedUnionType {\n type: \"discriminatedUnion\";\n }\n export interface Object_ extends ObjectType {\n type: \"object\";\n }\n}\n\nexport const RegisterTypeShapeSchema: z.ZodType<RegisterTypeShape> = z.lazy(() =>\n z.discriminatedUnion(\"type\", [\n z.object({\n type: z.literal(\"alias\"),\n value: TypeReferenceSchema\n }),\n z.object({\n type: z.literal(\"enum\"),\n ...EnumTypeSchema.shape\n }),\n z.object({\n type: z.literal(\"undiscriminatedUnion\"),\n ...RegisterUndiscriminatedUnionTypeSchema.shape\n }),\n z.object({\n type: z.literal(\"discriminatedUnion\"),\n ...DiscriminatedUnionTypeSchema.shape\n }),\n z.object({\n type: z.literal(\"object\"),\n ...ObjectTypeSchema.shape\n })\n ])\n);\n\nexport const RegisterTypeDefinitionSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n name: z.string(),\n shape: RegisterTypeShapeSchema,\n displayName: z.string().nullish()\n});\nexport type RegisterTypeDefinition = z.infer<typeof RegisterTypeDefinitionSchema>;\n\nexport const RegisterBytesRequestSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n isOptional: z.boolean(),\n contentType: z.string().nullish()\n});\nexport type RegisterBytesRequest = z.infer<typeof RegisterBytesRequestSchema>;\n\n// ── Register endpoint ────────────────────────────────────────────────────\n\nexport const RegisterJsonRequestBodySchema = z.object({\n contentType: z.string(),\n shape: JsonBodyShapeSchema\n});\nexport type RegisterJsonRequestBody = z.infer<typeof RegisterJsonRequestBodySchema>;\n\nexport const RegisterHttpRequestBodyShapeSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"json\"), ...RegisterJsonRequestBodySchema.shape }),\n z.object({ type: z.literal(\"formData\"), ...FormDataRequestSchema.shape }),\n z.object({ type: z.literal(\"bytes\"), ...RegisterBytesRequestSchema.shape }),\n z.object({ type: z.literal(\"object\"), ...ObjectTypeSchema.shape }),\n z.object({ type: z.literal(\"reference\"), value: TypeReferenceSchema }),\n z.object({ type: z.literal(\"fileUpload\"), value: FormDataRequestSchema.nullish() })\n]);\nexport type RegisterHttpRequestBodyShape = z.infer<typeof RegisterHttpRequestBodyShapeSchema>;\n\nexport const RegisterHttpRequestSchema = z.object({\n description: z.string().nullish(),\n type: RegisterHttpRequestBodyShapeSchema\n});\nexport type RegisterHttpRequest = z.infer<typeof RegisterHttpRequestSchema>;\n\nexport const RegisterHttpRequestsV2Schema = z.object({\n requests: z.array(RegisterHttpRequestSchema).nullish()\n});\nexport type RegisterHttpRequestsV2 = z.infer<typeof RegisterHttpRequestsV2Schema>;\n\nexport const RegisterCustomCodeSampleSchema = z.object({\n description: z.string().nullish(),\n language: z.string(),\n code: z.string(),\n name: z.string().nullish(),\n install: z.string().nullish()\n});\nexport type RegisterCustomCodeSample = z.infer<typeof RegisterCustomCodeSampleSchema>;\n\nexport const RegisterExampleEndpointCallSchema = z.object({\n description: z.string().nullish(),\n name: z.string().nullish(),\n contentType: z.string().nullish(),\n path: z.string(),\n pathParameters: z.record(PropertyKeySchema, z.unknown()),\n queryParameters: z.record(z.string(), z.unknown()),\n headers: z.record(z.string(), z.unknown()),\n requestBody: z.unknown(),\n requestBodyV3: ExampleEndpointRequestSchema.nullish(),\n responseStatusCode: z.number().int(),\n responseBody: z.unknown(),\n responseBodyV3: ExampleEndpointResponseSchema.nullish(),\n responseHeaders: z.record(z.string(), z.unknown()).nullish(),\n codeSamples: z.array(RegisterCustomCodeSampleSchema).nullish()\n});\nexport type RegisterExampleEndpointCall = z.infer<typeof RegisterExampleEndpointCallSchema>;\n\nexport const RegisterNonStreamResponseSchema = z.object({\n shape: JsonBodyShapeSchema,\n examples: z.array(RegisterExampleEndpointCallSchema)\n});\nexport type RegisterNonStreamResponse = z.infer<typeof RegisterNonStreamResponseSchema>;\n\nexport const RegisterStreamResponseSchema = z.object({\n shape: JsonBodyShapeSchema,\n examples: z.array(RegisterExampleEndpointCallSchema)\n});\nexport type RegisterStreamResponse = z.infer<typeof RegisterStreamResponseSchema>;\n\nexport const RegisterStreamConditionResponseSchema = z.object({\n response: RegisterNonStreamResponseSchema,\n streamResponse: RegisterStreamResponseSchema,\n streamCondition: StreamConditionSchema\n});\nexport type RegisterStreamConditionResponse = z.infer<typeof RegisterStreamConditionResponseSchema>;\n\nexport const RegisterHttpResponseBodyShapeSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"object\"), ...ObjectTypeSchema.shape }),\n z.object({ type: z.literal(\"reference\"), value: TypeReferenceSchema }),\n z.object({ type: z.literal(\"fileDownload\"), ...FileDownloadResponseBodyShapeSchema.shape }),\n z.object({ type: z.literal(\"streamingText\") }),\n z.object({ type: z.literal(\"stream\"), ...StreamResponseV2Schema.shape }),\n z.object({ type: z.literal(\"streamCondition\"), ...RegisterStreamConditionResponseSchema.shape })\n]);\nexport type RegisterHttpResponseBodyShape = z.infer<typeof RegisterHttpResponseBodyShapeSchema>;\n\nexport const RegisterHttpResponseSchema = z.object({\n description: z.string().nullish(),\n type: RegisterHttpResponseBodyShapeSchema,\n statusCode: z.number().int().nullish(),\n isWildcard: z.boolean().nullish()\n});\nexport type RegisterHttpResponse = z.infer<typeof RegisterHttpResponseSchema>;\n\nexport const RegisterHttpResponsesV2Schema = z.object({\n responses: z.array(RegisterHttpResponseSchema).nullish()\n});\nexport type RegisterHttpResponsesV2 = z.infer<typeof RegisterHttpResponsesV2Schema>;\n\nexport const RegisterErrorDeclarationV2Schema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n type: RegisterTypeShapeSchema.nullish(),\n statusCode: z.number().int(),\n isWildcard: z.boolean().nullish(),\n name: z.string().nullish(),\n examples: z.array(ErrorExampleSchema).nullish(),\n headers: z.array(HeaderSchema).nullish()\n});\nexport type RegisterErrorDeclarationV2 = z.infer<typeof RegisterErrorDeclarationV2Schema>;\n\nexport const RegisterEndpointDefinitionSchema = z.object({\n description: z.string().nullish(),\n subtitle: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n slug: z.string().nullish(),\n auth: z.boolean().nullish(),\n authV2: z.array(AuthSchemeIdSchema).nullish(),\n multiAuth: z.array(MultipleAuthTypeSchema).nullish(),\n defaultEnvironment: EnvironmentIdSchema.nullish(),\n environments: z.array(EnvironmentSchema).nullish(),\n method: HttpMethodSchema,\n id: EndpointIdSchema,\n originalEndpointId: z.string().nullish(),\n name: z.string().nullish(),\n path: EndpointPathSchema,\n queryParameters: z.array(QueryParameterSchema),\n headers: z.array(HeaderSchema),\n responseHeaders: z.array(HeaderSchema).nullish(),\n request: RegisterHttpRequestSchema.nullish(),\n requestsV2: RegisterHttpRequestsV2Schema.nullish(),\n response: RegisterHttpResponseSchema.nullish(),\n responsesV2: RegisterHttpResponsesV2Schema.nullish(),\n errors: z.array(ErrorDeclarationSchema).nullish(),\n errorsV2: z.array(RegisterErrorDeclarationV2Schema).nullish(),\n examples: z.array(RegisterExampleEndpointCallSchema),\n protocol: ProtocolSchema.nullish(),\n includeInApiExplorer: z.boolean().nullish()\n});\nexport type RegisterEndpointDefinition = z.infer<typeof RegisterEndpointDefinitionSchema>;\n\n// ── Register webhook ─────────────────────────────────────────────────────\n\nexport const RegisterWebhookDefinitionSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n method: WebhookHttpMethodSchema,\n id: WebhookIdSchema,\n name: z.string().nullish(),\n path: z.array(z.string()),\n headers: z.array(HeaderSchema),\n payload: WebhookPayloadSchema,\n responses: z.array(RegisterHttpResponseSchema).nullish(),\n examples: z.array(ExampleWebhookPayloadSchema)\n});\nexport type RegisterWebhookDefinition = z.infer<typeof RegisterWebhookDefinitionSchema>;\n\n// ── Register websocket ───────────────────────────────────────────────────\n\nexport const RegisterWebSocketChannelSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n id: WebSocketIdSchema,\n auth: z.boolean(),\n name: z.string().nullish(),\n defaultEnvironment: EnvironmentIdSchema.nullish(),\n environments: z.array(EnvironmentSchema),\n path: EndpointPathSchema,\n headers: z.array(HeaderSchema),\n queryParameters: z.array(QueryParameterSchema),\n messages: z.array(WebSocketMessageSchema),\n examples: z.array(ExampleWebSocketSessionSchema),\n includeInApiExplorer: z.boolean().nullish()\n});\nexport type RegisterWebSocketChannel = z.infer<typeof RegisterWebSocketChannelSchema>;\n\n// ── Register index schemas ───────────────────────────────────────────────\n\nexport const SourceIdSchema = z.string();\nexport type SourceId = z.infer<typeof SourceIdSchema>;\nexport function SourceId(value: string): SourceId {\n return value;\n}\n\nexport const SourceSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"openapi\") }),\n z.object({ type: z.literal(\"asyncapi\") }),\n z.object({ type: z.literal(\"proto\") })\n]);\nexport type Source = z.infer<typeof SourceSchema>;\n\nexport const SourceUploadSchema = z.object({\n uploadUrl: z.string(),\n downloadUrl: z.string()\n});\nexport type SourceUpload = z.infer<typeof SourceUploadSchema>;\n\nexport const DynamicIRSchema = z.object({\n dynamicIR: z.unknown()\n});\nexport type DynamicIR = z.infer<typeof DynamicIRSchema>;\n\nexport const DynamicIRUploadSchema = z.object({\n uploadUrl: z.string()\n});\nexport type DynamicIRUpload = z.infer<typeof DynamicIRUploadSchema>;\n\nexport const TypescriptPackageSchema = z.object({\n package: z.string(),\n version: z.string().nullish()\n});\nexport type TypescriptPackage = z.infer<typeof TypescriptPackageSchema>;\n\nexport const PythonPackageSchema = z.object({\n package: z.string(),\n version: z.string().nullish()\n});\nexport type PythonPackage = z.infer<typeof PythonPackageSchema>;\n\nexport const GoModuleSchema = z.object({\n githubRepo: z.string(),\n version: z.string().nullish()\n});\nexport type GoModule = z.infer<typeof GoModuleSchema>;\n\nexport const JavaCoordinateSchema = z.object({\n coordinate: z.string(),\n version: z.string().nullish()\n});\nexport type JavaCoordinate = z.infer<typeof JavaCoordinateSchema>;\n\nexport const RubyGemSchema = z.object({\n gem: z.string(),\n version: z.string().nullish()\n});\nexport type RubyGem = z.infer<typeof RubyGemSchema>;\n\nexport const NugetPackageSchema = z.object({\n package: z.string(),\n version: z.string().nullish()\n});\nexport type NugetPackage = z.infer<typeof NugetPackageSchema>;\n\nexport const ComposerPackageSchema = z.object({\n package: z.string(),\n version: z.string().nullish()\n});\nexport type ComposerPackage = z.infer<typeof ComposerPackageSchema>;\n\nexport const SwiftPackageSchema = z.object({\n package: z.string(),\n version: z.string().nullish()\n});\nexport type SwiftPackage = z.infer<typeof SwiftPackageSchema>;\n\nexport const CratesPackageSchema = z.object({\n package: z.string(),\n version: z.string().nullish()\n});\nexport type CratesPackage = z.infer<typeof CratesPackageSchema>;\n\nexport const SnippetsConfigSchema = z.object({\n typescriptSdk: TypescriptPackageSchema.nullish(),\n pythonSdk: PythonPackageSchema.nullish(),\n goSdk: GoModuleSchema.nullish(),\n javaSdk: JavaCoordinateSchema.nullish(),\n rubySdk: RubyGemSchema.nullish(),\n csharpSdk: NugetPackageSchema.nullish(),\n phpSdk: ComposerPackageSchema.nullish(),\n swiftSdk: SwiftPackageSchema.nullish(),\n rustSdk: CratesPackageSchema.nullish()\n});\nexport type SnippetsConfig = z.infer<typeof SnippetsConfigSchema>;\n\nexport const RegisterApiDefinitionPackageSchema = z.object({\n endpoints: z.array(RegisterEndpointDefinitionSchema),\n websockets: z.array(RegisterWebSocketChannelSchema).nullish(),\n webhooks: z.array(RegisterWebhookDefinitionSchema).nullish(),\n graphqlOperations: z.array(GraphQlOperationSchema).nullish(),\n types: z.array(TypeIdSchema),\n subpackages: z.array(SubpackageIdSchema),\n pointsTo: SubpackageIdSchema.nullish()\n});\nexport type RegisterApiDefinitionPackage = z.infer<typeof RegisterApiDefinitionPackageSchema>;\n\nexport const RegisterApiDefinitionSubpackageSchema = z.object({\n ...RegisterApiDefinitionPackageSchema.shape,\n description: z.string().nullish(),\n subpackageId: SubpackageIdSchema,\n name: z.string(),\n displayName: z.string().nullish()\n});\nexport type RegisterApiDefinitionSubpackage = z.infer<typeof RegisterApiDefinitionSubpackageSchema>;\n\nexport const RegisterApiDefinitionSchema = z.object({\n rootPackage: RegisterApiDefinitionPackageSchema,\n apiName: z.string().nullish(),\n specVersion: z.string().nullish(),\n types: z.record(TypeIdSchema, RegisterTypeDefinitionSchema),\n subpackages: z.record(SubpackageIdSchema, RegisterApiDefinitionSubpackageSchema),\n auth: ApiAuthSchema.nullish(),\n authSchemes: z.record(AuthSchemeIdSchema, ApiAuthSchema).nullish(),\n globalHeaders: z.array(HeaderSchema).nullish(),\n snippetsConfiguration: SnippetsConfigSchema.nullish(),\n navigation: ApiNavigationConfigRootSchema.nullish()\n});\nexport type RegisterApiDefinition = z.infer<typeof RegisterApiDefinitionSchema>;\n\nexport const RegisterApiDefinitionResponseSchema = z.object({\n apiDefinitionId: ApiDefinitionIdSchema,\n sources: z.record(SourceIdSchema, SourceUploadSchema).nullish(),\n dynamicIRs: z.record(z.string(), DynamicIRUploadSchema).nullish()\n});\nexport type RegisterApiDefinitionResponse = z.infer<typeof RegisterApiDefinitionResponseSchema>;\n\nexport const SnippetInfoSchema = z.object({\n packageName: z.string(),\n version: z.string().nullish()\n});\nexport type SnippetInfo = z.infer<typeof SnippetInfoSchema>;\n\nexport const SdkDynamicIrDownloadSchema = z.object({\n downloadUrl: z.string()\n});\nexport type SdkDynamicIrDownload = z.infer<typeof SdkDynamicIrDownloadSchema>;\n\nexport const GetSdkDynamicIrUploadUrlsResponseSchema = z.object({\n uploadUrls: z.record(z.string(), DynamicIRUploadSchema)\n});\nexport type GetSdkDynamicIrUploadUrlsResponse = z.infer<typeof GetSdkDynamicIrUploadUrlsResponseSchema>;\n\nexport const CheckSdkDynamicIrExistsResponseSchema = z.object({\n existingDynamicIrs: z.record(z.string(), SdkDynamicIrDownloadSchema)\n});\nexport type CheckSdkDynamicIrExistsResponse = z.infer<typeof CheckSdkDynamicIrExistsResponseSchema>;\n\nexport const EndpointExampleGenerationErrorBodySchema = z.object({\n endpointId: z.string()\n});\nexport type EndpointExampleGenerationErrorBody = z.infer<typeof EndpointExampleGenerationErrorBodySchema>;\n","import * as z from \"zod\";\nimport { SnippetsConfigSchema } from \"./contract-register.js\";\n\nimport type { DiscriminatedUnionType, EnumType, ObjectType, TypeReference } from \"./shared.js\";\nimport {\n ApiAuthSchema,\n ApiDefinitionIdSchema,\n ApiNavigationConfigRootSchema,\n AuthSchemeIdSchema,\n AvailabilitySchema,\n DiscriminatedUnionTypeSchema,\n EndpointIdSchema,\n EndpointPathSchema,\n EnumTypeSchema,\n EnvironmentIdSchema,\n EnvironmentSchema,\n ErrorDeclarationSchema,\n ErrorExampleSchema,\n ExampleEndpointRequestSchema,\n ExampleEndpointResponseSchema,\n ExampleWebhookPayloadSchema,\n ExampleWebSocketSessionSchema,\n FileDownloadResponseBodyShapeSchema,\n FormDataRequestSchema,\n GraphQlOperationSchema,\n HeaderSchema,\n HttpMethodSchema,\n JsonBodyShapeSchema,\n MultipleAuthTypeSchema,\n ObjectTypeSchema,\n PropertyKeySchema,\n ProtocolSchema,\n QueryParameterSchema,\n StreamConditionSchema,\n StreamResponseV2Schema,\n SubpackageIdSchema,\n TypeIdSchema,\n TypeReferenceSchema,\n WebhookHttpMethodSchema,\n WebhookIdSchema,\n WebhookPayloadSchema,\n WebSocketIdSchema,\n WebSocketMessageSchema\n} from \"./shared.js\";\n\n// ── Read type ────────────────────────────────────────────────────────────\n\nexport const ReadUndiscriminatedUnionVariantSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n displayName: z.string().nullish(),\n type: TypeReferenceSchema\n});\nexport type ReadUndiscriminatedUnionVariant = z.infer<typeof ReadUndiscriminatedUnionVariantSchema>;\n\nexport const ReadUndiscriminatedUnionTypeSchema = z.object({\n variants: z.array(ReadUndiscriminatedUnionVariantSchema)\n});\nexport type ReadUndiscriminatedUnionType = z.infer<typeof ReadUndiscriminatedUnionTypeSchema>;\n\nexport type ReadTypeShape =\n | ReadTypeShape.Alias\n | ReadTypeShape.Enum\n | ReadTypeShape.UndiscriminatedUnion\n | ReadTypeShape.DiscriminatedUnion\n | ReadTypeShape.Object_;\n\nexport namespace ReadTypeShape {\n export interface Alias {\n type: \"alias\";\n value: TypeReference;\n }\n export interface Enum extends EnumType {\n type: \"enum\";\n }\n export interface UndiscriminatedUnion extends ReadUndiscriminatedUnionType {\n type: \"undiscriminatedUnion\";\n }\n export interface DiscriminatedUnion extends DiscriminatedUnionType {\n type: \"discriminatedUnion\";\n }\n export interface Object_ extends ObjectType {\n type: \"object\";\n }\n}\n\nexport const ReadTypeShapeSchema: z.ZodType<ReadTypeShape> = z.lazy(() =>\n z.discriminatedUnion(\"type\", [\n z.object({\n type: z.literal(\"alias\"),\n value: TypeReferenceSchema\n }),\n z.object({\n type: z.literal(\"enum\"),\n ...EnumTypeSchema.shape\n }),\n z.object({\n type: z.literal(\"undiscriminatedUnion\"),\n ...ReadUndiscriminatedUnionTypeSchema.shape\n }),\n z.object({\n type: z.literal(\"discriminatedUnion\"),\n ...DiscriminatedUnionTypeSchema.shape\n }),\n z.object({\n type: z.literal(\"object\"),\n ...ObjectTypeSchema.shape\n })\n ])\n);\n\nexport const ReadTypeDefinitionSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n name: z.string(),\n shape: ReadTypeShapeSchema,\n displayName: z.string().nullish()\n});\nexport type ReadTypeDefinition = z.infer<typeof ReadTypeDefinitionSchema>;\n\nexport const ReadBytesRequestSchema = z.object({\n isOptional: z.boolean(),\n contentType: z.string().nullish()\n});\nexport type ReadBytesRequest = z.infer<typeof ReadBytesRequestSchema>;\n\n// ── Read endpoint ────────────────────────────────────────────────────────\n\nexport const ReadHttpRequestBodyShapeSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"object\"), ...ObjectTypeSchema.shape }),\n z.object({ type: z.literal(\"reference\"), value: TypeReferenceSchema }),\n z.object({ type: z.literal(\"bytes\"), ...ReadBytesRequestSchema.shape }),\n z.object({ type: z.literal(\"formData\"), ...FormDataRequestSchema.shape }),\n z.object({ type: z.literal(\"fileUpload\"), value: FormDataRequestSchema.nullish() })\n]);\nexport type ReadHttpRequestBodyShape = z.infer<typeof ReadHttpRequestBodyShapeSchema>;\n\nexport const ReadHttpRequestSchema = z.object({\n description: z.string().nullish(),\n contentType: z.string(),\n type: ReadHttpRequestBodyShapeSchema\n});\nexport type ReadHttpRequest = z.infer<typeof ReadHttpRequestSchema>;\n\nexport const ReadHttpRequestsV2Schema = z.object({\n requests: z.array(ReadHttpRequestSchema).nullish()\n});\nexport type ReadHttpRequestsV2 = z.infer<typeof ReadHttpRequestsV2Schema>;\n\nexport const ReadSupportedLanguageSchema = z.enum([\n \"curl\",\n \"python\",\n \"javascript\",\n \"js\",\n \"node\",\n \"typescript\",\n \"ts\",\n \"go\",\n \"ruby\",\n \"csharp\",\n \"php\",\n \"swift\",\n \"rust\"\n]);\nexport type ReadSupportedLanguage = z.infer<typeof ReadSupportedLanguageSchema>;\n\nexport const ReadLanguageSchema = z.union([ReadSupportedLanguageSchema, z.string()]);\nexport type ReadLanguage = z.infer<typeof ReadLanguageSchema>;\n\nexport const ReadCustomCodeSampleSchema = z.object({\n description: z.string().nullish(),\n language: ReadLanguageSchema,\n code: z.string(),\n name: z.string().nullish(),\n install: z.string().nullish()\n});\nexport type ReadCustomCodeSample = z.infer<typeof ReadCustomCodeSampleSchema>;\n\nexport const ReadPythonSnippetSchema = z.object({\n async_client: z.string(),\n sync_client: z.string(),\n install: z.string().nullish()\n});\nexport type ReadPythonSnippet = z.infer<typeof ReadPythonSnippetSchema>;\n\nexport const ReadTypescriptSnippetSchema = z.object({\n client: z.string(),\n install: z.string().nullish()\n});\nexport type ReadTypescriptSnippet = z.infer<typeof ReadTypescriptSnippetSchema>;\n\nexport const ReadGoSnippetSchema = z.object({\n client: z.string(),\n install: z.string().nullish()\n});\nexport type ReadGoSnippet = z.infer<typeof ReadGoSnippetSchema>;\n\nexport const ReadRubySnippetSchema = z.object({\n client: z.string(),\n install: z.string().nullish()\n});\nexport type ReadRubySnippet = z.infer<typeof ReadRubySnippetSchema>;\n\nexport const ReadCsharpSnippetSchema = z.object({\n client: z.string(),\n install: z.string().nullish()\n});\nexport type ReadCsharpSnippet = z.infer<typeof ReadCsharpSnippetSchema>;\n\nexport const ReadCodeExamplesSchema = z.object({\n nodeAxios: z.string().nullish(),\n pythonSdk: ReadPythonSnippetSchema.nullish(),\n typescriptSdk: ReadTypescriptSnippetSchema.nullish(),\n goSdk: ReadGoSnippetSchema.nullish(),\n rubySdk: ReadRubySnippetSchema.nullish(),\n csharpSdk: ReadCsharpSnippetSchema.nullish()\n});\nexport type ReadCodeExamples = z.infer<typeof ReadCodeExamplesSchema>;\n\nexport const ReadExampleEndpointCallSchema = z.object({\n description: z.string().nullish(),\n name: z.string().nullish(),\n contentType: z.string().nullish(),\n path: z.string(),\n pathParameters: z.record(PropertyKeySchema, z.unknown()),\n queryParameters: z.record(z.string(), z.unknown()),\n headers: z.record(z.string(), z.unknown()),\n requestBody: z.unknown(),\n requestBodyV3: ExampleEndpointRequestSchema.nullish(),\n responseStatusCode: z.number().int(),\n responseBody: z.unknown(),\n responseBodyV3: ExampleEndpointResponseSchema.nullish(),\n responseHeaders: z.record(z.string(), z.unknown()).nullish(),\n codeExamples: ReadCodeExamplesSchema,\n codeSamples: z.array(ReadCustomCodeSampleSchema)\n});\nexport type ReadExampleEndpointCall = z.infer<typeof ReadExampleEndpointCallSchema>;\n\nexport const ReadNonStreamResponseSchema = z.object({\n shape: JsonBodyShapeSchema,\n examples: z.array(ReadExampleEndpointCallSchema)\n});\nexport type ReadNonStreamResponse = z.infer<typeof ReadNonStreamResponseSchema>;\n\nexport const ReadStreamResponseSchema = z.object({\n shape: JsonBodyShapeSchema,\n examples: z.array(ReadExampleEndpointCallSchema)\n});\nexport type ReadStreamResponse = z.infer<typeof ReadStreamResponseSchema>;\n\nexport const ReadStreamConditionResponseSchema = z.object({\n response: ReadNonStreamResponseSchema,\n streamResponse: ReadStreamResponseSchema,\n streamCondition: StreamConditionSchema\n});\nexport type ReadStreamConditionResponse = z.infer<typeof ReadStreamConditionResponseSchema>;\n\nexport const ReadHttpResponseBodyShapeSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"object\"), ...ObjectTypeSchema.shape }),\n z.object({ type: z.literal(\"reference\"), value: TypeReferenceSchema }),\n z.object({ type: z.literal(\"fileDownload\"), ...FileDownloadResponseBodyShapeSchema.shape }),\n z.object({ type: z.literal(\"streamingText\") }),\n z.object({ type: z.literal(\"stream\"), ...StreamResponseV2Schema.shape }),\n z.object({ type: z.literal(\"streamCondition\"), ...ReadStreamConditionResponseSchema.shape })\n]);\nexport type ReadHttpResponseBodyShape = z.infer<typeof ReadHttpResponseBodyShapeSchema>;\n\nexport const ReadHttpResponseSchema = z.object({\n description: z.string().nullish(),\n type: ReadHttpResponseBodyShapeSchema,\n statusCode: z.number().int().nullish(),\n isWildcard: z.boolean().nullish()\n});\nexport type ReadHttpResponse = z.infer<typeof ReadHttpResponseSchema>;\n\nexport const ReadHttpResponsesV2Schema = z.object({\n responses: z.array(ReadHttpResponseSchema).nullish()\n});\nexport type ReadHttpResponsesV2 = z.infer<typeof ReadHttpResponsesV2Schema>;\n\nexport const ReadErrorDeclarationV2Schema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n type: ReadTypeShapeSchema.nullish(),\n statusCode: z.number().int(),\n isWildcard: z.boolean().nullish(),\n name: z.string().nullish(),\n examples: z.array(ErrorExampleSchema).nullish(),\n headers: z.array(HeaderSchema).nullish()\n});\nexport type ReadErrorDeclarationV2 = z.infer<typeof ReadErrorDeclarationV2Schema>;\n\nexport const ReadEndpointDefinitionSchema = z.object({\n description: z.string().nullish(),\n subtitle: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n authed: z.boolean(),\n authV2: z.array(AuthSchemeIdSchema).nullish(),\n multiAuth: z.array(MultipleAuthTypeSchema).nullish(),\n defaultEnvironment: EnvironmentIdSchema.nullish(),\n environments: z.array(EnvironmentSchema),\n method: HttpMethodSchema,\n id: EndpointIdSchema,\n originalEndpointId: z.string().nullish(),\n urlSlug: z.string(),\n migratedFromUrlSlugs: z.array(z.string()).nullish(),\n name: z.string().nullish(),\n path: EndpointPathSchema,\n queryParameters: z.array(QueryParameterSchema),\n headers: z.array(HeaderSchema),\n responseHeaders: z.array(HeaderSchema).nullish(),\n request: ReadHttpRequestSchema.nullish(),\n requestsV2: ReadHttpRequestsV2Schema.nullish(),\n response: ReadHttpResponseSchema.nullish(),\n responsesV2: ReadHttpResponsesV2Schema.nullish(),\n errors: z.array(ErrorDeclarationSchema),\n errorsV2: z.array(ReadErrorDeclarationV2Schema).nullish(),\n examples: z.array(ReadExampleEndpointCallSchema),\n protocol: ProtocolSchema.nullish(),\n includeInApiExplorer: z.boolean().nullish()\n});\nexport type ReadEndpointDefinition = z.infer<typeof ReadEndpointDefinitionSchema>;\n\n// ── Read webhook ─────────────────────────────────────────────────────────\n\nexport const ReadWebhookDefinitionSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n urlSlug: z.string(),\n migratedFromUrlSlugs: z.array(z.string()).nullish(),\n method: WebhookHttpMethodSchema,\n id: WebhookIdSchema,\n name: z.string().nullish(),\n path: z.array(z.string()),\n headers: z.array(HeaderSchema),\n payload: WebhookPayloadSchema,\n responses: z.array(ReadHttpResponseSchema).nullish(),\n examples: z.array(ExampleWebhookPayloadSchema)\n});\nexport type ReadWebhookDefinition = z.infer<typeof ReadWebhookDefinitionSchema>;\n\n// ── Read websocket ───────────────────────────────────────────────────────\n\nexport const ReadWebSocketChannelSchema = z.object({\n description: z.string().nullish(),\n availability: AvailabilitySchema.nullish(),\n urlSlug: z.string(),\n id: WebSocketIdSchema,\n auth: z.boolean(),\n name: z.string().nullish(),\n defaultEnvironment: EnvironmentIdSchema.nullish(),\n environments: z.array(EnvironmentSchema),\n path: EndpointPathSchema,\n headers: z.array(HeaderSchema),\n queryParameters: z.array(QueryParameterSchema),\n messages: z.array(WebSocketMessageSchema),\n examples: z.array(ExampleWebSocketSessionSchema),\n includeInApiExplorer: z.boolean().nullish()\n});\nexport type ReadWebSocketChannel = z.infer<typeof ReadWebSocketChannelSchema>;\n\n// ── Read ApiDefinition ───────────────────────────────────────────────────\n\nexport const ReadApiDefinitionPackageSchema = z.object({\n endpoints: z.array(ReadEndpointDefinitionSchema),\n websockets: z.array(ReadWebSocketChannelSchema),\n webhooks: z.array(ReadWebhookDefinitionSchema),\n graphqlOperations: z.array(GraphQlOperationSchema),\n types: z.array(TypeIdSchema),\n subpackages: z.array(SubpackageIdSchema),\n pointsTo: SubpackageIdSchema.nullish()\n});\nexport type ReadApiDefinitionPackage = z.infer<typeof ReadApiDefinitionPackageSchema>;\n\nexport const ReadApiDefinitionSubpackageSchema = z.object({\n description: z.string().nullish(),\n ...ReadApiDefinitionPackageSchema.shape,\n parent: SubpackageIdSchema.nullish(),\n subpackageId: SubpackageIdSchema,\n name: z.string(),\n urlSlug: z.string(),\n displayName: z.string().nullish()\n});\nexport type ReadApiDefinitionSubpackage = z.infer<typeof ReadApiDefinitionSubpackageSchema>;\n\nexport const ReadApiDefinitionSchema = z.object({\n id: ApiDefinitionIdSchema,\n apiName: z.string().nullish(),\n specVersion: z.string().nullish(),\n rootPackage: ReadApiDefinitionPackageSchema,\n types: z.record(TypeIdSchema, ReadTypeDefinitionSchema),\n subpackages: z.record(SubpackageIdSchema, ReadApiDefinitionSubpackageSchema),\n snippetsConfiguration: SnippetsConfigSchema.nullish(),\n auth: ApiAuthSchema.nullish(),\n authSchemes: z.record(AuthSchemeIdSchema, ApiAuthSchema).nullish(),\n hasMultipleBaseUrls: z.boolean().nullish(),\n navigation: ApiNavigationConfigRootSchema.nullish(),\n globalHeaders: z.array(HeaderSchema).nullish()\n});\nexport type ReadApiDefinition = z.infer<typeof ReadApiDefinitionSchema>;\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { dashboardContract } from \"./contract.js\";\n\nexport type DashboardClient = JsonifiedClient<ContractRouterClient<typeof dashboardContract>>;\n\nexport interface CreateDashboardClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createDashboardClient(options: CreateDashboardClientOptions): DashboardClient {\n const link = new OpenAPILink(dashboardContract, {\n url: `${options.baseUrl}/dashboard`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\n\nimport { DocsDeploymentStatusSchema } from \"../docs-deployment/contract.js\";\n\n// ── Schemas ──────────────────────────────────────────────────────────\n\nexport const DocsSiteUrlSchema = z.object({\n domain: z.string(),\n path: z.string().nullish()\n});\nexport type DocsSiteUrl = z.infer<typeof DocsSiteUrlSchema>;\n\nexport const DashboardDocsSiteSchema = z.object({\n mainUrl: DocsSiteUrlSchema,\n urls: z.array(DocsSiteUrlSchema),\n status: DocsDeploymentStatusSchema\n});\nexport type DashboardDocsSite = z.infer<typeof DashboardDocsSiteSchema>;\n\nexport const GetDocsSitesForOrgInputSchema = z.object({\n orgId: z.string()\n});\nexport type GetDocsSitesForOrgInput = z.infer<typeof GetDocsSitesForOrgInputSchema>;\n\nexport const GetDocsSitesForOrgResponseSchema = z.object({\n docsSites: z.array(DashboardDocsSiteSchema)\n});\nexport type GetDocsSitesForOrgResponse = z.infer<typeof GetDocsSitesForOrgResponseSchema>;\n\nexport const IsDocsSiteInOrgInputSchema = z.object({\n orgId: z.string(),\n domain: z.string(),\n basepath: z.string().optional()\n});\nexport type IsDocsSiteInOrgInput = z.infer<typeof IsDocsSiteInOrgInputSchema>;\n\nexport const IsDocsSiteInOrgResponseSchema = z.object({\n exists: z.boolean()\n});\nexport type IsDocsSiteInOrgResponse = z.infer<typeof IsDocsSiteInOrgResponseSchema>;\n\nexport const DeleteAllDocsSitesForOrgInputSchema = z.object({\n orgId: z.string()\n});\nexport type DeleteAllDocsSitesForOrgInput = z.infer<typeof DeleteAllDocsSitesForOrgInputSchema>;\n\nexport const DeleteAllDocsSitesForOrgResponseSchema = z.object({\n deletedCount: z.number()\n});\nexport type DeleteAllDocsSitesForOrgResponse = z.infer<typeof DeleteAllDocsSitesForOrgResponseSchema>;\n\n// ── Contract ─────────────────────────────────────────────────────────\n\nexport const dashboardContract = {\n getDocsSitesForOrg: oc\n .route({ method: \"POST\", path: \"/get-docs-sites-for-org\" })\n .input(GetDocsSitesForOrgInputSchema)\n .output(GetDocsSitesForOrgResponseSchema),\n isDocsSiteInOrg: oc\n .route({ method: \"POST\", path: \"/is-docs-site-in-org\" })\n .input(IsDocsSiteInOrgInputSchema)\n .output(IsDocsSiteInOrgResponseSchema),\n deleteAllDocsSitesForOrg: oc\n .route({ method: \"DELETE\", path: \"/{orgId}/docs\" })\n .input(DeleteAllDocsSitesForOrgInputSchema)\n .output(DeleteAllDocsSitesForOrgResponseSchema)\n};\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\n\n// -- Enums --\n\nexport const DocsDeploymentStatusSchema = z.enum([\"PUBLISHING\", \"LIVE\", \"UNPUBLISHED\", \"ERROR\"]);\nexport type DocsDeploymentStatus = z.infer<typeof DocsDeploymentStatusSchema>;\n\n// -- Shared output schemas --\n\nexport const DocsSiteSchema = z.object({\n id: z.string(),\n orgId: z.string(),\n domain: z.string(),\n basepath: z.string(),\n previewUrl: z.string().nullish(),\n postmanCollectionId: z.string().nullish(),\n editorRepoUrl: z.string().nullish(),\n postmanLastNotifiedAt: z.string().nullish(),\n status: DocsDeploymentStatusSchema,\n createdAt: z.string(),\n updatedAt: z.string()\n});\nexport type DocsSite = z.infer<typeof DocsSiteSchema>;\n\nexport const DocsDeploymentSchema = z.object({\n id: z.string(),\n orgId: z.string(),\n domain: z.string(),\n basepath: z.string(),\n createdAt: z.string(),\n createdBy: z.string().nullish(),\n status: DocsDeploymentStatusSchema,\n updatedAt: z.string(),\n updatedBy: z.string().nullish(),\n previewUrl: z.string().nullish(),\n metadata: z.record(z.string(), z.unknown()).nullish()\n});\nexport type DocsDeployment = z.infer<typeof DocsDeploymentSchema>;\n\n// -- Input schemas --\n\nexport const RegisterDocsSiteInputSchema = z.object({\n domain: z.string(),\n orgId: z.string(),\n basepath: z.string().nullish(),\n previewUrl: z.string().nullish(),\n postmanCollectionId: z.string().nullish(),\n editorRepoUrl: z.string().nullish()\n});\nexport type RegisterDocsSiteInput = z.infer<typeof RegisterDocsSiteInputSchema>;\n\nexport const GetPostmanCollectionIdInputSchema = z.object({\n orgId: z.string(),\n domain: z.string(),\n basepath: z.string().nullish()\n});\nexport type GetPostmanCollectionIdInput = z.infer<typeof GetPostmanCollectionIdInputSchema>;\n\nexport const GetDocsStatusInputSchema = z.object({\n domain: z.string(),\n basepath: z.string().nullish()\n});\nexport type GetDocsStatusInput = z.infer<typeof GetDocsStatusInputSchema>;\n\nexport const SetDocsStatusInputSchema = z.object({\n domain: z.string(),\n orgId: z.string(),\n basepath: z.string().nullish(),\n status: DocsDeploymentStatusSchema\n});\nexport type SetDocsStatusInput = z.infer<typeof SetDocsStatusInputSchema>;\n\nexport const CreateDeploymentInputSchema = z.object({\n domain: z.string(),\n orgId: z.string(),\n userId: z.string().nullish(),\n basepath: z.string().nullish(),\n previewUrl: z.string().nullish(),\n metadata: z.record(z.string(), z.unknown()).nullish()\n});\nexport type CreateDeploymentInput = z.infer<typeof CreateDeploymentInputSchema>;\n\nexport const UpdateDeploymentStatusInputSchema = z.object({\n deploymentId: z.string(),\n status: DocsDeploymentStatusSchema,\n updatedBy: z.string().nullish()\n});\nexport type UpdateDeploymentStatusInput = z.infer<typeof UpdateDeploymentStatusInputSchema>;\n\nexport const GetDocsDeploymentsInputSchema = z.object({\n domain: z.string(),\n orgId: z.string(),\n basepath: z.string().nullish(),\n limit: z.coerce.number().nullish(),\n cursor: z.string().nullish(),\n excludeInternalUsers: z.coerce.boolean().nullish(),\n isPreview: z.coerce.boolean().nullish()\n});\nexport type GetDocsDeploymentsInput = z.infer<typeof GetDocsDeploymentsInputSchema>;\n\nexport const UnlockDeployInputSchema = z.object({\n domain: z.string(),\n basepath: z.string().nullish()\n});\nexport type UnlockDeployInput = z.infer<typeof UnlockDeployInputSchema>;\n\n// -- Response schemas --\n\nexport const GetDocsStatusResponseSchema = z.object({\n status: DocsDeploymentStatusSchema.nullable()\n});\nexport type GetDocsStatusResponse = z.infer<typeof GetDocsStatusResponseSchema>;\n\nexport const GetDocsDeploymentsResponseSchema = z.object({\n deployments: z.array(DocsDeploymentSchema),\n hasMore: z.boolean(),\n /** Pass back as `cursor` to fetch the next page. Absent when `hasMore` is false. */\n nextCursor: z.string().optional()\n});\nexport type GetDocsDeploymentsResponse = z.infer<typeof GetDocsDeploymentsResponseSchema>;\n\nexport const CreateDeploymentResponseSchema = z.object({\n deploymentId: z.string()\n});\nexport type CreateDeploymentResponse = z.infer<typeof CreateDeploymentResponseSchema>;\n\nexport const UpdateDeploymentStatusResponseSchema = z.object({\n success: z.boolean()\n});\nexport type UpdateDeploymentStatusResponse = z.infer<typeof UpdateDeploymentStatusResponseSchema>;\n\nexport const GetPostmanCollectionIdResponseSchema = z.object({\n postmanCollectionId: z.string().nullable()\n});\nexport type GetPostmanCollectionIdResponse = z.infer<typeof GetPostmanCollectionIdResponseSchema>;\n\nexport const UnlockDeployResponseSchema = z.object({\n unlockedDeployments: z.number()\n});\nexport type UnlockDeployResponse = z.infer<typeof UnlockDeployResponseSchema>;\n\nexport const GetDocsSitesByCollectionIdInputSchema = z.object({\n collectionId: z.string()\n});\n\nexport const FindSiteByOrgAndCollectionInputSchema = z.object({\n orgId: z.string(),\n postmanCollectionId: z.string()\n});\nexport type FindSiteByOrgAndCollectionInput = z.infer<typeof FindSiteByOrgAndCollectionInputSchema>;\n\nexport const FindSiteByOrgAndCollectionResponseSchema = z.object({\n site: z\n .object({\n domain: z.string(),\n basepath: z.string(),\n status: DocsDeploymentStatusSchema\n })\n .nullable()\n});\nexport type FindSiteByOrgAndCollectionResponse = z.infer<typeof FindSiteByOrgAndCollectionResponseSchema>;\nexport type GetDocsSitesByCollectionIdInput = z.infer<typeof GetDocsSitesByCollectionIdInputSchema>;\n\nexport const RecordPostmanNotificationInputSchema = z.object({\n postmanCollectionId: z.string()\n});\nexport type RecordPostmanNotificationInput = z.infer<typeof RecordPostmanNotificationInputSchema>;\n\nexport const RecordPostmanNotificationResponseSchema = z.object({\n success: z.boolean(),\n // Number of docs_sites rows whose postmanLastNotifiedAt was updated.\n // 0 when no site is registered for this collection (e.g. caller raced\n // ahead of registerDocsSite, or the collection was deleted).\n updatedCount: z.number().int().nonnegative()\n});\nexport type RecordPostmanNotificationResponse = z.infer<typeof RecordPostmanNotificationResponseSchema>;\n\nexport const GetUnnotifiedPostmanSitesResponseSchema = z.object({\n sites: z.array(\n z.object({\n domain: z.string(),\n basepath: z.string(),\n orgId: z.string(),\n postmanCollectionId: z.string(),\n status: DocsDeploymentStatusSchema,\n updatedAt: z.string()\n })\n )\n});\nexport type GetUnnotifiedPostmanSitesResponse = z.infer<typeof GetUnnotifiedPostmanSitesResponseSchema>;\n\nexport const GetDocsSitesByCollectionIdResponseSchema = z.object({\n sites: z.array(\n z.object({\n domain: z.string(),\n basepath: z.string(),\n status: DocsDeploymentStatusSchema,\n orgId: z.string()\n })\n )\n});\nexport type GetDocsSitesByCollectionIdResponse = z.infer<typeof GetDocsSitesByCollectionIdResponseSchema>;\n\nexport const DeleteDocsSiteByServiceInputSchema = z.object({\n domain: z.string(),\n orgId: z.string(),\n basepath: z.string().nullish()\n});\nexport type DeleteDocsSiteByServiceInput = z.infer<typeof DeleteDocsSiteByServiceInputSchema>;\n\nexport const DeleteDocsSiteByServiceResponseSchema = z.object({\n success: z.boolean()\n});\nexport type DeleteDocsSiteByServiceResponse = z.infer<typeof DeleteDocsSiteByServiceResponseSchema>;\n\nexport const SetEditorRepoUrlInputSchema = z.object({\n orgId: z.string(),\n domain: z.string(),\n basepath: z.string().nullish(),\n editorRepoUrl: z.string().nullable()\n});\nexport type SetEditorRepoUrlInput = z.infer<typeof SetEditorRepoUrlInputSchema>;\n\n// -- Contract --\n\nexport const docsDeploymentContract = {\n registerDocsSite: oc\n .route({ method: \"POST\", path: \"/register\" })\n .input(RegisterDocsSiteInputSchema)\n .output(DocsSiteSchema),\n\n getDocsStatus: oc\n .route({ method: \"GET\", path: \"/status\" })\n .input(GetDocsStatusInputSchema)\n .output(GetDocsStatusResponseSchema),\n\n setDocsStatus: oc.route({ method: \"PUT\", path: \"/status\" }).input(SetDocsStatusInputSchema).output(DocsSiteSchema),\n\n createDeployment: oc\n .route({ method: \"POST\", path: \"/deployment\" })\n .input(CreateDeploymentInputSchema)\n .output(CreateDeploymentResponseSchema),\n\n updateDeploymentStatus: oc\n .route({ method: \"PATCH\", path: \"/deployment/{deploymentId}\" })\n .input(UpdateDeploymentStatusInputSchema)\n .output(UpdateDeploymentStatusResponseSchema),\n\n getDocsDeployments: oc\n .route({ method: \"GET\", path: \"/deployments\" })\n .input(GetDocsDeploymentsInputSchema)\n .output(GetDocsDeploymentsResponseSchema),\n\n getPostmanCollectionId: oc\n .route({ method: \"GET\", path: \"/postman-collection-id\" })\n .input(GetPostmanCollectionIdInputSchema)\n .output(GetPostmanCollectionIdResponseSchema),\n\n unlockDeploy: oc\n .route({ method: \"POST\", path: \"/unlock\" })\n .input(UnlockDeployInputSchema)\n .output(UnlockDeployResponseSchema),\n\n getDocsSitesByCollectionId: oc\n .route({ method: \"GET\", path: \"/sites-by-collection-id\" })\n .input(GetDocsSitesByCollectionIdInputSchema)\n .output(GetDocsSitesByCollectionIdResponseSchema),\n\n setEditorRepoUrl: oc\n .route({ method: \"PUT\", path: \"/editor-repo-url\" })\n .input(SetEditorRepoUrlInputSchema)\n .output(z.object({ success: z.boolean() })),\n\n findSiteByOrgAndCollection: oc\n .route({ method: \"GET\", path: \"/site-by-org-and-collection\" })\n .input(FindSiteByOrgAndCollectionInputSchema)\n .output(FindSiteByOrgAndCollectionResponseSchema),\n\n recordPostmanNotification: oc\n .route({ method: \"POST\", path: \"/record-postman-notification\" })\n .input(RecordPostmanNotificationInputSchema)\n .output(RecordPostmanNotificationResponseSchema),\n\n getUnnotifiedPostmanSites: oc\n .route({ method: \"GET\", path: \"/unnotified-postman-sites\" })\n .output(GetUnnotifiedPostmanSitesResponseSchema),\n\n deleteDocsSite: oc\n .route({ method: \"POST\", path: \"/delete\" })\n .input(DeleteDocsSiteByServiceInputSchema)\n .output(DeleteDocsSiteByServiceResponseSchema)\n};\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { dashboardAgentContract } from \"./contract.js\";\n\nexport type DashboardAgentClient = JsonifiedClient<ContractRouterClient<typeof dashboardAgentContract>>;\n\nexport interface CreateDashboardAgentClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createDashboardAgentClient(options: CreateDashboardAgentClientOptions): DashboardAgentClient {\n const link = new OpenAPILink(dashboardAgentContract, {\n url: `${options.baseUrl}/dashboard-agent`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\n\n// ── Input schemas ────────────────────────────────────────────────────\n\nexport const DashboardAnalyticsCommonInputSchema = z.object({\n orgId: z.string(),\n domain: z.string().min(1),\n dateRange: z.string().optional(),\n includeInternal: z.boolean().optional()\n});\nexport type DashboardAnalyticsCommonInput = z.infer<typeof DashboardAnalyticsCommonInputSchema>;\n\nexport const DashboardFeedbackInputSchema = z.object({\n orgId: z.string(),\n domain: z.string().min(1),\n dateRange: z.string().optional(),\n feedbackType: z.enum([\"page\", \"code_block\", \"all\"]).optional(),\n limit: z.number().int().min(1).max(50).optional(),\n /** `nextCursor` from a previous page; continues that page's ordering. */\n cursor: z.string().optional()\n});\nexport type DashboardFeedbackInput = z.infer<typeof DashboardFeedbackInputSchema>;\n\nexport const DashboardListOrgMembersInputSchema = z.object({\n orgId: z.string(),\n includeFernEmployees: z.boolean().optional()\n});\nexport type DashboardListOrgMembersInput = z.infer<typeof DashboardListOrgMembersInputSchema>;\n\nexport const DashboardGetSiteConfigInputSchema = z.object({\n orgId: z.string(),\n domain: z.string().min(1)\n});\nexport type DashboardGetSiteConfigInput = z.infer<typeof DashboardGetSiteConfigInputSchema>;\n\n/** Authorizes the caller to edit a docs site (edit or cli permission). Throws FORBIDDEN otherwise. */\nexport const AuthorizeDocsEditResponseSchema = z.object({\n authorized: z.literal(true)\n});\nexport type AuthorizeDocsEditResponse = z.infer<typeof AuthorizeDocsEditResponseSchema>;\n\n// ── Parameterized analytics query ────────────────────────────────────\n// These enums ARE the server-side allowlist: only fields that map to a known\n// Redshift column expression are accepted. Anything else is rejected at\n// validation time, before any SQL is built.\n\n/** Metrics backed by concrete `posthog.events` aggregates (no invented columns). */\nexport const AnalyticsMetricSchema = z.enum([\"pageviews\", \"visitors\", \"sessions\", \"404s\"]);\nexport type AnalyticsMetric = z.infer<typeof AnalyticsMetricSchema>;\n\n/** Groupable columns. `referrer` is only valid for the pageview-family metrics. */\nexport const AnalyticsDimensionSchema = z.enum([\"path\", \"referrer\"]);\nexport type AnalyticsDimension = z.infer<typeof AnalyticsDimensionSchema>;\n\nexport const AnalyticsGranularitySchema = z.enum([\"day\", \"week\", \"month\"]);\nexport type AnalyticsGranularity = z.infer<typeof AnalyticsGranularitySchema>;\n\nexport const AnalyticsFilterFieldSchema = z.enum([\"path\", \"referrer\"]);\nexport const AnalyticsFilterOpSchema = z.enum([\"eq\", \"prefix\", \"contains\"]);\n\n/** A single filter clause; `value` is always bound as a query parameter. */\nexport const AnalyticsFilterSchema = z.object({\n field: AnalyticsFilterFieldSchema,\n op: AnalyticsFilterOpSchema,\n value: z.string().min(1).max(512)\n});\nexport type AnalyticsFilter = z.infer<typeof AnalyticsFilterSchema>;\n\nexport const AnalyticsOrderBySchema = z.object({\n field: z.enum([\"count\", \"visitors\"]),\n dir: z.enum([\"asc\", \"desc\"])\n});\n\n/** Either a semantic range string (e.g. `last_n_days:30`) or explicit ISO bounds. */\nexport const AnalyticsDateRangeSchema = z.union([\n z.string().min(1),\n z.object({ startDate: z.string(), endDate: z.string() })\n]);\n\nexport const QueryAnalyticsInputSchema = z.object({\n orgId: z.string(),\n domain: z.string().min(1),\n metric: AnalyticsMetricSchema,\n dimensions: z.array(AnalyticsDimensionSchema).max(2).optional(),\n filters: z.array(AnalyticsFilterSchema).max(10).optional(),\n dateRange: AnalyticsDateRangeSchema,\n granularity: AnalyticsGranularitySchema.optional(),\n orderBy: AnalyticsOrderBySchema.optional(),\n limit: z.number().int().min(1).max(500).optional()\n});\nexport type QueryAnalyticsInput = z.infer<typeof QueryAnalyticsInputSchema>;\n\n// ── Response schemas ─────────────────────────────────────────────────\n\n// Concrete start/end (ISO) for the requested window, for the agent to interpret directly.\nexport const ResolvedDateRangeSchema = z.object({\n startDate: z.string(),\n endDate: z.string()\n});\nexport type ResolvedDateRange = z.infer<typeof ResolvedDateRangeSchema>;\n\n/** Marks whether a response came from the pre-computed daily cache or a live Redshift query. */\nexport const AnalyticsSourceSchema = z.enum([\"cache\", \"live\"]);\nexport type AnalyticsSource = z.infer<typeof AnalyticsSourceSchema>;\n\n/**\n * Grouping for static-content requests: by requested file (the dashboard's\n * \".md + llms.txt Visitors\" panel) or by the bot provider inferred from the\n * user agent (the \"LLM Bot Traffic by Provider\" panel).\n */\nexport const StaticContentGroupBySchema = z.enum([\"file\", \"provider\"]);\nexport type StaticContentGroupBy = z.infer<typeof StaticContentGroupBySchema>;\n\nexport const StaticContentTrafficInputSchema = DashboardAnalyticsCommonInputSchema.extend({\n groupBy: StaticContentGroupBySchema.optional()\n});\nexport type StaticContentTrafficInput = z.infer<typeof StaticContentTrafficInputSchema>;\n\n/**\n * Request counts for the agent-facing surfaces (`.md`, `llms.txt`, `llms-full.txt`).\n * `key` is a file path or a provider name depending on `groupBy`; the bot/human split\n * is only available when grouping by file.\n */\nexport const StaticContentTrafficResponseSchema = z.object({\n resolvedDateRange: ResolvedDateRangeSchema,\n groupBy: StaticContentGroupBySchema,\n rows: z.array(\n z.object({\n key: z.string(),\n requests: z.number(),\n agentViews: z.number().optional(),\n humanViews: z.number().optional()\n })\n ),\n source: AnalyticsSourceSchema\n});\nexport type StaticContentTrafficResponse = z.infer<typeof StaticContentTrafficResponseSchema>;\n\nexport const RecentFeedbackResponseSchema = z.object({\n resolvedDateRange: ResolvedDateRangeSchema,\n /**\n * Vote counts over the whole date range, not just the returned page, and over page\n * feedback only: code-block reports carry no helpful/unhelpful vote and are counted\n * by `codeBlockCount` instead.\n */\n helpfulCount: z.number(),\n unhelpfulCount: z.number(),\n codeBlockCount: z.number(),\n /** Entries matching the filters over the whole date range. */\n totalCount: z.number(),\n entries: z.array(\n z.object({\n date: z.string(),\n location: z.string(),\n /** Always false for code-block reports, which carry no vote. */\n wasHelpful: z.boolean(),\n userFeedback: z.string(),\n feedbackType: z.string().optional(),\n /** URL of the docs page the feedback was submitted on. */\n url: z.string().optional(),\n /** What the reader selected on the page, for page feedback. */\n selection: z.string().optional(),\n /** Language of the code block a code-block report was filed against. */\n language: z.string().optional(),\n /** The reported code block, truncated. */\n code: z.string().optional()\n })\n ),\n hasMore: z.boolean(),\n /** Pass back as `cursor` to fetch the next page. Absent when `hasMore` is false. */\n nextCursor: z.string().optional()\n});\nexport type RecentFeedbackResponse = z.infer<typeof RecentFeedbackResponseSchema>;\n\nexport const QueryAnalyticsResponseSchema = z.object({\n resolvedDateRange: ResolvedDateRangeSchema,\n metric: AnalyticsMetricSchema,\n dimensions: z.array(AnalyticsDimensionSchema),\n granularity: AnalyticsGranularitySchema.optional(),\n rows: z.array(\n z.object({\n dimensions: z.record(z.string(), z.string()),\n bucket: z.string().optional(),\n count: z.number(),\n visitors: z.number().optional(),\n sessions: z.number().optional()\n })\n ),\n /** The row cap the query ran with, after clamping. */\n limit: z.number(),\n /** True when the metric had more rows than `limit`, so `rows` is a truncated ranking. */\n hasMore: z.boolean()\n});\nexport type QueryAnalyticsResponse = z.infer<typeof QueryAnalyticsResponseSchema>;\n\nexport const OrgMembersResponseSchema = z.object({\n members: z.array(\n z.object({\n name: z.string(),\n email: z.string(),\n roles: z.array(z.string())\n })\n ),\n count: z.number()\n});\nexport type OrgMembersResponse = z.infer<typeof OrgMembersResponseSchema>;\n\nexport const SiteGitRepositorySchema = z.object({\n gitUrl: z.string(),\n provider: z.enum([\"github\", \"gitlab\", \"other\"]),\n /** `owner/repo` when the git url points at GitHub, else null. */\n githubRepository: z.string().nullable(),\n branch: z.string().nullable()\n});\nexport type SiteGitRepository = z.infer<typeof SiteGitRepositorySchema>;\n\nexport const SiteConfigResponseSchema = z.object({\n domain: z.string(),\n basepath: z.string().nullable(),\n status: z.string().nullable(),\n isPreview: z.boolean(),\n /** The git repository connected to this docs site, when one exists. */\n gitRepository: SiteGitRepositorySchema.nullable(),\n /** True when the queried domain is a customer-owned custom domain (not *.docs.buildwithfern.com). */\n isCustomDomain: z.boolean(),\n /** Fern CLI version that published the current deployment, when known. */\n fernCliVersion: z.string().nullable(),\n /** Connected Postman collection id, when one exists. */\n postmanCollectionId: z.string().nullable()\n});\nexport type SiteConfigResponse = z.infer<typeof SiteConfigResponseSchema>;\n\nexport const SitePasswordProtectionSchema = z.object({\n enabled: z.boolean(),\n /** Number of configured passwords. Passwords themselves are never returned. */\n passwordCount: z.number()\n});\nexport type SitePasswordProtection = z.infer<typeof SitePasswordProtectionSchema>;\n\nexport const SiteSettingsResponseSchema = z.object({\n domain: z.string(),\n basepath: z.string().nullable(),\n /** Default basepath route for multi-basepath domains, when configured. */\n defaultBasepath: z.string().nullable(),\n /** Basepaths routed on this domain, when configured. */\n basepaths: z.array(z.string()).nullable(),\n searchBehavior: z.enum([\"hierarchical\", \"unified\"]).nullable(),\n passwordProtection: SitePasswordProtectionSchema\n});\nexport type SiteSettingsResponse = z.infer<typeof SiteSettingsResponseSchema>;\n\n// ── Docs pages ───────────────────────────────────────────────────────\n\n/**\n * A published site's page list is unbounded — large sites run to thousands of\n * slugs — so callers narrow it here rather than filtering a full inventory\n * client-side. `prefix` and `contains` are matched against the slug (and, for\n * `contains`, the title); results are always capped by `limit`.\n */\nexport const ListDocsPagesInputSchema = z.object({\n orgId: z.string(),\n domain: z.string().min(1),\n basepath: z.string().optional(),\n prefix: z.string().optional(),\n contains: z.string().optional(),\n limit: z.number().int().min(1).max(200).optional(),\n offset: z.number().int().min(0).optional()\n});\nexport type ListDocsPagesInput = z.infer<typeof ListDocsPagesInputSchema>;\n\nexport const DocsPageSummarySchema = z.object({\n /** Full published slug, without a leading slash (e.g. `protect/api-reference/jobs/get-status`). */\n slug: z.string(),\n url: z.string(),\n title: z.string(),\n /** Artifact type backing the page, e.g. `markdown`, `rest`, `webhook`, `changelog`. */\n nodeType: z.string()\n});\nexport type DocsPageSummary = z.infer<typeof DocsPageSummarySchema>;\n\nexport const ListDocsPagesResponseSchema = z.object({\n pages: z.array(DocsPageSummarySchema),\n /** Pages matching the filters across the whole site, not just this page of results. */\n totalMatched: z.number(),\n /** Every page on the site, so a caller can tell a narrow filter from a small site. */\n totalPages: z.number(),\n /** Pass back as `offset` for the next page. Null when this is the last one. */\n nextOffset: z.number().nullable()\n});\nexport type ListDocsPagesResponse = z.infer<typeof ListDocsPagesResponseSchema>;\n\nexport const GetDocsPageInputSchema = z.object({\n orgId: z.string(),\n domain: z.string().min(1),\n basepath: z.string().optional(),\n /** Published slug or pathname; a leading slash is accepted. */\n slug: z.string().min(1)\n});\nexport type GetDocsPageInput = z.infer<typeof GetDocsPageInputSchema>;\n\nexport const DocsPageContentSchema = DocsPageSummarySchema.extend({\n /**\n * The page's source markdown. Null for pages generated from an API definition\n * (endpoints, websockets, webhooks), which have no markdown of their own.\n */\n markdown: z.string().nullable()\n});\nexport type DocsPageContent = z.infer<typeof DocsPageContentSchema>;\n\nexport const GetDocsPageResponseSchema = z.object({\n page: DocsPageContentSchema.nullable(),\n /** Slugs closest to the requested one, when it matched no page. */\n suggestions: z.array(z.string())\n});\nexport type GetDocsPageResponse = z.infer<typeof GetDocsPageResponseSchema>;\n\n// ── Contract ─────────────────────────────────────────────────────────\n\nexport const dashboardAgentContract = {\n getStaticContentTraffic: oc\n .route({ method: \"POST\", path: \"/get-static-content-traffic\" })\n .input(StaticContentTrafficInputSchema)\n .output(StaticContentTrafficResponseSchema),\n getRecentFeedback: oc\n .route({ method: \"POST\", path: \"/get-recent-feedback\" })\n .input(DashboardFeedbackInputSchema)\n .output(RecentFeedbackResponseSchema),\n queryAnalytics: oc\n .route({ method: \"POST\", path: \"/query-analytics\" })\n .input(QueryAnalyticsInputSchema)\n .output(QueryAnalyticsResponseSchema),\n listOrgMembers: oc\n .route({ method: \"POST\", path: \"/list-org-members\" })\n .input(DashboardListOrgMembersInputSchema)\n .output(OrgMembersResponseSchema),\n getSiteConfig: oc\n .route({ method: \"POST\", path: \"/get-site-config\" })\n .input(DashboardGetSiteConfigInputSchema)\n .output(SiteConfigResponseSchema),\n authorizeDocsEdit: oc\n .route({ method: \"POST\", path: \"/authorize-docs-edit\" })\n .input(DashboardGetSiteConfigInputSchema)\n .output(AuthorizeDocsEditResponseSchema),\n getSiteSettings: oc\n .route({ method: \"POST\", path: \"/get-site-settings\" })\n .input(DashboardGetSiteConfigInputSchema)\n .output(SiteSettingsResponseSchema),\n listDocsPages: oc\n .route({ method: \"POST\", path: \"/list-docs-pages\" })\n .input(ListDocsPagesInputSchema)\n .output(ListDocsPagesResponseSchema),\n getDocsPage: oc\n .route({ method: \"POST\", path: \"/get-docs-page\" })\n .input(GetDocsPageInputSchema)\n .output(GetDocsPageResponseSchema)\n};\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { docsV1ReadContract } from \"./contract.js\";\n\nexport type DocsV1ReadClient = JsonifiedClient<ContractRouterClient<typeof docsV1ReadContract>>;\n\nexport interface CreateDocsV1ReadClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createDocsV1ReadClient(options: CreateDocsV1ReadClientOptions): DocsV1ReadClient {\n const link = new OpenAPILink(docsV1ReadContract, {\n url: `${options.baseUrl}/registry/docs`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\nimport { DocsDefinitionSchema } from \"../../../../client/docs-types/read.js\";\n\nexport { DocsDefinitionSchema as DocsV1ReadDefinitionSchema };\n\nexport const GetDocsForDomainLegacyInputSchema = z.object({\n domain: z.string()\n});\n\nexport const GetDocsForDomainInputSchema = z.object({\n domain: z.string()\n});\n\nexport const docsV1ReadContract = {\n getDocsForDomainLegacy: oc\n .route({ method: \"GET\", path: \"/load/{domain}\" })\n .input(GetDocsForDomainLegacyInputSchema)\n .output(DocsDefinitionSchema),\n\n getDocsForDomain: oc\n .route({ method: \"POST\", path: \"/load\" })\n .input(GetDocsForDomainInputSchema)\n .output(DocsDefinitionSchema)\n};\n","import * as z from \"zod\";\nimport type { RootNode } from \"../../navigation/types/v1.js\";\nimport type { PageId, Url } from \"./read-commons\";\nimport {\n AgentsConfigSchema,\n AIChatConfigSchema,\n AnalyticsConfigSchema,\n AnnouncementConfigSchema,\n ApiDefinitionIdSchema,\n AvailabilitySchema,\n CssConfigSchema,\n DocsConfigIdSchema,\n DocsLayoutConfigSchema,\n DocsSettingsConfigSchema,\n DocsThemeConfigSchema,\n DocsTranslationsConfigSchema,\n DocsTypographyConfigV2Schema,\n EditThisPageLaunchSchema,\n FileIdSchema,\n FooterLinkSchema,\n IframeConfigSchema,\n IntegrationsConfigSchema,\n JsConfigSchema,\n LanguageSchema,\n MetadataConfigSchema,\n NavbarLinkSchema,\n PageActionsConfigSchema,\n ProgrammingLanguageSchema,\n RedirectConfigSchema,\n RgbaColorSchema,\n UrlSchema\n} from \"./read-commons\";\nimport {\n ApiArtifactsSchema,\n ApiSectionV2Schema,\n ChangelogItemSchema,\n ChangelogSectionSchema,\n ChangelogSectionV3Schema,\n GitHubRepoSchema,\n HeightSchema,\n LinkMetadataSchema,\n MavenPackageSchema,\n NavigationNodeMetadataSchema,\n NavigationTabLinkSchema,\n NpmPackageSchema,\n PageContentSchema,\n PageIdSchema,\n PageMetadataSchema,\n PublishedPostmanCollectionSchema,\n PublishedSdkSchema,\n PypiPackageSchema,\n ApiNavigationConfigItemSchema as SharedApiNavigationConfigItemSchema,\n ApiNavigationConfigRootSchema as SharedApiNavigationConfigRootSchema,\n SubpackageIdSchema,\n VersionIdSchema\n} from \"./shared\";\n\nexport type { ApiNavigationConfigItem } from \"./shared\";\n\nexport {\n ApiArtifactsSchema,\n ApiSectionV2Schema,\n ChangelogItemSchema,\n ChangelogSectionSchema,\n ChangelogSectionV3Schema,\n GitHubRepoSchema,\n HeightSchema,\n LinkMetadataSchema,\n MavenPackageSchema,\n NavigationNodeMetadataSchema,\n NavigationTabLinkSchema,\n NpmPackageSchema,\n PageContentSchema,\n PageMetadataSchema,\n PublishedPostmanCollectionSchema,\n PublishedSdkSchema,\n PypiPackageSchema,\n SubpackageIdSchema\n};\n\nexport type {\n ApiArtifacts,\n ApiSectionV2,\n ChangelogItem,\n ChangelogSection,\n ChangelogSectionV3,\n GitHubRepo,\n Height,\n LinkMetadata,\n MavenPackage,\n NavigationNodeMetadata,\n NavigationTabLink,\n NpmPackage,\n PageContent,\n PageMetadata,\n PublishedPostmanCollection,\n PublishedSdk,\n PypiPackage,\n SubpackageId\n} from \"./shared\";\n\nexport const UrlFileSchema = z.object({\n url: UrlSchema\n});\nexport type UrlFile = z.infer<typeof UrlFileSchema>;\n\nexport const ImageFileSchema = z.object({\n url: UrlSchema,\n width: z.number(),\n height: z.number(),\n blurDataUrl: z.string().optional(),\n alt: z.string().optional()\n});\nexport type ImageFile = z.infer<typeof ImageFileSchema>;\n\nexport const FileSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"url\"), ...UrlFileSchema.shape }),\n z.object({ type: z.literal(\"image\"), ...ImageFileSchema.shape })\n]);\nexport type File_ = z.infer<typeof FileSchema>;\n\nexport const BackgroundSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"solid\"), ...RgbaColorSchema.shape }),\n z.object({ type: z.literal(\"gradient\") })\n]);\nexport type Background = z.infer<typeof BackgroundSchema>;\n\nexport const ThemeConfigSchema = z.object({\n logo: FileIdSchema.optional(),\n backgroundImage: FileIdSchema.optional(),\n accentPrimary: RgbaColorSchema,\n background: BackgroundSchema,\n border: RgbaColorSchema.optional(),\n sidebarBackground: RgbaColorSchema.optional(),\n headerBackground: RgbaColorSchema.optional(),\n cardBackground: RgbaColorSchema.optional(),\n accent1: RgbaColorSchema.optional(),\n accent2: RgbaColorSchema.optional(),\n accent3: RgbaColorSchema.optional(),\n accent4: RgbaColorSchema.optional(),\n accent5: RgbaColorSchema.optional(),\n accent6: RgbaColorSchema.optional(),\n accent7: RgbaColorSchema.optional(),\n accent8: RgbaColorSchema.optional(),\n accent9: RgbaColorSchema.optional(),\n accent10: RgbaColorSchema.optional(),\n accent11: RgbaColorSchema.optional(),\n accent12: RgbaColorSchema.optional()\n});\nexport type ThemeConfig = z.infer<typeof ThemeConfigSchema>;\n\nexport const DarkAndLightModeConfigSchema = z.object({\n dark: ThemeConfigSchema,\n light: ThemeConfigSchema\n});\nexport type DarkAndLightModeConfig = z.infer<typeof DarkAndLightModeConfigSchema>;\n\nexport const ColorsConfigV3Schema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"dark\"), ...ThemeConfigSchema.shape }),\n z.object({ type: z.literal(\"light\"), ...ThemeConfigSchema.shape }),\n z.object({ type: z.literal(\"darkAndLight\"), ...DarkAndLightModeConfigSchema.shape })\n]);\nexport type ColorsConfigV3 = z.infer<typeof ColorsConfigV3Schema>;\n\nexport const ApiNavigationConfigItemSchema = SharedApiNavigationConfigItemSchema;\nexport const ApiNavigationConfigRootSchema = SharedApiNavigationConfigRootSchema;\nexport type ApiNavigationConfigRoot = z.infer<typeof ApiNavigationConfigRootSchema>;\n\nexport const ApiSectionSchema = z.object({\n ...NavigationNodeMetadataSchema.shape,\n title: z.string(),\n api: ApiDefinitionIdSchema,\n skipUrlSlug: z.boolean(),\n artifacts: z.lazy(() => ApiArtifactsSchema).optional(),\n showErrors: z.boolean(),\n changelog: ChangelogSectionSchema.optional(),\n navigation: ApiNavigationConfigRootSchema.optional(),\n longScrolling: z.boolean().optional(),\n flattened: z.boolean().optional()\n});\nexport type ApiSection = z.infer<typeof ApiSectionSchema>;\n\nexport const DocsSectionSchema: z.ZodType<any> = z.lazy(() =>\n z.object({\n ...NavigationNodeMetadataSchema.shape,\n title: z.string(),\n items: z.array(NavigationItemSchema),\n skipUrlSlug: z.boolean(),\n collapsed: z.union([z.boolean(), z.literal(\"open-by-default\")]),\n collapsible: z.boolean().optional(),\n collapsedByDefault: z.boolean().optional(),\n overviewPageId: PageIdSchema.optional()\n })\n);\nexport type DocsSection = z.infer<typeof DocsSectionSchema>;\n\nexport type NavigationItem =\n | NavigationItem.Page\n | NavigationItem.Api\n | NavigationItem.ApiV2\n | NavigationItem.Section\n | NavigationItem.Link\n | NavigationItem.Changelog\n | NavigationItem.ChangelogV3;\n\nexport namespace NavigationItem {\n export interface Page {\n type: \"page\";\n icon?: string;\n hidden?: boolean;\n urlSlug: string;\n fullSlug?: string[];\n id: PageId;\n title: string;\n }\n export interface Api extends ApiSection {\n type: \"api\";\n }\n export interface ApiV2 {\n type: \"apiV2\";\n node?: unknown;\n }\n export interface Section {\n type: \"section\";\n icon?: string;\n hidden?: boolean;\n urlSlug: string;\n fullSlug?: string[];\n skipUrlSlug: boolean;\n title: string;\n items: NavigationItem[];\n collapsed: boolean | \"open-by-default\";\n collapsible?: boolean;\n collapsedByDefault?: boolean;\n overviewPageId?: PageId;\n }\n export interface Link {\n type: \"link\";\n url: Url;\n title: string;\n icon?: string;\n target?: \"_blank\" | \"_self\" | \"_parent\" | \"_top\";\n }\n export interface Changelog {\n type: \"changelog\";\n icon?: string;\n hidden?: boolean;\n urlSlug: string;\n fullSlug?: string[];\n title?: string;\n description?: string;\n pageId?: PageId;\n items: Array<{ date: string; pageId: PageId; tags?: string[] }>;\n }\n export interface ChangelogV3 {\n type: \"changelogV3\";\n node?: unknown;\n }\n}\n\nexport const NavigationItemSchema: z.ZodType<NavigationItem> = z.lazy(() =>\n z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"page\"), ...PageMetadataSchema.shape }),\n z.object({ type: z.literal(\"api\"), ...ApiSectionSchema.shape }),\n z.object({ type: z.literal(\"apiV2\"), ...ApiSectionV2Schema.shape }),\n z.object({\n type: z.literal(\"section\"),\n ...NavigationNodeMetadataSchema.shape,\n title: z.string(),\n items: z.array(NavigationItemSchema),\n skipUrlSlug: z.boolean(),\n collapsed: z.union([z.boolean(), z.literal(\"open-by-default\")]),\n collapsible: z.boolean().optional(),\n collapsedByDefault: z.boolean().optional(),\n overviewPageId: PageIdSchema.optional()\n }),\n z.object({ type: z.literal(\"link\"), ...LinkMetadataSchema.shape }),\n z.object({ type: z.literal(\"changelog\"), ...ChangelogSectionSchema.shape }),\n z.object({ type: z.literal(\"changelogV3\"), ...ChangelogSectionV3Schema.shape })\n ])\n) as z.ZodType<NavigationItem>;\n\nexport const NavigationTabGroupSchema = z.object({\n ...NavigationNodeMetadataSchema.shape,\n title: z.string(),\n items: z.array(NavigationItemSchema),\n skipUrlSlug: z.boolean()\n});\nexport type NavigationTabGroup = z.infer<typeof NavigationTabGroupSchema>;\n\nexport const NavigationTabSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"group\"), ...NavigationTabGroupSchema.shape }),\n z.object({ type: z.literal(\"link\"), ...NavigationTabLinkSchema.shape }),\n z.object({ type: z.literal(\"changelog\"), ...ChangelogSectionSchema.shape }),\n z.object({ type: z.literal(\"changelogV3\"), ...ChangelogSectionV3Schema.shape })\n]);\nexport type NavigationTab = z.infer<typeof NavigationTabSchema>;\n\nexport const UnversionedTabbedNavigationConfigSchema = z.object({\n tabs: z.array(NavigationTabSchema),\n landingPage: PageMetadataSchema.optional()\n});\nexport type UnversionedTabbedNavigationConfig = z.infer<typeof UnversionedTabbedNavigationConfigSchema>;\n\nexport const UnversionedUntabbedNavigationConfigSchema = z.object({\n items: z.array(NavigationItemSchema),\n landingPage: PageMetadataSchema.optional()\n});\nexport type UnversionedUntabbedNavigationConfig = z.infer<typeof UnversionedUntabbedNavigationConfigSchema>;\n\nexport const UnversionedNavigationConfigSchema = z.union([\n UnversionedTabbedNavigationConfigSchema,\n UnversionedUntabbedNavigationConfigSchema\n]);\nexport type UnversionedNavigationConfig = z.infer<typeof UnversionedNavigationConfigSchema>;\n\nexport const VersionedNavigationConfigDataSchema = z.object({\n version: VersionIdSchema,\n urlSlug: z.string(),\n availability: AvailabilitySchema.optional(),\n config: UnversionedNavigationConfigSchema\n});\nexport type VersionedNavigationConfigData = z.infer<typeof VersionedNavigationConfigDataSchema>;\n\nexport const VersionedNavigationConfigSchema = z.object({\n versions: z.array(VersionedNavigationConfigDataSchema)\n});\nexport type VersionedNavigationConfig = z.infer<typeof VersionedNavigationConfigSchema>;\n\nexport const NavigationConfigSchema = z.union([UnversionedNavigationConfigSchema, VersionedNavigationConfigSchema]);\nexport type NavigationConfig = z.infer<typeof NavigationConfigSchema>;\n\nexport const DocsConfigSchema = z.object({\n title: z.string().optional(),\n defaultLanguage: ProgrammingLanguageSchema.optional(),\n languages: z.array(LanguageSchema).optional(),\n translations: DocsTranslationsConfigSchema.optional(),\n announcement: AnnouncementConfigSchema.optional(),\n navigation: NavigationConfigSchema.optional(),\n root: z.custom<RootNode>().optional(),\n navbarLinks: z.array(NavbarLinkSchema).optional(),\n footerLinks: z.array(FooterLinkSchema).optional(),\n hideNavLinks: z.boolean().optional(),\n logoHeight: HeightSchema.optional(),\n logoHref: UrlSchema.optional(),\n logoRightText: z.string().optional(),\n favicon: FileIdSchema.optional(),\n agents: AgentsConfigSchema.optional(),\n metadata: MetadataConfigSchema.optional(),\n redirects: z.array(RedirectConfigSchema).optional(),\n colorsV3: ColorsConfigV3Schema.optional(),\n layout: DocsLayoutConfigSchema.optional(),\n theme: DocsThemeConfigSchema.optional(),\n globalTheme: z.string().optional(),\n settings: DocsSettingsConfigSchema.optional(),\n typographyV2: DocsTypographyConfigV2Schema.optional(),\n analyticsConfig: AnalyticsConfigSchema.optional(),\n integrations: IntegrationsConfigSchema.optional(),\n css: CssConfigSchema.optional(),\n js: JsConfigSchema.optional(),\n aiChatConfig: AIChatConfigSchema.optional(),\n pageActions: PageActionsConfigSchema.optional(),\n editThisPageLaunch: EditThisPageLaunchSchema.optional(),\n iframe: IframeConfigSchema.optional(),\n header: z.string().optional(),\n footer: z.string().optional()\n});\nexport type DocsConfig = z.infer<typeof DocsConfigSchema>;\n\nexport const DocsDefinitionSchema = z.object({\n pages: z.record(PageIdSchema, PageContentSchema),\n apis: z.record(ApiDefinitionIdSchema, z.unknown()),\n apisV2: z.record(ApiDefinitionIdSchema, z.unknown()),\n apiNameToId: z.record(z.string(), ApiDefinitionIdSchema).optional(),\n files: z.record(FileIdSchema, UrlSchema),\n filesV2: z.record(FileIdSchema, FileSchema),\n jsFiles: z.record(z.string(), z.string()).optional(),\n id: DocsConfigIdSchema.optional(),\n config: DocsConfigSchema\n});\nexport type DocsDefinition = z.infer<typeof DocsDefinitionSchema>;\n\nexport const BaseUrlSchema = z.object({\n domain: z.string(),\n basePath: z.string().optional()\n});\nexport type BaseUrl = z.infer<typeof BaseUrlSchema>;\n\nexport const LoadDocsForUrlResponseSchema = z.object({\n baseUrl: BaseUrlSchema,\n definition: DocsDefinitionSchema,\n orgId: z.string().optional(),\n lightModeEnabled: z.boolean().optional(),\n locale: z.string().optional(),\n defaultLocale: z.string().optional(),\n translations: z.array(z.string()).optional()\n});\nexport type LoadDocsForUrlResponse = z.infer<typeof LoadDocsForUrlResponseSchema>;\n\nexport * from \"./read-commons\";\n","import * as z from \"zod\";\n\nexport type DocsConfigId = string & { DocsConfigId: void };\nexport const DocsConfigIdSchema: z.ZodType<DocsConfigId> = z.string() as any;\nexport function DocsConfigId(value: string): DocsConfigId {\n return value as unknown as DocsConfigId;\n}\n\nexport type {\n AIChatConfig,\n AIChatDatasource,\n AIChatLocation,\n AIChatWebsiteDatasource,\n AIModel,\n AmplitudeConfig,\n AnalyticsConfig,\n AnnouncementConfig,\n Availability,\n ClearBitConfig,\n ColorConfig,\n ColorsConfig,\n ColorsConfigV2,\n ColorThemedConfig,\n ColorUnthemedConfig,\n ContentAlignment,\n CssConfig,\n CustomFontConfig,\n CustomFontConfigVariant,\n CustomPageAction,\n DocsBodyConfig,\n DocsLayoutConfig,\n DocsPageActionsConfig,\n DocsSettingsConfig,\n DocsSidebarConfig,\n DocsTabsConfig,\n DocsTabsObjectConfig,\n DocsTabsStyle,\n DocsThemeConfig,\n DocsTranslationsConfig,\n DocsTypographyConfig,\n DocsTypographyConfigV2,\n EditThisPageLaunch,\n FathomConfig,\n FileIdOrUrl,\n FontConfig,\n FontConfigV2,\n FontDisplay,\n FontStyle,\n FooterLink,\n FooterNavConfig,\n FullStoryAnalyticsConfig,\n GoogleAnalytics4Config,\n GTMConfig,\n HeaderPosition,\n HeapConfig,\n HotJarConfig,\n HttpSnippetLanguage,\n HttpSnippetsConfig,\n IntegrationsConfig,\n IntercomConfig,\n JsConfig,\n JsFileConfig,\n JsRemoteConfig,\n JsScriptStrategy,\n KoalaConfig,\n Language,\n LanguageSwitcherConfig,\n LinkTarget,\n LogRocketConfig,\n MetadataConfig,\n MixpanelConfig,\n NavbarGithubMetadata,\n NavbarLink,\n NavbarLinkDropdownMetadata,\n NavbarLinkMetadata,\n PageActionOption,\n PageActionOptions,\n PageActionsConfig,\n PageWidthSizeConfig,\n PirschConfig,\n PlausibleConfig,\n PostHogConfig,\n ProductSwitcherConfig,\n ProgrammingLanguage,\n RedirectConfig,\n RgbaColor,\n SearchbarPlacement,\n SegmentConfig,\n SiteSwitcherConfig,\n SizeConfig,\n Skill,\n SkillsConfig,\n SwitcherPlacement,\n TabsPlacement,\n ThemedFileId,\n TwitterCardSetting,\n WithPermissions\n} from \"./shared\";\nexport {\n AgentsConfigSchema,\n AIChatConfigSchema,\n AIChatDatasourceSchema,\n AIChatLocationSchema,\n AIChatWebsiteDatasourceSchema,\n AIModelSchema,\n AmplitudeConfigSchema,\n AnalyticsConfigSchema,\n AnnouncementConfigSchema,\n ApiDefinitionId,\n ApiDefinitionIdSchema,\n AvailabilitySchema,\n ClearBitConfigSchema,\n ColorConfigSchema,\n ColorsConfigSchema,\n ColorsConfigV2Schema,\n ColorThemedConfigSchema,\n ColorUnthemedConfigSchema,\n ContentAlignmentSchema,\n CssConfigSchema,\n CustomFontConfigSchema,\n CustomFontConfigVariantSchema,\n CustomPageActionSchema,\n DocsBodyConfigSchema,\n DocsLayoutConfigSchema,\n DocsPageActionsConfigSchema,\n DocsSettingsConfigSchema,\n DocsSidebarConfigSchema,\n DocsTabsConfigSchema,\n DocsTabsObjectConfigSchema,\n DocsTabsStyleSchema,\n DocsThemeConfigSchema,\n DocsTranslationsConfigSchema,\n DocsTypographyConfigSchema,\n DocsTypographyConfigV2Schema,\n EditThisPageLaunchSchema,\n EndpointId,\n EndpointIdSchema,\n FathomConfigSchema,\n FileId,\n FileIdOrUrlSchema,\n FileIdSchema,\n FontConfigSchema,\n FontConfigV2Schema,\n FontDisplaySchema,\n FontStyleSchema,\n FooterLinkSchema,\n FooterNavConfigSchema,\n FullStoryAnalyticsConfigSchema,\n GoogleAnalytics4ConfigSchema,\n GTMConfigSchema,\n HeaderPositionSchema,\n HeapConfigSchema,\n HotJarConfigSchema,\n HttpSnippetLanguageSchema,\n HttpSnippetsConfigSchema,\n IframeConfigSchema,\n IntegrationsConfigSchema,\n IntercomConfigSchema,\n JsConfigSchema,\n JsFileConfigSchema,\n JsRemoteConfigSchema,\n JsScriptStrategySchema,\n KoalaConfigSchema,\n LanguageSchema,\n LanguageSwitcherConfigSchema,\n LinkTargetSchema,\n LogRocketConfigSchema,\n MetadataConfigSchema,\n MixpanelConfigSchema,\n NavbarGithubMetadataSchema,\n NavbarLinkDropdownMetadataSchema,\n NavbarLinkMetadataSchema,\n NavbarLinkSchema,\n PageActionOptionSchema,\n PageActionOptionsSchema,\n PageActionsConfigSchema,\n PageId,\n PageIdSchema,\n PageWidthSizeConfigSchema,\n PirschConfigSchema,\n PlausibleConfigSchema,\n PostHogConfigSchema,\n ProductSwitcherConfigSchema,\n ProgrammingLanguageSchema,\n RedirectConfigSchema,\n RgbaColorSchema,\n RoleId,\n RoleIdSchema,\n SearchbarPlacementSchema,\n SegmentConfigSchema,\n SiteSwitcherConfigSchema,\n SizeConfigSchema,\n SkillSchema,\n SkillsConfigSchema,\n SubpackageId,\n SwitcherPlacementSchema,\n TabsPlacementSchema,\n ThemedFileIdSchema,\n TwitterCardSettingSchema,\n Url,\n UrlSchema,\n VersionId,\n VersionIdSchema,\n WebhookId,\n WebhookIdSchema,\n WebSocketId,\n WebSocketIdSchema,\n WithPermissionsSchema\n} from \"./shared\";\n","import * as z from \"zod\";\n\nexport type FileId = string & { FileId: void };\nexport const FileIdSchema: z.ZodType<FileId> = z.string() as any;\nexport function FileId(value: string): FileId {\n return value as unknown as FileId;\n}\n\nexport type PageId = string & { PageId: void };\nexport const PageIdSchema: z.ZodType<PageId> = z.string() as any;\nexport function PageId(value: string): PageId {\n return value as unknown as PageId;\n}\n\nexport type Url = string & { Url: void };\nexport const UrlSchema: z.ZodType<Url> = z.string() as any;\nexport function Url(value: string): Url {\n return value as unknown as Url;\n}\n\nexport type VersionId = string & { VersionId: void };\nexport const VersionIdSchema: z.ZodType<VersionId> = z.string() as any;\nexport function VersionId(value: string): VersionId {\n return value as unknown as VersionId;\n}\n\nexport type ApiDefinitionId = string & { ApiDefinitionId: void };\nexport const ApiDefinitionIdSchema: z.ZodType<ApiDefinitionId> = z.string().uuid() as any;\nexport function ApiDefinitionId(value: string): ApiDefinitionId {\n return value as unknown as ApiDefinitionId;\n}\n\nexport type EndpointId = string & { EndpointId: void };\nexport const EndpointIdSchema: z.ZodType<EndpointId> = z.string() as any;\nexport function EndpointId(value: string): EndpointId {\n return value as unknown as EndpointId;\n}\n\nexport type WebSocketId = string & { WebSocketId: void };\nexport const WebSocketIdSchema: z.ZodType<WebSocketId> = z.string() as any;\nexport function WebSocketId(value: string): WebSocketId {\n return value as unknown as WebSocketId;\n}\n\nexport type WebhookId = string & { WebhookId: void };\nexport const WebhookIdSchema: z.ZodType<WebhookId> = z.string() as any;\nexport function WebhookId(value: string): WebhookId {\n return value as unknown as WebhookId;\n}\n\nexport type RoleId = string & { RoleId: void };\nexport const RoleIdSchema: z.ZodType<RoleId> = z.string() as any;\nexport function RoleId(value: string): RoleId {\n return value as unknown as RoleId;\n}\n\nexport type SubpackageId = string & { SubpackageId: void };\nexport const SubpackageIdSchema: z.ZodType<SubpackageId> = z.string() as any;\nexport function SubpackageId(value: string): SubpackageId {\n return value as unknown as SubpackageId;\n}\n\nexport const LinkTargetSchema = z.enum([\"_blank\", \"_self\", \"_parent\", \"_top\"]);\nexport type LinkTarget = z.infer<typeof LinkTargetSchema>;\n\nexport const AvailabilitySchema = z.enum([\n \"Stable\",\n \"GenerallyAvailable\",\n \"InDevelopment\",\n \"PreRelease\",\n \"Deprecated\",\n \"Beta\"\n]);\nexport type Availability = z.infer<typeof AvailabilitySchema>;\n\nexport const RgbaColorSchema = z.object({\n r: z.number().int(),\n g: z.number().int(),\n b: z.number().int(),\n a: z.number().optional()\n});\nexport type RgbaColor = z.infer<typeof RgbaColorSchema>;\n\nexport const FileIdOrUrlSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"fileId\"), value: FileIdSchema }),\n z.object({ type: z.literal(\"url\"), value: UrlSchema })\n]);\nexport type FileIdOrUrl = z.infer<typeof FileIdOrUrlSchema>;\n\n/**\n * BCP 47 language tag validator for docs localization.\n * Accepts simple codes like \"en\", \"ja\" as well as regional variants\n * like \"ja-JP\", \"pt-BR\", \"zh-Hans\", \"zh-Hans-CN\".\n * See: https://www.rfc-editor.org/rfc/rfc5646\n */\nexport const LanguageSchema = z\n .string()\n .regex(\n /^[a-zA-Z]{2,8}(-[a-zA-Z0-9]{1,8})*$/,\n \"Language must be a valid BCP 47 language tag (e.g. 'en', 'ja', 'ja-JP', 'pt-BR', 'zh-Hans-CN')\"\n );\nexport type Language = z.infer<typeof LanguageSchema>;\n\n/**\n * BCP 47 language tag validator.\n * Accepts tags like \"en\", \"fr\", \"pt-BR\", \"zh-Hans\", \"zh-Hans-CN\".\n * See: https://www.rfc-editor.org/rfc/rfc5646\n */\nconst Bcp47LocaleSchema = z\n .string()\n .regex(\n /^[a-zA-Z]{2,8}(-[a-zA-Z0-9]{1,8})*$/,\n \"Locale must be a valid BCP 47 language tag (e.g. 'en', 'fr', 'pt-BR', 'zh-Hans-CN')\"\n );\n\nexport const DocsTranslationsConfigSchema = z.object({\n /** The locale served when no locale-specific translation is found. Must be a valid BCP 47 language tag. */\n defaultLocale: Bcp47LocaleSchema,\n /** Supported locales for this docs site.\n * Must be valid BCP 47 language tags. Include `defaultLocale` when localization is configured.\n * Omit to serve only `defaultLocale`. */\n translations: z.array(Bcp47LocaleSchema).optional()\n});\nexport type DocsTranslationsConfig = z.infer<typeof DocsTranslationsConfigSchema>;\n\nexport const ProgrammingLanguageSchema = z.enum([\n \"typescript\",\n \"javascript\",\n \"python\",\n \"java\",\n \"go\",\n \"ruby\",\n \"csharp\",\n \"php\",\n \"swift\",\n \"rust\",\n \"nodets\",\n \"nodejs\",\n \"dotnet\",\n \"curl\",\n \"jvm\",\n \"ts\",\n \"js\"\n]);\nexport type ProgrammingLanguage = z.infer<typeof ProgrammingLanguageSchema>;\n\nexport const AnnouncementConfigSchema = z.object({\n text: z.string()\n});\nexport type AnnouncementConfig = z.infer<typeof AnnouncementConfigSchema>;\n\nexport const SegmentConfigSchema = z.object({\n writeKey: z.string()\n});\nexport type SegmentConfig = z.infer<typeof SegmentConfigSchema>;\n\nexport const FullStoryAnalyticsConfigSchema = z.object({\n orgId: z.string()\n});\nexport type FullStoryAnalyticsConfig = z.infer<typeof FullStoryAnalyticsConfigSchema>;\n\nexport const IntercomConfigSchema = z.object({\n appId: z.string(),\n apiBase: z.string().optional()\n});\nexport type IntercomConfig = z.infer<typeof IntercomConfigSchema>;\n\nexport const PostHogConfigSchema = z.object({\n apiKey: z.string(),\n endpoint: z.string().optional()\n});\nexport type PostHogConfig = z.infer<typeof PostHogConfigSchema>;\n\nexport const GTMConfigSchema = z.object({\n containerId: z.string()\n});\nexport type GTMConfig = z.infer<typeof GTMConfigSchema>;\n\nexport const GoogleAnalytics4ConfigSchema = z.object({\n measurementId: z.string()\n});\nexport type GoogleAnalytics4Config = z.infer<typeof GoogleAnalytics4ConfigSchema>;\n\nexport const AmplitudeConfigSchema = z.object({\n apiKey: z.string()\n});\nexport type AmplitudeConfig = z.infer<typeof AmplitudeConfigSchema>;\n\nexport const MixpanelConfigSchema = z.object({\n apiKey: z.string()\n});\nexport type MixpanelConfig = z.infer<typeof MixpanelConfigSchema>;\n\nexport const HotJarConfigSchema = z.object({\n hjid: z.string(),\n hjsv: z.string()\n});\nexport type HotJarConfig = z.infer<typeof HotJarConfigSchema>;\n\nexport const KoalaConfigSchema = z.object({\n apiKey: z.string()\n});\nexport type KoalaConfig = z.infer<typeof KoalaConfigSchema>;\n\nexport const LogRocketConfigSchema = z.object({\n apiKey: z.string()\n});\nexport type LogRocketConfig = z.infer<typeof LogRocketConfigSchema>;\n\nexport const PirschConfigSchema = z.object({\n id: z.string()\n});\nexport type PirschConfig = z.infer<typeof PirschConfigSchema>;\n\nexport const PlausibleConfigSchema = z.object({\n domain: z.string()\n});\nexport type PlausibleConfig = z.infer<typeof PlausibleConfigSchema>;\n\nexport const FathomConfigSchema = z.object({\n siteId: z.string()\n});\nexport type FathomConfig = z.infer<typeof FathomConfigSchema>;\n\nexport const ClearBitConfigSchema = z.object({\n apiKey: z.string()\n});\nexport type ClearBitConfig = z.infer<typeof ClearBitConfigSchema>;\n\nexport const HeapConfigSchema = z.object({\n appId: z.string()\n});\nexport type HeapConfig = z.infer<typeof HeapConfigSchema>;\n\nexport const AnalyticsConfigSchema = z.object({\n segment: SegmentConfigSchema.optional(),\n fullstory: FullStoryAnalyticsConfigSchema.optional(),\n intercom: IntercomConfigSchema.optional(),\n posthog: PostHogConfigSchema.optional(),\n gtm: GTMConfigSchema.optional(),\n ga4: GoogleAnalytics4ConfigSchema.optional(),\n amplitude: AmplitudeConfigSchema.optional(),\n mixpanel: MixpanelConfigSchema.optional(),\n hotjar: HotJarConfigSchema.optional(),\n koala: KoalaConfigSchema.optional(),\n logrocket: LogRocketConfigSchema.optional(),\n pirsch: PirschConfigSchema.optional(),\n plausible: PlausibleConfigSchema.optional(),\n fathom: FathomConfigSchema.optional(),\n clearbit: ClearBitConfigSchema.optional(),\n heap: HeapConfigSchema.optional()\n});\nexport type AnalyticsConfig = z.infer<typeof AnalyticsConfigSchema>;\n\nexport const SearchbarPlacementSchema = z.enum([\"HEADER\", \"HEADER_TABS\", \"SIDEBAR\"]);\nexport type SearchbarPlacement = z.infer<typeof SearchbarPlacementSchema>;\n\nexport const TabsPlacementSchema = z.enum([\"HEADER\", \"SIDEBAR\"]);\nexport type TabsPlacement = z.infer<typeof TabsPlacementSchema>;\n\nexport const SwitcherPlacementSchema = z.enum([\"HEADER\", \"SIDEBAR\"]);\nexport type SwitcherPlacement = z.infer<typeof SwitcherPlacementSchema>;\n\nexport const ContentAlignmentSchema = z.enum([\"CENTER\", \"LEFT\"]);\nexport type ContentAlignment = z.infer<typeof ContentAlignmentSchema>;\n\nexport const HeaderPositionSchema = z.enum([\"FIXED\", \"ABSOLUTE\"]);\nexport type HeaderPosition = z.infer<typeof HeaderPositionSchema>;\n\nexport const PageWidthSizeConfigSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"px\"), value: z.number() }),\n z.object({ type: z.literal(\"rem\"), value: z.number() }),\n z.object({ type: z.literal(\"full\") })\n]);\nexport type PageWidthSizeConfig = z.infer<typeof PageWidthSizeConfigSchema>;\n\nexport const SizeConfigSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"px\"), value: z.number() }),\n z.object({ type: z.literal(\"rem\"), value: z.number() })\n]);\nexport type SizeConfig = z.infer<typeof SizeConfigSchema>;\n\nexport const TabsAlignmentSchema = z.enum([\"LEFT\", \"CENTER\"]);\nexport type TabsAlignment = z.infer<typeof TabsAlignmentSchema>;\n\n// \"timeline\" is the searchable timeline-of-cards layout; \"classic\" is the\n// legacy stacked-entries layout with a per-page table of contents.\nexport const ChangelogLayoutSchema = z.enum([\"timeline\", \"classic\"]);\nexport type ChangelogLayout = z.infer<typeof ChangelogLayoutSchema>;\n\n// How nested object fields render in the API reference. \"indented\" is the\n// connector-line tree; \"cards\" is the legacy nested-card layout.\nexport const ApiReferenceLayoutSchema = z.enum([\"indented\", \"cards\"]);\nexport type ApiReferenceLayout = z.infer<typeof ApiReferenceLayoutSchema>;\n\nexport const DocsBreadcrumbsConfigSchema = z.object({\n // Appends the current page to the breadcrumb trail as a non-clickable item.\n currentPage: z.boolean().optional()\n});\nexport type DocsBreadcrumbsConfig = z.infer<typeof DocsBreadcrumbsConfigSchema>;\n\nexport const DocsLayoutConfigSchema = z.object({\n pageWidth: PageWidthSizeConfigSchema.optional(),\n contentWidth: SizeConfigSchema.optional(),\n sidebarWidth: SizeConfigSchema.optional(),\n headerHeight: SizeConfigSchema.optional(),\n searchbarPlacement: SearchbarPlacementSchema.optional(),\n tabsPlacement: TabsPlacementSchema.optional(),\n switcherPlacement: SwitcherPlacementSchema.optional(),\n contentAlignment: ContentAlignmentSchema.optional(),\n headerPosition: HeaderPositionSchema.optional(),\n disableHeader: z.boolean().optional(),\n hideNavLinks: z.boolean().optional(),\n hideFeedback: z.boolean().optional(),\n mobileToc: z.boolean().optional(),\n changelogLayout: ChangelogLayoutSchema.optional(),\n apiReferenceLayout: ApiReferenceLayoutSchema.optional(),\n // Opens the first level of nested object/union fields in the API reference by default.\n apiReferenceExpandProperties: z.boolean().optional(),\n showNavAvailabilityBadges: z.boolean().optional(),\n breadcrumbs: DocsBreadcrumbsConfigSchema.optional()\n});\nexport type DocsLayoutConfig = z.infer<typeof DocsLayoutConfigSchema>;\n\nexport const FooterNavConfigSchema = z.enum([\"default\", \"minimal\"]);\nexport type FooterNavConfig = z.infer<typeof FooterNavConfigSchema>;\n\nexport const DocsSidebarConfigSchema = z.enum([\"default\", \"minimal\"]);\nexport type DocsSidebarConfig = z.infer<typeof DocsSidebarConfigSchema>;\n\nexport const DocsBodyConfigSchema = z.enum([\"default\", \"canvas\"]);\nexport type DocsBodyConfig = z.infer<typeof DocsBodyConfigSchema>;\n\nexport const DocsTabsStyleSchema = z.enum([\"default\", \"bubble\"]);\nexport type DocsTabsStyle = z.infer<typeof DocsTabsStyleSchema>;\n\nexport const DocsTabsObjectConfigSchema = z.object({\n style: DocsTabsStyleSchema.optional(),\n alignment: TabsAlignmentSchema.optional(),\n placement: TabsPlacementSchema.optional()\n});\nexport type DocsTabsObjectConfig = z.infer<typeof DocsTabsObjectConfigSchema>;\n\nexport const DocsTabsConfigSchema = z.union([DocsTabsStyleSchema, DocsTabsObjectConfigSchema]);\nexport type DocsTabsConfig = z.infer<typeof DocsTabsConfigSchema>;\n\nexport const DocsPageActionsConfigSchema = z.enum([\"default\", \"toolbar\"]);\nexport type DocsPageActionsConfig = z.infer<typeof DocsPageActionsConfigSchema>;\n\nexport const LanguageSwitcherConfigSchema = z.enum([\"default\", \"minimal\"]);\nexport type LanguageSwitcherConfig = z.infer<typeof LanguageSwitcherConfigSchema>;\n\nexport const ProductSwitcherConfigSchema = z.enum([\"default\", \"toggle\", \"tabs\"]);\nexport type ProductSwitcherConfig = z.infer<typeof ProductSwitcherConfigSchema>;\n\n/**\n * Header switcher listing the other sites published on the same host.\n * Membership is derived from the registry at publish time (`LedgerManifest.siblingSites`);\n * this only shapes presentation. Keys of `labels` and entries of `order`/`hide` are basepaths.\n */\nexport const SiteSwitcherConfigSchema = z.object({\n enabled: z.boolean().optional(),\n order: z.array(z.string()).optional(),\n hide: z.array(z.string()).optional(),\n labels: z.record(z.string(), z.string()).optional(),\n \"show-products\": z.boolean().optional()\n});\nexport type SiteSwitcherConfig = z.infer<typeof SiteSwitcherConfigSchema>;\n\nexport const DocsThemeConfigSchema = z.object({\n sidebar: DocsSidebarConfigSchema.optional(),\n body: DocsBodyConfigSchema.optional(),\n tabs: DocsTabsConfigSchema.optional(),\n footerNav: FooterNavConfigSchema.optional(),\n \"page-actions\": DocsPageActionsConfigSchema.optional(),\n \"language-switcher\": LanguageSwitcherConfigSchema.optional(),\n \"product-switcher\": ProductSwitcherConfigSchema.optional(),\n \"site-switcher\": SiteSwitcherConfigSchema.optional()\n});\nexport type DocsThemeConfig = z.infer<typeof DocsThemeConfigSchema>;\n\nexport const HttpSnippetLanguageSchema = z.enum([\n \"curl\",\n \"csharp\",\n \"go\",\n \"java\",\n \"javascript\",\n \"php\",\n \"python\",\n \"ruby\",\n \"swift\",\n \"rust\",\n \"typescript\"\n]);\nexport type HttpSnippetLanguage = z.infer<typeof HttpSnippetLanguageSchema>;\n\nexport const HttpSnippetsConfigSchema = z.union([z.boolean(), z.array(HttpSnippetLanguageSchema)]);\nexport type HttpSnippetsConfig = z.infer<typeof HttpSnippetsConfigSchema>;\n\nexport const ExternalSitemapConfigSchema = z.object({\n url: z.string(),\n /**\n * Site locale every URL in this sitemap is indexed into, overriding per-URL\n * language detection. Must match the default language or a translation.\n */\n locale: z.string().optional()\n});\nexport type ExternalSitemapConfig = z.infer<typeof ExternalSitemapConfigSchema>;\n\nexport const ExternalSitemapSchema = z.union([z.string(), ExternalSitemapConfigSchema]);\nexport type ExternalSitemap = z.infer<typeof ExternalSitemapSchema>;\n\nexport const SearchSettingsConfigSchema = z.object({\n prioritizeCurrentProduct: z.boolean().optional(),\n defaultFilterByCurrentProduct: z.boolean().optional(),\n /**\n * Experimental: external sitemaps to index alongside this site's docs\n * content, each an absolute URL or `{ url, locale? }`. Their pages are tagged\n * to the same domain but flagged as third-party so they rank below all\n * first-party documentation in search.\n */\n externalSitemaps: z.array(ExternalSitemapSchema).optional()\n});\nexport type SearchSettingsConfig = z.infer<typeof SearchSettingsConfigSchema>;\n\nexport const DocsSettingsConfigSchema = z.object({\n searchText: z.string().optional(),\n disableSearch: z.boolean().optional(),\n disableAnalytics: z.boolean().optional(),\n darkModeCode: z.boolean().optional(),\n defaultSearchFilters: z.boolean().optional(),\n search: SearchSettingsConfigSchema.optional(),\n httpSnippets: HttpSnippetsConfigSchema.optional(),\n hide404Page: z.boolean().optional(),\n useJavascriptAsTypescript: z.boolean().optional(),\n disableExplorerProxy: z.boolean().optional(),\n disableEnvironmentEditing: z.boolean().optional(),\n language: LanguageSchema.optional(),\n websocketOneofDisplay: z.enum([\"flat\", \"grouped\"]).optional(),\n showHeadersInExamples: z.boolean().optional()\n});\nexport type DocsSettingsConfig = z.infer<typeof DocsSettingsConfigSchema>;\n\nexport const TwitterCardSettingSchema = z.enum([\"summary\", \"summary_large_image\", \"app\", \"player\"]);\nexport type TwitterCardSetting = z.infer<typeof TwitterCardSettingSchema>;\n\nexport const MetadataConfigSchema = z.object({\n \"og:site_name\": z.string().optional(),\n \"og:title\": z.string().optional(),\n \"og:description\": z.string().optional(),\n \"og:url\": z.string().optional(),\n \"og:image\": FileIdOrUrlSchema.optional(),\n \"og:image:width\": z.number().optional(),\n \"og:image:height\": z.number().optional(),\n \"og:locale\": z.string().optional(),\n \"og:logo\": FileIdOrUrlSchema.optional(),\n \"twitter:title\": z.string().optional(),\n \"twitter:description\": z.string().optional(),\n \"twitter:handle\": z.string().optional(),\n \"twitter:image\": FileIdOrUrlSchema.optional(),\n \"twitter:site\": z.string().optional(),\n \"twitter:url\": z.string().optional(),\n \"twitter:card\": TwitterCardSettingSchema.optional(),\n \"og:background-image\": FileIdOrUrlSchema.optional(),\n \"og:dynamic\": z.boolean().optional(),\n \"og:dynamic:background-image\": FileIdOrUrlSchema.optional(),\n \"og:dynamic:text-color\": z.string().optional(),\n \"og:dynamic:background-color\": z.string().optional(),\n \"og:dynamic:show-logo\": z.boolean().optional(),\n \"og:dynamic:show-section\": z.boolean().optional(),\n \"og:dynamic:show-description\": z.boolean().optional(),\n \"og:dynamic:show-url\": z.boolean().optional(),\n \"og:dynamic:show-gradient\": z.boolean().optional(),\n noindex: z.boolean().optional(),\n nofollow: z.boolean().optional(),\n canonicalHost: z.string().optional()\n});\nexport type MetadataConfig = z.infer<typeof MetadataConfigSchema>;\n\nexport const RedirectConfigSchema = z.object({\n source: z.string(),\n destination: z.string(),\n permanent: z.boolean().optional()\n});\nexport type RedirectConfig = z.infer<typeof RedirectConfigSchema>;\n\nexport const WithPermissionsSchema = z.object({\n viewers: z.array(RoleIdSchema).optional()\n});\nexport type WithPermissions = z.infer<typeof WithPermissionsSchema>;\n\nexport const NavbarLinkMetadataSchema = z.object({\n ...WithPermissionsSchema.shape,\n url: UrlSchema,\n target: LinkTargetSchema.optional(),\n text: z.string().optional(),\n icon: z.string().optional(),\n rightIcon: z.string().optional(),\n rounded: z.boolean().optional()\n});\nexport type NavbarLinkMetadata = z.infer<typeof NavbarLinkMetadataSchema>;\n\nexport const NavbarGithubMetadataSchema = z.object({\n ...WithPermissionsSchema.shape,\n url: UrlSchema,\n target: LinkTargetSchema.optional()\n});\nexport type NavbarGithubMetadata = z.infer<typeof NavbarGithubMetadataSchema>;\n\nexport const NavbarLinkDropdownMetadataSchema = z.object({\n ...WithPermissionsSchema.shape,\n links: z.array(NavbarLinkMetadataSchema),\n text: z.string().optional(),\n icon: z.string().optional(),\n rightIcon: z.string().optional(),\n rounded: z.boolean().optional()\n});\nexport type NavbarLinkDropdownMetadata = z.infer<typeof NavbarLinkDropdownMetadataSchema>;\n\nexport const NavbarLinkSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"filled\"), ...NavbarLinkMetadataSchema.shape }),\n z.object({ type: z.literal(\"outlined\"), ...NavbarLinkMetadataSchema.shape }),\n z.object({ type: z.literal(\"minimal\"), ...NavbarLinkMetadataSchema.shape }),\n z.object({ type: z.literal(\"github\"), ...NavbarGithubMetadataSchema.shape }),\n z.object({ type: z.literal(\"dropdown\"), ...NavbarLinkDropdownMetadataSchema.shape }),\n z.object({ type: z.literal(\"primary\"), ...NavbarLinkMetadataSchema.shape }),\n z.object({ type: z.literal(\"secondary\"), ...NavbarLinkMetadataSchema.shape })\n]);\nexport type NavbarLink = z.infer<typeof NavbarLinkSchema>;\n\nexport const FooterLinkSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"github\"), value: UrlSchema }),\n z.object({ type: z.literal(\"twitter\"), value: UrlSchema }),\n z.object({ type: z.literal(\"x\"), value: UrlSchema }),\n z.object({ type: z.literal(\"linkedin\"), value: UrlSchema }),\n z.object({ type: z.literal(\"youtube\"), value: UrlSchema }),\n z.object({ type: z.literal(\"instagram\"), value: UrlSchema }),\n z.object({ type: z.literal(\"facebook\"), value: UrlSchema }),\n z.object({ type: z.literal(\"discord\"), value: UrlSchema }),\n z.object({ type: z.literal(\"slack\"), value: UrlSchema }),\n z.object({ type: z.literal(\"hackernews\"), value: UrlSchema }),\n z.object({ type: z.literal(\"medium\"), value: UrlSchema }),\n z.object({ type: z.literal(\"website\"), value: UrlSchema })\n]);\nexport type FooterLink = z.infer<typeof FooterLinkSchema>;\n\nexport const CssConfigSchema = z.object({\n inline: z.array(z.string()).optional()\n});\nexport type CssConfig = z.infer<typeof CssConfigSchema>;\n\nexport const JsScriptStrategySchema = z.enum([\"beforeInteractive\", \"afterInteractive\", \"lazyOnload\"]);\nexport type JsScriptStrategy = z.infer<typeof JsScriptStrategySchema>;\n\nexport const JsRemoteConfigSchema = z.object({\n url: UrlSchema,\n strategy: JsScriptStrategySchema.optional(),\n // When true, skip computing a Subresource Integrity (SRI) hash for this\n // remote script so it is rendered without an `integrity` attribute.\n disableSri: z.boolean().optional()\n});\nexport type JsRemoteConfig = z.infer<typeof JsRemoteConfigSchema>;\n\nexport const JsFileConfigSchema = z.object({\n fileId: FileIdSchema,\n strategy: JsScriptStrategySchema.optional()\n});\nexport type JsFileConfig = z.infer<typeof JsFileConfigSchema>;\n\nexport const JsConfigSchema = z.object({\n remote: z.array(JsRemoteConfigSchema).optional(),\n files: z.array(JsFileConfigSchema),\n inline: z.array(z.string()).optional()\n});\nexport type JsConfig = z.infer<typeof JsConfigSchema>;\n\nexport const IntegrationsConfigSchema = z.object({\n intercom: z.string().optional(),\n context7: FileIdSchema.optional()\n});\nexport type IntegrationsConfig = z.infer<typeof IntegrationsConfigSchema>;\n\nexport const FontStyleSchema = z.enum([\"normal\", \"italic\"]);\nexport type FontStyle = z.infer<typeof FontStyleSchema>;\n\nexport const FontDisplaySchema = z.enum([\"auto\", \"block\", \"swap\", \"fallback\", \"optional\"]);\nexport type FontDisplay = z.infer<typeof FontDisplaySchema>;\n\nexport const CustomFontConfigVariantSchema = z.object({\n fontFile: FileIdSchema,\n weight: z.array(z.string()).optional(),\n style: z.array(FontStyleSchema).optional()\n});\nexport type CustomFontConfigVariant = z.infer<typeof CustomFontConfigVariantSchema>;\n\nexport const CustomFontConfigSchema = z.object({\n name: z.string(),\n variants: z.array(CustomFontConfigVariantSchema),\n display: FontDisplaySchema.optional(),\n fallback: z.array(z.string()).optional(),\n fontVariationSettings: z.string().optional()\n});\nexport type CustomFontConfig = z.infer<typeof CustomFontConfigSchema>;\n\nexport const FontConfigV2Schema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"custom\"), ...CustomFontConfigSchema.shape })\n]);\nexport type FontConfigV2 = z.infer<typeof FontConfigV2Schema>;\n\nexport const DocsTypographyConfigV2Schema = z.object({\n headingsFont: FontConfigV2Schema.optional(),\n bodyFont: FontConfigV2Schema.optional(),\n codeFont: FontConfigV2Schema.optional()\n});\nexport type DocsTypographyConfigV2 = z.infer<typeof DocsTypographyConfigV2Schema>;\n\nexport const ThemedFileIdSchema = z.object({\n dark: FileIdSchema.optional(),\n light: FileIdSchema.optional()\n});\nexport type ThemedFileId = z.infer<typeof ThemedFileIdSchema>;\n\nexport const ColorsConfigSchema = z.object({\n accentPrimary: RgbaColorSchema.optional()\n});\nexport type ColorsConfig = z.infer<typeof ColorsConfigSchema>;\n\nexport const ColorUnthemedConfigSchema = z.object({\n color: RgbaColorSchema.optional()\n});\nexport type ColorUnthemedConfig = z.infer<typeof ColorUnthemedConfigSchema>;\n\nexport const ColorThemedConfigSchema = z.object({\n dark: RgbaColorSchema.optional(),\n light: RgbaColorSchema.optional()\n});\nexport type ColorThemedConfig = z.infer<typeof ColorThemedConfigSchema>;\n\nexport const ColorConfigSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"unthemed\"), ...ColorUnthemedConfigSchema.shape }),\n z.object({ type: z.literal(\"themed\"), ...ColorThemedConfigSchema.shape })\n]);\nexport type ColorConfig = z.infer<typeof ColorConfigSchema>;\n\nexport const ColorsConfigV2Schema = z.object({\n accentPrimary: ColorConfigSchema.optional(),\n background: ColorConfigSchema.optional()\n});\nexport type ColorsConfigV2 = z.infer<typeof ColorsConfigV2Schema>;\n\nexport const FontConfigSchema = z.object({\n name: z.string(),\n fontFile: FileIdSchema\n});\nexport type FontConfig = z.infer<typeof FontConfigSchema>;\n\nexport const DocsTypographyConfigSchema = z.object({\n headingsFont: FontConfigSchema.optional(),\n bodyFont: FontConfigSchema.optional(),\n codeFont: FontConfigSchema.optional()\n});\nexport type DocsTypographyConfig = z.infer<typeof DocsTypographyConfigSchema>;\n\nexport const EditThisPageLaunchSchema = z.enum([\"github\", \"dashboard\"]);\nexport type EditThisPageLaunch = z.infer<typeof EditThisPageLaunchSchema>;\n\n/**\n * A single CSP `frame-ancestors` host source: `scheme://host[:port]`, where the host may\n * lead with a `*.` wildcard label and the port may be `*`. Deliberately excludes the bare\n * `*`, keyword sources (`'none'`, `'self'`), scheme-only sources (`https:`) and anything\n * with a path, query or directive delimiter, so a value from an older CLI or a direct API\n * caller can neither open the site to every origin nor inject further directives.\n */\nexport const FRAME_ANCESTOR_SOURCE_PATTERN =\n /^[a-z][a-z0-9+.-]*:\\/\\/(?:\\*\\.)?[a-z0-9](?:[a-z0-9-]*[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)*(?::(?:\\d{1,5}|\\*))?$/i;\n\nexport function isFrameAncestorSource(value: unknown): value is string {\n return typeof value === \"string\" && FRAME_ANCESTOR_SOURCE_PATTERN.test(value);\n}\n\n/** Trims, drops anything that is not a valid {@link FRAME_ANCESTOR_SOURCE_PATTERN} and de-duplicates. */\nexport function sanitizeFrameAncestors(origins: readonly unknown[]): string[] {\n const clean = origins\n .filter((origin): origin is string => typeof origin === \"string\")\n .map((origin) => origin.trim())\n .filter(isFrameAncestorSource);\n return [...new Set(clean)];\n}\n\n/**\n * Origins allowed to iframe the docs site, appended to the CSP `frame-ancestors`\n * directive (e.g. `https://app.example.com`, `https://*.example.com`). Each entry must\n * be a host source; wildcards for \"any origin\" are rejected.\n */\nexport const IframeConfigSchema = z.object({\n allowedParentOrigins: z.array(\n z.string().regex(FRAME_ANCESTOR_SOURCE_PATTERN, \"must be a CSP host source like https://app.example.com\")\n )\n});\nexport type IframeConfig = z.infer<typeof IframeConfigSchema>;\n\nexport const AIChatLocationSchema = z.enum([\"docs\", \"slack\"]);\nexport type AIChatLocation = z.infer<typeof AIChatLocationSchema>;\n\nexport const AIChatWebsiteDatasourceSchema = z.object({\n url: z.string(),\n title: z.string().optional()\n});\nexport type AIChatWebsiteDatasource = z.infer<typeof AIChatWebsiteDatasourceSchema>;\n\nexport const AIChatDatasourceSchema = AIChatWebsiteDatasourceSchema;\nexport type AIChatDatasource = z.infer<typeof AIChatDatasourceSchema>;\n\nexport const AIModelSchema = z.enum([\"claude-3.5\", \"claude-3.7\", \"claude-4\", \"command-a\"]);\nexport type AIModel = z.infer<typeof AIModelSchema>;\n\nexport const AIChatConfigSchema = z.object({\n model: AIModelSchema.optional(),\n systemPrompt: z.string().optional(),\n location: z.array(AIChatLocationSchema).optional(),\n datasources: z.array(AIChatDatasourceSchema).optional(),\n maskPii: z.boolean().optional(),\n disclaimer: z.string().optional()\n});\nexport type AIChatConfig = z.infer<typeof AIChatConfigSchema>;\n\nexport const PageDescriptionSourceSchema = z.enum([\"description\", \"subtitle\"]);\nexport type PageDescriptionSource = z.infer<typeof PageDescriptionSourceSchema>;\n\nexport const AgentsConfigSchema = z.object({\n pageDirective: z.string().optional(),\n pageDescriptionSource: PageDescriptionSourceSchema.optional(),\n siteDescription: z.string().optional(),\n llmsTxt: FileIdSchema.optional(),\n llmsFullTxt: FileIdSchema.optional(),\n robotsTxt: FileIdSchema.optional()\n});\nexport type AgentsConfig = z.infer<typeof AgentsConfigSchema>;\n\nexport const PageActionOptionSchema = z.enum([\n \"copyPage\",\n \"viewAsMarkdown\",\n \"askAi\",\n \"openAi\",\n \"claude\",\n \"cursor\",\n \"claudeCode\",\n \"vscode\",\n \"installSkills\"\n]);\nexport type PageActionOption = z.infer<typeof PageActionOptionSchema>;\n\nexport const CustomPageActionSchema = z.object({\n title: z.string(),\n subtitle: z.string().optional(),\n url: z.string(),\n icon: z.string().optional(),\n default: z.boolean().optional()\n});\nexport type CustomPageAction = z.infer<typeof CustomPageActionSchema>;\n\n/**\n * A single agent skill surfaced in the \"Install skills\" modal. `name` is the\n * skill identifier (e.g. `nemoclaw-user-get-started`); `url` optionally links\n * to its source (a path in the repo, a docs page, etc.).\n */\nexport const SkillSchema = z.object({\n name: z.string(),\n description: z.string().optional(),\n url: z.string().optional()\n});\nexport type Skill = z.infer<typeof SkillSchema>;\n\n/**\n * Powers the config-driven \"Install skills\" page action and its modal. Sites\n * that ship agent skills point at where those skills live and how to install\n * them — no skill generation happens on Fern's side. Presence of this config is\n * what enables the action; omit it and no \"Install skills\" action is rendered.\n */\nexport const SkillsConfigSchema = z.object({\n /** Overrides the modal title. */\n title: z.string().optional(),\n /** Overrides the modal description/blurb. */\n description: z.string().optional(),\n /** Optional \"Learn more\" link shown alongside the description. */\n learnMoreUrl: z.string().optional(),\n /** Source repository (public or private GH/GL) shown as a \"View source\" button. */\n repository: z.string().optional(),\n /**\n * Command(s) used to install/fetch the skills, rendered as a copyable block.\n * A single string is shown as-is; an array is joined with newlines (e.g. a\n * multi-step `git sparse-checkout` install).\n */\n installCommand: z.union([z.string(), z.array(z.string())]).optional(),\n /** Optional list of available skills displayed in the modal. */\n skills: z.array(SkillSchema).optional()\n});\nexport type SkillsConfig = z.infer<typeof SkillsConfigSchema>;\n\nexport const PageActionOptionsSchema = z.object({\n copyPage: z.boolean().optional(),\n viewAsMarkdown: z.boolean().optional(),\n askAi: z.boolean().optional(),\n openAi: z.boolean().optional(),\n claude: z.boolean().optional(),\n cursor: z.boolean().optional(),\n claudeCode: z.boolean().optional(),\n vscode: z.boolean().optional(),\n mcp: z.boolean().optional(),\n custom: z.array(CustomPageActionSchema).optional(),\n skills: SkillsConfigSchema.optional()\n});\nexport type PageActionOptions = z.infer<typeof PageActionOptionsSchema>;\n\nexport const PageActionsConfigSchema = z.object({\n default: PageActionOptionSchema.optional(),\n options: PageActionOptionsSchema.optional()\n});\nexport type PageActionsConfig = z.infer<typeof PageActionsConfigSchema>;\n\nexport const HeightSchema = z.number();\nexport type Height = z.infer<typeof HeightSchema>;\n\nexport const PageContentSchema = z.object({\n markdown: z.string(),\n editThisPageUrl: UrlSchema.optional(),\n editThisPageLaunch: EditThisPageLaunchSchema.optional(),\n rawMarkdown: z.string().optional()\n});\nexport type PageContent = z.infer<typeof PageContentSchema>;\n\nexport const NavigationNodeMetadataSchema = z.object({\n icon: z.string().optional(),\n hidden: z.boolean().optional(),\n urlSlug: z.string(),\n fullSlug: z.array(z.string()).optional()\n});\nexport type NavigationNodeMetadata = z.infer<typeof NavigationNodeMetadataSchema>;\n\nexport const PageMetadataSchema = z.object({\n ...NavigationNodeMetadataSchema.shape,\n id: PageIdSchema,\n title: z.string()\n});\nexport type PageMetadata = z.infer<typeof PageMetadataSchema>;\n\nexport const LinkMetadataSchema = z.object({\n title: z.string(),\n icon: z.string().optional(),\n url: UrlSchema,\n target: LinkTargetSchema.optional()\n});\nexport type LinkMetadata = z.infer<typeof LinkMetadataSchema>;\n\nexport const NavigationTabLinkSchema = z.object({\n title: z.string(),\n icon: z.string().optional(),\n url: UrlSchema,\n target: LinkTargetSchema.optional()\n});\nexport type NavigationTabLink = z.infer<typeof NavigationTabLinkSchema>;\n\nexport const ChangelogItemSchema = z.object({\n date: z.string(),\n pageId: PageIdSchema,\n tags: z.array(z.string()).optional()\n});\nexport type ChangelogItem = z.infer<typeof ChangelogItemSchema>;\n\nexport const ChangelogSectionSchema = z.object({\n ...NavigationNodeMetadataSchema.shape,\n title: z.string().optional(),\n description: z.string().optional(),\n pageId: PageIdSchema.optional(),\n items: z.array(ChangelogItemSchema)\n});\nexport type ChangelogSection = z.infer<typeof ChangelogSectionSchema>;\n\nexport const ChangelogSectionV3Schema = z.object({\n node: z.unknown().optional()\n});\nexport type ChangelogSectionV3 = z.infer<typeof ChangelogSectionV3Schema>;\n\nexport const ApiSectionV2Schema = z.object({\n node: z.unknown()\n});\nexport type ApiSectionV2 = z.infer<typeof ApiSectionV2Schema>;\n\nexport const GitHubRepoSchema = z.object({\n name: z.string(),\n url: UrlSchema\n});\nexport type GitHubRepo = z.infer<typeof GitHubRepoSchema>;\n\nexport const NpmPackageSchema = z.object({\n packageName: z.string(),\n githubRepo: GitHubRepoSchema,\n version: z.string()\n});\nexport type NpmPackage = z.infer<typeof NpmPackageSchema>;\n\nexport const MavenPackageSchema = z.object({\n coordinate: z.string(),\n githubRepo: GitHubRepoSchema,\n version: z.string()\n});\nexport type MavenPackage = z.infer<typeof MavenPackageSchema>;\n\nexport const PypiPackageSchema = z.object({\n packageName: z.string(),\n githubRepo: GitHubRepoSchema,\n version: z.string()\n});\nexport type PypiPackage = z.infer<typeof PypiPackageSchema>;\n\nexport const PublishedSdkSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"npm\"), ...NpmPackageSchema.shape }),\n z.object({ type: z.literal(\"maven\"), ...MavenPackageSchema.shape }),\n z.object({ type: z.literal(\"pypi\"), ...PypiPackageSchema.shape })\n]);\nexport type PublishedSdk = z.infer<typeof PublishedSdkSchema>;\n\nexport const PublishedPostmanCollectionSchema = z.object({\n url: UrlSchema,\n githubRepo: GitHubRepoSchema.optional()\n});\nexport type PublishedPostmanCollection = z.infer<typeof PublishedPostmanCollectionSchema>;\n\nexport const ApiArtifactsSchema = z.object({\n sdks: z.array(PublishedSdkSchema),\n postman: PublishedPostmanCollectionSchema.optional()\n});\nexport type ApiArtifacts = z.infer<typeof ApiArtifactsSchema>;\n\nexport type ApiNavigationConfigItem =\n | ApiNavigationConfigItem.Subpackage\n | ApiNavigationConfigItem.EndpointId\n | ApiNavigationConfigItem.WebsocketId\n | ApiNavigationConfigItem.WebhookId\n | ApiNavigationConfigItem.Page;\n\nexport namespace ApiNavigationConfigItem {\n export interface Subpackage {\n type: \"subpackage\";\n summaryPageId?: string | null;\n subpackageId: string;\n items: ApiNavigationConfigItem[];\n }\n export interface EndpointId {\n type: \"endpointId\";\n value: string;\n }\n export interface WebsocketId {\n type: \"websocketId\";\n value: string;\n }\n export interface WebhookId {\n type: \"webhookId\";\n value: string;\n }\n export interface Page extends PageMetadata {\n type: \"page\";\n }\n}\n\nexport const ApiNavigationConfigItemSchema: z.ZodType<ApiNavigationConfigItem> = z.lazy(() =>\n z.discriminatedUnion(\"type\", [\n z.object({\n type: z.literal(\"subpackage\"),\n summaryPageId: PageIdSchema.optional(),\n subpackageId: SubpackageIdSchema,\n items: z.array(ApiNavigationConfigItemSchema)\n }),\n z.object({ type: z.literal(\"endpointId\"), value: EndpointIdSchema }),\n z.object({ type: z.literal(\"websocketId\"), value: WebSocketIdSchema }),\n z.object({ type: z.literal(\"webhookId\"), value: WebhookIdSchema }),\n z.object({\n type: z.literal(\"page\"),\n ...PageMetadataSchema.shape\n })\n ])\n);\n\nexport const ApiNavigationConfigRootSchema = z.object({\n summaryPageId: PageIdSchema.optional(),\n items: z.array(ApiNavigationConfigItemSchema)\n});\nexport type ApiNavigationConfigRoot = z.infer<typeof ApiNavigationConfigRootSchema>;\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { libraryDocsContract } from \"./contract.js\";\n\nexport type LibraryDocsClient = JsonifiedClient<ContractRouterClient<typeof libraryDocsContract>>;\n\nexport interface CreateLibraryDocsClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createLibraryDocsClient(options: CreateLibraryDocsClientOptions): LibraryDocsClient {\n const link = new OpenAPILink(libraryDocsContract, {\n url: `${options.baseUrl}/v2/registry/docs`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\nimport { validateDoxyfileContent } from \"./doxyfile.js\";\n\nconst ALLOWED_HOSTNAMES = new Set([\"github.com\", \"gitlab.com\"]);\n\n/**\n * Validates that a URL is a valid GitHub or GitLab repository URL.\n * Only allows https://github.com/<owner>/<repo> and https://gitlab.com/<owner>/<repo> patterns.\n */\nexport const GithubUrlSchema = z\n .string()\n .url()\n .describe(\n \"HTTPS URL of a GitHub or GitLab repository. Currently only github.com and gitlab.com are supported. Must match the pattern https://github.com/<owner>/<repo> or https://gitlab.com/<owner>/<repo>.\"\n )\n .refine(\n (url) => {\n try {\n const parsed = new URL(url);\n if (parsed.protocol !== \"https:\") {\n return false;\n }\n if (!ALLOWED_HOSTNAMES.has(parsed.hostname)) {\n return false;\n }\n if (parsed.username || parsed.password) {\n return false;\n }\n // Must match /<owner>/<repo> with optional .git suffix and trailing slash only.\n // Reject trailing path segments (e.g. /tree/main) to stay consistent with\n // the Python/C++ parser regex and because git-clone doesn't use them.\n return /^\\/[\\w.-]+\\/[\\w.-]+(?:\\.git)?\\/?$/.test(parsed.pathname);\n } catch {\n return false;\n }\n },\n { message: \"Must be a valid https://github.com/<owner>/<repo> or https://gitlab.com/<owner>/<repo> URL\" }\n );\n\n/** Validates branch names against allowed characters. */\nconst SafeBranchSchema = z\n .string()\n .regex(/^[a-zA-Z0-9._/-]+$/, \"Invalid branch name\")\n .nullish();\n\n/** Validates packagePath does not contain traversal sequences. */\nconst SafePackagePathSchema = z\n .string()\n .refine((p) => !p.includes(\"..\") && !p.startsWith(\"/\"), {\n message: \"packagePath must not contain path traversal sequences\"\n })\n .nullish();\n\nexport const LibraryDocsBaseConfigSchema = z.object({\n branch: SafeBranchSchema,\n packagePath: SafePackagePathSchema,\n title: z.string().nullish(),\n slug: z.string().nullish()\n});\n\nexport const PythonLibraryDocsConfigSchema = LibraryDocsBaseConfigSchema;\n\n/**\n * Validates doxyfileContent against the Doxyfile setting allowlist. Non-allowlisted\n * settings are dropped by the parser (not rejected); allowlisted settings with\n * unsafe values are rejected here.\n */\nexport const SafeDoxyfileContentSchema = z\n .string()\n .superRefine((content, ctx) => {\n for (const error of validateDoxyfileContent(content).errors) {\n ctx.addIssue({ code: z.ZodIssueCode.custom, message: error });\n }\n })\n .nullish();\n\nexport const CppLibraryDocsConfigSchema = LibraryDocsBaseConfigSchema.extend({\n doxyfileContent: SafeDoxyfileContentSchema,\n /** Also emit `#define`s without a doc comment. Include guards are never emitted (Doxygen drops them). Defaults to false. */\n includeUndocumentedMacros: z.boolean().nullish()\n});\n\nexport const StartLibraryDocsGenerationInputSchema = z.discriminatedUnion(\"language\", [\n z.object({\n orgId: z.string(),\n githubUrl: GithubUrlSchema,\n language: z.literal(\"PYTHON\"),\n config: PythonLibraryDocsConfigSchema.nullish()\n }),\n z.object({\n orgId: z.string(),\n githubUrl: GithubUrlSchema,\n language: z.literal(\"CPP\"),\n config: CppLibraryDocsConfigSchema.nullish()\n })\n]);\n\nexport const StartLibraryDocsGenerationResponseSchema = z.object({\n jobId: z.string()\n});\n\nexport const GetLibraryDocsStatusInputSchema = z.object({\n jobId: z.string()\n});\n\nexport const LibraryDocsResultSchema = z.object({\n jobId: z.string(),\n resultUrl: z.string()\n});\n\nexport const LibraryDocsGenerationStatusSchema = z.object({\n jobId: z.string(),\n status: z.string(),\n progress: z.string(),\n error: z\n .object({\n code: z.string(),\n message: z.string()\n })\n .optional(),\n createdAt: z.string(),\n updatedAt: z.string()\n});\n\nexport const libraryDocsContract = {\n startLibraryDocsGeneration: oc\n .route({ method: \"POST\", path: \"/library-docs/generate\" })\n .input(StartLibraryDocsGenerationInputSchema)\n .output(StartLibraryDocsGenerationResponseSchema),\n\n getLibraryDocsGenerationStatus: oc\n .route({ method: \"GET\", path: \"/library-docs/status/{jobId}\" })\n .input(GetLibraryDocsStatusInputSchema)\n .output(LibraryDocsGenerationStatusSchema),\n\n getLibraryDocsResult: oc\n .route({ method: \"GET\", path: \"/library-docs/result/{jobId}\" })\n .input(GetLibraryDocsStatusInputSchema)\n .output(LibraryDocsResultSchema)\n};\n","/**\n * Allowlist validation for caller-provided Doxyfile content.\n *\n * Doxyfile content is attacker-controlled and several Doxygen settings execute\n * arbitrary commands (INPUT_FILTER, FILTER_PATTERNS, ...) or read arbitrary files\n * (@INCLUDE, TAGFILES, ...). The content is therefore never written to disk or\n * handed to doxygen: it is parsed into settings, reduced to DOXYFILE_ALLOWED_KEYS\n * with per-setting value validation, and only the surviving values are\n * interpolated into a controlled Doxyfile template by the parser Lambda.\n *\n * This mirrors servers/fdr-cpp-library-docs-parser/src/doxyfile_parser.py, which\n * enforces the same allowlist inside the parser itself.\n */\n\nexport const MAX_DOXYFILE_CONTENT_LENGTH = 262_144;\n\n// Matches: KEY = value or KEY += value\nconst SETTING_LINE_RE = /^\\s*([A-Z][A-Z0-9_]*)\\s*(\\+?=)(.*)$/;\n\n// @INCLUDE / @INCLUDE_PATH directives pull in arbitrary files; always dropped.\nconst AT_DIRECTIVE_RE = /^\\s*@[A-Z_]+\\b/;\n\nconst BOOL_RE = /^(?:YES|NO)$/i;\n\n// Glob patterns only: no shell metacharacters, quotes, spaces, or path separators.\nconst FILE_PATTERN_RE = /^[A-Za-z0-9_.*?+-]+$/;\n\n// PREDEFINED entries: macro name, optional argument list, optional definition.\nconst PREDEFINED_RE = /^[A-Za-z_][A-Za-z0-9_]*(?:\\([A-Za-z0-9_,. ]*\\))?(?::?=.*)?$/;\n\n// Alias definition: name or name{N} followed by = and expansion.\nconst ALIAS_DEF_RE = /^\\w+(?:\\{\\d+\\})?=/;\n\ntype DoxyfileValueValidator = (value: string) => boolean;\n\n/** Allowlist of caller-configurable Doxyfile settings. Everything else is dropped. */\nexport const DOXYFILE_ALLOWED_KEYS: Record<string, DoxyfileValueValidator> = {\n ALIASES: (value) => ALIAS_DEF_RE.test(value),\n PREDEFINED: (value) => PREDEFINED_RE.test(value),\n FILE_PATTERNS: (value) => FILE_PATTERN_RE.test(value),\n OPTIMIZE_OUTPUT_FOR_C: (value) => BOOL_RE.test(value)\n};\n\nexport interface DoxyfileValidationResult {\n /** Validation errors for allowlisted settings with unsafe values. Empty when valid. */\n errors: string[];\n /** Non-allowlisted setting names that will be dropped by the parser. */\n droppedKeys: string[];\n}\n\n/** Join lines ending with a backslash continuation into logical lines. */\nfunction joinContinuations(text: string): string[] {\n const logical: string[] = [];\n let buffer = \"\";\n for (const rawLine of text.split(/\\r?\\n/)) {\n const line = rawLine.replace(/\\s+$/, \"\");\n if (line.endsWith(\"\\\\\") && !line.endsWith(\"\\\\\\\\\")) {\n buffer += `${line.slice(0, -1)} `;\n continue;\n }\n buffer += line;\n logical.push(buffer);\n buffer = \"\";\n }\n if (buffer) {\n logical.push(buffer);\n }\n return logical;\n}\n\n/** Split a setting value into tokens, honoring double quotes and \\\" escapes. */\nfunction tokenizeValue(value: string): string[] {\n const tokens: string[] = [];\n let i = 0;\n const n = value.length;\n while (i < n) {\n const ch = value[i];\n if (/\\s/.test(ch ?? \"\")) {\n i++;\n continue;\n }\n if (ch === '\"') {\n i++;\n let buf = \"\";\n while (i < n) {\n const c = value[i];\n if (c === \"\\\\\" && i + 1 < n && value[i + 1] === '\"') {\n buf += '\"';\n i += 2;\n continue;\n }\n if (c === '\"') {\n i++;\n break;\n }\n buf += c;\n i++;\n }\n tokens.push(buf);\n } else {\n let j = i;\n while (j < n && !/\\s/.test(value[j] ?? \"\")) {\n j++;\n }\n tokens.push(value.slice(i, j));\n i = j;\n }\n }\n return tokens;\n}\n\n/**\n * Validates caller-provided Doxyfile content against the allowlist.\n *\n * Unknown settings are reported as droppedKeys (not errors) — the parser drops\n * them. Allowlisted settings with values that fail validation are errors.\n */\nexport function validateDoxyfileContent(content: string): DoxyfileValidationResult {\n const errors: string[] = [];\n const droppedKeys: string[] = [];\n\n if (content.length > MAX_DOXYFILE_CONTENT_LENGTH) {\n errors.push(`doxyfileContent exceeds ${MAX_DOXYFILE_CONTENT_LENGTH} characters`);\n return { errors, droppedKeys };\n }\n\n for (const line of joinContinuations(content)) {\n const stripped = line.trim();\n if (!stripped || stripped.startsWith(\"#\")) {\n continue;\n }\n if (AT_DIRECTIVE_RE.test(stripped)) {\n const directive = stripped.split(/\\s+/)[0] ?? stripped;\n if (!droppedKeys.includes(directive)) {\n droppedKeys.push(directive);\n }\n continue;\n }\n const match = SETTING_LINE_RE.exec(line);\n if (match == null) {\n continue;\n }\n const key = match[1] ?? \"\";\n const rawValue = match[3] ?? \"\";\n const validator = DOXYFILE_ALLOWED_KEYS[key];\n if (validator == null) {\n if (!droppedKeys.includes(key)) {\n droppedKeys.push(key);\n }\n continue;\n }\n for (const token of tokenizeValue(rawValue)) {\n // A trailing backslash would escape the closing quote once re-rendered.\n // $( is doxygen's environment-variable expansion syntax; blocking it\n // keeps process env vars out of generated output.\n if (token.endsWith(\"\\\\\") || token.includes(\"$(\") || !validator(token)) {\n errors.push(`Invalid value for Doxyfile setting ${key}: ${JSON.stringify(token)}`);\n }\n }\n }\n\n return { errors, droppedKeys };\n}\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { organizationContract } from \"./contract.js\";\n\nexport type OrganizationClient = JsonifiedClient<ContractRouterClient<typeof organizationContract>>;\n\nexport interface CreateOrganizationClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createOrganizationClient(options: CreateOrganizationClientOptions): OrganizationClient {\n const link = new OpenAPILink(organizationContract, {\n url: `${options.baseUrl}/v2/registry/docs`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\n\nexport const GetOrganizationForUrlInputSchema = z.object({\n url: z.string()\n});\n\nexport const organizationContract = {\n getOrganizationForUrl: oc\n .route({ method: \"POST\", path: \"/organization-for-url\" })\n .input(GetOrganizationForUrlInputSchema)\n .output(z.string())\n};\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { docsV2ReadContract } from \"./contract.js\";\n\nexport type DocsV2ReadClient = JsonifiedClient<ContractRouterClient<typeof docsV2ReadContract>>;\n\nexport interface CreateDocsV2ReadClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createDocsV2ReadClient(options: CreateDocsV2ReadClientOptions): DocsV2ReadClient {\n const link = new OpenAPILink(docsV2ReadContract, {\n url: `${options.baseUrl}/v2/registry/docs`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\nimport {\n DocsConfigSchema as DocsReadConfigSchema,\n DocsDefinitionSchema as DocsReadDefinitionSchema,\n LoadDocsForUrlResponseSchema\n} from \"../../../../client/docs-types/read.js\";\n\nexport type {\n DocsConfig,\n DocsDefinition,\n LoadDocsForUrlResponse,\n NavigationConfig,\n NavigationItem\n} from \"../../../../client/docs-types/read.js\";\n// Re-export docs types that consumers depend on\nexport { DocsReadConfigSchema, DocsReadDefinitionSchema, LoadDocsForUrlResponseSchema };\n\nexport const GetDocsUrlMetadataInputSchema = z.object({\n url: z.string()\n});\n\nexport const GetDocsUrlMetadataResponseSchema = z.object({\n isPreviewUrl: z.boolean(),\n org: z.string(),\n url: z.string(),\n gitUrl: z.string().nullish(),\n enableAlgoliaOnPreview: z.boolean().nullish()\n});\n\nexport const GetDocsForUrlInputSchema = z.object({\n url: z.string(),\n excludeApis: z.boolean().nullish()\n});\n\nexport const GetPrivateDocsForUrlInputSchema = z.object({\n url: z.string()\n});\n\nexport const ListAllDocsUrlsInputSchema = z.object({\n limit: z.number().nullish(),\n page: z.number().nullish(),\n custom: z.boolean().nullish(),\n preview: z.boolean().nullish()\n});\n\nexport const GetDocsConfigByIdInputSchema = z.object({\n docsConfigId: z.string()\n});\n\nexport const GetSiteMetricsInputSchema = z.object({\n url: z.string()\n});\n\nexport const SiteMetricsSchema = z.object({\n orgId: z.string().optional(),\n domain: z.string(),\n basepath: z.string().optional(),\n storageType: z.enum([\"ledger\", \"legacy\"]),\n pages: z.number(),\n endpoints: z.number(),\n apiSpecs: z.number()\n});\nexport type SiteMetrics = z.infer<typeof SiteMetricsSchema>;\n\n// Backward-compatible types from generated code, used by downstream packages\nexport interface BaseUrl {\n domain: string;\n basePath: string | undefined;\n}\n\nexport const DocsDefinitionField = {\n BaseUrl: \"BASE_URL\",\n FilesV2: \"FILES_V2\",\n ApisV2: \"APIS_V2\",\n Apis: \"APIS\",\n Pages: \"PAGES\",\n JsFiles: \"JS_FILES\",\n Config: \"CONFIG\",\n Root: \"ROOT\"\n} as const;\nexport type DocsDefinitionField = (typeof DocsDefinitionField)[keyof typeof DocsDefinitionField];\n\nexport interface DocsDomainItem extends BaseUrl {\n organizationId: string;\n updatedAt: string;\n}\n\nexport interface DocsUrlMetadata {\n url: string;\n org: string;\n isPreviewUrl: boolean;\n gitUrl: string | undefined;\n enableAlgoliaOnPreview: boolean;\n}\n\nexport interface EnsureDocsInS3Response {\n s3Url: string;\n orgId: string;\n}\n\nexport interface GetDocsFieldsRequest {\n domain: string;\n basepath?: string;\n fields: DocsDefinitionField[];\n}\n\nexport interface GetDocsFieldsResponse {\n domain: string;\n baseUrl: BaseUrl | undefined;\n filesV2: Record<string, unknown> | undefined;\n apisV2: Record<string, unknown> | undefined;\n apis: Record<string, unknown> | undefined;\n pages: Record<string, unknown> | undefined;\n jsFiles: Record<string, string> | undefined;\n config: unknown | undefined;\n root: unknown | undefined;\n}\n\nexport interface GetDocsConfigByIdResponse {\n docsConfig: unknown;\n apis: Record<string, unknown>;\n}\n\nexport const GetDocsConfigByIdResponseSchema = z.object({\n docsConfig: DocsReadConfigSchema,\n apis: z.record(z.string(), z.unknown())\n});\n\nexport const DocsDomainItemSchema = z.object({\n domain: z.string(),\n basePath: z.string().optional(),\n organizationId: z.string(),\n updatedAt: z.string()\n});\n\nexport const ListAllDocsUrlsResponseSchema = z.object({\n urls: z.array(DocsDomainItemSchema)\n});\n\nexport interface ListAllDocsUrlsResponse {\n urls: DocsDomainItem[];\n}\n\nexport interface ListAllDocsUrlsRequest {\n page?: number;\n limit?: number;\n custom?: boolean;\n preview?: boolean;\n}\n\nexport interface EnsureDocsInS3Request {\n url: string;\n basepath?: string;\n}\n\n// Backward-compatible error type for getDocsForUrl\n// Previously generated by the Fern client, used by downstream packages\nexport namespace getDocsForUrl {\n export type Error = Error.DomainNotRegisteredError | Error.UnauthorizedError | Error._Unknown;\n\n export namespace Error {\n export interface DomainNotRegisteredError {\n error: \"DomainNotRegisteredError\";\n content?: unknown;\n }\n export interface UnauthorizedError {\n error: \"UnauthorizedError\";\n content: string;\n }\n export interface _Unknown {\n error: void;\n content: unknown;\n }\n\n export function _unknown(fetcherError: unknown): _Unknown {\n return { error: undefined as void, content: fetcherError };\n }\n }\n}\n\nexport const docsV2ReadContract = {\n getDocsUrlMetadata: oc\n .route({ method: \"POST\", path: \"/metadata-for-url\" })\n .input(GetDocsUrlMetadataInputSchema)\n .output(GetDocsUrlMetadataResponseSchema),\n\n getDocsForUrl: oc\n .route({ method: \"POST\", path: \"/load-with-url\" })\n .input(GetDocsForUrlInputSchema)\n .output(LoadDocsForUrlResponseSchema),\n\n getPrivateDocsForUrl: oc\n .route({ method: \"POST\", path: \"/private/load-with-url\" })\n .input(GetPrivateDocsForUrlInputSchema)\n .output(LoadDocsForUrlResponseSchema),\n\n listAllDocsUrls: oc\n .route({ method: \"GET\", path: \"/urls/list\" })\n .input(ListAllDocsUrlsInputSchema)\n .output(ListAllDocsUrlsResponseSchema),\n\n getDocsConfigById: oc\n .route({ method: \"GET\", path: \"/{docsConfigId}\" })\n .input(GetDocsConfigByIdInputSchema)\n .output(GetDocsConfigByIdResponseSchema),\n\n getSiteMetrics: oc\n .route({ method: \"POST\", path: \"/admin/site-metrics\" })\n .input(GetSiteMetricsInputSchema)\n .output(SiteMetricsSchema),\n\n prepopulateFdrReadS3Bucket: oc.route({ method: \"POST\", path: \"/prepopulate-s3-bucket\" }).output(z.void()),\n\n ensureDocsInS3: oc.route({ method: \"POST\", path: \"/ensure-docs-in-s3\" }).output(z.void()),\n\n getDocsFields: oc.route({ method: \"POST\", path: \"/load-fields\" }).output(z.void())\n};\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { docsV2WriteContract } from \"./contract.js\";\n\nexport type DocsV2WriteClient = JsonifiedClient<ContractRouterClient<typeof docsV2WriteContract>>;\n\nexport interface CreateDocsV2WriteClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createDocsV2WriteClient(options: CreateDocsV2WriteClientOptions): DocsV2WriteClient {\n const link = new OpenAPILink(docsV2WriteContract, {\n url: `${options.baseUrl}/v2/registry/docs`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\nimport { FileS3UploadUrlSchema } from \"../../../../client/docs-types/write.js\";\nimport type { DocsV1Write } from \"../../../../client/index.js\";\n\nexport type { FileS3UploadUrl } from \"../../../../client/docs-types/write.js\";\nexport { FileS3UploadUrlSchema };\n\n// Branded FilePath type matching DocsV1Write.FilePath\nexport type FilePath = string & { docs_v1_write_FilePath: void };\nexport const FilePathSchema: z.ZodType<FilePath> = z.string() as any;\nexport function FilePath(value: string): FilePath {\n return value as unknown as FilePath;\n}\n\nexport const FilePathInputSchema = z.union([\n FilePathSchema,\n z.object({ path: FilePathSchema, fileHash: z.string().nullish() })\n]);\nexport type FilePathInput = z.infer<typeof FilePathInputSchema>;\n\nexport const ImageFilePathSchema = z.object({\n filePath: FilePathSchema,\n width: z.number(),\n height: z.number(),\n blurDataUrl: z.string().nullish(),\n alt: z.string().nullish(),\n fileHash: z.string().nullish()\n});\nexport type ImageFilePath = z.infer<typeof ImageFilePathSchema>;\n\nexport const AuthConfigSchema = z.object({\n type: z.string()\n});\n\nexport const StartDocsRegisterV2InputSchema = z.object({\n orgId: z.string(),\n domain: z.string(),\n customDomains: z.array(z.string()),\n filepaths: z.array(FilePathInputSchema),\n images: z.array(ImageFilePathSchema).nullish(),\n authConfig: AuthConfigSchema.nullish()\n});\n\nexport const StartDocsRegisterV2ResponseSchema = z.object({\n docsRegistrationId: z.string(),\n uploadUrls: z.record(z.string(), FileS3UploadUrlSchema),\n skippedFiles: z.array(z.string())\n});\n\nexport const StartDocsPreviewRegisterInputSchema = z.object({\n orgId: z.string(),\n filepaths: z.array(FilePathInputSchema),\n basePath: z.string().nullish(),\n images: z.array(ImageFilePathSchema).nullish(),\n authConfig: AuthConfigSchema.nullish(),\n previewId: z.string().nullish()\n});\n\nexport const StartDocsPreviewRegisterResponseSchema = z.object({\n docsRegistrationId: z.string(),\n uploadUrls: z.record(z.string(), FileS3UploadUrlSchema),\n skippedFiles: z.array(z.string()),\n previewUrl: z.string()\n});\n\nexport const FinishDocsRegisterV2InputSchema = z.object({\n docsRegistrationId: z.string(),\n docsDefinition: z.unknown() as z.ZodType<DocsV1Write.DocsDefinition>,\n libraryDocs: z.unknown().nullish(),\n excludeApis: z.boolean().nullish(),\n basepathAware: z.boolean().nullish()\n});\n\nexport const TransferOwnershipInputSchema = z.object({\n domain: z.string(),\n toOrgId: z.string()\n});\n\nexport const SetIsArchivedInputSchema = z.object({\n url: z.string(),\n isArchived: z.boolean()\n});\n\nexport const SetDocsUrlMetadataInputSchema = z.object({\n url: z.string(),\n githubUrl: z.string().nullish()\n});\n\nexport const AlgoliaDomainInputSchema = z.object({\n domain: z.string()\n});\n\nexport const ListAlgoliaPreviewWhitelistResponseSchema = z.object({\n domains: z.array(z.string())\n});\n\nexport const DeleteDocsSiteInputSchema = z.object({\n url: z.string()\n});\n\nexport const RemoveCustomDomainAliasInputSchema = z.object({\n /** The custom-domain URL to remove (e.g. `docs.example.com` or `docs.example.com/api`). */\n url: z.string()\n});\n\n/**\n * BCP 47 language tag validator.\n * Accepts tags like \"en\", \"fr\", \"pt-BR\", \"zh-Hans\", \"zh-Hans-CN\".\n * See: https://www.rfc-editor.org/rfc/rfc5646\n */\nexport const Bcp47LocaleSchema = z\n .string()\n .regex(\n /^[a-zA-Z]{2,8}(-[a-zA-Z0-9]{1,8})*$/,\n \"Locale must be a valid BCP 47 language tag (e.g. 'en', 'fr', 'pt-BR', 'zh-Hans-CN')\"\n );\nexport type Bcp47Locale = z.infer<typeof Bcp47LocaleSchema>;\n\nexport const RegisterTranslationInputSchema = z.object({\n domain: z.string(),\n /**\n * Custom domains that share the docs registration with `domain`. The translation\n * blob is written to S3 once per URL (fern URL + each custom domain), mirroring\n * the fan-out shape of `finishDocsRegister`. Without this, requests to a custom\n * domain hit the translation S3 path under the fern URL prefix and 404.\n */\n customDomains: z.array(z.string()).optional().default([]),\n orgId: z.string(),\n /** BCP 47 language tag identifying the locale for this translation. */\n locale: Bcp47LocaleSchema,\n /** The full docs definition for this locale, same structure as finishDocsRegister. */\n docsDefinition: z.unknown() as z.ZodType<DocsV1Write.DocsDefinition>\n});\n\nexport const RegisterTranslationResponseSchema = z.object({\n locale: z.string()\n});\n\nexport const docsV2WriteContract = {\n startDocsRegister: oc\n .route({ method: \"POST\", path: \"/v2/init\" })\n .input(StartDocsRegisterV2InputSchema)\n .output(StartDocsRegisterV2ResponseSchema),\n\n startDocsPreviewRegister: oc\n .route({ method: \"POST\", path: \"/preview/init\" })\n .input(StartDocsPreviewRegisterInputSchema)\n .output(StartDocsPreviewRegisterResponseSchema),\n\n finishDocsRegister: oc\n .route({ method: \"POST\", path: \"/register/{docsRegistrationId}\" })\n .input(FinishDocsRegisterV2InputSchema)\n .output(z.void()),\n\n transferOwnershipOfDomain: oc\n .route({ method: \"POST\", path: \"/transfer-ownership\" })\n .input(TransferOwnershipInputSchema)\n .output(z.void()),\n\n setIsArchived: oc\n .route({ method: \"POST\", path: \"/set-is-archived\" })\n .input(SetIsArchivedInputSchema)\n .output(z.void()),\n\n setDocsUrlMetadata: oc\n .route({ method: \"POST\", path: \"/set-metadata-for-url\" })\n .input(SetDocsUrlMetadataInputSchema)\n .output(z.void()),\n\n addAlgoliaPreviewWhitelistEntry: oc\n .route({ method: \"POST\", path: \"/algolia-preview-whitelist/add\" })\n .input(AlgoliaDomainInputSchema)\n .output(z.void()),\n\n removeAlgoliaPreviewWhitelistEntry: oc\n .route({ method: \"POST\", path: \"/algolia-preview-whitelist/remove\" })\n .input(AlgoliaDomainInputSchema)\n .output(z.void()),\n\n listAlgoliaPreviewWhitelist: oc\n .route({ method: \"GET\", path: \"/algolia-preview-whitelist/list\" })\n .output(ListAlgoliaPreviewWhitelistResponseSchema),\n\n deleteDocsSite: oc.route({ method: \"POST\", path: \"/delete\" }).input(DeleteDocsSiteInputSchema).output(z.void()),\n\n /**\n * Removes a single custom-domain alias from a docs site, leaving the\n * Fern-URL sibling intact. Use this when un-binding a custom domain\n * (e.g. from the dashboard's \"Remove custom domain\" flow) — `deleteDocsSite`\n * would also nuke the Fern URL.\n *\n * Idempotent: succeeds with no-op if the URL is not registered.\n */\n removeCustomDomainAlias: oc\n .route({ method: \"POST\", path: \"/remove-custom-domain-alias\" })\n .input(RemoveCustomDomainAliasInputSchema)\n .output(z.void()),\n\n registerTranslation: oc\n .route({ method: \"POST\", path: \"/translations/register\" })\n .input(RegisterTranslationInputSchema)\n .output(RegisterTranslationResponseSchema)\n};\n","import * as z from \"zod\";\nimport type { RootNode } from \"../../navigation/types/v1.js\";\nimport type {\n EndpointId as EndpointId_,\n PageId,\n SubpackageId,\n WebhookId as WebhookId_,\n WebSocketId as WebSocketId_\n} from \"./write-commons\";\nimport {\n AgentsConfigSchema,\n AIChatConfigSchema,\n AnalyticsConfigSchema,\n ApiDefinitionIdSchema,\n AvailabilitySchema,\n ColorsConfigSchema,\n ColorsConfigV2Schema,\n CssConfigSchema,\n DocsLayoutConfigSchema,\n DocsSettingsConfigSchema,\n DocsThemeConfigSchema,\n DocsTranslationsConfigSchema,\n DocsTypographyConfigSchema,\n DocsTypographyConfigV2Schema,\n EditThisPageLaunchSchema,\n EndpointIdSchema,\n FileIdSchema,\n FooterLinkSchema,\n IframeConfigSchema,\n IntegrationsConfigSchema,\n JsConfigSchema,\n LanguageSchema,\n LinkTargetSchema,\n MetadataConfigSchema,\n NavbarLinkSchema,\n PageActionsConfigSchema,\n PageIdSchema,\n ProgrammingLanguageSchema,\n RedirectConfigSchema,\n RgbaColorSchema,\n SubpackageIdSchema,\n ThemedFileIdSchema,\n UrlSchema,\n VersionIdSchema,\n WebhookIdSchema,\n WebSocketIdSchema\n} from \"./write-commons\";\n\nexport type FilePath = string & { docs_v1_write_FilePath: void };\nexport const FilePathSchema: z.ZodType<FilePath> = z.string() as any;\nexport function FilePath(value: string): FilePath {\n return value as unknown as FilePath;\n}\n\nexport type DocsRegistrationId = string & { docs_v1_write_DocsRegistrationId: void };\nexport const DocsRegistrationIdSchema: z.ZodType<DocsRegistrationId> = z.string() as any;\nexport function DocsRegistrationId(value: string): DocsRegistrationId {\n return value as unknown as DocsRegistrationId;\n}\n\nexport const HeightSchema = z.number();\nexport type Height = z.infer<typeof HeightSchema>;\n\nexport const FileS3UploadUrlSchema = z.object({\n uploadUrl: z.string(),\n fileId: FileIdSchema\n});\nexport type FileS3UploadUrl = z.infer<typeof FileS3UploadUrlSchema>;\n\nexport const StartDocsRegisterResponseSchema = z.object({\n docsRegistrationId: DocsRegistrationIdSchema,\n uploadUrls: z.record(FilePathSchema, FileS3UploadUrlSchema),\n skippedFiles: z.array(FilePathSchema)\n});\nexport type StartDocsRegisterResponse = z.infer<typeof StartDocsRegisterResponseSchema>;\n\nexport const PageContentSchema = z.object({\n markdown: z.string(),\n editThisPageUrl: UrlSchema.optional(),\n editThisPageLaunch: EditThisPageLaunchSchema.optional(),\n rawMarkdown: z.string().optional()\n});\nexport type PageContent = z.infer<typeof PageContentSchema>;\n\nexport const NavigationNodeMetadataSchema = z.object({\n icon: z.string().optional(),\n hidden: z.boolean().optional(),\n urlSlugOverride: z.string().optional(),\n fullSlug: z.array(z.string()).optional()\n});\nexport type NavigationNodeMetadata = z.infer<typeof NavigationNodeMetadataSchema>;\n\nexport const PageMetadataSchema = z.object({\n ...NavigationNodeMetadataSchema.shape,\n id: PageIdSchema,\n title: z.string()\n});\nexport type PageMetadata = z.infer<typeof PageMetadataSchema>;\n\nexport const LinkMetadataSchema = z.object({\n title: z.string(),\n icon: z.string().optional(),\n url: UrlSchema,\n target: LinkTargetSchema.optional()\n});\nexport type LinkMetadata = z.infer<typeof LinkMetadataSchema>;\n\nexport const ChangelogItemSchema = z.object({\n date: z.string(),\n pageId: PageIdSchema,\n hidden: z.boolean().optional(),\n tags: z.array(z.string()).optional()\n});\nexport type ChangelogItem = z.infer<typeof ChangelogItemSchema>;\n\nexport const ChangelogSectionSchema = z.object({\n title: z.string().optional(),\n icon: z.string().optional(),\n hidden: z.boolean().optional(),\n description: z.string().optional(),\n pageId: PageIdSchema.optional(),\n items: z.array(ChangelogItemSchema),\n urlSlug: z.string(),\n fullSlug: z.array(z.string()).optional()\n});\nexport type ChangelogSection = z.infer<typeof ChangelogSectionSchema>;\n\nexport const ChangelogSectionV2Schema = z.object({\n ...NavigationNodeMetadataSchema.shape,\n title: z.string().optional(),\n description: z.string().optional(),\n pageId: PageIdSchema.optional(),\n items: z.array(ChangelogItemSchema)\n});\nexport type ChangelogSectionV2 = z.infer<typeof ChangelogSectionV2Schema>;\n\nexport const ChangelogSectionV3Schema = z.object({\n node: z.unknown()\n});\nexport type ChangelogSectionV3 = z.infer<typeof ChangelogSectionV3Schema>;\n\nexport const NavigationTabLinkSchema = z.object({\n title: z.string(),\n icon: z.string().optional(),\n url: UrlSchema,\n target: LinkTargetSchema.optional()\n});\nexport type NavigationTabLink = z.infer<typeof NavigationTabLinkSchema>;\n\nexport type ApiNavigationConfigItem =\n | ApiNavigationConfigItem.Subpackage\n | ApiNavigationConfigItem.EndpointId\n | ApiNavigationConfigItem.WebsocketId\n | ApiNavigationConfigItem.WebhookId\n | ApiNavigationConfigItem.Page;\n\nexport namespace ApiNavigationConfigItem {\n export interface Subpackage {\n type: \"subpackage\";\n summaryPageId?: PageId | null;\n subpackageId: SubpackageId;\n items: ApiNavigationConfigItem[];\n }\n export interface EndpointId {\n type: \"endpointId\";\n value: EndpointId_;\n }\n export interface WebsocketId {\n type: \"websocketId\";\n value: WebSocketId_;\n }\n export interface WebhookId {\n type: \"webhookId\";\n value: WebhookId_;\n }\n export interface Page extends PageMetadata {\n type: \"page\";\n }\n}\n\nexport const ApiNavigationConfigItemSchema: z.ZodType<ApiNavigationConfigItem> = z.lazy(() =>\n z.discriminatedUnion(\"type\", [\n z.object({\n type: z.literal(\"subpackage\"),\n summaryPageId: PageIdSchema.optional(),\n subpackageId: SubpackageIdSchema,\n items: z.array(ApiNavigationConfigItemSchema)\n }),\n z.object({ type: z.literal(\"endpointId\"), value: EndpointIdSchema }),\n z.object({ type: z.literal(\"websocketId\"), value: WebSocketIdSchema }),\n z.object({ type: z.literal(\"webhookId\"), value: WebhookIdSchema }),\n z.object({ type: z.literal(\"page\"), ...PageMetadataSchema.shape })\n ])\n);\n\nexport const ApiNavigationConfigSubpackageSchema = z.object({\n summaryPageId: PageIdSchema.optional(),\n subpackageId: SubpackageIdSchema,\n items: z.array(ApiNavigationConfigItemSchema)\n});\nexport type ApiNavigationConfigSubpackage = z.infer<typeof ApiNavigationConfigSubpackageSchema>;\n\nexport const ApiNavigationConfigRootSchema = z.object({\n summaryPageId: PageIdSchema.optional(),\n items: z.array(ApiNavigationConfigItemSchema)\n});\nexport type ApiNavigationConfigRoot = z.infer<typeof ApiNavigationConfigRootSchema>;\n\nexport const ApiSectionSchema = z.object({\n ...NavigationNodeMetadataSchema.shape,\n title: z.string(),\n api: ApiDefinitionIdSchema,\n artifacts: z\n .object({\n sdks: z.array(\n z.discriminatedUnion(\"type\", [\n z.object({\n type: z.literal(\"npm\"),\n packageName: z.string(),\n githubRepoName: z.string(),\n version: z.string()\n }),\n z.object({\n type: z.literal(\"maven\"),\n coordinate: z.string(),\n githubRepoName: z.string(),\n version: z.string()\n }),\n z.object({\n type: z.literal(\"pypi\"),\n packageName: z.string(),\n githubRepoName: z.string(),\n version: z.string()\n })\n ])\n ),\n postman: z\n .object({\n url: UrlSchema,\n githubRepoName: z.string().optional()\n })\n .optional()\n })\n .optional(),\n skipUrlSlug: z.boolean().optional(),\n showErrors: z.boolean().optional(),\n changelog: ChangelogSectionSchema.optional(),\n changelogV2: ChangelogSectionV2Schema.optional(),\n navigation: ApiNavigationConfigRootSchema.optional(),\n longScrolling: z.boolean().optional(),\n flattened: z.boolean().optional()\n});\nexport type ApiSection = z.infer<typeof ApiSectionSchema>;\n\nexport const ApiSectionV2Schema = z.object({\n node: z.unknown()\n});\nexport type ApiSectionV2 = z.infer<typeof ApiSectionV2Schema>;\n\nexport type NavigationItem =\n | NavigationItem.Page\n | NavigationItem.Api\n | NavigationItem.ApiV2\n | NavigationItem.Section\n | NavigationItem.Link\n | NavigationItem.Changelog\n | NavigationItem.ChangelogV3;\n\nexport namespace NavigationItem {\n export interface Page extends PageMetadata {\n type: \"page\";\n }\n export interface Api extends ApiSection {\n type: \"api\";\n }\n export interface ApiV2 extends ApiSectionV2 {\n type: \"apiV2\";\n }\n export interface Section extends DocsSection {\n type: \"section\";\n }\n export interface Link extends LinkMetadata {\n type: \"link\";\n }\n export interface Changelog extends ChangelogSectionV2 {\n type: \"changelog\";\n }\n export interface ChangelogV3 extends ChangelogSectionV3 {\n type: \"changelogV3\";\n }\n}\n\nexport type DocsSection = NavigationNodeMetadata & {\n title: string;\n items: NavigationItem[];\n /** @deprecated Use `collapsible` and `collapsedByDefault` instead. */\n collapsed?: boolean | \"open-by-default\";\n collapsible?: boolean;\n collapsedByDefault?: boolean;\n skipUrlSlug?: boolean;\n overviewPageId?: PageId;\n};\n\nexport const DocsSectionSchema: z.ZodType<DocsSection> = z.lazy(() =>\n z.object({\n ...NavigationNodeMetadataSchema.shape,\n title: z.string(),\n items: z.array(NavigationItemSchema),\n collapsed: z.union([z.boolean(), z.literal(\"open-by-default\")]).optional(),\n collapsible: z.boolean().optional(),\n collapsedByDefault: z.boolean().optional(),\n skipUrlSlug: z.boolean().optional(),\n overviewPageId: PageIdSchema.optional()\n })\n);\n\nexport const NavigationItemSchema: z.ZodType<NavigationItem> = z.lazy(() =>\n z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"page\"), ...PageMetadataSchema.shape }),\n z.object({ type: z.literal(\"api\"), ...ApiSectionSchema.shape }),\n z.object({ type: z.literal(\"apiV2\"), ...ApiSectionV2Schema.shape }),\n z.object({\n type: z.literal(\"section\"),\n ...NavigationNodeMetadataSchema.shape,\n title: z.string(),\n items: z.array(NavigationItemSchema),\n collapsed: z.union([z.boolean(), z.literal(\"open-by-default\")]).optional(),\n collapsible: z.boolean().optional(),\n collapsedByDefault: z.boolean().optional(),\n skipUrlSlug: z.boolean().optional(),\n overviewPageId: PageIdSchema.optional()\n }),\n z.object({ type: z.literal(\"link\"), ...LinkMetadataSchema.shape }),\n z.object({ type: z.literal(\"changelog\"), ...ChangelogSectionV2Schema.shape }),\n z.object({ type: z.literal(\"changelogV3\"), ...ChangelogSectionV3Schema.shape })\n ])\n);\n\nexport const NavigationTabGroupSchema = z.object({\n ...NavigationNodeMetadataSchema.shape,\n title: z.string(),\n items: z.array(NavigationItemSchema),\n skipUrlSlug: z.boolean().optional()\n});\nexport type NavigationTabGroup = z.infer<typeof NavigationTabGroupSchema>;\n\nexport const NavigationTabSchema = z.union([NavigationTabGroupSchema, NavigationTabLinkSchema]);\nexport type NavigationTab = z.infer<typeof NavigationTabSchema>;\n\nexport const NavigationTabV2Schema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"group\"), ...NavigationTabGroupSchema.shape }),\n z.object({ type: z.literal(\"link\"), ...NavigationTabLinkSchema.shape }),\n z.object({ type: z.literal(\"changelog\"), ...ChangelogSectionV2Schema.shape }),\n z.object({ type: z.literal(\"changelogV3\"), ...ChangelogSectionV3Schema.shape })\n]);\nexport type NavigationTabV2 = z.infer<typeof NavigationTabV2Schema>;\n\nexport const UnversionedTabbedNavigationConfigSchema = z.object({\n tabs: z.array(NavigationTabSchema).optional(),\n tabsV2: z.array(NavigationTabV2Schema).optional(),\n landingPage: PageMetadataSchema.optional()\n});\nexport type UnversionedTabbedNavigationConfig = z.infer<typeof UnversionedTabbedNavigationConfigSchema>;\n\nexport const UnversionedUntabbedNavigationConfigSchema = z.object({\n items: z.array(NavigationItemSchema),\n landingPage: PageMetadataSchema.optional()\n});\nexport type UnversionedUntabbedNavigationConfig = z.infer<typeof UnversionedUntabbedNavigationConfigSchema>;\n\nexport const UnversionedNavigationConfigSchema = z.union([\n UnversionedTabbedNavigationConfigSchema,\n UnversionedUntabbedNavigationConfigSchema\n]);\nexport type UnversionedNavigationConfig = z.infer<typeof UnversionedNavigationConfigSchema>;\n\nexport const VersionedNavigationConfigDataSchema = z.object({\n version: VersionIdSchema,\n urlSlugOverride: z.string().optional(),\n availability: AvailabilitySchema.optional(),\n config: UnversionedNavigationConfigSchema\n});\nexport type VersionedNavigationConfigData = z.infer<typeof VersionedNavigationConfigDataSchema>;\n\nexport const VersionedNavigationConfigSchema = z.object({\n versions: z.array(VersionedNavigationConfigDataSchema)\n});\nexport type VersionedNavigationConfig = z.infer<typeof VersionedNavigationConfigSchema>;\n\nexport const NavigationConfigSchema = z.union([UnversionedNavigationConfigSchema, VersionedNavigationConfigSchema]);\nexport type NavigationConfig = z.infer<typeof NavigationConfigSchema>;\n\nexport const ThemeConfigSchema = z.object({\n logo: FileIdSchema.optional(),\n backgroundImage: FileIdSchema.optional(),\n accentPrimary: RgbaColorSchema,\n background: RgbaColorSchema.optional(),\n border: RgbaColorSchema.optional(),\n sidebarBackground: RgbaColorSchema.optional(),\n headerBackground: RgbaColorSchema.optional(),\n cardBackground: RgbaColorSchema.optional(),\n accent1: RgbaColorSchema.optional(),\n accent2: RgbaColorSchema.optional(),\n accent3: RgbaColorSchema.optional(),\n accent4: RgbaColorSchema.optional(),\n accent5: RgbaColorSchema.optional(),\n accent6: RgbaColorSchema.optional(),\n accent7: RgbaColorSchema.optional(),\n accent8: RgbaColorSchema.optional(),\n accent9: RgbaColorSchema.optional(),\n accent10: RgbaColorSchema.optional(),\n accent11: RgbaColorSchema.optional(),\n accent12: RgbaColorSchema.optional()\n});\nexport type ThemeConfig = z.infer<typeof ThemeConfigSchema>;\n\nexport const DarkAndLightModeConfigSchema = z.object({\n dark: ThemeConfigSchema,\n light: ThemeConfigSchema\n});\nexport type DarkAndLightModeConfig = z.infer<typeof DarkAndLightModeConfigSchema>;\n\nexport const ColorsConfigV3Schema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"dark\"), ...ThemeConfigSchema.shape }),\n z.object({ type: z.literal(\"light\"), ...ThemeConfigSchema.shape }),\n z.object({ type: z.literal(\"darkAndLight\"), ...DarkAndLightModeConfigSchema.shape })\n]);\nexport type ColorsConfigV3 = z.infer<typeof ColorsConfigV3Schema>;\n\nexport const DocsConfigSchema = z.object({\n title: z.string().optional(),\n defaultLanguage: ProgrammingLanguageSchema.optional(),\n languages: z.array(LanguageSchema).optional(),\n translations: DocsTranslationsConfigSchema.optional(),\n announcement: z.object({ text: z.string() }).optional(),\n navigation: NavigationConfigSchema.optional(),\n root: z.custom<RootNode>().optional(),\n navbarLinks: z.array(NavbarLinkSchema).optional(),\n footerLinks: z.array(FooterLinkSchema).optional(),\n hideNavLinks: z.boolean().optional(),\n logoHeight: HeightSchema.optional(),\n logoHref: UrlSchema.optional(),\n logoRightText: z.string().optional(),\n favicon: FileIdSchema.optional(),\n agents: AgentsConfigSchema.optional(),\n metadata: MetadataConfigSchema.optional(),\n redirects: z.array(RedirectConfigSchema).optional(),\n colorsV3: ColorsConfigV3Schema.optional(),\n layout: DocsLayoutConfigSchema.optional(),\n theme: DocsThemeConfigSchema.optional(),\n globalTheme: z.string().optional(),\n settings: DocsSettingsConfigSchema.optional(),\n typographyV2: DocsTypographyConfigV2Schema.optional(),\n analyticsConfig: AnalyticsConfigSchema.optional(),\n integrations: IntegrationsConfigSchema.optional(),\n css: CssConfigSchema.optional(),\n js: JsConfigSchema.optional(),\n aiChatConfig: AIChatConfigSchema.optional(),\n pageActions: PageActionsConfigSchema.optional(),\n editThisPageLaunch: EditThisPageLaunchSchema.optional(),\n iframe: IframeConfigSchema.optional(),\n header: z.string().optional(),\n footer: z.string().optional(),\n backgroundImage: FileIdSchema.optional(),\n logoV2: ThemedFileIdSchema.optional(),\n logo: FileIdSchema.optional(),\n colors: ColorsConfigSchema.optional(),\n colorsV2: ColorsConfigV2Schema.optional(),\n typography: DocsTypographyConfigSchema.optional()\n});\nexport type DocsConfig = z.infer<typeof DocsConfigSchema>;\n\nexport const DocsDefinitionSchema = z.object({\n pages: z.record(PageIdSchema, PageContentSchema),\n config: DocsConfigSchema,\n jsFiles: z.record(z.string(), z.string()).optional()\n});\nexport type DocsDefinition = z.infer<typeof DocsDefinitionSchema>;\n\nexport const NpmPackageSchema = z.object({\n packageName: z.string(),\n githubRepoName: z.string(),\n version: z.string()\n});\nexport type NpmPackage = z.infer<typeof NpmPackageSchema>;\n\nexport const MavenPackageSchema = z.object({\n coordinate: z.string(),\n githubRepoName: z.string(),\n version: z.string()\n});\nexport type MavenPackage = z.infer<typeof MavenPackageSchema>;\n\nexport const PypiPackageSchema = z.object({\n packageName: z.string(),\n githubRepoName: z.string(),\n version: z.string()\n});\nexport type PypiPackage = z.infer<typeof PypiPackageSchema>;\n\nexport const PublishedSdkSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"npm\"), ...NpmPackageSchema.shape }),\n z.object({ type: z.literal(\"maven\"), ...MavenPackageSchema.shape }),\n z.object({ type: z.literal(\"pypi\"), ...PypiPackageSchema.shape })\n]);\nexport type PublishedSdk = z.infer<typeof PublishedSdkSchema>;\n\nexport const PublishedPostmanCollectionSchema = z.object({\n url: UrlSchema,\n githubRepoName: z.string().optional()\n});\nexport type PublishedPostmanCollection = z.infer<typeof PublishedPostmanCollectionSchema>;\n\nexport const ApiArtifactsSchema = z.object({\n sdks: z.array(PublishedSdkSchema),\n postman: PublishedPostmanCollectionSchema.optional()\n});\nexport type ApiArtifacts = z.infer<typeof ApiArtifactsSchema>;\n\nexport const InvalidCustomDomainErrorBodySchema = z.object({\n overlappingDomains: z.array(z.array(z.string()))\n});\nexport type InvalidCustomDomainErrorBody = z.infer<typeof InvalidCustomDomainErrorBodySchema>;\n\nexport const OverlappingCustomDomainsSchema = z.array(z.string());\nexport type OverlappingCustomDomains = z.infer<typeof OverlappingCustomDomainsSchema>;\n\nexport * from \"./write-commons\";\n","import * as z from \"zod\";\n\nexport type OrgId = string & { OrgId: void };\nexport const OrgIdSchema: z.ZodType<OrgId> = z.string() as any;\nexport function OrgId(value: string): OrgId {\n return value as unknown as OrgId;\n}\n\nexport type {\n AIChatConfig,\n AIChatDatasource,\n AIChatLocation,\n AIChatWebsiteDatasource,\n AIModel,\n AmplitudeConfig,\n AnalyticsConfig,\n AnnouncementConfig,\n Availability,\n ClearBitConfig,\n ColorConfig,\n ColorsConfig,\n ColorsConfigV2,\n ColorThemedConfig,\n ColorUnthemedConfig,\n ContentAlignment,\n CssConfig,\n CustomFontConfig,\n CustomFontConfigVariant,\n CustomPageAction,\n DocsBodyConfig,\n DocsLayoutConfig,\n DocsPageActionsConfig,\n DocsSettingsConfig,\n DocsSidebarConfig,\n DocsTabsConfig,\n DocsTabsObjectConfig,\n DocsTabsStyle,\n DocsThemeConfig,\n DocsTranslationsConfig,\n DocsTypographyConfig,\n DocsTypographyConfigV2,\n EditThisPageLaunch,\n FathomConfig,\n FileIdOrUrl,\n FontConfig,\n FontConfigV2,\n FontDisplay,\n FontStyle,\n FooterLink,\n FooterNavConfig,\n FullStoryAnalyticsConfig,\n GoogleAnalytics4Config,\n GTMConfig,\n HeaderPosition,\n HeapConfig,\n HotJarConfig,\n HttpSnippetLanguage,\n HttpSnippetsConfig,\n IntegrationsConfig,\n IntercomConfig,\n JsConfig,\n JsFileConfig,\n JsRemoteConfig,\n JsScriptStrategy,\n KoalaConfig,\n Language,\n LanguageSwitcherConfig,\n LinkTarget,\n LogRocketConfig,\n MetadataConfig,\n MixpanelConfig,\n NavbarGithubMetadata,\n NavbarLink,\n NavbarLinkDropdownMetadata,\n NavbarLinkMetadata,\n PageActionOption,\n PageActionOptions,\n PageActionsConfig,\n PageWidthSizeConfig,\n PirschConfig,\n PlausibleConfig,\n PostHogConfig,\n ProductSwitcherConfig,\n ProgrammingLanguage,\n RedirectConfig,\n RgbaColor,\n SearchbarPlacement,\n SegmentConfig,\n SiteSwitcherConfig,\n SizeConfig,\n SwitcherPlacement,\n TabsPlacement,\n ThemedFileId,\n TwitterCardSetting,\n WithPermissions\n} from \"./shared\";\nexport {\n AgentsConfigSchema,\n AIChatConfigSchema,\n AIChatDatasourceSchema,\n AIChatLocationSchema,\n AIChatWebsiteDatasourceSchema,\n AIModelSchema,\n AmplitudeConfigSchema,\n AnalyticsConfigSchema,\n AnnouncementConfigSchema,\n ApiDefinitionId,\n ApiDefinitionIdSchema,\n AvailabilitySchema,\n ClearBitConfigSchema,\n ColorConfigSchema,\n ColorsConfigSchema,\n ColorsConfigV2Schema,\n ColorThemedConfigSchema,\n ColorUnthemedConfigSchema,\n ContentAlignmentSchema,\n CssConfigSchema,\n CustomFontConfigSchema,\n CustomFontConfigVariantSchema,\n CustomPageActionSchema,\n DocsBodyConfigSchema,\n DocsLayoutConfigSchema,\n DocsPageActionsConfigSchema,\n DocsSettingsConfigSchema,\n DocsSidebarConfigSchema,\n DocsTabsConfigSchema,\n DocsTabsObjectConfigSchema,\n DocsTabsStyleSchema,\n DocsThemeConfigSchema,\n DocsTranslationsConfigSchema,\n DocsTypographyConfigSchema,\n DocsTypographyConfigV2Schema,\n EditThisPageLaunchSchema,\n EndpointId,\n EndpointIdSchema,\n FathomConfigSchema,\n FileId,\n FileIdOrUrlSchema,\n FileIdSchema,\n FontConfigSchema,\n FontConfigV2Schema,\n FontDisplaySchema,\n FontStyleSchema,\n FooterLinkSchema,\n FooterNavConfigSchema,\n FRAME_ANCESTOR_SOURCE_PATTERN,\n FullStoryAnalyticsConfigSchema,\n GoogleAnalytics4ConfigSchema,\n GTMConfigSchema,\n HeaderPositionSchema,\n HeapConfigSchema,\n HotJarConfigSchema,\n HttpSnippetLanguageSchema,\n HttpSnippetsConfigSchema,\n IframeConfigSchema,\n IntegrationsConfigSchema,\n IntercomConfigSchema,\n isFrameAncestorSource,\n JsConfigSchema,\n JsFileConfigSchema,\n JsRemoteConfigSchema,\n JsScriptStrategySchema,\n KoalaConfigSchema,\n LanguageSchema,\n LanguageSwitcherConfigSchema,\n LinkTargetSchema,\n LogRocketConfigSchema,\n MetadataConfigSchema,\n MixpanelConfigSchema,\n NavbarGithubMetadataSchema,\n NavbarLinkDropdownMetadataSchema,\n NavbarLinkMetadataSchema,\n NavbarLinkSchema,\n PageActionOptionSchema,\n PageActionOptionsSchema,\n PageActionsConfigSchema,\n PageId,\n PageIdSchema,\n PageWidthSizeConfigSchema,\n PirschConfigSchema,\n PlausibleConfigSchema,\n PostHogConfigSchema,\n ProductSwitcherConfigSchema,\n ProgrammingLanguageSchema,\n RedirectConfigSchema,\n RgbaColorSchema,\n RoleId,\n RoleIdSchema,\n SearchbarPlacementSchema,\n SegmentConfigSchema,\n SiteSwitcherConfigSchema,\n SizeConfigSchema,\n SubpackageId,\n SubpackageIdSchema,\n SwitcherPlacementSchema,\n sanitizeFrameAncestors,\n TabsPlacementSchema,\n ThemedFileIdSchema,\n TwitterCardSettingSchema,\n Url,\n UrlSchema,\n VersionId,\n VersionIdSchema,\n WebhookId,\n WebhookIdSchema,\n WebSocketId,\n WebSocketIdSchema,\n WithPermissionsSchema\n} from \"./shared\";\n","import { createDocsV1ReadClient, type DocsV1ReadClient } from \"./v1/read/client.js\";\nimport { createLibraryDocsClient, type LibraryDocsClient } from \"./v2/library-docs/client.js\";\nimport { createOrganizationClient, type OrganizationClient } from \"./v2/organization/client.js\";\nimport { createDocsV2ReadClient, type DocsV2ReadClient } from \"./v2/read/client.js\";\nimport { createDocsV2WriteClient, type DocsV2WriteClient } from \"./v2/write/client.js\";\n\nexport interface DocsClient {\n v1: {\n read: DocsV1ReadClient;\n };\n v2: {\n read: DocsV2ReadClient;\n write: DocsV2WriteClient;\n libraryDocs: LibraryDocsClient;\n organization: OrganizationClient;\n };\n}\n\nexport interface CreateDocsClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createDocsClient(options: CreateDocsClientOptions): DocsClient {\n return {\n v1: {\n read: createDocsV1ReadClient(options)\n },\n v2: {\n read: createDocsV2ReadClient(options),\n write: createDocsV2WriteClient(options),\n libraryDocs: createLibraryDocsClient(options),\n organization: createOrganizationClient(options)\n }\n };\n}\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { docsCacheContract } from \"./contract.js\";\n\nexport type DocsCacheClient = JsonifiedClient<ContractRouterClient<typeof docsCacheContract>>;\n\nexport interface CreateDocsCacheClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createDocsCacheClient(options: CreateDocsCacheClientOptions): DocsCacheClient {\n const link = new OpenAPILink(docsCacheContract, {\n url: `${options.baseUrl}/docs-cache`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\n\nexport const InvalidateCachedDocsInputSchema = z.object({\n url: z.string()\n});\n\nexport type InvalidateCachedDocsInput = z.infer<typeof InvalidateCachedDocsInputSchema>;\n\nexport const docsCacheContract = {\n invalidate: oc\n .route({ method: \"POST\", path: \"/invalidate\" })\n .input(InvalidateCachedDocsInputSchema)\n .output(z.void())\n};\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { docsDeploymentContract } from \"./contract.js\";\n\nexport type DocsDeploymentClient = JsonifiedClient<ContractRouterClient<typeof docsDeploymentContract>>;\n\nexport interface CreateDocsDeploymentClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createDocsDeploymentClient(options: CreateDocsDeploymentClientOptions): DocsDeploymentClient {\n const link = new OpenAPILink(docsDeploymentContract, {\n url: `${options.baseUrl}/docs-deployment`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\n\nimport { docsLedgerContract } from \"./contract.js\";\n\nexport type DocsLedgerClient = JsonifiedClient<ContractRouterClient<typeof docsLedgerContract>>;\n\nexport interface CreateDocsLedgerClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createDocsLedgerClient(options: CreateDocsLedgerClientOptions): DocsLedgerClient {\n const baseUrl = options.baseUrl.replace(/\\/+$/, \"\");\n const link = new OpenAPILink(docsLedgerContract, {\n url: `${baseUrl}/docs-ledger`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\nimport {\n type AIChatConfig,\n AIChatConfigSchema,\n type AnalyticsConfig,\n AnalyticsConfigSchema,\n type DocsLayoutConfig,\n DocsLayoutConfigSchema,\n type DocsSettingsConfig,\n DocsSettingsConfigSchema,\n type DocsThemeConfig,\n DocsThemeConfigSchema,\n type FooterLink,\n FooterLinkSchema,\n type NavbarLink,\n NavbarLinkSchema,\n type PageActionsConfig,\n PageActionsConfigSchema\n} from \"../../client/docs-types/shared.js\";\nimport {\n AvailabilitySchema,\n GraphQlOperationTypeSchema,\n GraphQlTypeCategorySchema,\n GrpcMethodSchema\n} from \"../api/shared.js\";\nimport { HttpMethodSchema } from \"../shared.js\";\n\n// ── Register ───────────────────────────────────────────────────────────\n\nexport const MissingContentSchema = z.object({\n hash: z.string(),\n uploadUrl: z.string()\n});\n\n/**\n * Register response: the deployment hash and any blobs the server still needs.\n * An empty `missingContent` array means all content is already in CAS —\n * the client can proceed directly to finish without uploading anything.\n */\nexport const RegisterResponseSchema = z.object({\n deploymentHash: z.string(),\n missingContent: z.array(MissingContentSchema)\n});\n\n// ── Finish ─────────────────────────────────────────────────────────────\n\nexport const FinishResponseSchema = z.object({\n deploymentId: z.string(),\n /** ID of the canonical (fern URL) site row. */\n siteId: z.string(),\n /**\n * IDs of any additional site rows created for `customDomains` URLs\n * (ADR 0010). Empty when the publish has no `customDomains`. One ID\n * per parsed customDomain, in the same order as the input.\n */\n additionalSiteIds: z.array(z.string()).default([]),\n deploymentHash: z.string(),\n reusedDeployment: z.boolean(),\n /**\n * Per-locale segment counts when `translations[]` was supplied on the\n * finish input. Absent when no translations were included.\n */\n translationsProcessed: z.array(z.object({ locale: z.string(), segmentsAdded: z.number() })).optional()\n});\n\n// ── Archive ────────────────────────────────────────────────────────────\n\nexport const ArchiveSiteInputSchema = z.object({\n siteId: z.string()\n});\n\nexport const ArchiveSiteResponseSchema = z.object({\n status: z.enum([\"archived\", \"already_archived\", \"not_found\"])\n});\n\n// ── Migrate v2 → ledger ────────────────────────────────────────────────\n\n/**\n * Input for `POST /migrate-v2`: convert one already-published v2 site onto\n * the ledger without waiting for the customer to republish. A Fern-operator\n * action — the server restricts it to members of the `fern` org.\n */\nexport const MigrateV2SiteInputSchema = z.object({\n domain: z.string().min(1),\n /** \"\" for a root site, otherwise a leading-slash basepath. */\n basepath: z.string().default(\"\"),\n /** Report what would convert without writing anything. */\n dryRun: z.boolean().default(false),\n /** Convert again after a manual rollback left the row on a superseded ledger deployment. */\n allowRemigration: z.boolean().default(false)\n});\n\n// ── Static docs build ──────────────────────────────────────────────────\n\n/**\n * Input for `POST /static-build`: build a site's current deployment again\n * without waiting for it to be republished. A Fern-operator action — the\n * server restricts it to members of the `fern` org.\n */\nexport const StartStaticBuildInputSchema = z.object({\n domain: z.string().min(1),\n /** \"\" for a root site, otherwise a leading-slash basepath. Ignored when `path` is given. */\n basepath: z.string().default(\"\"),\n /**\n * A request path on `domain`: the site to build is the one whose basepath the\n * path falls under (the longest match; the root site catches the rest). What\n * the docs-router sends, since it does not know which basepaths a host publishes.\n */\n path: z.string().optional(),\n /**\n * The build the caller is serving for the site (the docs-router's pointer names it by\n * deployment id). When it is the site's current deployment, made with the current renderer\n * as far as `servingRenderer` tells, there is nothing to build and the answer is\n * `up-to-date`; otherwise the site is rebuilt as usual.\n */\n servingBuildId: z.string().optional(),\n /**\n * The renderer (build image digest) the served build was made with, `\"\"` when the caller\n * knows it was made before that was recorded. Omitted when the caller cannot tell (a\n * basepath build), in which case only the deployment is judged. Any value other than the\n * digest FDR currently dispatches builds with makes the build stale.\n */\n servingRenderer: z.string().optional(),\n /**\n * The site's Ask AI enablement after a settings change (FAI sends it when Ask AI is\n * toggled). The build bakes it in place of the manifest's publish-time snapshot, and a\n * finished build of the deployment is replaced rather than reported as already run.\n */\n askAiEnabled: z.boolean().optional(),\n /**\n * Rebuild even when a build of the current deployment already finished: the caller\n * changed per-site config the build bakes in (e.g. site auth) since that build ran.\n * Implied by `askAiEnabled`.\n */\n replaceFinished: z.boolean().optional(),\n /**\n * `publish` (the default) waits for the Job and reports how it ended.\n * `background` returns as soon as the Job exists (`outcome: \"queued\"`): the\n * Job promotes itself when it succeeds. What the docs-router asks for when a\n * visitor reaches a preview that has no static build yet.\n */\n priority: z.enum([\"publish\", \"background\"]).default(\"publish\")\n});\n\nexport const StartStaticBuildResponseSchema = z.object({\n /**\n * Mirrors the dispatcher's own outcomes, plus the sites it can't resolve and\n * `up-to-date`: `servingBuildId` already is the current deployment (made with the current\n * renderer, when `servingRenderer` was given), nothing started; `busy`: a `background`\n * ask FDR did not plan because as many background builds as it allows are already being\n * created — ask again later.\n */\n status: z.enum([\n \"created\",\n \"already-running\",\n \"host-not-enabled\",\n \"disabled\",\n \"not-published\",\n \"up-to-date\",\n \"busy\"\n ]),\n domain: z.string(),\n /** The site built: the requested basepath, or the one `path` resolved to. */\n basepath: z.string(),\n /** Every basepath currently published at `domain` (\"\" is the root site). */\n basepaths: z.array(z.string()).optional(),\n /** The deployment being built, absent when the site has never published. */\n deploymentId: z.string().optional(),\n jobName: z.string().optional(),\n /** The host the build is exported to and served from, which may not be `domain`. */\n host: z.string().optional(),\n /** How the Job ended, or `queued` for a `background` build nobody waited on. */\n outcome: z.enum([\"succeeded\", \"failed\", \"timed-out\", \"gone\", \"unrouted\", \"queued\"]).optional()\n});\n\n/**\n * Input for `POST /static-build/rebuild-all`: rebuild every production static\n * site on the release warm list (live custom-domain sites, no previews) from\n * its current ledger deployment, e.g. after a docs release moves the build\n * images. Builds are dispatched after the response returns (fire and\n * forget). A Fern-operator action — the server restricts it to members of the\n * `fern` org.\n */\nexport const RebuildAllStaticBuildsInputSchema = z.object({\n /** Resolve and report the sites without dispatching any build. */\n dryRun: z.boolean().default(false)\n});\n\nexport const RebuildAllStaticBuildsResponseSchema = z.object({\n dryRun: z.boolean(),\n /** The sites whose rebuild was queued (or would be, on a dry run). */\n sites: z.array(\n z.object({\n domain: z.string(),\n basepath: z.string(),\n deploymentId: z.string()\n })\n )\n});\n\n/**\n * Input for `POST /reindex`: manually rebuild a published site's Algolia search\n * index via the FDR reindex Job. A Fern-operator action — the server restricts\n * it to members of the `fern` org — and forced, so it runs regardless of the\n * per-host reindex allowlist.\n */\nexport const ReindexInputSchema = z.object({\n domain: z.string().min(1),\n /** \"\" for a root site, otherwise a leading-slash basepath. */\n basepath: z.string().default(\"\"),\n /**\n * Block until the Job terminates and report its `outcome`. `false` returns as\n * soon as the Job is launched, with `outcome: \"queued\"`.\n */\n wait: z.boolean().default(true)\n});\n\nexport const ReindexResponseSchema = z.object({\n /**\n * Whether the Job was launched; `disabled` when no Algolia key is configured.\n * `host-not-enabled` is part of the union but not returned here — the endpoint\n * forces the reindex past the allowlist.\n */\n status: z.enum([\"created\", \"already-running\", \"host-not-enabled\", \"disabled\", \"not-published\"]),\n domain: z.string(),\n basepath: z.string(),\n /** The deployment reindexed, absent when the site has never published. */\n deploymentId: z.string().optional(),\n jobName: z.string().optional(),\n /** The terminal Job outcome the endpoint waited for, or `queued` when called with `wait: false`. */\n outcome: z.enum([\"succeeded\", \"failed\", \"timed-out\", \"gone\", \"unrouted\", \"queued\"]).optional()\n});\n\n/**\n * Input for `POST /static-build/promote`: sent by a static build Job once its\n * upload has landed. The token, signed by FDR when it dispatched the Job, is\n * the only credential — it authorizes pointing the hosts it names at its build.\n */\nexport const PromoteStaticBuildInputSchema = z.object({\n token: z.string().min(1)\n});\n\nexport const PromoteStaticBuildResponseSchema = z.object({\n buildId: z.string(),\n /** Every host now pointed at the build, the serving host first. */\n hosts: z.array(z.string()),\n /** The pointer entry that moved: \"\" for the root site. */\n basepath: z.string()\n});\n\n/**\n * Input for `POST /static-build/serving-host`: which hostname this\n * environment's docs-router serves a site's static builds from. Also a\n * Fern-operator action — it reads another org's ledger.\n */\nexport const ResolveStaticServingHostInputSchema = z.object({\n domain: z.string().min(1),\n /** \"\" for a root site, otherwise a leading-slash basepath. */\n basepath: z.string().default(\"\")\n});\n\nexport const ResolveStaticServingHostResponseSchema = z.object({\n domain: z.string(),\n basepath: z.string(),\n /**\n * The hostname the static build is exported to and served from — always a\n * hostname Fern owns for a published site, even one on a customer's domain.\n */\n servingHost: z.string(),\n /** False when nothing routes to the serving host, so cutting over would serve nothing. */\n routable: z.boolean(),\n /**\n * The deployment the serving host was derived from; absent when the site\n * has never published, in which case only its own hostname was available.\n */\n deploymentId: z.string().optional()\n});\n\n/**\n * Input for the `POST /static-build/custom-hostname/*` operations: the customer\n * domain to look up / register / remove on the docs zone as a Cloudflare for SaaS\n * custom hostname. Fern-operator actions: they act on another org's domain.\n */\nexport const CustomHostnameInputSchema = z.object({\n /** A bare hostname (`docs.acme.com`); a scheme, path or port is rejected. */\n host: z\n .string()\n .trim()\n .toLowerCase()\n .regex(/^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)+$/, \"Expected a bare hostname\")\n});\n\n/** One `.well-known` file Cloudflare fetches over HTTP to verify the hostname. */\nexport const CustomHostnameHttpChallengeSchema = z.object({\n path: z.string(),\n body: z.string()\n});\n\n/** A DNS TXT record the customer adds so Cloudflare can verify the hostname before it points at us. */\nexport const CustomHostnameTxtRecordSchema = z.object({\n name: z.string(),\n value: z.string()\n});\n\nexport const CustomHostnameSchema = z.object({\n id: z.string(),\n hostname: z.string(),\n /** Cloudflare's hostname status: `active` once it has verified the hostname and proxies it. */\n status: z.string(),\n /** Cloudflare's certificate status: `active` once the certificate is issued. */\n sslStatus: z.string(),\n /** How Cloudflare validates the certificate: `txt` or `http`. */\n sslMethod: z.string(),\n /** Both of the above are `active`, so HTTPS on the hostname works right now. */\n active: z.boolean(),\n httpChallenges: z.array(CustomHostnameHttpChallengeSchema),\n txtRecords: z.array(CustomHostnameTxtRecordSchema),\n verificationErrors: z.array(z.string())\n});\nexport type CustomHostnameStatus = z.infer<typeof CustomHostnameSchema>;\n\nexport const CustomHostnameResponseSchema = z.discriminatedUnion(\"status\", [\n /** No Cloudflare account is configured in this environment. */\n z.object({ status: z.literal(\"disabled\"), host: z.string() }),\n /** A hostname of ours: the zone-wide route already serves it, no custom hostname is needed. */\n z.object({ status: z.literal(\"routable-zone\"), host: z.string(), zone: z.string() }),\n z.object({ status: z.literal(\"not-registered\"), host: z.string(), zone: z.string() }),\n z.object({ status: z.literal(\"registered\"), host: z.string(), zone: z.string(), hostname: CustomHostnameSchema })\n]);\nexport type CustomHostnameResponse = z.infer<typeof CustomHostnameResponseSchema>;\n\nexport const DeleteCustomHostnameResponseSchema = z.object({\n host: z.string(),\n deleted: z.boolean()\n});\n\nexport const MigrateV2SiteSkipReasonSchema = z.enum([\n \"not-registered\",\n \"preview\",\n \"already-ledger\",\n \"has-translations\",\n \"no-navigation\"\n]);\n\nexport const MigrateV2SiteResponseSchema = z.discriminatedUnion(\"outcome\", [\n z.object({\n outcome: z.literal(\"skipped\"),\n domain: z.string(),\n basepath: z.string(),\n reason: MigrateV2SiteSkipReasonSchema\n }),\n z.object({\n outcome: z.literal(\"convertible\"),\n domain: z.string(),\n basepath: z.string(),\n pageCount: z.number(),\n fileCount: z.number()\n }),\n z.object({\n outcome: z.literal(\"migrated\"),\n domain: z.string(),\n basepath: z.string(),\n deploymentId: z.string()\n })\n]);\n\n// ── Publish input (next-gen: server-side decomposition) ───────────────\n\n/** Reference to a CAS blob: hash + content metadata for upload. */\nexport const BlobRefSchema = z.object({\n hash: z.string(),\n contentType: z.string(),\n contentLength: z.number()\n});\nexport type BlobRef = z.infer<typeof BlobRefSchema>;\n\nexport const PageBlobRefSchema = z.object({\n /** SHA-256 hex of the page content bytes. */\n hash: z.string(),\n contentType: z.string().default(\"text/markdown\"),\n contentLength: z.number(),\n /**\n * Bare `fullPath`s of the file/image artifacts this page's rendered\n * markdown references (the `<fullPath>` of each `file:<fullPath>` token).\n * Captured CLI-side from the already-rewritten page markdown (same `file:`\n * regex the bundle serializer uses) so FDR can materialise the page→file\n * join into the route shards without re-fetching or re-parsing content\n * (ADR 0016, \"File metadata on the render path\"). Optional — older CLIs\n * omit it and the page simply contributes no shard-side file identities.\n */\n referencedFiles: z.array(z.string()).optional()\n});\n\n/** Entry in the file manifest: a CAS blob ref with rendering metadata. */\nexport const FileManifestEntrySchema = z.object({\n /** SHA-256 hex of the file bytes (= CAS content hash). */\n hash: z.string(),\n contentType: z.string(),\n contentLength: z.number(),\n /** Original filename (e.g. \"logo.png\"). Used for Content-Disposition and URL cosmetics. */\n filename: z.string(),\n /** Image width in pixels (images only). */\n width: z.number().optional(),\n /** Image height in pixels (images only). */\n height: z.number().optional(),\n /** Base64-encoded blur placeholder (images only). */\n blurDataURL: z.string().optional()\n});\nexport type FileManifestEntry = z.infer<typeof FileManifestEntrySchema>;\n\n// ── Ledger config schema (validated server-side, replaces opaque blob) ─\n\n/** A file reference with image dimensions for next/image layout reservation. */\nexport const ImageRefSchema = z.object({\n path: z.string(),\n width: z.number(),\n height: z.number()\n});\nexport type ImageRef = z.infer<typeof ImageRefSchema>;\n\n/** A file reference or external URL. Replaces FileIdOrUrl. */\nexport const PathOrUrlSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"path\"), value: z.string() }),\n z.object({ type: z.literal(\"url\"), value: z.string() })\n]);\nexport type PathOrUrl = z.infer<typeof PathOrUrlSchema>;\n\nconst RgbaSchema = z.object({ r: z.number(), g: z.number(), b: z.number(), a: z.number().optional() });\n\nconst BackgroundColorSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"solid\"), ...RgbaSchema.shape }),\n z.object({ type: z.literal(\"gradient\") })\n]);\n\nconst ACCENT_SCALE_KEYS = [\n \"accent1\",\n \"accent2\",\n \"accent3\",\n \"accent4\",\n \"accent5\",\n \"accent6\",\n \"accent7\",\n \"accent8\",\n \"accent9\",\n \"accent10\",\n \"accent11\",\n \"accent12\"\n] as const;\n\n/** Radix-style 12-step accent scale, all optional. */\n// Cast is safe: Object.fromEntries cannot preserve the literal key union.\nconst accentScaleShape = Object.fromEntries(ACCENT_SCALE_KEYS.map((key) => [key, RgbaSchema.optional()])) as Record<\n (typeof ACCENT_SCALE_KEYS)[number],\n z.ZodOptional<typeof RgbaSchema>\n>;\n\nconst LedgerThemeConfigSchema = z.object({\n logo: ImageRefSchema.optional(),\n backgroundImage: z.string().optional(),\n accentPrimary: RgbaSchema,\n background: BackgroundColorSchema.optional(),\n border: RgbaSchema.optional(),\n sidebarBackground: RgbaSchema.optional(),\n headerBackground: RgbaSchema.optional(),\n cardBackground: RgbaSchema.optional(),\n ...accentScaleShape\n});\n\nconst LedgerColorsConfigSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"dark\"), ...LedgerThemeConfigSchema.shape }),\n z.object({ type: z.literal(\"light\"), ...LedgerThemeConfigSchema.shape }),\n z.object({\n type: z.literal(\"darkAndLight\"),\n dark: LedgerThemeConfigSchema,\n light: LedgerThemeConfigSchema\n })\n]);\n\nconst LedgerFontVariantSchema = z.object({\n fontFile: z.string(),\n weight: z.array(z.string()).optional(),\n style: z.array(z.enum([\"normal\", \"italic\"])).optional()\n});\n\nconst LedgerFontConfigSchema = z.discriminatedUnion(\"type\", [\n z.object({\n type: z.literal(\"custom\"),\n name: z.string(),\n variants: z.array(LedgerFontVariantSchema),\n display: z.enum([\"auto\", \"block\", \"swap\", \"fallback\", \"optional\"]).optional(),\n fallback: z.array(z.string()).optional(),\n fontVariationSettings: z.string().optional()\n })\n]);\n\nconst LedgerTypographySchema = z.object({\n headingsFont: LedgerFontConfigSchema.optional(),\n bodyFont: LedgerFontConfigSchema.optional(),\n codeFont: LedgerFontConfigSchema.optional()\n});\n\nconst LedgerJsFileSchema = z.object({\n path: z.string(),\n strategy: z.enum([\"beforeInteractive\", \"afterInteractive\", \"lazyOnload\"]).optional()\n});\n\nconst LedgerJsConfigSchema = z.object({\n remote: z\n .array(\n z.object({\n url: z.string(),\n strategy: z.enum([\"beforeInteractive\", \"afterInteractive\", \"lazyOnload\"]).optional(),\n disableSri: z.boolean().optional()\n })\n )\n .optional(),\n files: z.array(LedgerJsFileSchema).optional(),\n inline: z.array(z.string()).optional()\n});\n\nconst LedgerMetadataConfigSchema = z.record(z.string(), z.unknown()).and(\n z.object({\n \"og:image\": PathOrUrlSchema.optional(),\n \"og:logo\": PathOrUrlSchema.optional(),\n \"twitter:image\": PathOrUrlSchema.optional(),\n \"og:background-image\": PathOrUrlSchema.optional(),\n \"og:dynamic:background-image\": PathOrUrlSchema.optional()\n })\n);\n\n// The shared docs-config schemas below are annotated as `z.ZodType<NamedType>`\n// so declaration emit references the named types instead of inlining their full\n// structural shape — without this, the inferred type of the publish router\n// exceeds tsc's serialization limit (TS7056).\nconst NavbarLinksFieldSchema: z.ZodType<NavbarLink[]> = z.array(NavbarLinkSchema);\nconst FooterLinksFieldSchema: z.ZodType<FooterLink[]> = z.array(FooterLinkSchema);\nconst LayoutFieldSchema: z.ZodType<DocsLayoutConfig> = DocsLayoutConfigSchema;\nconst ThemeFieldSchema: z.ZodType<DocsThemeConfig> = DocsThemeConfigSchema;\nconst SettingsFieldSchema: z.ZodType<DocsSettingsConfig> = DocsSettingsConfigSchema;\nconst AnalyticsFieldSchema: z.ZodType<AnalyticsConfig> = AnalyticsConfigSchema;\nconst AIChatFieldSchema: z.ZodType<AIChatConfig> = AIChatConfigSchema;\nconst PageActionsFieldSchema: z.ZodType<PageActionsConfig> = PageActionsConfigSchema;\n\nconst LedgerAgentsConfigSchema = z.object({\n pageDirective: z.string().optional(),\n pageDescriptionSource: z.enum([\"description\", \"subtitle\"]).optional(),\n siteDescription: z.string().optional()\n});\n\n/**\n * Ledger-native config schema. Validated server-side on register/finish.\n *\n * Key differences from the classic DocsConfig:\n * - No FileId references — file references use fullPath strings\n * - Logo uses ImageRef (path + width + height) for next/image layout\n * - Config-referenced files (favicon, logo, OG images, fonts, JS) carry their\n * fullPath strings and are retained in the pointer's `files` map\n * (see collectConfigFilePaths); robots.txt/llms.txt/context7.json remain\n * well-known files served by convention via file artifact lookup\n * - navigation/root excluded — the nav tree is a separate field on DocsPublishInput\n */\nexport const LedgerConfigSchema = z.object({\n title: z.string().optional(),\n rootSlug: z.string().optional(),\n defaultLanguage: z.string().optional(),\n translations: z\n .object({\n defaultLocale: z.string(),\n translations: z.array(z.string()).optional()\n })\n .optional(),\n announcement: z.object({ text: z.string() }).optional(),\n navbarLinks: NavbarLinksFieldSchema.optional(),\n footerLinks: FooterLinksFieldSchema.optional(),\n logoHeight: z.number().optional(),\n logoHref: z.string().optional(),\n logoRightText: z.string().optional(),\n /** fullPath of the favicon file artifact (any extension: .svg/.png/.ico). */\n favicon: z.string().nullish(),\n agents: LedgerAgentsConfigSchema.optional(),\n metadata: LedgerMetadataConfigSchema.optional(),\n redirects: z\n .array(z.object({ source: z.string(), destination: z.string(), permanent: z.boolean().optional() }))\n .optional(),\n colorsV3: LedgerColorsConfigSchema.optional(),\n layout: LayoutFieldSchema.optional(),\n theme: ThemeFieldSchema.optional(),\n settings: SettingsFieldSchema.optional(),\n typographyV2: LedgerTypographySchema.optional(),\n analyticsConfig: AnalyticsFieldSchema.optional(),\n integrations: z\n .object({\n intercom: z.string().optional()\n })\n .optional(),\n css: z.object({ inline: z.array(z.string()).optional() }).optional(),\n js: LedgerJsConfigSchema.optional(),\n aiChatConfig: AIChatFieldSchema.optional(),\n pageActions: PageActionsFieldSchema.optional(),\n editThisPageLaunch: z.enum([\"github\", \"dashboard\"]).optional(),\n /** Origins allowed to iframe the site, appended to the CSP `frame-ancestors` directive. */\n iframe: z.object({ allowedParentOrigins: z.array(z.string()) }).optional(),\n /**\n * Explicit edit-this-page GitHub config from docs.yml (ADR 0012 parity).\n * When present, the loader synthesises `editThisPageUrl` from these fields\n * instead of relying on deployment-scoped git provenance. This matches the\n * v2 behaviour where the CLI derives the URL from the declared config.\n */\n editThisPageGithub: z\n .object({\n owner: z.string(),\n repo: z.string(),\n branch: z.string().default(\"main\"),\n host: z.string().default(\"https://github.com\")\n })\n .optional(),\n header: z.string().optional(),\n footer: z.string().optional()\n});\nexport type LedgerConfig = z.infer<typeof LedgerConfigSchema>;\n\n// ── Ledger metadata schemas ───────────────────────────────────────────\n\nconst MetadataStringArraySchema = z.array(z.string());\nconst FeatureFlagMetadataSchema = z.array(\n z.union([\n z.string(),\n z.object({\n flag: z.string(),\n fallbackValue: z.unknown().optional(),\n match: z.unknown().optional()\n })\n ])\n);\nconst LinkTargetSchema = z.enum([\"_blank\", \"_self\", \"_parent\", \"_top\"]);\nconst CollapsedSchema = z.union([z.boolean(), z.literal(\"open-by-default\")]);\n// docs.yml `playground` settings, round-tripped through segment / api-artifact metadata\n// so `playground.hidden` (and friends) survive the ledger nav rebuild. The nav-node\n// `PlaygroundSettings` type is a fixed shape, so no `.passthrough()` here — the reader\n// in ledger-root-builder reads exactly these fields.\nconst PlaygroundSettingsSchema = z.object({\n hidden: z.boolean().optional(),\n environments: z.array(z.string()).optional(),\n button: z.object({ href: z.string().optional() }).optional(),\n \"limit-websocket-messages-per-connection\": z.number().optional(),\n \"send-optional-defaults\": z.boolean().optional()\n});\nexport type LedgerPlaygroundMetadata = z.infer<typeof PlaygroundSettingsSchema>;\nconst LedgerAvailabilitySchema = z.union([\n AvailabilitySchema,\n z.enum([\n \"alpha\",\n \"stable\",\n \"generally-available\",\n \"in-development\",\n \"pre-release\",\n \"beta\",\n \"preview\",\n \"deprecated\",\n \"legacy\"\n ])\n]);\n\nexport const LedgerArtifactTypeSchema = z.enum([\n \"markdown\",\n \"page\",\n \"rest\",\n \"asyncapi\",\n \"webhook\",\n \"grpc\",\n \"graphql\",\n \"graphqlType\",\n \"changelog\",\n \"link\",\n \"file\",\n \"image\",\n \"redirect\"\n]);\nexport type LedgerArtifactType = z.infer<typeof LedgerArtifactTypeSchema>;\n\nconst LedgerMetadataBaseSchema = z.object({}).passthrough();\n\nconst NodeMetadataFields = {\n title: z.string().optional(),\n slug: z.string().optional(),\n icon: z.string().optional(),\n authed: z.boolean().optional(),\n viewers: MetadataStringArraySchema.optional(),\n orphaned: z.boolean().optional(),\n featureFlags: FeatureFlagMetadataSchema.optional()\n} as const;\n\n// Read-model guarantee: the FDR transform always writes apiDefinitionId\n// (and the per-type ID fields below), so the read schemas require them.\nconst ApiNodeMetadataFields = {\n ...NodeMetadataFields,\n apiDefinitionId: z.string(),\n availability: LedgerAvailabilitySchema.optional(),\n playground: PlaygroundSettingsSchema.optional(),\n noindex: z.boolean().optional()\n} as const;\n\nconst LedgerSegmentDetailMetadataObjectSchema = LedgerMetadataBaseSchema.extend({\n slug: z.string().optional(),\n default: z.boolean().optional(),\n subtitle: z.string().optional(),\n href: z.string().optional(),\n url: z.string().optional(),\n target: LinkTargetSchema.optional(),\n image: z.string().optional(),\n pointsTo: z.string().optional(),\n availability: LedgerAvailabilitySchema.optional(),\n tab_type: z.enum([\"tab\", \"link\", \"changelog\"]).optional()\n});\nexport const LedgerSegmentDetailMetadataSchema = LedgerSegmentDetailMetadataObjectSchema.nullable();\nexport type LedgerSegmentDetailMetadata = z.infer<typeof LedgerSegmentDetailMetadataSchema>;\n\nconst LedgerSegmentMetadataObjectSchema = z.discriminatedUnion(\"type\", [\n LedgerMetadataBaseSchema.extend({\n type: z.literal(\"tabRoot\")\n }),\n LedgerMetadataBaseSchema.extend({\n type: z.literal(\"section\"),\n title: z.string().optional(),\n icon: z.string().optional(),\n authed: z.boolean().optional(),\n collapsed: CollapsedSchema.optional(),\n collapsible: z.boolean().optional(),\n collapsedByDefault: z.boolean().optional(),\n availability: LedgerAvailabilitySchema.optional(),\n overviewPageId: z.string().optional(),\n noindex: z.boolean().optional(),\n pointsTo: z.string().optional(),\n viewers: MetadataStringArraySchema.optional(),\n orphaned: z.boolean().optional(),\n featureFlags: FeatureFlagMetadataSchema.optional()\n }),\n LedgerMetadataBaseSchema.extend({\n type: z.literal(\"apiReference\"),\n title: z.string().optional(),\n icon: z.string().optional(),\n authed: z.boolean().optional(),\n apiDefinitionId: z.string().optional(),\n overviewPageId: z.string().optional(),\n noindex: z.boolean().optional(),\n availability: LedgerAvailabilitySchema.optional(),\n pointsTo: z.string().optional(),\n paginated: z.boolean().optional(),\n showErrors: z.boolean().optional(),\n hideTitle: z.boolean().optional(),\n viewers: MetadataStringArraySchema.optional(),\n orphaned: z.boolean().optional(),\n featureFlags: FeatureFlagMetadataSchema.optional(),\n playground: PlaygroundSettingsSchema.optional()\n }),\n LedgerMetadataBaseSchema.extend({\n type: z.literal(\"apiPackage\"),\n title: z.string().optional(),\n icon: z.string().optional(),\n authed: z.boolean().optional(),\n apiDefinitionId: z.string().optional(),\n overviewPageId: z.string().optional(),\n noindex: z.boolean().optional(),\n availability: LedgerAvailabilitySchema.optional(),\n pointsTo: z.string().optional(),\n viewers: MetadataStringArraySchema.optional(),\n orphaned: z.boolean().optional(),\n featureFlags: FeatureFlagMetadataSchema.optional(),\n playground: PlaygroundSettingsSchema.optional()\n }),\n LedgerMetadataBaseSchema.extend({\n type: z.literal(\"changelog\"),\n title: z.string().optional(),\n icon: z.string().optional(),\n overviewPageId: z.string().optional(),\n apiDefinitionId: z.string().optional(),\n noindex: z.boolean().optional(),\n authed: z.boolean().optional(),\n viewers: MetadataStringArraySchema.optional(),\n orphaned: z.boolean().optional(),\n featureFlags: FeatureFlagMetadataSchema.optional()\n }),\n LedgerMetadataBaseSchema.extend({\n type: z.literal(\"files\")\n }),\n LedgerMetadataBaseSchema.extend({\n type: z.literal(\"redirects\")\n }),\n LedgerMetadataBaseSchema.extend({\n type: z.literal(\"productLink\")\n }),\n LedgerMetadataBaseSchema.extend({\n type: z.literal(\"tabLink\")\n })\n]);\nexport const LedgerSegmentMetadataSchema = LedgerSegmentMetadataObjectSchema;\nexport type LedgerSegmentMetadata = z.infer<typeof LedgerSegmentMetadataSchema>;\n\nexport const LedgerMarkdownMetadataSchema = LedgerMetadataBaseSchema.extend({\n ...NodeMetadataFields,\n pageId: z.string().optional(),\n isOverview: z.boolean().optional(),\n noindex: z.boolean().optional()\n});\n\nexport const LedgerRestMetadataSchema = LedgerMetadataBaseSchema.extend({\n ...ApiNodeMetadataFields,\n endpointId: z.string(),\n method: HttpMethodSchema,\n isResponseStream: z.boolean().optional(),\n endpointPairKey: z.string().optional()\n});\n\nexport const LedgerWebSocketMetadataSchema = LedgerMetadataBaseSchema.extend({\n ...ApiNodeMetadataFields,\n webSocketId: z.string()\n});\n\nexport const LedgerWebhookMetadataSchema = LedgerMetadataBaseSchema.extend({\n ...ApiNodeMetadataFields,\n webhookId: z.string(),\n // V1.WebhookNode carries the full HttpMethod union, so the read model must accept it too.\n method: HttpMethodSchema\n});\n\nexport const LedgerGrpcMetadataSchema = LedgerMetadataBaseSchema.extend({\n ...ApiNodeMetadataFields,\n grpcId: z.string(),\n method: GrpcMethodSchema\n});\n\nexport const LedgerGraphQlMetadataSchema = LedgerMetadataBaseSchema.extend({\n ...ApiNodeMetadataFields,\n graphqlOperationId: z.string(),\n operationType: GraphQlOperationTypeSchema\n});\n\nexport const LedgerGraphQlTypeMetadataSchema = LedgerMetadataBaseSchema.extend({\n ...ApiNodeMetadataFields,\n typeId: z.string(),\n typeCategory: GraphQlTypeCategorySchema\n});\n\nexport const LedgerChangelogEntryMetadataSchema = LedgerMetadataBaseSchema.extend({\n ...NodeMetadataFields,\n pageId: z.string(),\n noindex: z.boolean().optional(),\n date: z.string().optional(),\n tags: MetadataStringArraySchema.optional()\n});\n\nexport const LedgerLinkMetadataSchema = LedgerMetadataBaseSchema.extend({\n title: z.string().optional(),\n slug: z.string().optional(),\n icon: z.string().optional(),\n url: z.string(),\n target: LinkTargetSchema.optional()\n});\n\nexport const LedgerFileArtifactMetadataSchema = LedgerMetadataBaseSchema.extend({\n contentType: z.string(),\n contentLength: z.number().optional(),\n filename: z.string(),\n width: z.number().optional(),\n height: z.number().optional(),\n blurDataURL: z.string().optional()\n});\n\nexport const LedgerStructuralRedirectKindSchema = z.enum([\n \"root\",\n \"product\",\n \"version\",\n \"variant\",\n \"tab\",\n \"section\",\n \"api-section\"\n]);\nexport const LedgerRedirectKindSchema = z.enum([\"structural\", \"link\"]);\n\nexport const LedgerRedirectMetadataSchema = LedgerMetadataBaseSchema.extend({\n href: z.string().optional(),\n redirectKind: LedgerRedirectKindSchema.optional(),\n structuralKind: LedgerStructuralRedirectKindSchema.optional()\n});\n\nexport const LedgerArtifactMetadataSchema = z.union([\n LedgerMarkdownMetadataSchema,\n LedgerRestMetadataSchema,\n LedgerWebSocketMetadataSchema,\n LedgerWebhookMetadataSchema,\n LedgerGrpcMetadataSchema,\n LedgerGraphQlMetadataSchema,\n LedgerGraphQlTypeMetadataSchema,\n LedgerChangelogEntryMetadataSchema,\n LedgerLinkMetadataSchema,\n LedgerFileArtifactMetadataSchema,\n LedgerRedirectMetadataSchema\n]);\nexport type LedgerArtifactMetadata = z.infer<typeof LedgerArtifactMetadataSchema>;\n\n/**\n * Single source of truth for the artifactType → metadata schema pairing.\n * Every discriminated union over artifact types (nav routes, manifest\n * routes, route-context responses) is derived from this map, so adding a\n * type added to one but not the other fails to compile.\n */\nexport const LEDGER_ARTIFACT_METADATA_SCHEMAS = {\n markdown: LedgerMarkdownMetadataSchema,\n page: LedgerMarkdownMetadataSchema,\n rest: LedgerRestMetadataSchema,\n asyncapi: LedgerWebSocketMetadataSchema,\n webhook: LedgerWebhookMetadataSchema,\n grpc: LedgerGrpcMetadataSchema,\n graphql: LedgerGraphQlMetadataSchema,\n graphqlType: LedgerGraphQlTypeMetadataSchema,\n changelog: LedgerChangelogEntryMetadataSchema,\n link: LedgerLinkMetadataSchema,\n file: LedgerFileArtifactMetadataSchema,\n image: LedgerFileArtifactMetadataSchema,\n redirect: LedgerRedirectMetadataSchema\n} as const satisfies Record<LedgerArtifactType, z.ZodType>;\n\n/**\n * Extends `base` with the canonical `{ artifactType, artifactMetadata }`\n * pair for one artifact type. The indexed access into\n * {@link LEDGER_ARTIFACT_METADATA_SCHEMAS} preserves the exact per-type\n * metadata schema, so unions built from tuples of these calls stay\n * precisely typed with zero casts.\n */\nexport function artifactTypeVariant<B extends z.ZodRawShape, T extends LedgerArtifactType>(\n base: z.ZodObject<B>,\n type: T\n): z.ZodObject<\n z.objectUtil.extendShape<\n B,\n {\n artifactType: z.ZodLiteral<T>;\n artifactMetadata: (typeof LEDGER_ARTIFACT_METADATA_SCHEMAS)[T];\n }\n >\n> {\n return base.extend({\n artifactType: z.literal(type),\n artifactMetadata: LEDGER_ARTIFACT_METADATA_SCHEMAS[type]\n });\n}\n\nconst NavRouteBaseSchema = z.object({\n fullPath: z.string().nullable(),\n artifactId: z.string(),\n hidden: z.boolean(),\n displaySortOrder: z.number().nullable().optional()\n});\n\n/** Like {@link artifactTypeVariant} but for nav routes, whose discriminator/metadata keys are `type`/`metadata`. */\nfunction navRouteVariant<T extends LedgerArtifactType>(\n type: T\n): z.ZodObject<\n z.objectUtil.extendShape<\n (typeof NavRouteBaseSchema)[\"shape\"],\n {\n type: z.ZodLiteral<T>;\n metadata: (typeof LEDGER_ARTIFACT_METADATA_SCHEMAS)[T];\n }\n >\n> {\n return NavRouteBaseSchema.extend({\n type: z.literal(type),\n metadata: LEDGER_ARTIFACT_METADATA_SCHEMAS[type]\n });\n}\n\nexport const LedgerNavRouteSchema = z.discriminatedUnion(\"type\", [\n navRouteVariant(\"markdown\"),\n navRouteVariant(\"page\"),\n navRouteVariant(\"rest\"),\n navRouteVariant(\"asyncapi\"),\n navRouteVariant(\"webhook\"),\n navRouteVariant(\"grpc\"),\n navRouteVariant(\"graphql\"),\n navRouteVariant(\"graphqlType\"),\n navRouteVariant(\"changelog\"),\n navRouteVariant(\"link\"),\n navRouteVariant(\"file\"),\n navRouteVariant(\"image\"),\n navRouteVariant(\"redirect\")\n]);\nexport type LedgerNavRoute = z.infer<typeof LedgerNavRouteSchema>;\ntype DistributivePick<T, K extends keyof T> = T extends unknown ? Pick<T, K> : never;\nexport type LedgerArtifactTypeMetadata = DistributivePick<LedgerNavRoute, \"type\" | \"metadata\">;\n\nexport type Equals<A, B> = [A] extends [B] ? ([B] extends [A] ? true : false) : false;\n/** Compile-time proof that the nav-route union covers every artifact type. */\nconst _navRouteUnionIsExhaustive: Equals<LedgerNavRoute[\"type\"], LedgerArtifactType> = true;\n\n// ── Publish input (next-gen: server-side decomposition) ───────────────\n\n/**\n * Git provenance for a docs-ledger deployment (ADR 0012 / FER-10489).\n *\n * Captured server-side from the CLI publish input so the read path can\n * synthesise `editThisPageUrl = ${repoUrl}/edit/${branch}/${filename}`\n * without an additional round-trip. All three fields are deployment-\n * scoped (one value per `docs_ledger_deployments` row), nullable for\n * back-compat with deployments published before this field existed.\n */\nexport const DocsPublishGitInputSchema = z.object({\n /** Full HTTPS URL of the repo (e.g. `https://github.com/acme/docs`). */\n repoUrl: z.string(),\n /** Branch the publish ran from. Used to build the edit-this-page URL. */\n branch: z.string(),\n /**\n * Optional commit SHA captured when the CLI knows it. Currently surfaced\n * on `versionMetadata` for diagnostics but not used in URL synthesis.\n */\n commitSha: z.string().optional()\n});\nexport type DocsPublishGitInput = z.infer<typeof DocsPublishGitInputSchema>;\n\n/**\n * Content fields shared by DocsPublishInput and LedgerPreviewRegisterInput.\n * Extracted so that new content-layer fields (e.g. cssFiles) are picked up\n * everywhere automatically.\n */\nexport const DocsContentFieldsSchema = z.object({\n root: z.unknown(),\n pages: z.record(z.string(), PageBlobRefSchema),\n apiManifest: BlobRefSchema.nullish(),\n config: LedgerConfigSchema.optional(),\n /**\n * Content-addressable file manifest: maps fullPath → file metadata + CAS blob ref.\n * Each entry becomes a file/image artifact in the ledger with nav routing by fullPath.\n */\n fileManifest: z.record(z.string(), FileManifestEntrySchema).optional(),\n // TODO: jsFiles is a single blob containing all custom React component bundles.\n // These should eventually be individual artifacts so they can be loaded/cached\n // independently rather than as a monolithic bundle.\n jsFiles: BlobRefSchema.nullish(),\n redirects: BlobRefSchema.nullish(),\n locale: z.string().default(\"en\"),\n version: z.string().nullish(),\n repo: z.string().nullish(),\n /**\n * Git provenance for the deployment (ADR 0012 / FER-10489). Optional —\n * older CLI versions don't send it and the columns stay NULL. When\n * present, captured onto `docs_ledger_deployments` and surfaced on\n * `versionMetadata` so the read path can synthesise `editThisPageUrl`.\n */\n git: DocsPublishGitInputSchema.optional()\n});\n\n/**\n * A single locale entry in the `locales[]` array on `DocsPublishInputSchema`.\n * Overrides `locale` to be required (no default) — the caller must specify\n * the target locale explicitly. Content fields come from `DocsContentFieldsSchema`.\n */\nconst LocaleEntrySchemaInternal = DocsContentFieldsSchema.extend({\n /** Locale identifier (e.g. \"en\", \"es\", \"ja\"). Required — no default. */\n locale: z.string()\n});\nexport type LocaleEntry = z.output<typeof LocaleEntrySchemaInternal>;\nexport type LocaleEntryInput = z.input<typeof LocaleEntrySchemaInternal>;\n// Annotated as `z.ZodType` with named input/output types so declaration emit\n// references the aliases instead of inlining the structural shape — keeps the\n// publish router's inferred type under tsc's serialization limit (TS7056).\nexport const LocaleEntrySchema: z.ZodType<LocaleEntry, z.ZodTypeDef, LocaleEntryInput> = LocaleEntrySchemaInternal;\n\n/**\n * Wire format for the docs-ledger publish endpoints (register + finish).\n *\n * The client sends a flat `locales[]` array where each entry contains a\n * V1 navigation tree, page content as blob refs, and optional global blob\n * refs for one locale. `defaultLocale` identifies which locale is the\n * primary/fallback. The server processes every locale through the same\n * pipeline (transform → presigned URLs / HeadObject → persist).\n */\nconst DocsPublishInputSchemaInternal = z\n .object({\n orgId: z.string(),\n domain: z.string(),\n basepath: z.string().default(\"\"),\n basepathAware: z.boolean().nullish(),\n /**\n * Additional URLs the deployment should be served from (e.g. a customer's\n * vanity hostname `docs.example.com` alongside the canonical fern URL).\n * Each entry is parsed via `ParsedBaseUrl`, so a value like\n * `\"docs.example.com/v2\"` produces a `(domain, basepath)` site row of\n * `(\"docs.example.com\", \"/v2\")` — multi-domain + per-domain subpath is\n * supported in one field. Defaults to `[]`.\n *\n * See ADR 0010.\n */\n customDomains: z.array(z.string()).default([]),\n previewId: z.string().nullish(),\n /** The primary/fallback locale for this deployment (e.g. \"en\"). */\n defaultLocale: z.string().default(\"en\"),\n /**\n * All locales for this deployment. Each locale goes through the same\n * transform → upload → verify → persist pipeline.\n */\n locales: z.array(LocaleEntrySchema).min(1)\n })\n .refine((data) => data.locales.some((l) => l.locale === data.defaultLocale), {\n message: \"defaultLocale must match one of the locales in the locales array\",\n path: [\"defaultLocale\"]\n });\n\nexport type DocsPublishInput = z.output<typeof DocsPublishInputSchemaInternal>;\nexport type DocsPublishInputRaw = z.input<typeof DocsPublishInputSchemaInternal>;\n// See LocaleEntrySchema — same TS7056 mitigation.\nexport const DocsPublishInputSchema: z.ZodType<DocsPublishInput, z.ZodTypeDef, DocsPublishInputRaw> =\n DocsPublishInputSchemaInternal;\n\n// ── Preview register (FER-10491) ──────────────────────────────────────\n\n/**\n * Wire input for `POST /preview/init`. Mirrors V2's `startDocsPreviewRegister`\n * — `domain` is server-generated (`{orgId}-preview-{sanitizedId}.{suffix}`),\n * `customDomains` are explicitly disallowed (preview is single-URL), and\n * the entitlement / ownership / lock branches are bypassed in the handler.\n *\n * Otherwise the input mirrors `DocsPublishInputSchema` so the existing\n * decomposition pipeline (`transformPublishInput`) can run unchanged.\n */\nconst LedgerPreviewRegisterInputSchemaInternal = DocsContentFieldsSchema.partial()\n .extend({\n orgId: z.string(),\n /**\n * Optional caller-supplied identifier for the preview hostname. Sanitized\n * server-side (`[a-z0-9-]+`, no leading/trailing dashes). When absent,\n * the server uses a fresh UUIDv7 — produces a hard-to-guess URL but\n * defeats the round-trip use case where the CLI prints the predicted\n * URL before the publish completes. CLIs should always send this.\n */\n previewId: z.string().nullish(),\n /**\n * Optional path segment appended after the server-generated host.\n * Mirrors V2's `basePath` — most preview publishes leave this empty,\n * but explicit subpath previews (`/v2`) are supported.\n */\n basePath: z.string().default(\"\"),\n /** The primary/fallback locale for this preview deployment. */\n defaultLocale: z.string().optional(),\n /**\n * All locales for this preview deployment. Preferred over the legacy\n * single-locale content fields above.\n */\n locales: z.array(LocaleEntrySchema).min(1).optional()\n })\n .superRefine((data, ctx) => {\n if (data.locales == null) {\n if (data.root == null || data.pages == null) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"Either locales or legacy single-locale content fields must be provided\",\n path: [\"locales\"]\n });\n }\n return;\n }\n const defaultLocale = data.defaultLocale ?? data.locales[0]?.locale;\n if (defaultLocale == null || !data.locales.some((locale) => locale.locale === defaultLocale)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"defaultLocale must match one of the locales in the locales array\",\n path: [\"defaultLocale\"]\n });\n }\n });\n\nexport type LedgerPreviewRegisterInput = z.output<typeof LedgerPreviewRegisterInputSchemaInternal>;\nexport type LedgerPreviewRegisterInputRaw = z.input<typeof LedgerPreviewRegisterInputSchemaInternal>;\n// See LocaleEntrySchema — same TS7056 mitigation.\nexport const LedgerPreviewRegisterInputSchema: z.ZodType<\n LedgerPreviewRegisterInput,\n z.ZodTypeDef,\n LedgerPreviewRegisterInputRaw\n> = LedgerPreviewRegisterInputSchemaInternal;\n\n/**\n * Wire output for `POST /preview/init`. Same shape as `RegisterResponseSchema`\n * plus the server-generated `previewUrl` so the CLI can surface it to the\n * user without a round-trip to derive the host.\n */\nexport const LedgerPreviewRegisterResponseSchema = z.object({\n deploymentHash: z.string(),\n missingContent: z.array(MissingContentSchema),\n /** Canonical preview URL, e.g. `https://acme-preview-feature-x.docs.buildwithfern.com`. */\n previewUrl: z.string(),\n /** Server-generated host portion of `previewUrl` (no scheme, no basepath). */\n domain: z.string(),\n /** Echoed `basePath` (normalised — empty string when absent). */\n basepath: z.string(),\n /** Sanitized identifier the server actually used to compose the host. */\n previewId: z.string()\n});\n\n// ── Write-side types ───────────────────────────────────────────────────\n\nexport type RegisterResponse = z.infer<typeof RegisterResponseSchema>;\nexport type FinishResponse = z.infer<typeof FinishResponseSchema>;\nexport type ArchiveSiteInput = z.infer<typeof ArchiveSiteInputSchema>;\nexport type ArchiveSiteResponse = z.infer<typeof ArchiveSiteResponseSchema>;\nexport type MigrateV2SiteInput = z.output<typeof MigrateV2SiteInputSchema>;\nexport type MigrateV2SiteResponse = z.infer<typeof MigrateV2SiteResponseSchema>;\nexport type StartStaticBuildInput = z.output<typeof StartStaticBuildInputSchema>;\nexport type StartStaticBuildResponse = z.infer<typeof StartStaticBuildResponseSchema>;\nexport type RebuildAllStaticBuildsInput = z.output<typeof RebuildAllStaticBuildsInputSchema>;\nexport type RebuildAllStaticBuildsResponse = z.infer<typeof RebuildAllStaticBuildsResponseSchema>;\nexport type ReindexInput = z.output<typeof ReindexInputSchema>;\nexport type ReindexResponse = z.infer<typeof ReindexResponseSchema>;\nexport type PromoteStaticBuildInput = z.output<typeof PromoteStaticBuildInputSchema>;\nexport type PromoteStaticBuildResponse = z.infer<typeof PromoteStaticBuildResponseSchema>;\nexport type ResolveStaticServingHostInput = z.output<typeof ResolveStaticServingHostInputSchema>;\nexport type ResolveStaticServingHostResponse = z.infer<typeof ResolveStaticServingHostResponseSchema>;\nexport type LedgerPreviewRegisterResponse = z.infer<typeof LedgerPreviewRegisterResponseSchema>;\n\n// ── Write-side contract ────────────────────────────────────────────────\n\nexport const docsLedgerContract = {\n register: oc\n .route({ method: \"POST\", path: \"/register\" })\n .input(DocsPublishInputSchema)\n .output(RegisterResponseSchema),\n\n previewRegister: oc\n .route({ method: \"POST\", path: \"/preview/init\" })\n .input(LedgerPreviewRegisterInputSchema)\n .output(LedgerPreviewRegisterResponseSchema),\n\n finish: oc\n .route({ method: \"POST\", path: \"/register/finish\" })\n .input(DocsPublishInputSchema)\n .output(FinishResponseSchema),\n\n archiveSite: oc\n .route({ method: \"POST\", path: \"/archive\" })\n .input(ArchiveSiteInputSchema)\n .output(ArchiveSiteResponseSchema),\n\n migrateV2Site: oc\n .route({ method: \"POST\", path: \"/migrate-v2\" })\n .input(MigrateV2SiteInputSchema)\n .output(MigrateV2SiteResponseSchema),\n\n startStaticBuild: oc\n .route({ method: \"POST\", path: \"/static-build\" })\n .input(StartStaticBuildInputSchema)\n .output(StartStaticBuildResponseSchema),\n\n rebuildAllStaticBuilds: oc\n .route({ method: \"POST\", path: \"/static-build/rebuild-all\" })\n .input(RebuildAllStaticBuildsInputSchema)\n .output(RebuildAllStaticBuildsResponseSchema),\n\n reindex: oc.route({ method: \"POST\", path: \"/reindex\" }).input(ReindexInputSchema).output(ReindexResponseSchema),\n\n promoteStaticBuild: oc\n .route({ method: \"POST\", path: \"/static-build/promote\" })\n .input(PromoteStaticBuildInputSchema)\n .output(PromoteStaticBuildResponseSchema),\n\n resolveStaticServingHost: oc\n .route({ method: \"POST\", path: \"/static-build/serving-host\" })\n .input(ResolveStaticServingHostInputSchema)\n .output(ResolveStaticServingHostResponseSchema),\n\n getCustomHostname: oc\n .route({ method: \"POST\", path: \"/static-build/custom-hostname/get\" })\n .input(CustomHostnameInputSchema)\n .output(CustomHostnameResponseSchema),\n\n registerCustomHostname: oc\n .route({ method: \"POST\", path: \"/static-build/custom-hostname/register\" })\n .input(CustomHostnameInputSchema)\n .output(CustomHostnameResponseSchema),\n\n deleteCustomHostname: oc\n .route({ method: \"POST\", path: \"/static-build/custom-hostname/delete\" })\n .input(CustomHostnameInputSchema)\n .output(DeleteCustomHostnameResponseSchema)\n};\n\n// ── Read-side schemas ──────────────────────────────────────────────────\n\nexport const CurrentVersionInputSchema = z.object({\n domain: z.string(),\n basepath: z.string().default(\"\")\n});\n\nexport const CurrentPreviewInputSchema = CurrentVersionInputSchema.extend({\n previewId: z.string()\n});\n\nexport const CurrentVersionResponseSchema = z.object({\n orgId: z.string(),\n domain: z.string(),\n basepath: z.string(),\n deploymentId: z.string(),\n deploymentHash: z.string(),\n siteId: z.string(),\n assignedAt: z.string(),\n assignedBy: z.string().nullable()\n});\n\nconst ContentRefSchema = z.object({\n hash: z.string(),\n s3Key: z.string(),\n contentType: z.string(),\n url: z.string()\n});\n\n/**\n * Full detail metadata for one segment dimension (product / version /\n * variant / tab). Carries everything `docs_ledger_segment_details` stores —\n * not just name + icon — so the read path can reconstruct switcher chrome\n * and navigation nodes (slug, default flag, pointsTo, href, etc. live in\n * {@link metadata}) without fetching a monolithic root.\n */\nexport const SegmentDetailSchema = z.object({\n id: z.string(),\n displayName: z.string(),\n icon: z.string().nullable(),\n sortOrder: z.number(),\n hidden: z.boolean(),\n viewers: z.array(z.string()),\n orphaned: z.boolean(),\n featureFlags: z.array(z.string()),\n /** Type-specific fields: slug, default, subtitle, href, target, image, availability, pointsTo, tab_type. */\n metadata: LedgerSegmentDetailMetadataSchema\n});\nexport type SegmentDetail = z.infer<typeof SegmentDetailSchema>;\n\nconst SegmentSchema = z.object({\n segmentId: z.string(),\n segmentHash: z.string(),\n section: z.string(),\n locale: z.string(),\n /** Sidebar order across segments (docs_ledger_deployment_segments.sort_order). */\n sortOrder: z.number(),\n /** Whether the segment is hidden from the sidebar. */\n hidden: z.boolean(),\n /** Segment type descriptor (seg.metadata): { type, title, icon, apiDefinitionId, overviewPageId, pointsTo, ... }. */\n metadata: LedgerSegmentMetadataSchema,\n /** Full product/version/variant/tab detail metadata, or null when the dimension is absent. */\n product: SegmentDetailSchema.nullable(),\n version: SegmentDetailSchema.nullable(),\n variant: SegmentDetailSchema.nullable(),\n tab: SegmentDetailSchema.nullable(),\n // ── Flat name/icon retained for back-compat (derivable from the\n // detail objects above). ──\n productId: z.string().nullable(),\n productName: z.string().nullable(),\n productIcon: z.string().nullable(),\n versionId: z.string().nullable(),\n versionName: z.string().nullable(),\n versionIcon: z.string().nullable(),\n variantId: z.string().nullable(),\n variantName: z.string().nullable(),\n variantIcon: z.string().nullable(),\n tabId: z.string().nullable(),\n tabName: z.string().nullable(),\n tabIcon: z.string().nullable()\n});\n\nexport const VersionMetadataInputSchema = z.object({\n deploymentId: z.string(),\n locale: z.string().optional()\n});\n\nexport const VersionMetadataResponseSchema = z.object({\n deploymentId: z.string(),\n version: z.string().nullable(),\n /**\n * Inline structural config (ADR 0009). Contains everything from\n * {@link LedgerConfigSchema} except `header`, `footer`, `css.inline`,\n * `js.inline` — those four fields are returned separately via\n * {@link header}, {@link footer}, {@link cssInline}, {@link jsInline}\n * as content-addressed `ContentRef`s. The render path returns this\n * inline so initial page chrome doesn't require an S3 hop.\n */\n configJson: LedgerConfigSchema.nullable(),\n /** CAS ref for the extracted `config.header` blob (raw MDX). */\n header: ContentRefSchema.nullable(),\n /** CAS ref for the extracted `config.footer` blob (raw MDX). */\n footer: ContentRefSchema.nullable(),\n /** CAS ref for the joined `config.css.inline` blob (`\\n`-separated CSS). */\n cssInline: ContentRefSchema.nullable(),\n /** CAS ref for the joined `config.js.inline` blob (`\\n`-separated JS). */\n jsInline: ContentRefSchema.nullable(),\n jsFiles: ContentRefSchema.nullable(),\n segments: z.array(SegmentSchema),\n /** Mapping from human-readable API name slug to API definition UUID. */\n apiNameToId: z.record(z.string(), z.string()),\n /**\n * Git provenance for the deployment (ADR 0012 / FER-10489). Optional —\n * nullable on CLIs that don't send `git` on the publish input. When\n * present, the docs loader synthesises `editThisPageUrl` from `repoUrl`,\n * `branch`, and the page `filename` server-side.\n */\n git: z\n .object({\n repoUrl: z.string(),\n branch: z.string(),\n commitSha: z.string().nullable().optional()\n })\n .optional(),\n /**\n * Docs deployment status from the legacy `docs_sites` table, resolved\n * via Kysely join in the DAO. Null when no matching row exists.\n */\n docsStatus: z.enum([\"PUBLISHING\", \"LIVE\", \"UNPUBLISHED\", \"ERROR\"]).nullable().optional()\n});\n\nexport const PageContentInputSchema = z.object({\n deploymentId: z.string(),\n fullPath: z.string().optional(),\n pageId: z.string().optional(),\n locale: z.string().optional()\n});\n\nexport const PageContentResponseSchema = z.object({\n s3Key: z.string(),\n segmentHash: z.string(),\n url: z.string(),\n pageId: z.string().optional()\n});\n\nexport const BatchPageContentInputSchema = z.object({\n deploymentId: z.string(),\n pageIds: z.array(z.string()).min(1).max(2000),\n locale: z.string().optional()\n});\n\nexport const BatchPageContentItemSchema = z.object({\n pageId: z.string(),\n s3Key: z.string(),\n url: z.string()\n});\n\nexport const BatchPageContentResponseSchema = z.object({\n items: z.array(BatchPageContentItemSchema)\n});\n\nexport const NavInputSchema = z.object({\n segmentHash: z.string()\n});\n\nexport const NavResponseSchema = z.object({\n routes: z.array(LedgerNavRouteSchema)\n});\n\n// ── Route context (route/segment-first hot path) ──────────────────────\n\n/**\n * Resolve a single request path to its page content + the segment it lives\n * in, without fetching the whole navigation root. The ledger loader resolves\n * the route from the `routes` map, then reads the segment's local sidebar\n * (`nav`) and the top-level chrome from the same manifest (ADR 0016).\n */\nexport const RouteContextInputSchema = z.object({\n deploymentId: z.string(),\n fullPath: z.string(),\n locale: z.string().optional()\n});\n\nconst RouteContextResponseBaseSchema = z.object({\n artifactId: z.string(),\n /** Hash of the segment that owns the matched route — feed to `nav`. */\n segmentHash: z.string(),\n /** Section path of the owning segment (e.g. \"models/command\"). */\n section: z.string(),\n locale: z.string(),\n /**\n * Page content reference, or null for non-page artifacts (links/redirects)\n * and route-only aliases that carry no content blob.\n */\n page: z\n .object({\n s3Key: z.string(),\n url: z.string()\n })\n .nullable(),\n /** Identity of the owning segment, for switchers + breadcrumbs. */\n product: SegmentDetailSchema.nullable(),\n version: SegmentDetailSchema.nullable(),\n variant: SegmentDetailSchema.nullable(),\n tab: SegmentDetailSchema.nullable()\n});\n\nexport const RouteContextResponseSchema = z.discriminatedUnion(\"artifactType\", [\n artifactTypeVariant(RouteContextResponseBaseSchema, \"markdown\"),\n artifactTypeVariant(RouteContextResponseBaseSchema, \"page\"),\n artifactTypeVariant(RouteContextResponseBaseSchema, \"rest\"),\n artifactTypeVariant(RouteContextResponseBaseSchema, \"asyncapi\"),\n artifactTypeVariant(RouteContextResponseBaseSchema, \"webhook\"),\n artifactTypeVariant(RouteContextResponseBaseSchema, \"grpc\"),\n artifactTypeVariant(RouteContextResponseBaseSchema, \"graphql\"),\n artifactTypeVariant(RouteContextResponseBaseSchema, \"graphqlType\"),\n artifactTypeVariant(RouteContextResponseBaseSchema, \"changelog\"),\n artifactTypeVariant(RouteContextResponseBaseSchema, \"link\"),\n artifactTypeVariant(RouteContextResponseBaseSchema, \"file\"),\n artifactTypeVariant(RouteContextResponseBaseSchema, \"image\"),\n artifactTypeVariant(RouteContextResponseBaseSchema, \"redirect\")\n]);\n\n/** Compile-time proof that the route-context union covers every artifact type. */\nconst _routeContextUnionIsExhaustive: Equals<\n z.infer<typeof RouteContextResponseSchema>[\"artifactType\"],\n LedgerArtifactType\n> = true;\n\n// ── Top-level navigation (products / versions / variants / tabs) ──────\n\n/**\n * Distinct product/version/variant/tab dimensions for a deployment, with\n * full detail metadata + ordering. Drives the product switcher, version\n * dropdown, and tab bar without materialising the full navigation root.\n */\nexport const TopLevelNavigationInputSchema = z.object({\n deploymentId: z.string(),\n locale: z.string().optional()\n});\n\nexport const TopLevelNavigationResponseSchema = z.object({\n products: z.array(SegmentDetailSchema),\n versions: z.array(SegmentDetailSchema),\n variants: z.array(SegmentDetailSchema),\n tabs: z.array(SegmentDetailSchema)\n});\n\n// ── Version-switch targets (cross-version context preservation) ───────\n\n/**\n * Resolve, for every version of a deployment, the route equivalent to the\n * current page (`fullPath`). Drives the version switcher's cross-version\n * context preservation (`withVersionSwitcherInfo`) without shipping a\n * site-wide slug map to the client. This is inherently cross-version data\n * the route-scoped tree cannot supply — out-of-scope version sidebars are\n * empty — so it queries the flat `docs_ledger_nav` table directly.\n */\nexport const VersionSwitchTargetsInputSchema = z.object({\n deploymentId: z.string(),\n fullPath: z.string(),\n locale: z.string().optional()\n});\n\nexport const VersionSwitchTargetSchema = z.object({\n /** The version detail id (matches a `SegmentDetail.id` from `versionMetadata`). */\n versionId: z.string(),\n /**\n * Slug to navigate to when switching to this version — the equivalent\n * route in the target version, or that version's landing/root slug when\n * no equivalent exists. The current version maps to `fullPath` itself.\n */\n targetSlug: z.string()\n});\nexport type VersionSwitchTarget = z.infer<typeof VersionSwitchTargetSchema>;\n\nexport const VersionSwitchTargetsResponseSchema = z.object({\n targets: z.array(VersionSwitchTargetSchema)\n});\n\n// ── API Definition schemas ─────────────────────────────────────────────\n\nexport const ApiDefinitionInputSchema = z.object({\n deploymentId: z.string(),\n apiDefinitionId: z.string()\n});\n\nexport const ApiDefinitionResponseSchema = z.object({\n s3Key: z.string(),\n contentType: z.string(),\n url: z.string()\n});\n\n// ── Pruned API Definition schemas ─────────────────────────────────────\n\n/**\n * Look up a pre-pruned, per-endpoint API definition blob from the ledger.\n *\n * The finish handler prunes each endpoint/websocket/webhook from the full\n * API manifest at publish time and stores the result as a CAS blob linked\n * to the nav artifact. This endpoint resolves that blob by artifact\n * metadata, avoiding the need to fetch the full (multi-MB) definition.\n */\nexport const PrunedApiDefinitionInputSchema = z.object({\n deploymentId: z.string(),\n apiDefinitionId: z.string(),\n /** Discriminator matching PruningNodeType.type → artifact metadata field. */\n nodeType: z.enum([\"endpoint\", \"webSocket\", \"webhook\", \"grpc\", \"graphql\", \"graphqlType\"]),\n /** The node ID value (endpointId, webSocketId, etc.). */\n nodeId: z.string()\n});\n\nexport const PrunedApiDefinitionResponseSchema = z.object({\n s3Key: z.string(),\n contentType: z.string(),\n url: z.string()\n});\n\n// ── File artifact schemas ─────────────────────────────────────────────\n\nexport const FileArtifactInputSchema = z.object({\n deploymentId: z.string(),\n fullPath: z.string()\n});\n\nexport const FileArtifactResponseSchema = z.object({\n fullPath: z.string(),\n type: z.enum([\"file\", \"image\"]),\n contentType: z.string(),\n contentLength: z.number().optional(),\n filename: z.string(),\n url: z.string(),\n width: z.number().optional(),\n height: z.number().optional(),\n blurDataURL: z.string().optional()\n});\n\n// ── Presigned file download schemas ──────────────────────────────────\n\nexport const PresignedFileDownloadInputSchema = z.object({\n /** S3 object key in the public docs bucket (format: `{domain}/{hash}/{path}`). */\n s3Key: z.string().regex(/^[a-zA-Z0-9._-]+(?:\\/[^/]+){2,}$/)\n});\n\nexport const PresignedFileDownloadResponseSchema = z.object({\n /** Presigned S3 GET URL with long expiry (7 days). */\n url: z.string()\n});\n\n// ── File metadata schemas (metadata-only, no presigned URL) ──────────\n\nexport const FileMetadataInputSchema = z.object({\n deploymentId: z.string(),\n fullPath: z.string()\n});\n\nexport const FileMetadataResponseSchema = z.object({\n /** Content hash — used by the loader to construct CDN URLs. */\n hash: z.string(),\n /** Domain under which the file bytes were uploaded in the docs files bucket. */\n domain: z.string(),\n contentType: z.string(),\n contentLength: z.number().optional(),\n filename: z.string().optional(),\n width: z.number().optional(),\n height: z.number().optional(),\n blurDataURL: z.string().optional()\n});\n\n// ── Read-side contract ─────────────────────────────────────────────────\n\nexport const docsLedgerReadContract = {\n currentVersion: oc\n .route({ method: \"GET\", path: \"/current-version\" })\n .input(CurrentVersionInputSchema)\n .output(CurrentVersionResponseSchema),\n\n currentPreview: oc\n .route({ method: \"GET\", path: \"/current-preview\" })\n .input(CurrentPreviewInputSchema)\n .output(CurrentVersionResponseSchema),\n\n versionMetadata: oc\n .route({ method: \"GET\", path: \"/version-metadata/{deploymentId}\" })\n .input(VersionMetadataInputSchema)\n .output(VersionMetadataResponseSchema),\n\n pageContent: oc\n .route({ method: \"GET\", path: \"/page-content/{deploymentId}\" })\n .input(PageContentInputSchema)\n .output(PageContentResponseSchema),\n\n batchPageContent: oc\n .route({ method: \"POST\", path: \"/batch-page-content/{deploymentId}\" })\n .input(BatchPageContentInputSchema)\n .output(BatchPageContentResponseSchema),\n\n nav: oc.route({ method: \"GET\", path: \"/nav/{segmentHash}\" }).input(NavInputSchema).output(NavResponseSchema),\n\n routeContext: oc\n .route({ method: \"GET\", path: \"/route-context/{deploymentId}\" })\n .input(RouteContextInputSchema)\n .output(RouteContextResponseSchema),\n\n topLevelNavigation: oc\n .route({ method: \"GET\", path: \"/top-level-navigation/{deploymentId}\" })\n .input(TopLevelNavigationInputSchema)\n .output(TopLevelNavigationResponseSchema),\n\n versionSwitchTargets: oc\n .route({ method: \"GET\", path: \"/version-switch-targets/{deploymentId}\" })\n .input(VersionSwitchTargetsInputSchema)\n .output(VersionSwitchTargetsResponseSchema),\n\n apiDefinition: oc\n .route({ method: \"GET\", path: \"/api-definition/{deploymentId}/{apiDefinitionId}\" })\n .input(ApiDefinitionInputSchema)\n .output(ApiDefinitionResponseSchema),\n\n prunedApiDefinition: oc\n .route({ method: \"GET\", path: \"/pruned-api/{deploymentId}/{apiDefinitionId}\" })\n .input(PrunedApiDefinitionInputSchema)\n .output(PrunedApiDefinitionResponseSchema),\n\n fileArtifact: oc\n .route({ method: \"GET\", path: \"/file/{deploymentId}\" })\n .input(FileArtifactInputSchema)\n .output(FileArtifactResponseSchema),\n\n fileMetadata: oc\n .route({ method: \"GET\", path: \"/file-metadata/{deploymentId}\" })\n .input(FileMetadataInputSchema)\n .output(FileMetadataResponseSchema),\n\n presignedFileDownload: oc\n .route({ method: \"POST\", path: \"/presigned-file-download\" })\n .input(PresignedFileDownloadInputSchema)\n .output(PresignedFileDownloadResponseSchema)\n};\n\n// ── Read-side types ────────────────────────────────────────────────────\n\nexport type CurrentVersionInput = z.infer<typeof CurrentVersionInputSchema>;\nexport type CurrentPreviewInput = z.infer<typeof CurrentPreviewInputSchema>;\nexport type CurrentVersionResponse = z.infer<typeof CurrentVersionResponseSchema>;\nexport type VersionMetadataInput = z.infer<typeof VersionMetadataInputSchema>;\nexport type VersionMetadataResponse = z.infer<typeof VersionMetadataResponseSchema>;\nexport type PageContentInput = z.infer<typeof PageContentInputSchema>;\nexport type PageContentResponse = z.infer<typeof PageContentResponseSchema>;\nexport type BatchPageContentInput = z.infer<typeof BatchPageContentInputSchema>;\nexport type BatchPageContentItem = z.infer<typeof BatchPageContentItemSchema>;\nexport type BatchPageContentResponse = z.infer<typeof BatchPageContentResponseSchema>;\nexport type NavInput = z.infer<typeof NavInputSchema>;\nexport type NavResponse = z.infer<typeof NavResponseSchema>;\nexport type RouteContextInput = z.infer<typeof RouteContextInputSchema>;\nexport type RouteContextResponse = z.infer<typeof RouteContextResponseSchema>;\nexport type TopLevelNavigationInput = z.infer<typeof TopLevelNavigationInputSchema>;\nexport type TopLevelNavigationResponse = z.infer<typeof TopLevelNavigationResponseSchema>;\nexport type VersionSwitchTargetsInput = z.infer<typeof VersionSwitchTargetsInputSchema>;\nexport type VersionSwitchTargetsResponse = z.infer<typeof VersionSwitchTargetsResponseSchema>;\nexport type ApiDefinitionInput = z.infer<typeof ApiDefinitionInputSchema>;\nexport type ApiDefinitionResponse = z.infer<typeof ApiDefinitionResponseSchema>;\nexport type PrunedApiDefinitionInput = z.infer<typeof PrunedApiDefinitionInputSchema>;\nexport type PrunedApiDefinitionResponse = z.infer<typeof PrunedApiDefinitionResponseSchema>;\nexport type FileArtifactInput = z.infer<typeof FileArtifactInputSchema>;\nexport type FileArtifactResponse = z.infer<typeof FileArtifactResponseSchema>;\nexport type FileMetadataInput = z.infer<typeof FileMetadataInputSchema>;\nexport type FileMetadataResponse = z.infer<typeof FileMetadataResponseSchema>;\nexport type PresignedFileDownloadInput = z.infer<typeof PresignedFileDownloadInputSchema>;\nexport type PresignedFileDownloadResponse = z.infer<typeof PresignedFileDownloadResponseSchema>;\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { editorSnapshotContract } from \"./contract.js\";\n\nexport type EditorSnapshotClient = JsonifiedClient<ContractRouterClient<typeof editorSnapshotContract>>;\n\nexport interface CreateEditorSnapshotClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createEditorSnapshotClient(options: CreateEditorSnapshotClientOptions): EditorSnapshotClient {\n const link = new OpenAPILink(editorSnapshotContract, {\n url: `${options.baseUrl.replace(/\\/+$/, \"\")}/editor-snapshot`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\n\nexport const GetSnapshotInputSchema = z.object({\n domain: z.string(),\n branchName: z.string()\n});\n\nexport const SetSnapshotInputSchema = z.object({\n domain: z.string(),\n branchName: z.string(),\n data: z.unknown()\n});\n\nexport const GetDocumentsForBranchesInputSchema = z.object({\n domain: z.string(),\n branchNames: z.array(z.string())\n});\n\nexport const EditorDocumentSchema = z.object({\n id: z.string(),\n domain: z.string(),\n branchName: z.string(),\n data: z.unknown(),\n createdAt: z.string(),\n updatedAt: z.string(),\n expiresAt: z.string().optional()\n});\n\nexport const GetSnapshotResponseSchema = z.object({\n data: z.unknown().nullable()\n});\n\nexport const GetDocumentsForBranchesResponseSchema = z.object({\n documents: z.array(EditorDocumentSchema)\n});\n\nexport type GetSnapshotInput = z.infer<typeof GetSnapshotInputSchema>;\nexport type SetSnapshotInput = z.infer<typeof SetSnapshotInputSchema>;\nexport type GetDocumentsForBranchesInput = z.infer<typeof GetDocumentsForBranchesInputSchema>;\nexport type EditorDocumentResponse = z.infer<typeof EditorDocumentSchema>;\nexport type GetSnapshotResponse = z.infer<typeof GetSnapshotResponseSchema>;\nexport type GetDocumentsForBranchesResponse = z.infer<typeof GetDocumentsForBranchesResponseSchema>;\n\nexport const editorSnapshotContract = {\n getSnapshot: oc\n .route({ method: \"POST\", path: \"/get\" })\n .input(GetSnapshotInputSchema)\n .output(GetSnapshotResponseSchema),\n setSnapshot: oc.route({ method: \"POST\", path: \"/set\" }).input(SetSnapshotInputSchema).output(z.object({})),\n getDocumentsForBranches: oc\n .route({ method: \"POST\", path: \"/branches\" })\n .input(GetDocumentsForBranchesInputSchema)\n .output(GetDocumentsForBranchesResponseSchema)\n};\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { generatorCliContract } from \"../contract.js\";\n\nexport type GeneratorCliClient = JsonifiedClient<ContractRouterClient<typeof generatorCliContract>>;\n\nexport interface CreateGeneratorCliClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createGeneratorCliClient(options: CreateGeneratorCliClientOptions): GeneratorCliClient {\n const link = new OpenAPILink(generatorCliContract, {\n url: `${options.baseUrl}/generators/cli`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\n\n// ── GeneratorId branded type ─────────────────────────────────────────\n\nexport type GeneratorId = string & {\n generators_GeneratorId: void;\n};\n\nexport function GeneratorId(value: string): GeneratorId {\n return value as unknown as GeneratorId;\n}\n\n// ── Shared enums / const objects ─────────────────────────────────────\n\nexport const GeneratorLanguage = {\n Python: \"python\",\n Go: \"go\",\n Java: \"java\",\n Typescript: \"typescript\",\n Ruby: \"ruby\",\n Csharp: \"csharp\",\n Php: \"php\",\n Swift: \"swift\",\n Rust: \"rust\"\n} as const;\nexport type GeneratorLanguage = (typeof GeneratorLanguage)[keyof typeof GeneratorLanguage];\n\nexport const ReleaseType = {\n Ga: \"GA\",\n Rc: \"RC\"\n} as const;\nexport type ReleaseType = (typeof ReleaseType)[keyof typeof ReleaseType];\n\n// ── Shared zod schemas ───────────────────────────────────────────────\n\nexport const GeneratorLanguageSchema = z.enum([\n \"python\",\n \"go\",\n \"java\",\n \"typescript\",\n \"ruby\",\n \"csharp\",\n \"php\",\n \"swift\",\n \"rust\"\n]);\n\nexport const ScriptSchema = z.object({\n steps: z.array(z.string())\n});\nexport type Script = z.infer<typeof ScriptSchema>;\n\nexport const GeneratorScriptsSchema = z.object({\n preInstallScript: ScriptSchema.nullish(),\n installScript: ScriptSchema.nullish(),\n compileScript: ScriptSchema.nullish(),\n testScript: ScriptSchema.nullish()\n});\nexport type GeneratorScripts = z.infer<typeof GeneratorScriptsSchema>;\n\nexport const GeneratorTypeSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"sdk\") }),\n z.object({ type: z.literal(\"model\") }),\n z.object({ type: z.literal(\"server\") }),\n z.object({ type: z.literal(\"other\") })\n]);\nexport type GeneratorType = z.infer<typeof GeneratorTypeSchema>;\n\nexport const ChangelogEntryTypeSchema = z.enum([\"fix\", \"feat\", \"chore\", \"break\", \"internal\"]);\nexport type ChangelogEntryType = z.infer<typeof ChangelogEntryTypeSchema>;\n\nexport const ChangelogEntrySchema = z.object({\n type: ChangelogEntryTypeSchema,\n summary: z.string(),\n links: z.array(z.string()).nullish(),\n upgradeNotes: z.string().nullish(),\n added: z.array(z.string()).nullish(),\n changed: z.array(z.string()).nullish(),\n deprecated: z.array(z.string()).nullish(),\n removed: z.array(z.string()).nullish(),\n fixed: z.array(z.string()).nullish()\n});\nexport type ChangelogEntry = z.infer<typeof ChangelogEntrySchema>;\n\nexport const YankSchema = z.object({\n remediationVerision: z.string().nullish()\n});\nexport type Yank = z.infer<typeof YankSchema>;\n\nexport const ReleaseTypeSchema = z.enum([\"GA\", \"RC\"]);\n\nexport const VersionRangeSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"inclusive\"), value: z.string() }),\n z.object({ type: z.literal(\"exclusive\"), value: z.string() })\n]);\nexport type VersionRange = z.infer<typeof VersionRangeSchema>;\n\n// ── Root generators schemas ──────────────────────────────────────────\n\nexport const GeneratorSchema = z.object({\n id: z.string(),\n displayName: z.string(),\n generatorType: GeneratorTypeSchema,\n generatorLanguage: GeneratorLanguageSchema.nullish(),\n dockerImage: z.string(),\n scripts: GeneratorScriptsSchema.nullish()\n});\n\nexport const GeneratorOutputSchema = z.object({\n id: z.string(),\n displayName: z.string(),\n generatorType: GeneratorTypeSchema,\n generatorLanguage: GeneratorLanguageSchema.nullish(),\n dockerImage: z.string(),\n scripts: GeneratorScriptsSchema.nullish()\n});\n\nexport const GetGeneratorByImageInputSchema = z.object({\n dockerImage: z.string()\n});\n\nexport const GetGeneratorInputSchema = z.object({\n generatorId: z.string()\n});\n\n// ── Generator versions schemas ───────────────────────────────────────\n\nexport const GeneratorReleaseSchema = z.object({\n version: z.string(),\n createdAt: z.string().nullish(),\n isYanked: YankSchema.nullish(),\n changelogEntry: z.array(ChangelogEntrySchema).nullish(),\n releaseType: ReleaseTypeSchema,\n majorVersion: z.number(),\n generatorId: z.string(),\n irVersion: z.number(),\n migration: z.string().nullish(),\n customConfigSchema: z.string().nullish(),\n tags: z.array(z.string()).nullish()\n});\n\nexport const GeneratorReleaseRequestSchema = z.object({\n version: z.string(),\n createdAt: z.string().nullish(),\n isYanked: YankSchema.nullish(),\n changelogEntry: z.array(ChangelogEntrySchema).nullish(),\n generatorId: z.string(),\n irVersion: z.number(),\n migration: z.string().nullish(),\n customConfigSchema: z.string().nullish(),\n tags: z.array(z.string()).nullish()\n});\n\nexport const GetLatestGeneratorReleaseInputSchema = z.object({\n generator: z.string(),\n cliVersion: z.string().nullish(),\n irVersion: z.number().nullish(),\n generatorMajorVersion: z.number().nullish(),\n releaseTypes: z.array(ReleaseTypeSchema).nullish()\n});\n\nexport const GetGeneratorChangelogInputSchema = z.object({\n generator: z.string(),\n fromVersion: VersionRangeSchema,\n toVersion: VersionRangeSchema\n});\n\nexport const ChangelogResponseSchema = z.object({\n version: z.string(),\n changelogEntry: z.array(ChangelogEntrySchema)\n});\n\nexport const GetChangelogResponseSchema = z.object({\n entries: z.array(ChangelogResponseSchema)\n});\n\nexport const GetGeneratorReleaseInputSchema = z.object({\n generator: z.string(),\n version: z.string()\n});\n\nexport const ListGeneratorReleasesInputSchema = z.object({\n generator: z.string(),\n page: z.coerce.number().nullish(),\n pageSize: z.coerce.number().nullish()\n});\n\nexport const ListGeneratorReleasesResponseSchema = z.object({\n generatorReleases: z.array(GeneratorReleaseSchema)\n});\n\n// ── CLI schemas ──────────────────────────────────────────────────────\n\nexport const CliReleaseSchema = z.object({\n version: z.string(),\n createdAt: z.string().nullish(),\n isYanked: YankSchema.nullish(),\n changelogEntry: z.array(ChangelogEntrySchema).nullish(),\n releaseType: ReleaseTypeSchema,\n majorVersion: z.number(),\n irVersion: z.number(),\n tags: z.array(z.string()).nullish()\n});\n\nexport const GetLatestCliReleaseInputSchema = z.object({\n releaseTypes: z.array(ReleaseTypeSchema).nullish(),\n irVersion: z.number().nullish()\n});\n\nexport const GetCliChangelogInputSchema = z.object({\n fromVersion: VersionRangeSchema,\n toVersion: VersionRangeSchema\n});\n\nexport const GetMinCliForIrInputSchema = z.object({\n irVersion: z.coerce.number()\n});\n\nexport const UpsertCliReleaseInputSchema = z.object({\n version: z.string(),\n createdAt: z.string().nullish(),\n isYanked: YankSchema.nullish(),\n changelogEntry: z.array(ChangelogEntrySchema).nullish(),\n irVersion: z.number(),\n tags: z.array(z.string()).nullish()\n});\n\nexport const GetCliReleaseInputSchema = z.object({\n cliVersion: z.string()\n});\n\nexport const ListCliReleasesInputSchema = z.object({\n page: z.coerce.number().nullish(),\n pageSize: z.coerce.number().nullish()\n});\n\nexport const ListCliReleasesResponseSchema = z.object({\n cliReleases: z.array(CliReleaseSchema)\n});\n\n// ── Contracts ────────────────────────────────────────────────────────\n\nexport const generatorsContract = {\n upsertGenerator: oc.route({ method: \"PUT\", path: \"/\" }).input(GeneratorSchema).output(z.void()),\n\n getGeneratorByImage: oc\n .route({ method: \"POST\", path: \"/by-image\" })\n .input(GetGeneratorByImageInputSchema)\n .output(GeneratorOutputSchema.nullish()),\n\n getGenerator: oc\n .route({ method: \"GET\", path: \"/{generatorId}\" })\n .input(GetGeneratorInputSchema)\n .output(GeneratorOutputSchema.nullish()),\n\n listGenerators: oc.route({ method: \"GET\", path: \"/\" }).input(z.object({})).output(z.array(GeneratorOutputSchema))\n};\n\nexport const generatorVersionsContract = {\n getLatestGeneratorRelease: oc\n .route({ method: \"POST\", path: \"/latest\" })\n .input(GetLatestGeneratorReleaseInputSchema)\n .output(GeneratorReleaseSchema),\n\n getChangelog: oc\n .route({ method: \"POST\", path: \"/{generator}/changelog\" })\n .input(GetGeneratorChangelogInputSchema)\n .output(GetChangelogResponseSchema),\n\n upsertGeneratorRelease: oc\n .route({ method: \"PUT\", path: \"/\" })\n .input(GeneratorReleaseRequestSchema)\n .output(z.void()),\n\n getGeneratorRelease: oc\n .route({ method: \"GET\", path: \"/{generator}/{version}\" })\n .input(GetGeneratorReleaseInputSchema)\n .output(GeneratorReleaseSchema),\n\n listGeneratorReleases: oc\n .route({ method: \"GET\", path: \"/{generator}\" })\n .input(ListGeneratorReleasesInputSchema)\n .output(ListGeneratorReleasesResponseSchema)\n};\n\nexport const generatorCliContract = {\n getLatestCliRelease: oc\n .route({ method: \"POST\", path: \"/latest\" })\n .input(GetLatestCliReleaseInputSchema)\n .output(CliReleaseSchema),\n\n getChangelog: oc\n .route({ method: \"POST\", path: \"/changelog\" })\n .input(GetCliChangelogInputSchema)\n .output(GetChangelogResponseSchema),\n\n getMinCliForIr: oc\n .route({ method: \"GET\", path: \"/for-ir/{irVersion}\" })\n .input(GetMinCliForIrInputSchema)\n .output(CliReleaseSchema),\n\n upsertCliRelease: oc.route({ method: \"PUT\", path: \"/\" }).input(UpsertCliReleaseInputSchema).output(z.void()),\n\n getCliRelease: oc\n .route({ method: \"GET\", path: \"/{cliVersion}\" })\n .input(GetCliReleaseInputSchema)\n .output(CliReleaseSchema),\n\n listCliReleases: oc\n .route({ method: \"GET\", path: \"/\" })\n .input(ListCliReleasesInputSchema)\n .output(ListCliReleasesResponseSchema)\n};\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { generatorsContract } from \"./contract.js\";\n\nexport type GeneratorsRootClient = JsonifiedClient<ContractRouterClient<typeof generatorsContract>>;\n\nexport interface CreateGeneratorsRootClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createGeneratorsRootClient(options: CreateGeneratorsRootClientOptions): GeneratorsRootClient {\n const link = new OpenAPILink(generatorsContract, {\n url: `${options.baseUrl}/generators`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { generatorVersionsContract } from \"../contract.js\";\n\nexport type GeneratorVersionsClient = JsonifiedClient<ContractRouterClient<typeof generatorVersionsContract>>;\n\nexport interface CreateGeneratorVersionsClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createGeneratorVersionsClient(options: CreateGeneratorVersionsClientOptions): GeneratorVersionsClient {\n const link = new OpenAPILink(generatorVersionsContract, {\n url: `${options.baseUrl}/generators/versions`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { gitContract } from \"./contract.js\";\n\nexport type GitClient = JsonifiedClient<ContractRouterClient<typeof gitContract>>;\n\nexport interface CreateGitClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createGitClient(options: CreateGitClientOptions): GitClient {\n const link = new OpenAPILink(gitContract, {\n url: `${options.baseUrl}/generators/github`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\n\n// ── Data schemas ────────────────────────────────────────────────────────\n\nexport const CheckRunSchema = z.object({\n checkId: z.string(),\n repositoryOwner: z.string(),\n repositoryName: z.string(),\n ref: z.string(),\n name: z.string(),\n status: z.string(),\n conclusion: z.string(),\n checkRunUrl: z.string(),\n createdAt: z.string(),\n completedAt: z.string().nullish(),\n rawCheckRun: z.unknown()\n});\n\nexport const GithubRepositoryIdSchema = z.object({\n id: z.string()\n});\n\nexport const RepositoryIdSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"github\") }).merge(GithubRepositoryIdSchema)\n]);\n\nexport const BaseRepositorySchema = z.object({\n id: RepositoryIdSchema,\n name: z.string(),\n owner: z.string(),\n fullName: z.string(),\n url: z.string(),\n repositoryOwnerOrganizationId: z.string(),\n defaultBranchChecks: z.array(CheckRunSchema)\n});\n\nexport const SdkRepositorySchema = BaseRepositorySchema.extend({\n type: z.literal(\"sdk\"),\n sdkLanguage: z.string()\n});\n\nexport const FernConfigRepositorySchema = BaseRepositorySchema.extend({\n type: z.literal(\"config\")\n});\n\nexport const FernRepositorySchema = z.discriminatedUnion(\"type\", [SdkRepositorySchema, FernConfigRepositorySchema]);\n\nexport const GithubUserSchema = z.object({\n name: z.string().nullish(),\n email: z.string().nullish(),\n username: z.string()\n});\n\nexport const GithubTeamSchema = z.object({\n name: z.string(),\n teamId: z.string()\n});\n\nexport const PullRequestReviewerSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"user\") }).merge(GithubUserSchema),\n z.object({ type: z.literal(\"team\") }).merge(GithubTeamSchema)\n]);\n\nexport const PullRequestStateSchema = z.enum([\"open\", \"closed\", \"merged\"]);\n\nexport const PullRequestState = {\n Open: \"open\",\n Closed: \"closed\",\n Merged: \"merged\"\n} as const;\n\nexport const PullRequestSchema = z.object({\n pullRequestNumber: z.number().int(),\n repositoryName: z.string(),\n repositoryOwner: z.string(),\n author: GithubUserSchema.nullish(),\n reviewers: z.array(PullRequestReviewerSchema),\n title: z.string(),\n url: z.string(),\n checks: z.array(CheckRunSchema),\n state: PullRequestStateSchema,\n createdAt: z.string(),\n updatedAt: z.string().nullish(),\n mergedAt: z.string().nullish(),\n closedAt: z.string().nullish()\n});\n\nexport const ListRepositoriesResponseSchema = z.object({\n repositories: z.array(FernRepositorySchema)\n});\n\nexport const ListPullRequestsResponseSchema = z.object({\n pullRequests: z.array(PullRequestSchema)\n});\n\n// ── Input schemas ───────────────────────────────────────────────────────\n\nexport const GetRepositoryInputSchema = z.object({\n repositoryOwner: z.string(),\n repositoryName: z.string()\n});\n\nexport const ListRepositoriesInputSchema = z.object({\n page: z.number().int().nullish(),\n pageSize: z.number().int().nullish(),\n organizationId: z.string().nullish(),\n repositoryName: z.string().nullish(),\n repositoryOwner: z.string().nullish()\n});\n\nexport const DeleteRepositoryInputSchema = z.object({\n repositoryOwner: z.string(),\n repositoryName: z.string()\n});\n\nexport const GetPullRequestInputSchema = z.object({\n repositoryOwner: z.string(),\n repositoryName: z.string(),\n pullRequestNumber: z.coerce.number().int()\n});\n\nexport const ListPullRequestsInputSchema = z.object({\n page: z.number().int().nullish(),\n pageSize: z.number().int().nullish(),\n repositoryName: z.string().nullish(),\n repositoryOwner: z.string().nullish(),\n organizationId: z.string().nullish(),\n state: z.array(PullRequestStateSchema).nullish(),\n author: z.array(z.string()).nullish()\n});\n\nexport const DeletePullRequestInputSchema = z.object({\n repositoryOwner: z.string(),\n repositoryName: z.string(),\n pullRequestNumber: z.coerce.number().int()\n});\n\n// ── Inferred types ──────────────────────────────────────────────────────\n\nexport type CheckRun = z.infer<typeof CheckRunSchema>;\nexport type GithubRepositoryId = z.infer<typeof GithubRepositoryIdSchema>;\nexport type RepositoryId = z.infer<typeof RepositoryIdSchema>;\nexport type BaseRepository = z.infer<typeof BaseRepositorySchema>;\nexport type SdkRepository = z.infer<typeof SdkRepositorySchema>;\nexport type FernConfigRepository = z.infer<typeof FernConfigRepositorySchema>;\nexport type FernRepository = z.infer<typeof FernRepositorySchema>;\nexport type GithubUser = z.infer<typeof GithubUserSchema>;\nexport type GithubTeam = z.infer<typeof GithubTeamSchema>;\nexport type PullRequestReviewer = z.infer<typeof PullRequestReviewerSchema>;\nexport type PullRequestState = z.infer<typeof PullRequestStateSchema>;\nexport type PullRequest = z.infer<typeof PullRequestSchema>;\nexport type ListRepositoriesResponse = z.infer<typeof ListRepositoriesResponseSchema>;\nexport type ListPullRequestsResponse = z.infer<typeof ListPullRequestsResponseSchema>;\nexport type GetRepositoryInput = z.infer<typeof GetRepositoryInputSchema>;\nexport type ListRepositoriesInput = z.infer<typeof ListRepositoriesInputSchema>;\nexport type DeleteRepositoryInput = z.infer<typeof DeleteRepositoryInputSchema>;\nexport type GetPullRequestInput = z.infer<typeof GetPullRequestInputSchema>;\nexport type ListPullRequestsInput = z.infer<typeof ListPullRequestsInputSchema>;\nexport type DeletePullRequestInput = z.infer<typeof DeletePullRequestInputSchema>;\n\n// ── Contract ────────────────────────────────────────────────────────────\n\nexport const gitContract = {\n getRepository: oc\n .route({ method: \"GET\", path: \"/repository/{repositoryOwner}/{repositoryName}\" })\n .input(GetRepositoryInputSchema)\n .output(FernRepositorySchema),\n\n listRepositories: oc\n .route({ method: \"POST\", path: \"/repository/list\" })\n .input(ListRepositoriesInputSchema)\n .output(ListRepositoriesResponseSchema),\n\n upsertRepository: oc.route({ method: \"PUT\", path: \"/repository/upsert\" }).input(FernRepositorySchema),\n\n deleteRepository: oc\n .route({ method: \"DELETE\", path: \"/repository/{repositoryOwner}/{repositoryName}/delete\" })\n .input(DeleteRepositoryInputSchema),\n\n getPullRequest: oc\n .route({ method: \"GET\", path: \"/pull-request/{repositoryOwner}/{repositoryName}/{pullRequestNumber}\" })\n .input(GetPullRequestInputSchema)\n .output(PullRequestSchema),\n\n listPullRequests: oc\n .route({ method: \"POST\", path: \"/pull-request/list\" })\n .input(ListPullRequestsInputSchema)\n .output(ListPullRequestsResponseSchema),\n\n upsertPullRequest: oc.route({ method: \"PUT\", path: \"/pull-request/upsert\" }).input(PullRequestSchema),\n\n deletePullRequest: oc\n .route({\n method: \"DELETE\",\n path: \"/pull-request/{repositoryOwner}/{repositoryName}/{pullRequestNumber}/delete\"\n })\n .input(DeletePullRequestInputSchema)\n};\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\n\nimport { mcpHostingContract } from \"./contract.js\";\n\nexport type McpHostingClient = JsonifiedClient<ContractRouterClient<typeof mcpHostingContract>>;\n\nexport interface CreateMcpHostingClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createMcpHostingClient(options: CreateMcpHostingClientOptions): McpHostingClient {\n const link = new OpenAPILink(mcpHostingContract, {\n url: `${options.baseUrl}/mcp-hosting`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\n\nimport { McpAnalyticsSchema, McpAnalyticsWindowSchema } from \"./analytics.js\";\nimport { McpDeploymentSkippedToolSchema, McpDeploymentToolSchema, McpServerCatalogSummarySchema } from \"./catalog.js\";\nimport {\n type McpAuthScheme,\n McpAuthSchemeSchema,\n type McpMetadata,\n McpMetadataSchema,\n type McpService,\n McpServiceSchema,\n type McpServiceTool,\n McpServiceToolSchema,\n type McpTool,\n McpToolSchema,\n Sha256Schema\n} from \"./schemas.js\";\nexport { McpAuthSchemeSchema, McpMetadataSchema, McpServiceSchema, McpServiceToolSchema, McpToolSchema, Sha256Schema };\nexport type { McpAuthScheme, McpMetadata, McpService, McpServiceTool, McpTool };\n\n// Bounded to 30 chars: scriptNameFor produces `{orgId}--{slug}` which must fit\n// in a 63-char Cloudflare script name (30 + 2 + 30 = 62). Lowercase + hyphens\n// only; no underscores or uppercase. The regex also forbids consecutive\n// hyphens, which keeps `--` collision-safe as the script-name separator.\nconst McpPathSegmentSchema = z\n .string()\n .min(1)\n .max(30)\n .regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/);\n\n// Outcome of one publication attempt (PUBLISHING -> SUCCEEDED | FAILED,\n// then terminal). Whether a server is serving is a separate question,\n// answered by McpServerSchema.activeDeploymentId.\nexport const McpDeploymentStatusSchema = z.enum([\"PUBLISHING\", \"SUCCEEDED\", \"FAILED\"]);\n\n/** One Worker module as submitted at deploy time and stored on the deployment row. */\nexport const McpModuleSchema = z\n .object({\n name: z.string().regex(/^[A-Za-z0-9._/-]+$/),\n hash: Sha256Schema,\n contentType: z.string().min(1)\n })\n .strict();\n\nconst McpGitInputSchema = z\n .object({\n repoUrl: z.string(),\n /** Absent on a detached HEAD (a CI checkout of a commit, say). */\n branch: z.string().optional(),\n commitSha: z.string().optional()\n })\n .strict();\n\n/**\n * The files the generator was run from, uploaded to CAS by the CLI like the\n * modules and recorded on the deployment so the dashboard can hand them back.\n * A closed set: each name fixes its content type, so a `specs.tar.gz` cannot\n * claim to be JSON and an unknown file cannot ride along. Nothing here is ever\n * published to the edge — these are provenance, not payload.\n */\nexport const McpInputFileSchema = z.discriminatedUnion(\"name\", [\n z\n .object({\n /** The `sources` part of the build request, verbatim. */\n name: z.literal(\"specs.tar.gz\"),\n contentType: z.literal(\"application/gzip\"),\n hash: Sha256Schema\n })\n .strict(),\n z\n .object({\n /** This target's sdk-config payload. */\n name: z.literal(\"sdk-config.json\"),\n contentType: z.literal(\"application/json\"),\n hash: Sha256Schema\n })\n .strict(),\n z\n .object({\n /** The build request narrowed to this target. */\n name: z.literal(\"build-request.json\"),\n contentType: z.literal(\"application/json\"),\n hash: Sha256Schema\n })\n .strict()\n]);\n\nexport const McpInputFilesSchema = z\n .array(McpInputFileSchema)\n .max(3)\n .superRefine((inputs, ctx) => {\n const names = new Set<string>();\n for (const input of inputs) {\n if (names.has(input.name)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `duplicate input name: ${input.name}`\n });\n }\n names.add(input.name);\n }\n });\n\n// ── Deploy-time bounds ─────────────────────────────────────────────────────\n//\n// Everything below applies to a deploy REQUEST only. McpMetadataSchema itself\n// stays lenient (it also parses stored rows, and rollback re-validates them),\n// so tightening it would strand deployments written before a rule existed.\n// The rules live here, attached to the request schema via superRefine, and the\n// inferred metadata type is unchanged.\n\n/** The generator's own toolset-name rule (TOOLSET_NAME_PATTERN); a toolset is a URL path segment. */\nconst TOOLSET_NAME_PATTERN = /^[a-z0-9-]+$/;\n/** MCP tool names, as the generator emits them and clients call them. */\nconst TOOL_NAME_PATTERN = /^[a-zA-Z0-9_-]{1,64}$/;\n/** An RFC 7230 token: what may name a header, query parameter or cookie an apiKey scheme injects. */\nconst HEADER_TOKEN_PATTERN = /^[!#$%&'*+.^_`|~0-9A-Za-z-]{1,128}$/;\nconst MAX_OPERATION_ID_LENGTH = 256;\nconst MAX_METHOD_LENGTH = 16;\nconst MAX_PATH_LENGTH = 2048;\n\n/** Upper bound on the serialized `metadata` of one deploy request, in UTF-8 bytes. */\nexport const MCP_METADATA_MAX_BYTES = 2 * 1024 * 1024;\n/** Upper bound on the serialized `config` blob of one deploy request, in UTF-8 bytes. */\nexport const MCP_CONFIG_MAX_BYTES = 64 * 1024;\n\n/** UTF-8 byte length of a string. TextEncoder is available in Node, workers and browsers alike. */\nfunction utf8ByteLength(text: string): number {\n return new TextEncoder().encode(text).byteLength;\n}\n\n/**\n * Predicate for a size refinement: the value's JSON serialization is at most\n * `limit` UTF-8 bytes. Counted in bytes, not characters — bytes are what the\n * JSONB column and the wire carry, and one character can be several of them.\n * `undefined` (an absent optional field) always fits.\n */\nfunction maxSerializedBytes(limit: number): (value: unknown) => boolean {\n return (value) => {\n if (value === undefined) {\n return true;\n }\n const json = JSON.stringify(value);\n return json === undefined || utf8ByteLength(json) <= limit;\n };\n}\n\n/**\n * The deploy-only rules for `metadata`. Every string here is deployer-\n * controlled and ends up in a URL, a header name or a dashboard cell, so the\n * closed alphabets and lengths bound what can reach those places.\n */\nfunction deployMetadataChecks(metadata: McpMetadata, ctx: z.RefinementCtx): void {\n for (const [toolset, members] of Object.entries(metadata.toolsets)) {\n if (!TOOLSET_NAME_PATTERN.test(toolset)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: [\"toolsets\", toolset],\n message: `toolset name \"${toolset}\" must match ${TOOLSET_NAME_PATTERN}`\n });\n }\n members.forEach((member, index) => {\n if (!TOOL_NAME_PATTERN.test(member)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: [\"toolsets\", toolset, index],\n message: `tool name \"${member}\" must match ${TOOL_NAME_PATTERN}`\n });\n }\n });\n }\n (metadata.tools ?? []).forEach((tool, index) => {\n if (!TOOL_NAME_PATTERN.test(tool.name)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: [\"tools\", index, \"name\"],\n message: `tool name \"${tool.name}\" must match ${TOOL_NAME_PATTERN}`\n });\n }\n if (tool.operationId != null && tool.operationId.length > MAX_OPERATION_ID_LENGTH) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: [\"tools\", index, \"operationId\"],\n message: `operationId must be at most ${MAX_OPERATION_ID_LENGTH} characters`\n });\n }\n if (tool.method.length > MAX_METHOD_LENGTH) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: [\"tools\", index, \"method\"],\n message: `method must be at most ${MAX_METHOD_LENGTH} characters`\n });\n }\n if (tool.path.length > MAX_PATH_LENGTH) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: [\"tools\", index, \"path\"],\n message: `path must be at most ${MAX_PATH_LENGTH} characters`\n });\n }\n });\n metadata.auth.schemes.forEach((scheme, index) => {\n if (scheme.type === \"apiKey\" && !HEADER_TOKEN_PATTERN.test(scheme.paramName)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: [\"auth\", \"schemes\", index, \"paramName\"],\n message: `paramName \"${scheme.paramName}\" must be an RFC 7230 token of at most 128 characters`\n });\n }\n });\n if (!maxSerializedBytes(MCP_METADATA_MAX_BYTES)(metadata)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `metadata must be at most ${MCP_METADATA_MAX_BYTES} bytes serialized`\n });\n }\n}\n\nexport const DeployMcpServerInputSchema = z\n .object({\n orgId: McpPathSegmentSchema,\n slug: McpPathSegmentSchema,\n mainModule: z.string().min(1),\n compatibilityDate: z.string().regex(/^\\d{4}-\\d{2}-\\d{2}$/),\n compatibilityFlags: z.array(z.string()),\n // Bounded so a single deploy request cannot fan out unbounded parallel\n // CAS lookups and S3 reads. Generated MCP workers are 1-2 modules;\n // 20 leaves room for wasm/sourcemap/chunk splitting.\n modules: z.array(McpModuleSchema).min(1).max(20),\n metadata: McpMetadataSchema.superRefine(deployMetadataChecks),\n // Everything else in this schema is bounded; keep the opaque config\n // blob bounded too so it cannot balloon the JSONB row.\n config: z\n .unknown()\n .optional()\n .refine(maxSerializedBytes(MCP_CONFIG_MAX_BYTES), {\n message: `config must be at most ${MCP_CONFIG_MAX_BYTES} bytes serialized`\n }),\n generatorName: z.string().min(1),\n generatorVersion: z.string().min(1),\n cliVersion: z.string().optional(),\n git: McpGitInputSchema.optional(),\n inputs: McpInputFilesSchema.optional()\n })\n .strict()\n .superRefine((input, ctx) => {\n // FormData.set silently overwrites duplicate parts, so a duplicate\n // module name would drop bytes without any error from Cloudflare.\n const names = new Set<string>();\n for (const module of input.modules) {\n if (names.has(module.name)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: [\"modules\"],\n message: `duplicate module name: ${module.name}`\n });\n }\n names.add(module.name);\n }\n if (!names.has(input.mainModule)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: [\"mainModule\"],\n message: `mainModule ${input.mainModule} is not among the submitted modules`\n });\n }\n });\n\nexport const GetMcpServerInputSchema = z.object({\n orgId: McpPathSegmentSchema,\n slug: McpPathSegmentSchema\n});\n\nexport const ListMcpServersInputSchema = z.object({\n orgId: z.string()\n});\n\nexport const ListMcpDeploymentsInputSchema = GetMcpServerInputSchema;\nexport const DeleteMcpServerInputSchema = GetMcpServerInputSchema;\nexport const PauseMcpServerInputSchema = GetMcpServerInputSchema;\nexport const ResumeMcpServerInputSchema = GetMcpServerInputSchema;\n\nexport const GetMcpDeploymentInputSchema = z.object({\n orgId: McpPathSegmentSchema,\n slug: McpPathSegmentSchema,\n /** Id of one of the server's attempts (the rows are uuid v7). */\n deploymentId: z.string().uuid()\n});\n\nexport const RollbackMcpServerInputSchema = z.object({\n orgId: McpPathSegmentSchema,\n slug: McpPathSegmentSchema,\n /** Id of the SUCCEEDED deployment whose payload should serve again. */\n deploymentId: z.string().min(1).max(64)\n});\n\nexport const GetMcpAnalyticsInputSchema = z.object({\n orgId: McpPathSegmentSchema,\n slug: McpPathSegmentSchema,\n window: McpAnalyticsWindowSchema.default(\"24h\")\n});\n\n/** The git checkout the CLI reported at deploy time; see McpGitInputSchema. */\nexport const McpDeploymentGitSchema = z.object({\n repoUrl: z.string(),\n branch: z.string().nullish(),\n commitSha: z.string().nullish()\n});\n\nexport const McpDeploymentSummarySchema = z.object({\n id: z.string(),\n status: McpDeploymentStatusSchema,\n /** True when this deployment is the one the server currently serves. */\n isActive: z.boolean(),\n /**\n * Docker image name of the generator that produced this attempt's payload\n * (DeployMcpServerInputSchema.generatorName). Null only on the wire from\n * an FDR that predates the field; the column itself is required.\n */\n generatorName: z.string().nullish(),\n generatorVersion: z.string(),\n createdAt: z.string(),\n createdBy: z.string().nullish(),\n error: z.object({ name: z.string(), message: z.string() }).nullish(),\n /**\n * Set when this attempt republished an earlier deployment's payload\n * (rollbackServer): the id of that source deployment. Null for attempts\n * that came from a deploy.\n */\n rolledBackFromDeploymentId: z.string().nullish(),\n /**\n * Headline tool count of this attempt's payload, by the same rule as\n * McpServerCatalogSummarySchema.toolCount. Null when the stored payload\n * predates the current metadata schema.\n */\n toolCount: z.number().int().nullish(),\n /**\n * Version of the Fern CLI that submitted this attempt, when one identified\n * itself (DeployMcpServerInputSchema.cliVersion). Null for attempts that\n * reached the deploy endpoint without it, and for rollbacks, which FDR\n * records on its own behalf.\n */\n cliVersion: z.string().nullish(),\n /**\n * The CI run that submitted this attempt, as the CLI described it in the\n * `X-CI-Source` header and FDR sanitized it (the same treatment docs\n * publishes get: `runUrl` is kept only when https on a known host). Keys\n * are the CLI's — type, repo, runId, runUrl, commitSha, branch, actor —\n * and, like the deployer headers, self-asserted by the caller. Null for\n * local deploys and rollbacks.\n */\n ciSource: z.record(z.string(), z.unknown()).nullish(),\n /**\n * The repository this attempt's payload was generated from, as the CLI\n * reported it (DeployMcpServerInputSchema.git). A rollback carries its\n * source deployment's checkout. Null for attempts that reached the deploy\n * endpoint without one, and on the wire from an FDR that predates the\n * field.\n */\n git: McpDeploymentGitSchema.nullish(),\n /**\n * Short digest of the Worker modules this attempt deployed, derived from the\n * modules' own content hashes (see bundleDigestFrom in FDR). Two attempts\n * that shipped the same bytes carry the same digest — a rollback and the\n * deployment it restored always do — so it names what a version *is* rather\n * than which row it was. Null when the stored module list does not parse.\n */\n bundleDigest: z.string().nullish()\n});\n\n/** One recorded input file with a presigned, time-limited URL to download its bytes. */\nexport const McpDeploymentInputFileSchema = z.object({\n name: z.string(),\n contentType: z.string(),\n hash: z.string(),\n downloadUrl: z.string()\n});\n\n/**\n * Everything FDR stored about one attempt, for the dashboard's deployment\n * detail: the summary plus what the payload was built from. FDR stores and\n * hands back; it does not interpret `config`. Legacy rows read as `tools: []`\n * and `inputs: null` rather than failing.\n */\nexport const McpDeploymentDetailSchema = McpDeploymentSummarySchema.extend({\n /** Empty when the stored metadata carries no `tools` (generators before provenance). */\n tools: z.array(McpDeploymentToolSchema),\n skippedTools: z.array(McpDeploymentSkippedToolSchema),\n /** The stored toolset membership map, as deployed. */\n toolsets: z.record(z.string(), z.array(z.string())),\n /** The raw generators.yml `config:` block the CLI sent, or null. Visible to org members. */\n config: z.unknown().nullable(),\n /** Null when the attempt recorded no inputs (older CLIs, rollbacks of such rows). */\n inputs: z.array(McpDeploymentInputFileSchema).nullable()\n});\n\nexport const McpServerSchema = z.object({\n id: z.string(),\n orgId: z.string(),\n slug: z.string(),\n /** The server is serving iff this is set; it names the serving deployment. */\n activeDeploymentId: z.string().nullish(),\n /** Most recent publication attempt — how the last deploy went. */\n latestDeployment: McpDeploymentSummarySchema.nullish(),\n /**\n * ISO timestamp of the owner's pause, or null when the server serves\n * normally. While set, the dispatcher answers every request with 429\n * (KV_KEY_PREFIX_PAUSED in kv.ts). Independent of activeDeploymentId: a\n * paused server keeps its serving deployment and resumes exactly there.\n */\n pausedAt: z.string().nullish(),\n /**\n * What the server offers, derived from the ACTIVE deployment's stored\n * metadata (tools, toolsets, auth, configuration). Null when nothing is\n * active, or when the active row's payload predates the current metadata\n * schema. See catalog.ts for the derivation rules.\n */\n catalog: McpServerCatalogSummarySchema.nullish(),\n url: z.string().url(),\n createdAt: z.string(),\n updatedAt: z.string()\n});\n\nexport const ListMcpServersResponseSchema = z.object({ servers: z.array(McpServerSchema) });\nexport const ListMcpDeploymentsResponseSchema = z.object({ deployments: z.array(McpDeploymentSummarySchema) });\n\nexport type McpDeploymentStatus = z.infer<typeof McpDeploymentStatusSchema>;\nexport type McpModule = z.infer<typeof McpModuleSchema>;\nexport type McpInputFile = z.infer<typeof McpInputFileSchema>;\nexport type DeployMcpServerInput = z.infer<typeof DeployMcpServerInputSchema>;\nexport type GetMcpDeploymentInput = z.infer<typeof GetMcpDeploymentInputSchema>;\nexport type RollbackMcpServerInput = z.infer<typeof RollbackMcpServerInputSchema>;\nexport type McpServer = z.infer<typeof McpServerSchema>;\nexport type McpDeploymentSummary = z.infer<typeof McpDeploymentSummarySchema>;\nexport type McpDeploymentGit = z.infer<typeof McpDeploymentGitSchema>;\nexport type McpDeploymentInputFile = z.infer<typeof McpDeploymentInputFileSchema>;\nexport type McpDeploymentDetail = z.infer<typeof McpDeploymentDetailSchema>;\nexport type ListMcpServersResponse = z.infer<typeof ListMcpServersResponseSchema>;\nexport type ListMcpDeploymentsResponse = z.infer<typeof ListMcpDeploymentsResponseSchema>;\n/** Wire shape of a getAnalytics request (`window` is optional and defaults to \"24h\"). */\nexport type GetMcpAnalyticsInput = z.input<typeof GetMcpAnalyticsInputSchema>;\n\nexport const mcpHostingContract = {\n deploy: oc.route({ method: \"POST\", path: \"/deploy\" }).input(DeployMcpServerInputSchema).output(McpServerSchema),\n getServer: oc\n .route({ method: \"GET\", path: \"/servers/{slug}\" })\n .input(GetMcpServerInputSchema)\n .output(McpServerSchema),\n listServers: oc\n .route({ method: \"GET\", path: \"/servers\" })\n .input(ListMcpServersInputSchema)\n .output(ListMcpServersResponseSchema),\n listDeployments: oc\n .route({ method: \"GET\", path: \"/servers/{slug}/deployments\" })\n .input(ListMcpDeploymentsInputSchema)\n .output(ListMcpDeploymentsResponseSchema),\n /**\n * One attempt in full: its summary plus the tools (with operation\n * provenance and toolset membership), skipped tools, raw config, git\n * checkout and downloadable input files FDR recorded for it. Input\n * download URLs are presigned and short-lived; callers must not cache\n * the response. NOT_FOUND for a server the org does not have or a\n * deployment the server does not have — an id from another server, or\n * another org, is not found rather than forbidden.\n */\n getDeployment: oc\n .route({ method: \"GET\", path: \"/servers/{slug}/deployments/{deploymentId}\" })\n .input(GetMcpDeploymentInputSchema)\n .output(McpDeploymentDetailSchema),\n deleteServer: oc.route({ method: \"DELETE\", path: \"/servers/{slug}\" }).input(DeleteMcpServerInputSchema),\n /**\n * Stop serving without touching the deployment: the dispatcher answers\n * 429 until resumeServer. Idempotent; returns the (paused) server.\n */\n pauseServer: oc\n .route({ method: \"POST\", path: \"/servers/{slug}/pause\" })\n .input(PauseMcpServerInputSchema)\n .output(McpServerSchema),\n /** Undo pauseServer. Idempotent; returns the (serving) server. */\n resumeServer: oc\n .route({ method: \"POST\", path: \"/servers/{slug}/resume\" })\n .input(ResumeMcpServerInputSchema)\n .output(McpServerSchema),\n /**\n * Serve an earlier SUCCEEDED deployment's payload again. Recorded as a\n * NEW attempt whose rolledBackFromDeploymentId names the source, so the\n * attempt log stays append-only; activeDeploymentId moves to that new\n * row. No-op (no new attempt, server returned as is) when the source's\n * payload already serves: the active row is the source itself, or the\n * active row is a rollback whose rolledBackFromDeploymentId is the\n * source — so \"roll back to this version\" can be clicked repeatedly.\n * NOT_FOUND for a deployment the server does not have; BAD_REQUEST when\n * the source is not SUCCEEDED, predates the current deployment schema,\n * or its module bytes are no longer stored.\n */\n rollbackServer: oc\n .route({ method: \"POST\", path: \"/servers/{slug}/deployments/{deploymentId}/rollback\" })\n .input(RollbackMcpServerInputSchema)\n .output(McpServerSchema),\n /**\n * Sampling-corrected usage aggregate for one server, read from Cloudflare\n * Analytics Engine by FDR (the tenant filter is applied server-side, so no\n * Cloudflare credential reaches the browser). See analytics.ts.\n */\n getAnalytics: oc\n .route({ method: \"GET\", path: \"/servers/{slug}/analytics\" })\n .input(GetMcpAnalyticsInputSchema)\n .output(McpAnalyticsSchema)\n};\n","import * as z from \"zod\";\n\n/**\n * MCP analytics contract (\"Contract A\").\n *\n * The MCP dispatcher (packages/workers/mcp-dispatcher) writes one Cloudflare\n * Analytics Engine data point per request it forwards to a tenant. FDR queries\n * the dataset (org filter applied server-side) and the dashboard renders the\n * aggregate. Analytics Engine columns are positional (`index1`, `blob1..`,\n * `double1..`), so the writer and every reader import the positions and\n * vocabularies from here instead of restating them.\n */\n\n/** One dataset per environment. The prototype's `mcp_analytics_staging` is separate. */\nexport const McpAnalyticsDataset = {\n PROD: \"mcp_analytics\",\n DEV: \"mcp_analytics_dev\"\n} as const;\nexport type McpAnalyticsDataset = (typeof McpAnalyticsDataset)[keyof typeof McpAnalyticsDataset];\n\n/** Bumped when a blob/double position changes meaning. Written to `blob9`. */\nexport const MCP_ANALYTICS_SCHEMA_VERSION = \"v1\";\n\n/** JSON-RPC method class of the forwarded request (`blob1`). */\nexport const McpAnalyticsMethod = {\n INITIALIZE: \"initialize\",\n TOOLS_LIST: \"tools/list\",\n TOOLS_CALL: \"tools/call\",\n RESOURCES_LIST: \"resources/list\",\n RESOURCES_READ: \"resources/read\",\n PROMPTS_LIST: \"prompts/list\",\n PING: \"ping\",\n /** A JSON-RPC notification (no `id`). */\n NOTIFICATION: \"notification\",\n /** A JSON-RPC batch array; per-call attribution is not attempted. */\n BATCH: \"batch\",\n /** Any other JSON-RPC method. */\n OTHER: \"other\",\n /** The body was not JSON-RPC (GET, HTML, malformed JSON). */\n NON_RPC: \"non_rpc\"\n} as const;\nexport type McpAnalyticsMethod = (typeof McpAnalyticsMethod)[keyof typeof McpAnalyticsMethod];\n\n/** Outcome class of the tenant response (`blob3`). */\nexport const McpAnalyticsOutcome = {\n /** 2xx with a JSON-RPC `result` that is not a tool error. */\n SUCCESS: \"success\",\n /** 2xx `tools/call` whose result carries `isError: true` (upstream API failed). */\n TOOL_ERROR: \"tool_error\",\n /** 2xx with a JSON-RPC `error` object. */\n RPC_ERROR: \"rpc_error\",\n /** `rpc_error` whose message says the requested tool does not exist; `blob2` holds the requested name. */\n UNKNOWN_TOOL: \"unknown_tool\",\n /** The tenant returned a non-2xx HTTP status. */\n HTTP_ERROR: \"http_error\",\n /** The body could not be classified (over the inspection limit, not JSON, stream ended early). */\n UNKNOWN: \"unknown\"\n} as const;\nexport type McpAnalyticsOutcome = (typeof McpAnalyticsOutcome)[keyof typeof McpAnalyticsOutcome];\n\n/** 1-based blob positions; `blob${n}` is the Analytics Engine column name. */\nexport const McpAnalyticsBlob = {\n METHOD: 1,\n /** `tools/call` name, or the requested name on `unknown_tool`; \"\" otherwise. */\n TOOL: 2,\n OUTCOME: 3,\n ORG_ID: 4,\n SLUG: 5,\n /** The `MCP-Protocol-Version` request header, or \"legacy\" when absent. */\n PROTOCOL: 6,\n /** First product token of the User-Agent header, or \"\". */\n CLIENT: 7,\n /** `request.cf.country`, or \"\". */\n COUNTRY: 8,\n SCHEMA: 9\n} as const;\n\n/** 1-based double positions; `double${n}` is the Analytics Engine column name. */\nexport const McpAnalyticsDouble = {\n /** HTTP status returned to the caller. */\n STATUS: 1,\n /**\n * Time from the dispatcher receiving the request to the tenant's response\n * headers (or to a thrown tenant fetch) — never to the end of the\n * dispatcher's body inspection, so it is comparable across body types. An\n * SSE tenant's own time to answer after its headers is therefore not\n * measured; there is no second timestamp in this contract.\n */\n DURATION_MS: 2,\n /** 0 when unknown. */\n REQUEST_BYTES: 3,\n /**\n * Exact when the tenant sent a `Content-Length`, and otherwise the bytes\n * the dispatcher read from the body — which is a floor on the size, not\n * the size, for a streamed body it stopped reading early: an SSE body\n * classified on its first event, a body over the inspection limit, and a\n * body still silent at the inspection deadline. Compare it across\n * transports with that in mind. 0 when unknown.\n */\n RESPONSE_BYTES: 4\n} as const;\n\nexport const McpAnalyticsLimits = {\n TOOL_NAME_MAX_CHARS: 256,\n CLIENT_MAX_CHARS: 64,\n /** Bytes of the request body the dispatcher parses for method and tool name (method and name lead the JSON). */\n BODY_INSPECT_BYTES: 64 * 1024,\n /**\n * Bytes of a 2xx response body the dispatcher inspects to classify the outcome.\n * A JSON-RPC result must be parsed whole, and MCP results (list endpoints,\n * documents) routinely exceed 64 KiB, so this matches the 1 MiB request cap;\n * larger bodies are recorded as `unknown`, never blocked.\n */\n RESPONSE_INSPECT_BYTES: 1024 * 1024\n} as const;\n\n/** Tenant script name and the only indexed column (`index1`). */\nexport function mcpAnalyticsIndex(orgId: string, slug: string): string {\n return `${orgId}--${slug}`;\n}\n\n/** The exact tuple shape the dispatcher passes to `AnalyticsEngineDataset.writeDataPoint`. */\nexport interface McpAnalyticsDataPoint {\n indexes: [tenant: string];\n blobs: [\n method: McpAnalyticsMethod,\n tool: string,\n outcome: McpAnalyticsOutcome,\n orgId: string,\n slug: string,\n protocol: string,\n client: string,\n country: string,\n schema: typeof MCP_ANALYTICS_SCHEMA_VERSION\n ];\n doubles: [status: number, durationMs: number, requestBytes: number, responseBytes: number];\n}\n\n/**\n * Analytics Engine keeps data points for roughly three months, so a window\n * past 90 days would only ever be partially populated.\n */\nexport const MCP_ANALYTICS_MAX_WINDOW_DAYS = 90;\n\n/** `<n>d` for a whole number of days, 1 through MCP_ANALYTICS_MAX_WINDOW_DAYS. */\nexport type McpAnalyticsDayWindow = `${number}d`;\n\n/**\n * The window an analytics request covers, ending now: the last 24 hours\n * (bucketed hourly) or the last n days (bucketed daily).\n */\nexport type McpAnalyticsWindow = \"24h\" | McpAnalyticsDayWindow;\n\nconst DAY_WINDOW_PATTERN = /^([1-9][0-9]{0,2})d$/;\n\n/** The day count of a `<n>d` window, or undefined for \"24h\" and anything malformed or out of range. */\nexport function parseMcpAnalyticsWindowDays(window: string): number | undefined {\n const match = DAY_WINDOW_PATTERN.exec(window);\n if (match?.[1] == null) {\n return undefined;\n }\n const days = Number(match[1]);\n return days <= MCP_ANALYTICS_MAX_WINDOW_DAYS ? days : undefined;\n}\n\nexport function isMcpAnalyticsWindow(value: unknown): value is McpAnalyticsWindow {\n return typeof value === \"string\" && (value === \"24h\" || parseMcpAnalyticsWindowDays(value) != null);\n}\n\nexport const McpAnalyticsWindowSchema = z.custom<McpAnalyticsWindow>(isMcpAnalyticsWindow, {\n message: `Expected \"24h\" or \"<n>d\" with n from 1 to ${MCP_ANALYTICS_MAX_WINDOW_DAYS}`\n});\n\nconst Count = z.number().int().nonnegative();\n\nconst McpAnalyticsStatusRowSchema = z.object({ status: z.number().int(), count: Count });\nconst McpAnalyticsClientRowSchema = z.object({ client: z.string(), requests: Count });\n\n/**\n * HTTP statuses that read as an authorization failure on a JSON-RPC request:\n * the tenant (or the API behind it) rejected the caller's credentials before\n * answering the method.\n */\nexport const MCP_ANALYTICS_AUTH_FAILURE_STATUSES = [401, 403] as const;\n\n/**\n * Aggregate FDR returns for one server and window. Counts are sampling-corrected\n * (`SUM(_sample_interval)`).\n *\n * Every figure outside `web` covers MCP traffic only: requests whose body parsed\n * as JSON-RPC (`method != non_rpc`). Everything else that reached the tenant —\n * browsers on a toolset URL, crawlers, uptime checks, and the transport's own\n * `GET`/`DELETE` — is reported under `web` so it cannot dilute tool-call\n * success rates or the client breakdown.\n */\nexport const McpAnalyticsSchema = z.object({\n window: McpAnalyticsWindowSchema,\n /** ISO-8601 bounds of the window. */\n from: z.string(),\n to: z.string(),\n summary: z.object({\n /** JSON-RPC requests; `web.requests` holds the rest. */\n requests: Count,\n toolCalls: Count,\n success: Count,\n toolErrors: Count,\n rpcErrors: Count,\n unknownTool: Count,\n httpErrors: Count,\n /** JSON-RPC requests answered with one of MCP_ANALYTICS_AUTH_FAILURE_STATUSES. */\n authFailures: Count\n }),\n /**\n * Hourly buckets for 24h, daily otherwise; zero-filled so the chart has no gaps.\n * `errors` = tool_error + rpc_error + http_error. `unknown_tool` is not an error:\n * it is reported separately in `missingTools`. `webRequests` is the non-RPC\n * traffic in the same bucket.\n */\n series: z.array(\n z.object({ bucket: z.string(), requests: Count, toolCalls: Count, errors: Count, webRequests: Count })\n ),\n /**\n * Top 10 called tools; `errors` as in `series`, `success` the calls that\n * returned a result. Requests for tools that do not exist are excluded.\n */\n topTools: z.array(z.object({ tool: z.string(), calls: Count, success: Count, errors: Count })),\n /** Tools agents asked for that do not exist on this server (outcome `unknown_tool`, non-empty name), top 10. */\n missingTools: z.array(z.object({ tool: z.string(), calls: Count })),\n /** Every JSON-RPC method class seen in the window, with its result and error counts. */\n methods: z.array(z.object({ method: z.string(), requests: Count, success: Count, errors: Count })),\n statuses: z.array(McpAnalyticsStatusRowSchema),\n /** Top 10 client families by JSON-RPC request count. */\n clients: z.array(McpAnalyticsClientRowSchema),\n /** Non-RPC traffic that reached the tenant: browsers, crawlers, transport GET/DELETE. */\n web: z.object({\n requests: Count,\n statuses: z.array(McpAnalyticsStatusRowSchema),\n /** Top 10 client families by non-RPC request count. */\n clients: z.array(McpAnalyticsClientRowSchema)\n })\n});\nexport type McpAnalytics = z.infer<typeof McpAnalyticsSchema>;\n","import * as z from \"zod\";\n\nimport { McpAuthSchemeSchema, type McpMetadata, McpMetadataSchema } from \"./schemas.js\";\n\n/**\n * The catalog summary FDR derives from a deployment's stored metadata for the\n * dashboard: what the server offers (tools, toolsets, auth, configuration) in\n * a display-ready shape. Pure projection of McpMetadata — no storage\n * of its own — so it lives next to the metadata schema it reads and can be\n * computed from any stored row, fixture, or generator output.\n */\n\n/** Skipped tools listed inline on the summary; `skippedToolCount` always carries the total. */\nexport const MCP_CATALOG_SKIPPED_TOOLS_LIMIT = 50;\n\nexport const McpCatalogToolSchema = z.object({\n name: z.string(),\n /**\n * The description MCP clients see. Absent when the stored metadata has\n * none for this tool (rows from generators before `services`, or a name\n * with no service entry).\n */\n description: z.string().optional()\n});\nexport type McpCatalogTool = z.infer<typeof McpCatalogToolSchema>;\n\n/** The toolset a client gets when it selects none; its size is the headline tool count. */\nconst DEFAULT_TOOLSET = \"default\";\n\nexport const McpCatalogToolsetSchema = z.object({\n name: z.string(),\n title: z.string(),\n description: z.string(),\n /** Size of the toolset's membership list when stored, else the generator's declared count. */\n toolCount: z.number().int(),\n /**\n * The toolset's members, in the generator's order; empty when this metadata\n * stores no membership list for it (toolCount is then the declared count).\n */\n tools: z.array(z.string())\n});\n\nexport const McpServerCatalogSummarySchema = z.object({\n /** Server name from the generator (the `serverName` MCP clients see). */\n name: z.string(),\n /** Upstream API the tools call. */\n baseUrl: z.string(),\n /**\n * Headline tool count: the size of the \"default\" toolset (what a client\n * gets without selecting one); if there is no default toolset, the size\n * of the largest toolset; 0 when there are no toolsets.\n *\n * Not the same figure as DeploymentMeta.toolCount in kv.ts, which counts\n * distinct tools across ALL toolsets for the serving plane's `meta:` KV\n * value (an audit number). This one is what a connecting client sees.\n */\n toolCount: z.number().int(),\n /** The tools behind toolCount, in the generator's order, with their client-facing descriptions. */\n tools: z.array(McpCatalogToolSchema),\n /**\n * Named toolsets from the generator's toolsetMetadata, in its order. The\n * \"default\" toolset is not listed here (the dashboard adds it from\n * toolCount and tools).\n */\n toolsets: z.array(McpCatalogToolsetSchema),\n auth: z.object({\n required: z.boolean(),\n schemes: z.array(McpAuthSchemeSchema)\n }),\n /** At most MCP_CATALOG_SKIPPED_TOOLS_LIMIT entries; see skippedToolCount for the total. */\n skippedTools: z.array(z.object({ name: z.string(), reason: z.string() })),\n skippedToolCount: z.number().int(),\n environmentVariables: z.array(\n z.object({\n name: z.string(),\n description: z.string(),\n required: z.boolean()\n })\n )\n});\n\n/**\n * One tool on the deployment detail: the generator's provenance record plus\n * the toolsets that offer it, derived from the stored `toolsets` map. Display\n * shape — the contract's fields only, no passthrough.\n */\nexport const McpDeploymentToolSchema = z.object({\n name: z.string(),\n /** The OpenAPI operationId, or null when the operation declared none. */\n operationId: z.string().nullable(),\n method: z.string(),\n path: z.string(),\n /** Names of the toolsets whose membership list contains this tool: \"default\" first, then alphabetical. */\n toolsets: z.array(z.string())\n});\n\n/** One skipped tool on the deployment detail, with provenance when the generator recorded it. */\nexport const McpDeploymentSkippedToolSchema = z.object({\n name: z.string(),\n reason: z.string(),\n operationId: z.string().nullable(),\n method: z.string().nullable(),\n path: z.string().nullable()\n});\n\nexport type McpCatalogToolset = z.infer<typeof McpCatalogToolsetSchema>;\nexport type McpServerCatalogSummary = z.infer<typeof McpServerCatalogSummarySchema>;\nexport type McpDeploymentTool = z.infer<typeof McpDeploymentToolSchema>;\nexport type McpDeploymentSkippedTool = z.infer<typeof McpDeploymentSkippedToolSchema>;\n\n/**\n * The membership list of one toolset, or null when this metadata does not\n * carry one for that name.\n *\n * `toolsets` is a record straight off `JSON.parse`, so it has `Object.prototype`\n * in its chain, and the names indexing it come from the customer's spec (a\n * toolset is an OpenAPI tag). A plain lookup for a tag named `toString` returns\n * `Object.prototype.toString` — a function, so not nullish, and `.length` is its\n * arity. A `?? declaredCount` fallback would never fire and the count would\n * silently read 0; `constructor` and `hasOwnProperty` read 1. `Object.hasOwn`\n * is what makes the lookup mean what it says. Do not inline this back.\n */\nfunction toolsetMembership(metadata: McpMetadata, name: string): string[] | null {\n return Object.hasOwn(metadata.toolsets, name) ? (metadata.toolsets[name] ?? null) : null;\n}\n\n/**\n * The headline tool list; see McpServerCatalogSummarySchema.toolCount for the\n * rule. Deliberately different from deploymentMetaFromParsed in kv.ts (distinct\n * tools across all toolsets, the `meta:` KV audit figure): this is the default\n * toolset, i.e. what a client connecting without a toolset selection gets.\n */\nexport function defaultToolsFromParsed(metadata: McpMetadata): string[] {\n const defaultTools = toolsetMembership(metadata, DEFAULT_TOOLSET);\n if (defaultTools != null) {\n return defaultTools;\n }\n return Object.values(metadata.toolsets).reduce<string[]>(\n (largest, tools) => (tools.length > largest.length ? tools : largest),\n []\n );\n}\n\n/** Per-tool descriptions from `services[]`, keyed by tool name; empty when the metadata stores none. */\nfunction toolDescriptionsFromParsed(metadata: McpMetadata): Map<string, string> {\n const descriptions = new Map<string, string>();\n for (const service of metadata.services ?? []) {\n for (const tool of service.tools) {\n if (tool.description && !descriptions.has(tool.name)) {\n descriptions.set(tool.name, tool.description);\n }\n }\n }\n return descriptions;\n}\n\n/** The headline tool count rule; see McpServerCatalogSummarySchema.toolCount. */\nexport function toolCountFromParsed(metadata: McpMetadata): number {\n return defaultToolsFromParsed(metadata).length;\n}\n\n/** Accept pre-parsed metadata (already validated by McpMetadataSchema). */\nexport function catalogSummaryFromParsed(metadata: McpMetadata): McpServerCatalogSummary {\n const defaultTools = defaultToolsFromParsed(metadata);\n const descriptions = toolDescriptionsFromParsed(metadata);\n return {\n name: metadata.name,\n baseUrl: metadata.baseUrl,\n toolCount: defaultTools.length,\n tools: defaultTools.map((name) => {\n const description = descriptions.get(name);\n return description == null ? { name } : { name, description };\n }),\n toolsets: metadata.toolsetMetadata\n .filter((toolset) => toolset.name !== DEFAULT_TOOLSET)\n .map((toolset) => {\n const tools = toolsetMembership(metadata, toolset.name);\n return {\n name: toolset.name,\n title: toolset.title,\n description: toolset.description,\n toolCount: tools?.length ?? toolset.toolCount,\n tools: tools ?? []\n };\n }),\n auth: {\n required: metadata.auth.required,\n schemes: metadata.auth.schemes\n },\n skippedTools: metadata.skippedTools\n .slice(0, MCP_CATALOG_SKIPPED_TOOLS_LIMIT)\n .map((tool) => ({ name: tool.name, reason: tool.reason })),\n skippedToolCount: metadata.skippedTools.length,\n environmentVariables: metadata.environmentVariables.map((variable) => ({\n name: variable.name,\n description: variable.description,\n required: variable.required\n }))\n };\n}\n\n/**\n * From a deployment row's stored metadata JSON. Null when it no longer parses\n * against today's schema (rows written before required fields were added),\n * so a legacy row degrades to \"no catalog\" rather than failing the read.\n */\nexport function catalogSummaryFromStored(metadata: unknown): McpServerCatalogSummary | null {\n const parsed = McpMetadataSchema.safeParse(metadata);\n return parsed.success ? catalogSummaryFromParsed(parsed.data) : null;\n}\n\n/** Same rule and same legacy behaviour as catalogSummaryFromStored, for per-attempt summaries. */\nexport function toolCountFromStored(metadata: unknown): number | null {\n const parsed = McpMetadataSchema.safeParse(metadata);\n return parsed.success ? toolCountFromParsed(parsed.data) : null;\n}\n\n/**\n * Toolset names in the order the detail lists them: \"default\" first (the\n * headline toolset), then the rest alphabetically. The stored map's own key\n * order is not used — the row is JSONB, which does not keep it.\n */\nfunction orderedToolsetNames(metadata: McpMetadata): string[] {\n return Object.keys(metadata.toolsets).sort((a, b) => {\n if (a === b) {\n return 0;\n }\n if (a === DEFAULT_TOOLSET) {\n return -1;\n }\n if (b === DEFAULT_TOOLSET) {\n return 1;\n }\n return a < b ? -1 : 1;\n });\n}\n\n/**\n * The deployment's tools with their toolset membership, for the detail view.\n * Membership is derived, not stored per tool: a toolset offers a tool iff\n * its stored membership list names it. Empty when the metadata carries no\n * `tools` (generators before provenance), which the dashboard shows as\n * \"no per-tool detail\" rather than \"no tools\".\n */\nexport function deploymentToolsFromParsed(metadata: McpMetadata): McpDeploymentTool[] {\n const tools = metadata.tools ?? [];\n if (tools.length === 0) {\n return [];\n }\n // Same prototype trap as toolsetMembership: the toolset names come from\n // the customer's spec, so index the record only through Object.hasOwn.\n const membership = orderedToolsetNames(metadata).flatMap((name) => {\n const members = toolsetMembership(metadata, name);\n return members != null ? [{ name, members: new Set(members) }] : [];\n });\n return tools.map((tool) => ({\n name: tool.name,\n operationId: tool.operationId ?? null,\n method: tool.method,\n path: tool.path,\n toolsets: membership.filter((toolset) => toolset.members.has(tool.name)).map((toolset) => toolset.name)\n }));\n}\n\n/** Same legacy behaviour as catalogSummaryFromStored: `[]` when the row no longer parses. */\nexport function deploymentToolsFromStored(metadata: unknown): McpDeploymentTool[] {\n const parsed = McpMetadataSchema.safeParse(metadata);\n return parsed.success ? deploymentToolsFromParsed(parsed.data) : [];\n}\n\n/** The skipped tools in the detail's shape: contract fields only, provenance null when unrecorded. */\nexport function deploymentSkippedToolsFromParsed(metadata: McpMetadata): McpDeploymentSkippedTool[] {\n return metadata.skippedTools.map((tool) => ({\n name: tool.name,\n reason: tool.reason,\n operationId: tool.operationId ?? null,\n method: tool.method ?? null,\n path: tool.path ?? null\n }));\n}\n","import * as z from \"zod\";\n\n// The set of scheme *types* is closed: the outbound worker can only enforce\n// the schemes it knows, so a new type must land on both sides together. The\n// fields of a known scheme pass through, like the rest of the metadata, so a\n// generator adding e.g. a header prefix is neither rejected nor silently\n// dropped from the stored deployment.\nexport const McpAuthSchemeSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"bearer\") }).passthrough(),\n z\n .object({\n type: z.literal(\"apiKey\"),\n paramName: z.string().min(1),\n in: z.enum([\"header\", \"query\", \"cookie\"])\n })\n .passthrough(),\n z.object({ type: z.literal(\"basic\") }).passthrough()\n]);\n\nconst HttpUrlSchema = z\n .string()\n .url()\n .refine((value) => /^https?:\\/\\//i.test(value), {\n message: \"must be an http(s) URL\"\n });\n\n/** A lowercase hex SHA-256 digest: how a content-addressed object (module, input file) is named. */\nexport const Sha256Schema = z.string().regex(/^[0-9a-f]{64}$/);\n\n/**\n * One tool of the generated server and the OpenAPI operation it was built\n * from, so a deployment can be explained back to the spec. Generator-emitted;\n * `operationId` is null when the operation declared none (the name is then\n * derived from the method and path). Unknown fields pass through like the\n * rest of the metadata. Toolset membership is not repeated here — it is\n * derived from `toolsets` (see deploymentToolsFromParsed in catalog.ts).\n */\nexport const McpToolSchema = z\n .object({\n name: z.string().min(1),\n operationId: z.string().nullish(),\n method: z.string(),\n path: z.string()\n })\n .passthrough();\n\nexport const McpServiceToolSchema = z\n .object({\n name: z.string().min(1),\n description: z.string().optional()\n })\n .passthrough();\n\nexport const McpServiceSchema = z\n .object({\n name: z.string(),\n tools: z.array(McpServiceToolSchema)\n })\n .passthrough();\n\n// Generator-emitted. Unknown fields pass through at every level — top-level,\n// nested entries and auth schemes alike — so a newer generator never fails a\n// deploy over a field FDR does not know yet; the deployment row keeps them\n// verbatim. Known fields stay validated (and see McpAuthSchemeSchema for the\n// one closed set).\nexport const McpMetadataSchema = z\n .object({\n name: z.string().min(1),\n /**\n * Prose about the server, for its connect page. Optional, and no\n * generator emits it yet: FDR stores whatever arrives and the page\n * falls back to stating the server's size.\n *\n * Where a generator should source it is still open. The two candidates\n * are the API definition's `info.description` (automatic, but it\n * describes the API rather than the MCP server) and a `description` in\n * the generator's `config:` block in generators.yml (authored for this\n * page, and that block already reaches FDR — see McpDeployment.config).\n * Treat it as CommonMark of any length either way: whatever renders it\n * has to cope with both.\n */\n description: z.string().optional(),\n toolsets: z.record(z.string(), z.array(z.string())),\n toolsetMetadata: z.array(\n z\n .object({\n name: z.string(),\n title: z.string(),\n description: z.string(),\n toolCount: z.number().int().nonnegative()\n })\n .passthrough()\n ),\n /**\n * Per-tool provenance (operationId, method, path). Optional: rows\n * written before generators emitted it have none, and a deployment\n * without it is still complete — only the dashboard's explanation\n * of it is thinner.\n */\n tools: z.array(McpToolSchema).optional(),\n /**\n * The generated server's tools grouped by the service the generator emitted\n * them in, each with the description MCP clients see. Optional: rows written\n * before generators emitted it have none. Malformed values read as absent\n * rather than failing the whole row, so a legacy row still yields a catalog.\n */\n services: z.array(McpServiceSchema).optional().catch(undefined),\n auth: z\n .object({\n schemes: z.array(McpAuthSchemeSchema),\n required: z.boolean()\n })\n .passthrough(),\n skippedTools: z.array(\n z\n .object({\n name: z.string(),\n reason: z.string(),\n // Which operation was skipped; older generators omit these.\n operationId: z.string().nullish(),\n method: z.string().nullish(),\n path: z.string().nullish()\n })\n .passthrough()\n ),\n environmentVariables: z.array(\n z\n .object({\n name: z.string(),\n description: z.string(),\n required: z.boolean()\n })\n .passthrough()\n ),\n baseUrl: HttpUrlSchema,\n followRedirects: z.boolean(),\n maxRedirects: z.number().int().nonnegative(),\n allowedRedirectHosts: z.array(z.string())\n })\n .passthrough();\n\nconst RgbSchema = z.object({ r: z.number(), g: z.number(), b: z.number() });\nconst LogoSchema = z.object({\n url: HttpUrlSchema,\n width: z.number().optional(),\n height: z.number().optional()\n});\nconst ModeThemeSchema = z.object({\n accentPrimary: RgbSchema,\n logo: LogoSchema.optional()\n});\n\n/**\n * The look of the org's docs site, copied onto the connect page: FDR resolves\n * it once at deploy time (see servers/fdr docsTheme.ts) so the dispatcher\n * never reads docs storage. Absent when the org has no live docs site, and\n * the page then keeps Fern's own styling.\n */\nexport const DeploymentThemeSchema = z.object({\n /** Where the theme came from; the page links back to it. */\n docsUrl: HttpUrlSchema,\n /** Which of the site's colour modes the values below are from. */\n mode: z.enum([\"light\", \"dark\"]),\n accentPrimary: RgbSchema,\n /** The site's logo for that mode, served by the docs site itself. */\n logo: LogoSchema.optional(),\n light: ModeThemeSchema.optional(),\n dark: ModeThemeSchema.optional()\n});\n\nexport type DeploymentTheme = z.infer<typeof DeploymentThemeSchema>;\nexport type DeploymentModeTheme = z.infer<typeof ModeThemeSchema>;\n\nexport const DeploymentConfigSchema = z.object({\n serverName: z.string().min(1),\n /** The server's own prose, for its connect page. See McpMetadataSchema.description. */\n description: z.string().optional(),\n baseUrl: HttpUrlSchema,\n /**\n * Runtime rewrite of the upstream base URL. Part of the edge contract\n * (the outbound worker honors it) but not yet written by FDR.\n */\n baseUrlOverride: HttpUrlSchema.optional(),\n followRedirects: z.boolean(),\n maxRedirects: z.number().int().nonnegative(),\n allowedRedirectHosts: z.array(z.string()),\n authSchemes: z.array(McpAuthSchemeSchema),\n authRequired: z.boolean(),\n toolsets: z.record(z.string(), z.array(z.string())),\n toolsetMetadata: McpMetadataSchema.shape.toolsetMetadata,\n theme: DeploymentThemeSchema.optional()\n});\n\nexport type DeploymentConfig = z.infer<typeof DeploymentConfigSchema>;\nexport type McpAuthScheme = z.infer<typeof McpAuthSchemeSchema>;\nexport type McpMetadata = z.infer<typeof McpMetadataSchema>;\nexport type McpTool = z.infer<typeof McpToolSchema>;\nexport type McpService = z.infer<typeof McpServiceSchema>;\nexport type McpServiceTool = z.infer<typeof McpServiceToolSchema>;\n\n/** Parse a runtime `config:` KV value. */\nexport function parseDeploymentConfig(json: string): DeploymentConfig {\n return DeploymentConfigSchema.parse(JSON.parse(json));\n}\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { pdfExportContract } from \"./contract.js\";\n\nexport type PdfExportClient = JsonifiedClient<ContractRouterClient<typeof pdfExportContract>>;\n\nexport interface CreatePdfExportClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createPdfExportClient(options: CreatePdfExportClientOptions): PdfExportClient {\n const link = new OpenAPILink(pdfExportContract, {\n url: `${options.baseUrl}/pdf-export`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\n\nexport const PdfExportScopeSchema = z.object({\n pageSlugs: z.array(z.string())\n});\n\nexport const PdfExportOptionsV1Schema = z.object({\n coverTitle: z.string().nullish(),\n coverSubtitle: z.string().nullish(),\n hideCoverFooter: z.boolean().nullish(),\n headerLeftTemplate: z.string().nullish(),\n headerRightTemplate: z.string().nullish(),\n footerLeftTemplate: z.string().nullish(),\n footerRightTemplate: z.string().nullish(),\n scope: PdfExportScopeSchema.nullish(),\n hideCover: z.boolean().nullish(),\n hideToc: z.boolean().nullish()\n});\n\nexport const PdfExportOptionsSchema = z.discriminatedUnion(\"version\", [\n z.object({ version: z.literal(\"v1\") }).merge(PdfExportOptionsV1Schema)\n]);\n\nexport const PdfExportTaskStatusSchema = z.enum([\"PENDING\", \"RUNNING\", \"COMPLETED\", \"FAILED\"]);\n\nexport const PdfExportTaskSchema = z.object({\n id: z.string(),\n orgId: z.string(),\n docsUrl: z.string(),\n productId: z.string().nullish(),\n versionId: z.string().nullish(),\n requesterName: z.string().nullish(),\n notifyEmails: z.array(z.string()).nullish(),\n status: PdfExportTaskStatusSchema,\n options: PdfExportOptionsSchema.nullish(),\n createdAt: z.string(),\n startedAt: z.string().nullish(),\n completedAt: z.string().nullish(),\n fileName: z.string().nullish(),\n sizeBytes: z.number().nullish(),\n errorMessage: z.string().nullish()\n});\n\nexport const ListPdfExportTasksResponseSchema = z.object({\n tasks: z.array(PdfExportTaskSchema)\n});\n\nexport const PdfExportDownloadResponseSchema = z.object({\n downloadUrl: z.string(),\n fileName: z.string(),\n sizeBytes: z.number()\n});\n\nexport const CreatePdfExportTaskInputSchema = z.object({\n orgId: z.string(),\n docsUrl: z.string(),\n productId: z.string().nullish(),\n versionId: z.string().nullish(),\n requesterName: z.string().nullish(),\n options: PdfExportOptionsSchema.nullish()\n});\n\nexport const ListPdfExportTasksInputSchema = z.object({\n orgId: z.string(),\n docsUrl: z.string(),\n limit: z.coerce.number().nullish()\n});\n\nexport const GetPdfExportTaskInputSchema = z.object({\n taskId: z.string()\n});\n\nexport const UpdatePdfExportTaskInputSchema = z.object({\n taskId: z.string(),\n status: PdfExportTaskStatusSchema,\n startedAt: z.string().nullish(),\n completedAt: z.string().nullish(),\n s3Key: z.string().nullish(),\n fileName: z.string().nullish(),\n sizeBytes: z.number().nullish(),\n errorMessage: z.string().nullish()\n});\n\nexport const GetPdfExportDownloadUrlInputSchema = z.object({\n taskId: z.string()\n});\n\nexport const CleanupPdfExportsResponseSchema = z.object({\n expiredTasksDeleted: z.number(),\n s3ObjectsDeleted: z.number(),\n timedOutTasksFailed: z.number()\n});\n\nexport type PdfExportTaskId = string;\nexport type PdfExportScope = z.infer<typeof PdfExportScopeSchema>;\nexport type PdfExportOptionsV1 = z.infer<typeof PdfExportOptionsV1Schema>;\nexport type PdfExportOptions = z.infer<typeof PdfExportOptionsSchema>;\nexport type PdfExportTaskStatus = z.infer<typeof PdfExportTaskStatusSchema>;\nexport type PdfExportTask = z.infer<typeof PdfExportTaskSchema>;\nexport type ListPdfExportTasksResponse = z.infer<typeof ListPdfExportTasksResponseSchema>;\nexport type PdfExportDownloadResponse = z.infer<typeof PdfExportDownloadResponseSchema>;\nexport type CreatePdfExportTaskInput = z.infer<typeof CreatePdfExportTaskInputSchema>;\nexport type ListPdfExportTasksInput = z.infer<typeof ListPdfExportTasksInputSchema>;\nexport type UpdatePdfExportTaskInput = z.infer<typeof UpdatePdfExportTaskInputSchema>;\nexport type UpdatePdfExportTaskStatusRequest = Omit<UpdatePdfExportTaskInput, \"taskId\">;\nexport type CleanupPdfExportsResponse = z.infer<typeof CleanupPdfExportsResponseSchema>;\n\nexport const pdfExportContract = {\n createTask: oc\n .route({ method: \"POST\", path: \"/task\" })\n .input(CreatePdfExportTaskInputSchema)\n .output(PdfExportTaskSchema),\n\n listTasks: oc\n .route({ method: \"GET\", path: \"/tasks\" })\n .input(ListPdfExportTasksInputSchema)\n .output(ListPdfExportTasksResponseSchema),\n\n getTask: oc\n .route({ method: \"GET\", path: \"/task/{taskId}\" })\n .input(GetPdfExportTaskInputSchema)\n .output(PdfExportTaskSchema),\n\n updateTask: oc\n .route({ method: \"POST\", path: \"/task/{taskId}\" })\n .input(UpdatePdfExportTaskInputSchema)\n .output(PdfExportTaskSchema),\n\n getDownloadUrl: oc\n .route({ method: \"GET\", path: \"/task/{taskId}/download-url\" })\n .input(GetPdfExportDownloadUrlInputSchema)\n .output(PdfExportDownloadResponseSchema),\n\n cleanup: oc.route({ method: \"POST\", path: \"/cleanup\" }).output(CleanupPdfExportsResponseSchema)\n};\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { sdksContract } from \"./contract.js\";\n\nexport type SdksClient = JsonifiedClient<ContractRouterClient<typeof sdksContract>>;\n\nexport interface CreateSdksClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createSdksClient(options: CreateSdksClientOptions): SdksClient {\n const link = new OpenAPILink(sdksContract, {\n url: `${options.baseUrl}/sdks`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\n\n// ── Enums ────────────────────────────────────────────────────────────────\n\nexport const LanguageEnumSchema = z.enum([\n \"Go\",\n \"TypeScript\",\n \"Java\",\n \"Python\",\n \"Csharp\",\n \"Ruby\",\n \"Php\",\n \"Swift\",\n \"Rust\"\n]);\nexport type Language = z.infer<typeof LanguageEnumSchema>;\n\nexport const VersionBumpEnumSchema = z.enum([\"MAJOR\", \"MINOR\", \"PATCH\"]);\nexport type VersionBump = z.infer<typeof VersionBumpEnumSchema>;\n\n// ── Input / Output schemas ───────────────────────────────────────────────\n\nexport const ComputeSemanticVersionInputSchema = z.object({\n package: z.string(),\n language: LanguageEnumSchema,\n githubRepository: z.string().nullish()\n});\nexport type ComputeSemanticVersionInput = z.infer<typeof ComputeSemanticVersionInputSchema>;\n\nexport const ComputeSemanticVersionOutputSchema = z.object({\n version: z.string(),\n bump: VersionBumpEnumSchema\n});\nexport type ComputeSemanticVersionOutput = z.infer<typeof ComputeSemanticVersionOutputSchema>;\n\n// ── Contract ─────────────────────────────────────────────────────────────\n\nexport const sdksContract = {\n computeSemanticVersion: oc\n .route({ method: \"POST\", path: \"/semantic-version/compute\" })\n .input(ComputeSemanticVersionInputSchema)\n .output(ComputeSemanticVersionOutputSchema)\n};\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { slugsContract } from \"./contract.js\";\n\nexport type SlugsClient = JsonifiedClient<ContractRouterClient<typeof slugsContract>>;\n\nexport interface CreateSlugsClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createSlugsClient(options: CreateSlugsClientOptions): SlugsClient {\n const link = new OpenAPILink(slugsContract, {\n url: `${options.baseUrl.replace(/\\/+$/, \"\")}/slugs`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\n\nexport const SlugsInputSchema = z.object({\n domain: z.string(),\n basepath: z.string().optional().default(\"\")\n});\n\n/** One entry per unique URL slug. lastUpdated is the latest lastUpdated of its markdown pages. */\nexport const SlugEntrySchema = z.object({\n orgId: z.string(),\n domain: z.string(),\n basepath: z.string(),\n slug: z.string(),\n lastUpdated: z.string()\n});\n\n/** One entry per markdown file tracked under a slug. */\nexport const MarkdownEntrySchema = z.object({\n orgId: z.string(),\n domain: z.string(),\n basepath: z.string(),\n pageId: z.string(),\n slug: z.string(),\n hash: z.string(),\n lastUpdated: z.string()\n});\n\nexport const GetSlugEntriesResponseSchema = z.object({\n entries: z.array(SlugEntrySchema)\n});\n\nexport const GetMarkdownEntriesResponseSchema = z.object({\n entries: z.array(MarkdownEntrySchema)\n});\n\nexport type SlugsInput = z.infer<typeof SlugsInputSchema>;\nexport type SlugEntryResponse = z.infer<typeof SlugEntrySchema>;\nexport type MarkdownEntryResponse = z.infer<typeof MarkdownEntrySchema>;\nexport type GetSlugEntriesResponse = z.infer<typeof GetSlugEntriesResponseSchema>;\nexport type GetMarkdownEntriesResponse = z.infer<typeof GetMarkdownEntriesResponseSchema>;\n\nexport const slugsContract = {\n getSlugEntries: oc\n .route({ method: \"POST\", path: \"/slugs\" })\n .input(SlugsInputSchema)\n .output(GetSlugEntriesResponseSchema),\n getMarkdownEntries: oc\n .route({ method: \"POST\", path: \"/markdowns\" })\n .input(SlugsInputSchema)\n .output(GetMarkdownEntriesResponseSchema)\n};\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { snippetsContract, snippetsFactoryContract } from \"./contract.js\";\n\nexport type SnippetsFactoryClient = JsonifiedClient<ContractRouterClient<typeof snippetsFactoryContract>>;\nexport type SnippetsClient = JsonifiedClient<ContractRouterClient<typeof snippetsContract>>;\n\nexport interface CreateSnippetsClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createSnippetsFactoryClient(options: CreateSnippetsClientOptions): SnippetsFactoryClient {\n const link = new OpenAPILink(snippetsFactoryContract, {\n url: `${options.baseUrl}/snippets`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n\nexport function createSnippetsClient(options: CreateSnippetsClientOptions): SnippetsClient {\n const link = new OpenAPILink(snippetsContract, {\n url: `${options.baseUrl}/snippets`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\nimport { EndpointIdentifierSchema, SdkRequestSchema, type Snippet, type SnippetsByEndpointMethod } from \"../shared.js\";\n\n// ── SnippetsFactory contract ────────────────────────────────────────────\n\nconst TypeScriptSdkSchema = z.object({ package: z.string(), version: z.string() });\nconst PythonSdkSchema = z.object({ package: z.string(), version: z.string() });\nconst GoSdkSchema = z.object({ githubRepo: z.string(), version: z.string() });\nconst RubySdkSchema = z.object({ gem: z.string(), version: z.string() });\nconst JavaSdkSchema = z.object({ group: z.string(), artifact: z.string(), version: z.string() });\nconst CsharpSdkSchema = z.object({ package: z.string(), version: z.string() });\n\nconst BaseSnippetCreateSchema = z.object({\n endpoint: EndpointIdentifierSchema,\n exampleIdentifier: z.string().nullish()\n});\n\nconst SdkSnippetsCreateSchema = z.discriminatedUnion(\"type\", [\n z.object({\n type: z.literal(\"typescript\"),\n sdk: TypeScriptSdkSchema,\n snippets: z.array(BaseSnippetCreateSchema.extend({ snippet: z.object({ client: z.string() }) }))\n }),\n z.object({\n type: z.literal(\"python\"),\n sdk: PythonSdkSchema,\n snippets: z.array(\n BaseSnippetCreateSchema.extend({\n snippet: z.object({ async_client: z.string(), sync_client: z.string() })\n })\n )\n }),\n z.object({\n type: z.literal(\"go\"),\n sdk: GoSdkSchema,\n snippets: z.array(BaseSnippetCreateSchema.extend({ snippet: z.object({ client: z.string() }) }))\n }),\n z.object({\n type: z.literal(\"java\"),\n sdk: JavaSdkSchema,\n snippets: z.array(\n BaseSnippetCreateSchema.extend({\n snippet: z.object({ async_client: z.string(), sync_client: z.string() })\n })\n )\n }),\n z.object({\n type: z.literal(\"ruby\"),\n sdk: RubySdkSchema,\n snippets: z.array(BaseSnippetCreateSchema.extend({ snippet: z.object({ client: z.string() }) }))\n }),\n z.object({\n type: z.literal(\"csharp\"),\n sdk: CsharpSdkSchema,\n snippets: z.array(BaseSnippetCreateSchema.extend({ snippet: z.object({ client: z.string() }) }))\n })\n]);\n\nexport type SdkSnippetsCreate = z.infer<typeof SdkSnippetsCreateSchema>;\n\nexport const snippetsFactoryContract = {\n createSnippetsForSdk: oc.route({ method: \"POST\", path: \"/create\" }).input(\n z.object({\n orgId: z.string(),\n apiId: z.string(),\n snippets: SdkSnippetsCreateSchema\n })\n )\n};\n\n// ── Snippets contract ───────────────────────────────────────────────────\n\nconst ParameterPayloadSchema = z.object({\n name: z.string(),\n value: z.unknown()\n});\n\nexport const AuthPayloadSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"bearer\"), token: z.string() }),\n z.object({ type: z.literal(\"basic\"), username: z.string(), password: z.string() })\n]);\nexport type AuthPayload = z.infer<typeof AuthPayloadSchema>;\n\nexport const CustomSnippetPayloadSchema = z.object({\n headers: z.array(ParameterPayloadSchema).nullish(),\n pathParameters: z.array(ParameterPayloadSchema).nullish(),\n queryParameters: z.array(ParameterPayloadSchema).nullish(),\n requestBody: z.unknown().nullish(),\n auth: AuthPayloadSchema.nullish()\n});\nexport type CustomSnippetPayload = z.infer<typeof CustomSnippetPayloadSchema>;\n\nexport const snippetsContract = {\n get: oc\n .route({ method: \"POST\", path: \"/\" })\n .input(\n z.object({\n orgId: z.string().nullish(),\n apiId: z.string().nullish(),\n sdks: z.array(SdkRequestSchema).nullish(),\n endpoint: EndpointIdentifierSchema,\n exampleIdentifier: z.string().nullish(),\n payload: CustomSnippetPayloadSchema.nullish()\n })\n )\n .output(z.array(z.unknown()) as z.ZodType<Snippet[]>),\n\n load: oc\n .route({ method: \"POST\", path: \"/load\" })\n .input(\n z.object({\n orgId: z.string().nullish(),\n apiId: z.string().nullish(),\n sdks: z.array(SdkRequestSchema).nullish()\n })\n )\n .output(\n z.object({\n next: z.number().nullish(),\n snippets: z.record(z.string(), z.unknown()) as z.ZodType<Record<string, SnippetsByEndpointMethod>>\n })\n )\n};\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { templatesContract } from \"./contract.js\";\n\nexport type TemplatesClient = JsonifiedClient<ContractRouterClient<typeof templatesContract>>;\n\nexport interface CreateTemplatesClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createTemplatesClient(options: CreateTemplatesClientOptions): TemplatesClient {\n const baseUrl = options.baseUrl.replace(/\\/+$/, \"\");\n const link = new OpenAPILink(templatesContract, {\n url: `${baseUrl}/snippet-template`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\nimport { HttpMethodSchema, SdkSchema } from \"../shared.js\";\n\n// ── Snippet Registry Entry ──────────────────────────────────────────────\n\nexport const SnippetRegistryEntrySchema = z.object({\n sdk: SdkSchema,\n endpointId: z.object({\n path: z.string(),\n method: HttpMethodSchema,\n identifierOverride: z.string().nullish()\n }),\n snippetTemplate: z.object({\n type: z.literal(\"v1\"),\n functionInvocation: z.unknown(),\n clientInstantiation: z.string()\n }),\n additionalTemplates: z.record(z.string(), z.unknown()).nullish()\n});\nexport type SnippetRegistryEntry = z.infer<typeof SnippetRegistryEntrySchema>;\n\n// ── Register input ──────────────────────────────────────────────────────\n\nexport const RegisterInputSchema = z.object({\n orgId: z.string(),\n apiId: z.string(),\n apiDefinitionId: z.string(),\n snippet: SnippetRegistryEntrySchema\n});\nexport type RegisterInput = z.infer<typeof RegisterInputSchema>;\n\n// ── Register batch input ────────────────────────────────────────────────\n\nexport const RegisterBatchInputSchema = z.object({\n orgId: z.string(),\n apiId: z.string(),\n apiDefinitionId: z.string(),\n snippets: z.array(SnippetRegistryEntrySchema)\n});\nexport type RegisterBatchInput = z.infer<typeof RegisterBatchInputSchema>;\n\n// ── Get input ───────────────────────────────────────────────────────────\n\nexport const GetInputSchema = z.object({\n orgId: z.string(),\n apiId: z.string(),\n sdk: SdkSchema,\n endpointId: z.object({\n path: z.string(),\n method: HttpMethodSchema,\n identifierOverride: z.string().nullish()\n })\n});\nexport type GetInput = z.infer<typeof GetInputSchema>;\n\n// ── Get output ──────────────────────────────────────────────────────────\n\nexport const EndpointSnippetTemplateSchema = z.record(z.string(), z.unknown());\nexport type EndpointSnippetTemplate = z.infer<typeof EndpointSnippetTemplateSchema>;\n\n// ── Contract ────────────────────────────────────────────────────────────\n\nexport const templatesContract = {\n register: oc.route({ method: \"POST\", path: \"/register\" }).input(RegisterInputSchema),\n\n registerBatch: oc.route({ method: \"POST\", path: \"/register/batch\" }).input(RegisterBatchInputSchema),\n\n get: oc.route({ method: \"POST\", path: \"/get\" }).input(GetInputSchema).output(EndpointSnippetTemplateSchema)\n};\n","import { createORPCClient } from \"@orpc/client\";\nimport type { ContractRouterClient } from \"@orpc/contract\";\nimport type { JsonifiedClient } from \"@orpc/openapi-client\";\nimport { OpenAPILink } from \"@orpc/openapi-client/fetch\";\nimport { tokensContract } from \"./contract.js\";\n\nexport type TokensClient = JsonifiedClient<ContractRouterClient<typeof tokensContract>>;\n\nexport interface CreateTokensClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\nexport function createTokensClient(options: CreateTokensClientOptions): TokensClient {\n const link = new OpenAPILink(tokensContract, {\n url: `${options.baseUrl}/tokens`,\n headers: () => ({\n Authorization: `Bearer ${options.token}`,\n ...options.headers\n }),\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n return createORPCClient(link);\n}\n","import { oc } from \"@orpc/contract\";\nimport * as z from \"zod\";\n\n// ── Input schemas ───────────────────────────────────────────────────────\n\nexport const GenerateTokenInputSchema = z.object({\n orgId: z.string(),\n scope: z.string()\n});\n\nexport const RevokeTokenInputSchema = z.object({\n orgId: z.string(),\n tokenId: z.string()\n});\n\n// ── Output schemas ──────────────────────────────────────────────────────\n\nexport const GenerateTokenOutputSchema = z.object({\n token: z.string(),\n id: z.string()\n});\n\n// ── Types ───────────────────────────────────────────────────────────────\n\nexport type GenerateTokenInput = z.infer<typeof GenerateTokenInputSchema>;\nexport type RevokeTokenInput = z.infer<typeof RevokeTokenInputSchema>;\nexport type GenerateTokenOutput = z.infer<typeof GenerateTokenOutputSchema>;\n\n// ── Contract ────────────────────────────────────────────────────────────\n\nexport const tokensContract = {\n generate: oc\n .route({ method: \"POST\", path: \"/generate\" })\n .input(GenerateTokenInputSchema)\n .output(GenerateTokenOutputSchema),\n\n revoke: oc.route({ method: \"POST\", path: \"/revoke\" }).input(RevokeTokenInputSchema)\n};\n","import { type ApiClient, createApiClient } from \"./api/client.js\";\nimport { createDashboardClient, type DashboardClient } from \"./dashboard/client.js\";\nimport { createDashboardAgentClient, type DashboardAgentClient } from \"./dashboard-agent/client.js\";\nimport { createDocsClient, type DocsClient } from \"./docs/client.js\";\nimport { createDocsCacheClient, type DocsCacheClient } from \"./docs-cache/client.js\";\nimport { createDocsDeploymentClient, type DocsDeploymentClient } from \"./docs-deployment/client.js\";\nimport { createDocsLedgerClient, type DocsLedgerClient } from \"./docs-ledger/client.js\";\nimport { createEditorSnapshotClient, type EditorSnapshotClient } from \"./editor-snapshot/client.js\";\nimport { createGeneratorCliClient, type GeneratorCliClient } from \"./generators/cli/client.js\";\nimport { createGeneratorsRootClient, type GeneratorsRootClient } from \"./generators/client.js\";\nimport { createGeneratorVersionsClient, type GeneratorVersionsClient } from \"./generators/versions/client.js\";\nimport { createGitClient, type GitClient } from \"./git/client.js\";\nimport { createMcpHostingClient, type McpHostingClient } from \"./mcp-hosting/client.js\";\nimport { createPdfExportClient, type PdfExportClient } from \"./pdf-export/client.js\";\nimport { createSdksClient, type SdksClient } from \"./sdks/client.js\";\nimport { createSlugsClient, type SlugsClient } from \"./slugs/client.js\";\nimport {\n createSnippetsClient,\n createSnippetsFactoryClient,\n type SnippetsClient,\n type SnippetsFactoryClient\n} from \"./snippets/client.js\";\nimport { createTemplatesClient, type TemplatesClient } from \"./templates/client.js\";\nimport { createTokensClient, type TokensClient } from \"./tokens/client.js\";\n\nexport interface GeneratorsClient {\n root: GeneratorsRootClient;\n cli: GeneratorCliClient;\n versions: GeneratorVersionsClient;\n}\n\nexport interface FdrORPCClient {\n api: ApiClient;\n dashboard: DashboardClient;\n dashboardAgent: DashboardAgentClient;\n docs: DocsClient;\n docsCache: DocsCacheClient;\n docsDeployment: DocsDeploymentClient;\n docsLedger: DocsLedgerClient;\n editorSnapshot: EditorSnapshotClient;\n generators: GeneratorsClient;\n git: GitClient;\n mcpHosting: McpHostingClient;\n slugs: SlugsClient;\n pdfExport: PdfExportClient;\n sdks: SdksClient;\n snippets: SnippetsClient;\n snippetsFactory: SnippetsFactoryClient;\n templates: TemplatesClient;\n tokens: TokensClient;\n}\n\nexport interface CreateFdrORPCClientOptions {\n baseUrl: string;\n token: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\n/**\n * Creates a composed oRPC client with all FDR resources.\n * New resource clients should be added here as they are migrated.\n */\nexport function createFdrORPCClient(options: CreateFdrORPCClientOptions): FdrORPCClient {\n // Normalize baseUrl to remove trailing slashes to prevent double-slash in route paths\n const normalizedOptions = {\n ...options,\n baseUrl: options.baseUrl.replace(/\\/+$/, \"\")\n };\n return {\n api: createApiClient(normalizedOptions),\n dashboard: createDashboardClient(normalizedOptions),\n dashboardAgent: createDashboardAgentClient(normalizedOptions),\n docs: createDocsClient(normalizedOptions),\n docsCache: createDocsCacheClient(normalizedOptions),\n docsDeployment: createDocsDeploymentClient(normalizedOptions),\n docsLedger: createDocsLedgerClient(normalizedOptions),\n editorSnapshot: createEditorSnapshotClient(normalizedOptions),\n generators: {\n root: createGeneratorsRootClient(normalizedOptions),\n cli: createGeneratorCliClient(normalizedOptions),\n versions: createGeneratorVersionsClient(normalizedOptions)\n },\n git: createGitClient(normalizedOptions),\n mcpHosting: createMcpHostingClient(normalizedOptions),\n slugs: createSlugsClient(normalizedOptions),\n pdfExport: createPdfExportClient(normalizedOptions),\n sdks: createSdksClient(normalizedOptions),\n snippets: createSnippetsClient(normalizedOptions),\n snippetsFactory: createSnippetsFactoryClient(normalizedOptions),\n templates: createTemplatesClient(normalizedOptions),\n tokens: createTokensClient(normalizedOptions)\n };\n}\n","import { type CreateFdrORPCClientOptions, createFdrORPCClient, type FdrORPCClient } from \"../orpc-client/client.js\";\n\nexport type { CreateFdrORPCClientOptions, FdrORPCClient };\nexport { createFdrORPCClient };\n\nexport interface FdrClientOptions {\n environment?: string;\n token?: string;\n headers?: Record<string, string>;\n /** Custom fetch implementation, e.g. to add gzip compression. */\n fetch?: typeof globalThis.fetch;\n}\n\n/**\n * Backward-compatible FdrClient class that wraps the oRPC composite client.\n * Supports `new FdrClient({ environment, token })` syntax used by downstream packages.\n */\nexport class FdrClient {\n private readonly client: FdrORPCClient;\n\n constructor(options: FdrClientOptions = {}) {\n this.client = createFdrORPCClient({\n baseUrl: options.environment ?? \"https://registry.buildwithfern.com\",\n token: options.token ?? \"\",\n headers: options.headers,\n ...(options.fetch != null ? { fetch: options.fetch } : {})\n });\n }\n\n get api() {\n return this.client.api;\n }\n get dashboard() {\n return this.client.dashboard;\n }\n get docs() {\n return this.client.docs;\n }\n get docsCache() {\n return this.client.docsCache;\n }\n get generators() {\n return this.client.generators;\n }\n get git() {\n return this.client.git;\n }\n get slugs() {\n return this.client.slugs;\n }\n get pdfExport() {\n return this.client.pdfExport;\n }\n get sdks() {\n return this.client.sdks;\n }\n get snippets() {\n return this.client.snippets;\n }\n get snippetsFactory() {\n return this.client.snippetsFactory;\n }\n get templates() {\n return this.client.templates;\n }\n get tokens() {\n return this.client.tokens;\n }\n}\n"],"mappings":"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","names":["z","z","z","z","z","createORPCClient","OpenAPILink","oc","z","oc","z","oc","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","oc","z","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","oc","z","z","z","z","FileIdSchema","PageIdSchema","UrlSchema","VersionIdSchema","ApiDefinitionIdSchema","EndpointIdSchema","WebSocketIdSchema","WebhookIdSchema","RoleIdSchema","SubpackageIdSchema","AvailabilitySchema","FileIdSchema","UrlSchema","RoleIdSchema","FileIdSchema","UrlSchema","PageIdSchema","ApiNavigationConfigItemSchema","SubpackageIdSchema","EndpointIdSchema","WebSocketIdSchema","WebhookIdSchema","ApiNavigationConfigRootSchema","DocsConfigIdSchema","UrlSchema","FileIdSchema","ApiNavigationConfigRootSchema","ApiDefinitionIdSchema","PageIdSchema","VersionIdSchema","AvailabilitySchema","UrlSchema","FileIdSchema","DocsConfigIdSchema","oc","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","oc","z","oc","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","oc","z","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","oc","z","getDocsForUrl","Error","oc","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","oc","z","z","z","OrgIdSchema","HeightSchema","FileIdSchema","PageContentSchema","UrlSchema","NavigationNodeMetadataSchema","PageMetadataSchema","PageIdSchema","LinkMetadataSchema","ChangelogItemSchema","ChangelogSectionSchema","ChangelogSectionV3Schema","NavigationTabLinkSchema","ApiNavigationConfigItemSchema","SubpackageIdSchema","EndpointIdSchema","WebSocketIdSchema","WebhookIdSchema","ApiNavigationConfigRootSchema","ApiSectionSchema","ApiDefinitionIdSchema","ApiSectionV2Schema","DocsSectionSchema","NavigationItemSchema","NavigationTabGroupSchema","NavigationTabSchema","UnversionedTabbedNavigationConfigSchema","UnversionedUntabbedNavigationConfigSchema","UnversionedNavigationConfigSchema","VersionedNavigationConfigDataSchema","VersionIdSchema","AvailabilitySchema","VersionedNavigationConfigSchema","NavigationConfigSchema","ThemeConfigSchema","DarkAndLightModeConfigSchema","ColorsConfigV3Schema","DocsConfigSchema","DocsDefinitionSchema","NpmPackageSchema","MavenPackageSchema","PypiPackageSchema","PublishedSdkSchema","PublishedPostmanCollectionSchema","ApiArtifactsSchema","FilePathSchema","FilePathSchema","Bcp47LocaleSchema","oc","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","oc","z","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","oc","z","LinkTargetSchema","oc","oc","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","oc","z","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","oc","z","oc","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","oc","z","oc","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","oc","z","z","z","z","oc","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","oc","z","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","oc","z","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","oc","z","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","oc","z","oc","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","oc","z","oc","OpenAPILink","createORPCClient","createORPCClient","OpenAPILink","oc","z","OpenAPILink","createORPCClient"]}