@fern-api/fdr-sdk 1.2.162-d476e5b6bc → 1.2.163-648ea89159

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/shared.ts","../../../../../src/orpc-client/shared.ts","../../../../../src/orpc-client/api/ids.ts","../../../../../src/navigation/types/latest.ts","../../../../../../commons/core-utils/src/assertNever.ts","../../../../../../commons/core-utils/src/isNonNullish.ts","../../../../../../commons/core-utils/src/visitDiscriminatedUnion.ts","../../../../../src/navigation/versions/latest/NavigationNodeApiLeaf.ts","../../../../../src/navigation/versions/latest/NavigationNodePageLeaf.ts","../../../../../src/navigation/versions/latest/NavigationNodeLeaf.ts","../../../../../src/navigation/versions/latest/getChildren.ts","../../../../../src/navigation/versions/latest/getPageId.ts","../../../../../src/navigation/versions/latest/isApiReferenceNode.ts","../../../../../src/navigation/versions/latest/isExternalProductNode.ts","../../../../../src/navigation/versions/latest/isInternalProductNode.ts","../../../../../src/navigation/versions/latest/isProductGroupNode.ts","../../../../../src/navigation/versions/latest/isProductNode.ts","../../../../../src/navigation/versions/latest/isSidebarRootNode.ts","../../../../../src/navigation/versions/latest/isTabbedNode.ts","../../../../../src/navigation/versions/latest/isUnversionedNode.ts","../../../../../src/navigation/versions/latest/isVariantedNode.ts","../../../../../src/navigation/versions/latest/isVariantNode.ts","../../../../../src/navigation/versions/latest/isVersionNode.ts","../../../../../src/navigation/versions/latest/NavigationNodeSection.ts","../../../../../src/navigation/versions/latest/NavigationNodeSectionOverview.ts","../../../../../src/navigation/versions/latest/NavigationNodeMarkdown.ts","../../../../../src/navigation/versions/latest/NavigationNodeNeighbor.ts","../../../../../src/navigation/versions/latest/NavigationNodePage.ts","../../../../../src/navigation/versions/latest/NavigationNodeWithMetadata.ts","../../../../../src/navigation/versions/latest/NavigationNodeWithRedirect.ts","../../../../../src/navigation/versions/latest/NavigationNodeWithSlug.ts","../../../../../src/navigation/versions/latest/slugjoin.ts","../../../../../src/navigation/versions/latest/toDefaultSlug.ts","../../../../../src/utils/traversers/types.ts","../../../../../src/utils/traversers/bfs.ts","../../../../../src/navigation/versions/latest/traverseBF.ts","../../../../../src/utils/traversers/dfs.ts","../../../../../src/navigation/versions/latest/traverseDF.ts"],"sourcesContent":["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","export type TypeId = string;\nexport type EndpointId = string;\nexport type WebSocketId = string;\nexport type WebhookId = string;\nexport type GraphQlOperationId = string;\nexport type EnvironmentId = string;\nexport type PropertyKey = string;\nexport type AuthSchemeId = string;\nexport type SubpackageId = string;\nexport type WebSocketMessageId = string;\nexport type FileId = string & { FileId: void };\n\nexport function TypeId(value: string): TypeId {\n return value;\n}\n\nexport function EndpointId(value: string): EndpointId {\n return value;\n}\n\nexport function WebSocketId(value: string): WebSocketId {\n return value;\n}\n\nexport function WebhookId(value: string): WebhookId {\n return value;\n}\n\nexport function GraphQlOperationId(value: string): GraphQlOperationId {\n return value;\n}\n\nexport function EnvironmentId(value: string): EnvironmentId {\n return value;\n}\n\nexport function PropertyKey(value: string): PropertyKey {\n return value;\n}\n\nexport function AuthSchemeId(value: string): AuthSchemeId {\n return value;\n}\n\nexport function SubpackageId(value: string): SubpackageId {\n return value;\n}\n\nexport function WebSocketMessageId(value: string): WebSocketMessageId {\n return value;\n}\n\n/**\n * Resolve every GraphQL operation id backing a graphql node: the primary\n * operation plus any grouped (namespace) operations, deduplicated.\n *\n * The primary `graphqlOperationId` is NOT guaranteed to appear in\n * `graphqlOperationIds` — for namespace nodes it is the parent operation, which\n * lives outside the grouped-children list — so it must be unioned in explicitly.\n * Any caller that needs the full operation set (pruning, search indexing,\n * markdown) must use this rather than reading `graphqlOperationIds` directly.\n */\nexport function getGraphqlOperationIds(node: {\n graphqlOperationId: GraphQlOperationId;\n graphqlOperationIds?: GraphQlOperationId[] | undefined;\n}): GraphQlOperationId[] {\n const ids = new Set<GraphQlOperationId>(node.graphqlOperationIds ?? []);\n ids.add(node.graphqlOperationId);\n return [...ids];\n}\n\nexport function FileId(value: string): FileId {\n return value as unknown as FileId;\n}\n","import type {\n EndpointId,\n EnvironmentId,\n FileId,\n GraphQlOperationId,\n GraphQlOperationType,\n GraphQlTypeCategory,\n TypeId,\n WebhookId,\n WebSocketId\n} from \"../../orpc-client/api/shared.js\";\nimport type {\n AnnouncementConfig,\n ApiDefinitionId,\n Availability,\n GrpcId,\n GrpcMethod,\n HttpMethod,\n LinkTarget,\n PageId,\n RoleId,\n Url,\n VersionId\n} from \"../../orpc-client/shared.js\";\n\nexport type Slug = string & {\n navigation_latest_Slug: void;\n};\n\nexport function Slug(value: string): Slug {\n return value as unknown as Slug;\n}\n\nexport type TabId = string & {\n navigation_latest_TabId: void;\n};\n\nexport function TabId(value: string): TabId {\n return value as unknown as TabId;\n}\n\nexport type NodeId = string & {\n navigation_latest_NodeId: void;\n};\n\nexport function NodeId(value: string): NodeId {\n return value as unknown as NodeId;\n}\n\nexport type ProductId = string & {\n navigation_latest_ProductId: void;\n};\n\nexport function ProductId(value: string): ProductId {\n return value as unknown as ProductId;\n}\n\nexport type VariantId = string & {\n navigation_latest_VariantId: void;\n};\n\nexport function VariantId(value: string): VariantId {\n return value as unknown as VariantId;\n}\n\nexport type RootChild = VersionedNode | UnversionedNode | ProductGroupNode;\n\nexport type ProductNode = InternalProductNode | ExternalProductNode;\n\nexport type ProductChild = VersionedNode | UnversionedNode;\n\nexport type VersionChild = TabbedNode | SidebarRootNode | VariantedNode;\n\nexport type VariantChild = ApiReferenceNode | SectionNode | SidebarGroupNode | PageNode | LinkNode | ChangelogNode;\n\nexport type TabChild = TabNode | LinkNode | ChangelogNode;\n\nexport type SidebarRootChild = SidebarGroupNode | ApiReferenceNode | SectionNode | VariantedNode;\n\nexport type NavigationChild = ApiReferenceNode | SectionNode | PageNode | LinkNode | ChangelogNode | VariantedNode;\n\nexport type ApiPackageChild =\n | ApiPackageNode\n | EndpointNode\n | EndpointPairNode\n | WebSocketNode\n | WebhookNode\n | GrpcNode\n | GraphQlNode\n | GraphQlTypeNode\n | PageNode\n | LinkNode;\n\nexport interface WithNodeId {\n id: NodeId;\n collapsed: boolean | \"open-by-default\" | undefined;\n}\n\nexport interface WithPermissions {\n viewers: RoleId[] | undefined;\n orphaned: boolean | undefined;\n}\n\nexport interface WithFeatureFlags {\n featureFlags: FeatureFlagOptions[] | undefined;\n}\n\nexport interface WithNodeMetadata extends WithNodeId, WithPermissions, WithFeatureFlags {\n title: string;\n slug: Slug;\n canonicalSlug: Slug | undefined;\n icon: string | undefined;\n hidden: boolean | undefined;\n authed: boolean | undefined;\n}\n\nexport interface WithPage {\n pageId: PageId;\n noindex: boolean | undefined;\n}\n\nexport interface WithOverviewPage {\n overviewPageId: PageId | undefined;\n noindex: boolean | undefined;\n}\n\nexport interface WithApiDefinitionId {\n apiDefinitionId: ApiDefinitionId;\n availability: Availability | undefined;\n}\n\nexport interface WithRedirect {\n pointsTo: Slug | undefined;\n}\n\nexport interface FeatureFlagOptions {\n flag: string;\n fallbackValue: unknown | undefined;\n match: unknown | undefined;\n}\n\nexport interface BreadcrumbItem {\n title: string;\n pointsTo: Slug | undefined;\n}\n\nexport interface PlaygroundButtonSettings {\n href: Url | undefined;\n}\n\nexport interface PlaygroundSettings {\n environments: EnvironmentId[] | undefined;\n button: PlaygroundButtonSettings | undefined;\n \"limit-websocket-messages-per-connection\": number | undefined;\n hidden: boolean | undefined;\n // when true, optional parameters that declare a default (or x-fern-default) are\n // pre-filled and sent from the API Explorer playground. defaults to false.\n \"send-optional-defaults\": boolean | undefined;\n}\n\nexport type { GraphQlOperationType };\nexport type { GraphQlTypeCategory };\n\nexport interface ProductGroupNode extends WithNodeId {\n type: \"productgroup\";\n landingPage: LandingPageNode | undefined;\n children: ProductNode[];\n /** Site-level changelog shared by all products; slugged off the root, not shown in the product switcher. */\n changelog?: ChangelogNode | undefined;\n}\n\nexport interface VersionedNode extends WithNodeId {\n type: \"versioned\";\n children: VersionNode[];\n}\n\nexport interface UnversionedNode extends WithNodeId {\n type: \"unversioned\";\n child: VersionChild;\n landingPage: LandingPageNode | undefined;\n}\n\nexport interface VariantedNode extends WithNodeId {\n type: \"varianted\";\n children: VariantNode[];\n}\n\nexport interface TabbedNode extends WithNodeId {\n type: \"tabbed\";\n children: TabChild[];\n}\n\nexport interface SidebarRootNode extends WithNodeId {\n type: \"sidebarRoot\";\n children: SidebarRootChild[];\n}\n\nexport interface SidebarGroupNode extends WithNodeId {\n type: \"sidebarGroup\";\n children: NavigationChild[];\n}\n\nexport interface EndpointPairNode extends WithNodeId {\n type: \"endpointPair\";\n stream: EndpointNode;\n nonStream: EndpointNode;\n}\n\nexport interface LinkNode extends WithNodeId {\n type: \"link\";\n title: string;\n icon: string | undefined;\n url: Url;\n target: LinkTarget | undefined;\n}\n\nexport interface RootNode extends WithNodeMetadata, WithRedirect {\n type: \"root\";\n version: \"v2\";\n child: RootChild;\n roles: RoleId[] | undefined;\n}\n\nexport interface InternalProductNode extends WithNodeMetadata, WithRedirect {\n type: \"product\";\n default: boolean;\n productId: ProductId;\n child: ProductChild;\n subtitle: string;\n image: FileId | undefined;\n announcement: AnnouncementConfig | undefined;\n}\n\nexport interface ExternalProductNode extends WithNodeId, WithPermissions, WithFeatureFlags {\n type: \"productLink\";\n default: boolean;\n productId: ProductId;\n title: string;\n href: Url;\n target: LinkTarget | undefined;\n subtitle: string;\n icon: string | undefined;\n image: FileId | undefined;\n hidden: boolean | undefined;\n authed: boolean | undefined;\n}\n\nexport interface VersionNode extends WithNodeMetadata, WithRedirect {\n type: \"version\";\n default: boolean;\n versionId: VersionId;\n child: VersionChild;\n availability: Availability | undefined;\n landingPage: LandingPageNode | undefined;\n announcement: AnnouncementConfig | undefined;\n}\n\nexport interface VariantNode extends WithNodeMetadata, WithRedirect {\n type: \"variant\";\n default: boolean;\n variantId: VariantId;\n subtitle: string | undefined;\n image: FileId | undefined;\n children: VariantChild[];\n}\n\nexport interface TabNode extends WithNodeMetadata, WithRedirect {\n type: \"tab\";\n child: SidebarRootNode;\n}\n\nexport interface PageNode extends WithNodeMetadata, WithPage {\n type: \"page\";\n availability: Availability | undefined;\n}\n\nexport interface LandingPageNode extends WithNodeMetadata, WithPage {\n type: \"landingPage\";\n}\n\nexport interface SectionNode extends WithNodeMetadata, WithOverviewPage, WithRedirect {\n type: \"section\";\n collapsible: boolean | undefined;\n collapsedByDefault: boolean | undefined;\n children: NavigationChild[];\n availability: Availability | undefined;\n}\n\nexport interface ChangelogNode extends WithNodeMetadata, WithOverviewPage {\n type: \"changelog\";\n children: ChangelogYearNode[];\n}\n\nexport interface ChangelogYearNode extends WithNodeMetadata {\n type: \"changelogYear\";\n year: number;\n children: ChangelogMonthNode[];\n}\n\nexport interface ChangelogMonthNode extends WithNodeMetadata {\n type: \"changelogMonth\";\n month: number;\n children: ChangelogEntryNode[];\n}\n\nexport interface ChangelogEntryNode extends WithNodeMetadata, WithPage {\n type: \"changelogEntry\";\n date: string;\n tags: string[] | undefined;\n}\n\nexport interface ApiReferenceNode extends WithNodeMetadata, WithOverviewPage, WithApiDefinitionId, WithRedirect {\n type: \"apiReference\";\n paginated: boolean | undefined;\n showErrors: boolean | undefined;\n hideTitle: boolean | undefined;\n children: ApiPackageChild[];\n changelog: ChangelogNode | undefined;\n playground: PlaygroundSettings | undefined;\n postmanCollectionUrl: string | undefined;\n}\n\nexport interface EndpointNode extends WithNodeMetadata, WithApiDefinitionId {\n type: \"endpoint\";\n method: HttpMethod;\n endpointId: EndpointId;\n isResponseStream: boolean | undefined;\n playground: PlaygroundSettings | undefined;\n}\n\nexport interface WebSocketNode extends WithNodeMetadata, WithApiDefinitionId {\n type: \"webSocket\";\n webSocketId: WebSocketId;\n playground: PlaygroundSettings | undefined;\n}\n\nexport interface WebhookNode extends WithNodeMetadata, WithApiDefinitionId {\n type: \"webhook\";\n method: HttpMethod;\n webhookId: WebhookId;\n}\n\nexport interface GrpcNode extends WithNodeMetadata, WithApiDefinitionId {\n type: \"grpc\";\n method: GrpcMethod;\n grpcId: GrpcId;\n}\n\nexport interface GraphQlNode extends WithNodeMetadata, WithApiDefinitionId {\n type: \"graphql\";\n operationType: GraphQlOperationType;\n graphqlOperationId: GraphQlOperationId;\n /** Additional operation IDs when this node represents a namespace group (e.g. fieldPath grouping). */\n graphqlOperationIds: GraphQlOperationId[] | undefined;\n playground: PlaygroundSettings | undefined;\n}\n\n/**\n * A navigation node representing a single GraphQL schema type (object, input,\n * enum, scalar, interface, or union) as opposed to a GraphQL operation.\n *\n * This node is a navigable leaf, mirroring {@link GraphQlNode}. Generating these\n * nodes from a schema (FER-10879) and rendering a dedicated type page\n * (FER-10880) are tracked separately.\n */\nexport interface GraphQlTypeNode extends WithNodeMetadata, WithApiDefinitionId {\n type: \"graphqlType\";\n typeId: TypeId;\n typeCategory: GraphQlTypeCategory;\n}\n\nexport interface ApiPackageNode extends WithNodeMetadata, WithOverviewPage, WithApiDefinitionId, WithRedirect {\n type: \"apiPackage\";\n children: ApiPackageChild[];\n playground: PlaygroundSettings | undefined;\n}\n","export function assertNever(x: never): never {\n throw new Error(\"Unexpected value: \" + JSON.stringify(x));\n}\n\nexport function assertNeverNoThrow(_: never): void {}\n\nexport default assertNever;\n","export function isNonNullish<T>(x: T | null | undefined): x is T {\n return x != null;\n}\n\nexport function assertNonNullish<T>(x: T | null | undefined, message?: string): asserts x is T {\n if (x == null) {\n throw new Error(message ?? \"Value is null or undefined\");\n }\n}\n","import { assertNever } from \"./assertNever\";\n\nexport type DiscriminatedUnionVisitor<T extends Record<Discriminant, string>, U, Discriminant extends string> = {\n [D in T[Discriminant]]: (value: Extract<T, Record<Discriminant, D>>) => U;\n} & {\n _other?: (value: Record<Discriminant, string>) => U;\n};\n\nexport function visitDiscriminatedUnion<T extends Record<\"type\", string>>(\n item: T\n): { _visit: <U>(visitor: DiscriminatedUnionVisitor<T, U, \"type\">) => U };\nexport function visitDiscriminatedUnion<T extends Record<Discriminant, string>, Discriminant extends string>(\n item: T,\n discriminant: Discriminant\n): { _visit: <U>(visitor: DiscriminatedUnionVisitor<T, U, Discriminant>) => U };\nexport function visitDiscriminatedUnion<T extends Record<Discriminant, string>, Discriminant extends string>(\n item: T,\n discriminant: Discriminant = \"type\" as Discriminant\n): {\n _visit: <U>(visitor: DiscriminatedUnionVisitor<T, U, Discriminant>) => U;\n} {\n return {\n _visit: (visitor) => {\n const visit = visitor[item[discriminant]];\n if (visit != null) {\n return visit(item as Extract<T, Record<Discriminant, string>>);\n } else {\n if (visitor._other == null) {\n assertNever(item as never);\n }\n return visitor._other(item);\n }\n }\n };\n}\n\nexport default visitDiscriminatedUnion;\n","import type { EndpointNode, GraphQlNode, GraphQlTypeNode, GrpcNode, WebhookNode, WebSocketNode } from \".\";\nimport type { NavigationNode } from \"./NavigationNode\";\n\n/**\n * A node in the navigation tree that represents an API endpoint, web socket, or webhook.\n */\nexport type NavigationNodeApiLeaf =\n | EndpointNode\n | WebSocketNode\n | WebhookNode\n | GrpcNode\n | GraphQlNode\n | GraphQlTypeNode;\n\nexport function isApiLeaf(node: NavigationNode): node is NavigationNodeApiLeaf {\n return (\n node.type === \"endpoint\" ||\n node.type === \"webSocket\" ||\n node.type === \"webhook\" ||\n node.type === \"grpc\" ||\n node.type === \"graphql\" ||\n node.type === \"graphqlType\"\n );\n}\n","import type { ChangelogEntryNode, LandingPageNode, PageNode } from \".\";\nimport type { NavigationNode } from \"./NavigationNode\";\n\n/**\n * A leaf node that contains primarily markdown content\n */\nexport type NavigationNodeMarkdownLeaf = ChangelogEntryNode | PageNode | LandingPageNode;\n\nexport function isMarkdownLeaf(node: NavigationNode): node is NavigationNodeMarkdownLeaf {\n return node.type === \"page\" || node.type === \"landingPage\" || node.type === \"changelogEntry\";\n}\n","import type { LinkNode } from \".\";\nimport type { NavigationNode } from \"./NavigationNode\";\nimport { isApiLeaf, type NavigationNodeApiLeaf } from \"./NavigationNodeApiLeaf\";\nimport { isMarkdownLeaf, type NavigationNodeMarkdownLeaf } from \"./NavigationNodePageLeaf\";\n\n/**\n * A navigation node that represents a leaf in the navigation tree (i.e. a node that does not have children)\n */\nexport type NavigationNodeLeaf = NavigationNodeApiLeaf | NavigationNodeMarkdownLeaf | LinkNode;\n\nexport function isLeaf(node: NavigationNode): node is NavigationNodeLeaf {\n return isApiLeaf(node) || isMarkdownLeaf(node) || node.type === \"link\";\n}\n","import { assertNever } from \"@fern-api/ui-core-utils\";\n\nimport type { NavigationNode } from \"./NavigationNode\";\nimport { isLeaf } from \"./NavigationNodeLeaf\";\n\nexport function getChildren(node: NavigationNode): readonly NavigationNode[] {\n if (isLeaf(node)) {\n return [];\n }\n\n switch (node.type) {\n case \"apiPackage\":\n case \"changelog\":\n case \"changelogMonth\":\n case \"changelogYear\":\n case \"section\":\n case \"sidebarGroup\":\n case \"sidebarRoot\":\n case \"tabbed\":\n case \"versioned\":\n case \"varianted\":\n return node.children;\n case \"product\":\n case \"root\":\n case \"tab\":\n return [node.child];\n case \"productLink\":\n return [];\n case \"variant\":\n return node.children;\n case \"apiReference\":\n return [...node.children, ...(node.changelog ? [node.changelog] : [])];\n case \"endpointPair\":\n return [node.nonStream, node.stream];\n case \"productgroup\":\n return [\n ...(node.landingPage ? [node.landingPage] : []),\n ...node.children,\n ...(node.changelog ? [node.changelog] : [])\n ];\n case \"unversioned\":\n case \"version\":\n return [...(node.landingPage ? [node.landingPage] : []), node.child];\n default:\n return assertNever(node);\n }\n}\n","import visitDiscriminatedUnion from \"@fern-api/ui-core-utils/visitDiscriminatedUnion\";\n\nimport type { NavigationNodePage, PageId } from \".\";\n\nconst RETURN_PAGEID = (node: { pageId: PageId }) => node.pageId;\nconst RETURN_OVERVIEW_PAGEID = (node: { overviewPageId?: PageId }) => node.overviewPageId;\nconst RETURN_UNDEFINED = () => undefined;\n\nexport function getPageId(node: NavigationNodePage): PageId | undefined {\n return visitDiscriminatedUnion(node)._visit({\n section: RETURN_OVERVIEW_PAGEID,\n apiReference: RETURN_OVERVIEW_PAGEID,\n changelog: RETURN_OVERVIEW_PAGEID,\n apiPackage: RETURN_OVERVIEW_PAGEID,\n changelogEntry: RETURN_PAGEID,\n page: RETURN_PAGEID,\n landingPage: RETURN_PAGEID,\n\n // if the following changes, make sure to update the algolia records generator\n endpoint: RETURN_UNDEFINED,\n webSocket: RETURN_UNDEFINED,\n webhook: RETURN_UNDEFINED,\n grpc: RETURN_UNDEFINED,\n graphql: RETURN_UNDEFINED,\n graphqlType: RETURN_UNDEFINED\n // changelogYear: RETURN_UNDEFINED,\n // changelogMonth: RETURN_UNDEFINED,\n });\n}\n","import type { FernNavigation } from \"../../..\";\n\nexport function isApiReferenceNode(node: FernNavigation.NavigationNode): node is FernNavigation.ApiReferenceNode {\n return node.type === \"apiReference\";\n}\n","import type { ExternalProductNode, NavigationNode } from \".\";\n\nexport function isExternalProductNode(node: NavigationNode): node is ExternalProductNode {\n return node.type === \"productLink\";\n}\n","import type { InternalProductNode, NavigationNode } from \".\";\n\nexport function isInternalProductNode(node: NavigationNode): node is InternalProductNode {\n return node.type === \"product\";\n}\n","import type { NavigationNode, ProductGroupNode } from \".\";\n\nexport function isProductGroupNode(node: NavigationNode): node is ProductGroupNode {\n return node.type === \"productgroup\";\n}\n","import type { NavigationNode, ProductNode } from \".\";\n\nexport function isProductNode(node: NavigationNode): node is ProductNode {\n return node.type === \"product\" || node.type === \"productLink\";\n}\n","import type { FernNavigation } from \"../../..\";\n\nexport function isSidebarRootNode(node: FernNavigation.NavigationNode): node is FernNavigation.SidebarRootNode {\n return node.type === \"sidebarRoot\";\n}\n","import type { FernNavigation } from \"../../..\";\n\nexport function isTabbedNode(node: FernNavigation.NavigationNode): node is FernNavigation.TabbedNode {\n return node.type === \"tabbed\";\n}\n","import type { FernNavigation } from \"../../..\";\n\nexport function isUnversionedNode(node: FernNavigation.NavigationNode): node is FernNavigation.UnversionedNode {\n return node.type === \"unversioned\";\n}\n","import type { NavigationNode, VariantedNode } from \".\";\n\nexport function isVariantedNode(node: NavigationNode | undefined): node is VariantedNode {\n return node?.type === \"varianted\";\n}\n","import type { NavigationNode, VariantNode } from \".\";\n\nexport function isVariantNode(node: NavigationNode | undefined): node is VariantNode {\n return node?.type === \"variant\";\n}\n","import type { NavigationNode, VersionNode } from \".\";\n\nexport function isVersionNode(node: NavigationNode): node is VersionNode {\n return node.type === \"version\";\n}\n","import type { ApiPackageNode, ApiReferenceNode, ChangelogNode, SectionNode } from \".\";\nimport type { NavigationNode } from \"./NavigationNode\";\n\n/**\n * A navigation node that isn't a leaf node and contains markdown content\n */\nexport type NavigationNodeSection = SectionNode | ApiReferenceNode | ChangelogNode | ApiPackageNode;\n\nexport function isSection(node: NavigationNode): node is NavigationNodeSection {\n return (\n node.type === \"section\" ||\n node.type === \"apiReference\" ||\n node.type === \"changelog\" ||\n node.type === \"apiPackage\"\n );\n}\n","import type { PageId, WithOverviewPage } from \".\";\nimport type { NavigationNode } from \"./NavigationNode\";\nimport { isSection, type NavigationNodeSection } from \"./NavigationNodeSection\";\n\ntype WithRequiredOverviewPage<T extends WithOverviewPage> = T & {\n overviewPageId: PageId;\n};\n\n/**\n * A navigation node that isn't a leaf node and contains markdown content\n */\nexport type NavigationNodeSectionOverview = WithRequiredOverviewPage<NavigationNodeSection>;\n\nexport function isSectionOverview(node: NavigationNode): node is NavigationNodeSectionOverview {\n return isSection(node) && node.overviewPageId != null;\n}\n","import type { NavigationNode } from \"./NavigationNode\";\nimport { isMarkdownLeaf, type NavigationNodeMarkdownLeaf } from \"./NavigationNodePageLeaf\";\nimport { isSectionOverview, type NavigationNodeSectionOverview } from \"./NavigationNodeSectionOverview\";\n\n/**\n * A navigation node that contains markdown content\n */\nexport type NavigationNodeWithMarkdown = NavigationNodeSectionOverview | NavigationNodeMarkdownLeaf;\n\nexport function hasMarkdown(node: NavigationNode): node is NavigationNodeWithMarkdown {\n return isMarkdownLeaf(node) || isSectionOverview(node);\n}\n","import type { ChangelogEntryNode, ChangelogNode, PageNode } from \".\";\nimport type { NavigationNode } from \"./NavigationNode\";\nimport { isApiLeaf, type NavigationNodeApiLeaf } from \"./NavigationNodeApiLeaf\";\nimport { isSectionOverview, type NavigationNodeSectionOverview } from \"./NavigationNodeSectionOverview\";\n\nexport type NavigationNodeNeighbor =\n | NavigationNodeApiLeaf\n | PageNode\n | ChangelogNode\n | ChangelogEntryNode\n | NavigationNodeSectionOverview;\n\nexport function isNeighbor(node: NavigationNode): node is NavigationNodeNeighbor {\n return (\n isApiLeaf(node) ||\n node.type === \"page\" ||\n node.type === \"changelog\" ||\n node.type === \"changelogEntry\" ||\n isSectionOverview(node)\n );\n}\n","import type { ChangelogNode } from \".\";\nimport type { NavigationNode } from \"./NavigationNode\";\nimport { isApiLeaf, type NavigationNodeApiLeaf } from \"./NavigationNodeApiLeaf\";\nimport { hasMarkdown, type NavigationNodeWithMarkdown } from \"./NavigationNodeMarkdown\";\n\n/**\n * A navigation node that represents a visitable page in the documentation\n */\nexport type NavigationNodePage = NavigationNodeWithMarkdown | NavigationNodeApiLeaf | ChangelogNode;\n// | ChangelogYearNode\n// | ChangelogMonthNode;\n\nexport function isPage<N extends NavigationNode>(node: N): node is N & NavigationNodePage {\n return (\n isApiLeaf(node) ||\n node.type === \"changelog\" ||\n // TODO: Uncomment when changelog years and months are visitable\n // node.type === \"changelogYear\" ||\n // node.type === \"changelogMonth\" ||\n hasMarkdown(node)\n );\n}\n","import type { WithNodeMetadata } from \".\";\nimport type { NavigationNode } from \"./NavigationNode\";\n\n/**\n * A navigation node that has a title and a slug\n */\nexport type NavigationNodeWithMetadata = Extract<NavigationNode, WithNodeMetadata>;\n\nexport function hasMetadata(node: Partial<NavigationNode>): node is NavigationNodeWithMetadata {\n return (\n typeof (node as NavigationNodeWithMetadata).title === \"string\" &&\n typeof (node as NavigationNodeWithMetadata).slug === \"string\"\n );\n}\n","import type { Slug, WithRedirect } from \".\";\nimport type { NavigationNode } from \"./NavigationNode\";\n\n/**\n * Navigation nodes that can have a redirect\n */\nexport type NavigationNodeWithPointsTo = Extract<NavigationNode, WithRedirect>;\n\nexport function hasPointsTo(node: NavigationNode): node is NavigationNodeWithPointsTo {\n return (\n node.type === \"root\" ||\n node.type === \"product\" ||\n node.type === \"version\" ||\n node.type === \"tab\" ||\n node.type === \"section\" ||\n node.type === \"apiReference\" ||\n node.type === \"apiPackage\"\n );\n}\n\n/**\n * Navigation nodes that extend WithRedirect\n */\n\nexport function hasRedirect(node: NavigationNode): node is NavigationNodeWithPointsTo & { pointsTo: Slug } {\n if (!hasPointsTo(node)) {\n return false;\n }\n return node.pointsTo != null;\n}\n","import type { Slug } from \".\";\nimport type { NavigationNode } from \"./NavigationNode\";\n\n/**\n * A navigation node that has a slug.\n */\nexport type NavigationNodeWithSlug = Extract<NavigationNode, { slug: Slug }>;\n\nexport function hasSlug(node: NavigationNode): node is NavigationNodeWithSlug {\n return typeof (node as NavigationNodeWithSlug).slug === \"string\";\n}\n","import { isNonNullish } from \"@fern-api/ui-core-utils\";\nimport urljoin from \"url-join\";\n\nimport { Slug } from \".\";\n\n// normalizes slug parts and joins them with a single slash\nexport function slugjoin(...parts: (string | string[] | null | undefined)[]): Slug {\n const slugArray = parts\n .filter(isNonNullish)\n .flatMap((part) => (typeof part === \"string\" ? [part.trim()] : part.map((part) => part.trim())))\n .map((part) => decodeURIComponent(part));\n\n const joined = urljoin(slugArray) ?? \"\";\n const normalized = joined\n .replaceAll(\"//*\", \"/\") // Remove duplicate slashes\n .replace(/^\\//, \"\") // Remove leading slash\n .replace(/\\/$/, \"\"); // Remove trailing slash\n\n return Slug(normalized);\n}\n","import { escapeRegExp } from \"es-toolkit/string\";\n\nimport { Slug } from \".\";\n\n/**\n * All versioned slugs are prefixed with the version slug, but the default version may be accessed without the version prefix.\n * toDefaultSlug creates the \"unversioned\" slug for pages under the default version.\n * This should be treated as the cannonical slug for that page.\n */\nexport function toDefaultSlug(slug: Slug, rootSlug: Slug, versionSlug: Slug): Slug;\nexport function toDefaultSlug(slug: Slug | undefined, rootSlug: Slug, versionSlug: Slug): Slug | undefined;\nexport function toDefaultSlug(slug: Slug | undefined, rootSlug: Slug, versionSlug: Slug): Slug | undefined {\n if (slug == null) {\n return undefined;\n }\n if (slug.startsWith(versionSlug)) {\n return Slug(slug.replace(new RegExp(`^${escapeRegExp(versionSlug)}`), rootSlug).replace(/^\\//, \"\"));\n }\n return slug;\n}\n","export const SKIP = \"skip\" as const;\nexport const STOP = false;\nexport const CONTINUE = true;\n\nexport type Action = typeof CONTINUE | typeof SKIP | typeof STOP | void;\n\nexport type TraverserVisit<N, P extends N = N> = (node: N, parents: readonly P[]) => Action;\nexport type TraverserGetChildren<N, P extends N = N> = (parent: P) => readonly N[];\n\nexport type DeleterAction = \"deleted\" | \"should-delete-parent\" | \"noop\";\n","import { SKIP, STOP, type TraverserGetChildren, type TraverserVisit } from \"./types\";\n\nexport function bfs<N, P extends N = N>(\n root: N,\n visit: TraverserVisit<N, P>,\n getChildren: TraverserGetChildren<N, P>,\n isParent: (node: N) => node is P = (node): node is P => true\n): void {\n const queue: [N, P[]][] = [[root, []]];\n while (queue.length > 0) {\n const [node, parents] = queue.shift() ?? [];\n if (!node) {\n continue;\n }\n const next = visit(node, parents ?? []);\n\n if (next === SKIP) {\n continue;\n } else if (next === STOP) {\n return;\n }\n\n if (isParent(node)) {\n for (const child of [...getChildren(node)]) {\n queue.push([child, [...(parents ?? []), node]]);\n }\n }\n }\n}\n","import { bfs } from \"../../../utils/traversers/bfs\";\nimport type { TraverserVisit } from \"../../../utils/traversers/types\";\nimport { getChildren } from \"./getChildren\";\nimport type { NavigationNode } from \"./NavigationNode\";\nimport type { NavigationNodeParent } from \"./NavigationNodeParent\";\n\n/**\n * Traverse the navigation tree in a depth-first manner (pre-order).\n */\nexport function traverseBF(node: NavigationNode, visit: TraverserVisit<NavigationNode, NavigationNodeParent>) {\n return bfs(node, visit, getChildren);\n}\n","import { SKIP, STOP, type TraverserGetChildren, type TraverserVisit } from \"./types\";\n\nexport function dfs<N, P extends N = N>(\n root: N,\n visit: TraverserVisit<N, P>,\n getChildren: TraverserGetChildren<N, P>,\n isParent: (node: N) => node is P = (node): node is P => true\n): void {\n const stack: [N, P[]][] = [[root, []]];\n while (stack.length > 0) {\n const [node, parents] = stack.pop() ?? [];\n if (!node) {\n continue;\n }\n const next = visit(node, parents ?? []);\n\n if (next === SKIP) {\n continue;\n } else if (next === STOP) {\n return;\n }\n\n if (isParent(node)) {\n for (const child of [...getChildren(node)].reverse()) {\n stack.push([child, [...(parents ?? []), node]]);\n }\n }\n }\n}\n","import { dfs } from \"../../../utils/traversers/dfs\";\nimport type { TraverserVisit } from \"../../../utils/traversers/types\";\nimport { getChildren } from \"./getChildren\";\nimport type { NavigationNode } from \"./NavigationNode\";\nimport type { NavigationNodeParent } from \"./NavigationNodeParent\";\n\n/**\n * Traverse the navigation tree in a depth-first manner (pre-order).\n */\nexport function traverseDF(node: NavigationNode, visit: TraverserVisit<NavigationNode, NavigationNodeParent>): void {\n return dfs(node, visit, getChildren);\n}\n"],"mappings":"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","names":["z","part","getChildren","getChildren"]}
1
+ {"version":3,"sources":["../../../../../src/orpc-client/api/shared.ts","../../../../../src/orpc-client/shared.ts","../../../../../src/orpc-client/api/ids.ts","../../../../../src/navigation/types/latest.ts","../../../../../../commons/core-utils/src/assertNever.ts","../../../../../../commons/core-utils/src/isNonNullish.ts","../../../../../../commons/core-utils/src/visitDiscriminatedUnion.ts","../../../../../src/navigation/versions/latest/NavigationNodeApiLeaf.ts","../../../../../src/navigation/versions/latest/NavigationNodePageLeaf.ts","../../../../../src/navigation/versions/latest/NavigationNodeLeaf.ts","../../../../../src/navigation/versions/latest/getChildren.ts","../../../../../src/navigation/versions/latest/getPageId.ts","../../../../../src/navigation/versions/latest/isApiReferenceNode.ts","../../../../../src/navigation/versions/latest/isExternalProductNode.ts","../../../../../src/navigation/versions/latest/isInternalProductNode.ts","../../../../../src/navigation/versions/latest/NavigationNodeSection.ts","../../../../../src/navigation/versions/latest/NavigationNodeSectionOverview.ts","../../../../../src/navigation/versions/latest/NavigationNodeMarkdown.ts","../../../../../src/navigation/versions/latest/isNoindexNode.ts","../../../../../src/navigation/versions/latest/isProductGroupNode.ts","../../../../../src/navigation/versions/latest/isProductNode.ts","../../../../../src/navigation/versions/latest/isSidebarRootNode.ts","../../../../../src/navigation/versions/latest/isTabbedNode.ts","../../../../../src/navigation/versions/latest/isUnversionedNode.ts","../../../../../src/navigation/versions/latest/isVariantedNode.ts","../../../../../src/navigation/versions/latest/isVariantNode.ts","../../../../../src/navigation/versions/latest/isVersionNode.ts","../../../../../src/navigation/versions/latest/NavigationNodeNeighbor.ts","../../../../../src/navigation/versions/latest/NavigationNodePage.ts","../../../../../src/navigation/versions/latest/NavigationNodeWithMetadata.ts","../../../../../src/navigation/versions/latest/NavigationNodeWithRedirect.ts","../../../../../src/navigation/versions/latest/NavigationNodeWithSlug.ts","../../../../../src/navigation/versions/latest/slugjoin.ts","../../../../../src/navigation/versions/latest/toDefaultSlug.ts","../../../../../src/utils/traversers/types.ts","../../../../../src/utils/traversers/bfs.ts","../../../../../src/navigation/versions/latest/traverseBF.ts","../../../../../src/utils/traversers/dfs.ts","../../../../../src/navigation/versions/latest/traverseDF.ts"],"sourcesContent":["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","export type TypeId = string;\nexport type EndpointId = string;\nexport type WebSocketId = string;\nexport type WebhookId = string;\nexport type GraphQlOperationId = string;\nexport type EnvironmentId = string;\nexport type PropertyKey = string;\nexport type AuthSchemeId = string;\nexport type SubpackageId = string;\nexport type WebSocketMessageId = string;\nexport type FileId = string & { FileId: void };\n\nexport function TypeId(value: string): TypeId {\n return value;\n}\n\nexport function EndpointId(value: string): EndpointId {\n return value;\n}\n\nexport function WebSocketId(value: string): WebSocketId {\n return value;\n}\n\nexport function WebhookId(value: string): WebhookId {\n return value;\n}\n\nexport function GraphQlOperationId(value: string): GraphQlOperationId {\n return value;\n}\n\nexport function EnvironmentId(value: string): EnvironmentId {\n return value;\n}\n\nexport function PropertyKey(value: string): PropertyKey {\n return value;\n}\n\nexport function AuthSchemeId(value: string): AuthSchemeId {\n return value;\n}\n\nexport function SubpackageId(value: string): SubpackageId {\n return value;\n}\n\nexport function WebSocketMessageId(value: string): WebSocketMessageId {\n return value;\n}\n\n/**\n * Resolve every GraphQL operation id backing a graphql node: the primary\n * operation plus any grouped (namespace) operations, deduplicated.\n *\n * The primary `graphqlOperationId` is NOT guaranteed to appear in\n * `graphqlOperationIds` — for namespace nodes it is the parent operation, which\n * lives outside the grouped-children list — so it must be unioned in explicitly.\n * Any caller that needs the full operation set (pruning, search indexing,\n * markdown) must use this rather than reading `graphqlOperationIds` directly.\n */\nexport function getGraphqlOperationIds(node: {\n graphqlOperationId: GraphQlOperationId;\n graphqlOperationIds?: GraphQlOperationId[] | undefined;\n}): GraphQlOperationId[] {\n const ids = new Set<GraphQlOperationId>(node.graphqlOperationIds ?? []);\n ids.add(node.graphqlOperationId);\n return [...ids];\n}\n\nexport function FileId(value: string): FileId {\n return value as unknown as FileId;\n}\n","import type {\n EndpointId,\n EnvironmentId,\n FileId,\n GraphQlOperationId,\n GraphQlOperationType,\n GraphQlTypeCategory,\n TypeId,\n WebhookId,\n WebSocketId\n} from \"../../orpc-client/api/shared.js\";\nimport type {\n AnnouncementConfig,\n ApiDefinitionId,\n Availability,\n GrpcId,\n GrpcMethod,\n HttpMethod,\n LinkTarget,\n PageId,\n RoleId,\n Url,\n VersionId\n} from \"../../orpc-client/shared.js\";\n\nexport type Slug = string & {\n navigation_latest_Slug: void;\n};\n\nexport function Slug(value: string): Slug {\n return value as unknown as Slug;\n}\n\nexport type TabId = string & {\n navigation_latest_TabId: void;\n};\n\nexport function TabId(value: string): TabId {\n return value as unknown as TabId;\n}\n\nexport type NodeId = string & {\n navigation_latest_NodeId: void;\n};\n\nexport function NodeId(value: string): NodeId {\n return value as unknown as NodeId;\n}\n\nexport type ProductId = string & {\n navigation_latest_ProductId: void;\n};\n\nexport function ProductId(value: string): ProductId {\n return value as unknown as ProductId;\n}\n\nexport type VariantId = string & {\n navigation_latest_VariantId: void;\n};\n\nexport function VariantId(value: string): VariantId {\n return value as unknown as VariantId;\n}\n\nexport type RootChild = VersionedNode | UnversionedNode | ProductGroupNode;\n\nexport type ProductNode = InternalProductNode | ExternalProductNode;\n\nexport type ProductChild = VersionedNode | UnversionedNode;\n\nexport type VersionChild = TabbedNode | SidebarRootNode | VariantedNode;\n\nexport type VariantChild = ApiReferenceNode | SectionNode | SidebarGroupNode | PageNode | LinkNode | ChangelogNode;\n\nexport type TabChild = TabNode | LinkNode | ChangelogNode;\n\nexport type SidebarRootChild = SidebarGroupNode | ApiReferenceNode | SectionNode | VariantedNode;\n\nexport type NavigationChild = ApiReferenceNode | SectionNode | PageNode | LinkNode | ChangelogNode | VariantedNode;\n\nexport type ApiPackageChild =\n | ApiPackageNode\n | EndpointNode\n | EndpointPairNode\n | WebSocketNode\n | WebhookNode\n | GrpcNode\n | GraphQlNode\n | GraphQlTypeNode\n | PageNode\n | LinkNode;\n\nexport interface WithNodeId {\n id: NodeId;\n collapsed: boolean | \"open-by-default\" | undefined;\n}\n\nexport interface WithPermissions {\n viewers: RoleId[] | undefined;\n orphaned: boolean | undefined;\n}\n\nexport interface WithFeatureFlags {\n featureFlags: FeatureFlagOptions[] | undefined;\n}\n\nexport interface WithNodeMetadata extends WithNodeId, WithPermissions, WithFeatureFlags {\n title: string;\n slug: Slug;\n canonicalSlug: Slug | undefined;\n icon: string | undefined;\n hidden: boolean | undefined;\n authed: boolean | undefined;\n}\n\nexport interface WithPage {\n pageId: PageId;\n noindex: boolean | undefined;\n}\n\nexport interface WithOverviewPage {\n overviewPageId: PageId | undefined;\n noindex: boolean | undefined;\n}\n\nexport interface WithApiDefinitionId {\n apiDefinitionId: ApiDefinitionId;\n availability: Availability | undefined;\n}\n\nexport interface WithRedirect {\n pointsTo: Slug | undefined;\n}\n\nexport interface FeatureFlagOptions {\n flag: string;\n fallbackValue: unknown | undefined;\n match: unknown | undefined;\n}\n\nexport interface BreadcrumbItem {\n title: string;\n pointsTo: Slug | undefined;\n}\n\nexport interface PlaygroundButtonSettings {\n href: Url | undefined;\n}\n\nexport interface PlaygroundSettings {\n environments: EnvironmentId[] | undefined;\n button: PlaygroundButtonSettings | undefined;\n \"limit-websocket-messages-per-connection\": number | undefined;\n hidden: boolean | undefined;\n // when true, optional parameters that declare a default (or x-fern-default) are\n // pre-filled and sent from the API Explorer playground. defaults to false.\n \"send-optional-defaults\": boolean | undefined;\n}\n\nexport type { GraphQlOperationType };\nexport type { GraphQlTypeCategory };\n\nexport interface ProductGroupNode extends WithNodeId {\n type: \"productgroup\";\n landingPage: LandingPageNode | undefined;\n children: ProductNode[];\n /** Site-level changelog shared by all products; slugged off the root, not shown in the product switcher. */\n changelog?: ChangelogNode | undefined;\n}\n\nexport interface VersionedNode extends WithNodeId {\n type: \"versioned\";\n children: VersionNode[];\n}\n\nexport interface UnversionedNode extends WithNodeId {\n type: \"unversioned\";\n child: VersionChild;\n landingPage: LandingPageNode | undefined;\n}\n\nexport interface VariantedNode extends WithNodeId {\n type: \"varianted\";\n children: VariantNode[];\n}\n\nexport interface TabbedNode extends WithNodeId {\n type: \"tabbed\";\n children: TabChild[];\n}\n\nexport interface SidebarRootNode extends WithNodeId {\n type: \"sidebarRoot\";\n children: SidebarRootChild[];\n}\n\nexport interface SidebarGroupNode extends WithNodeId {\n type: \"sidebarGroup\";\n children: NavigationChild[];\n}\n\nexport interface EndpointPairNode extends WithNodeId {\n type: \"endpointPair\";\n stream: EndpointNode;\n nonStream: EndpointNode;\n}\n\nexport interface LinkNode extends WithNodeId {\n type: \"link\";\n title: string;\n icon: string | undefined;\n url: Url;\n target: LinkTarget | undefined;\n}\n\nexport interface RootNode extends WithNodeMetadata, WithRedirect {\n type: \"root\";\n version: \"v2\";\n child: RootChild;\n roles: RoleId[] | undefined;\n}\n\nexport interface InternalProductNode extends WithNodeMetadata, WithRedirect {\n type: \"product\";\n default: boolean;\n productId: ProductId;\n child: ProductChild;\n subtitle: string;\n image: FileId | undefined;\n announcement: AnnouncementConfig | undefined;\n}\n\nexport interface ExternalProductNode extends WithNodeId, WithPermissions, WithFeatureFlags {\n type: \"productLink\";\n default: boolean;\n productId: ProductId;\n title: string;\n href: Url;\n target: LinkTarget | undefined;\n subtitle: string;\n icon: string | undefined;\n image: FileId | undefined;\n hidden: boolean | undefined;\n authed: boolean | undefined;\n}\n\nexport interface VersionNode extends WithNodeMetadata, WithRedirect {\n type: \"version\";\n default: boolean;\n versionId: VersionId;\n child: VersionChild;\n availability: Availability | undefined;\n landingPage: LandingPageNode | undefined;\n announcement: AnnouncementConfig | undefined;\n}\n\nexport interface VariantNode extends WithNodeMetadata, WithRedirect {\n type: \"variant\";\n default: boolean;\n variantId: VariantId;\n subtitle: string | undefined;\n image: FileId | undefined;\n children: VariantChild[];\n}\n\nexport interface TabNode extends WithNodeMetadata, WithRedirect {\n type: \"tab\";\n child: SidebarRootNode;\n}\n\nexport interface PageNode extends WithNodeMetadata, WithPage {\n type: \"page\";\n availability: Availability | undefined;\n}\n\nexport interface LandingPageNode extends WithNodeMetadata, WithPage {\n type: \"landingPage\";\n}\n\nexport interface SectionNode extends WithNodeMetadata, WithOverviewPage, WithRedirect {\n type: \"section\";\n collapsible: boolean | undefined;\n collapsedByDefault: boolean | undefined;\n children: NavigationChild[];\n availability: Availability | undefined;\n}\n\nexport interface ChangelogNode extends WithNodeMetadata, WithOverviewPage {\n type: \"changelog\";\n children: ChangelogYearNode[];\n}\n\nexport interface ChangelogYearNode extends WithNodeMetadata {\n type: \"changelogYear\";\n year: number;\n children: ChangelogMonthNode[];\n}\n\nexport interface ChangelogMonthNode extends WithNodeMetadata {\n type: \"changelogMonth\";\n month: number;\n children: ChangelogEntryNode[];\n}\n\nexport interface ChangelogEntryNode extends WithNodeMetadata, WithPage {\n type: \"changelogEntry\";\n date: string;\n tags: string[] | undefined;\n}\n\nexport interface ApiReferenceNode extends WithNodeMetadata, WithOverviewPage, WithApiDefinitionId, WithRedirect {\n type: \"apiReference\";\n paginated: boolean | undefined;\n showErrors: boolean | undefined;\n hideTitle: boolean | undefined;\n children: ApiPackageChild[];\n changelog: ChangelogNode | undefined;\n playground: PlaygroundSettings | undefined;\n postmanCollectionUrl: string | undefined;\n}\n\nexport interface EndpointNode extends WithNodeMetadata, WithApiDefinitionId {\n noindex?: boolean | undefined;\n type: \"endpoint\";\n method: HttpMethod;\n endpointId: EndpointId;\n isResponseStream: boolean | undefined;\n playground: PlaygroundSettings | undefined;\n}\n\nexport interface WebSocketNode extends WithNodeMetadata, WithApiDefinitionId {\n noindex?: boolean | undefined;\n type: \"webSocket\";\n webSocketId: WebSocketId;\n playground: PlaygroundSettings | undefined;\n}\n\nexport interface WebhookNode extends WithNodeMetadata, WithApiDefinitionId {\n noindex?: boolean | undefined;\n type: \"webhook\";\n method: HttpMethod;\n webhookId: WebhookId;\n}\n\nexport interface GrpcNode extends WithNodeMetadata, WithApiDefinitionId {\n noindex?: boolean | undefined;\n type: \"grpc\";\n method: GrpcMethod;\n grpcId: GrpcId;\n}\n\nexport interface GraphQlNode extends WithNodeMetadata, WithApiDefinitionId {\n noindex?: boolean | undefined;\n type: \"graphql\";\n operationType: GraphQlOperationType;\n graphqlOperationId: GraphQlOperationId;\n /** Additional operation IDs when this node represents a namespace group (e.g. fieldPath grouping). */\n graphqlOperationIds: GraphQlOperationId[] | undefined;\n playground: PlaygroundSettings | undefined;\n}\n\n/**\n * A navigation node representing a single GraphQL schema type (object, input,\n * enum, scalar, interface, or union) as opposed to a GraphQL operation.\n *\n * This node is a navigable leaf, mirroring {@link GraphQlNode}. Generating these\n * nodes from a schema (FER-10879) and rendering a dedicated type page\n * (FER-10880) are tracked separately.\n */\nexport interface GraphQlTypeNode extends WithNodeMetadata, WithApiDefinitionId {\n noindex?: boolean | undefined;\n type: \"graphqlType\";\n typeId: TypeId;\n typeCategory: GraphQlTypeCategory;\n}\n\nexport interface ApiPackageNode extends WithNodeMetadata, WithOverviewPage, WithApiDefinitionId, WithRedirect {\n type: \"apiPackage\";\n children: ApiPackageChild[];\n playground: PlaygroundSettings | undefined;\n}\n","export function assertNever(x: never): never {\n throw new Error(\"Unexpected value: \" + JSON.stringify(x));\n}\n\nexport function assertNeverNoThrow(_: never): void {}\n\nexport default assertNever;\n","export function isNonNullish<T>(x: T | null | undefined): x is T {\n return x != null;\n}\n\nexport function assertNonNullish<T>(x: T | null | undefined, message?: string): asserts x is T {\n if (x == null) {\n throw new Error(message ?? \"Value is null or undefined\");\n }\n}\n","import { assertNever } from \"./assertNever\";\n\nexport type DiscriminatedUnionVisitor<T extends Record<Discriminant, string>, U, Discriminant extends string> = {\n [D in T[Discriminant]]: (value: Extract<T, Record<Discriminant, D>>) => U;\n} & {\n _other?: (value: Record<Discriminant, string>) => U;\n};\n\nexport function visitDiscriminatedUnion<T extends Record<\"type\", string>>(\n item: T\n): { _visit: <U>(visitor: DiscriminatedUnionVisitor<T, U, \"type\">) => U };\nexport function visitDiscriminatedUnion<T extends Record<Discriminant, string>, Discriminant extends string>(\n item: T,\n discriminant: Discriminant\n): { _visit: <U>(visitor: DiscriminatedUnionVisitor<T, U, Discriminant>) => U };\nexport function visitDiscriminatedUnion<T extends Record<Discriminant, string>, Discriminant extends string>(\n item: T,\n discriminant: Discriminant = \"type\" as Discriminant\n): {\n _visit: <U>(visitor: DiscriminatedUnionVisitor<T, U, Discriminant>) => U;\n} {\n return {\n _visit: (visitor) => {\n const visit = visitor[item[discriminant]];\n if (visit != null) {\n return visit(item as Extract<T, Record<Discriminant, string>>);\n } else {\n if (visitor._other == null) {\n assertNever(item as never);\n }\n return visitor._other(item);\n }\n }\n };\n}\n\nexport default visitDiscriminatedUnion;\n","import type { EndpointNode, GraphQlNode, GraphQlTypeNode, GrpcNode, WebhookNode, WebSocketNode } from \".\";\nimport type { NavigationNode } from \"./NavigationNode\";\n\n/**\n * A node in the navigation tree that represents an API endpoint, web socket, or webhook.\n */\nexport type NavigationNodeApiLeaf =\n | EndpointNode\n | WebSocketNode\n | WebhookNode\n | GrpcNode\n | GraphQlNode\n | GraphQlTypeNode;\n\nexport function isApiLeaf(node: NavigationNode): node is NavigationNodeApiLeaf {\n return (\n node.type === \"endpoint\" ||\n node.type === \"webSocket\" ||\n node.type === \"webhook\" ||\n node.type === \"grpc\" ||\n node.type === \"graphql\" ||\n node.type === \"graphqlType\"\n );\n}\n","import type { ChangelogEntryNode, LandingPageNode, PageNode } from \".\";\nimport type { NavigationNode } from \"./NavigationNode\";\n\n/**\n * A leaf node that contains primarily markdown content\n */\nexport type NavigationNodeMarkdownLeaf = ChangelogEntryNode | PageNode | LandingPageNode;\n\nexport function isMarkdownLeaf(node: NavigationNode): node is NavigationNodeMarkdownLeaf {\n return node.type === \"page\" || node.type === \"landingPage\" || node.type === \"changelogEntry\";\n}\n","import type { LinkNode } from \".\";\nimport type { NavigationNode } from \"./NavigationNode\";\nimport { isApiLeaf, type NavigationNodeApiLeaf } from \"./NavigationNodeApiLeaf\";\nimport { isMarkdownLeaf, type NavigationNodeMarkdownLeaf } from \"./NavigationNodePageLeaf\";\n\n/**\n * A navigation node that represents a leaf in the navigation tree (i.e. a node that does not have children)\n */\nexport type NavigationNodeLeaf = NavigationNodeApiLeaf | NavigationNodeMarkdownLeaf | LinkNode;\n\nexport function isLeaf(node: NavigationNode): node is NavigationNodeLeaf {\n return isApiLeaf(node) || isMarkdownLeaf(node) || node.type === \"link\";\n}\n","import { assertNever } from \"@fern-api/ui-core-utils\";\n\nimport type { NavigationNode } from \"./NavigationNode\";\nimport { isLeaf } from \"./NavigationNodeLeaf\";\n\nexport function getChildren(node: NavigationNode): readonly NavigationNode[] {\n if (isLeaf(node)) {\n return [];\n }\n\n switch (node.type) {\n case \"apiPackage\":\n case \"changelog\":\n case \"changelogMonth\":\n case \"changelogYear\":\n case \"section\":\n case \"sidebarGroup\":\n case \"sidebarRoot\":\n case \"tabbed\":\n case \"versioned\":\n case \"varianted\":\n return node.children;\n case \"product\":\n case \"root\":\n case \"tab\":\n return [node.child];\n case \"productLink\":\n return [];\n case \"variant\":\n return node.children;\n case \"apiReference\":\n return [...node.children, ...(node.changelog ? [node.changelog] : [])];\n case \"endpointPair\":\n return [node.nonStream, node.stream];\n case \"productgroup\":\n return [\n ...(node.landingPage ? [node.landingPage] : []),\n ...node.children,\n ...(node.changelog ? [node.changelog] : [])\n ];\n case \"unversioned\":\n case \"version\":\n return [...(node.landingPage ? [node.landingPage] : []), node.child];\n default:\n return assertNever(node);\n }\n}\n","import visitDiscriminatedUnion from \"@fern-api/ui-core-utils/visitDiscriminatedUnion\";\n\nimport type { NavigationNodePage, PageId } from \".\";\n\nconst RETURN_PAGEID = (node: { pageId: PageId }) => node.pageId;\nconst RETURN_OVERVIEW_PAGEID = (node: { overviewPageId?: PageId }) => node.overviewPageId;\nconst RETURN_UNDEFINED = () => undefined;\n\nexport function getPageId(node: NavigationNodePage): PageId | undefined {\n return visitDiscriminatedUnion(node)._visit({\n section: RETURN_OVERVIEW_PAGEID,\n apiReference: RETURN_OVERVIEW_PAGEID,\n changelog: RETURN_OVERVIEW_PAGEID,\n apiPackage: RETURN_OVERVIEW_PAGEID,\n changelogEntry: RETURN_PAGEID,\n page: RETURN_PAGEID,\n landingPage: RETURN_PAGEID,\n\n // if the following changes, make sure to update the algolia records generator\n endpoint: RETURN_UNDEFINED,\n webSocket: RETURN_UNDEFINED,\n webhook: RETURN_UNDEFINED,\n grpc: RETURN_UNDEFINED,\n graphql: RETURN_UNDEFINED,\n graphqlType: RETURN_UNDEFINED\n // changelogYear: RETURN_UNDEFINED,\n // changelogMonth: RETURN_UNDEFINED,\n });\n}\n","import type { FernNavigation } from \"../../..\";\n\nexport function isApiReferenceNode(node: FernNavigation.NavigationNode): node is FernNavigation.ApiReferenceNode {\n return node.type === \"apiReference\";\n}\n","import type { ExternalProductNode, NavigationNode } from \".\";\n\nexport function isExternalProductNode(node: NavigationNode): node is ExternalProductNode {\n return node.type === \"productLink\";\n}\n","import type { InternalProductNode, NavigationNode } from \".\";\n\nexport function isInternalProductNode(node: NavigationNode): node is InternalProductNode {\n return node.type === \"product\";\n}\n","import type { ApiPackageNode, ApiReferenceNode, ChangelogNode, SectionNode } from \".\";\nimport type { NavigationNode } from \"./NavigationNode\";\n\n/**\n * A navigation node that isn't a leaf node and contains markdown content\n */\nexport type NavigationNodeSection = SectionNode | ApiReferenceNode | ChangelogNode | ApiPackageNode;\n\nexport function isSection(node: NavigationNode): node is NavigationNodeSection {\n return (\n node.type === \"section\" ||\n node.type === \"apiReference\" ||\n node.type === \"changelog\" ||\n node.type === \"apiPackage\"\n );\n}\n","import type { PageId, WithOverviewPage } from \".\";\nimport type { NavigationNode } from \"./NavigationNode\";\nimport { isSection, type NavigationNodeSection } from \"./NavigationNodeSection\";\n\ntype WithRequiredOverviewPage<T extends WithOverviewPage> = T & {\n overviewPageId: PageId;\n};\n\n/**\n * A navigation node that isn't a leaf node and contains markdown content\n */\nexport type NavigationNodeSectionOverview = WithRequiredOverviewPage<NavigationNodeSection>;\n\nexport function isSectionOverview(node: NavigationNode): node is NavigationNodeSectionOverview {\n return isSection(node) && node.overviewPageId != null;\n}\n","import type { NavigationNode } from \"./NavigationNode\";\nimport { isMarkdownLeaf, type NavigationNodeMarkdownLeaf } from \"./NavigationNodePageLeaf\";\nimport { isSectionOverview, type NavigationNodeSectionOverview } from \"./NavigationNodeSectionOverview\";\n\n/**\n * A navigation node that contains markdown content\n */\nexport type NavigationNodeWithMarkdown = NavigationNodeSectionOverview | NavigationNodeMarkdownLeaf;\n\nexport function hasMarkdown(node: NavigationNode): node is NavigationNodeWithMarkdown {\n return isMarkdownLeaf(node) || isSectionOverview(node);\n}\n","import type { NavigationNode } from \"./NavigationNode\";\nimport { isApiLeaf } from \"./NavigationNodeApiLeaf\";\nimport { hasMarkdown } from \"./NavigationNodeMarkdown\";\n\n/**\n * Whether a markdown page or API leaf is marked `noindex` (excluded from search\n * engines, sitemaps, and llms.txt).\n */\nexport function isNoindexNode(node: NavigationNode): boolean {\n return (hasMarkdown(node) || isApiLeaf(node)) && node.noindex === true;\n}\n","import type { NavigationNode, ProductGroupNode } from \".\";\n\nexport function isProductGroupNode(node: NavigationNode): node is ProductGroupNode {\n return node.type === \"productgroup\";\n}\n","import type { NavigationNode, ProductNode } from \".\";\n\nexport function isProductNode(node: NavigationNode): node is ProductNode {\n return node.type === \"product\" || node.type === \"productLink\";\n}\n","import type { FernNavigation } from \"../../..\";\n\nexport function isSidebarRootNode(node: FernNavigation.NavigationNode): node is FernNavigation.SidebarRootNode {\n return node.type === \"sidebarRoot\";\n}\n","import type { FernNavigation } from \"../../..\";\n\nexport function isTabbedNode(node: FernNavigation.NavigationNode): node is FernNavigation.TabbedNode {\n return node.type === \"tabbed\";\n}\n","import type { FernNavigation } from \"../../..\";\n\nexport function isUnversionedNode(node: FernNavigation.NavigationNode): node is FernNavigation.UnversionedNode {\n return node.type === \"unversioned\";\n}\n","import type { NavigationNode, VariantedNode } from \".\";\n\nexport function isVariantedNode(node: NavigationNode | undefined): node is VariantedNode {\n return node?.type === \"varianted\";\n}\n","import type { NavigationNode, VariantNode } from \".\";\n\nexport function isVariantNode(node: NavigationNode | undefined): node is VariantNode {\n return node?.type === \"variant\";\n}\n","import type { NavigationNode, VersionNode } from \".\";\n\nexport function isVersionNode(node: NavigationNode): node is VersionNode {\n return node.type === \"version\";\n}\n","import type { ChangelogEntryNode, ChangelogNode, PageNode } from \".\";\nimport type { NavigationNode } from \"./NavigationNode\";\nimport { isApiLeaf, type NavigationNodeApiLeaf } from \"./NavigationNodeApiLeaf\";\nimport { isSectionOverview, type NavigationNodeSectionOverview } from \"./NavigationNodeSectionOverview\";\n\nexport type NavigationNodeNeighbor =\n | NavigationNodeApiLeaf\n | PageNode\n | ChangelogNode\n | ChangelogEntryNode\n | NavigationNodeSectionOverview;\n\nexport function isNeighbor(node: NavigationNode): node is NavigationNodeNeighbor {\n return (\n isApiLeaf(node) ||\n node.type === \"page\" ||\n node.type === \"changelog\" ||\n node.type === \"changelogEntry\" ||\n isSectionOverview(node)\n );\n}\n","import type { ChangelogNode } from \".\";\nimport type { NavigationNode } from \"./NavigationNode\";\nimport { isApiLeaf, type NavigationNodeApiLeaf } from \"./NavigationNodeApiLeaf\";\nimport { hasMarkdown, type NavigationNodeWithMarkdown } from \"./NavigationNodeMarkdown\";\n\n/**\n * A navigation node that represents a visitable page in the documentation\n */\nexport type NavigationNodePage = NavigationNodeWithMarkdown | NavigationNodeApiLeaf | ChangelogNode;\n// | ChangelogYearNode\n// | ChangelogMonthNode;\n\nexport function isPage<N extends NavigationNode>(node: N): node is N & NavigationNodePage {\n return (\n isApiLeaf(node) ||\n node.type === \"changelog\" ||\n // TODO: Uncomment when changelog years and months are visitable\n // node.type === \"changelogYear\" ||\n // node.type === \"changelogMonth\" ||\n hasMarkdown(node)\n );\n}\n","import type { WithNodeMetadata } from \".\";\nimport type { NavigationNode } from \"./NavigationNode\";\n\n/**\n * A navigation node that has a title and a slug\n */\nexport type NavigationNodeWithMetadata = Extract<NavigationNode, WithNodeMetadata>;\n\nexport function hasMetadata(node: Partial<NavigationNode>): node is NavigationNodeWithMetadata {\n return (\n typeof (node as NavigationNodeWithMetadata).title === \"string\" &&\n typeof (node as NavigationNodeWithMetadata).slug === \"string\"\n );\n}\n","import type { Slug, WithRedirect } from \".\";\nimport type { NavigationNode } from \"./NavigationNode\";\n\n/**\n * Navigation nodes that can have a redirect\n */\nexport type NavigationNodeWithPointsTo = Extract<NavigationNode, WithRedirect>;\n\nexport function hasPointsTo(node: NavigationNode): node is NavigationNodeWithPointsTo {\n return (\n node.type === \"root\" ||\n node.type === \"product\" ||\n node.type === \"version\" ||\n node.type === \"tab\" ||\n node.type === \"section\" ||\n node.type === \"apiReference\" ||\n node.type === \"apiPackage\"\n );\n}\n\n/**\n * Navigation nodes that extend WithRedirect\n */\n\nexport function hasRedirect(node: NavigationNode): node is NavigationNodeWithPointsTo & { pointsTo: Slug } {\n if (!hasPointsTo(node)) {\n return false;\n }\n return node.pointsTo != null;\n}\n","import type { Slug } from \".\";\nimport type { NavigationNode } from \"./NavigationNode\";\n\n/**\n * A navigation node that has a slug.\n */\nexport type NavigationNodeWithSlug = Extract<NavigationNode, { slug: Slug }>;\n\nexport function hasSlug(node: NavigationNode): node is NavigationNodeWithSlug {\n return typeof (node as NavigationNodeWithSlug).slug === \"string\";\n}\n","import { isNonNullish } from \"@fern-api/ui-core-utils\";\nimport urljoin from \"url-join\";\n\nimport { Slug } from \".\";\n\n// normalizes slug parts and joins them with a single slash\nexport function slugjoin(...parts: (string | string[] | null | undefined)[]): Slug {\n const slugArray = parts\n .filter(isNonNullish)\n .flatMap((part) => (typeof part === \"string\" ? [part.trim()] : part.map((part) => part.trim())))\n .map((part) => decodeURIComponent(part));\n\n const joined = urljoin(slugArray) ?? \"\";\n const normalized = joined\n .replaceAll(\"//*\", \"/\") // Remove duplicate slashes\n .replace(/^\\//, \"\") // Remove leading slash\n .replace(/\\/$/, \"\"); // Remove trailing slash\n\n return Slug(normalized);\n}\n","import { escapeRegExp } from \"es-toolkit/string\";\n\nimport { Slug } from \".\";\n\n/**\n * All versioned slugs are prefixed with the version slug, but the default version may be accessed without the version prefix.\n * toDefaultSlug creates the \"unversioned\" slug for pages under the default version.\n * This should be treated as the cannonical slug for that page.\n */\nexport function toDefaultSlug(slug: Slug, rootSlug: Slug, versionSlug: Slug): Slug;\nexport function toDefaultSlug(slug: Slug | undefined, rootSlug: Slug, versionSlug: Slug): Slug | undefined;\nexport function toDefaultSlug(slug: Slug | undefined, rootSlug: Slug, versionSlug: Slug): Slug | undefined {\n if (slug == null) {\n return undefined;\n }\n if (slug.startsWith(versionSlug)) {\n return Slug(slug.replace(new RegExp(`^${escapeRegExp(versionSlug)}`), rootSlug).replace(/^\\//, \"\"));\n }\n return slug;\n}\n","export const SKIP = \"skip\" as const;\nexport const STOP = false;\nexport const CONTINUE = true;\n\nexport type Action = typeof CONTINUE | typeof SKIP | typeof STOP | void;\n\nexport type TraverserVisit<N, P extends N = N> = (node: N, parents: readonly P[]) => Action;\nexport type TraverserGetChildren<N, P extends N = N> = (parent: P) => readonly N[];\n\nexport type DeleterAction = \"deleted\" | \"should-delete-parent\" | \"noop\";\n","import { SKIP, STOP, type TraverserGetChildren, type TraverserVisit } from \"./types\";\n\nexport function bfs<N, P extends N = N>(\n root: N,\n visit: TraverserVisit<N, P>,\n getChildren: TraverserGetChildren<N, P>,\n isParent: (node: N) => node is P = (node): node is P => true\n): void {\n const queue: [N, P[]][] = [[root, []]];\n while (queue.length > 0) {\n const [node, parents] = queue.shift() ?? [];\n if (!node) {\n continue;\n }\n const next = visit(node, parents ?? []);\n\n if (next === SKIP) {\n continue;\n } else if (next === STOP) {\n return;\n }\n\n if (isParent(node)) {\n for (const child of [...getChildren(node)]) {\n queue.push([child, [...(parents ?? []), node]]);\n }\n }\n }\n}\n","import { bfs } from \"../../../utils/traversers/bfs\";\nimport type { TraverserVisit } from \"../../../utils/traversers/types\";\nimport { getChildren } from \"./getChildren\";\nimport type { NavigationNode } from \"./NavigationNode\";\nimport type { NavigationNodeParent } from \"./NavigationNodeParent\";\n\n/**\n * Traverse the navigation tree in a depth-first manner (pre-order).\n */\nexport function traverseBF(node: NavigationNode, visit: TraverserVisit<NavigationNode, NavigationNodeParent>) {\n return bfs(node, visit, getChildren);\n}\n","import { SKIP, STOP, type TraverserGetChildren, type TraverserVisit } from \"./types\";\n\nexport function dfs<N, P extends N = N>(\n root: N,\n visit: TraverserVisit<N, P>,\n getChildren: TraverserGetChildren<N, P>,\n isParent: (node: N) => node is P = (node): node is P => true\n): void {\n const stack: [N, P[]][] = [[root, []]];\n while (stack.length > 0) {\n const [node, parents] = stack.pop() ?? [];\n if (!node) {\n continue;\n }\n const next = visit(node, parents ?? []);\n\n if (next === SKIP) {\n continue;\n } else if (next === STOP) {\n return;\n }\n\n if (isParent(node)) {\n for (const child of [...getChildren(node)].reverse()) {\n stack.push([child, [...(parents ?? []), node]]);\n }\n }\n }\n}\n","import { dfs } from \"../../../utils/traversers/dfs\";\nimport type { TraverserVisit } from \"../../../utils/traversers/types\";\nimport { getChildren } from \"./getChildren\";\nimport type { NavigationNode } from \"./NavigationNode\";\nimport type { NavigationNodeParent } from \"./NavigationNodeParent\";\n\n/**\n * Traverse the navigation tree in a depth-first manner (pre-order).\n */\nexport function traverseDF(node: NavigationNode, visit: TraverserVisit<NavigationNode, NavigationNodeParent>): void {\n return dfs(node, visit, getChildren);\n}\n"],"mappings":"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","names":["z","part","getChildren","getChildren"]}
@@ -4215,7 +4215,9 @@ var SafeDoxyfileContentSchema = z15.string().superRefine((content, ctx) => {
4215
4215
  }
4216
4216
  }).nullish();
4217
4217
  var CppLibraryDocsConfigSchema = LibraryDocsBaseConfigSchema.extend({
4218
- doxyfileContent: SafeDoxyfileContentSchema
4218
+ doxyfileContent: SafeDoxyfileContentSchema,
4219
+ /** Also emit `#define`s without a doc comment. Include guards are never emitted (Doxygen drops them). Defaults to false. */
4220
+ includeUndocumentedMacros: z15.boolean().nullish()
4219
4221
  });
4220
4222
  var StartLibraryDocsGenerationInputSchema = z15.discriminatedUnion("language", [
4221
4223
  z15.object({
@@ -5437,7 +5439,8 @@ var ApiNodeMetadataFields = {
5437
5439
  ...NodeMetadataFields,
5438
5440
  apiDefinitionId: z22.string(),
5439
5441
  availability: LedgerAvailabilitySchema.optional(),
5440
- playground: PlaygroundSettingsSchema.optional()
5442
+ playground: PlaygroundSettingsSchema.optional(),
5443
+ noindex: z22.boolean().optional()
5441
5444
  };
5442
5445
  var LedgerSegmentDetailMetadataObjectSchema = LedgerMetadataBaseSchema.extend({
5443
5446
  slug: z22.string().optional(),